index-sEo58saM.js raw
1 var Lwe=Object.defineProperty;var NF=t=>{throw TypeError(t)};var Pwe=(t,e,n)=>e in t?Lwe(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var je=(t,e,n)=>Pwe(t,typeof e!="symbol"?e+"":e,n),vI=(t,e,n)=>e.has(t)||NF("Cannot "+n);var Oe=(t,e,n)=>(vI(t,e,"read from private field"),n?n.call(t):e.get(t)),hr=(t,e,n)=>e.has(t)?NF("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,n),Cn=(t,e,n,r)=>(vI(t,e,"write to private field"),r?r.call(t,n):e.set(t,n),n),an=(t,e,n)=>(vI(t,e,"access private method"),n);var X4=(t,e,n,r)=>({set _(o){Cn(t,e,o,n)},get _(){return Oe(t,e,r)}});function pJ(t,e){for(var n=0;n<e.length;n++){const r=e[n];if(typeof r!="string"&&!Array.isArray(r)){for(const o in r)if(o!=="default"&&!(o in t)){const s=Object.getOwnPropertyDescriptor(r,o);s&&Object.defineProperty(t,o,s.get?s:{enumerable:!0,get:()=>r[o]})}}}return Object.freeze(Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}))}(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const o of document.querySelectorAll('link[rel="modulepreload"]'))r(o);new MutationObserver(o=>{for(const s of o)if(s.type==="childList")for(const a of s.addedNodes)a.tagName==="LINK"&&a.rel==="modulepreload"&&r(a)}).observe(document,{childList:!0,subtree:!0});function n(o){const s={};return o.integrity&&(s.integrity=o.integrity),o.referrerPolicy&&(s.referrerPolicy=o.referrerPolicy),o.crossOrigin==="use-credentials"?s.credentials="include":o.crossOrigin==="anonymous"?s.credentials="omit":s.credentials="same-origin",s}function r(o){if(o.ep)return;o.ep=!0;const s=n(o);fetch(o.href,s)}})();var e6=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function rc(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var wI={exports:{}},ew={},bI={exports:{}},qn={};/**
2 * @license React
3 * react.production.min.js
4 *
5 * Copyright (c) Facebook, Inc. and its affiliates.
6 *
7 * This source code is licensed under the MIT license found in the
8 * LICENSE file in the root directory of this source tree.
9 */var IF;function Owe(){if(IF)return qn;IF=1;var t=Symbol.for("react.element"),e=Symbol.for("react.portal"),n=Symbol.for("react.fragment"),r=Symbol.for("react.strict_mode"),o=Symbol.for("react.profiler"),s=Symbol.for("react.provider"),a=Symbol.for("react.context"),i=Symbol.for("react.forward_ref"),l=Symbol.for("react.suspense"),u=Symbol.for("react.memo"),d=Symbol.for("react.lazy"),f=Symbol.iterator;function m(J){return J===null||typeof J!="object"?null:(J=f&&J[f]||J["@@iterator"],typeof J=="function"?J:null)}var g={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},w=Object.assign,b={};function j(J,ne,re){this.props=J,this.context=ne,this.refs=b,this.updater=re||g}j.prototype.isReactComponent={},j.prototype.setState=function(J,ne){if(typeof J!="object"&&typeof J!="function"&&J!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,J,ne,"setState")},j.prototype.forceUpdate=function(J){this.updater.enqueueForceUpdate(this,J,"forceUpdate")};function S(){}S.prototype=j.prototype;function I(J,ne,re){this.props=J,this.context=ne,this.refs=b,this.updater=re||g}var N=I.prototype=new S;N.constructor=I,w(N,j.prototype),N.isPureReactComponent=!0;var M=Array.isArray,D=Object.prototype.hasOwnProperty,O={current:null},L={key:!0,ref:!0,__self:!0,__source:!0};function B(J,ne,re){var de,Ne={},ve=null,xe=null;if(ne!=null)for(de in ne.ref!==void 0&&(xe=ne.ref),ne.key!==void 0&&(ve=""+ne.key),ne)D.call(ne,de)&&!L.hasOwnProperty(de)&&(Ne[de]=ne[de]);var ce=arguments.length-2;if(ce===1)Ne.children=re;else if(1<ce){for(var pe=Array(ce),me=0;me<ce;me++)pe[me]=arguments[me+2];Ne.children=pe}if(J&&J.defaultProps)for(de in ce=J.defaultProps,ce)Ne[de]===void 0&&(Ne[de]=ce[de]);return{$$typeof:t,type:J,key:ve,ref:xe,props:Ne,_owner:O.current}}function T(J,ne){return{$$typeof:t,type:J.type,key:ne,ref:J.ref,props:J.props,_owner:J._owner}}function R(J){return typeof J=="object"&&J!==null&&J.$$typeof===t}function z(J){var ne={"=":"=0",":":"=2"};return"$"+J.replace(/[=:]/g,function(re){return ne[re]})}var Y=/\/+/g;function Q(J,ne){return typeof J=="object"&&J!==null&&J.key!=null?z(""+J.key):ne.toString(36)}function W(J,ne,re,de,Ne){var ve=typeof J;(ve==="undefined"||ve==="boolean")&&(J=null);var xe=!1;if(J===null)xe=!0;else switch(ve){case"string":case"number":xe=!0;break;case"object":switch(J.$$typeof){case t:case e:xe=!0}}if(xe)return xe=J,Ne=Ne(xe),J=de===""?"."+Q(xe,0):de,M(Ne)?(re="",J!=null&&(re=J.replace(Y,"$&/")+"/"),W(Ne,ne,re,"",function(me){return me})):Ne!=null&&(R(Ne)&&(Ne=T(Ne,re+(!Ne.key||xe&&xe.key===Ne.key?"":(""+Ne.key).replace(Y,"$&/")+"/")+J)),ne.push(Ne)),1;if(xe=0,de=de===""?".":de+":",M(J))for(var ce=0;ce<J.length;ce++){ve=J[ce];var pe=de+Q(ve,ce);xe+=W(ve,ne,re,pe,Ne)}else if(pe=m(J),typeof pe=="function")for(J=pe.call(J),ce=0;!(ve=J.next()).done;)ve=ve.value,pe=de+Q(ve,ce++),xe+=W(ve,ne,re,pe,Ne);else if(ve==="object")throw ne=String(J),Error("Objects are not valid as a React child (found: "+(ne==="[object Object]"?"object with keys {"+Object.keys(J).join(", ")+"}":ne)+"). If you meant to render a collection of children, use an array instead.");return xe}function F(J,ne,re){if(J==null)return J;var de=[],Ne=0;return W(J,de,"","",function(ve){return ne.call(re,ve,Ne++)}),de}function X(J){if(J._status===-1){var ne=J._result;ne=ne(),ne.then(function(re){(J._status===0||J._status===-1)&&(J._status=1,J._result=re)},function(re){(J._status===0||J._status===-1)&&(J._status=2,J._result=re)}),J._status===-1&&(J._status=0,J._result=ne)}if(J._status===1)return J._result.default;throw J._result}var $={current:null},V={transition:null},K={ReactCurrentDispatcher:$,ReactCurrentBatchConfig:V,ReactCurrentOwner:O};function G(){throw Error("act(...) is not supported in production builds of React.")}return qn.Children={map:F,forEach:function(J,ne,re){F(J,function(){ne.apply(this,arguments)},re)},count:function(J){var ne=0;return F(J,function(){ne++}),ne},toArray:function(J){return F(J,function(ne){return ne})||[]},only:function(J){if(!R(J))throw Error("React.Children.only expected to receive a single React element child.");return J}},qn.Component=j,qn.Fragment=n,qn.Profiler=o,qn.PureComponent=I,qn.StrictMode=r,qn.Suspense=l,qn.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=K,qn.act=G,qn.cloneElement=function(J,ne,re){if(J==null)throw Error("React.cloneElement(...): The argument must be a React element, but you passed "+J+".");var de=w({},J.props),Ne=J.key,ve=J.ref,xe=J._owner;if(ne!=null){if(ne.ref!==void 0&&(ve=ne.ref,xe=O.current),ne.key!==void 0&&(Ne=""+ne.key),J.type&&J.type.defaultProps)var ce=J.type.defaultProps;for(pe in ne)D.call(ne,pe)&&!L.hasOwnProperty(pe)&&(de[pe]=ne[pe]===void 0&&ce!==void 0?ce[pe]:ne[pe])}var pe=arguments.length-2;if(pe===1)de.children=re;else if(1<pe){ce=Array(pe);for(var me=0;me<pe;me++)ce[me]=arguments[me+2];de.children=ce}return{$$typeof:t,type:J.type,key:Ne,ref:ve,props:de,_owner:xe}},qn.createContext=function(J){return J={$$typeof:a,_currentValue:J,_currentValue2:J,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null},J.Provider={$$typeof:s,_context:J},J.Consumer=J},qn.createElement=B,qn.createFactory=function(J){var ne=B.bind(null,J);return ne.type=J,ne},qn.createRef=function(){return{current:null}},qn.forwardRef=function(J){return{$$typeof:i,render:J}},qn.isValidElement=R,qn.lazy=function(J){return{$$typeof:d,_payload:{_status:-1,_result:J},_init:X}},qn.memo=function(J,ne){return{$$typeof:u,type:J,compare:ne===void 0?null:ne}},qn.startTransition=function(J){var ne=V.transition;V.transition={};try{J()}finally{V.transition=ne}},qn.unstable_act=G,qn.useCallback=function(J,ne){return $.current.useCallback(J,ne)},qn.useContext=function(J){return $.current.useContext(J)},qn.useDebugValue=function(){},qn.useDeferredValue=function(J){return $.current.useDeferredValue(J)},qn.useEffect=function(J,ne){return $.current.useEffect(J,ne)},qn.useId=function(){return $.current.useId()},qn.useImperativeHandle=function(J,ne,re){return $.current.useImperativeHandle(J,ne,re)},qn.useInsertionEffect=function(J,ne){return $.current.useInsertionEffect(J,ne)},qn.useLayoutEffect=function(J,ne){return $.current.useLayoutEffect(J,ne)},qn.useMemo=function(J,ne){return $.current.useMemo(J,ne)},qn.useReducer=function(J,ne,re){return $.current.useReducer(J,ne,re)},qn.useRef=function(J){return $.current.useRef(J)},qn.useState=function(J){return $.current.useState(J)},qn.useSyncExternalStore=function(J,ne,re){return $.current.useSyncExternalStore(J,ne,re)},qn.useTransition=function(){return $.current.useTransition()},qn.version="18.3.1",qn}var AF;function FR(){return AF||(AF=1,bI.exports=Owe()),bI.exports}/**
10 * @license React
11 * react-jsx-runtime.production.min.js
12 *
13 * Copyright (c) Facebook, Inc. and its affiliates.
14 *
15 * This source code is licensed under the MIT license found in the
16 * LICENSE file in the root directory of this source tree.
17 */var _F;function zwe(){if(_F)return ew;_F=1;var t=FR(),e=Symbol.for("react.element"),n=Symbol.for("react.fragment"),r=Object.prototype.hasOwnProperty,o=t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,s={key:!0,ref:!0,__self:!0,__source:!0};function a(i,l,u){var d,f={},m=null,g=null;u!==void 0&&(m=""+u),l.key!==void 0&&(m=""+l.key),l.ref!==void 0&&(g=l.ref);for(d in l)r.call(l,d)&&!s.hasOwnProperty(d)&&(f[d]=l[d]);if(i&&i.defaultProps)for(d in l=i.defaultProps,l)f[d]===void 0&&(f[d]=l[d]);return{$$typeof:e,type:i,key:m,ref:g,props:f,_owner:o.current}}return ew.Fragment=n,ew.jsx=a,ew.jsxs=a,ew}var MF;function Fwe(){return MF||(MF=1,wI.exports=zwe()),wI.exports}var c=Fwe(),g3={exports:{}},Bwe=g3.exports,RF;function Uwe(){return RF||(RF=1,(function(t,e){(function(n,r){t.exports=r()})(Bwe,(function(){var n=1e3,r=6e4,o=36e5,s="millisecond",a="second",i="minute",l="hour",u="day",d="week",f="month",m="quarter",g="year",w="date",b="Invalid Date",j=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,S=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,I={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(W){var F=["th","st","nd","rd"],X=W%100;return"["+W+(F[(X-20)%10]||F[X]||F[0])+"]"}},N=function(W,F,X){var $=String(W);return!$||$.length>=F?W:""+Array(F+1-$.length).join(X)+W},M={s:N,z:function(W){var F=-W.utcOffset(),X=Math.abs(F),$=Math.floor(X/60),V=X%60;return(F<=0?"+":"-")+N($,2,"0")+":"+N(V,2,"0")},m:function W(F,X){if(F.date()<X.date())return-W(X,F);var $=12*(X.year()-F.year())+(X.month()-F.month()),V=F.clone().add($,f),K=X-V<0,G=F.clone().add($+(K?-1:1),f);return+(-($+(X-V)/(K?V-G:G-V))||0)},a:function(W){return W<0?Math.ceil(W)||0:Math.floor(W)},p:function(W){return{M:f,y:g,w:d,d:u,D:w,h:l,m:i,s:a,ms:s,Q:m}[W]||String(W||"").toLowerCase().replace(/s$/,"")},u:function(W){return W===void 0}},D="en",O={};O[D]=I;var L="$isDayjsObject",B=function(W){return W instanceof Y||!(!W||!W[L])},T=function W(F,X,$){var V;if(!F)return D;if(typeof F=="string"){var K=F.toLowerCase();O[K]&&(V=K),X&&(O[K]=X,V=K);var G=F.split("-");if(!V&&G.length>1)return W(G[0])}else{var J=F.name;O[J]=F,V=J}return!$&&V&&(D=V),V||!$&&D},R=function(W,F){if(B(W))return W.clone();var X=typeof F=="object"?F:{};return X.date=W,X.args=arguments,new Y(X)},z=M;z.l=T,z.i=B,z.w=function(W,F){return R(W,{locale:F.$L,utc:F.$u,x:F.$x,$offset:F.$offset})};var Y=(function(){function W(X){this.$L=T(X.locale,null,!0),this.parse(X),this.$x=this.$x||X.x||{},this[L]=!0}var F=W.prototype;return F.parse=function(X){this.$d=(function($){var V=$.date,K=$.utc;if(V===null)return new Date(NaN);if(z.u(V))return new Date;if(V instanceof Date)return new Date(V);if(typeof V=="string"&&!/Z$/i.test(V)){var G=V.match(j);if(G){var J=G[2]-1||0,ne=(G[7]||"0").substring(0,3);return K?new Date(Date.UTC(G[1],J,G[3]||1,G[4]||0,G[5]||0,G[6]||0,ne)):new Date(G[1],J,G[3]||1,G[4]||0,G[5]||0,G[6]||0,ne)}}return new Date(V)})(X),this.init()},F.init=function(){var X=this.$d;this.$y=X.getFullYear(),this.$M=X.getMonth(),this.$D=X.getDate(),this.$W=X.getDay(),this.$H=X.getHours(),this.$m=X.getMinutes(),this.$s=X.getSeconds(),this.$ms=X.getMilliseconds()},F.$utils=function(){return z},F.isValid=function(){return this.$d.toString()!==b},F.isSame=function(X,$){var V=R(X);return this.startOf($)<=V&&V<=this.endOf($)},F.isAfter=function(X,$){return R(X)<this.startOf($)},F.isBefore=function(X,$){return this.endOf($)<R(X)},F.$g=function(X,$,V){return z.u(X)?this[$]:this.set(V,X)},F.unix=function(){return Math.floor(this.valueOf()/1e3)},F.valueOf=function(){return this.$d.getTime()},F.startOf=function(X,$){var V=this,K=!!z.u($)||$,G=z.p(X),J=function(pe,me){var ke=z.w(V.$u?Date.UTC(V.$y,me,pe):new Date(V.$y,me,pe),V);return K?ke:ke.endOf(u)},ne=function(pe,me){return z.w(V.toDate()[pe].apply(V.toDate("s"),(K?[0,0,0,0]:[23,59,59,999]).slice(me)),V)},re=this.$W,de=this.$M,Ne=this.$D,ve="set"+(this.$u?"UTC":"");switch(G){case g:return K?J(1,0):J(31,11);case f:return K?J(1,de):J(0,de+1);case d:var xe=this.$locale().weekStart||0,ce=(re<xe?re+7:re)-xe;return J(K?Ne-ce:Ne+(6-ce),de);case u:case w:return ne(ve+"Hours",0);case l:return ne(ve+"Minutes",1);case i:return ne(ve+"Seconds",2);case a:return ne(ve+"Milliseconds",3);default:return this.clone()}},F.endOf=function(X){return this.startOf(X,!1)},F.$set=function(X,$){var V,K=z.p(X),G="set"+(this.$u?"UTC":""),J=(V={},V[u]=G+"Date",V[w]=G+"Date",V[f]=G+"Month",V[g]=G+"FullYear",V[l]=G+"Hours",V[i]=G+"Minutes",V[a]=G+"Seconds",V[s]=G+"Milliseconds",V)[K],ne=K===u?this.$D+($-this.$W):$;if(K===f||K===g){var re=this.clone().set(w,1);re.$d[J](ne),re.init(),this.$d=re.set(w,Math.min(this.$D,re.daysInMonth())).$d}else J&&this.$d[J](ne);return this.init(),this},F.set=function(X,$){return this.clone().$set(X,$)},F.get=function(X){return this[z.p(X)]()},F.add=function(X,$){var V,K=this;X=Number(X);var G=z.p($),J=function(de){var Ne=R(K);return z.w(Ne.date(Ne.date()+Math.round(de*X)),K)};if(G===f)return this.set(f,this.$M+X);if(G===g)return this.set(g,this.$y+X);if(G===u)return J(1);if(G===d)return J(7);var ne=(V={},V[i]=r,V[l]=o,V[a]=n,V)[G]||1,re=this.$d.getTime()+X*ne;return z.w(re,this)},F.subtract=function(X,$){return this.add(-1*X,$)},F.format=function(X){var $=this,V=this.$locale();if(!this.isValid())return V.invalidDate||b;var K=X||"YYYY-MM-DDTHH:mm:ssZ",G=z.z(this),J=this.$H,ne=this.$m,re=this.$M,de=V.weekdays,Ne=V.months,ve=V.meridiem,xe=function(me,ke,le,he){return me&&(me[ke]||me($,K))||le[ke].slice(0,he)},ce=function(me){return z.s(J%12||12,me,"0")},pe=ve||function(me,ke,le){var he=me<12?"AM":"PM";return le?he.toLowerCase():he};return K.replace(S,(function(me,ke){return ke||(function(le){switch(le){case"YY":return String($.$y).slice(-2);case"YYYY":return z.s($.$y,4,"0");case"M":return re+1;case"MM":return z.s(re+1,2,"0");case"MMM":return xe(V.monthsShort,re,Ne,3);case"MMMM":return xe(Ne,re);case"D":return $.$D;case"DD":return z.s($.$D,2,"0");case"d":return String($.$W);case"dd":return xe(V.weekdaysMin,$.$W,de,2);case"ddd":return xe(V.weekdaysShort,$.$W,de,3);case"dddd":return de[$.$W];case"H":return String(J);case"HH":return z.s(J,2,"0");case"h":return ce(1);case"hh":return ce(2);case"a":return pe(J,ne,!0);case"A":return pe(J,ne,!1);case"m":return String(ne);case"mm":return z.s(ne,2,"0");case"s":return String($.$s);case"ss":return z.s($.$s,2,"0");case"SSS":return z.s($.$ms,3,"0");case"Z":return G}return null})(me)||G.replace(":","")}))},F.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},F.diff=function(X,$,V){var K,G=this,J=z.p($),ne=R(X),re=(ne.utcOffset()-this.utcOffset())*r,de=this-ne,Ne=function(){return z.m(G,ne)};switch(J){case g:K=Ne()/12;break;case f:K=Ne();break;case m:K=Ne()/3;break;case d:K=(de-re)/6048e5;break;case u:K=(de-re)/864e5;break;case l:K=de/o;break;case i:K=de/r;break;case a:K=de/n;break;default:K=de}return V?K:z.a(K)},F.daysInMonth=function(){return this.endOf(f).$D},F.$locale=function(){return O[this.$L]},F.locale=function(X,$){if(!X)return this.$L;var V=this.clone(),K=T(X,$,!0);return K&&(V.$L=K),V},F.clone=function(){return z.w(this.$d,this)},F.toDate=function(){return new Date(this.valueOf())},F.toJSON=function(){return this.isValid()?this.toISOString():null},F.toISOString=function(){return this.$d.toISOString()},F.toString=function(){return this.$d.toUTCString()},W})(),Q=Y.prototype;return R.prototype=Q,[["$ms",s],["$s",a],["$m",i],["$H",l],["$W",u],["$M",f],["$y",g],["$D",w]].forEach((function(W){Q[W[1]]=function(F){return this.$g(F,W[0],W[1])}})),R.extend=function(W,F){return W.$i||(W(F,Y,R),W.$i=!0),R},R.locale=T,R.isDayjs=B,R.unix=function(W){return R(1e3*W)},R.en=O[D],R.Ls=O,R.p={},R}))})(g3)),g3.exports}var $we=Uwe();const Nn=rc($we),Dn=t=>typeof t=="string",tw=()=>{let t,e;const n=new Promise((r,o)=>{t=r,e=o});return n.resolve=t,n.reject=e,n},TF=t=>t==null?"":""+t,Vwe=(t,e,n)=>{t.forEach(r=>{e[r]&&(n[r]=e[r])})},Hwe=/###/g,DF=t=>t&&t.indexOf("###")>-1?t.replace(Hwe,"."):t,LF=t=>!t||Dn(t),Vw=(t,e,n)=>{const r=Dn(e)?e.split("."):e;let o=0;for(;o<r.length-1;){if(LF(t))return{};const s=DF(r[o]);!t[s]&&n&&(t[s]=new n),Object.prototype.hasOwnProperty.call(t,s)?t=t[s]:t={},++o}return LF(t)?{}:{obj:t,k:DF(r[o])}},PF=(t,e,n)=>{const{obj:r,k:o}=Vw(t,e,Object);if(r!==void 0||e.length===1){r[o]=n;return}let s=e[e.length-1],a=e.slice(0,e.length-1),i=Vw(t,a,Object);for(;i.obj===void 0&&a.length;)s=`${a[a.length-1]}.${s}`,a=a.slice(0,a.length-1),i=Vw(t,a,Object),i!=null&&i.obj&&typeof i.obj[`${i.k}.${s}`]<"u"&&(i.obj=void 0);i.obj[`${i.k}.${s}`]=n},Wwe=(t,e,n,r)=>{const{obj:o,k:s}=Vw(t,e,Object);o[s]=o[s]||[],o[s].push(n)},sk=(t,e)=>{const{obj:n,k:r}=Vw(t,e);if(n&&Object.prototype.hasOwnProperty.call(n,r))return n[r]},Ywe=(t,e,n)=>{const r=sk(t,n);return r!==void 0?r:sk(e,n)},hJ=(t,e,n)=>{for(const r in e)r!=="__proto__"&&r!=="constructor"&&(r in t?Dn(t[r])||t[r]instanceof String||Dn(e[r])||e[r]instanceof String?n&&(t[r]=e[r]):hJ(t[r],e[r],n):t[r]=e[r]);return t},D1=t=>t.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&");var Gwe={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"};const qwe=t=>Dn(t)?t.replace(/[&<>"'\/]/g,e=>Gwe[e]):t;class Kwe{constructor(e){this.capacity=e,this.regExpMap=new Map,this.regExpQueue=[]}getRegExp(e){const n=this.regExpMap.get(e);if(n!==void 0)return n;const r=new RegExp(e);return this.regExpQueue.length===this.capacity&&this.regExpMap.delete(this.regExpQueue.shift()),this.regExpMap.set(e,r),this.regExpQueue.push(e),r}}const Zwe=[" ",",","?","!",";"],Qwe=new Kwe(20),Jwe=(t,e,n)=>{e=e||"",n=n||"";const r=Zwe.filter(a=>e.indexOf(a)<0&&n.indexOf(a)<0);if(r.length===0)return!0;const o=Qwe.getRegExp(`(${r.map(a=>a==="?"?"\\?":a).join("|")})`);let s=!o.test(t);if(!s){const a=t.indexOf(n);a>0&&!o.test(t.substring(0,a))&&(s=!0)}return s},r_=function(t,e){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:".";if(!t)return;if(t[e])return Object.prototype.hasOwnProperty.call(t,e)?t[e]:void 0;const r=e.split(n);let o=t;for(let s=0;s<r.length;){if(!o||typeof o!="object")return;let a,i="";for(let l=s;l<r.length;++l)if(l!==s&&(i+=n),i+=r[l],a=o[i],a!==void 0){if(["string","number","boolean"].indexOf(typeof a)>-1&&l<r.length-1)continue;s+=l-s+1;break}o=a}return o},ak=t=>t==null?void 0:t.replace("_","-"),Xwe={type:"logger",log(t){this.output("log",t)},warn(t){this.output("warn",t)},error(t){this.output("error",t)},output(t,e){var n,r;(r=(n=console==null?void 0:console[t])==null?void 0:n.apply)==null||r.call(n,console,e)}};class ik{constructor(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.init(e,n)}init(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.prefix=n.prefix||"i18next:",this.logger=e||Xwe,this.options=n,this.debug=n.debug}log(){for(var e=arguments.length,n=new Array(e),r=0;r<e;r++)n[r]=arguments[r];return this.forward(n,"log","",!0)}warn(){for(var e=arguments.length,n=new Array(e),r=0;r<e;r++)n[r]=arguments[r];return this.forward(n,"warn","",!0)}error(){for(var e=arguments.length,n=new Array(e),r=0;r<e;r++)n[r]=arguments[r];return this.forward(n,"error","")}deprecate(){for(var e=arguments.length,n=new Array(e),r=0;r<e;r++)n[r]=arguments[r];return this.forward(n,"warn","WARNING DEPRECATED: ",!0)}forward(e,n,r,o){return o&&!this.debug?null:(Dn(e[0])&&(e[0]=`${r}${this.prefix} ${e[0]}`),this.logger[n](e))}create(e){return new ik(this.logger,{prefix:`${this.prefix}:${e}:`,...this.options})}clone(e){return e=e||this.options,e.prefix=e.prefix||this.prefix,new ik(this.logger,e)}}var zu=new ik;let iC=class{constructor(){this.observers={}}on(e,n){return e.split(" ").forEach(r=>{this.observers[r]||(this.observers[r]=new Map);const o=this.observers[r].get(n)||0;this.observers[r].set(n,o+1)}),this}off(e,n){if(this.observers[e]){if(!n){delete this.observers[e];return}this.observers[e].delete(n)}}emit(e){for(var n=arguments.length,r=new Array(n>1?n-1:0),o=1;o<n;o++)r[o-1]=arguments[o];this.observers[e]&&Array.from(this.observers[e].entries()).forEach(a=>{let[i,l]=a;for(let u=0;u<l;u++)i(...r)}),this.observers["*"]&&Array.from(this.observers["*"].entries()).forEach(a=>{let[i,l]=a;for(let u=0;u<l;u++)i.apply(i,[e,...r])})}};class OF extends iC{constructor(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{ns:["translation"],defaultNS:"translation"};super(),this.data=e||{},this.options=n,this.options.keySeparator===void 0&&(this.options.keySeparator="."),this.options.ignoreJSONStructure===void 0&&(this.options.ignoreJSONStructure=!0)}addNamespaces(e){this.options.ns.indexOf(e)<0&&this.options.ns.push(e)}removeNamespaces(e){const n=this.options.ns.indexOf(e);n>-1&&this.options.ns.splice(n,1)}getResource(e,n,r){var u,d;let o=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};const s=o.keySeparator!==void 0?o.keySeparator:this.options.keySeparator,a=o.ignoreJSONStructure!==void 0?o.ignoreJSONStructure:this.options.ignoreJSONStructure;let i;e.indexOf(".")>-1?i=e.split("."):(i=[e,n],r&&(Array.isArray(r)?i.push(...r):Dn(r)&&s?i.push(...r.split(s)):i.push(r)));const l=sk(this.data,i);return!l&&!n&&!r&&e.indexOf(".")>-1&&(e=i[0],n=i[1],r=i.slice(2).join(".")),l||!a||!Dn(r)?l:r_((d=(u=this.data)==null?void 0:u[e])==null?void 0:d[n],r,s)}addResource(e,n,r,o){let s=arguments.length>4&&arguments[4]!==void 0?arguments[4]:{silent:!1};const a=s.keySeparator!==void 0?s.keySeparator:this.options.keySeparator;let i=[e,n];r&&(i=i.concat(a?r.split(a):r)),e.indexOf(".")>-1&&(i=e.split("."),o=n,n=i[1]),this.addNamespaces(n),PF(this.data,i,o),s.silent||this.emit("added",e,n,r,o)}addResources(e,n,r){let o=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{silent:!1};for(const s in r)(Dn(r[s])||Array.isArray(r[s]))&&this.addResource(e,n,s,r[s],{silent:!0});o.silent||this.emit("added",e,n,r)}addResourceBundle(e,n,r,o,s){let a=arguments.length>5&&arguments[5]!==void 0?arguments[5]:{silent:!1,skipCopy:!1},i=[e,n];e.indexOf(".")>-1&&(i=e.split("."),o=r,r=n,n=i[1]),this.addNamespaces(n);let l=sk(this.data,i)||{};a.skipCopy||(r=JSON.parse(JSON.stringify(r))),o?hJ(l,r,s):l={...l,...r},PF(this.data,i,l),a.silent||this.emit("added",e,n,r)}removeResourceBundle(e,n){this.hasResourceBundle(e,n)&&delete this.data[e][n],this.removeNamespaces(n),this.emit("removed",e,n)}hasResourceBundle(e,n){return this.getResource(e,n)!==void 0}getResourceBundle(e,n){return n||(n=this.options.defaultNS),this.getResource(e,n)}getDataByLanguage(e){return this.data[e]}hasLanguageSomeTranslations(e){const n=this.getDataByLanguage(e);return!!(n&&Object.keys(n)||[]).find(o=>n[o]&&Object.keys(n[o]).length>0)}toJSON(){return this.data}}var mJ={processors:{},addPostProcessor(t){this.processors[t.name]=t},handle(t,e,n,r,o){return t.forEach(s=>{var a;e=((a=this.processors[s])==null?void 0:a.process(e,n,r,o))??e}),e}};const zF={};class lk extends iC{constructor(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};super(),Vwe(["resourceStore","languageUtils","pluralResolver","interpolator","backendConnector","i18nFormat","utils"],e,this),this.options=n,this.options.keySeparator===void 0&&(this.options.keySeparator="."),this.logger=zu.create("translator")}changeLanguage(e){e&&(this.language=e)}exists(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{interpolation:{}};if(e==null)return!1;const r=this.resolve(e,n);return(r==null?void 0:r.res)!==void 0}extractFromKey(e,n){let r=n.nsSeparator!==void 0?n.nsSeparator:this.options.nsSeparator;r===void 0&&(r=":");const o=n.keySeparator!==void 0?n.keySeparator:this.options.keySeparator;let s=n.ns||this.options.defaultNS||[];const a=r&&e.indexOf(r)>-1,i=!this.options.userDefinedKeySeparator&&!n.keySeparator&&!this.options.userDefinedNsSeparator&&!n.nsSeparator&&!Jwe(e,r,o);if(a&&!i){const l=e.match(this.interpolator.nestingRegexp);if(l&&l.length>0)return{key:e,namespaces:Dn(s)?[s]:s};const u=e.split(r);(r!==o||r===o&&this.options.ns.indexOf(u[0])>-1)&&(s=u.shift()),e=u.join(o)}return{key:e,namespaces:Dn(s)?[s]:s}}translate(e,n,r){if(typeof n!="object"&&this.options.overloadTranslationOptionHandler&&(n=this.options.overloadTranslationOptionHandler(arguments)),typeof n=="object"&&(n={...n}),n||(n={}),e==null)return"";Array.isArray(e)||(e=[String(e)]);const o=n.returnDetails!==void 0?n.returnDetails:this.options.returnDetails,s=n.keySeparator!==void 0?n.keySeparator:this.options.keySeparator,{key:a,namespaces:i}=this.extractFromKey(e[e.length-1],n),l=i[i.length-1],u=n.lng||this.language,d=n.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if((u==null?void 0:u.toLowerCase())==="cimode"){if(d){const M=n.nsSeparator||this.options.nsSeparator;return o?{res:`${l}${M}${a}`,usedKey:a,exactUsedKey:a,usedLng:u,usedNS:l,usedParams:this.getUsedParamsDetails(n)}:`${l}${M}${a}`}return o?{res:a,usedKey:a,exactUsedKey:a,usedLng:u,usedNS:l,usedParams:this.getUsedParamsDetails(n)}:a}const f=this.resolve(e,n);let m=f==null?void 0:f.res;const g=(f==null?void 0:f.usedKey)||a,w=(f==null?void 0:f.exactUsedKey)||a,b=Object.prototype.toString.apply(m),j=["[object Number]","[object Function]","[object RegExp]"],S=n.joinArrays!==void 0?n.joinArrays:this.options.joinArrays,I=!this.i18nFormat||this.i18nFormat.handleAsObject,N=!Dn(m)&&typeof m!="boolean"&&typeof m!="number";if(I&&m&&N&&j.indexOf(b)<0&&!(Dn(S)&&Array.isArray(m))){if(!n.returnObjects&&!this.options.returnObjects){this.options.returnedObjectHandler||this.logger.warn("accessing an object - but returnObjects options is not enabled!");const M=this.options.returnedObjectHandler?this.options.returnedObjectHandler(g,m,{...n,ns:i}):`key '${a} (${this.language})' returned an object instead of string.`;return o?(f.res=M,f.usedParams=this.getUsedParamsDetails(n),f):M}if(s){const M=Array.isArray(m),D=M?[]:{},O=M?w:g;for(const L in m)if(Object.prototype.hasOwnProperty.call(m,L)){const B=`${O}${s}${L}`;D[L]=this.translate(B,{...n,joinArrays:!1,ns:i}),D[L]===B&&(D[L]=m[L])}m=D}}else if(I&&Dn(S)&&Array.isArray(m))m=m.join(S),m&&(m=this.extendTranslation(m,e,n,r));else{let M=!1,D=!1;const O=n.count!==void 0&&!Dn(n.count),L=lk.hasDefaultValue(n),B=O?this.pluralResolver.getSuffix(u,n.count,n):"",T=n.ordinal&&O?this.pluralResolver.getSuffix(u,n.count,{ordinal:!1}):"",R=O&&!n.ordinal&&n.count===0,z=R&&n[`defaultValue${this.options.pluralSeparator}zero`]||n[`defaultValue${B}`]||n[`defaultValue${T}`]||n.defaultValue;!this.isValidLookup(m)&&L&&(M=!0,m=z),this.isValidLookup(m)||(D=!0,m=a);const Q=(n.missingKeyNoValueFallbackToKey||this.options.missingKeyNoValueFallbackToKey)&&D?void 0:m,W=L&&z!==m&&this.options.updateMissing;if(D||M||W){if(this.logger.log(W?"updateKey":"missingKey",u,l,a,W?z:m),s){const V=this.resolve(a,{...n,keySeparator:!1});V&&V.res&&this.logger.warn("Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.")}let F=[];const X=this.languageUtils.getFallbackCodes(this.options.fallbackLng,n.lng||this.language);if(this.options.saveMissingTo==="fallback"&&X&&X[0])for(let V=0;V<X.length;V++)F.push(X[V]);else this.options.saveMissingTo==="all"?F=this.languageUtils.toResolveHierarchy(n.lng||this.language):F.push(n.lng||this.language);const $=(V,K,G)=>{var ne;const J=L&&G!==m?G:Q;this.options.missingKeyHandler?this.options.missingKeyHandler(V,l,K,J,W,n):(ne=this.backendConnector)!=null&&ne.saveMissing&&this.backendConnector.saveMissing(V,l,K,J,W,n),this.emit("missingKey",V,l,K,m)};this.options.saveMissing&&(this.options.saveMissingPlurals&&O?F.forEach(V=>{const K=this.pluralResolver.getSuffixes(V,n);R&&n[`defaultValue${this.options.pluralSeparator}zero`]&&K.indexOf(`${this.options.pluralSeparator}zero`)<0&&K.push(`${this.options.pluralSeparator}zero`),K.forEach(G=>{$([V],a+G,n[`defaultValue${G}`]||z)})}):$(F,a,z))}m=this.extendTranslation(m,e,n,f,r),D&&m===a&&this.options.appendNamespaceToMissingKey&&(m=`${l}:${a}`),(D||M)&&this.options.parseMissingKeyHandler&&(m=this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey?`${l}:${a}`:a,M?m:void 0))}return o?(f.res=m,f.usedParams=this.getUsedParamsDetails(n),f):m}extendTranslation(e,n,r,o,s){var u,d;var a=this;if((u=this.i18nFormat)!=null&&u.parse)e=this.i18nFormat.parse(e,{...this.options.interpolation.defaultVariables,...r},r.lng||this.language||o.usedLng,o.usedNS,o.usedKey,{resolved:o});else if(!r.skipInterpolation){r.interpolation&&this.interpolator.init({...r,interpolation:{...this.options.interpolation,...r.interpolation}});const f=Dn(e)&&(((d=r==null?void 0:r.interpolation)==null?void 0:d.skipOnVariables)!==void 0?r.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables);let m;if(f){const w=e.match(this.interpolator.nestingRegexp);m=w&&w.length}let g=r.replace&&!Dn(r.replace)?r.replace:r;if(this.options.interpolation.defaultVariables&&(g={...this.options.interpolation.defaultVariables,...g}),e=this.interpolator.interpolate(e,g,r.lng||this.language||o.usedLng,r),f){const w=e.match(this.interpolator.nestingRegexp),b=w&&w.length;m<b&&(r.nest=!1)}!r.lng&&o&&o.res&&(r.lng=this.language||o.usedLng),r.nest!==!1&&(e=this.interpolator.nest(e,function(){for(var w=arguments.length,b=new Array(w),j=0;j<w;j++)b[j]=arguments[j];return(s==null?void 0:s[0])===b[0]&&!r.context?(a.logger.warn(`It seems you are nesting recursively key: ${b[0]} in key: ${n[0]}`),null):a.translate(...b,n)},r)),r.interpolation&&this.interpolator.reset()}const i=r.postProcess||this.options.postProcess,l=Dn(i)?[i]:i;return e!=null&&(l!=null&&l.length)&&r.applyPostProcessor!==!1&&(e=mJ.handle(l,e,n,this.options&&this.options.postProcessPassResolved?{i18nResolved:{...o,usedParams:this.getUsedParamsDetails(r)},...r}:r,this)),e}resolve(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r,o,s,a,i;return Dn(e)&&(e=[e]),e.forEach(l=>{if(this.isValidLookup(r))return;const u=this.extractFromKey(l,n),d=u.key;o=d;let f=u.namespaces;this.options.fallbackNS&&(f=f.concat(this.options.fallbackNS));const m=n.count!==void 0&&!Dn(n.count),g=m&&!n.ordinal&&n.count===0,w=n.context!==void 0&&(Dn(n.context)||typeof n.context=="number")&&n.context!=="",b=n.lngs?n.lngs:this.languageUtils.toResolveHierarchy(n.lng||this.language,n.fallbackLng);f.forEach(j=>{var S,I;this.isValidLookup(r)||(i=j,!zF[`${b[0]}-${j}`]&&((S=this.utils)!=null&&S.hasLoadedNamespace)&&!((I=this.utils)!=null&&I.hasLoadedNamespace(i))&&(zF[`${b[0]}-${j}`]=!0,this.logger.warn(`key "${o}" for languages "${b.join(", ")}" won't get resolved as namespace "${i}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!")),b.forEach(N=>{var O;if(this.isValidLookup(r))return;a=N;const M=[d];if((O=this.i18nFormat)!=null&&O.addLookupKeys)this.i18nFormat.addLookupKeys(M,d,N,j,n);else{let L;m&&(L=this.pluralResolver.getSuffix(N,n.count,n));const B=`${this.options.pluralSeparator}zero`,T=`${this.options.pluralSeparator}ordinal${this.options.pluralSeparator}`;if(m&&(M.push(d+L),n.ordinal&&L.indexOf(T)===0&&M.push(d+L.replace(T,this.options.pluralSeparator)),g&&M.push(d+B)),w){const R=`${d}${this.options.contextSeparator}${n.context}`;M.push(R),m&&(M.push(R+L),n.ordinal&&L.indexOf(T)===0&&M.push(R+L.replace(T,this.options.pluralSeparator)),g&&M.push(R+B))}}let D;for(;D=M.pop();)this.isValidLookup(r)||(s=D,r=this.getResource(N,j,D,n))}))})}),{res:r,usedKey:o,exactUsedKey:s,usedLng:a,usedNS:i}}isValidLookup(e){return e!==void 0&&!(!this.options.returnNull&&e===null)&&!(!this.options.returnEmptyString&&e==="")}getResource(e,n,r){var s;let o=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};return(s=this.i18nFormat)!=null&&s.getResource?this.i18nFormat.getResource(e,n,r,o):this.resourceStore.getResource(e,n,r,o)}getUsedParamsDetails(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};const n=["defaultValue","ordinal","context","replace","lng","lngs","fallbackLng","ns","keySeparator","nsSeparator","returnObjects","returnDetails","joinArrays","postProcess","interpolation"],r=e.replace&&!Dn(e.replace);let o=r?e.replace:e;if(r&&typeof e.count<"u"&&(o.count=e.count),this.options.interpolation.defaultVariables&&(o={...this.options.interpolation.defaultVariables,...o}),!r){o={...o};for(const s of n)delete o[s]}return o}static hasDefaultValue(e){const n="defaultValue";for(const r in e)if(Object.prototype.hasOwnProperty.call(e,r)&&n===r.substring(0,n.length)&&e[r]!==void 0)return!0;return!1}}class FF{constructor(e){this.options=e,this.supportedLngs=this.options.supportedLngs||!1,this.logger=zu.create("languageUtils")}getScriptPartFromCode(e){if(e=ak(e),!e||e.indexOf("-")<0)return null;const n=e.split("-");return n.length===2||(n.pop(),n[n.length-1].toLowerCase()==="x")?null:this.formatLanguageCode(n.join("-"))}getLanguagePartFromCode(e){if(e=ak(e),!e||e.indexOf("-")<0)return e;const n=e.split("-");return this.formatLanguageCode(n[0])}formatLanguageCode(e){if(Dn(e)&&e.indexOf("-")>-1){let n;try{n=Intl.getCanonicalLocales(e)[0]}catch{}return n&&this.options.lowerCaseLng&&(n=n.toLowerCase()),n||(this.options.lowerCaseLng?e.toLowerCase():e)}return this.options.cleanCode||this.options.lowerCaseLng?e.toLowerCase():e}isSupportedCode(e){return(this.options.load==="languageOnly"||this.options.nonExplicitSupportedLngs)&&(e=this.getLanguagePartFromCode(e)),!this.supportedLngs||!this.supportedLngs.length||this.supportedLngs.indexOf(e)>-1}getBestMatchFromCodes(e){if(!e)return null;let n;return e.forEach(r=>{if(n)return;const o=this.formatLanguageCode(r);(!this.options.supportedLngs||this.isSupportedCode(o))&&(n=o)}),!n&&this.options.supportedLngs&&e.forEach(r=>{if(n)return;const o=this.getLanguagePartFromCode(r);if(this.isSupportedCode(o))return n=o;n=this.options.supportedLngs.find(s=>{if(s===o)return s;if(!(s.indexOf("-")<0&&o.indexOf("-")<0)&&(s.indexOf("-")>0&&o.indexOf("-")<0&&s.substring(0,s.indexOf("-"))===o||s.indexOf(o)===0&&o.length>1))return s})}),n||(n=this.getFallbackCodes(this.options.fallbackLng)[0]),n}getFallbackCodes(e,n){if(!e)return[];if(typeof e=="function"&&(e=e(n)),Dn(e)&&(e=[e]),Array.isArray(e))return e;if(!n)return e.default||[];let r=e[n];return r||(r=e[this.getScriptPartFromCode(n)]),r||(r=e[this.formatLanguageCode(n)]),r||(r=e[this.getLanguagePartFromCode(n)]),r||(r=e.default),r||[]}toResolveHierarchy(e,n){const r=this.getFallbackCodes(n||this.options.fallbackLng||[],e),o=[],s=a=>{a&&(this.isSupportedCode(a)?o.push(a):this.logger.warn(`rejecting language code not found in supportedLngs: ${a}`))};return Dn(e)&&(e.indexOf("-")>-1||e.indexOf("_")>-1)?(this.options.load!=="languageOnly"&&s(this.formatLanguageCode(e)),this.options.load!=="languageOnly"&&this.options.load!=="currentOnly"&&s(this.getScriptPartFromCode(e)),this.options.load!=="currentOnly"&&s(this.getLanguagePartFromCode(e))):Dn(e)&&s(this.formatLanguageCode(e)),r.forEach(a=>{o.indexOf(a)<0&&s(this.formatLanguageCode(a))}),o}}const BF={zero:0,one:1,two:2,few:3,many:4,other:5},UF={select:t=>t===1?"one":"other",resolvedOptions:()=>({pluralCategories:["one","other"]})};class ebe{constructor(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.languageUtils=e,this.options=n,this.logger=zu.create("pluralResolver"),this.pluralRulesCache={}}addRule(e,n){this.rules[e]=n}clearCache(){this.pluralRulesCache={}}getRule(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const r=ak(e==="dev"?"en":e),o=n.ordinal?"ordinal":"cardinal",s=JSON.stringify({cleanedCode:r,type:o});if(s in this.pluralRulesCache)return this.pluralRulesCache[s];let a;try{a=new Intl.PluralRules(r,{type:o})}catch{if(!Intl)return this.logger.error("No Intl support, please use an Intl polyfill!"),UF;if(!e.match(/-|_/))return UF;const l=this.languageUtils.getLanguagePartFromCode(e);a=this.getRule(l,n)}return this.pluralRulesCache[s]=a,a}needsPlural(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=this.getRule(e,n);return r||(r=this.getRule("dev",n)),(r==null?void 0:r.resolvedOptions().pluralCategories.length)>1}getPluralFormsOfKey(e,n){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return this.getSuffixes(e,r).map(o=>`${n}${o}`)}getSuffixes(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=this.getRule(e,n);return r||(r=this.getRule("dev",n)),r?r.resolvedOptions().pluralCategories.sort((o,s)=>BF[o]-BF[s]).map(o=>`${this.options.prepend}${n.ordinal?`ordinal${this.options.prepend}`:""}${o}`):[]}getSuffix(e,n){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};const o=this.getRule(e,r);return o?`${this.options.prepend}${r.ordinal?`ordinal${this.options.prepend}`:""}${o.select(n)}`:(this.logger.warn(`no plural rule found for: ${e}`),this.getSuffix("dev",n,r))}}const $F=function(t,e,n){let r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:".",o=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,s=Ywe(t,e,n);return!s&&o&&Dn(n)&&(s=r_(t,n,r),s===void 0&&(s=r_(e,n,r))),s},xI=t=>t.replace(/\$/g,"$$$$");class tbe{constructor(){var n;let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.logger=zu.create("interpolator"),this.options=e,this.format=((n=e==null?void 0:e.interpolation)==null?void 0:n.format)||(r=>r),this.init(e)}init(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};e.interpolation||(e.interpolation={escapeValue:!0});const{escape:n,escapeValue:r,useRawValueToEscape:o,prefix:s,prefixEscaped:a,suffix:i,suffixEscaped:l,formatSeparator:u,unescapeSuffix:d,unescapePrefix:f,nestingPrefix:m,nestingPrefixEscaped:g,nestingSuffix:w,nestingSuffixEscaped:b,nestingOptionsSeparator:j,maxReplaces:S,alwaysFormat:I}=e.interpolation;this.escape=n!==void 0?n:qwe,this.escapeValue=r!==void 0?r:!0,this.useRawValueToEscape=o!==void 0?o:!1,this.prefix=s?D1(s):a||"{{",this.suffix=i?D1(i):l||"}}",this.formatSeparator=u||",",this.unescapePrefix=d?"":f||"-",this.unescapeSuffix=this.unescapePrefix?"":d||"",this.nestingPrefix=m?D1(m):g||D1("$t("),this.nestingSuffix=w?D1(w):b||D1(")"),this.nestingOptionsSeparator=j||",",this.maxReplaces=S||1e3,this.alwaysFormat=I!==void 0?I:!1,this.resetRegExp()}reset(){this.options&&this.init(this.options)}resetRegExp(){const e=(n,r)=>(n==null?void 0:n.source)===r?(n.lastIndex=0,n):new RegExp(r,"g");this.regexp=e(this.regexp,`${this.prefix}(.+?)${this.suffix}`),this.regexpUnescape=e(this.regexpUnescape,`${this.prefix}${this.unescapePrefix}(.+?)${this.unescapeSuffix}${this.suffix}`),this.nestingRegexp=e(this.nestingRegexp,`${this.nestingPrefix}(.+?)${this.nestingSuffix}`)}interpolate(e,n,r,o){var g;let s,a,i;const l=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{},u=w=>{if(w.indexOf(this.formatSeparator)<0){const I=$F(n,l,w,this.options.keySeparator,this.options.ignoreJSONStructure);return this.alwaysFormat?this.format(I,void 0,r,{...o,...n,interpolationkey:w}):I}const b=w.split(this.formatSeparator),j=b.shift().trim(),S=b.join(this.formatSeparator).trim();return this.format($F(n,l,j,this.options.keySeparator,this.options.ignoreJSONStructure),S,r,{...o,...n,interpolationkey:j})};this.resetRegExp();const d=(o==null?void 0:o.missingInterpolationHandler)||this.options.missingInterpolationHandler,f=((g=o==null?void 0:o.interpolation)==null?void 0:g.skipOnVariables)!==void 0?o.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables;return[{regex:this.regexpUnescape,safeValue:w=>xI(w)},{regex:this.regexp,safeValue:w=>this.escapeValue?xI(this.escape(w)):xI(w)}].forEach(w=>{for(i=0;s=w.regex.exec(e);){const b=s[1].trim();if(a=u(b),a===void 0)if(typeof d=="function"){const S=d(e,s,o);a=Dn(S)?S:""}else if(o&&Object.prototype.hasOwnProperty.call(o,b))a="";else if(f){a=s[0];continue}else this.logger.warn(`missed to pass in variable ${b} for interpolating ${e}`),a="";else!Dn(a)&&!this.useRawValueToEscape&&(a=TF(a));const j=w.safeValue(a);if(e=e.replace(s[0],j),f?(w.regex.lastIndex+=a.length,w.regex.lastIndex-=s[0].length):w.regex.lastIndex=0,i++,i>=this.maxReplaces)break}}),e}nest(e,n){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},o,s,a;const i=(l,u)=>{const d=this.nestingOptionsSeparator;if(l.indexOf(d)<0)return l;const f=l.split(new RegExp(`${d}[ ]*{`));let m=`{${f[1]}`;l=f[0],m=this.interpolate(m,a);const g=m.match(/'/g),w=m.match(/"/g);(((g==null?void 0:g.length)??0)%2===0&&!w||w.length%2!==0)&&(m=m.replace(/'/g,'"'));try{a=JSON.parse(m),u&&(a={...u,...a})}catch(b){return this.logger.warn(`failed parsing options string in nesting for key ${l}`,b),`${l}${d}${m}`}return a.defaultValue&&a.defaultValue.indexOf(this.prefix)>-1&&delete a.defaultValue,l};for(;o=this.nestingRegexp.exec(e);){let l=[];a={...r},a=a.replace&&!Dn(a.replace)?a.replace:a,a.applyPostProcessor=!1,delete a.defaultValue;let u=!1;if(o[0].indexOf(this.formatSeparator)!==-1&&!/{.*}/.test(o[1])){const d=o[1].split(this.formatSeparator).map(f=>f.trim());o[1]=d.shift(),l=d,u=!0}if(s=n(i.call(this,o[1].trim(),a),a),s&&o[0]===e&&!Dn(s))return s;Dn(s)||(s=TF(s)),s||(this.logger.warn(`missed to resolve ${o[1]} for nesting ${e}`),s=""),u&&(s=l.reduce((d,f)=>this.format(d,f,r.lng,{...r,interpolationkey:o[1].trim()}),s.trim())),e=e.replace(o[0],s),this.regexp.lastIndex=0}return e}}const nbe=t=>{let e=t.toLowerCase().trim();const n={};if(t.indexOf("(")>-1){const r=t.split("(");e=r[0].toLowerCase().trim();const o=r[1].substring(0,r[1].length-1);e==="currency"&&o.indexOf(":")<0?n.currency||(n.currency=o.trim()):e==="relativetime"&&o.indexOf(":")<0?n.range||(n.range=o.trim()):o.split(";").forEach(a=>{if(a){const[i,...l]=a.split(":"),u=l.join(":").trim().replace(/^'+|'+$/g,""),d=i.trim();n[d]||(n[d]=u),u==="false"&&(n[d]=!1),u==="true"&&(n[d]=!0),isNaN(u)||(n[d]=parseInt(u,10))}})}return{formatName:e,formatOptions:n}},L1=t=>{const e={};return(n,r,o)=>{let s=o;o&&o.interpolationkey&&o.formatParams&&o.formatParams[o.interpolationkey]&&o[o.interpolationkey]&&(s={...s,[o.interpolationkey]:void 0});const a=r+JSON.stringify(s);let i=e[a];return i||(i=t(ak(r),o),e[a]=i),i(n)}};class rbe{constructor(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.logger=zu.create("formatter"),this.options=e,this.formats={number:L1((n,r)=>{const o=new Intl.NumberFormat(n,{...r});return s=>o.format(s)}),currency:L1((n,r)=>{const o=new Intl.NumberFormat(n,{...r,style:"currency"});return s=>o.format(s)}),datetime:L1((n,r)=>{const o=new Intl.DateTimeFormat(n,{...r});return s=>o.format(s)}),relativetime:L1((n,r)=>{const o=new Intl.RelativeTimeFormat(n,{...r});return s=>o.format(s,r.range||"day")}),list:L1((n,r)=>{const o=new Intl.ListFormat(n,{...r});return s=>o.format(s)})},this.init(e)}init(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{interpolation:{}};this.formatSeparator=n.interpolation.formatSeparator||","}add(e,n){this.formats[e.toLowerCase().trim()]=n}addCached(e,n){this.formats[e.toLowerCase().trim()]=L1(n)}format(e,n,r){let o=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};const s=n.split(this.formatSeparator);if(s.length>1&&s[0].indexOf("(")>1&&s[0].indexOf(")")<0&&s.find(i=>i.indexOf(")")>-1)){const i=s.findIndex(l=>l.indexOf(")")>-1);s[0]=[s[0],...s.splice(1,i)].join(this.formatSeparator)}return s.reduce((i,l)=>{var f;const{formatName:u,formatOptions:d}=nbe(l);if(this.formats[u]){let m=i;try{const g=((f=o==null?void 0:o.formatParams)==null?void 0:f[o.interpolationkey])||{},w=g.locale||g.lng||o.locale||o.lng||r;m=this.formats[u](i,w,{...d,...o,...g})}catch(g){this.logger.warn(g)}return m}else this.logger.warn(`there was no format function for ${u}`);return i},e)}}const obe=(t,e)=>{t.pending[e]!==void 0&&(delete t.pending[e],t.pendingCount--)};class sbe extends iC{constructor(e,n,r){var s,a;let o=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};super(),this.backend=e,this.store=n,this.services=r,this.languageUtils=r.languageUtils,this.options=o,this.logger=zu.create("backendConnector"),this.waitingReads=[],this.maxParallelReads=o.maxParallelReads||10,this.readingCalls=0,this.maxRetries=o.maxRetries>=0?o.maxRetries:5,this.retryTimeout=o.retryTimeout>=1?o.retryTimeout:350,this.state={},this.queue=[],(a=(s=this.backend)==null?void 0:s.init)==null||a.call(s,r,o.backend,o)}queueLoad(e,n,r,o){const s={},a={},i={},l={};return e.forEach(u=>{let d=!0;n.forEach(f=>{const m=`${u}|${f}`;!r.reload&&this.store.hasResourceBundle(u,f)?this.state[m]=2:this.state[m]<0||(this.state[m]===1?a[m]===void 0&&(a[m]=!0):(this.state[m]=1,d=!1,a[m]===void 0&&(a[m]=!0),s[m]===void 0&&(s[m]=!0),l[f]===void 0&&(l[f]=!0)))}),d||(i[u]=!0)}),(Object.keys(s).length||Object.keys(a).length)&&this.queue.push({pending:a,pendingCount:Object.keys(a).length,loaded:{},errors:[],callback:o}),{toLoad:Object.keys(s),pending:Object.keys(a),toLoadLanguages:Object.keys(i),toLoadNamespaces:Object.keys(l)}}loaded(e,n,r){const o=e.split("|"),s=o[0],a=o[1];n&&this.emit("failedLoading",s,a,n),!n&&r&&this.store.addResourceBundle(s,a,r,void 0,void 0,{skipCopy:!0}),this.state[e]=n?-1:2,n&&r&&(this.state[e]=0);const i={};this.queue.forEach(l=>{Wwe(l.loaded,[s],a),obe(l,e),n&&l.errors.push(n),l.pendingCount===0&&!l.done&&(Object.keys(l.loaded).forEach(u=>{i[u]||(i[u]={});const d=l.loaded[u];d.length&&d.forEach(f=>{i[u][f]===void 0&&(i[u][f]=!0)})}),l.done=!0,l.errors.length?l.callback(l.errors):l.callback())}),this.emit("loaded",i),this.queue=this.queue.filter(l=>!l.done)}read(e,n,r){let o=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0,s=arguments.length>4&&arguments[4]!==void 0?arguments[4]:this.retryTimeout,a=arguments.length>5?arguments[5]:void 0;if(!e.length)return a(null,{});if(this.readingCalls>=this.maxParallelReads){this.waitingReads.push({lng:e,ns:n,fcName:r,tried:o,wait:s,callback:a});return}this.readingCalls++;const i=(u,d)=>{if(this.readingCalls--,this.waitingReads.length>0){const f=this.waitingReads.shift();this.read(f.lng,f.ns,f.fcName,f.tried,f.wait,f.callback)}if(u&&d&&o<this.maxRetries){setTimeout(()=>{this.read.call(this,e,n,r,o+1,s*2,a)},s);return}a(u,d)},l=this.backend[r].bind(this.backend);if(l.length===2){try{const u=l(e,n);u&&typeof u.then=="function"?u.then(d=>i(null,d)).catch(i):i(null,u)}catch(u){i(u)}return}return l(e,n,i)}prepareLoading(e,n){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},o=arguments.length>3?arguments[3]:void 0;if(!this.backend)return this.logger.warn("No backend was added via i18next.use. Will not load resources."),o&&o();Dn(e)&&(e=this.languageUtils.toResolveHierarchy(e)),Dn(n)&&(n=[n]);const s=this.queueLoad(e,n,r,o);if(!s.toLoad.length)return s.pending.length||o(),null;s.toLoad.forEach(a=>{this.loadOne(a)})}load(e,n,r){this.prepareLoading(e,n,{},r)}reload(e,n,r){this.prepareLoading(e,n,{reload:!0},r)}loadOne(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"";const r=e.split("|"),o=r[0],s=r[1];this.read(o,s,"read",void 0,void 0,(a,i)=>{a&&this.logger.warn(`${n}loading namespace ${s} for language ${o} failed`,a),!a&&i&&this.logger.log(`${n}loaded namespace ${s} for language ${o}`,i),this.loaded(e,a,i)})}saveMissing(e,n,r,o,s){var l,u,d,f,m;let a=arguments.length>5&&arguments[5]!==void 0?arguments[5]:{},i=arguments.length>6&&arguments[6]!==void 0?arguments[6]:()=>{};if((u=(l=this.services)==null?void 0:l.utils)!=null&&u.hasLoadedNamespace&&!((f=(d=this.services)==null?void 0:d.utils)!=null&&f.hasLoadedNamespace(n))){this.logger.warn(`did not save key "${r}" as the namespace "${n}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!");return}if(!(r==null||r==="")){if((m=this.backend)!=null&&m.create){const g={...a,isUpdate:s},w=this.backend.create.bind(this.backend);if(w.length<6)try{let b;w.length===5?b=w(e,n,r,o,g):b=w(e,n,r,o),b&&typeof b.then=="function"?b.then(j=>i(null,j)).catch(i):i(null,b)}catch(b){i(b)}else w(e,n,r,o,i,g)}!e||!e[0]||this.store.addResource(e[0],n,r,o)}}}const VF=()=>({debug:!1,initAsync:!0,ns:["translation"],defaultNS:["translation"],fallbackLng:["dev"],fallbackNS:!1,supportedLngs:!1,nonExplicitSupportedLngs:!1,load:"all",preload:!1,simplifyPluralSuffix:!0,keySeparator:".",nsSeparator:":",pluralSeparator:"_",contextSeparator:"_",partialBundledLanguages:!1,saveMissing:!1,updateMissing:!1,saveMissingTo:"fallback",saveMissingPlurals:!0,missingKeyHandler:!1,missingInterpolationHandler:!1,postProcess:!1,postProcessPassResolved:!1,returnNull:!1,returnEmptyString:!0,returnObjects:!1,joinArrays:!1,returnedObjectHandler:!1,parseMissingKeyHandler:!1,appendNamespaceToMissingKey:!1,appendNamespaceToCIMode:!1,overloadTranslationOptionHandler:t=>{let e={};if(typeof t[1]=="object"&&(e=t[1]),Dn(t[1])&&(e.defaultValue=t[1]),Dn(t[2])&&(e.tDescription=t[2]),typeof t[2]=="object"||typeof t[3]=="object"){const n=t[3]||t[2];Object.keys(n).forEach(r=>{e[r]=n[r]})}return e},interpolation:{escapeValue:!0,format:t=>t,prefix:"{{",suffix:"}}",formatSeparator:",",unescapePrefix:"-",nestingPrefix:"$t(",nestingSuffix:")",nestingOptionsSeparator:",",maxReplaces:1e3,skipOnVariables:!0}}),HF=t=>{var e,n;return Dn(t.ns)&&(t.ns=[t.ns]),Dn(t.fallbackLng)&&(t.fallbackLng=[t.fallbackLng]),Dn(t.fallbackNS)&&(t.fallbackNS=[t.fallbackNS]),((n=(e=t.supportedLngs)==null?void 0:e.indexOf)==null?void 0:n.call(e,"cimode"))<0&&(t.supportedLngs=t.supportedLngs.concat(["cimode"])),typeof t.initImmediate=="boolean"&&(t.initAsync=t.initImmediate),t},t6=()=>{},abe=t=>{Object.getOwnPropertyNames(Object.getPrototypeOf(t)).forEach(n=>{typeof t[n]=="function"&&(t[n]=t[n].bind(t))})};class wb extends iC{constructor(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0;if(super(),this.options=HF(e),this.services={},this.logger=zu,this.modules={external:[]},abe(this),n&&!this.isInitialized&&!e.isClone){if(!this.options.initAsync)return this.init(e,n),this;setTimeout(()=>{this.init(e,n)},0)}}init(){var e=this;let n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},r=arguments.length>1?arguments[1]:void 0;this.isInitializing=!0,typeof n=="function"&&(r=n,n={}),!n.defaultNS&&n.defaultNS!==!1&&n.ns&&(Dn(n.ns)?n.defaultNS=n.ns:n.ns.indexOf("translation")<0&&(n.defaultNS=n.ns[0]));const o=VF();this.options={...o,...this.options,...HF(n)},this.options.interpolation={...o.interpolation,...this.options.interpolation},n.keySeparator!==void 0&&(this.options.userDefinedKeySeparator=n.keySeparator),n.nsSeparator!==void 0&&(this.options.userDefinedNsSeparator=n.nsSeparator);const s=d=>d?typeof d=="function"?new d:d:null;if(!this.options.isClone){this.modules.logger?zu.init(s(this.modules.logger),this.options):zu.init(null,this.options);let d;this.modules.formatter?d=this.modules.formatter:d=rbe;const f=new FF(this.options);this.store=new OF(this.options.resources,this.options);const m=this.services;m.logger=zu,m.resourceStore=this.store,m.languageUtils=f,m.pluralResolver=new ebe(f,{prepend:this.options.pluralSeparator,simplifyPluralSuffix:this.options.simplifyPluralSuffix}),d&&(!this.options.interpolation.format||this.options.interpolation.format===o.interpolation.format)&&(m.formatter=s(d),m.formatter.init(m,this.options),this.options.interpolation.format=m.formatter.format.bind(m.formatter)),m.interpolator=new tbe(this.options),m.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},m.backendConnector=new sbe(s(this.modules.backend),m.resourceStore,m,this.options),m.backendConnector.on("*",function(g){for(var w=arguments.length,b=new Array(w>1?w-1:0),j=1;j<w;j++)b[j-1]=arguments[j];e.emit(g,...b)}),this.modules.languageDetector&&(m.languageDetector=s(this.modules.languageDetector),m.languageDetector.init&&m.languageDetector.init(m,this.options.detection,this.options)),this.modules.i18nFormat&&(m.i18nFormat=s(this.modules.i18nFormat),m.i18nFormat.init&&m.i18nFormat.init(this)),this.translator=new lk(this.services,this.options),this.translator.on("*",function(g){for(var w=arguments.length,b=new Array(w>1?w-1:0),j=1;j<w;j++)b[j-1]=arguments[j];e.emit(g,...b)}),this.modules.external.forEach(g=>{g.init&&g.init(this)})}if(this.format=this.options.interpolation.format,r||(r=t6),this.options.fallbackLng&&!this.services.languageDetector&&!this.options.lng){const d=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);d.length>0&&d[0]!=="dev"&&(this.options.lng=d[0])}!this.services.languageDetector&&!this.options.lng&&this.logger.warn("init: no languageDetector is used and no lng is defined"),["getResource","hasResourceBundle","getResourceBundle","getDataByLanguage"].forEach(d=>{this[d]=function(){return e.store[d](...arguments)}}),["addResource","addResources","addResourceBundle","removeResourceBundle"].forEach(d=>{this[d]=function(){return e.store[d](...arguments),e}});const l=tw(),u=()=>{const d=(f,m)=>{this.isInitializing=!1,this.isInitialized&&!this.initializedStoreOnce&&this.logger.warn("init: i18next is already initialized. You should call init just once!"),this.isInitialized=!0,this.options.isClone||this.logger.log("initialized",this.options),this.emit("initialized",this.options),l.resolve(m),r(f,m)};if(this.languages&&!this.isInitialized)return d(null,this.t.bind(this));this.changeLanguage(this.options.lng,d)};return this.options.resources||!this.options.initAsync?u():setTimeout(u,0),l}loadResources(e){var s,a;let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:t6;const o=Dn(e)?e:this.language;if(typeof e=="function"&&(r=e),!this.options.resources||this.options.partialBundledLanguages){if((o==null?void 0:o.toLowerCase())==="cimode"&&(!this.options.preload||this.options.preload.length===0))return r();const i=[],l=u=>{if(!u||u==="cimode")return;this.services.languageUtils.toResolveHierarchy(u).forEach(f=>{f!=="cimode"&&i.indexOf(f)<0&&i.push(f)})};o?l(o):this.services.languageUtils.getFallbackCodes(this.options.fallbackLng).forEach(d=>l(d)),(a=(s=this.options.preload)==null?void 0:s.forEach)==null||a.call(s,u=>l(u)),this.services.backendConnector.load(i,this.options.ns,u=>{!u&&!this.resolvedLanguage&&this.language&&this.setResolvedLanguage(this.language),r(u)})}else r(null)}reloadResources(e,n,r){const o=tw();return typeof e=="function"&&(r=e,e=void 0),typeof n=="function"&&(r=n,n=void 0),e||(e=this.languages),n||(n=this.options.ns),r||(r=t6),this.services.backendConnector.reload(e,n,s=>{o.resolve(),r(s)}),o}use(e){if(!e)throw new Error("You are passing an undefined module! Please check the object you are passing to i18next.use()");if(!e.type)throw new Error("You are passing a wrong module! Please check the object you are passing to i18next.use()");return e.type==="backend"&&(this.modules.backend=e),(e.type==="logger"||e.log&&e.warn&&e.error)&&(this.modules.logger=e),e.type==="languageDetector"&&(this.modules.languageDetector=e),e.type==="i18nFormat"&&(this.modules.i18nFormat=e),e.type==="postProcessor"&&mJ.addPostProcessor(e),e.type==="formatter"&&(this.modules.formatter=e),e.type==="3rdParty"&&this.modules.external.push(e),this}setResolvedLanguage(e){if(!(!e||!this.languages)&&!(["cimode","dev"].indexOf(e)>-1))for(let n=0;n<this.languages.length;n++){const r=this.languages[n];if(!(["cimode","dev"].indexOf(r)>-1)&&this.store.hasLanguageSomeTranslations(r)){this.resolvedLanguage=r;break}}}changeLanguage(e,n){var r=this;this.isLanguageChangingTo=e;const o=tw();this.emit("languageChanging",e);const s=l=>{this.language=l,this.languages=this.services.languageUtils.toResolveHierarchy(l),this.resolvedLanguage=void 0,this.setResolvedLanguage(l)},a=(l,u)=>{u?(s(u),this.translator.changeLanguage(u),this.isLanguageChangingTo=void 0,this.emit("languageChanged",u),this.logger.log("languageChanged",u)):this.isLanguageChangingTo=void 0,o.resolve(function(){return r.t(...arguments)}),n&&n(l,function(){return r.t(...arguments)})},i=l=>{var d,f;!e&&!l&&this.services.languageDetector&&(l=[]);const u=Dn(l)?l:this.services.languageUtils.getBestMatchFromCodes(l);u&&(this.language||s(u),this.translator.language||this.translator.changeLanguage(u),(f=(d=this.services.languageDetector)==null?void 0:d.cacheUserLanguage)==null||f.call(d,u)),this.loadResources(u,m=>{a(m,u)})};return!e&&this.services.languageDetector&&!this.services.languageDetector.async?i(this.services.languageDetector.detect()):!e&&this.services.languageDetector&&this.services.languageDetector.async?this.services.languageDetector.detect.length===0?this.services.languageDetector.detect().then(i):this.services.languageDetector.detect(i):i(e),o}getFixedT(e,n,r){var o=this;const s=function(a,i){let l;if(typeof i!="object"){for(var u=arguments.length,d=new Array(u>2?u-2:0),f=2;f<u;f++)d[f-2]=arguments[f];l=o.options.overloadTranslationOptionHandler([a,i].concat(d))}else l={...i};l.lng=l.lng||s.lng,l.lngs=l.lngs||s.lngs,l.ns=l.ns||s.ns,l.keyPrefix!==""&&(l.keyPrefix=l.keyPrefix||r||s.keyPrefix);const m=o.options.keySeparator||".";let g;return l.keyPrefix&&Array.isArray(a)?g=a.map(w=>`${l.keyPrefix}${m}${w}`):g=l.keyPrefix?`${l.keyPrefix}${m}${a}`:a,o.t(g,l)};return Dn(e)?s.lng=e:s.lngs=e,s.ns=n,s.keyPrefix=r,s}t(){var o;for(var e=arguments.length,n=new Array(e),r=0;r<e;r++)n[r]=arguments[r];return(o=this.translator)==null?void 0:o.translate(...n)}exists(){var o;for(var e=arguments.length,n=new Array(e),r=0;r<e;r++)n[r]=arguments[r];return(o=this.translator)==null?void 0:o.exists(...n)}setDefaultNamespace(e){this.options.defaultNS=e}hasLoadedNamespace(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(!this.isInitialized)return this.logger.warn("hasLoadedNamespace: i18next was not initialized",this.languages),!1;if(!this.languages||!this.languages.length)return this.logger.warn("hasLoadedNamespace: i18n.languages were undefined or empty",this.languages),!1;const r=n.lng||this.resolvedLanguage||this.languages[0],o=this.options?this.options.fallbackLng:!1,s=this.languages[this.languages.length-1];if(r.toLowerCase()==="cimode")return!0;const a=(i,l)=>{const u=this.services.backendConnector.state[`${i}|${l}`];return u===-1||u===0||u===2};if(n.precheck){const i=n.precheck(this,a);if(i!==void 0)return i}return!!(this.hasResourceBundle(r,e)||!this.services.backendConnector.backend||this.options.resources&&!this.options.partialBundledLanguages||a(r,e)&&(!o||a(s,e)))}loadNamespaces(e,n){const r=tw();return this.options.ns?(Dn(e)&&(e=[e]),e.forEach(o=>{this.options.ns.indexOf(o)<0&&this.options.ns.push(o)}),this.loadResources(o=>{r.resolve(),n&&n(o)}),r):(n&&n(),Promise.resolve())}loadLanguages(e,n){const r=tw();Dn(e)&&(e=[e]);const o=this.options.preload||[],s=e.filter(a=>o.indexOf(a)<0&&this.services.languageUtils.isSupportedCode(a));return s.length?(this.options.preload=o.concat(s),this.loadResources(a=>{r.resolve(),n&&n(a)}),r):(n&&n(),Promise.resolve())}dir(e){var o,s;if(e||(e=this.resolvedLanguage||(((o=this.languages)==null?void 0:o.length)>0?this.languages[0]:this.language)),!e)return"rtl";const n=["ar","shu","sqr","ssh","xaa","yhd","yud","aao","abh","abv","acm","acq","acw","acx","acy","adf","ads","aeb","aec","afb","ajp","apc","apd","arb","arq","ars","ary","arz","auz","avl","ayh","ayl","ayn","ayp","bbz","pga","he","iw","ps","pbt","pbu","pst","prp","prd","ug","ur","ydd","yds","yih","ji","yi","hbo","men","xmn","fa","jpr","peo","pes","prs","dv","sam","ckb"],r=((s=this.services)==null?void 0:s.languageUtils)||new FF(VF());return n.indexOf(r.getLanguagePartFromCode(e))>-1||e.toLowerCase().indexOf("-arab")>1?"rtl":"ltr"}static createInstance(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0;return new wb(e,n)}cloneInstance(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:t6;const r=e.forkResourceStore;r&&delete e.forkResourceStore;const o={...this.options,...e,isClone:!0},s=new wb(o);if((e.debug!==void 0||e.prefix!==void 0)&&(s.logger=s.logger.clone(e)),["store","services","language"].forEach(i=>{s[i]=this[i]}),s.services={...this.services},s.services.utils={hasLoadedNamespace:s.hasLoadedNamespace.bind(s)},r){const i=Object.keys(this.store.data).reduce((l,u)=>(l[u]={...this.store.data[u]},Object.keys(l[u]).reduce((d,f)=>(d[f]={...l[u][f]},d),{})),{});s.store=new OF(i,o),s.services.resourceStore=s.store}return s.translator=new lk(s.services,o),s.translator.on("*",function(i){for(var l=arguments.length,u=new Array(l>1?l-1:0),d=1;d<l;d++)u[d-1]=arguments[d];s.emit(i,...u)}),s.init(o,n),s.translator.options=o,s.translator.backendConnector.services.utils={hasLoadedNamespace:s.hasLoadedNamespace.bind(s)},s}toJSON(){return{options:this.options,store:this.store,language:this.language,languages:this.languages,resolvedLanguage:this.resolvedLanguage}}}const Vs=wb.createInstance();Vs.createInstance=wb.createInstance;Vs.createInstance;Vs.dir;Vs.init;Vs.loadResources;Vs.reloadResources;Vs.use;Vs.changeLanguage;Vs.getFixedT;Vs.t;Vs.exists;Vs.setDefaultNamespace;Vs.hasLoadedNamespace;Vs.loadNamespaces;Vs.loadLanguages;const{slice:ibe,forEach:lbe}=[];function cbe(t){return lbe.call(ibe.call(arguments,1),e=>{if(e)for(const n in e)t[n]===void 0&&(t[n]=e[n])}),t}const WF=/^[\u0009\u0020-\u007e\u0080-\u00ff]+$/,ube=function(t,e){const r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{path:"/"},o=encodeURIComponent(e);let s=`${t}=${o}`;if(r.maxAge>0){const a=r.maxAge-0;if(Number.isNaN(a))throw new Error("maxAge should be a Number");s+=`; Max-Age=${Math.floor(a)}`}if(r.domain){if(!WF.test(r.domain))throw new TypeError("option domain is invalid");s+=`; Domain=${r.domain}`}if(r.path){if(!WF.test(r.path))throw new TypeError("option path is invalid");s+=`; Path=${r.path}`}if(r.expires){if(typeof r.expires.toUTCString!="function")throw new TypeError("option expires is invalid");s+=`; Expires=${r.expires.toUTCString()}`}if(r.httpOnly&&(s+="; HttpOnly"),r.secure&&(s+="; Secure"),r.sameSite)switch(typeof r.sameSite=="string"?r.sameSite.toLowerCase():r.sameSite){case!0:s+="; SameSite=Strict";break;case"lax":s+="; SameSite=Lax";break;case"strict":s+="; SameSite=Strict";break;case"none":s+="; SameSite=None";break;default:throw new TypeError("option sameSite is invalid")}return s},YF={create(t,e,n,r){let o=arguments.length>4&&arguments[4]!==void 0?arguments[4]:{path:"/",sameSite:"strict"};n&&(o.expires=new Date,o.expires.setTime(o.expires.getTime()+n*60*1e3)),r&&(o.domain=r),document.cookie=ube(t,encodeURIComponent(e),o)},read(t){const e=`${t}=`,n=document.cookie.split(";");for(let r=0;r<n.length;r++){let o=n[r];for(;o.charAt(0)===" ";)o=o.substring(1,o.length);if(o.indexOf(e)===0)return o.substring(e.length,o.length)}return null},remove(t){this.create(t,"",-1)}};var fbe={name:"cookie",lookup(t){let{lookupCookie:e}=t;if(e&&typeof document<"u")return YF.read(e)||void 0},cacheUserLanguage(t,e){let{lookupCookie:n,cookieMinutes:r,cookieDomain:o,cookieOptions:s}=e;n&&typeof document<"u"&&YF.create(n,t,r,o,s)}},dbe={name:"querystring",lookup(t){var r;let{lookupQuerystring:e}=t,n;if(typeof window<"u"){let{search:o}=window.location;!window.location.search&&((r=window.location.hash)==null?void 0:r.indexOf("?"))>-1&&(o=window.location.hash.substring(window.location.hash.indexOf("?")));const a=o.substring(1).split("&");for(let i=0;i<a.length;i++){const l=a[i].indexOf("=");l>0&&a[i].substring(0,l)===e&&(n=a[i].substring(l+1))}}return n}};let P1=null;const GF=()=>{if(P1!==null)return P1;try{if(P1=typeof window<"u"&&window.localStorage!==null,!P1)return!1;const t="i18next.translate.boo";window.localStorage.setItem(t,"foo"),window.localStorage.removeItem(t)}catch{P1=!1}return P1};var pbe={name:"localStorage",lookup(t){let{lookupLocalStorage:e}=t;if(e&&GF())return window.localStorage.getItem(e)||void 0},cacheUserLanguage(t,e){let{lookupLocalStorage:n}=e;n&&GF()&&window.localStorage.setItem(n,t)}};let O1=null;const qF=()=>{if(O1!==null)return O1;try{if(O1=typeof window<"u"&&window.sessionStorage!==null,!O1)return!1;const t="i18next.translate.boo";window.sessionStorage.setItem(t,"foo"),window.sessionStorage.removeItem(t)}catch{O1=!1}return O1};var hbe={name:"sessionStorage",lookup(t){let{lookupSessionStorage:e}=t;if(e&&qF())return window.sessionStorage.getItem(e)||void 0},cacheUserLanguage(t,e){let{lookupSessionStorage:n}=e;n&&qF()&&window.sessionStorage.setItem(n,t)}},mbe={name:"navigator",lookup(t){const e=[];if(typeof navigator<"u"){const{languages:n,userLanguage:r,language:o}=navigator;if(n)for(let s=0;s<n.length;s++)e.push(n[s]);r&&e.push(r),o&&e.push(o)}return e.length>0?e:void 0}},gbe={name:"htmlTag",lookup(t){let{htmlTag:e}=t,n;const r=e||(typeof document<"u"?document.documentElement:null);return r&&typeof r.getAttribute=="function"&&(n=r.getAttribute("lang")),n}},ybe={name:"path",lookup(t){var o;let{lookupFromPathIndex:e}=t;if(typeof window>"u")return;const n=window.location.pathname.match(/\/([a-zA-Z-]*)/g);return Array.isArray(n)?(o=n[typeof e=="number"?e:0])==null?void 0:o.replace("/",""):void 0}},vbe={name:"subdomain",lookup(t){var o,s;let{lookupFromSubdomainIndex:e}=t;const n=typeof e=="number"?e+1:1,r=typeof window<"u"&&((s=(o=window.location)==null?void 0:o.hostname)==null?void 0:s.match(/^(\w{2,5})\.(([a-z0-9-]{1,63}\.[a-z]{2,6})|localhost)/i));if(r)return r[n]}};let gJ=!1;try{document.cookie,gJ=!0}catch{}const yJ=["querystring","cookie","localStorage","sessionStorage","navigator","htmlTag"];gJ||yJ.splice(1,1);const wbe=()=>({order:yJ,lookupQuerystring:"lng",lookupCookie:"i18next",lookupLocalStorage:"i18nextLng",lookupSessionStorage:"i18nextLng",caches:["localStorage"],excludeCacheFor:["cimode"],convertDetectedLanguage:t=>t});class vJ{constructor(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.type="languageDetector",this.detectors={},this.init(e,n)}init(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{languageUtils:{}},n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};this.services=e,this.options=cbe(n,this.options||{},wbe()),typeof this.options.convertDetectedLanguage=="string"&&this.options.convertDetectedLanguage.indexOf("15897")>-1&&(this.options.convertDetectedLanguage=o=>o.replace("-","_")),this.options.lookupFromUrlIndex&&(this.options.lookupFromPathIndex=this.options.lookupFromUrlIndex),this.i18nOptions=r,this.addDetector(fbe),this.addDetector(dbe),this.addDetector(pbe),this.addDetector(hbe),this.addDetector(mbe),this.addDetector(gbe),this.addDetector(ybe),this.addDetector(vbe)}addDetector(e){return this.detectors[e.name]=e,this}detect(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.options.order,n=[];return e.forEach(r=>{if(this.detectors[r]){let o=this.detectors[r].lookup(this.options);o&&typeof o=="string"&&(o=[o]),o&&(n=n.concat(o))}}),n=n.map(r=>this.options.convertDetectedLanguage(r)),this.services&&this.services.languageUtils&&this.services.languageUtils.getBestMatchFromCodes?n:n.length>0?n[0]:null}cacheUserLanguage(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this.options.caches;n&&(this.options.excludeCacheFor&&this.options.excludeCacheFor.indexOf(e)>-1||n.forEach(r=>{this.detectors[r]&&this.detectors[r].cacheUserLanguage(e,this.options)}))}}vJ.type="languageDetector";var h=FR();const Be=rc(h),yh=pJ({__proto__:null,default:Be},[h]),bbe=(...t)=>{console!=null&&console.warn&&(Hm(t[0])&&(t[0]=`react-i18next:: ${t[0]}`),console.warn(...t))},KF={},o_=(...t)=>{Hm(t[0])&&KF[t[0]]||(Hm(t[0])&&(KF[t[0]]=new Date),bbe(...t))},wJ=(t,e)=>()=>{if(t.isInitialized)e();else{const n=()=>{setTimeout(()=>{t.off("initialized",n)},0),e()};t.on("initialized",n)}},s_=(t,e,n)=>{t.loadNamespaces(e,wJ(t,n))},ZF=(t,e,n,r)=>{if(Hm(n)&&(n=[n]),t.options.preload&&t.options.preload.indexOf(e)>-1)return s_(t,n,r);n.forEach(o=>{t.options.ns.indexOf(o)<0&&t.options.ns.push(o)}),t.loadLanguages(e,wJ(t,r))},xbe=(t,e,n={})=>!e.languages||!e.languages.length?(o_("i18n.languages were undefined or empty",e.languages),!0):e.hasLoadedNamespace(t,{lng:n.lng,precheck:(r,o)=>{var s;if(((s=n.bindI18n)==null?void 0:s.indexOf("languageChanging"))>-1&&r.services.backendConnector.backend&&r.isLanguageChangingTo&&!o(r.isLanguageChangingTo,t))return!1}}),Hm=t=>typeof t=="string",kbe=t=>typeof t=="object"&&t!==null,jbe=/&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g,Cbe={"&":"&","&":"&","<":"<","<":"<",">":">",">":">","'":"'","'":"'",""":'"',""":'"'," ":" "," ":" ","©":"©","©":"©","®":"®","®":"®","…":"…","…":"…","/":"/","/":"/"},Sbe=t=>Cbe[t],Ebe=t=>t.replace(jbe,Sbe);let a_={bindI18n:"languageChanged",bindI18nStore:"",transEmptyNodeValue:"",transSupportBasicHtmlNodes:!0,transWrapTextNodes:"",transKeepBasicHtmlNodesFor:["br","strong","i","p"],useSuspense:!0,unescape:Ebe};const Nbe=(t={})=>{a_={...a_,...t}},Ibe=()=>a_;let bJ;const Abe=t=>{bJ=t},_be=()=>bJ,Mbe={type:"3rdParty",init(t){Nbe(t.options.react),Abe(t)}},Rbe=h.createContext();class Tbe{constructor(){this.usedNamespaces={}}addUsedNamespaces(e){e.forEach(n=>{this.usedNamespaces[n]||(this.usedNamespaces[n]=!0)})}getUsedNamespaces(){return Object.keys(this.usedNamespaces)}}const Dbe=(t,e)=>{const n=h.useRef();return h.useEffect(()=>{n.current=t},[t,e]),n.current},xJ=(t,e,n,r)=>t.getFixedT(e,n,r),Lbe=(t,e,n,r)=>h.useCallback(xJ(t,e,n,r),[t,e,n,r]),qe=(t,e={})=>{var M,D,O,L;const{i18n:n}=e,{i18n:r,defaultNS:o}=h.useContext(Rbe)||{},s=n||r||_be();if(s&&!s.reportNamespaces&&(s.reportNamespaces=new Tbe),!s){o_("You will need to pass in an i18next instance by using initReactI18next");const B=(R,z)=>Hm(z)?z:kbe(z)&&Hm(z.defaultValue)?z.defaultValue:Array.isArray(R)?R[R.length-1]:R,T=[B,{},!1];return T.t=B,T.i18n={},T.ready=!1,T}(M=s.options.react)!=null&&M.wait&&o_("It seems you are still using the old wait option, you may migrate to the new useSuspense behaviour.");const a={...Ibe(),...s.options.react,...e},{useSuspense:i,keyPrefix:l}=a;let u=o||((D=s.options)==null?void 0:D.defaultNS);u=Hm(u)?[u]:u||["translation"],(L=(O=s.reportNamespaces).addUsedNamespaces)==null||L.call(O,u);const d=(s.isInitialized||s.initializedStoreOnce)&&u.every(B=>xbe(B,s,a)),f=Lbe(s,e.lng||null,a.nsMode==="fallback"?u:u[0],l),m=()=>f,g=()=>xJ(s,e.lng||null,a.nsMode==="fallback"?u:u[0],l),[w,b]=h.useState(m);let j=u.join();e.lng&&(j=`${e.lng}${j}`);const S=Dbe(j),I=h.useRef(!0);h.useEffect(()=>{const{bindI18n:B,bindI18nStore:T}=a;I.current=!0,!d&&!i&&(e.lng?ZF(s,e.lng,u,()=>{I.current&&b(g)}):s_(s,u,()=>{I.current&&b(g)})),d&&S&&S!==j&&I.current&&b(g);const R=()=>{I.current&&b(g)};return B&&(s==null||s.on(B,R)),T&&(s==null||s.store.on(T,R)),()=>{I.current=!1,s&&(B==null||B.split(" ").forEach(z=>s.off(z,R))),T&&s&&T.split(" ").forEach(z=>s.store.off(z,R))}},[s,j]),h.useEffect(()=>{I.current&&d&&b(m)},[s,l,d]);const N=[w,s,d];if(N.t=w,N.i18n=s,N.ready=d,d||!d&&!i)return N;throw new Promise(B=>{e.lng?ZF(s,e.lng,u,()=>B()):s_(s,u,()=>B())})},Pbe={translation:{"Welcome! 🥳":"مرحباً! 🥳",About:"حول","New Note":"ملاحظة جديدة",Post:"نشر",Home:"الرئيسية","Relay settings":"إعدادات الريلاي",Settings:"الإعدادات",SidebarRelays:"الريلايات",Refresh:"تحديث",Profile:"الملف الشخصي",Logout:"تسجيل الخروج",Following:"المتابعون",followings:"المتابعين",reposted:"أُعيد نشره","just now":"الآن","minute ago_one":"منذ {{count}} دقيقة","minute ago_other":"منذ {{count}} دقيقة","n m":"{{n}} دقيقة","hour ago_one":"منذ {{count}} ساعة","hour ago_other":"منذ {{count}} ساعة","n h":"{{n}} ساعة","day ago_one":"منذ {{count}} يوم","day ago_other":"منذ {{count}} يوم","n d":"{{n}} يوم",date:"{{timestamp, date}}",Follow:"متابعة",Unfollow:"إلغاء المتابعة","Follow failed":"فشل المتابعة","Unfollow failed":"فشل إلغاء المتابعة","show new notes":"إظهار الملاحظات الجديدة","loading...":"جار التحميل...","Loading...":"جار التحميل...","no more notes":"لا توجد ملاحظات إضافية","reply to":"الرد على",reply:"رد",Reply:"رد","load more older replies":"تحميل المزيد من الردود القديمة","Write something...":"اكتب شيئاً...",Cancel:"إلغاء",Mentions:"المنشنات","Failed to post":"فشل النشر","Post successful":"تم النشر بنجاح","Your post has been published":"تم نشر مشاركتك",Repost:"إعادة النشر",Quote:"اقتباس","Copy event ID":"نسخ معرف الحدث","Copy user ID":"نسخ معرف المستخدم","View raw event":"عرض الحدث الخام",Like:"أعجبني","switch to light theme":"التبديل إلى الوضع الفاتح","switch to dark theme":"التبديل إلى الوضع الداكن","switch to system theme":"التبديل إلى وضع النظام",Note:"ملاحظة",note:"ملاحظة","username's following":"متابعي {{username}}","username's used relays":"الريلايات المستخدمة لـ {{username}}","username's muted":"{{username}} تم كتمه",Login:"تسجيل الدخول","Follows you":"يتابعك","Relay Settings":"إعدادات الريلاي","Relay set name":"اسم مجموعة الريلاي","Add a new relay set":"إضافة مجموعة ريلاي جديدة",Add:"إضافة","n relays":"{{n}} ريلايات",Rename:"إعادة تسمية","Copy share link":"نسخ رابط المشاركة",Delete:"حذف","Relay already exists":"الريلاي موجود بالفعل","invalid relay URL":"عنوان URL للريلاي غير صالح","Add a new relay":"إضافة ريلاي جديدة",back:"عودة","Lost in the void":"ضائع في الفراغ","Carry me home":"أعدني إلى المنزل","no replies":"لا توجد ردود","Reply to":"الرد على",Search:"بحث","The relays you are connected to do not support search":"الريلايات المتصلة لا تدعم البحث","Show more...":"عرض المزيد...","All users":"جميع المستخدمين","Display replies":"عرض الردود",Notes:"الملاحظات",Replies:"الردود",Notifications:"الإشعارات","no more notifications":"لا توجد إشعارات إضافية","Using private key login is insecure. It is recommended to use a browser extension for login, such as alby, nostr-keyx or nos2x. If you must use a private key, please set a password for encryption at minimum.":"استخدام تسجيل الدخول بالمفتاح الخاص غير آمن. يُوصى باستخدام إضافة متصفح لتسجيل الدخول، مثل alby أو nostr-keyx أو nos2x. إذا كان يجب عليك استخدام مفتاح خاص، يرجى تعيين كلمة مرور للتشفير على الأقل.","Login with Browser Extension":"تسجيل الدخول باستخدام إضافة المتصفح","Login with Bunker":"تسجيل الدخول باستخدام Bunker","Login with Private Key":"تسجيل الدخول باستخدام المفتاح الخاص","reload notes":"إعادة تحميل الملاحظات","Logged in Accounts":"الحسابات المسجلة","Add an Account":"إضافة حساب","More options":"المزيد من الخيارات","Add client tag":"إضافة وسم العميل","Show others this was sent via Smesh":"عرض أن هذه الرسالة أُرسلت عبر Smesh","Are you sure you want to logout?":"هل أنت متأكد أنك تريد تسجيل الخروج؟","relay sets":"مجموعات الريلاي",edit:"تعديل",Languages:"اللغات",Theme:"المظهر",System:"النظام",Light:"فاتح",Dark:"داكن",Temporary:"مؤقت","Choose a relay set":"اختر مجموعة ريلاي","Switch account":"تبديل الحساب",Pictures:"الصور","Picture note":"ملاحظة الصورة","A special note for picture-first clients like Olas":"ملاحظة خاصة للعملاء المعتمدين على الصور مثل Olas","Picture note requires images":"ملاحظة الصورة تتطلب صور",Relays:"الريلايات",Image:"صورة","R & W":"قراءة وكتابة",Read:"قراءة",Write:"كتابة","Pull relay sets":"سحب مجموعات الريلاي","Select the relay sets you want to pull":"اختر مجموعات الريلاي التي تريد استلامها","No relay sets found":"لم يتم العثور على مجموعات ريلاي","Pull n relay sets":"سحب {{n}} مجموعات ريلاي",Pull:"سحب","Select all":"اختر الكل","Relay Sets":"مجموعات الريلاي","Read & Write Relays":"ريلايات القراءة والكتابة","read relays description":"تُستخدم ريلايات القراءة لاسترجاع الأحداث المتعلقة بك. ينشر المستخدمون الآخرون الأحداث التي ترغب في مشاهدتها إلى هذه الريلايات.","write relays description":"تُستخدم ريلايات الكتابة لنشر أحداثك. يسترجع المستخدمون الآخرون أحداثك من هذه الريلايات.","read & write relays notice":"يُفضل أن يكون عدد خوادم القراءة والكتابة بين 2 و4.","Don't have an account yet?":"لا تملك حساباً بعد؟","or simply generate a private key":"أو ببساطة أنشئ مفتاحاً خاصاً","This is a private key. Do not share it with anyone. Keep it safe and secure. You will not be able to recover it if you lose it.":"هذا مفتاح خاص. لا تشاركه مع أي أحد. احفظه بأمان، فلن تتمكن من استرجاعه إذا فقدته.",Edit:"تعديل",Save:"حفظ","Display Name":"اسم العرض",Bio:"السيرة الذاتية","Nostr Address (NIP-05)":"عنوان Nostr (NIP-05)","Invalid NIP-05 address":"عنوان NIP-05 غير صالح","Copy private key":"نسخ المفتاح الخاص","Enter the password to decrypt your ncryptsec":"أدخل كلمة المرور لفك تشفير ncryptsec",Back:"رجوع","optional: encrypt nsec":"اختياري: تشفير nsec",password:"كلمة المرور","Sign up":"تسجيل","Save to":"حفظ إلى","Enter a name for the new relay set":"أدخل اسماً لمجموعة ريلاي جديدة","Save to a new relay set":"حفظ في مجموعة ريلاي جديدة",Mute:"كتم",Muted:"تم كتمه",Unmute:"إلغاء الكتم","Unmute user":"إلغاء كتم المستخدم","Append n relays":"إضافة {{n}} ريلايات",Append:"إضافة","Select relays to append":"اختر الريلايات للإضافة","calculating...":"جار الحساب...","Calculate optimal read relays":"حساب أفضل ريلايات للقراءة","Login to set":"تسجيل الدخول للوصول إلى المجموعة","Please login to view following feed":"يرجى تسجيل الدخول لعرض خلاصات المتابعة","Send only to r":"إرسال فقط إلى {{r}}","Send only to these relays":"إرسال فقط إلى هذه الريلايات",Explore:"استكشاف","Search relays":"البحث في الريلايات",relayInfoBadgeAuth:"مصادقة",relayInfoBadgeSearch:"بحث",relayInfoBadgePayment:"دفع",Operator:"المشغل",Contact:"اتصال",Software:"البرنامج",Version:"الإصدار","Random Relays":"ريلايات عشوائية",randomRelaysRefresh:"تحديث","Explore more":"استكشاف المزيد","Payment page":"صفحة الدفع","Supported NIPs":"NIPs المدعومة","Open in a":"فتح في {{a}}","Cannot handle event of kind k":"لا يمكن معالجة الحدث من النوع {{k}}","Sorry! The note cannot be found 😔":"عذراً! لا يمكن العثور على الملاحظة 😔","This user has been muted":"تم كتم هذا المستخدم",Wallet:"المحفظة",Sats:"Sats",sats:"sats","Zap to":"إرسال Zap إلى","Zap n sats":"Zap {{n}} sats",zapComment:"تعليق","Default zap amount":"الكمية الافتراضية لـ Zap","Default zap comment":"التعليق الافتراضي لـ Zap","Lightning Address (or LNURL)":"عنوان Lightning (أو LNURL)","Quick zap":"Zap سريع","If enabled, you can zap with a single click. Click and hold for custom amounts":"إذا تم تمكينه، يمكنك إرسال Zap بنقرة واحدة. انقر واستمر للحصول على كميات مخصصة",All:"الكل",Reactions:"التفاعلات",Zaps:"Zaps","Earlier notifications":"الإشعارات السابقة","Temporarily display this note":"عرض هذه الملاحظة مؤقتاً",buttonFollowing:"جارٍ المتابعة","Are you sure you want to unfollow this user?":"هل أنت متأكد أنك تريد إلغاء متابعة هذا المستخدم؟","Recent Supporters":"الداعمين الجدد","Seen on":"شوهد على","Temporarily display this reply":"عرض هذا الرد مؤقتاً","Note not found":"لم يتم العثور على الملاحظة","no more replies":"لا توجد مزيد من الردود","Relay sets":"مجموعات الريلاي","Favorite Relays":"الريلايات المفضلة","Following's Favorites":"المفضلات من المتابعين","no more relays":"لا توجد مزيد من الريلايات","Favorited by":"المفضلة من قبل","Post settings":"إعدادات النشر","Media upload service":"خدمة تحميل الوسائط","Choose a relay":"اختر ريلاي","no relays found":"لم يتم العثور على ريلايات",video:"فيديو","Show n new notes":"عرض {{n}} ملاحظات جديدة",YouTabName:"أنت",Bookmark:"الإشارة المرجعية","Remove bookmark":"إزالة الإشارة","no bookmarks found":"لم يتم العثور على إشارات","no more bookmarks":"لا مزيد من الإشارات",Bookmarks:"الإشارات المرجعية","Show more":"عرض المزيد",General:"عام",Autoplay:"التشغيل التلقائي","Enable video autoplay on this device":"تمكين التشغيل التلقائي للفيديو على هذا الجهاز","Paste or drop media files to upload":"الصق أو اسحب ملفات الوسائط لتحميلها",Preview:"معاينة","You are about to publish an event signed by [{{eventAuthorName}}]. You are currently logged in as [{{currentUsername}}]. Are you sure?":"أنت على وشك نشر حدث موقع من قبل [{{eventAuthorName}}]. أنت حالياً مسجل الدخول كـ [{{currentUsername}}]. هل أنت متأكد؟","Platinum Sponsors":"الرعاة البلاتينيون",From:"من","Comment on":"تعليق على","View on njump.me":"عرض على njump.me","Hide content from untrusted users":"إخفاء المحتوى من المستخدمين غير الموثوقين","Only show content from your followed users and the users they follow":"فقط عرض المحتوى من المستخدمين الذين تتابعهم والمستخدمين الذين يتابعونهم","Followed by":"متابع من قبل","Mute user privately":"كتم المستخدم بشكل خاص","Mute user publicly":"كتم المستخدم علنياً",Quotes:"الاقتباسات","Lightning Invoice":"فاتورة Lightning","Bookmark failed":"فشل في الإشارة المرجعية","Remove bookmark failed":"فشل في إزالة الإشارة المرجعية",Translation:"الترجمة",Balance:"الرصيد",characters:"الحروف",smeshTranslateApiKeyDescription:"يمكنك استخدام مفتاح API هذا في أي مكان آخر يدعم LibreTranslate. عنوان الخدمة هو {{serviceUrl}}","Top up":"إعادة شحن","Will receive: {n} characters":"ستتلقى: {{n}} حروف","Top up {n} sats":"إعادة شحن {{n}} ساتوشي","Minimum top up is {n} sats":"الحد الأدنى لإعادة الشحن هو {{n}} ساتوشي",Service:"الخدمة","Reset API key":"إعادة تعيين مفتاح API","Are you sure you want to reset your API key? This action cannot be undone.":"هل أنت متأكد أنك تريد إعادة تعيين مفتاح API الخاص بك؟ لا يمكن التراجع عن هذا الإجراء.",Warning:"تحذير","Your current API key will become invalid immediately, and any applications using it will stop working until you update them with the new key.":"مفتاح API الحالي الخاص بك سيصبح غير صالح على الفور، وأي تطبيقات تستخدمه ستتوقف عن العمل حتى تقوم بتحديثها بالمفتاح الجديد.","Service address":"عنوان الخدمة",Pay:"دفع",interactions:"التفاعلات",notifications:"الإشعارات","Show untrusted {type}":"إظهار {{type}} غير الموثوق","Hide untrusted {type}":"إخفاء {{type}} غير الموثوق","Currently hiding {type} from untrusted users.":"حاليًا إخفاء {{type}} من المستخدمين غير الموثوقين.","Currently showing all {type}.":"حاليًا عرض جميع {{type}}.","Click continue to show all {type}.":"انقر على متابعة لعرض جميع {{type}}.","Click continue to hide {type} from untrusted users.":"انقر على متابعة لإخفاء {{type}} من المستخدمين غير الموثوقين.","Trusted users include people you follow and people they follow.":"المستخدمون الموثوقون هم الأشخاص الذين تتابعهم والأشخاص الذين يتابعونهم.",Continue:"متابعة","Successfully updated mute list":"تم تحديث قائمة الكتم بنجاح","No pubkeys found from {url}":"لم يتم العثور على مفاتيح عامة من {{url}}","Translating...":"جارٍ الترجمة...",Translate:"ترجمة","Show original":"عرض الأصل",Website:"الموقع الإلكتروني","Hide untrusted notes":"إخفاء الملاحظات غير الموثوقة","Open in another client":"فتح في عميل آخر",Community:"المجتمع",Group:"المجموعة","Live event":"حدث مباشر",Article:"مقالة",Unfavorite:"إلغاء المفضلة","Recommended relays":"الريلايات الموصى بها","Blossom server URLs":"عناوين خوادم Blossom","You need to add at least one blossom server in order to upload media files.":"تحتاج إلى إضافة خادم Blossom واحد على الأقل لتحميل ملفات الوسائط.","Recommended blossom servers":"خوادم Blossom الموصى بها","Enter Blossom server URL":"أدخل عنوان خادم Blossom URL",Preferred:"المفضل","Multiple choice (select one or more)":"اختيار متعدد (اختر واحداً أو أكثر)",Vote:"صوت","{{number}} votes":"{{number}} أصوات","Total votes":"إجمالي الأصوات","Poll has ended":"انتهى الاستطلاع","Poll ends at {{time}}":"ينتهي الاستطلاع في {{time}}","Load results":"تحميل النتائج","This is a poll note.":"هذه ملاحظة استطلاع.","Unlike regular notes, polls are not widely supported and may not display on other clients.":"على عكس الملاحظات العادية، الاستطلاعات غير مدعومة على نطاق واسع وقد لا تظهر في العملاء الآخرين.","Option {{number}}":"الخيار {{number}}","Add Option":"إضافة خيار","Allow multiple choices":"السماح بخيارات متعددة","End Date (optional)":"تاريخ الانتهاء (اختياري)","Clear end date":"مسح تاريخ الانتهاء","Relay URLs (optional, comma-separated)":"عناوين المرحلات (اختياري، مفصولة بفواصل)","Remove poll":"إزالة الاستطلاع","Refresh results":"تحديث النتائج",Poll:"استطلاع",Media:"الوسائط","Republish to ...":"إعادة النشر إلى ...","Successfully republish to your write relays":"تم إعادة النشر بنجاح إلى ريلايات الكتابة الخاصة بك","Failed to republish to your write relays: {{error}}":"فشل في إعادة النشر إلى ريلايات الكتابة الخاصة بك: {{error}}","Successfully republish to relay set: {{name}}":"تم إعادة النشر بنجاح إلى مجموعة الريلاي: {{name}}","Failed to republish to relay set: {{name}}. Error: {{error}}":"فشل في إعادة النشر إلى مجموعة الريلاي: {{name}}. خطأ: {{error}}","Successfully republish to relay: {{url}}":"تم إعادة النشر بنجاح إلى الريلاي: {{url}}","Failed to republish to relay: {{url}}. Error: {{error}}":"فشل في إعادة النشر إلى الريلاي: {{url}}. خطأ: {{error}}","Write relays":"مرحلات الكتابة","No more reactions":"لا توجد تفاعلات إضافية","No reactions yet":"لا توجد تفاعلات بعد","No more zaps":"لا توجد مزيد من الزابس","No zaps yet":"لا توجد زابس بعد","No more reposts":"لا توجد مزيد من إعادة النشر","No reposts yet":"لا توجد إعادة نشر بعد",Reposts:"إعادة النشر",FollowListNotFoundConfirmation:"لم يتم العثور على قائمة المتابعة. هل تريد إنشاء واحدة جديدة؟ إذا كنت قد تابعت مستخدمين من قبل، يرجى عدم التأكيد لأن هذه العملية ستؤدي إلى فقدان قائمة المتابعة السابقة.",MuteListNotFoundConfirmation:"لم يتم العثور على قائمة الكتم. هل تريد إنشاء واحدة جديدة؟ إذا كنت قد كتمت مستخدمين من قبل، يرجى عدم التأكيد لأن هذه العملية ستؤدي إلى فقدان قائمة الكتم السابقة.","Show NSFW content by default":"إظهار محتوى NSFW افتراضياً","Custom emoji management":"إدارة الرموز التعبيرية المخصصة","After changing emojis, you may need to refresh the page":"بعد تغيير الرموز التعبيرية، قد تحتاج إلى تحديث الصفحة","Too many read relays":"Too many read relays","Too many write relays":"Too many write relays","You have {{count}} read relays. Most clients only use 2-4 relays, setting more is unnecessary.":"You have {{count}} read relays. Most clients only use 2-4 relays, setting more is unnecessary.","You have {{count}} write relays. Most clients only use 2-4 relays, setting more is unnecessary.":"You have {{count}} write relays. Most clients only use 2-4 relays, setting more is unnecessary.","Optimize Relay Settings":"تحسين إعدادات الترحيل","Your current relay configuration may not be optimal. This could make it difficult for others to find your posts and may result in incomplete notifications.":"قد لا تكون تكوينات الترحيل الحالية مثلى. هذا قد يجعل من الصعب على الآخرين العثور على منشوراتك وقد يؤدي إلى إشعارات غير مكتملة.","Optimize Now":"تحسين الآن","Maybe Later":"ربما لاحقاً","Don't remind me again":"لا تذكرني مرة أخرى",Posts:"المشاركات",Articles:"المقالات",Highlights:"التمييز",Polls:"الاستطلاعات","Voice Posts":"المشاركات الصوتية","Photo Posts":"مشاركات الصور","Video Posts":"مشاركات الفيديو","Select All":"تحديد الكل","Clear All":"مسح الكل","Set as default filter":"تعيين كمرشح افتراضي",Apply:"تطبيق",Reset:"إعادة تعيين","Share something on this Relay":"شارك شيئاً على هذا الريلاي","Try deleting this note":"حاول حذف هذه الملاحظة","Deletion request sent to {{count}} relays":"تم إرسال طلب الحذف إلى {{count}} ريلايات","Suitable Relays":"الريلايات المناسبة","People, keywords, or relays":"أشخاص، كلمات مفتاحية، أو ريلايات","Hide content mentioning muted users":"إخفاء المحتوى الذي يذكر المستخدمين المكتومين","This note mentions a user you muted":"هذه الملاحظة تذكر مستخدماً قمت بكتمه",Filter:"مرشح","mentioned you in a note":"ذكرك في ملاحظة","quoted your note":"اقتبس ملاحظتك","voted in your poll":"صوت في استطلاعك","reacted to your note":"تفاعل مع ملاحظتك","reposted your note":"أعاد نشر ملاحظتك","zapped your note":"زاب ملاحظتك","highlighted your note":"أبرز ملاحظتك","zapped you":"زابك","Mark as read":"تعليم كمقروء",Report:"تبليغ","Successfully report":"تم التبليغ بنجاح","Failed to report":"فشل في التبليغ",nudity:"عُري",malware:"برامج ضارة",profanity:"ألفاظ نابية",illegal:"محتوى غير قانوني",spam:"رسائل مزعجة",other:"أخرى","Notification list style":"نمط قائمة الإشعارات","See extra info for each notification":"عرض معلومات إضافية لكل إشعار","See more notifications at a glance":"رؤية المزيد من الإشعارات بنظرة سريعة",Detailed:"تفصيلي",Compact:"مضغوط","Submit Relay":"إرسال ريلاي",Homepage:"الصفحة الرئيسية","Proof of Work (difficulty {{minPow}})":"إثبات العمل (الصعوبة {{minPow}})","via {{client}}":"عبر {{client}}","Auto-load media":"تحميل الوسائط تلقائياً",Always:"دائماً","Wi-Fi only":"Wi-Fi فقط",Never:"أبداً","Click to load image":"انقر لتحميل الصورة","Click to load media":"انقر لتحميل الوسائط","Click to load YouTube video":"انقر لتحميل فيديو YouTube","{{count}} reviews":"{{count}} مراجعة","Write a review":"كتابة مراجعة","No reviews yet. Be the first to write one!":"لا توجد مراجعات بعد. كن أول من يكتب واحدة!","View more reviews":"عرض المزيد من المراجعات","Failed to review":"فشل في المراجعة","Write a review and pick a star rating":"اكتب مراجعة واختر تقييماً بالنجوم",Submit:"إرسال","Reviews for {{relay}}":"مراجعات لـ {{relay}}","No relays selected":"لم يتم اختيار أي مرحل","Post to":"نشر إلى","Write relays and {{count}} other relays":"مرحلات الكتابة و {{count}} مرحل آخر","{{count}} relays":"{{count}} ريلايات","Republishing...":"جارٍ إعادة النشر...","Connected to":"متصل بـ","Disconnect Wallet":"قطع الاتصال بالمحفظة","Are you absolutely sure?":"هل أنت متأكد تماماً؟","You will not be able to send zaps to others.":"لن تتمكن من إرسال zaps للآخرين.",Disconnect:"قطع الاتصال","Start with a Rizful Vault":"ابدأ بمحفظة Rizful","or other wallets":"أو محافظ أخرى","Rizful Vault":"محفظة Rizful","Rizful Vault connected!":"تم توصيل محفظة Rizful!","You can now use your Rizful Vault to zap your favorite notes and creators.":"يمكنك الآن استخدام محفظة Rizful الخاصة بك لإرسال zap إلى ملاحظاتك والمبدعين المفضلين لديك.","Your Lightning Address":"عنوان Lightning الخاص بك","New to Rizful?":"جديد في Rizful؟","Sign up for Rizful":"سجل في Rizful","If you already have a Rizful account, you can skip this step.":"إذا كان لديك حساب Rizful بالفعل، يمكنك تخطي هذه الخطوة.","Get your one-time code":"احصل على رمز الاستخدام مرة واحدة","Get code":"احصل على الرمز","Connect to your Rizful Vault":"الاتصال بمحفظة Rizful الخاصة بك","Paste your one-time code here":"الصق رمز الاستخدام مرة واحدة هنا",Connect:"اتصال","Set up your wallet to send and receive sats!":"قم بإعداد محفظتك لإرسال واستقبال الساتس!","Set up":"إعداد",Pinned:"مثبت",Unpin:"إلغاء التثبيت",Unpinning:"جارٍ إلغاء التثبيت","Pinning...":"جارٍ التثبيت...","Pinned!":"تم التثبيت!","Failed to pin: {{error}}":"فشل في التثبيت: {{error}}","Unpinning...":"جارٍ إلغاء التثبيت...","Unpinned!":"تم إلغاء التثبيت!","Failed to unpin: {{error}}":"فشل في إلغاء التثبيت: {{error}}","Unpin from profile":"إلغاء التثبيت من الملف الشخصي","Pin to profile":"تثبيت في الملف الشخصي",Appearance:"المظهر","Pure Black":"أسود نقي",Default:"افتراضي",Red:"أحمر",Orange:"برتقالي",Amber:"عنبر",Yellow:"أصفر",Lime:"ليموني",Green:"أخضر",Emerald:"زمردي",Teal:"أزرق مخضر",Cyan:"سماوي",Sky:"سماء",Blue:"أزرق",Indigo:"نيلي",Violet:"بنفسجي",Purple:"أرجواني",Fuchsia:"فوشيا",Pink:"وردي",Rose:"وردة","Primary color":"اللون الأساسي",Layout:"التخطيط","Two-column":"عمودين","Single-column":"عمود واحد",Reviews:"المراجعات",Extension:"امتداد",Remote:"عن بُعد","Encrypted Key":"مفتاح مشفر","Private Key":"مفتاح خاص","Welcome to Smesh":"مرحبًا بك في Smesh","Smesh is a client focused on browsing relays. Get started by exploring interesting relays or login to view your following feed.":"Smesh هو عميل nostr يركز على بناء المجتمعات والمساعدة في تنسيق الأشخاص ذوي العقلية السيادية.","Explore Relays":"استكشف المرحلات","Choose a feed":"اختر خلاصة","and {{x}} others":"و {{x}} آخرون",selfZapWarning:"Smesh غير مسؤولة عما يحدث إذا أرسلت zap لنفسك. تابع على مسؤوليتك الخاصة. 😉⚡","Emoji Pack":"حزمة الرموز التعبيرية","Emoji pack added":"تمت إضافة حزمة الرموز التعبيرية","Add emoji pack failed":"فشل إضافة حزمة الرموز التعبيرية","Emoji pack removed":"تمت إزالة حزمة الرموز التعبيرية","Remove emoji pack failed":"فشل إزالة حزمة الرموز التعبيرية",Added:"تمت الإضافة","Emoji Packs":"حزم الرموز التعبيرية","My Packs":"حزمي","Adding...":"جاري الإضافة...","Removing...":"جاري الإزالة...",Reload:"إعادة التحميل","Request to Join Relay":"طلب الانضمام إلى المرحل","Leave Relay":"مغادرة المرحل",Leave:"مغادرة","Are you sure you want to leave this relay?":"هل أنت متأكد من أنك تريد مغادرة هذا المرحل؟","Join request sent successfully":"تم إرسال طلب الانضمام بنجاح","Failed to send join request":"فشل إرسال طلب الانضمام","Leave request sent successfully":"تم إرسال طلب المغادرة بنجاح","Failed to send leave request":"فشل إرسال طلب المغادرة","Enter an invite code if you have one. Otherwise, leave it blank to send a request.":"أدخل رمز الدعوة إذا كان لديك واحد. وإلا، اتركه فارغًا لإرسال طلب.","Invite Code (Optional)":"رمز الدعوة (اختياري)","Enter invite code":"أدخل رمز الدعوة","Sending...":"جاري الإرسال...","Send Request":"إرسال الطلب","You can get an invite code from a relay member.":"يمكنك الحصول على رمز دعوة من عضو المرحل.","Enter the invite code you received from a relay member.":"أدخل رمز الدعوة الذي تلقيته من عضو المرحل.","Get Invite Code":"الحصول على رمز الدعوة","Share this invite code with others to invite them to join this relay.":"شارك رمز الدعوة هذا مع الآخرين لدعوتهم للانضمام إلى هذا المرحل.","Invite Code":"رمز الدعوة",Copy:"نسخ","This invite code can be used by others to join the relay.":"يمكن للآخرين استخدام رمز الدعوة هذا للانضمام إلى المرحل.","No invite code available from this relay.":"لا يوجد رمز دعوة متاح من هذا المرحل.",Close:"إغلاق","Failed to get invite code from relay":"فشل الحصول على رمز الدعوة من المرحل","Failed to get invite code":"فشل الحصول على رمز الدعوة","Invite code copied to clipboard":"تم نسخ رمز الدعوة إلى الحافظة","Favicon URL":"رابط الأيقونة المفضلة","Filter out onion relays":"تصفية مرحلات onion","Click to load X post":"انقر لتحميل منشور X","View Nostr comments":"عرض تعليقات Nostr","Search for notes":"البحث عن الملاحظات","Search for hashtag":"البحث عن الوسم","Go to note":"الانتقال إلى الملاحظة","Go to relay":"الانتقال إلى المرحل","View discussions about this":"عرض المناقشات حول هذا المحتوى","Open link":"فتح الرابط","View Nostr discussions":"عرض مناقشات Nostr","Optimal relays":"المرحلات المثلى","Successfully republish to optimal relays (your write relays and mentioned users' read relays)":"تم إعادة النشر بنجاح إلى المرحلات المثلى (مرحلات الكتابة الخاصة بك ومرحلات القراءة للمستخدمين المذكورين)","Failed to republish to optimal relays: {{error}}":"فشل إعادة النشر إلى المرحلات المثلى: {{error}}","External Content":"محتوى خارجي",Highlight:"تسليط الضوء","Optimal relays and {{count}} other relays":"المرحلات المثلى و {{count}} مرحلات أخرى","Likely spam account (Trust score: {{percentile}}%)":"حساب مشبوه للغاية (درجة الثقة: {{percentile}}%)","Suspicious account (Trust score: {{percentile}}%)":"حساب مشبوه (درجة الثقة: {{percentile}}%)","n users":"{{count}} مستخدمين","View Details":"عرض التفاصيل","Follow Pack Not Found":"لم يتم العثور على حزمة المتابعة","Follow pack not found":"لم يتم العثور على حزمة المتابعة",Users:"المستخدمون",Feed:"التغذية","Follow Pack":"حزمة المتابعة","Load earlier":"تحميل سابق","Last 24 hours":"آخر 24 ساعة","Last {{count}} days":"آخر {{count}} أيام",notes:"ملاحظات","Quick reaction":"رد فعل سريع","If enabled, you can react with a single click. Click and hold for more options":"إذا تم التمكين، يمكنك التفاعل بنقرة واحدة. اضغط مع الاستمرار للمزيد من الخيارات","Quick reaction emoji":"رمز تعبيري للرد السريع","Select emoji":"اختر رمز تعبيري","NSFW content display":"NSFW content display","Hide completely":"Hide completely","Show but hide content":"Show but hide content","Show directly":"Show directly","Click to view":"Click to view","Special Follow":"متابعة خاصة","Unfollow Special":"إلغاء المتابعة الخاصة","Personal Feeds":"التدفقات الشخصية","Relay Feeds":"تدفقات الترحيل","Create Highlight":"إنشاء تمييز","Write your thoughts about this highlight...":"اكتب أفكارك حول هذا التمييز...","Publish Highlight":"نشر التمييز","Show replies":"إظهار الردود","Hide replies":"إخفاء الردود","Welcome to Smesh!":"مرحبًا بك في Smesh!","Your feed is empty because you are not following anyone yet. Start by exploring interesting content and following users you like!":"خلاصتك فارغة لأنك لا تتابع أي شخص بعد. ابدأ باستكشاف محتوى مثير للاهتمام ومتابعة المستخدمين الذين تحبهم!","Search Users":"البحث عن المستخدمين","Create New Account":"إنشاء حساب جديد",Important:"مهم","Generate Your Account":"إنشاء حسابك","Your private key IS your account. Keep it safe!":"مفتاحك الخاص هو حسابك. احتفظ به بأمان!","In Nostr, your private key IS your account. If you lose your private key, you lose your account forever.":"في Nostr، مفتاحك الخاص هو حسابك. إذا فقدت مفتاحك الخاص، ستفقد حسابك إلى الأبد.","Your Private Key":"مفتاحك الخاص","Generate new key":"إنشاء مفتاح جديد","Download Backup File":"تنزيل ملف النسخ الاحتياطي","Copied to Clipboard":"تم النسخ إلى الحافظة","Copy to Clipboard":"نسخ إلى الحافظة","I already saved my private key securely.":"لقد حفظت مفتاحي الخاص بشكل آمن بالفعل.","Almost Done!":"على وشك الانتهاء!","Set a password to encrypt your key, or skip to finish":"قم بتعيين كلمة مرور لتشفير مفتاحك، أو تخطى للانتهاء","Password Protection (Optional)":"الحماية بكلمة مرور (اختياري)","Setting a password encrypts your private key in this browser. You can skip this step, but we recommend setting one for added security.":"يؤدي تعيين كلمة مرور إلى تشفير مفتاحك الخاص في هذا المتصفح. يمكنك تخطي هذه الخطوة، لكننا نوصي بتعيين واحدة لمزيد من الأمان.","Password (Optional)":"كلمة المرور (اختياري)","Enter password or leave empty to skip":"أدخل كلمة المرور أو اتركها فارغة للتخطي","Confirm Password":"تأكيد كلمة المرور","Re-enter password":"أعد إدخال كلمة المرور","Passwords do not match":"كلمات المرور غير متطابقة","Finish Signup":"إنهاء التسجيل","Create Your Nostr Account":"أنشئ حساب Nostr الخاص بك","Generate your unique private key. This is your digital identity.":"أنشئ مفتاحك الخاص الفريد. هذه هي هويتك الرقمية.","Critical: Save Your Private Key":"حرج: احفظ مفتاحك الخاص","Your private key IS your account. There is no password recovery. If you lose it, you lose your account forever. Please save it in a secure location.":"مفتاحك الخاص هو حسابك. لا يوجد استرداد لكلمة المرور. إذا فقدته، ستفقد حسابك للأبد. يرجى حفظه في مكان آمن.","I have safely backed up my private key":"لقد قمت بعمل نسخة احتياطية آمنة لمفتاحي الخاص","Secure Your Account":"أمّن حسابك","Add an extra layer of protection with a password":"أضف طبقة إضافية من الحماية بكلمة مرور","Password Protection (Recommended)":"الحماية بكلمة مرور (موصى به)","Add a password to encrypt your private key in this browser. This is optional but strongly recommended for better security.":"أضف كلمة مرور لتشفير مفتاحك الخاص في هذا المتصفح. هذا اختياري لكنه موصى به بشدة لأمان أفضل.","Create a password (or skip)":"أنشئ كلمة مرور (أو تخطى)","Enter your password again":"أدخل كلمة المرور مرة أخرى","Complete Signup":"إكمال التسجيل",Recommended:"موصى به"}},Obe={translation:{"Welcome! 🥳":"Добре дошли! 🥳",About:"Относно","New Note":"Нова бележка",Post:"Публикувай",Home:"Начало","Relay settings":"Настройки на реле",Settings:"Настройки",SidebarRelays:"Релета",Refresh:"Опресни",Profile:"Профил",Logout:"Изход",Following:"Следвани",followings:"следвани",reposted:"сподели отново","just now":"току-що","minute ago_one":"преди {{count}} минута","minute ago_other":"преди {{count}} минути","n m":"{{n}}м","hour ago_one":"преди {{count}} час","hour ago_other":"преди {{count}} часа","n h":"{{n}}ч","day ago_one":"преди {{count}} ден","day ago_other":"преди {{count}} дни","n d":"{{n}}д",date:"{{timestamp, date}}",Follow:"Последвай",Unfollow:"Отпоследвай","Follow failed":"Неуспешно последване","Unfollow failed":"Неуспешно отпоследване","show new notes":"покажи нови бележки","loading...":"зареждане...","Loading...":"Зареждане...","no more notes":"няма повече бележки","reply to":"отговор на",reply:"отговор",Reply:"Отговор","load more older replies":"зареди повече стари отговори","Write something...":"Напиши нещо...",Cancel:"Отказ",Mentions:"Споменавания","Failed to post":"Неуспешно публикуване","Post successful":"Публикувано успешно","Your post has been published":"Публикацията ви беше споделена",Repost:"Сподели отново",Quote:"Цитат","Copy event ID":"Копирай ID на събитието","Copy user ID":"Копирай ID на потребителя","View raw event":"Виж суровото събитие",Like:"Харесай","switch to light theme":"превключи на светла тема","switch to dark theme":"превключи на тъмна тема","switch to system theme":"превключи на системна тема",Note:"Бележка",note:"бележка","username's following":"Следвани от {{username}}","username's used relays":"Релета на {{username}}","username's muted":"Заглушени от {{username}}",Login:"Вход","Follows you":"Следва те","Relay Settings":"Настройки на реле","Relay set name":"Име на набор от релета","Add a new relay set":"Добави нов набор от релета",Add:"Добави","n relays":"{{n}} релета",Rename:"Преименувай","Copy share link":"Копирай линк за споделяне",Delete:"Изтрий","Relay already exists":"Релето вече съществува","invalid relay URL":"невалиден URL на реле","Add a new relay":"Добави ново реле",back:"назад","Lost in the void":"Изгубен в пустотата","Carry me home":"Върни ме у дома","no replies":"няма отговори","Reply to":"Отговори на",Search:"Търсене","The relays you are connected to do not support search":"Релетата, към които сте свързани, не поддържат търсене","Show more...":"Покажи още...","All users":"Всички потребители","Display replies":"Покажи отговорите",Notes:"Бележки",Replies:"Отговори",Notifications:"Известия","no more notifications":"няма повече известия","Using private key login is insecure. It is recommended to use a browser extension for login, such as alby, nostr-keyx or nos2x. If you must use a private key, please set a password for encryption at minimum.":"Влизането с частен ключ е несигурно. Препоръчително е да използвате разширение за браузър за вход, като alby, nostr-keyx или nos2x. Ако трябва да използвате частен ключ, моля задайте поне парола за криптиране.","Login with Browser Extension":"Вход с разширение за браузър","Login with Bunker":"Вход с Bunker","Login with Private Key":"Вход с частен ключ","Custom relay (optional)":"Потребителско реле (по избор)","Copy this connection string to your signer app":"Копирайте този низ за свързване в приложението ви за подписване","reload notes":"презареди бележки","Logged in Accounts":"Влезли акаунти","Add an Account":"Добави акаунт","More options":"Още опции","Add client tag":"Добави клиентски таг","Show others this was sent via Smesh":"Покажи на другите, че това е изпратено чрез Smesh","Are you sure you want to logout?":"Сигурни ли сте, че искате да излезете?","relay sets":"набори от релета",edit:"редактирай",Languages:"Езици",Theme:"Тема",System:"Системна",Light:"Светла",Dark:"Тъмна",Temporary:"Временно","Choose a relay set":"Изберете набор от релета","Switch account":"Смени акаунт",Pictures:"Снимки","Picture note":"Снимкова бележка","A special note for picture-first clients like Olas":"Специална бележка за клиенти ориентирани към снимки като Olas","Picture note requires images":"Снимковата бележка изисква изображения",Relays:"Релета",Image:"Изображение","R & W":"Ч & З",Read:"Четене",Write:"Запис","Pull relay sets":"Изтегли набори от релета","Select the relay sets you want to pull":"Изберете наборите от релета, които искате да изтеглите","No relay sets found":"Не са намерени набори от релета","Pull n relay sets":"Изтегли {{n}} набора от релета",Pull:"Изтегли","Select all":"Избери всички","Relay Sets":"Набори от релета","Read & Write Relays":"Релета за четене и запис","read relays description":"Релетата за четене се използват за търсене на събития за вас. Други потребители ще публикуват събитията, които искат да видите, към вашите релета за четене.","write relays description":"Релетата за запис се използват за публикуване на вашите събития. Други потребители ще търсят вашите събития от вашите релета за запис.","read & write relays notice":"Броят на сървърите за четене и запис в идеалния случай трябва да е между 2 и 4.","Don't have an account yet?":"Нямате акаунт все още?","or simply generate a private key":"или просто генерирайте частен ключ","This is a private key. Do not share it with anyone. Keep it safe and secure. You will not be able to recover it if you lose it.":"Това е частен ключ. Не го споделяйте с никого. Пазете го на сигурно място. Няма да можете да го възстановите, ако го загубите.",Edit:"Редактирай",Save:"Запази","Display Name":"Показвано име",Bio:"Биография","Nostr Address (NIP-05)":"Nostr адрес (NIP-05)","Invalid NIP-05 address":"Невалиден NIP-05 адрес","Copy private key":"Копирай частен ключ","Enter the password to decrypt your ncryptsec":"Въведете парола за декриптиране на вашия ncryptsec",Back:"Назад","optional: encrypt nsec":"по избор: криптирай nsec",password:"парола","Sign up":"Регистрация","Save to":"Запази в","Enter a name for the new relay set":"Въведете име за новия набор от релета","Save to a new relay set":"Запази в нов набор от релета",Mute:"Заглуши",Muted:"Заглушен",Unmute:"Отглуши","Unmute user":"Отглуши потребител","Append n relays":"Добави {{n}} релета",Append:"Добави","Select relays to append":"Изберете релета за добавяне","calculating...":"изчисляване...","Calculate optimal read relays":"Изчисли оптимални релета за четене","Login to set":"Влезте, за да зададете","Please login to view following feed":"Моля, влезте, за да видите потока от следвани","Send only to r":"Изпрати само до {{r}}","Send only to these relays":"Изпрати само до тези релета",Explore:"Разгледай","Search relays":"Търси релета",relayInfoBadgeAuth:"Удостоверяване",relayInfoBadgeSearch:"Търсене",relayInfoBadgePayment:"Плащане",Operator:"Оператор",Contact:"Контакт",Software:"Софтуер",Version:"Версия","Random Relays":"Случайни релета",randomRelaysRefresh:"Опресни","Explore more":"Разгледай повече","Payment page":"Страница за плащане","Supported NIPs":"Поддържани NIPs","Open in a":"Отвори в {{a}}","Cannot handle event of kind k":"Не може да се обработи събитие от вид {{k}}","Sorry! The note cannot be found 😔":"Съжаляваме! Бележката не може да бъде намерена 😔","This user has been muted":"Този потребител е заглушен",Wallet:"Портфейл",Sats:"Sats",sats:"sats","Zap to":"Запни на","Zap n sats":"Запни {{n}} sats",zapComment:"Коментар","Default zap amount":"Стойност на зап по подразбиране","Default zap comment":"Коментар на зап по подразбиране","Lightning Address (or LNURL)":"Lightning адрес (или LNURL)","Quick zap":"Бърз зап","If enabled, you can zap with a single click. Click and hold for custom amounts":"Ако е включено, можете да запнете с едно натискане. Натиснете и задръжте за произволна сума",All:"Всички",Reactions:"Реакции",Zaps:"Запове","Earlier notifications":"По-ранни известия","Temporarily display this note":"Временно покажи тази бележка",buttonFollowing:"Следвам","Are you sure you want to unfollow this user?":"Сигурни ли сте, че искате да отпоследвате този потребител?","Recent Supporters":"Скорошни поддръжници","Seen on":"Видяно на","Temporarily display this reply":"Временно покажи този отговор","Note not found":"Бележката не е намерена","no more replies":"няма повече отговори","Relay sets":"Набори от релета","Favorite Relays":"Любими релета","Following's Favorites":"Любимите на следваните","no more relays":"няма повече релета","Favorited by":"Харесано от","Post settings":"Настройки на публикация","Media upload service":"Услуга за качване на медия","Choose a relay":"Изберете реле","no relays found":"не са намерени релета",video:"видео","Show n new notes":"Покажи {{n}} нови бележки","n new notes above":"{{n}} нови бележки отгоре",YouTabName:"Вие",Bookmark:"Отметка","Remove bookmark":"Премахни отметка","no bookmarks found":"не са намерени отметки","no more bookmarks":"няма повече отметки",Bookmarks:"Отметки","Show more":"Покажи повече",General:"Общи",Autoplay:"Автоматично възпроизвеждане","Enable video autoplay on this device":"Включи автоматично възпроизвеждане на видео на това устройство","Paste or drop media files to upload":"Поставете или пуснете медийни файлове за качване",Preview:"Преглед","You are about to publish an event signed by [{{eventAuthorName}}]. You are currently logged in as [{{currentUsername}}]. Are you sure?":"На път сте да публикувате събитие, подписано от [{{eventAuthorName}}]. В момента сте влезли като [{{currentUsername}}]. Сигурни ли сте?",From:"От","Comment on":"Коментар към","View on njump.me":"Виж в njump.me","Hide content from untrusted users":"Скрий съдържание от недоверени потребители","Only show content from your followed users and the users they follow":"Показвай съдържание само от следваните от вас потребители и тези, които те следват","Followed by":"Следван от","Mute user privately":"Заглуши потребител частно","Mute user publicly":"Заглуши потребител публично",Quotes:"Цитати","Lightning Invoice":"Lightning фактура","Bookmark failed":"Неуспешно добавяне на отметка","Remove bookmark failed":"Неуспешно премахване на отметка",Pay:"Плати",interactions:"взаимодействия",notifications:"известия","Show untrusted {type}":"Покажи недоверени {{type}}","Hide untrusted {type}":"Скрий недоверени {{type}}","Currently hiding {type} from untrusted users.":"В момента се скриват {{type}} от недоверени потребители.","Currently showing all {type}.":"В момента се показват всички {{type}}.","Click continue to show all {type}.":"Натиснете продължи, за да покажете всички {{type}}.","Click continue to hide {type} from untrusted users.":"Натиснете продължи, за да скриете {{type}} от недоверени потребители.","Trusted users include people you follow and people they follow.":"Доверените потребители включват хората, които следвате, и хората, които те следват.",Continue:"Продължи","Successfully updated mute list":"Списъкът за заглушаване е обновен успешно","No pubkeys found from {url}":"Не са намерени публични ключове от {{url}}",Website:"Уебсайт","Hide untrusted notes":"Скрий недоверени бележки","Hide untrusted interactions":"Скрий недоверени взаимодействия","Hide untrusted notifications":"Скрий недоверени известия","Open in another client":"Отвори в друг клиент",Community:"Общност",Group:"Група","Live event":"Събитие на живо",Article:"Статия",Unfavorite:"Премахни от любими","Recommended relays":"Препоръчани релета","Blossom server URLs":"URL адреси на Blossom сървъри","You need to add at least one blossom server in order to upload media files.":"Трябва да добавите поне един Blossom сървър, за да качвате медийни файлове.","Recommended blossom servers":"Препоръчани Blossom сървъри","Enter Blossom server URL":"Въведете URL на Blossom сървър",Preferred:"Предпочитан","Multiple choice (select one or more)":"Множествен избор (изберете един или повече)",Vote:"Гласувай","{{number}} votes":"{{number}} гласа","Total votes":"Общо гласове","Poll has ended":"Анкетата приключи","Poll ends at {{time}}":"Анкетата приключва в {{time}}","Load results":"Зареди резултати","This is a poll note.":"Това е бележка с анкета.","Unlike regular notes, polls are not widely supported and may not display on other clients.":"За разлика от обикновените бележки, анкетите не се поддържат широко и може да не се показват в други клиенти.","Option {{number}}":"Опция {{number}}","Add Option":"Добави опция","Allow multiple choices":"Разреши множествен избор","End Date (optional)":"Крайна дата (по избор)","Clear end date":"Изчисти крайна дата","Relay URLs (optional, comma-separated)":"URL адреси на релета (по избор, разделени със запетая)","Remove poll":"Премахни анкета","Refresh results":"Опресни резултати",Poll:"Анкета",Media:"Медия","Republish to ...":"Преиздай в ...","Successfully republish to your write relays":"Успешно преиздадено във вашите релета за запис","Failed to republish to your write relays: {{error}}":"Неуспешно преиздаване във вашите релета за запис: {{error}}","Successfully republish to relay set: {{name}}":"Успешно преиздадено в набор от релета: {{name}}","Failed to republish to relay set: {{name}}. Error: {{error}}":"Неуспешно преиздаване в набор от релета: {{name}}. Грешка: {{error}}","Successfully republish to relay: {{url}}":"Успешно преиздадено в реле: {{url}}","Failed to republish to relay: {{url}}. Error: {{error}}":"Неуспешно преиздаване в реле: {{url}}. Грешка: {{error}}","Write relays":"Релета за запис","No more reactions":"Няма повече реакции","No reactions yet":"Все още няма реакции","No more zaps":"Няма повече запове","No zaps yet":"Все още няма запове","No more reposts":"Няма повече преиздавания","No reposts yet":"Все още няма преиздавания",Reposts:"Преиздавания",FollowListNotFoundConfirmation:"Списъкът със следвани не е намерен. Искате ли да създадете нов? Ако сте следвали потребители преди, моля НЕ потвърждавайте, тъй като тази операция ще доведе до загуба на предишния ви списък.",MuteListNotFoundConfirmation:"Списъкът за заглушаване не е намерен. Искате ли да създадете нов? Ако сте заглушавали потребители преди, моля НЕ потвърждавайте, тъй като тази операция ще доведе до загуба на предишния ви списък.","Show NSFW content by default":"Показвай NSFW съдържание по подразбиране","Custom emoji management":"Управление на потребителски емотикони","After changing emojis, you may need to refresh the page":"След промяна на емотиконите може да се наложи да опресните страницата","Too many read relays":"Твърде много релета за четене","Too many write relays":"Твърде много релета за запис","You have {{count}} read relays. Most clients only use 2-4 relays, setting more is unnecessary.":"Имате {{count}} релета за четене. Повечето клиенти използват само 2-4 релета, повече не е необходимо.","You have {{count}} write relays. Most clients only use 2-4 relays, setting more is unnecessary.":"Имате {{count}} релета за запис. Повечето клиенти използват само 2-4 релета, повече не е необходимо.","Optimize Relay Settings":"Оптимизирай настройките на релетата","Your current relay configuration may not be optimal. This could make it difficult for others to find your posts and may result in incomplete notifications.":"Текущата ви конфигурация на релетата може да не е оптимална. Това може да затрудни другите да намират публикациите ви и да доведе до непълни известия.","Optimize Now":"Оптимизирай сега","Maybe Later":"Може би по-късно","Don't remind me again":"Не ми напомняй отново",Posts:"Публикации",Articles:"Статии",Highlights:"Акценти",Polls:"Анкети","Voice Posts":"Гласови публикации","Photo Posts":"Снимкови публикации","Video Posts":"Видео публикации","Select All":"Избери всички","Clear All":"Изчисти всички","Set as default filter":"Задай като филтър по подразбиране",Apply:"Приложи",Reset:"Нулирай","Share something on this Relay":"Сподели нещо в това реле","Try deleting this note":"Опитай да изтриеш тази бележка","Deletion request sent to {{count}} relays":"Заявка за изтриване е изпратена до {{count}} релета","Suitable Relays":"Подходящи релета","People, keywords, or relays":"Хора, ключови думи или релета","Hide content mentioning muted users":"Скрий съдържание, споменаващо заглушени потребители","This note mentions a user you muted":"Тази бележка споменава потребител, когото сте заглушили",Filter:"Филтър","mentioned you in a note":"ви спомена в бележка","quoted your note":"цитира вашата бележка","voted in your poll":"гласува във вашата анкета","reacted to your note":"реагира на вашата бележка","reposted your note":"преиздаде вашата бележка","zapped your note":"запна вашата бележка","highlighted your note":"отбеляза вашата бележка","zapped you":"запна ви","Mark as read":"Маркирай като прочетено",Report:"Докладвай","Successfully report":"Успешно докладвано","Failed to report":"Неуспешно докладване",nudity:"Голота",malware:"Зловреден софтуер",profanity:"Нецензурен език",illegal:"Незаконно съдържание",spam:"Спам",other:"Друго","Notification list style":"Стил на списъка с известия","See extra info for each notification":"Виж допълнителна информация за всяко известие","See more notifications at a glance":"Виж повече известия с един поглед",Detailed:"Подробен",Compact:"Компактен","Submit Relay":"Изпрати реле",Homepage:"Начална страница","Proof of Work (difficulty {{minPow}})":"Доказателство за работа (сложност {{minPow}})","via {{client}}":"чрез {{client}}","Auto-load media":"Автоматично зареждане на медия",Always:"Винаги","Wi-Fi only":"Само по Wi-Fi",Never:"Никога","Click to load image":"Натиснете за зареждане на изображение","Click to load media":"Натиснете за зареждане на медия","Click to load YouTube video":"Натиснете за зареждане на YouTube видео","Click to load X post":"Натиснете за зареждане на X публикация","{{count}} reviews":"{{count}} отзива","Write a review":"Напиши отзив","No reviews yet. Be the first to write one!":"Все още няма отзиви. Бъдете първият, който ще напише!","View more reviews":"Виж повече отзиви","Failed to review":"Неуспешен отзив","Write a review and pick a star rating":"Напишете отзив и изберете оценка със звезди",Submit:"Изпрати","Reviews for {{relay}}":"Отзиви за {{relay}}","No relays selected":"Не са избрани релета","Post to":"Публикувай в","Write relays and {{count}} other relays":"Релета за запис и {{count}} други релета","{{count}} relays":"{{count}} релета","Republishing...":"Преиздаване...","Connected to":"Свързан с","Disconnect Wallet":"Разкачи портфейл","Are you absolutely sure?":"Абсолютно сигурни ли сте?","You will not be able to send zaps to others.":"Няма да можете да изпращате запове на други.",Disconnect:"Разкачи","Start with a Rizful Vault":"Започнете с Rizful Vault","or other wallets":"или други портфейли","Rizful Vault":"Rizful Vault","Rizful Vault connected!":"Rizful Vault е свързан!","You can now use your Rizful Vault to zap your favorite notes and creators.":"Вече можете да използвате вашия Rizful Vault, за да запвате любимите си бележки и автори.","Your Lightning Address":"Вашият Lightning адрес","New to Rizful?":"Нов в Rizful?","Sign up for Rizful":"Регистрирайте се в Rizful","If you already have a Rizful account, you can skip this step.":"Ако вече имате Rizful акаунт, можете да пропуснете тази стъпка.","Get your one-time code":"Вземете вашия еднократен код","Get code":"Вземи код","Connect to your Rizful Vault":"Свържете се с вашия Rizful Vault","Paste your one-time code here":"Поставете вашия еднократен код тук",Connect:"Свържи","Connect Wallet":"Свържи портфейл","Set up your wallet to send and receive sats!":"Настройте портфейла си, за да изпращате и получавате sats!","Set up":"Настрой",Pinned:"Закачено",Unpin:"Откачи",Unpinning:"Откачване","Pinning...":"Закачване...","Pinned!":"Закачено!","Failed to pin: {{error}}":"Неуспешно закачване: {{error}}","Unpinning...":"Откачване...","Unpinned!":"Откачено!","Failed to unpin: {{error}}":"Неуспешно откачване: {{error}}","Unpin from profile":"Откачи от профила","Pin to profile":"Закачи в профила",Appearance:"Външен вид","Pure Black":"Чисто черно",Default:"По подразбиране",Red:"Червено",Orange:"Оранжево",Amber:"Кехлибарено",Yellow:"Жълто",Lime:"Лайм",Green:"Зелено",Emerald:"Изумрудено",Teal:"Тюркоазено",Cyan:"Циан",Sky:"Небесно",Blue:"Синьо",Indigo:"Индиго",Violet:"Виолетово",Purple:"Лилаво",Fuchsia:"Фуксия",Pink:"Розово",Rose:"Роза","Primary color":"Основен цвят",Layout:"Оформление","Two-column":"Две колони","Single-column":"Една колона",Reviews:"Отзиви",Extension:"Разширение",Remote:"Дистанционно","Encrypted Key":"Криптиран ключ","Private Key":"Частен ключ","Welcome to Smesh":"Добре дошли в Smesh","Smesh is a client focused on browsing relays. Get started by exploring interesting relays or login to view your following feed.":"Smesh е nostr клиент, фокусиран върху изграждането на общности и подпомагането на координацията между хора със суверенно мислене.","Explore Relays":"Разгледай релета","Choose a feed":"Изберете поток","and {{x}} others":"и {{x}} други",selfZapWarning:"Smesh не носи отговорност за това, което се случи, ако запнете себе си. Продължавате на свой риск. 😉⚡","Emoji Pack":"Пакет с емотикони","Emoji pack added":"Пакетът с емотикони е добавен","Add emoji pack failed":"Неуспешно добавяне на пакет с емотикони","Emoji pack removed":"Пакетът с емотикони е премахнат","Remove emoji pack failed":"Неуспешно премахване на пакет с емотикони",Added:"Добавено","Emoji Packs":"Пакети с емотикони","My Packs":"Моите пакети","Adding...":"Добавяне...","Removing...":"Премахване...",Reload:"Презареди","Request to Join Relay":"Заявка за присъединяване към реле","Leave Relay":"Напусни реле",Leave:"Напусни","Are you sure you want to leave this relay?":"Сигурни ли сте, че искате да напуснете това реле?","Join request sent successfully":"Заявката за присъединяване е изпратена успешно","Failed to send join request":"Неуспешно изпращане на заявка за присъединяване","Leave request sent successfully":"Заявката за напускане е изпратена успешно","Failed to send leave request":"Неуспешно изпращане на заявка за напускане","Enter an invite code if you have one. Otherwise, leave it blank to send a request.":"Въведете код за покана, ако имате такъв. В противен случай оставете празно, за да изпратите заявка.","Invite Code (Optional)":"Код за покана (по избор)","Enter invite code":"Въведете код за покана","Sending...":"Изпращане...","Send Request":"Изпрати заявка","You can get an invite code from a relay member.":"Можете да получите код за покана от член на релето.","Enter the invite code you received from a relay member.":"Въведете кода за покана, който сте получили от член на релето.","Get Invite Code":"Вземи код за покана","Share this invite code with others to invite them to join this relay.":"Споделете този код за покана с други, за да ги поканите да се присъединят към това реле.","Invite Code":"Код за покана",Copy:"Копирай","This invite code can be used by others to join the relay.":"Този код за покана може да бъде използван от други, за да се присъединят към релето.","No invite code available from this relay.":"Няма наличен код за покана от това реле.",Close:"Затвори","Failed to get invite code from relay":"Неуспешно получаване на код за покана от реле","Failed to get invite code":"Неуспешно получаване на код за покана","Invite code copied to clipboard":"Кодът за покана е копиран в клипборда","Favicon URL":"URL на favicon","Filter out onion relays":"Филтрирай onion релета","View Nostr comments":"Виж Nostr коментари","Search for notes":"Търси бележки","Search for hashtag":"Търси хаштаг","Go to note":"Отиди до бележка","Go to relay":"Отиди до реле","View discussions about this":"Виж дискусии за това","Open link":"Отвори линк","View Nostr discussions":"Виж Nostr дискусии","Optimal relays":"Оптимални релета","Successfully republish to optimal relays (your write relays and mentioned users' read relays)":"Успешно преиздадено в оптимални релета (вашите релета за запис и релетата за четене на споменатите потребители)","Failed to republish to optimal relays: {{error}}":"Неуспешно преиздаване в оптимални релета: {{error}}","External Content":"Външно съдържание",Highlight:"Акцент","Optimal relays and {{count}} other relays":"Оптимални релета и {{count}} други релета","Likely spam account (Trust score: {{percentile}}%)":"Вероятен спам акаунт (Оценка на доверие: {{percentile}}%)","Suspicious account (Trust score: {{percentile}}%)":"Подозрителен акаунт (Оценка на доверие: {{percentile}}%)","n users":"{{count}} потребители","n users_one":"{{count}} потребител","n users_other":"{{count}} потребители","View Details":"Виж детайли","Follow Pack Not Found":"Пакетът за следване не е намерен","Follow pack not found":"Пакетът за следване не е намерен",Users:"Потребители",Feed:"Поток","Follow Pack":"Пакет за следване","Load earlier":"Зареди по-ранни","Last 24 hours":"Последните 24 часа","Last {{count}} days":"Последните {{count}} дни",notes:"бележки","Quick reaction":"Бърза реакция","If enabled, you can react with a single click. Click and hold for more options":"Ако е включено, можете да реагирате с едно натискане. Натиснете и задръжте за повече опции","Quick reaction emoji":"Емотикон за бърза реакция","Select emoji":"Изберете емотикон","NSFW content display":"Показване на NSFW съдържание","Hide completely":"Скрий напълно","Show but hide content":"Покажи, но скрий съдържанието","Show directly":"Покажи директно","Click to view":"Натиснете за преглед","Special Follow":"Специално следване","Unfollow Special":"Отмени специално следване","Personal Feeds":"Лични потоци","Relay Feeds":"Потоци от релета","Create Highlight":"Създай акцент","Write your thoughts about this highlight...":"Напишете мислите си за този акцент...","Publish Highlight":"Публикувай акцент","Show replies":"Покажи отговорите","Hide replies":"Скрий отговорите","Welcome to Smesh!":"Добре дошли в Smesh!","Your feed is empty because you are not following anyone yet. Start by exploring interesting content and following users you like!":"Потокът ви е празен, защото все още не следвате никого. Започнете с разглеждане на интересно съдържание и следвайте потребители, които ви харесват!","Search Users":"Търси потребители","Create New Account":"Създай нов акаунт",Important:"Важно","Generate Your Account":"Генерирайте вашия акаунт","Your private key IS your account. Keep it safe!":"Вашият частен ключ Е вашият акаунт. Пазете го!","In Nostr, your private key IS your account. If you lose your private key, you lose your account forever.":"В Nostr вашият частен ключ Е вашият акаунт. Ако загубите частния си ключ, губите акаунта си завинаги.","Your Private Key":"Вашият частен ключ","Generate new key":"Генерирай нов ключ","Download Backup File":"Изтегли резервно копие","Copied to Clipboard":"Копирано в клипборда","Copy to Clipboard":"Копирай в клипборда","I already saved my private key securely.":"Вече запазих частния си ключ на сигурно място.","Almost Done!":"Почти готово!","Set a password to encrypt your key, or skip to finish":"Задайте парола за криптиране на ключа си, или пропуснете, за да завършите","Password Protection (Optional)":"Защита с парола (по избор)","Setting a password encrypts your private key in this browser. You can skip this step, but we recommend setting one for added security.":"Задаването на парола криптира частния ви ключ в този браузър. Можете да пропуснете тази стъпка, но препоръчваме да зададете парола за по-добра сигурност.","Password (Optional)":"Парола (по избор)","Enter password or leave empty to skip":"Въведете парола или оставете празно, за да пропуснете","Confirm Password":"Потвърдете парола","Re-enter password":"Въведете паролата отново","Passwords do not match":"Паролите не съвпадат","Finish Signup":"Завърши регистрацията","Create Your Nostr Account":"Създайте вашия Nostr акаунт","Generate your unique private key. This is your digital identity.":"Генерирайте уникалния си частен ключ. Това е вашата цифрова самоличност.","Critical: Save Your Private Key":"Критично: Запазете частния си ключ","Your private key IS your account. There is no password recovery. If you lose it, you lose your account forever. Please save it in a secure location.":"Вашият частен ключ Е вашият акаунт. Няма възстановяване на парола. Ако го загубите, губите акаунта си завинаги. Моля, запазете го на сигурно място.","I have safely backed up my private key":"Запазих частния си ключ на сигурно място","Secure Your Account":"Защитете акаунта си","Add an extra layer of protection with a password":"Добавете допълнително ниво на защита с парола","Password Protection (Recommended)":"Защита с парола (препоръчително)","Add a password to encrypt your private key in this browser. This is optional but strongly recommended for better security.":"Добавете парола за криптиране на частния си ключ в този браузър. Това не е задължително, но е силно препоръчително за по-добра сигурност.","Create a password (or skip)":"Създайте парола (или пропуснете)","Enter your password again":"Въведете паролата си отново","Complete Signup":"Завърши регистрацията",Recommended:"Препоръчително"}},zbe={translation:{"Welcome! 🥳":"Willkommen! 🥳",About:"Über","New Note":"Neue Notiz",Post:"Beitrag",Home:"Startseite","Relay settings":"Relay-Einstellungen",Settings:"Einstellungen",SidebarRelays:"Relays",Refresh:"Aktualisieren",Profile:"Profil",Logout:"Abmelden",Following:"Folgende",followings:"Folgekonten",reposted:"erneut gepostet","just now":"gerade eben","minute ago_one":"vor {{count}} Minute","minute ago_other":"vor {{count}} Minuten","n m":"vor {{n}}m","hour ago_one":"vor {{count}} Stunde","hour ago_other":"vor {{count}} Stunden","n h":"vor {{n}}h","day ago_one":"vor {{count}} Tag","day ago_other":"vor {{count}} Tagen","n d":"vor {{n}}d",date:"{{timestamp, date}}",Follow:"Folgen",Unfollow:"Nicht mehr folgen","Follow failed":"Folgen fehlgeschlagen","Unfollow failed":"Nicht mehr folgen fehlgeschlagen","show new notes":"zeige neue Notizen","loading...":"lädt...","Loading...":"Lade...","no more notes":"keine weiteren Notizen","reply to":"antworten an",reply:"antworten",Reply:"Antwort","load more older replies":"ältere Antworten laden","Write something...":"Schreibe etwas...",Cancel:"Abbrechen",Mentions:"@","Failed to post":"Posten fehlgeschlagen","Post successful":"Beitrag erfolgreich","Your post has been published":"Dein Beitrag wurde veröffentlicht",Repost:"Erneut posten",Quote:"Zitat","Copy event ID":"Ereignis-ID kopieren","Copy user ID":"Benutzer-ID kopieren","View raw event":"Rohdaten anzeigen",Like:"Gefällt mir","switch to light theme":"Wechsel zum hellen Design","switch to dark theme":"Wechsel zum dunklen Design","switch to system theme":"Zum Systemthema wechseln",Note:"Notiz",note:"notiz","username's following":"{{username}}s Folgen","username's used relays":"{{username}}s verwendete Relays","username's muted":"{{username}}s stummgeschaltet",Login:"Anmelden","Follows you":"Folgt dir","Relay Settings":"Relay-Einstellungen","Relay set name":"Relay-Set Name","Add a new relay set":"Neues Relay-Set hinzufügen",Add:"Hinzufügen","n relays":"{{n}} Relays",Rename:"Umbenennen","Copy share link":"Freigabelink kopieren",Delete:"Löschen","Relay already exists":"Relay existiert bereits","invalid relay URL":"Ungültige Relay-URL","Add a new relay":"Neues Relay hinzufügen",back:"Zurück","Lost in the void":"Verloren im Nichts","Carry me home":"Bring mich nach Hause","no replies":"keine Antworten","Reply to":"Antwort an",Search:"Suchen","The relays you are connected to do not support search":"Die verbundenen Relays unterstützen keine Suche","Show more...":"Mehr anzeigen...","All users":"Alle Benutzer","Display replies":"Antworten anzeigen",Notes:"Notizen",Replies:"Antworten",Notifications:"Benachr.","no more notifications":"keine weiteren Benachrichtigungen","Using private key login is insecure. It is recommended to use a browser extension for login, such as alby, nostr-keyx or nos2x. If you must use a private key, please set a password for encryption at minimum.":"Die Anmeldung mit privatem Schlüssel ist unsicher. Es wird empfohlen, eine Browser-Erweiterung wie alby, nostr-keyx oder nos2x zu verwenden. Wenn du einen privaten Schlüssel verwenden musst, solltest du mindestens ein Passwort zur Verschlüsselung festlegen.","Login with Browser Extension":"Mit Browser-Erweiterung anmelden","Login with Bunker":"Mit Bunker anmelden","Login with Private Key":"Mit privatem Schlüssel anmelden","reload notes":"Notizen neu laden","Logged in Accounts":"Angemeldete Konten","Add an Account":"Konto hinzufügen","More options":"Mehr Optionen","Add client tag":"Client-Tag hinzufügen","Show others this was sent via Smesh":"Anderen zeigen, dass dies über Smesh gesendet wurde","Are you sure you want to logout?":"Bist du sicher, dass du dich abmelden möchtest?","relay sets":"Relay-Sets",edit:"bearbeiten",Languages:"Sprachen",Theme:"Design",System:"System",Light:"Hell",Dark:"Dunkel",Temporary:"Temporär","Choose a relay set":"Wähle ein Relay-Set","Switch account":"Konto wechseln",Pictures:"Bilder","Picture note":"Bildnotiz","A special note for picture-first clients like Olas":"Eine spezielle Notiz für bildfokussierte Clients wie Olas","Picture note requires images":"Bildnotiz erfordert Bilder",Relays:"Relays",Image:"Bild","R & W":"R & W",Read:"Lesen",Write:"Schreiben","Pull relay sets":"Relay-Sets abrufen","Select the relay sets you want to pull":"Wähle die Relay-Sets, die du abrufen möchtest","No relay sets found":"Keine Relay-Sets gefunden","Pull n relay sets":"Hole {{n}} Relay-Sets",Pull:"Abrufen","Select all":"Alle auswählen","Relay Sets":"Relay-Sets","Read & Write Relays":"Lese- & Schreib-Relays","read relays description":"Leserelays werden verwendet, um Ereignisse über dich abzurufen. Andere Benutzer senden die Ereignisse, die du sehen sollst, an deine Leserelays.","write relays description":"Schreibrelays werden verwendet, um deine Ereignisse zu veröffentlichen. Andere Benutzer rufen deine Ereignisse von deinen Schreibrelays ab.","read & write relays notice":"Die Anzahl der Lese- und Schreibserver sollte idealerweise zwischen 2 und 4 liegen.","Don't have an account yet?":"Noch keinen Account?","or simply generate a private key":"oder erstelle einfach einen privaten Schlüssel","This is a private key. Do not share it with anyone. Keep it safe and secure. You will not be able to recover it if you lose it.":"Dies ist ein privater Schlüssel. Teile ihn mit niemandem. Bewahre ihn sicher auf. Du kannst ihn nicht wiederherstellen, falls du ihn verlierst.",Edit:"Bearbeiten",Save:"Speichern","Display Name":"Anzeigename",Bio:"Biografie","Nostr Address (NIP-05)":"Nostr-Adresse (NIP-05)","Invalid NIP-05 address":"Ungültige NIP-05 Adresse","Copy private key":"Privaten Schlüssel kopieren","Enter the password to decrypt your ncryptsec":"Gib das Passwort ein, um deinen ncryptsec zu entschlüsseln",Back:"Zurück","optional: encrypt nsec":"optional: nsec verschlüsseln",password:"Passwort","Sign up":"Registrieren","Save to":"Speichern in","Enter a name for the new relay set":"Gib einen Namen für das neue Relay-Set ein","Save to a new relay set":"In ein neues Relay-Set speichern",Mute:"Stummschalten",Muted:"Stummgeschaltet",Unmute:"Stummschaltung aufheben","Unmute user":"Benutzer-Stummschaltung aufheben","Append n relays":"Füge {{n}} Relays hinzu",Append:"Hinzufügen","Select relays to append":"Wähle die hinzuzufügenden Relays","calculating...":"berechne...","Calculate optimal read relays":"Optimale Leserelays berechnen","Login to set":"Anmelden zum Set","Please login to view following feed":"Bitte melde dich an, um den Feed der Folgenden zu sehen","Send only to r":"Nur an {{r}} senden","Send only to these relays":"Nur an diese Relays senden",Explore:"Entdecken","Search relays":"Relays suchen",relayInfoBadgeAuth:"Auth",relayInfoBadgeSearch:"Suche",relayInfoBadgePayment:"Zahlung",Operator:"Betreiber",Contact:"Kontakt",Software:"Software",Version:"Version","Random Relays":"Zufällige Relays",randomRelaysRefresh:"Aktualisieren","Explore more":"Mehr entdecken","Payment page":"Zahlungsseite","Supported NIPs":"Unterstützte NIPs","Open in a":"Öffnen in {{a}}","Cannot handle event of kind k":"Ereignis des Typs {{k}} kann nicht verarbeitet werden","Sorry! The note cannot be found 😔":"Entschuldigung! Die Notiz wurde nicht gefunden 😔","This user has been muted":"Dieser Benutzer wurde stummgeschaltet",Wallet:"Wallet",Sats:"Sats",sats:"sats","Zap to":"Zap an","Zap n sats":"Zap {{n}} sats",zapComment:"Kommentar","Default zap amount":"Standard-Zap-Betrag","Default zap comment":"Standard-Zap-Kommentar","Lightning Address (or LNURL)":"Lightning-Adresse (oder LNURL)","Quick zap":"Schneller Zap","If enabled, you can zap with a single click. Click and hold for custom amounts":"Wenn aktiviert, kannst du mit einem Klick zapen. Klicke und halte für individuelle Beträge",All:"Alle",Reactions:"Reaktionen",Zaps:"Zaps","Earlier notifications":"Frühere Benachrichtigungen","Temporarily display this note":"Notiz vorübergehend anzeigen",buttonFollowing:"Folge","Are you sure you want to unfollow this user?":"Möchtest du diesem Benutzer wirklich nicht mehr folgen?","Recent Supporters":"Neueste Unterstützer","Seen on":"Gesehen auf","Temporarily display this reply":"Antwort vorübergehend anzeigen","Note not found":"Die Notiz wurde nicht gefunden","no more replies":"keine weiteren Antworten","Relay sets":"Relay-Sets","Favorite Relays":"Lieblings-Relays","Following's Favorites":"Favoriten der Folgenden","no more relays":"keine weiteren Relays","Favorited by":"Favorisiert von","Post settings":"Beitragseinstellungen","Media upload service":"Medien-Upload-Service","Choose a relay":"Wähle ein Relay","no relays found":"Keine Relays gefunden",video:"Video","Show n new notes":"Zeige {{n}} neue Notizen",YouTabName:"Du",Bookmark:"Lesezeichen","Remove bookmark":"Lesezeichen entfernen","no bookmarks found":"Keine Lesezeichen gefunden","no more bookmarks":"Keine weiteren Lesezeichen",Bookmarks:"Lesezeichen","Show more":"Mehr anzeigen",General:"Allgemein",Autoplay:"Automatische Wiedergabe","Enable video autoplay on this device":"Aktiviere die automatische Video-Wiedergabe auf diesem Gerät","Paste or drop media files to upload":"Füge Medien-Dateien ein oder ziehe sie hierher, um sie hochzuladen",Preview:"Vorschau","You are about to publish an event signed by [{{eventAuthorName}}]. You are currently logged in as [{{currentUsername}}]. Are you sure?":"Du bist dabei, ein Ereignis zu veröffentlichen, das von [{{eventAuthorName}}] signiert wurde. Du bist derzeit als [{{currentUsername}}] angemeldet. Bist du sicher?","Platinum Sponsors":"Platin-Sponsoren",From:"Von","Comment on":"Kommentar zu","View on njump.me":"Auf njump.me ansehen","Hide content from untrusted users":"Inhalte von nicht vertrauenswürdigen Benutzern ausblenden","Only show content from your followed users and the users they follow":"Nur Inhalte von Benutzern anzeigen, denen du folgst und die sie folgen","Followed by":"Gefolgt von","Mute user privately":"Benutzer privat stummschalten","Mute user publicly":"Benutzer öffentlich stummschalten",Quotes:"Zitate","Lightning Invoice":"Lightning-Rechnung","Bookmark failed":"Bookmark fehlgeschlagen","Remove bookmark failed":"Bookmark entfernen fehlgeschlagen",Translation:"Übersetzung",Balance:"Guthaben",characters:"Zeichen",smeshTranslateApiKeyDescription:"Du kannst diesen API-Schlüssel überall dort verwenden, wo LibreTranslate unterstützt wird. Die Service-URL ist {{serviceUrl}}","Top up":"Aufladen","Will receive: {n} characters":"Erhalte: {{n}} Zeichen","Top up {n} sats":"Lade {{n}} sats auf","Minimum top up is {n} sats":"Minimale Aufladung beträgt {{n}} sats",Service:"Dienst","Reset API key":"API-Schlüssel zurücksetzen","Are you sure you want to reset your API key? This action cannot be undone.":"Bist du sicher, dass du deinen API-Schlüssel zurücksetzen möchtest? Diese Aktion kann nicht rückgängig gemacht werden.",Warning:"Warnung","Your current API key will become invalid immediately, and any applications using it will stop working until you update them with the new key.":"Dein aktueller API-Schlüssel wird sofort ungültig, und alle Anwendungen, die ihn verwenden, werden nicht mehr funktionieren, bis du sie mit dem neuen Schlüssel aktualisierst.","Service address":"Service-Adresse",Pay:"Bezahlen",interactions:"Interaktionen",notifications:"Benachrichtigungen","Show untrusted {type}":"Untrusted {{type}} anzeigen","Hide untrusted {type}":"Untrusted {{type}} ausblenden","Currently hiding {type} from untrusted users.":"Derzeit werden {{type}} von nicht vertrauenswürdigen Benutzern ausgeblendet.","Currently showing all {type}.":"Derzeit werden alle {{type}} angezeigt.","Click continue to show all {type}.":"Klicke auf Weiter, um alle {{type}} anzuzeigen.","Click continue to hide {type} from untrusted users.":"Klicke auf Weiter, um {{type}} von nicht vertrauenswürdigen Benutzern auszublenden.","Trusted users include people you follow and people they follow.":"Vertrauenswürdige Benutzer sind Personen, denen du folgst, und Personen, denen sie folgen.",Continue:"Weiter","Successfully updated mute list":"Stummschalteliste erfolgreich aktualisiert","No pubkeys found from {url}":"Keine Pubkeys von {{url}} gefunden","Translating...":"Übersetze...",Translate:"Übersetzen","Show original":"Original anzeigen",Website:"Website","Hide untrusted notes":"Untrusted Notizen ausblenden","Open in another client":"In anderem Client öffnen",Community:"Community",Group:"Gruppe","Live event":"Live-Event",Article:"Artikel",Unfavorite:"Nicht mehr favorisieren","Recommended relays":"Empfohlene Relays","Blossom server URLs":"Blossom-Server-URLs","You need to add at least one blossom server in order to upload media files.":"Du musst mindestens einen Blossom-Server hinzufügen, um Mediendateien hochladen zu können.","Recommended blossom servers":"Empfohlene Blossom-Server","Enter Blossom server URL":"Blossom-Server-URL eingeben",Preferred:"Bevorzugt","Multiple choice (select one or more)":"Mehrfachauswahl (eine oder mehrere auswählen)",Vote:"Abstimmen","{{number}} votes":"{{number}} Stimmen","Total votes":"Gesamtstimmen","Poll has ended":"Umfrage beendet","Poll ends at {{time}}":"Umfrage endet am {{time}}","Load results":"Ergebnisse laden","This is a poll note.":"Dies ist eine Umfrage-Notiz.","Unlike regular notes, polls are not widely supported and may not display on other clients.":"Im Gegensatz zu regulären Notizen werden Umfragen nicht weit verbreitet unterstützt und werden möglicherweise nicht in anderen Clients angezeigt.","Option {{number}}":"Option {{number}}","Add Option":"Option hinzufügen","Allow multiple choices":"Mehrfachauswahl erlauben","End Date (optional)":"Enddatum (optional)","Clear end date":"Enddatum löschen","Relay URLs (optional, comma-separated)":"Relay-URLs (optional, durch Kommas getrennt)","Remove poll":"Umfrage entfernen","Refresh results":"Ergebnisse aktualisieren",Poll:"Umfrage",Media:"Medien","Republish to ...":"Erneut veröffentlichen zu ...","Successfully republish to your write relays":"Erfolgreich erneut zu deinen Schreib-Relays veröffentlicht","Failed to republish to your write relays: {{error}}":"Fehler beim erneuten Veröffentlichen zu deinen Schreib-Relays: {{error}}","Successfully republish to relay set: {{name}}":"Erfolgreich erneut zu Relay-Set veröffentlicht: {{name}}","Failed to republish to relay set: {{name}}. Error: {{error}}":"Fehler beim erneuten Veröffentlichen zu Relay-Set: {{name}}. Fehler: {{error}}","Successfully republish to relay: {{url}}":"Erfolgreich erneut zu Relay veröffentlicht: {{url}}","Failed to republish to relay: {{url}}. Error: {{error}}":"Fehler beim erneuten Veröffentlichen zu Relay: {{url}}. Fehler: {{error}}","Write relays":"Schreib-Relays","No more reactions":"Keine weiteren Reaktionen","No reactions yet":"Noch keine Reaktionen","No more zaps":"Keine weiteren Zaps","No zaps yet":"Noch keine Zaps","No more reposts":"Keine weiteren Reposts","No reposts yet":"Noch keine Reposts",Reposts:"Reposts",FollowListNotFoundConfirmation:"Folgeliste nicht gefunden. Möchten Sie eine neue erstellen? Wenn Sie zuvor Benutzer gefolgt haben, bestätigen Sie bitte NICHT, da diese Operation dazu führt, dass Sie Ihre vorherige Folgeliste verlieren.",MuteListNotFoundConfirmation:"Stummschaltungsliste nicht gefunden. Möchten Sie eine neue erstellen? Wenn Sie zuvor Benutzer stummgeschaltet haben, bestätigen Sie bitte NICHT, da diese Operation dazu führt, dass Sie Ihre vorherige Stummschaltungsliste verlieren.","Show NSFW content by default":"NSFW-Inhalte standardmäßig anzeigen","Custom emoji management":"Benutzerdefinierte Emoji-Verwaltung","After changing emojis, you may need to refresh the page":"Nach dem Ändern von Emojis müssen Sie möglicherweise die Seite aktualisieren","Too many read relays":"Zu viele Lese-Relays","Too many write relays":"Zu viele Schreib-Relays","You have {{count}} read relays. Most clients only use 2-4 relays, setting more is unnecessary.":"Sie haben {{count}} Lese-Relays. Die meisten Clients verwenden nur 2-4 Relays, mehr einzustellen ist unnötig.","You have {{count}} write relays. Most clients only use 2-4 relays, setting more is unnecessary.":"Sie haben {{count}} Schreib-Relays. Die meisten Clients verwenden nur 2-4 Relays, mehr einzustellen ist unnötig.","Optimize Relay Settings":"Relay-Einstellungen optimieren","Your current relay configuration may not be optimal. This could make it difficult for others to find your posts and may result in incomplete notifications.":"Ihre aktuelle Relay-Konfiguration ist möglicherweise nicht optimal. Dies könnte es anderen erschweren, Ihre Beiträge zu finden und zu unvollständigen Benachrichtigungen führen.","Optimize Now":"Jetzt optimieren","Maybe Later":"Vielleicht später","Don't remind me again":"Nicht mehr erinnern",Posts:"Beiträge",Articles:"Artikel",Highlights:"Highlights",Polls:"Umfragen","Voice Posts":"Sprachbeiträge","Photo Posts":"Fotobeiträge","Video Posts":"Videobeiträge","Select All":"Alle auswählen","Clear All":"Alle löschen","Set as default filter":"Als Standardfilter festlegen",Apply:"Anwenden",Reset:"Zurücksetzen","Share something on this Relay":"Teile etwas auf diesem Relay","Try deleting this note":"Versuche, diese Notiz zu löschen","Deletion request sent to {{count}} relays":"Löschanfrage an {{count}} Relays gesendet","Suitable Relays":"Geeignete Relays","People, keywords, or relays":"Personen, Schlüsselwörter oder Relays","Hide content mentioning muted users":"Inhalte ausblenden, die stumme Benutzer erwähnen","This note mentions a user you muted":"Diese Notiz erwähnt einen Benutzer, den Sie stumm geschaltet haben",Filter:"Filter","mentioned you in a note":"hat Sie in einer Notiz erwähnt","quoted your note":"hat Ihre Notiz zitiert","voted in your poll":"hat in Ihrer Umfrage abgestimmt","reacted to your note":"hat auf Ihre Notiz reagiert","reposted your note":"hat Ihre Notiz geteilt","zapped your note":"hat Ihre Notiz gezappt","highlighted your note":"hat Ihre Notiz hervorgehoben","zapped you":"hat Sie gezappt","Mark as read":"Als gelesen markieren",Report:"Melden","Successfully report":"Erfolgreich gemeldet","Failed to report":"Meldung fehlgeschlagen",nudity:"Nacktheit",malware:"Schadsoftware",profanity:"Obszönität",illegal:"Illegaler Inhalt",spam:"Spam",other:"Sonstiges","Notification list style":"Benachrichtigungslistenstil","See extra info for each notification":"Zusätzliche Informationen für jede Benachrichtigung anzeigen","See more notifications at a glance":"Mehr Benachrichtigungen auf einen Blick sehen",Detailed:"Detailliert",Compact:"Kompakt","Submit Relay":"Relay einreichen",Homepage:"Homepage","Proof of Work (difficulty {{minPow}})":"Arbeitsnachweis (Schwierigkeit {{minPow}})","via {{client}}":"über {{client}}","Auto-load media":"Medien automatisch laden",Always:"Immer","Wi-Fi only":"Nur WLAN",Never:"Nie","Click to load image":"Klicken, um Bild zu laden","Click to load media":"Klicken, um Medien zu laden","Click to load YouTube video":"Klicken, um YouTube-Video zu laden","{{count}} reviews":"{{count}} Bewertungen","Write a review":"Eine Bewertung schreiben","No reviews yet. Be the first to write one!":"Noch keine Bewertungen. Seien Sie der Erste, der eine schreibt!","View more reviews":"Weitere Bewertungen anzeigen","Failed to review":"Bewertung fehlgeschlagen","Write a review and pick a star rating":"Schreiben Sie eine Bewertung und wählen Sie eine Sternebewertung",Submit:"Absenden","Reviews for {{relay}}":"Bewertungen für {{relay}}","No relays selected":"Keine Relays ausgewählt","Post to":"Posten an","Write relays and {{count}} other relays":"Schreib-Relays und {{count}} andere Relays","{{count}} relays":"{{count}} Relays","Republishing...":"Wird erneut veröffentlicht...","Connected to":"Verbunden mit","Disconnect Wallet":"Wallet trennen","Are you absolutely sure?":"Bist du dir absolut sicher?","You will not be able to send zaps to others.":"Du wirst keine Zaps mehr an andere senden können.",Disconnect:"Trennen","Start with a Rizful Vault":"Starte mit einem Rizful Vault","or other wallets":"oder andere Wallets","Rizful Vault":"Rizful Vault","Rizful Vault connected!":"Rizful Vault verbunden!","You can now use your Rizful Vault to zap your favorite notes and creators.":"Du kannst jetzt dein Rizful Vault verwenden, um deine Lieblingsnotizen und -ersteller zu zapen.","Your Lightning Address":"Deine Lightning-Adresse","New to Rizful?":"Neu bei Rizful?","Sign up for Rizful":"Registriere dich bei Rizful","If you already have a Rizful account, you can skip this step.":"Wenn du bereits ein Rizful-Konto hast, kannst du diesen Schritt überspringen.","Get your one-time code":"Hole dir deinen Einmal-Code","Get code":"Code holen","Connect to your Rizful Vault":"Verbinde dich mit deinem Rizful Vault","Paste your one-time code here":"Füge hier deinen Einmal-Code ein",Connect:"Verbinden","Set up your wallet to send and receive sats!":"Richte deine Wallet ein, um Sats zu senden und zu empfangen!","Set up":"Einrichten",Pinned:"Angepinnt",Unpin:"Anheften aufheben",Unpinning:"Anheften wird aufgehoben","Pinning...":"Wird angepinnt...","Pinned!":"Angepinnt!","Failed to pin: {{error}}":"Fehler beim Anpinnen: {{error}}","Unpinning...":"Anheften wird aufgehoben...","Unpinned!":"Anheften aufgehoben!","Failed to unpin: {{error}}":"Fehler beim Anheften aufheben: {{error}}","Unpin from profile":"Vom Profil lösen","Pin to profile":"An Profil anheften",Appearance:"Aussehen","Pure Black":"Reines Schwarz",Default:"Standard",Red:"Rot",Orange:"Orange",Amber:"Bernstein",Yellow:"Gelb",Lime:"Limette",Green:"Grün",Emerald:"Smaragd",Teal:"Blaugrün",Cyan:"Cyan",Sky:"Himmelblau",Blue:"Blau",Indigo:"Indigo",Violet:"Violett",Purple:"Lila",Fuchsia:"Fuchsia",Pink:"Rosa",Rose:"Rose","Primary color":"Primärfarbe",Layout:"Layout","Two-column":"Zweispaltig","Single-column":"Einspaltig",Reviews:"Bewertungen",Extension:"Erweiterung",Remote:"Remote","Encrypted Key":"Verschlüsselter Schlüssel","Private Key":"Privater Schlüssel","Welcome to Smesh":"Willkommen bei Smesh","Smesh is a client focused on browsing relays. Get started by exploring interesting relays or login to view your following feed.":"Smesh ist ein Nostr-Client, der sich auf den Aufbau von Gemeinschaften und die Koordination von Menschen mit souveräner Denkweise konzentriert.","Explore Relays":"Relays erkunden","Choose a feed":"Wähle einen Feed","and {{x}} others":"und {{x}} andere",selfZapWarning:"Smesh ist nicht verantwortlich für das, was passiert, wenn Sie sich selbst zappen. Fahren Sie auf eigene Gefahr fort. 😉⚡","Emoji Pack":"Emoji-Paket","Emoji pack added":"Emoji-Paket hinzugefügt","Add emoji pack failed":"Hinzufügen des Emoji-Pakets fehlgeschlagen","Emoji pack removed":"Emoji-Paket entfernt","Remove emoji pack failed":"Entfernen des Emoji-Pakets fehlgeschlagen",Added:"Hinzugefügt","Emoji Packs":"Emoji-Pakete","My Packs":"Meine Pakete","Adding...":"Wird hinzugefügt...","Removing...":"Wird entfernt...",Reload:"Neu laden","Request to Join Relay":"Relay-Beitritt beantragen","Leave Relay":"Relay verlassen",Leave:"Verlassen","Are you sure you want to leave this relay?":"Möchten Sie dieses Relay wirklich verlassen?","Join request sent successfully":"Beitrittsanfrage erfolgreich gesendet","Failed to send join request":"Fehler beim Senden der Beitrittsanfrage","Leave request sent successfully":"Austrittsanfrage erfolgreich gesendet","Failed to send leave request":"Fehler beim Senden der Austrittsanfrage","Enter an invite code if you have one. Otherwise, leave it blank to send a request.":"Geben Sie einen Einladungscode ein, falls Sie einen haben. Andernfalls lassen Sie es leer, um eine Anfrage zu senden.","Invite Code (Optional)":"Einladungscode (Optional)","Enter invite code":"Einladungscode eingeben","Sending...":"Wird gesendet...","Send Request":"Anfrage senden","You can get an invite code from a relay member.":"Sie können einen Einladungscode von einem Relay-Mitglied erhalten.","Enter the invite code you received from a relay member.":"Geben Sie den Einladungscode ein, den Sie von einem Relay-Mitglied erhalten haben.","Get Invite Code":"Einladungscode Erhalten","Share this invite code with others to invite them to join this relay.":"Teilen Sie diesen Einladungscode mit anderen, um sie einzuladen, diesem Relay beizutreten.","Invite Code":"Einladungscode",Copy:"Kopieren","This invite code can be used by others to join the relay.":"Dieser Einladungscode kann von anderen verwendet werden, um dem Relay beizutreten.","No invite code available from this relay.":"Kein Einladungscode von diesem Relay verfügbar.",Close:"Schließen","Failed to get invite code from relay":"Fehler beim Abrufen des Einladungscodes vom Relay","Failed to get invite code":"Fehler beim Abrufen des Einladungscodes","Invite code copied to clipboard":"Einladungscode in die Zwischenablage kopiert","Favicon URL":"Favicon-URL","Filter out onion relays":"Onion-Relays herausfiltern","Click to load X post":"Klicken Sie, um X-Beitrag zu laden","View Nostr comments":"Nostr-Kommentare anzeigen","Search for notes":"Notizen suchen","Search for hashtag":"Hashtag suchen","Go to note":"Zur Notiz gehen","Go to relay":"Zum Relay gehen","View discussions about this":"Diskussionen über diesen Inhalt anzeigen","Open link":"Link öffnen","View Nostr discussions":"Nostr-Diskussionen anzeigen","Optimal relays":"Optimale Relays","Successfully republish to optimal relays (your write relays and mentioned users' read relays)":"Erfolgreich auf optimale Relays neu veröffentlicht (Ihre Schreib-Relays und die Lese-Relays der erwähnten Benutzer)","Failed to republish to optimal relays: {{error}}":"Fehler beim Neuveröffentlichen auf optimale Relays: {{error}}","External Content":"Externer Inhalt",Highlight:"Hervorheben","Optimal relays and {{count}} other relays":"Optimale Relays und {{count}} andere Relays","Likely spam account (Trust score: {{percentile}}%)":"Wahrscheinlich Spam-Konto (Vertrauenswert: {{percentile}}%)","Suspicious account (Trust score: {{percentile}}%)":"Verdächtiges Konto (Vertrauenswert: {{percentile}}%)","n users":"{{count}} Benutzer","View Details":"Details anzeigen","Follow Pack Not Found":"Follow-Pack nicht gefunden","Follow pack not found":"Follow-Pack nicht gefunden",Users:"Benutzer",Feed:"Feed","Follow Pack":"Follow-Pack","Load earlier":"Früher laden","Last 24 hours":"Letzte 24 Stunden","Last {{count}} days":"Letzte {{count}} Tage",notes:"Notizen","Quick reaction":"Schnellreaktion","If enabled, you can react with a single click. Click and hold for more options":"Wenn aktiviert, können Sie mit einem Klick reagieren. Klicken und halten Sie für weitere Optionen","Quick reaction emoji":"Schnellreaktions-Emoji","Select emoji":"Emoji auswählen","NSFW content display":"NSFW content display","Hide completely":"Hide completely","Show but hide content":"Show but hide content","Show directly":"Show directly","Click to view":"Click to view","Special Follow":"Besonders Folgen","Unfollow Special":"Besonders Entfolgen","Personal Feeds":"Persönliche Feeds","Relay Feeds":"Relay-Feeds","Create Highlight":"Markierung Erstellen","Write your thoughts about this highlight...":"Schreiben Sie Ihre Gedanken zu dieser Markierung...","Publish Highlight":"Markierung Veröffentlichen","Show replies":"Antworten anzeigen","Hide replies":"Antworten ausblenden","Welcome to Smesh!":"Willkommen bei Smesh!","Your feed is empty because you are not following anyone yet. Start by exploring interesting content and following users you like!":"Ihr Feed ist leer, weil Sie noch niemandem folgen. Beginnen Sie damit, interessante Inhalte zu erkunden und Benutzern zu folgen, die Ihnen gefallen!","Search Users":"Benutzer suchen","Create New Account":"Neues Konto erstellen",Important:"Wichtig","Generate Your Account":"Konto generieren","Your private key IS your account. Keep it safe!":"Ihr privater Schlüssel IST Ihr Konto. Bewahren Sie ihn sicher auf!","In Nostr, your private key IS your account. If you lose your private key, you lose your account forever.":"In Nostr IST Ihr privater Schlüssel Ihr Konto. Wenn Sie Ihren privaten Schlüssel verlieren, verlieren Sie Ihr Konto für immer.","Your Private Key":"Ihr privater Schlüssel","Generate new key":"Neuen Schlüssel generieren","Download Backup File":"Sicherungsdatei herunterladen","Copied to Clipboard":"In Zwischenablage kopiert","Copy to Clipboard":"In Zwischenablage kopieren","I already saved my private key securely.":"Ich habe meinen privaten Schlüssel bereits sicher gespeichert.","Almost Done!":"Fast fertig!","Set a password to encrypt your key, or skip to finish":"Legen Sie ein Passwort fest, um Ihren Schlüssel zu verschlüsseln, oder überspringen Sie, um fertig zu werden","Password Protection (Optional)":"Passwortschutz (optional)","Setting a password encrypts your private key in this browser. You can skip this step, but we recommend setting one for added security.":"Das Festlegen eines Passworts verschlüsselt Ihren privaten Schlüssel in diesem Browser. Sie können diesen Schritt überspringen, aber wir empfehlen, eines für zusätzliche Sicherheit festzulegen.","Password (Optional)":"Passwort (optional)","Enter password or leave empty to skip":"Passwort eingeben oder leer lassen, um zu überspringen","Confirm Password":"Passwort bestätigen","Re-enter password":"Passwort erneut eingeben","Passwords do not match":"Passwörter stimmen nicht überein","Finish Signup":"Registrierung abschließen","Create Your Nostr Account":"Erstellen Sie Ihr Nostr-Konto","Generate your unique private key. This is your digital identity.":"Generieren Sie Ihren einzigartigen privaten Schlüssel. Dies ist Ihre digitale Identität.","Critical: Save Your Private Key":"Kritisch: Speichern Sie Ihren privaten Schlüssel","Your private key IS your account. There is no password recovery. If you lose it, you lose your account forever. Please save it in a secure location.":"Ihr privater Schlüssel IST Ihr Konto. Es gibt keine Passwortwiederherstellung. Wenn Sie ihn verlieren, verlieren Sie Ihr Konto für immer. Bitte speichern Sie ihn an einem sicheren Ort.","I have safely backed up my private key":"Ich habe meinen privaten Schlüssel sicher gesichert","Secure Your Account":"Sichern Sie Ihr Konto","Add an extra layer of protection with a password":"Fügen Sie eine zusätzliche Schutzebene mit einem Passwort hinzu","Password Protection (Recommended)":"Passwortschutz (empfohlen)","Add a password to encrypt your private key in this browser. This is optional but strongly recommended for better security.":"Fügen Sie ein Passwort hinzu, um Ihren privaten Schlüssel in diesem Browser zu verschlüsseln. Dies ist optional, aber für bessere Sicherheit dringend empfohlen.","Create a password (or skip)":"Erstellen Sie ein Passwort (oder überspringen)","Enter your password again":"Geben Sie Ihr Passwort erneut ein","Complete Signup":"Registrierung abschließen",Recommended:"Empfohlen"}},Fbe={translation:{"Welcome! 🥳":"Welcome! 🥳",About:"About","New Note":"New Note",Post:"Post",Home:"Home","Relay settings":"Relay settings",Settings:"Settings",SidebarRelays:"Relays",Refresh:"Refresh",Profile:"Profile",Logout:"Logout",Following:"Following",followings:"followings",reposted:"reposted","just now":"just now","minute ago_one":"{{count}} minute ago","minute ago_other":"{{count}} minutes ago","n m":"{{n}}m","hour ago_one":"{{count}} hour ago","hour ago_other":"{{count}} hours ago","n h":"{{n}}h","day ago_one":"{{count}} day ago","day ago_other":"{{count}} days ago","n d":"{{n}}d",date:"{{timestamp, date}}",Follow:"Follow",Unfollow:"Unfollow","Follow failed":"Follow failed","Unfollow failed":"Unfollow failed","show new notes":"show new notes","loading...":"loading...","Loading...":"Loading...","no more notes":"no more notes","reply to":"reply to",reply:"reply",Reply:"Reply","load more older replies":"load more older replies","Write something...":"Write something...",Cancel:"Cancel",Mentions:"Mentions","Failed to post":"Failed to post","Post successful":"Post successful","Your post has been published":"Your post has been published",Repost:"Repost",Quote:"Quote","Copy event ID":"Copy event ID","Copy user ID":"Copy user ID","View raw event":"View raw event",Like:"Like","switch to light theme":"switch to light theme","switch to dark theme":"switch to dark theme","switch to system theme":"switch to system theme",Note:"Note",note:"note","username's following":"{{username}}'s following","username's used relays":"{{username}}'s used relays","username's muted":"{{username}}'s muted",Login:"Login","Follows you":"Follows you","Relay Settings":"Relay Settings","Relay set name":"Relay set name","Add a new relay set":"Add a new relay set",Add:"Add","n relays":"{{n}} relays",Rename:"Rename","Copy share link":"Copy share link",Delete:"Delete","Relay already exists":"Relay already exists","invalid relay URL":"invalid relay URL","Add a new relay":"Add a new relay",back:"back","Lost in the void":"Lost in the void","Carry me home":"Carry me home","no replies":"no replies","Reply to":"Reply to",Search:"Search","The relays you are connected to do not support search":"The relays you are connected to do not support search","Show more...":"Show more...","All users":"All users","Display replies":"Display replies",Notes:"Notes",Replies:"Replies",Notifications:"Notifications","no more notifications":"no more notifications","Using private key login is insecure. It is recommended to use a browser extension for login, such as alby, nostr-keyx or nos2x. If you must use a private key, please set a password for encryption at minimum.":"Using private key login is insecure. It is recommended to use a browser extension for login, such as alby, nostr-keyx or nos2x. If you must use a private key, please set a password for encryption at minimum.","Login with Browser Extension":"Login with Browser Extension","Login with Bunker":"Login with Bunker","Login with Private Key":"Login with Private Key","Custom relay (optional)":"Custom relay (optional)","Copy this connection string to your signer app":"Copy this connection string to your signer app","reload notes":"reload notes","Logged in Accounts":"Logged in Accounts","Add an Account":"Add an Account","More options":"More options","Add client tag":"Add client tag","Show others this was sent via Smesh":"Show others this was sent via Smesh","Are you sure you want to logout?":"Are you sure you want to logout?","relay sets":"relay sets",edit:"edit",Languages:"Languages",Theme:"Theme",System:"System",Light:"Light",Dark:"Dark",Temporary:"Temporary","Choose a relay set":"Choose a relay set","Switch account":"Switch account",Pictures:"Pictures","Picture note":"Picture note","A special note for picture-first clients like Olas":"A special note for picture-first clients like Olas","Picture note requires images":"Picture note requires images",Relays:"Relays",Image:"Image","R & W":"R & W",Read:"Read",Write:"Write","Pull relay sets":"Pull relay sets","Select the relay sets you want to pull":"Select the relay sets you want to pull","No relay sets found":"No relay sets found","Pull n relay sets":"Pull {{n}} relay sets",Pull:"Pull","Select all":"Select all","Relay Sets":"Relay Sets","Read & Write Relays":"Read & Write Relays","read relays description":"Read relays are used to seek events about you. Other users will publish the events they want you to see to your read relays.","write relays description":"Write relays are used to publish your events. Other users will seek your events from your write relays.","read & write relays notice":"The number of read and write servers should ideally be kept between 2 and 4.","Don't have an account yet?":"Don't have an account yet?","or simply generate a private key":"or simply generate a private key","This is a private key. Do not share it with anyone. Keep it safe and secure. You will not be able to recover it if you lose it.":"This is a private key. Do not share it with anyone. Keep it safe and secure. You will not be able to recover it if you lose it.",Edit:"Edit",Save:"Save","Display Name":"Display Name",Bio:"Bio","Nostr Address (NIP-05)":"Nostr Address (NIP-05)","Invalid NIP-05 address":"Invalid NIP-05 address","Copy private key":"Copy private key","Enter the password to decrypt your ncryptsec":"Enter the password to decrypt your ncryptsec",Back:"Back","optional: encrypt nsec":"optional: encrypt nsec",password:"password","Sign up":"Sign up","Save to":"Save to","Enter a name for the new relay set":"Enter a name for the new relay set","Save to a new relay set":"Save to a new relay set",Mute:"Mute",Muted:"Muted",Unmute:"Unmute","Unmute user":"Unmute user","Append n relays":"Append {{n}} relays",Append:"Append","Select relays to append":"Select relays to append","calculating...":"calculating...","Calculate optimal read relays":"Calculate optimal read relays","Login to set":"Login to set","Please login to view following feed":"Please login to view following feed","Send only to r":"Send only to {{r}}","Send only to these relays":"Send only to these relays",Explore:"Explore","Search relays":"Search relays",relayInfoBadgeAuth:"Auth",relayInfoBadgeSearch:"Search",relayInfoBadgePayment:"Payment",Operator:"Operator",Contact:"Contact",Software:"Software",Version:"Version","Random Relays":"Random Relays",randomRelaysRefresh:"Refresh","Explore more":"Explore more","Payment page":"Payment page","Supported NIPs":"Supported NIPs","Open in a":"Open in {{a}}","Cannot handle event of kind k":"Cannot handle event of kind {{k}}","Sorry! The note cannot be found 😔":"Sorry! The note cannot be found 😔","This user has been muted":"This user has been muted",Wallet:"Wallet",Sats:"Sats",sats:"sats","Zap to":"Zap to","Zap n sats":"Zap {{n}} sats",zapComment:"Comment","Default zap amount":"Default zap amount","Default zap comment":"Default zap comment","Lightning Address (or LNURL)":"Lightning Address (or LNURL)","Quick zap":"Quick zap","If enabled, you can zap with a single click. Click and hold for custom amounts":"If enabled, you can zap with a single click. Click and hold for custom amounts",All:"All",Reactions:"Reactions",Zaps:"Zaps","Earlier notifications":"Earlier notifications","Temporarily display this note":"Temporarily display this note",buttonFollowing:"Following","Are you sure you want to unfollow this user?":"Are you sure you want to unfollow this user?","Recent Supporters":"Recent Supporters","Seen on":"Seen on","Temporarily display this reply":"Temporarily display this reply","Note not found":"Note not found","no more replies":"no more replies","Relay sets":"Relay sets","Favorite Relays":"Favorite Relays","Following's Favorites":"Following's Favorites","no more relays":"no more relays","Favorited by":"Favorited by","Post settings":"Post settings","Media upload service":"Media upload service","Choose a relay":"Choose a relay","no relays found":"no relays found",video:"video","Show n new notes":"Show {{n}} new notes","n new notes above":"{{n}} new notes above",YouTabName:"You",Bookmark:"Bookmark","Remove bookmark":"Remove bookmark","no bookmarks found":"no bookmarks found","no more bookmarks":"no more bookmarks",Bookmarks:"Bookmarks","Show more":"Show more",General:"General",Autoplay:"Autoplay","Enable video autoplay on this device":"Enable video autoplay on this device","Paste or drop media files to upload":"Paste or drop media files to upload",Preview:"Preview","You are about to publish an event signed by [{{eventAuthorName}}]. You are currently logged in as [{{currentUsername}}]. Are you sure?":"You are about to publish an event signed by [{{eventAuthorName}}]. You are currently logged in as [{{currentUsername}}]. Are you sure?",From:"From","Comment on":"Comment on","View on njump.me":"View on njump.me","Hide content from untrusted users":"Hide content from untrusted users","Only show content from your followed users and the users they follow":"Only show content from your followed users and the users they follow","Followed by":"Followed by","Mute user privately":"Mute user privately","Mute user publicly":"Mute user publicly",Quotes:"Quotes","Lightning Invoice":"Lightning Invoice","Bookmark failed":"Bookmark failed","Remove bookmark failed":"Remove bookmark failed",Pay:"Pay",interactions:"interactions",notifications:"notifications","Show untrusted {type}":"Show untrusted {{type}}","Hide untrusted {type}":"Hide untrusted {{type}}","Currently hiding {type} from untrusted users.":"Currently hiding {{type}} from untrusted users.","Currently showing all {type}.":"Currently showing all {{type}}.","Click continue to show all {type}.":"Click continue to show all {{type}}.","Click continue to hide {type} from untrusted users.":"Click continue to hide {{type}} from untrusted users.","Trusted users include people you follow and people they follow.":"Trusted users include people you follow and people they follow.",Continue:"Continue","Successfully updated mute list":"Successfully updated mute list","No pubkeys found from {url}":"No pubkeys found from {{url}}",Website:"Website","Hide untrusted notes":"Hide untrusted notes","Hide untrusted interactions":"Hide untrusted interactions","Hide untrusted notifications":"Hide untrusted notifications","Open in another client":"Open in another client",Community:"Community",Group:"Group","Live event":"Live event",Article:"Article",Unfavorite:"Unfavorite","Recommended relays":"Recommended relays","Blossom server URLs":"Blossom server URLs","You need to add at least one blossom server in order to upload media files.":"You need to add at least one blossom server in order to upload media files.","Recommended blossom servers":"Recommended blossom servers","Enter Blossom server URL":"Enter Blossom server URL",Preferred:"Preferred","Multiple choice (select one or more)":"Multiple choice (select one or more)",Vote:"Vote","{{number}} votes":"{{number}} votes","Total votes":"Total votes","Poll has ended":"Poll has ended","Poll ends at {{time}}":"Poll ends at {{time}}","Load results":"Load results","This is a poll note.":"This is a poll note.","Unlike regular notes, polls are not widely supported and may not display on other clients.":"Unlike regular notes, polls are not widely supported and may not display on other clients.","Option {{number}}":"Option {{number}}","Add Option":"Add Option","Allow multiple choices":"Allow multiple choices","End Date (optional)":"End Date (optional)","Clear end date":"Clear end date","Relay URLs (optional, comma-separated)":"Relay URLs (optional, comma-separated)","Remove poll":"Remove poll","Refresh results":"Refresh results",Poll:"Poll",Media:"Media","Republish to ...":"Republish to ...","Successfully republish to your write relays":"Successfully republish to your write relays","Failed to republish to your write relays: {{error}}":"Failed to republish to your write relays: {{error}}","Successfully republish to relay set: {{name}}":"Successfully republish to relay set: {{name}}","Failed to republish to relay set: {{name}}. Error: {{error}}":"Failed to republish to relay set: {{name}}. Error: {{error}}","Successfully republish to relay: {{url}}":"Successfully republish to relay: {{url}}","Failed to republish to relay: {{url}}. Error: {{error}}":"Failed to republish to relay: {{url}}. Error: {{error}}","Write relays":"Write relays","No more reactions":"No more reactions","No reactions yet":"No reactions yet","No more zaps":"No more zaps","No zaps yet":"No zaps yet","No more reposts":"No more reposts","No reposts yet":"No reposts yet",Reposts:"Reposts",FollowListNotFoundConfirmation:"Follow list not found. Do you want to create a new one? If you have followed users before, please DO NOT confirm as this operation will cause you to lose your previous follow list.",MuteListNotFoundConfirmation:"Mute list not found. Do you want to create a new one? If you have muted users before, please DO NOT confirm as this operation will cause you to lose your previous mute list.","Show NSFW content by default":"Show NSFW content by default","Custom emoji management":"Custom emoji management","After changing emojis, you may need to refresh the page":"After changing emojis, you may need to refresh the page","Too many read relays":"Too many read relays","Too many write relays":"Too many write relays","You have {{count}} read relays. Most clients only use 2-4 relays, setting more is unnecessary.":"You have {{count}} read relays. Most clients only use 2-4 relays, setting more is unnecessary.","You have {{count}} write relays. Most clients only use 2-4 relays, setting more is unnecessary.":"You have {{count}} write relays. Most clients only use 2-4 relays, setting more is unnecessary.","Optimize Relay Settings":"Optimize Relay Settings","Your current relay configuration may not be optimal. This could make it difficult for others to find your posts and may result in incomplete notifications.":"Your current relay configuration may not be optimal. This could make it difficult for others to find your posts and may result in incomplete notifications.","Optimize Now":"Optimize Now","Maybe Later":"Maybe Later","Don't remind me again":"Don't remind me again",Posts:"Posts",Articles:"Articles",Highlights:"Highlights",Polls:"Polls","Voice Posts":"Voice Posts","Photo Posts":"Photo Posts","Video Posts":"Video Posts","Select All":"Select All","Clear All":"Clear All","Set as default filter":"Set as default filter",Apply:"Apply",Reset:"Reset","Share something on this Relay":"Share something on this Relay","Try deleting this note":"Try deleting this note","Deletion request sent to {{count}} relays":"Deletion request sent to {{count}} relays","Suitable Relays":"Suitable Relays","People, keywords, or relays":"People, keywords, or relays","Hide content mentioning muted users":"Hide content mentioning muted users","This note mentions a user you muted":"This note mentions a user you muted",Filter:"Filter","mentioned you in a note":"mentioned you in a note","quoted your note":"quoted your note","voted in your poll":"voted in your poll","reacted to your note":"reacted to your note","reposted your note":"reposted your note","zapped your note":"zapped your note","highlighted your note":"highlighted your note","zapped you":"zapped you","Mark as read":"Mark as read",Report:"Report","Successfully report":"Successfully reported","Failed to report":"Failed to report",nudity:"Nudity",malware:"Malware",profanity:"Profanity",illegal:"Illegal content",spam:"Spam",other:"Other","Notification list style":"Notification list style","See extra info for each notification":"See extra info for each notification","See more notifications at a glance":"See more notifications at a glance",Detailed:"Detailed",Compact:"Compact","Submit Relay":"Submit Relay",Homepage:"Homepage","Proof of Work (difficulty {{minPow}})":"Proof of Work (difficulty {{minPow}})","via {{client}}":"via {{client}}","Auto-load media":"Auto-load media",Always:"Always","Wi-Fi only":"Wi-Fi only",Never:"Never","Click to load image":"Click to load image","Click to load media":"Click to load media","Click to load YouTube video":"Click to load YouTube video","Click to load X post":"Click to load X post","{{count}} reviews":"{{count}} reviews","Write a review":"Write a review","No reviews yet. Be the first to write one!":"No reviews yet. Be the first to write one!","View more reviews":"View more reviews","Failed to review":"Failed to review","Write a review and pick a star rating":"Write a review and pick a star rating",Submit:"Submit","Reviews for {{relay}}":"Reviews for {{relay}}","No relays selected":"No relays selected","Post to":"Post to","Write relays and {{count}} other relays":"Write relays and {{count}} other relays","{{count}} relays":"{{count}} relays","Republishing...":"Republishing...","Connected to":"Connected to","Disconnect Wallet":"Disconnect Wallet","Are you absolutely sure?":"Are you absolutely sure?","You will not be able to send zaps to others.":"You will not be able to send zaps to others.",Disconnect:"Disconnect","Start with a Rizful Vault":"Start with a Rizful Vault","or other wallets":"or other wallets","Rizful Vault":"Rizful Vault","Rizful Vault connected!":"Rizful Vault connected!","You can now use your Rizful Vault to zap your favorite notes and creators.":"You can now use your Rizful Vault to zap your favorite notes and creators.","Your Lightning Address":"Your Lightning Address","New to Rizful?":"New to Rizful?","Sign up for Rizful":"Sign up for Rizful","If you already have a Rizful account, you can skip this step.":"If you already have a Rizful account, you can skip this step.","Get your one-time code":"Get your one-time code","Get code":"Get code","Connect to your Rizful Vault":"Connect to your Rizful Vault","Paste your one-time code here":"Paste your one-time code here",Connect:"Connect","Connect Wallet":"Connect Wallet","Set up your wallet to send and receive sats!":"Set up your wallet to send and receive sats!","Set up":"Set up",Pinned:"Pinned",Unpin:"Unpin",Unpinning:"Unpinning","Pinning...":"Pinning...","Pinned!":"Pinned!","Failed to pin: {{error}}":"Failed to pin: {{error}}","Unpinning...":"Unpinning...","Unpinned!":"Unpinned!","Failed to unpin: {{error}}":"Failed to unpin: {{error}}","Unpin from profile":"Unpin from profile","Pin to profile":"Pin to profile",Appearance:"Appearance","Pure Black":"Pure Black",Default:"Default",Red:"Red",Orange:"Orange",Amber:"Amber",Yellow:"Yellow",Lime:"Lime",Green:"Green",Emerald:"Emerald",Teal:"Teal",Cyan:"Cyan",Sky:"Sky",Blue:"Blue",Indigo:"Indigo",Violet:"Violet",Purple:"Purple",Fuchsia:"Fuchsia",Pink:"Pink",Rose:"Rose","Primary color":"Primary color",Layout:"Layout","Two-column":"Two-column","Single-column":"Single-column",Reviews:"Reviews",Extension:"Extension",Remote:"Remote","Encrypted Key":"Encrypted Key","Private Key":"Private Key","Welcome to Smesh":"Welcome to Smesh","Smesh is a client focused on browsing relays. Get started by exploring interesting relays or login to view your following feed.":"Smesh is a nostr client focused on building communities and assisting in coordinating people with a sovereign mindset.","Explore Relays":"Explore Relays","Choose a feed":"Choose a feed","and {{x}} others":"and {{x}} others",selfZapWarning:"Smesh is not responsible for what happens if you zap yourself. Proceed at your own risk. 😉⚡","Emoji Pack":"Emoji Pack","Emoji pack added":"Emoji pack added","Add emoji pack failed":"Add emoji pack failed","Emoji pack removed":"Emoji pack removed","Remove emoji pack failed":"Remove emoji pack failed",Added:"Added","Emoji Packs":"Emoji Packs","My Packs":"My Packs","Adding...":"Adding...","Removing...":"Removing...",Reload:"Reload","Request to Join Relay":"Request to Join Relay","Leave Relay":"Leave Relay",Leave:"Leave","Are you sure you want to leave this relay?":"Are you sure you want to leave this relay?","Join request sent successfully":"Join request sent successfully","Failed to send join request":"Failed to send join request","Leave request sent successfully":"Leave request sent successfully","Failed to send leave request":"Failed to send leave request","Enter an invite code if you have one. Otherwise, leave it blank to send a request.":"Enter an invite code if you have one. Otherwise, leave it blank to send a request.","Invite Code (Optional)":"Invite Code (Optional)","Enter invite code":"Enter invite code","Sending...":"Sending...","Send Request":"Send Request","You can get an invite code from a relay member.":"You can get an invite code from a relay member.","Enter the invite code you received from a relay member.":"Enter the invite code you received from a relay member.","Get Invite Code":"Get Invite Code","Share this invite code with others to invite them to join this relay.":"Share this invite code with others to invite them to join this relay.","Invite Code":"Invite Code",Copy:"Copy","This invite code can be used by others to join the relay.":"This invite code can be used by others to join the relay.","No invite code available from this relay.":"No invite code available from this relay.",Close:"Close","Failed to get invite code from relay":"Failed to get invite code from relay","Failed to get invite code":"Failed to get invite code","Invite code copied to clipboard":"Invite code copied to clipboard","Favicon URL":"Favicon URL","Filter out onion relays":"Filter out onion relays","View Nostr comments":"View Nostr comments","Search for notes":"Search for notes","Search for hashtag":"Search for hashtag","Go to note":"Go to note","Go to relay":"Go to relay","View discussions about this":"View discussions about this","Open link":"Open link","View Nostr discussions":"View Nostr discussions","Optimal relays":"Optimal relays","Successfully republish to optimal relays (your write relays and mentioned users' read relays)":"Successfully republish to optimal relays (your write relays and mentioned users' read relays)","Failed to republish to optimal relays: {{error}}":"Failed to republish to optimal relays: {{error}}","External Content":"External Content",Highlight:"Highlight","Optimal relays and {{count}} other relays":"Optimal relays and {{count}} other relays","Likely spam account (Trust score: {{percentile}}%)":"Likely spam account (Trust score: {{percentile}}%)","Suspicious account (Trust score: {{percentile}}%)":"Suspicious account (Trust score: {{percentile}}%)","n users":"{{count}} users","n users_one":"{{count}} user","n users_other":"{{count}} users","View Details":"View Details","Follow Pack Not Found":"Follow Pack Not Found","Follow pack not found":"Follow pack not found",Users:"Users",Feed:"Feed","Follow Pack":"Follow Pack","Load earlier":"Load earlier","Last 24 hours":"Last 24 hours","Last {{count}} days":"Last {{count}} days",notes:"notes","Quick reaction":"Quick reaction","If enabled, you can react with a single click. Click and hold for more options":"If enabled, you can react with a single click. Click and hold for more options","Quick reaction emoji":"Quick reaction emoji","Select emoji":"Select emoji","NSFW content display":"NSFW content display","Hide completely":"Hide completely","Show but hide content":"Show but hide content","Show directly":"Show directly","Click to view":"Click to view","Special Follow":"Special Follow","Unfollow Special":"Unfollow Special","Personal Feeds":"Personal Feeds","Relay Feeds":"Relay Feeds","Create Highlight":"Create Highlight","Write your thoughts about this highlight...":"Write your thoughts about this highlight...","Publish Highlight":"Publish Highlight","Show replies":"Show replies","Hide replies":"Hide replies","Welcome to Smesh!":"Welcome to Smesh!","Your feed is empty because you are not following anyone yet. Start by exploring interesting content and following users you like!":"Your feed is empty because you are not following anyone yet. Start by exploring interesting content and following users you like!","Search Users":"Search Users","Create New Account":"Create New Account",Important:"Important","Generate Your Account":"Generate Your Account","Your private key IS your account. Keep it safe!":"Your private key IS your account. Keep it safe!","In Nostr, your private key IS your account. If you lose your private key, you lose your account forever.":"In Nostr, your private key IS your account. If you lose your account forever.","Your Private Key":"Your Private Key","Generate new key":"Generate new key","Download Backup File":"Download Backup File","Copied to Clipboard":"Copied to Clipboard","Copy to Clipboard":"Copy to Clipboard","I already saved my private key securely.":"I already saved my private key securely.","Almost Done!":"Almost Done!","Set a password to encrypt your key, or skip to finish":"Set a password to encrypt your key, or skip to finish","Password Protection (Optional)":"Password Protection (Optional)","Setting a password encrypts your private key in this browser. You can skip this step, but we recommend setting one for added security.":"Setting a password encrypts your private key in this browser. You can skip this step, but we recommend setting one for added security.","Password (Optional)":"Password (Optional)","Enter password or leave empty to skip":"Enter password or leave empty to skip","Confirm Password":"Confirm Password","Re-enter password":"Re-enter password","Passwords do not match":"Passwords do not match","Finish Signup":"Finish Signup","Create Your Nostr Account":"Create Your Nostr Account","Generate your unique private key. This is your digital identity.":"Generate your unique private key. This is your digital identity.","Critical: Save Your Private Key":"Critical: Save Your Private Key","Your private key IS your account. There is no password recovery. If you lose it, you lose your account forever. Please save it in a secure location.":"Your private key IS your account. There is no password recovery. If you lose it, you lose your account forever. Please save it in a secure location.","I have safely backed up my private key":"I have safely backed up my private key","Secure Your Account":"Secure Your Account","Add an extra layer of protection with a password":"Add an extra layer of protection with a password","Password Protection (Recommended)":"Password Protection (Recommended)","Add a password to encrypt your private key in this browser. This is optional but strongly recommended for better security.":"Add a password to encrypt your private key in this browser. This is optional but strongly recommended for better security.","Create a password (or skip)":"Create a password (or skip)","Enter your password again":"Enter your password again","Complete Signup":"Complete Signup",Recommended:"Recommended"}},Bbe={translation:{"Welcome! 🥳":"¡Bienvenido! 🥳",About:"Acerca de","New Note":"Nueva nota",Post:"Publicar",Home:"Inicio","Relay settings":"Configuración de relés",Settings:"Ajustes",SidebarRelays:"Relés",Refresh:"Actualizar",Profile:"Perfil",Logout:"Cerrar sesión",Following:"Siguiendo",followings:"siguiendo",reposted:"retransmitido","just now":"justo ahora","minute ago_one":"hace {{count}} minuto","minute ago_other":"hace {{count}} minutos","n m":"{{n}}m","hour ago_one":"hace {{count}} hora","hour ago_other":"hace {{count}} horas","n h":"{{n}}h","day ago_one":"hace {{count}} día","day ago_other":"hace {{count}} días","n d":"{{n}}d",date:"{{timestamp, date}}",Follow:"Seguir",Unfollow:"Dejar de seguir","Follow failed":"Error al seguir","Unfollow failed":"Error al dejar de seguir","show new notes":"mostrar nuevas notas","loading...":"cargando...","Loading...":"Cargando...","no more notes":"no hay más notas","reply to":"responder a",reply:"responder",Reply:"Responder","load more older replies":"cargar más respuestas antiguas","Write something...":"Escribe algo...",Cancel:"Cancelar",Mentions:"Menciones","Failed to post":"Error al publicar","Post successful":"Publicación exitosa","Your post has been published":"Tu publicación ha sido publicada",Repost:"Reenviar",Quote:"Citar","Copy event ID":"Copiar ID del evento","Copy user ID":"Copiar ID del usuario","View raw event":"Ver evento sin procesar",Like:"Me gusta","switch to light theme":"cambiar a tema claro","switch to dark theme":"cambiar a tema oscuro","switch to system theme":"cambiar al tema del sistema",Note:"Nota",note:"nota","username's following":"Siguiendo de {{username}}","username's used relays":"Relés usados por {{username}}","username's muted":"Silenciados de {{username}}",Login:"Iniciar sesión","Follows you":"Te sigue","Relay Settings":"Configuración de relés","Relay set name":"Nombre del conjunto de relés","Add a new relay set":"Agregar un nuevo conjunto de relés",Add:"Agregar","n relays":"{{n}} relés",Rename:"Renombrar","Copy share link":"Copiar enlace para compartir",Delete:"Eliminar","Relay already exists":"El relé ya existe","invalid relay URL":"URL del relé inválida","Add a new relay":"Agregar un nuevo relé",back:"atrás","Lost in the void":"Perdido en el vacío","Carry me home":"Llévame a casa","no replies":"sin respuestas","Reply to":"Responder a",Search:"Buscar","The relays you are connected to do not support search":"Los relés a los que estás conectado no soportan la búsqueda","Show more...":"Mostrar más...","All users":"Todos los usuarios","Display replies":"Mostrar respuestas",Notes:"Notas",Replies:"Respuestas",Notifications:"Notificaciones","no more notifications":"no hay más notificaciones","Using private key login is insecure. It is recommended to use a browser extension for login, such as alby, nostr-keyx or nos2x. If you must use a private key, please set a password for encryption at minimum.":"Usar el inicio de sesión con clave privada es inseguro. Se recomienda usar una extensión de navegador para iniciar sesión, como alby, nostr-keyx o nos2x. Si debes usar una clave privada, establece al menos una contraseña para cifrarla.","Login with Browser Extension":"Iniciar sesión con extensión de navegador","Login with Bunker":"Iniciar sesión con Bunker","Login with Private Key":"Iniciar sesión con clave privada","reload notes":"recargar notas","Logged in Accounts":"Cuentas conectadas","Add an Account":"Agregar una cuenta","More options":"Más opciones","Add client tag":"Agregar etiqueta de cliente","Show others this was sent via Smesh":"Mostrar a otros que esto se envió vía Smesh","Are you sure you want to logout?":"¿Estás seguro de que deseas cerrar sesión?","relay sets":"conjuntos de relés",edit:"editar",Languages:"Idiomas",Theme:"Tema",System:"Sistema",Light:"Claro",Dark:"Oscuro",Temporary:"Temporal","Choose a relay set":"Selecciona un conjunto de relés","Switch account":"Cambiar de cuenta",Pictures:"Imágenes","Picture note":"Nota con imagen","A special note for picture-first clients like Olas":"Una nota especial para clientes que priorizan imagen, como Olas","Picture note requires images":"La nota con imagen requiere imágenes",Relays:"Relés",Image:"imagen","R & W":"L y E",Read:"Leer",Write:"Escribir","Pull relay sets":"Recibir conjuntos de relés","Select the relay sets you want to pull":"Selecciona los conjuntos de relés que deseas recibir","No relay sets found":"No se encontraron conjuntos de relés","Pull n relay sets":"Recibir {{n}} conjuntos de relés",Pull:"Recibir","Select all":"Seleccionar todo","Relay Sets":"Conjuntos de relés","Read & Write Relays":"Relés de lectura y escritura","read relays description":"Los relés de lectura se usan para consultar eventos sobre ti. Otros usuarios publican eventos que deseas ver en tus relés de lectura.","write relays description":"Los relés de escritura se usan para publicar tus eventos. Otros usuarios consultan tus eventos desde tus relés de escritura.","read & write relays notice":"El número de servidores de lectura y escritura debería mantenerse idealmente entre 2 y 4.","Don't have an account yet?":"¿Aún no tienes una cuenta?","or simply generate a private key":"o simplemente genera una clave privada","This is a private key. Do not share it with anyone. Keep it safe and secure. You will not be able to recover it if you lose it.":"Esta es una clave privada. No la compartas con nadie. Guárdala de forma segura, ya que no podrás recuperarla si la pierdes.",Edit:"Editar",Save:"Guardar","Display Name":"Nombre para mostrar",Bio:"Biografía","Nostr Address (NIP-05)":"Dirección Nostr (NIP-05)","Invalid NIP-05 address":"Dirección NIP-05 inválida","Copy private key":"Copiar clave privada","Enter the password to decrypt your ncryptsec":"Introduce la contraseña para descifrar tu ncryptsec",Back:"Volver","optional: encrypt nsec":"opcional: cifrar nsec",password:"contraseña","Sign up":"Regístrate","Save to":"Guardar en","Enter a name for the new relay set":"Introduce un nombre para el nuevo conjunto de relés","Save to a new relay set":"Guardar en un nuevo conjunto de relés",Mute:"Silenciar",Muted:"Silenciado",Unmute:"Activar sonido","Unmute user":"Activar sonido del usuario","Append n relays":"Agregar {{n}} relés",Append:"Agregar","Select relays to append":"Selecciona relés para agregar","calculating...":"calculando...","Calculate optimal read relays":"Calcular relés de lectura óptimos","Login to set":"Inicia sesión para ajustar","Please login to view following feed":"Por favor inicia sesión para ver el feed de seguidos","Send only to r":"Enviar únicamente a {{r}}","Send only to these relays":"Enviar únicamente a estos relés",Explore:"Explorar","Search relays":"Buscar relés",relayInfoBadgeAuth:"Autenticación",relayInfoBadgeSearch:"Búsqueda",relayInfoBadgePayment:"Pago",Operator:"Operador",Contact:"Contacto",Software:"Software",Version:"Versión","Random Relays":"Relés aleatorios",randomRelaysRefresh:"Actualizar","Explore more":"Explorar más","Payment page":"Página de pago","Supported NIPs":"NIPs soportados","Open in a":"Abrir en {{a}}","Cannot handle event of kind k":"No se puede manejar el evento de tipo {{k}}","Sorry! The note cannot be found 😔":"¡Lo siento! No se pudo encontrar la nota 😔","This user has been muted":"Este usuario ha sido silenciado",Wallet:"Billetera",Sats:"Satoshis",sats:"satoshis","Zap to":"Enviar zap a","Zap n sats":"Enviar {{n}} satoshis",zapComment:"Comentario","Default zap amount":"Cantidad de zap predeterminada","Default zap comment":"Comentario predeterminado de zap","Lightning Address (or LNURL)":"Dirección Lightning (o LNURL)","Quick zap":"Zap rápido","If enabled, you can zap with a single click. Click and hold for custom amounts":"Si está habilitado, puedes enviar un zap con un solo clic. Haz clic y mantén pulsado para cantidades personalizadas",All:"Todo",Reactions:"Reacciones",Zaps:"Zaps","Earlier notifications":"Notificaciones anteriores","Temporarily display this note":"Mostrar esta nota temporalmente",buttonFollowing:"Siguiendo","Are you sure you want to unfollow this user?":"¿Estás seguro de que deseas dejar de seguir a este usuario?","Recent Supporters":"Últimos patrocinadores","Seen on":"Visto en","Temporarily display this reply":"Mostrar temporalmente esta respuesta","Note not found":"No se encontró la nota","no more replies":"no hay más respuestas","Relay sets":"Conjuntos de relés","Favorite Relays":"Relés favoritos","Following's Favorites":"Favoritos de los seguidos","no more relays":"no hay más relés","Favorited by":"Favoritado por","Post settings":"Ajustes de publicación","Media upload service":"Servicio de carga de medios","Choose a relay":"Selecciona un relé","no relays found":"no se encontraron relés",video:"video","Show n new notes":"Mostrar {{n}} nuevas notas",YouTabName:"You",Bookmark:"Marcador","Remove bookmark":"Quitar marcador","no bookmarks found":"No se encontraron marcadores","no more bookmarks":"No hay más marcadores",Bookmarks:"Marcadores","Show more":"Mostrar más",General:"General",Autoplay:"Reproducción automática","Enable video autoplay on this device":"Habilitar reproducción automática de video en este dispositivo","Paste or drop media files to upload":"Pegar o soltar archivos multimedia para cargar",Preview:"Vista previa","You are about to publish an event signed by [{{eventAuthorName}}]. You are currently logged in as [{{currentUsername}}]. Are you sure?":"Estás a punto de publicar un evento firmado por [{{eventAuthorName}}]. Actualmente has iniciado sesión como [{{currentUsername}}]. ¿Estás seguro?","Platinum Sponsors":"Patrocinadores Platino",From:"De","Comment on":"Comentar en","View on njump.me":"Ver en njump.me","Hide content from untrusted users":"Ocultar contenido de usuarios no confiables","Only show content from your followed users and the users they follow":"Solo mostrar contenido de tus usuarios seguidos y los usuarios que ellos siguen","Followed by":"Seguidos por","Mute user privately":"Silenciar usuario en privado","Mute user publicly":"Silenciar usuario públicamente",Quotes:"Citas","Lightning Invoice":"Factura Lightning","Bookmark failed":"Error al marcar","Remove bookmark failed":"Error al quitar marcador",Translation:"Traducción",Balance:"Saldo",characters:"caracteres",smeshTranslateApiKeyDescription:"Puedes usar esta clave API en cualquier otro lugar que soporte LibreTranslate. La URL del servicio es {{serviceUrl}}","Top up":"Recargar","Will receive: {n} characters":"Recibirás: {{n}} caracteres","Top up {n} sats":"Recargar {{n}} satoshis","Minimum top up is {n} sats":"La recarga mínima es de {{n}} satoshis",Service:"Servicio","Reset API key":"Restablecer clave API","Are you sure you want to reset your API key? This action cannot be undone.":"¿Estás seguro de que deseas restablecer tu clave API? Esta acción no se puede deshacer.",Warning:"Advertencia","Your current API key will become invalid immediately, and any applications using it will stop working until you update them with the new key.":"Tu clave API actual se volverá inválida de inmediato, y cualquier aplicación que la use dejará de funcionar hasta que las actualices con la nueva clave.","Service address":"Dirección del servicio",Pay:"Pagar",interactions:"interacciones",notifications:"notificaciones","Show untrusted {type}":"Mostrar {{type}} no confiables","Hide untrusted {type}":"Ocultar {{type}} no confiables","Currently hiding {type} from untrusted users.":"Actualmente ocultando {{type}} de usuarios no confiables.","Currently showing all {type}.":"Actualmente mostrando todas las {{type}}.","Click continue to show all {type}.":"Haz clic en continuar para mostrar todas las {{type}}.","Click continue to hide {type} from untrusted users.":"Haz clic en continuar para ocultar {{type}} de usuarios no confiables.","Trusted users include people you follow and people they follow.":"Los usuarios confiables incluyen a las personas que sigues y a las personas que ellos siguen.",Continue:"Continuar","Successfully updated mute list":"Lista de silenciamiento actualizada con éxito","No pubkeys found from {url}":"No se encontraron pubkeys desde {{url}}","Translating...":"Traduciendo...",Translate:"Traducir","Show original":"Mostrar original",Website:"Sitio web","Hide untrusted notes":"Ocultar notas no confiables","Open in another client":"Abrir en otro cliente",Community:"Comunidad",Group:"Grupo","Live event":"Evento en vivo",Article:"Artículo",Unfavorite:"Desfavoritar","Recommended relays":"Relés recomendados","Blossom server URLs":"URLs del servidor Blossom","You need to add at least one blossom server in order to upload media files.":"Necesitas agregar al menos un servidor Blossom para poder cargar archivos multimedia.","Recommended blossom servers":"Servidores Blossom recomendados","Enter Blossom server URL":"Ingresar URL del servidor Blossom",Preferred:"Preferido","Multiple choice (select one or more)":"Opción múltiple (selecciona una o más)",Vote:"Votar","{{number}} votes":"{{number}} votos","Total votes":"Total de votos","Poll has ended":"La encuesta ha terminado","Poll ends at {{time}}":"La encuesta termina el {{time}}","Load results":"Cargar resultados","This is a poll note.":"Esta es una nota de encuesta.","Unlike regular notes, polls are not widely supported and may not display on other clients.":"A diferencia de las notas regulares, las encuestas no son ampliamente compatibles y pueden no mostrarse en otros clientes.","Option {{number}}":"Opción {{number}}","Add Option":"Agregar Opción","Allow multiple choices":"Permitir múltiples opciones","End Date (optional)":"Fecha de finalización (opcional)","Clear end date":"Borrar fecha de finalización","Relay URLs (optional, comma-separated)":"URLs de relé (opcional, separadas por comas)","Remove poll":"Eliminar encuesta","Refresh results":"Actualizar resultados",Poll:"Encuesta",Media:"medios","Republish to ...":"Republicar a ...","Successfully republish to your write relays":"Republicado con éxito a tus relés de escritura","Failed to republish to your write relays: {{error}}":"Error al republicar a tus relés de escritura: {{error}}","Successfully republish to relay set: {{name}}":"Republicado con éxito al conjunto de relés: {{name}}","Failed to republish to relay set: {{name}}. Error: {{error}}":"Error al republicar al conjunto de relés: {{name}}. Error: {{error}}","Successfully republish to relay: {{url}}":"Republicado con éxito al relé: {{url}}","Failed to republish to relay: {{url}}. Error: {{error}}":"Error al republicar al relé: {{url}}. Error: {{error}}","Write relays":"Relés de escritura","No more reactions":"No hay más reacciones","No reactions yet":"Sin reacciones aún","No more zaps":"No hay más zaps","No zaps yet":"Sin zaps aún","No more reposts":"No hay más reposts","No reposts yet":"Sin reposts aún",Reposts:"Reposts",FollowListNotFoundConfirmation:"Lista de seguidos no encontrada. ¿Quieres crear una nueva? Si has seguido usuarios antes, por favor NO confirmes ya que esta operación te hará perder tu lista de seguidos anterior.",MuteListNotFoundConfirmation:"Lista de silenciados no encontrada. ¿Quieres crear una nueva? Si has silenciado usuarios antes, por favor NO confirmes ya que esta operación te hará perder tu lista de silenciados anterior.","Show NSFW content by default":"Mostrar contenido NSFW por defecto","Custom emoji management":"Gestión de emojis personalizados","After changing emojis, you may need to refresh the page":"Después de cambiar los emojis, es posible que necesites actualizar la página","Too many read relays":"Demasiados relés de lectura","Too many write relays":"Demasiados relés de escritura","You have {{count}} read relays. Most clients only use 2-4 relays, setting more is unnecessary.":"Tienes {{count}} relés de lectura. La mayoría de los clientes solo usan 2-4 relés, configurar más es innecesario.","You have {{count}} write relays. Most clients only use 2-4 relays, setting more is unnecessary.":"Tienes {{count}} relés de escritura. La mayoría de los clientes solo usan 2-4 relés, configurar más es innecesario.","Optimize Relay Settings":"Optimizar configuración de relés","Your current relay configuration may not be optimal. This could make it difficult for others to find your posts and may result in incomplete notifications.":"Tu configuración actual de relés puede no ser óptima. Esto podría hacer que sea difícil para otros encontrar tus publicaciones y puede resultar en notificaciones incompletas.","Optimize Now":"Optimizar ahora","Maybe Later":"Tal vez más tarde","Don't remind me again":"No recordar de nuevo",Posts:"Publicaciones",Articles:"Artículos",Highlights:"Destacados",Polls:"Encuestas","Voice Posts":"Publicaciones de voz","Photo Posts":"Publicaciones de fotos","Video Posts":"Publicaciones de video","Select All":"Seleccionar todo","Clear All":"Limpiar todo","Set as default filter":"Establecer como filtro predeterminado",Apply:"Aplicar",Reset:"Restablecer","Share something on this Relay":"Comparte algo en este relé","Try deleting this note":"Intenta eliminar esta nota","Deletion request sent to {{count}} relays":"Solicitud de eliminación enviada a {{count}} relés","Suitable Relays":"Relés adecuados","People, keywords, or relays":"Personas, palabras clave o relés","Hide content mentioning muted users":"Ocultar contenido que mencione usuarios silenciados","This note mentions a user you muted":"Esta nota menciona a un usuario que silenciaste",Filter:"Filtro","mentioned you in a note":"te mencionó en una nota","quoted your note":"citó tu nota","voted in your poll":"votó en tu encuesta","reacted to your note":"reaccionó a tu nota","reposted your note":"reposteó tu nota","zapped your note":"zappeó tu nota","highlighted your note":"destacó tu nota","zapped you":"te zappeó","Mark as read":"Marcar como leído",Report:"Reportar","Successfully report":"Reporte exitoso","Failed to report":"Fallo al reportar",nudity:"Desnudez",malware:"Software malicioso",profanity:"Blasfemia",illegal:"Contenido ilegal",spam:"Spam",other:"Otro","Notification list style":"Estilo de lista de notificaciones","See extra info for each notification":"Ver información adicional para cada notificación","See more notifications at a glance":"Ver más notificaciones de un vistazo",Detailed:"Detallado",Compact:"Compacto","Submit Relay":"Enviar relé",Homepage:"Página principal","Proof of Work (difficulty {{minPow}})":"Prueba de Trabajo (dificultad {{minPow}})","via {{client}}":"vía {{client}}","Auto-load media":"Cargar medios automáticamente",Always:"Siempre","Wi-Fi only":"Solo Wi-Fi",Never:"Nunca","Click to load image":"Haz clic para cargar la imagen","Click to load media":"Haz clic para cargar los medios","Click to load YouTube video":"Haz clic para cargar el video de YouTube","{{count}} reviews":"{{count}} reseñas","Write a review":"Escribir una reseña","No reviews yet. Be the first to write one!":"¡Aún no hay reseñas. Sé el primero en escribir una!","View more reviews":"Ver más reseñas","Failed to review":"Error al reseñar","Write a review and pick a star rating":"Escriba una reseña y elija una calificación de estrellas",Submit:"Enviar","Reviews for {{relay}}":"Reseñas para {{relay}}","No relays selected":"No hay relés seleccionados","Post to":"Publicar en","Write relays and {{count}} other relays":"Relés de escritura y {{count}} otros relés","{{count}} relays":"{{count}} relés","Republishing...":"Republicando...","Connected to":"Conectado a","Disconnect Wallet":"Desconectar billetera","Are you absolutely sure?":"¿Estás absolutamente seguro?","You will not be able to send zaps to others.":"No podrás enviar zaps a otros.",Disconnect:"Desconectar","Start with a Rizful Vault":"Comienza con una Bóveda Rizful","or other wallets":"o otras billeteras","Rizful Vault":"Bóveda Rizful","Rizful Vault connected!":"¡Bóveda Rizful conectada!","You can now use your Rizful Vault to zap your favorite notes and creators.":"Ahora puedes usar tu Bóveda Rizful para zapear tus notas y creadores favoritos.","Your Lightning Address":"Tu Dirección Lightning","New to Rizful?":"¿Nuevo en Rizful?","Sign up for Rizful":"Regístrate en Rizful","If you already have a Rizful account, you can skip this step.":"Si ya tienes una cuenta de Rizful, puedes omitir este paso.","Get your one-time code":"Obtén tu código de un solo uso","Get code":"Obtener código","Connect to your Rizful Vault":"Conéctate a tu Bóveda Rizful","Paste your one-time code here":"Pega tu código de un solo uso aquí",Connect:"Conectar","Set up your wallet to send and receive sats!":"¡Configura tu billetera para enviar y recibir sats!","Set up":"Configurar",Pinned:"Fijado",Unpin:"Desfijar",Unpinning:"Desfijando","Pinning...":"Fijando...","Pinned!":"¡Fijado!","Failed to pin: {{error}}":"Error al fijar: {{error}}","Unpinning...":"Desfijando...","Unpinned!":"¡Desfijado!","Failed to unpin: {{error}}":"Error al desfijar: {{error}}","Unpin from profile":"Desfijar del perfil","Pin to profile":"Fijar al perfil",Appearance:"Apariencia","Pure Black":"Negro Puro",Default:"Predeterminado",Red:"Rojo",Orange:"Naranja",Amber:"Ámbar",Yellow:"Amarillo",Lime:"Lima",Green:"Verde",Emerald:"Esmeralda",Teal:"Verde azulado",Cyan:"Cian",Sky:"Cielo",Blue:"Azul",Indigo:"Índigo",Violet:"Violeta",Purple:"Púrpura",Fuchsia:"Fucsia",Pink:"Rosa",Rose:"Rosa","Primary color":"Color primario",Layout:"Diseño","Two-column":"Doble columna","Single-column":"Columna única",Reviews:"Reseñas",Extension:"Extensión",Remote:"Remoto","Encrypted Key":"Clave privada cifrada","Private Key":"Clave privada","Welcome to Smesh":"Bienvenido a Smesh","Smesh is a client focused on browsing relays. Get started by exploring interesting relays or login to view your following feed.":"Smesh es un cliente nostr enfocado en construir comunidades y asistir en la coordinación de personas con mentalidad soberana.","Explore Relays":"Explorar Relays","Choose a feed":"Elige un feed","and {{x}} others":"y {{x}} otros",selfZapWarning:"Smesh no se hace responsable de lo que suceda si te zapeas a ti mismo. Procede bajo tu propio riesgo. 😉⚡","Emoji Pack":"Paquete de Emojis","Emoji pack added":"Paquete de emojis añadido","Add emoji pack failed":"Error al añadir paquete de emojis","Emoji pack removed":"Paquete de emojis eliminado","Remove emoji pack failed":"Error al eliminar paquete de emojis",Added:"Añadido","Emoji Packs":"Paquetes de Emojis","My Packs":"Mis Paquetes","Adding...":"Añadiendo...","Removing...":"Eliminando...",Reload:"Recargar","Request to Join Relay":"Solicitar unirse al Relay","Leave Relay":"Salir del Relay",Leave:"Salir","Are you sure you want to leave this relay?":"¿Estás seguro de que quieres salir de este relay?","Join request sent successfully":"Solicitud de unión enviada con éxito","Failed to send join request":"Error al enviar solicitud de unión","Leave request sent successfully":"Solicitud de salida enviada con éxito","Failed to send leave request":"Error al enviar solicitud de salida","Enter an invite code if you have one. Otherwise, leave it blank to send a request.":"Ingresa un código de invitación si tienes uno. De lo contrario, déjalo en blanco para enviar una solicitud.","Invite Code (Optional)":"Código de Invitación (Opcional)","Enter invite code":"Ingresa el código de invitación","Sending...":"Enviando...","Send Request":"Enviar Solicitud","You can get an invite code from a relay member.":"Puedes obtener un código de invitación de un miembro del relay.","Enter the invite code you received from a relay member.":"Ingresa el código de invitación que recibiste de un miembro del relay.","Get Invite Code":"Obtener Código de Invitación","Share this invite code with others to invite them to join this relay.":"Comparte este código de invitación con otros para invitarlos a unirse a este relay.","Invite Code":"Código de Invitación",Copy:"Copiar","This invite code can be used by others to join the relay.":"Este código de invitación puede ser usado por otros para unirse al relay.","No invite code available from this relay.":"No hay código de invitación disponible de este relay.",Close:"Cerrar","Failed to get invite code from relay":"Error al obtener código de invitación del relay","Failed to get invite code":"Error al obtener código de invitación","Invite code copied to clipboard":"Código de invitación copiado al portapapeles","Favicon URL":"URL del Favicon","Filter out onion relays":"Filtrar relés onion","Click to load X post":"Haz clic para cargar la publicación de X","View Nostr comments":"Ver comentarios de Nostr","Search for notes":"Buscar notas","Search for hashtag":"Buscar hashtag","Go to note":"Ir a la nota","Go to relay":"Ir al relay","View discussions about this":"Ver discusiones sobre este contenido","Open link":"Abrir enlace","View Nostr discussions":"Ver discusiones de Nostr","Optimal relays":"Relays óptimos","Successfully republish to optimal relays (your write relays and mentioned users' read relays)":"Republicado exitosamente en relays óptimos (tus relays de escritura y los relays de lectura de los usuarios mencionados)","Failed to republish to optimal relays: {{error}}":"Error al republicar en relays óptimos: {{error}}","External Content":"Contenido externo",Highlight:"Destacado","Optimal relays and {{count}} other relays":"Relays óptimos y {{count}} otros relays","Likely spam account (Trust score: {{percentile}}%)":"Probablemente cuenta spam (Puntuación de confianza: {{percentile}}%)","Suspicious account (Trust score: {{percentile}}%)":"Cuenta sospechosa (Puntuación de confianza: {{percentile}}%)","n users":"{{count}} usuarios","View Details":"Ver detalles","Follow Pack Not Found":"Paquete de seguimiento no encontrado","Follow pack not found":"Paquete de seguimiento no encontrado",Users:"Usuarios",Feed:"Feed","Follow Pack":"Paquete de Seguimiento","Load earlier":"Cargar anterior","Last 24 hours":"Últimas 24 horas","Last {{count}} days":"Últimos {{count}} días",notes:"notas","Quick reaction":"Reacción rápida","If enabled, you can react with a single click. Click and hold for more options":"Si está habilitado, puedes reaccionar con un solo clic. Mantén presionado para más opciones","Quick reaction emoji":"Emoji de reacción rápida","Select emoji":"Seleccionar emoji","NSFW content display":"NSFW content display","Hide completely":"Hide completely","Show but hide content":"Show but hide content","Show directly":"Show directly","Click to view":"Click to view","Special Follow":"Seguir Especial","Unfollow Special":"Dejar de Seguir Especial","Personal Feeds":"Feeds Personales","Relay Feeds":"Feeds de Relays","Create Highlight":"Crear Resaltado","Write your thoughts about this highlight...":"Escribe tus pensamientos sobre este resaltado...","Publish Highlight":"Publicar Resaltado","Show replies":"Mostrar respuestas","Hide replies":"Ocultar respuestas","Welcome to Smesh!":"¡Bienvenido a Smesh!","Your feed is empty because you are not following anyone yet. Start by exploring interesting content and following users you like!":"Tu feed está vacío porque aún no sigues a nadie. ¡Comienza explorando contenido interesante y siguiendo a los usuarios que te gusten!","Search Users":"Buscar Usuarios","Create New Account":"Crear nueva cuenta",Important:"Importante","Generate Your Account":"Generar tu cuenta","Your private key IS your account. Keep it safe!":"¡Tu clave privada ES tu cuenta. Mantenla segura!","In Nostr, your private key IS your account. If you lose your private key, you lose your account forever.":"En Nostr, tu clave privada ES tu cuenta. Si pierdes tu clave privada, pierdes tu cuenta para siempre.","Your Private Key":"Tu clave privada","Generate new key":"Generar nueva clave","Download Backup File":"Descargar archivo de respaldo","Copied to Clipboard":"Copiado al portapapeles","Copy to Clipboard":"Copiar al portapapeles","I already saved my private key securely.":"Ya guardé mi clave privada de forma segura.","Almost Done!":"¡Casi terminado!","Set a password to encrypt your key, or skip to finish":"Establece una contraseña para cifrar tu clave, o omítela para finalizar","Password Protection (Optional)":"Protección con contraseña (opcional)","Setting a password encrypts your private key in this browser. You can skip this step, but we recommend setting one for added security.":"Establecer una contraseña cifra tu clave privada en este navegador. Puedes omitir este paso, pero recomendamos establecer una para mayor seguridad.","Password (Optional)":"Contraseña (opcional)","Enter password or leave empty to skip":"Ingresa una contraseña o déjalo vacío para omitir","Confirm Password":"Confirmar contraseña","Re-enter password":"Vuelve a ingresar la contraseña","Passwords do not match":"Las contraseñas no coinciden","Finish Signup":"Finalizar registro","Create Your Nostr Account":"Crea tu cuenta de Nostr","Generate your unique private key. This is your digital identity.":"Genera tu clave privada única. Esta es tu identidad digital.","Critical: Save Your Private Key":"Crítico: Guarda tu clave privada","Your private key IS your account. There is no password recovery. If you lose it, you lose your account forever. Please save it in a secure location.":"Tu clave privada ES tu cuenta. No hay recuperación de contraseña. Si la pierdes, perderás tu cuenta para siempre. Por favor, guárdala en un lugar seguro.","I have safely backed up my private key":"He respaldado mi clave privada de forma segura","Secure Your Account":"Asegura tu cuenta","Add an extra layer of protection with a password":"Añade una capa adicional de protección con una contraseña","Password Protection (Recommended)":"Protección con contraseña (recomendado)","Add a password to encrypt your private key in this browser. This is optional but strongly recommended for better security.":"Añade una contraseña para cifrar tu clave privada en este navegador. Esto es opcional pero muy recomendado para mayor seguridad.","Create a password (or skip)":"Crear una contraseña (o saltar)","Enter your password again":"Ingresa tu contraseña nuevamente","Complete Signup":"Completar registro",Recommended:"Recomendado"}},Ube={translation:{"Welcome! 🥳":"خوش آمدید! 🥳",About:"درباره","New Note":"یادداشت جدید",Post:"ارسال",Home:"خانه","Relay settings":"تنظیمات رله",Settings:"تنظیمات",SidebarRelays:"رلهها",Refresh:"بازخوانی",Profile:"پروفایل",Logout:"خروج",Following:"دنبال میکنم",followings:"دنبال شوندهها",reposted:"بازنشر شده","just now":"همین الان","minute ago_one":"{{count}} دقیقه پیش","minute ago_other":"{{count}} دقیقه پیش","n m":"{{n}}د","hour ago_one":"{{count}} ساعت پیش","hour ago_other":"{{count}} ساعت پیش","n h":"{{n}}س","day ago_one":"{{count}} روز پیش","day ago_other":"{{count}} روز پیش","n d":"{{n}}ر",date:"{{timestamp, date}}",Follow:"دنبال کردن",Unfollow:"لغو دنبال کردن","Follow failed":"دنبال کردن ناموفق","Unfollow failed":"لغو دنبال کردن ناموفق","show new notes":"نمایش یادداشتهای جدید","loading...":"در حال بارگذاری...","Loading...":"در حال بارگذاری...","no more notes":"یادداشت بیشتری وجود ندارد","reply to":"پاسخ به",reply:"پاسخ",Reply:"پاسخ","load more older replies":"بارگذاری پاسخهای قدیمیتر","Write something...":"چیزی بنویسید...",Cancel:"لغو",Mentions:"اشارهها","Failed to post":"ارسال ناموفق","Post successful":"ارسال موفق","Your post has been published":"پست شما منتشر شد",Repost:"بازنشر",Quote:"نقل قول","Copy event ID":"کپی شناسه رویداد","Copy user ID":"کپی شناسه کاربر","View raw event":"نمایش رویداد خام",Like:"پسند","switch to light theme":"تغییر به تم روشن","switch to dark theme":"تغییر به تم تاریک","switch to system theme":"تغییر به تم سیستم",Note:"یادداشت",note:"یادداشت","username's following":"دنبال شوندههای {{username}}","username's used relays":"رلههای استفاده شده {{username}}","username's muted":"بیصدا شدههای {{username}}",Login:"ورود","Follows you":"شما را دنبال میکند","Relay Settings":"تنظیمات رله","Relay set name":"نام مجموعه رله","Add a new relay set":"افزودن مجموعه رله جدید",Add:"افزودن","n relays":"{{n}} رله",Rename:"تغییر نام","Copy share link":"کپی لینک اشتراک",Delete:"حذف","Relay already exists":"رله از قبل موجود است","invalid relay URL":"آدرس رله نامعتبر","Add a new relay":"افزودن رله جدید",back:"بازگشت","Lost in the void":"گم شده در خلاء","Carry me home":"مرا به خانه ببر","no replies":"پاسخی وجود ندارد","Reply to":"پاسخ به",Search:"جستجو","The relays you are connected to do not support search":"رلههایی که متصل هستید از جستجو پشتیبانی نمیکنند","Show more...":"نمایش بیشتر...","All users":"همه کاربران","Display replies":"نمایش پاسخها",Notes:"یادداشتها",Replies:"پاسخها",Notifications:"اعلانها","no more notifications":"اعلان بیشتری وجود ندارد","Using private key login is insecure. It is recommended to use a browser extension for login, such as alby, nostr-keyx or nos2x. If you must use a private key, please set a password for encryption at minimum.":"استفاده از کلید خصوصی برای ورود ناامن است. توصیه میشود از افزونه مرورگر برای ورود استفاده کنید، مانند alby، nostr-keyx یا nos2x. اگر مجبور به استفاده از کلید خصوصی هستید، حداقل یک رمز عبور برای رمزگذاری تنظیم کنید.","Login with Browser Extension":"ورود با افزونه مرورگر","Login with Bunker":"ورود با Bunker","Login with Private Key":"ورود با کلید خصوصی","reload notes":"بازخوانی یادداشتها","Logged in Accounts":"حسابهای وارد شده","Add an Account":"افزودن حساب","More options":"گزینههای بیشتر","Add client tag":"افزودن برچسب کلاینت","Show others this was sent via Smesh":"به دیگران نشان دهید که از طریق Smesh ارسال شده","Are you sure you want to logout?":"آیا مطمئن هستید که میخواهید خارج شوید؟","relay sets":"مجموعههای رله",edit:"ویرایش",Languages:"زبانها",Theme:"تم",System:"سیستم",Light:"روشن",Dark:"تاریک",Temporary:"موقت","Choose a relay set":"یک مجموعه رله انتخاب کنید","Switch account":"تغییر حساب",Pictures:"تصاویر","Picture note":"یادداشت تصویری","A special note for picture-first clients like Olas":"یادداشت ویژه برای کلاینتهای تصویر محور مانند Olas","Picture note requires images":"یادداشت تصویری نیاز به تصاویر دارد",Relays:"رلهها",Image:"تصویر","R & W":"خواندن و نوشتن",Read:"خواندن",Write:"نوشتن","Pull relay sets":"کشیدن مجموعههای رله","Select the relay sets you want to pull":"مجموعههای رلهای که میخواهید بکشید انتخاب کنید","No relay sets found":"مجموعه رلهای یافت نشد","Pull n relay sets":"کشیدن {{n}} مجموعه رله",Pull:"کشیدن","Select all":"انتخاب همه","Relay Sets":"مجموعههای رله","Read & Write Relays":"رلههای خواندن و نوشتن","read relays description":"رلههای خواندن برای جستجوی رویدادهای مربوط به شما استفاده میشوند. سایر کاربران رویدادهایی که میخواهند شما ببینید را به رلههای خواندن شما منتشر میکنند.","write relays description":"رلههای نوشتن برای انتشار رویدادهای شما استفاده میشوند. سایر کاربران رویدادهای شما را از رلههای نوشتن شما جستجو میکنند.","read & write relays notice":"تعداد سرورهای خواندن و نوشتن ترجیحاً باید بین ۲ تا ۴ نگه داشته شود.","Don't have an account yet?":"هنوز حساب کاربری ندارید؟","or simply generate a private key":"یا به سادگی یک کلید خصوصی تولید کنید","This is a private key. Do not share it with anyone. Keep it safe and secure. You will not be able to recover it if you lose it.":"این یک کلید خصوصی است. آن را با هیچ کس به اشتراک نگذارید. آن را ایمن و محفوظ نگه دارید. اگر آن را گم کنید نمیتوانید بازیابی کنید.",Edit:"ویرایش",Save:"ذخیره","Display Name":"نام نمایشی",Bio:"بیوگرافی","Nostr Address (NIP-05)":"آدرس Nostr (NIP-05)","Invalid NIP-05 address":"آدرس NIP-05 نامعتبر","Copy private key":"کپی کلید خصوصی","Enter the password to decrypt your ncryptsec":"رمز عبور را برای رمزگشایی ncryptsec خود وارد کنید",Back:"بازگشت","optional: encrypt nsec":"اختیاری: رمزگذاری nsec",password:"رمز عبور","Sign up":"ثبت نام","Save to":"ذخیره در","Enter a name for the new relay set":"نامی برای مجموعه رله جدید وارد کنید","Save to a new relay set":"ذخیره در مجموعه رله جدید",Mute:"بیصدا",Muted:"بیصدا شده",Unmute:"لغو بیصدا","Unmute user":"لغو بیصدا کردن کاربر","Append n relays":"افزودن {{n}} رله",Append:"افزودن","Select relays to append":"رلهها را برای افزودن انتخاب کنید","calculating...":"در حال محاسبه...","Calculate optimal read relays":"محاسبه رلههای خواندن بهینه","Login to set":"برای تنظیم وارد شوید","Please login to view following feed":"لطفاً برای مشاهده فید دنبال شوندهها وارد شوید","Send only to r":"فقط به {{r}} ارسال شود","Send only to these relays":"فقط به این رلهها ارسال شود",Explore:"کاوش","Search relays":"جستجو رلهها",relayInfoBadgeAuth:"احراز هویت",relayInfoBadgeSearch:"جستجو",relayInfoBadgePayment:"پرداخت",Operator:"اپراتور",Contact:"تماس",Software:"نرمافزار",Version:"نسخه","Random Relays":"رلههای تصادفی",randomRelaysRefresh:"بازخوانی","Explore more":"کاوش بیشتر","Payment page":"صفحه پرداخت","Supported NIPs":"NIPهای پشتیبانی شده","Open in a":"باز کردن در {{a}}","Cannot handle event of kind k":"نمیتوان رویداد از نوع {{k}} را پردازش کرد","Sorry! The note cannot be found 😔":"متأسفانه! یادداشت یافت نشد 😔","This user has been muted":"این کاربر بیصدا شده است",Wallet:"کیف پول",Sats:"ساتوشی",sats:"ساتوشی","Zap to":"زپ به","Zap n sats":"زپ {{n}} ساتوشی",zapComment:"نظر","Default zap amount":"مقدار پیشفرض زپ","Default zap comment":"نظر پیشفرض زپ","Lightning Address (or LNURL)":"آدرس لایتنینگ (یا LNURL)","Quick zap":"زپ سریع","If enabled, you can zap with a single click. Click and hold for custom amounts":"در صورت فعال بودن، میتوانید با یک کلیک زپ کنید. برای مقادیر سفارشی کلیک کرده و نگه دارید",All:"همه",Reactions:"واکنشها",Zaps:"زپها","Earlier notifications":"اعلانهای قبلی","Temporarily display this note":"نمایش موقت این یادداشت",buttonFollowing:"دنبال میکنم","Are you sure you want to unfollow this user?":"آیا مطمئن هستید که میخواهید این کاربر را دنبال نکنید؟","Recent Supporters":"حامیان اخیر","Seen on":"دیده شده در","Temporarily display this reply":"نمایش موقت این پاسخ","Note not found":"یادداشت یافت نشد","no more replies":"پاسخ بیشتری وجود ندارد","Relay sets":"مجموعههای رله","Favorite Relays":"رلههای مورد علاقه","Following's Favorites":"مورد علاقه دنبال شوندهها","no more relays":"رله بیشتری وجود ندارد","Favorited by":"مورد علاقه","Post settings":"تنظیمات پست","Media upload service":"سرویس آپلود رسانه","Choose a relay":"یک رله انتخاب کنید","no relays found":"رلهای یافت نشد",video:"ویدیو","Show n new notes":"نمایش {{n}} یادداشت جدید",YouTabName:"شما",Bookmark:"نشانک","Remove bookmark":"حذف نشانک","no bookmarks found":"نشانکی یافت نشد","no more bookmarks":"نشانک بیشتری وجود ندارد",Bookmarks:"نشانکها","Show more":"نمایش بیشتر",General:"عمومی",Autoplay:"پخش خودکار","Enable video autoplay on this device":"فعال کردن پخش خودکار ویدیو در این دستگاه","Paste or drop media files to upload":"فایلهای رسانه را برای آپلود بچسبانید یا بکشید",Preview:"پیشنمایش","You are about to publish an event signed by [{{eventAuthorName}}]. You are currently logged in as [{{currentUsername}}]. Are you sure?":"شما در حال انتشار رویدادی امضا شده توسط [{{eventAuthorName}}] هستید. در حال حاضر به عنوان [{{currentUsername}}] وارد شدهاید. آیا مطمئن هستید؟","Platinum Sponsors":"حامیان پلاتینی",From:"از","Comment on":"نظر در مورد","View on njump.me":"مشاهده در njump.me","Hide content from untrusted users":"مخفی کردن محتوا از کاربران غیرقابل اعتماد","Only show content from your followed users and the users they follow":"فقط محتوای کاربران دنبال شده و کاربرانی که آنها دنبال میکنند نشان دهید","Followed by":"دنبال شده توسط","Mute user privately":"بیصدا کردن کاربر به صورت خصوصی","Mute user publicly":"بیصدا کردن کاربر به صورت عمومی",Quotes:"نقل قولها","Lightning Invoice":"فاکتور لایتنینگ","Bookmark failed":"نشانکگذاری ناموفق","Remove bookmark failed":"حذف نشانک ناموفق",Translation:"ترجمه",Balance:"موجودی",characters:"کاراکتر",smeshTranslateApiKeyDescription:"میتوانید از این کلید API در هر جای دیگری که از LibreTranslate پشتیبانی میکند استفاده کنید. آدرس سرویس {{serviceUrl}} است","Top up":"شارژ","Will receive: {n} characters":"دریافت خواهید کرد: {{n}} کاراکتر","Top up {n} sats":"شارژ {{n}} ساتوشی","Minimum top up is {n} sats":"حداقل شارژ {{n}} ساتوشی است",Service:"سرویس","Reset API key":"بازنشانی کلید API","Are you sure you want to reset your API key? This action cannot be undone.":"آیا مطمئن هستید که میخواهید کلید API خود را بازنشانی کنید؟ این عمل قابل برگشت نیست.",Warning:"هشدار","Your current API key will become invalid immediately, and any applications using it will stop working until you update them with the new key.":"کلید API فعلی شما فوراً نامعتبر خواهد شد و هر برنامهای که از آن استفاده میکند تا زمانی که آن را با کلید جدید بهروزرسانی نکنید کار نخواهد کرد.","Service address":"آدرس سرویس",Pay:"پرداخت",interactions:"تعاملات",notifications:"اعلانها","Show untrusted {type}":"نمایش {{type}} غیرقابل اعتماد","Hide untrusted {type}":"مخفی کردن {{type}} غیرقابل اعتماد","Currently hiding {type} from untrusted users.":"در حال حاضر {{type}} از کاربران غیرقابل اعتماد مخفی میشود.","Currently showing all {type}.":"در حال حاضر همه {{type}} نمایش داده میشود.","Click continue to show all {type}.":"برای نمایش همه {{type}} روی ادامه کلیک کنید.","Click continue to hide {type} from untrusted users.":"برای مخفی کردن {{type}} از کاربران غیرقابل اعتماد روی ادامه کلیک کنید.","Trusted users include people you follow and people they follow.":"کاربران قابل اعتماد شامل افرادی که دنبال میکنید و افرادی که آنها دنبال میکنند میشوند.",Continue:"ادامه","Successfully updated mute list":"لیست بیصدا با موفقیت بهروزرسانی شد","No pubkeys found from {url}":"هیچ کلید عمومی از {{url}} یافت نشد","Translating...":"در حال ترجمه...",Translate:"ترجمه","Show original":"نمایش اصل",Website:"وبسایت","Hide untrusted notes":"مخفی کردن یادداشتهای غیرقابل اعتماد","Open in another client":"باز کردن در کلاینت دیگر",Community:"جامعه",Group:"گروه","Live event":"رویداد زنده",Article:"مقاله",Unfavorite:"حذف از علاقهمندیها","Recommended relays":"رلههای توصیه شده","Blossom server URLs":"آدرسهای سرور Blossom","You need to add at least one blossom server in order to upload media files.":"برای آپلود فایلهای رسانه نیاز دارید حداقل یک سرور blossom اضافه کنید.","Recommended blossom servers":"سرورهای blossom توصیه شده","Enter Blossom server URL":"آدرس سرور Blossom را وارد کنید",Preferred:"ترجیحی","Multiple choice (select one or more)":"چند گزینهای (یک یا چند انتخاب کنید)",Vote:"رای دادن","{{number}} votes":"{{number}} رای","Total votes":"کل آرا","Poll has ended":"نظرسنجی پایان یافته","Poll ends at {{time}}":"نظرسنجی در {{time}} پایان مییابد","Load results":"بارگیری نتایج","This is a poll note.":"این یک یادداشت نظرسنجی است.","Unlike regular notes, polls are not widely supported and may not display on other clients.":"برخلاف یادداشتهای معمولی، نظرسنجیها به طور گسترده پشتیبانی نمیشوند و ممکن است در کلاینتهای دیگر نمایش داده نشوند.","Option {{number}}":"گزینه {{number}}","Add Option":"افزودن گزینه","Allow multiple choices":"اجازه انتخابهای متعدد","End Date (optional)":"تاریخ پایان (اختیاری)","Clear end date":"پاک کردن تاریخ پایان","Relay URLs (optional, comma-separated)":"آدرسهای رله (اختیاری، جدا شده با کاما)","Remove poll":"حذف نظرسنجی","Refresh results":"بارگیری مجدد نتایج",Poll:"نظرسنجی",Media:"رسانه","Republish to ...":"بازنشر به ...","Successfully republish to your write relays":"با موفقیت بازنشر به رلههای نوشتن شما انجام شد","Failed to republish to your write relays: {{error}}":"بازنشر به رلههای نوشتن شما با خطا مواجه شد: {{error}}","Successfully republish to relay set: {{name}}":"با موفقیت بازنشر به مجموعه رله: {{name}} انجام شد","Failed to republish to relay set: {{name}}. Error: {{error}}":"بازنشر به مجموعه رله: {{name}} با خطا مواجه شد. خطا: {{error}}","Successfully republish to relay: {{url}}":"با موفقیت بازنشر به رله: {{url}} انجام شد","Failed to republish to relay: {{url}}. Error: {{error}}":"بازنشر به رله: {{url}} با خطا مواجه شد. خطا: {{error}}","Write relays":"رلههای نوشتن","No more reactions":"هیچ واکنشی بیشتر وجود ندارد","No reactions yet":"هنوز هیچ واکنشی وجود ندارد","No more zaps":"هیچ زپی بیشتر وجود ندارد","No zaps yet":"هنوز هیچ زپی وجود ندارد","No more reposts":"هیچ بازنشر بیشتری وجود ندارد","No reposts yet":"هنوز هیچ بازنشر وجود ندارد",Reposts:"بازنشرها",FollowListNotFoundConfirmation:"فهرست دنبالکنندگان پیدا نشد. آیا میخواهید یکی جدید ایجاد کنید؟ اگر قبلاً کاربرانی را دنبال کردهاید، لطفاً تأیید نکنید زیرا این عملیات باعث از دست رفتن فهرست دنبالکنندگان قبلی شما خواهد شد.",MuteListNotFoundConfirmation:"فهرست بیصدا شدهها پیدا نشد. آیا میخواهید یکی جدید ایجاد کنید؟ اگر قبلاً کاربرانی را بیصدا کردهاید، لطفاً تأیید نکنید زیرا این عملیات باعث از دست رفتن فهرست بیصدا شدههای قبلی شما خواهد شد.","Show NSFW content by default":"نمایش محتوای NSFW به صورت پیشفرض","Custom emoji management":"مدیریت شکلکهای سفارشی","After changing emojis, you may need to refresh the page":"پس از تغییر شکلکها، ممکن است نیاز به تازهسازی صفحه داشته باشید","Too many read relays":"Too many read relays","Too many write relays":"Too many write relays","You have {{count}} read relays. Most clients only use 2-4 relays, setting more is unnecessary.":"You have {{count}} read relays. Most clients only use 2-4 relays, setting more is unnecessary.","You have {{count}} write relays. Most clients only use 2-4 relays, setting more is unnecessary.":"You have {{count}} write relays. Most clients only use 2-4 relays, setting more is unnecessary.","Optimize Relay Settings":"بهینهسازی تنظیمات رله","Your current relay configuration may not be optimal. This could make it difficult for others to find your posts and may result in incomplete notifications.":"پیکربندی فعلی رله شما ممکن است بهینه نباشد. این ممکن است برای دیگران پیدا کردن پستهای شما را دشوار کند و ممکن است منجر به اعلانهای ناقص شود.","Optimize Now":"اکنون بهینهسازی کن","Maybe Later":"شاید بعداً","Don't remind me again":"دیگر به من یادآوری نکن",Posts:"پستها",Articles:"مقالهها",Highlights:"برجستهها",Polls:"نظرسنجیها","Voice Posts":"پستهای صوتی","Photo Posts":"پستهای عکس","Video Posts":"پستهای ویدیو","Select All":"انتخاب همه","Clear All":"پاک کردن همه","Set as default filter":"تنظیم به عنوان فیلتر پیشفرض",Apply:"اعمال",Reset:"بازنشانی","Share something on this Relay":"در این رله چیزی به اشتراک بگذارید","Try deleting this note":"سعی کنید این یادداشت را حذف کنید","Deletion request sent to {{count}} relays":"درخواست حذف به {{count}} رله ارسال شد","Suitable Relays":"رلههای مناسب","People, keywords, or relays":"افراد، کلمات کلیدی یا رلهها","Hide content mentioning muted users":"مخفی کردن محتوای اشاره کننده به کاربران بیصدا شده","This note mentions a user you muted":"این یادداشت به کاربری که بیصدا کردهاید اشاره میکند",Filter:"فیلتر","mentioned you in a note":"در یادداشتی از شما نام برد","quoted your note":"یادداشت شما را نقل قول کرد","voted in your poll":"در نظرسنجی شما رأی داد","reacted to your note":"به یادداشت شما واکنش نشان داد","reposted your note":"یادداشت شما را بازنشر کرد","zapped your note":"یادداشت شما را زپ کرد","highlighted your note":"یادداشت شما را برجسته کرد","zapped you":"شما را زپ کرد","Mark as read":"علامتگذاری به عنوان خوانده شده",Report:"گزارش","Successfully report":"گزارش با موفقیت ارسال شد","Failed to report":"ارسال گزارش ناموفق بود",nudity:"برهنگی",malware:"بدافزار",profanity:"فحاشی",illegal:"محتوای غیرقانونی",spam:"اسپم",other:"سایر","Notification list style":"سبک فهرست اعلانها","See extra info for each notification":"مشاهده اطلاعات اضافی برای هر اعلان","See more notifications at a glance":"مشاهده اعلانهای بیشتر در یک نگاه",Detailed:"تفصیلی",Compact:"فشرده","Submit Relay":"ارسال رله",Homepage:"صفحه اصلی","Proof of Work (difficulty {{minPow}})":"اثبات کار (دشواری {{minPow}})","via {{client}}":"از طریق {{client}}","Auto-load media":"بارگذاری خودکار رسانه",Always:"همیشه","Wi-Fi only":"فقط Wi-Fi",Never:"هرگز","Click to load image":"برای بارگذاری تصویر کلیک کنید","Click to load media":"برای بارگذاری رسانه کلیک کنید","Click to load YouTube video":"برای بارگذاری ویدیو YouTube کلیک کنید","{{count}} reviews":"{{count}} نقد","Write a review":"نوشتن نقد","No reviews yet. Be the first to write one!":"هنوز نقدی وجود ندارد. اولین نفری باشید که مینویسد!","View more reviews":"مشاهده نقدهای بیشتر","Failed to review":"نقد ناموفق","Write a review and pick a star rating":"نقدی بنویسید و امتیاز ستارهای انتخاب کنید",Submit:"ارسال","Reviews for {{relay}}":"نقدها برای {{relay}}","No relays selected":"هیچ رلهای انتخاب نشده","Post to":"پست کردن به","Write relays and {{count}} other relays":"رلههای نوشتن و {{count}} رله دیگر","{{count}} relays":"{{count}} رله","Republishing...":"در حال بازنشر...","Connected to":"متصل به","Disconnect Wallet":"قطع اتصال کیف پول","Are you absolutely sure?":"آیا کاملاً مطمئن هستید؟","You will not be able to send zaps to others.":"شما قادر نخواهید بود به دیگران زپ ارسال کنید.",Disconnect:"قطع اتصال","Start with a Rizful Vault":"شروع با Rizful Vault","or other wallets":"یا کیف پولهای دیگر","Rizful Vault":"Rizful Vault","Rizful Vault connected!":"Rizful Vault متصل شد!","You can now use your Rizful Vault to zap your favorite notes and creators.":"اکنون میتوانید از Rizful Vault خود برای زپ کردن یادداشتها و سازندگان مورد علاقه خود استفاده کنید.","Your Lightning Address":"آدرس لایتنینگ شما","New to Rizful?":"جدید در Rizful؟","Sign up for Rizful":"برای Rizful ثبت نام کنید","If you already have a Rizful account, you can skip this step.":"اگر قبلاً حساب Rizful دارید، میتوانید این مرحله را رد کنید.","Get your one-time code":"کد یکبار مصرف خود را دریافت کنید","Get code":"دریافت کد","Connect to your Rizful Vault":"اتصال به Rizful Vault خود","Paste your one-time code here":"کد یکبار مصرف خود را اینجا بچسبانید",Connect:"اتصال","Set up your wallet to send and receive sats!":"کیف پولت را تنظیم کن تا ساتس ارسال و دریافت کنی!","Set up":"تنظیم",Pinned:"پین شده",Unpin:"لغو پین",Unpinning:"در حال لغو پین...","Pinning...":"در حال پین کردن...","Pinned!":"پین شد!","Failed to pin: {{error}}":"پین کردن ناموفق بود: {{error}}","Unpinning...":"در حال لغو پین...","Unpinned!":"لغو پین شد!","Failed to unpin: {{error}}":"لغو پین ناموفق بود: {{error}}","Unpin from profile":"لغو پین از پروفایل","Pin to profile":"پین به پروفایل",Appearance:"ظاهر","Pure Black":"سیاه خالص",Default:"پیشفرض",Red:"قرمز",Orange:"نارنجی",Amber:"کهربایی",Yellow:"زرد",Lime:"لیمویی",Green:"سبز",Emerald:"زمردی",Teal:"سبز آبی",Cyan:"فیروزهای",Sky:"آسمانی",Blue:"آبی",Indigo:"نیلی",Violet:"بنفش",Purple:"ارغوانی",Fuchsia:"فوشیا",Pink:"صورتی",Rose:"گلی","Primary color":"رنگ اصلی",Layout:"چیدمان","Two-column":"دو ستونی","Single-column":"تک ستونی",Reviews:"نقدها",Extension:"افزونه",Remote:"از راه دور","Encrypted Key":"رمزگذاری شده کلید","Private Key":"کلید خصوصی","Welcome to Smesh":"به Smesh خوش آمدید","Smesh is a client focused on browsing relays. Get started by exploring interesting relays or login to view your following feed.":"Smesh یک کلاینت nostr است که بر ساختن جوامع و کمک به هماهنگی افرادی با ذهنیت حاکمیتی تمرکز دارد.","Explore Relays":"کاوش در رلهها","Choose a feed":"یک فید انتخاب کنید","and {{x}} others":"و {{x}} دیگر",selfZapWarning:"Smesh مسئولیتی در قبال اتفاقاتی که در صورت ارسال zap به خودتان میافتد ندارد. با مسئولیت خود ادامه دهید. 😉⚡","Emoji Pack":"بسته ایموجی","Emoji pack added":"بسته ایموجی اضافه شد","Add emoji pack failed":"افزودن بسته ایموجی ناموفق بود","Emoji pack removed":"بسته ایموجی حذف شد","Remove emoji pack failed":"حذف بسته ایموجی ناموفق بود",Added:"اضافه شد","Emoji Packs":"بستههای ایموجی","My Packs":"بستههای من","Adding...":"در حال افزودن...","Removing...":"در حال حذف...",Reload:"بازخوانی","Request to Join Relay":"درخواست عضویت در رله","Leave Relay":"خروج از رله",Leave:"خروج","Are you sure you want to leave this relay?":"آیا مطمئن هستید که میخواهید از این رله خارج شوید؟","Join request sent successfully":"درخواست عضویت با موفقیت ارسال شد","Failed to send join request":"ارسال درخواست عضویت ناموفق بود","Leave request sent successfully":"درخواست خروج با موفقیت ارسال شد","Failed to send leave request":"ارسال درخواست خروج ناموفق بود","Enter an invite code if you have one. Otherwise, leave it blank to send a request.":"اگر کد دعوت دارید وارد کنید. در غیر این صورت، آن را خالی بگذارید تا درخواست ارسال شود.","Invite Code (Optional)":"کد دعوت (اختیاری)","Enter invite code":"کد دعوت را وارد کنید","Sending...":"در حال ارسال...","Send Request":"ارسال درخواست","You can get an invite code from a relay member.":"میتوانید کد دعوت را از یک عضو رله دریافت کنید.","Enter the invite code you received from a relay member.":"کد دعوتی را که از یک عضو رله دریافت کردهاید وارد کنید.","Get Invite Code":"دریافت کد دعوت","Share this invite code with others to invite them to join this relay.":"این کد دعوت را با دیگران به اشتراک بگذارید تا آنها را به پیوستن به این رله دعوت کنید.","Invite Code":"کد دعوت",Copy:"کپی","This invite code can be used by others to join the relay.":"این کد دعوت میتواند توسط دیگران برای پیوستن به رله استفاده شود.","No invite code available from this relay.":"هیچ کد دعوتی از این رله در دسترس نیست.",Close:"بستن","Failed to get invite code from relay":"دریافت کد دعوت از رله ناموفق بود","Failed to get invite code":"دریافت کد دعوت ناموفق بود","Invite code copied to clipboard":"کد دعوت در کلیپبورد کپی شد","Favicon URL":"آدرس نماد سایت","Filter out onion relays":"فیلتر کردن رلههای onion","Click to load X post":"برای بارگیری پست X کلیک کنید","View Nostr comments":"مشاهده نظرات Nostr","Search for notes":"جستجوی یادداشتها","Search for hashtag":"جستجوی هشتگ","Go to note":"رفتن به یادداشت","Go to relay":"رفتن به رله","View discussions about this":"مشاهده بحثها درباره این محتوا","Open link":"باز کردن لینک","View Nostr discussions":"مشاهده بحثهای Nostr","Optimal relays":"رلههای بهینه","Successfully republish to optimal relays (your write relays and mentioned users' read relays)":"با موفقیت در رلههای بهینه منتشر شد (رلههای نوشتن شما و رلههای خواندن کاربران ذکر شده)","Failed to republish to optimal relays: {{error}}":"خطا در انتشار مجدد در رلههای بهینه: {{error}}","External Content":"محتوای خارجی",Highlight:"برجستهسازی","Optimal relays and {{count}} other relays":"رلههای بهینه و {{count}} رله دیگر","Likely spam account (Trust score: {{percentile}}%)":"احتمالاً حساب هرزنامه (امتیاز اعتماد: {{percentile}}%)","Suspicious account (Trust score: {{percentile}}%)":"حساب مشکوک (امتیاز اعتماد: {{percentile}}%)","n users":"{{count}} کاربر","View Details":"مشاهده جزئیات","Follow Pack Not Found":"بسته دنبالکننده یافت نشد","Follow pack not found":"بسته دنبالکننده یافت نشد",Users:"کاربران",Feed:"فید","Follow Pack":"بسته دنبالکننده","Load earlier":"بارگذاری قدیمیتر","Last 24 hours":"24 ساعت گذشته","Last {{count}} days":"{{count}} روز گذشته",notes:"یادداشتها","Quick reaction":"واکنش سریع","If enabled, you can react with a single click. Click and hold for more options":"اگر فعال باشد، میتوانید با یک کلیک واکنش نشان دهید. برای گزینههای بیشتر کلیک کنید و نگه دارید","Quick reaction emoji":"ایموجی واکنش سریع","Select emoji":"انتخاب ایموجی","NSFW content display":"NSFW content display","Hide completely":"Hide completely","Show but hide content":"Show but hide content","Show directly":"Show directly","Click to view":"Click to view","Special Follow":"دنبال کردن ویژه","Unfollow Special":"لغو دنبال کردن ویژه","Personal Feeds":"فیدهای شخصی","Relay Feeds":"فیدهای رله","Create Highlight":"ایجاد برجستهسازی","Write your thoughts about this highlight...":"نظرات خود را درباره این برجستهسازی بنویسید...","Publish Highlight":"انتشار برجستهسازی","Show replies":"نمایش پاسخها","Hide replies":"پنهان کردن پاسخها","Welcome to Smesh!":"به Smesh خوش آمدید!","Your feed is empty because you are not following anyone yet. Start by exploring interesting content and following users you like!":"فید شما خالی است زیرا هنوز کسی را دنبال نمیکنید. با کاوش محتوای جالب و دنبال کردن کاربرانی که دوست دارید شروع کنید!","Search Users":"جستجوی کاربران","Create New Account":"ایجاد حساب کاربری جدید",Important:"مهم","Generate Your Account":"ایجاد حساب کاربری","Your private key IS your account. Keep it safe!":"کلید خصوصی شما همان حساب کاربری شماست. آن را ایمن نگه دارید!","In Nostr, your private key IS your account. If you lose your private key, you lose your account forever.":"در Nostr، کلید خصوصی شما همان حساب کاربری شماست. اگر کلید خصوصی خود را گم کنید، برای همیشه حساب خود را از دست میدهید.","Your Private Key":"کلید خصوصی شما","Generate new key":"ایجاد کلید جدید","Download Backup File":"دانلود فایل پشتیبان","Copied to Clipboard":"در کلیپبورد کپی شد","Copy to Clipboard":"کپی در کلیپبورد","I already saved my private key securely.":"من قبلاً کلید خصوصی خود را به طور ایمن ذخیره کردهام.","Almost Done!":"تقریباً تمام شد!","Set a password to encrypt your key, or skip to finish":"یک رمز عبور برای رمزگذاری کلید خود تنظیم کنید، یا برای پایان دادن رد کنید","Password Protection (Optional)":"حفاظت با رمز عبور (اختیاری)","Setting a password encrypts your private key in this browser. You can skip this step, but we recommend setting one for added security.":"تنظیم رمز عبور، کلید خصوصی شما را در این مرورگر رمزگذاری میکند. میتوانید این مرحله را رد کنید، اما ما برای امنیت بیشتر توصیه میکنیم یکی تنظیم کنید.","Password (Optional)":"رمز عبور (اختیاری)","Enter password or leave empty to skip":"رمز عبور را وارد کنید یا برای رد کردن خالی بگذارید","Confirm Password":"تأیید رمز عبور","Re-enter password":"رمز عبور را دوباره وارد کنید","Passwords do not match":"رمزهای عبور مطابقت ندارند","Finish Signup":"پایان ثبتنام","Create Your Nostr Account":"حساب Nostr خود را ایجاد کنید","Generate your unique private key. This is your digital identity.":"کلید خصوصی منحصر به فرد خود را ایجاد کنید. این هویت دیجیتال شماست.","Critical: Save Your Private Key":"حیاتی: کلید خصوصی خود را ذخیره کنید","Your private key IS your account. There is no password recovery. If you lose it, you lose your account forever. Please save it in a secure location.":"کلید خصوصی شما حساب شماست. بازیابی رمز عبور وجود ندارد. اگر آن را گم کنید، حساب خود را برای همیشه از دست خواهید داد. لطفاً آن را در مکانی امن ذخیره کنید.","I have safely backed up my private key":"من به طور ایمن از کلید خصوصی خود نسخه پشتیبان تهیه کردهام","Secure Your Account":"حساب خود را ایمن کنید","Add an extra layer of protection with a password":"یک لایه حفاظتی اضافی با رمز عبور اضافه کنید","Password Protection (Recommended)":"حفاظت با رمز عبور (توصیه شده)","Add a password to encrypt your private key in this browser. This is optional but strongly recommended for better security.":"یک رمز عبور برای رمزگذاری کلید خصوصی خود در این مرورگر اضافه کنید. این اختیاری است اما برای امنیت بهتر به شدت توصیه میشود.","Create a password (or skip)":"یک رمز عبور ایجاد کنید (یا رد کنید)","Enter your password again":"رمز عبور خود را دوباره وارد کنید","Complete Signup":"تکمیل ثبتنام",Recommended:"توصیه شده"}},$be={translation:{"Welcome! 🥳":"Bienvenue ! 🥳",About:"À propos","New Note":"Nouvelle note",Post:"Publier",Home:"Accueil","Relay settings":"Paramètres du relais",Settings:"Paramètres",SidebarRelays:"Relais",Refresh:"Rafraîchir",Profile:"Profil",Logout:"Déconnexion",Following:"Abonnements",followings:"abonnements",reposted:"republié","just now":"à l'instant","minute ago_one":"il y a {{count}} minute","minute ago_other":"il y a {{count}} minutes","n m":"{{n}}m","hour ago_one":"il y a {{count}} heure","hour ago_other":"il y a {{count}} heures","n h":"{{n}}h","day ago_one":"il y a {{count}} jour","day ago_other":"il y a {{count}} jours","n d":"{{n}}j",date:"{{timestamp, date}}",Follow:"Suivre",Unfollow:"Ne plus suivre","Follow failed":"Échec du suivi","Unfollow failed":"Échec de l'arrêt du suivi","show new notes":"afficher les nouvelles notes","loading...":"chargement...","Loading...":"Chargement...","no more notes":"plus de notes","reply to":"répondre à",reply:"répondre",Reply:"Répondre","load more older replies":"charger plus de réponses anciennes","Write something...":"Écrire quelque chose...",Cancel:"Annuler",Mentions:"Mentions","Failed to post":"Publication échouée","Post successful":"Publication réussie","Your post has been published":"Votre publication a été publiée",Repost:"Reposter",Quote:"Citer","Copy event ID":"Copier l'ID de l'événement","Copy user ID":"Copier l'ID de l'utilisateur","View raw event":"Voir l'événement brut",Like:"Aimer","switch to light theme":"passer au thème clair","switch to dark theme":"passer au thème sombre","switch to system theme":"passer au thème système",Note:"Note",note:"note","username's following":"les abonnements de {{username}}","username's used relays":"les relais utilisés par {{username}}","username's muted":"{{username}} en sourdine",Login:"Connexion","Follows you":"Vous suit","Relay Settings":"Paramètres des relais","Relay set name":"Nom du groupe de relais","Add a new relay set":"Ajouter un nouveau groupe de relais",Add:"Ajouter","n relays":"{{n}} relais",Rename:"Renommer","Copy share link":"Copier le lien de partage",Delete:"Supprimer","Relay already exists":"Le relais existe déjà","invalid relay URL":"URL de relais invalide","Add a new relay":"Ajouter un nouveau relais",back:"retour","Lost in the void":"Perdu dans le vide","Carry me home":"Ramène-moi à la maison","no replies":"aucune réponse","Reply to":"Répondre à",Search:"Recherche","The relays you are connected to do not support search":"Les relais auxquels vous êtes connecté ne prennent pas en charge la recherche","Show more...":"Afficher plus...","All users":"Tous les utilisateurs","Display replies":"Afficher les réponses",Notes:"Notes",Replies:"Réponses",Notifications:"Notifications","no more notifications":"plus de notifications","Using private key login is insecure. It is recommended to use a browser extension for login, such as alby, nostr-keyx or nos2x. If you must use a private key, please set a password for encryption at minimum.":"L'utilisation de la connexion par clé privée n'est pas sécurisée. Il est recommandé d'utiliser une extension de navigateur pour la connexion, comme alby, nostr-keyx ou nos2x. Si vous devez utiliser une clé privée, veuillez au moins définir un mot de passe pour le chiffrement.","Login with Browser Extension":"Connexion avec une extension de navigateur","Login with Bunker":"Connexion avec Bunker","Login with Private Key":"Connexion avec clé privée","reload notes":"recharger les notes","Logged in Accounts":"Comptes connectés","Add an Account":"Ajouter un compte","More options":"Plus d'options","Add client tag":"Ajouter une étiquette client","Show others this was sent via Smesh":"Montrer aux autres que cela a été envoyé via Smesh","Are you sure you want to logout?":"Êtes-vous sûr de vouloir vous déconnecter ?","relay sets":"groupes de relais",edit:"modifier",Languages:"Langues",Theme:"Thème",System:"Système",Light:"Clair",Dark:"Sombre",Temporary:"Temporaire","Choose a relay set":"Choisissez un groupe de relais","Switch account":"Changer de compte",Pictures:"Images","Picture note":"Note image","A special note for picture-first clients like Olas":"Une note spéciale pour les clients axés sur l'image comme Olas","Picture note requires images":"La note image nécessite des images",Relays:"Relais",Image:"image","R & W":"R & W",Read:"Lire",Write:"Écrire","Pull relay sets":"Récupérer les groupes de relais","Select the relay sets you want to pull":"Sélectionnez les groupes de relais à récupérer","No relay sets found":"Aucun groupe de relais trouvé","Pull n relay sets":"Récupérer {{n}} groupes de relais",Pull:"Récupérer","Select all":"Tout sélectionner","Relay Sets":"Groupes de relais","Read & Write Relays":"Relais lecture & écriture","read relays description":"Les relais de lecture permettent de consulter vos événements. D'autres utilisateurs y publieront les événements à afficher sur vos relais de lecture.","write relays description":"Les relais d'écriture servent à publier vos événements. D'autres utilisateurs rechercheront vos événements via ces relais.","read & write relays notice":"Il est recommandé de maintenir entre 2 et 4 serveurs de lecture et d'écriture.","Don't have an account yet?":"Vous n'avez pas encore de compte ?","or simply generate a private key":"ou générez simplement une clé privée","This is a private key. Do not share it with anyone. Keep it safe and secure. You will not be able to recover it if you lose it.":"Ceci est une clé privée. Ne la divulguez à personne. Gardez-la en sécurité. Vous ne pourrez pas la récupérer en cas de perte.",Edit:"Modifier",Save:"Enregistrer","Display Name":"Nom d'affichage",Bio:"Biographie","Nostr Address (NIP-05)":"Adresse Nostr (NIP-05)","Invalid NIP-05 address":"Adresse NIP-05 invalide","Copy private key":"Copier la clé privée","Enter the password to decrypt your ncryptsec":"Entrez le mot de passe pour décrypter votre ncryptsec",Back:"Retour","optional: encrypt nsec":"facultatif : chiffrer nsec",password:"mot de passe","Sign up":"S'inscrire","Save to":"Enregistrer dans","Enter a name for the new relay set":"Entrez un nom pour le nouveau groupe de relais","Save to a new relay set":"Enregistrer dans un nouveau groupe de relais",Mute:"Couper le son",Muted:"En sourdine",Unmute:"Activer le son","Unmute user":"Désactiver la sourdine de l'utilisateur","Append n relays":"Ajouter {{n}} relais",Append:"Ajouter","Select relays to append":"Sélectionnez les relais à ajouter","calculating...":"calcul en cours...","Calculate optimal read relays":"Calculer les relais de lecture optimaux","Login to set":"Connectez-vous pour définir","Please login to view following feed":"Veuillez vous connecter pour voir le fil d’abonnements","Send only to r":"Envoyer uniquement à {{r}}","Send only to these relays":"Envoyer uniquement à ces relais",Explore:"Explorer","Search relays":"Rechercher des relais",relayInfoBadgeAuth:"Auth",relayInfoBadgeSearch:"Recherche",relayInfoBadgePayment:"Paiement",Operator:"Opérateur",Contact:"Contact",Software:"Logiciel",Version:"Version","Random Relays":"Relais aléatoires",randomRelaysRefresh:"Rafraîchir","Explore more":"Explorer davantage","Payment page":"Page de paiement","Supported NIPs":"NIPs supportés","Open in a":"Ouvrir dans {{a}}","Cannot handle event of kind k":"Impossible de traiter l'événement de type {{k}}","Sorry! The note cannot be found 😔":"Désolé ! La note est introuvable 😔","This user has been muted":"Cet utilisateur a été mis en sourdine",Wallet:"Portefeuille",Sats:"Sats",sats:"sats","Zap to":"Zap vers","Zap n sats":"Zap {{n}} sats",zapComment:"Commentaire","Default zap amount":"Montant de zap par défaut","Default zap comment":"Commentaire de zap par défaut","Lightning Address (or LNURL)":"Adresse Lightning (ou LNURL)","Quick zap":"Zap rapide","If enabled, you can zap with a single click. Click and hold for custom amounts":"Si activé, vous pouvez zap avec un seul clic. Cliquez et maintenez pour des montants personnalisés",All:"Tous",Reactions:"Réactions",Zaps:"Zaps","Earlier notifications":"Notifications antérieures","Temporarily display this note":"Afficher temporairement cette note",buttonFollowing:"Suivi","Are you sure you want to unfollow this user?":"Êtes-vous sûr de vouloir arrêter de suivre cet utilisateur ?","Recent Supporters":"Derniers soutiens","Seen on":"Vu sur","Temporarily display this reply":"Afficher temporairement cette réponse","Note not found":"Note introuvable","no more replies":"aucune autre réponse","Relay sets":"Groupes de relais","Favorite Relays":"Relais favoris","Following's Favorites":"Following's Favorites","no more relays":"aucun autre relais","Favorited by":"Favorisé par","Post settings":"Paramètres de publication","Media upload service":"Service de téléchargement de médias","Choose a relay":"Choisir un relais","no relays found":"aucun relais trouvé",video:"vidéo","Show n new notes":"Afficher {{n}} nouvelles notes",YouTabName:"Vous",Bookmark:"Favori","Remove bookmark":"Retirer le favori","no bookmarks found":"Aucun favori trouvé","no more bookmarks":"Plus de favoris",Bookmarks:"Favoris","Show more":"Afficher plus",General:"Général",Autoplay:"Lecture automatique","Enable video autoplay on this device":"Activer la lecture automatique des vidéos sur cet appareil","Paste or drop media files to upload":"Coller ou déposer des fichiers multimédias à télécharger",Preview:"Aperçu","You are about to publish an event signed by [{{eventAuthorName}}]. You are currently logged in as [{{currentUsername}}]. Are you sure?":"Vous êtes sur le point de publier un événement signé par [{{eventAuthorName}}]. Vous êtes actuellement connecté en tant que [{{currentUsername}}]. Êtes-vous sûr ?","Platinum Sponsors":"Sponsors Platine",From:"De","Comment on":"Commenter sur","View on njump.me":"Voir sur njump.me","Hide content from untrusted users":"Hider le contenu des utilisateurs non fiables","Only show content from your followed users and the users they follow":"Afficher uniquement le contenu de vos utilisateurs suivis et des utilisateurs qu’ils suivent","Followed by":"Suivi par","Mute user privately":"Mettre l’utilisateur en sourdine en privé","Mute user publicly":"Mettre l’utilisateur en sourdine publiquement",Quotes:"Citations","Lightning Invoice":"Facture Lightning","Bookmark failed":"Échec de la mise en favori","Remove bookmark failed":"Échec de la suppression du favori",Translation:"Traduction",Balance:"Solde",characters:"caractères",smeshTranslateApiKeyDescription:"Vous pouvez utiliser cette clé API ailleurs qui prend en charge LibreTranslate. L’URL du service est {{serviceUrl}}","Top up":"Recharger","Will receive: {n} characters":"Vous recevrez : {{n}} caractères","Top up {n} sats":"Recharger {{n}} sats","Minimum top up is {n} sats":"Le rechargement minimum est de {{n}} sats",Service:"Service","Reset API key":"Réinitialiser la clé API","Are you sure you want to reset your API key? This action cannot be undone.":"Êtes-vous sûr de vouloir réinitialiser votre clé API ? Cette action ne peut pas être annulée.",Warning:"Avertissement","Your current API key will become invalid immediately, and any applications using it will stop working until you update them with the new key.":"Votre clé API actuelle deviendra immédiatement invalide, et toutes les applications qui l’utilisent cesseront de fonctionner jusqu’à ce que vous les mettiez à jour avec la nouvelle clé.","Service address":"Adresse du service",Pay:"Payer",interactions:"interactions",notifications:"notifications","Show untrusted {type}":"Afficher les {{type}} non fiables","Hide untrusted {type}":"Cacher les {{type}} non fiables","Currently hiding {type} from untrusted users.":"Actuellement, les {{type}} des utilisateurs non fiables sont masquées.","Currently showing all {type}.":"Actuellement, tous les {{type}} sont affichés.","Click continue to show all {type}.":"Cliquez sur continuer pour afficher tous les {{type}}.","Click continue to hide {type} from untrusted users.":"Cliquez sur continuer pour masquer les {{type}} des utilisateurs non fiables.","Trusted users include people you follow and people they follow.":"Les utilisateurs de confiance incluent les personnes que vous suivez et les personnes qu’elles suivent.",Continue:"Continuer","Successfully updated mute list":"Liste de sourdine mise à jour avec succès","No pubkeys found from {url}":"Aucun pubkey trouvé à partir de {{url}}","Translating...":"Traduction en cours...",Translate:"Traduire","Show original":"Afficher l’original",Website:"Site Web","Hide untrusted notes":"Cacher les notes non fiables","Open in another client":"Ouvrir dans un autre client",Community:"Communauté",Group:"Groupe","Live event":"Événement en direct",Article:"Article",Unfavorite:"Ne plus aimer","Recommended relays":"Relais recommandés","Blossom server URLs":"URLs du serveur Blossom","You need to add at least one blossom server in order to upload media files.":"Vous devez ajouter au moins un serveur Blossom pour pouvoir télécharger des fichiers multimédias.","Recommended blossom servers":"Serveurs Blossom recommandés","Enter Blossom server URL":"Entrer l’URL du serveur Blossom",Preferred:"Préféré","Multiple choice (select one or more)":"Choix multiple (sélectionnez un ou plusieurs)",Vote:"Voter","{{number}} votes":"{{number}} votes","Total votes":"Total des votes","Poll has ended":"Le sondage est terminé","Poll ends at {{time}}":"Le sondage se termine le {{time}}","Load results":"Charger les résultats","This is a poll note.":"Ceci est une note de sondage.","Unlike regular notes, polls are not widely supported and may not display on other clients.":"Contrairement aux notes régulières, les sondages ne sont pas largement pris en charge et peuvent ne pas s'afficher sur d'autres clients.","Option {{number}}":"Option {{number}}","Add Option":"Ajouter une option","Allow multiple choices":"Autoriser les choix multiples","End Date (optional)":"Date de fin (optionnel)","Clear end date":"Effacer la date de fin","Relay URLs (optional, comma-separated)":"URLs de relais (optionnel, séparées par des virgules)","Remove poll":"Supprimer le sondage","Refresh results":"Rafraîchir les résultats",Poll:"Sondage",Media:"média","Republish to ...":"Reposter vers ...","Successfully republish to your write relays":"Republié avec succès vers vos relais d’écriture","Failed to republish to your write relays: {{error}}":"Échec du republishing vers vos relais d’écriture : {{error}}","Successfully republish to relay set: {{name}}":"Republié avec succès vers le groupe de relais : {{name}}","Failed to republish to relay set: {{name}}. Error: {{error}}":"Échec du republishing vers le groupe de relais : {{name}}. Erreur : {{error}}","Successfully republish to relay: {{url}}":"Republié avec succès vers le relais : {{url}}","Failed to republish to relay: {{url}}. Error: {{error}}":"Échec du republishing vers le relais : {{url}}. Erreur : {{error}}","Write relays":"Relais d’écriture","No more reactions":"Plus de réactions","No reactions yet":"Pas encore de réactions","No more zaps":"Plus de zaps","No zaps yet":"Pas encore de zaps","No more reposts":"Plus de reposts","No reposts yet":"Pas encore de reposts",Reposts:"Reposts",FollowListNotFoundConfirmation:"Liste de suivi non trouvée. Voulez-vous en créer une nouvelle ? Si vous avez suivi des utilisateurs auparavant, veuillez NE PAS confirmer car cette opération vous fera perdre votre liste de suivi précédente.",MuteListNotFoundConfirmation:"Liste de mise en sourdine non trouvée. Voulez-vous en créer une nouvelle ? Si vous avez mis en sourdine des utilisateurs auparavant, veuillez NE PAS confirmer car cette opération vous fera perdre votre liste de mise en sourdine précédente.","Show NSFW content by default":"Afficher le contenu NSFW par défaut","Custom emoji management":"Gestion des émojis personnalisés","After changing emojis, you may need to refresh the page":"Après avoir modifié les émojis, vous devrez peut-être actualiser la page","Too many read relays":"Trop de relais de lecture","Too many write relays":"Trop de relais d'écriture","You have {{count}} read relays. Most clients only use 2-4 relays, setting more is unnecessary.":"Vous avez {{count}} relais de lecture. La plupart des clients n'utilisent que 2 à 4 relais, en configurer plus est inutile.","You have {{count}} write relays. Most clients only use 2-4 relays, setting more is unnecessary.":"Vous avez {{count}} relais d'écriture. La plupart des clients n'utilisent que 2 à 4 relais, en configurer plus est inutile.","Optimize Relay Settings":"Optimiser les paramètres de relais","Your current relay configuration may not be optimal. This could make it difficult for others to find your posts and may result in incomplete notifications.":"Votre configuration de relais actuelle pourrait ne pas être optimale. Cela pourrait rendre difficile pour les autres de trouver vos publications et pourrait entraîner des notifications incomplètes.","Optimize Now":"Optimiser maintenant","Maybe Later":"Peut-être plus tard","Don't remind me again":"Ne plus me rappeler",Posts:"Publications",Articles:"Articles",Highlights:"Surlignages",Polls:"Sondages","Voice Posts":"Publications vocales","Photo Posts":"Publications photo","Video Posts":"Publications vidéo","Select All":"Tout sélectionner","Clear All":"Tout effacer","Set as default filter":"Définir comme filtre par défaut",Apply:"Appliquer",Reset:"Réinitialiser","Share something on this Relay":"Partager quelque chose sur ce relais","Try deleting this note":"Essayez de supprimer cette note","Deletion request sent to {{count}} relays":"Demande de suppression envoyée à {{count}} relais","Suitable Relays":"Relais adaptés","People, keywords, or relays":"Personnes, mots-clés ou relais","Hide content mentioning muted users":"Masquer le contenu mentionnant des utilisateurs masqués","This note mentions a user you muted":"Cette note mentionne un utilisateur que vous avez masqué",Filter:"Filtre","mentioned you in a note":"vous a mentionné dans une note","quoted your note":"a cité votre note","voted in your poll":"a voté dans votre sondage","reacted to your note":"a réagi à votre note","reposted your note":"a repartagé votre note","zapped your note":"a zappé votre note","highlighted your note":"a mis en évidence votre note","zapped you":"vous a zappé","Mark as read":"Marquer comme lu",Report:"Signaler","Successfully report":"Signalement réussi","Failed to report":"Échec du signalement",nudity:"Nudité",malware:"Logiciel malveillant",profanity:"Blasphème",illegal:"Contenu illégal",spam:"Spam",other:"Autre","Notification list style":"Style de liste de notifications","See extra info for each notification":"Voir des infos supplémentaires pour chaque notification","See more notifications at a glance":"Voir plus de notifications en un coup d'œil",Detailed:"Détaillé",Compact:"Compact","Submit Relay":"Soumettre un relais",Homepage:"Page d’accueil","Proof of Work (difficulty {{minPow}})":"Preuve de travail (difficulté {{minPow}})","via {{client}}":"via {{client}}","Auto-load media":"Auto-chargement des médias",Always:"Toujours","Wi-Fi only":"Wi-Fi uniquement",Never:"Jamais","Click to load image":"Cliquez pour charger l’image","Click to load media":"Cliquez pour charger les médias","Click to load YouTube video":"Cliquez pour charger la vidéo YouTube","{{count}} reviews":"{{count}} avis","Write a review":"Écrire un avis","No reviews yet. Be the first to write one!":"Pas encore d’avis. Soyez le premier à en écrire un !","View more reviews":"Voir plus d’avis","Failed to review":"Échec de l’avis","Write a review and pick a star rating":"Écrivez un avis et choisissez une note en étoiles",Submit:"Soumettre","Reviews for {{relay}}":"Avis pour {{relay}}","No relays selected":"Aucun relais sélectionné","Post to":"Publier sur","Write relays and {{count}} other relays":"Relais d’écriture et {{count}} autres relais","{{count}} relays":"{{count}} relais","Republishing...":"Republication en cours...","Connected to":"Connecté à","Disconnect Wallet":"Déconnecter le portefeuille","Are you absolutely sure?":"Êtes-vous absolument sûr ?","You will not be able to send zaps to others.":"Vous ne pourrez plus envoyer de zaps aux autres.",Disconnect:"Déconnecter","Start with a Rizful Vault":"Démarrer avec un coffre Rizful","or other wallets":"ou d’autres portefeuilles","Rizful Vault":"Coffre Rizful","Rizful Vault connected!":"Coffre Rizful connecté !","You can now use your Rizful Vault to zap your favorite notes and creators.":"Vous pouvez maintenant utiliser votre coffre Rizful pour zapper vos notes et créateurs préférés.","Your Lightning Address":"Votre adresse Lightning","New to Rizful?":"Nouveau sur Rizful ?","Sign up for Rizful":"Inscrivez-vous sur Rizful","If you already have a Rizful account, you can skip this step.":"Si vous avez déjà un compte Rizful, vous pouvez passer cette étape.","Get your one-time code":"Obtenez votre code à usage unique","Get code":"Obtenir le code","Connect to your Rizful Vault":"Connectez-vous à votre coffre Rizful","Paste your one-time code here":"Collez votre code à usage unique ici",Connect:"Connecter","Set up your wallet to send and receive sats!":"Configurez votre portefeuille pour envoyer et recevoir des sats !","Set up":"Configurer",Pinned:"Épinglé",Unpin:"Retirer l’épingle",Unpinning:"Retrait de l’épingle","Pinning...":"Épinglage en cours...","Pinned!":"Épinglé !","Failed to pin: {{error}}":"Échec de l’épinglage : {{error}}","Unpinning...":"Retrait de l’épingle en cours...","Unpinned!":"Retrait de l’épingle effectué !","Failed to unpin: {{error}}":"Échec du retrait de l’épingle : {{error}}","Unpin from profile":"Retirer l’épingle du profil","Pin to profile":"Épingler au profil",Appearance:"Apparence","Pure Black":"Noir pur",Default:"Par défaut",Red:"Rouge",Orange:"Orange",Amber:"Ambre",Yellow:"Jaune",Lime:"Citron vert",Green:"Vert",Emerald:"Émeraude",Teal:"Sarcelle",Cyan:"Cyan",Sky:"Bleu ciel",Blue:"Bleu",Indigo:"Indigo",Violet:"Violet",Purple:"Pourpre",Fuchsia:"Fuchsia",Pink:"Rose",Rose:"Rose","Primary color":"Couleur principale",Layout:"Disposition","Two-column":"Deux colonnes","Single-column":"Une seule colonne",Reviews:"Avis",Extension:"Extension",Remote:"Distant","Encrypted Key":"Clé chiffrée","Private Key":"Clé privée","Welcome to Smesh":"Bienvenue sur Smesh","Smesh is a client focused on browsing relays. Get started by exploring interesting relays or login to view your following feed.":"Smesh est un client nostr axé sur la construction de communautés et l'aide à la coordination de personnes à l'esprit souverain.","Explore Relays":"Explorer les relais","Choose a feed":"Choisir un fil","and {{x}} others":"et {{x}} autres",selfZapWarning:"Smesh n'est pas responsable de ce qui se passe si vous vous zappez vous-même. Procédez à vos risques et périls. 😉⚡","Emoji Pack":"Pack d'Emojis","Emoji pack added":"Pack d'emojis ajouté","Add emoji pack failed":"Échec de l'ajout du pack d'emojis","Emoji pack removed":"Pack d'emojis supprimé","Remove emoji pack failed":"Échec de la suppression du pack d'emojis",Added:"Ajouté","Emoji Packs":"Packs d'Emojis","My Packs":"Mes Packs","Adding...":"Ajout...","Removing...":"Suppression...",Reload:"Recharger","Request to Join Relay":"Demander à rejoindre le Relay","Leave Relay":"Quitter le Relay",Leave:"Quitter","Are you sure you want to leave this relay?":"Êtes-vous sûr de vouloir quitter ce relay ?","Join request sent successfully":"Demande d'adhésion envoyée avec succès","Failed to send join request":"Échec de l'envoi de la demande d'adhésion","Leave request sent successfully":"Demande de départ envoyée avec succès","Failed to send leave request":"Échec de l'envoi de la demande de départ","Enter an invite code if you have one. Otherwise, leave it blank to send a request.":"Entrez un code d'invitation si vous en avez un. Sinon, laissez-le vide pour envoyer une demande.","Invite Code (Optional)":"Code d'Invitation (Optionnel)","Enter invite code":"Entrez le code d'invitation","Sending...":"Envoi...","Send Request":"Envoyer la Demande","You can get an invite code from a relay member.":"Vous pouvez obtenir un code d'invitation auprès d'un membre du relay.","Enter the invite code you received from a relay member.":"Entrez le code d'invitation que vous avez reçu d'un membre du relay.","Get Invite Code":"Obtenir un Code d'Invitation","Share this invite code with others to invite them to join this relay.":"Partagez ce code d'invitation avec d'autres pour les inviter à rejoindre ce relay.","Invite Code":"Code d'Invitation",Copy:"Copier","This invite code can be used by others to join the relay.":"Ce code d'invitation peut être utilisé par d'autres pour rejoindre le relay.","No invite code available from this relay.":"Aucun code d'invitation disponible de ce relay.",Close:"Fermer","Failed to get invite code from relay":"Échec de l'obtention du code d'invitation du relay","Failed to get invite code":"Échec de l'obtention du code d'invitation","Invite code copied to clipboard":"Code d'invitation copié dans le presse-papiers","Favicon URL":"URL du Favicon","Filter out onion relays":"Filtrer les relais onion","Click to load X post":"Cliquez pour charger la publication X","View Nostr comments":"Voir les commentaires Nostr","Search for notes":"Rechercher des notes","Search for hashtag":"Rechercher un hashtag","Go to note":"Aller à la note","Go to relay":"Aller au relais","View discussions about this":"Voir les discussions sur ce contenu","Open link":"Ouvrir le lien","View Nostr discussions":"Voir les discussions Nostr","Optimal relays":"Relais optimaux","Successfully republish to optimal relays (your write relays and mentioned users' read relays)":"Republié avec succès sur les relais optimaux (vos relais d'écriture et les relais de lecture des utilisateurs mentionnés)","Failed to republish to optimal relays: {{error}}":"Échec de la republication sur les relais optimaux : {{error}}","External Content":"Contenu externe",Highlight:"Surligner","Optimal relays and {{count}} other relays":"Relais optimaux et {{count}} autres relais","Likely spam account (Trust score: {{percentile}}%)":"Compte probablement spam (Score de confiance: {{percentile}}%)","Suspicious account (Trust score: {{percentile}}%)":"Compte suspect (Score de confiance: {{percentile}}%)","n users":"{{count}} utilisateurs","View Details":"Voir les détails","Follow Pack Not Found":"Pack de suivi introuvable","Follow pack not found":"Pack de suivi introuvable",Users:"Utilisateurs",Feed:"Flux","Follow Pack":"Pack de Suivi","Load earlier":"Charger plus tôt","Last 24 hours":"Dernières 24 heures","Last {{count}} days":"Derniers {{count}} jours",notes:"notes","Quick reaction":"Réaction rapide","If enabled, you can react with a single click. Click and hold for more options":"Si activé, vous pouvez réagir en un seul clic. Maintenez enfoncé pour plus d'options","Quick reaction emoji":"Emoji de réaction rapide","Select emoji":"Sélectionner un emoji","NSFW content display":"NSFW content display","Hide completely":"Hide completely","Show but hide content":"Show but hide content","Show directly":"Show directly","Click to view":"Click to view","Special Follow":"Suivre Spécial","Unfollow Special":"Ne Plus Suivre Spécial","Personal Feeds":"Flux Personnels","Relay Feeds":"Flux de Relais","Create Highlight":"Créer un Surlignage","Write your thoughts about this highlight...":"Écrivez vos pensées sur ce surlignage...","Publish Highlight":"Publier le Surlignage","Show replies":"Afficher les réponses","Hide replies":"Masquer les réponses","Welcome to Smesh!":"Bienvenue sur Smesh !","Your feed is empty because you are not following anyone yet. Start by exploring interesting content and following users you like!":"Votre flux est vide car vous ne suivez personne pour le moment. Commencez par explorer du contenu intéressant et suivez les utilisateurs que vous aimez !","Search Users":"Rechercher des utilisateurs","Create New Account":"Créer un nouveau compte",Important:"Important","Generate Your Account":"Générer votre compte","Your private key IS your account. Keep it safe!":"Votre clé privée EST votre compte. Gardez-la en sécurité !","In Nostr, your private key IS your account. If you lose your private key, you lose your account forever.":"Dans Nostr, votre clé privée EST votre compte. Si vous perdez votre clé privée, vous perdez votre compte pour toujours.","Your Private Key":"Votre clé privée","Generate new key":"Générer une nouvelle clé","Download Backup File":"Télécharger le fichier de sauvegarde","Copied to Clipboard":"Copié dans le presse-papiers","Copy to Clipboard":"Copier dans le presse-papiers","I already saved my private key securely.":"J'ai déjà sauvegardé ma clé privée en toute sécurité.","Almost Done!":"Presque terminé !","Set a password to encrypt your key, or skip to finish":"Définissez un mot de passe pour chiffrer votre clé, ou ignorez pour terminer","Password Protection (Optional)":"Protection par mot de passe (facultatif)","Setting a password encrypts your private key in this browser. You can skip this step, but we recommend setting one for added security.":"Définir un mot de passe chiffre votre clé privée dans ce navigateur. Vous pouvez ignorer cette étape, mais nous recommandons d'en définir un pour plus de sécurité.","Password (Optional)":"Mot de passe (facultatif)","Enter password or leave empty to skip":"Entrez un mot de passe ou laissez vide pour ignorer","Confirm Password":"Confirmer le mot de passe","Re-enter password":"Ressaisissez le mot de passe","Passwords do not match":"Les mots de passe ne correspondent pas","Finish Signup":"Terminer l'inscription","Create Your Nostr Account":"Créez votre compte Nostr","Generate your unique private key. This is your digital identity.":"Générez votre clé privée unique. C'est votre identité numérique.","Critical: Save Your Private Key":"Critique : Sauvegardez votre clé privée","Your private key IS your account. There is no password recovery. If you lose it, you lose your account forever. Please save it in a secure location.":"Votre clé privée EST votre compte. Il n'y a pas de récupération de mot de passe. Si vous la perdez, vous perdrez votre compte pour toujours. Veuillez la sauvegarder dans un endroit sécurisé.","I have safely backed up my private key":"J'ai sauvegardé ma clé privée en toute sécurité","Secure Your Account":"Sécurisez votre compte","Add an extra layer of protection with a password":"Ajoutez une couche de protection supplémentaire avec un mot de passe","Password Protection (Recommended)":"Protection par mot de passe (recommandé)","Add a password to encrypt your private key in this browser. This is optional but strongly recommended for better security.":"Ajoutez un mot de passe pour chiffrer votre clé privée dans ce navigateur. C'est facultatif mais fortement recommandé pour une meilleure sécurité.","Create a password (or skip)":"Créez un mot de passe (ou ignorez)","Enter your password again":"Entrez à nouveau votre mot de passe","Complete Signup":"Terminer l'inscription",Recommended:"Recommandé"}},Vbe={translation:{"Welcome! 🥳":"स्वागत है! 🥳",About:"के बारे में","New Note":"नया नोट",Post:"पोस्ट",Home:"होम","Relay settings":"रिले सेटिंग्स",Settings:"सेटिंग्स",SidebarRelays:"रिले",Refresh:"रीफ्रेश",Profile:"प्रोफ़ाइल",Logout:"लॉगआउट",Following:"फॉलो कर रहे हैं",followings:"फॉलोइंग",reposted:"रीपोस्ट किया","just now":"अभी","minute ago_one":"{{count}} मिनट पहले","minute ago_other":"{{count}} मिनट पहले","n m":"{{n}}मि","hour ago_one":"{{count}} घंटा पहले","hour ago_other":"{{count}} घंटे पहले","n h":"{{n}}घं","day ago_one":"{{count}} दिन पहले","day ago_other":"{{count}} दिन पहले","n d":"{{n}}दि",date:"{{timestamp, date}}",Follow:"फॉलो करें",Unfollow:"अनफॉलो करें","Follow failed":"फॉलो असफल","Unfollow failed":"अनफॉलो असफल","show new notes":"नए नोट्स दिखाएं","loading...":"लोड हो रहा है...","Loading...":"लोड हो रहा है...","no more notes":"कोई और नोट नहीं","reply to":"का उत्तर",reply:"उत्तर",Reply:"उत्तर","load more older replies":"अधिक पुराने उत्तर लोड करें","Write something...":"कुछ लिखें...",Cancel:"रद्द करें",Mentions:"उल्लेख","Failed to post":"पोस्ट असफल","Post successful":"पोस्ट सफल","Your post has been published":"आपकी पोस्ट प्रकाशित हो गई है",Repost:"रीपोस्ट",Quote:"उद्धरण","Copy event ID":"इवेंट आईडी कॉपी करें","Copy user ID":"यूजर आईडी कॉपी करें","View raw event":"कच्चा इवेंट देखें",Like:"पसंद","switch to light theme":"लाइट थीम पर स्विच करें","switch to dark theme":"डार्क थीम पर स्विच करें","switch to system theme":"सिस्टम थीम पर स्विच करें",Note:"नोट",note:"नोट","username's following":"{{username}} के फॉलोइंग","username's used relays":"{{username}} के उपयोग किए गए रिले","username's muted":"{{username}} के म्यूट किए गए",Login:"लॉगिन","Follows you":"आपको फॉलो करता है","Relay Settings":"रिले सेटिंग्स","Relay set name":"रिले सेट नाम","Add a new relay set":"नया रिले सेट जोड़ें",Add:"जोड़ें","n relays":"{{n}} रिले",Rename:"नाम बदलें","Copy share link":"शेयर लिंक कॉपी करें",Delete:"हटाएं","Relay already exists":"रिले पहले से मौजूद है","invalid relay URL":"अमान्य रिले URL","Add a new relay":"नया रिले जोड़ें",back:"वापस","Lost in the void":"शून्य में खो गया","Carry me home":"मुझे घर ले चलो","no replies":"कोई उत्तर नहीं","Reply to":"का उत्तर दें",Search:"खोजें","The relays you are connected to do not support search":"आप जिन रिले से जुड़े हैं वे खोज का समर्थन नहीं करते","Show more...":"और दिखाएं...","All users":"सभी उपयोगकर्ता","Display replies":"उत्तर प्रदर्शित करें",Notes:"नोट्स",Replies:"उत्तर",Notifications:"सूचनाएं","no more notifications":"कोई और सूचनाएं नहीं","Using private key login is insecure. It is recommended to use a browser extension for login, such as alby, nostr-keyx or nos2x. If you must use a private key, please set a password for encryption at minimum.":"प्राइवेट की लॉगिन का उपयोग असुरक्षित है। लॉगिन के लिए ब्राउज़र एक्सटेंशन का उपयोग करने की सिफारिश की जाती है, जैसे alby, nostr-keyx या nos2x। यदि आपको प्राइवेट की का उपयोग करना ही है, तो कम से कम एन्क्रिप्शन के लिए पासवर्ड सेट करें।","Login with Browser Extension":"ब्राउज़र एक्सटेंशन से लॉगिन करें","Login with Bunker":"बंकर से लॉगिन करें","Login with Private Key":"प्राइवेट की से लॉगिन करें","reload notes":"नोट्स रीलोड करें","Logged in Accounts":"लॉग इन अकाउंट","Add an Account":"अकाउंट जोड़ें","More options":"अधिक विकल्प","Add client tag":"क्लाइंट टैग जोड़ें","Show others this was sent via Smesh":"दूसरों को दिखाएं कि यह Smesh के माध्यम से भेजा गया था","Are you sure you want to logout?":"क्या आप वाकई लॉगआउट करना चाहते हैं?","relay sets":"रिले सेट",edit:"संपादित करें",Languages:"भाषाएं",Theme:"थीम",System:"सिस्टम",Light:"लाइट",Dark:"डार्क",Temporary:"अस्थायी","Choose a relay set":"रिले सेट चुनें","Switch account":"अकाउंट स्विच करें",Pictures:"तस्वीरें","Picture note":"तस्वीर नोट","A special note for picture-first clients like Olas":"Olas जैसे पिक्चर-फर्स्ट क्लाइंट के लिए एक विशेष नोट","Picture note requires images":"तस्वीर नोट के लिए इमेज आवश्यक है",Relays:"रिले",Image:"इमेज","R & W":"R & W",Read:"पढ़ें",Write:"लिखें","Pull relay sets":"रिले सेट खींचें","Select the relay sets you want to pull":"वे रिले सेट चुनें जिन्हें आप खींचना चाहते हैं","No relay sets found":"कोई रिले सेट नहीं मिला","Pull n relay sets":"{{n}} रिले सेट खींचें",Pull:"खींचें","Select all":"सभी चुनें","Relay Sets":"रिले सेट","Read & Write Relays":"रीड और राइट रिले","read relays description":"रीड रिले का उपयोग आपके बारे में इवेंट खोजने के लिए किया जाता है। अन्य उपयोगकर्ता आपको दिखाने वाले इवेंट आपके रीड रिले पर प्रकाशित करेंगे।","write relays description":"राइट रिले का उपयोग आपके इवेंट प्रकाशित करने के लिए किया जाता है। अन्य उपयोगकर्ता आपके राइट रिले से आपके इवेंट खोजेंगे।","read & write relays notice":"रीड और राइट सर्वर की संख्या आदर्श रूप से 2 और 4 के बीच रखी जानी चाहिए।","Don't have an account yet?":"अभी तक कोई अकाउंट नहीं है?","or simply generate a private key":"या बस एक प्राइवेट की जेनरेट करें","This is a private key. Do not share it with anyone. Keep it safe and secure. You will not be able to recover it if you lose it.":"यह एक प्राइवेट की है। इसे किसी के साथ साझा न करें। इसे सुरक्षित रखें। यदि आप इसे खो देते हैं तो आप इसे पुनर्प्राप्त नहीं कर पाएंगे।",Edit:"संपादित करें",Save:"सेव करें","Display Name":"प्रदर्शन नाम",Bio:"बायो","Nostr Address (NIP-05)":"Nostr पता (NIP-05)","Invalid NIP-05 address":"अमान्य NIP-05 पता","Copy private key":"प्राइवेट की कॉपी करें","Enter the password to decrypt your ncryptsec":"अपना ncryptsec डिक्रिप्ट करने के लिए पासवर्ड दर्ज करें",Back:"वापस","optional: encrypt nsec":"वैकल्पिक: nsec एन्क्रिप्ट करें",password:"पासवर्ड","Sign up":"साइन अप","Save to":"सेव करें","Enter a name for the new relay set":"नए रिले सेट के लिए नाम दर्ज करें","Save to a new relay set":"नए रिले सेट में सेव करें",Mute:"म्यूट",Muted:"म्यूट किया गया",Unmute:"अनम्यूट","Unmute user":"उपयोगकर्ता को अनम्यूट करें","Append n relays":"{{n}} रिले जोड़ें",Append:"जोड़ें","Select relays to append":"जोड़ने के लिए रिले चुनें","calculating...":"गणना कर रहे हैं...","Calculate optimal read relays":"इष्टतम रीड रिले की गणना करें","Login to set":"सेट करने के लिए लॉगिन करें","Please login to view following feed":"फॉलोइंग फीड देखने के लिए कृपया लॉगिन करें","Send only to r":"केवल {{r}} को भेजें","Send only to these relays":"केवल इन रिले को भेजें",Explore:"एक्सप्लोर करें","Search relays":"रिले खोजें",relayInfoBadgeAuth:"प्रमाणीकरण",relayInfoBadgeSearch:"खोज",relayInfoBadgePayment:"भुगतान",Operator:"ऑपरेटर",Contact:"संपर्क",Software:"सॉफ्टवेयर",Version:"संस्करण","Random Relays":"रैंडम रिले",randomRelaysRefresh:"रीफ्रेश","Explore more":"और एक्सप्लोर करें","Payment page":"भुगतान पेज","Supported NIPs":"समर्थित NIPs","Open in a":"{{a}} में खोलें","Cannot handle event of kind k":"प्रकार {{k}} के इवेंट को हैंडल नहीं कर सकते","Sorry! The note cannot be found 😔":"माफ करें! नोट नहीं मिल सका 😔","This user has been muted":"इस उपयोगकर्ता को म्यूट कर दिया गया है",Wallet:"वॉलेट",Sats:"सैट्स",sats:"सैट्स","Zap to":"को जैप करें","Zap n sats":"{{n}} सैट्स जैप करें",zapComment:"टिप्पणी","Default zap amount":"डिफ़ॉल्ट जैप राशि","Default zap comment":"डिफ़ॉल्ट जैप टिप्पणी","Lightning Address (or LNURL)":"लाइटनिंग पता (या LNURL)","Quick zap":"त्वरित जैप","If enabled, you can zap with a single click. Click and hold for custom amounts":"यदि सक्षम है, तो आप एक क्लिक से जैप कर सकते हैं। कस्टम राशि के लिए क्लिक करके रोकें",All:"सभी",Reactions:"प्रतिक्रियाएं",Zaps:"जैप्स","Earlier notifications":"पुरानी सूचनाएं","Temporarily display this note":"इस नोट को अस्थायी रूप से प्रदर्शित करें",buttonFollowing:"फॉलो कर रहे हैं","Are you sure you want to unfollow this user?":"क्या आप वाकई इस उपयोगकर्ता को अनफॉलो करना चाहते हैं?","Recent Supporters":"हाल के समर्थक","Seen on":"पर देखा गया","Temporarily display this reply":"इस उत्तर को अस्थायी रूप से प्रदर्शित करें","Note not found":"नोट नहीं मिला","no more replies":"कोई और उत्तर नहीं","Relay sets":"रिले सेट","Favorite Relays":"पसंदीदा रिले","Following's Favorites":"फॉलोइंग के पसंदीदा","no more relays":"कोई और रिले नहीं","Favorited by":"द्वारा पसंदीदा","Post settings":"पोस्ट सेटिंग्स","Media upload service":"मीडिया अपलोड सेवा","Choose a relay":"रिले चुनें","no relays found":"कोई रिले नहीं मिला",video:"वीडियो","Show n new notes":"{{n}} नए नोट्स दिखाएं",YouTabName:"आप",Bookmark:"बुकमार्क","Remove bookmark":"बुकमार्क हटाएं","no bookmarks found":"कोई बुकमार्क नहीं मिला","no more bookmarks":"कोई और बुकमार्क नहीं",Bookmarks:"बुकमार्क","Show more":"और दिखाएं",General:"सामान्य",Autoplay:"ऑटोप्ले","Enable video autoplay on this device":"इस डिवाइस पर वीडियो ऑटोप्ले सक्षम करें","Paste or drop media files to upload":"अपलोड करने के लिए मीडिया फाइलें पेस्ट या ड्रॉप करें",Preview:"पूर्वावलोकन","You are about to publish an event signed by [{{eventAuthorName}}]. You are currently logged in as [{{currentUsername}}]. Are you sure?":"आप [{{eventAuthorName}}] द्वारा हस्ताक्षरित एक इवेंट प्रकाशित करने वाले हैं। आप वर्तमान में [{{currentUsername}}] के रूप में लॉग इन हैं। क्या आप सुनिश्चित हैं?","Platinum Sponsors":"प्लेटिनम स्पॉन्सर",From:"से","Comment on":"पर टिप्पणी करें","View on njump.me":"njump.me पर देखें","Hide content from untrusted users":"अविश्वसनीय उपयोगकर्ताओं से सामग्री छुपाएं","Only show content from your followed users and the users they follow":"केवल आपके द्वारा फॉलो किए गए उपयोगकर्ताओं और उनके द्वारा फॉलो किए गए उपयोगकर्ताओं की सामग्री दिखाएं","Followed by":"द्वारा फॉलो किया गया","Mute user privately":"उपयोगकर्ता को निजी रूप से म्यूट करें","Mute user publicly":"उपयोगकर्ता को सार्वजनिक रूप से म्यूट करें",Quotes:"उद्धरण","Lightning Invoice":"लाइटनिंग इनवॉइस","Bookmark failed":"बुकमार्क असफल","Remove bookmark failed":"बुकमार्क हटाना असफल",Translation:"अनुवाद",Balance:"बैलेंस",characters:"अक्षर",smeshTranslateApiKeyDescription:"आप इस API की को कहीं भी उपयोग कर सकते हैं जो LibreTranslate का समर्थन करता है। सेवा URL है {{serviceUrl}}","Top up":"टॉप अप","Will receive: {n} characters":"प्राप्त होंगे: {{n}} अक्षर","Top up {n} sats":"{{n}} सैट्स टॉप अप करें","Minimum top up is {n} sats":"न्यूनतम टॉप अप {{n}} सैट्स है",Service:"सेवा","Reset API key":"API की रीसेट करें","Are you sure you want to reset your API key? This action cannot be undone.":"क्या आप वाकई अपनी API की रीसेट करना चाहते हैं? यह कार्य पूर्ववत नहीं किया जा सकता।",Warning:"चेतावनी","Your current API key will become invalid immediately, and any applications using it will stop working until you update them with the new key.":"आपकी वर्तमान API की तुरंत अमान्य हो जाएगी, और इसका उपयोग करने वाले सभी एप्लिकेशन तब तक काम करना बंद कर देंगे जब तक आप उन्हें नई की के साथ अपडेट नहीं करते।","Service address":"सेवा पता",Pay:"भुगतान करें",interactions:"इंटरैक्शन",notifications:"सूचनाएं","Show untrusted {type}":"अविश्वसनीय {{type}} दिखाएं","Hide untrusted {type}":"अविश्वसनीय {{type}} छुपाएं","Currently hiding {type} from untrusted users.":"वर्तमान में अविश्वसनीय उपयोगकर्ताओं से {{type}} छुपा रहे हैं।","Currently showing all {type}.":"वर्तमान में सभी {{type}} दिखा रहे हैं।","Click continue to show all {type}.":"सभी {{type}} दिखाने के लिए जारी रखें पर क्लिक करें।","Click continue to hide {type} from untrusted users.":"अविश्वसनीय उपयोगकर्ताओं से {{type}} छुपाने के लिए जारी रखें पर क्लिक करें।","Trusted users include people you follow and people they follow.":"विश्वसनीय उपयोगकर्ताओं में वे लोग शामिल हैं जिन्हें आप फॉलो करते हैं और जिन्हें वे फॉलो करते हैं।",Continue:"जारी रखें","Successfully updated mute list":"म्यूट सूची सफलतापूर्वक अपडेट की गई","No pubkeys found from {url}":"{{url}} से कोई pubkeys नहीं मिली","Translating...":"अनुवाद कर रहे हैं...",Translate:"अनुवाद करें","Show original":"मूल दिखाएं",Website:"वेबसाइट","Hide untrusted notes":"अविश्वसनीय नोट्स छुपाएं","Open in another client":"दूसरे क्लाइंट में खोलें",Community:"समुदाय",Group:"समूह","Live event":"लाइव इवेंट",Article:"लेख",Unfavorite:"पसंदीदा से हटाएं","Recommended relays":"अनुशंसित रिले","Blossom server URLs":"ब्लॉसम सर्वर URLs","You need to add at least one blossom server in order to upload media files.":"मीडिया फाइलें अपलोड करने के लिए आपको कम से कम एक ब्लॉसम सर्वर जोड़ना होगा।","Recommended blossom servers":"अनुशंसित ब्लॉसम सर्वर","Enter Blossom server URL":"ब्लॉसम सर्वर URL दर्ज करें",Preferred:"प्राथमिकता","Multiple choice (select one or more)":"बहुविकल्पीय (एक या अधिक चुनें)",Vote:"वोट","{{number}} votes":"{{number}} वोट","Total votes":"कुल वोट","Poll has ended":"पोल समाप्त हो गया","Poll ends at {{time}}":"पोल {{time}} पर समाप्त होता है","Load results":"परिणाम लोड करें","This is a poll note.":"यह एक पोल नोट है।","Unlike regular notes, polls are not widely supported and may not display on other clients.":"नियमित नोट्स के विपरीत, पोल व्यापक रूप से समर्थित नहीं हैं और अन्य क्लाइंट पर प्रदर्शित नहीं हो सकते।","Option {{number}}":"विकल्प {{number}}","Add Option":"विकल्प जोड़ें","Allow multiple choices":"एकाधिक विकल्पों की अनुमति दें","End Date (optional)":"समाप्ति तिथि (वैकल्पिक)","Clear end date":"समाप्ति तिथि साफ़ करें","Relay URLs (optional, comma-separated)":"रिले URLs (वैकल्पिक, कॉमा से अलग)","Remove poll":"पोल हटाएं","Refresh results":"परिणाम रीफ्रेश करें",Poll:"पोल",Media:"मीडिया","Republish to ...":"पुनः प्रकाशित करें...","Successfully republish to your write relays":"आपके राइट रिले पर सफलतापूर्वक पुनः प्रकाशित","Failed to republish to your write relays: {{error}}":"आपके राइट रिले पर पुनः प्रकाशित करने में असफल: {{error}}","Successfully republish to relay set: {{name}}":"रिले सेट में सफलतापूर्वक पुनः प्रकाशित: {{name}}","Failed to republish to relay set: {{name}}. Error: {{error}}":"रिले सेट में पुनः प्रकाशित करने में असफल: {{name}}। त्रुटि: {{error}}","Successfully republish to relay: {{url}}":"रिले पर सफलतापूर्वक पुनः प्रकाशित: {{url}}","Failed to republish to relay: {{url}}. Error: {{error}}":"रिले पर पुनः प्रकाशित करने में असफल: {{url}}। त्रुटि: {{error}}","Write relays":"राइट रिले","No more reactions":"कोई और प्रतिक्रियाएं नहीं","No reactions yet":"अभी तक कोई प्रतिक्रियाएं नहीं","No more zaps":"कोई और जैप्स नहीं","No zaps yet":"अभी तक कोई जैप्स नहीं","No more reposts":"कोई और रीपोस्ट नहीं","No reposts yet":"अभी तक कोई रीपोस्ट नहीं",Reposts:"रीपोस्ट",FollowListNotFoundConfirmation:"फॉलो सूची नहीं मिली। क्या आप एक नई बनाना चाहते हैं? यदि आपने पहले उपयोगकर्ताओं को फॉलो किया है, तो कृपया पुष्टि न करें क्योंकि इस ऑपरेशन से आपकी पिछली फॉलो सूची नष्ट हो जाएगी।",MuteListNotFoundConfirmation:"म्यूट सूची नहीं मिली। क्या आप एक नई बनाना चाहते हैं? यदि आपने पहले उपयोगकर्ताओं को म्यूट किया है, तो कृपया पुष्टि न करें क्योंकि इस ऑपरेशन से आपकी पिछली म्यूट सूची नष्ट हो जाएगी।","Show NSFW content by default":"डिफ़ॉल्ट रूप से NSFW सामग्री दिखाएं","Custom emoji management":"कस्टम इमोजी प्रबंधन","After changing emojis, you may need to refresh the page":"इमोजी बदलने के बाद, आपको पेज रीफ्रेश करना पड़ सकता है","Too many read relays":"बहुत सारे रीड रिले","Too many write relays":"बहुत सारे राइट रिले","You have {{count}} read relays. Most clients only use 2-4 relays, setting more is unnecessary.":"आपके पास {{count}} रीड रिले हैं। अधिकांश क्लाइंट केवल 2-4 रिले का उपयोग करते हैं, अधिक सेट करना अनावश्यक है।","You have {{count}} write relays. Most clients only use 2-4 relays, setting more is unnecessary.":"आपके पास {{count}} राइट रिले हैं। अधिकांश क्लाइंट केवल 2-4 रिले का उपयोग करते हैं, अधिक सेट करना अनावश्यक है।","Optimize Relay Settings":"रिले सेटिंग्स को अनुकूलित करें","Your current relay configuration may not be optimal. This could make it difficult for others to find your posts and may result in incomplete notifications.":"आपकी वर्तमान रिले कॉन्फ़िगरेशन इष्टतम नहीं हो सकती। इससे दूसरों के लिए आपकी पोस्ट ढूंढना मुश्किल हो सकता है और अधूरी सूचनाएं मिल सकती हैं।","Optimize Now":"अभी अनुकूलित करें","Maybe Later":"शायद बाद में","Don't remind me again":"मुझे दोबारा याद न दिलाएं",Posts:"पोस्ट",Articles:"लेख",Highlights:"हाइलाइट्स",Polls:"पोल","Voice Posts":"वॉयस पोस्ट","Photo Posts":"फोटो पोस्ट","Video Posts":"वीडियो पोस्ट","Select All":"सभी चुनें","Clear All":"सभी साफ़ करें","Set as default filter":"डिफ़ॉल्ट फिल्टर के रूप में सेट करें",Apply:"लागू करें",Reset:"रीसेट","Share something on this Relay":"इस रिले पर कुछ साझा करें","Try deleting this note":"इस नोट को हटाने का प्रयास करें","Deletion request sent to {{count}} relays":"{{count}} रिले को डिलीट अनुरोध भेजा गया","Suitable Relays":"उपयुक्त रिले","People, keywords, or relays":"लोग, कीवर्ड या रिले","Hide content mentioning muted users":"म्यूट किए गए उपयोगकर्ताओं का उल्लेख करने वाली सामग्री छुपाएं","This note mentions a user you muted":"यह नोट एक उपयोगकर्ता का उल्लेख करता है जिसे आपने म्यूट किया है",Filter:"फिल्टर","mentioned you in a note":"ने आपका एक नोट में उल्लेख किया","quoted your note":"ने आपके नोट को उद्धृत किया","voted in your poll":"ने आपके पोल में वोट किया","reacted to your note":"ने आपके नोट पर प्रतिक्रिया दी","reposted your note":"ने आपके नोट को रीपोस्ट किया","zapped your note":"ने आपके नोट को जैप किया","highlighted your note":"ने आपके नोट को हाइलाइट किया","zapped you":"ने आपको जैप किया","Mark as read":"पढ़ा हुआ मार्क करें",Report:"रिपोर्ट करें","Successfully report":"सफलतापूर्वक रिपोर्ट किया गया","Failed to report":"रिपोर्ट करने में असफल",nudity:"नग्नता",malware:"मैलवेयर",profanity:"अश्लीलता",illegal:"अवैध सामग्री",spam:"स्पैम",other:"अन्य","Notification list style":"सूचना सूची शैली","See extra info for each notification":"प्रत्येक सूचना के लिए अतिरिक्त जानकारी देखें","See more notifications at a glance":"एक नज़र में अधिक सूचनाएं देखें",Detailed:"विस्तृत",Compact:"संक्षिप्त","Submit Relay":"रिले सबमिट करें",Homepage:"होमपेज","Proof of Work (difficulty {{minPow}})":"कार्य प्रमाण (कठिनाई {{minPow}})","via {{client}}":"के माध्यम से {{client}}","Auto-load media":"मीडिया स्वतः लोड करें",Always:"हमेशा","Wi-Fi only":"केवल Wi-Fi",Never:"कभी नहीं","Click to load image":"इमेज लोड करने के लिए क्लिक करें","Click to load media":"मीडिया लोड करने के लिए क्लिक करें","Click to load YouTube video":"YouTube वीडियो लोड करने के लिए क्लिक करें","{{count}} reviews":"{{count}} समीक्षाएं","Write a review":"समीक्षा लिखें","No reviews yet. Be the first to write one!":"अभी तक कोई समीक्षा नहीं। पहले लिखने वाले बनें!","View more reviews":"और समीक्षाएं देखें","Failed to review":"समीक्षा असफल","Write a review and pick a star rating":"एक समीक्षा लिखें और स्टार रेटिंग चुनें",Submit:"सबमिट करें","Reviews for {{relay}}":"{{relay}} के लिए समीक्षाएं","No relays selected":"कोई रिले चयनित नहीं","Post to":"पोस्ट करें","Write relays and {{count}} other relays":"राइट रिले और {{count}} अन्य रिले","{{count}} relays":"{{count}} रिले","Republishing...":"पुनः प्रकाशित कर रहे हैं...","Connected to":"से कनेक्टेड","Disconnect Wallet":"वॉलेट डिस्कनेक्ट करें","Are you absolutely sure?":"क्या आप पूरी तरह से सुनिश्चित हैं?","You will not be able to send zaps to others.":"आप दूसरों को जैप नहीं भेज पाएंगे।",Disconnect:"डिस्कनेक्ट करें","Start with a Rizful Vault":"Rizful वॉल्ट के साथ शुरू करें","or other wallets":"या अन्य वॉलेट","Rizful Vault":"Rizful वॉल्ट","Rizful Vault connected!":"Rizful वॉल्ट कनेक्टेड!","You can now use your Rizful Vault to zap your favorite notes and creators.":"अब आप अपने Rizful वॉल्ट का उपयोग अपने पसंदीदा नोट्स और क्रिएटर्स को जैप करने के लिए कर सकते हैं।","Your Lightning Address":"आपका लाइटनिंग पता","New to Rizful?":"Rizful में नया?","Sign up for Rizful":"Rizful के लिए साइन अप करें","If you already have a Rizful account, you can skip this step.":"यदि आपके पास पहले से ही एक Rizful अकाउंट है, तो आप इस चरण को छोड़ सकते हैं।","Get your one-time code":"अपना वन-टाइम कोड प्राप्त करें","Get code":"कोड प्राप्त करें","Connect to your Rizful Vault":"अपने Rizful वॉल्ट से कनेक्ट करें","Paste your one-time code here":"अपना वन-टाइम कोड यहां पेस्ट करें",Connect:"कनेक्ट करें","Set up your wallet to send and receive sats!":"सैट्स भेजने और प्राप्त करने के लिए अपना वॉलेट सेट करें!","Set up":"सेट करें",Pinned:"पिन किया गया",Unpin:"पिन हटाएं",Unpinning:"पिन हटाया जा रहा है","Pinning...":"पिन कर रहे हैं...","Pinned!":"पिन किया गया!","Failed to pin: {{error}}":"पिन करने में असफल: {{error}}","Unpinning...":"पिन हटाया जा रहा है...","Unpinned!":"पिन हटा दिया गया!","Failed to unpin: {{error}}":"पिन हटाने में असफल: {{error}}","Unpin from profile":"प्रोफ़ाइल से पिन हटाएं","Pin to profile":"प्रोफ़ाइल पर पिन करें",Appearance:"दिखावट","Pure Black":"शुद्ध काला",Default:"डिफ़ॉल्ट",Red:"लाल",Orange:"नारंगी",Amber:"एम्बर",Yellow:"पीला",Lime:"नींबू",Green:"हरा",Emerald:"पन्ना",Teal:"टील",Cyan:"सियान",Sky:"आसमानी",Blue:"नीला",Indigo:"नील",Violet:"बैंगनी",Purple:"जामुनी",Fuchsia:"फुशिया",Pink:"गुलाबी",Rose:"गुलाब","Primary color":"प्राथमिक रंग",Layout:"लेआउट","Two-column":"दोहरा स्तंभ","Single-column":"एकल स्तंभ",Reviews:"समीक्षाएं",Extension:"एक्सटेंशन",Remote:"रिमोट","Encrypted Key":"एन्क्रिप्टेड की","Private Key":"प्राइवेट की","Welcome to Smesh":"Smesh में आपका स्वागत है","Smesh is a client focused on browsing relays. Get started by exploring interesting relays or login to view your following feed.":"Smesh एक nostr क्लाइंट है जो समुदायों के निर्माण और संप्रभु मानसिकता वाले लोगों के समन्वय में सहायता पर केंद्रित है।","Explore Relays":"रिले एक्सप्लोर करें","Choose a feed":"एक फीड चुनें","and {{x}} others":"और {{x}} अन्य",selfZapWarning:"Smesh आपके द्वारा स्वयं को zap करने पर क्या होता है, इसके लिए जिम्मेदार नहीं है। अपनी जोखिम पर आगे बढ़ें। 😉⚡","Emoji Pack":"इमोजी पैक","Emoji pack added":"इमोजी पैक जोड़ा गया","Add emoji pack failed":"इमोजी पैक जोड़ना विफल रहा","Emoji pack removed":"इमोजी पैक हटाया गया","Remove emoji pack failed":"इमोजी पैक हटाना विफल रहा",Added:"जोड़ा गया","Emoji Packs":"इमोजी पैक","My Packs":"मेरे पैक","Adding...":"जोड़ा जा रहा है...","Removing...":"हटाया जा रहा है...",Reload:"रीलोड करें","Request to Join Relay":"रिले में शामिल होने का अनुरोध करें","Leave Relay":"रिले छोड़ें",Leave:"छोड़ें","Are you sure you want to leave this relay?":"क्या आप वाकई इस रिले को छोड़ना चाहते हैं?","Join request sent successfully":"शामिल होने का अनुरोध सफलतापूर्वक भेजा गया","Failed to send join request":"शामिल होने का अनुरोध भेजने में विफल","Leave request sent successfully":"छोड़ने का अनुरोध सफलतापूर्वक भेजा गया","Failed to send leave request":"छोड़ने का अनुरोध भेजने में विफल","Enter an invite code if you have one. Otherwise, leave it blank to send a request.":"यदि आपके पास निमंत्रण कोड है तो दर्ज करें। अन्यथा, अनुरोध भेजने के लिए इसे खाली छोड़ दें।","Invite Code (Optional)":"निमंत्रण कोड (वैकल्पिक)","Enter invite code":"निमंत्रण कोड दर्ज करें","Sending...":"भेजा जा रहा है...","Send Request":"अनुरोध भेजें","You can get an invite code from a relay member.":"आप एक रिले सदस्य से निमंत्रण कोड प्राप्त कर सकते हैं।","Enter the invite code you received from a relay member.":"रिले सदस्य से प्राप्त निमंत्रण कोड दर्ज करें।","Get Invite Code":"निमंत्रण कोड प्राप्त करें","Share this invite code with others to invite them to join this relay.":"इस रिले में शामिल होने के लिए दूसरों को आमंत्रित करने के लिए इस निमंत्रण कोड को साझा करें।","Invite Code":"निमंत्रण कोड",Copy:"कॉपी करें","This invite code can be used by others to join the relay.":"यह निमंत्रण कोड दूसरों द्वारा रिले में शामिल होने के लिए उपयोग किया जा सकता है।","No invite code available from this relay.":"इस रिले से कोई निमंत्रण कोड उपलब्ध नहीं है।",Close:"बंद करें","Failed to get invite code from relay":"रिले से निमंत्रण कोड प्राप्त करने में विफल","Failed to get invite code":"निमंत्रण कोड प्राप्त करने में विफल","Invite code copied to clipboard":"निमंत्रण कोड क्लिपबोर्ड पर कॉपी किया गया","Favicon URL":"फ़ेविकॉन URL","Filter out onion relays":"ओनियन रिले फ़िल्टर करें","Click to load X post":"X पोस्ट लोड करने के लिए क्लिक करें","View Nostr comments":"Nostr टिप्पणियाँ देखें","Search for notes":"नोट्स खोजें","Search for hashtag":"हैशटैग खोजें","Go to note":"नोट पर जाएं","Go to relay":"रिले पर जाएं","View discussions about this":"इस सामग्री के बारे में चर्चाएँ देखें","Open link":"लिंक खोलें","View Nostr discussions":"Nostr चर्चाएँ देखें","Optimal relays":"इष्टतम रिले","Successfully republish to optimal relays (your write relays and mentioned users' read relays)":"इष्टतम रिले पर सफलतापूर्वक पुनः प्रकाशित (आपके लेखन रिले और उल्लिखित उपयोगकर्ताओं के पठन रिले)","Failed to republish to optimal relays: {{error}}":"इष्टतम रिले पर पुनः प्रकाशित करने में विफल: {{error}}","External Content":"बाहरी सामग्री",Highlight:"हाइलाइट","Optimal relays and {{count}} other relays":"इष्टतम रिले और {{count}} अन्य रिले","Likely spam account (Trust score: {{percentile}}%)":"संभावित स्पैम खाता (विश्वास स्कोर: {{percentile}}%)","Suspicious account (Trust score: {{percentile}}%)":"संदिग्ध खाता (विश्वास स्कोर: {{percentile}}%)","n users":"{{count}} उपयोगकर्ता","View Details":"विवरण देखें","Follow Pack Not Found":"फॉलो पैक नहीं मिला","Follow pack not found":"फॉलो पैक नहीं मिला",Users:"उपयोगकर्ता",Feed:"फ़ीड","Follow Pack":"फॉलो पैक","Load earlier":"पहले लोड करें","Last 24 hours":"पिछले 24 घंटे","Last {{count}} days":"पिछले {{count}} दिन",notes:"नोट्स","Quick reaction":"त्वरित प्रतिक्रिया","If enabled, you can react with a single click. Click and hold for more options":"यदि सक्षम है, तो आप एक क्लिक से प्रतिक्रिया दे सकते हैं। अधिक विकल्पों के लिए क्लिक करें और रोकें","Quick reaction emoji":"त्वरित प्रतिक्रिया इमोजी","Select emoji":"इमोजी चुनें","NSFW content display":"NSFW content display","Hide completely":"Hide completely","Show but hide content":"Show but hide content","Show directly":"Show directly","Click to view":"Click to view","Special Follow":"विशेष फ़ॉलो","Unfollow Special":"विशेष अनफ़ॉलो","Personal Feeds":"व्यक्तिगत फ़ीड","Relay Feeds":"रिले फ़ीड","Create Highlight":"हाइलाइट बनाएं","Write your thoughts about this highlight...":"इस हाइलाइट के बारे में अपने विचार लिखें...","Publish Highlight":"हाइलाइट प्रकाशित करें","Show replies":"जवाब दिखाएं","Hide replies":"जवाब छुपाएं","Welcome to Smesh!":"Smesh में आपका स्वागत है!","Your feed is empty because you are not following anyone yet. Start by exploring interesting content and following users you like!":"आपका फ़ीड खाली है क्योंकि आप अभी तक किसी को फ़ॉलो नहीं कर रहे हैं। दिलचस्प सामग्री का अन्वेषण करके और अपनी पसंद के उपयोगकर्ताओं को फ़ॉलो करके शुरू करें!","Search Users":"उपयोगकर्ता खोजें","Create New Account":"नया खाता बनाएं",Important:"महत्वपूर्ण","Generate Your Account":"अपना खाता बनाएं","Your private key IS your account. Keep it safe!":"आपकी निजी कुंजी ही आपका खाता है। इसे सुरक्षित रखें!","In Nostr, your private key IS your account. If you lose your private key, you lose your account forever.":"Nostr में, आपकी निजी कुंजी ही आपका खाता है। यदि आप अपनी निजी कुंजी खो देते हैं, तो आप अपना खाता हमेशा के लिए खो देते हैं।","Your Private Key":"आपकी निजी कुंजी","Generate new key":"नई कुंजी बनाएं","Download Backup File":"बैकअप फ़ाइल डाउनलोड करें","Copied to Clipboard":"क्लिपबोर्ड पर कॉपी किया गया","Copy to Clipboard":"क्लिपबोर्ड पर कॉपी करें","I already saved my private key securely.":"मैंने पहले ही अपनी निजी कुंजी को सुरक्षित रूप से सहेज लिया है।","Almost Done!":"लगभग हो गया!","Set a password to encrypt your key, or skip to finish":"अपनी कुंजी को एन्क्रिप्ट करने के लिए पासवर्ड सेट करें, या समाप्त करने के लिए छोड़ें","Password Protection (Optional)":"पासवर्ड सुरक्षा (वैकल्पिक)","Setting a password encrypts your private key in this browser. You can skip this step, but we recommend setting one for added security.":"पासवर्ड सेट करने से इस ब्राउज़र में आपकी निजी कुंजी एन्क्रिप्ट हो जाती है। आप इस चरण को छोड़ सकते हैं, लेकिन हम अतिरिक्त सुरक्षा के लिए एक सेट करने की सलाह देते हैं।","Password (Optional)":"पासवर्ड (वैकल्पिक)","Enter password or leave empty to skip":"पासवर्ड दर्ज करें या छोड़ने के लिए खाली छोड़ें","Confirm Password":"पासवर्ड की पुष्टि करें","Re-enter password":"पासवर्ड फिर से दर्ज करें","Passwords do not match":"पासवर्ड मेल नहीं खाते","Finish Signup":"साइनअप समाप्त करें","Create Your Nostr Account":"अपना Nostr खाता बनाएं","Generate your unique private key. This is your digital identity.":"अपनी अद्वितीय निजी कुंजी उत्पन्न करें। यह आपकी डिजिटल पहचान है।","Critical: Save Your Private Key":"महत्वपूर्ण: अपनी निजी कुंजी सहेजें","Your private key IS your account. There is no password recovery. If you lose it, you lose your account forever. Please save it in a secure location.":"आपकी निजी कुंजी आपका खाता है। कोई पासवर्ड पुनर्प्राप्ति नहीं है। यदि आप इसे खो देते हैं, तो आप हमेशा के लिए अपना खाता खो देंगे। कृपया इसे सुरक्षित स्थान पर सहेजें।","I have safely backed up my private key":"मैंने अपनी निजी कुंजी को सुरक्षित रूप से बैकअप कर लिया है","Secure Your Account":"अपने खाते को सुरक्षित करें","Add an extra layer of protection with a password":"पासवर्ड के साथ सुरक्षा की एक अतिरिक्त परत जोड़ें","Password Protection (Recommended)":"पासवर्ड सुरक्षा (अनुशंसित)","Add a password to encrypt your private key in this browser. This is optional but strongly recommended for better security.":"इस ब्राउज़र में अपनी निजी कुंजी को एन्क्रिप्ट करने के लिए पासवर्ड जोड़ें। यह वैकल्पिक है लेकिन बेहतर सुरक्षा के लिए दृढ़ता से अनुशंसित है।","Create a password (or skip)":"एक पासवर्ड बनाएं (या छोड़ें)","Enter your password again":"अपना पासवर्ड फिर से दर्ज करें","Complete Signup":"साइनअप पूर्ण करें",Recommended:"अनुशंसित"}},Hbe={translation:{"Welcome! 🥳":"Dobrodosli! 🥳",About:"O aplikaciji","New Note":"Nova objava",Post:"Objavi",Home:"Pocetna","Relay settings":"Postavke releja",Settings:"Postavke",SidebarRelays:"Releji",Refresh:"Osvjezi",Profile:"Profil",Logout:"Odjava",Following:"Pracenje",followings:"pracenja",reposted:"podijelilo","just now":"upravo sad","minute ago_one":"prije {{count}} minutu","minute ago_other":"prije {{count}} minuta","n m":"{{n}}m","hour ago_one":"prije {{count}} sat","hour ago_other":"prije {{count}} sati","n h":"{{n}}h","day ago_one":"prije {{count}} dan","day ago_other":"prije {{count}} dana","n d":"{{n}}d",date:"{{timestamp, date}}",Follow:"Prati",Unfollow:"Otprati","Follow failed":"Pracenje nije uspjelo","Unfollow failed":"Otpracivanje nije uspjelo","show new notes":"prikazi nove objave","loading...":"ucitavanje...","Loading...":"Ucitavanje...","no more notes":"nema vise objava","reply to":"odgovori na",reply:"odgovor",Reply:"Odgovori","load more older replies":"ucitaj starije odgovore","Write something...":"Napisi nesto...",Cancel:"Odustani",Mentions:"Spominjanja","Failed to post":"Objavljivanje nije uspjelo","Post successful":"Objava uspjesna","Your post has been published":"Vasa objava je objavljena",Repost:"Podijeli",Quote:"Citiraj","Copy event ID":"Kopiraj ID dogadjaja","Copy user ID":"Kopiraj ID korisnika","View raw event":"Prikazi neobradjeni dogadjaj",Like:"Svidja mi se","switch to light theme":"prebaci na svijetlu temu","switch to dark theme":"prebaci na tamnu temu","switch to system theme":"prebaci na sistemsku temu",Note:"Objava",note:"objava","username's following":"pracenja korisnika {{username}}","username's used relays":"releji korisnika {{username}}","username's muted":"utisani od {{username}}",Login:"Prijava","Follows you":"Prati vas","Relay Settings":"Postavke releja","Relay set name":"Naziv skupa releja","Add a new relay set":"Dodaj novi skup releja",Add:"Dodaj","n relays":"{{n}} releja",Rename:"Preimenuj","Copy share link":"Kopiraj link za dijeljenje",Delete:"Obrisi","Relay already exists":"Relej vec postoji","invalid relay URL":"nevazeci URL releja","Add a new relay":"Dodaj novi relej",back:"natrag","Lost in the void":"Izgubljeni u praznini","Carry me home":"Odvedi me kuci","no replies":"nema odgovora","Reply to":"Odgovori na",Search:"Pretraga","The relays you are connected to do not support search":"Releji na koje ste povezani ne podrzavaju pretragu","Show more...":"Prikazi vise...","All users":"Svi korisnici","Display replies":"Prikazi odgovore",Notes:"Objave",Replies:"Odgovori",Notifications:"Obavijesti","no more notifications":"nema vise obavijesti","Using private key login is insecure. It is recommended to use a browser extension for login, such as alby, nostr-keyx or nos2x. If you must use a private key, please set a password for encryption at minimum.":"Prijava privatnim kljucem nije sigurna. Preporucuje se koristiti ekstenziju preglednika za prijavu, kao sto su alby, nostr-keyx ili nos2x. Ako morate koristiti privatni kljuc, barem postavite lozinku za enkripciju.","Login with Browser Extension":"Prijava s ekstenzijom preglednika","Login with Bunker":"Prijava s Bunker-om","Login with Private Key":"Prijava s privatnim kljucem","Custom relay (optional)":"Prilagodjeni relej (opcionalno)","Copy this connection string to your signer app":"Kopirajte ovaj string za povezivanje u vasu signer aplikaciju","reload notes":"ponovno ucitaj objave","Logged in Accounts":"Prijavljeni racuni","Add an Account":"Dodaj racun","More options":"Vise opcija","Add client tag":"Dodaj oznaku klijenta","Show others this was sent via Smesh":"Pokazi drugima da je poslano preko Smesh","Are you sure you want to logout?":"Jeste li sigurni da se zelite odjaviti?","relay sets":"skupovi releja",edit:"uredi",Languages:"Jezici",Theme:"Tema",System:"Sustav",Light:"Svijetla",Dark:"Tamna",Temporary:"Privremeno","Choose a relay set":"Odaberite skup releja","Switch account":"Promijeni racun",Pictures:"Slike","Picture note":"Slikovna objava","A special note for picture-first clients like Olas":"Posebna objava za klijente fokusirane na slike poput Olas","Picture note requires images":"Slikovna objava zahtijeva slike",Relays:"Releji",Image:"Slika","R & W":"C & P",Read:"Citanje",Write:"Pisanje","Pull relay sets":"Povuci skupove releja","Select the relay sets you want to pull":"Odaberite skupove releja koje zelite povuci","No relay sets found":"Nisu pronadjeni skupovi releja","Pull n relay sets":"Povuci {{n}} skupova releja",Pull:"Povuci","Select all":"Odaberi sve","Relay Sets":"Skupovi releja","Read & Write Relays":"Releji za citanje i pisanje","read relays description":"Releji za citanje sluze za trazenje dogadjaja o vama. Drugi korisnici ce objavljivati dogadjaje koje zele da vidite na vase releje za citanje.","write relays description":"Releji za pisanje sluze za objavljivanje vasih dogadjaja. Drugi korisnici ce traziti vase dogadjaje s vasih releja za pisanje.","read & write relays notice":"Broj releja za citanje i pisanje idealno bi trebao biti izmedju 2 i 4.","Don't have an account yet?":"Nemate racun?","or simply generate a private key":"ili jednostavno generirajte privatni kljuc","This is a private key. Do not share it with anyone. Keep it safe and secure. You will not be able to recover it if you lose it.":"Ovo je privatni kljuc. Ne dijelite ga ni s kim. Cuvajte ga na sigurnom. Necete ga moci oporaviti ako ga izgubite.",Edit:"Uredi",Save:"Spremi","Display Name":"Prikazno ime",Bio:"Biografija","Nostr Address (NIP-05)":"Nostr adresa (NIP-05)","Invalid NIP-05 address":"Nevazeca NIP-05 adresa","Copy private key":"Kopiraj privatni kljuc","Enter the password to decrypt your ncryptsec":"Unesite lozinku za dekriptiranje vaseg ncryptsec",Back:"Natrag","optional: encrypt nsec":"opcionalno: enkriptiraj nsec",password:"lozinka","Sign up":"Registracija","Save to":"Spremi u","Enter a name for the new relay set":"Unesite naziv za novi skup releja","Save to a new relay set":"Spremi u novi skup releja",Mute:"Utisaj",Muted:"Utisano",Unmute:"Ukljuci","Unmute user":"Ukljuci korisnika","Append n relays":"Dodaj {{n}} releja",Append:"Dodaj","Select relays to append":"Odaberite releje za dodavanje","calculating...":"racunanje...","Calculate optimal read relays":"Izracunaj optimalne releje za citanje","Login to set":"Prijavite se za postavljanje","Please login to view following feed":"Prijavite se za prikaz feeda pracenja","Send only to r":"Posalji samo na {{r}}","Send only to these relays":"Posalji samo na ove releje",Explore:"Istrazuj","Search relays":"Pretrazi releje",relayInfoBadgeAuth:"Auth",relayInfoBadgeSearch:"Pretraga",relayInfoBadgePayment:"Placanje",Operator:"Operater",Contact:"Kontakt",Software:"Softver",Version:"Verzija","Random Relays":"Nasumicni releji",randomRelaysRefresh:"Osvjezi","Explore more":"Istrazuj vise","Payment page":"Stranica za placanje","Supported NIPs":"Podrzani NIP-ovi","Open in a":"Otvori u {{a}}","Cannot handle event of kind k":"Ne mogu obraditi dogadjaj vrste {{k}}","Sorry! The note cannot be found 😔":"Zao nam je! Objava nije pronadjena 😔","This user has been muted":"Ovaj korisnik je utisan",Wallet:"Novcanik",Sats:"Sats",sats:"sats","Zap to":"Zapni","Zap n sats":"Zapni {{n}} sats",zapComment:"Komentar","Default zap amount":"Zadani iznos zapa","Default zap comment":"Zadani komentar zapa","Lightning Address (or LNURL)":"Lightning adresa (ili LNURL)","Quick zap":"Brzi zap","If enabled, you can zap with a single click. Click and hold for custom amounts":"Ako je ukljuceno, mozete zapnuti jednim klikom. Kliknite i drzite za prilagodjeni iznos",All:"Sve",Reactions:"Reakcije",Zaps:"Zapovi","Earlier notifications":"Ranije obavijesti","Temporarily display this note":"Privremeno prikazi ovu objavu",buttonFollowing:"Pratim","Are you sure you want to unfollow this user?":"Jeste li sigurni da zelite otpratiti ovog korisnika?","Recent Supporters":"Nedavni podrzavatelji","Seen on":"Vidjeno na","Temporarily display this reply":"Privremeno prikazi ovaj odgovor","Note not found":"Objava nije pronadjena","no more replies":"nema vise odgovora","Relay sets":"Skupovi releja","Favorite Relays":"Omiljeni releji","Following's Favorites":"Favoriti pracenih","no more relays":"nema vise releja","Favorited by":"Favorit od","Post settings":"Postavke objave","Media upload service":"Servis za prijenos medija","Choose a relay":"Odaberite relej","no relays found":"releji nisu pronadjeni",video:"video","Show n new notes":"Prikazi {{n}} novih objava","n new notes above":"{{n}} novih objava iznad",YouTabName:"Vi",Bookmark:"Oznaci","Remove bookmark":"Ukloni oznaku","no bookmarks found":"oznake nisu pronadjene","no more bookmarks":"nema vise oznaka",Bookmarks:"Oznake","Show more":"Prikazi vise",General:"Opcenito",Autoplay:"Automatsko pokretanje","Enable video autoplay on this device":"Ukljuci automatsko pokretanje videa na ovom uredjaju","Paste or drop media files to upload":"Zalijepite ili ispustite medijske datoteke za prijenos",Preview:"Pregled","You are about to publish an event signed by [{{eventAuthorName}}]. You are currently logged in as [{{currentUsername}}]. Are you sure?":"Upravo cete objaviti dogadjaj potpisan od [{{eventAuthorName}}]. Trenutno ste prijavljeni kao [{{currentUsername}}]. Jeste li sigurni?",From:"Od","Comment on":"Komentiraj na","View on njump.me":"Pogledaj na njump.me","Hide content from untrusted users":"Sakrij sadrzaj nepouzdanih korisnika","Only show content from your followed users and the users they follow":"Prikazi samo sadrzaj korisnika koje pratite i korisnika koje oni prate","Followed by":"Pracen od","Mute user privately":"Privatno utisaj korisnika","Mute user publicly":"Javno utisaj korisnika",Quotes:"Citati","Lightning Invoice":"Lightning racun","Bookmark failed":"Oznacavanje nije uspjelo","Remove bookmark failed":"Uklanjanje oznake nije uspjelo",Pay:"Plati",interactions:"interakcije",notifications:"obavijesti","Show untrusted {type}":"Prikazi nepouzdane {{type}}","Hide untrusted {type}":"Sakrij nepouzdane {{type}}","Currently hiding {type} from untrusted users.":"Trenutno skrivate {{type}} nepouzdanih korisnika.","Currently showing all {type}.":"Trenutno prikazujete sve {{type}}.","Click continue to show all {type}.":"Kliknite nastavi za prikaz svih {{type}}.","Click continue to hide {type} from untrusted users.":"Kliknite nastavi za skrivanje {{type}} nepouzdanih korisnika.","Trusted users include people you follow and people they follow.":"Pouzdani korisnici ukljucuju ljude koje pratite i ljude koje oni prate.",Continue:"Nastavi","Successfully updated mute list":"Lista utisanih uspjesno azurirana","No pubkeys found from {url}":"Nisu pronadjeni javni kljucevi s {{url}}",Website:"Web stranica","Hide untrusted notes":"Sakrij nepouzdane objave","Hide untrusted interactions":"Sakrij nepouzdane interakcije","Hide untrusted notifications":"Sakrij nepouzdane obavijesti","Open in another client":"Otvori u drugom klijentu",Community:"Zajednica",Group:"Grupa","Live event":"Prijenos uzivo",Article:"Clanak",Unfavorite:"Ukloni iz favorita","Recommended relays":"Preporuceni releji","Blossom server URLs":"Blossom URL-ovi posluzitelja","You need to add at least one blossom server in order to upload media files.":"Trebate dodati barem jedan Blossom posluzitelj za prijenos medijskih datoteka.","Recommended blossom servers":"Preporuceni Blossom posluzitelji","Enter Blossom server URL":"Unesite URL Blossom posluzitelja",Preferred:"Preferirano","Multiple choice (select one or more)":"Visestruki odabir (odaberite jedan ili vise)",Vote:"Glasaj","{{number}} votes":"{{number}} glasova","Total votes":"Ukupno glasova","Poll has ended":"Anketa je zavrsena","Poll ends at {{time}}":"Anketa zavrsava u {{time}}","Load results":"Ucitaj rezultate","This is a poll note.":"Ovo je anketa.","Unlike regular notes, polls are not widely supported and may not display on other clients.":"Za razliku od obicnih objava, ankete nisu siroko podrzane i mozda se nece prikazati na drugim klijentima.","Option {{number}}":"Opcija {{number}}","Add Option":"Dodaj opciju","Allow multiple choices":"Dopusti visestruki odabir","End Date (optional)":"Datum zavrsetka (opcionalno)","Clear end date":"Obrisi datum zavrsetka","Relay URLs (optional, comma-separated)":"URL-ovi releja (opcionalno, razdvojeni zarezom)","Remove poll":"Ukloni anketu","Refresh results":"Osvjezi rezultate",Poll:"Anketa",Media:"Mediji","Republish to ...":"Ponovno objavi na ...","Successfully republish to your write relays":"Uspjesno ponovno objavljeno na vase releje za pisanje","Failed to republish to your write relays: {{error}}":"Ponovno objavljivanje na vase releje za pisanje nije uspjelo: {{error}}","Successfully republish to relay set: {{name}}":"Uspjesno ponovno objavljeno na skup releja: {{name}}","Failed to republish to relay set: {{name}}. Error: {{error}}":"Ponovno objavljivanje na skup releja: {{name}} nije uspjelo. Greska: {{error}}","Successfully republish to relay: {{url}}":"Uspjesno ponovno objavljeno na relej: {{url}}","Failed to republish to relay: {{url}}. Error: {{error}}":"Ponovno objavljivanje na relej: {{url}} nije uspjelo. Greska: {{error}}","Write relays":"Releji za pisanje","No more reactions":"Nema vise reakcija","No reactions yet":"Nema reakcija","No more zaps":"Nema vise zapova","No zaps yet":"Nema zapova","No more reposts":"Nema vise dijeljenja","No reposts yet":"Nema dijeljenja",Reposts:"Dijeljenja",FollowListNotFoundConfirmation:"Lista pracenja nije pronadjena. Zelite li stvoriti novu? Ako ste ranije pratili korisnike, NEMOJTE potvrditi jer ce ova operacija uzrokovati gubitak vase prethodne liste pracenja.",MuteListNotFoundConfirmation:"Lista utisanih nije pronadjena. Zelite li stvoriti novu? Ako ste ranije utisavali korisnike, NEMOJTE potvrditi jer ce ova operacija uzrokovati gubitak vase prethodne liste utisanih.","Show NSFW content by default":"Prikazi NSFW sadrzaj po zadanom","Custom emoji management":"Upravljanje prilagodjenim emojijima","After changing emojis, you may need to refresh the page":"Nakon promjene emojija, mozda cete trebati osvjeziti stranicu","Too many read relays":"Previse releja za citanje","Too many write relays":"Previse releja za pisanje","You have {{count}} read relays. Most clients only use 2-4 relays, setting more is unnecessary.":"Imate {{count}} releja za citanje. Vecina klijenata koristi samo 2-4 releja, vise od toga je nepotrebno.","You have {{count}} write relays. Most clients only use 2-4 relays, setting more is unnecessary.":"Imate {{count}} releja za pisanje. Vecina klijenata koristi samo 2-4 releja, vise od toga je nepotrebno.","Optimize Relay Settings":"Optimiziraj postavke releja","Your current relay configuration may not be optimal. This could make it difficult for others to find your posts and may result in incomplete notifications.":"Vasa trenutna konfiguracija releja mozda nije optimalna. To moze otezati drugima pronalazenje vasih objava i rezultirati nepotpunim obavijestima.","Optimize Now":"Optimiziraj sad","Maybe Later":"Mozda kasnije","Don't remind me again":"Ne podsjjecaj me vise",Posts:"Objave",Articles:"Clanci",Highlights:"Istaknutosti",Polls:"Ankete","Voice Posts":"Glasovne objave","Photo Posts":"Foto objave","Video Posts":"Video objave","Select All":"Odaberi sve","Clear All":"Ponisti sve","Set as default filter":"Postavi kao zadani filtar",Apply:"Primijeni",Reset:"Ponisti","Share something on this Relay":"Podijelite nesto na ovom releju","Try deleting this note":"Pokusaj obrisati ovu objavu","Deletion request sent to {{count}} relays":"Zahtjev za brisanje poslan na {{count}} releja","Suitable Relays":"Prikladni releji","People, keywords, or relays":"Ljudi, kljucne rijeci ili releji","Hide content mentioning muted users":"Sakrij sadrzaj koji spominje utisane korisnike","This note mentions a user you muted":"Ova objava spominje korisnika kojeg ste utisali",Filter:"Filtar","mentioned you in a note":"vas je spomenuo/la u objavi","quoted your note":"je citirao/la vasu objavu","voted in your poll":"je glasao/la u vasoj anketi","reacted to your note":"je reagirao/la na vasu objavu","reposted your note":"je podijelio/la vasu objavu","zapped your note":"je zapnuo/la vasu objavu","highlighted your note":"je istaknuo/la vasu objavu","zapped you":"vas je zapnuo/la","Mark as read":"Oznaci kao procitano",Report:"Prijavi","Successfully report":"Uspjesno prijavljeno","Failed to report":"Prijava nije uspjela",nudity:"Golotinja",malware:"Zlonamjerni softver",profanity:"Vulgarnost",illegal:"Ilegalni sadrzaj",spam:"Spam",other:"Ostalo","Notification list style":"Stil popisa obavijesti","See extra info for each notification":"Pogledajte dodatne informacije za svaku obavijest","See more notifications at a glance":"Pogledajte vise obavijesti na prvi pogled",Detailed:"Detaljno",Compact:"Kompaktno","Submit Relay":"Posalji relej",Homepage:"Pocetna stranica","Proof of Work (difficulty {{minPow}})":"Dokaz rada (tezina {{minPow}})","via {{client}}":"putem {{client}}","Auto-load media":"Automatsko ucitavanje medija",Always:"Uvijek","Wi-Fi only":"Samo Wi-Fi",Never:"Nikad","Click to load image":"Kliknite za ucitavanje slike","Click to load media":"Kliknite za ucitavanje medija","Click to load YouTube video":"Kliknite za ucitavanje YouTube videa","Click to load X post":"Kliknite za ucitavanje X objave","{{count}} reviews":"{{count}} recenzija","Write a review":"Napisi recenziju","No reviews yet. Be the first to write one!":"Nema recenzija. Budite prvi koji ce napisati jednu!","View more reviews":"Pogledaj vise recenzija","Failed to review":"Recenzija nije uspjela","Write a review and pick a star rating":"Napisite recenziju i odaberite ocjenu zvjezdicama",Submit:"Posalji","Reviews for {{relay}}":"Recenzije za {{relay}}","No relays selected":"Nisu odabrani releji","Post to":"Objavi na","Write relays and {{count}} other relays":"Releji za pisanje i {{count}} drugih releja","{{count}} relays":"{{count}} releja","Republishing...":"Ponovno objavljivanje...","Connected to":"Povezano na","Disconnect Wallet":"Odspoji novcanik","Are you absolutely sure?":"Jeste li potpuno sigurni?","You will not be able to send zaps to others.":"Necete moci slati zapove drugima.",Disconnect:"Odspoji","Start with a Rizful Vault":"Zapocnite s Rizful Vault","or other wallets":"ili drugi novcanici","Rizful Vault":"Rizful Vault","Rizful Vault connected!":"Rizful Vault povezan!","You can now use your Rizful Vault to zap your favorite notes and creators.":"Sada mozete koristiti svoj Rizful Vault za zapanje omiljenih objava i kreatora.","Your Lightning Address":"Vasa Lightning adresa","New to Rizful?":"Novi na Rizful?","Sign up for Rizful":"Registrirajte se za Rizful","If you already have a Rizful account, you can skip this step.":"Ako vec imate Rizful racun, mozete preskociti ovaj korak.","Get your one-time code":"Dobijte svoj jednokratni kod","Get code":"Dobij kod","Connect to your Rizful Vault":"Povezi se na svoj Rizful Vault","Paste your one-time code here":"Zalijepite svoj jednokratni kod ovdje",Connect:"Povezi","Connect Wallet":"Povezi novcanik","Set up your wallet to send and receive sats!":"Postavite novcanik za slanje i primanje satova!","Set up":"Postavi",Pinned:"Prikvaceno",Unpin:"Odkvaci",Unpinning:"Odkvacivanje","Pinning...":"Prikvacivanje...","Pinned!":"Prikvaceno!","Failed to pin: {{error}}":"Prikvacivanje nije uspjelo: {{error}}","Unpinning...":"Odkvacivanje...","Unpinned!":"Odkvaceno!","Failed to unpin: {{error}}":"Odkvacivanje nije uspjelo: {{error}}","Unpin from profile":"Odkvaci s profila","Pin to profile":"Prikvaci na profil",Appearance:"Izgled","Pure Black":"Cista crna",Default:"Zadano",Red:"Crvena",Orange:"Narancasta",Amber:"Jantarna",Yellow:"Zuta",Lime:"Limeta",Green:"Zelena",Emerald:"Smaragdna",Teal:"Tirkiznozelena",Cyan:"Cijan",Sky:"Nebeska",Blue:"Plava",Indigo:"Indigo",Violet:"Ljubicasta",Purple:"Purpurna",Fuchsia:"Fuksija",Pink:"Roza",Rose:"Ruzicasta","Primary color":"Primarna boja",Layout:"Raspored","Two-column":"Dva stupca","Single-column":"Jedan stupac",Reviews:"Recenzije",Extension:"Ekstenzija",Remote:"Udaljeno","Encrypted Key":"Enkriptirani kljuc","Private Key":"Privatni kljuc","Welcome to Smesh":"Dobrodosli na Smesh","Smesh is a client focused on browsing relays. Get started by exploring interesting relays or login to view your following feed.":"Smesh je nostr klijent fokusiran na izgradnju zajednica i pomoć u koordinaciji ljudi sa suverenim razmišljanjem.","Explore Relays":"Istrazuj releje","Choose a feed":"Odaberite feed","and {{x}} others":"i jos {{x}}",selfZapWarning:"Smesh ne odgovara za ono sto se dogodi ako zapnete sami sebe. Nastavljate na vlastitu odgovornost. 😉⚡","Emoji Pack":"Paket emojija","Emoji pack added":"Paket emojija dodan","Add emoji pack failed":"Dodavanje paketa emojija nije uspjelo","Emoji pack removed":"Paket emojija uklonjen","Remove emoji pack failed":"Uklanjanje paketa emojija nije uspjelo",Added:"Dodano","Emoji Packs":"Paketi emojija","My Packs":"Moji paketi","Adding...":"Dodavanje...","Removing...":"Uklanjanje...",Reload:"Ponovno ucitaj","Request to Join Relay":"Zahtjev za pristup releju","Leave Relay":"Napusti relej",Leave:"Napusti","Are you sure you want to leave this relay?":"Jeste li sigurni da zelite napustiti ovaj relej?","Join request sent successfully":"Zahtjev za pristup uspjesno poslan","Failed to send join request":"Slanje zahtjeva za pristup nije uspjelo","Leave request sent successfully":"Zahtjev za napustanje uspjesno poslan","Failed to send leave request":"Slanje zahtjeva za napustanje nije uspjelo","Enter an invite code if you have one. Otherwise, leave it blank to send a request.":"Unesite pozivni kod ako ga imate. Inace ostavite prazno za slanje zahtjeva.","Invite Code (Optional)":"Pozivni kod (opcionalno)","Enter invite code":"Unesite pozivni kod","Sending...":"Slanje...","Send Request":"Posalji zahtjev","You can get an invite code from a relay member.":"Pozivni kod mozete dobiti od clana releja.","Enter the invite code you received from a relay member.":"Unesite pozivni kod koji ste dobili od clana releja.","Get Invite Code":"Dobij pozivni kod","Share this invite code with others to invite them to join this relay.":"Podijelite ovaj pozivni kod s drugima kako biste ih pozvali na ovaj relej.","Invite Code":"Pozivni kod",Copy:"Kopiraj","This invite code can be used by others to join the relay.":"Ovaj pozivni kod mogu koristiti drugi za pristup releju.","No invite code available from this relay.":"Nema dostupnog pozivnog koda za ovaj relej.",Close:"Zatvori","Failed to get invite code from relay":"Dohvacanje pozivnog koda s releja nije uspjelo","Failed to get invite code":"Dohvacanje pozivnog koda nije uspjelo","Invite code copied to clipboard":"Pozivni kod kopiran u medjuspremnik","Favicon URL":"URL favikone","Filter out onion relays":"Filtriraj onion releje","View Nostr comments":"Pogledaj Nostr komentare","Search for notes":"Pretrazi objave","Search for hashtag":"Pretrazi hashtag","Go to note":"Idi na objavu","Go to relay":"Idi na relej","View discussions about this":"Pogledaj rasprave o ovome","Open link":"Otvori link","View Nostr discussions":"Pogledaj Nostr rasprave","Optimal relays":"Optimalni releji","Successfully republish to optimal relays (your write relays and mentioned users' read relays)":"Uspjesno ponovno objavljeno na optimalne releje (vasi releji za pisanje i releji za citanje spomenutih korisnika)","Failed to republish to optimal relays: {{error}}":"Ponovno objavljivanje na optimalne releje nije uspjelo: {{error}}","External Content":"Vanjski sadrzaj",Highlight:"Istakni","Optimal relays and {{count}} other relays":"Optimalni releji i {{count}} drugih releja","Likely spam account (Trust score: {{percentile}}%)":"Vjerojatno spam racun (ocjena pouzdanosti: {{percentile}}%)","Suspicious account (Trust score: {{percentile}}%)":"Sumnjiv racun (ocjena pouzdanosti: {{percentile}}%)","n users":"{{count}} korisnika","n users_one":"{{count}} korisnik","n users_other":"{{count}} korisnika","View Details":"Pogledaj detalje","Follow Pack Not Found":"Paket pracenja nije pronadjen","Follow pack not found":"Paket pracenja nije pronadjen",Users:"Korisnici",Feed:"Feed","Follow Pack":"Paket pracenja","Load earlier":"Ucitaj ranije","Last 24 hours":"Zadnjih 24 sata","Last {{count}} days":"Zadnjih {{count}} dana",notes:"objave","Quick reaction":"Brza reakcija","If enabled, you can react with a single click. Click and hold for more options":"Ako je ukljuceno, mozete reagirati jednim klikom. Kliknite i drzite za vise opcija","Quick reaction emoji":"Emoji brze reakcije","Select emoji":"Odaberite emoji","NSFW content display":"Prikaz NSFW sadrzaja","Hide completely":"Potpuno sakrij","Show but hide content":"Prikazi ali sakrij sadrzaj","Show directly":"Prikazi direktno","Click to view":"Kliknite za prikaz","Special Follow":"Posebno pracenje","Unfollow Special":"Otprati posebno","Personal Feeds":"Osobni feedovi","Relay Feeds":"Feedovi releja","Create Highlight":"Stvori istaknutost","Write your thoughts about this highlight...":"Napisite svoje misli o ovoj istaknutosti...","Publish Highlight":"Objavi istaknutost","Show replies":"Prikazi odgovore","Hide replies":"Sakrij odgovore","Welcome to Smesh!":"Dobrodosli na Smesh!","Your feed is empty because you are not following anyone yet. Start by exploring interesting content and following users you like!":"Vas feed je prazan jer jos ne pratite nikoga. Zapocnite istrazivanjem zanimljivog sadrzaja i pracenjem korisnika koji vam se svidjaju!","Search Users":"Pretrazi korisnike","Create New Account":"Stvori novi racun",Important:"Vazno","Generate Your Account":"Generiraj svoj racun","Your private key IS your account. Keep it safe!":"Vas privatni kljuc JE vas racun. Cuvajte ga!","In Nostr, your private key IS your account. If you lose your private key, you lose your account forever.":"Na Nostr-u, vas privatni kljuc JE vas racun. Ako izgubite privatni kljuc, zauvijek gubite racun.","Your Private Key":"Vas privatni kljuc","Generate new key":"Generiraj novi kljuc","Download Backup File":"Preuzmi sigurnosnu kopiju","Copied to Clipboard":"Kopirano u medjuspremnik","Copy to Clipboard":"Kopiraj u medjuspremnik","I already saved my private key securely.":"Vec sam sigurno spremio/la svoj privatni kljuc.","Almost Done!":"Skoro gotovo!","Set a password to encrypt your key, or skip to finish":"Postavite lozinku za enkripciju kljuca, ili preskocite za zavrsetak","Password Protection (Optional)":"Zastita lozinkom (opcionalno)","Setting a password encrypts your private key in this browser. You can skip this step, but we recommend setting one for added security.":"Postavljanje lozinke enkriptira vas privatni kljuc u ovom pregledniku. Mozete preskociti ovaj korak, ali preporucujemo postavljanje lozinke za dodatnu sigurnost.","Password (Optional)":"Lozinka (opcionalno)","Enter password or leave empty to skip":"Unesite lozinku ili ostavite prazno za preskakanje","Confirm Password":"Potvrdite lozinku","Re-enter password":"Ponovno unesite lozinku","Passwords do not match":"Lozinke se ne podudaraju","Finish Signup":"Zavrsi registraciju","Create Your Nostr Account":"Stvorite svoj Nostr racun","Generate your unique private key. This is your digital identity.":"Generirajte svoj jedinstveni privatni kljuc. Ovo je vas digitalni identitet.","Critical: Save Your Private Key":"Kriticno: Spremite svoj privatni kljuc","Your private key IS your account. There is no password recovery. If you lose it, you lose your account forever. Please save it in a secure location.":"Vas privatni kljuc JE vas racun. Ne postoji oporavak lozinke. Ako ga izgubite, zauvijek gubite racun. Molimo spremite ga na sigurno mjesto.","I have safely backed up my private key":"Sigurno sam pohranio/la svoj privatni kljuc","Secure Your Account":"Osigurajte svoj racun","Add an extra layer of protection with a password":"Dodajte dodatni sloj zastite lozinkom","Password Protection (Recommended)":"Zastita lozinkom (preporuceno)","Add a password to encrypt your private key in this browser. This is optional but strongly recommended for better security.":"Dodajte lozinku za enkripciju privatnog kljuca u ovom pregledniku. Opcionalno, ali jako preporuceno za bolju sigurnost.","Create a password (or skip)":"Stvorite lozinku (ili preskocite)","Enter your password again":"Ponovno unesite lozinku","Complete Signup":"Zavrsi registraciju",Recommended:"Preporuceno"}},Wbe={translation:{"Welcome! 🥳":"Isten hozott! 🥳",About:"Rólunk","New Note":"Új Poszt",Post:"Új Poszt",Home:"Főoldal","Relay settings":"Csomópont beállítások",Settings:"Beállítások",SidebarRelays:"Csomópontok",Refresh:"Frissítés",Profile:"Profil",Logout:"Kilépés",Following:"Követések",followings:"követések",reposted:"újraposztolta","just now":"épp most","minute ago_one":"{{count}} perce","minute ago_other":"{{count}} perce","n m":"{{n}}p","hour ago_one":"{{count}} órája","hour ago_other":"{{count}} órája","n h":"{{n}}ó","day ago_one":"{{count}} napja","day ago_other":"{{count}} napja","n d":"{{n}}n",date:"{{timestamp, date}}",Follow:"Követés",Unfollow:"Követés leállítása","Follow failed":"Követés nem sikerült","Unfollow failed":"Követés leállítása nem sikerült","show new notes":"új posztok mutatása","loading...":"betöltés...","Loading...":"Betöltés...","no more notes":"nincs több poszt","reply to":"válasz",reply:"válasz",Reply:"Válasz","load more older replies":"régebbi posztok betöltése","Write something...":"Írj valamit...",Cancel:"Mégsem",Mentions:"Említések","Failed to post":"Nem sikerült posztolni","Post successful":"Sikeres posztolás","Your post has been published":"Poszt elküldve",Repost:"Újraposztolás",Quote:"Idézet","Copy event ID":"Esemény ID másolása","Copy user ID":"Profil ID másolása","View raw event":"Esemény forrása",Like:"Reakciók","switch to light theme":"világos téma","switch to dark theme":"sötét témá","switch to system theme":"alapértelmezett téma",Note:"Poszt",note:"poszt","username's following":"{{username}} követi","username's used relays":"{{username}} csomópontjai","username's muted":"{{username}} némításai",Login:"Belépés","Follows you":"Követ téged","Relay Settings":"Csomópont Beállítások","Relay set name":"Csomópont lista neve","Add a new relay set":"Új csomópont lista",Add:"Hozzáadás","n relays":"{{n}} csomópont",Rename:"Átnevezés","Copy share link":"Megosztás",Delete:"Törlés","Relay already exists":"Csomópont már létezik","invalid relay URL":"csomópont URL nem megfelelő","Add a new relay":"Új csomópont hozzáadása",back:"vissza","Lost in the void":"Eltűnt a semmiben","Carry me home":"Vigyél haza","no replies":"nincs válasz","Reply to":"Válaszolás",Search:"Keresés","The relays you are connected to do not support search":"Egyik csomópontod sem támogatja a keresést","Show more...":"Továbbiak...","All users":"Összes felhasználó","Display replies":"Válaszok mutatása",Notes:"Posztok",Replies:"Válaszok",Notifications:"Értesítések","no more notifications":"nincs több értesítés","Using private key login is insecure. It is recommended to use a browser extension for login, such as alby, nostr-keyx or nos2x. If you must use a private key, please set a password for encryption at minimum.":"A belépés titkos kulccsal nem olyan biztonságos. Használj egy böngésző bővítményt mint az Alby, nos2x vagy nostr-keyx belépéshez. Ha mégis a titkos kulcsot használnád, állíts be jelszót hozzá.","Login with Browser Extension":"Belépés Böngésző Bővítménnyel","Login with Bunker":"Belépés Bunkerrel","Login with Private Key":"Belépés titkos kulccsal","reload notes":"posztok frissítése","Logged in Accounts":"Belépett Profilok","Add an Account":"Profil hozzáadása","More options":"További lehetőségek","Add client tag":"Kliens jelölése","Show others this was sent via Smesh":"Mutasd meg másoknak, hogy Smesh-lel küldted","Are you sure you want to logout?":"Biztosan ki akarsz lépni?","relay sets":"csomópont listák",edit:"szerkesztés",Languages:"Nyelvek",Theme:"Téma",System:"System",Light:"Világos",Dark:"Sötét",Temporary:"Ideiglenes","Choose a relay set":"Válassz egy csomópont listát","Switch account":"Profil váltás",Pictures:"Képek","Picture note":"Kép megjegyzés","A special note for picture-first clients like Olas":"Külön megjegyzés képes klienseknek, mint az Olas","Picture note requires images":"Kép megjegyzéshez képre van szükség",Relays:"Csomópontok",Image:"Kép","R & W":"Írt & Olvasott",Read:"Olvasott",Write:"Írt","Pull relay sets":"Csomópont listák letöltése","Select the relay sets you want to pull":"Válaszd ki a csomópont listákat, amiket letöltenél","No relay sets found":"Csomópont lista nem található","Pull n relay sets":"{{n}} csomópont lista letöltése",Pull:"Letöltés","Select all":"Mind kiválasztása","Relay Sets":"Csomópont Listák","Read & Write Relays":"Írt & Olvasott Csomópontok","read relays description":"Az olvasott csomópontjaidról töltjük le azokat az eseményeket, melyek rólad szólnak. Mások ide küldik azokat az eseményeket, amiket neked akarnak eljuttatni.","write relays description":"Az írt csomópontokra küldöd a saját eseményeidet. Mások itt fogják keresni az általad publikált eseményeket.","read & write relays notice":"Az írt és az olvasott csomópontok száma általában 2 és 4 között ideális.","Don't have an account yet?":"Nincs még profilod?","or simply generate a private key":"vagy generálj egy titkos kulcsot","This is a private key. Do not share it with anyone. Keep it safe and secure. You will not be able to recover it if you lose it.":"Ez egy titkos kulcs. Ne mutasd meg senkinek. Tartsd biztonságos helyen. Ha elveszíted, nem fogsz tudhi hozzáférni a profilodhoz.",Edit:"Szerkesztés",Save:"Mentés","Display Name":"Név",Bio:"Bio","Nostr Address (NIP-05)":"Nostr Cím (NIP-05)","Invalid NIP-05 address":"Hibás NIP-05 cím","Copy private key":"Titkos kulcs másolása","Enter the password to decrypt your ncryptsec":"Írd be a jelszót a titkos kulcsodhoz (ncryptsec)",Back:"Vissza","optional: encrypt nsec":"opcionális: titkos kulcs védelme jelszóval",password:"jelszó","Sign up":"Feliratkozás","Save to":"Küldés erre","Enter a name for the new relay set":"Nevezd el új csomópont listát","Save to a new relay set":"Mentés egy új csomópont listába",Mute:"Némítás",Muted:"Némítások",Unmute:"Némítás feloldása","Unmute user":"Felhasználó némításának feloldása","Append n relays":"{{n}} csomópont hozzáadása",Append:"Hozzáadás","Select relays to append":"Válassz ki csomópontokat amiket hozzáadnál","calculating...":"számítás...","Calculate optimal read relays":"Olvasott csomópontok optimalizálása","Login to set":"Lépj be, hogy beállítsd","Please login to view following feed":"Lépj be a feed megtekintéséhez","Send only to r":"Küldés csak a {{r}} csomópontra","Send only to these relays":"Küldés csak ezekre a csomópontokra",Explore:"Felderítés","Search relays":"Csomópontok kereséshez",relayInfoBadgeAuth:"Auth",relayInfoBadgeSearch:"Keresés",relayInfoBadgePayment:"Fizetés",Operator:"Üzemeltető",Contact:"Kapcsolat",Software:"Szoftver",Version:"Verzió","Random Relays":"Random csomópontok",randomRelaysRefresh:"Frissítés","Explore more":"Továbbiak felderítése","Payment page":"Fizetés oldal","Supported NIPs":"Támogatott NIP-ek","Open in a":"Megnyitás itt: {{a}}","Cannot handle event of kind k":"Nem támogatott ez a fajta esemény: {{k}}","Sorry! The note cannot be found 😔":"Ejj! A poszt nem található 😔","This user has been muted":"Ez a felhasználó némítva van",Wallet:"Tárca",Sats:"Sat",sats:"sat","Zap to":"Zappolás","Zap n sats":"Zap {{n}} sat",zapComment:"Megjegyzés","Default zap amount":"Alapértelmezett zap összeg","Default zap comment":"Alapértelmezett zap megjegyzés","Lightning Address (or LNURL)":"Lightning Cím (vagy LNURL)","Quick zap":"Gyors zap","If enabled, you can zap with a single click. Click and hold for custom amounts":"Ha be van kapcsolva, egy klikkeléssel lehet zappolni. Tartsd az egérgombot hosszan lenyomva, hogy az összeget beállítsd.",All:"Minden",Reactions:"Reakciók",Zaps:"Zap-ok","Earlier notifications":"Korábbi értesítések","Temporarily display this note":"Poszt ideiglenes megmutatása",buttonFollowing:"Követed","Are you sure you want to unfollow this user?":"Biztos, hogy leállítod a követést?","Recent Supporters":"Legutóbbi Támogatók","Seen on":"Csomópontok","Temporarily display this reply":"Válasz ideiglenes megmutatása","Note not found":"Poszt nem található","no more replies":"nincs több válasz","Relay sets":"Csomópont listák","Favorite Relays":"Kedvenc Csomópontok","Following's Favorites":"Követettek kedvencei","no more relays":"nincs több csomópont","Favorited by":"Kedvencnek beállították","Post settings":"Poszt beállítások","Media upload service":"Média szerverek","Choose a relay":"Csomópont kiválasztása","no relays found":"nem találtunk csomópontot",video:"videó","Show n new notes":"{{n}} új poszt",YouTabName:"Te",Bookmark:"Könyvjelző","Remove bookmark":"Könyvjelző törlése","no bookmarks found":"nincsenek könyvjelzők","no more bookmarks":"nincs több könyvjelző",Bookmarks:"Könyvjelzők","Show more":"Továbbiak",General:"Általános",Autoplay:"Automatikus lejátszás","Enable video autoplay on this device":"Videók automatikus lejátszása ezen az eszközön","Paste or drop media files to upload":"Média fileok beillesztése vagy drag and drop",Preview:"Előnézet","You are about to publish an event signed by [{{eventAuthorName}}]. You are currently logged in as [{{currentUsername}}]. Are you sure?":"Publikálni készülsz egy eseményt, amit [{{eventAuthorName}}] írt alá. Jelenleg [{{currentUsername}}] profillal vagy belépve. Biztosan publikálod?","Platinum Sponsors":"Platina Szponzorok",From:"Tőle","Comment on":"Megjegyzés erre","View on njump.me":"Megtekintés az njump.me-n","Hide content from untrusted users":"Nem megbízható felhasználók tartalmának elrejtése","Only show content from your followed users and the users they follow":"Csak a követett felhasználók és az általuk követettek tartalmának mutatása","Followed by":"Követők","Mute user privately":"Felhasználó némítása (privát)","Mute user publicly":"Felhasználó némítása (nyilvános)",Quotes:"Idézetek","Lightning Invoice":"Lightning Számla","Bookmark failed":"Nem sikerült hozzáadni a könyvjelzőt","Remove bookmark failed":"Nem sikerült törölni a könyvjelzőt",Translation:"Fordítás",Balance:"Egyenleg",characters:"karakter",smeshTranslateApiKeyDescription:"You can use this API key anywhere else that supports LibreTranslate. The service URL is {{serviceUrl}}","Top up":"Feltöltés","Will receive: {n} characters":"{{n}} karakter fogadása","Top up {n} sats":"Feltöltés {{n}} sattal","Minimum top up is {n} sats":"Minimum összeg {{n}} sat",Service:"Szolgáltatás","Reset API key":"API kulcs visszaállítása","Are you sure you want to reset your API key? This action cannot be undone.":"Biztos, hogy visszaállítod az API kulcsot? Ez a művelet nem visszavonható.",Warning:"Vigyázat","Your current API key will become invalid immediately, and any applications using it will stop working until you update them with the new key.":"A jelenlegi API kulcs érvénytelenné válik, és az alkalmazások nem fognak működni, amíg az új API kulcsot beállítod.","Service address":"Szolgáltatás címe",Pay:"Fizetés",interactions:"interakciók",notifications:"értesítések","Show untrusted {type}":"{{type}} típus mutatása","Hide untrusted {type}":"{{type}} típus elrejtése","Currently hiding {type} from untrusted users.":"nem megbízható felhasználóktól {{type}} elrejtve.","Currently showing all {type}.":"Összes {{type}} látszik.","Click continue to show all {type}.":"Kattints az összes {{type}} mutatásához.","Click continue to hide {type} from untrusted users.":"Kattints a folytatás gombra, hogy {{type}} elrejtsük a megbízhatatlan profiloktól.","Trusted users include people you follow and people they follow.":"A megbízható profilok közé a követett és az általuk követett profilok tartoznak.",Continue:"Folytatás","Successfully updated mute list":"Némítások sikeresen frissítve","No pubkeys found from {url}":"Nem találtunk pubkeyt itt: {{url}}","Translating...":"Fordítás...",Translate:"Fordítás","Show original":"Eredeti mutatása",Website:"Weboldal","Hide untrusted notes":"Nem megbízható posztok elrejtése","Open in another client":"Megnyitás másik kliensben",Community:"Közösség",Group:"Csoport","Live event":"Élő esemény",Article:"Cikk",Unfavorite:"Törlés a kedvencek közül","Recommended relays":"Ajánlott csomópontok","Blossom server URLs":"Blossom szerver URL-ek","You need to add at least one blossom server in order to upload media files.":"Legalább egy blossom szerverre szükséged van, hogy feltölthess fileokat.","Recommended blossom servers":"Ajánlott blossom szerverek","Enter Blossom server URL":"Blossom szerver URL megadása",Preferred:"Preferált","Multiple choice (select one or more)":"Több is megjelölhető",Vote:"Szavazás","{{number}} votes":"{{number}} szavazat","Total votes":"Összes szavazat","Poll has ended":"Szavazás véget ért","Poll ends at {{time}}":"Szavazás vége: {{time}}","Load results":"Eredmény betöltése","This is a poll note.":"Ez egy szavazás.","Unlike regular notes, polls are not widely supported and may not display on other clients.":"A sima posztokkal ellentétben a szavazásokat nem minden kliens támogatja.","Option {{number}}":"Opció {{number}}","Add Option":"Opció hozzáadás","Allow multiple choices":"Több is megjelölhető","End Date (optional)":"Szavazás Vége (opcionális)","Clear end date":"Vége Időpont törlése","Relay URLs (optional, comma-separated)":"Csomópont URL-ek (opcionális, vesszővel elválasztva)","Remove poll":"Szavazás törlése","Refresh results":"Eredmények frissítése",Poll:"Szavazás",Media:"Média","Republish to ...":"Továbbküldés ide:","Successfully republish to your write relays":"Sikeresen elküldve az írt csomópontokra","Failed to republish to your write relays: {{error}}":"Nem sikerült publikálni az írt relay-ekre: {{error}}","Successfully republish to relay set: {{name}}":"Sikeresen elküldve erre a relay listára: {{name}}","Failed to republish to relay set: {{name}}. Error: {{error}}":"Nem sikerült elküldeni a relay listára: {{name}}. Hiba: {{error}}","Successfully republish to relay: {{url}}":"Sikeresen elküldve a csomópontra: {{url}}","Failed to republish to relay: {{url}}. Error: {{error}}":"Nem sikerült elküldeni a relay-re: {{url}}. Hiba: {{error}}","Write relays":"Írt csomópontok","No more reactions":"Nincs több reakció","No reactions yet":"Nincs még reakció","No more zaps":"Nincs több zap","No zaps yet":"Nincs még zap","No more reposts":"Nincs több újraposztolás","No reposts yet":"Nincs még újraposztolás",Reposts:"Újraposztolások",FollowListNotFoundConfirmation:"Nincs még követési listád, vagy legalábbis nem találjuk. Szeretnél új követési listát létrehozni? Ha ez az első követésed ezzel a profillal, klikkelj az okéra, de ha már követtél más felhasználókat, akkor NE EGYEZZ BELE, mert elveszítheted a követéseidet, és macerás visszaállítani.",MuteListNotFoundConfirmation:"Nem találtunk némítási listát. Létre szeretnél hozni egy új listát? Ha ez az első némításod, nyogodtan nyomj rá az okéra, de ha úgy tudod, hogy vannak már némított profiljaid, akkor NE EGYEZZ BELE, mert elveszhet a meglévő némítási lista, és macerás visszaállítani.","Show NSFW content by default":"Kétes (NSFW) tartalmak mutatása","Custom emoji management":"Egyedi emojik kezelése","After changing emojis, you may need to refresh the page":"Miután szerkesztetted az emojikat, frissítsd az oldalt","Too many read relays":"Túl sok olvasott csomópont","Too many write relays":"Túl sok írt csomópont","You have {{count}} read relays. Most clients only use 2-4 relays, setting more is unnecessary.":"You have {{count}} read relays. Most clients only use 2-4 relays, setting more is unnecessary.","You have {{count}} write relays. Most clients only use 2-4 relays, setting more is unnecessary.":"{{count}} írt csomópontod van. Legtöbb kliens csak 2-4-et használ, szükségtelen többet beállítani.","Optimize Relay Settings":"Csomópont Beállítások Optimalizálása","Your current relay configuration may not be optimal. This could make it difficult for others to find your posts and may result in incomplete notifications.":"A csomópont beállításaid nem optimálisak. Ez megnehezítheti, hogy mások olvassák a posztjaidat és az értesítéseid is hiányosak lehetnek.","Optimize Now":"Optimizálás Most","Maybe Later":"Talán Később","Don't remind me again":"Nem kérek emlékeztetőt",Posts:"Posztok",Articles:"Cikkek",Highlights:"Kiemelések",Polls:"Szavazások","Voice Posts":"Audio Posztok","Photo Posts":"Képes Posztok","Video Posts":"Videó Posztok","Select All":"Mind Kijelölése","Clear All":"Mind Törlése","Set as default filter":"Beállítás alapértelmezett szűrőnek",Apply:"Alkalmaz",Reset:"Visszaállít","Share something on this Relay":"Posztolás erre a csomópontra","Try deleting this note":"Poszt törlés megpróbálása","Deletion request sent to {{count}} relays":"Törlés elküldve {{count}} csomópontnak","Suitable Relays":"Megfelelő Csomópontok","People, keywords, or relays":"Emberek, kulcsszavak vagy csomópontok","Hide content mentioning muted users":"Poszt elrejtése, ha némított felhasználót említ","This note mentions a user you muted":"Ez a poszt egy általad némított felhasználót említ",Filter:"Szűrő","mentioned you in a note":"megemlített téged egy posztban","quoted your note":"idézte egy posztodat","voted in your poll":"szavazott a szavazásodban","reacted to your note":"reagált a posztodra","reposted your note":"újraposztolta a posztodat","zapped your note":"zappolta a posztodat","highlighted your note":"kiemelte a posztodat","zapped you":"zappolt téged","Mark as read":"Megjelölés olvasottként",Report:"Jelentés","Successfully report":"Sikeresen jelentve","Failed to report":"Nem sikerült jelenteni",nudity:"Meztelenkedés",malware:"Malware",profanity:"Profán tartalom",illegal:"Illegális tartalom",spam:"Spam",other:"Más","Notification list style":"Értesítések lista stílusa","See extra info for each notification":"Extra info kijelzése értesítésekhez","See more notifications at a glance":"Több értesítést akarok egyszerre látni",Detailed:"Részletes",Compact:"Tömör","Submit Relay":"Csomópont Beküldése",Homepage:"Honlap","Proof of Work (difficulty {{minPow}})":"Proof of Work (nehézség {{minPow}})","via {{client}}":"via {{client}}","Auto-load media":"média automatikus betöltése",Always:"Mindig","Wi-Fi only":"Csak Wi-Fi-ről",Never:"Soha","Click to load image":"Klikkelj a kép betöltéséhez","Click to load media":"Klikkelj a média betöltéséhez","Click to load YouTube video":"Klikkelj a YouTube videó betöltéséhez","{{count}} reviews":"{{count}} vélemény","Write a review":"Vélemény írása","No reviews yet. Be the first to write one!":"Senki nem írt véleményt. Légy te az első!","View more reviews":"Több vélemény megtekintése","Failed to review":"Nem sikerült elküldeni a véleményt","Write a review and pick a star rating":"Írj egy véleményt és döntsd el hány csillagot adsz",Submit:"Küldés","Reviews for {{relay}}":"{{relay}} vélemények","No relays selected":"Nem választottál csomópontot","Post to":"Posztolás ide:","Write relays and {{count}} other relays":"írt csomópontok és {{count}} további csomópont","{{count}} relays":"{{count}} csomópont","Republishing...":"Továbbküldés...","Connected to":"Csatlakozva","Disconnect Wallet":"Tárca eltávolítása","Are you absolutely sure?":"Teljesen biztos vagy benne?","You will not be able to send zaps to others.":"Nem fogsz tudni másoknak zap-ot küldeni.",Disconnect:"Disconnect","Start with a Rizful Vault":"Rizful Vault beállítás","or other wallets":"vagy más tárca","Rizful Vault":"Rizful Vault","Rizful Vault connected!":"Rizful Vault csatlakoztatva!","You can now use your Rizful Vault to zap your favorite notes and creators.":"Most már zappolhatsz posztokat a Rizful Vault segítségével.","Your Lightning Address":"Lightning Címed","New to Rizful?":"Új vagy a Rizfulon?","Sign up for Rizful":"Feliratkozás Rizful-ra","If you already have a Rizful account, you can skip this step.":"Ha van már Rizful elérésed, ezt a lépést kihagyhatod.","Get your one-time code":"Egyszeri kód kérés","Get code":"Kód kérés","Connect to your Rizful Vault":"Csatlakoztasd a Rizful Vault-odat","Paste your one-time code here":"Másold ide az egyszeri kódot",Connect:"Csatlakoztatás","Set up your wallet to send and receive sats!":"Állítsd be a tárcát, hogy küldhess és fogadhass satokat!","Set up":"Beállítás",Pinned:"Kitűzve",Unpin:"Kitűzés eltávolítása",Unpinning:"Kitűzés eltávolítása","Pinning...":"Kitűzés...","Pinned!":"Kitűzve!","Failed to pin: {{error}}":"Nem sikerült kitűzni: {{error}}","Unpinning...":"Kitűzés eltávolítása...","Unpinned!":"Kitűzés eltávolítva!","Failed to unpin: {{error}}":"Nem sikerült eltávolítani a kitűzést: {{error}}","Unpin from profile":"Kitűzés eltávolítása a profilból","Pin to profile":"Kitűzés a profilra",Appearance:"Megjelenés","Pure Black":"Egyszerű Fekete",Default:"Alapértelmezett",Red:"Piros",Orange:"Narancs",Amber:"Sárgás",Yellow:"Ságra",Lime:"Lime",Green:"Zöld",Emerald:"Emerald",Teal:"Teal",Cyan:"Cyan",Sky:"Ég",Blue:"Kék",Indigo:"Indigo",Violet:"Ibolya",Purple:"Lila",Fuchsia:"Fuchsia",Pink:"Rózsaszín",Rose:"Vörös","Primary color":"Elsődleges szín",Layout:"Elrendezés","Two-column":"Két oszlop","Single-column":"Egy oszlop",Reviews:"Vélemény",Extension:"Bővítmény",Remote:"Távoli","Encrypted Key":"Jelszóval védett titkos Kulcs","Private Key":"Titkos Kulcs","Welcome to Smesh":"Isten hozott","Smesh is a client focused on browsing relays. Get started by exploring interesting relays or login to view your following feed.":"A Smesh egy nostr kliens, amely közösségek építésére és szuverén gondolkodású emberek koordinálásának segítésére összpontosít.","Explore Relays":"Csomópontok felderítése","Choose a feed":"Válassz hírfolyamot","and {{x}} others":"és {{x}} másik","Emoji Pack":"Emoji csomag","Emoji pack added":"Emoji csomag hozzáadva","Add emoji pack failed":"Emoji csomag hozzáadása sikertelen","Emoji pack removed":"Emoji csomag eltávolítva","Remove emoji pack failed":"Emoji csomag eltávolítása sikertelen",Added:"Hozzáadva","Emoji Packs":"Emoji csomagok","My Packs":"Saját csomagjaim","Adding...":"Hozzáadás...","Removing...":"Eltávolítás...",Reload:"Újratöltés","Request to Join Relay":"Csatlakozási kérelem küldése a relay-hez","Leave Relay":"Relay elhagyása",Leave:"Kilépés","Are you sure you want to leave this relay?":"Biztosan el szeretné hagyni ezt a relay-t?","Join request sent successfully":"Csatlakozási kérelem sikeresen elküldve","Failed to send join request":"Csatlakozási kérelem küldése sikertelen","Leave request sent successfully":"Kilépési kérelem sikeresen elküldve","Failed to send leave request":"Kilépési kérelem küldése sikertelen","Enter an invite code if you have one. Otherwise, leave it blank to send a request.":"Írjon be egy meghívókódot, ha van. Ellenkező esetben hagyja üresen a kérelem elküldéséhez.","Invite Code (Optional)":"Meghívókód (opcionális)","Enter invite code":"Írja be a meghívókódot","Sending...":"Küldés...","Send Request":"Kérelem küldése","You can get an invite code from a relay member.":"Meghívókódot kaphat egy relay tagtól.","Enter the invite code you received from a relay member.":"Írja be a relay tagtól kapott meghívókódot.","Get Invite Code":"Meghívókód Lekérése","Share this invite code with others to invite them to join this relay.":"Ossza meg ezt a meghívókódot másokkal, hogy meghívja őket ehhez a relay-hez.","Invite Code":"Meghívókód",Copy:"Másolás","This invite code can be used by others to join the relay.":"Ezt a meghívókódot mások használhatják a relay-hez való csatlakozáshoz.","No invite code available from this relay.":"Nincs elérhető meghívókód ettől a relay-től.",Close:"Bezárás","Failed to get invite code from relay":"Nem sikerült lekérni a meghívókódot a relay-től","Failed to get invite code":"Nem sikerült lekérni a meghívókódot","Invite code copied to clipboard":"Meghívókód vágólapra másolva","Favicon URL":"Favicon URL","Filter out onion relays":"Onion relay-ek kiszűrése","Click to load X post":"Kattintson az X bejegyzés betöltéséhez","View Nostr comments":"Nostr megjegyzések megtekintése","Search for notes":"Jegyzetek keresése","Search for hashtag":"Hashtag keresése","Go to note":"Ugrás a jegyzethez","Go to relay":"Ugrás a relay-hez","View discussions about this":"Beszélgetések megtekintése erről a tartalomról","Open link":"Link megnyitása","View Nostr discussions":"Nostr beszélgetések megtekintése","Optimal relays":"Optimális relay-ek","Successfully republish to optimal relays (your write relays and mentioned users' read relays)":"Sikeresen újra közzétéve az optimális relay-eken (az Ön írási relay-ei és az említett felhasználók olvasási relay-ei)","Failed to republish to optimal relays: {{error}}":"Nem sikerült újra közzétenni az optimális relay-eken: {{error}}","External Content":"Külső tartalom",Highlight:"Kiemelés","Optimal relays and {{count}} other relays":"Optimális relay-ek és {{count}} másik relay","Likely spam account (Trust score: {{percentile}}%)":"Valószínűleg spam fiók (Megbízhatósági pontszám: {{percentile}}%)","Suspicious account (Trust score: {{percentile}}%)":"Gyanús fiók (Megbízhatósági pontszám: {{percentile}}%)","n users":"{{count}} felhasználó","View Details":"Részletek megtekintése","Follow Pack Not Found":"Követési csomag nem található","Follow pack not found":"Követési csomag nem található",Users:"Felhasználók",Feed:"Hírfolyam","Follow Pack":"Követési Csomag","Load earlier":"Korábbi betöltése","Last 24 hours":"Utolsó 24 óra","Last {{count}} days":"Utolsó {{count}} nap",notes:"jegyzetek","Quick reaction":"Gyors reakció","If enabled, you can react with a single click. Click and hold for more options":"Ha engedélyezve van, egy kattintással reagálhat. Tartsa lenyomva további lehetőségekért","Quick reaction emoji":"Gyors reakció emoji","Select emoji":"Emoji kiválasztása","NSFW content display":"NSFW content display","Hide completely":"Hide completely","Show but hide content":"Show but hide content","Show directly":"Show directly","Click to view":"Click to view","Special Follow":"Különleges Követés","Unfollow Special":"Különleges Követés Megszüntetése","Personal Feeds":"Személyes Feedek","Relay Feeds":"Relay Feedek","Create Highlight":"Kiemelés Létrehozása","Write your thoughts about this highlight...":"Írd le a gondolataidat erről a kiemelésről...","Publish Highlight":"Kiemelés Közzététele","Show replies":"Válaszok megjelenítése","Hide replies":"Válaszok elrejtése","Welcome to Smesh!":"Üdvözlünk a Smesh-ban!","Your feed is empty because you are not following anyone yet. Start by exploring interesting content and following users you like!":"A hírcsatornád üres, mert még nem követsz senkit. Kezdd el érdekes tartalmak felfedezésével és kövesd azokat a felhasználókat, akik tetszenek!","Search Users":"Felhasználók keresése","Create New Account":"Új fiók létrehozása",Important:"Fontos","Generate Your Account":"Fiók létrehozása","Your private key IS your account. Keep it safe!":"A privát kulcsod A fiókodat jelenti. Tartsd biztonságban!","In Nostr, your private key IS your account. If you lose your private key, you lose your account forever.":"A Nostr-ban a privát kulcsod A fiókodat jelenti. Ha elveszíted a privát kulcsodat, örökre elveszíted a fiókodat.","Your Private Key":"Privát kulcsod","Generate new key":"Új kulcs generálása","Download Backup File":"Biztonsági mentés letöltése","Copied to Clipboard":"Vágólapra másolva","Copy to Clipboard":"Másolás vágólapra","I already saved my private key securely.":"Már biztonságosan elmentettem a privát kulcsomat.","Almost Done!":"Majdnem kész!","Set a password to encrypt your key, or skip to finish":"Állíts be jelszót a kulcsod titkosításához, vagy hagyd ki a befejezéshez","Password Protection (Optional)":"Jelszavas védelem (opcionális)","Setting a password encrypts your private key in this browser. You can skip this step, but we recommend setting one for added security.":"A jelszó beállítása titkosítja a privát kulcsodat ebben a böngészőben. Kihagyhatod ezt a lépést, de javasoljuk a beállítását a nagyobb biztonság érdekében.","Password (Optional)":"Jelszó (opcionális)","Enter password or leave empty to skip":"Írj be jelszót, vagy hagyd üresen a kihagyáshoz","Confirm Password":"Jelszó megerősítése","Re-enter password":"Jelszó újbóli megadása","Passwords do not match":"A jelszavak nem egyeznek","Finish Signup":"Regisztráció befejezése","Create Your Nostr Account":"Hozd létre Nostr fiókodat","Generate your unique private key. This is your digital identity.":"Generáld le egyedi privát kulcsodat. Ez a digitális identitásod.","Critical: Save Your Private Key":"Kritikus: Mentsd el a privát kulcsodat","Your private key IS your account. There is no password recovery. If you lose it, you lose your account forever. Please save it in a secure location.":"A privát kulcsod A fiókod. Nincs jelszó-visszaállítás. Ha elveszíted, örökre elveszíted a fiókodat. Kérjük, mentsd el biztonságos helyre.","I have safely backed up my private key":"Biztonságosan elmentettem a privát kulcsomat","Secure Your Account":"Védd meg a fiókodat","Add an extra layer of protection with a password":"Adj hozzá egy extra védelmi réteget jelszóval","Password Protection (Recommended)":"Jelszavas védelem (ajánlott)","Add a password to encrypt your private key in this browser. This is optional but strongly recommended for better security.":"Adj hozzá jelszót a privát kulcsod titkosításához ebben a böngészőben. Ez opcionális, de erősen ajánlott a jobb biztonság érdekében.","Create a password (or skip)":"Hozz létre jelszót (vagy hagyd ki)","Enter your password again":"Add meg újra a jelszavad","Complete Signup":"Regisztráció befejezése",Recommended:"Ajánlott"}},Ybe={translation:{"Welcome! 🥳":"Benvenuto! 🥳",About:"Presentazione","New Note":"Nuova nota",Post:"Pubblica",Home:"Inizio","Relay settings":"Impostazioni Relay",Settings:"Impostazioni",SidebarRelays:"Relays",Refresh:"Aggiorna",Profile:"Profilo",Logout:"Disconnetti",Following:"Seguendo",followings:"seguiti",reposted:"ripubblica","just now":"adesso","minute ago_one":"{{count}} minuto fa","minute ago_other":"{{count}} minuti fa","n m":"{{n}}m","hour ago_one":"{{count}} ora fa","hour ago_other":"{{count}} ore fa","n h":"{{n}}o","day ago_one":"{{count}} giorno fa","day ago_other":"{{count}} giorni fa","n d":"{{n}}g",date:"{{timestamp, data}}",Follow:"Segui",Unfollow:"Non seguire","Follow failed":"Segui non riuscito","Unfollow failed":"Disiscrizione non riuscita","show new notes":"mostra nuove note","loading...":"caricando...","Loading...":"Caricamento in corso...","no more notes":"basta note","reply to":"replica a",reply:"replica",Reply:"Replica","load more older replies":"carica risposte più vecchie","Write something...":"Scrivi qualcosa...",Cancel:"Cancella",Mentions:"Menziona","Failed to post":"Impossibile pubblicare","Post successful":"Pubblicazione riuscita","Your post has been published":"Il tuo post è stato pubblicato",Repost:"Ripubblica",Quote:"Quota","Copy event ID":"Copia ID evento","Copy user ID":"Copia ID utente","View raw event":"Vedi evento grezzo",Like:"Mi piace","switch to light theme":"passa al tema luminoso","switch to dark theme":"passa al tema scuro","switch to system theme":"passa al tema di sistema",Note:"Nota",note:"nota","username's following":"{{username}} seguiti","username's used relays":"{{username}} relays usati","username's muted":"{{username}} zittiti",Login:"Accedi","Follows you":"Ti segue","Relay Settings":"Impostazioni Relay","Relay set name":"Imposta nome Relay","Add a new relay set":"Aggiungi nuovo set di relay",Add:"Aggiungi","n relays":"{{n}} relays",Rename:"Rinomina","Copy share link":"Copia collegamento da condividere",Delete:"Cancella","Relay already exists":"Relay già esistente","invalid relay URL":"URL relay non valido","Add a new relay":"Aggiungi un nuovo relay",back:"indietro","Lost in the void":"Perso nel vuoto","Carry me home":"Portami all inizio","no replies":"nessuna replica","Reply to":"Replica a",Search:"Ricerca","The relays you are connected to do not support search":"I relays a cui siete collegati non supportano la ricerca.","Show more...":"Mostra di più...","All users":"Tutti gli utenti","Display replies":"Visualizza repliche",Notes:"Note",Replies:"Repliche",Notifications:"Notifiche","no more notifications":"niente più notifiche","Using private key login is insecure. It is recommended to use a browser extension for login, such as alby, nostr-keyx or nos2x. If you must use a private key, please set a password for encryption at minimum.":"L'accesso con chiave privata non è sicuro. Si consiglia di utilizzare un'estensione del browser per l'accesso, come alby, nostr-keyx o nos2x. Se devi utilizzare una chiave privata, imposta almeno una password per la crittografia.","Login with Browser Extension":"Accedi con una estensione del Browser","Login with Bunker":"Accedi con Bunker","Login with Private Key":"Accedi con la Chiave Privata","reload notes":"ricarica note","Logged in Accounts":"Account collegati","Add an Account":"Aggiungi un Account","More options":"Più opzioni","Add client tag":"Aggiungi etichetta del client","Show others this was sent via Smesh":"Mostra agli altri che questo è stato inviato tramite Smesh","Are you sure you want to logout?":"Sei sicuro di volerti scollegare?","relay sets":"set di relay",edit:"modifica",Languages:"Lingue",Theme:"Tema",System:"Sistema",Light:"Luminoso",Dark:"Scuro",Temporary:"Temporaneo","Choose a relay set":"Scegli un set di relay","Switch account":"Cambia account",Pictures:"Immagini","Picture note":"Nota della immagine","A special note for picture-first clients like Olas":"Una nota speciale per i client immagine che privilegiano Olas","Picture note requires images":"La nota illustrativa richiede immagini",Relays:"Relays",Image:"immagine","R & W":"L & S",Read:"Leggi",Write:"Scrivi","Pull relay sets":"Ottieni set di relay","Select the relay sets you want to pull":"Selezionare i set di relay che si desidera ottenere","No relay sets found":"Nessun set di relay trovato","Pull n relay sets":"Ottieni {{n}} set di relay",Pull:"Ottieni","Select all":"Seleziona tutto","Relay Sets":"Set di Relay","Read & Write Relays":"Relay Leggi & Scrivi","read relays description":"I relay di lettura vengono utilizzati per cercare eventi che ti interessano. Gli altri utenti pubblicheranno gli eventi che vogliono farvi vedere nei vostri relay di lettura.","write relays description":"I relay di scrittura sono utilizzati per pubblicare i tuoi eventi. Gli altri utenti cercheranno i tuoi eventi dai vostri relay di scrittura.","read & write relays notice":"Il numero di server di lettura e scrittura dovrebbe essere mantenuto idealmente tra 2 e 4.","Don't have an account yet?":"Non hai ancora un account?","or simply generate a private key":"o semplicemente genera una chiave privata","This is a private key. Do not share it with anyone. Keep it safe and secure. You will not be able to recover it if you lose it.":"Questa è una chiave privata. Non condividetela con nessuno. Conservatela al sicuro. Non sarà possibile recuperarla in caso di smarrimento.",Edit:"Modifica",Save:"Salva","Display Name":"Nome Visualizzato",Bio:"Bio","Nostr Address (NIP-05)":"Indirizzo Nostr (NIP-05)","Invalid NIP-05 address":"Indirizzo NIP-05 non valido","Copy private key":"Copia la chiave privata","Enter the password to decrypt your ncryptsec":"Inserisci la password per decriptare la tua ncryptsec",Back:"Indietro","optional: encrypt nsec":"opzione: cripta nsec",password:"password","Sign up":"Iscriviti","Save to":"Salva a","Enter a name for the new relay set":"Inserisci un nome per il nuovo set di relay","Save to a new relay set":"Salva al nuovo set di relay",Mute:"Zittisci",Muted:"Zittiti",Unmute:"Ridai voce","Unmute user":"Ridai voce a questo utente","Append n relays":"Aggiungi {{n}} relays",Append:"Aggiungi","Select relays to append":"Seleziona relay da aggiungere","calculating...":"calcolando...","Calculate optimal read relays":"Calcolo ottimale relay di lettura","Login to set":"Accedi per impostare","Please login to view following feed":"Per favore accedi per vedere il feed dei seguiti","Send only to r":"Invia solo a {{r}}","Send only to these relays":"Invia solo a questi relay",Explore:"Esplora","Search relays":"Ricerca relay",relayInfoBadgeAuth:"Autorizzazione",relayInfoBadgeSearch:"Ricerca",relayInfoBadgePayment:"Pagamento",Operator:"Operatore",Contact:"Contatto",Software:"Programma",Version:"Versione","Random Relays":"Relay a caso",randomRelaysRefresh:"Aggiorna","Explore more":"Esplora di più","Payment page":"Pagina di pagamento","Supported NIPs":"NIP supportati","Open in a":"Apri in {{a}}","Cannot handle event of kind k":"Impossibile gestire un evento di tipo {{k}}","Sorry! The note cannot be found 😔":"Spiacente! La nota non può essere trovata 😔","This user has been muted":"Questo utente è stato zittito",Wallet:"Wallet",Sats:"Sats",sats:"sats","Zap to":"Zap a","Zap n sats":"Zap {{n}} sats",zapComment:"Commento","Default zap amount":"Importo zap predefinito","Default zap comment":"Commento zap predefinito","Lightning Address (or LNURL)":"Indirizzo Lightning (o LNURL)","Quick zap":"Zap immediato","If enabled, you can zap with a single click. Click and hold for custom amounts":"Se abilitato, è possibile fare zapping con un solo clic. Fare clic e tenere premuto per ottenere importi personalizzati",All:"Tutto",Reactions:"Reazioni",Zaps:"Zaps","Earlier notifications":"Notifiche precedenti","Temporarily display this note":"Visualizza temporaneamente questa nota",buttonFollowing:"Seguendo","Are you sure you want to unfollow this user?":"Sei sicuro di voler disiscrivere questo utente?","Recent Supporters":"Recenti Sostenitori","Seen on":"Visto su","Temporarily display this reply":"Mostra temporaneamente questa replica","Note not found":"Non è stata trovata la nota","no more replies":"niente più repliche","Relay sets":"Set di Relay","Favorite Relays":"Relay preferiti","Following's Favorites":"Preferiti dei seguiti","no more relays":"niente più relay","Favorited by":"Preferito da","Post settings":"Impostazioni post","Media upload service":"Servizio di caricamento media","Choose a relay":"Scegli un relay","no relays found":"Nessun relay trovato",video:"video","Show n new notes":"Mostra {{n}} nuove note",YouTabName:"Tu",Bookmark:"Segnalibro","Remove bookmark":"Rimuovi segnalibro","no bookmarks found":"Nessun segnalibro trovato","no more bookmarks":"Nessun altro segnalibro",Bookmarks:"Segnalibri","Show more":"Mostra di più",General:"Generale",Autoplay:"Riproduzione automatica","Enable video autoplay on this device":"Abilita riproduzione automatica video su questo dispositivo","Paste or drop media files to upload":"Incolla o trascina i file multimediali per caricarli",Preview:"Anteprima","You are about to publish an event signed by [{{eventAuthorName}}]. You are currently logged in as [{{currentUsername}}]. Are you sure?":"Stai per pubblicare un evento firmato da [{{eventAuthorName}}]. Attualmente sei connesso come [{{currentUsername}}]. Sei sicuro?","Platinum Sponsors":"Sponsor Platino",From:"Da","Comment on":"Commenta su","View on njump.me":"Visualizza su njump.me","Hide content from untrusted users":"Nascondi contenuti da utenti non fidati","Only show content from your followed users and the users they follow":"Mostra solo contenuti dai tuoi utenti seguiti e dagli utenti che seguono","Followed by":"Seguito da","Mute user privately":"Zittisci utente privatamente","Mute user publicly":"Zittisci utente pubblicamente",Quotes:"Citazioni","Lightning Invoice":"Fattura Lightning","Bookmark failed":"Impossibile aggiungere segnalibro","Remove bookmark failed":"Impossibile rimuovere segnalibro",Translation:"Traduzione",Balance:"Saldo",characters:"caratteri",smeshTranslateApiKeyDescription:"Puoi utilizzare questa chiave API ovunque supporti LibreTranslate. L'URL del servizio è {{serviceUrl}}","Top up":"Torna al saldo","Will receive: {n} characters":"Riceverai: {{n}} caratteri","Top up {n} sats":"Ricarica {{n}} sats","Minimum top up is {n} sats":"La ricarica minima è di {{n}} sats",Service:"Servizio","Reset API key":"Reimposta chiave API","Are you sure you want to reset your API key? This action cannot be undone.":"Sei sicuro di voler reimpostare la tua chiave API? Questa azione non può essere annullata.",Warning:"Attenzione","Your current API key will become invalid immediately, and any applications using it will stop working until you update them with the new key.":"La tua attuale chiave API diventerà immediatamente non valida e tutte le applicazioni che la utilizzano smetteranno di funzionare finché non le aggiornerai con la nuova chiave.","Service address":"Indirizzo del servizio",Pay:"Paga",interactions:"interazioni",notifications:"notifiche","Show untrusted {type}":"Mostra {{type}} non fidati","Hide untrusted {type}":"Nascondi {{type}} non fidati","Currently hiding {type} from untrusted users.":"Attualmente nascondo {{type}} da utenti non fidati.","Currently showing all {type}.":"Attualmente mostro tutti {{type}}.","Click continue to show all {type}.":"Clicca su continua per mostrare tutti {{type}}.","Click continue to hide {type} from untrusted users.":"Clicca su continua per nascondere {{type}} da utenti non fidati.","Trusted users include people you follow and people they follow.":"Gli utenti fidati includono le persone che segui e le persone che seguono loro.",Continue:"Continua","Successfully updated mute list":"Lista di silenziamento aggiornata con successo","No pubkeys found from {url}":"Nessun pubkey trovato da {{url}}","Translating...":"Traduzione in corso...",Translate:"Traduci","Show original":"Mostra originale",Website:"Sito web","Hide untrusted notes":"Nascondi note non fidate","Open in another client":"Apri in un altro client",Community:"Comunità",Group:"Gruppo","Live event":"Evento dal vivo",Article:"Articolo",Unfavorite:"Rimuovi dai preferiti","Recommended relays":"Relay consigliati","Blossom server URLs":"URL del server Blossom","You need to add at least one blossom server in order to upload media files.":"È necessario aggiungere almeno un server Blossom per caricare file multimediali.","Recommended blossom servers":"Server Blossom consigliati","Enter Blossom server URL":"Inserisci URL del server Blossom",Preferred:"Preferito","Multiple choice (select one or more)":"Scelta multipla (seleziona uno o più)",Vote:"Vota","{{number}} votes":"{{number}} voti","Total votes":"Voti totali","Poll has ended":"Il sondaggio è terminato","Poll ends at {{time}}":"Il sondaggio termina alle {{time}}","Load results":"Carica risultati","This is a poll note.":"Questa è una nota sondaggio.","Unlike regular notes, polls are not widely supported and may not display on other clients.":"A differenza delle note regolari, i sondaggi non sono ampiamente supportati e potrebbero non essere visualizzati su altri client.","Option {{number}}":"Opzione {{number}}","Add Option":"Aggiungi Opzione","Allow multiple choices":"Consenti scelte multiple","End Date (optional)":"Data di fine (opzionale)","Clear end date":"Cancella data di fine","Relay URLs (optional, comma-separated)":"URL relay (opzionale, separati da virgole)","Remove poll":"Rimuovi sondaggio","Refresh results":"Aggiorna risultati",Poll:"Sondaggio",Media:"media","Republish to ...":"Ripubblica a...","Successfully republish to your write relays":"Ricondivisione riuscita ai tuoi relay di scrittura","Failed to republish to your write relays: {{error}}":"Impossibile ricondividere ai tuoi relay di scrittura: {{error}}","Successfully republish to relay set: {{name}}":"Ricondivisione riuscita al set di relay: {{name}}","Failed to republish to relay set: {{name}}. Error: {{error}}":"Impossibile ricondividere al set di relay: {{name}}. Errore: {{error}}","Successfully republish to relay: {{url}}":"Ricondivisione riuscita al relay: {{url}}","Failed to republish to relay: {{url}}. Error: {{error}}":"Impossibile ricondividere al relay: {{url}}. Errore: {{error}}","Write relays":"Relay di scrittura","No more reactions":"Non ci sono più reazioni","No reactions yet":"Ancora nessuna reazione","No more zaps":"Non ci sono più zaps","No zaps yet":"Ancora nessuno zap","No more reposts":"Non ci sono più repost","No reposts yet":"Ancora nessun repost",Reposts:"Repost",FollowListNotFoundConfirmation:"Elenco seguiti non trovato. Vuoi crearne uno nuovo? Se hai già seguito degli utenti in precedenza, per favore NON confermare poiché questa operazione causerà la perdita del tuo elenco seguiti precedente.",MuteListNotFoundConfirmation:"Elenco utenti silenziati non trovato. Vuoi crearne uno nuovo? Se hai già silenziato degli utenti in precedenza, per favore NON confermare poiché questa operazione causerà la perdita del tuo elenco utenti silenziati precedente.","Show NSFW content by default":"Mostra contenuti NSFW per impostazione predefinita","Custom emoji management":"Gestione emoji personalizzate","After changing emojis, you may need to refresh the page":"Dopo aver modificato le emoji, potrebbe essere necessario aggiornare la pagina","Too many read relays":"Troppi relay di lettura","Too many write relays":"Troppi relay di scrittura","You have {{count}} read relays. Most clients only use 2-4 relays, setting more is unnecessary.":"Hai {{count}} relay di lettura. La maggior parte dei client usa solo 2-4 relay, impostarne di più è inutile.","You have {{count}} write relays. Most clients only use 2-4 relays, setting more is unnecessary.":"Hai {{count}} relay di scrittura. La maggior parte dei client usa solo 2-4 relay, impostarne di più è inutile.","Optimize Relay Settings":"Ottimizza impostazioni relay","Your current relay configuration may not be optimal. This could make it difficult for others to find your posts and may result in incomplete notifications.":"La tua configurazione relay attuale potrebbe non essere ottimale. Questo potrebbe rendere difficile per gli altri trovare i tuoi post e potrebbe portare a notifiche incomplete.","Optimize Now":"Ottimizza ora","Maybe Later":"Forse più tardi","Don't remind me again":"Non ricordarmelo più",Posts:"Post",Articles:"Articoli",Highlights:"Evidenziazioni",Polls:"Sondaggi","Voice Posts":"Post vocali","Photo Posts":"Post foto","Video Posts":"Post video","Select All":"Seleziona tutto","Clear All":"Cancella tutto","Set as default filter":"Imposta come filtro predefinito",Apply:"Applica",Reset:"Reimposta","Share something on this Relay":"Condividi qualcosa su questo Relay","Try deleting this note":"Prova a eliminare questa nota","Deletion request sent to {{count}} relays":"Richiesta di eliminazione inviata a {{count}} relays","Suitable Relays":"Relays adatti","People, keywords, or relays":"Persone, parole chiave o relays","Hide content mentioning muted users":"Nascondi contenuto che menziona utenti silenziati","This note mentions a user you muted":"Questa nota menziona un utente che hai silenziato",Filter:"Filtro","mentioned you in a note":"ti ha menzionato in una nota","quoted your note":"ha citato la tua nota","voted in your poll":"ha votato nel tuo sondaggio","reacted to your note":"ha reagito alla tua nota","reposted your note":"ha ricondiviso la tua nota","zapped your note":"ha zappato la tua nota","highlighted your note":"ha evidenziato la tua nota","zapped you":"ti ha zappato","Mark as read":"Segna come letto",Report:"Segnala","Successfully report":"Segnalazione riuscita","Failed to report":"Segnalazione fallita",nudity:"Nudità",malware:"Malware",profanity:"Blasfemia",illegal:"Contenuto illegale",spam:"Spam",other:"Altro","Notification list style":"Stile elenco notifiche","See extra info for each notification":"Visualizza informazioni extra per ogni notifica","See more notifications at a glance":"Visualizza più notifiche a colpo d'occhio",Detailed:"Dettagliato",Compact:"Compatto","Submit Relay":"Invia Relay",Homepage:"Homepage","Proof of Work (difficulty {{minPow}})":"Proof of Work (difficoltà {{minPow}})","via {{client}}":"tramite {{client}}","Auto-load media":"Caricamento automatico media",Always:"Sempre","Wi-Fi only":"Solo Wi-Fi",Never:"Mai","Click to load image":"Clicca per caricare l'immagine","Click to load media":"Clicca per caricare i media","Click to load YouTube video":"Clicca per caricare il video di YouTube","{{count}} reviews":"{{count}} recensioni","Write a review":"Scrivi una recensione","No reviews yet. Be the first to write one!":"Nessuna recensione ancora. Sii il primo a scriverne una!","View more reviews":"Visualizza più recensioni","Failed to review":"Recensione fallita","Write a review and pick a star rating":"Scrivi una recensione e scegli una valutazione a stelle",Submit:"Invia","Reviews for {{relay}}":"Recensioni per {{relay}}","No relays selected":"Nessun relay selezionato","Post to":"Pubblica su","Write relays and {{count}} other relays":"Relay di scrittura e {{count}} altri relay","{{count}} relays":"{{count}} relay","Republishing...":"Ricondivisione in corso...","Connected to":"Connesso a","Disconnect Wallet":"Disconnetti Wallet","Are you absolutely sure?":"Sei assolutamente sicuro?","You will not be able to send zaps to others.":"Non sarai in grado di inviare zaps ad altri.",Disconnect:"Disconnetti","Start with a Rizful Vault":"Inizia con un Rizful Vault","or other wallets":"o altri wallet","Rizful Vault":"Rizful Vault","Rizful Vault connected!":"Rizful Vault connesso!","You can now use your Rizful Vault to zap your favorite notes and creators.":"Puoi ora usare il tuo Rizful Vault per zappare le tue note e creatori preferiti.","Your Lightning Address":"Il tuo Indirizzo Lightning","New to Rizful?":"Nuovo a Rizful?","Sign up for Rizful":"Iscriviti a Rizful","If you already have a Rizful account, you can skip this step.":"Se hai già un account Rizful, puoi saltare questo passaggio.","Get your one-time code":"Ottieni il tuo codice monouso","Get code":"Ottieni codice","Connect to your Rizful Vault":"Connettiti al tuo Rizful Vault","Paste your one-time code here":"Incolla qui il tuo codice monouso",Connect:"Connetti","Set up your wallet to send and receive sats!":"Configura il tuo wallet per inviare e ricevere sats!","Set up":"Configura",Pinned:"Fissato",Unpin:"Rimuovi fissaggio",Unpinning:"Rimozione fissaggio","Pinning...":"Fissaggio in corso...","Pinned!":"Fissato!","Failed to pin: {{error}}":"Failed to pin: {{error}}","Unpinning...":"Rimozione fissaggio in corso...","Unpinned!":"Rimosso fissaggio!","Failed to unpin: {{error}}":"Impossibile rimuovere il fissaggio: {{error}}","Unpin from profile":"Rimuovi fissaggio dal profilo","Pin to profile":"Fissa al profilo",Appearance:"Aspetto","Pure Black":"Nero Puro",Default:"Predefinito",Red:"Rosso",Orange:"Arancione",Amber:"Ambra",Yellow:"Giallo",Lime:"Lime",Green:"Verde",Emerald:"Smeraldo",Teal:"Turchese",Cyan:"Ciano",Sky:"Cielo",Blue:"Blu",Indigo:"Indaco",Violet:"Viola",Purple:"Porpora",Fuchsia:"Fucsia",Pink:"Rosa",Rose:"Rosa","Primary color":"Colore primario",Layout:"Layout","Two-column":"Doppia colonna","Single-column":"Colonna singola",Reviews:"Recensioni",Extension:"Estensione",Remote:"Remoto","Encrypted Key":"Chiave Crittografata","Private Key":"Chiave Privata","Welcome to Smesh":"Benvenuto su Smesh","Smesh is a client focused on browsing relays. Get started by exploring interesting relays or login to view your following feed.":"Smesh è un client nostr focalizzato sulla costruzione di comunità e sul supporto al coordinamento di persone con una mentalità sovrana.","Explore Relays":"Esplora Relay","Choose a feed":"Scegli un feed","and {{x}} others":"e altri {{x}}",selfZapWarning:"Smesh non è responsabile di ciò che accade se zappi te stesso. Procedi a tuo rischio e pericolo. 😉⚡","Emoji Pack":"Pacchetto Emoji","Emoji pack added":"Pacchetto emoji aggiunto","Add emoji pack failed":"Aggiunta del pacchetto emoji non riuscita","Emoji pack removed":"Pacchetto emoji rimosso","Remove emoji pack failed":"Rimozione del pacchetto emoji non riuscita",Added:"Aggiunto","Emoji Packs":"Pacchetti Emoji","My Packs":"I Miei Pacchetti","Adding...":"Aggiunta...","Removing...":"Rimozione...",Reload:"Ricarica","Request to Join Relay":"Richiedi di unirti al Relay","Leave Relay":"Lascia il Relay",Leave:"Esci","Are you sure you want to leave this relay?":"Sei sicuro di voler lasciare questo relay?","Join request sent successfully":"Richiesta di adesione inviata con successo","Failed to send join request":"Impossibile inviare la richiesta di adesione","Leave request sent successfully":"Richiesta di uscita inviata con successo","Failed to send leave request":"Impossibile inviare la richiesta di uscita","Enter an invite code if you have one. Otherwise, leave it blank to send a request.":"Inserisci un codice di invito se ne hai uno. Altrimenti, lascialo vuoto per inviare una richiesta.","Invite Code (Optional)":"Codice di Invito (Opzionale)","Enter invite code":"Inserisci il codice di invito","Sending...":"Invio...","Send Request":"Invia Richiesta","You can get an invite code from a relay member.":"Puoi ottenere un codice di invito da un membro del relay.","Enter the invite code you received from a relay member.":"Inserisci il codice di invito che hai ricevuto da un membro del relay.","Get Invite Code":"Ottieni Codice di Invito","Share this invite code with others to invite them to join this relay.":"Condividi questo codice di invito con altri per invitarli a unirsi a questo relay.","Invite Code":"Codice di Invito",Copy:"Copia","This invite code can be used by others to join the relay.":"Questo codice di invito può essere utilizzato da altri per unirsi al relay.","No invite code available from this relay.":"Nessun codice di invito disponibile da questo relay.",Close:"Chiudi","Failed to get invite code from relay":"Impossibile ottenere il codice di invito dal relay","Failed to get invite code":"Impossibile ottenere il codice di invito","Invite code copied to clipboard":"Codice di invito copiato negli appunti","Favicon URL":"URL Favicon","Filter out onion relays":"Filtra relay onion","Click to load X post":"Clicca per caricare il post X","View Nostr comments":"Visualizza commenti Nostr","Search for notes":"Cerca note","Search for hashtag":"Cerca hashtag","Go to note":"Vai alla nota","Go to relay":"Vai al relay","View discussions about this":"Visualizza discussioni su questo contenuto","Open link":"Apri link","View Nostr discussions":"Visualizza discussioni Nostr","Optimal relays":"Relay ottimali","Successfully republish to optimal relays (your write relays and mentioned users' read relays)":"Ripubblicato con successo sui relay ottimali (i tuoi relay di scrittura e i relay di lettura degli utenti menzionati)","Failed to republish to optimal relays: {{error}}":"Errore nella ripubblicazione sui relay ottimali: {{error}}","External Content":"Contenuto esterno",Highlight:"Evidenzia","Optimal relays and {{count}} other relays":"Relay ottimali e {{count}} altri relay","Likely spam account (Trust score: {{percentile}}%)":"Probabile account spam (Punteggio di fiducia: {{percentile}}%)","Suspicious account (Trust score: {{percentile}}%)":"Account sospetto (Punteggio di fiducia: {{percentile}}%)","n users":"{{count}} utenti","View Details":"Visualizza dettagli","Follow Pack Not Found":"Pacchetto di follow non trovato","Follow pack not found":"Pacchetto di follow non trovato",Users:"Utenti",Feed:"Feed","Follow Pack":"Pacchetto di Follow","Load earlier":"Carica precedente","Last 24 hours":"Ultime 24 ore","Last {{count}} days":"Ultimi {{count}} giorni",notes:"note","Quick reaction":"Reazione rapida","If enabled, you can react with a single click. Click and hold for more options":"Se abilitato, puoi reagire con un solo clic. Fai clic e tieni premuto per altre opzioni","Quick reaction emoji":"Emoji reazione rapida","Select emoji":"Seleziona emoji","NSFW content display":"NSFW content display","Hide completely":"Hide completely","Show but hide content":"Show but hide content","Show directly":"Show directly","Click to view":"Click to view","Special Follow":"Segui Speciale","Unfollow Special":"Smetti di Seguire Speciale","Personal Feeds":"Feed Personali","Relay Feeds":"Feed di Relay","Create Highlight":"Crea Evidenziazione","Write your thoughts about this highlight...":"Scrivi i tuoi pensieri su questa evidenziazione...","Publish Highlight":"Pubblica Evidenziazione","Show replies":"Mostra risposte","Hide replies":"Nascondi risposte","Welcome to Smesh!":"Benvenuto su Smesh!","Your feed is empty because you are not following anyone yet. Start by exploring interesting content and following users you like!":"Il tuo feed è vuoto perché non stai ancora seguendo nessuno. Inizia esplorando contenuti interessanti e seguendo gli utenti che ti piacciono!","Search Users":"Cerca Utenti","Create New Account":"Crea nuovo account",Important:"Importante","Generate Your Account":"Genera il tuo account","Your private key IS your account. Keep it safe!":"La tua chiave privata È il tuo account. Tienila al sicuro!","In Nostr, your private key IS your account. If you lose your private key, you lose your account forever.":"In Nostr, la tua chiave privata È il tuo account. Se perdi la tua chiave privata, perdi il tuo account per sempre.","Your Private Key":"La tua chiave privata","Generate new key":"Genera nuova chiave","Download Backup File":"Scarica file di backup","Copied to Clipboard":"Copiato negli appunti","Copy to Clipboard":"Copia negli appunti","I already saved my private key securely.":"Ho già salvato la mia chiave privata in modo sicuro.","Almost Done!":"Quasi fatto!","Set a password to encrypt your key, or skip to finish":"Imposta una password per crittografare la tua chiave, o salta per finire","Password Protection (Optional)":"Protezione con password (facoltativo)","Setting a password encrypts your private key in this browser. You can skip this step, but we recommend setting one for added security.":"Impostare una password crittografa la tua chiave privata in questo browser. Puoi saltare questo passaggio, ma ti consigliamo di impostarne una per maggiore sicurezza.","Password (Optional)":"Password (facoltativo)","Enter password or leave empty to skip":"Inserisci la password o lascia vuoto per saltare","Confirm Password":"Conferma password","Re-enter password":"Reinserisci la password","Passwords do not match":"Le password non corrispondono","Finish Signup":"Completa registrazione","Create Your Nostr Account":"Crea il tuo account Nostr","Generate your unique private key. This is your digital identity.":"Genera la tua chiave privata unica. Questa è la tua identità digitale.","Critical: Save Your Private Key":"Critico: Salva la tua chiave privata","Your private key IS your account. There is no password recovery. If you lose it, you lose your account forever. Please save it in a secure location.":"La tua chiave privata È il tuo account. Non c'è recupero password. Se la perdi, perderai il tuo account per sempre. Per favore salvala in un luogo sicuro.","I have safely backed up my private key":"Ho salvato in modo sicuro la mia chiave privata","Secure Your Account":"Proteggi il tuo account","Add an extra layer of protection with a password":"Aggiungi un ulteriore livello di protezione con una password","Password Protection (Recommended)":"Protezione con password (consigliato)","Add a password to encrypt your private key in this browser. This is optional but strongly recommended for better security.":"Aggiungi una password per crittografare la tua chiave privata in questo browser. È facoltativo ma fortemente consigliato per una migliore sicurezza.","Create a password (or skip)":"Crea una password (o salta)","Enter your password again":"Inserisci di nuovo la tua password","Complete Signup":"Completa registrazione",Recommended:"Consigliato"}},Gbe={translation:{"Welcome! 🥳":"ようこそ! 🥳",About:"情報","New Note":"新規ノート",Post:"投稿",Home:"ホーム","Relay settings":"リレイ設定",Settings:"設定",SidebarRelays:"リレイ",Refresh:"更新",Profile:"プロフィール",Logout:"ログアウト",Following:"フォロー中",followings:"フォロー",reposted:"リポスト済み","just now":"たった今","minute ago_one":"{{count}}分前","minute ago_other":"{{count}}分前","n m":"{{n}}分","hour ago_one":"{{count}}時間前","hour ago_other":"{{count}}時間前","n h":"{{n}}時","day ago_one":"{{count}}日前","day ago_other":"{{count}}日前","n d":"{{n}}日",date:"{{timestamp, date}}",Follow:"フォローする",Unfollow:"フォロー解除","Follow failed":"フォローに失敗しました","Unfollow failed":"フォロー解除に失敗しました","show new notes":"新しいノートを表示","loading...":"読み込み中...","Loading...":"読み込み中...","no more notes":"これ以上ノートはありません","reply to":"返信先",reply:"返信",Reply:"返信","load more older replies":"さらに古い返信を読み込む","Write something...":"何か書いて...",Cancel:"キャンセル",Mentions:"@","Failed to post":"投稿に失敗しました","Post successful":"投稿に成功しました","Your post has been published":"投稿が公開されました",Repost:"リポスト",Quote:"引用","Copy event ID":"イベントIDをコピー","Copy user ID":"ユーザーIDをコピー","View raw event":"生データを表示",Like:"いいね","switch to light theme":"ライトテーマに切替","switch to dark theme":"ダークテーマに切替","switch to system theme":"システムテーマに切替",Note:"ノート",note:"ノート","username's following":"{{username}} のフォロー","username's used relays":"{{username}} の使用リレイ","username's muted":"{{username}} はミュート済み",Login:"ログイン","Follows you":"あなたをフォローしています","Relay Settings":"リレイ設定","Relay set name":"リレイセット名","Add a new relay set":"新しいリレイセットを追加",Add:"追加","n relays":"{{n}} 個のリレイ",Rename:"名前変更","Copy share link":"共有リンクをコピー",Delete:"削除","Relay already exists":"リレイは既に存在します","invalid relay URL":"無効なリレイURL","Add a new relay":"新しいリレイを追加",back:"戻る","Lost in the void":"虚無の中へ","Carry me home":"家まで送って","no replies":"返信がありません","Reply to":"返信先",Search:"検索","The relays you are connected to do not support search":"接続しているリレイは検索をサポートしていません","Show more...":"さらに表示...","All users":"全ユーザー","Display replies":"返信を表示",Notes:"ノート",Replies:"返信",Notifications:"通知","no more notifications":"これ以上通知はありません","Using private key login is insecure. It is recommended to use a browser extension for login, such as alby, nostr-keyx or nos2x. If you must use a private key, please set a password for encryption at minimum.":"秘密鍵でのログインは安全ではありません。alby、nostr-keyx、nos2xなどのブラウザ拡張機能を使用してログインすることをお勧めします。秘密鍵を使用する場合は、少なくとも暗号化のためにパスワードを設定してください。","Login with Browser Extension":"ブラウザ拡張でログイン","Login with Bunker":"Bunkerでログイン","Login with Private Key":"秘密鍵でログイン","reload notes":"ノートを再読み込み","Logged in Accounts":"ログイン中のアカウント","Add an Account":"アカウントを追加","More options":"その他のオプション","Add client tag":"クライアントタグを追加","Show others this was sent via Smesh":"これがSmesh経由で送信されたことを表示","Are you sure you want to logout?":"本当にログアウトしますか?","relay sets":"リレイセット",edit:"編集",Languages:"言語",Theme:"テーマ",System:"システム",Light:"ライト",Dark:"ダーク",Temporary:"一時的","Choose a relay set":"リレイセットを選択","Switch account":"アカウント切替",Pictures:"画像","Picture note":"画像ノート","A special note for picture-first clients like Olas":"Olas のような画像優先クライアント向けの特別なノート","Picture note requires images":"画像ノートには画像が必要です",Relays:"リレイ",Image:"画像","R & W":"読&書",Read:"読む",Write:"書く","Pull relay sets":"リレイセットをプル","Select the relay sets you want to pull":"プルするリレイセットを選択","No relay sets found":"リレイセットが見つかりません","Pull n relay sets":"{{n}} 個のリレイセットをプル",Pull:"プル","Select all":"すべて選択","Relay Sets":"リレイセット","Read & Write Relays":"読み&書きリレイ","read relays description":"読みリレイはあなたに関するイベントを取得するために使用されます。他のユーザーはあなたが見るべきイベントをこのリレイに公開します。","write relays description":"書きリレイはあなたのイベントを公開するために使用されます。他のユーザーはこのリレイからあなたのイベントを取得します。","read & write relays notice":"読みリレイと書きリレイは、理想的にはそれぞれ2〜4個に保つべきです。","Don't have an account yet?":"まだアカウントをお持ちでないですか?","or simply generate a private key":"または単に秘密鍵を生成してください","This is a private key. Do not share it with anyone. Keep it safe and secure. You will not be able to recover it if you lose it.":"これは秘密鍵です。誰にも共有せず、安全な場所に保管してください。紛失すると復旧できません。",Edit:"編集",Save:"保存","Display Name":"表示名",Bio:"自己紹介","Nostr Address (NIP-05)":"Nostrアドレス (NIP-05)","Invalid NIP-05 address":"無効なNIP-05アドレス","Copy private key":"秘密鍵をコピー","Enter the password to decrypt your ncryptsec":"ncryptsecを復号化するためパスワードを入力",Back:"戻る","optional: encrypt nsec":"任意:nsecを暗号化",password:"パスワード","Sign up":"サインアップ","Save to":"保存先","Enter a name for the new relay set":"新しいリレイセットの名前を入力","Save to a new relay set":"新しいリレイセットに保存",Mute:"ミュート",Muted:"ミュート済み",Unmute:"ミュート解除","Unmute user":"ユーザーのミュート解除","Append n relays":"{{n}} 個のリレイを追加",Append:"追加","Select relays to append":"追加するリレイを選択","calculating...":"計算中...","Calculate optimal read relays":"最適な読みリレイを計算","Login to set":"セットにログイン","Please login to view following feed":"フォロー中のフィードを表示するにはログインしてください","Send only to r":"{{r}} にのみ送信","Send only to these relays":"これらのリレイにのみ送信",Explore:"探索","Search relays":"リレイを検索",relayInfoBadgeAuth:"認証",relayInfoBadgeSearch:"検索",relayInfoBadgePayment:"支払い",Operator:"運営者",Contact:"連絡先",Software:"ソフトウェア",Version:"バージョン","Random Relays":"ランダムリレイ",randomRelaysRefresh:"更新","Explore more":"もっと探索","Payment page":"支払いページ","Supported NIPs":"対応NIP","Open in a":"{{a}}で開く","Cannot handle event of kind k":"種類{{k}}のイベントは処理できません","Sorry! The note cannot be found 😔":"申し訳ありません!ノートが見つかりません 😔","This user has been muted":"このユーザーはミュートされています",Wallet:"ウォレット",Sats:"サッツ",sats:"サッツ","Zap to":"Zap送信","Zap n sats":"{{n}} サッツをZap",zapComment:"コメント","Default zap amount":"デフォルトのZap金額","Default zap comment":"デフォルトのZapコメント","Lightning Address (or LNURL)":"Lightningアドレス(またはLNURL)","Quick zap":"クイックZap","If enabled, you can zap with a single click. Click and hold for custom amounts":"有効にすると、1クリックでZapできます。クリックして金額をカスタマイズします",All:"すべて",Reactions:"反応",Zaps:"Zap","Earlier notifications":"以前の通知","Temporarily display this note":"このノートを一時的に表示",buttonFollowing:"フォロー中","Are you sure you want to unfollow this user?":"このユーザーのフォローを解除しますか?","Recent Supporters":"最近のサポーター","Seen on":"見た","Temporarily display this reply":"この返信を一時的に表示","Note not found":"ノートが見つかりません","no more replies":"これ以上の返信はありません","Relay sets":"リレイセット","Favorite Relays":"お気に入りのリレイ","Following's Favorites":"フォロー中のお気に入り","no more relays":"これ以上のリレイはありません","Favorited by":"お気に入り","Post settings":"投稿設定","Media upload service":"メディアアップロードサービス","Choose a relay":"リレイを選択","no relays found":"リレイが見つかりません",video:"ビデオ","Show n new notes":"新しいノートを{{n}}件表示",YouTabName:"あなた",Bookmark:"ブックマーク","Remove bookmark":"ブックマークを削除","no bookmarks found":"ブックマークが見つかりません","no more bookmarks":"これ以上ブックマークはありません",Bookmarks:"ブックマーク一覧","Show more":"もっと見る",General:"一般",Autoplay:"自動再生","Enable video autoplay on this device":"このデバイスでのビデオ自動再生を有効にする","Paste or drop media files to upload":"メディアファイルを貼り付けるかドロップしてアップロード",Preview:"プレビュー","You are about to publish an event signed by [{{eventAuthorName}}]. You are currently logged in as [{{currentUsername}}]. Are you sure?":"あなたは[{{eventAuthorName}}]によって署名されたイベントを公開しようとしています。現在[{{currentUsername}}]としてログインしています。よろしいですか?","Platinum Sponsors":"プラチナスポンサー",From:"から","Comment on":"にコメント","View on njump.me":"njump.meで表示","Hide content from untrusted users":"信頼できないユーザーのコンテンツを非表示","Only show content from your followed users and the users they follow":"フォローしているユーザーとそのユーザーがフォローしているユーザーのコンテンツのみを表示","Followed by":"フォロワー","Mute user privately":"ユーザーを非公開でミュート","Mute user publicly":"ユーザーを公開でミュート",Quotes:"引用","Lightning Invoice":"ライトニングインボイス","Bookmark failed":"ブックマークに失敗しました","Remove bookmark failed":"ブックマークの削除に失敗しました",Translation:"翻訳",Balance:"残高",characters:"文字",smeshTranslateApiKeyDescription:"このAPIキーは、LibreTranslateをサポートする他の場所でも使用できます。サービスURLは{{serviceUrl}}です","Top up":"チャージ","Will receive: {n} characters":"受け取る文字数: {{n}} 文字","Top up {n} sats":"チャージ {{n}} サッツ","Minimum top up is {n} sats":"最低チャージは {{n}} サッツです",Service:"サービス","Reset API key":"APIキーをリセット","Are you sure you want to reset your API key? This action cannot be undone.":"APIキーをリセットしますか?この操作は元に戻せません。",Warning:"警告","Your current API key will become invalid immediately, and any applications using it will stop working until you update them with the new key.":"現在のAPIキーはすぐに無効になり、それを使用しているアプリケーションは新しいキーで更新するまで動作しなくなります。","Service address":"サービスアドレス",Pay:"支払う",interactions:"インタラクション",notifications:"通知","Show untrusted {type}":"信頼されていない{{type}}を表示","Hide untrusted {type}":"信頼されていない{{type}}を非表示","Currently hiding {type} from untrusted users.":"現在、信頼されていないユーザーからの{{type}}を非表示にしています。","Currently showing all {type}.":"現在、すべての{{type}}を表示しています。","Click continue to show all {type}.":"すべての{{type}}を表示するには続行をクリックしてください。","Click continue to hide {type} from untrusted users.":"信頼されていないユーザーからの{{type}}を非表示にするには続行をクリックしてください。","Trusted users include people you follow and people they follow.":"信頼できるユーザーには、あなたがフォローしている人とその人がフォローしている人が含まれます。",Continue:"続行","Successfully updated mute list":"ミュートリストの更新に成功しました","No pubkeys found from {url}":"URL {{url}} からのpubkeyは見つかりませんでした","Translating...":"翻訳中...",Translate:"翻訳","Show original":"原文を表示",Website:"ウェブサイト","Hide untrusted notes":"信頼されていないノートを非表示","Open in another client":"別のクライアントで開く",Community:"コミュニティ",Group:"グループ","Live event":"ライブイベント",Article:"記事",Unfavorite:"お気に入り解除","Recommended relays":"おすすめのリレイ","Blossom server URLs":"BlossomサーバーURL","You need to add at least one blossom server in order to upload media files.":"メディアファイルをアップロードするには、少なくとも1つのBlossomサーバーを追加する必要があります。","Recommended blossom servers":"おすすめのBlossomサーバー","Enter Blossom server URL":"BlossomサーバーURLを入力",Preferred:"優先","Multiple choice (select one or more)":"複数選択(1つ以上選択)",Vote:"投票","{{number}} votes":"{{number}} 票","Total votes":"総票数","Poll has ended":"投票終了","Poll ends at {{time}}":"投票終了時刻:{{time}}","Load results":"結果を読み込み","This is a poll note.":"これは投票ノートです。","Unlike regular notes, polls are not widely supported and may not display on other clients.":"通常のノートとは異なり、投票は広くサポートされておらず、他のクライアントでは表示されない場合があります。","Option {{number}}":"選択肢 {{number}}","Add Option":"選択肢を追加","Allow multiple choices":"複数選択を許可","End Date (optional)":"終了日(任意)","Clear end date":"終了日をクリア","Relay URLs (optional, comma-separated)":"リレーURL(任意、カンマ区切り)","Remove poll":"投票を削除","Refresh results":"結果を更新",Poll:"投票",Media:"メディア","Republish to ...":"再公開先 ...","Successfully republish to your write relays":"書きリレイへの再公開に成功しました","Failed to republish to your write relays: {{error}}":"書きリレイへの再公開に失敗しました: {{error}}","Successfully republish to relay set: {{name}}":"リレイセット {{name}} への再公開に成功しました","Failed to republish to relay set: {{name}}. Error: {{error}}":"リレイセット {{name}} への再公開に失敗しました。エラー: {{error}}","Successfully republish to relay: {{url}}":"リレイ {{url}} への再公開に成功しました","Failed to republish to relay: {{url}}. Error: {{error}}":"リレイ {{url}} への再公開に失敗しました。エラー: {{error}}","Write relays":"書きリレイ","No more reactions":"これ以上の反応はありません","No reactions yet":"まだ反応はありません","No more zaps":"これ以上のZapはありません","No zaps yet":"まだZapはありません","No more reposts":"これ以上のリポストはありません","No reposts yet":"まだリポストはありません",Reposts:"リポスト",FollowListNotFoundConfirmation:"フォローリストが見つかりません。新しいものを作成しますか?以前にユーザーをフォローしたことがある場合は、この操作により前のフォローリストが失われるため、確認しないでください。",MuteListNotFoundConfirmation:"ミュートリストが見つかりません。新しいものを作成しますか?以前にユーザーをミュートしたことがある場合は、この操作により前のミュートリストが失われるため、確認しないでください。","Show NSFW content by default":"デフォルトでNSFWコンテンツを表示","Custom emoji management":"カスタム絵文字管理","After changing emojis, you may need to refresh the page":"絵文字を変更した後、ページを更新する必要がある場合があります","Too many read relays":"読み取りリレイが多すぎます","Too many write relays":"書き込みリレイが多すぎます","You have {{count}} read relays. Most clients only use 2-4 relays, setting more is unnecessary.":"{{count}} 個の読み取りリレイがあります。ほとんどのクライアントは2〜4個のリレイのみを使用するため、それ以上設定する必要はありません。","You have {{count}} write relays. Most clients only use 2-4 relays, setting more is unnecessary.":"{{count}} 個の書き込みリレイがあります。ほとんどのクライアントは2〜4個のリレイのみを使用するため、それ以上設定する必要はありません。","Optimize Relay Settings":"リレイ設定を最適化","Your current relay configuration may not be optimal. This could make it difficult for others to find your posts and may result in incomplete notifications.":"現在のリレイ設定は最適ではない可能性があります。これにより、他の人があなたの投稿を見つけにくくなり、通知が不完全になる可能性があります。","Optimize Now":"今すぐ最適化","Maybe Later":"後で","Don't remind me again":"今後表示しない",Posts:"投稿",Articles:"記事",Highlights:"ハイライト",Polls:"投票","Voice Posts":"音声投稿","Photo Posts":"写真投稿","Video Posts":"ビデオ投稿","Select All":"すべて選択","Clear All":"すべてクリア","Set as default filter":"デフォルトフィルターに設定",Apply:"適用",Reset:"リセット","Share something on this Relay":"このリレーで何かを共有する","Try deleting this note":"このノートを削除してみてください","Deletion request sent to {{count}} relays":"削除リクエストが{{count}}個のリレーに送信されました","Suitable Relays":"適切なリレー","People, keywords, or relays":"人、キーワード、またはリレー","Hide content mentioning muted users":"ミュートしたユーザーを言及するコンテンツを非表示","This note mentions a user you muted":"このノートはミュートしたユーザーを言及しています",Filter:"フィルター","mentioned you in a note":"ノートであなたに言及しました","quoted your note":"あなたのノートを引用しました","voted in your poll":"あなたの投票に投票しました","reacted to your note":"あなたのノートにリアクションしました","reposted your note":"あなたのノートをリポストしました","zapped your note":"あなたのノートにザップしました","highlighted your note":"あなたのノートをハイライトしました","zapped you":"あなたにザップしました","Mark as read":"既読にする",Report:"報告","Successfully report":"報告が成功しました","Failed to report":"報告に失敗しました",nudity:"ヌード",malware:"マルウェア",profanity:"冒涜的な内容",illegal:"違法コンテンツ",spam:"スパム",other:"その他","Notification list style":"通知リストスタイル","See extra info for each notification":"各通知の詳細情報を表示","See more notifications at a glance":"一目でより多くの通知を確認",Detailed:"詳細",Compact:"コンパクト","Submit Relay":"リレーを提出",Homepage:"ホームページ","Proof of Work (difficulty {{minPow}})":"プルーフオブワーク (難易度 {{minPow}})","via {{client}}":"{{client}} 経由","Auto-load media":"メディアの自動読み込み",Always:"常に","Wi-Fi only":"Wi-Fiのみ",Never:"しない","Click to load image":"クリックして画像を読み込む","Click to load media":"クリックしてメディアを読み込む","Click to load YouTube video":"クリックしてYouTubeビデオを読み込む","{{count}} reviews":"{{count}}件のレビュー","Write a review":"レビューを書く","No reviews yet. Be the first to write one!":"まだレビューがありません。最初のレビューを書いてみませんか!","View more reviews":"もっとレビューを見る","Failed to review":"レビュー失敗","Write a review and pick a star rating":"レビューを書いて星評価を選択してください",Submit:"送信","Reviews for {{relay}}":"{{relay}} のレビュー","No relays selected":"リレーが選択されていません","Post to":"投稿先","Write relays and {{count}} other relays":"書き込みリレーと他の {{count}} 個のリレー","{{count}} relays":"{{count}} 個のリレー","Republishing...":"再公開中...","Connected to":"接続先","Disconnect Wallet":"ウォレットの接続を解除","Are you absolutely sure?":"本当に確かですか?","You will not be able to send zaps to others.":"他の人にZapを送信できなくなります。",Disconnect:"接続解除","Start with a Rizful Vault":"Rizful Vaultで始める","or other wallets":"または他のウォレット","Rizful Vault":"Rizful Vault","Rizful Vault connected!":"Rizful Vaultが接続されました!","You can now use your Rizful Vault to zap your favorite notes and creators.":"これで、Rizful Vaultを使用してお気に入りのノートやクリエイターにZapを送信できます。","Your Lightning Address":"あなたのライトニングアドレス","New to Rizful?":"Rizfulを初めて利用しますか?","Sign up for Rizful":"Rizfulにサインアップ","If you already have a Rizful account, you can skip this step.":"すでにRizfulアカウントをお持ちの場合は、このステップをスキップできます。","Get your one-time code":"ワンタイムコードを取得","Get code":"コードを取得","Connect to your Rizful Vault":"Rizful Vaultに接続","Paste your one-time code here":"ここにワンタイムコードを貼り付けてください",Connect:"接続","Set up your wallet to send and receive sats!":"ウォレットを設定してサッツを送受信しましょう!","Set up":"設定する",Pinned:"固定済み",Unpin:"固定解除",Unpinning:"固定解除中","Pinning...":"固定中...","Pinned!":"固定されました!","Failed to pin: {{error}}":"固定に失敗しました: {{error}}","Unpinning...":"固定解除中...","Unpinned!":"固定が解除されました!","Failed to unpin: {{error}}":"固定解除に失敗しました: {{error}}","Unpin from profile":"プロフィールから固定解除","Pin to profile":"プロフィールに固定",Appearance:"外観","Pure Black":"純黒",Default:"デフォルト",Red:"赤",Orange:"オレンジ",Amber:"アンバー",Yellow:"黄色",Lime:"ライム",Green:"緑",Emerald:"エメラルド",Teal:"ティール",Cyan:"シアン",Sky:"スカイ",Blue:"青",Indigo:"インディゴ",Violet:"バイオレット",Purple:"紫",Fuchsia:"フクシア",Pink:"ピンク",Rose:"ローズ","Primary color":"主要な色",Layout:"レイアウト","Two-column":"2列","Single-column":"1列",Reviews:"レビュー",Extension:"拡張機能",Remote:"リモート","Encrypted Key":"暗号化キー","Private Key":"暗号化されたキー","Welcome to Smesh":"Smeshへようこそ","Smesh is a client focused on browsing relays. Get started by exploring interesting relays or login to view your following feed.":"Smeshはコミュニティの構築と、主権的な考え方を持つ人々の連携を支援することに焦点を当てたnostrクライアントです。","Explore Relays":"リレーを探索","Choose a feed":"フィードを選択","and {{x}} others":"および他{{x}}人",selfZapWarning:"Smesh は、あなたが自分自身にザップした場合の結果について責任を負いません。自己責任で続行してください。😉⚡","Emoji Pack":"絵文字パック","Emoji pack added":"絵文字パックを追加しました","Add emoji pack failed":"絵文字パックの追加に失敗しました","Emoji pack removed":"絵文字パックを削除しました","Remove emoji pack failed":"絵文字パックの削除に失敗しました",Added:"追加済み","Emoji Packs":"絵文字パック","My Packs":"マイパック","Adding...":"追加中...","Removing...":"削除中...",Reload:"再読み込み","Request to Join Relay":"リレーへの参加をリクエスト","Leave Relay":"リレーを退出",Leave:"退出","Are you sure you want to leave this relay?":"このリレーを退出してもよろしいですか?","Join request sent successfully":"参加リクエストを送信しました","Failed to send join request":"参加リクエストの送信に失敗しました","Leave request sent successfully":"退出リクエストを送信しました","Failed to send leave request":"退出リクエストの送信に失敗しました","Enter an invite code if you have one. Otherwise, leave it blank to send a request.":"招待コードをお持ちの場合は入力してください。それ以外の場合は空白のままリクエストを送信してください。","Invite Code (Optional)":"招待コード(オプション)","Enter invite code":"招待コードを入力","Sending...":"送信中...","Send Request":"リクエストを送信","You can get an invite code from a relay member.":"リレーメンバーから招待コードを取得できます。","Enter the invite code you received from a relay member.":"リレーメンバーから受け取った招待コードを入力してください。","Get Invite Code":"招待コードを取得","Share this invite code with others to invite them to join this relay.":"この招待コードを他の人と共有して、このリレーへの参加を招待してください。","Invite Code":"招待コード",Copy:"コピー","This invite code can be used by others to join the relay.":"この招待コードは他の人がリレーに参加するために使用できます。","No invite code available from this relay.":"このリレーから利用可能な招待コードはありません。",Close:"閉じる","Failed to get invite code from relay":"リレーから招待コードの取得に失敗しました","Failed to get invite code":"招待コードの取得に失敗しました","Invite code copied to clipboard":"招待コードをクリップボードにコピーしました","Favicon URL":"ファビコンURL","Filter out onion relays":"Onionリレーを除外","Click to load X post":"クリックしてX投稿を読み込む","View Nostr comments":"Nostrコメントを表示","Search for notes":"ノートを検索","Search for hashtag":"ハッシュタグを検索","Go to note":"ノートへ移動","Go to relay":"リレーへ移動","View discussions about this":"このコンテンツに関する議論を表示","Open link":"リンクを開く","View Nostr discussions":"Nostr の議論を表示","Optimal relays":"最適なリレー","Successfully republish to optimal relays (your write relays and mentioned users' read relays)":"最適なリレー(あなたの書き込みリレーと言及されたユーザーの読み取りリレー)への再公開に成功しました","Failed to republish to optimal relays: {{error}}":"最適なリレーへの再公開に失敗しました:{{error}}","External Content":"外部コンテンツ",Highlight:"ハイライト","Optimal relays and {{count}} other relays":"最適なリレーと他の{{count}}個のリレー","Likely spam account (Trust score: {{percentile}}%)":"スパムの可能性が高いアカウント(信頼スコア:{{percentile}}%)","Suspicious account (Trust score: {{percentile}}%)":"疑わしいアカウント(信頼スコア:{{percentile}}%)","n users":"{{count}}人のユーザー","View Details":"詳細を表示","Follow Pack Not Found":"フォローパックが見つかりません","Follow pack not found":"フォローパックが見つかりません",Users:"ユーザー",Feed:"フィード","Follow Pack":"フォローパック","Load earlier":"以前を読み込む","Last 24 hours":"過去24時間","Last {{count}} days":"過去{{count}}日間",notes:"ノート","Quick reaction":"クイックリアクション","If enabled, you can react with a single click. Click and hold for more options":"有効にすると、ワンクリックでリアクションできます。長押しで他のオプションを表示","Quick reaction emoji":"クイックリアクション絵文字","Select emoji":"絵文字を選択","NSFW content display":"NSFWコンテンツの表示","Hide completely":"完全に非表示","Show but hide content":"表示するがコンテンツを非表示","Show directly":"直接表示","Click to view":"クリックして表示","Special Follow":"特別フォロー","Unfollow Special":"特別フォロー解除","Personal Feeds":"個人フィード","Relay Feeds":"リレーフィード","Create Highlight":"ハイライトを作成","Write your thoughts about this highlight...":"このハイライトについての考えを書いてください...","Publish Highlight":"ハイライトを公開","Show replies":"返信を表示","Hide replies":"返信を非表示","Welcome to Smesh!":"Smeshへようこそ!","Your feed is empty because you are not following anyone yet. Start by exploring interesting content and following users you like!":"まだ誰もフォローしていないため、フィードが空です。興味深いコンテンツを探索して、好きなユーザーをフォローしてみましょう!","Search Users":"ユーザーを検索","Create New Account":"新しいアカウントを作成",Important:"重要","Generate Your Account":"アカウントを生成","Your private key IS your account. Keep it safe!":"秘密鍵があなたのアカウントです。安全に保管してください!","In Nostr, your private key IS your account. If you lose your private key, you lose your account forever.":"Nostrでは、秘密鍵があなたのアカウントです。秘密鍵を紛失すると、アカウントを永久に失います。","Your Private Key":"あなたの秘密鍵","Generate new key":"新しい鍵を生成","Download Backup File":"バックアップファイルをダウンロード","Copied to Clipboard":"クリップボードにコピーしました","Copy to Clipboard":"クリップボードにコピー","I already saved my private key securely.":"秘密鍵を安全に保存しました。","Almost Done!":"もう少しで完了です!","Set a password to encrypt your key, or skip to finish":"鍵を暗号化するためのパスワードを設定するか、スキップして完了してください","Password Protection (Optional)":"パスワード保護(オプション)","Setting a password encrypts your private key in this browser. You can skip this step, but we recommend setting one for added security.":"パスワードを設定すると、このブラウザで秘密鍵が暗号化されます。この手順はスキップできますが、セキュリティ強化のために設定することをお勧めします。","Password (Optional)":"パスワード(オプション)","Enter password or leave empty to skip":"パスワードを入力するか、空のままにしてスキップしてください","Confirm Password":"パスワードを確認","Re-enter password":"パスワードを再入力","Passwords do not match":"パスワードが一致しません","Finish Signup":"登録を完了","Create Your Nostr Account":"Nostrアカウントを作成","Generate your unique private key. This is your digital identity.":"あなた専用の秘密鍵を生成します。これがあなたのデジタルアイデンティティです。","Critical: Save Your Private Key":"重要:秘密鍵を保存してください","Your private key IS your account. There is no password recovery. If you lose it, you lose your account forever. Please save it in a secure location.":"あなたの秘密鍵があなたのアカウントそのものです。パスワード復旧機能はありません。紛失すると、アカウントを永久に失います。安全な場所に保存してください。","I have safely backed up my private key":"秘密鍵を安全にバックアップしました","Secure Your Account":"アカウントを保護","Add an extra layer of protection with a password":"パスワードで追加の保護層を追加","Password Protection (Recommended)":"パスワード保護(推奨)","Add a password to encrypt your private key in this browser. This is optional but strongly recommended for better security.":"このブラウザで秘密鍵を暗号化するパスワードを追加します。オプションですが、より良いセキュリティのために強くお勧めします。","Create a password (or skip)":"パスワードを作成(またはスキップ)","Enter your password again":"パスワードをもう一度入力","Complete Signup":"登録を完了",Recommended:"おすすめ"}},qbe={translation:{"Welcome! 🥳":"환영합니다! 🥳",About:"정보","New Note":"새 노트 작성",Post:"노트 게시",Home:"홈","Relay settings":"릴레이 설정",Settings:"설정",SidebarRelays:"릴레이",Refresh:"새로고침",Profile:"프로필",Logout:"로그아웃",Following:"팔로잉",followings:"팔로잉",reposted:"리포스트","just now":"방금 전","minute ago_one":"{{count}}분 전","minute ago_other":"{{count}}분 전","n m":"{{n}}분","hour ago_one":"{{count}}시간 전","hour ago_other":"{{count}}시간 전","n h":"{{n}}시간","day ago_one":"{{count}}일 전","day ago_other":"{{count}}일 전","n d":"{{n}}일",date:"{{timestamp, date}}",Follow:"팔로우",Unfollow:"언팔로우","Follow failed":"팔로우 실패","Unfollow failed":"언팔로우 실패","show new notes":"새 노트 보기","loading...":"로딩 중...","Loading...":"로딩 중...","no more notes":"더 이상 노트 없음","reply to":"답글",reply:"답글",Reply:"답글","load more older replies":"이전 답글 더 보기","Write something...":"무엇인가 작성하세요...",Cancel:"취소",Mentions:"멘션","Failed to post":"게시 실패","Post successful":"게시 성공","Your post has been published":"게시물이 게시되었습니다",Repost:"리포스트",Quote:"인용","Copy event ID":"이벤트 ID 복사","Copy user ID":"사용자 ID 복사","View raw event":"원본 이벤트 보기",Like:"좋아요","switch to light theme":"라이트 테마로 전환","switch to dark theme":"다크 테마로 전환","switch to system theme":"시스템 테마로 전환",Note:"노트",note:"노트","username's following":"{{username}}님의 팔로잉","username's used relays":"{{username}}님이 사용하는 릴레이","username's muted":"{{username}}님이 차단한 사용자",Login:"로그인","Follows you":"회원님을 팔로우함","Relay Settings":"릴레이 설정","Relay set name":"릴레이 세트 이름","Add a new relay set":"새 릴레이 세트 추가",Add:"추가","n relays":"{{n}}개의 릴레이",Rename:"이름 변경","Copy share link":"공유 링크 복사",Delete:"삭제","Relay already exists":"릴레이가 이미 존재합니다","invalid relay URL":"유효하지 않은 릴레이 주소","Add a new relay":"새 릴레이 추가",back:"뒤로","Lost in the void":"공허 속에서 길을 잃음","Carry me home":"집으로 데려다줘","no replies":"답글 없음","Reply to":"답글",Search:"검색","The relays you are connected to do not support search":"연결된 릴레이가 검색을 지원하지 않습니다","Show more...":"더 보기...","All users":"모든 사용자","Display replies":"답글 표시",Notes:"노트",Replies:"답글",Notifications:"알림","no more notifications":"더 이상 알림 없음","Using private key login is insecure. It is recommended to use a browser extension for login, such as alby, nostr-keyx or nos2x. If you must use a private key, please set a password for encryption at minimum.":"개인 키 로그인은 안전하지 않습니다. alby, nostr-keyx, nos2x와 같은 브라우저 확장 프로그램을 사용하는 것이 좋습니다. 꼭 개인 키를 사용해야 한다면 최소한 암호를 설정하세요.","Login with Browser Extension":"브라우저 확장으로 로그인","Login with Bunker":"Bunker로 로그인","Login with Private Key":"개인 키로 로그인","reload notes":"노트 다시 불러오기","Logged in Accounts":"로그인된 계정","Add an Account":"계정 추가","More options":"더 많은 옵션","Add client tag":"클라이언트 태그 추가","Show others this was sent via Smesh":"이 노트가 Smesh을 통해 전송되었음을 표시","Are you sure you want to logout?":"로그아웃 하시겠습니까?","relay sets":"릴레이 세트",edit:"편집",Languages:"언어",Theme:"테마",System:"시스템",Light:"라이트",Dark:"다크",Temporary:"임시","Choose a relay set":"릴레이 세트 선택","Switch account":"계정 전환",Pictures:"사진","Picture note":"사진 노트","A special note for picture-first clients like Olas":"Olas와 같은 사진 우선 클라이언트에서 표시되는 특별한 노트","Picture note requires images":"사진 노트에는 이미지가 필요합니다",Relays:"릴레이",Image:"이미지",Normal:"일반","R & W":"읽기/쓰기",Read:"읽기 전용",Write:"쓰기 전용","Pull relay sets":"릴레이 세트 가져오기","Select the relay sets you want to pull":"가져올 릴레이 세트 선택","No relay sets found":"릴레이 세트를 찾을 수 없음","Pull n relay sets":"{{n}}개의 릴레이 세트 가져오기",Pull:"가져오기","Select all":"전체 선택","Relay Sets":"릴레이 세트",Mailbox:"메일박스","Read & Write Relays":"읽기/쓰기 릴레이","read relays description":"읽기 릴레이는 회원님과 관련된 이벤트를 찾는 데 사용됩니다. 다른 사용자는 회원님이 보길 원하는 이벤트를 회원님의 읽기 릴레이에 게시합니다.","write relays description":"쓰기 릴레이는 회원님의 이벤트를 게시하는 데 사용됩니다. 다른 사용자는 회원님의 쓰기 릴레이에서 회원님이 게시한 이벤트를 찾습니다.","read & write relays notice":"읽기 및 쓰기 릴레이는 각각 2~4개 정도가 적당합니다.","Don't have an account yet?":"아직 계정이 없으신가요?","or simply generate a private key":"또는 간단히 개인 키 생성","This is a private key. Do not share it with anyone. Keep it safe and secure. You will not be able to recover it if you lose it.":"이것은 개인 키입니다. 절대 다른 사람과 공유하지 마세요. 안전하게 보관하세요. 분실 시 복구할 수 없습니다.",Edit:"편집",Save:"저장","Display Name":"표시 이름",Bio:"소개","Nostr Address (NIP-05)":"Nostr 주소 (NIP-05)","Invalid NIP-05 address":"유효하지 않은 NIP-05 주소","Copy private key":"개인 키 복사","Enter the password to decrypt your ncryptsec":"ncryptsec를 복호화할 비밀번호 입력",Back:"뒤로","password (optional): encrypt nsec":"비밀번호(선택): nsec 암호화","optional: encrypt nsec":"선택: nsec 암호화",password:"비밀번호","Sign up":"회원가입","Save to":"저장 위치","Enter a name for the new relay set":"새 릴레이 세트 이름 입력","Save to a new relay set":"새 릴레이 세트에 저장",Mute:"차단",Muted:"차단됨",Unmute:"차단 해제","Unmute user":"사용자 차단 해제","Append n relays":"{{n}}개의 릴레이 추가",Append:"추가","Select relays to append":"추가할 릴레이 선택","calculating...":"계산 중...","Calculate optimal read relays":"최적의 읽기 릴레이 계산","Login to set":"설정하려면 로그인","Please login to view following feed":"팔로잉 피드를 보려면 로그인하세요","Send only to r":"{{r}}에만 전송","Send only to these relays":"이 릴레이에만 전송",Explore:"탐색","Search relays":"릴레이 검색",relayInfoBadgeAuth:"로그인 필요",relayInfoBadgeSearch:"검색 지원",relayInfoBadgePayment:"유료",Operator:"운영자",Contact:"연락처",Software:"소프트웨어",Version:"버전","Random Relays":"무작위 릴레이",randomRelaysRefresh:"새로고침","Explore more":"더 탐색하기","Payment page":"결제 페이지","Supported NIPs":"지원 NIP","Open in a":"{{a}}에서 열기","Cannot handle event of kind k":"{{k}} 유형의 이벤트를 처리할 수 없습니다","Sorry! The note cannot be found 😔":"죄송합니다! 해당 노트를 찾을 수 없습니다 😔","This user has been muted":"이 사용자는 차단되었습니다",Wallet:"지갑",Sats:"사토시",sats:"사토시","Zap to":"잽 보내기","Zap n sats":"{{n}} 사토시 잽 보내기",zapComment:"코멘트","Default zap amount":"기본 잽 금액","Default zap comment":"기본 잽 코멘트","Lightning Address (or LNURL)":"라이트닝 주소(또는 LNURL)","Quick zap":"빠른 잽","If enabled, you can zap with a single click. Click and hold for custom amounts":"활성화하면 한 번 클릭으로 잽을 보낼 수 있습니다. 길게 누르면 금액을 직접 입력할 수 있습니다.",All:"전체",Reactions:"반응",Zaps:"잽","Earlier notifications":"이전 알림","Temporarily display this note":"이 노트 임시 표시",buttonFollowing:"팔로잉 중","Are you sure you want to unfollow this user?":"이 사용자를 언팔로우하시겠습니까?","Recent Supporters":"최근 후원자","Seen on":"출처","Temporarily display this reply":"이 답글 임시 표시","Note not found":"노트를 찾을 수 없음","no more replies":"더 이상 답글 없음","Relay sets":"릴레이 세트","Favorite Relays":"즐겨찾는 릴레이","Following's Favorites":"팔로잉의 즐겨찾기","no more relays":"더 이상 릴레이 없음","Favorited by":"즐겨찾기한 사람","Post settings":"게시 설정","Media upload service":"미디어 업로드 서비스","Choose a relay":"릴레이 선택","no relays found":"릴레이를 찾을 수 없음",video:"비디오","Show n new notes":"{{n}}개의 새 노트 보기",YouTabName:"나와 함께",Bookmark:"북마크","Remove bookmark":"북마크 제거","no bookmarks found":"북마크 없음","no more bookmarks":"더 이상 북마크 없음",Bookmarks:"북마크","Show more":"더 보기",General:"일반",Autoplay:"자동 재생","Enable video autoplay on this device":"이 기기에서 비디오 자동 재생 활성화","Paste or drop media files to upload":"미디어 파일을 붙여넣거나 드래그하여 업로드",Preview:"미리보기","You are about to publish an event signed by [{{eventAuthorName}}]. You are currently logged in as [{{currentUsername}}]. Are you sure?":"[{{eventAuthorName}}]가 서명한 이벤트를 게시하려고 합니다. 현재 [{{currentUsername}}]로 로그인되어 있습니다. 계속하시겠습니까?","Platinum Sponsors":"플래티넘 스폰서",From:"출처","Comment on":"댓글","View on njump.me":"njump.me에서 보기","Hide content from untrusted users":"신뢰하지 않는 사용자의 콘텐츠 숨기기","Only show content from your followed users and the users they follow":"내가 팔로우하는 사용자와 그들이 팔로우하는 사용자의 콘텐츠만 표시","Followed by":"팔로워","Mute user privately":"비공개 차단","Mute user publicly":"공개 차단",Quotes:"인용","Lightning Invoice":"라이트닝 인보이스","Bookmark failed":"북마크 실패","Remove bookmark failed":"북마크 제거 실패",Translation:"번역",Balance:"잔액",characters:"글자",smeshTranslateApiKeyDescription:"이 API 키는 LibreTranslate를 지원하는 모든 곳에서 사용할 수 있습니다. 서비스 주소: {{serviceUrl}}","Top up":"충전","Will receive: {n} characters":"{{n}} 글자를 받게 됩니다","Top up {n} sats":"{{n}} 사토시 충전","Minimum top up is {n} sats":"최소 충전 금액은 {{n}} 사토시입니다",Service:"서비스","Reset API key":"API 키 재설정","Are you sure you want to reset your API key? This action cannot be undone.":"API 키를 재설정하시겠습니까? 이 작업은 되돌릴 수 없습니다.",Warning:"경고","Your current API key will become invalid immediately, and any applications using it will stop working until you update them with the new key.":"현재 API 키는 즉시 무효화되며, 새 키로 업데이트하기 전까지 관련 앱이 작동하지 않습니다.","Service address":"서비스 주소",Pay:"결제",interactions:"상호작용",notifications:"알림","Show untrusted {type}":"신뢰하지 않는 {{type}} 표시","Hide untrusted {type}":"신뢰하지 않는 {{type}} 숨기기","Currently hiding {type} from untrusted users.":"현재 신뢰하지 않는 사용자의 {{type}}을(를) 숨기고 있습니다.","Currently showing all {type}.":"현재 모든 {{type}}을(를) 표시하고 있습니다.","Click continue to show all {type}.":"계속을 클릭하면 모든 {{type}}을(를) 표시합니다.","Click continue to hide {type} from untrusted users.":"계속을 클릭하면 신뢰하지 않는 사용자의 {{type}}을(를) 숨깁니다.","Trusted users include people you follow and people they follow.":"신뢰하는 사용자는 내가 팔로우하는 사람과 그들이 팔로우하는 사람을 포함합니다.",Continue:"계속","Successfully updated mute list":"차단 목록이 성공적으로 업데이트되었습니다","No pubkeys found from {url}":"{{url}}에서 pubkey를 찾을 수 없습니다","Translating...":"번역 중...",Translate:"번역","Show original":"원본 보기",Website:"웹사이트","Hide untrusted notes":"신뢰하지 않는 노트 숨기기","Open in another client":"다른 클라이언트에서 열기",Community:"커뮤니티",Group:"그룹","Live event":"라이브 이벤트",Article:"기사",Unfavorite:"즐겨찾기 취소","Recommended relays":"추천 릴레이","Blossom server URLs":"Blossom 서버 주소","You need to add at least one blossom server in order to upload media files.":"미디어 파일을 업로드하려면 최소한 하나의 Blossom 서버를 추가해야 합니다.","Recommended blossom servers":"추천 Blossom 서버","Enter Blossom server URL":"Blossom 서버 URL 입력",Preferred:"선호","Multiple choice (select one or more)":"다중 선택 (하나 이상 선택)",Vote:"투표","{{number}} votes":"{{number}} 표","Total votes":"총 투표수","Poll has ended":"투표 종료","Poll ends at {{time}}":"투표 종료 시간: {{time}}","Load results":"결과 로드","This is a poll note.":"이것은 투표 노트입니다.","Unlike regular notes, polls are not widely supported and may not display on other clients.":"일반 노트와 달리 투표는 널리 지원되지 않으며 다른 클라이언트에서 표시되지 않을 수 있습니다.","Option {{number}}":"옵션 {{number}}","Add Option":"옵션 추가","Allow multiple choices":"다중 선택 허용","End Date (optional)":"종료 날짜 (선택사항)","Clear end date":"종료 날짜 지우기","Relay URLs (optional, comma-separated)":"릴레이 URL (선택사항, 쉼표로 구분)","Remove poll":"투표 제거","Refresh results":"결과 새로 고침",Poll:"투표",Media:"미디어","Republish to ...":"다시 게시 ...","Successfully republish to your write relays":"쓰기 릴레이에 성공적으로 다시 게시됨","Failed to republish to your write relays: {{error}}":"쓰기 릴레이에 다시 게시하지 못함: {{error}}","Successfully republish to relay set: {{name}}":"릴레이 세트에 성공적으로 다시 게시됨: {{name}}","Failed to republish to relay set: {{name}}. Error: {{error}}":"릴레이 세트에 다시 게시하지 못함: {{name}}. 오류: {{error}}","Successfully republish to relay: {{url}}":"릴레이에 성공적으로 다시 게시됨: {{url}}","Failed to republish to relay: {{url}}. Error: {{error}}":"릴레이에 다시 게시하지 못함: {{url}}. 오류: {{error}}","Write relays":"쓰기 릴레이","No more reactions":"더 이상 반응이 없습니다","No reactions yet":"아직 반응이 없습니다","No more zaps":"더 이상 잽이 없습니다","No zaps yet":"아직 잽이 없습니다","No more reposts":"더 이상 리포스트가 없습니다","No reposts yet":"아직 리포스트가 없습니다",Reposts:"리포스트",FollowListNotFoundConfirmation:"팔로우 목록을 찾을 수 없습니다. 새로 만드시겠습니까? 이전에 사용자를 팔로우한 적이 있다면 이 작업으로 인해 이전 팔로우 목록을 잃게 되므로 확인하지 마시기 바랍니다.",MuteListNotFoundConfirmation:"음소거 목록을 찾을 수 없습니다. 새로 만드시겠습니까? 이전에 사용자를 음소거한 적이 있다면 이 작업으로 인해 이전 음소거 목록을 잃게 되므로 확인하지 마시기 바랍니다.","Show NSFW content by default":"기본적으로 NSFW 콘텐츠 표시","Custom emoji management":"사용자 정의 이모지 관리","After changing emojis, you may need to refresh the page":"이모지를 변경한 후 페이지를 새로고침해야 할 수 있습니다","Too many read relays":"읽기 릴레이가 너무 많습니다","Too many write relays":"쓰기 릴레이가 너무 많습니다","You have {{count}} read relays. Most clients only use 2-4 relays, setting more is unnecessary.":"{{count}}개의 읽기 릴레이가 있습니다. 대부분의 클라이언트는 2-4개의 릴레이만 사용하므로 더 설정하는 것은 불필요합니다.","You have {{count}} write relays. Most clients only use 2-4 relays, setting more is unnecessary.":"{{count}}개의 쓰기 릴레이가 있습니다. 대부분의 클라이언트는 2-4개의 릴레이만 사용하므로 더 설정하는 것은 불필요합니다.","Optimize Relay Settings":"릴레이 설정 최적화","Your current relay configuration may not be optimal. This could make it difficult for others to find your posts and may result in incomplete notifications.":"현재 릴레이 설정이 최적이 아닐 수 있습니다. 이로 인해 다른 사람들이 귀하의 게시물을 찾기 어려워지고 알림이 불완전할 수 있습니다.","Optimize Now":"지금 최적화","Maybe Later":"나중에","Don't remind me again":"다시 알리지 않기",Posts:"게시물",Articles:"기사",Highlights:"하이라이트",Polls:"투표","Voice Posts":"음성 게시물","Photo Posts":"사진 게시물","Video Posts":"비디오 게시물","Select All":"모두 선택","Clear All":"모두 지우기","Set as default filter":"기본 필터로 설정",Apply:"적용",Reset:"초기화","Share something on this Relay":"이 릴레이에서 무언가를 공유하세요","Try deleting this note":"이 노트를 삭제해 보세요","Deletion request sent to {{count}} relays":"삭제 요청이 {{count}}개의 릴레이로 전송되었습니다","Suitable Relays":"적합한 릴레이","People, keywords, or relays":"사람, 키워드 또는 릴레이","Hide content mentioning muted users":"뮤트된 사용자를 언급하는 콘텐츠 숨기기","This note mentions a user you muted":"이 노트는 뮤트한 사용자를 언급합니다",Filter:"필터","mentioned you in a note":"노트에서 당신을 언급했습니다","quoted your note":"당신의 노트를 인용했습니다","voted in your poll":"당신의 투표에 참여했습니다","reacted to your note":"당신의 노트에 반응했습니다","reposted your note":"당신의 노트를 리포스트했습니다","zapped your note":"당신의 노트를 잽했습니다","highlighted your note":"당신의 노트를 하이라이트했습니다","zapped you":"당신을 잽했습니다","Mark as read":"읽음으로 표시",Report:"신고","Successfully report":"신고가 성공적으로 완료되었습니다","Failed to report":"신고에 실패했습니다",nudity:"음란물",malware:"악성 소프트웨어",profanity:"욕설",illegal:"불법 콘텐츠",spam:"스팸",other:"기타","Notification list style":"알림 목록 스타일","See extra info for each notification":"각 알림의 추가 정보 보기","See more notifications at a glance":"한눈에 더 많은 알림 보기",Detailed:"상세",Compact:"간단","Submit Relay":"릴레이 제출",Homepage:"홈페이지","Proof of Work (difficulty {{minPow}})":"작업 증명 (난이도 {{minPow}})","via {{client}}":"{{client}} 통해","Auto-load media":"미디어 자동 로드",Always:"항상","Wi-Fi only":"Wi-Fi만",Never:"안함","Click to load image":"이미지 로드하려면 클릭","Click to load media":"미디어 로드하려면 클릭","Click to load YouTube video":"YouTube 비디오 로드하려면 클릭","{{count}} reviews":"{{count}}개 리뷰","Write a review":"리뷰 작성","No reviews yet. Be the first to write one!":"아직 리뷰가 없습니다. 첫 번째 리뷰를 작성해보세요!","View more reviews":"더 많은 리뷰 보기","Failed to review":"리뷰 실패","Write a review and pick a star rating":"리뷰를 작성하고 별점을 선택하세요",Submit:"제출","Reviews for {{relay}}":"{{relay}}에 대한 리뷰","No relays selected":"선택된 릴레이가 없습니다","Post to":"게시 대상","Write relays and {{count}} other relays":"쓰기 릴레이 및 기타 {{count}}개 릴레이","{{count}} relays":"{{count}}개 릴레이","Republishing...":"다시 게시 중...","Connected to":"연결됨","Disconnect Wallet":"지갑 연결 해제","Are you absolutely sure?":"정말 확실합니까?","You will not be able to send zaps to others.":"다른 사람에게 잽을 보낼 수 없습니다.",Disconnect:"연결 해제","Start with a Rizful Vault":"Rizful Vault로 시작하기","or other wallets":"또는 다른 지갑","Rizful Vault":"Rizful Vault","Rizful Vault connected!":"Rizful Vault 연결됨!","You can now use your Rizful Vault to zap your favorite notes and creators.":"이제 Rizful Vault를 사용하여 좋아하는 노트와 크리에이터에게 잽을 보낼 수 있습니다.","Your Lightning Address":"귀하의 라이트닝 주소","New to Rizful?":"Rizful이 처음이신가요?","Sign up for Rizful":"Rizful에 가입하기","If you already have a Rizful account, you can skip this step.":"이미 Rizful 계정이 있다면 이 단계를 건너뛸 수 있습니다.","Get your one-time code":"일회용 코드 받기","Get code":"코드 받기","Connect to your Rizful Vault":"Rizful Vault에 연결","Paste your one-time code here":"여기에 일회용 코드를 붙여넣기",Connect:"연결","Set up your wallet to send and receive sats!":"사츠를 보내고 받을 수 있도록 지갑을 설정하세요!","Set up":"설정하기",Pinned:"고정됨",Unpin:"고정 해제",Unpinning:"고정 해제 중","Pinning...":"고정 중...","Pinned!":"고정됨!","Failed to pin: {{error}}":"고정 실패: {{error}}","Unpinning...":"고정 해제 중...","Unpinned!":"고정 해제됨!","Failed to unpin: {{error}}":"고정 해제 실패: {{error}}","Unpin from profile":"프로필에서 고정 해제","Pin to profile":"프로필에 고정",Appearance:"외관","Pure Black":"순수한 검은색",Default:"기본",Red:"빨강",Orange:"주황",Amber:"호박색",Yellow:"노랑",Lime:"라임",Green:"초록",Emerald:"에메랄드",Teal:"청록",Cyan:"시안",Sky:"하늘색",Blue:"파랑",Indigo:"남색",Violet:"보라",Purple:"자주",Fuchsia:"자홍",Pink:"분홍",Rose:"장미","Primary color":"기본 색상",Layout:"레이아웃","Two-column":"두 열","Single-column":"한 열",Reviews:"리뷰",Extension:"확장 프로그램",Remote:"원격","Encrypted Key":"암호화된 키","Private Key":"개인 키","Welcome to Smesh":"Smesh에 오신 것을 환영합니다","Smesh is a client focused on browsing relays. Get started by exploring interesting relays or login to view your following feed.":"Smesh는 커뮤니티 구축과 주권적 사고방식을 가진 사람들의 협력을 돕는 데 중점을 둔 nostr 클라이언트입니다.","Explore Relays":"릴레이 탐색","Choose a feed":"피드 선택","and {{x}} others":"및 기타 {{x}}명",selfZapWarning:"Smesh은 자신에게 Zap을 보낼 때 발생하는 일에 대해 책임을 지지 않습니다. 본인의 책임 하에 진행하세요. 😉⚡","Emoji Pack":"이모지 팩","Emoji pack added":"이모지 팩이 추가되었습니다","Add emoji pack failed":"이모지 팩 추가 실패","Emoji pack removed":"이모지 팩이 제거되었습니다","Remove emoji pack failed":"이모지 팩 제거 실패",Added:"추가됨","Emoji Packs":"이모지 팩","My Packs":"내 팩","Adding...":"추가 중...","Removing...":"제거 중...",Reload:"다시 불러오기","Request to Join Relay":"릴레이 가입 요청","Leave Relay":"릴레이 떠나기",Leave:"나가기","Are you sure you want to leave this relay?":"이 릴레이를 떠나시겠습니까?","Join request sent successfully":"가입 요청을 성공적으로 보냈습니다","Failed to send join request":"가입 요청 전송 실패","Leave request sent successfully":"떠나기 요청을 성공적으로 보냈습니다","Failed to send leave request":"떠나기 요청 전송 실패","Enter an invite code if you have one. Otherwise, leave it blank to send a request.":"초대 코드가 있으면 입력하세요. 그렇지 않으면 비워두고 요청을 보내세요.","Invite Code (Optional)":"초대 코드 (선택 사항)","Enter invite code":"초대 코드 입력","Sending...":"전송 중...","Send Request":"요청 보내기","You can get an invite code from a relay member.":"릴레이 회원으로부터 초대 코드를 받을 수 있습니다.","Enter the invite code you received from a relay member.":"릴레이 회원으로부터 받은 초대 코드를 입력하세요.","Get Invite Code":"초대 코드 받기","Share this invite code with others to invite them to join this relay.":"이 초대 코드를 다른 사람과 공유하여 이 릴레이에 초대하세요.","Invite Code":"초대 코드",Copy:"복사","This invite code can be used by others to join the relay.":"이 초대 코드는 다른 사람이 릴레이에 가입하는 데 사용할 수 있습니다.","No invite code available from this relay.":"이 릴레이에서 사용 가능한 초대 코드가 없습니다.",Close:"닫기","Failed to get invite code from relay":"릴레이에서 초대 코드 가져오기 실패","Failed to get invite code":"초대 코드 가져오기 실패","Invite code copied to clipboard":"초대 코드가 클립보드에 복사되었습니다","Favicon URL":"파비콘 URL","Filter out onion relays":"어니언 릴레이 필터링","Click to load X post":"클릭하여 X 게시물 로드","View Nostr comments":"Nostr 댓글 보기","Search for notes":"노트 검색","Search for hashtag":"해시태그 검색","Go to note":"노트로 이동","Go to relay":"릴레이로 이동","View discussions about this":"이 콘텐츠에 대한 토론 보기","Open link":"링크 열기","View Nostr discussions":"Nostr 토론 보기","Optimal relays":"최적 릴레이","Successfully republish to optimal relays (your write relays and mentioned users' read relays)":"최적 릴레이(쓰기 릴레이 및 언급된 사용자의 읽기 릴레이)에 성공적으로 재게시되었습니다","Failed to republish to optimal relays: {{error}}":"최적 릴레이에 재게시 실패: {{error}}","External Content":"외부 콘텐츠",Highlight:"하이라이트","Optimal relays and {{count}} other relays":"최적 릴레이 및 기타 {{count}}개 릴레이","Likely spam account (Trust score: {{percentile}}%)":"스팸 계정 가능성 높음 (신뢰 점수: {{percentile}}%)","Suspicious account (Trust score: {{percentile}}%)":"의심스러운 계정 (신뢰 점수: {{percentile}}%)","n users":"{{count}}명의 사용자","View Details":"세부 정보 보기","Follow Pack Not Found":"팔로우 팩을 찾을 수 없음","Follow pack not found":"팔로우 팩을 찾을 수 없습니다",Users:"사용자",Feed:"피드","Follow Pack":"팔로우 팩","Load earlier":"이전 데이터 로드","Last 24 hours":"최근 24시간","Last {{count}} days":"최근 {{count}}일",notes:"노트","Quick reaction":"빠른 반응","If enabled, you can react with a single click. Click and hold for more options":"활성화하면 한 번의 클릭으로 반응할 수 있습니다. 더 많은 옵션을 보려면 길게 누르세요","Quick reaction emoji":"빠른 반응 이모지","Select emoji":"이모지 선택","NSFW content display":"NSFW content display","Hide completely":"Hide completely","Show but hide content":"Show but hide content","Show directly":"Show directly","Click to view":"Click to view","Special Follow":"특별 팔로우","Unfollow Special":"특별 팔로우 해제","Personal Feeds":"개인 피드","Relay Feeds":"릴레이 피드","Create Highlight":"하이라이트 만들기","Write your thoughts about this highlight...":"이 하이라이트에 대한 생각을 작성하세요...","Publish Highlight":"하이라이트 게시","Show replies":"답글 표시","Hide replies":"답글 숨기기","Welcome to Smesh!":"Smesh에 오신 것을 환영합니다!","Your feed is empty because you are not following anyone yet. Start by exploring interesting content and following users you like!":"아직 아무도 팔로우하지 않아서 피드가 비어 있습니다. 흥미로운 콘텐츠를 탐색하고 마음에 드는 사용자를 팔로우해보세요!","Search Users":"사용자 검색","Create New Account":"새 계정 만들기",Important:"중요","Generate Your Account":"계정 생성","Your private key IS your account. Keep it safe!":"개인 키가 바로 당신의 계정입니다. 안전하게 보관하세요!","In Nostr, your private key IS your account. If you lose your private key, you lose your account forever.":"Nostr에서는 개인 키가 바로 당신의 계정입니다. 개인 키를 잃으면 계정을 영구적으로 잃게 됩니다.","Your Private Key":"개인 키","Generate new key":"새 키 생성","Download Backup File":"백업 파일 다운로드","Copied to Clipboard":"클립보드에 복사됨","Copy to Clipboard":"클립보드에 복사","I already saved my private key securely.":"이미 개인 키를 안전하게 저장했습니다.","Almost Done!":"거의 완료되었습니다!","Set a password to encrypt your key, or skip to finish":"키를 암호화할 비밀번호를 설정하거나 건너뛰어 완료하세요","Password Protection (Optional)":"비밀번호 보호 (선택사항)","Setting a password encrypts your private key in this browser. You can skip this step, but we recommend setting one for added security.":"비밀번호를 설정하면 이 브라우저에서 개인 키가 암호화됩니다. 이 단계를 건너뛸 수 있지만 보안 강화를 위해 설정하는 것을 권장합니다.","Password (Optional)":"비밀번호 (선택사항)","Enter password or leave empty to skip":"비밀번호를 입력하거나 비워두어 건너뛰세요","Confirm Password":"비밀번호 확인","Re-enter password":"비밀번호 재입력","Passwords do not match":"비밀번호가 일치하지 않습니다","Finish Signup":"가입 완료","Create Your Nostr Account":"Nostr 계정 만들기","Generate your unique private key. This is your digital identity.":"고유한 개인 키를 생성합니다. 이것이 당신의 디지털 신원입니다.","Critical: Save Your Private Key":"중요: 개인 키를 저장하세요","Your private key IS your account. There is no password recovery. If you lose it, you lose your account forever. Please save it in a secure location.":"개인 키가 곧 계정 그 자체입니다. 비밀번호 복구 기능이 없습니다. 분실하면 계정을 영구적으로 잃게 됩니다. 안전한 곳에 저장하세요.","I have safely backed up my private key":"개인 키를 안전하게 백업했습니다","Secure Your Account":"계정 보호하기","Add an extra layer of protection with a password":"비밀번호로 추가 보호 계층 추가","Password Protection (Recommended)":"비밀번호 보호 (권장)","Add a password to encrypt your private key in this browser. This is optional but strongly recommended for better security.":"이 브라우저에서 개인 키를 암호화할 비밀번호를 추가합니다. 선택사항이지만 더 나은 보안을 위해 강력히 권장합니다.","Create a password (or skip)":"비밀번호 생성(또는 건너뛰기)","Enter your password again":"비밀번호를 다시 입력하세요","Complete Signup":"가입 완료",Recommended:"추천"}},Kbe={translation:{"Welcome! 🥳":"Witamy! 🥳",About:"O Nas","New Note":"Nowa Publikacja",Post:"Publikuj",Home:"Strona Główna","Relay settings":"Ustawienia transmiterów",Settings:"Ustawienia",SidebarRelays:"Transmitery",Refresh:"Odśwież",Profile:"Twój Profil",Logout:"Wyloguj",Following:"Obserwowani",followings:"niżej wymienionych",reposted:"Udostępnił","just now":"teraz","minute ago_one":"{{count}} minutę temu","minute ago_other":"{{count}} minut temu","n m":"{{n}}m","hour ago_one":"{{count}} godzinę temu","hour ago_other":"{{count}} godzin temu","n h":"{{n}}h","day ago_one":"{{count}} dzień temu","day ago_other":"{{count}} dni temu","n d":"{{n}}d",date:"{{timestamp, date}}",Follow:"Obserwuj",Unfollow:"Porzuć","Follow failed":"Obserwacja nieudana","Unfollow failed":"Porzucenie obserwacji nieudane","show new notes":"Pokaż nowe wpisy","loading...":"ładowanie...","Loading...":"Ładowanie...","no more notes":"Koniec wpisów","reply to":"Odpowiedź na",reply:"odpowiedz",Reply:"Skomentuj","load more older replies":"Pobierz więcej starszych odpowiedzi","Write something...":"Napisz coś...",Cancel:"Anuluj",Mentions:"Wzmianki","Failed to post":"Nie udało się opublikować","Post successful":"Twój wpis został wysłany.","Your post has been published":"Publikowani są jedynie użytkownicy z białej listy",Repost:"Udostępnij",Quote:"Zacytuj","Copy event ID":"Skopiuj ID wydarzenia","Copy user ID":"Skopiuj ID użytkownika","View raw event":"Pokaż szczegóły wpisu",Like:"Polub","switch to light theme":"Przełącz na jasny motyw","switch to dark theme":"Przełącz na ciemny motyw ","switch to system theme":"Przełącz na motyw systemu (automatyczny)",Note:"Cały wpis",note:"note","username's following":"{{username}} obserwuje:","username's used relays":"{{username}} użył transmiterów","username's muted":"Zablokowani przez {{username}} ",Login:"Logowanie","Follows you":"Obserwujący","Relay Settings":"Ustawienia transmiterów","Relay set name":"Wpisz nazwę grupy","Add a new relay set":"Utwórz grupę transmiterów",Add:"Dodaj","n relays":"{{n}} szt.",Rename:"Zmień nazwę","Copy share link":"Kopiuj link",Delete:"Usuń","Relay already exists":"Transmiter już istnieje","invalid relay URL":"Nieprawidłowy URL transmitera","Add a new relay":"Dodaj nowy transmiter",back:"z powrotem","Lost in the void":"Zagubiony w przestrzeni","Carry me home":"Na stronę główną","no replies":"Brak komentarzy","Reply to":"Odpowiedz do",Search:"Wyszukaj","The relays you are connected to do not support search":"Podłączone transmitery nie obsługują wyszukiwania","Show more...":"Więcej...","All users":"Wszyscy użytkownicy","Display replies":"Wyświetl komentarze",Notes:"Wpisy",Replies:"Komentarze",Notifications:"Powiadomienia","no more notifications":"Koniec powiadomień","Using private key login is insecure. It is recommended to use a browser extension for login, such as alby, nostr-keyx or nos2x. If you must use a private key, please set a password for encryption at minimum.":"Logowanie za pomocą prywatnego klucza jest niebezpieczne. Zaleca się korzystanie z rozszerzenia przeglądarki, takiego jak alby, nostr-keyx lub nos2x. Jeśli musisz użyć prywatnego klucza, ustaw co najmniej hasło do szyfrowania.","Login with Browser Extension":"Logowanie z rozszerzeniem przeglądarki","Login with Bunker":"Logowanie z bunkrem","Login with Private Key":"Logowanie z prywatnym kluczem (nsec)","reload notes":"Odśwież","Logged in Accounts":"Zalogowane konta","Add an Account":"Dodaj Konto","More options":"Więcej opcji","Add client tag":"Dodaj tag klienta","Show others this was sent via Smesh":"Pokaż innym, że zostało to wysłane przez Smesh","Are you sure you want to logout?":"Czy na pewno chcesz się wylogować?","relay sets":"Zestawy transmiterów",edit:"edytuj",Languages:"Języki",Theme:"Wygląd",System:"Domyślny",Light:"Jasny",Dark:"Ciemny",Temporary:"Tymczasowe","Choose a relay set":"Wybierz zestaw transmiterów","Switch account":"Zmień konto",Pictures:"Zdjęcia","Picture note":"Wpis Graficzny","A special note for picture-first clients like Olas":"Publikacja ze zdjęciami i opisem dla klientów takich jak Olas","Picture note requires images":"Wpis graficzny wymaga obrazów",Relays:"Transmitery",Image:"grafika","R & W":"O & Z",Read:"Odczyt",Write:"Zapis","Pull relay sets":"Pobierz zestaw transmiterów","Select the relay sets you want to pull":"Wybierz zestaw transmiterów do pobrania","No relay sets found":"Nie znaleziono zestawu transmiterów","Pull n relay sets":"Pobierz {{n}} zestawów transmiterów",Pull:"Pobierz","Select all":"Wszystkie","Relay Sets":"Grupy transmiterów","Read & Write Relays":"Transmitery zapisu i odczytu","read relays description":"Transmitery odczytu służą do wyszukiwania zdarzeń dotyczących użytkownika. Inni użytkownicy będą publikować wpisy, które chcą, abyś zobaczył, w transmiterach odczytu.","write relays description":"Transmitery zapisu służą do publikowania wydarzeń. Inni użytkownicy będą wyszukiwać zdarzenia z transmiterów zapisu.","read & write relays notice":"Liczba serwerów odczytu i zapisu powinna wynosić od 2 do 4.","Don't have an account yet?":"Nie masz jeszcze konta?","or simply generate a private key":"lub wygeneruj klucz prywatny nowego konta","This is a private key. Do not share it with anyone. Keep it safe and secure. You will not be able to recover it if you lose it.":"Jest to klucz prywatny. Nie należy go nikomu udostępniać. Przechowuj go w bezpiecznym miejscu. W przypadku jego utraty nie będzie można go odzyskać.",Edit:"Edytuj",Save:"Zapisz","Display Name":"Twoja nazwa użytkownika",Bio:"O mnie","Nostr Address (NIP-05)":"Adres Nostr (NIP-05)","Invalid NIP-05 address":"Nieprawidłowy adres NIP-05","Copy private key":"Kopiuj klucz prywatny","Enter the password to decrypt your ncryptsec":"Wprowadź hasło, aby odszyfrować ncryptsec",Back:"Wróć","optional: encrypt nsec":"opcjonalnie: encrypt nsec",password:"hasło","Sign up":"Zarejestruj się","Save to":"Zapisz do","Enter a name for the new relay set":"Wpisz nazwę nowegej grupy transmiterów","Save to a new relay set":"Zapisz do nowego zestawu transmiterów",Mute:"Zablokuj",Muted:"Zablokowani",Unmute:"Przywróć","Unmute user":"Przywróć użytkownika ","Append n relays":"Dodaj {{n}} transmiterów",Append:"Dodaj","Select relays to append":"Wybierz transmitery do dodania","calculating...":"obliczanie...","Calculate optimal read relays":"Obliczanie optymalnego odczytu transmiterów","Login to set":"Zaloguj się","Please login to view following feed":"Zaloguj się, aby wyświetlić poniższy wpis","Send only to r":"Wyślij tylko do {{r}}","Send only to these relays":"Wyślij tylko do tych transmiterów",Explore:"Transmitery","Search relays":"Wyszukaj transmiter",relayInfoBadgeAuth:"✔️",relayInfoBadgeSearch:"Wyszukiwarka",relayInfoBadgePayment:"Płatności",Operator:"Operator",Contact:"Kontakt",Software:"Software",Version:"Wersja","Random Relays":"Losowo wybrane",randomRelaysRefresh:"Odśwież","Explore more":"Zobacz więcej","Payment page":"Strona płatności","Supported NIPs":"Obsługiwane NIP-y","Open in a":"Otwórz w {{a}}","Cannot handle event of kind k":"Nie można obsłużyć zdarzenia typu {{k}}","Sorry! The note cannot be found 😔 ":"Przepraszam! Nie można znaleźć wpisu 😔","This user has been muted":"Ten użytkownik został przyblokowany",Wallet:"Portfel",Sats:"Satoszy",sats:"satoszy","Zap to":"Zap dla użytkownika ","Zap n sats":"Zap {{n}} satoszów",zapComment:"Komentarz do zapa","Default zap amount":"Standardowa kwota zapa","Default zap comment":"Standardowy komentarz do zapa","Lightning Address (or LNURL)":"Lightning Adres (lub LNURL)","Quick zap":"Szybki zap","If enabled, you can zap with a single click. Click and hold for custom amounts":"Jeśli włączysz tę opcję, będzie można wysyłać zapa jednym kliknięciem. Naciśnij i przytrzymaj, aby wprowadzić inną kwotę",All:"Wszystkie",Reactions:"Odzewy",Zaps:"Zapy","Earlier notifications":"Wcześniejsze powiadomienia","Temporarily display this note":"Tymczas wyświetl ten wpis",buttonFollowing:"Obserwujesz","Are you sure you want to unfollow this user?":"Czy na pewno chcesz przestać obserwować tego użytkownika?","Recent Supporters":"Ostatni wspierający","Seen on":"Widziany na","Temporarily display this reply":"Tymczasowo wyświetl tę odpowiedź","Note not found":"Nie znaleziono wpisu","no more replies":"brak kolejnych odpowiedzi","Relay sets":"Zestawy transmiterów","Favorite Relays":"Ulubione transmitery","Following's Favorites":"Ulubione transmitery obserwowanych","no more relays":"brak kolejnych transmiterów","Favorited by":"Ulubione od","Post settings":"Ustawienia publikacji","Media upload service":"Usługa przesyłania mediów","Choose a relay":"Wybierz transmiter","no relays found":"Nie znaleziono transmiterów",video:"wideo","Show n new notes":"Nowych wpisów: {{n}} ",YouTabName:"Twoje",Bookmark:"Zakładka","Remove bookmark":"Usuń zakładkę","no bookmarks found":"Nie znaleziono zakładek","no more bookmarks":"Koniec zakładek",Bookmarks:"Zakładki","Show more":"Pokaż więcej",General:"Ogólne",Autoplay:"Autoodtwarzanie","Enable video autoplay on this device":"Włącz automatyczne odtwarzanie wideo na tym urządzeniu","Paste or drop media files to upload":"Wklej lub upuść pliki multimedialne, aby przesłać",Preview:"Podgląd","You are about to publish an event signed by [{{eventAuthorName}}]. You are currently logged in as [{{currentUsername}}]. Are you sure?":"Zaraz opublikujesz zdarzenie podpisane przez [{{eventAuthorName}}]. Obecnie jesteś zalogowany jako [{{currentUsername}}]. Czy jesteś pewien?","Platinum Sponsors":"Sponsorzy Platynowi",From:"Od","Comment on":"Komentarz do","View on njump.me":"Zobacz na njump.me","Hide content from untrusted users":"Ukryj treści od nieznanych użytkowników","Only show content from your followed users and the users they follow":"Pokaż tylko treści od użytkowników, których obserwujesz i ich obserwowanych","Followed by":"Obserwujący","Mute user privately":"Zablokuj użytkownika prywatnie","Mute user publicly":"Zablokuj użytkownika publicznie",Quotes:"Cytaty","Lightning Invoice":"Faktura Lightning","Bookmark failed":"Nie udało się dodać zakładki","Remove bookmark failed":"Nie udało się usunąć zakładki",Translation:"Tłumaczenie",Balance:"Saldo",characters:"znaków",smeshTranslateApiKeyDescription:"Ten klucz API możesz używać wszędzie tam, gdzie obsługiwane jest LibreTranslate. Adres usługi to {{serviceUrl}}","Top up":"Doładuj","Will receive: {n} characters":"Otrzymasz: {{n}} znaków","Top up {n} sats":"Doładuj {{n}} satoszów","Minimum top up is {n} sats":"Minimalne doładowanie to {{n}} satoszów",Service:"Usługa","Reset API key":"Zresetuj klucz API","Are you sure you want to reset your API key? This action cannot be undone.":"Czy na pewno chcesz zresetować swój klucz API? Ta akcja jest nieodwracalna.",Warning:"Ostrzeżenie","Your current API key will become invalid immediately, and any applications using it will stop working until you update them with the new key.":"Twój obecny klucz API stanie się nieaktywny natychmiast, a wszystkie aplikacje korzystające z niego przestaną działać, dopóki nie zaktualizujesz ich nowym kluczem.","Service address":"Adres usługi",Pay:"Zapłać",interactions:"Interakcje",notifications:"Powiadomienia","Show untrusted {type}":"Pokaż nieznane {{type}}","Hide untrusted {type}":"Ukryj nieznane {{type}}","Currently hiding {type} from untrusted users.":"Obecnie ukrywasz {{type}} od nieznanych użytkowników.","Currently showing all {type}.":"Obecnie wyświetlasz wszystkie {{type}}.","Click continue to show all {type}.":"Kliknij kontynuuj, aby wyświetlić wszystkie {{type}}.","Click continue to hide {type} from untrusted users.":"Kliknij kontynuuj, aby ukryć {{type}} od nieznanych użytkowników.","Trusted users include people you follow and people they follow.":"Zaufani użytkownicy to osoby, które obserwujesz i osoby, które oni obserwują.",Continue:"Kontynuuj","Successfully updated mute list":"Sukces aktualizacji listy zablokowanych użytkowników","No pubkeys found from {url}":"Nie znaleziono kluczy publicznych z {{url}}","Translating...":"Tłumaczenie...",Translate:"Przetłumacz","Show original":"Pokaż oryginał",Website:"Strona internetowa","Hide untrusted notes":"Ukryj wpisy od nieznanych użytkowników","Open in another client":"Otwórz w innym kliencie",Community:"Społeczność",Group:"Grupa","Live event":"Wydarzenie na żywo",Article:"Artykuł",Unfavorite:"Usuń z ulubionych","Recommended relays":"Rekomendowane transmitery","Blossom server URLs":"Adresy serwerów Blossom","You need to add at least one blossom server in order to upload media files.":"Musisz dodać przynajmniej jeden serwer Blossom, aby móc przesyłać pliki multimedialne.","Recommended blossom servers":"Zalecane serwery Blossom","Enter Blossom server URL":"Wprowadź adres URL serwera Blossom",Preferred:"Preferowany","Multiple choice (select one or more)":"Wielokrotny wybór (wybierz jeden lub więcej)",Vote:"Głosuj","{{number}} votes":"{{number}} głosów","Total votes":"Łączna liczba głosów","Poll has ended":"Ankieta zakończona","Poll ends at {{time}}":"Ankieta kończy się o {{time}}","Load results":"Załaduj wyniki","This is a poll note.":"To jest wpis ankiety.","Unlike regular notes, polls are not widely supported and may not display on other clients.":"W przeciwieństwie do zwykłych wpisów, ankiety nie są szeroko obsługiwane i mogą nie wyświetlać się w innych klientach.","Option {{number}}":"Opcja {{number}}","Add Option":"Dodaj opcję","Allow multiple choices":"Zezwól na wielokrotny wybór","End Date (optional)":"Data zakończenia (opcjonalna)","Clear end date":"Wyczyść datę zakończenia","Relay URLs (optional, comma-separated)":"Adresy URL transmiterów (opcjonalne, oddzielone przecinkami)","Remove poll":"Usuń ankietę","Refresh results":"Odśwież wyniki",Poll:"Ankieta",Media:"media","Republish to ...":"Przekaż ponownie do ...","Successfully republish to your write relays":"Pomyślnie ponownie opublikowano na twoich transmiterach zapisu","Failed to republish to your write relays: {{error}}":"Nie udało się ponownie opublikować na twoich transmiterach zapisu: {{error}}","Successfully republish to relay set: {{name}}":"Pomyślnie ponownie opublikowano do zestawu transmiterów: {{name}}","Failed to republish to relay set: {{name}}. Error: {{error}}":"Nie udało się ponownie opublikować do zestawu transmiterów: {{name}}. Błąd: {{error}}","Successfully republish to relay: {{url}}":"Pomyślnie ponownie opublikowano do transmitera: {{url}}","Failed to republish to relay: {{url}}. Error: {{error}}":"Nie udało się ponownie opublikować do transmitera: {{url}}. Błąd: {{error}}","Write relays":"Transmitery zapisu","No more reactions":"Brak kolejnych reakcji","No reactions yet":"Brak reakcji","No more zaps":"Brak kolejnych zapów","No zaps yet":"Brak zapów","No more reposts":"Brak kolejnych repostów","No reposts yet":"Brak repostów",Reposts:"Reposty",FollowListNotFoundConfirmation:"Lista obserwowanych nie została znaleziona. Czy chcesz utworzyć nową? Jeśli wcześniej obserwowałeś użytkowników, proszę NIE potwierdzaj, ponieważ ta operacja spowoduje utratę poprzedniej listy obserwowanych.",MuteListNotFoundConfirmation:"Lista przyblokowanych nie została znaleziona. Czy chcesz utworzyć nową? Jeśli wcześniej blokowałeś użytkowników, proszę NIE potwierdzaj, ponieważ ta operacja spowoduje utratę poprzedniej listy przyblokowanych.","Show NSFW content by default":"Domyślnie pokazuj treści NSFW","Custom emoji management":"Zarządzanie niestandardowymi emoji","After changing emojis, you may need to refresh the page":"Po zmianie emoji może być konieczne odświeżenie strony","Too many read relays":"Za dużo transmiterów odczytu","Too many write relays":"Za dużo transmiterów zapisu","You have {{count}} read relays. Most clients only use 2-4 relays, setting more is unnecessary.":"Masz {{count}} transmiterów odczytu. Większość klientów używa tylko 2-4 transmiterów, ustawianie większej liczby jest zbędne.","You have {{count}} write relays. Most clients only use 2-4 relays, setting more is unnecessary.":"Masz {{count}} transmiterów zapisu. Większość klientów używa tylko 2-4 transmiterów, ustawianie większej liczby jest zbędne.","Optimize Relay Settings":"Optymalizuj ustawienia transmiterów","Your current relay configuration may not be optimal. This could make it difficult for others to find your posts and may result in incomplete notifications.":"Twoja obecna konfiguracja transmiterów może nie być optymalna. To może utrudnić innym znalezienie Twoich postów i może skutkować niekompletnymi powiadomieniami.","Optimize Now":"Optymalizuj teraz","Maybe Later":"Może później","Don't remind me again":"Nie przypominaj mi więcej",Posts:"Posty",Articles:"Artykuły",Highlights:"Wyróżnienia",Polls:"Ankiety","Voice Posts":"Posty głosowe","Photo Posts":"Posty ze zdjęciami","Video Posts":"Posty wideo","Select All":"Zaznacz wszystko","Clear All":"Wyczyść wszystko","Set as default filter":"Ustaw jako domyślny filtr",Apply:"Zastosuj",Reset:"Resetuj","Share something on this Relay":"Udostępnij coś na tym transmiterze","Try deleting this note":"Spróbuj usunąć ten wpis","Deletion request sent to {{count}} relays":"Żądanie usunięcia wysłano do {{count}} transmiterów","Suitable Relays":"Odpowiednie transmitery","People, keywords, or relays":"Osoby, słowa kluczowe lub transmitery","Hide content mentioning muted users":"Ukryj treści wspominające wyciszonych użytkowników","This note mentions a user you muted":"Ten wpis wspomina użytkownika, którego wyciszyłeś",Filter:"Filtr","mentioned you in a note":"wspomniał o tobie we wpisie","quoted your note":"zacytował twój wpis","voted in your poll":"zagłosował w twojej ankiecie","reacted to your note":"zareagował na twój wpis","reposted your note":"repostował twój wpis","zapped your note":"zappował twój wpis","highlighted your note":"wyróżnił twój wpis","zapped you":"zappował cię","Mark as read":"Oznacz jako przeczytane",Report:"Zgłoś","Successfully report":"Pomyślnie zgłoszono","Failed to report":"Nie udało się zgłosić",nudity:"Nagość",malware:"Złośliwe oprogramowanie",profanity:"Wulgaryzmy",illegal:"Nielegalna treść",spam:"Spam",other:"Inne","Notification list style":"Styl listy powiadomień","See extra info for each notification":"Zobacz dodatkowe informacje dla każdego powiadomienia","See more notifications at a glance":"Zobacz więcej powiadomień na pierwszy rzut oka",Detailed:"Szczegółowy",Compact:"Zwięzły","Submit Relay":"Prześlij transmiter",Homepage:"Strona główna","Proof of Work (difficulty {{minPow}})":"Dowód pracy (trudność {{minPow}})","via {{client}}":"przez {{client}}","Auto-load media":"Automatyczne ładowanie mediów",Always:"Zawsze","Wi-Fi only":"Tylko Wi-Fi",Never:"Nigdy","Click to load image":"Kliknij, aby załadować obraz","Click to load media":"Kliknij, aby załadować media","Click to load YouTube video":"Kliknij, aby załadować wideo z YouTube","{{count}} reviews":"{{count}} opinii","Write a review":"Napisz opinię","No reviews yet. Be the first to write one!":"Jeszcze brak opinii. Bądź pierwszym, który napisze!","View more reviews":"Zobacz więcej opinii","Failed to review":"Błąd opinii","Write a review and pick a star rating":"Napisz opinię i wybierz ocenę gwiazdkową",Submit:"Prześlij","Reviews for {{relay}}":"Opinie o {{relay}}","No relays selected":"Nie wybrano transmiterów","Post to":"Opublikuj na","Write relays and {{count}} other relays":"Transmitery zapisu i {{count}} innych transmitrów","{{count}} relays":"{{count}} transmiterów","Republishing...":"Ponowne publikowanie...","Connected to":"Połączono z","Disconnect Wallet":"Odłącz portfel","Are you absolutely sure?":"Czy jesteś całkowicie pewien?","You will not be able to send zaps to others.":"Nie będziesz mógł wysyłać zapów innym.",Disconnect:"Odłącz","Start with a Rizful Vault":"Zacznij od Rizful Vault","or other wallets":"Lub inne portfele","Rizful Vault":"Rizful Vault","Rizful Vault connected!":"Rizful Vault połączony!","You can now use your Rizful Vault to zap your favorite notes and creators.":"Możesz teraz używać swojego Rizful Vault, aby zapować swoje ulubione wpisy i twórców.","Your Lightning Address":"Twój Lightning Adres","New to Rizful?":"Nowy w Rizful?","Sign up for Rizful":"Zarejestruj się w Rizful","If you already have a Rizful account, you can skip this step.":"Jeśli masz już konto Rizful, możesz pominąć ten krok.","Get your one-time code":"Uzyskaj swój jednorazowy kod","Get code":"Uzyskaj kod","Connect to your Rizful Vault":"Połącz się ze swoim Rizful Vault","Paste your one-time code here":"Wklej tutaj swój jednorazowy kod",Connect:"Połącz","Set up your wallet to send and receive sats!":"Skonfiguruj swój portfel, aby wysyłać i odbierać satosze!","Set up":"Skonfiguruj",Pinned:"Przypięte",Unpin:"Odepnij",Unpinning:"Odpinanie","Pinning...":"Przypinanie...","Pinned!":"Przypięte!","Failed to pin: {{error}}":"Nie udało się przypiąć: {{error}}","Unpinning...":"Odpinanie...","Unpinned!":"Odpięte!","Failed to unpin: {{error}}":"Nie udało się przypiąć: {{error}}","Unpin from profile":"Odepnij z profilu","Pin to profile":"Przypnij do profilu",Appearance:"Wygląd","Pure Black":"Czysta Czerń",Default:"Domyślny",Red:"Czerwony",Orange:"Pomarańczowy",Amber:"Bursztynowy",Yellow:"Żółty",Lime:"Limonkowy",Green:"Zielony",Emerald:"Szmaragdowy",Teal:"Morski",Cyan:"Cyjan",Sky:"Niebieski",Blue:"Niebieski",Indigo:"Indygo",Violet:"Fioletowy",Purple:"Purpurowy",Fuchsia:"Fuksja",Pink:"Różowy",Rose:"Różany","Primary color":"Kolor podstawowy",Layout:"Układ","Two-column":"Dwie kolumny","Single-column":"Jedna kolumna",Reviews:"Opinie",Extension:"Rozszerzenie",Remote:"Zdalne","Encrypted Key":"Zaszyfrowany Klucz","Private Key":"Zaszyfrowany Klucz","Welcome to Smesh":"Witamy w Smesh","Smesh is a client focused on browsing relays. Get started by exploring interesting relays or login to view your following feed.":"Smesh to klient nostr skupiający się na budowaniu społeczności i wspieraniu koordynacji ludzi o suwerennym sposobie myślenia.","Explore Relays":"Przeglądaj transmitery","Choose a feed":"Wybierz transmitery","and {{x}} others":"i {{x}} innych",selfZapWarning:"Smesh nie ponosi odpowiedzialności za to, co się stanie, jeśli zappujesz samego siebie. Kontynuuj na własne ryzyko. 😉⚡","Emoji Pack":"Pakiet Emoji","Emoji pack added":"Pakiet emoji dodany","Add emoji pack failed":"Dodawanie pakietu emoji nie powiodło się","Emoji pack removed":"Pakiet emoji usunięty","Remove emoji pack failed":"Usuwanie pakietu emoji nie powiodło się",Added:"Dodano","Emoji Packs":"Pakiety Emoji","My Packs":"Moje Pakiety","Adding...":"Dodawanie...","Removing...":"Usuwanie...",Reload:"Przeładuj","Request to Join Relay":"Poproś o dołączenie do transmitera","Leave Relay":"Opuść transmiter",Leave:"Opuść","Are you sure you want to leave this relay?":"Czy na pewno chcesz opuścić ten transmiter?","Join request sent successfully":"Prośba o dołączenie wysłana pomyślnie","Failed to send join request":"Nie udało się wysłać prośby o dołączenie","Leave request sent successfully":"Prośba o opuszczenie wysłana pomyślnie","Failed to send leave request":"Nie udało się wysłać prośby o opuszczenie","Enter an invite code if you have one. Otherwise, leave it blank to send a request.":"Wprowadź kod zaproszenia, jeśli go masz, lub pozostaw puste, aby wysłać prośbę.","Invite Code (Optional)":"Kod zaproszenia (opcjonalnie)","Enter invite code":"Wprowadź kod zaproszenia","Sending...":"Wysyłanie...","Send Request":"Wyślij prośbę","You can get an invite code from a relay member.":"Możesz uzyskać kod zaproszenia od obecnego użytkownika transmitera.","Enter the invite code you received from a relay member.":"Wprowadź kod zaproszenia otrzymany od obecnego użytkownika transmitera.","Get Invite Code":"Uzyskaj Kod Zaproszenia","Share this invite code with others to invite them to join this relay.":"Udostępnij ten kod zaproszenia innym, aby zaprosić ich do dołączenia do tego transmitera.","Invite Code":"Kod Zaproszenia",Copy:"Kopiuj","This invite code can be used by others to join the relay.":"Ten kod zaproszenia może być używany przez innych do dołączenia do transmitera.","No invite code available from this relay.":"Brak dostępnego kodu zaproszenia z tego transmitera.",Close:"Zamknij","Failed to get invite code from relay":"Nie udało się uzyskać kodu zaproszenia z transmitera","Failed to get invite code":"Nie udało się uzyskać kodu zaproszenia","Invite code copied to clipboard":"Kod zaproszenia skopiowany do schowka","Favicon URL":"URL Favicon","Filter out onion relays":"Filtruj transmitery onion","Click to load X post":"Kliknij, aby załadować post X","View Nostr comments":"Wyświetl komentarze Nostr","Search for notes":"Szukaj wpisów","Search for hashtag":"Szukaj hashtaga","Go to note":"Przejdź do wpisu","Go to relay":"Przejdź do transmitera","View discussions about this":"Zobacz dyskusje o tej treści","Open link":"Otwórz link","View Nostr discussions":"Zobacz dyskusje Nostr","Optimal relays":"Optymalne transmitery","Successfully republish to optimal relays (your write relays and mentioned users' read relays)":"Pomyślnie opublikowano ponownie na optymalnych transmiterach (Twoje transmitery zapisu i transmitery odczytu wspomnianych użytkowników)","Failed to republish to optimal relays: {{error}}":"Nie udało się opublikować ponownie na optymalnych transmiterach: {{error}}","External Content":"Treść zewnętrzna",Highlight:"Podświetl","Optimal relays and {{count}} other relays":"Optymalne transmitery i {{count}} innych transmiterów","Likely spam account (Trust score: {{percentile}}%)":"Prawdopodobnie konto spamowe (Wynik zaufania: {{percentile}}%)","Suspicious account (Trust score: {{percentile}}%)":"Podejrzane konto (Wynik zaufania: {{percentile}}%)","n users":"{{count}} użytkowników","View Details":"Zobacz szczegóły","Follow Pack Not Found":"Nie znaleziono pakietu obserwowanych","Follow pack not found":"Nie znaleziono pakietu obserwowanych",Users:"Użytkownicy",Feed:"Kanał","Follow Pack":"Pakiet Obserwowanych","Load earlier":"Załaduj poprzednie","Last 24 hours":"Ostatnia doba","Last {{count}} days":"Ostatnie {{count}} dni",notes:"wpisy","Quick reaction":"Szybka reakcja","If enabled, you can react with a single click. Click and hold for more options":"Jeśli włączone, możesz zareagować jednym kliknięciem. Kliknij i przytrzymaj, aby uzyskać więcej opcji","Quick reaction emoji":"Emoji szybkiej reakcji","Select emoji":"Wybierz emoji","NSFW content display":"Wyświetlanie treści NSFW","Hide completely":"Ukryj całkowicie","Show but hide content":"Pokaż, ale ukryj treść","Show directly":"Pokaż bezpośrednio","Click to view":"Wyświetl","Special Follow":"Specjalna obserwacja","Unfollow Special":"Cofnij obserwację specjalną","Personal Feeds":"Kanały osobiste","Relay Feeds":"Kanały Transmiterów","Create Highlight":"Utwórz wyróżnienie","Write your thoughts about this highlight...":"Napisz swoje przemyślenia na temat tego wyróżnienienia...","Publish Highlight":"Opublikuj wyróżnienie","Show replies":"Pokaż odpowiedzi","Hide replies":"Ukryj odpowiedzi","Welcome to Smesh!":"Witamy w Smesh!","Your feed is empty because you are not following anyone yet. Start by exploring interesting content and following users you like!":"Twój kanał jest pusty, ponieważ jeszcze nikogo nie obserwujesz. Zacznij od odkrywania ciekawych treści i obserwowania użytkowników, którzy Ci się podobają!","Search Users":"Szukaj użytkowników","Create New Account":"Utwórz nowe konto",Important:"Ważne","Generate Your Account":"Wygeneruj swoje konto","Your private key IS your account. Keep it safe!":"Twój klucz prywatny TO twoje konto. Przechowuj go bezpiecznie!","In Nostr, your private key IS your account. If you lose your private key, you lose your account forever.":"W Nostr twój klucz prywatny TO twoje konto. Jeśli stracisz swój klucz prywatny, stracisz swoje konto na zawsze.","Your Private Key":"Twój klucz prywatny","Generate new key":"Wygeneruj nowy klucz","Download Backup File":"Pobierz plik kopii zapasowej","Copied to Clipboard":"Skopiowano do schowka","Copy to Clipboard":"Kopiuj do schowka","I already saved my private key securely.":"Już bezpiecznie zapisałem mój klucz prywatny.","Almost Done!":"Prawie gotowe!","Set a password to encrypt your key, or skip to finish":"Ustaw hasło, aby zaszyfrować swój klucz, lub pomiń, aby zakończyć","Password Protection (Optional)":"Ochrona hasłem (opcjonalnie)","Setting a password encrypts your private key in this browser. You can skip this step, but we recommend setting one for added security.":"Ustawienie hasła szyfruje twój klucz prywatny w tej przeglądarce. Możesz pominąć ten krok, ale zalecamy ustawienie hasła dla dodatkowego bezpieczeństwa.","Password (Optional)":"Hasło (opcjonalnie)","Enter password or leave empty to skip":"Wprowadź hasło lub pozostaw puste, aby pominąć","Confirm Password":"Potwierdź hasło","Re-enter password":"Wprowadź hasło ponownie","Passwords do not match":"Hasła nie pasują do siebie","Finish Signup":"Zakończ rejestrację","Create Your Nostr Account":"Utwórz swoje konto Nostr","Generate your unique private key. This is your digital identity.":"Wygeneruj swój unikalny klucz prywatny. To jest twoja cyfrowa tożsamość.","Critical: Save Your Private Key":"Krytyczne: Zapisz swój klucz prywatny","Your private key IS your account. There is no password recovery. If you lose it, you lose your account forever. Please save it in a secure location.":"Twój klucz prywatny TO JEST twoje konto. Nie ma odzyskiwania hasła. Jeśli go stracisz, na zawsze stracisz swoje konto. Proszę zapisać go w bezpiecznym miejscu.","I have safely backed up my private key":"Bezpiecznie wykonałem kopię zapasową mojego klucza prywatnego","Secure Your Account":"Zabezpiecz swoje konto","Add an extra layer of protection with a password":"Dodaj dodatkową warstwę ochrony za pomocą hasła","Password Protection (Recommended)":"Ochrona hasłem (zalecane)","Add a password to encrypt your private key in this browser. This is optional but strongly recommended for better security.":"Dodaj hasło, aby zaszyfrować swój klucz prywatny w tej przeglądarce. Jest to opcjonalne, ale zdecydowanie zalecane dla lepszego bezpieczeństwa.","Create a password (or skip)":"Utwórz hasło (lub pomiń)","Enter your password again":"Wprowadź hasło ponownie","Complete Signup":"Zakończ rejestrację",Recommended:"Polecane"}},Zbe={translation:{"Welcome! 🥳":"Bem-vindo! 🥳",About:"Sobre","New Note":"Nova nota",Post:"Postar",Home:"Início","Relay settings":"Configurações de relay",Settings:"Configurações",SidebarRelays:"Relays",Refresh:"Atualizar",Profile:"Perfil",Logout:"Sair",Following:"Seguindo",followings:"Seguidos",reposted:"Repostado","just now":"agora mesmo","minute ago_one":"{{count}} minuto atrás","minute ago_other":"{{count}} minutos atrás","n m":"{{n}}m","hour ago_one":"{{count}} hora atrás","hour ago_other":"{{count}} horas atrás","n h":"{{n}}h","day ago_one":"{{count}} dia atrás","day ago_other":"{{count}} dias atrás","n d":"{{n}}d",date:"{{timestamp, date}}",Follow:"Seguir",Unfollow:"Deixar de seguir","Follow failed":"Falha ao seguir","Unfollow failed":"Falha ao deixar de seguir","show new notes":"Ver novas notas","loading...":"Carregando...","Loading...":"Carregando...","no more notes":"Não há mais notas","reply to":"Respondendo a",reply:"Responder",Reply:"Responder","load more older replies":"Carregar mais respostas antigas","Write something...":"Escreva algo...",Cancel:"Cancelar",Mentions:"Menções","Failed to post":"Falha ao postar","Post successful":"Nota publicada com sucesso","Your post has been published":"Sua nota foi publicada",Repost:"Repostar",Quote:"Citar","Copy event ID":"Copiar ID do evento","Copy user ID":"Copiar ID do usuário","View raw event":"Ver evento bruto",Like:"Curtir","switch to light theme":"Alternar para tema claro","switch to dark theme":"Alternar para tema escuro","switch to system theme":"Alternar para tema do sistema",Note:"Nota",note:"nota","username's following":"seguindo {{username}}","username's used relays":"relays usados por {{username}}","username's muted":"{{username}} silenciado",Login:"Entrar","Follows you":"Segue você","Relay Settings":"Configurações de relay","Relay set name":"Nome do conjunto de relay","Add a new relay set":"Adicionar um novo conjunto de relay",Add:"Adicionar","n relays":"{{n}} relays",Rename:"Renomear","Copy share link":"Copiar link de compartilhamento",Delete:"Excluir","Relay already exists":"Relay já existe","invalid relay URL":"URL de relay inválida","Add a new relay":"Adicionar um novo relay",back:"voltar","Lost in the void":"Perdido no vazio","Carry me home":"Me leve para casa","no replies":"Sem respostas","Reply to":"Responder a",Search:"Pesquisar","The relays you are connected to do not support search":"Os relays aos quais você está conectado não suportam pesquisa","Show more...":"Mostrar mais...","All users":"Todos os usuários","Display replies":"Exibir respostas",Notes:"Notas",Replies:"Respostas",Notifications:"Notificações","no more notifications":"não há mais notificações","Using private key login is insecure. It is recommended to use a browser extension for login, such as alby, nostr-keyx or nos2x. If you must use a private key, please set a password for encryption at minimum.":"O uso de login com chave privada é inseguro. Recomenda-se usar uma extensão do navegador para login, como alby, nostr-keyx ou nos2x. Se você precisar usar uma chave privada, defina uma senha para criptografia no mínimo.","Login with Browser Extension":"Entrar com extensão do navegador","Login with Bunker":"Entrar com Bunker","Login with Private Key":"Entrar com chave privada","reload notes":"Recarregar notas","Logged in Accounts":"Contas conectadas","Add an Account":"Nova conta","More options":"Mais opções","Add client tag":"Adicionar tag de cliente","Show others this was sent via Smesh":"Mostrar aos outros que isso foi enviado via Smesh","Are you sure you want to logout?":"Tem certeza de que deseja sair?","relay sets":"Conjuntos de relay",edit:"Editar",Languages:"Idiomas",Theme:"Tema",System:"Sistema",Light:"Claro",Dark:"Escuro",Temporary:"Temporário","Choose a relay set":"Escolha um conjunto de relay","Switch account":"Trocar de conta",Pictures:"Imagens","Picture note":"Nota de imagem","A special note for picture-first clients like Olas":"Uma nota especial para clientes que priorizam imagens, como Olas","Picture note requires images":"Nota de imagem requer imagens",Relays:"Relays",Image:"imagem","R & W":"Leitura & Escrita",Read:"Leitura",Write:"Escrita","Pull relay sets":"Receber conjuntos de relay","Select the relay sets you want to pull":"Selecione os conjuntos de relay que deseja receber","No relay sets found":"Nenhum conjunto de relay encontrado","Pull n relay sets":"Receber {{n}} conjuntos de relay",Pull:"Receber","Select all":"Selecionar todos","Relay Sets":"Conjuntos de relay","Read & Write Relays":"Relays de Leitura & Escrita","read relays description":"Relays de leitura são usados para buscar eventos sobre você. Outros usuários publicarão os eventos que deseja ver nesses relays.","write relays description":"Relays de escrita são usados para publicar seus eventos. Outros usuários buscarão seus eventos nesses relays.","read & write relays notice":"O número de servidores de leitura e escrita deve ser mantido entre 2 e 4, idealmente.","Don't have an account yet?":"Não tem uma conta ainda?","or simply generate a private key":"ou simplesmente gere uma chave privada","This is a private key. Do not share it with anyone. Keep it safe and secure. You will not be able to recover it if you lose it.":"Esta é uma chave privada. Não a compartilhe com ninguém. Mantenha-a segura, pois não poderá recuperá-la se perdê-la.",Edit:"Editar",Save:"Salvar","Display Name":"Nome de exibição",Bio:"Biografia","Nostr Address (NIP-05)":"Endereço Nostr (NIP-05)","Invalid NIP-05 address":"Endereço NIP-05 inválido","Copy private key":"Copiar chave privada","Enter the password to decrypt your ncryptsec":"Digite a senha para descriptografar seu ncryptsec",Back:"Voltar","optional: encrypt nsec":"opcional: criptografar nsec",password:"Senha","Sign up":"Criar conta","Save to":"Salvar em","Enter a name for the new relay set":"Digite um nome para o novo conjunto de relay","Save to a new relay set":"Salvar em um novo conjunto de relay",Mute:"Silenciar",Muted:"Silenciados",Unmute:"Silenciado","Unmute user":"Usuário silenciado","Append n relays":"Adicionar {{n}} relays",Append:"Adicionar","Select relays to append":"Selecione os relays para adicionar","calculating...":"Calculando...","Calculate optimal read relays":"Calcular relays de leitura ideais","Login to set":"Entrar no conjunto","Please login to view following feed":"Por favor, faça login para ver o conteúdo das pessoas que você segue","Send only to r":"Enviar apenas para {{r}}","Send only to these relays":"Enviar apenas para estes relays",Explore:"Explorar","Search relays":"Pesquisar relays",relayInfoBadgeAuth:"Auth",relayInfoBadgeSearch:"Pesquisar",relayInfoBadgePayment:"Pagamento",Operator:"Operador",Contact:"Contato",Software:"Software",Version:"Versão","Random Relays":"Relays aleatórios",randomRelaysRefresh:"Atualizar","Explore more":"Explorar mais","Payment page":"Página de pagamento","Supported NIPs":"NIPs Suportados","Open in a":"Abrir em {{a}}","Cannot handle event of kind k":"Não é possível lidar com o evento do tipo {{k}}","Sorry! The note cannot be found 😔":"Desculpe! A nota não pode ser encontrada 😔","This user has been muted":"Este usuário foi silenciado",Wallet:"Carteira",Sats:"Sats",sats:"sats","Zap to":"Zap para","Zap n sats":"Zap {{n}} sats",zapComment:"Comentário","Default zap amount":"Valor padrão do zap","Default zap comment":"Comentário padrão do zap","Lightning Address (or LNURL)":"Endereço Lightning (ou LNURL)","Quick zap":"Zap rápido","If enabled, you can zap with a single click. Click and hold for custom amounts":"Se ativado, você pode zapear com um único clique. Clique e segure para quantias personalizadas",All:"Tudo",Reactions:"Reações",Zaps:"Zaps","Earlier notifications":"Notificações anteriores","Temporarily display this note":"Exibir esta nota temporariamente",buttonFollowing:"Seguindo","Are you sure you want to unfollow this user?":"Tem certeza de que deseja deixar de seguir este usuário?","Recent Supporters":"Apoiadores recentes","Seen on":"Visto em","Temporarily display this reply":"Exibir temporariamente esta resposta","Note not found":"Nota não encontrada","no more replies":"não há mais respostas","Relay sets":"Conjuntos de relay","Favorite Relays":"Relays favoritos","Following's Favorites":"Favoritos de quem você segue","no more relays":"não há mais relays","Favorited by":"Favoritado por","Post settings":"Ajustes de publicação","Media upload service":"Serviço de upload de mídia","Choose a relay":"Escolher um relay","no relays found":"nenhum relay encontrado",video:"vídeo","Show n new notes":"Ver {{n}} novas notas",YouTabName:"Você",Bookmark:"Salvar nota","Remove bookmark":"Remover dos itens salvos","no bookmarks found":"Nenhum item salvo encontrado","no more bookmarks":"Sem mais itens salvos",Bookmarks:"Itens salvos","Show more":"Mostrar mais",General:"Geral",Autoplay:"Reprodução automática","Enable video autoplay on this device":"Habilitar reprodução automática de vídeo neste dispositivo","Paste or drop media files to upload":"Cole ou arraste arquivos de mídia para fazer upload",Preview:"Pré-visualização","You are about to publish an event signed by [{{eventAuthorName}}]. You are currently logged in as [{{currentUsername}}]. Are you sure?":"Você está prestes a publicar um evento assinado por [{{eventAuthorName}}]. Você está atualmente logado como [{{currentUsername}}]. Tem certeza?","Platinum Sponsors":"Patrocinadores Platinum",From:"Fonte","Comment on":"Comentando","View on njump.me":"Ver em njump.me","Hide content from untrusted users":"Ocultar conteúdo de usuários não confiáveis","Only show content from your followed users and the users they follow":"Mostrar apenas conteúdo dos usuários que você segue e dos usuários que eles seguem","Followed by":"Seguido por","Mute user privately":"Silenciar usuário privadamente","Mute user publicly":"Silenciar usuário publicamente",Quotes:"Citações","Lightning Invoice":"Fatura Lightning","Bookmark failed":"Falha ao favoritar","Remove bookmark failed":"Falha ao remover favorito",Translation:"Tradução",Balance:"Saldo",characters:"caracteres",smeshTranslateApiKeyDescription:"Esta chave API pode ser usada em qualquer outro lugar que suporte LibreTranslate. O URL do serviço é {{serviceUrl}}","Top up":"Carregar saldo","Will receive: {n} characters":"Receberá: {{n}} caracteres","Top up {n} sats":"Carregar {{n}} sats","Minimum top up is {n} sats":"Carregamento mínimo é {{n}} sats",Service:"Serviço","Reset API key":"Redefinir chave API","Are you sure you want to reset your API key? This action cannot be undone.":"Tem certeza de que deseja redefinir sua chave API? Esta ação não pode ser desfeita.",Warning:"Aviso","Your current API key will become invalid immediately, and any applications using it will stop working until you update them with the new key.":"Sua chave API atual se tornará inválida imediatamente, e qualquer aplicativo que a utilize deixará de funcionar até que você os atualize com a nova chave.","Service address":"Endereço do serviço",Pay:"Pagar",interactions:"interações",notifications:"notificações","Show untrusted {type}":"Mostrar {{type}} não confiáveis","Hide untrusted {type}":"Ocultar {{type}} não confiáveis","Currently hiding {type} from untrusted users.":"Atualmente ocultando {{type}} de usuários não confiáveis.","Currently showing all {type}.":"Atualmente mostrando todas as {{type}}.","Click continue to show all {type}.":"Clique em continuar para mostrar todas as {{type}}.","Click continue to hide {type} from untrusted users.":"Clique em continuar para ocultar {{type}} de usuários não confiáveis.","Trusted users include people you follow and people they follow.":"Usuários confiáveis incluem pessoas que você segue e pessoas que elas seguem.",Continue:"Continuar","Successfully updated mute list":"Lista de silenciados atualizada com sucesso","No pubkeys found from {url}":"Nenhum pubkey encontrado em {{url}}","Translating...":"Traduzindo...",Translate:"Traduzir","Show original":"Mostrar original",Website:"Website","Hide untrusted notes":"Ocultar notas não confiáveis","Open in another client":"Abrir em outro cliente",Community:"Comunidade",Group:"Grupo","Live event":"Evento ao vivo",Article:"Artigo",Unfavorite:"Desfavoritar","Recommended relays":"Relays recomendados","Blossom server URLs":"URLs do servidor Blossom","You need to add at least one blossom server in order to upload media files.":"Você precisa adicionar pelo menos um servidor Blossom para poder carregar arquivos de mídia.","Recommended blossom servers":"Servidores Blossom recomendados","Enter Blossom server URL":"Inserir URL do servidor Blossom",Preferred:"Preferido","Multiple choice (select one or more)":"Múltipla escolha (selecione um ou mais)",Vote:"Votar","{{number}} votes":"{{number}} votos","Total votes":"Total de votos","Poll has ended":"A enquete terminou","Poll ends at {{time}}":"A enquete termina em {{time}}","Load results":"Carregar resultados","This is a poll note.":"Esta é uma nota de enquete.","Unlike regular notes, polls are not widely supported and may not display on other clients.":"Ao contrário das notas regulares, as enquetes não são amplamente suportadas e podem não ser exibidas em outros clientes.","Option {{number}}":"Opção {{number}}","Add Option":"Adicionar Opção","Allow multiple choices":"Permitir múltiplas escolhas","End Date (optional)":"Data de término (opcional)","Clear end date":"Limpar data de término","Relay URLs (optional, comma-separated)":"URLs de relay (opcional, separadas por vírgulas)","Remove poll":"Remover enquete","Refresh results":"Atualizar resultados",Poll:"Enquete",Media:"Mídia","Republish to ...":"Republicar em ...","Successfully republish to your write relays":"Successfully republish to your write relays","Failed to republish to your write relays: {{error}}":"Failed to republish to your write relays: {{error}}","Successfully republish to relay set: {{name}}":"Successfully republish to relay set: {{name}}","Failed to republish to relay set: {{name}}. Error: {{error}}":"Failed to republish to relay set: {{name}}. Error: {{error}}","Successfully republish to relay: {{url}}":"Successfully republish to relay: {{url}}","Failed to republish to relay: {{url}}. Error: {{error}}":"Failed to republish to relay: {{url}}. Error: {{error}}","Write relays":"Relays de escrita","No more reactions":"Sem mais reações","No reactions yet":"Ainda sem reações","No more zaps":"Sem mais zaps","No zaps yet":"Ainda sem zaps","No more reposts":"Sem mais reposts","No reposts yet":"Ainda sem reposts",Reposts:"Reposts",FollowListNotFoundConfirmation:"Lista de seguindo não encontrada. Deseja criar uma nova? Se você seguiu usuários antes, por favor NÃO confirme, pois esta operação fará você perder sua lista de seguindo anterior.",MuteListNotFoundConfirmation:"Lista de silenciados não encontrada. Deseja criar uma nova? Se você silenciou usuários antes, por favor NÃO confirme, pois esta operação fará você perder sua lista de silenciados anterior.","Show NSFW content by default":"Mostrar conteúdo NSFW por padrão","Custom emoji management":"Gerenciamento de emojis personalizados","After changing emojis, you may need to refresh the page":"Após alterar os emojis, você pode precisar atualizar a página","Too many read relays":"Muitos relays de leitura","Too many write relays":"Muitos relays de escrita","You have {{count}} read relays. Most clients only use 2-4 relays, setting more is unnecessary.":"Você tem {{count}} relays de leitura. A maioria dos clientes usa apenas 2-4 relays, configurar mais é desnecessário.","You have {{count}} write relays. Most clients only use 2-4 relays, setting more is unnecessary.":"Você tem {{count}} relays de escrita. A maioria dos clientes usa apenas 2-4 relays, configurar mais é desnecessário.","Optimize Relay Settings":"Otimizar configurações de relay","Your current relay configuration may not be optimal. This could make it difficult for others to find your posts and may result in incomplete notifications.":"Sua configuração atual de relay pode não ser ideal. Isso pode tornar difícil para outros encontrarem suas postagens e pode resultar em notificações incompletas.","Optimize Now":"Otimizar agora","Maybe Later":"Talvez mais tarde","Don't remind me again":"Não me lembrar novamente",Posts:"Notas",Articles:"Artigos",Highlights:"Marcações",Polls:"Enquetes","Voice Posts":"Áudios","Photo Posts":"Fotos","Video Posts":"Vídeos","Select All":"Selecionar tudo","Clear All":"Limpar tudo","Set as default filter":"Definir como filtro padrão",Apply:"Aplicar",Reset:"Redefinir","Share something on this Relay":"Compartilhe algo neste Relay","Try deleting this note":"Solicitar exclusão desta nota","Deletion request sent to {{count}} relays":"Pedido de exclusão enviado para {{count}} relays","Suitable Relays":"Relays adequados","People, keywords, or relays":"Pessoas, palavras-chave ou relays","Hide content mentioning muted users":"Ocultar conteúdo que menciona usuários silenciados","This note mentions a user you muted":"Esta nota menciona um usuário que você silenciou",Filter:"Filtro","mentioned you in a note":"mencionou você em uma nota","quoted your note":"citou sua nota","voted in your poll":"votou na sua enquete","reacted to your note":"reagiu à sua nota","reposted your note":"republicou sua nota","zapped your note":"zappeou sua nota","highlighted your note":"destacou sua nota","zapped you":"zappeou você","Mark as read":"Marcar como lida",Report:"Denunciar","Successfully report":"Denúncia enviada com sucesso","Failed to report":"Falha ao enviar denúncia",nudity:"Nudez",malware:"Malware",profanity:"Blasfêmia",illegal:"Conteúdo ilegal",spam:"Spam",other:"Outro","Notification list style":"Estilo da lista de notificações","See extra info for each notification":"Ver informações extras para cada notificação","See more notifications at a glance":"Ver mais notificações rapidamente",Detailed:"Detalhado",Compact:"Compacto","Submit Relay":"Enviar Relay",Homepage:"Página inicial","Proof of Work (difficulty {{minPow}})":"Prova de Trabalho (dificuldade {{minPow}})","via {{client}}":"via {{client}}","Auto-load media":"Carregamento automático de mídia",Always:"Sempre","Wi-Fi only":"Apenas Wi-Fi",Never:"Nunca","Click to load image":"Carregar imagem","Click to load media":"Carregar mídia","Click to load YouTube video":"Carregar vídeo do YouTube","{{count}} reviews":"{{count}} avaliações","Write a review":"Escrever uma avaliação","No reviews yet. Be the first to write one!":"Ainda não há avaliações. Seja o primeiro a escrever uma!","View more reviews":"Ver mais avaliações","Failed to review":"Falha ao avaliar","Write a review and pick a star rating":"Escreva uma avaliação e escolha uma classificação por estrelas",Submit:"Enviar","Reviews for {{relay}}":"Avaliações para {{relay}}","No relays selected":"Nenhum relay selecionado","Post to":"Postar em","Write relays and {{count}} other relays":"Relays de escrita e {{count}} outros relays","{{count}} relays":"{{count}} relays","Republishing...":"Republicando...","Connected to":"Conectado a","Disconnect Wallet":"Desconectar carteira","Are you absolutely sure?":"Você tem certeza absoluta?","You will not be able to send zaps to others.":"Você não poderá enviar zaps para outros.",Disconnect:"Desconectar","Start with a Rizful Vault":"Comece com um Cofre Rizful","or other wallets":"ou outras carteiras","Rizful Vault":"Cofre Rizful","Rizful Vault connected!":"Cofre Rizful conectado!","You can now use your Rizful Vault to zap your favorite notes and creators.":"Você pode agora usar seu Cofre Rizful para zapear suas notas e criadores favoritos.","Your Lightning Address":"Seu Endereço Lightning","New to Rizful?":"Novo no Rizful?","Sign up for Rizful":"Inscreva-se no Rizful","If you already have a Rizful account, you can skip this step.":"Se você já tem uma conta Rizful, pode pular esta etapa.","Get your one-time code":"Obtenha seu código único","Get code":"Obter código","Connect to your Rizful Vault":"Conecte-se ao seu Cofre Rizful","Paste your one-time code here":"Cole seu código único aqui",Connect:"Conectar","Set up your wallet to send and receive sats!":"Configure sua carteira para enviar e receber sats!","Set up":"Configurar",Pinned:"Fixado",Unpin:"Desafixar",Unpinning:"Desafixando","Pinning...":"Fixando...","Pinned!":"Fixado!","Failed to pin: {{error}}":"Falha ao fixar: {{error}}","Unpinning...":"Desafixando...","Unpinned!":"Desafixado!","Failed to unpin: {{error}}":"Falha ao desafixar: {{error}}","Unpin from profile":"Desafixar do perfil","Pin to profile":"Fixar no perfil",Appearance:"Aparência","Pure Black":"Preto Puro",Default:"Padrão",Red:"Vermelho",Orange:"Laranja",Amber:"Âmbar",Yellow:"Amarelo",Lime:"Lima",Green:"Verde",Emerald:"Esmeralda",Teal:"Turquesa",Cyan:"Ciano",Sky:"Céu",Blue:"Azul",Indigo:"Índigo",Violet:"Violeta",Purple:"Roxo",Fuchsia:"Fúcsia",Pink:"Rosa",Rose:"Rosa","Primary color":"Cor primária",Layout:"Layout","Two-column":"Coluna dupla","Single-column":"Coluna única",Reviews:"Avaliações",Extension:"Extensão",Remote:"Remoto","Encrypted Key":"Chave Criptografada","Private Key":"Chave Privada","Welcome to Smesh":"Bem-vindo ao Smesh","Smesh is a client focused on browsing relays. Get started by exploring interesting relays or login to view your following feed.":"Smesh é um cliente nostr focado em construir comunidades e auxiliar na coordenação de pessoas com mentalidade soberana.","Explore Relays":"Explorar Relays","Choose a feed":"Escolha um feed","and {{x}} others":"e {{x}} outros",selfZapWarning:"Smesh não é responsável pelo que acontece se você zapear a si mesmo. Prossiga por sua conta e risco. 😉⚡","Emoji Pack":"Pacote de Emojis","Emoji pack added":"Pacote de emojis adicionado","Add emoji pack failed":"Falha ao adicionar pacote de emojis","Emoji pack removed":"Pacote de emojis removido","Remove emoji pack failed":"Falha ao remover pacote de emojis",Added:"Adicionado","Emoji Packs":"Pacotes de Emojis","My Packs":"Meus Pacotes","Adding...":"Adicionando...","Removing...":"Removendo...",Reload:"Recarregar","Request to Join Relay":"Solicitar entrada no Relay","Leave Relay":"Sair do Relay",Leave:"Sair","Are you sure you want to leave this relay?":"Tem certeza de que deseja sair deste relay?","Join request sent successfully":"Solicitação de entrada enviada com sucesso","Failed to send join request":"Falha ao enviar solicitação de entrada","Leave request sent successfully":"Solicitação de saída enviada com sucesso","Failed to send leave request":"Falha ao enviar solicitação de saída","Enter an invite code if you have one. Otherwise, leave it blank to send a request.":"Digite um código de convite se tiver um. Caso contrário, deixe em branco para enviar uma solicitação.","Invite Code (Optional)":"Código de Convite (Opcional)","Enter invite code":"Digite o código de convite","Sending...":"Enviando...","Send Request":"Enviar Solicitação","You can get an invite code from a relay member.":"Você pode obter um código de convite de um membro do relay.","Enter the invite code you received from a relay member.":"Digite o código de convite que você recebeu de um membro do relay.","Get Invite Code":"Obter Código de Convite","Share this invite code with others to invite them to join this relay.":"Compartilhe este código de convite com outros para convidá-los a participar deste relay.","Invite Code":"Código de Convite",Copy:"Copiar","This invite code can be used by others to join the relay.":"Este código de convite pode ser usado por outros para participar do relay.","No invite code available from this relay.":"Nenhum código de convite disponível deste relay.",Close:"Fechar","Failed to get invite code from relay":"Falha ao obter código de convite do relay","Failed to get invite code":"Falha ao obter código de convite","Invite code copied to clipboard":"Código de convite copiado para a área de transferência","Favicon URL":"URL do Favicon","Filter out onion relays":"Filtrar relays onion","Click to load X post":"Clique para carregar a postagem do X","View Nostr comments":"Comentários do link","Search for notes":"Buscar notas","Search for hashtag":"Buscar hashtag","Go to note":"Ir para nota","Go to relay":"Ir para relay","View discussions about this":"Ver discussões sobre este conteúdo","Open link":"Abrir link","View Nostr discussions":"Comentários do link","Optimal relays":"Relays ideais","Successfully republish to optimal relays (your write relays and mentioned users' read relays)":"Republicado com sucesso nos relays ideais (seus relays de escrita e os relays de leitura dos usuários mencionados)","Failed to republish to optimal relays: {{error}}":"Falha ao republicar nos relays ideais: {{error}}","External Content":"Conteúdo externo",Highlight:"Marcação","Optimal relays and {{count}} other relays":"Relays ideais e {{count}} outros relays","Likely spam account (Trust score: {{percentile}}%)":"Provável conta de spam (Pontuação de confiança: {{percentile}}%)","Suspicious account (Trust score: {{percentile}}%)":"Conta suspeita (Pontuação de confiança: {{percentile}}%)","n users":"{{count}} usuários","View Details":"Ver detalhes","Follow Pack Not Found":"Pacote de seguir não encontrado","Follow pack not found":"Pacote de seguir não encontrado",Users:"Usuários",Feed:"Feed","Follow Pack":"Pacote de Seguir","Load earlier":"Carregar anterior","Last 24 hours":"Últimas 24 horas","Last {{count}} days":"Últimos {{count}} dias",notes:"notas","Quick reaction":"Reação rápida","If enabled, you can react with a single click. Click and hold for more options":"Se ativado, você pode reagir com um único clique. Clique e segure para mais opções","Quick reaction emoji":"Emoji de reação rápida","Select emoji":"Selecionar emoji","NSFW content display":"Exibição de conteúdo NSFW","Hide completely":"Ocultar completamente","Show but hide content":"Mostrar, mas ocultar conteúdo","Show directly":"Mostrar diretamente","Click to view":"Clique para ver","Special Follow":"Favoritos","Unfollow Special":"Desfavoritar","Personal Feeds":"Meus feeds","Relay Feeds":"Feeds de relays","Create Highlight":"Criar Destaque","Write your thoughts about this highlight...":"Escreva seus pensamentos sobre este destaque...","Publish Highlight":"Publicar Destaque","Show replies":"Mostrar respostas","Hide replies":"Ocultar respostas","Welcome to Smesh!":"Bem-vindo ao Smesh!","Your feed is empty because you are not following anyone yet. Start by exploring interesting content and following users you like!":"Seu feed está vazio porque você ainda não está seguindo ninguém. Comece explorando conteúdo interessante e seguindo usuários que você gosta!","Search Users":"Buscar Usuários","Create New Account":"Criar nova conta",Important:"Importante","Generate Your Account":"Gerar sua conta","Your private key IS your account. Keep it safe!":"Sua chave privada É sua conta. Mantenha-a segura!","In Nostr, your private key IS your account. If you lose your private key, you lose your account forever.":"No Nostr, sua chave privada É sua conta. Se você perder sua chave privada, perderá sua conta para sempre.","Your Private Key":"Sua chave privada","Generate new key":"Gerar nova chave","Download Backup File":"Baixar arquivo de backup","Copied to Clipboard":"Copiado para a área de transferência","Copy to Clipboard":"Copiar para a área de transferência","I already saved my private key securely.":"Já salvei minha chave privada com segurança.","Almost Done!":"Quase pronto!","Set a password to encrypt your key, or skip to finish":"Defina uma senha para criptografar sua chave ou pule para finalizar","Password Protection (Optional)":"Proteção por senha (opcional)","Setting a password encrypts your private key in this browser. You can skip this step, but we recommend setting one for added security.":"Definir uma senha criptografa sua chave privada neste navegador. Você pode pular esta etapa, mas recomendamos definir uma para maior segurança.","Password (Optional)":"Senha (opcional)","Enter password or leave empty to skip":"Digite a senha ou deixe em branco para pular","Confirm Password":"Confirmar senha","Re-enter password":"Digite a senha novamente","Passwords do not match":"As senhas não coincidem","Finish Signup":"Concluir cadastro","Create Your Nostr Account":"Criando sua conta Nostr","Generate your unique private key. This is your digital identity.":"Sua chave privada única foi gerada. Ela é sua identidade digital.","Critical: Save Your Private Key":"Importante: Salve a sua chave privada.","Your private key IS your account. There is no password recovery. If you lose it, you lose your account forever. Please save it in a secure location.":"Sua chave privada é a sua conta. Não há recuperação de senha, se você perdê-la, perderá sua conta para sempre. Por favor, salve-a em um local seguro.","I have safely backed up my private key":"Fiz backup seguro da minha chave privada","Secure Your Account":"Proteja sua conta","Add an extra layer of protection with a password":"Adicione uma camada extra de proteção com uma senha","Password Protection (Recommended)":"Proteção por senha (recomendado)","Add a password to encrypt your private key in this browser. This is optional but strongly recommended for better security.":"Adicione uma senha para criptografar sua chave privada neste navegador. Isso é opcional, mas fortemente recomendado para melhor segurança.","Create a password (or skip)":"Crie uma senha (opcional)","Enter your password again":"Digite sua senha novamente","Complete Signup":"Concluir cadastro",Recommended:"Recomendado"}},Qbe={translation:{"Welcome! 🥳":"Bem-vindo! 🥳",About:"Sobre","New Note":"Nova Nota",Post:"Postar",Home:"Início","Relay settings":"Configurações de Relé",Settings:"Configurações",SidebarRelays:"Relés",Refresh:"Atualizar",Profile:"Perfil",Logout:"Sair",Following:"Seguindo",followings:"seguidos",reposted:"repostado","just now":"agora mesmo","minute ago_one":"{{count}} minuto atrás","minute ago_other":"{{count}} minutos atrás","n m":"{{n}}m","hour ago_one":"{{count}} hora atrás","hour ago_other":"{{count}} horas atrás","n h":"{{n}}h","day ago_one":"{{count}} dia atrás","day ago_other":"{{count}} dias atrás","n d":"{{n}}d",date:"{{timestamp, date}}",Follow:"Seguir",Unfollow:"Deixar de Seguir","Follow failed":"Falha ao Seguir","Unfollow failed":"Falha ao Deixar de Seguir","show new notes":"mostrar novas notas","loading...":"carregando...","Loading...":"Carregando...","no more notes":"não há mais notas","reply to":"responder a",reply:"responder",Reply:"Responder","load more older replies":"carregar mais respostas antigas","Write something...":"Escreva algo...",Cancel:"Cancelar",Mentions:"Menções","Failed to post":"Falha ao postar","Post successful":"Postagem bem-sucedida","Your post has been published":"Sua postagem foi publicada",Repost:"Repostar",Quote:"Citar","Copy event ID":"Copiar ID do evento","Copy user ID":"Copiar ID do usuário","View raw event":"Ver evento bruto",Like:"Curtir","switch to light theme":"alternar para tema claro","switch to dark theme":"alternar para tema escuro","switch to system theme":"alternar para tema do sistema",Note:"Nota",note:"nota","username's following":"seguindo de {{username}}","username's used relays":"relés usados por {{username}}","username's muted":"{{username}} silenciado",Login:"Entrar","Follows you":"Segue você","Relay Settings":"Configurações de Relé","Relay set name":"Nome do conjunto de relé","Add a new relay set":"Adicionar um novo conjunto de relé",Add:"Adicionar","n relays":"{{n}} relés",Rename:"Renomear","Copy share link":"Copiar link de compartilhamento",Delete:"Excluir","Relay already exists":"Relé já existe","invalid relay URL":"URL de relé inválida","Add a new relay":"Adicionar um novo relé",back:"voltar","Lost in the void":"Perdido no vazio","Carry me home":"Me leve para casa","no replies":"sem respostas","Reply to":"Responder a",Search:"Pesquisar","The relays you are connected to do not support search":"Os relés aos quais você está conectado não suportam pesquisa","Show more...":"Mostrar mais...","All users":"Todos os usuários","Display replies":"Exibir respostas",Notes:"Notas",Replies:"Respostas",Notifications:"Notificações","no more notifications":"não há mais notificações","Using private key login is insecure. It is recommended to use a browser extension for login, such as alby, nostr-keyx or nos2x. If you must use a private key, please set a password for encryption at minimum.Using private key login is insecure. It is recommended to use a browser extension for login, such as alby, nostr-keyx or nos2x.":"O uso de login com chave privada é inseguro. Recomenda-se usar uma extensão de navegador para login, como alby, nostr-keyx ou nos2x. Se você precisar usar uma chave privada, defina uma senha para criptografia pelo menos.","Login with Browser Extension":"Entrar com Extensão do Navegador","Login with Bunker":"Entrar com Bunker","Login with Private Key":"Entrar com Chave Privada","reload notes":"recarregar notas","Logged in Accounts":"Contas Conectadas","Add an Account":"Adicionar uma Conta","More options":"Mais opções","Add client tag":"Adicionar tag de cliente","Show others this was sent via Smesh":"Mostrar aos outros que isso foi enviado via Smesh","Are you sure you want to logout?":"Tem certeza de que deseja sair?","relay sets":"conjuntos de relé",edit:"editar",Languages:"Idiomas",Theme:"Tema",System:"Sistema",Light:"Claro",Dark:"Escuro",Temporary:"Temporário","Choose a relay set":"Escolha um conjunto de relé","Switch account":"Trocar de Conta",Pictures:"Imagens","Picture note":"Nota de Imagem","A special note for picture-first clients like Olas":"Uma nota especial para clientes que priorizam imagens, como Olas","Picture note requires images":"Nota de imagem requer imagens",Relays:"Relés",Image:"imagem","R & W":"Leitura & Escrita",Read:"Ler",Write:"Escrever","Pull relay sets":"Receber conjuntos de relé","Select the relay sets you want to pull":"Selecione os conjuntos de relé que deseja receber","No relay sets found":"Nenhum conjunto de relé encontrado","Pull n relay sets":"Receber {{n}} conjuntos de relé",Pull:"Receber","Select all":"Selecionar todos","Relay Sets":"Conjuntos de relé","Read & Write Relays":"Relés de Leitura & Escrita","read relays description":"Relés de leitura são usados para buscar eventos sobre você. Outros usuários publicarão os eventos que deseja ver nesses relés.","write relays description":"Relés de escrita são usados para publicar seus eventos. Outros usuários buscarão seus eventos nesses relés.","read & write relays notice":"O número de servidores de leitura e escrita deve ser mantido entre 2 e 4, idealmente.","Don't have an account yet?":"Não tem uma conta ainda?","or simply generate a private key":"ou simplesmente gere uma chave privada","This is a private key. Do not share it with anyone. Keep it safe and secure. You will not be able to recover it if you lose it.":"Esta é uma chave privada. Não a compartilhe com ninguém. Mantenha-a segura, pois não poderá recuperá-la se perdê-la.",Edit:"Editar",Save:"Salvar","Display Name":"Nome de Exibição",Bio:"Biografia","Nostr Address (NIP-05)":"Endereço Nostr (NIP-05)","Invalid NIP-05 address":"Endereço NIP-05 inválido","Copy private key":"Copiar chave privada","Enter the password to decrypt your ncryptsec":"Digite a senha para descriptografar seu ncryptsec",Back:"Voltar","optional: encrypt nsec":"opcional: criptografar nsec",password:"senha","Sign up":"Registrar-se","Save to":"Salvar em","Enter a name for the new relay set":"Digite um nome para o novo conjunto de relé","Save to a new relay set":"Salvar em um novo conjunto de relé",Mute:"Silenciar",Muted:"Silenciado",Unmute:"Ativar som","Unmute user":"Ativar som do usuário","Append n relays":"Adicionar {{n}} relés",Append:"Adicionar","Select relays to append":"Selecione os relés para adicionar","calculating...":"calculando...","Calculate optimal read relays":"Calcular relés de leitura ideais","Login to set":"Entrar no conjunto","Please login to view following feed":"Por favor, faça login para ver o feed de seguidores","Send only to r":"Enviar apenas para {{r}}","Send only to these relays":"Enviar apenas para estes relés",Explore:"Explorar","Search relays":"Pesquisar relés",relayInfoBadgeAuth:"Auth",relayInfoBadgeSearch:"Pesquisar",relayInfoBadgePayment:"Pagamento",Operator:"Operador",Contact:"Contato",Software:"Software",Version:"Versão","Random Relays":"Relés Aleatórios",randomRelaysRefresh:"Atualizar","Explore more":"Explorar mais","Payment page":"Página de Pagamento","Supported NIPs":"NIPs Suportados","Open in a":"Abrir em {{a}}","Cannot handle event of kind k":"Não é possível lidar com o evento do tipo {{k}}","Sorry! The note cannot be found 😔":"Desculpe! A nota não pode ser encontrada 😔","This user has been muted":"Este usuário foi silenciado",Wallet:"Carteira",Sats:"Sats",sats:"sats","Zap to":"Zap para","Zap n sats":"Zap {{n}} sats",zapComment:"Comentário","Default zap amount":"Valor padrão do zap","Default zap comment":"Comentário padrão do zap","Lightning Address (or LNURL)":"Endereço Lightning (ou LNURL)","Quick zap":"Zap Rápido","If enabled, you can zap with a single click. Click and hold for custom amounts":"Se ativado, você pode zapar com um único clique. Clique e segure para quantias personalizadas",All:"Tudo",Reactions:"Reações",Zaps:"Zaps","Earlier notifications":"Notificações anteriores","Temporarily display this note":"Exibir esta nota temporariamente",buttonFollowing:"Seguindo","Are you sure you want to unfollow this user?":"Tem certeza de que deseja deixar de seguir este usuário?","Recent Supporters":"Apoiadores Recentes","Seen on":"Visto em","Temporarily display this reply":"Exibir temporariamente esta resposta","Note not found":"Nota não encontrada","no more replies":"não há mais respostas","Relay sets":"Conjuntos de Relé","Favorite Relays":"Relés Favoritos","Following's Favorites":"Favoritos de quem você segue","no more relays":"não há mais relés","Favorited by":"Favoritado por","Post settings":"Configurações de Postagem","Media upload service":"Serviço de Upload de Mídia","Choose a relay":"Escolher um Relé","no relays found":"nenhum relé encontrado",video:"vídeo","Show n new notes":"Mostrar {{n}} novas notas",YouTabName:"Você",Bookmark:"Favorito","Remove bookmark":"Remover favorito","no bookmarks found":"Nenhum favorito encontrado","no more bookmarks":"Sem mais favoritos",Bookmarks:"Favoritos","Show more":"Mostrar mais",General:"Geral",Autoplay:"Reprodução Automática","Enable video autoplay on this device":"Habilitar reprodução automática de vídeo neste dispositivo","Paste or drop media files to upload":"Cole ou solte arquivos de mídia para fazer upload",Preview:"Pré-visualização","You are about to publish an event signed by [{{eventAuthorName}}]. You are currently logged in as [{{currentUsername}}]. Are you sure?":"Você está prestes a publicar um evento assinado por [{{eventAuthorName}}]. Você está atualmente logado como [{{currentUsername}}]. Tem certeza?","Platinum Sponsors":"Patrocinadores Platinum",From:"De","Comment on":"Comentar em","View on njump.me":"Ver em njump.me","Hide content from untrusted users":"Esconder conteúdo de usuários não confiáveis","Only show content from your followed users and the users they follow":"Mostrar apenas conteúdo dos usuários que você segue e dos usuários que eles seguem","Followed by":"Seguido por","Mute user privately":"Silenciar usuário privadamente","Mute user publicly":"Silenciar usuário publicamente",Quotes:"Citações","Lightning Invoice":"Fatura Lightning","Bookmark failed":"Falha ao favoritar","Remove bookmark failed":"Falha ao remover favorito",Translation:"Tradução",Balance:"Saldo",characters:"caracteres",smeshTranslateApiKeyDescription:"Esta chave API pode ser usada em qualquer outro lugar que suporte LibreTranslate. O URL do serviço é {{serviceUrl}}","Top up":"Carregar","Will receive: {n} characters":"Receberá: {{n}} caracteres","Top up {n} sats":"Carregar {{n}} sats","Minimum top up is {n} sats":"O carregamento mínimo é de {{n}} sats",Service:"Serviço","Reset API key":"Redefinir chave API","Are you sure you want to reset your API key? This action cannot be undone.":"Tem certeza de que deseja redefinir sua chave API? Esta ação não pode ser desfeita.",Warning:"Aviso","Your current API key will become invalid immediately, and any applications using it will stop working until you update them with the new key.":"Sua chave API atual se tornará inválida imediatamente, e qualquer aplicativo que a utilize deixará de funcionar até que você os atualize com a nova chave.","Service address":"Endereço do serviço",Pay:"Pagar",interactions:"interações",notifications:"notificações","Show untrusted {type}":"Mostrar {{type}} não confiáveis","Hide untrusted {type}":"Esconder {{type}} não confiáveis","Currently hiding {type} from untrusted users.":"Atualmente escondendo {{type}} de usuários não confiáveis.","Currently showing all {type}.":"Atualmente mostrando todos os {{type}}.","Click continue to show all {type}.":"Clique em continuar para mostrar todos os {{type}}.","Click continue to hide {type} from untrusted users.":"Clique em continuar para esconder {{type}} de usuários não confiáveis.","Trusted users include people you follow and people they follow.":"Usuários confiáveis incluem pessoas que você segue e pessoas que elas seguem.",Continue:"Continuar","Successfully updated mute list":"Lista de silenciados atualizada com sucesso","No pubkeys found from {url}":"Nenhum pubkey encontrado em {{url}}","Translating...":"Traduzindo...",Translate:"Traduzir","Show original":"Mostrar original",Website:"Website","Hide untrusted notes":"Esconder notas não confiáveis","Open in another client":"Abrir em outro cliente",Community:"Comunidade",Group:"Grupo","Live event":"Evento ao vivo",Article:"Artigo",Unfavorite:"Desfavoritar","Recommended relays":"Relés recomendados","Blossom server URLs":"URLs do servidor Blossom","You need to add at least one blossom server in order to upload media files.":"Você precisa adicionar pelo menos um servidor Blossom para poder carregar arquivos de mídia.","Recommended blossom servers":"Servidores Blossom recomendados","Enter Blossom server URL":"Inserir URL do servidor Blossom",Preferred:"Preferido","Multiple choice (select one or more)":"Múltipla escolha (selecione um ou mais)",Vote:"Votar","{{number}} votes":"{{number}} votos","Total votes":"Total de votos","Poll has ended":"A sondagem terminou","Poll ends at {{time}}":"A sondagem termina em {{time}}","Load results":"Carregar resultados","This is a poll note.":"Esta é uma nota de sondagem.","Unlike regular notes, polls are not widely supported and may not display on other clients.":"Ao contrário das notas regulares, as sondagens não são amplamente suportadas e podem não ser exibidas noutros clientes.","Option {{number}}":"Opção {{number}}","Add Option":"Adicionar Opção","Allow multiple choices":"Permitir múltiplas escolhas","End Date (optional)":"Data de fim (opcional)","Clear end date":"Limpar data de fim","Relay URLs (optional, comma-separated)":"URLs de relay (opcional, separadas por vírgulas)","Remove poll":"Remover sondagem","Refresh results":"Atualizar resultados",Poll:"Sondagem",Media:"mídia","Republish to ...":"Transmitir para...","Successfully republish to your write relays":"Transmitido com sucesso para seus relays de escrita","Failed to republish to your write relays: {{error}}":"Falha ao transmitir para seus relays de escrita: {{error}}","Successfully republish to relay set: {{name}}":"Transmitido com sucesso para o conjunto de relé: {{name}}","Failed to republish to relay set: {{name}}. Error: {{error}}":"Falha ao transmitir para o conjunto de relé: {{name}}. Erro: {{error}}","Successfully republish to relay: {{url}}":"Transmitido com sucesso para o relé: {{url}}","Failed to republish to relay: {{url}}. Error: {{error}}":"Falha ao transmitir para o relé: {{url}}. Erro: {{error}}","Write relays":"Relés de escrita","No more reactions":"Sem mais reações","No reactions yet":"Ainda sem reações","No more zaps":"Sem mais zaps","No zaps yet":"Ainda sem zaps","No more reposts":"Sem mais reposts","No reposts yet":"Ainda sem reposts",Reposts:"Reposts",FollowListNotFoundConfirmation:"Lista de seguir não encontrada. Deseja criar uma nova? Se seguiu utilizadores anteriormente, por favor NÃO confirme, pois esta operação fará com que perca a sua lista de seguir anterior.",MuteListNotFoundConfirmation:"Lista de silenciados não encontrada. Deseja criar uma nova? Se silenciou utilizadores anteriormente, por favor NÃO confirme, pois esta operação fará com que perca a sua lista de silenciados anterior.","Show NSFW content by default":"Mostrar conteúdo NSFW por padrão","Custom emoji management":"Gestão de emojis personalizados","After changing emojis, you may need to refresh the page":"Após alterar os emojis, poderá ser necessário actualizar a página","Too many read relays":"Demasiados relays de leitura","Too many write relays":"Demasiados relays de escrita","You have {{count}} read relays. Most clients only use 2-4 relays, setting more is unnecessary.":"Tem {{count}} relays de leitura. A maioria dos clientes usa apenas 2-4 relays, configurar mais é desnecessário.","You have {{count}} write relays. Most clients only use 2-4 relays, setting more is unnecessary.":"Tem {{count}} relays de escrita. A maioria dos clientes usa apenas 2-4 relays, configurar mais é desnecessário.","Optimize Relay Settings":"Optimizar definições de relay","Your current relay configuration may not be optimal. This could make it difficult for others to find your posts and may result in incomplete notifications.":"A sua configuração actual de relay pode não ser ideal. Isto pode tornar difícil para outros encontrarem as suas publicações e pode resultar em notificações incompletas.","Optimize Now":"Optimizar agora","Maybe Later":"Talvez mais tarde","Don't remind me again":"Não me relembrar novamente",Posts:"Publicações",Articles:"Artigos",Highlights:"Destaques",Polls:"Inquéritos","Voice Posts":"Áudios","Photo Posts":"Fotos","Video Posts":"Vídeos","Select All":"Seleccionar tudo","Clear All":"Limpar tudo","Set as default filter":"Definir como filtro predefinido",Apply:"Aplicar",Reset:"Repor","Share something on this Relay":"Partilhe algo neste Relay","Try deleting this note":"Tente eliminar esta nota","Deletion request sent to {{count}} relays":"Pedido de eliminação enviado para {{count}} relays","Suitable Relays":"Relays adequados","People, keywords, or relays":"Pessoas, palavras-chave ou relays","Hide content mentioning muted users":"Ocultar conteúdo que menciona utilizadores silenciados","This note mentions a user you muted":"Esta nota menciona um utilizador que silenciou",Filter:"Filtro","mentioned you in a note":"mencionou-o numa nota","quoted your note":"citou a sua nota","voted in your poll":"votou na sua sondagem","reacted to your note":"reagiu à sua nota","reposted your note":"republicou a sua nota","zapped your note":"zappeou a sua nota","highlighted your note":"destacou a sua nota","zapped you":"zappeou-o","Mark as read":"Marcar como lida",Report:"Denunciar","Successfully report":"Denúncia enviada com sucesso","Failed to report":"Falha ao enviar denúncia",nudity:"Nudez",malware:"Malware",profanity:"Blasfémia",illegal:"Conteúdo ilegal",spam:"Spam",other:"Outro","Notification list style":"Estilo da lista de notificações","See extra info for each notification":"Ver informações extra para cada notificação","See more notifications at a glance":"Ver mais notificações rapidamente",Detailed:"Detalhado",Compact:"Compacto","Submit Relay":"Enviar Relay",Homepage:"Página inicial","Proof of Work (difficulty {{minPow}})":"Prova de Trabalho (dificuldade {{minPow}})","via {{client}}":"via {{client}}","Auto-load media":"Carregamento automático de multimédia",Always:"Sempre","Wi-Fi only":"Apenas Wi-Fi",Never:"Nunca","Click to load image":"Clique para carregar a imagem","Click to load media":"Clique para carregar a mídia","Click to load YouTube video":"Clique para carregar o vídeo do YouTube","{{count}} reviews":"{{count}} avaliações","Write a review":"Escrever uma avaliação","No reviews yet. Be the first to write one!":"Ainda não há avaliações. Seja o primeiro a escrever uma!","View more reviews":"Ver mais avaliações","Failed to review":"Falha ao avaliar","Write a review and pick a star rating":"Escreva uma avaliação e escolha uma classificação por estrelas",Submit:"Enviar","Reviews for {{relay}}":"Avaliações para {{relay}}","No relays selected":"Nenhum relay selecionado","Post to":"Publicar para","Write relays and {{count}} other relays":"Relays de escrita e {{count}} outros relays","{{count}} relays":"{{count}} relays","Republishing...":"Republicando...","Connected to":"Conectado a","Disconnect Wallet":"Desconectar Carteira","Are you absolutely sure?":"Tem certeza absoluta?","You will not be able to send zaps to others.":"Você não poderá enviar zaps para outros.",Disconnect:"Desconectar","Start with a Rizful Vault":"Comece com um Cofre Rizful","or other wallets":"outras carteiras","Rizful Vault":"Cofre Rizful","Rizful Vault connected!":"Cofre Rizful conectado!","You can now use your Rizful Vault to zap your favorite notes and creators.":"Agora você pode usar seu Cofre Rizful para zapear suas notas e criadores favoritos.","Your Lightning Address":"Seu Endereço Lightning","New to Rizful?":"Novo no Rizful?","Sign up for Rizful":"Inscreva-se no Rizful","If you already have a Rizful account, you can skip this step.":"Se você já tem uma conta Rizful, pode pular esta etapa.","Get your one-time code":"Obtenha seu código único","Get code":"Obter código","Connect to your Rizful Vault":"Conecte-se ao seu Cofre Rizful","Paste your one-time code here":"Cole seu código único aqui",Connect:"Conectar","Set up your wallet to send and receive sats!":"Configure a sua carteira para enviar e receber sats!","Set up":"Configurar",Pinned:"Fixado",Unpin:"Desafixar",Unpinning:"Desafixando","Pinning...":"Fixando...","Pinned!":"Fixado!","Failed to pin: {{error}}":"Falha ao fixar: {{error}}","Unpinning...":"Desafixando...","Unpinned!":"Desafixado!","Failed to unpin: {{error}}":"Falha ao desafixar: {{error}}","Unpin from profile":"Desafixar do perfil","Pin to profile":"Fixar no perfil",Appearance:"Aparência","Pure Black":"Preto Puro",Default:"Padrão",Red:"Vermelho",Orange:"Laranja",Amber:"Âmbar",Yellow:"Amarelo",Lime:"Lima",Green:"Verde",Emerald:"Esmeralda",Teal:"Turquesa",Cyan:"Ciano",Sky:"Céu",Blue:"Azul",Indigo:"Índigo",Violet:"Violeta",Purple:"Roxo",Fuchsia:"Fúcsia",Pink:"Rosa",Rose:"Rosa","Primary color":"Cor primária",Layout:"Layout","Two-column":"Coluna dupla","Single-column":"Coluna única",Reviews:"Avaliações",Extension:"Extensão",Remote:"Remoto","Encrypted Key":"Chave Criptografada","Private Key":"Chave Privada","Welcome to Smesh":"Bem-vindo ao Smesh","Smesh is a client focused on browsing relays. Get started by exploring interesting relays or login to view your following feed.":"Smesh é um cliente nostr focado na construção de comunidades e no apoio à coordenação de pessoas com mentalidade soberana.","Explore Relays":"Explorar Relays","Choose a feed":"Escolha um feed","and {{x}} others":"e {{x}} outros",selfZapWarning:"Smesh não é responsável pelo que acontece se você zap a si mesmo. Prossiga por sua conta e risco. 😉⚡","Emoji Pack":"Pacote de Emojis","Emoji pack added":"Pacote de emojis adicionado","Add emoji pack failed":"Falha ao adicionar pacote de emojis","Emoji pack removed":"Pacote de emojis removido","Remove emoji pack failed":"Falha ao remover pacote de emojis",Added:"Adicionado","Emoji Packs":"Pacotes de Emojis","My Packs":"Os Meus Pacotes","Adding...":"A adicionar...","Removing...":"A remover...",Reload:"Recarregar","Request to Join Relay":"Solicitar adesão ao Relay","Leave Relay":"Sair do Relay",Leave:"Sair","Are you sure you want to leave this relay?":"Tem a certeza de que deseja sair deste relay?","Join request sent successfully":"Pedido de adesão enviado com sucesso","Failed to send join request":"Falha ao enviar pedido de adesão","Leave request sent successfully":"Pedido de saída enviado com sucesso","Failed to send leave request":"Falha ao enviar pedido de saída","Enter an invite code if you have one. Otherwise, leave it blank to send a request.":"Introduza um código de convite se tiver um. Caso contrário, deixe em branco para enviar um pedido.","Invite Code (Optional)":"Código de Convite (Opcional)","Enter invite code":"Introduza o código de convite","Sending...":"A enviar...","Send Request":"Enviar Pedido","You can get an invite code from a relay member.":"Pode obter um código de convite de um membro do relay.","Enter the invite code you received from a relay member.":"Introduza o código de convite que recebeu de um membro do relay.","Get Invite Code":"Obter Código de Convite","Share this invite code with others to invite them to join this relay.":"Partilhe este código de convite com outros para os convidar a aderir a este relay.","Invite Code":"Código de Convite",Copy:"Copiar","This invite code can be used by others to join the relay.":"Este código de convite pode ser usado por outros para aderir ao relay.","No invite code available from this relay.":"Nenhum código de convite disponível deste relay.",Close:"Fechar","Failed to get invite code from relay":"Falha ao obter código de convite do relay","Failed to get invite code":"Falha ao obter código de convite","Invite code copied to clipboard":"Código de convite copiado para a área de transferência","Favicon URL":"URL do Favicon","Filter out onion relays":"Filtrar relays onion","Click to load X post":"Clique para carregar a publicação do X","View Nostr comments":"Ver comentários do Nostr","Search for notes":"Pesquisar notas","Search for hashtag":"Pesquisar hashtag","Go to note":"Ir para nota","Go to relay":"Ir para relay","View discussions about this":"Ver discussões sobre este conteúdo","Open link":"Abrir ligação","View Nostr discussions":"Ver discussões do Nostr","Optimal relays":"Relays ideais","Successfully republish to optimal relays (your write relays and mentioned users' read relays)":"Republicado com sucesso nos relays ideais (os seus relays de escrita e os relays de leitura dos utilizadores mencionados)","Failed to republish to optimal relays: {{error}}":"Falha ao republicar nos relays ideais: {{error}}","External Content":"Conteúdo externo",Highlight:"Destacar","Optimal relays and {{count}} other relays":"Relays ideais e {{count}} outros relays","Likely spam account (Trust score: {{percentile}}%)":"Provável conta de spam (Pontuação de confiança: {{percentile}}%)","Suspicious account (Trust score: {{percentile}}%)":"Conta suspeita (Pontuação de confiança: {{percentile}}%)","n users":"{{count}} utilizadores","View Details":"Ver detalhes","Follow Pack Not Found":"Pacote de seguir não encontrado","Follow pack not found":"Pacote de seguir não encontrado",Users:"Utilizadores",Feed:"Feed","Follow Pack":"Pacote de Seguir","Load earlier":"Carregar anterior","Last 24 hours":"Últimas 24 horas","Last {{count}} days":"Últimos {{count}} dias",notes:"notas","Quick reaction":"Reação rápida","If enabled, you can react with a single click. Click and hold for more options":"Se ativado, pode reagir com um único clique. Clique e mantenha premido para mais opções","Quick reaction emoji":"Emoji de reação rápida","Select emoji":"Selecionar emoji","NSFW content display":"NSFW content display","Hide completely":"Hide completely","Show but hide content":"Show but hide content","Show directly":"Show directly","Click to view":"Click to view","Special Follow":"Seguir Especial","Unfollow Special":"Deixar de Seguir Especial","Personal Feeds":"Feeds Pessoais","Relay Feeds":"Feeds de Relays","Create Highlight":"Criar Destaque","Write your thoughts about this highlight...":"Escreva os seus pensamentos sobre este destaque...","Publish Highlight":"Publicar Destaque","Show replies":"Mostrar respostas","Hide replies":"Ocultar respostas","Welcome to Smesh!":"Bem-vindo ao Smesh!","Your feed is empty because you are not following anyone yet. Start by exploring interesting content and following users you like!":"O seu feed está vazio porque ainda não está a seguir ninguém. Comece por explorar conteúdo interessante e siga utilizadores de que gosta!","Search Users":"Procurar Utilizadores","Create New Account":"Criar nova conta",Important:"Importante","Generate Your Account":"Gerar a sua conta","Your private key IS your account. Keep it safe!":"A sua chave privada É a sua conta. Mantenha-a segura!","In Nostr, your private key IS your account. If you lose your private key, you lose your account forever.":"No Nostr, a sua chave privada É a sua conta. Se perder a sua chave privada, perde a sua conta para sempre.","Your Private Key":"A sua chave privada","Generate new key":"Gerar nova chave","Download Backup File":"Transferir ficheiro de cópia de segurança","Copied to Clipboard":"Copiado para a área de transferência","Copy to Clipboard":"Copiar para a área de transferência","I already saved my private key securely.":"Já guardei a minha chave privada de forma segura.","Almost Done!":"Quase pronto!","Set a password to encrypt your key, or skip to finish":"Defina uma palavra-passe para encriptar a sua chave ou ignore para finalizar","Password Protection (Optional)":"Proteção por palavra-passe (opcional)","Setting a password encrypts your private key in this browser. You can skip this step, but we recommend setting one for added security.":"Definir uma palavra-passe encripta a sua chave privada neste navegador. Pode ignorar este passo, mas recomendamos que defina uma para maior segurança.","Password (Optional)":"Palavra-passe (opcional)","Enter password or leave empty to skip":"Introduza a palavra-passe ou deixe vazio para ignorar","Confirm Password":"Confirmar palavra-passe","Re-enter password":"Introduza novamente a palavra-passe","Passwords do not match":"As palavras-passe não coincidem","Finish Signup":"Concluir registo","Create Your Nostr Account":"Crie a sua conta Nostr","Generate your unique private key. This is your digital identity.":"Gere a sua chave privada única. Esta é a sua identidade digital.","Critical: Save Your Private Key":"Crítico: Guarde a sua chave privada","Your private key IS your account. There is no password recovery. If you lose it, you lose your account forever. Please save it in a secure location.":"A sua chave privada É a sua conta. Não há recuperação de palavra-passe. Se a perder, perderá a sua conta para sempre. Por favor, guarde-a num local seguro.","I have safely backed up my private key":"Fiz uma cópia de segurança da minha chave privada","Secure Your Account":"Proteja a sua conta","Add an extra layer of protection with a password":"Adicione uma camada extra de proteção com uma palavra-passe","Password Protection (Recommended)":"Proteção por palavra-passe (recomendado)","Add a password to encrypt your private key in this browser. This is optional but strongly recommended for better security.":"Adicione uma palavra-passe para encriptar a sua chave privada neste navegador. Isto é opcional, mas fortemente recomendado para melhor segurança.","Create a password (or skip)":"Crie uma palavra-passe (ou ignore)","Enter your password again":"Introduza novamente a sua palavra-passe","Complete Signup":"Concluir registo",Recommended:"Recomendado"}},Jbe={translation:{"Welcome! 🥳":"Добро пожаловать! 🥳",About:"О нас","New Note":"Новая заметка",Post:"Опубликовать",Home:"Главная","Relay settings":"Настройки ретрансляции",Settings:"Настройки",SidebarRelays:"Ретрансляторы",Refresh:"Обновить",Profile:"Профиль",Logout:"Выйти",Following:"Подписки",followings:"подписки",reposted:"репостнул","just now":"только что","minute ago_one":"{{count}} минуту назад","minute ago_other":"{{count}} минут назад","n m":"{{n}}м","hour ago_one":"{{count}} час назад","hour ago_other":"{{count}} часов назад","n h":"{{n}}ч","day ago_one":"{{count}} день назад","day ago_other":"{{count}} дней назад","n d":"{{n}}д",date:"{{timestamp, date}}",Follow:"Подписаться",Unfollow:"Отписаться","Follow failed":"Ошибка подписки","Unfollow failed":"Ошибка отписки","show new notes":"показать новые заметки","loading...":"загрузка...","Loading...":"Загрузка...","no more notes":"больше нет заметок","reply to":"ответить",reply:"ответить",Reply:"Ответить","load more older replies":"загрузить больше старых ответов","Write something...":"Напишите что-нибудь...",Cancel:"Отмена",Mentions:"Упоминания","Failed to post":"Ошибка публикации","Post successful":"Успешно опубликовано","Your post has been published":"Ваш пост опубликован",Repost:"Репост",Quote:"Цитировать","Copy event ID":"Копировать ID события","Copy user ID":"Копировать ID пользователя","View raw event":"Посмотреть исходное событие",Like:"Нравится","switch to light theme":"переключить на светлую тему","switch to dark theme":"переключить на тёмную тему","switch to system theme":"переключить на системную тему",Note:"Заметка",note:"заметка","username's following":"Подписки пользователя {{username}}","username's used relays":"Ретрансляторы пользователя {{username}}","username's muted":"{{username}} заблокирован",Login:"Войти","Follows you":"Подписан на вас","Relay Settings":"Настройки ретрансляторов","Relay set name":"Имя набора ретрансляторов","Add a new relay set":"Добавить новый набор ретрансляторов",Add:"Добавить","n relays":"{{n}} ретрансляторов",Rename:"Переименовать","Copy share link":"Скопировать ссылку для обмена",Delete:"Удалить","Relay already exists":"Ретранслятор уже существует","invalid relay URL":"неверный URL ретранслятора","Add a new relay":"Добавить новый ретранслятор",back:"назад","Lost in the void":"Потерялся в пустоте","Carry me home":"Отведи меня домой","no replies":"нет ответов","Reply to":"Ответить",Search:"Поиск","The relays you are connected to do not support search":"Подключённые ретрансляторы не поддерживают поиск","Show more...":"Показать больше...","All users":"Все пользователи","Display replies":"Показать ответы",Notes:"Заметки",Replies:"Ответы",Notifications:"Уведомления","no more notifications":"нет новых уведомлений","Using private key login is insecure. It is recommended to use a browser extension for login, such as alby, nostr-keyx or nos2x. If you must use a private key, please set a password for encryption at minimum.":"Использование входа с приватным ключом небезопасно. Рекомендуется использовать расширение браузера для входа, такое как alby, nostr-keyx или nos2x. Если вы всё же хотите использовать приватный ключ, установите хотя бы пароль для шифрования.","Login with Browser Extension":"Войти через расширение браузера","Login with Bunker":"Войти через Bunker","Login with Private Key":"Войти с приватным ключом","reload notes":"перезагрузить заметки","Logged in Accounts":"Вошедшие аккаунты","Add an Account":"Добавить аккаунт","More options":"Больше опций","Add client tag":"Добавить тег клиента","Show others this was sent via Smesh":"Показать другим, что сообщение отправлено через Smesh","Are you sure you want to logout?":"Вы уверены, что хотите выйти?","relay sets":"наборы ретрансляторов",edit:"редактировать",Languages:"Языки",Theme:"Тема",System:"Система",Light:"Светлая",Dark:"Тёмная",Temporary:"Временная","Choose a relay set":"Выберите набор ретрансляторов","Switch account":"Сменить аккаунт",Pictures:"Изображения","Picture note":"Заметка с изображением","A special note for picture-first clients like Olas":"Особенная заметка для клиентов с приоритетом изображений, таких как Olas","Picture note requires images":"Заметка с изображением требует наличия изображений",Relays:"Ретрансляторы",Image:"изображение","R & W":"Чтение & Запись",Read:"Читать",Write:"Писать","Pull relay sets":"Получить наборы ретрансляторов","Select the relay sets you want to pull":"Выберите наборы ретрансляторов для получения","No relay sets found":"Наборы ретрансляторов не найдены","Pull n relay sets":"Получить {{n}} наборов ретрансляторов",Pull:"Получить","Select all":"Выбрать все","Relay Sets":"Наборы ретрансляторов","Read & Write Relays":"Ретрансляторы для чтения и записи","read relays description":"Ретрансляторы для чтения используются для получения событий о вас. Другие пользователи публикуют события, которые вы должны увидеть, через ваши ретрансляторы для чтения.","write relays description":"Ретрансляторы для записи используются для публикации ваших событий. Другие пользователи получают ваши события через ретрансляторы для записи.","read & write relays notice":"Количество серверов для чтения и записи должно быть оптимально от 2 до 4.","Don't have an account yet?":"Ещё нет аккаунта?","or simply generate a private key":"или просто сгенерируйте приватный ключ","This is a private key. Do not share it with anyone. Keep it safe and secure. You will not be able to recover it if you lose it.":"Это приватный ключ. Не делитесь им с другими. Храните его в надёжном месте – восстановить его будет невозможно.",Edit:"Редактировать",Save:"Сохранить","Display Name":"Отображаемое имя",Bio:"О себе","Nostr Address (NIP-05)":"Адрес Nostr (NIP-05)","Invalid NIP-05 address":"Неверный адрес NIP-05","Copy private key":"Скопировать приватный ключ","Enter the password to decrypt your ncryptsec":"Введите пароль для расшифровки вашего ncryptsec",Back:"Назад","optional: encrypt nsec":"необязательно: зашифровать nsec",password:"пароль","Sign up":"Зарегистрироваться","Save to":"Сохранить в","Enter a name for the new relay set":"Введите имя нового набора ретрансляторов","Save to a new relay set":"Сохранить в новый набор ретрансляторов",Mute:"Заглушить",Muted:"Заглушено",Unmute:"Отменить заглушку","Mute user":"Заглушить пользователя","Unmute user":"Снять заглушку с пользователя","Append n relays":"Добавить {{n}} ретрансляторов",Append:"Добавить","Select relays to append":"Выберите ретрансляторы для добавления","calculating...":"вычисление...","Calculate optimal read relays":"Рассчитать оптимальные ретрансляторы для чтения","Login to set":"Войти в набор","Please login to view following feed":"Войдите, чтобы увидеть ленту подписок","Send only to r":"Отправить только на {{r}}","Send only to these relays":"Отправить только на эти ретрансляторы",Explore:"Обзор","Search relays":"Поиск ретрансляторов",relayInfoBadgeAuth:"Авторизация",relayInfoBadgeSearch:"Поиск",relayInfoBadgePayment:"Платежи",Operator:"Оператор",Contact:"Контакты",Software:"Программное обеспечение",Version:"Версия","Random Relays":"Случайные ретрансляторы",randomRelaysRefresh:"Обновить","Explore more":"Исследовать больше","Payment page":"Страница оплаты","Supported NIPs":"Поддерживаемые NIP","Open in a":"Открыть в {{a}}","Cannot handle event of kind k":"Невозможно обработать событие типа {{k}}","Sorry! The note cannot be found 😔":"Извините! Заметка не найдена 😔","This user has been muted":"Этот пользователь заглушен",Wallet:"Кошелёк",Sats:"Сатс",sats:"сатс","Zap to":"Зап отправить","Zap n sats":"Зап {{n}} сатс",zapComment:"Комментарий","Default zap amount":"Стандартная сумма для зап","Default zap comment":"Стандартный комментарий для зап","Lightning Address (or LNURL)":"Lightning-адрес (или LNURL)","Quick zap":"Быстрый зап","If enabled, you can zap with a single click. Click and hold for custom amounts":"Если включено, вы можете отправить зап одним нажатием. Нажмите и удерживайте для выбора суммы",All:"Все",Reactions:"Реакции",Zaps:"Запы","Earlier notifications":"Ранние уведомления","Temporarily display this note":"Временно отобразить эту заметку",buttonFollowing:"Подписан","Are you sure you want to unfollow this user?":"Вы уверены, что хотите отписаться от этого пользователя?","Recent Supporters":"Недавние спонсоры","Seen on":"Просмотрено на","Temporarily display this reply":"Временно отобразить этот ответ","Note not found":"Заметка не найдена","no more replies":"больше нет ответов","Relay sets":"Наборы ретрансляторов","Favorite Relays":"Избранные ретрансляторы","Following's Favorites":"Избранные ретрансляторы подписчиков","no more relays":"больше нет ретрансляторов","Favorited by":"Избранные у","Post settings":"Настройки публикации","Media upload service":"Служба загрузки медиафайлов","Choose a relay":"Выберите ретранслятор","no relays found":"ретрансляторы не найдены",video:"видео","Show n new notes":"Показать {{n}} новых заметок",YouTabName:"Вы",Bookmark:"Закладка","Remove bookmark":"Удалить закладку","no bookmarks found":"Закладки не найдены","no more bookmarks":"Больше нет закладок",Bookmarks:"Закладки","Show more":"Показать больше",General:"Общие",Autoplay:"Автовоспроизведение","Enable video autoplay on this device":"Включить автовоспроизведение видео на этом устройстве","Paste or drop media files to upload":"Вставьте или перетащите медиафайлы для загрузки",Preview:"Предварительный просмотр","You are about to publish an event signed by [{{eventAuthorName}}]. You are currently logged in as [{{currentUsername}}]. Are you sure?":"Вы собираетесь опубликовать событие, подписанное [{{eventAuthorName}}]. Вы в данный момент вошли как [{{currentUsername}}]. Вы уверены?","Platinum Sponsors":"Платиновые спонсоры",From:"От","Comment on":"Прокомментировать","View on njump.me":"Посмотреть на njump.me","Hide content from untrusted users":"Скрыть контент от недоверенных пользователей","Only show content from your followed users and the users they follow":"Показывать только контент от пользователей, на которых вы подписаны, и от пользователей, на которых они подписаны","Followed by":"Подписан на","Mute user privately":"Заглушить пользователя приватно","Mute user publicly":"Заглушить пользователя публично",Quotes:"Цитаты","Lightning Invoice":"Lightning-счет","Bookmark failed":"Не удалось добавить закладку","Remove bookmark failed":"Не удалось удалить закладку",Translation:"Перевод",Balance:"Баланс",characters:"символов",smeshTranslateApiKeyDescription:"Вы можете использовать этот API-ключ в любом другом месте, которое поддерживает LibreTranslate. URL сервиса: {{serviceUrl}}","Top up":"Пополнить","Will receive: {n} characters":"Получите: {{n}} символов","Top up {n} sats":"Пополнить на {{n}} сатс","Minimum top up is {n} sats":"Минимальное пополнение составляет {{n}} сатс",Service:"Сервис","Reset API key":"Сбросить API-ключ","Are you sure you want to reset your API key? This action cannot be undone.":"Вы уверены, что хотите сбросить ваш API-ключ? Это действие не может быть отменено.",Warning:"Предупреждение","Your current API key will become invalid immediately, and any applications using it will stop working until you update them with the new key.":"Ваш текущий API-ключ станет недействительным немедленно, и любые приложения, использующие его, перестанут работать, пока вы не обновите их новым ключом.","Service address":"Адрес сервиса",Pay:"Оплатить",interactions:"взаимодействия",notifications:"уведомления","Show untrusted {type}":"Показать недоверенные {{type}}","Hide untrusted {type}":"Скрыть недоверенные {{type}}","Currently hiding {type} from untrusted users.":"В настоящее время скрываются {{type}} от недоверенных пользователей.","Currently showing all {type}.":"В настоящее время отображаются все {{type}}.","Click continue to show all {type}.":'Нажмите "Продолжить", чтобы показать все {{type}}.',"Click continue to hide {type} from untrusted users.":'Нажмите "Продолжить", чтобы скрыть {{type}} от недоверенных пользователей.',"Trusted users include people you follow and people they follow.":"Доверенные пользователи включают людей, на которых вы подписаны, и людей, на которых они подписаны.",Continue:"Продолжить","Successfully updated mute list":"Успешно обновлен список заглушенных пользователей","No pubkeys found from {url}":"Не найдено pubkeys из {{url}}","Translating...":"Перевод...",Translate:"Перевести","Show original":"Показать оригинал",Website:"Веб-сайт","Hide untrusted notes":"Скрыть недоверенные заметки","Open in another client":"Открыть в другом клиенте",Community:"Сообщество",Group:"Группа","Live event":"Живое событие",Article:"Статья",Unfavorite:"Убрать из избранного","Recommended relays":"Рекомендуемые ретрансляторы","Blossom server URLs":"URLs сервера Blossom","You need to add at least one blossom server in order to upload media files.":"Вам нужно добавить хотя бы один сервер Blossom, чтобы загружать медиафайлы.","Recommended blossom servers":"Рекомендуемые серверы Blossom","Enter Blossom server URL":"Введите URL сервера Blossom",Preferred:"Предпочтительный","Multiple choice (select one or more)":"Множественный выбор (выберите один или несколько)",Vote:"Голосовать","{{number}} votes":"{{number}} голосов","Total votes":"Всего голосов","Poll has ended":"Опрос завершён","Poll ends at {{time}}":"Опрос завершается {{time}}","Load results":"Загрузить результаты","This is a poll note.":"Это заметка с опросом.","Unlike regular notes, polls are not widely supported and may not display on other clients.":"В отличие от обычных заметок, опросы не получили широкой поддержки и могут не отображаться в других клиентах.","Option {{number}}":"Вариант {{number}}","Add Option":"Добавить вариант","Allow multiple choices":"Разрешить множественный выбор","End Date (optional)":"Дата окончания (необязательно)","Clear end date":"Очистить дату окончания","Relay URLs (optional, comma-separated)":"URL релеев (необязательно, через запятую)","Remove poll":"Удалить опрос","Refresh results":"Обновить результаты",Poll:"Опрос",Media:"медиа","Republish to ...":"Ретранслировать в ...","Successfully republish to your write relays":"Успешно ретранслировано в ваши ретрансляторы для записи","Failed to republish to your write relays: {{error}}":"Не удалось ретранслировать в ваши ретрансляторы для записи: {{error}}","Successfully republish to relay set: {{name}}":"Успешно ретранслировано в набор ретрансляторов: {{name}}","Failed to republish to relay set: {{name}}. Error: {{error}}":"Не удалось ретранслировать в набор ретрансляторов: {{name}}. Ошибка: {{error}}","Successfully republish to relay: {{url}}":"Успешно ретранслировано в ретранслятор: {{url}}","Failed to republish to relay: {{url}}. Error: {{error}}":"Не удалось ретранслировать в ретранслятор: {{url}}. Ошибка: {{error}}","Write relays":"Ретрансляторы для записи","No more reactions":"Больше нет реакций","No reactions yet":"Пока нет реакций","No more zaps":"Больше нет запов","No zaps yet":"Пока нет запов","No more reposts":"Больше нет репостов","No reposts yet":"Пока нет репостов",Reposts:"Репосты",FollowListNotFoundConfirmation:"Список подписок не найден. Хотите создать новый? Если вы уже подписывались на пользователей ранее, пожалуйста, НЕ подтверждайте, так как эта операция приведет к потере вашего предыдущего списка подписок.",MuteListNotFoundConfirmation:"Список заблокированных не найден. Хотите создать новый? Если вы уже блокировали пользователей ранее, пожалуйста, НЕ подтверждайте, так как эта операция приведет к потере вашего предыдущего списка заблокированных.","Show NSFW content by default":"Показывать контент NSFW по умолчанию","Custom emoji management":"Управление пользовательскими эмодзи","After changing emojis, you may need to refresh the page":"После изменения эмодзи может потребоваться обновить страницу","Too many read relays":"Слишком много релеев для чтения","Too many write relays":"Слишком много релеев для записи","You have {{count}} read relays. Most clients only use 2-4 relays, setting more is unnecessary.":"У вас {{count}} релеев для чтения. Большинство клиентов используют только 2-4 релея, устанавливать больше не нужно.","You have {{count}} write relays. Most clients only use 2-4 relays, setting more is unnecessary.":"У вас {{count}} релеев для записи. Большинство клиентов используют только 2-4 релея, устанавливать больше не нужно.","Optimize Relay Settings":"Оптимизировать настройки релеев","Your current relay configuration may not be optimal. This could make it difficult for others to find your posts and may result in incomplete notifications.":"Ваша текущая конфигурация релеев может быть не оптимальной. Это может затруднить поиск ваших сообщений другими пользователями и привести к неполным уведомлениям.","Optimize Now":"Оптимизировать сейчас","Maybe Later":"Возможно, позже","Don't remind me again":"Больше не напоминать",Posts:"Посты",Articles:"Статьи",Highlights:"Выделения",Polls:"Опросы","Voice Posts":"Голосовые посты","Photo Posts":"Фото посты","Video Posts":"Видео посты","Select All":"Выбрать все","Clear All":"Очистить все","Set as default filter":"Установить как фильтр по умолчанию",Apply:"Применить",Reset:"Сбросить","Share something on this Relay":"Поделиться чем-то на этом релее","Try deleting this note":"Попробуйте удалить эту заметку","Deletion request sent to {{count}} relays":"Запрос на удаление отправлен на {{count}} релеев","Suitable Relays":"Подходящие релея","People, keywords, or relays":"Люди, ключевые слова или релея","Hide content mentioning muted users":"Скрыть контент, упоминающий заглушённых пользователей","This note mentions a user you muted":"Эта заметка упоминает пользователя, которого вы заглушили",Filter:"Фильтр","mentioned you in a note":"упомянул вас в заметке","quoted your note":"процитировал вашу заметку","voted in your poll":"проголосовал в вашем опросе","reacted to your note":"отреагировал на вашу заметку","reposted your note":"репостнул вашу заметку","zapped your note":"заппил вашу заметку","highlighted your note":"выделил вашу заметку","zapped you":"заппил вас","Mark as read":"Отметить как прочитанное",Report:"Пожаловаться","Successfully report":"Жалоба успешно отправлена","Failed to report":"Не удалось отправить жалобу",nudity:"Обнаженность",malware:"Вредоносное ПО",profanity:"Ненормативная лексика",illegal:"Незаконный контент",spam:"Спам",other:"Другое","Notification list style":"Стиль списка уведомлений","See extra info for each notification":"Просмотреть дополнительную информацию для каждого уведомления","See more notifications at a glance":"Увидеть больше уведомлений с первого взгляда",Detailed:"Подробный",Compact:"Компактный","Submit Relay":"Отправить релей",Homepage:"Домашняя страница","Proof of Work (difficulty {{minPow}})":"Доказательство работы (сложность {{minPow}})","via {{client}}":"через {{client}}","Auto-load media":"Автозагрузка медиа",Always:"Всегда","Wi-Fi only":"Только Wi-Fi",Never:"Никогда","Click to load image":"Нажмите, чтобы загрузить изображение","Click to load media":"Нажмите, чтобы загрузить медиа","Click to load YouTube video":"Нажмите, чтобы загрузить видео YouTube","{{count}} reviews":"{{count}} отзывов","Write a review":"Написать отзыв","No reviews yet. Be the first to write one!":"Отзывов пока нет. Станьте первым, кто напишет отзыв!","View more reviews":"Посмотреть больше отзывов","Failed to review":"Ошибка отзыва","Write a review and pick a star rating":"Напишите отзыв и выберите звездный рейтинг",Submit:"Отправить","Reviews for {{relay}}":"Отзывы для {{relay}}","No relays selected":"Ретрансляторы не выбраны","Post to":"Опубликовать в","Write relays and {{count}} other relays":"Ретрансляторы записи и {{count}} других ретрансляторов","{{count}} relays":"{{count}} ретрансляторов","Republishing...":"Ретрансляция...","Connected to":"Подключено к","Disconnect Wallet":"Отключить кошелёк","Are you absolutely sure?":"Вы абсолютно уверены?","You will not be able to send zaps to others.":"Вы не сможете отправлять запы другим.",Disconnect:"Отключить","Start with a Rizful Vault":"Начать с Rizful Vault","or other wallets":"или другие кошельки","Rizful Vault":"Rizful Vault","Rizful Vault connected!":"Rizful Vault подключён!","You can now use your Rizful Vault to zap your favorite notes and creators.":"Теперь вы можете использовать свой Rizful Vault, чтобы заппить ваши любимые заметки и создателей.","Your Lightning Address":"Ваш Lightning-адрес","New to Rizful?":"Новичок в Rizful?","Sign up for Rizful":"Зарегистрируйтесь на Rizful","If you already have a Rizful account, you can skip this step.":"Если у вас уже есть аккаунт Rizful, вы можете пропустить этот шаг.","Get your one-time code":"Получите ваш одноразовый код","Get code":"Получить код","Connect to your Rizful Vault":"Подключитесь к вашему Rizful Vault","Paste your one-time code here":"Вставьте ваш одноразовый код здесь",Connect:"Подключить","Set up your wallet to send and receive sats!":"Настройте свой кошелёк, чтобы отправлять и получать саты!","Set up":"Настроить",Pinned:"Закреплено",Unpin:"Открепить",Unpinning:"Открепление","Pinning...":"Закрепление...","Pinned!":"Закреплено!","Failed to pin: {{error}}":"Не удалось закрепить: {{error}}","Unpinning...":"Открепление...","Unpinned!":"Откреплено!","Failed to unpin: {{error}}":"Не удалось открепить: {{error}}","Unpin from profile":"Открепить из профиля","Pin to profile":"Закрепить в профиле",Appearance:"Внешний вид","Pure Black":"Чистый Черный",Default:"По умолчанию",Red:"Красный",Orange:"Оранжевый",Amber:"Янтарный",Yellow:"Желтый",Lime:"Лаймовый",Green:"Зеленый",Emerald:"Изумрудный",Teal:"Бирюзовый",Cyan:"Голубой",Sky:"Небесный",Blue:"Синий",Indigo:"Индиго",Violet:"Фиолетовый",Purple:"Пурпурный",Fuchsia:"Фуксия",Pink:"Розовый",Rose:"Роза","Primary color":"Основной цвет",Layout:"Макет","Two-column":"Две колонки","Single-column":"Одна колонка",Reviews:"Отзывы",Extension:"Расширение",Remote:"Удалённый","Encrypted Key":"Зашифрованный ключ","Private Key":"Приватный ключ","Welcome to Smesh":"Добро пожаловать в Smesh","Smesh is a client focused on browsing relays. Get started by exploring interesting relays or login to view your following feed.":"Smesh — это nostr-клиент, ориентированный на построение сообществ и помощь в координации людей с суверенным мышлением.","Explore Relays":"Исследовать Relay","Choose a feed":"Выберите ленту","and {{x}} others":"и {{x}} других",selfZapWarning:"Smesh не несет ответственности за то, что произойдет, если вы отправите zap самому себе. Продолжайте на свой страх и риск. 😉⚡","Emoji Pack":"Набор эмодзи","Emoji pack added":"Набор эмодзи добавлен","Add emoji pack failed":"Не удалось добавить набор эмодзи","Emoji pack removed":"Набор эмодзи удален","Remove emoji pack failed":"Не удалось удалить набор эмодзи",Added:"Добавлено","Emoji Packs":"Наборы эмодзи","My Packs":"Мои наборы","Adding...":"Добавление...","Removing...":"Удаление...",Reload:"Перезагрузить","Request to Join Relay":"Запросить присоединение к релею","Leave Relay":"Покинуть релей",Leave:"Выйти","Are you sure you want to leave this relay?":"Вы уверены, что хотите покинуть этот релей?","Join request sent successfully":"Запрос на присоединение успешно отправлен","Failed to send join request":"Не удалось отправить запрос на присоединение","Leave request sent successfully":"Запрос на выход успешно отправлен","Failed to send leave request":"Не удалось отправить запрос на выход","Enter an invite code if you have one. Otherwise, leave it blank to send a request.":"Введите код приглашения, если он у вас есть. В противном случае оставьте поле пустым для отправки запроса.","Invite Code (Optional)":"Код приглашения (необязательно)","Enter invite code":"Введите код приглашения","Sending...":"Отправка...","Send Request":"Отправить запрос","You can get an invite code from a relay member.":"Вы можете получить код приглашения у члена релея.","Enter the invite code you received from a relay member.":"Введите код приглашения, который вы получили от члена релея.","Get Invite Code":"Получить Код Приглашения","Share this invite code with others to invite them to join this relay.":"Поделитесь этим кодом приглашения с другими, чтобы пригласить их присоединиться к этому релею.","Invite Code":"Код Приглашения",Copy:"Копировать","This invite code can be used by others to join the relay.":"Этот код приглашения может быть использован другими для присоединения к релею.","No invite code available from this relay.":"Нет доступного кода приглашения от этого релея.",Close:"Закрыть","Failed to get invite code from relay":"Не удалось получить код приглашения от релея","Failed to get invite code":"Не удалось получить код приглашения","Invite code copied to clipboard":"Код приглашения скопирован в буфер обмена","Favicon URL":"URL фавикона","Filter out onion relays":"Фильтровать onion-релеи","Click to load X post":"Нажмите, чтобы загрузить пост X","View Nostr comments":"Просмотреть комментарии Nostr","Search for notes":"Искать заметки","Search for hashtag":"Искать хэштег","Go to note":"Перейти к заметке","Go to relay":"Перейти к релею","View discussions about this":"Просмотреть обсуждения об этом контенте","Open link":"Открыть ссылку","View Nostr discussions":"Просмотреть обсуждения Nostr","Optimal relays":"Оптимальные релеи","Successfully republish to optimal relays (your write relays and mentioned users' read relays)":"Успешно опубликовано в оптимальные релеи (ваши релеи для записи и релеи для чтения упомянутых пользователей)","Failed to republish to optimal relays: {{error}}":"Не удалось опубликовать в оптимальные релеи: {{error}}","External Content":"Внешний контент",Highlight:"Выделить","Optimal relays and {{count}} other relays":"Оптимальные релеи и {{count}} других релеев","Likely spam account (Trust score: {{percentile}}%)":"Вероятно спам-аккаунт (Оценка доверия: {{percentile}}%)","Suspicious account (Trust score: {{percentile}}%)":"Подозрительный аккаунт (Оценка доверия: {{percentile}}%)","n users":"{{count}} пользователей","View Details":"Посмотреть детали","Follow Pack Not Found":"Пакет подписок не найден","Follow pack not found":"Пакет подписок не найден",Users:"Пользователи",Feed:"Лента","Follow Pack":"Пакет Подписок","Load earlier":"Загрузить ранее","Last 24 hours":"Последние 24 часа","Last {{count}} days":"Последние {{count}} дней",notes:"заметки","Quick reaction":"Быстрая реакция","If enabled, you can react with a single click. Click and hold for more options":"Если включено, вы можете реагировать одним щелчком. Нажмите и удерживайте для дополнительных параметров","Quick reaction emoji":"Эмодзи быстрой реакции","Select emoji":"Выбрать эмодзи","NSFW content display":"NSFW content display","Hide completely":"Hide completely","Show but hide content":"Show but hide content","Show directly":"Show directly","Click to view":"Click to view","Special Follow":"Особая Подписка","Unfollow Special":"Отменить Особую Подписку","Personal Feeds":"Личные Ленты","Relay Feeds":"Ленты Релеев","Create Highlight":"Создать Выделение","Write your thoughts about this highlight...":"Напишите свои мысли об этом выделении...","Publish Highlight":"Опубликовать Выделение","Show replies":"Показать ответы","Hide replies":"Скрыть ответы","Welcome to Smesh!":"Добро пожаловать в Smesh!","Your feed is empty because you are not following anyone yet. Start by exploring interesting content and following users you like!":"Ваша лента пуста, потому что вы еще ни на кого не подписаны. Начните с изучения интересного контента и подписки на понравившихся пользователей!","Search Users":"Поиск пользователей","Create New Account":"Создать новый аккаунт",Important:"Важно","Generate Your Account":"Создать аккаунт","Your private key IS your account. Keep it safe!":"Ваш приватный ключ — это ваш аккаунт. Храните его в безопасности!","In Nostr, your private key IS your account. If you lose your private key, you lose your account forever.":"В Nostr ваш приватный ключ — это ваш аккаунт. Если вы потеряете приватный ключ, вы навсегда потеряете свой аккаунт.","Your Private Key":"Ваш приватный ключ","Generate new key":"Создать новый ключ","Download Backup File":"Скачать файл резервной копии","Copied to Clipboard":"Скопировано в буфер обмена","Copy to Clipboard":"Копировать в буфер обмена","I already saved my private key securely.":"Я уже сохранил свой приватный ключ в безопасном месте.","Almost Done!":"Почти готово!","Set a password to encrypt your key, or skip to finish":"Установите пароль для шифрования ключа или пропустите, чтобы завершить","Password Protection (Optional)":"Защита паролем (необязательно)","Setting a password encrypts your private key in this browser. You can skip this step, but we recommend setting one for added security.":"Установка пароля шифрует ваш приватный ключ в этом браузере. Вы можете пропустить этот шаг, но мы рекомендуем установить пароль для дополнительной безопасности.","Password (Optional)":"Пароль (необязательно)","Enter password or leave empty to skip":"Введите пароль или оставьте пустым, чтобы пропустить","Confirm Password":"Подтвердите пароль","Re-enter password":"Введите пароль повторно","Passwords do not match":"Пароли не совпадают","Finish Signup":"Завершить регистрацию","Create Your Nostr Account":"Создайте свой аккаунт Nostr","Generate your unique private key. This is your digital identity.":"Сгенерируйте ваш уникальный приватный ключ. Это ваша цифровая личность.","Critical: Save Your Private Key":"Критично: Сохраните ваш приватный ключ","Your private key IS your account. There is no password recovery. If you lose it, you lose your account forever. Please save it in a secure location.":"Ваш приватный ключ И ЕСТЬ ваш аккаунт. Восстановление пароля невозможно. Если вы его потеряете, вы навсегда потеряете свой аккаунт. Пожалуйста, сохраните его в безопасном месте.","I have safely backed up my private key":"Я безопасно сохранил свой приватный ключ","Secure Your Account":"Защитите ваш аккаунт","Add an extra layer of protection with a password":"Добавьте дополнительный уровень защиты с помощью пароля","Password Protection (Recommended)":"Защита паролем (рекомендуется)","Add a password to encrypt your private key in this browser. This is optional but strongly recommended for better security.":"Добавьте пароль для шифрования вашего приватного ключа в этом браузере. Это необязательно, но настоятельно рекомендуется для лучшей безопасности.","Create a password (or skip)":"Создайте пароль (или пропустите)","Enter your password again":"Введите пароль еще раз","Complete Signup":"Завершить регистрацию",Recommended:"Рекомендуемые"}},Xbe={translation:{"Welcome! 🥳":"Добродошли! 🥳",About:"О апликацији","New Note":"Нова белешка",Post:"Објави",Home:"Почетна","Relay settings":"Подешавања релеја",Settings:"Подешавања",SidebarRelays:"Релеји",Refresh:"Освежи",Profile:"Профил",Logout:"Одјава",Following:"Пратим",followings:"праћења",reposted:"поделио/ла","just now":"управо сад","minute ago_one":"пре {{count}} минут","minute ago_other":"пре {{count}} минута","n m":"{{n}}м","hour ago_one":"пре {{count}} сат","hour ago_other":"пре {{count}} сати","n h":"{{n}}с","day ago_one":"пре {{count}} дан","day ago_other":"пре {{count}} дана","n d":"{{n}}д",date:"{{timestamp, date}}",Follow:"Прати",Unfollow:"Отпрати","Follow failed":"Праћење неуспешно","Unfollow failed":"Отпраћивање неуспешно","show new notes":"прикажи нове белешке","loading...":"учитавање...","Loading...":"Учитавање...","no more notes":"нема више белешки","reply to":"одговори на",reply:"одговор",Reply:"Одговори","load more older replies":"учитај старије одговоре","Write something...":"Напиши нешто...",Cancel:"Откажи",Mentions:"Помињања","Failed to post":"Објављивање неуспешно","Post successful":"Успешно објављено","Your post has been published":"Твоја објава је објављена",Repost:"Подели",Quote:"Цитирај","Copy event ID":"Копирај ID догађаја","Copy user ID":"Копирај ID корисника","View raw event":"Прикажи сиров догађај",Like:"Свиђа ми се","switch to light theme":"пребаци на светлу тему","switch to dark theme":"пребаци на тамну тему","switch to system theme":"пребаци на системску тему",Note:"Белешка",note:"белешка","username's following":"праћења корисника {{username}}","username's used relays":"релеји корисника {{username}}","username's muted":"утишани од стране {{username}}",Login:"Пријава","Follows you":"Прати те","Relay Settings":"Подешавања релеја","Relay set name":"Назив скупа релеја","Add a new relay set":"Додај нови скуп релеја",Add:"Додај","n relays":"{{n}} релеја",Rename:"Преименуј","Copy share link":"Копирај линк за дељење",Delete:"Обриши","Relay already exists":"Релеј већ постоји","invalid relay URL":"неисправан URL релеја","Add a new relay":"Додај нови релеј",back:"назад","Lost in the void":"Изгубљен у празнини","Carry me home":"Однеси ме кући","no replies":"нема одговора","Reply to":"Одговори на",Search:"Претрага","The relays you are connected to do not support search":"Релеји на које сте повезани не подржавају претрагу","Show more...":"Прикажи више...","All users":"Сви корисници","Display replies":"Прикажи одговоре",Notes:"Белешке",Replies:"Одговори",Notifications:"Обавештења","no more notifications":"нема више обавештења","Using private key login is insecure. It is recommended to use a browser extension for login, such as alby, nostr-keyx or nos2x. If you must use a private key, please set a password for encryption at minimum.":"Пријава приватним кључем није безбедна. Препоручује се коришћење екстензије прегледача за пријаву, као што су alby, nostr-keyx или nos2x. Ако морате да користите приватни кључ, барем подесите лозинку за шифровање.","Login with Browser Extension":"Пријава преко екстензије прегледача","Login with Bunker":"Пријава преко Bunker-а","Login with Private Key":"Пријава приватним кључем","Custom relay (optional)":"Прилагођени релеј (опционо)","Copy this connection string to your signer app":"Копирајте овај низ за повезивање у вашу апликацију за потписивање","reload notes":"поново учитај белешке","Logged in Accounts":"Пријављени налози","Add an Account":"Додај налог","More options":"Више опција","Add client tag":"Додај ознаку клијента","Show others this was sent via Smesh":"Покажи другима да је ово послато преко Smesh","Are you sure you want to logout?":"Да ли сте сигурни да желите да се одјавите?","relay sets":"скупови релеја",edit:"уреди",Languages:"Језици",Theme:"Тема",System:"Системска",Light:"Светла",Dark:"Тамна",Temporary:"Привремено","Choose a relay set":"Изаберите скуп релеја","Switch account":"Промени налог",Pictures:"Слике","Picture note":"Белешка са сликом","A special note for picture-first clients like Olas":"Посебна белешка за клијенте фокусиране на слике као што је Olas","Picture note requires images":"Белешка са сликом захтева слике",Relays:"Релеји",Image:"Слика","R & W":"Ч & П",Read:"Читање",Write:"Писање","Pull relay sets":"Повуци скупове релеја","Select the relay sets you want to pull":"Изаберите скупове релеја које желите да повучете","No relay sets found":"Нису пронађени скупови релеја","Pull n relay sets":"Повуци {{n}} скупова релеја",Pull:"Повуци","Select all":"Изабери све","Relay Sets":"Скупови релеја","Read & Write Relays":"Релеји за читање и писање","read relays description":"Релеји за читање се користе за проналажење догађаја о вама. Други корисници ће објављивати догађаје које желе да видите на вашим релејима за читање.","write relays description":"Релеји за писање се користе за објављивање ваших догађаја. Други корисници ће тражити ваше догађаје на вашим релејима за писање.","read & write relays notice":"Број релеја за читање и писање би идеално требало да буде између 2 и 4.","Don't have an account yet?":"Немате још налог?","or simply generate a private key":"или једноставно генеришите приватни кључ","This is a private key. Do not share it with anyone. Keep it safe and secure. You will not be able to recover it if you lose it.":"Ово је приватни кључ. Не делите га ни са ким. Чувајте га на сигурном. Нећете моћи да га повратите ако га изгубите.",Edit:"Уреди",Save:"Сачувај","Display Name":"Приказно име",Bio:"Биографија","Nostr Address (NIP-05)":"Nostr адреса (NIP-05)","Invalid NIP-05 address":"Неисправна NIP-05 адреса","Copy private key":"Копирај приватни кључ","Enter the password to decrypt your ncryptsec":"Унесите лозинку за дешифровање вашег ncryptsec",Back:"Назад","optional: encrypt nsec":"опционо: шифруј nsec",password:"лозинка","Sign up":"Регистрација","Save to":"Сачувај у","Enter a name for the new relay set":"Унесите назив за нови скуп релеја","Save to a new relay set":"Сачувај у нови скуп релеја",Mute:"Утишај",Muted:"Утишан",Unmute:"Укључи","Unmute user":"Укључи корисника","Append n relays":"Додај {{n}} релеја",Append:"Додај","Select relays to append":"Изаберите релеје за додавање","calculating...":"рачунам...","Calculate optimal read relays":"Израчунај оптималне релеје за читање","Login to set":"Пријавите се да подесите","Please login to view following feed":"Пријавите се да видите фид праћених","Send only to r":"Пошаљи само на {{r}}","Send only to these relays":"Пошаљи само на ове релеје",Explore:"Истражи","Search relays":"Претражи релеје",relayInfoBadgeAuth:"Ауторизација",relayInfoBadgeSearch:"Претрага",relayInfoBadgePayment:"Плаћање",Operator:"Оператер",Contact:"Контакт",Software:"Софтвер",Version:"Верзија","Random Relays":"Насумични релеји",randomRelaysRefresh:"Освежи","Explore more":"Истражи више","Payment page":"Страница за плаћање","Supported NIPs":"Подржани NIPs","Open in a":"Отвори у {{a}}","Cannot handle event of kind k":"Не могу да обрадим догађај врсте {{k}}","Sorry! The note cannot be found 😔":"Извините! Белешка није пронађена 😔","This user has been muted":"Овај корисник је утишан",Wallet:"Новчаник",Sats:"Сатошија",sats:"сатошија","Zap to":"Запуј на","Zap n sats":"Запуј {{n}} сатошија",zapComment:"Коментар","Default zap amount":"Подразумевани износ запа","Default zap comment":"Подразумевани коментар запа","Lightning Address (or LNURL)":"Lightning адреса (или LNURL)","Quick zap":"Брзи зап","If enabled, you can zap with a single click. Click and hold for custom amounts":"Ако је укључено, можете да запујете једним кликом. Кликните и држите за прилагођене износе",All:"Све",Reactions:"Реакције",Zaps:"Запови","Earlier notifications":"Раније обавештења","Temporarily display this note":"Привремено прикажи ову белешку",buttonFollowing:"Пратим","Are you sure you want to unfollow this user?":"Да ли сте сигурни да желите да отпратите овог корисника?","Recent Supporters":"Недавни подржаваоци","Seen on":"Виђено на","Temporarily display this reply":"Привремено прикажи овај одговор","Note not found":"Белешка није пронађена","no more replies":"нема више одговора","Relay sets":"Скупови релеја","Favorite Relays":"Омиљени релеји","Following's Favorites":"Омиљени праћених","no more relays":"нема више релеја","Favorited by":"Омиљен од стране","Post settings":"Подешавања објаве","Media upload service":"Сервис за постављање медија","Choose a relay":"Изаберите релеј","no relays found":"нису пронађени релеји",video:"видео","Show n new notes":"Прикажи {{n}} нових белешки","n new notes above":"{{n}} нових белешки изнад",YouTabName:"Ви",Bookmark:"Обележи","Remove bookmark":"Уклони обележивач","no bookmarks found":"нису пронађени обележивачи","no more bookmarks":"нема више обележивача",Bookmarks:"Обележивачи","Show more":"Прикажи више",General:"Опште",Autoplay:"Аутоматска репродукција","Enable video autoplay on this device":"Укључи аутоматску репродукцију видеа на овом уређају","Paste or drop media files to upload":"Налепите или превуците медијске фајлове за постављање",Preview:"Преглед","You are about to publish an event signed by [{{eventAuthorName}}]. You are currently logged in as [{{currentUsername}}]. Are you sure?":"Управо ћете објавити догађај потписан од стране [{{eventAuthorName}}]. Тренутно сте пријављени као [{{currentUsername}}]. Да ли сте сигурни?",From:"Од","Comment on":"Коментар на","View on njump.me":"Прикажи на njump.me","Hide content from untrusted users":"Сакриј садржај од непоузданих корисника","Only show content from your followed users and the users they follow":"Прикажи садржај само од корисника које пратите и корисника које они прате","Followed by":"Праћен од","Mute user privately":"Утишај корисника приватно","Mute user publicly":"Утишај корисника јавно",Quotes:"Цитати","Lightning Invoice":"Lightning рачун","Bookmark failed":"Обележавање неуспешно","Remove bookmark failed":"Уклањање обележивача неуспешно",Pay:"Плати",interactions:"интеракције",notifications:"обавештења","Show untrusted {type}":"Прикажи непоуздане {{type}}","Hide untrusted {type}":"Сакриј непоуздане {{type}}","Currently hiding {type} from untrusted users.":"Тренутно скривам {{type}} од непоузданих корисника.","Currently showing all {type}.":"Тренутно приказујем све {{type}}.","Click continue to show all {type}.":"Кликните настави да прикажете све {{type}}.","Click continue to hide {type} from untrusted users.":"Кликните настави да сакријете {{type}} од непоузданих корисника.","Trusted users include people you follow and people they follow.":"Поуздани корисници укључују људе које пратите и људе које они прате.",Continue:"Настави","Successfully updated mute list":"Листа утишаних успешно ажурирана","No pubkeys found from {url}":"Нису пронађени јавни кључеви са {{url}}",Website:"Веб-сајт","Hide untrusted notes":"Сакриј непоуздане белешке","Hide untrusted interactions":"Сакриј непоуздане интеракције","Hide untrusted notifications":"Сакриј непоуздана обавештења","Open in another client":"Отвори у другом клијенту",Community:"Заједница",Group:"Група","Live event":"Догађај уживо",Article:"Чланак",Unfavorite:"Уклони из омиљених","Recommended relays":"Препоручени релеји","Blossom server URLs":"URL адресе Blossom сервера","You need to add at least one blossom server in order to upload media files.":"Морате додати барем један Blossom сервер да бисте могли да постављате медијске фајлове.","Recommended blossom servers":"Препоручени Blossom сервери","Enter Blossom server URL":"Унесите URL Blossom сервера",Preferred:"Преферирани","Multiple choice (select one or more)":"Вишеструки избор (изаберите један или више)",Vote:"Гласај","{{number}} votes":"{{number}} гласова","Total votes":"Укупно гласова","Poll has ended":"Анкета је завршена","Poll ends at {{time}}":"Анкета се завршава у {{time}}","Load results":"Учитај резултате","This is a poll note.":"Ово је белешка са анкетом.","Unlike regular notes, polls are not widely supported and may not display on other clients.":"За разлику од обичних белешки, анкете нису широко подржане и можда се неће приказати на другим клијентима.","Option {{number}}":"Опција {{number}}","Add Option":"Додај опцију","Allow multiple choices":"Дозволи вишеструки избор","End Date (optional)":"Датум завршетка (опционо)","Clear end date":"Обриши датум завршетка","Relay URLs (optional, comma-separated)":"URL адресе релеја (опционо, раздвојене зарезом)","Remove poll":"Уклони анкету","Refresh results":"Освежи резултате",Poll:"Анкета",Media:"Медија","Republish to ...":"Поново објави на ...","Successfully republish to your write relays":"Успешно поново објављено на ваше релеје за писање","Failed to republish to your write relays: {{error}}":"Неуспешно поновно објављивање на ваше релеје за писање: {{error}}","Successfully republish to relay set: {{name}}":"Успешно поново објављено на скуп релеја: {{name}}","Failed to republish to relay set: {{name}}. Error: {{error}}":"Неуспешно поновно објављивање на скуп релеја: {{name}}. Грешка: {{error}}","Successfully republish to relay: {{url}}":"Успешно поново објављено на релеј: {{url}}","Failed to republish to relay: {{url}}. Error: {{error}}":"Неуспешно поновно објављивање на релеј: {{url}}. Грешка: {{error}}","Write relays":"Релеји за писање","No more reactions":"Нема више реакција","No reactions yet":"Још нема реакција","No more zaps":"Нема више запова","No zaps yet":"Још нема запова","No more reposts":"Нема више дељења","No reposts yet":"Још нема дељења",Reposts:"Дељења",FollowListNotFoundConfirmation:"Листа праћених није пронађена. Да ли желите да направите нову? Ако сте раније пратили кориснике, НЕМОЈТЕ потврдити јер ће ова операција довести до губитка претходне листе праћених.",MuteListNotFoundConfirmation:"Листа утишаних није пронађена. Да ли желите да направите нову? Ако сте раније утишавали кориснике, НЕМОЈТЕ потврдити јер ће ова операција довести до губитка претходне листе утишаних.","Show NSFW content by default":"Подразумевано приказуј NSFW садржај","Custom emoji management":"Управљање прилагођеним емоџијима","After changing emojis, you may need to refresh the page":"После промене емоџија, можда ћете морати да освежите страницу","Too many read relays":"Превише релеја за читање","Too many write relays":"Превише релеја за писање","You have {{count}} read relays. Most clients only use 2-4 relays, setting more is unnecessary.":"Имате {{count}} релеја за читање. Већина клијената користи само 2-4 релеја, подешавање више је непотребно.","You have {{count}} write relays. Most clients only use 2-4 relays, setting more is unnecessary.":"Имате {{count}} релеја за писање. Већина клијената користи само 2-4 релеја, подешавање више је непотребно.","Optimize Relay Settings":"Оптимизуј подешавања релеја","Your current relay configuration may not be optimal. This could make it difficult for others to find your posts and may result in incomplete notifications.":"Тренутна конфигурација релеја можда није оптимална. Ово може отежати другима да пронађу ваше објаве и може довести до непотпуних обавештења.","Optimize Now":"Оптимизуј сада","Maybe Later":"Можда касније","Don't remind me again":"Не подсећај ме поново",Posts:"Објаве",Articles:"Чланци",Highlights:"Истицања",Polls:"Анкете","Voice Posts":"Гласовне објаве","Photo Posts":"Фото објаве","Video Posts":"Видео објаве","Select All":"Изабери све","Clear All":"Обриши све","Set as default filter":"Постави као подразумевани филтер",Apply:"Примени",Reset:"Ресетуј","Share something on this Relay":"Поделите нешто на овом релеју","Try deleting this note":"Покушај да обришеш ову белешку","Deletion request sent to {{count}} relays":"Захтев за брисање послат на {{count}} релеја","Suitable Relays":"Одговарајући релеји","People, keywords, or relays":"Људи, кључне речи или релеји","Hide content mentioning muted users":"Сакриј садржај који помиње утишане кориснике","This note mentions a user you muted":"Ова белешка помиње корисника кога сте утишали",Filter:"Филтер","mentioned you in a note":"вас је поменуо/ла у белешци","quoted your note":"цитирао/ла вашу белешку","voted in your poll":"гласао/ла у вашој анкети","reacted to your note":"реаговао/ла на вашу белешку","reposted your note":"поделио/ла вашу белешку","zapped your note":"запувао/ла вашу белешку","highlighted your note":"истакао/ла вашу белешку","zapped you":"запувао/ла вас","Mark as read":"Означи као прочитано",Report:"Пријави","Successfully report":"Успешно пријављено","Failed to report":"Пријављивање неуспешно",nudity:"Голотиња",malware:"Малвер",profanity:"Псовке",illegal:"Незаконит садржај",spam:"Спам",other:"Остало","Notification list style":"Стил листе обавештења","See extra info for each notification":"Видите додатне информације за свако обавештење","See more notifications at a glance":"Видите више обавештења на један поглед",Detailed:"Детаљно",Compact:"Компактно","Submit Relay":"Предложи релеј",Homepage:"Почетна страница","Proof of Work (difficulty {{minPow}})":"Доказ рада (тежина {{minPow}})","via {{client}}":"преко {{client}}","Auto-load media":"Аутоматско учитавање медија",Always:"Увек","Wi-Fi only":"Само на Wi-Fi",Never:"Никада","Click to load image":"Кликни за учитавање слике","Click to load media":"Кликни за учитавање медија","Click to load YouTube video":"Кликни за учитавање YouTube видеа","Click to load X post":"Кликни за учитавање X објаве","{{count}} reviews":"{{count}} рецензија","Write a review":"Напиши рецензију","No reviews yet. Be the first to write one!":"Још нема рецензија. Будите први који ће написати!","View more reviews":"Прикажи више рецензија","Failed to review":"Рецензија неуспешна","Write a review and pick a star rating":"Напишите рецензију и изаберите оцену",Submit:"Пошаљи","Reviews for {{relay}}":"Рецензије за {{relay}}","No relays selected":"Нису изабрани релеји","Post to":"Објави на","Write relays and {{count}} other relays":"Релеји за писање и {{count}} других релеја","{{count}} relays":"{{count}} релеја","Republishing...":"Поновно објављивање...","Connected to":"Повезан на","Disconnect Wallet":"Одспоји новчаник","Are you absolutely sure?":"Да ли сте потпуно сигурни?","You will not be able to send zaps to others.":"Нећете моћи да шаљете запове другима.",Disconnect:"Одспоји","Start with a Rizful Vault":"Почните са Rizful Vault","or other wallets":"или други новчаници","Rizful Vault":"Rizful Vault","Rizful Vault connected!":"Rizful Vault повезан!","You can now use your Rizful Vault to zap your favorite notes and creators.":"Сада можете да користите свој Rizful Vault да запујете омиљене белешке и ауторе.","Your Lightning Address":"Ваша Lightning адреса","New to Rizful?":"Нови на Rizful?","Sign up for Rizful":"Региструјте се на Rizful","If you already have a Rizful account, you can skip this step.":"Ако већ имате Rizful налог, можете прескочити овај корак.","Get your one-time code":"Добијте ваш једнократни код","Get code":"Добиј код","Connect to your Rizful Vault":"Повежите се на ваш Rizful Vault","Paste your one-time code here":"Налепите ваш једнократни код овде",Connect:"Повежи","Connect Wallet":"Повежи новчаник","Set up your wallet to send and receive sats!":"Подесите новчаник за слање и примање сатошија!","Set up":"Подеси",Pinned:"Закачено",Unpin:"Откачи",Unpinning:"Откачивање","Pinning...":"Качење...","Pinned!":"Закачено!","Failed to pin: {{error}}":"Качење неуспешно: {{error}}","Unpinning...":"Откачивање...","Unpinned!":"Откачено!","Failed to unpin: {{error}}":"Откачивање неуспешно: {{error}}","Unpin from profile":"Откачи са профила","Pin to profile":"Закачи на профил",Appearance:"Изглед","Pure Black":"Потпуно црна",Default:"Подразумевано",Red:"Црвена",Orange:"Наранџаста",Amber:"Ћилибар",Yellow:"Жута",Lime:"Лимета",Green:"Зелена",Emerald:"Смарагдна",Teal:"Тиркизна",Cyan:"Цијан",Sky:"Небеска",Blue:"Плава",Indigo:"Индиго",Violet:"Љубичаста",Purple:"Пурпурна",Fuchsia:"Фуксија",Pink:"Розе",Rose:"Ружичаста","Primary color":"Примарна боја",Layout:"Распоред","Two-column":"Две колоне","Single-column":"Једна колона",Reviews:"Рецензије",Extension:"Екстензија",Remote:"Даљински","Encrypted Key":"Шифрован кључ","Private Key":"Приватни кључ","Welcome to Smesh":"Добродошли на Smesh","Smesh is a client focused on browsing relays. Get started by exploring interesting relays or login to view your following feed.":"Smesh је nostr клијент фокусиран на изградњу заједница и помоћ у координацији људи са сувереним начином размишљања.","Explore Relays":"Истражи релеје","Choose a feed":"Изаберите фид","and {{x}} others":"и {{x}} других",selfZapWarning:"Smesh не одговара за последице самозаповања. Настављате на сопствену одговорност. 😉⚡","Emoji Pack":"Пакет емоџија","Emoji pack added":"Пакет емоџија додат","Add emoji pack failed":"Додавање пакета емоџија неуспешно","Emoji pack removed":"Пакет емоџија уклоњен","Remove emoji pack failed":"Уклањање пакета емоџија неуспешно",Added:"Додато","Emoji Packs":"Пакети емоџија","My Packs":"Моји пакети","Adding...":"Додавање...","Removing...":"Уклањање...",Reload:"Поново учитај","Request to Join Relay":"Захтев за приступ релеју","Leave Relay":"Напусти релеј",Leave:"Напусти","Are you sure you want to leave this relay?":"Да ли сте сигурни да желите да напустите овај релеј?","Join request sent successfully":"Захтев за приступ успешно послат","Failed to send join request":"Слање захтева за приступ неуспешно","Leave request sent successfully":"Захтев за напуштање успешно послат","Failed to send leave request":"Слање захтева за напуштање неуспешно","Enter an invite code if you have one. Otherwise, leave it blank to send a request.":"Унесите позивни код ако га имате. У супротном, оставите празно да пошаљете захтев.","Invite Code (Optional)":"Позивни код (опционо)","Enter invite code":"Унесите позивни код","Sending...":"Слање...","Send Request":"Пошаљи захтев","You can get an invite code from a relay member.":"Позивни код можете добити од члана релеја.","Enter the invite code you received from a relay member.":"Унесите позивни код који сте добили од члана релеја.","Get Invite Code":"Добиј позивни код","Share this invite code with others to invite them to join this relay.":"Поделите овај позивни код са другима да их позовете да се придруже овом релеју.","Invite Code":"Позивни код",Copy:"Копирај","This invite code can be used by others to join the relay.":"Овај позивни код други могу користити да се придруже релеју.","No invite code available from this relay.":"Нема доступног позивног кода за овај релеј.",Close:"Затвори","Failed to get invite code from relay":"Добијање позивног кода са релеја неуспешно","Failed to get invite code":"Добијање позивног кода неуспешно","Invite code copied to clipboard":"Позивни код копиран у привремену меморију","Favicon URL":"URL фавикона","Filter out onion relays":"Филтрирај онион релеје","View Nostr comments":"Прикажи Nostr коментаре","Search for notes":"Претражи белешке","Search for hashtag":"Претражи хештег","Go to note":"Иди на белешку","Go to relay":"Иди на релеј","View discussions about this":"Прикажи дискусије о овоме","Open link":"Отвори линк","View Nostr discussions":"Прикажи Nostr дискусије","Optimal relays":"Оптимални релеји","Successfully republish to optimal relays (your write relays and mentioned users' read relays)":"Успешно поново објављено на оптималне релеје (ваши релеји за писање и релеји за читање поменутих корисника)","Failed to republish to optimal relays: {{error}}":"Неуспешно поновно објављивање на оптималне релеје: {{error}}","External Content":"Спољашњи садржај",Highlight:"Истицање","Optimal relays and {{count}} other relays":"Оптимални релеји и {{count}} других релеја","Likely spam account (Trust score: {{percentile}}%)":"Вероватно спам налог (Оцена поверења: {{percentile}}%)","Suspicious account (Trust score: {{percentile}}%)":"Сумњив налог (Оцена поверења: {{percentile}}%)","n users":"{{count}} корисника","n users_one":"{{count}} корисник","n users_other":"{{count}} корисника","View Details":"Прикажи детаље","Follow Pack Not Found":"Пакет праћених није пронађен","Follow pack not found":"Пакет праћених није пронађен",Users:"Корисници",Feed:"Фид","Follow Pack":"Пакет праћених","Load earlier":"Учитај раније","Last 24 hours":"Последња 24 сата","Last {{count}} days":"Последњих {{count}} дана",notes:"белешке","Quick reaction":"Брза реакција","If enabled, you can react with a single click. Click and hold for more options":"Ако је укључено, можете реаговати једним кликом. Кликните и држите за више опција","Quick reaction emoji":"Емоџи за брзу реакцију","Select emoji":"Изаберите емоџи","NSFW content display":"Приказ NSFW садржаја","Hide completely":"Потпуно сакриј","Show but hide content":"Прикажи али сакриј садржај","Show directly":"Прикажи директно","Click to view":"Кликни за приказ","Special Follow":"Посебно праћење","Unfollow Special":"Отпрати посебно","Personal Feeds":"Лични фидови","Relay Feeds":"Фидови релеја","Create Highlight":"Направи истицање","Write your thoughts about this highlight...":"Напишите своје мисли о овом истицању...","Publish Highlight":"Објави истицање","Show replies":"Прикажи одговоре","Hide replies":"Сакриј одговоре","Welcome to Smesh!":"Добродошли на Smesh!","Your feed is empty because you are not following anyone yet. Start by exploring interesting content and following users you like!":"Ваш фид је празан јер још не пратите никога. Почните истраживањем занимљивог садржаја и праћењем корисника који вам се допадају!","Search Users":"Претражи кориснике","Create New Account":"Направи нови налог",Important:"Важно","Generate Your Account":"Генериши свој налог","Your private key IS your account. Keep it safe!":"Ваш приватни кључ ЈЕСТЕ ваш налог. Чувајте га на сигурном!","In Nostr, your private key IS your account. If you lose your private key, you lose your account forever.":"У Nostr мрежи, ваш приватни кључ ЈЕСТЕ ваш налог. Ако изгубите приватни кључ, заувек губите налог.","Your Private Key":"Ваш приватни кључ","Generate new key":"Генериши нови кључ","Download Backup File":"Преузми резервну копију","Copied to Clipboard":"Копирано у привремену меморију","Copy to Clipboard":"Копирај у привремену меморију","I already saved my private key securely.":"Већ сам безбедно сачувао/ла свој приватни кључ.","Almost Done!":"Скоро готово!","Set a password to encrypt your key, or skip to finish":"Подесите лозинку за шифровање кључа, или прескочите да завршите","Password Protection (Optional)":"Заштита лозинком (опционо)","Setting a password encrypts your private key in this browser. You can skip this step, but we recommend setting one for added security.":"Подешавање лозинке шифрује ваш приватни кључ у овом прегледачу. Можете прескочити овај корак, али препоручујемо да подесите лозинку за додатну безбедност.","Password (Optional)":"Лозинка (опционо)","Enter password or leave empty to skip":"Унесите лозинку или оставите празно да прескочите","Confirm Password":"Потврдите лозинку","Re-enter password":"Поново унесите лозинку","Passwords do not match":"Лозинке се не подударају","Finish Signup":"Заврши регистрацију","Create Your Nostr Account":"Направите свој Nostr налог","Generate your unique private key. This is your digital identity.":"Генеришите свој јединствени приватни кључ. Ово је ваш дигитални идентитет.","Critical: Save Your Private Key":"Критично: Сачувајте свој приватни кључ","Your private key IS your account. There is no password recovery. If you lose it, you lose your account forever. Please save it in a secure location.":"Ваш приватни кључ ЈЕСТЕ ваш налог. Не постоји опоравак лозинке. Ако га изгубите, заувек губите налог. Сачувајте га на безбедном месту.","I have safely backed up my private key":"Безбедно сам направио/ла резервну копију свог приватног кључа","Secure Your Account":"Обезбедите свој налог","Add an extra layer of protection with a password":"Додајте додатни ниво заштите лозинком","Password Protection (Recommended)":"Заштита лозинком (препоручено)","Add a password to encrypt your private key in this browser. This is optional but strongly recommended for better security.":"Додајте лозинку за шифровање приватног кључа у овом прегледачу. Ово је опционо, али се снажно препоручује за бољу безбедност.","Create a password (or skip)":"Направите лозинку (или прескочите)","Enter your password again":"Поново унесите лозинку","Complete Signup":"Заврши регистрацију",Recommended:"Препоручено"}},e2e={translation:{"Welcome! 🥳":"ยินดีต้อนรับ! 🥳",About:"เกี่ยวกับ","New Note":"โน้ตใหม่",Post:"โพสต์",Home:"หน้าหลัก","Relay settings":"การตั้งค่ารีเลย์",Settings:"การตั้งค่า",SidebarRelays:"รีเลย์",Refresh:"รีเฟรช",Profile:"โปรไฟล์",Logout:"ออกจากระบบ",Following:"กำลังติดตาม",followings:"กำลังติดตาม",reposted:"รีโพสต์","just now":"เมื่อสักครู่","minute ago_one":"{{count}} นาทีที่แล้ว","minute ago_other":"{{count}} นาทีที่แล้ว","n m":"{{n}}น","hour ago_one":"{{count}} ชั่วโมงที่แล้ว","hour ago_other":"{{count}} ชั่วโมงที่แล้ว","n h":"{{n}}ชม","day ago_one":"{{count}} วันที่แล้ว","day ago_other":"{{count}} วันที่แล้ว","n d":"{{n}}วัน",date:"{{timestamp, date}}",Follow:"ติดตาม",Unfollow:"เลิกติดตาม","Follow failed":"ติดตามไม่สำเร็จ","Unfollow failed":"เลิกติดตามไม่สำเร็จ","show new notes":"แสดงโน้ตใหม่","loading...":"กำลังโหลด...","Loading...":"กำลังโหลด...","no more notes":"ไม่มีโน้ตเพิ่มเติม","reply to":"ตอบกลับถึง",reply:"ตอบกลับ",Reply:"ตอบกลับ","load more older replies":"โหลดการตอบกลับเพิ่มเติม","Write something...":"เขียนอะไรบางอย่าง...",Cancel:"ยกเลิก",Mentions:"การกล่าวถึง","Failed to post":"โพสต์ไม่สำเร็จ","Post successful":"โพสต์สำเร็จ","Your post has been published":"โพสต์ของคุณถูกเผยแพร่แล้ว",Repost:"รีโพสต์",Quote:"อ้างอิง","Copy event ID":"คัดลอก ID เหตุการณ์","Copy user ID":"คัดลอก ID ผู้ใช้","View raw event":"ดูเหตุการณ์ดิบ",Like:"ถูกใจ","switch to light theme":"เปลี่ยนเป็นธีมสว่าง","switch to dark theme":"เปลี่ยนเป็นธีมมืด","switch to system theme":"เปลี่ยนเป็นธีมระบบ",Note:"โน้ต",note:"โน้ต","username's following":"ผู้ที่ {{username}} กำลังติดตาม","username's used relays":"รีเลย์ที่ {{username}} ใช้งาน","username's muted":"ผู้ที่ {{username}} ปิดเสียง",Login:"เข้าสู่ระบบ","Follows you":"ติดตามคุณ","Relay Settings":"การตั้งค่ารีเลย์","Relay set name":"ชื่อชุดรีเลย์","Add a new relay set":"เพิ่มชุดรีเลย์ใหม่",Add:"เพิ่ม","n relays":"{{n}} รีเลย์",Rename:"เปลี่ยนชื่อ","Copy share link":"คัดลอกลิงก์แชร์",Delete:"ลบ","Relay already exists":"รีเลย์มีอยู่แล้ว","invalid relay URL":"URL รีเลย์ไม่ถูกต้อง","Add a new relay":"เพิ่มรีเลย์ใหม่",back:"ย้อนกลับ","Lost in the void":"หลงอยู่ในความว่างเปล่า","Carry me home":"พาฉันกลับบ้าน","no replies":"ไม่มีการตอบกลับ","Reply to":"ตอบกลับถึง",Search:"ค้นหา","The relays you are connected to do not support search":"รีเลย์ที่คุณเชื่อมต่อไม่รองรับการค้นหา","Show more...":"แสดงเพิ่มเติม...","All users":"ผู้ใช้ทั้งหมด","Display replies":"แสดงการตอบกลับ",Notes:"โน้ต",Replies:"การตอบกลับ",Notifications:"การแจ้งเตือน","no more notifications":"ไม่มีการแจ้งเตือนเพิ่มเติม","Using private key login is insecure. It is recommended to use a browser extension for login, such as alby, nostr-keyx or nos2x. If you must use a private key, please set a password for encryption at minimum.":"การเข้าสู่ระบบด้วยคีย์ส่วนตัวไม่ปลอดภัย แนะนำให้ใช้ส่วนขยายเบราว์เซอร์สำหรับการเข้าสู่ระบบ เช่น alby, nostr-keyx หรือ nos2x หากคุณต้องใช้คีย์ส่วนตัว โปรดตั้งรหัสผ่านเพื่อเข้ารหัสอย่างน้อย","Login with Browser Extension":"เข้าสู่ระบบด้วยส่วนขยายเบราว์เซอร์","Login with Bunker":"เข้าสู่ระบบด้วย Bunker","Login with Private Key":"เข้าสู่ระบบด้วยคีย์ส่วนตัว","reload notes":"โหลดโน้ตใหม่","Logged in Accounts":"บัญชีที่เข้าสู่ระบบ","Add an Account":"เพิ่มบัญชี","More options":"ตัวเลือกเพิ่มเติม","Add client tag":"เพิ่มแท็กไคลเอนต์","Show others this was sent via Smesh":"แสดงให้ผู้อื่นเห็นว่าส่งผ่าน Smesh","Are you sure you want to logout?":"คุณแน่ใจหรือไม่ว่าต้องการออกจากระบบ?","relay sets":"ชุดรีเลย์",edit:"แก้ไข",Languages:"ภาษา",Theme:"ธีม",System:"ระบบ",Light:"สว่าง",Dark:"มืด",Temporary:"ชั่วคราว","Choose a relay set":"เลือกชุดรีเลย์","Switch account":"สลับบัญชี",Pictures:"รูปภาพ","Picture note":"โน้ตรูปภาพ","A special note for picture-first clients like Olas":"หมายเหตุพิเศษสำหรับไคลเอนต์ที่เน้นรูปภาพเช่น Olas","Picture note requires images":"โน้ตรูปภาพต้องมีรูปภาพ",Relays:"รีเลย์",Image:"รูปภาพ","R & W":"อ่าน & เขียน",Read:"อ่าน",Write:"เขียน","Pull relay sets":"ดึงชุดรีเลย์","Select the relay sets you want to pull":"เลือกชุดรีเลย์ที่ต้องการดึง","No relay sets found":"ไม่พบชุดรีเลย์","Pull n relay sets":"ดึงชุดรีเลย์ {{n}} ชุด",Pull:"ดึง","Select all":"เลือกทั้งหมด","Relay Sets":"ชุดรีเลย์","Read & Write Relays":"รีเลย์อ่านและเขียน","read relays description":"รีเลย์อ่านใช้สำหรับค้นหาเหตุการณ์เกี่ยวกับคุณ ผู้ใช้อื่นจะเผยแพร่เหตุการณ์ที่ต้องการให้คุณเห็นไปยังรีเลย์อ่านของคุณ","write relays description":"รีเลย์เขียนใช้สำหรับเผยแพร่เหตุการณ์ของคุณ ผู้ใช้อื่นจะค้นหาเหตุการณ์ของคุณจากรีเลย์เขียนของคุณ","read & write relays notice":"จำนวนเซิร์ฟเวอร์อ่านและเขียนควรอยู่ระหว่าง 2 ถึง 4","Don't have an account yet?":"ยังไม่มีบัญชี?","or simply generate a private key":"หรือสร้างคีย์ส่วนตัว","This is a private key. Do not share it with anyone. Keep it safe and secure. You will not be able to recover it if you lose it.":"นี่คือคีย์ส่วนตัว อย่าแบ่งปันกับใคร เก็บไว้ให้ปลอดภัย หากสูญหายจะไม่สามารถกู้คืนได้",Edit:"แก้ไข",Save:"บันทึก","Display Name":"ชื่อที่แสดง",Bio:"ประวัติ","Nostr Address (NIP-05)":"ที่อยู่ Nostr (NIP-05)","Invalid NIP-05 address":"ที่อยู่ NIP-05 ไม่ถูกต้อง","Copy private key":"คัดลอกคีย์ส่วนตัว","Enter the password to decrypt your ncryptsec":"กรอกรหัสผ่านเพื่อถอดรหัส ncryptsec ของคุณ",Back:"ย้อนกลับ","optional: encrypt nsec":"ตัวเลือก: เข้ารหัส nsec",password:"รหัสผ่าน","Sign up":"สมัครสมาชิก","Save to":"บันทึกไปที่","Enter a name for the new relay set":"กรอกชื่อชุดรีเลย์ใหม่","Save to a new relay set":"บันทึกไปยังชุดรีเลย์ใหม่",Mute:"ปิดเสียง",Muted:"ปิดเสียงแล้ว",Unmute:"ยกเลิกปิดเสียง","Unmute user":"ยกเลิกปิดเสียงผู้ใช้","Append n relays":"เพิ่มรีเลย์ {{n}}",Append:"เพิ่ม","Select relays to append":"เลือกรีเลย์ที่จะเพิ่ม","calculating...":"กำลังคำนวณ...","Calculate optimal read relays":"คำนวณรีเลย์อ่านที่เหมาะสม","Login to set":"เข้าสู่ระบบเพื่อกำหนด","Please login to view following feed":"กรุณาเข้าสู่ระบบเพื่อดูฟีดที่ติดตาม","Send only to r":"ส่งเฉพาะไปยัง {{r}}","Send only to these relays":"ส่งเฉพาะไปยังรีเลย์เหล่านี้",Explore:"สำรวจ","Search relays":"ค้นหารีเลย์",relayInfoBadgeAuth:"ยืนยันตัวตน",relayInfoBadgeSearch:"ค้นหา",relayInfoBadgePayment:"ชำระเงิน",Operator:"ผู้ดำเนินการ",Contact:"ติดต่อ",Software:"ซอฟต์แวร์",Version:"เวอร์ชัน","Random Relays":"รีเลย์สุ่ม",randomRelaysRefresh:"รีเฟรช","Explore more":"สำรวจเพิ่มเติม","Payment page":"หน้าชำระเงิน","Supported NIPs":"NIP ที่รองรับ","Open in a":"เปิดใน {{a}}","Cannot handle event of kind k":"ไม่สามารถจัดการเหตุการณ์ประเภท {{k}}","Sorry! The note cannot be found 😔":"ขออภัย! ไม่พบโน้ต 😔","This user has been muted":"ผู้ใช้นี้ถูกปิดเสียง",Wallet:"กระเป๋าสตางค์",Sats:"ซาตส์",sats:"ซาตส์","Zap to":"ส่งซาตส์ไปยัง","Zap n sats":"ส่ง {{n}} ซาตส์",zapComment:"ความคิดเห็น","Default zap amount":"จำนวนซาตส์เริ่มต้น","Default zap comment":"ความคิดเห็นเริ่มต้น","Lightning Address (or LNURL)":"ที่อยู่ Lightning (หรือ LNURL)","Quick zap":"ส่งซาตส์ด่วน","If enabled, you can zap with a single click. Click and hold for custom amounts":"หากเปิดใช้งาน คุณสามารถส่งซาตส์ด้วยคลิกเดียว กดค้างเพื่อกำหนดจำนวนเอง",All:"ทั้งหมด",Reactions:"ปฏิกิริยา",Zaps:"ซาตส์","Earlier notifications":"การแจ้งเตือนก่อนหน้า","Temporarily display this note":"แสดงโน้ตนี้ชั่วคราว",buttonFollowing:"กำลังติดตาม","Are you sure you want to unfollow this user?":"คุณแน่ใจหรือไม่ว่าต้องการเลิกติดตามผู้ใช้นี้?","Recent Supporters":"ผู้สนับสนุนล่าสุด","Seen on":"เห็นเมื่อ","Temporarily display this reply":"แสดงการตอบกลับนี้ชั่วคราว","Note not found":"ไม่พบโน้ต","no more replies":"ไม่มีการตอบกลับเพิ่มเติม","Relay sets":"ชุดรีเลย์","Favorite Relays":"รีเลย์โปรด","Following's Favorites":"รายการโปรดของผู้ที่ติดตาม","no more relays":"ไม่มีรีเลย์เพิ่มเติม","Favorited by":"ถูกเพิ่มเป็นรายการโปรดโดย","Post settings":"การตั้งค่าโพสต์","Media upload service":"บริการอัปโหลดสื่อ","Choose a relay":"เลือกรีเลย์","no relays found":"ไม่พบรีเลย์",video:"วิดีโอ","Show n new notes":"แสดงโน้ตใหม่ {{n}} รายการ",YouTabName:"คุณ",Bookmark:"บุ๊กมาร์ก","Remove bookmark":"ลบบุ๊กมาร์ก","no bookmarks found":"ไม่พบบุ๊กมาร์ก","no more bookmarks":"ไม่มีบุ๊กมาร์กเพิ่มเติม",Bookmarks:"บุ๊กมาร์ก","Show more":"แสดงเพิ่มเติม",General:"ทั่วไป",Autoplay:"เล่นอัตโนมัติ","Enable video autoplay on this device":"เปิดใช้งานเล่นวิดีโออัตโนมัติบนอุปกรณ์นี้","Paste or drop media files to upload":"วางหรือหย่อนไฟล์สื่อเพื่ออัปโหลด",Preview:"ดูตัวอย่าง","You are about to publish an event signed by [{{eventAuthorName}}]. You are currently logged in as [{{currentUsername}}]. Are you sure?":"คุณกำลังจะเผยแพร่เหตุการณ์ที่ลงนามโดย [{{eventAuthorName}}] ขณะนี้คุณเข้าสู่ระบบเป็น [{{currentUsername}}] คุณแน่ใจหรือไม่?","Platinum Sponsors":"ผู้สนับสนุนระดับแพลตินัม",From:"จาก","Comment on":"แสดงความคิดเห็นใน","View on njump.me":"ดูบน njump.me","Hide content from untrusted users":"ซ่อนเนื้อหาจากผู้ใช้ที่ไม่น่าเชื่อถือ","Only show content from your followed users and the users they follow":"แสดงเฉพาะเนื้อหาจากผู้ใช้ที่คุณติดตามและผู้ใช้ที่พวกเขาติดตาม","Followed by":"ติดตามโดย","Mute user privately":"ปิดเสียงผู้ใช้แบบส่วนตัว","Mute user publicly":"ปิดเสียงผู้ใช้แบบสาธารณะ",Quotes:"คำพูด","Lightning Invoice":"ใบแจ้งหนี้ Lightning","Bookmark failed":"บุ๊กมาร์กไม่สำเร็จ","Remove bookmark failed":"ลบบุ๊กมาร์กไม่สำเร็จ",Translation:"การแปล",Balance:"ยอดคงเหลือ",characters:"ตัวอักษร",smeshTranslateApiKeyDescription:"คุณสามารถใช้ API key นี้กับที่อื่นที่รองรับ LibreTranslate ที่อยู่บริการคือ {{serviceUrl}}","Top up":"เติมเงิน","Will receive: {n} characters":"จะได้รับ: {{n}} ตัวอักษร","Top up {n} sats":"เติมเงิน {{n}} ซาตส์","Minimum top up is {n} sats":"เติมเงินขั้นต่ำ {{n}} ซาตส์",Service:"บริการ","Reset API key":"รีเซ็ต API key","Are you sure you want to reset your API key? This action cannot be undone.":"คุณแน่ใจหรือไม่ว่าต้องการรีเซ็ต API key? การกระทำนี้ไม่สามารถย้อนกลับได้",Warning:"คำเตือน","Your current API key will become invalid immediately, and any applications using it will stop working until you update them with the new key.":"API key ปัจจุบันของคุณจะใช้ไม่ได้ทันที และแอปพลิเคชันที่ใช้งานจะหยุดทำงานจนกว่าคุณจะอัปเดตด้วยคีย์ใหม่","Service address":"ที่อยู่บริการ",Pay:"ชำระเงิน",interactions:"การโต้ตอบ",notifications:"การแจ้งเตือน","Show untrusted {type}":"แสดง {{type}} ที่ไม่น่าเชื่อถือ","Hide untrusted {type}":"ซ่อน {{type}} ที่ไม่น่าเชื่อถือ","Currently hiding {type} from untrusted users.":"ขณะนี้กำลังซ่อน {{type}} จากผู้ใช้ที่ไม่น่าเชื่อถือ","Currently showing all {type}.":"ขณะนี้แสดง {{type}} ทั้งหมด","Click continue to show all {type}.":"คลิกดำเนินการต่อเพื่อแสดง {{type}} ทั้งหมด","Click continue to hide {type} from untrusted users.":"คลิกดำเนินการต่อเพื่อซ่อน {{type}} จากผู้ใช้ที่ไม่น่าเชื่อถือ","Trusted users include people you follow and people they follow.":"ผู้ใช้ที่เชื่อถือได้รวมถึงผู้ที่คุณติดตามและผู้ที่พวกเขาติดตาม",Continue:"ดำเนินการต่อ","Successfully updated mute list":"อัปเดตรายการปิดเสียงสำเร็จ","No pubkeys found from {url}":"ไม่พบ pubkeys จาก {{url}}","Translating...":"กำลังแปล...",Translate:"แปล","Show original":"แสดงต้นฉบับ",Website:"เว็บไซต์","Hide untrusted notes":"ซ่อนโน้ตที่ไม่น่าเชื่อถือ","Open in another client":"เปิดในไคลเอนต์อื่น",Community:"ชุมชน",Group:"กลุ่ม","Live event":"เหตุการณ์สด",Article:"บทความ",Unfavorite:"เลิกชื่นชอบ","Recommended relays":"รีเลย์ที่แนะนำ","Blossom server URLs":"URL ของเซิร์ฟเวอร์ Blossom","You need to add at least one blossom server in order to upload media files.":"คุณต้องเพิ่มเซิร์ฟเวอร์ Blossom อย่างน้อยหนึ่งตัวเพื่ออัปโหลดไฟล์สื่อ","Recommended blossom servers":"เซิร์ฟเวอร์ Blossom ที่แนะนำ","Enter Blossom server URL":"ป้อน URL ของเซิร์ฟเวอร์ Blossom",Preferred:"ที่ชื่นชอบ","Multiple choice (select one or more)":"ตัวเลือกหลายรายการ (เลือกหนึ่งหรือมากกว่า)",Vote:"โหวต","{{number}} votes":"{{number}} คะแนน","Total votes":"คะแนนรวม","Poll has ended":"การโพลล์สิ้นสุดแล้ว","Poll ends at {{time}}":"การโพลล์สิ้นสุดเวลา {{time}}","Load results":"โหลดผลลัพธ์","This is a poll note.":"นี่คือโน้ตโพลล์","Unlike regular notes, polls are not widely supported and may not display on other clients.":"ไม่เหมือนโน้ตธรรมดา โพลล์ไม่ได้รับการสนับสนุนอย่างแพร่หลายและอาจไม่แสดงในไคลเอนต์อื่น","Option {{number}}":"ตัวเลือก {{number}}","Add Option":"เพิ่มตัวเลือก","Allow multiple choices":"อนุญาตให้เลือกหลายรายการ","End Date (optional)":"วันที่สิ้นสุด (ไม่บังคับ)","Clear end date":"ล้างวันที่สิ้นสุด","Relay URLs (optional, comma-separated)":"URL รีเลย์ (ไม่บังคับ, คั่นด้วยจุลภาค)","Remove poll":"ลบโพลล์","Refresh results":"รีเฟรชผลลัพธ์",Poll:"โพลล์",Media:"สื่อ","Republish to ...":"เผยแพร่ซ้ำไปยัง ...","Successfully republish to your write relays":"Successfully republish to your write relays","Failed to republish to your write relays: {{error}}":"Failed to republish to your write relays: {{error}}","Successfully republish to relay set: {{name}}":"Successfully republish to relay set: {{name}}","Failed to republish to relay set: {{name}}. Error: {{error}}":"Failed to republish to relay set: {{name}}. Error: {{error}}","Successfully republish to relay: {{url}}":"Successfully republish to relay: {{url}}","Failed to republish to relay: {{url}}. Error: {{error}}":"Failed to republish to relay: {{url}}. Error: {{error}}","Write relays":"รีเลย์การเขียน","No more reactions":"ไม่มีปฏิกิริยาเพิ่มเติม","No reactions yet":"ยังไม่มีปฏิกิริยา","No more zaps":"ไม่มีซาตส์เพิ่มเติม","No zaps yet":"ยังไม่มีซาตส์","No more reposts":"ไม่มีการรีโพสต์เพิ่มเติม","No reposts yet":"ยังไม่มีการรีโพสต์",Reposts:"การรีโพสต์",FollowListNotFoundConfirmation:"ไม่พบรายการติดตาม คุณต้องการสร้างรายการใหม่หรือไม่? หากคุณเคยติดตามผู้ใช้มาก่อน กรุณาอย่ายืนยัน เพราะการดำเนินการนี้จะทำให้คุณสูญเสียรายการติดตามก่อนหน้านี้",MuteListNotFoundConfirmation:"ไม่พบรายการปิดเสียง คุณต้องการสร้างรายการใหม่หรือไม่? หากคุณเคยปิดเสียงผู้ใช้มาก่อน กรุณาอย่ายืนยัน เพราะการดำเนินการนี้จะทำให้คุณสูญเสียรายการปิดเสียงก่อนหน้านี้","Show NSFW content by default":"แสดงเนื้อหา NSFW โดยค่าเริ่มต้น","Custom emoji management":"จัดการอีโมจิที่กำหนดเอง","After changing emojis, you may need to refresh the page":"หลังจากเปลี่ยนอีโมจิแล้ว คุณอาจต้องรีเฟรชหน้า","Too many read relays":"Too many read relays","Too many write relays":"Too many write relays","You have {{count}} read relays. Most clients only use 2-4 relays, setting more is unnecessary.":"You have {{count}} read relays. Most clients only use 2-4 relays, setting more is unnecessary.","You have {{count}} write relays. Most clients only use 2-4 relays, setting more is unnecessary.":"You have {{count}} write relays. Most clients only use 2-4 relays, setting more is unnecessary.","Optimize Relay Settings":"ปรับแต่งการตั้งค่า Relay ให้เหมาะสม","Your current relay configuration may not be optimal. This could make it difficult for others to find your posts and may result in incomplete notifications.":"การตั้งค่า relay ปัจจุบันของคุณอาจไม่เหมาะสม อาจทำให้คนอื่นหาโพสต์ของคุณได้ยากและอาจส่งผลให้การแจ้งเตือนไม่สมบูรณ์","Optimize Now":"ปรับแต่งตอนนี้","Maybe Later":"ทีหลังค่อยว่า","Don't remind me again":"ไม่ต้องเตือนอีก",Posts:"โพสต์",Articles:"บทความ",Highlights:"ไฮไลต์",Polls:"โพล","Voice Posts":"โพสต์เสียง","Photo Posts":"โพสต์รูปภาพ","Video Posts":"โพสต์วิดีโอ","Select All":"เลือกทั้งหมด","Clear All":"ล้างทั้งหมด","Set as default filter":"ตั้งเป็นตัวกรองเริ่มต้น",Apply:"ใช้",Reset:"รีเซ็ต","Share something on this Relay":"แชร์บางอย่างบนรีเลย์นี้","Try deleting this note":"ลองลบโน้ตนี้ดู","Deletion request sent to {{count}} relays":"คำขอลบถูกส่งไปยังรีเลย์ {{count}} รายการ","Suitable Relays":"รีเลย์ที่เหมาะสม","People, keywords, or relays":"ผู้คน คีย์เวิร์ด หรือรีเลย์","Hide content mentioning muted users":"ซ่อนเนื้อหาที่กล่าวถึงผู้ใช้ที่ปิดเสียง","This note mentions a user you muted":"โน้ตนี้กล่าวถึงผู้ใช้ที่คุณปิดเสียง",Filter:"ตัวกรอง","mentioned you in a note":"ได้กล่าวถึงคุณในโน้ต","quoted your note":"ได้ยกคำพูดจากโน้ตของคุณ","voted in your poll":"ได้โหวตในการสำรวจของคุณ","reacted to your note":"ได้แสดงปฏิกิริยาต่อโน้ตของคุณ","reposted your note":"ได้รีโพสต์โน้ตของคุณ","zapped your note":"ได้แซปโน้ตของคุณ","highlighted your note":"ได้ไฮไลต์โน้ตของคุณ","zapped you":"ได้แซปคุณ","Mark as read":"ทำเครื่องหมายว่าอ่านแล้ว",Report:"รายงาน","Successfully report":"รายงานสำเร็จ","Failed to report":"การรายงานล้มเหลว",nudity:"ภาพลามก",malware:"มัลแวร์",profanity:"คำหยาบคาย",illegal:"เนื้อหาผิดกฎหมาย",spam:"สแปม",other:"อื่นๆ","Notification list style":"รูปแบบรายการการแจ้งเตือน","See extra info for each notification":"ดูข้อมูลเพิ่มเติมสำหรับการแจ้งเตือนแต่ละรายการ","See more notifications at a glance":"ดูการแจ้งเตือนเพิ่มเติมในแวบเดียว",Detailed:"รายละเอียด",Compact:"กะทัดรัด","Submit Relay":"ส่งรีเลย์",Homepage:"หน้าแรก","Proof of Work (difficulty {{minPow}})":"หลักฐานการทำงาน (ความยาก {{minPow}})","via {{client}}":"ผ่าน {{client}}","Auto-load media":"โหลดสื่ออัตโนมัติ",Always:"เสมอ","Wi-Fi only":"Wi-Fi เท่านั้น",Never:"ไม่เลย","Click to load image":"คลิกเพื่อโหลดรูปภาพ","Click to load media":"คลิกเพื่อโหลดสื่อ","Click to load YouTube video":"คลิกเพื่อโหลดวิดีโอ YouTube","{{count}} reviews":"{{count}} รีวิว","Write a review":"เขียนรีวิว","No reviews yet. Be the first to write one!":"ยังไม่มีรีวิว เป็นคนแรกที่เขียนรีวิวสิ!","View more reviews":"ดูรีวิวเพิ่มเติม","Failed to review":"รีวิวล้มเหลว","Write a review and pick a star rating":"เขียนรีวิวและเลือกคะแนนดาว",Submit:"ส่ง","Reviews for {{relay}}":"รีวิวสำหรับ {{relay}}","No relays selected":"ไม่ได้เลือกรีเลย์","Post to":"โพสต์ไปยัง","Write relays and {{count}} other relays":"รีเลย์เขียนและรีเลย์อื่น ๆ {{count}} ตัว","{{count}} relays":"รีเลย์ {{count}} ตัว","Republishing...":"กำลังเผยแพร่ซ้ำ...","Connected to":"เชื่อมต่อกับ","Disconnect Wallet":"ตัดการเชื่อมต่อกระเป๋าสตางค์","Are you absolutely sure?":"คุณแน่ใจอย่างยิ่งหรือไม่?","You will not be able to send zaps to others.":"คุณจะไม่สามารถส่งซาตส์ไปยังผู้อื่นได้",Disconnect:"ตัดการเชื่อมต่อ","Start with a Rizful Vault":"เริ่มต้นด้วย Rizful Vault","or other wallets":"หรือกระเป๋าสตางค์อื่นๆ","Rizful Vault":"Rizful Vault","Rizful Vault connected!":"Rizful Vault เชื่อมต่อแล้ว!","You can now use your Rizful Vault to zap your favorite notes and creators.":"คุณสามารถใช้ Rizful Vault ของคุณเพื่อส่งซาตส์ไปยังโน้ตและผู้สร้างที่คุณชื่นชอบได้แล้ว","Your Lightning Address":"ที่อยู่ Lightning ของคุณ","New to Rizful?":"ใหม่กับ Rizful?","Sign up for Rizful":"สมัครสมาชิก Rizful","If you already have a Rizful account, you can skip this step.":"หากคุณมีบัญชี Rizful อยู่แล้ว คุณสามารถข้ามขั้นตอนนี้ได้","Get your one-time code":"รับรหัสใช้ครั้งเดียวของคุณ","Get code":"รับรหัส","Connect to your Rizful Vault":"เชื่อมต่อกับ Rizful Vault ของคุณ","Paste your one-time code here":"วางรหัสใช้ครั้งเดียวของคุณที่นี่",Connect:"เชื่อมต่อ","Set up your wallet to send and receive sats!":"ตั้งค่ากระเป๋าของคุณเพื่อส่งและรับ sats!","Set up":"ตั้งค่า",Pinned:"ปักหมุดแล้ว",Unpin:"ยกเลิกปักหมุด",Unpinning:"กำลังยกเลิกปักหมุด","Pinning...":"กำลังปักหมุด...","Pinned!":"ปักหมุดแล้ว!","Failed to pin: {{error}}":"ไม่สามารถปักหมุดได้: {{error}}","Unpinning...":"กำลังยกเลิกปักหมุด...","Unpinned!":"ยกเลิกปักหมุดแล้ว!","Failed to unpin: {{error}}":"ไม่สามารถยกเลิกปักหมุดได้: {{error}}","Unpin from profile":"ยกเลิกปักหมุดจากโปรไฟล์","Pin to profile":"ปักหมุดไปที่โปรไฟล์",Appearance:"รูปลักษณ์","Pure Black":"สีดำล้วน",Default:"ค่าเริ่มต้น",Red:"แดง",Orange:"ส้ม",Amber:"อำพัน",Yellow:"เหลือง",Lime:"มะนาว",Green:"เขียว",Emerald:"มรกต",Teal:"ฟ้าเขียว",Cyan:"ฟ้าน้ำทะเล",Sky:"ฟ้า",Blue:"น้ำเงิน",Indigo:"คราม",Violet:"ม่วงอ่อน",Purple:"ม่วง",Fuchsia:"บานเย็น",Pink:"ชมพู",Rose:"กุหลาบ","Primary color":"สีหลัก",Layout:"เค้าโครง","Two-column":"สองคอลัมน์","Single-column":"คอลัมน์เดียว",Reviews:"รีวิว",Extension:"ส่วนขยาย",Remote:"ระยะไกล","Encrypted Key":"คีย์ที่เข้ารหัส","Private Key":"คีย์ส่วนตัว","Welcome to Smesh":"ยินดีต้อนรับสู่ Smesh","Smesh is a client focused on browsing relays. Get started by exploring interesting relays or login to view your following feed.":"Smesh เป็นไคลเอนต์ nostr ที่เน้นการสร้างชุมชนและช่วยประสานงานผู้คนที่มีแนวคิดอธิปไตย","Explore Relays":"สำรวจรีเลย์","Choose a feed":"เลือกฟีด","and {{x}} others":"และอื่น ๆ {{x}} รายการ",selfZapWarning:"Smesh ไม่รับผิดชอบต่อสิ่งที่เกิดขึ้นหากคุณ zap ตัวเอง ดำเนินการด้วยความเสี่ยงของคุณเอง 😉⚡","Emoji Pack":"แพ็คอีโมจิ","Emoji pack added":"เพิ่มแพ็คอีโมจิแล้ว","Add emoji pack failed":"การเพิ่มแพ็คอีโมจิล้มเหลว","Emoji pack removed":"ลบแพ็คอีโมจิแล้ว","Remove emoji pack failed":"การลบแพ็คอีโมจิล้มเหลว",Added:"เพิ่มแล้ว","Emoji Packs":"แพ็คอีโมจิ","My Packs":"แพ็คของฉัน","Adding...":"กำลังเพิ่ม...","Removing...":"กำลังลบ...",Reload:"โหลดใหม่","Request to Join Relay":"ขอเข้าร่วมรีเลย์","Leave Relay":"ออกจากรีเลย์",Leave:"ออก","Are you sure you want to leave this relay?":"คุณแน่ใจหรือไม่ว่าต้องการออกจากรีเลย์นี้?","Join request sent successfully":"ส่งคำขอเข้าร่วมสำเร็จแล้ว","Failed to send join request":"การส่งคำขอเข้าร่วมล้มเหลว","Leave request sent successfully":"ส่งคำขอออกสำเร็จแล้ว","Failed to send leave request":"การส่งคำขอออกล้มเหลว","Enter an invite code if you have one. Otherwise, leave it blank to send a request.":"ป้อนรหัสเชิญหากคุณมี มิฉะนั้นให้เว้นว่างไว้เพื่อส่งคำขอ","Invite Code (Optional)":"รหัสเชิญ (ไม่บังคับ)","Enter invite code":"ป้อนรหัสเชิญ","Sending...":"กำลังส่ง...","Send Request":"ส่งคำขอ","You can get an invite code from a relay member.":"คุณสามารถรับรหัสเชิญจากสมาชิกรีเลย์","Enter the invite code you received from a relay member.":"ป้อนรหัสเชิญที่คุณได้รับจากสมาชิกรีเลย์","Get Invite Code":"รับรหัสเชิญ","Share this invite code with others to invite them to join this relay.":"แชร์รหัสเชิญนี้กับผู้อื่นเพื่อเชิญพวกเขาเข้าร่วมรีเลย์นี้","Invite Code":"รหัสเชิญ",Copy:"คัดลอก","This invite code can be used by others to join the relay.":"รหัสเชิญนี้สามารถใช้โดยผู้อื่นเพื่อเข้าร่วมรีเลย์","No invite code available from this relay.":"ไม่มีรหัสเชิญที่ใช้ได้จากรีเลย์นี้",Close:"ปิด","Failed to get invite code from relay":"ไม่สามารถรับรหัสเชิญจากรีเลย์","Failed to get invite code":"ไม่สามารถรับรหัสเชิญ","Invite code copied to clipboard":"คัดลอกรหัสเชิญไปยังคลิปบอร์ดแล้ว","Favicon URL":"URL ไอคอน","Filter out onion relays":"กรองรีเลย์ onion","Click to load X post":"คลิกเพื่อโหลดโพสต์ X","View Nostr comments":"ดูความคิดเห็น Nostr","Search for notes":"ค้นหาโน้ต","Search for hashtag":"ค้นหาแฮชแท็ก","Go to note":"ไปที่โน้ต","Go to relay":"ไปที่รีเลย์","View discussions about this":"ดูการสนทนาเกี่ยวกับเนื้อหานี้","Open link":"เปิดลิงก์","View Nostr discussions":"ดูการสนทนา Nostr","Optimal relays":"รีเลย์ที่เหมาะสม","Successfully republish to optimal relays (your write relays and mentioned users' read relays)":"เผยแพร่ซ้ำไปยังรีเลย์ที่เหมาะสมสำเร็จ (รีเลย์เขียนของคุณและรีเลย์อ่านของผู้ใช้ที่กล่าวถึง)","Failed to republish to optimal relays: {{error}}":"เผยแพร่ซ้ำไปยังรีเลย์ที่เหมาะสมล้มเหลว: {{error}}","External Content":"เนื้อหาภายนอก",Highlight:"ไฮไลต์","Optimal relays and {{count}} other relays":"รีเลย์ที่เหมาะสมและรีเลย์อื่น {{count}} รายการ","Likely spam account (Trust score: {{percentile}}%)":"น่าจะเป็นบัญชีสแปม (คะแนนความน่าเชื่อถือ: {{percentile}}%)","Suspicious account (Trust score: {{percentile}}%)":"บัญชีที่น่าสงสัย (คะแนนความน่าเชื่อถือ: {{percentile}}%)","n users":"{{count}} ผู้ใช้","View Details":"ดูรายละเอียด","Follow Pack Not Found":"ไม่พบแพ็คการติดตาม","Follow pack not found":"ไม่พบแพ็คการติดตาม",Users:"ผู้ใช้",Feed:"ฟีด","Follow Pack":"แพ็คการติดตาม","Load earlier":"โหลดข้อมูลก่อนหน้า","Last 24 hours":"24 ชั่วโมงที่แล้ว","Last {{count}} days":"{{count}} วันที่แล้ว",notes:"โน้ต","Quick reaction":"รีแอคชั่นด่วน","If enabled, you can react with a single click. Click and hold for more options":"หากเปิดใช้งาน คุณสามารถรีแอคได้ด้วยคลิกเดียว คลิกค้างไว้สำหรับตัวเลือกเพิ่มเติม","Quick reaction emoji":"อีโมจิรีแอคชั่นด่วน","Select emoji":"เลือกอีโมจิ","NSFW content display":"NSFW content display","Hide completely":"Hide completely","Show but hide content":"Show but hide content","Show directly":"Show directly","Click to view":"Click to view","Special Follow":"ติดตามพิเศษ","Unfollow Special":"ยกเลิกติดตามพิเศษ","Personal Feeds":"ฟีดส่วนตัว","Relay Feeds":"ฟีดรีเลย์","Create Highlight":"สร้างไฮไลท์","Write your thoughts about this highlight...":"เขียนความคิดของคุณเกี่ยวกับไฮไลท์นี้...","Publish Highlight":"เผยแพร่ไฮไลท์","Show replies":"แสดงการตอบกลับ","Hide replies":"ซ่อนการตอบกลับ","Welcome to Smesh!":"ยินดีต้อนรับสู่ Smesh!","Your feed is empty because you are not following anyone yet. Start by exploring interesting content and following users you like!":"ฟีดของคุณว่างเปล่าเพราะคุณยังไม่ได้ติดตามใครเลย เริ่มต้นด้วยการสำรวจเนื้อหาที่น่าสนใจและติดตามผู้ใช้ที่คุณชอบ!","Search Users":"ค้นหาผู้ใช้","Create New Account":"สร้างบัญชีใหม่",Important:"สำคัญ","Generate Your Account":"สร้างบัญชีของคุณ","Your private key IS your account. Keep it safe!":"คีย์ส่วนตัวของคุณคือบัญชีของคุณ เก็บไว้ให้ปลอดภัย!","In Nostr, your private key IS your account. If you lose your private key, you lose your account forever.":"ใน Nostr คีย์ส่วนตัวของคุณคือบัญชีของคุณ หากคุณสูญเสียคีย์ส่วนตัว คุณจะสูญเสียบัญชีของคุณตลอดไป","Your Private Key":"คีย์ส่วนตัวของคุณ","Generate new key":"สร้างคีย์ใหม่","Download Backup File":"ดาวน์โหลดไฟล์สำรอง","Copied to Clipboard":"คัดลอกไปยังคลิปบอร์ดแล้ว","Copy to Clipboard":"คัดลอกไปยังคลิปบอร์ด","I already saved my private key securely.":"ฉันได้บันทึกคีย์ส่วนตัวของฉันอย่างปลอดภัยแล้ว","Almost Done!":"เกือบเสร็จแล้ว!","Set a password to encrypt your key, or skip to finish":"ตั้งรหัสผ่านเพื่อเข้ารหัสคีย์ของคุณ หรือข้ามเพื่อเสร็จสิ้น","Password Protection (Optional)":"การป้องกันด้วยรหัสผ่าน (ไม่บังคับ)","Setting a password encrypts your private key in this browser. You can skip this step, but we recommend setting one for added security.":"การตั้งรหัสผ่านจะเข้ารหัสคีย์ส่วนตัวของคุณในเบราว์เซอร์นี้ คุณสามารถข้ามขั้นตอนนี้ได้ แต่เราแนะนำให้ตั้งรหัสผ่านเพื่อความปลอดภัยเพิ่มเติม","Password (Optional)":"รหัสผ่าน (ไม่บังคับ)","Enter password or leave empty to skip":"ป้อนรหัสผ่านหรือเว้นว่างเพื่อข้าม","Confirm Password":"ยืนยันรหัสผ่าน","Re-enter password":"ป้อนรหัสผ่านอีกครั้ง","Passwords do not match":"รหัสผ่านไม่ตรงกัน","Finish Signup":"เสร็จสิ้นการลงทะเบียน","Create Your Nostr Account":"สร้างบัญชี Nostr ของคุณ","Generate your unique private key. This is your digital identity.":"สร้างคีย์ส่วนตัวที่ไม่ซ้ำของคุณ นี่คือตัวตนดิจิทัลของคุณ","Critical: Save Your Private Key":"สำคัญมาก: บันทึกคีย์ส่วนตัวของคุณ","Your private key IS your account. There is no password recovery. If you lose it, you lose your account forever. Please save it in a secure location.":"คีย์ส่วนตัวของคุณคือบัญชีของคุณ ไม่มีการกู้คืนรหัสผ่าน หากคุณทำหาย คุณจะสูญเสียบัญชีของคุณตลอดไป โปรดบันทึกไว้ในที่ปลอดภัย","I have safely backed up my private key":"ฉันได้สำรองคีย์ส่วนตัวของฉันอย่างปลอดภัยแล้ว","Secure Your Account":"รักษาความปลอดภัยบัญชีของคุณ","Add an extra layer of protection with a password":"เพิ่มชั้นความปลอดภัยเพิ่มเติมด้วยรหัสผ่าน","Password Protection (Recommended)":"การป้องกันด้วยรหัสผ่าน (แนะนำ)","Add a password to encrypt your private key in this browser. This is optional but strongly recommended for better security.":"เพิ่มรหัสผ่านเพื่อเข้ารหัสคีย์ส่วนตัวของคุณในเบราว์เซอร์นี้ เป็นตัวเลือก แต่แนะนำอย่างยิ่งเพื่อความปลอดภัยที่ดีขึ้น","Create a password (or skip)":"สร้างรหัสผ่าน (หรือข้าม)","Enter your password again":"ป้อนรหัสผ่านของคุณอีกครั้ง","Complete Signup":"เสร็จสิ้นการลงทะเบียน",Recommended:"แนะนำ"}},t2e={translation:{"Welcome! 🥳":"来都来了",About:"关于","New Note":"发布新笔记",Post:"发布笔记",Home:"主页","Relay settings":"服务器设置",Settings:"设置",SidebarRelays:"服务器",Refresh:"刷新列表",Profile:"个人资料",Logout:"退出登录",Following:"关注",followings:"关注",reposted:"转发","just now":"刚刚","minute ago_one":"{{count}} 分钟前","minute ago_other":"{{count}} 分钟前","n m":"{{n}}分","hour ago_one":"{{count}} 小时前","hour ago_other":"{{count}} 小时前","n h":"{{n}}时","day ago_one":"{{count}} 天前","day ago_other":"{{count}} 天前","n d":"{{n}}天",date:"{{timestamp, date}}",Follow:"关注",Unfollow:"取消关注","Follow failed":"关注失败","Unfollow failed":"取消关注失败","show new notes":"显示新笔记","loading...":"加载中...","Loading...":"加载中...","no more notes":"到底了","reply to":"回复",reply:"回复",Reply:"回复","load more older replies":"加载更多早期回复","Write something...":"写点什么...",Cancel:"取消",Mentions:"提及","Failed to post":"发布失败","Post successful":"发布成功","Your post has been published":"您的笔记已发布",Repost:"转发",Quote:"引用","Copy event ID":"复制事件 ID","Copy user ID":"复制用户 ID","View raw event":"查看原始事件",Like:"点赞","switch to light theme":"切换到浅色主题","switch to dark theme":"切换到深色主题","switch to system theme":"切换到系统主题",Note:"笔记",note:"笔记","username's following":"{{username}} 的关注","username's used relays":"{{username}} 使用的服务器","username's muted":"{{username}} 屏蔽的用户",Login:"登录","Follows you":"关注了你","Relay Settings":"服务器设置","Relay set name":"服务器组名","Add a new relay set":"添加新的服务器组",Add:"添加","n relays":"{{n}} 个服务器",Rename:"重命名","Copy share link":"复制分享链接",Delete:"删除","Relay already exists":"服务器已存在","invalid relay URL":"无效的服务器地址","Add a new relay":"添加新的服务器",back:"返回","Lost in the void":"迷失在虚空中","Carry me home":"带我回家","no replies":"暂无回复","Reply to":"回复",Search:"搜索","The relays you are connected to do not support search":"您连接的服务器不支持搜索","Show more...":"查看更多...","All users":"所有用户","Display replies":"显示回复",Notes:"笔记",Replies:"回复",Notifications:"通知","no more notifications":"到底了","Using private key login is insecure. It is recommended to use a browser extension for login, such as alby, nostr-keyx or nos2x. If you must use a private key, please set a password for encryption at minimum.":"使用私钥登录不安全。建议使用浏览器插件登录,如 alby、nostr-keyx 或 nos2x。如果必须使用私钥,请至少设置一个密码进行加密。","Login with Browser Extension":"浏览器插件登录","Login with Bunker":"Bunker 登录","Login with Private Key":"私钥登录","reload notes":"重新加载笔记","Logged in Accounts":"已登录账户","Add an Account":"添加账户","More options":"更多选项","Add client tag":"添加客户端标签","Show others this was sent via Smesh":"告诉别人这是通过 Smesh 发送的","Are you sure you want to logout?":"确定要退出登录吗?","relay sets":"服务器组",edit:"编辑",Languages:"语言",Theme:"主题",System:"系统",Light:"浅色",Dark:"深色",Temporary:"临时","Choose a relay set":"选择一个服务器组","Switch account":"切换账户",Pictures:"图片","Picture note":"图片笔记","A special note for picture-first clients like Olas":"一种可以在图片优先客户端 (如 Olas) 中显示的特殊笔记","Picture note requires images":"图片笔记需要有图片",Relays:"服务器",Image:"图片",Normal:"普通","R & W":"读写",Read:"只读",Write:"只写","Pull relay sets":"拉取服务器组","Select the relay sets you want to pull":"选择要拉取的服务器组","No relay sets found":"未找到服务器组","Pull n relay sets":"拉取 {{n}} 个服务器组",Pull:"拉取","Select all":"全选","Relay Sets":"服务器组",Mailbox:"邮箱","Read & Write Relays":"读写服务器","read relays description":"读服务器用于寻找与您有关的事件。其他用户会将想要您看到的事件发布到您的读服务器,比如回复、点赞转发……","write relays description":"写服务器用于发布您的事件。其他用户会从您的写服务器寻找您发布的事件。","read & write relays notice":"读服务器和写服务器的数量都应尽量保持在 2 到 4 个之间。","Don't have an account yet?":"还没有账户?","or simply generate a private key":"或者简单生成一个私钥","This is a private key. Do not share it with anyone. Keep it safe and secure. You will not be able to recover it if you lose it.":"这是私钥,请勿与他人分享。请妥善保管,否则将无法找回。",Edit:"编辑",Save:"保存","Display Name":"昵称",Bio:"简介","Nostr Address (NIP-05)":"Nostr 地址 (NIP-05)","Invalid NIP-05 address":"无效的 NIP-05 地址","Copy private key":"复制私钥","Enter the password to decrypt your ncryptsec":"输入密码以解密您的 ncryptsec",Back:"返回","password (optional): encrypt nsec":"密码 (可选): 加密 nsec","optional: encrypt nsec":"可选: 加密 nsec",password:"密码","Sign up":"注册","Save to":"保存到","Enter a name for the new relay set":"输入新服务器组的名称","Save to a new relay set":"保存到新服务器组",Mute:"屏蔽",Muted:"已屏蔽",Unmute:"取消屏蔽","Unmute user":"取消屏蔽用户","Append n relays":"追加 {{n}} 个服务器",Append:"追加","Select relays to append":"选择要追加的服务器","calculating...":"计算中...","Calculate optimal read relays":"计算最佳读服务器","Login to set":"登录后设置","Please login to view following feed":"请登录以查看关注动态","Send only to r":"只发送到 {{r}}","Send only to these relays":"只发送到这些服务器",Explore:"探索","Search relays":"搜索服务器",relayInfoBadgeAuth:"需登陆",relayInfoBadgeSearch:"支持搜索",relayInfoBadgePayment:"需付费",Operator:"管理员",Contact:"联系方式",Software:"软件",Version:"版本","Random Relays":"随机服务器",randomRelaysRefresh:"换一批","Explore more":"探索更多","Payment page":"付款页面","Supported NIPs":"支持的 NIP","Open in a":"在 {{a}} 中打开","Cannot handle event of kind k":"无法处理类型为 {{k}} 的事件","Sorry! The note cannot be found 😔":"抱歉!找不到该笔记 😔","This user has been muted":"该用户已被屏蔽",Wallet:"钱包",Sats:"聪",sats:"聪","Zap to":"打闪给","Zap n sats":"打闪 {{n}} 聪",zapComment:"附言","Default zap amount":"默认打闪金额","Default zap comment":"默认打闪附言","Lightning Address (or LNURL)":"闪电地址 (或 LNURL)","Quick zap":"快速打闪","If enabled, you can zap with a single click. Click and hold for custom amounts":"如果启用,您单击即可打闪。长按以设置自定义金额",All:"全部",Reactions:"互动",Zaps:"打闪","Earlier notifications":"更早的通知","Temporarily display this note":"临时显示此笔记",buttonFollowing:"已关注","Are you sure you want to unfollow this user?":"确定要取消关注此用户吗?","Recent Supporters":"最近的支持者","Seen on":"来自","Temporarily display this reply":"临时显示此回复","Note not found":"未找到该笔记","no more replies":"没有更多回复了","Relay sets":"服务器组","Favorite Relays":"收藏的服务器","Following's Favorites":"关注人的收藏","no more relays":"没有更多服务器了","Favorited by":"收藏自","Post settings":"发布设置","Media upload service":"媒体上传服务","Choose a relay":"选择一个服务器","no relays found":"未找到服务器",video:"视频","Show n new notes":"显示 {{n}} 条新笔记",YouTabName:"与你",Bookmark:"收藏","Remove bookmark":"取消收藏","no bookmarks found":"暂无收藏","no more bookmarks":"到底了",Bookmarks:"收藏","Show more":"显示更多",General:"常规",Autoplay:"自动播放","Enable video autoplay on this device":"在此设备上启用视频自动播放","Paste or drop media files to upload":"支持粘贴或拖放媒体文件进行上传",Preview:"预览","You are about to publish an event signed by [{{eventAuthorName}}]. You are currently logged in as [{{currentUsername}}]. Are you sure?":"您即将发布一条由 [{{eventAuthorName}}] 签名的事件。您当前以 [{{currentUsername}}] 登录。确定吗?","Platinum Sponsors":"白金赞助商",From:"来自","Comment on":"评论于","View on njump.me":"在 njump.me 上查看","Hide content from untrusted users":"隐藏不受信任用户的内容","Only show content from your followed users and the users they follow":"仅显示您关注的用户及其关注的用户的内容","Followed by":"关注者","Mute user privately":"悄悄屏蔽","Mute user publicly":"公开屏蔽",Quotes:"引用","Lightning Invoice":"闪电发票","Bookmark failed":"收藏失败","Remove bookmark failed":"取消收藏失败",Translation:"翻译",Balance:"余额",characters:"字符",smeshTranslateApiKeyDescription:"您可以在任何支持 LibreTranslate 的地方使用此 API key。服务地址是 {{serviceUrl}}","Top up":"充值","Will receive: {n} characters":"将获得: {{n}} 字符","Top up {n} sats":"充值 {{n}} 聪","Minimum top up is {n} sats":"最低充值金额为 {{n}} 聪",Service:"服务","Reset API key":"重置 API key","Are you sure you want to reset your API key? This action cannot be undone.":"您确定要重置您的 API key?此操作无法撤销。",Warning:"警告","Your current API key will become invalid immediately, and any applications using it will stop working until you update them with the new key.":"您当前的 API key 将立即失效,任何使用它的应用程序将停止工作,直到您用新 key 更新它们。","Service address":"服务地址",Pay:"支付",interactions:"互动",notifications:"通知","Show untrusted {type}":"显示不受信任的{{type}}","Hide untrusted {type}":"隐藏不受信任的{{type}}","Currently hiding {type} from untrusted users.":"当前隐藏来自不受信任用户的{{type}}。","Currently showing all {type}.":"当前显示所有{{type}}。","Click continue to show all {type}.":"点击继续显示所有{{type}}。","Click continue to hide {type} from untrusted users.":"点击继续隐藏来自不受信任用户的{{type}}。","Trusted users include people you follow and people they follow.":"受信任的用户包括您关注的人和他们关注的人。",Continue:"继续","Successfully updated mute list":"成功更新屏蔽列表","No pubkeys found from {url}":"在 {{url}} 中未找到 pubkeys","Translating...":"翻译中...",Translate:"翻译","Show original":"显示原文",Website:"网站","Hide untrusted notes":"隐藏不受信任的笔记","Open in another client":"在其他客户端打开",Community:"社区",Group:"群组","Live event":"直播",Article:"文章",Unfavorite:"取消收藏","Recommended relays":"推荐服务器","Blossom server URLs":"Blossom 服务器地址","You need to add at least one blossom server in order to upload media files.":"您需要添加至少一个 Blossom 服务器才能上传媒体文件。","Recommended blossom servers":"推荐的 Blossom 服务器","Enter Blossom server URL":"输入 Blossom 服务器 URL",Preferred:"首选","Multiple choice (select one or more)":"多选 (选择一个或多个)",Vote:"投票","{{number}} votes":"{{number}} 次投票","Total votes":"总票数","Poll has ended":"投票已结束","Poll ends at {{time}}":"投票结束时间:{{time}}","Load results":"加载结果","This is a poll note.":"这是一个投票帖子。","Unlike regular notes, polls are not widely supported and may not display on other clients.":"与普通帖子不同,投票功能暂时没有得到广泛的支持,可能无法在其他客户端中显示。","Option {{number}}":"选项 {{number}}","Add Option":"添加选项","Allow multiple choices":"允许多选","End Date (optional)":"结束日期(可选)","Clear end date":"清除结束日期","Relay URLs (optional, comma-separated)":"中继服务器 URL(可选,逗号分隔)","Remove poll":"移除投票","Refresh results":"刷新结果",Poll:"投票",Media:"媒体","Republish to ...":"重新发布到 ...","Successfully republish to your write relays":"成功重新发布到您的写服务器","Failed to republish to your write relays: {{error}}":"重新发布到您的写服务器失败: {{error}}","Successfully republish to relay set: {{name}}":"成功重新发布到服务器组: {{name}}","Failed to republish to relay set: {{name}}. Error: {{error}}":"重新发布到服务器组: {{name}} 失败。错误: {{error}}","Successfully republish to relay: {{url}}":"成功重新发布到服务器: {{url}}","Failed to republish to relay: {{url}}. Error: {{error}}":"重新发布到服务器: {{url}} 失败。错误: {{error}}","Write relays":"写服务器","No more reactions":"没有更多互动了","No reactions yet":"暂无互动","No more zaps":"没有更多打闪了","No zaps yet":"暂无打闪","No more reposts":"没有更多转发了","No reposts yet":"暂无转发",Reposts:"转发",FollowListNotFoundConfirmation:"未找到关注列表。你想创建一个新的吗?如果你之前已经关注了用户,请不要确认,因为此操作会导致你丢失之前的关注列表。",MuteListNotFoundConfirmation:"未找到屏蔽列表。你想创建一个新的吗?如果你之前已经屏蔽了用户,请不要确认,因为此操作会导致你丢失之前的屏蔽列表。","Show NSFW content by default":"默认显示 NSFW 内容","Custom emoji management":"自定义表情符号管理","After changing emojis, you may need to refresh the page":"更改表情符号后,您可能需要刷新页面","Too many read relays":"读取中继过多","Too many write relays":"写入中继过多","You have {{count}} read relays. Most clients only use 2-4 relays, setting more is unnecessary.":"您有 {{count}} 个读取中继。大多数客户端只使用 2-4 个中继,设置更多是不必要的。","You have {{count}} write relays. Most clients only use 2-4 relays, setting more is unnecessary.":"您有 {{count}} 个写入中继。大多数客户端只使用 2-4 个中继,设置更多是不必要的。","Optimize Relay Settings":"优化中继设置","Your current relay configuration may not be optimal. This could make it difficult for others to find your posts and may result in incomplete notifications.":"您当前的中继配置可能不是最优的。这可能导致其他人难以找到您发布的内容,也可能导致您无法获取完整的通知列表。","Optimize Now":"立即优化","Maybe Later":"稍后处理","Don't remind me again":"不再提醒",Posts:"帖子",Articles:"文章",Highlights:"高亮",Polls:"投票","Voice Posts":"语音帖子","Photo Posts":"图片帖子","Video Posts":"视频帖子","Select All":"全选","Clear All":"清空","Set as default filter":"设为默认过滤器",Apply:"应用",Reset:"重置","Share something on this Relay":"在此服务器上分享点什么","Try deleting this note":"尝试删除此笔记","Deletion request sent to {{count}} relays":"删除请求已发送到 {{count}} 个服务器","Suitable Relays":"适合的服务器","People, keywords, or relays":"用户、关键词或服务器","Hide content mentioning muted users":"隐藏提及已屏蔽用户的内容","This note mentions a user you muted":"此笔记提及了您已屏蔽的用户",Filter:"过滤器","mentioned you in a note":"在笔记中提及了您","quoted your note":"引用了您的笔记","voted in your poll":"在您的投票中投票","reacted to your note":"对您的笔记做出了反应","reposted your note":"转发了您的笔记","zapped your note":"打闪了您的笔记","highlighted your note":"高亮了您的笔记","zapped you":"给您打闪","Mark as read":"标记为已读",Report:"举报","Successfully report":"举报成功","Failed to report":"举报失败",nudity:"色情内容",malware:"恶意软件",profanity:"亵渎言论",illegal:"违法内容",spam:"垃圾信息",other:"其他","Notification list style":"通知列表样式","See extra info for each notification":"查看每条通知的详细信息","See more notifications at a glance":"一目了然地查看更多通知",Detailed:"详细",Compact:"紧凑","Submit Relay":"提交服务器",Homepage:"主页","Proof of Work (difficulty {{minPow}})":"工作量证明 (难度 {{minPow}})","via {{client}}":"来自 {{client}}","Auto-load media":"自动加载媒体文件",Always:"始终","Wi-Fi only":"仅WiFi",Never:"从不","Click to load image":"点击加载图片","Click to load media":"点击加载音视频","Click to load YouTube video":"点击加载 YouTube 视频","{{count}} reviews":"{{count}} 条评价","Write a review":"写评价","No reviews yet. Be the first to write one!":"还没有评价,成为第一个评价的人吧!","View more reviews":"查看更多评价","Failed to review":"评价失败","Write a review and pick a star rating":"写下评价并选择星级评分",Submit:"提交","Reviews for {{relay}}":"关于 {{relay}} 的评价","No relays selected":"未选择服务器","Post to":"发布到","Write relays and {{count}} other relays":"写服务器和其他 {{count}} 个服务器","{{count}} relays":"{{count}} 个服务器","Republishing...":"正在重新发布...","Connected to":"已连接到","Disconnect Wallet":"断开钱包连接","Are you absolutely sure?":"您确定吗?","You will not be able to send zaps to others.":"您将无法向他人发送打闪。",Disconnect:"断开连接","Start with a Rizful Vault":"从 Rizful 钱包开始","or other wallets":"或其他钱包","Rizful Vault":"Rizful 钱包","Rizful Vault connected!":"Rizful 钱包已连接!","You can now use your Rizful Vault to zap your favorite notes and creators.":"您现在可以使用您的 Rizful 钱包为您喜欢的笔记和创作者打闪。","Your Lightning Address":"您的闪电地址","New to Rizful?":"第一次使用 Rizful?","Sign up for Rizful":"注册 Rizful","If you already have a Rizful account, you can skip this step.":"如果您已经有一个 Rizful 账户,可以跳过此步骤。","Get your one-time code":"获取一次性代码","Get code":"获取代码","Connect to your Rizful Vault":"连接到您的 Rizful 钱包","Paste your one-time code here":"将您的一次性代码粘贴到此处",Connect:"连接","Set up your wallet to send and receive sats!":"设置你的钱包以发送和接收 sats!","Set up":"去设置",Pinned:"已置顶",Unpin:"取消置顶",Unpinning:"取消置顶中","Pinning...":"置顶中...","Pinned!":"已置顶!","Failed to pin: {{error}}":"置顶失败: {{error}}","Unpinning...":"取消置顶中...","Unpinned!":"已取消置顶!","Failed to unpin: {{error}}":"取消置顶失败: {{error}}","Unpin from profile":"从个人资料取消置顶","Pin to profile":"置顶到个人资料",Appearance:"外观","Pure Black":"纯黑",Default:"默认",Red:"红色",Orange:"橙色",Amber:"琥珀色",Yellow:"黄色",Lime:"青柠色",Green:"绿色",Emerald:"翡翠色",Teal:"蓝绿色",Cyan:"青色",Sky:"天空色",Blue:"蓝色",Indigo:"靛蓝色",Violet:"紫罗兰色",Purple:"紫色",Fuchsia:"紫红色",Pink:"粉色",Rose:"玫瑰色","Primary color":"主色调",Layout:"布局","Two-column":"双栏","Single-column":"单栏",Reviews:"评价",Extension:"扩展",Remote:"远程","Encrypted Key":"加密私钥","Private Key":"私钥","Welcome to Smesh":"欢迎来到 Smesh","Smesh is a client focused on browsing relays. Get started by exploring interesting relays or login to view your following feed.":"Smesh 是一个专注于构建社区和协助具有主权意识的人们进行协调的 nostr 客户端。","Explore Relays":"探索服务器","Choose a feed":"选择一个动态","and {{x}} others":"和其他 {{x}} 人",selfZapWarning:"Smesh 对您给自己打赏所发生的事情概不负责。风险自负。😉⚡","Emoji Pack":"表情包","Emoji pack added":"表情包已添加","Add emoji pack failed":"添加表情包失败","Emoji pack removed":"表情包已移除","Remove emoji pack failed":"移除表情包失败",Added:"已添加","Emoji Packs":"表情包","My Packs":"我的表情包","Adding...":"添加中...","Removing...":"移除中...",Reload:"重新加载","Request to Join Relay":"申请加入中继器","Leave Relay":"离开中继器",Leave:"离开","Are you sure you want to leave this relay?":"您确定要离开此中继器吗?","Join request sent successfully":"加入请求已成功发送","Failed to send join request":"发送加入请求失败","Leave request sent successfully":"离开请求已成功发送","Failed to send leave request":"发送离开请求失败","Enter an invite code if you have one. Otherwise, leave it blank to send a request.":"如果您有邀请码,请输入。否则,留空以发送请求。","Invite Code (Optional)":"邀请码(可选)","Enter invite code":"输入邀请码","Sending...":"发送中...","Send Request":"发送请求","You can get an invite code from a relay member.":"您可以从中继器成员获取邀请码。","Enter the invite code you received from a relay member.":"输入您从中继器成员处获得的邀请码。","Get Invite Code":"获取邀请码","Share this invite code with others to invite them to join this relay.":"将此邀请码分享给他人以邀请他们加入此中继器。","Invite Code":"邀请码",Copy:"复制","This invite code can be used by others to join the relay.":"此邀请码可供他人用于加入中继器。","No invite code available from this relay.":"此中继器没有可用的邀请码。",Close:"关闭","Failed to get invite code from relay":"从中继器获取邀请码失败","Failed to get invite code":"获取邀请码失败","Invite code copied to clipboard":"邀请码已复制到剪贴板","Favicon URL":"网站图标 URL","Filter out onion relays":"过滤洋葱中继","Click to load X post":"点击加载 X 帖子","View Nostr comments":"查看 Nostr 评论","Search for notes":"搜索笔记","Search for hashtag":"搜索话题标签","Go to note":"跳转到笔记","Go to relay":"跳转到中继器","View discussions about this":"查看关于此内容的讨论","Open link":"打开链接","View Nostr discussions":"查看 Nostr 讨论","Optimal relays":"最佳中继器","Successfully republish to optimal relays (your write relays and mentioned users' read relays)":"成功重新发布到最佳中继器(你的写入中继器和被提及用户的读取中继器)","Failed to republish to optimal relays: {{error}}":"重新发布到最佳中继器失败:{{error}}","External Content":"外部内容",Highlight:"高亮","Optimal relays and {{count}} other relays":"最佳中继器和其他 {{count}} 个中继器","Likely spam account (Trust score: {{percentile}}%)":"疑似垃圾账号(信任分数:{{percentile}}%)","Suspicious account (Trust score: {{percentile}}%)":"可疑账号(信任分数:{{percentile}}%)","n users":"{{count}} 位用户","View Details":"查看详情","Follow Pack Not Found":"未找到关注包","Follow pack not found":"未找到关注包",Users:"用户",Feed:"动态","Follow Pack":"关注包","Load earlier":"加载更早","Last 24 hours":"最近 24 小时","Last {{count}} days":"最近 {{count}} 天",notes:"笔记","Quick reaction":"快速点赞","If enabled, you can react with a single click. Click and hold for more options":"启用后,您可以通过单击进行点赞。长按以获取更多选项","Quick reaction emoji":"快速点赞表情","Select emoji":"选择表情","NSFW content display":"NSFW 内容显示","Hide completely":"完全隐藏","Show but hide content":"显示但隐藏内容","Show directly":"直接显示","Click to view":"点击查看","Special Follow":"特别关注","Unfollow Special":"取消特别关注","Personal Feeds":"个人订阅","Relay Feeds":"中继订阅","Create Highlight":"创建高亮","Write your thoughts about this highlight...":"写下你对这段高亮的想法...","Publish Highlight":"发布高亮","Show replies":"显示回复","Hide replies":"隐藏回复","Welcome to Smesh!":"欢迎来到 Smesh!","Your feed is empty because you are not following anyone yet. Start by exploring interesting content and following users you like!":"你的动态是空的,因为你还没有关注任何人。开始探索有趣的内容并关注你喜欢的用户吧!","Search Users":"搜索用户","Create New Account":"创建新账户",Important:"重要","Generate Your Account":"生成你的账户","Your private key IS your account. Keep it safe!":"你的私钥就是你的账户。请妥善保管!","In Nostr, your private key IS your account. If you lose your private key, you lose your account forever.":"在 Nostr 中,你的私钥就是你的账户。如果你丢失了私钥,你将永远失去你的账户。","Your Private Key":"你的私钥","Generate new key":"生成新密钥","Download Backup File":"下载备份文件","Copied to Clipboard":"已复制到剪贴板","Copy to Clipboard":"复制到剪贴板","I already saved my private key securely.":"我已经安全地保存了我的私钥。","Almost Done!":"即将完成!","Set a password to encrypt your key, or skip to finish":"设置密码来加密你的密钥,或跳过以完成","Password Protection (Optional)":"密码保护(可选)","Setting a password encrypts your private key in this browser. You can skip this step, but we recommend setting one for added security.":"设置密码会在此浏览器中加密你的私钥。你可以跳过此步骤,但我们建议设置密码以增强安全性。","Password (Optional)":"密码(可选)","Enter password or leave empty to skip":"输入密码或留空以跳过","Confirm Password":"确认密码","Re-enter password":"重新输入密码","Passwords do not match":"密码不匹配","Finish Signup":"完成注册","Create Your Nostr Account":"创建你的 Nostr 账户","Generate your unique private key. This is your digital identity.":"生成你的专属私钥。这是你的数字身份。","Critical: Save Your Private Key":"重要:保存你的私钥","Your private key IS your account. There is no password recovery. If you lose it, you lose your account forever. Please save it in a secure location.":"你的私钥就是你的账户。没有密码找回功能。如果丢失,你将永远失去你的账户。请将其保存在安全的地方。","I have safely backed up my private key":"我已安全备份我的私钥","Secure Your Account":"保护你的账户","Add an extra layer of protection with a password":"使用密码添加额外的保护层","Password Protection (Recommended)":"密码保护(推荐)","Add a password to encrypt your private key in this browser. This is optional but strongly recommended for better security.":"添加密码以在此浏览器中加密你的私钥。这是可选的,但强烈建议设置以获得更好的安全性。","Create a password (or skip)":"创建密码(或跳过)","Enter your password again":"再次输入你的密码","Complete Signup":"完成注册",Recommended:"推荐"}},n2e={translation:{"Welcome! 🥳":"來都來了",About:"關於","New Note":"發布新筆記",Post:"發布筆記",Home:"主頁","Relay settings":"伺服器設定",Settings:"設定",SidebarRelays:"伺服器",Refresh:"刷新列表",Profile:"個人資料",Logout:"登出",Following:"關注",followings:"關注",reposted:"轉發","just now":"剛剛","minute ago_one":"{{count}} 分鐘前","minute ago_other":"{{count}} 分鐘前","n m":"{{n}}分","hour ago_one":"{{count}} 小時前","hour ago_other":"{{count}} 小時前","n h":"{{n}}時","day ago_one":"{{count}} 天前","day ago_other":"{{count}} 天前","n d":"{{n}}天",date:"{{timestamp, date}}",Follow:"關注",Unfollow:"取消關注","Follow failed":"關注失敗","Unfollow failed":"取消關注失敗","show new notes":"顯示新筆記","loading...":"載入中...","Loading...":"載入中...","no more notes":"到底了","reply to":"回覆",reply:"回覆",Reply:"回覆","load more older replies":"載入更多早期回覆","Write something...":"寫點什麼...",Cancel:"取消",Mentions:"提及","Failed to post":"發布失敗","Post successful":"發布成功","Your post has been published":"您的筆記已發布",Repost:"轉發",Quote:"引用","Copy event ID":"複製事件 ID","Copy user ID":"複製使用者 ID","View raw event":"檢視原始事件",Like:"按讚","switch to light theme":"切換到淺色主題","switch to dark theme":"切換到深色主題","switch to system theme":"切換到系統主題",Note:"筆記",note:"筆記","username's following":"{{username}} 的關注","username's used relays":"{{username}} 使用的伺服器","username's muted":"{{username}} 封鎖的使用者",Login:"登入","Follows you":"關注了你","Relay Settings":"伺服器設定","Relay set name":"伺服器組名","Add a new relay set":"新增新的伺服器組",Add:"新增","n relays":"{{n}} 個伺服器",Rename:"重新命名","Copy share link":"複製分享連結",Delete:"刪除","Relay already exists":"伺服器已存在","invalid relay URL":"無效的伺服器位址","Add a new relay":"新增新的伺服器",back:"返回","Lost in the void":"迷失在虛空中","Carry me home":"帶我回家","no replies":"暫無回覆","Reply to":"回覆",Search:"搜尋","The relays you are connected to do not support search":"您連接的伺服器不支援搜尋","Show more...":"檢視更多...","All users":"所有使用者","Display replies":"顯示回覆",Notes:"筆記",Replies:"回覆",Notifications:"通知","no more notifications":"到底了","Using private key login is insecure. It is recommended to use a browser extension for login, such as alby, nostr-keyx or nos2x. If you must use a private key, please set a password for encryption at minimum.":"使用私鑰登入不安全。建議使用瀏覽器擴充功能登入,如 alby、nostr-keyx 或 nos2x。如果必須使用私鑰,請至少設定一個密碼進行加密。","Login with Browser Extension":"瀏覽器擴充功能登入","Login with Bunker":"Bunker 登入","Login with Private Key":"私鑰登入","reload notes":"重新載入筆記","Logged in Accounts":"已登入帳戶","Add an Account":"新增帳戶","More options":"更多選項","Add client tag":"新增客戶端標籤","Show others this was sent via Smesh":"告訴別人這是透過 Smesh 發送的","Are you sure you want to logout?":"確定要登出嗎?","relay sets":"伺服器組",edit:"編輯",Languages:"語言",Theme:"主題",System:"系統",Light:"淺色",Dark:"深色",Temporary:"臨時","Choose a relay set":"選擇一個伺服器組","Switch account":"切換帳戶",Pictures:"圖片","Picture note":"圖片筆記","A special note for picture-first clients like Olas":"一種可以在圖片優先客戶端(如 Olas)中顯示的特殊筆記","Picture note requires images":"圖片筆記需要有圖片",Relays:"伺服器",Image:"圖片",Normal:"普通","R & W":"讀寫",Read:"唯讀",Write:"只寫","Pull relay sets":"拉取伺服器組","Select the relay sets you want to pull":"選擇要拉取的伺服器組","No relay sets found":"未找到伺服器組","Pull n relay sets":"拉取 {{n}} 個伺服器組",Pull:"拉取","Select all":"全選","Relay Sets":"伺服器組",Mailbox:"信箱","Read & Write Relays":"讀寫伺服器","read relays description":"讀取伺服器用於尋找與您有關的事件。其他使用者會將想要您看到的事件發布到您的讀取伺服器,例如回覆、按讚轉發……","write relays description":"寫入伺服器用於發布您的事件。其他使用者會從您的寫入伺服器尋找您發布的事件。","read & write relays notice":"讀取伺服器和寫入伺服器的數量都應盡量保持在 2 到 4 個之間。","Don't have an account yet?":"還沒有帳戶?","or simply generate a private key":"或者簡單產生一個私鑰","This is a private key. Do not share it with anyone. Keep it safe and secure. You will not be able to recover it if you lose it.":"這是私鑰,請勿與他人分享。請妥善保管,否則將無法找回。",Edit:"編輯",Save:"儲存","Display Name":"暱稱",Bio:"簡介","Nostr Address (NIP-05)":"Nostr 位址 (NIP-05)","Invalid NIP-05 address":"無效的 NIP-05 位址","Copy private key":"複製私鑰","Enter the password to decrypt your ncryptsec":"輸入密碼以解密您的 ncryptsec",Back:"返回","password (optional): encrypt nsec":"密碼(可選):加密 nsec","optional: encrypt nsec":"可選:加密 nsec",password:"密碼","Sign up":"註冊","Save to":"儲存到","Enter a name for the new relay set":"輸入新伺服器組的名稱","Save to a new relay set":"儲存到新伺服器組",Mute:"封鎖",Muted:"已封鎖",Unmute:"取消封鎖","Unmute user":"取消封鎖使用者","Append n relays":"追加 {{n}} 個伺服器",Append:"追加","Select relays to append":"選擇要追加的伺服器","calculating...":"計算中...","Calculate optimal read relays":"計算最佳讀取伺服器","Login to set":"登入後設定","Please login to view following feed":"請登入以檢視關注動態","Send only to r":"只發送到 {{r}}","Send only to these relays":"只發送到這些伺服器",Explore:"探索","Search relays":"搜尋伺服器",relayInfoBadgeAuth:"需登入",relayInfoBadgeSearch:"支援搜尋",relayInfoBadgePayment:"需付費",Operator:"管理員",Contact:"聯絡方式",Software:"軟體",Version:"版本","Random Relays":"隨機伺服器",randomRelaysRefresh:"換一批","Explore more":"探索更多","Payment page":"付款頁面","Supported NIPs":"支援的 NIP","Open in a":"在 {{a}} 中開啟","Cannot handle event of kind k":"無法處理類型為 {{k}} 的事件","Sorry! The note cannot be found 😔":"抱歉!找不到該筆記 😔","This user has been muted":"該使用者已被封鎖",Wallet:"錢包",Sats:"聰",sats:"聰","Zap to":"打閃給","Zap n sats":"打閃 {{n}} 聰",zapComment:"附言","Default zap amount":"預設打閃金額","Default zap comment":"預設打閃附言","Lightning Address (or LNURL)":"閃電位址(或 LNURL)","Quick zap":"快速打閃","If enabled, you can zap with a single click. Click and hold for custom amounts":"如果啟用,您單擊即可打閃。長按以設定自訂金額",All:"全部",Reactions:"互動",Zaps:"打閃","Earlier notifications":"更早的通知","Temporarily display this note":"臨時顯示此筆記",buttonFollowing:"已關注","Are you sure you want to unfollow this user?":"確定要取消關注此使用者嗎?","Recent Supporters":"最近的支持者","Seen on":"來自","Temporarily display this reply":"臨時顯示此回覆","Note not found":"未找到該筆記","no more replies":"沒有更多回覆了","Relay sets":"伺服器組","Favorite Relays":"收藏的伺服器","Following's Favorites":"關注人的收藏","no more relays":"沒有更多伺服器了","Favorited by":"收藏自","Post settings":"發布設定","Media upload service":"媒體上傳服務","Choose a relay":"選擇一個伺服器","no relays found":"未找到伺服器",video:"影片","Show n new notes":"顯示 {{n}} 條新筆記",YouTabName:"與你",Bookmark:"收藏","Remove bookmark":"取消收藏","no bookmarks found":"暫無收藏","no more bookmarks":"到底了",Bookmarks:"收藏","Show more":"顯示更多",General:"常規",Autoplay:"自動播放","Enable video autoplay on this device":"在此裝置上啟用影片自動播放","Paste or drop media files to upload":"支援貼上或拖放媒體檔案進行上傳",Preview:"預覽","You are about to publish an event signed by [{{eventAuthorName}}]. You are currently logged in as [{{currentUsername}}]. Are you sure?":"您即將發布一條由 [{{eventAuthorName}}] 簽名的事件。您目前以 [{{currentUsername}}] 登入。確定嗎?","Platinum Sponsors":"白金贊助商",From:"來自","Comment on":"評論於","View on njump.me":"在 njump.me 上檢視","Hide content from untrusted users":"隱藏不受信任使用者的內容","Only show content from your followed users and the users they follow":"僅顯示您關注的使用者及其關注的使用者的內容","Followed by":"關注者","Mute user privately":"悄悄封鎖","Mute user publicly":"公開封鎖",Quotes:"引用","Lightning Invoice":"閃電發票","Bookmark failed":"收藏失敗","Remove bookmark failed":"取消收藏失敗",Translation:"翻譯",Balance:"餘額",characters:"字元",smeshTranslateApiKeyDescription:"您可以在任何支援 LibreTranslate 的地方使用此 API key。服務位址是 {{serviceUrl}}","Top up":"充值","Will receive: {n} characters":"將獲得:{{n}} 字元","Top up {n} sats":"充值 {{n}} 聰","Minimum top up is {n} sats":"最低充值金額為 {{n}} 聰",Service:"服務","Reset API key":"重設 API key","Are you sure you want to reset your API key? This action cannot be undone.":"您確定要重設您的 API key?此操作無法復原。",Warning:"警告","Your current API key will become invalid immediately, and any applications using it will stop working until you update them with the new key.":"您目前的 API key 將立即失效,任何使用它的應用程式將停止工作,直到您用新 key 更新它們。","Service address":"服務位址",Pay:"支付",interactions:"互動",notifications:"通知","Show untrusted {type}":"顯示不受信任的{{type}}","Hide untrusted {type}":"隱藏不受信任的{{type}}","Currently hiding {type} from untrusted users.":"目前隱藏來自不受信任使用者的{{type}}。","Currently showing all {type}.":"目前顯示所有{{type}}。","Click continue to show all {type}.":"點擊繼續顯示所有{{type}}。","Click continue to hide {type} from untrusted users.":"點擊繼續隱藏來自不受信任使用者的{{type}}。","Trusted users include people you follow and people they follow.":"受信任的使用者包括您關注的人和他們關注的人。",Continue:"繼續","Successfully updated mute list":"成功更新封鎖列表","No pubkeys found from {url}":"在 {{url}} 中未找到 pubkeys","Translating...":"翻譯中...",Translate:"翻譯","Show original":"顯示原文",Website:"網站","Hide untrusted notes":"隱藏不受信任的筆記","Open in another client":"在其他客戶端開啟",Community:"社群",Group:"群組","Live event":"直播",Article:"文章",Unfavorite:"取消收藏","Recommended relays":"推薦伺服器","Blossom server URLs":"Blossom 伺服器位址","You need to add at least one blossom server in order to upload media files.":"您需要新增至少一個 Blossom 伺服器才能上傳媒體檔案。","Recommended blossom servers":"推薦的 Blossom 伺服器","Enter Blossom server URL":"輸入 Blossom 伺服器 URL",Preferred:"首選","Multiple choice (select one or more)":"多選(選擇一個或多個)",Vote:"投票","{{number}} votes":"{{number}} 次投票","Total votes":"總票數","Poll has ended":"投票已結束","Poll ends at {{time}}":"投票結束時間:{{time}}","Load results":"載入結果","This is a poll note.":"這是一個投票帖子。","Unlike regular notes, polls are not widely supported and may not display on other clients.":"與普通帖子不同,投票功能暫時沒有得到廣泛的支援,可能無法在其他客戶端中顯示。","Option {{number}}":"選項 {{number}}","Add Option":"新增選項","Allow multiple choices":"允許多選","End Date (optional)":"結束日期(可選)","Clear end date":"清除結束日期","Relay URLs (optional, comma-separated)":"中繼伺服器 URL(可選,逗號分隔)","Remove poll":"移除投票","Refresh results":"刷新結果",Poll:"投票",Media:"媒體","Republish to ...":"重新發布到 ...","Successfully republish to your write relays":"成功重新發布到您的寫入伺服器","Failed to republish to your write relays: {{error}}":"重新發布到您的寫入伺服器失敗:{{error}}","Successfully republish to relay set: {{name}}":"成功重新發布到伺服器組:{{name}}","Failed to republish to relay set: {{name}}. Error: {{error}}":"重新發布到伺服器組:{{name}} 失敗。錯誤:{{error}}","Successfully republish to relay: {{url}}":"成功重新發布到伺服器:{{url}}","Failed to republish to relay: {{url}}. Error: {{error}}":"重新發布到伺服器:{{url}} 失敗。錯誤:{{error}}","Write relays":"寫入伺服器","No more reactions":"沒有更多互動了","No reactions yet":"暫無互動","No more zaps":"沒有更多打閃了","No zaps yet":"暫無打閃","No more reposts":"沒有更多轉發了","No reposts yet":"暫無轉發",Reposts:"轉發",FollowListNotFoundConfirmation:"未找到關注列表。你想建立一個新的嗎?如果你之前已經關注了使用者,請不要確認,因為此操作會導致你遺失之前的關注列表。",MuteListNotFoundConfirmation:"未找到封鎖列表。你想建立一個新的嗎?如果你之前已經封鎖了使用者,請不要確認,因為此操作會導致你遺失之前的封鎖列表。","Show NSFW content by default":"預設顯示 NSFW 內容","Custom emoji management":"自訂表情符號管理","After changing emojis, you may need to refresh the page":"更改表情符號後,您可能需要刷新頁面","Too many read relays":"讀取中繼過多","Too many write relays":"寫入中繼過多","You have {{count}} read relays. Most clients only use 2-4 relays, setting more is unnecessary.":"您有 {{count}} 個讀取中繼。大多數客戶端只使用 2-4 個中繼,設定更多是不必要的。","You have {{count}} write relays. Most clients only use 2-4 relays, setting more is unnecessary.":"您有 {{count}} 個寫入中繼。大多數客戶端只使用 2-4 個中繼,設定更多是不必要的。","Optimize Relay Settings":"最佳化中繼設定","Your current relay configuration may not be optimal. This could make it difficult for others to find your posts and may result in incomplete notifications.":"您目前的中繼配置可能不是最佳的。這可能導致其他人難以找到您發布的內容,也可能導致您無法獲取完整的通知列表。","Optimize Now":"立即最佳化","Maybe Later":"稍後處理","Don't remind me again":"不再提醒",Posts:"帖子",Articles:"文章",Highlights:"精選",Polls:"投票","Voice Posts":"語音帖子","Photo Posts":"圖片帖子","Video Posts":"影片帖子","Select All":"全選","Clear All":"清空","Set as default filter":"設為預設過濾器",Apply:"套用",Reset:"重設","Share something on this Relay":"在此伺服器上分享點什麼","Try deleting this note":"嘗試刪除此筆記","Deletion request sent to {{count}} relays":"刪除請求已發送到 {{count}} 個伺服器","Suitable Relays":"適合的伺服器","People, keywords, or relays":"使用者、關鍵詞或伺服器","Hide content mentioning muted users":"隱藏提及已封鎖使用者的內容","This note mentions a user you muted":"此筆記提及了您已封鎖的使用者",Filter:"過濾器","mentioned you in a note":"在筆記中提及了您","quoted your note":"引用了您的筆記","voted in your poll":"在您的投票中投票","reacted to your note":"對您的筆記做出了反應","reposted your note":"轉發了您的筆記","zapped your note":"打閃了您的筆記","zapped you":"給您打閃","Mark as read":"標記為已讀",Report:"檢舉","Successfully report":"檢舉成功","Failed to report":"檢舉失敗",nudity:"色情內容",malware:"惡意軟體",profanity:"褻瀆言論",illegal:"違法內容",spam:"垃圾訊息",other:"其他","Notification list style":"通知列表樣式","See extra info for each notification":"檢視每條通知的詳細資訊","See more notifications at a glance":"一目了然地檢視更多通知",Detailed:"詳細",Compact:"緊湊","Submit Relay":"提交伺服器",Homepage:"主頁","Proof of Work (difficulty {{minPow}})":"工作量證明(難度 {{minPow}})","via {{client}}":"來自 {{client}}","Auto-load media":"自動載入媒體檔案",Always:"始終","Wi-Fi only":"僅WiFi",Never:"從不","Click to load image":"點擊載入圖片","Click to load media":"點擊載入音視訊","Click to load YouTube video":"點擊載入 YouTube 影片","{{count}} reviews":"{{count}} 條評價","Write a review":"寫評價","No reviews yet. Be the first to write one!":"還沒有評價,成為第一個評價的人吧!","View more reviews":"檢視更多評價","Failed to review":"評價失敗","Write a review and pick a star rating":"寫下評價並選擇星級評分",Submit:"提交","Reviews for {{relay}}":"關於 {{relay}} 的評價","No relays selected":"未選擇伺服器","Post to":"發布到","Write relays and {{count}} other relays":"寫入伺服器和其他 {{count}} 個伺服器","{{count}} relays":"{{count}} 個伺服器","Republishing...":"正在重新發布...","Connected to":"已連接到","Disconnect Wallet":"中斷錢包連接","Are you absolutely sure?":"您確定嗎?","You will not be able to send zaps to others.":"您將無法向他人發送打閃。",Disconnect:"中斷連接","Start with a Rizful Vault":"從 Rizful 錢包開始","or other wallets":"或其他錢包","Rizful Vault":"Rizful 錢包","Rizful Vault connected!":"Rizful 錢包已連接!","You can now use your Rizful Vault to zap your favorite notes and creators.":"您現在可以使用您的 Rizful 錢包為您喜歡的筆記和創作者打閃。","Your Lightning Address":"您的閃電位址","New to Rizful?":"第一次使用 Rizful?","Sign up for Rizful":"註冊 Rizful","If you already have a Rizful account, you can skip this step.":"如果您已經有一個 Rizful 帳戶,可以跳過此步驟。","Get your one-time code":"獲取一次性代碼","Get code":"獲取代碼","Connect to your Rizful Vault":"連接到您的 Rizful 錢包","Paste your one-time code here":"將您的一次性代碼貼上到此處",Connect:"連接","Set up your wallet to send and receive sats!":"設定你的錢包以發送和接收 sats!","Set up":"去設定",Pinned:"已置頂",Unpin:"取消置頂",Unpinning:"取消置頂中","Pinning...":"置頂中...","Pinned!":"已置頂!","Failed to pin: {{error}}":"置頂失敗:{{error}}","Unpinning...":"取消置頂中...","Unpinned!":"已取消置頂!","Failed to unpin: {{error}}":"取消置頂失敗:{{error}}","Unpin from profile":"從個人資料取消置頂","Pin to profile":"置頂到個人資料",Appearance:"外觀","Pure Black":"純黑",Default:"預設",Red:"紅色",Orange:"橙色",Amber:"琥珀色",Yellow:"黃色",Lime:"青檸色",Green:"綠色",Emerald:"翡翠色",Teal:"藍綠色",Cyan:"青色",Sky:"天空色",Blue:"藍色",Indigo:"靛藍色",Violet:"紫羅蘭色",Purple:"紫色",Fuchsia:"紫紅色",Pink:"粉色",Rose:"玫瑰色","Primary color":"主色調",Layout:"版面配置","Two-column":"雙欄","Single-column":"單欄",Reviews:"評價",Extension:"擴充功能",Remote:"遠端","Encrypted Key":"加密私鑰","Private Key":"私鑰","Welcome to Smesh":"歡迎來到 Smesh","Smesh is a client focused on browsing relays. Get started by exploring interesting relays or login to view your following feed.":"Smesh 是一個專注於建構社群和協助具有主權意識的人們進行協調的 nostr 客戶端。","Explore Relays":"探索伺服器","Choose a feed":"選擇一個動態","and {{x}} others":"和其他 {{x}} 人",selfZapWarning:"Smesh 對您給自己打賞所發生的事情概不負責。風險自負。😉⚡","Emoji Pack":"表情包","Emoji pack added":"表情包已新增","Add emoji pack failed":"新增表情包失敗","Emoji pack removed":"表情包已移除","Remove emoji pack failed":"移除表情包失敗",Added:"已新增","Emoji Packs":"表情包","My Packs":"我的表情包","Adding...":"新增中...","Removing...":"移除中...",Reload:"重新載入","Request to Join Relay":"申請加入中繼器","Leave Relay":"離開中繼器",Leave:"離開","Are you sure you want to leave this relay?":"您確定要離開此中繼器嗎?","Join request sent successfully":"加入請求已成功發送","Failed to send join request":"發送加入請求失敗","Leave request sent successfully":"離開請求已成功發送","Failed to send leave request":"發送離開請求失敗","Enter an invite code if you have one. Otherwise, leave it blank to send a request.":"如果您有邀請碼,請輸入。否則,留空以發送請求。","Invite Code (Optional)":"邀請碼(可選)","Enter invite code":"輸入邀請碼","Sending...":"發送中...","Send Request":"發送請求","You can get an invite code from a relay member.":"您可以從中繼器成員獲取邀請碼。","Enter the invite code you received from a relay member.":"輸入您從中繼器成員處獲得的邀請碼。","Get Invite Code":"獲取邀請碼","Share this invite code with others to invite them to join this relay.":"將此邀請碼分享給他人以邀請他們加入此中繼器。","Invite Code":"邀請碼",Copy:"複製","This invite code can be used by others to join the relay.":"此邀請碼可供他人用於加入中繼器。","No invite code available from this relay.":"此中繼器沒有可用的邀請碼。",Close:"關閉","Failed to get invite code from relay":"從中繼器獲取邀請碼失敗","Failed to get invite code":"獲取邀請碼失敗","Invite code copied to clipboard":"邀請碼已複製到剪貼簿","Favicon URL":"網站圖示 URL","Filter out onion relays":"過濾洋蔥中繼","Click to load X post":"點擊載入 X 帖子","View Nostr comments":"檢視 Nostr 評論","Search for notes":"搜尋筆記","Search for hashtag":"搜尋話題標籤","Go to note":"跳轉到筆記","Go to relay":"跳轉到中繼器","View discussions about this":"檢視關於此內容的討論","Open link":"開啟連結","View Nostr discussions":"檢視 Nostr 討論","Optimal relays":"最佳中繼器","Successfully republish to optimal relays (your write relays and mentioned users' read relays)":"成功重新發布到最佳中繼器(你的寫入中繼器和被提及使用者的讀取中繼器)","Failed to republish to optimal relays: {{error}}":"重新發布到最佳中繼器失敗:{{error}}","External Content":"外部內容",Highlight:"精選","Optimal relays and {{count}} other relays":"最佳中繼器和其他 {{count}} 個中繼器","Likely spam account (Trust score: {{percentile}}%)":"疑似垃圾帳號(信任分數:{{percentile}}%)","Suspicious account (Trust score: {{percentile}}%)":"可疑帳號(信任分數:{{percentile}}%)","n users":"{{count}} 位使用者","View Details":"檢視詳情","Follow Pack Not Found":"未找到關注包","Follow pack not found":"未找到關注包",Users:"使用者",Feed:"動態","Follow Pack":"關注包","Load earlier":"載入更早","Last 24 hours":"最近 24 小時","Last {{count}} days":"最近 {{count}} 天",notes:"筆記","Quick reaction":"快速按讚","If enabled, you can react with a single click. Click and hold for more options":"啟用後,您可以透過單擊進行按讚。長按以獲取更多選項","Quick reaction emoji":"快速按讚表情","Select emoji":"選擇表情","NSFW content display":"NSFW 內容顯示","Hide completely":"完全隱藏","Show but hide content":"顯示但隱藏內容","Show directly":"直接顯示","Click to view":"點擊檢視","Special Follow":"特別關注","Unfollow Special":"取消特別關注","Personal Feeds":"個人訂閱","Relay Feeds":"中繼訂閱","Welcome to Smesh!":"歡迎來到 Smesh!","Your feed is empty because you are not following anyone yet. Start by exploring interesting content and following users you like!":"你的動態是空的,因為你還沒有關注任何人。開始探索有趣的內容並關注你喜歡的用戶吧!","Search Users":"搜尋用戶","Create New Account":"建立新帳戶",Important:"重要","Generate Your Account":"生成你的帳戶","Your private key IS your account. Keep it safe!":"你的私鑰就是你的帳戶。請妥善保管!","In Nostr, your private key IS your account. If you lose your private key, you lose your account forever.":"在 Nostr 中,你的私鑰就是你的帳戶。如果你遺失了私鑰,你將永遠失去你的帳戶。","Your Private Key":"你的私鑰","Generate new key":"生成新金鑰","Download Backup File":"下載備份檔案","Copied to Clipboard":"已複製到剪貼簿","Copy to Clipboard":"複製到剪貼簿","I already saved my private key securely.":"我已經安全地儲存了我的私鑰。","Almost Done!":"即將完成!","Set a password to encrypt your key, or skip to finish":"設定密碼來加密你的金鑰,或跳過以完成","Password Protection (Optional)":"密碼保護(可選)","Setting a password encrypts your private key in this browser. You can skip this step, but we recommend setting one for added security.":"設定密碼會在此瀏覽器中加密你的私鑰。你可以跳過此步驟,但我們建議設定密碼以增強安全性。","Password (Optional)":"密碼(可選)","Enter password or leave empty to skip":"輸入密碼或留空以跳過","Confirm Password":"確認密碼","Re-enter password":"重新輸入密碼","Passwords do not match":"密碼不符合","Finish Signup":"完成註冊","Create Your Nostr Account":"建立你的 Nostr 帳戶","Generate your unique private key. This is your digital identity.":"生成你的專屬私鑰。這是你的數位身份。","Critical: Save Your Private Key":"重要:儲存你的私鑰","Your private key IS your account. There is no password recovery. If you lose it, you lose your account forever. Please save it in a secure location.":"你的私鑰就是你的帳戶。沒有密碼找回功能。如果遺失,你將永遠失去你的帳戶。請將其儲存在安全的地方。","I have safely backed up my private key":"我已安全備份我的私鑰","Secure Your Account":"保護你的帳戶","Add an extra layer of protection with a password":"使用密碼新增額外的保護層","Password Protection (Recommended)":"密碼保護(推薦)","Add a password to encrypt your private key in this browser. This is optional but strongly recommended for better security.":"新增密碼以在此瀏覽器中加密你的私鑰。這是可選的,但強烈建議設定以獲得更好的安全性。","Create a password (or skip)":"建立密碼(或跳過)","Enter your password again":"再次輸入你的密碼","Complete Signup":"完成註冊",Recommended:"推薦"}},r2e={ar:{resource:Pbe,name:"العربية"},bg:{resource:Obe,name:"Български"},de:{resource:zbe,name:"Deutsch"},en:{resource:Fbe,name:"English"},es:{resource:Bbe,name:"Español"},fa:{resource:Ube,name:"فارسی"},fr:{resource:$be,name:"Français"},hi:{resource:Vbe,name:"हिन्दी"},hr:{resource:Hbe,name:"Hrvatski"},hu:{resource:Wbe,name:"Magyar"},it:{resource:Ybe,name:"Italiano"},ja:{resource:Gbe,name:"日本語"},ko:{resource:qbe,name:"한국어"},pl:{resource:Kbe,name:"Polski"},"pt-BR":{resource:Zbe,name:"Português (Brasil)"},"pt-PT":{resource:Qbe,name:"Português (Portugal)"},ru:{resource:Jbe,name:"Русский"},sr:{resource:Xbe,name:"Српски"},th:{resource:e2e,name:"ไทย"},zh:{resource:t2e,name:"简体中文"},"zh-TW":{resource:n2e,name:"繁體中文"}},BR={},kJ={},jJ=[];for(const[t,e]of Object.entries(r2e)){const n=t;BR[n]=e.name,kJ[n]=e.resource,jJ.push(n)}Vs.use(vJ).use(Mbe).init({fallbackLng:"en",resources:kJ,interpolation:{escapeValue:!1},detection:{convertDetectedLanguage:t=>(console.log("Detected language:",t),t.startsWith("zh")?["zh","zh-CN","zh-SG"].includes(t)?"zh":"zh-TW":jJ.find(n=>t.startsWith(n))||"en")}});var lJ;(lJ=Vs.services.formatter)==null||lJ.add("date",(t,e)=>{switch(e){case"zh":case"zh-TW":case"ja":return Nn(t).format("YYYY年MM月DD日");case"bg":case"hr":case"pl":case"de":case"ru":case"sr":return Nn(t).format("DD.MM.YYYY");case"fa":case"hu":return Nn(t).format("YYYY/MM/DD");case"it":case"es":case"fr":case"pt-BR":case"pt-PT":case"ar":case"hi":case"th":return Nn(t).format("DD/MM/YYYY");case"ko":return Nn(t).format("YYYY년 MM월 DD일");default:return Nn(t).format("MMM D, YYYY")}});Array.prototype.findLast||(Array.prototype.findLast=function(t,e){if(this==null)throw new TypeError("Array.prototype.findLast called on null or undefined");if(typeof t!="function")throw new TypeError("predicate must be a function");const n=Object(this),r=n.length>>>0;let o;for(let s=r-1;s>=0;s--)if(o=n[s],t.call(e,o,s,n))return o});if(typeof AggregateError>"u"){class t extends Error{constructor(r,o){super(o);je(this,"errors");this.errors=r,this.name="AggregateError"}}globalThis.AggregateError=t}Promise.any||(Promise.any=function(t){return new Promise((e,n)=>{const r=[];let o=t.length;if(o===0)return n(new AggregateError([],"All promises were rejected"));t.forEach((s,a)=>{Promise.resolve(s).then(e).catch(i=>{r[a]=i,o-=1,o===0&&n(new AggregateError(r,"All promises were rejected"))})})})});function QF(t){if(!Number.isSafeInteger(t)||t<0)throw new Error(`Wrong positive integer: ${t}`)}function CJ(t,...e){if(!(t instanceof Uint8Array))throw new Error("Expected Uint8Array");if(e.length>0&&!e.includes(t.length))throw new Error(`Expected Uint8Array of length ${e}, not of length=${t.length}`)}function o2e(t){if(typeof t!="function"||typeof t.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");QF(t.outputLen),QF(t.blockLen)}function ck(t,e=!0){if(t.destroyed)throw new Error("Hash instance has been destroyed");if(e&&t.finished)throw new Error("Hash#digest() has already been called")}function s2e(t,e){CJ(t);const n=e.outputLen;if(t.length<n)throw new Error(`digestInto() expects output buffer of length at least ${n}`)}const kI=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */const SJ=t=>t instanceof Uint8Array,jI=t=>new DataView(t.buffer,t.byteOffset,t.byteLength),bu=(t,e)=>t<<32-e|t>>>e,a2e=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;if(!a2e)throw new Error("Non little-endian hardware is not supported");function i2e(t){if(typeof t!="string")throw new Error(`utf8ToBytes expected string, got ${typeof t}`);return new Uint8Array(new TextEncoder().encode(t))}function UR(t){if(typeof t=="string"&&(t=i2e(t)),!SJ(t))throw new Error(`expected Uint8Array, got ${typeof t}`);return t}function l2e(...t){const e=new Uint8Array(t.reduce((r,o)=>r+o.length,0));let n=0;return t.forEach(r=>{if(!SJ(r))throw new Error("Uint8Array expected");e.set(r,n),n+=r.length}),e}let EJ=class{clone(){return this._cloneInto()}};function c2e(t){const e=r=>t().update(UR(r)).digest(),n=t();return e.outputLen=n.outputLen,e.blockLen=n.blockLen,e.create=()=>t(),e}function NJ(t=32){if(kI&&typeof kI.getRandomValues=="function")return kI.getRandomValues(new Uint8Array(t));throw new Error("crypto.getRandomValues must be defined")}function u2e(t,e,n,r){if(typeof t.setBigUint64=="function")return t.setBigUint64(e,n,r);const o=BigInt(32),s=BigInt(4294967295),a=Number(n>>o&s),i=Number(n&s),l=r?4:0,u=r?0:4;t.setUint32(e+l,a,r),t.setUint32(e+u,i,r)}let f2e=class extends EJ{constructor(e,n,r,o){super(),this.blockLen=e,this.outputLen=n,this.padOffset=r,this.isLE=o,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(e),this.view=jI(this.buffer)}update(e){ck(this);const{view:n,buffer:r,blockLen:o}=this;e=UR(e);const s=e.length;for(let a=0;a<s;){const i=Math.min(o-this.pos,s-a);if(i===o){const l=jI(e);for(;o<=s-a;a+=o)this.process(l,a);continue}r.set(e.subarray(a,a+i),this.pos),this.pos+=i,a+=i,this.pos===o&&(this.process(n,0),this.pos=0)}return this.length+=e.length,this.roundClean(),this}digestInto(e){ck(this),s2e(e,this),this.finished=!0;const{buffer:n,view:r,blockLen:o,isLE:s}=this;let{pos:a}=this;n[a++]=128,this.buffer.subarray(a).fill(0),this.padOffset>o-a&&(this.process(r,0),a=0);for(let f=a;f<o;f++)n[f]=0;u2e(r,o-8,BigInt(this.length*8),s),this.process(r,0);const i=jI(e),l=this.outputLen;if(l%4)throw new Error("_sha2: outputLen should be aligned to 32bit");const u=l/4,d=this.get();if(u>d.length)throw new Error("_sha2: outputLen bigger than state");for(let f=0;f<u;f++)i.setUint32(4*f,d[f],s)}digest(){const{buffer:e,outputLen:n}=this;this.digestInto(e);const r=e.slice(0,n);return this.destroy(),r}_cloneInto(e){e||(e=new this.constructor),e.set(...this.get());const{blockLen:n,buffer:r,length:o,finished:s,destroyed:a,pos:i}=this;return e.length=o,e.pos=i,e.finished=s,e.destroyed=a,o%n&&e.buffer.set(r),e}};const d2e=(t,e,n)=>t&e^~t&n,p2e=(t,e,n)=>t&e^t&n^e&n,h2e=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),Qd=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),Jd=new Uint32Array(64);let m2e=class extends f2e{constructor(){super(64,32,8,!1),this.A=Qd[0]|0,this.B=Qd[1]|0,this.C=Qd[2]|0,this.D=Qd[3]|0,this.E=Qd[4]|0,this.F=Qd[5]|0,this.G=Qd[6]|0,this.H=Qd[7]|0}get(){const{A:e,B:n,C:r,D:o,E:s,F:a,G:i,H:l}=this;return[e,n,r,o,s,a,i,l]}set(e,n,r,o,s,a,i,l){this.A=e|0,this.B=n|0,this.C=r|0,this.D=o|0,this.E=s|0,this.F=a|0,this.G=i|0,this.H=l|0}process(e,n){for(let f=0;f<16;f++,n+=4)Jd[f]=e.getUint32(n,!1);for(let f=16;f<64;f++){const m=Jd[f-15],g=Jd[f-2],w=bu(m,7)^bu(m,18)^m>>>3,b=bu(g,17)^bu(g,19)^g>>>10;Jd[f]=b+Jd[f-7]+w+Jd[f-16]|0}let{A:r,B:o,C:s,D:a,E:i,F:l,G:u,H:d}=this;for(let f=0;f<64;f++){const m=bu(i,6)^bu(i,11)^bu(i,25),g=d+m+d2e(i,l,u)+h2e[f]+Jd[f]|0,b=(bu(r,2)^bu(r,13)^bu(r,22))+p2e(r,o,s)|0;d=u,u=l,l=i,i=a+g|0,a=s,s=o,o=r,r=g+b|0}r=r+this.A|0,o=o+this.B|0,s=s+this.C|0,a=a+this.D|0,i=i+this.E|0,l=l+this.F|0,u=u+this.G|0,d=d+this.H|0,this.set(r,o,s,a,i,l,u,d)}roundClean(){Jd.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}};const i_=c2e(()=>new m2e);/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const IJ=BigInt(0),lC=BigInt(1),g2e=BigInt(2),cC=t=>t instanceof Uint8Array,y2e=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));function Zc(t){if(!cC(t))throw new Error("Uint8Array expected");let e="";for(let n=0;n<t.length;n++)e+=y2e[t[n]];return e}function AJ(t){const e=t.toString(16);return e.length&1?`0${e}`:e}function $R(t){if(typeof t!="string")throw new Error("hex string expected, got "+typeof t);return BigInt(t===""?"0":`0x${t}`)}function id(t){if(typeof t!="string")throw new Error("hex string expected, got "+typeof t);const e=t.length;if(e%2)throw new Error("padded hex string expected, got unpadded hex of length "+e);const n=new Uint8Array(e/2);for(let r=0;r<n.length;r++){const o=r*2,s=t.slice(o,o+2),a=Number.parseInt(s,16);if(Number.isNaN(a)||a<0)throw new Error("Invalid byte sequence");n[r]=a}return n}function Si(t){return $R(Zc(t))}function VR(t){if(!cC(t))throw new Error("Uint8Array expected");return $R(Zc(Uint8Array.from(t).reverse()))}function Jp(t,e){return id(t.toString(16).padStart(e*2,"0"))}function HR(t,e){return Jp(t,e).reverse()}function v2e(t){return id(AJ(t))}function Ca(t,e,n){let r;if(typeof e=="string")try{r=id(e)}catch(s){throw new Error(`${t} must be valid hex string, got "${e}". Cause: ${s}`)}else if(cC(e))r=Uint8Array.from(e);else throw new Error(`${t} must be hex string or Uint8Array`);const o=r.length;if(typeof n=="number"&&o!==n)throw new Error(`${t} expected ${n} bytes, got ${o}`);return r}function ig(...t){const e=new Uint8Array(t.reduce((r,o)=>r+o.length,0));let n=0;return t.forEach(r=>{if(!cC(r))throw new Error("Uint8Array expected");e.set(r,n),n+=r.length}),e}function w2e(t,e){if(t.length!==e.length)return!1;for(let n=0;n<t.length;n++)if(t[n]!==e[n])return!1;return!0}function b2e(t){if(typeof t!="string")throw new Error(`utf8ToBytes expected string, got ${typeof t}`);return new Uint8Array(new TextEncoder().encode(t))}function x2e(t){let e;for(e=0;t>IJ;t>>=lC,e+=1);return e}function k2e(t,e){return t>>BigInt(e)&lC}const j2e=(t,e,n)=>t|(n?lC:IJ)<<BigInt(e),WR=t=>(g2e<<BigInt(t-1))-lC,CI=t=>new Uint8Array(t),JF=t=>Uint8Array.from(t);function _J(t,e,n){if(typeof t!="number"||t<2)throw new Error("hashLen must be a number");if(typeof e!="number"||e<2)throw new Error("qByteLen must be a number");if(typeof n!="function")throw new Error("hmacFn must be a function");let r=CI(t),o=CI(t),s=0;const a=()=>{r.fill(1),o.fill(0),s=0},i=(...f)=>n(o,r,...f),l=(f=CI())=>{o=i(JF([0]),f),r=i(),f.length!==0&&(o=i(JF([1]),f),r=i())},u=()=>{if(s++>=1e3)throw new Error("drbg: tried 1000 values");let f=0;const m=[];for(;f<e;){r=i();const g=r.slice();m.push(g),f+=r.length}return ig(...m)};return(f,m)=>{a(),l(f);let g;for(;!(g=m(u()));)l();return a(),g}}const C2e={bigint:t=>typeof t=="bigint",function:t=>typeof t=="function",boolean:t=>typeof t=="boolean",string:t=>typeof t=="string",stringOrUint8Array:t=>typeof t=="string"||t instanceof Uint8Array,isSafeInteger:t=>Number.isSafeInteger(t),array:t=>Array.isArray(t),field:(t,e)=>e.Fp.isValid(t),hash:t=>typeof t=="function"&&Number.isSafeInteger(t.outputLen)};function P2(t,e,n={}){const r=(o,s,a)=>{const i=C2e[s];if(typeof i!="function")throw new Error(`Invalid validator "${s}", expected function`);const l=t[o];if(!(a&&l===void 0)&&!i(l,t))throw new Error(`Invalid param ${String(o)}=${l} (${typeof l}), expected ${s}`)};for(const[o,s]of Object.entries(e))r(o,s,!1);for(const[o,s]of Object.entries(n))r(o,s,!0);return t}const S2e=Object.freeze(Object.defineProperty({__proto__:null,bitGet:k2e,bitLen:x2e,bitMask:WR,bitSet:j2e,bytesToHex:Zc,bytesToNumberBE:Si,bytesToNumberLE:VR,concatBytes:ig,createHmacDrbg:_J,ensureBytes:Ca,equalBytes:w2e,hexToBytes:id,hexToNumber:$R,numberToBytesBE:Jp,numberToBytesLE:HR,numberToHexUnpadded:AJ,numberToVarBytesBE:v2e,utf8ToBytes:b2e,validateObject:P2},Symbol.toStringTag,{value:"Module"}));/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const Ts=BigInt(0),Uo=BigInt(1),xm=BigInt(2),E2e=BigInt(3),l_=BigInt(4),XF=BigInt(5),eB=BigInt(8);BigInt(9);BigInt(16);function oa(t,e){const n=t%e;return n>=Ts?n:e+n}function N2e(t,e,n){if(n<=Ts||e<Ts)throw new Error("Expected power/modulo > 0");if(n===Uo)return Ts;let r=Uo;for(;e>Ts;)e&Uo&&(r=r*t%n),t=t*t%n,e>>=Uo;return r}function _l(t,e,n){let r=t;for(;e-- >Ts;)r*=r,r%=n;return r}function c_(t,e){if(t===Ts||e<=Ts)throw new Error(`invert: expected positive integers, got n=${t} mod=${e}`);let n=oa(t,e),r=e,o=Ts,s=Uo;for(;n!==Ts;){const i=r/n,l=r%n,u=o-s*i;r=n,n=l,o=s,s=u}if(r!==Uo)throw new Error("invert: does not exist");return oa(o,e)}function I2e(t){const e=(t-Uo)/xm;let n,r,o;for(n=t-Uo,r=0;n%xm===Ts;n/=xm,r++);for(o=xm;o<t&&N2e(o,e,t)!==t-Uo;o++);if(r===1){const a=(t+Uo)/l_;return function(l,u){const d=l.pow(u,a);if(!l.eql(l.sqr(d),u))throw new Error("Cannot find square root");return d}}const s=(n+Uo)/xm;return function(i,l){if(i.pow(l,e)===i.neg(i.ONE))throw new Error("Cannot find square root");let u=r,d=i.pow(i.mul(i.ONE,o),n),f=i.pow(l,s),m=i.pow(l,n);for(;!i.eql(m,i.ONE);){if(i.eql(m,i.ZERO))return i.ZERO;let g=1;for(let b=i.sqr(m);g<u&&!i.eql(b,i.ONE);g++)b=i.sqr(b);const w=i.pow(d,Uo<<BigInt(u-g-1));d=i.sqr(w),f=i.mul(f,w),m=i.mul(m,d),u=g}return f}}function A2e(t){if(t%l_===E2e){const e=(t+Uo)/l_;return function(r,o){const s=r.pow(o,e);if(!r.eql(r.sqr(s),o))throw new Error("Cannot find square root");return s}}if(t%eB===XF){const e=(t-XF)/eB;return function(r,o){const s=r.mul(o,xm),a=r.pow(s,e),i=r.mul(o,a),l=r.mul(r.mul(i,xm),a),u=r.mul(i,r.sub(l,r.ONE));if(!r.eql(r.sqr(u),o))throw new Error("Cannot find square root");return u}}return I2e(t)}const _2e=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function M2e(t){const e={ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"},n=_2e.reduce((r,o)=>(r[o]="function",r),e);return P2(t,n)}function R2e(t,e,n){if(n<Ts)throw new Error("Expected power > 0");if(n===Ts)return t.ONE;if(n===Uo)return e;let r=t.ONE,o=e;for(;n>Ts;)n&Uo&&(r=t.mul(r,o)),o=t.sqr(o),n>>=Uo;return r}function T2e(t,e){const n=new Array(e.length),r=e.reduce((s,a,i)=>t.is0(a)?s:(n[i]=s,t.mul(s,a)),t.ONE),o=t.inv(r);return e.reduceRight((s,a,i)=>t.is0(a)?s:(n[i]=t.mul(s,n[i]),t.mul(s,a)),o),n}function MJ(t,e){const n=e!==void 0?e:t.toString(2).length,r=Math.ceil(n/8);return{nBitLength:n,nByteLength:r}}function D2e(t,e,n=!1,r={}){if(t<=Ts)throw new Error(`Expected Field ORDER > 0, got ${t}`);const{nBitLength:o,nByteLength:s}=MJ(t,e);if(s>2048)throw new Error("Field lengths over 2048 bytes are not supported");const a=A2e(t),i=Object.freeze({ORDER:t,BITS:o,BYTES:s,MASK:WR(o),ZERO:Ts,ONE:Uo,create:l=>oa(l,t),isValid:l=>{if(typeof l!="bigint")throw new Error(`Invalid field element: expected bigint, got ${typeof l}`);return Ts<=l&&l<t},is0:l=>l===Ts,isOdd:l=>(l&Uo)===Uo,neg:l=>oa(-l,t),eql:(l,u)=>l===u,sqr:l=>oa(l*l,t),add:(l,u)=>oa(l+u,t),sub:(l,u)=>oa(l-u,t),mul:(l,u)=>oa(l*u,t),pow:(l,u)=>R2e(i,l,u),div:(l,u)=>oa(l*c_(u,t),t),sqrN:l=>l*l,addN:(l,u)=>l+u,subN:(l,u)=>l-u,mulN:(l,u)=>l*u,inv:l=>c_(l,t),sqrt:r.sqrt||(l=>a(i,l)),invertBatch:l=>T2e(i,l),cmov:(l,u,d)=>d?u:l,toBytes:l=>n?HR(l,s):Jp(l,s),fromBytes:l=>{if(l.length!==s)throw new Error(`Fp.fromBytes: expected ${s}, got ${l.length}`);return n?VR(l):Si(l)}});return Object.freeze(i)}function RJ(t){if(typeof t!="bigint")throw new Error("field order must be bigint");const e=t.toString(2).length;return Math.ceil(e/8)}function TJ(t){const e=RJ(t);return e+Math.ceil(e/2)}function L2e(t,e,n=!1){const r=t.length,o=RJ(e),s=TJ(e);if(r<16||r<s||r>1024)throw new Error(`expected ${s}-1024 bytes of input, got ${r}`);const a=n?Si(t):VR(t),i=oa(a,e-Uo)+Uo;return n?HR(i,o):Jp(i,o)}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const P2e=BigInt(0),SI=BigInt(1);function O2e(t,e){const n=(o,s)=>{const a=s.negate();return o?a:s},r=o=>{const s=Math.ceil(e/o)+1,a=2**(o-1);return{windows:s,windowSize:a}};return{constTimeNegate:n,unsafeLadder(o,s){let a=t.ZERO,i=o;for(;s>P2e;)s&SI&&(a=a.add(i)),i=i.double(),s>>=SI;return a},precomputeWindow(o,s){const{windows:a,windowSize:i}=r(s),l=[];let u=o,d=u;for(let f=0;f<a;f++){d=u,l.push(d);for(let m=1;m<i;m++)d=d.add(u),l.push(d);u=d.double()}return l},wNAF(o,s,a){const{windows:i,windowSize:l}=r(o);let u=t.ZERO,d=t.BASE;const f=BigInt(2**o-1),m=2**o,g=BigInt(o);for(let w=0;w<i;w++){const b=w*l;let j=Number(a&f);a>>=g,j>l&&(j-=m,a+=SI);const S=b,I=b+Math.abs(j)-1,N=w%2!==0,M=j<0;j===0?d=d.add(n(N,s[S])):u=u.add(n(M,s[I]))}return{p:u,f:d}},wNAFCached(o,s,a,i){const l=o._WINDOW_SIZE||1;let u=s.get(o);return u||(u=this.precomputeWindow(o,l),l!==1&&s.set(o,i(u))),this.wNAF(l,u,a)}}}function DJ(t){return M2e(t.Fp),P2(t,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...MJ(t.n,t.nBitLength),...t,p:t.Fp.ORDER})}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */function z2e(t){const e=DJ(t);P2(e,{a:"field",b:"field"},{allowedPrivateKeyLengths:"array",wrapPrivateKey:"boolean",isTorsionFree:"function",clearCofactor:"function",allowInfinityPoint:"boolean",fromBytes:"function",toBytes:"function"});const{endo:n,Fp:r,a:o}=e;if(n){if(!r.eql(o,r.ZERO))throw new Error("Endomorphism can only be defined for Koblitz curves that have a=0");if(typeof n!="object"||typeof n.beta!="bigint"||typeof n.splitScalar!="function")throw new Error("Expected endomorphism with beta: bigint and splitScalar: function")}return Object.freeze({...e})}const{bytesToNumberBE:F2e,hexToBytes:B2e}=S2e,Dm={Err:class extends Error{constructor(e=""){super(e)}},_parseInt(t){const{Err:e}=Dm;if(t.length<2||t[0]!==2)throw new e("Invalid signature integer tag");const n=t[1],r=t.subarray(2,n+2);if(!n||r.length!==n)throw new e("Invalid signature integer: wrong length");if(r[0]&128)throw new e("Invalid signature integer: negative");if(r[0]===0&&!(r[1]&128))throw new e("Invalid signature integer: unnecessary leading zero");return{d:F2e(r),l:t.subarray(n+2)}},toSig(t){const{Err:e}=Dm,n=typeof t=="string"?B2e(t):t;if(!(n instanceof Uint8Array))throw new Error("ui8a expected");let r=n.length;if(r<2||n[0]!=48)throw new e("Invalid signature tag");if(n[1]!==r-2)throw new e("Invalid signature: incorrect length");const{d:o,l:s}=Dm._parseInt(n.subarray(2)),{d:a,l:i}=Dm._parseInt(s);if(i.length)throw new e("Invalid signature: left bytes after parsing");return{r:o,s:a}},hexFromSig(t){const e=u=>Number.parseInt(u[0],16)&8?"00"+u:u,n=u=>{const d=u.toString(16);return d.length&1?`0${d}`:d},r=e(n(t.s)),o=e(n(t.r)),s=r.length/2,a=o.length/2,i=n(s),l=n(a);return`30${n(a+s+4)}02${l}${o}02${i}${r}`}},Kf=BigInt(0),Ll=BigInt(1);BigInt(2);const tB=BigInt(3);BigInt(4);function U2e(t){const e=z2e(t),{Fp:n}=e,r=e.toBytes||((w,b,j)=>{const S=b.toAffine();return ig(Uint8Array.from([4]),n.toBytes(S.x),n.toBytes(S.y))}),o=e.fromBytes||(w=>{const b=w.subarray(1),j=n.fromBytes(b.subarray(0,n.BYTES)),S=n.fromBytes(b.subarray(n.BYTES,2*n.BYTES));return{x:j,y:S}});function s(w){const{a:b,b:j}=e,S=n.sqr(w),I=n.mul(S,w);return n.add(n.add(I,n.mul(w,b)),j)}if(!n.eql(n.sqr(e.Gy),s(e.Gx)))throw new Error("bad generator point: equation left != right");function a(w){return typeof w=="bigint"&&Kf<w&&w<e.n}function i(w){if(!a(w))throw new Error("Expected valid bigint: 0 < bigint < curve.n")}function l(w){const{allowedPrivateKeyLengths:b,nByteLength:j,wrapPrivateKey:S,n:I}=e;if(b&&typeof w!="bigint"){if(w instanceof Uint8Array&&(w=Zc(w)),typeof w!="string"||!b.includes(w.length))throw new Error("Invalid key");w=w.padStart(j*2,"0")}let N;try{N=typeof w=="bigint"?w:Si(Ca("private key",w,j))}catch{throw new Error(`private key must be ${j} bytes, hex or bigint, not ${typeof w}`)}return S&&(N=oa(N,I)),i(N),N}const u=new Map;function d(w){if(!(w instanceof f))throw new Error("ProjectivePoint expected")}class f{constructor(b,j,S){if(this.px=b,this.py=j,this.pz=S,b==null||!n.isValid(b))throw new Error("x required");if(j==null||!n.isValid(j))throw new Error("y required");if(S==null||!n.isValid(S))throw new Error("z required")}static fromAffine(b){const{x:j,y:S}=b||{};if(!b||!n.isValid(j)||!n.isValid(S))throw new Error("invalid affine point");if(b instanceof f)throw new Error("projective point not allowed");const I=N=>n.eql(N,n.ZERO);return I(j)&&I(S)?f.ZERO:new f(j,S,n.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(b){const j=n.invertBatch(b.map(S=>S.pz));return b.map((S,I)=>S.toAffine(j[I])).map(f.fromAffine)}static fromHex(b){const j=f.fromAffine(o(Ca("pointHex",b)));return j.assertValidity(),j}static fromPrivateKey(b){return f.BASE.multiply(l(b))}_setWindowSize(b){this._WINDOW_SIZE=b,u.delete(this)}assertValidity(){if(this.is0()){if(e.allowInfinityPoint&&!n.is0(this.py))return;throw new Error("bad point: ZERO")}const{x:b,y:j}=this.toAffine();if(!n.isValid(b)||!n.isValid(j))throw new Error("bad point: x or y not FE");const S=n.sqr(j),I=s(b);if(!n.eql(S,I))throw new Error("bad point: equation left != right");if(!this.isTorsionFree())throw new Error("bad point: not in prime-order subgroup")}hasEvenY(){const{y:b}=this.toAffine();if(n.isOdd)return!n.isOdd(b);throw new Error("Field doesn't support isOdd")}equals(b){d(b);const{px:j,py:S,pz:I}=this,{px:N,py:M,pz:D}=b,O=n.eql(n.mul(j,D),n.mul(N,I)),L=n.eql(n.mul(S,D),n.mul(M,I));return O&&L}negate(){return new f(this.px,n.neg(this.py),this.pz)}double(){const{a:b,b:j}=e,S=n.mul(j,tB),{px:I,py:N,pz:M}=this;let D=n.ZERO,O=n.ZERO,L=n.ZERO,B=n.mul(I,I),T=n.mul(N,N),R=n.mul(M,M),z=n.mul(I,N);return z=n.add(z,z),L=n.mul(I,M),L=n.add(L,L),D=n.mul(b,L),O=n.mul(S,R),O=n.add(D,O),D=n.sub(T,O),O=n.add(T,O),O=n.mul(D,O),D=n.mul(z,D),L=n.mul(S,L),R=n.mul(b,R),z=n.sub(B,R),z=n.mul(b,z),z=n.add(z,L),L=n.add(B,B),B=n.add(L,B),B=n.add(B,R),B=n.mul(B,z),O=n.add(O,B),R=n.mul(N,M),R=n.add(R,R),B=n.mul(R,z),D=n.sub(D,B),L=n.mul(R,T),L=n.add(L,L),L=n.add(L,L),new f(D,O,L)}add(b){d(b);const{px:j,py:S,pz:I}=this,{px:N,py:M,pz:D}=b;let O=n.ZERO,L=n.ZERO,B=n.ZERO;const T=e.a,R=n.mul(e.b,tB);let z=n.mul(j,N),Y=n.mul(S,M),Q=n.mul(I,D),W=n.add(j,S),F=n.add(N,M);W=n.mul(W,F),F=n.add(z,Y),W=n.sub(W,F),F=n.add(j,I);let X=n.add(N,D);return F=n.mul(F,X),X=n.add(z,Q),F=n.sub(F,X),X=n.add(S,I),O=n.add(M,D),X=n.mul(X,O),O=n.add(Y,Q),X=n.sub(X,O),B=n.mul(T,F),O=n.mul(R,Q),B=n.add(O,B),O=n.sub(Y,B),B=n.add(Y,B),L=n.mul(O,B),Y=n.add(z,z),Y=n.add(Y,z),Q=n.mul(T,Q),F=n.mul(R,F),Y=n.add(Y,Q),Q=n.sub(z,Q),Q=n.mul(T,Q),F=n.add(F,Q),z=n.mul(Y,F),L=n.add(L,z),z=n.mul(X,F),O=n.mul(W,O),O=n.sub(O,z),z=n.mul(W,Y),B=n.mul(X,B),B=n.add(B,z),new f(O,L,B)}subtract(b){return this.add(b.negate())}is0(){return this.equals(f.ZERO)}wNAF(b){return g.wNAFCached(this,u,b,j=>{const S=n.invertBatch(j.map(I=>I.pz));return j.map((I,N)=>I.toAffine(S[N])).map(f.fromAffine)})}multiplyUnsafe(b){const j=f.ZERO;if(b===Kf)return j;if(i(b),b===Ll)return this;const{endo:S}=e;if(!S)return g.unsafeLadder(this,b);let{k1neg:I,k1:N,k2neg:M,k2:D}=S.splitScalar(b),O=j,L=j,B=this;for(;N>Kf||D>Kf;)N&Ll&&(O=O.add(B)),D&Ll&&(L=L.add(B)),B=B.double(),N>>=Ll,D>>=Ll;return I&&(O=O.negate()),M&&(L=L.negate()),L=new f(n.mul(L.px,S.beta),L.py,L.pz),O.add(L)}multiply(b){i(b);let j=b,S,I;const{endo:N}=e;if(N){const{k1neg:M,k1:D,k2neg:O,k2:L}=N.splitScalar(j);let{p:B,f:T}=this.wNAF(D),{p:R,f:z}=this.wNAF(L);B=g.constTimeNegate(M,B),R=g.constTimeNegate(O,R),R=new f(n.mul(R.px,N.beta),R.py,R.pz),S=B.add(R),I=T.add(z)}else{const{p:M,f:D}=this.wNAF(j);S=M,I=D}return f.normalizeZ([S,I])[0]}multiplyAndAddUnsafe(b,j,S){const I=f.BASE,N=(D,O)=>O===Kf||O===Ll||!D.equals(I)?D.multiplyUnsafe(O):D.multiply(O),M=N(this,j).add(N(b,S));return M.is0()?void 0:M}toAffine(b){const{px:j,py:S,pz:I}=this,N=this.is0();b==null&&(b=N?n.ONE:n.inv(I));const M=n.mul(j,b),D=n.mul(S,b),O=n.mul(I,b);if(N)return{x:n.ZERO,y:n.ZERO};if(!n.eql(O,n.ONE))throw new Error("invZ was invalid");return{x:M,y:D}}isTorsionFree(){const{h:b,isTorsionFree:j}=e;if(b===Ll)return!0;if(j)return j(f,this);throw new Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){const{h:b,clearCofactor:j}=e;return b===Ll?this:j?j(f,this):this.multiplyUnsafe(e.h)}toRawBytes(b=!0){return this.assertValidity(),r(f,this,b)}toHex(b=!0){return Zc(this.toRawBytes(b))}}f.BASE=new f(e.Gx,e.Gy,n.ONE),f.ZERO=new f(n.ZERO,n.ONE,n.ZERO);const m=e.nBitLength,g=O2e(f,e.endo?Math.ceil(m/2):m);return{CURVE:e,ProjectivePoint:f,normPrivateKeyToScalar:l,weierstrassEquation:s,isWithinCurveOrder:a}}function $2e(t){const e=DJ(t);return P2(e,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...e})}function V2e(t){const e=$2e(t),{Fp:n,n:r}=e,o=n.BYTES+1,s=2*n.BYTES+1;function a(F){return Kf<F&&F<n.ORDER}function i(F){return oa(F,r)}function l(F){return c_(F,r)}const{ProjectivePoint:u,normPrivateKeyToScalar:d,weierstrassEquation:f,isWithinCurveOrder:m}=U2e({...e,toBytes(F,X,$){const V=X.toAffine(),K=n.toBytes(V.x),G=ig;return $?G(Uint8Array.from([X.hasEvenY()?2:3]),K):G(Uint8Array.from([4]),K,n.toBytes(V.y))},fromBytes(F){const X=F.length,$=F[0],V=F.subarray(1);if(X===o&&($===2||$===3)){const K=Si(V);if(!a(K))throw new Error("Point is not on curve");const G=f(K);let J=n.sqrt(G);const ne=(J&Ll)===Ll;return($&1)===1!==ne&&(J=n.neg(J)),{x:K,y:J}}else if(X===s&&$===4){const K=n.fromBytes(V.subarray(0,n.BYTES)),G=n.fromBytes(V.subarray(n.BYTES,2*n.BYTES));return{x:K,y:G}}else throw new Error(`Point of length ${X} was invalid. Expected ${o} compressed bytes or ${s} uncompressed bytes`)}}),g=F=>Zc(Jp(F,e.nByteLength));function w(F){const X=r>>Ll;return F>X}function b(F){return w(F)?i(-F):F}const j=(F,X,$)=>Si(F.slice(X,$));class S{constructor(X,$,V){this.r=X,this.s=$,this.recovery=V,this.assertValidity()}static fromCompact(X){const $=e.nByteLength;return X=Ca("compactSignature",X,$*2),new S(j(X,0,$),j(X,$,2*$))}static fromDER(X){const{r:$,s:V}=Dm.toSig(Ca("DER",X));return new S($,V)}assertValidity(){if(!m(this.r))throw new Error("r must be 0 < r < CURVE.n");if(!m(this.s))throw new Error("s must be 0 < s < CURVE.n")}addRecoveryBit(X){return new S(this.r,this.s,X)}recoverPublicKey(X){const{r:$,s:V,recovery:K}=this,G=L(Ca("msgHash",X));if(K==null||![0,1,2,3].includes(K))throw new Error("recovery id invalid");const J=K===2||K===3?$+e.n:$;if(J>=n.ORDER)throw new Error("recovery id 2 or 3 invalid");const ne=(K&1)===0?"02":"03",re=u.fromHex(ne+g(J)),de=l(J),Ne=i(-G*de),ve=i(V*de),xe=u.BASE.multiplyAndAddUnsafe(re,Ne,ve);if(!xe)throw new Error("point at infinify");return xe.assertValidity(),xe}hasHighS(){return w(this.s)}normalizeS(){return this.hasHighS()?new S(this.r,i(-this.s),this.recovery):this}toDERRawBytes(){return id(this.toDERHex())}toDERHex(){return Dm.hexFromSig({r:this.r,s:this.s})}toCompactRawBytes(){return id(this.toCompactHex())}toCompactHex(){return g(this.r)+g(this.s)}}const I={isValidPrivateKey(F){try{return d(F),!0}catch{return!1}},normPrivateKeyToScalar:d,randomPrivateKey:()=>{const F=TJ(e.n);return L2e(e.randomBytes(F),e.n)},precompute(F=8,X=u.BASE){return X._setWindowSize(F),X.multiply(BigInt(3)),X}};function N(F,X=!0){return u.fromPrivateKey(F).toRawBytes(X)}function M(F){const X=F instanceof Uint8Array,$=typeof F=="string",V=(X||$)&&F.length;return X?V===o||V===s:$?V===2*o||V===2*s:F instanceof u}function D(F,X,$=!0){if(M(F))throw new Error("first arg must be private key");if(!M(X))throw new Error("second arg must be public key");return u.fromHex(X).multiply(d(F)).toRawBytes($)}const O=e.bits2int||function(F){const X=Si(F),$=F.length*8-e.nBitLength;return $>0?X>>BigInt($):X},L=e.bits2int_modN||function(F){return i(O(F))},B=WR(e.nBitLength);function T(F){if(typeof F!="bigint")throw new Error("bigint expected");if(!(Kf<=F&&F<B))throw new Error(`bigint expected < 2^${e.nBitLength}`);return Jp(F,e.nByteLength)}function R(F,X,$=z){if(["recovered","canonical"].some(pe=>pe in $))throw new Error("sign() legacy options not supported");const{hash:V,randomBytes:K}=e;let{lowS:G,prehash:J,extraEntropy:ne}=$;G==null&&(G=!0),F=Ca("msgHash",F),J&&(F=Ca("prehashed msgHash",V(F)));const re=L(F),de=d(X),Ne=[T(de),T(re)];if(ne!=null){const pe=ne===!0?K(n.BYTES):ne;Ne.push(Ca("extraEntropy",pe))}const ve=ig(...Ne),xe=re;function ce(pe){const me=O(pe);if(!m(me))return;const ke=l(me),le=u.BASE.multiply(me).toAffine(),he=i(le.x);if(he===Kf)return;const we=i(ke*i(xe+he*de));if(we===Kf)return;let Ae=(le.x===he?0:2)|Number(le.y&Ll),Ve=we;return G&&w(we)&&(Ve=b(we),Ae^=1),new S(he,Ve,Ae)}return{seed:ve,k2sig:ce}}const z={lowS:e.lowS,prehash:!1},Y={lowS:e.lowS,prehash:!1};function Q(F,X,$=z){const{seed:V,k2sig:K}=R(F,X,$),G=e;return _J(G.hash.outputLen,G.nByteLength,G.hmac)(V,K)}u.BASE._setWindowSize(8);function W(F,X,$,V=Y){var le;const K=F;if(X=Ca("msgHash",X),$=Ca("publicKey",$),"strict"in V)throw new Error("options.strict was renamed to lowS");const{lowS:G,prehash:J}=V;let ne,re;try{if(typeof K=="string"||K instanceof Uint8Array)try{ne=S.fromDER(K)}catch(he){if(!(he instanceof Dm.Err))throw he;ne=S.fromCompact(K)}else if(typeof K=="object"&&typeof K.r=="bigint"&&typeof K.s=="bigint"){const{r:he,s:we}=K;ne=new S(he,we)}else throw new Error("PARSE");re=u.fromHex($)}catch(he){if(he.message==="PARSE")throw new Error("signature must be Signature instance, Uint8Array or hex string");return!1}if(G&&ne.hasHighS())return!1;J&&(X=e.hash(X));const{r:de,s:Ne}=ne,ve=L(X),xe=l(Ne),ce=i(ve*xe),pe=i(de*xe),me=(le=u.BASE.multiplyAndAddUnsafe(re,ce,pe))==null?void 0:le.toAffine();return me?i(me.x)===de:!1}return{CURVE:e,getPublicKey:N,getSharedSecret:D,sign:Q,verify:W,ProjectivePoint:u,Signature:S,utils:I}}let LJ=class extends EJ{constructor(e,n){super(),this.finished=!1,this.destroyed=!1,o2e(e);const r=UR(n);if(this.iHash=e.create(),typeof this.iHash.update!="function")throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;const o=this.blockLen,s=new Uint8Array(o);s.set(r.length>o?e.create().update(r).digest():r);for(let a=0;a<s.length;a++)s[a]^=54;this.iHash.update(s),this.oHash=e.create();for(let a=0;a<s.length;a++)s[a]^=106;this.oHash.update(s),s.fill(0)}update(e){return ck(this),this.iHash.update(e),this}digestInto(e){ck(this),CJ(e,this.outputLen),this.finished=!0,this.iHash.digestInto(e),this.oHash.update(e),this.oHash.digestInto(e),this.destroy()}digest(){const e=new Uint8Array(this.oHash.outputLen);return this.digestInto(e),e}_cloneInto(e){e||(e=Object.create(Object.getPrototypeOf(this),{}));const{oHash:n,iHash:r,finished:o,destroyed:s,blockLen:a,outputLen:i}=this;return e=e,e.finished=o,e.destroyed=s,e.blockLen=a,e.outputLen=i,e.oHash=n._cloneInto(e.oHash),e.iHash=r._cloneInto(e.iHash),e}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}};const PJ=(t,e,n)=>new LJ(t,e).update(n).digest();PJ.create=(t,e)=>new LJ(t,e);/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */function H2e(t){return{hash:t,hmac:(e,...n)=>PJ(t,e,l2e(...n)),randomBytes:NJ}}function W2e(t,e){const n=r=>V2e({...t,...H2e(r)});return Object.freeze({...n(e),create:n})}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const uC=BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),uk=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),OJ=BigInt(1),fk=BigInt(2),nB=(t,e)=>(t+e/fk)/e;function zJ(t){const e=uC,n=BigInt(3),r=BigInt(6),o=BigInt(11),s=BigInt(22),a=BigInt(23),i=BigInt(44),l=BigInt(88),u=t*t*t%e,d=u*u*t%e,f=_l(d,n,e)*d%e,m=_l(f,n,e)*d%e,g=_l(m,fk,e)*u%e,w=_l(g,o,e)*g%e,b=_l(w,s,e)*w%e,j=_l(b,i,e)*b%e,S=_l(j,l,e)*j%e,I=_l(S,i,e)*b%e,N=_l(I,n,e)*d%e,M=_l(N,a,e)*w%e,D=_l(M,r,e)*u%e,O=_l(D,fk,e);if(!u_.eql(u_.sqr(O),t))throw new Error("Cannot find square root");return O}const u_=D2e(uC,void 0,void 0,{sqrt:zJ}),ql=W2e({a:BigInt(0),b:BigInt(7),Fp:u_,n:uk,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),h:BigInt(1),lowS:!0,endo:{beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar:t=>{const e=uk,n=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),r=-OJ*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),o=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),s=n,a=BigInt("0x100000000000000000000000000000000"),i=nB(s*t,e),l=nB(-r*t,e);let u=oa(t-i*n-l*o,e),d=oa(-i*r-l*s,e);const f=u>a,m=d>a;if(f&&(u=e-u),m&&(d=e-d),u>a||d>a)throw new Error("splitScalar: Endomorphism failed, k="+t);return{k1neg:f,k1:u,k2neg:m,k2:d}}}},i_),fC=BigInt(0),FJ=t=>typeof t=="bigint"&&fC<t&&t<uC,Y2e=t=>typeof t=="bigint"&&fC<t&&t<uk,rB={};function dk(t,...e){let n=rB[t];if(n===void 0){const r=i_(Uint8Array.from(t,o=>o.charCodeAt(0)));n=ig(r,r),rB[t]=n}return i_(ig(n,...e))}const YR=t=>t.toRawBytes(!0).slice(1),f_=t=>Jp(t,32),EI=t=>oa(t,uC),bb=t=>oa(t,uk),GR=ql.ProjectivePoint,G2e=(t,e,n)=>GR.BASE.multiplyAndAddUnsafe(t,e,n);function d_(t){let e=ql.utils.normPrivateKeyToScalar(t),n=GR.fromPrivateKey(e);return{scalar:n.hasEvenY()?e:bb(-e),bytes:YR(n)}}function BJ(t){if(!FJ(t))throw new Error("bad x: need 0 < x < p");const e=EI(t*t),n=EI(e*t+BigInt(7));let r=zJ(n);r%fk!==fC&&(r=EI(-r));const o=new GR(t,r,OJ);return o.assertValidity(),o}function UJ(...t){return bb(Si(dk("BIP0340/challenge",...t)))}function q2e(t){return d_(t).bytes}function K2e(t,e,n=NJ(32)){const r=Ca("message",t),{bytes:o,scalar:s}=d_(e),a=Ca("auxRand",n,32),i=f_(s^Si(dk("BIP0340/aux",a))),l=dk("BIP0340/nonce",i,o,r),u=bb(Si(l));if(u===fC)throw new Error("sign failed: k is zero");const{bytes:d,scalar:f}=d_(u),m=UJ(d,o,r),g=new Uint8Array(64);if(g.set(d,0),g.set(f_(bb(f+m*s)),32),!$J(g,r,o))throw new Error("sign: Invalid signature produced");return g}function $J(t,e,n){const r=Ca("signature",t,64),o=Ca("message",e),s=Ca("publicKey",n,32);try{const a=BJ(Si(s)),i=Si(r.subarray(0,32));if(!FJ(i))return!1;const l=Si(r.subarray(32,64));if(!Y2e(l))return!1;const u=UJ(f_(i),YR(a),o),d=G2e(a,l,bb(-u));return!(!d||!d.hasEvenY()||d.toAffine().x!==i)}catch{return!1}}const Ga={getPublicKey:q2e,sign:K2e,verify:$J,utils:{randomPrivateKey:ql.utils.randomPrivateKey,lift_x:BJ,pointToBytes:YR,numberToBytesBE:Jp,bytesToNumberBE:Si,taggedHash:dk,mod:oa}},NI=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */const qR=t=>t instanceof Uint8Array,II=t=>new Uint32Array(t.buffer,t.byteOffset,Math.floor(t.byteLength/4)),y3=t=>new DataView(t.buffer,t.byteOffset,t.byteLength),xu=(t,e)=>t<<32-e|t>>>e,Z2e=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;if(!Z2e)throw new Error("Non little-endian hardware is not supported");const Q2e=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));function Lr(t){if(!qR(t))throw new Error("Uint8Array expected");let e="";for(let n=0;n<t.length;n++)e+=Q2e[t[n]];return e}function lg(t){if(typeof t!="string")throw new Error("hex string expected, got "+typeof t);const e=t.length;if(e%2)throw new Error("padded hex string expected, got unpadded hex of length "+e);const n=new Uint8Array(e/2);for(let r=0;r<n.length;r++){const o=r*2,s=t.slice(o,o+2),a=Number.parseInt(s,16);if(Number.isNaN(a)||a<0)throw new Error("Invalid byte sequence");n[r]=a}return n}function J2e(t){if(typeof t!="string")throw new Error(`utf8ToBytes expected string, got ${typeof t}`);return new Uint8Array(new TextEncoder().encode(t))}function cg(t){if(typeof t=="string"&&(t=J2e(t)),!qR(t))throw new Error(`expected Uint8Array, got ${typeof t}`);return t}function vh(...t){const e=new Uint8Array(t.reduce((r,o)=>r+o.length,0));let n=0;return t.forEach(r=>{if(!qR(r))throw new Error("Uint8Array expected");e.set(r,n),n+=r.length}),e}let VJ=class{clone(){return this._cloneInto()}};const X2e=t=>Object.prototype.toString.call(t)==="[object Object]"&&t.constructor===Object;function HJ(t,e){if(e!==void 0&&(typeof e!="object"||!X2e(e)))throw new Error("Options should be object or undefined");return Object.assign(t,e)}function WJ(t){const e=r=>t().update(cg(r)).digest(),n=t();return e.outputLen=n.outputLen,e.blockLen=n.blockLen,e.create=()=>t(),e}function xb(t=32){if(NI&&typeof NI.getRandomValues=="function")return NI.getRandomValues(new Uint8Array(t));throw new Error("crypto.getRandomValues must be defined")}function p_(t){if(!Number.isSafeInteger(t)||t<0)throw new Error(`Wrong positive integer: ${t}`)}function exe(t){if(typeof t!="boolean")throw new Error(`Expected boolean, not ${t}`)}function YJ(t,...e){if(!(t instanceof Uint8Array))throw new Error("Expected Uint8Array");if(e.length>0&&!e.includes(t.length))throw new Error(`Expected Uint8Array of length ${e}, not of length=${t.length}`)}function txe(t){if(typeof t!="function"||typeof t.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");p_(t.outputLen),p_(t.blockLen)}function nxe(t,e=!0){if(t.destroyed)throw new Error("Hash instance has been destroyed");if(e&&t.finished)throw new Error("Hash#digest() has already been called")}function rxe(t,e){YJ(t);const n=e.outputLen;if(t.length<n)throw new Error(`digestInto() expects output buffer of length at least ${n}`)}const qo={number:p_,bool:exe,bytes:YJ,hash:txe,exists:nxe,output:rxe};function oxe(t,e,n,r){if(typeof t.setBigUint64=="function")return t.setBigUint64(e,n,r);const o=BigInt(32),s=BigInt(4294967295),a=Number(n>>o&s),i=Number(n&s),l=r?4:0,u=r?0:4;t.setUint32(e+l,a,r),t.setUint32(e+u,i,r)}let sxe=class extends VJ{constructor(e,n,r,o){super(),this.blockLen=e,this.outputLen=n,this.padOffset=r,this.isLE=o,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(e),this.view=y3(this.buffer)}update(e){qo.exists(this);const{view:n,buffer:r,blockLen:o}=this;e=cg(e);const s=e.length;for(let a=0;a<s;){const i=Math.min(o-this.pos,s-a);if(i===o){const l=y3(e);for(;o<=s-a;a+=o)this.process(l,a);continue}r.set(e.subarray(a,a+i),this.pos),this.pos+=i,a+=i,this.pos===o&&(this.process(n,0),this.pos=0)}return this.length+=e.length,this.roundClean(),this}digestInto(e){qo.exists(this),qo.output(e,this),this.finished=!0;const{buffer:n,view:r,blockLen:o,isLE:s}=this;let{pos:a}=this;n[a++]=128,this.buffer.subarray(a).fill(0),this.padOffset>o-a&&(this.process(r,0),a=0);for(let f=a;f<o;f++)n[f]=0;oxe(r,o-8,BigInt(this.length*8),s),this.process(r,0);const i=y3(e),l=this.outputLen;if(l%4)throw new Error("_sha2: outputLen should be aligned to 32bit");const u=l/4,d=this.get();if(u>d.length)throw new Error("_sha2: outputLen bigger than state");for(let f=0;f<u;f++)i.setUint32(4*f,d[f],s)}digest(){const{buffer:e,outputLen:n}=this;this.digestInto(e);const r=e.slice(0,n);return this.destroy(),r}_cloneInto(e){e||(e=new this.constructor),e.set(...this.get());const{blockLen:n,buffer:r,length:o,finished:s,destroyed:a,pos:i}=this;return e.length=o,e.pos=i,e.finished=s,e.destroyed=a,o%n&&e.buffer.set(r),e}};const axe=(t,e,n)=>t&e^~t&n,ixe=(t,e,n)=>t&e^t&n^e&n,lxe=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),Xd=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),ep=new Uint32Array(64);let GJ=class extends sxe{constructor(){super(64,32,8,!1),this.A=Xd[0]|0,this.B=Xd[1]|0,this.C=Xd[2]|0,this.D=Xd[3]|0,this.E=Xd[4]|0,this.F=Xd[5]|0,this.G=Xd[6]|0,this.H=Xd[7]|0}get(){const{A:e,B:n,C:r,D:o,E:s,F:a,G:i,H:l}=this;return[e,n,r,o,s,a,i,l]}set(e,n,r,o,s,a,i,l){this.A=e|0,this.B=n|0,this.C=r|0,this.D=o|0,this.E=s|0,this.F=a|0,this.G=i|0,this.H=l|0}process(e,n){for(let f=0;f<16;f++,n+=4)ep[f]=e.getUint32(n,!1);for(let f=16;f<64;f++){const m=ep[f-15],g=ep[f-2],w=xu(m,7)^xu(m,18)^m>>>3,b=xu(g,17)^xu(g,19)^g>>>10;ep[f]=b+ep[f-7]+w+ep[f-16]|0}let{A:r,B:o,C:s,D:a,E:i,F:l,G:u,H:d}=this;for(let f=0;f<64;f++){const m=xu(i,6)^xu(i,11)^xu(i,25),g=d+m+axe(i,l,u)+lxe[f]+ep[f]|0,b=(xu(r,2)^xu(r,13)^xu(r,22))+ixe(r,o,s)|0;d=u,u=l,l=i,i=a+g|0,a=s,s=o,o=r,r=g+b|0}r=r+this.A|0,o=o+this.B|0,s=s+this.C|0,a=a+this.D|0,i=i+this.E|0,l=l+this.F|0,u=u+this.G|0,d=d+this.H|0,this.set(r,o,s,a,i,l,u,d)}roundClean(){ep.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}},cxe=class extends GJ{constructor(){super(),this.A=-1056596264,this.B=914150663,this.C=812702999,this.D=-150054599,this.E=-4191439,this.F=1750603025,this.G=1694076839,this.H=-1090891868,this.outputLen=28}};const ml=WJ(()=>new GJ);WJ(()=>new cxe);/*! scure-base - MIT License (c) 2022 Paul Miller (paulmillr.com) */function Dy(t){if(!Number.isSafeInteger(t))throw new Error(`Wrong integer: ${t}`)}function md(...t){const e=(o,s)=>a=>o(s(a)),n=Array.from(t).reverse().reduce((o,s)=>o?e(o,s.encode):s.encode,void 0),r=t.reduce((o,s)=>o?e(o,s.decode):s.decode,void 0);return{encode:n,decode:r}}function gd(t){return{encode:e=>{if(!Array.isArray(e)||e.length&&typeof e[0]!="number")throw new Error("alphabet.encode input should be an array of numbers");return e.map(n=>{if(Dy(n),n<0||n>=t.length)throw new Error(`Digit index outside alphabet: ${n} (alphabet: ${t.length})`);return t[n]})},decode:e=>{if(!Array.isArray(e)||e.length&&typeof e[0]!="string")throw new Error("alphabet.decode input should be array of strings");return e.map(n=>{if(typeof n!="string")throw new Error(`alphabet.decode: not string element=${n}`);const r=t.indexOf(n);if(r===-1)throw new Error(`Unknown letter: "${n}". Allowed: ${t}`);return r})}}}function yd(t=""){if(typeof t!="string")throw new Error("join separator should be string");return{encode:e=>{if(!Array.isArray(e)||e.length&&typeof e[0]!="string")throw new Error("join.encode input should be array of strings");for(let n of e)if(typeof n!="string")throw new Error(`join.encode: non-string input=${n}`);return e.join(t)},decode:e=>{if(typeof e!="string")throw new Error("join.decode input should be string");return e.split(t)}}}function dC(t,e="="){if(Dy(t),typeof e!="string")throw new Error("padding chr should be string");return{encode(n){if(!Array.isArray(n)||n.length&&typeof n[0]!="string")throw new Error("padding.encode input should be array of strings");for(let r of n)if(typeof r!="string")throw new Error(`padding.encode: non-string input=${r}`);for(;n.length*t%8;)n.push(e);return n},decode(n){if(!Array.isArray(n)||n.length&&typeof n[0]!="string")throw new Error("padding.encode input should be array of strings");for(let o of n)if(typeof o!="string")throw new Error(`padding.decode: non-string input=${o}`);let r=n.length;if(r*t%8)throw new Error("Invalid padding: string should have whole number of bytes");for(;r>0&&n[r-1]===e;r--)if(!((r-1)*t%8))throw new Error("Invalid padding: string has too much padding");return n.slice(0,r)}}}function qJ(t){if(typeof t!="function")throw new Error("normalize fn should be function");return{encode:e=>e,decode:e=>t(e)}}function oB(t,e,n){if(e<2)throw new Error(`convertRadix: wrong from=${e}, base cannot be less than 2`);if(n<2)throw new Error(`convertRadix: wrong to=${n}, base cannot be less than 2`);if(!Array.isArray(t))throw new Error("convertRadix: data should be array");if(!t.length)return[];let r=0;const o=[],s=Array.from(t);for(s.forEach(a=>{if(Dy(a),a<0||a>=e)throw new Error(`Wrong integer: ${a}`)});;){let a=0,i=!0;for(let l=r;l<s.length;l++){const u=s[l],d=e*a+u;if(!Number.isSafeInteger(d)||e*a/e!==a||d-u!==e*a)throw new Error("convertRadix: carry overflow");if(a=d%n,s[l]=Math.floor(d/n),!Number.isSafeInteger(s[l])||s[l]*n+a!==d)throw new Error("convertRadix: carry overflow");if(i)s[l]?i=!1:r=l;else continue}if(o.push(a),i)break}for(let a=0;a<t.length-1&&t[a]===0;a++)o.push(0);return o.reverse()}const KJ=(t,e)=>e?KJ(e,t%e):t,pk=(t,e)=>t+(e-KJ(t,e));function h_(t,e,n,r){if(!Array.isArray(t))throw new Error("convertRadix2: data should be array");if(e<=0||e>32)throw new Error(`convertRadix2: wrong from=${e}`);if(n<=0||n>32)throw new Error(`convertRadix2: wrong to=${n}`);if(pk(e,n)>32)throw new Error(`convertRadix2: carry overflow from=${e} to=${n} carryBits=${pk(e,n)}`);let o=0,s=0;const a=2**n-1,i=[];for(const l of t){if(Dy(l),l>=2**e)throw new Error(`convertRadix2: invalid data word=${l} from=${e}`);if(o=o<<e|l,s+e>32)throw new Error(`convertRadix2: carry overflow pos=${s} from=${e}`);for(s+=e;s>=n;s-=n)i.push((o>>s-n&a)>>>0);o&=2**s-1}if(o=o<<n-s&a,!r&&s>=e)throw new Error("Excess padding");if(!r&&o)throw new Error(`Non-zero padding: ${o}`);return r&&s>0&&i.push(o>>>0),i}function uxe(t){return Dy(t),{encode:e=>{if(!(e instanceof Uint8Array))throw new Error("radix.encode input should be Uint8Array");return oB(Array.from(e),2**8,t)},decode:e=>{if(!Array.isArray(e)||e.length&&typeof e[0]!="number")throw new Error("radix.decode input should be array of strings");return Uint8Array.from(oB(e,t,2**8))}}}function wh(t,e=!1){if(Dy(t),t<=0||t>32)throw new Error("radix2: bits should be in (0..32]");if(pk(8,t)>32||pk(t,8)>32)throw new Error("radix2: carry overflow");return{encode:n=>{if(!(n instanceof Uint8Array))throw new Error("radix2.encode input should be Uint8Array");return h_(Array.from(n),8,t,!e)},decode:n=>{if(!Array.isArray(n)||n.length&&typeof n[0]!="number")throw new Error("radix2.decode input should be array of strings");return Uint8Array.from(h_(n,t,8,e))}}}function sB(t){if(typeof t!="function")throw new Error("unsafeWrapper fn should be function");return function(...e){try{return t.apply(null,e)}catch{}}}const fxe=md(wh(4),gd("0123456789ABCDEF"),yd("")),dxe=md(wh(5),gd("ABCDEFGHIJKLMNOPQRSTUVWXYZ234567"),dC(5),yd(""));md(wh(5),gd("0123456789ABCDEFGHIJKLMNOPQRSTUV"),dC(5),yd(""));md(wh(5),gd("0123456789ABCDEFGHJKMNPQRSTVWXYZ"),yd(""),qJ(t=>t.toUpperCase().replace(/O/g,"0").replace(/[IL]/g,"1")));const es=md(wh(6),gd("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"),dC(6),yd("")),pxe=md(wh(6),gd("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"),dC(6),yd("")),KR=t=>md(uxe(58),gd(t),yd("")),m_=KR("123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz");KR("123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ");KR("rpshnaf39wBUDNEGHJKLM4PQRST7VWXYZ2bcdeCg65jkm8oFqi1tuvAxyz");const aB=[0,2,3,5,6,7,9,10,11],hxe={encode(t){let e="";for(let n=0;n<t.length;n+=8){const r=t.subarray(n,n+8);e+=m_.encode(r).padStart(aB[r.length],"1")}return e},decode(t){let e=[];for(let n=0;n<t.length;n+=11){const r=t.slice(n,n+11),o=aB.indexOf(r.length),s=m_.decode(r);for(let a=0;a<s.length-o;a++)if(s[a]!==0)throw new Error("base58xmr: wrong padding");e=e.concat(Array.from(s.slice(s.length-o)))}return Uint8Array.from(e)}},g_=md(gd("qpzry9x8gf2tvdw0s3jn54khce6mua7l"),yd("")),iB=[996825010,642813549,513874426,1027748829,705979059];function nw(t){const e=t>>25;let n=(t&33554431)<<5;for(let r=0;r<iB.length;r++)(e>>r&1)===1&&(n^=iB[r]);return n}function lB(t,e,n=1){const r=t.length;let o=1;for(let s=0;s<r;s++){const a=t.charCodeAt(s);if(a<33||a>126)throw new Error(`Invalid prefix (${t})`);o=nw(o)^a>>5}o=nw(o);for(let s=0;s<r;s++)o=nw(o)^t.charCodeAt(s)&31;for(let s of e)o=nw(o)^s;for(let s=0;s<6;s++)o=nw(o);return o^=n,g_.encode(h_([o%2**30],30,5,!1))}function ZJ(t){const e=t==="bech32"?1:734539939,n=wh(5),r=n.decode,o=n.encode,s=sB(r);function a(d,f,m=90){if(typeof d!="string")throw new Error(`bech32.encode prefix should be string, not ${typeof d}`);if(!Array.isArray(f)||f.length&&typeof f[0]!="number")throw new Error(`bech32.encode words should be array of numbers, not ${typeof f}`);const g=d.length+7+f.length;if(m!==!1&&g>m)throw new TypeError(`Length ${g} exceeds limit ${m}`);return d=d.toLowerCase(),`${d}1${g_.encode(f)}${lB(d,f,e)}`}function i(d,f=90){if(typeof d!="string")throw new Error(`bech32.decode input should be string, not ${typeof d}`);if(d.length<8||f!==!1&&d.length>f)throw new TypeError(`Wrong string length: ${d.length} (${d}). Expected (8..${f})`);const m=d.toLowerCase();if(d!==m&&d!==d.toUpperCase())throw new Error("String must be lowercase or uppercase");d=m;const g=d.lastIndexOf("1");if(g===0||g===-1)throw new Error('Letter "1" must be present between prefix and data only');const w=d.slice(0,g),b=d.slice(g+1);if(b.length<6)throw new Error("Data must be at least 6 characters long");const j=g_.decode(b).slice(0,-6),S=lB(w,j,e);if(!b.endsWith(S))throw new Error(`Invalid checksum in ${d}: expected "${S}"`);return{prefix:w,words:j}}const l=sB(i);function u(d){const{prefix:f,words:m}=i(d,!1);return{prefix:f,words:m,bytes:r(m)}}return{encode:a,decode:i,decodeToBytes:u,decodeUnsafe:l,fromWords:r,fromWordsUnsafe:s,toWords:o}}const Pr=ZJ("bech32");ZJ("bech32m");const mxe={encode:t=>new TextDecoder().decode(t),decode:t=>new TextEncoder().encode(t)},gxe=md(wh(4),gd("0123456789abcdef"),yd(""),qJ(t=>{if(typeof t!="string"||t.length%2)throw new TypeError(`hex.decode: expected string, got ${typeof t} with length ${t.length}`);return t.toLowerCase()})),yxe={utf8:mxe,hex:gxe,base16:fxe,base32:dxe,base64:es,base64url:pxe,base58:m_,base58xmr:hxe};`${Object.keys(yxe).join(", ")}`;function AI(t){if(!Number.isSafeInteger(t)||t<0)throw new Error(`positive integer expected, not ${t}`)}function cB(t){if(typeof t!="boolean")throw new Error(`boolean expected, not ${t}`)}function QJ(t){return t instanceof Uint8Array||t!=null&&typeof t=="object"&&t.constructor.name==="Uint8Array"}function Ka(t,...e){if(!QJ(t))throw new Error("Uint8Array expected");if(e.length>0&&!e.includes(t.length))throw new Error(`Uint8Array expected of length ${e}, not of length=${t.length}`)}function uB(t,e=!0){if(t.destroyed)throw new Error("Hash instance has been destroyed");if(e&&t.finished)throw new Error("Hash#digest() has already been called")}function vxe(t,e){Ka(t);const n=e.outputLen;if(t.length<n)throw new Error(`digestInto() expects output buffer of length at least ${n}`)}/*! noble-ciphers - MIT License (c) 2023 Paul Miller (paulmillr.com) */const Ia=t=>new Uint32Array(t.buffer,t.byteOffset,Math.floor(t.byteLength/4)),wxe=t=>new DataView(t.buffer,t.byteOffset,t.byteLength),bxe=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;if(!bxe)throw new Error("Non little-endian hardware is not supported");function xxe(t){if(typeof t!="string")throw new Error(`string expected, got ${typeof t}`);return new Uint8Array(new TextEncoder().encode(t))}function y_(t){if(typeof t=="string")t=xxe(t);else if(QJ(t))t=t.slice();else throw new Error(`Uint8Array expected, got ${typeof t}`);return t}function kxe(t,e){if(e==null||typeof e!="object")throw new Error("options must be defined");return Object.assign(t,e)}function pC(t,e){if(t.length!==e.length)return!1;let n=0;for(let r=0;r<t.length;r++)n|=t[r]^e[r];return n===0}const JJ=(t,e)=>(Object.assign(e,t),e);function fB(t,e,n,r){if(typeof t.setBigUint64=="function")return t.setBigUint64(e,n,r);const o=BigInt(32),s=BigInt(4294967295),a=Number(n>>o&s),i=Number(n&s),l=4,u=0;t.setUint32(e+l,a,r),t.setUint32(e+u,i,r)}const Up=16,jxe=283;function ZR(t){return t<<1^jxe&-(t>>7)}function p0(t,e){let n=0;for(;e>0;e>>=1)n^=t&-(e&1),t=ZR(t);return n}const v_=(()=>{let t=new Uint8Array(256);for(let n=0,r=1;n<256;n++,r^=ZR(r))t[n]=r;const e=new Uint8Array(256);e[0]=99;for(let n=0;n<255;n++){let r=t[255-n];r|=r<<8,e[t[n]]=(r^r>>4^r>>5^r>>6^r>>7^99)&255}return e})(),Cxe=v_.map((t,e)=>v_.indexOf(e)),Sxe=t=>t<<24|t>>>8,_I=t=>t<<8|t>>>24;function XJ(t,e){if(t.length!==256)throw new Error("Wrong sbox length");const n=new Uint32Array(256).map((u,d)=>e(t[d])),r=n.map(_I),o=r.map(_I),s=o.map(_I),a=new Uint32Array(256*256),i=new Uint32Array(256*256),l=new Uint16Array(256*256);for(let u=0;u<256;u++)for(let d=0;d<256;d++){const f=u*256+d;a[f]=n[u]^r[d],i[f]=o[u]^s[d],l[f]=t[u]<<8|t[d]}return{sbox:t,sbox2:l,T0:n,T1:r,T2:o,T3:s,T01:a,T23:i}}const QR=XJ(v_,t=>p0(t,3)<<24|t<<16|t<<8|p0(t,2)),eX=XJ(Cxe,t=>p0(t,11)<<24|p0(t,13)<<16|p0(t,9)<<8|p0(t,14)),Exe=(()=>{const t=new Uint8Array(16);for(let e=0,n=1;e<16;e++,n=ZR(n))t[e]=n;return t})();function tX(t){Ka(t);const e=t.length;if(![16,24,32].includes(e))throw new Error(`aes: wrong key size: should be 16, 24 or 32, got: ${e}`);const{sbox2:n}=QR,r=Ia(t),o=r.length,s=i=>Fu(n,i,i,i,i),a=new Uint32Array(e+28);a.set(r);for(let i=o;i<a.length;i++){let l=a[i-1];i%o===0?l=s(Sxe(l))^Exe[i/o-1]:o>6&&i%o===4&&(l=s(l)),a[i]=a[i-o]^l}return a}function Nxe(t){const e=tX(t),n=e.slice(),r=e.length,{sbox2:o}=QR,{T0:s,T1:a,T2:i,T3:l}=eX;for(let u=0;u<r;u+=4)for(let d=0;d<4;d++)n[u+d]=e[r-u-4+d];e.fill(0);for(let u=4;u<r-4;u++){const d=n[u],f=Fu(o,d,d,d,d);n[u]=s[f&255]^a[f>>>8&255]^i[f>>>16&255]^l[f>>>24]}return n}function Rp(t,e,n,r,o,s){return t[n<<8&65280|r>>>8&255]^e[o>>>8&65280|s>>>24&255]}function Fu(t,e,n,r,o){return t[e&255|n&65280]|t[r>>>16&255|o>>>16&65280]<<16}function dB(t,e,n,r,o){const{sbox2:s,T01:a,T23:i}=QR;let l=0;e^=t[l++],n^=t[l++],r^=t[l++],o^=t[l++];const u=t.length/4-2;for(let w=0;w<u;w++){const b=t[l++]^Rp(a,i,e,n,r,o),j=t[l++]^Rp(a,i,n,r,o,e),S=t[l++]^Rp(a,i,r,o,e,n),I=t[l++]^Rp(a,i,o,e,n,r);e=b,n=j,r=S,o=I}const d=t[l++]^Fu(s,e,n,r,o),f=t[l++]^Fu(s,n,r,o,e),m=t[l++]^Fu(s,r,o,e,n),g=t[l++]^Fu(s,o,e,n,r);return{s0:d,s1:f,s2:m,s3:g}}function Ixe(t,e,n,r,o){const{sbox2:s,T01:a,T23:i}=eX;let l=0;e^=t[l++],n^=t[l++],r^=t[l++],o^=t[l++];const u=t.length/4-2;for(let w=0;w<u;w++){const b=t[l++]^Rp(a,i,e,o,r,n),j=t[l++]^Rp(a,i,n,e,o,r),S=t[l++]^Rp(a,i,r,n,e,o),I=t[l++]^Rp(a,i,o,r,n,e);e=b,n=j,r=S,o=I}const d=t[l++]^Fu(s,e,o,r,n),f=t[l++]^Fu(s,n,e,o,r),m=t[l++]^Fu(s,r,n,e,o),g=t[l++]^Fu(s,o,r,n,e);return{s0:d,s1:f,s2:m,s3:g}}function nX(t,e){if(!e)return new Uint8Array(t);if(Ka(e),e.length<t)throw new Error(`aes: wrong destination length, expected at least ${t}, got: ${e.length}`);return e}function Axe(t){if(Ka(t),t.length%Up!==0)throw new Error(`aes/(cbc-ecb).decrypt ciphertext should consist of blocks with size ${Up}`)}function _xe(t,e,n){let r=t.length;const o=r%Up;if(!e&&o!==0)throw new Error("aec/(cbc-ecb): unpadded plaintext with disabled padding");const s=Ia(t);if(e){let l=Up-o;l||(l=Up),r=r+l}const a=nX(r,n),i=Ia(a);return{b:s,o:i,out:a}}function Mxe(t,e){if(!e)return t;const n=t.length;if(!n)throw new Error("aes/pcks5: empty ciphertext not allowed");const r=t[n-1];if(r<=0||r>16)throw new Error(`aes/pcks5: wrong padding byte: ${r}`);const o=t.subarray(0,-r);for(let s=0;s<r;s++)if(t[n-s-1]!==r)throw new Error("aes/pcks5: wrong padding");return o}function Rxe(t){const e=new Uint8Array(16),n=Ia(e);e.set(t);const r=Up-t.length;for(let o=Up-r;o<Up;o++)e[o]=r;return n}const hC=JJ({blockSize:16,nonceLength:16},function(e,n,r={}){Ka(e),Ka(n,16);const o=!r.disablePadding;return{encrypt:(s,a)=>{const i=tX(e),{b:l,o:u,out:d}=_xe(s,o,a),f=Ia(n);let m=f[0],g=f[1],w=f[2],b=f[3],j=0;for(;j+4<=l.length;)m^=l[j+0],g^=l[j+1],w^=l[j+2],b^=l[j+3],{s0:m,s1:g,s2:w,s3:b}=dB(i,m,g,w,b),u[j++]=m,u[j++]=g,u[j++]=w,u[j++]=b;if(o){const S=Rxe(s.subarray(j*4));m^=S[0],g^=S[1],w^=S[2],b^=S[3],{s0:m,s1:g,s2:w,s3:b}=dB(i,m,g,w,b),u[j++]=m,u[j++]=g,u[j++]=w,u[j++]=b}return i.fill(0),d},decrypt:(s,a)=>{Axe(s);const i=Nxe(e),l=Ia(n),u=nX(s.length,a),d=Ia(s),f=Ia(u);let m=l[0],g=l[1],w=l[2],b=l[3];for(let j=0;j+4<=d.length;){const S=m,I=g,N=w,M=b;m=d[j+0],g=d[j+1],w=d[j+2],b=d[j+3];const{s0:D,s1:O,s2:L,s3:B}=Ixe(i,m,g,w,b);f[j++]=D^S,f[j++]=O^I,f[j++]=L^N,f[j++]=B^M}return i.fill(0),Mxe(u,o)}}}),Ks=(t,e)=>t[e++]&255|(t[e++]&255)<<8;class Txe{constructor(e){this.blockLen=16,this.outputLen=16,this.buffer=new Uint8Array(16),this.r=new Uint16Array(10),this.h=new Uint16Array(10),this.pad=new Uint16Array(8),this.pos=0,this.finished=!1,e=y_(e),Ka(e,32);const n=Ks(e,0),r=Ks(e,2),o=Ks(e,4),s=Ks(e,6),a=Ks(e,8),i=Ks(e,10),l=Ks(e,12),u=Ks(e,14);this.r[0]=n&8191,this.r[1]=(n>>>13|r<<3)&8191,this.r[2]=(r>>>10|o<<6)&7939,this.r[3]=(o>>>7|s<<9)&8191,this.r[4]=(s>>>4|a<<12)&255,this.r[5]=a>>>1&8190,this.r[6]=(a>>>14|i<<2)&8191,this.r[7]=(i>>>11|l<<5)&8065,this.r[8]=(l>>>8|u<<8)&8191,this.r[9]=u>>>5&127;for(let d=0;d<8;d++)this.pad[d]=Ks(e,16+2*d)}process(e,n,r=!1){const o=r?0:2048,{h:s,r:a}=this,i=a[0],l=a[1],u=a[2],d=a[3],f=a[4],m=a[5],g=a[6],w=a[7],b=a[8],j=a[9],S=Ks(e,n+0),I=Ks(e,n+2),N=Ks(e,n+4),M=Ks(e,n+6),D=Ks(e,n+8),O=Ks(e,n+10),L=Ks(e,n+12),B=Ks(e,n+14);let T=s[0]+(S&8191),R=s[1]+((S>>>13|I<<3)&8191),z=s[2]+((I>>>10|N<<6)&8191),Y=s[3]+((N>>>7|M<<9)&8191),Q=s[4]+((M>>>4|D<<12)&8191),W=s[5]+(D>>>1&8191),F=s[6]+((D>>>14|O<<2)&8191),X=s[7]+((O>>>11|L<<5)&8191),$=s[8]+((L>>>8|B<<8)&8191),V=s[9]+(B>>>5|o),K=0,G=K+T*i+R*(5*j)+z*(5*b)+Y*(5*w)+Q*(5*g);K=G>>>13,G&=8191,G+=W*(5*m)+F*(5*f)+X*(5*d)+$*(5*u)+V*(5*l),K+=G>>>13,G&=8191;let J=K+T*l+R*i+z*(5*j)+Y*(5*b)+Q*(5*w);K=J>>>13,J&=8191,J+=W*(5*g)+F*(5*m)+X*(5*f)+$*(5*d)+V*(5*u),K+=J>>>13,J&=8191;let ne=K+T*u+R*l+z*i+Y*(5*j)+Q*(5*b);K=ne>>>13,ne&=8191,ne+=W*(5*w)+F*(5*g)+X*(5*m)+$*(5*f)+V*(5*d),K+=ne>>>13,ne&=8191;let re=K+T*d+R*u+z*l+Y*i+Q*(5*j);K=re>>>13,re&=8191,re+=W*(5*b)+F*(5*w)+X*(5*g)+$*(5*m)+V*(5*f),K+=re>>>13,re&=8191;let de=K+T*f+R*d+z*u+Y*l+Q*i;K=de>>>13,de&=8191,de+=W*(5*j)+F*(5*b)+X*(5*w)+$*(5*g)+V*(5*m),K+=de>>>13,de&=8191;let Ne=K+T*m+R*f+z*d+Y*u+Q*l;K=Ne>>>13,Ne&=8191,Ne+=W*i+F*(5*j)+X*(5*b)+$*(5*w)+V*(5*g),K+=Ne>>>13,Ne&=8191;let ve=K+T*g+R*m+z*f+Y*d+Q*u;K=ve>>>13,ve&=8191,ve+=W*l+F*i+X*(5*j)+$*(5*b)+V*(5*w),K+=ve>>>13,ve&=8191;let xe=K+T*w+R*g+z*m+Y*f+Q*d;K=xe>>>13,xe&=8191,xe+=W*u+F*l+X*i+$*(5*j)+V*(5*b),K+=xe>>>13,xe&=8191;let ce=K+T*b+R*w+z*g+Y*m+Q*f;K=ce>>>13,ce&=8191,ce+=W*d+F*u+X*l+$*i+V*(5*j),K+=ce>>>13,ce&=8191;let pe=K+T*j+R*b+z*w+Y*g+Q*m;K=pe>>>13,pe&=8191,pe+=W*f+F*d+X*u+$*l+V*i,K+=pe>>>13,pe&=8191,K=(K<<2)+K|0,K=K+G|0,G=K&8191,K=K>>>13,J+=K,s[0]=G,s[1]=J,s[2]=ne,s[3]=re,s[4]=de,s[5]=Ne,s[6]=ve,s[7]=xe,s[8]=ce,s[9]=pe}finalize(){const{h:e,pad:n}=this,r=new Uint16Array(10);let o=e[1]>>>13;e[1]&=8191;for(let i=2;i<10;i++)e[i]+=o,o=e[i]>>>13,e[i]&=8191;e[0]+=o*5,o=e[0]>>>13,e[0]&=8191,e[1]+=o,o=e[1]>>>13,e[1]&=8191,e[2]+=o,r[0]=e[0]+5,o=r[0]>>>13,r[0]&=8191;for(let i=1;i<10;i++)r[i]=e[i]+o,o=r[i]>>>13,r[i]&=8191;r[9]-=8192;let s=(o^1)-1;for(let i=0;i<10;i++)r[i]&=s;s=~s;for(let i=0;i<10;i++)e[i]=e[i]&s|r[i];e[0]=(e[0]|e[1]<<13)&65535,e[1]=(e[1]>>>3|e[2]<<10)&65535,e[2]=(e[2]>>>6|e[3]<<7)&65535,e[3]=(e[3]>>>9|e[4]<<4)&65535,e[4]=(e[4]>>>12|e[5]<<1|e[6]<<14)&65535,e[5]=(e[6]>>>2|e[7]<<11)&65535,e[6]=(e[7]>>>5|e[8]<<8)&65535,e[7]=(e[8]>>>8|e[9]<<5)&65535;let a=e[0]+n[0];e[0]=a&65535;for(let i=1;i<8;i++)a=(e[i]+n[i]|0)+(a>>>16)|0,e[i]=a&65535}update(e){uB(this);const{buffer:n,blockLen:r}=this;e=y_(e);const o=e.length;for(let s=0;s<o;){const a=Math.min(r-this.pos,o-s);if(a===r){for(;r<=o-s;s+=r)this.process(e,s);continue}n.set(e.subarray(s,s+a),this.pos),this.pos+=a,s+=a,this.pos===r&&(this.process(n,0,!1),this.pos=0)}return this}destroy(){this.h.fill(0),this.r.fill(0),this.buffer.fill(0),this.pad.fill(0)}digestInto(e){uB(this),vxe(e,this),this.finished=!0;const{buffer:n,h:r}=this;let{pos:o}=this;if(o){for(n[o++]=1;o<16;o++)n[o]=0;this.process(n,0,!0)}this.finalize();let s=0;for(let a=0;a<8;a++)e[s++]=r[a]>>>0,e[s++]=r[a]>>>8;return e}digest(){const{buffer:e,outputLen:n}=this;this.digestInto(e);const r=e.slice(0,n);return this.destroy(),r}}function Dxe(t){const e=(r,o)=>t(o).update(y_(r)).digest(),n=t(new Uint8Array(32));return e.outputLen=n.outputLen,e.blockLen=n.blockLen,e.create=r=>t(r),e}const Lxe=Dxe(t=>new Txe(t)),rX=t=>Uint8Array.from(t.split("").map(e=>e.charCodeAt(0))),Pxe=rX("expand 16-byte k"),Oxe=rX("expand 32-byte k"),zxe=Ia(Pxe),oX=Ia(Oxe);oX.slice();function cn(t,e){return t<<e|t>>>32-e}function w_(t){return t.byteOffset%4===0}const n6=64,Fxe=16,sX=2**32-1,pB=new Uint32Array;function Bxe(t,e,n,r,o,s,a,i){const l=o.length,u=new Uint8Array(n6),d=Ia(u),f=w_(o)&&w_(s),m=f?Ia(o):pB,g=f?Ia(s):pB;for(let w=0;w<l;a++){if(t(e,n,r,d,a,i),a>=sX)throw new Error("arx: counter overflow");const b=Math.min(n6,l-w);if(f&&b===n6){const j=w/4;if(w%4!==0)throw new Error("arx: invalid block position");for(let S=0,I;S<Fxe;S++)I=j+S,g[I]=m[I]^d[S];w+=n6;continue}for(let j=0,S;j<b;j++)S=w+j,s[S]=o[S]^u[j];w+=b}}function aX(t,e){const{allowShortKeys:n,extendNonceFn:r,counterLength:o,counterRight:s,rounds:a}=kxe({allowShortKeys:!1,counterLength:8,counterRight:!1,rounds:20},e);if(typeof t!="function")throw new Error("core must be a function");return AI(o),AI(a),cB(s),cB(n),(i,l,u,d,f=0)=>{Ka(i),Ka(l),Ka(u);const m=u.length;if(d||(d=new Uint8Array(m)),Ka(d),AI(f),f<0||f>=sX)throw new Error("arx: counter overflow");if(d.length<m)throw new Error(`arx: output (${d.length}) is shorter than data (${m})`);const g=[];let w=i.length,b,j;if(w===32)b=i.slice(),g.push(b),j=oX;else if(w===16&&n)b=new Uint8Array(32),b.set(i),b.set(i,16),j=zxe,g.push(b);else throw new Error(`arx: invalid 32-byte key, got length=${w}`);w_(l)||(l=l.slice(),g.push(l));const S=Ia(b);if(r){if(l.length!==24)throw new Error("arx: extended nonce must be 24 bytes");r(j,S,Ia(l.subarray(0,16)),S),l=l.subarray(16)}const I=16-o;if(I!==l.length)throw new Error(`arx: nonce must be ${I} or 16 bytes`);if(I!==12){const M=new Uint8Array(12);M.set(l,s?0:12-l.length),l=M,g.push(l)}const N=Ia(l);for(Bxe(t,j,S,N,u,d,f,a);g.length>0;)g.pop().fill(0);return d}}function iX(t,e,n,r,o,s=20){let a=t[0],i=t[1],l=t[2],u=t[3],d=e[0],f=e[1],m=e[2],g=e[3],w=e[4],b=e[5],j=e[6],S=e[7],I=o,N=n[0],M=n[1],D=n[2],O=a,L=i,B=l,T=u,R=d,z=f,Y=m,Q=g,W=w,F=b,X=j,$=S,V=I,K=N,G=M,J=D;for(let re=0;re<s;re+=2)O=O+R|0,V=cn(V^O,16),W=W+V|0,R=cn(R^W,12),O=O+R|0,V=cn(V^O,8),W=W+V|0,R=cn(R^W,7),L=L+z|0,K=cn(K^L,16),F=F+K|0,z=cn(z^F,12),L=L+z|0,K=cn(K^L,8),F=F+K|0,z=cn(z^F,7),B=B+Y|0,G=cn(G^B,16),X=X+G|0,Y=cn(Y^X,12),B=B+Y|0,G=cn(G^B,8),X=X+G|0,Y=cn(Y^X,7),T=T+Q|0,J=cn(J^T,16),$=$+J|0,Q=cn(Q^$,12),T=T+Q|0,J=cn(J^T,8),$=$+J|0,Q=cn(Q^$,7),O=O+z|0,J=cn(J^O,16),X=X+J|0,z=cn(z^X,12),O=O+z|0,J=cn(J^O,8),X=X+J|0,z=cn(z^X,7),L=L+Y|0,V=cn(V^L,16),$=$+V|0,Y=cn(Y^$,12),L=L+Y|0,V=cn(V^L,8),$=$+V|0,Y=cn(Y^$,7),B=B+Q|0,K=cn(K^B,16),W=W+K|0,Q=cn(Q^W,12),B=B+Q|0,K=cn(K^B,8),W=W+K|0,Q=cn(Q^W,7),T=T+R|0,G=cn(G^T,16),F=F+G|0,R=cn(R^F,12),T=T+R|0,G=cn(G^T,8),F=F+G|0,R=cn(R^F,7);let ne=0;r[ne++]=a+O|0,r[ne++]=i+L|0,r[ne++]=l+B|0,r[ne++]=u+T|0,r[ne++]=d+R|0,r[ne++]=f+z|0,r[ne++]=m+Y|0,r[ne++]=g+Q|0,r[ne++]=w+W|0,r[ne++]=b+F|0,r[ne++]=j+X|0,r[ne++]=S+$|0,r[ne++]=I+V|0,r[ne++]=N+K|0,r[ne++]=M+G|0,r[ne++]=D+J|0}function Uxe(t,e,n,r){let o=t[0],s=t[1],a=t[2],i=t[3],l=e[0],u=e[1],d=e[2],f=e[3],m=e[4],g=e[5],w=e[6],b=e[7],j=n[0],S=n[1],I=n[2],N=n[3];for(let D=0;D<20;D+=2)o=o+l|0,j=cn(j^o,16),m=m+j|0,l=cn(l^m,12),o=o+l|0,j=cn(j^o,8),m=m+j|0,l=cn(l^m,7),s=s+u|0,S=cn(S^s,16),g=g+S|0,u=cn(u^g,12),s=s+u|0,S=cn(S^s,8),g=g+S|0,u=cn(u^g,7),a=a+d|0,I=cn(I^a,16),w=w+I|0,d=cn(d^w,12),a=a+d|0,I=cn(I^a,8),w=w+I|0,d=cn(d^w,7),i=i+f|0,N=cn(N^i,16),b=b+N|0,f=cn(f^b,12),i=i+f|0,N=cn(N^i,8),b=b+N|0,f=cn(f^b,7),o=o+u|0,N=cn(N^o,16),w=w+N|0,u=cn(u^w,12),o=o+u|0,N=cn(N^o,8),w=w+N|0,u=cn(u^w,7),s=s+d|0,j=cn(j^s,16),b=b+j|0,d=cn(d^b,12),s=s+d|0,j=cn(j^s,8),b=b+j|0,d=cn(d^b,7),a=a+f|0,S=cn(S^a,16),m=m+S|0,f=cn(f^m,12),a=a+f|0,S=cn(S^a,8),m=m+S|0,f=cn(f^m,7),i=i+l|0,I=cn(I^i,16),g=g+I|0,l=cn(l^g,12),i=i+l|0,I=cn(I^i,8),g=g+I|0,l=cn(l^g,7);let M=0;r[M++]=o,r[M++]=s,r[M++]=a,r[M++]=i,r[M++]=j,r[M++]=S,r[M++]=I,r[M++]=N}const Ly=aX(iX,{counterRight:!1,counterLength:4,allowShortKeys:!1}),$xe=aX(iX,{counterRight:!1,counterLength:8,extendNonceFn:Uxe,allowShortKeys:!1}),Vxe=new Uint8Array(16),hB=(t,e)=>{t.update(e);const n=e.length%16;n&&t.update(Vxe.subarray(n))},Hxe=new Uint8Array(32);function mB(t,e,n,r,o){const s=t(e,n,Hxe),a=Lxe.create(s);o&&hB(a,o),hB(a,r);const i=new Uint8Array(16),l=wxe(i);fB(l,0,BigInt(o?o.length:0),!0),fB(l,8,BigInt(r.length),!0),a.update(i);const u=a.digest();return s.fill(0),u}const Wxe=t=>(e,n,r)=>(Ka(e,32),Ka(n),{encrypt:(s,a)=>{const i=s.length,l=i+16;a?Ka(a,l):a=new Uint8Array(l),t(e,n,s,a,1);const u=mB(t,e,n,a.subarray(0,-16),r);return a.set(u,i),a},decrypt:(s,a)=>{const i=s.length,l=i-16;if(i<16)throw new Error("encrypted data must be at least 16 bytes");a?Ka(a,l):a=new Uint8Array(l);const u=s.subarray(0,-16),d=s.subarray(-16),f=mB(t,e,n,u,r);if(!pC(d,f))throw new Error("invalid tag");return t(e,n,u,a,1),a}}),lX=JJ({blockSize:64,nonceLength:24,tagLength:16},Wxe($xe));let cX=class extends VJ{constructor(e,n){super(),this.finished=!1,this.destroyed=!1,qo.hash(e);const r=cg(n);if(this.iHash=e.create(),typeof this.iHash.update!="function")throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;const o=this.blockLen,s=new Uint8Array(o);s.set(r.length>o?e.create().update(r).digest():r);for(let a=0;a<s.length;a++)s[a]^=54;this.iHash.update(s),this.oHash=e.create();for(let a=0;a<s.length;a++)s[a]^=106;this.oHash.update(s),s.fill(0)}update(e){return qo.exists(this),this.iHash.update(e),this}digestInto(e){qo.exists(this),qo.bytes(e,this.outputLen),this.finished=!0,this.iHash.digestInto(e),this.oHash.update(e),this.oHash.digestInto(e),this.destroy()}digest(){const e=new Uint8Array(this.oHash.outputLen);return this.digestInto(e),e}_cloneInto(e){e||(e=Object.create(Object.getPrototypeOf(this),{}));const{oHash:n,iHash:r,finished:o,destroyed:s,blockLen:a,outputLen:i}=this;return e=e,e.finished=o,e.destroyed=s,e.blockLen=a,e.outputLen=i,e.oHash=n._cloneInto(e.oHash),e.iHash=r._cloneInto(e.iHash),e}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}};const Py=(t,e,n)=>new cX(t,e).update(n).digest();Py.create=(t,e)=>new cX(t,e);function uX(t,e,n){return qo.hash(t),Py(t,cg(n),cg(e))}const MI=new Uint8Array([0]),gB=new Uint8Array;function fX(t,e,n,r=32){if(qo.hash(t),qo.number(r),r>255*t.outputLen)throw new Error("Length should be <= 255*HashLen");const o=Math.ceil(r/t.outputLen);n===void 0&&(n=gB);const s=new Uint8Array(o*t.outputLen),a=Py.create(t,e),i=a._cloneInto(),l=new Uint8Array(a.outputLen);for(let u=0;u<o;u++)MI[0]=u+1,i.update(u===0?gB:l).update(n).update(MI).digestInto(l),s.set(l,t.outputLen*u),a._cloneInto(i);return a.destroy(),i.destroy(),l.fill(0),MI.fill(0),s.slice(0,r)}var Yxe=Object.defineProperty,ho=(t,e)=>{for(var n in e)Yxe(t,n,{get:e[n],enumerable:!0})},wm=Symbol("verified"),Gxe=t=>t instanceof Object;function mC(t){if(!Gxe(t)||typeof t.kind!="number"||typeof t.content!="string"||typeof t.created_at!="number"||typeof t.pubkey!="string"||!t.pubkey.match(/^[a-f0-9]{64}$/)||!Array.isArray(t.tags))return!1;for(let e=0;e<t.tags.length;e++){let n=t.tags[e];if(!Array.isArray(n))return!1;for(let r=0;r<n.length;r++)if(typeof n[r]!="string")return!1}return!0}var qxe={};ho(qxe,{Queue:()=>pX,QueueNode:()=>dX,binarySearch:()=>JR,bytesToHex:()=>Lr,hexToBytes:()=>lg,insertEventIntoAscendingList:()=>Zxe,insertEventIntoDescendingList:()=>Kxe,normalizeURL:()=>km,utf8Decoder:()=>Qf,utf8Encoder:()=>Qc});var Qf=new TextDecoder("utf-8"),Qc=new TextEncoder;function km(t){try{t.indexOf("://")===-1&&(t="wss://"+t);let e=new URL(t);return e.pathname=e.pathname.replace(/\/+/g,"/"),e.pathname.endsWith("/")&&(e.pathname=e.pathname.slice(0,-1)),(e.port==="80"&&e.protocol==="ws:"||e.port==="443"&&e.protocol==="wss:")&&(e.port=""),e.searchParams.sort(),e.hash="",e.toString()}catch{throw new Error(`Invalid URL: ${t}`)}}function Kxe(t,e){const[n,r]=JR(t,o=>e.id===o.id?0:e.created_at===o.created_at?-1:o.created_at-e.created_at);return r||t.splice(n,0,e),t}function Zxe(t,e){const[n,r]=JR(t,o=>e.id===o.id?0:e.created_at===o.created_at?-1:e.created_at-o.created_at);return r||t.splice(n,0,e),t}function JR(t,e){let n=0,r=t.length-1;for(;n<=r;){const o=Math.floor((n+r)/2),s=e(t[o]);if(s===0)return[o,!0];s<0?r=o-1:n=o+1}return[n,!1]}var dX=class{constructor(e){je(this,"value");je(this,"next",null);je(this,"prev",null);this.value=e}},pX=class{constructor(){je(this,"first");je(this,"last");this.first=null,this.last=null}enqueue(e){const n=new dX(e);return this.last?this.last===this.first?(this.last=n,this.last.prev=this.first,this.first.next=n):(n.prev=this.last,this.last.next=n,this.last=n):(this.first=n,this.last=n),!0}dequeue(){if(!this.first)return null;if(this.first===this.last){const n=this.first;return this.first=null,this.last=null,n.value}const e=this.first;return this.first=e.next,this.first&&(this.first.prev=null),e.value}},Qxe=class{generateSecretKey(){return Ga.utils.randomPrivateKey()}getPublicKey(e){return Lr(Ga.getPublicKey(e))}finalizeEvent(e,n){const r=e;return r.pubkey=Lr(Ga.getPublicKey(n)),r.id=v3(r),r.sig=Lr(Ga.sign(v3(r),n)),r[wm]=!0,r}verifyEvent(e){if(typeof e[wm]=="boolean")return e[wm];const n=v3(e);if(n!==e.id)return e[wm]=!1,!1;try{const r=Ga.verify(e.sig,n,e.pubkey);return e[wm]=r,r}catch{return e[wm]=!1,!1}}};function Jxe(t){if(!mC(t))throw new Error("can't serialize event with wrong or missing properties");return JSON.stringify([0,t.pubkey,t.created_at,t.kind,t.tags,t.content])}function v3(t){let e=ml(Qc.encode(Jxe(t)));return Lr(e)}var gC=new Qxe,hX=gC.generateSecretKey,ug=gC.getPublicKey,_i=gC.finalizeEvent,Oy=gC.verifyEvent,Ue={};ho(Ue,{Application:()=>Q4e,BadgeAward:()=>a4e,BadgeDefinition:()=>H4e,BlockedRelaysList:()=>I4e,BookmarkList:()=>S4e,Bookmarksets:()=>U4e,Calendar:()=>o6e,CalendarEventRSVP:()=>s6e,ChannelCreation:()=>bX,ChannelHideMessage:()=>jX,ChannelMessage:()=>kX,ChannelMetadata:()=>xX,ChannelMuteUser:()=>CX,ClassifiedListing:()=>e6e,ClientAuth:()=>EX,CommunitiesList:()=>E4e,CommunityDefinition:()=>l6e,CommunityPostApproval:()=>h4e,Contacts:()=>r4e,CreateOrUpdateProduct:()=>G4e,CreateOrUpdateStall:()=>Y4e,Curationsets:()=>$4e,Date:()=>n6e,DirectMessageRelaysList:()=>R4e,DraftClassifiedListing:()=>t6e,DraftLong:()=>K4e,Emojisets:()=>Z4e,EncryptedDirectMessage:()=>o4e,EventDeletion:()=>s4e,FileMetadata:()=>l4e,FileServerPreference:()=>T4e,Followsets:()=>z4e,GenericRepost:()=>rT,Genericlists:()=>F4e,GiftWrap:()=>SX,HTTPAuth:()=>oT,Handlerinformation:()=>i6e,Handlerrecommendation:()=>a6e,Highlights:()=>x4e,InterestsList:()=>_4e,Interestsets:()=>W4e,JobFeedback:()=>y4e,JobRequest:()=>m4e,JobResult:()=>g4e,Label:()=>p4e,LightningPubRPC:()=>L4e,LiveChatMessage:()=>c4e,LiveEvent:()=>J4e,LongFormArticle:()=>q4e,Metadata:()=>t4e,Mutelist:()=>k4e,NWCWalletInfo:()=>D4e,NWCWalletRequest:()=>NX,NWCWalletResponse:()=>P4e,NostrConnect:()=>O4e,OpenTimestamps:()=>i4e,Pinlist:()=>j4e,PrivateDirectMessage:()=>wX,ProblemTracker:()=>u4e,ProfileBadges:()=>V4e,PublicChatsList:()=>N4e,Reaction:()=>nT,RecommendRelay:()=>n4e,RelayList:()=>C4e,Relaysets:()=>B4e,Report:()=>f4e,Reporting:()=>d4e,Repost:()=>tT,Seal:()=>vX,SearchRelaysList:()=>A4e,ShortTextNote:()=>yX,Time:()=>r6e,UserEmojiList:()=>M4e,UserStatuses:()=>X4e,Zap:()=>b4e,ZapGoal:()=>v4e,ZapRequest:()=>w4e,classifyKind:()=>Xxe,isAddressableKind:()=>eT,isEphemeralKind:()=>gX,isKind:()=>e4e,isRegularKind:()=>mX,isReplaceableKind:()=>XR});function mX(t){return 1e3<=t&&t<1e4||[1,2,4,5,6,7,8,16,40,41,42,43,44].includes(t)}function XR(t){return[0,3].includes(t)||1e4<=t&&t<2e4}function gX(t){return 2e4<=t&&t<3e4}function eT(t){return 3e4<=t&&t<4e4}function Xxe(t){return mX(t)?"regular":XR(t)?"replaceable":gX(t)?"ephemeral":eT(t)?"parameterized":"unknown"}function e4e(t,e){const n=e instanceof Array?e:[e];return mC(t)&&n.includes(t.kind)||!1}var t4e=0,yX=1,n4e=2,r4e=3,o4e=4,s4e=5,tT=6,nT=7,a4e=8,vX=13,wX=14,rT=16,bX=40,xX=41,kX=42,jX=43,CX=44,i4e=1040,SX=1059,l4e=1063,c4e=1311,u4e=1971,f4e=1984,d4e=1984,p4e=1985,h4e=4550,m4e=5999,g4e=6999,y4e=7e3,v4e=9041,w4e=9734,b4e=9735,x4e=9802,k4e=1e4,j4e=10001,C4e=10002,S4e=10003,E4e=10004,N4e=10005,I4e=10006,A4e=10007,_4e=10015,M4e=10030,R4e=10050,T4e=10096,D4e=13194,L4e=21e3,EX=22242,NX=23194,P4e=23195,O4e=24133,oT=27235,z4e=3e4,F4e=30001,B4e=30002,U4e=30003,$4e=30004,V4e=30008,H4e=30009,W4e=30015,Y4e=30017,G4e=30018,q4e=30023,K4e=30024,Z4e=30030,Q4e=30078,J4e=30311,X4e=30315,e6e=30402,t6e=30403,n6e=31922,r6e=31923,o6e=31924,s6e=31925,a6e=31989,i6e=31990,l6e=34550;function IX(t,e){if(t.ids&&t.ids.indexOf(e.id)===-1||t.kinds&&t.kinds.indexOf(e.kind)===-1||t.authors&&t.authors.indexOf(e.pubkey)===-1)return!1;for(let n in t)if(n[0]==="#"){let r=n.slice(1),o=t[`#${r}`];if(o&&!e.tags.find(([s,a])=>s===n.slice(1)&&o.indexOf(a)!==-1))return!1}return!(t.since&&e.created_at<t.since||t.until&&e.created_at>t.until)}function hk(t,e){for(let n=0;n<t.length;n++)if(IX(t[n],e))return!0;return!1}var c6e={};ho(c6e,{getHex64:()=>yC,getInt:()=>AX,getSubscriptionId:()=>_X,matchEventId:()=>u6e,matchEventKind:()=>d6e,matchEventPubkey:()=>f6e});function yC(t,e){let n=e.length+3,r=t.indexOf(`"${e}":`)+n,o=t.slice(r).indexOf('"')+r+1;return t.slice(o,o+64)}function AX(t,e){let n=e.length,r=t.indexOf(`"${e}":`)+n+3,o=t.slice(r),s=Math.min(o.indexOf(","),o.indexOf("}"));return parseInt(o.slice(0,s),10)}function _X(t){let e=t.slice(0,22).indexOf('"EVENT"');if(e===-1)return null;let n=t.slice(e+7+1).indexOf('"');if(n===-1)return null;let r=e+7+1+n,o=t.slice(r+1,80).indexOf('"');if(o===-1)return null;let s=r+1+o;return t.slice(r+1,s)}function u6e(t,e){return e===yC(t,"id")}function f6e(t,e){return e===yC(t,"pubkey")}function d6e(t,e){return e===AX(t,"kind")}var p6e={};ho(p6e,{makeAuthEvent:()=>MX});function MX(t,e){return{kind:EX,created_at:Math.floor(Date.now()/1e3),tags:[["relay",t],["challenge",e]],content:""}}async function h6e(){return new Promise(t=>{const e=new MessageChannel,n=()=>{e.port1.removeEventListener("message",n),t()};e.port1.addEventListener("message",n),e.port2.postMessage(0),e.port1.start()})}var m6e=t=>(t[wm]=!0,!0),RX=class extends Error{constructor(e,n){super(`Tried to send message '${e} on a closed connection to ${n}.`),this.name="SendingOnClosedConnection"}},TX=class{constructor(e,n){je(this,"url");je(this,"_connected",!1);je(this,"onclose",null);je(this,"onnotice",e=>console.debug(`NOTICE from ${this.url}: ${e}`));je(this,"baseEoseTimeout",4400);je(this,"connectionTimeout",4400);je(this,"publishTimeout",4400);je(this,"pingFrequency",2e4);je(this,"pingTimeout",2e4);je(this,"openSubs",new Map);je(this,"enablePing");je(this,"connectionTimeoutHandle");je(this,"connectionPromise");je(this,"openCountRequests",new Map);je(this,"openEventPublishes",new Map);je(this,"ws");je(this,"incomingMessageQueue",new pX);je(this,"queueRunning",!1);je(this,"challenge");je(this,"authPromise");je(this,"serial",0);je(this,"verifyEvent");je(this,"_WebSocket");this.url=km(e),this.verifyEvent=n.verifyEvent,this._WebSocket=n.websocketImplementation||WebSocket,this.enablePing=n.enablePing}static async connect(e,n){const r=new TX(e,n);return await r.connect(),r}closeAllSubscriptions(e){for(let[n,r]of this.openSubs)r.close(e);this.openSubs.clear();for(let[n,r]of this.openEventPublishes)r.reject(new Error(e));this.openEventPublishes.clear();for(let[n,r]of this.openCountRequests)r.reject(new Error(e));this.openCountRequests.clear()}get connected(){return this._connected}async connect(){return this.connectionPromise?this.connectionPromise:(this.challenge=void 0,this.authPromise=void 0,this.connectionPromise=new Promise((e,n)=>{this.connectionTimeoutHandle=setTimeout(()=>{var r;n("connection timed out"),this.connectionPromise=void 0,(r=this.onclose)==null||r.call(this),this.closeAllSubscriptions("relay connection timed out")},this.connectionTimeout);try{this.ws=new this._WebSocket(this.url)}catch(r){clearTimeout(this.connectionTimeoutHandle),n(r);return}this.ws.onopen=()=>{clearTimeout(this.connectionTimeoutHandle),this._connected=!0,this.enablePing&&this.pingpong(),e()},this.ws.onerror=r=>{var o;clearTimeout(this.connectionTimeoutHandle),n(r.message||"websocket error"),this._connected=!1,this.connectionPromise=void 0,(o=this.onclose)==null||o.call(this),this.closeAllSubscriptions("relay connection errored")},this.ws.onclose=r=>{var o;clearTimeout(this.connectionTimeoutHandle),n(r.message||"websocket closed"),this._connected=!1,this.connectionPromise=void 0,(o=this.onclose)==null||o.call(this),this.closeAllSubscriptions("relay connection closed")},this.ws.onmessage=this._onmessage.bind(this)}),this.connectionPromise)}async waitForPingPong(){return new Promise((e,n)=>{this.ws&&this.ws.on&&this.ws.on("pong",()=>e(!0))||n("ws can't listen for pong"),this.ws&&this.ws.ping&&this.ws.ping()})}async waitForDummyReq(){return new Promise((e,n)=>{const r=this.subscribe([{ids:["a".repeat(64)]}],{oneose:()=>{r.close(),e(!0)},eoseTimeout:this.pingTimeout+1e3})})}async pingpong(){var e,n,r;((e=this.ws)==null?void 0:e.readyState)===1&&(await Promise.any([this.ws&&this.ws.ping&&this.ws.on?this.waitForPingPong():this.waitForDummyReq(),new Promise(s=>setTimeout(()=>s(!1),this.pingTimeout))])?setTimeout(()=>this.pingpong(),this.pingFrequency):(this.closeAllSubscriptions("pingpong timed out"),this._connected=!1,(n=this.onclose)==null||n.call(this),(r=this.ws)==null||r.close()))}async runQueue(){for(this.queueRunning=!0;this.handleNext()!==!1;)await h6e();this.queueRunning=!1}handleNext(){var r,o;const e=this.incomingMessageQueue.dequeue();if(!e)return!1;const n=_X(e);if(n){const s=this.openSubs.get(n);if(!s)return;const a=yC(e,"id"),i=(r=s.alreadyHaveEvent)==null?void 0:r.call(s,a);if((o=s.receivedEvent)==null||o.call(s,this,a),i)return}try{let s=JSON.parse(e);switch(s[0]){case"EVENT":{const a=this.openSubs.get(s[1]),i=s[2];this.verifyEvent(i)&&hk(a.filters,i)&&a.onevent(i);return}case"COUNT":{const a=s[1],i=s[2],l=this.openCountRequests.get(a);l&&(l.resolve(i.count),this.openCountRequests.delete(a));return}case"EOSE":{const a=this.openSubs.get(s[1]);if(!a)return;a.receivedEose();return}case"OK":{const a=s[1],i=s[2],l=s[3],u=this.openEventPublishes.get(a);u&&(clearTimeout(u.timeout),i?u.resolve(l):u.reject(new Error(l)),this.openEventPublishes.delete(a));return}case"CLOSED":{const a=s[1],i=this.openSubs.get(a);if(!i)return;i.closed=!0,i.close(s[2]);return}case"NOTICE":this.onnotice(s[1]);return;case"AUTH":{this.challenge=s[1];return}}}catch{return}}async send(e){if(!this.connectionPromise)throw new RX(e,this.url);this.connectionPromise.then(()=>{var n;(n=this.ws)==null||n.send(e)})}async auth(e){const n=this.challenge;if(!n)throw new Error("can't perform auth, no challenge was received");return this.authPromise?this.authPromise:(this.authPromise=new Promise(async(r,o)=>{try{let s=await e(MX(this.url,n)),a=setTimeout(()=>{let i=this.openEventPublishes.get(s.id);i&&(i.reject(new Error("auth timed out")),this.openEventPublishes.delete(s.id))},this.publishTimeout);this.openEventPublishes.set(s.id,{resolve:r,reject:o,timeout:a}),this.send('["AUTH",'+JSON.stringify(s)+"]")}catch(s){console.warn("subscribe auth function failed:",s)}}),this.authPromise)}async publish(e){const n=new Promise((r,o)=>{const s=setTimeout(()=>{const a=this.openEventPublishes.get(e.id);a&&(a.reject(new Error("publish timed out")),this.openEventPublishes.delete(e.id))},this.publishTimeout);this.openEventPublishes.set(e.id,{resolve:r,reject:o,timeout:s})});return this.send('["EVENT",'+JSON.stringify(e)+"]"),n}async count(e,n){this.serial++;const r=(n==null?void 0:n.id)||"count:"+this.serial,o=new Promise((s,a)=>{this.openCountRequests.set(r,{resolve:s,reject:a})});return this.send('["COUNT","'+r+'",'+JSON.stringify(e).substring(1)),o}subscribe(e,n){const r=this.prepareSubscription(e,n);return r.fire(),r}prepareSubscription(e,n){this.serial++;const r=n.id||(n.label?n.label+":":"sub:")+this.serial,o=new g6e(this,r,e,n);return this.openSubs.set(r,o),o}close(){var e,n;this.closeAllSubscriptions("relay connection closed by us"),this._connected=!1,(e=this.onclose)==null||e.call(this),(n=this.ws)==null||n.close()}_onmessage(e){this.incomingMessageQueue.enqueue(e.data),this.queueRunning||this.runQueue()}},g6e=class{constructor(e,n,r,o){je(this,"relay");je(this,"id");je(this,"closed",!1);je(this,"eosed",!1);je(this,"filters");je(this,"alreadyHaveEvent");je(this,"receivedEvent");je(this,"onevent");je(this,"oneose");je(this,"onclose");je(this,"eoseTimeout");je(this,"eoseTimeoutHandle");this.relay=e,this.filters=r,this.id=n,this.alreadyHaveEvent=o.alreadyHaveEvent,this.receivedEvent=o.receivedEvent,this.eoseTimeout=o.eoseTimeout||e.baseEoseTimeout,this.oneose=o.oneose,this.onclose=o.onclose,this.onevent=o.onevent||(s=>{console.warn(`onevent() callback not defined for subscription '${this.id}' in relay ${this.relay.url}. event received:`,s)})}fire(){this.relay.send('["REQ","'+this.id+'",'+JSON.stringify(this.filters).substring(1)),this.eoseTimeoutHandle=setTimeout(this.receivedEose.bind(this),this.eoseTimeout)}receivedEose(){var e;this.eosed||(clearTimeout(this.eoseTimeoutHandle),this.eosed=!0,(e=this.oneose)==null||e.call(this))}close(e="closed by caller"){var n;if(!this.closed&&this.relay.connected){try{this.relay.send('["CLOSE",'+JSON.stringify(this.id)+"]")}catch(r){if(!(r instanceof RX))throw r}this.closed=!0}this.relay.openSubs.delete(this.id),(n=this.onclose)==null||n.call(this,e)}},y6e;try{y6e=WebSocket}catch{}var v6e=class{constructor(t){je(this,"relays",new Map);je(this,"seenOn",new Map);je(this,"trackRelays",!1);je(this,"verifyEvent");je(this,"enablePing");je(this,"trustedRelayURLs",new Set);je(this,"_WebSocket");this.verifyEvent=t.verifyEvent,this._WebSocket=t.websocketImplementation,this.enablePing=t.enablePing}async ensureRelay(t,e){t=km(t);let n=this.relays.get(t);return n||(n=new TX(t,{verifyEvent:this.trustedRelayURLs.has(t)?m6e:this.verifyEvent,websocketImplementation:this._WebSocket,enablePing:this.enablePing}),n.onclose=()=>{this.relays.delete(t)},e!=null&&e.connectionTimeout&&(n.connectionTimeout=e.connectionTimeout),this.relays.set(t,n)),await n.connect(),n}close(t){t.map(km).forEach(e=>{var n;(n=this.relays.get(e))==null||n.close(),this.relays.delete(e)})}subscribe(t,e,n){n.onauth=n.onauth||n.doauth;const r=[];for(let o=0;o<t.length;o++){const s=km(t[o]);r.find(a=>a.url===s)||r.push({url:s,filter:e})}return this.subscribeMap(r,n)}subscribeMany(t,e,n){n.onauth=n.onauth||n.doauth;const r=[],o=[];for(let s=0;s<t.length;s++){const a=km(t[s]);o.indexOf(a)===-1&&(o.push(a),r.push({url:a,filter:e}))}return this.subscribeMap(r,n)}subscribeMap(t,e){e.onauth=e.onauth||e.doauth;const n=new Map;for(const m of t){const{url:g,filter:w}=m;n.has(g)||n.set(g,[]),n.get(g).push(w)}const r=Array.from(n.entries()).map(([m,g])=>({url:m,filters:g}));this.trackRelays&&(e.receivedEvent=(m,g)=>{let w=this.seenOn.get(g);w||(w=new Set,this.seenOn.set(g,w)),w.add(m)});const o=new Set,s=[],a=[];let i=m=>{var g;a[m]||(a[m]=!0,a.filter(w=>w).length===t.length&&((g=e.oneose)==null||g.call(e),i=()=>{}))};const l=[];let u=(m,g)=>{var w;l[m]||(i(m),l[m]=g,l.filter(b=>b).length===t.length&&((w=e.onclose)==null||w.call(e,l),u=()=>{}))};const d=m=>{var w;if((w=e.alreadyHaveEvent)!=null&&w.call(e,m))return!0;const g=o.has(m);return o.add(m),g},f=Promise.all(r.map(async({url:m,filters:g},w)=>{let b;try{b=await this.ensureRelay(m,{connectionTimeout:e.maxWait?Math.max(e.maxWait*.8,e.maxWait-1e3):void 0})}catch(S){u(w,(S==null?void 0:S.message)||String(S));return}let j=b.subscribe(g,{...e,oneose:()=>i(w),onclose:S=>{S.startsWith("auth-required: ")&&e.onauth?b.auth(e.onauth).then(()=>{b.subscribe(g,{...e,oneose:()=>i(w),onclose:I=>{u(w,I)},alreadyHaveEvent:d,eoseTimeout:e.maxWait})}).catch(I=>{u(w,`auth was required and attempted, but failed with: ${I}`)}):u(w,S)},alreadyHaveEvent:d,eoseTimeout:e.maxWait});s.push(j)}));return{async close(m){await f,s.forEach(g=>{g.close(m)})}}}subscribeEose(t,e,n){n.onauth=n.onauth||n.doauth;const r=this.subscribe(t,e,{...n,oneose(){r.close("closed automatically on eose")}});return r}subscribeManyEose(t,e,n){n.onauth=n.onauth||n.doauth;const r=this.subscribeMany(t,e,{...n,oneose(){r.close("closed automatically on eose")}});return r}async querySync(t,e,n){return new Promise(async r=>{const o=[];this.subscribeEose(t,e,{...n,onevent(s){o.push(s)},onclose(s){r(o)}})})}async get(t,e,n){e.limit=1;const r=await this.querySync(t,e,n);return r.sort((o,s)=>s.created_at-o.created_at),r[0]||null}publish(t,e,n){return t.map(km).map(async(r,o,s)=>{if(s.indexOf(r)!==o)return Promise.reject("duplicate url");let a=await this.ensureRelay(r);return a.publish(e).catch(async i=>{if(i instanceof Error&&i.message.startsWith("auth-required: ")&&(n!=null&&n.onauth))return await a.auth(n.onauth),a.publish(e);throw i}).then(i=>{if(this.trackRelays){let l=this.seenOn.get(e.id);l||(l=new Set,this.seenOn.set(e.id,l)),l.add(a)}return i})})}listConnectionStatus(){const t=new Map;return this.relays.forEach((e,n)=>t.set(n,e.connected)),t}destroy(){this.relays.forEach(t=>t.close()),this.relays=new Map}},DX;try{DX=WebSocket}catch{}var LX=class extends v6e{constructor(t){super({verifyEvent:Oy,websocketImplementation:DX,...t})}},yr={};ho(yr,{BECH32_REGEX:()=>PX,Bech32MaxSize:()=>sT,NostrTypeGuard:()=>w6e,decode:()=>vC,decodeNostrURI:()=>x6e,encodeBytes:()=>bC,naddrEncode:()=>N6e,neventEncode:()=>E6e,noteEncode:()=>C6e,nprofileEncode:()=>S6e,npubEncode:()=>j6e,nsecEncode:()=>k6e});var w6e={isNProfile:t=>/^nprofile1[a-z\d]+$/.test(t||""),isNEvent:t=>/^nevent1[a-z\d]+$/.test(t||""),isNAddr:t=>/^naddr1[a-z\d]+$/.test(t||""),isNSec:t=>/^nsec1[a-z\d]{58}$/.test(t||""),isNPub:t=>/^npub1[a-z\d]{58}$/.test(t||""),isNote:t=>/^note1[a-z\d]+$/.test(t||""),isNcryptsec:t=>/^ncryptsec1[a-z\d]+$/.test(t||"")},sT=5e3,PX=/[\x21-\x7E]{1,83}1[023456789acdefghjklmnpqrstuvwxyz]{6,}/;function b6e(t){const e=new Uint8Array(4);return e[0]=t>>24&255,e[1]=t>>16&255,e[2]=t>>8&255,e[3]=t&255,e}function x6e(t){try{return t.startsWith("nostr:")&&(t=t.substring(6)),vC(t)}catch{return{type:"invalid",data:null}}}function vC(t){var o,s,a,i,l,u,d;let{prefix:e,words:n}=Pr.decode(t,sT),r=new Uint8Array(Pr.fromWords(n));switch(e){case"nprofile":{let f=RI(r);if(!((o=f[0])!=null&&o[0]))throw new Error("missing TLV 0 for nprofile");if(f[0][0].length!==32)throw new Error("TLV 0 should be 32 bytes");return{type:"nprofile",data:{pubkey:Lr(f[0][0]),relays:f[1]?f[1].map(m=>Qf.decode(m)):[]}}}case"nevent":{let f=RI(r);if(!((s=f[0])!=null&&s[0]))throw new Error("missing TLV 0 for nevent");if(f[0][0].length!==32)throw new Error("TLV 0 should be 32 bytes");if(f[2]&&f[2][0].length!==32)throw new Error("TLV 2 should be 32 bytes");if(f[3]&&f[3][0].length!==4)throw new Error("TLV 3 should be 4 bytes");return{type:"nevent",data:{id:Lr(f[0][0]),relays:f[1]?f[1].map(m=>Qf.decode(m)):[],author:(a=f[2])!=null&&a[0]?Lr(f[2][0]):void 0,kind:(i=f[3])!=null&&i[0]?parseInt(Lr(f[3][0]),16):void 0}}}case"naddr":{let f=RI(r);if(!((l=f[0])!=null&&l[0]))throw new Error("missing TLV 0 for naddr");if(!((u=f[2])!=null&&u[0]))throw new Error("missing TLV 2 for naddr");if(f[2][0].length!==32)throw new Error("TLV 2 should be 32 bytes");if(!((d=f[3])!=null&&d[0]))throw new Error("missing TLV 3 for naddr");if(f[3][0].length!==4)throw new Error("TLV 3 should be 4 bytes");return{type:"naddr",data:{identifier:Qf.decode(f[0][0]),pubkey:Lr(f[2][0]),kind:parseInt(Lr(f[3][0]),16),relays:f[1]?f[1].map(m=>Qf.decode(m)):[]}}}case"nsec":return{type:e,data:r};case"npub":case"note":return{type:e,data:Lr(r)};default:throw new Error(`unknown prefix ${e}`)}}function RI(t){let e={},n=t;for(;n.length>0;){let r=n[0],o=n[1],s=n.slice(2,2+o);if(n=n.slice(2+o),s.length<o)throw new Error(`not enough data to read on TLV ${r}`);e[r]=e[r]||[],e[r].push(s)}return e}function k6e(t){return bC("nsec",t)}function j6e(t){return bC("npub",lg(t))}function C6e(t){return bC("note",lg(t))}function wC(t,e){let n=Pr.toWords(e);return Pr.encode(t,n,sT)}function bC(t,e){return wC(t,e)}function S6e(t){let e=aT({0:[lg(t.pubkey)],1:(t.relays||[]).map(n=>Qc.encode(n))});return wC("nprofile",e)}function E6e(t){let e;t.kind!==void 0&&(e=b6e(t.kind));let n=aT({0:[lg(t.id)],1:(t.relays||[]).map(r=>Qc.encode(r)),2:t.author?[lg(t.author)]:[],3:e?[new Uint8Array(e)]:[]});return wC("nevent",n)}function N6e(t){let e=new ArrayBuffer(4);new DataView(e).setUint32(0,t.kind,!1);let n=aT({0:[Qc.encode(t.identifier)],1:(t.relays||[]).map(r=>Qc.encode(r)),2:[lg(t.pubkey)],3:[new Uint8Array(e)]});return wC("naddr",n)}function aT(t){let e=[];return Object.entries(t).reverse().forEach(([n,r])=>{r.forEach(o=>{let s=new Uint8Array(o.length+2);s.set([parseInt(n)],0),s.set([o.length],1),s.set(o,2),e.push(s)})}),vh(...e)}var D0={};ho(D0,{decrypt:()=>I6e,encrypt:()=>OX});function OX(t,e,n){const r=t instanceof Uint8Array?Lr(t):t,o=ql.getSharedSecret(r,"02"+e),s=zX(o);let a=Uint8Array.from(xb(16)),i=Qc.encode(n),l=hC(s,a).encrypt(i),u=es.encode(new Uint8Array(l)),d=es.encode(new Uint8Array(a.buffer));return`${u}?iv=${d}`}function I6e(t,e,n){const r=t instanceof Uint8Array?Lr(t):t;let[o,s]=n.split("?iv="),a=ql.getSharedSecret(r,"02"+e),i=zX(a),l=es.decode(s),u=es.decode(o),d=hC(i,l).decrypt(u);return Qf.decode(d)}function zX(t){return t.slice(1,33)}var A6e={};ho(A6e,{NIP05_REGEX:()=>iT,isNip05:()=>_6e,isValid:()=>T6e,queryProfile:()=>FX,searchDomain:()=>R6e,useFetchImplementation:()=>M6e});var iT=/^(?:([\w.+-]+)@)?([\w_-]+(\.[\w_-]+)+)$/,_6e=t=>iT.test(t||""),xC;try{xC=fetch}catch{}function M6e(t){xC=t}async function R6e(t,e=""){try{const n=`https://${t}/.well-known/nostr.json?name=${e}`,r=await xC(n,{redirect:"manual"});if(r.status!==200)throw Error("Wrong response code");return(await r.json()).names}catch{return{}}}async function FX(t){var o;const e=t.match(iT);if(!e)return null;const[,n="_",r]=e;try{const s=`https://${r}/.well-known/nostr.json?name=${n}`,a=await xC(s,{redirect:"manual"});if(a.status!==200)throw Error("Wrong response code");const i=await a.json(),l=i.names[n];return l?{pubkey:l,relays:(o=i.relays)==null?void 0:o[l]}:null}catch{return null}}async function T6e(t,e){const n=await FX(e);return n?n.pubkey===t:!1}var D6e={};ho(D6e,{parse:()=>L6e});function L6e(t){const e={reply:void 0,root:void 0,mentions:[],profiles:[],quotes:[]};let n,r;for(let o=t.tags.length-1;o>=0;o--){const s=t.tags[o];if(s[0]==="e"&&s[1]){const[a,i,l,u,d]=s,f={id:i,relays:l?[l]:[],author:d};if(u==="root"){e.root=f;continue}if(u==="reply"){e.reply=f;continue}if(u==="mention"){e.mentions.push(f);continue}n?r=f:n=f,e.mentions.push(f);continue}if(s[0]==="q"&&s[1]){const[a,i,l]=s;e.quotes.push({id:i,relays:l?[l]:[]})}if(s[0]==="p"&&s[1]){e.profiles.push({pubkey:s[1],relays:s[2]?[s[2]]:[]});continue}}return e.root||(e.root=r||n||e.reply),e.reply||(e.reply=n||e.root),[e.reply,e.root].forEach(o=>{if(!o)return;let s=e.mentions.indexOf(o);if(s!==-1&&e.mentions.splice(s,1),o.author){let a=e.profiles.find(i=>i.pubkey===o.author);a&&a.relays&&(o.relays||(o.relays=[]),a.relays.forEach(i=>{var l;((l=o.relays)==null?void 0:l.indexOf(i))===-1&&o.relays.push(i)}),a.relays=o.relays)}}),e.mentions.forEach(o=>{if(o.author){let s=e.profiles.find(a=>a.pubkey===o.author);s&&s.relays&&(o.relays||(o.relays=[]),s.relays.forEach(a=>{o.relays.indexOf(a)===-1&&o.relays.push(a)}),s.relays=o.relays)}}),e}var P6e={};ho(P6e,{fetchRelayInformation:()=>z6e,useFetchImplementation:()=>O6e});var BX;try{BX=fetch}catch{}function O6e(t){BX=t}async function z6e(t){return await(await fetch(t.replace("ws://","http://").replace("wss://","https://"),{headers:{Accept:"application/nostr+json"}})).json()}var F6e={};ho(F6e,{fastEventHash:()=>$X,getPow:()=>UX,minePow:()=>B6e});function UX(t){let e=0;for(let n=0;n<64;n+=8){const r=parseInt(t.substring(n,n+8),16);if(r===0)e+=32;else{e+=Math.clz32(r);break}}return e}function B6e(t,e){let n=0;const r=t,o=["nonce",n.toString(),e.toString()];for(r.tags.push(o);;){const s=Math.floor(new Date().getTime()/1e3);if(s!==r.created_at&&(n=0,r.created_at=s),o[1]=(++n).toString(),r.id=$X(r),UX(r.id)>=e)break}return r}function $X(t){return Lr(ml(Qc.encode(JSON.stringify([0,t.pubkey,t.created_at,t.kind,t.tags,t.content]))))}var U6e={};ho(U6e,{unwrapEvent:()=>X6e,unwrapManyEvents:()=>e3e,wrapEvent:()=>tee,wrapManyEvents:()=>J6e});var $6e={};ho($6e,{createRumor:()=>QX,createSeal:()=>JX,createWrap:()=>XX,unwrapEvent:()=>dT,unwrapManyEvents:()=>eee,wrapEvent:()=>mk,wrapManyEvents:()=>Z6e});var V6e={};ho(V6e,{decrypt:()=>fT,encrypt:()=>uT,getConversationKey:()=>lT,v2:()=>q6e});var VX=1,HX=65535;function lT(t,e){const n=ql.getSharedSecret(t,"02"+e).subarray(1,33);return uX(ml,n,"nip44-v2")}function WX(t,e){const n=fX(ml,t,e,76);return{chacha_key:n.subarray(0,32),chacha_nonce:n.subarray(32,44),hmac_key:n.subarray(44,76)}}function cT(t){if(!Number.isSafeInteger(t)||t<1)throw new Error("expected positive integer");if(t<=32)return 32;const e=1<<Math.floor(Math.log2(t-1))+1,n=e<=256?32:e/8;return n*(Math.floor((t-1)/n)+1)}function H6e(t){if(!Number.isSafeInteger(t)||t<VX||t>HX)throw new Error("invalid plaintext size: must be between 1 and 65535 bytes");const e=new Uint8Array(2);return new DataView(e.buffer).setUint16(0,t,!1),e}function W6e(t){const e=Qc.encode(t),n=e.length,r=H6e(n),o=new Uint8Array(cT(n)-n);return vh(r,e,o)}function Y6e(t){const e=new DataView(t.buffer).getUint16(0),n=t.subarray(2,2+e);if(e<VX||e>HX||n.length!==e||t.length!==2+cT(e))throw new Error("invalid padding");return Qf.decode(n)}function YX(t,e,n){if(n.length!==32)throw new Error("AAD associated data must be 32 bytes");const r=vh(n,e);return Py(ml,t,r)}function G6e(t){if(typeof t!="string")throw new Error("payload must be a valid string");const e=t.length;if(e<132||e>87472)throw new Error("invalid payload length: "+e);if(t[0]==="#")throw new Error("unknown encryption version");let n;try{n=es.decode(t)}catch(s){throw new Error("invalid base64: "+s.message)}const r=n.length;if(r<99||r>65603)throw new Error("invalid data length: "+r);const o=n[0];if(o!==2)throw new Error("unknown encryption version "+o);return{nonce:n.subarray(1,33),ciphertext:n.subarray(33,-32),mac:n.subarray(-32)}}function uT(t,e,n=xb(32)){const{chacha_key:r,chacha_nonce:o,hmac_key:s}=WX(e,n),a=W6e(t),i=Ly(r,o,a),l=YX(s,i,n);return es.encode(vh(new Uint8Array([2]),n,i,l))}function fT(t,e){const{nonce:n,ciphertext:r,mac:o}=G6e(t),{chacha_key:s,chacha_nonce:a,hmac_key:i}=WX(e,n),l=YX(i,r,n);if(!pC(l,o))throw new Error("invalid MAC");const u=Ly(s,a,r);return Y6e(u)}var q6e={utils:{getConversationKey:lT,calcPaddedLen:cT},encrypt:uT,decrypt:fT},K6e=2880*60,GX=()=>Math.round(Date.now()/1e3),qX=()=>Math.round(GX()-Math.random()*K6e),KX=(t,e)=>lT(t,e),ZX=(t,e,n)=>uT(JSON.stringify(t),KX(e,n)),yB=(t,e)=>JSON.parse(fT(t.content,KX(e,t.pubkey)));function QX(t,e){const n={created_at:GX(),content:"",tags:[],...t,pubkey:ug(e)};return n.id=v3(n),n}function JX(t,e,n){return _i({kind:vX,content:ZX(t,e,n),created_at:qX(),tags:[]},e)}function XX(t,e){const n=hX();return _i({kind:SX,content:ZX(t,n,e),created_at:qX(),tags:[["p",e]]},n)}function mk(t,e,n){const r=QX(t,e),o=JX(r,e,n);return XX(o,n)}function Z6e(t,e,n){if(!n||n.length===0)throw new Error("At least one recipient is required.");const r=ug(e),o=[mk(t,e,r)];return n.forEach(s=>{o.push(mk(t,e,s))}),o}function dT(t,e){const n=yB(t,e);return yB(n,e)}function eee(t,e){let n=[];return t.forEach(r=>{n.push(dT(r,e))}),n.sort((r,o)=>r.created_at-o.created_at),n}function Q6e(t,e,n,r){const o={created_at:Math.ceil(Date.now()/1e3),kind:wX,tags:[],content:e};return(Array.isArray(t)?t:[t]).forEach(({publicKey:a,relayUrl:i})=>{o.tags.push(i?["p",a,i]:["p",a])}),r&&o.tags.push(["e",r.eventId,r.relayUrl||"","reply"]),n&&o.tags.push(["subject",n]),o}function tee(t,e,n,r,o){const s=Q6e(e,n,r,o);return mk(s,t,e.publicKey)}function J6e(t,e,n,r,o){if(!e||e.length===0)throw new Error("At least one recipient is required.");return[{publicKey:ug(t)},...e].map(a=>tee(t,a,n,r,o))}var X6e=dT,e3e=eee,t3e={};ho(t3e,{finishRepostEvent:()=>n3e,getRepostedEvent:()=>r3e,getRepostedEventPointer:()=>nee});function n3e(t,e,n,r){var a;let o;const s=[...t.tags??[],["e",e.id,n],["p",e.pubkey]];return e.kind===yX?o=tT:(o=rT,s.push(["k",String(e.kind)])),_i({kind:o,tags:s,content:t.content===""||(a=e.tags)!=null&&a.find(i=>i[0]==="-")?"":JSON.stringify(e),created_at:t.created_at},r)}function nee(t){if(![tT,rT].includes(t.kind))return;let e,n;for(let r=t.tags.length-1;r>=0&&(e===void 0||n===void 0);r--){const o=t.tags[r];o.length>=2&&(o[0]==="e"&&e===void 0?e=o:o[0]==="p"&&n===void 0&&(n=o))}if(e!==void 0)return{id:e[1],relays:[e[2],n==null?void 0:n[2]].filter(r=>typeof r=="string"),author:n==null?void 0:n[1]}}function r3e(t,{skipVerification:e}={}){const n=nee(t);if(n===void 0||t.content==="")return;let r;try{r=JSON.parse(t.content)}catch{return}if(r.id===n.id&&!(!e&&!Oy(r)))return r}var o3e={};ho(o3e,{NOSTR_URI_REGEX:()=>pT,parse:()=>a3e,test:()=>s3e});var pT=new RegExp(`nostr:(${PX.source})`);function s3e(t){return typeof t=="string"&&new RegExp(`^${pT.source}$`).test(t)}function a3e(t){const e=t.match(new RegExp(`^${pT.source}$`));if(!e)throw new Error(`Invalid Nostr URI: ${t}`);return{uri:e[0],value:e[1],decoded:vC(e[1])}}var i3e={};ho(i3e,{finishReactionEvent:()=>l3e,getReactedEventPointer:()=>c3e});function l3e(t,e,n){const r=e.tags.filter(o=>o.length>=2&&(o[0]==="e"||o[0]==="p"));return _i({...t,kind:nT,tags:[...t.tags??[],...r,["e",e.id],["p",e.pubkey]],content:t.content??"+"},n)}function c3e(t){if(t.kind!==nT)return;let e,n;for(let r=t.tags.length-1;r>=0&&(e===void 0||n===void 0);r--){const o=t.tags[r];o.length>=2&&(o[0]==="e"&&e===void 0?e=o:o[0]==="p"&&n===void 0&&(n=o))}if(!(e===void 0||n===void 0))return{id:e[1],relays:[e[2],n[2]].filter(r=>r!==void 0),author:n[1]}}var u3e={};ho(u3e,{parse:()=>d3e});var f3e=/\W/m,vB=/\W |\W$|$|,| /m;function*d3e(t){const e=t.length;let n=0,r=0;for(;r<e;){let o=t.indexOf(":",r);if(o===-1)break;if(t.substring(o-5,o)==="nostr"){const s=t.substring(o+60).match(f3e),a=s?o+60+s.index:e;try{let i,{data:l,type:u}=vC(t.substring(o+1,a));switch(u){case"npub":i={pubkey:l};break;case"nsec":case"note":r=a+1;continue;default:i=l}n!==o-5&&(yield{type:"text",text:t.substring(n,o-5)}),yield{type:"reference",pointer:i},r=a,n=r;continue}catch{r=o+1;continue}}else if(t.substring(o-5,o)==="https"||t.substring(o-4,o)==="http"){const s=t.substring(o+4).match(vB),a=s?o+4+s.index:e,i=t[o-1]==="s"?5:4;try{let l=new URL(t.substring(o-i,a));if(l.hostname.indexOf(".")===-1)throw new Error("invalid url");if(n!==o-i&&(yield{type:"text",text:t.substring(n,o-i)}),/\.(png|jpe?g|gif|webp)$/i.test(l.pathname)){yield{type:"image",url:l.toString()},r=a,n=r;continue}if(/\.(mp4|avi|webm|mkv)$/i.test(l.pathname)){yield{type:"video",url:l.toString()},r=a,n=r;continue}if(/\.(mp3|aac|ogg|opus)$/i.test(l.pathname)){yield{type:"audio",url:l.toString()},r=a,n=r;continue}yield{type:"url",url:l.toString()},r=a,n=r;continue}catch{r=a+1;continue}}else if(t.substring(o-3,o)==="wss"||t.substring(o-2,o)==="ws"){const s=t.substring(o+4).match(vB),a=s?o+4+s.index:e,i=t[o-1]==="s"?3:2;try{let l=new URL(t.substring(o-i,a));if(l.hostname.indexOf(".")===-1)throw new Error("invalid ws url");n!==o-i&&(yield{type:"text",text:t.substring(n,o-i)}),yield{type:"relay",url:l.toString()},r=a,n=r;continue}catch{r=a+1;continue}}else{r=o+1;continue}}n!==e&&(yield{type:"text",text:t.substring(n)})}var p3e={};ho(p3e,{channelCreateEvent:()=>h3e,channelHideMessageEvent:()=>y3e,channelMessageEvent:()=>g3e,channelMetadataEvent:()=>m3e,channelMuteUserEvent:()=>v3e});var h3e=(t,e)=>{let n;if(typeof t.content=="object")n=JSON.stringify(t.content);else if(typeof t.content=="string")n=t.content;else return;return _i({kind:bX,tags:[...t.tags??[]],content:n,created_at:t.created_at},e)},m3e=(t,e)=>{let n;if(typeof t.content=="object")n=JSON.stringify(t.content);else if(typeof t.content=="string")n=t.content;else return;return _i({kind:xX,tags:[["e",t.channel_create_event_id],...t.tags??[]],content:n,created_at:t.created_at},e)},g3e=(t,e)=>{const n=[["e",t.channel_create_event_id,t.relay_url,"root"]];return t.reply_to_channel_message_event_id&&n.push(["e",t.reply_to_channel_message_event_id,t.relay_url,"reply"]),_i({kind:kX,tags:[...n,...t.tags??[]],content:t.content,created_at:t.created_at},e)},y3e=(t,e)=>{let n;if(typeof t.content=="object")n=JSON.stringify(t.content);else if(typeof t.content=="string")n=t.content;else return;return _i({kind:jX,tags:[["e",t.channel_message_event_id],...t.tags??[]],content:n,created_at:t.created_at},e)},v3e=(t,e)=>{let n;if(typeof t.content=="object")n=JSON.stringify(t.content);else if(typeof t.content=="string")n=t.content;else return;return _i({kind:CX,tags:[["p",t.pubkey_to_mute],...t.tags??[]],content:n,created_at:t.created_at},e)},w3e={};ho(w3e,{EMOJI_SHORTCODE_REGEX:()=>ree,matchAll:()=>b3e,regex:()=>hT,replaceAll:()=>x3e});var ree=/:(\w+):/,hT=()=>new RegExp(`\\B${ree.source}\\B`,"g");function*b3e(t){const e=t.matchAll(hT());for(const n of e)try{const[r,o]=n;yield{shortcode:r,name:o,start:n.index,end:n.index+r.length}}catch{}}function x3e(t,e){return t.replaceAll(hT(),(n,r)=>e({shortcode:n,name:r}))}var k3e={};ho(k3e,{useFetchImplementation:()=>j3e,validateGithub:()=>C3e});var mT;try{mT=fetch}catch{}function j3e(t){mT=t}async function C3e(t,e,n){try{return await(await mT(`https://gist.github.com/${e}/${n}/raw`)).text()===`Verifying that I control the following Nostr public key: ${t}`}catch{return!1}}var S3e={};ho(S3e,{makeNwcRequestEvent:()=>N3e,parseConnectionString:()=>E3e});function E3e(t){const{host:e,pathname:n,searchParams:r}=new URL(t),o=n||e,s=r.get("relay"),a=r.get("secret");if(!o||!s||!a)throw new Error("invalid connection string");return{pubkey:o,relay:s,secret:a}}async function N3e(t,e,n){const o=OX(e,t,JSON.stringify({method:"pay_invoice",params:{invoice:n}})),s={kind:NX,created_at:Math.round(Date.now()/1e3),content:o,tags:[["p",t]]};return _i(s,e)}var I3e={};ho(I3e,{normalizeIdentifier:()=>A3e});function A3e(t){return t=t.trim().toLowerCase(),t=t.normalize("NFKC"),Array.from(t).map(e=>new RegExp("\\p{Letter}","u").test(e)||new RegExp("\\p{Number}","u").test(e)?e:"-").join("")}var _3e={};ho(_3e,{getSatoshisAmountFromBolt11:()=>P3e,getZapEndpoint:()=>R3e,makeZapReceipt:()=>L3e,makeZapRequest:()=>T3e,useFetchImplementation:()=>M3e,validateZapRequest:()=>D3e});var gT;try{gT=fetch}catch{}function M3e(t){gT=t}async function R3e(t){try{let e="",{lud06:n,lud16:r}=JSON.parse(t.content);if(n){let{words:a}=Pr.decode(n,1e3),i=Pr.fromWords(a);e=Qf.decode(i)}else if(r){let[a,i]=r.split("@");e=new URL(`/.well-known/lnurlp/${a}`,`https://${i}`).toString()}else return null;let s=await(await gT(e)).json();if(s.allowsNostr&&s.nostrPubkey)return s.callback}catch{}return null}function T3e(t){let e={kind:9734,created_at:Math.round(Date.now()/1e3),content:t.comment||"",tags:[["p","pubkey"in t?t.pubkey:t.event.pubkey],["amount",t.amount.toString()],["relays",...t.relays]]};if("event"in t){if(e.tags.push(["e",t.event.id]),XR(t.event.kind)){const n=["a",`${t.event.kind}:${t.event.pubkey}:`];e.tags.push(n)}else if(eT(t.event.kind)){let n=t.event.tags.find(([o,s])=>o==="d"&&s);if(!n)throw new Error("d tag not found or is empty");const r=["a",`${t.event.kind}:${t.event.pubkey}:${n[1]}`];e.tags.push(r)}e.tags.push(["k",t.event.kind.toString()])}return e}function D3e(t){let e;try{e=JSON.parse(t)}catch{return"Invalid zap request JSON."}if(!mC(e))return"Zap request is not a valid Nostr event.";if(!Oy(e))return"Invalid signature on zap request.";let n=e.tags.find(([s,a])=>s==="p"&&a);if(!n)return"Zap request doesn't have a 'p' tag.";if(!n[1].match(/^[a-f0-9]{64}$/))return"Zap request 'p' tag is not valid hex.";let r=e.tags.find(([s,a])=>s==="e"&&a);return r&&!r[1].match(/^[a-f0-9]{64}$/)?"Zap request 'e' tag is not valid hex.":e.tags.find(([s,a])=>s==="relays"&&a)?null:"Zap request doesn't have a 'relays' tag."}function L3e({zapRequest:t,preimage:e,bolt11:n,paidAt:r}){let o=JSON.parse(t),s=o.tags.filter(([i])=>i==="e"||i==="p"||i==="a"),a={kind:9735,created_at:Math.round(r.getTime()/1e3),content:"",tags:[...s,["P",o.pubkey],["bolt11",n],["description",t]]};return e&&a.tags.push(["preimage",e]),a}function P3e(t){if(t.length<50)return 0;t=t.substring(0,50);const e=t.lastIndexOf("1");if(e===-1)return 0;const n=t.substring(0,e);if(!n.startsWith("lnbc"))return 0;const r=n.substring(4);if(r.length<1)return 0;const o=r[r.length-1],s=o.charCodeAt(0)-48,a=s>=0&&s<=9;let i=r.length-1;if(a&&i++,i<1)return 0;const l=parseInt(r.substring(0,i));switch(o){case"m":return l*1e5;case"u":return l*100;case"n":return l/10;case"p":return l/1e4;default:return l*1e8}}var O3e={};ho(O3e,{getToken:()=>z3e,hashPayload:()=>yT,unpackEventFromToken:()=>see,validateEvent:()=>fee,validateEventKind:()=>iee,validateEventMethodTag:()=>cee,validateEventPayloadTag:()=>uee,validateEventTimestamp:()=>aee,validateEventUrlTag:()=>lee,validateToken:()=>F3e});var oee="Nostr ";async function z3e(t,e,n,r=!1,o){const s={kind:oT,tags:[["u",t],["method",e]],created_at:Math.round(new Date().getTime()/1e3),content:""};o&&s.tags.push(["payload",yT(o)]);const a=await n(s);return(r?oee:"")+es.encode(Qc.encode(JSON.stringify(a)))}async function F3e(t,e,n){const r=await see(t).catch(s=>{throw s});return await fee(r,e,n).catch(s=>{throw s})}async function see(t){if(!t)throw new Error("Missing token");t=t.replace(oee,"");const e=Qf.decode(es.decode(t));if(!e||e.length===0||!e.startsWith("{"))throw new Error("Invalid token");return JSON.parse(e)}function aee(t){return t.created_at?Math.round(new Date().getTime()/1e3)-t.created_at<60:!1}function iee(t){return t.kind===oT}function lee(t,e){const n=t.tags.find(r=>r[0]==="u");return n?n.length>0&&n[1]===e:!1}function cee(t,e){const n=t.tags.find(r=>r[0]==="method");return n?n.length>0&&n[1].toLowerCase()===e.toLowerCase():!1}function yT(t){const e=ml(Qc.encode(JSON.stringify(t)));return Lr(e)}function uee(t,e){const n=t.tags.find(o=>o[0]==="payload");if(!n)return!1;const r=yT(e);return n.length>0&&n[1]===r}async function fee(t,e,n,r){if(!Oy(t))throw new Error("Invalid nostr event, signature invalid");if(!iee(t))throw new Error("Invalid nostr event, kind invalid");if(!aee(t))throw new Error("Invalid nostr event, created_at timestamp invalid");if(!lee(t,e))throw new Error("Invalid nostr event, url tag invalid");if(!cee(t,n))throw new Error("Invalid nostr event, method tag invalid");if(r&&typeof r=="object"&&Object.keys(r).length>0&&!uee(t,r))throw new Error("Invalid nostr event, payload tag does not match request body hash");return!0}const Aw={loginMethods:"nsec,nip07,bunker".split(",").map(t=>t.trim()),defaultRelay:""},gk=["https://blossom.band/","https://blossom.primal.net/","https://nostr.media/"],bt={THEME_SETTING:"themeSetting",RELAY_SETS:"relaySets",ACCOUNTS:"accounts",CURRENT_ACCOUNT:"currentAccount",ADD_CLIENT_TAG:"addClientTag",NOTE_LIST_MODE:"noteListMode",DEFAULT_ZAP_SATS:"defaultZapSats",DEFAULT_ZAP_COMMENT:"defaultZapComment",QUICK_ZAP:"quickZap",LAST_READ_NOTIFICATION_TIME_MAP:"lastReadNotificationTimeMap",ACCOUNT_FEED_INFO_MAP:"accountFeedInfoMap",AUTOPLAY:"autoplay",HIDE_UNTRUSTED_INTERACTIONS:"hideUntrustedInteractions",HIDE_UNTRUSTED_NOTIFICATIONS:"hideUntrustedNotifications",MEDIA_UPLOAD_SERVICE_CONFIG_MAP:"mediaUploadServiceConfigMap",HIDE_UNTRUSTED_NOTES:"hideUntrustedNotes",DISMISSED_TOO_MANY_RELAYS_ALERT:"dismissedTooManyRelaysAlert",SHOW_KINDS:"showKinds",SHOW_KINDS_VERSION:"showKindsVersion",HIDE_CONTENT_MENTIONING_MUTED_USERS:"hideContentMentioningMutedUsers",NOTIFICATION_LIST_STYLE:"notificationListStyle",MEDIA_AUTO_LOAD_POLICY:"mediaAutoLoadPolicy",SHOWN_CREATE_WALLET_GUIDE_TOAST_PUBKEYS:"shownCreateWalletGuideToastPubkeys",SIDEBAR_COLLAPSE:"sidebarCollapse",PRIMARY_COLOR:"primaryColor",ENABLE_SINGLE_COLUMN_LAYOUT:"enableSingleColumnLayout",FALLBACK_RELAY_COUNT:"fallbackRelayCount",FAVICON_URL_TEMPLATE:"faviconUrlTemplate",FILTER_OUT_ONION_RELAYS:"filterOutOnionRelays",QUICK_REACTION:"quickReaction",QUICK_REACTION_EMOJI:"quickReactionEmoji",NSFW_DISPLAY_POLICY:"nsfwDisplayPolicy",PREFER_NIP44:"preferNip44",DM_CONVERSATION_FILTER:"dmConversationFilter",DM_LAST_SEEN_TIMESTAMP:"dmLastSeenTimestamp",GRAPH_QUERIES_ENABLED:"graphQueriesEnabled",SOCIAL_GRAPH_PROXIMITY:"socialGraphProximity",SOCIAL_GRAPH_INCLUDE_MODE:"socialGraphIncludeMode",NRC_ONLY_CONFIG_SYNC:"nrcOnlyConfigSync",AUTO_INSERT_NEW_NOTES:"autoInsertNewNotes",VERBOSE_LOGGING:"verboseLogging",ENABLE_MARKDOWN:"enableMarkdown",SEARCH_RELAYS:"searchRelays",LLM_CONFIG_MAP:"llmConfigMap",OUTBOX_MODE:"outboxMode",DEFAULT_SHOW_NSFW:"defaultShowNsfw",PINNED_PUBKEYS:"pinnedPubkeys",HIDE_UNTRUSTED_EVENTS:"hideUntrustedEvents",ACCOUNT_RELAY_LIST_EVENT_MAP:"accountRelayListEventMap",ACCOUNT_FOLLOW_LIST_EVENT_MAP:"accountFollowListEventMap",ACCOUNT_MUTE_LIST_EVENT_MAP:"accountMuteListEventMap",ACCOUNT_MUTE_DECRYPTED_TAGS_MAP:"accountMuteDecryptedTagsMap",ACCOUNT_PROFILE_EVENT_MAP:"accountProfileEventMap",ACTIVE_RELAY_SET_ID:"activeRelaySetId",FEED_TYPE:"feedType"},Xp={NOTIFICATIONS_SEEN_AT:"seen_notifications_at",SETTINGS:"smesh_settings",DM_DELETED_MESSAGES:"dm_deleted_messages",DM_RELAY_HINT:"smesh_dm_relays"},dee=["wss://search.nos.today/","wss://relay.ditto.pub/","wss://relay.nostrcheck.me/","wss://relay.nostr.band/","wss://relay.orly.dev/"],gt={SEAL:13,PRIVATE_DM:14,EXTERNAL_CONTENT_REACTION:17,PICTURE:20,VIDEO:21,SHORT_VIDEO:22,POLL:1068,POLL_RESPONSE:1018,COMMENT:1111,VOICE:1222,GIFT_WRAP:1059,VOICE_COMMENT:1244,PINNED_USERS:10010,FAVORITE_RELAYS:10012,BLOSSOM_SERVER_LIST:10063,FOLLOW_PACK:39089,RELAY_REVIEW:31987,GROUP_METADATA:39e3,ADDRESSABLE_NORMAL_VIDEO:34235,ADDRESSABLE_SHORT_VIDEO:34236},b_=[Ue.ShortTextNote,Ue.Repost,Ue.GenericRepost,gt.PICTURE,gt.VIDEO,gt.SHORT_VIDEO,gt.POLL,gt.COMMENT,gt.VOICE,gt.VOICE_COMMENT,Ue.Highlights,Ue.LongFormArticle,gt.ADDRESSABLE_NORMAL_VIDEO,gt.ADDRESSABLE_SHORT_VIDEO],B3e=[...b_,gt.RELAY_REVIEW,Ue.Emojisets,gt.FOLLOW_PACK],U3e=/https?:\/\/[\w\p{L}\p{N}\p{M}&.\-/?=#@%+_:!~*]+[^\s.,;:'")\]}!?,。;:"'!?】)]/giu,$3e=/wss?:\/\/[\w\p{L}\p{N}\p{M}&.\-/?=#@%+_:!~*]+[^\s.,;:'")\]}!?,。;:"'!?】)]/giu,V3e=/:[a-zA-Z0-9_-]+:/g,pee=/nostr:(note1[a-z0-9]{58}|nevent1[a-z0-9]+|naddr1[a-z0-9]+)/g,hee=/nostr:(npub1[a-z0-9]{58}|nprofile1[a-z0-9]+)/g,H3e=/#[\p{L}\p{N}\p{M}_]+/gu,W3e=/(ln(?:bc|tb|bcrt))([0-9]+[munp]?)?1([02-9ac-hj-np-z]+)/g,Y3e=/https?:\/\/(?:(?:www|m)\.)?(?:youtube\.com\/(?:watch\?[^#\s]*|embed\/[\w-]+|shorts\/[\w-]+|live\/[\w-]+)|youtu\.be\/[\w-]+)(?:\?[^#\s]*)?(?:#[^\s]*)?/gi,G3e=/https?:\/\/(?:www\.)?(twitter\.com|x\.com)\/(?:#!\/)?(\w+)\/status(?:es)?\/(\d+)(?:[?#].*)?/gi,kC="4c800257a588a82849d049817c2bdaad984b25a45ad9f6dad66e47d3b47e3b2f",q3e=["https://mockingyou.com","https://nostpic.com","https://nostr.build","https://nostrcheck.me","https://nostrmedia.com","https://files.sovbit.host"],K3e="https://nostr.build",yk="https://{hostname}/favicon.ico",Wm={MULTIPLE_CHOICE:"multiplechoice",SINGLE_CHOICE:"singlechoice"},Tp={COMPACT:"compact",DETAILED:"detailed"},Hu={ALWAYS:"always",WIFI_ONLY:"wifi-only",NEVER:"never"},Ul={HIDE:"hide",HIDE_CONTENT:"hide_content",SHOW:"show"},Z3e=10,vk={DEFAULT:{name:"Default",light:{primary:"38 92% 50%","primary-hover":"38 92% 60%","primary-foreground":"0 0% 10%",ring:"38 92% 50%"},dark:{primary:"38 92% 50%","primary-hover":"38 92% 60%","primary-foreground":"240 5.9% 10%",ring:"38 92% 50%"}},RED:{name:"Red",light:{primary:"0 65% 55%","primary-hover":"0 65% 65%","primary-foreground":"0 0% 98%",ring:"0 65% 55%"},dark:{primary:"0 65% 55%","primary-hover":"0 65% 65%","primary-foreground":"240 5.9% 10%",ring:"0 65% 55%"}},ORANGE:{name:"Orange",light:{primary:"30 100% 50%","primary-hover":"30 100% 60%","primary-foreground":"0 0% 98%",ring:"30 100% 50%"},dark:{primary:"30 100% 50%","primary-hover":"30 100% 60%","primary-foreground":"240 5.9% 10%",ring:"30 100% 50%"}},AMBER:{name:"Amber",light:{primary:"42 100% 50%","primary-hover":"42 100% 60%","primary-foreground":"0 0% 98%",ring:"42 100% 50%"},dark:{primary:"42 100% 50%","primary-hover":"42 100% 60%","primary-foreground":"240 5.9% 10%",ring:"42 100% 50%"}},YELLOW:{name:"Yellow",light:{primary:"54 100% 50%","primary-hover":"54 100% 60%","primary-foreground":"0 0% 10%",ring:"54 100% 50%"},dark:{primary:"54 100% 50%","primary-hover":"54 100% 60%","primary-foreground":"240 5.9% 10%",ring:"54 100% 50%"}},LIME:{name:"Lime",light:{primary:"90 60% 50%","primary-hover":"90 60% 60%","primary-foreground":"0 0% 98%",ring:"90 60% 50%"},dark:{primary:"90 60% 50%","primary-hover":"90 60% 60%","primary-foreground":"240 5.9% 10%",ring:"90 60% 50%"}},GREEN:{name:"Green",light:{primary:"140 60% 40%","primary-hover":"140 60% 50%","primary-foreground":"0 0% 98%",ring:"140 60% 40%"},dark:{primary:"140 60% 40%","primary-hover":"140 60% 50%","primary-foreground":"240 5.9% 10%",ring:"140 60% 40%"}},EMERALD:{name:"Emerald",light:{primary:"160 70% 40%","primary-hover":"160 70% 50%","primary-foreground":"0 0% 98%",ring:"160 70% 40%"},dark:{primary:"160 70% 40%","primary-hover":"160 70% 50%","primary-foreground":"240 5.9% 10%",ring:"160 70% 40%"}},TEAL:{name:"Teal",light:{primary:"180 70% 40%","primary-hover":"180 70% 50%","primary-foreground":"0 0% 98%",ring:"180 70% 40%"},dark:{primary:"180 70% 40%","primary-hover":"180 70% 50%","primary-foreground":"240 5.9% 10%",ring:"180 70% 40%"}},CYAN:{name:"Cyan",light:{primary:"200 70% 40%","primary-hover":"200 70% 50%","primary-foreground":"0 0% 98%",ring:"200 70% 40%"},dark:{primary:"200 70% 40%","primary-hover":"200 70% 50%","primary-foreground":"240 5.9% 10%",ring:"200 70% 40%"}},SKY:{name:"Sky",light:{primary:"210 70% 50%","primary-hover":"210 70% 60%","primary-foreground":"0 0% 98%",ring:"210 70% 50%"},dark:{primary:"210 70% 50%","primary-hover":"210 70% 60%","primary-foreground":"240 5.9% 10%",ring:"210 70% 50%"}},BLUE:{name:"Blue",light:{primary:"220 80% 50%","primary-hover":"220 80% 60%","primary-foreground":"0 0% 98%",ring:"220 80% 50%"},dark:{primary:"220 80% 50%","primary-hover":"220 80% 60%","primary-foreground":"240 5.9% 10%",ring:"220 80% 50%"}},INDIGO:{name:"Indigo",light:{primary:"230 80% 50%","primary-hover":"230 80% 60%","primary-foreground":"0 0% 98%",ring:"230 80% 50%"},dark:{primary:"230 80% 50%","primary-hover":"230 80% 60%","primary-foreground":"240 5.9% 10%",ring:"230 80% 50%"}},VIOLET:{name:"Violet",light:{primary:"250 80% 50%","primary-hover":"250 80% 60%","primary-foreground":"0 0% 98%",ring:"250 80% 50%"},dark:{primary:"250 80% 50%","primary-hover":"250 80% 60%","primary-foreground":"240 5.9% 10%",ring:"250 80% 50%"}},PURPLE:{name:"Purple",light:{primary:"280 80% 50%","primary-hover":"280 80% 60%","primary-foreground":"0 0% 98%",ring:"280 80% 50%"},dark:{primary:"280 80% 50%","primary-hover":"280 80% 60%","primary-foreground":"240 5.9% 10%",ring:"280 80% 50%"}},FUCHSIA:{name:"Fuchsia",light:{primary:"310 80% 50%","primary-hover":"310 80% 60%","primary-foreground":"0 0% 98%",ring:"310 80% 50%"},dark:{primary:"310 80% 50%","primary-hover":"310 80% 60%","primary-foreground":"240 5.9% 10%",ring:"310 80% 50%"}},PINK:{name:"Pink",light:{primary:"330 80% 60%","primary-hover":"330 80% 70%","primary-foreground":"0 0% 10%",ring:"330 80% 60%"},dark:{primary:"330 80% 60%","primary-hover":"330 80% 70%","primary-foreground":"240 5.9% 10%",ring:"330 80% 60%"}},ROSE:{name:"Rose",light:{primary:"350 80% 60%","primary-hover":"350 80% 70%","primary-foreground":"0 0% 10%",ring:"350 80% 60%"},dark:{primary:"350 80% 60%","primary-hover":"350 80% 70%","primary-foreground":"240 5.9% 10%",ring:"350 80% 60%"}}},mee=400;class zy extends Error{constructor(e){super(e),this.name=this.constructor.name}}class um extends zy{constructor(e){super(`Invalid pubkey: "${e.slice(0,20)}${e.length>20?"...":""}"`)}}class Q3e extends zy{constructor(e){super(`Invalid relay URL: "${e}"`)}}class r6 extends zy{constructor(e){super(`Invalid event ID: "${e.slice(0,20)}${e.length>20?"...":""}"`)}}class wB extends zy{constructor(e){super(`Invalid timestamp: ${e}`)}}class Ut{constructor(e){this._value=e}static fromHex(e){if(!/^[0-9a-f]{64}$/.test(e))throw new um(e);return new Ut(e)}static fromNpub(e){try{const{type:n,data:r}=yr.decode(e);if(n!=="npub")throw new um(e);return new Ut(r)}catch(n){throw n instanceof um?n:new um(e)}}static fromNprofile(e){try{const{type:n,data:r}=yr.decode(e);if(n!=="nprofile")throw new um(e);return new Ut(r.pubkey)}catch(n){throw n instanceof um?n:new um(e)}}static tryFromString(e){try{return e.startsWith("npub1")?Ut.fromNpub(e):e.startsWith("nprofile1")?Ut.fromNprofile(e):Ut.fromHex(e)}catch{return null}}static isValidHex(e){return/^[0-9a-f]{64}$/.test(e)}get hex(){return this._value}get npub(){return yr.npubEncode(this._value)}get formatted(){return`${this._value.slice(0,8)}...${this._value.slice(-4)}`}formatNpub(e=12){const n=this.npub;if(e<12&&(e=12),e>=63)return n;const r=Math.floor((e-5)/2)+5,o=e-r;return n.slice(0,r)+"..."+n.slice(-o)}equals(e){return this._value===e._value}toString(){return this._value}toJSON(){return this._value}}let Ko=class _w{constructor(e){this._value=e}static create(e){const n=_w.normalize(e);if(!n)throw new Q3e(e);return new _w(n)}static tryCreate(e){try{return _w.create(e)}catch{return null}}static isValid(e){return _w.normalize(e)!==null}static normalize(e){try{const n=e.trim();if(!n)return null;const r=new URL(n);if(!["ws:","wss:"].includes(r.protocol))return null;let o=`${r.protocol}//${r.host.toLowerCase()}`;return r.pathname&&r.pathname!=="/"&&(o+=r.pathname.replace(/\/$/,"")),o}catch{return null}}get value(){return this._value}get shortForm(){return this._value.replace(/^wss?:\/\//,"")}get isSecure(){return this._value.startsWith("wss:")}get isOnion(){return this._value.includes(".onion")}get isLocalNetwork(){return this._value.includes("localhost")||this._value.includes("127.0.0.1")||this._value.includes("192.168.")||this._value.includes("10.")||this._value.includes("172.16.")}get hostname(){try{return new URL(this._value).hostname}catch{return this._value}}equals(e){return this._value===e._value}toString(){return this._value}toJSON(){return this._value}};class Du{constructor(e,n,r,o=[]){this._hex=e,this._kind=n,this._author=r,this._relayHints=o}static fromHex(e){if(!/^[0-9a-f]{64}$/.test(e))throw new r6(e);return new Du(e)}static fromBech32(e){try{const{type:n,data:r}=yr.decode(e);switch(n){case"note":return new Du(r);case"nevent":{const o=(r.relays||[]).map(s=>Ko.tryCreate(s)).filter(s=>s!==null);return new Du(r.id,r.kind,r.author&&Ut.tryFromString(r.author)||void 0,o)}default:throw new r6(e)}}catch(n){throw n instanceof r6?n:new r6(e)}}static tryFromString(e){try{return e.startsWith("note1")||e.startsWith("nevent1")?Du.fromBech32(e):Du.fromHex(e)}catch{return null}}static isValidHex(e){return/^[0-9a-f]{64}$/.test(e)}get hex(){return this._hex}get kind(){return this._kind}get author(){return this._author}get relayHints(){return this._relayHints}get formatted(){return`${this._hex.slice(0,8)}...${this._hex.slice(-4)}`}toBech32(){var e;return this._kind!==void 0||this._author||this._relayHints.length>0?yr.neventEncode({id:this._hex,kind:this._kind,author:(e=this._author)==null?void 0:e.hex,relays:this._relayHints.map(n=>n.value)}):yr.noteEncode(this._hex)}toNote(){return yr.noteEncode(this._hex)}equals(e){return this._hex===e._hex}toString(){return this._hex}toJSON(){return this._hex}}class _o{constructor(e){this._unix=e}static now(){return new _o(Math.floor(Date.now()/1e3))}static fromUnix(e){if(e<0||!Number.isFinite(e))throw new wB(e);return new _o(Math.floor(e))}static fromDate(e){const n=Math.floor(e.getTime()/1e3);if(n<0)throw new wB(n);return new _o(n)}static fromMillis(e){return _o.fromUnix(e/1e3)}static tryFromUnix(e){try{return _o.fromUnix(e)}catch{return null}}get unix(){return this._unix}get millis(){return this._unix*1e3}get date(){return new Date(this._unix*1e3)}isBefore(e){return this._unix<e._unix}isAfter(e){return this._unix>e._unix}isFuture(){return this._unix>_o.now()._unix}isPast(){return this._unix<_o.now()._unix}secondsFrom(e){return this._unix-e._unix}addSeconds(e){return new _o(this._unix+e)}addMinutes(e){return this.addSeconds(e*60)}addHours(e){return this.addSeconds(e*3600)}addDays(e){return this.addSeconds(e*86400)}formatRelative(){const n=_o.now()._unix-this._unix;return n<0?"in the future":n<60?"just now":n<3600?`${Math.floor(n/60)}m`:n<86400?`${Math.floor(n/3600)}h`:n<604800?`${Math.floor(n/86400)}d`:n<2592e3?`${Math.floor(n/604800)}w`:n<31536e3?`${Math.floor(n/2592e3)}mo`:`${Math.floor(n/31536e3)}y`}toISOString(){return this.date.toISOString()}toLocaleDateString(e,n){return this.date.toLocaleDateString(e,n)}toLocaleTimeString(e,n){return this.date.toLocaleTimeString(e,n)}equals(e){return this._unix===e._unix}valueOf(){return this._unix}toString(){return String(this._unix)}toJSON(){return this._unix}}class mf{constructor(){je(this,"occurredAt");this.occurredAt=_o.now()}}class J3e{constructor(){je(this,"handlers",new Map);je(this,"allHandlers",new Set)}async dispatch(e){const n=e.eventType,r=this.handlers.get(n);if(r)for(const o of r)try{await o(e)}catch(s){console.error(`Error in event handler for ${n}:`,s)}for(const o of this.allHandlers)try{await o(e)}catch(s){console.error(`Error in all-event handler for ${n}:`,s)}}on(e,n){let r=this.handlers.get(e);r||(r=new Set,this.handlers.set(e,r)),r.add(n)}off(e,n){const r=this.handlers.get(e);r&&(r.delete(n),r.size===0&&this.handlers.delete(e))}onAll(e){this.allHandlers.add(e)}offAll(e){this.allHandlers.delete(e)}clear(){this.handlers.clear(),this.allHandlers.clear()}}const Vt=new J3e,X3e=t=>Ko.tryCreate(t);class gee extends zy{constructor(){super("Cannot follow yourself")}}class wk extends zy{constructor(){super("Cannot mute yourself")}}class L0{constructor(e,n,r=""){je(this,"_entries");je(this,"_content");this._owner=e,this._entries=new Map;for(const o of n)this._entries.set(o.pubkey.hex,o);this._content=r}static empty(e){return new L0(e,[])}static fromEvent(e){if(e.kind!==Ue.Contacts)throw new Error(`Expected kind ${Ue.Contacts}, got ${e.kind}`);const n=Ut.fromHex(e.pubkey),r=[];for(const o of e.tags)if(o[0]==="p"&&o[1]){const s=Ut.tryFromString(o[1]);s&&r.push({pubkey:s,relayHint:o[2]||void 0,petname:o[3]||void 0})}return new L0(n,r,e.content)}get owner(){return this._owner}get count(){return this._entries.size}get content(){return this._content}getFollowing(){return Array.from(this._entries.values()).map(e=>e.pubkey)}getEntries(){return Array.from(this._entries.values())}isFollowing(e){return this._entries.has(e.hex)}getEntry(e){return this._entries.get(e.hex)}follow(e,n,r){if(e.equals(this._owner))throw new gee;return this._entries.has(e.hex)?{type:"no_change"}:(this._entries.set(e.hex,{pubkey:e,relayHint:n,petname:r}),{type:"added",pubkey:e})}unfollow(e){return this._entries.has(e.hex)?(this._entries.delete(e.hex),{type:"removed",pubkey:e}):{type:"no_change"}}setPetname(e,n){const r=this._entries.get(e.hex);return r?(this._entries.set(e.hex,{...r,petname:n}),!0):!1}toTags(){return Array.from(this._entries.values()).map(e=>{const n=["p",e.pubkey.hex];return e.relayHint?(n.push(e.relayHint),e.petname&&n.push(e.petname)):e.petname&&n.push("",e.petname),n})}toDraftEvent(){return{kind:Ue.Contacts,content:this._content,created_at:_o.now().unix,tags:this.toTags()}}cloneFor(e){const n=this.getEntries().filter(r=>!r.pubkey.equals(e));return new L0(e,n,this._content)}merge(e){for(const n of e.getEntries())!n.pubkey.equals(this._owner)&&!this._entries.has(n.pubkey.hex)&&this._entries.set(n.pubkey.hex,n)}}class ry{constructor(e,n,r){je(this,"_publicMutes");je(this,"_privateMutes");this._owner=e,this._publicMutes=new Map,this._privateMutes=new Map;for(const o of n)this._publicMutes.set(o.hex,o);for(const o of r)this._privateMutes.set(o.hex,o)}static empty(e){return new ry(e,[],[])}static fromEvent(e,n=[]){if(e.kind!==Ue.Mutelist)throw new Error(`Expected kind ${Ue.Mutelist}, got ${e.kind}`);const r=Ut.fromHex(e.pubkey),o=[],s=[];for(const a of e.tags)if(a[0]==="p"&&a[1]){const i=Ut.tryFromString(a[1]);i&&o.push(i)}for(const a of n)if(a[0]==="p"&&a[1]){const i=Ut.tryFromString(a[1]);i&&s.push(i)}return new ry(r,o,s)}get owner(){return this._owner}get count(){return this._publicMutes.size+this._privateMutes.size}get publicCount(){return this._publicMutes.size}get privateCount(){return this._privateMutes.size}getAllMuted(){return[...this.getPublicMuted(),...this.getPrivateMuted()]}getPublicMuted(){return Array.from(this._publicMutes.values())}getPrivateMuted(){return Array.from(this._privateMutes.values())}isMuted(e){return this._publicMutes.has(e.hex)||this._privateMutes.has(e.hex)}getMuteVisibility(e){return this._publicMutes.has(e.hex)?"public":this._privateMutes.has(e.hex)?"private":null}mutePublicly(e){if(e.equals(this._owner))throw new wk;return this._publicMutes.has(e.hex)?{type:"no_change"}:this._privateMutes.has(e.hex)?(this._privateMutes.delete(e.hex),this._publicMutes.set(e.hex,e),{type:"visibility_changed",pubkey:e,from:"private",to:"public"}):(this._publicMutes.set(e.hex,e),{type:"muted",pubkey:e,visibility:"public"})}mutePrivately(e){if(e.equals(this._owner))throw new wk;return this._privateMutes.has(e.hex)?{type:"no_change"}:this._publicMutes.has(e.hex)?(this._publicMutes.delete(e.hex),this._privateMutes.set(e.hex,e),{type:"visibility_changed",pubkey:e,from:"public",to:"private"}):(this._privateMutes.set(e.hex,e),{type:"muted",pubkey:e,visibility:"private"})}unmute(e){return this._publicMutes.has(e.hex)?(this._publicMutes.delete(e.hex),{type:"unmuted",pubkey:e}):this._privateMutes.has(e.hex)?(this._privateMutes.delete(e.hex),{type:"unmuted",pubkey:e}):{type:"no_change"}}switchToPrivate(e){return this.mutePrivately(e)}switchToPublic(e){return this.mutePublicly(e)}toPublicTags(){return Array.from(this._publicMutes.values()).map(e=>["p",e.hex])}toPrivateTags(){return Array.from(this._privateMutes.values()).map(e=>["p",e.hex])}toDraftEvent(e=""){return{kind:Ue.Mutelist,content:e,created_at:_o.now().unix,tags:this.toPublicTags()}}hasPrivateMutes(){return this._privateMutes.size>0}}class kb{constructor(e,n,r,o=""){je(this,"_publicPins");je(this,"_privatePins");je(this,"_encryptedContent");this._owner=e,this._publicPins=new Map,this._privatePins=new Map,this._encryptedContent=o;for(const s of n)this._publicPins.set(s.pubkey.hex,s);for(const s of r)this._privatePins.set(s.pubkey.hex,s)}static empty(e){return new kb(e,[],[])}static fromEvent(e){if(e.kind!==gt.PINNED_USERS)throw new Error(`Expected kind ${gt.PINNED_USERS}, got ${e.kind}`);const n=Ut.fromHex(e.pubkey),r=[];for(const o of e.tags)if(o[0]==="p"&&o[1]){const s=Ut.tryFromString(o[1]);s&&r.push({pubkey:s,isPrivate:!1})}return new kb(n,r,[],e.content)}get owner(){return this._owner}get count(){return this._publicPins.size+this._privatePins.size}get publicCount(){return this._publicPins.size}get privateCount(){return this._privatePins.size}get encryptedContent(){return this._encryptedContent}setPrivatePins(e){this._privatePins.clear();for(const n of e)if(n[0]==="p"&&n[1]){const r=Ut.tryFromString(n[1]);r&&this._privatePins.set(r.hex,{pubkey:r,isPrivate:!0})}}getPinnedPubkeys(){const e=new Map(this._publicPins);for(const[n,r]of this._privatePins)e.set(n,r);return Array.from(e.values()).map(n=>n.pubkey)}getEntries(){const e=new Map(this._publicPins);for(const[n,r]of this._privatePins)e.set(n,r);return Array.from(e.values())}getPublicEntries(){return Array.from(this._publicPins.values())}getPrivateEntries(){return Array.from(this._privatePins.values())}isPinned(e){return this._publicPins.has(e.hex)||this._privatePins.has(e.hex)}pin(e){if(e.equals(this._owner))throw new Error("Cannot pin self");return this.isPinned(e)?{type:"no_change"}:(this._publicPins.set(e.hex,{pubkey:e,isPrivate:!1}),{type:"pinned",pubkey:e})}unpin(e){const n=this._publicPins.delete(e.hex),r=this._privatePins.delete(e.hex);return n||r?{type:"unpinned",pubkey:e}:{type:"no_change"}}toTags(){return Array.from(this._publicPins.values()).map(e=>["p",e.pubkey.hex])}toPrivateTags(){return Array.from(this._privatePins.values()).map(e=>["p",e.pubkey.hex])}setEncryptedContent(e){this._encryptedContent=e}toDraftEvent(){return{kind:gt.PINNED_USERS,content:this._encryptedContent,created_at:_o.now().unix,tags:this.toTags()}}}function eke(t){if(!t||t.kind!==gt.PINNED_USERS)return null;try{return kb.fromEvent(t)}catch{return null}}const bB=t=>{if(!t)return null;try{return L0.fromEvent(t)}catch{return null}},tke=t=>new Set(t.getFollowing().map(e=>e.hex)),nke=(t,e=[])=>{if(!t)return null;try{return ry.fromEvent(t,e)}catch{return null}},rke=t=>new Set(t.getAllMuted().map(e=>e.hex)),oke=t=>new Set(t.getPinnedPubkeys().map(e=>e.hex));let x_=class w3{constructor(e,n,r){je(this,"_relays");this._id=e,this._name=n,this._relays=new Map;for(const o of r)this._relays.set(o.value,o)}static create(e,n){const r=n||crypto.randomUUID().replace(/-/g,"").slice(0,12);return new w3(r,e.trim()||"Unnamed Set",[])}static createWithRelays(e,n,r){const o=w3.create(e,r);for(const s of n){const a=Ko.tryCreate(s);a&&o._relays.set(a.value,a)}return o}static fromEvent(e){if(e.kind!==Ue.Relaysets)throw new Error(`Expected kind ${Ue.Relaysets}, got ${e.kind}`);let n="",r="";const o=[];for(const s of e.tags)if(s[0]==="d"&&s[1])n=s[1];else if(s[0]==="title"&&s[1])r=s[1];else if(s[0]==="relay"&&s[1]){const a=Ko.tryCreate(s[1]);a&&o.push(a)}return new w3(n||"unknown",r||"Unnamed Set",o)}get id(){return this._id}get name(){return this._name}get count(){return this._relays.size}get isEmpty(){return this._relays.size===0}getRelays(){return Array.from(this._relays.values())}getRelayUrls(){return Array.from(this._relays.keys())}hasRelay(e){return this._relays.has(e.value)}hasRelayUrl(e){const n=Ko.tryCreate(e);return n?this._relays.has(n.value):!1}rename(e){this._name=e.trim()||"Unnamed Set"}addRelay(e){return this._relays.has(e.value)?{type:"no_change"}:(this._relays.set(e.value,e),{type:"added",relay:e})}addRelayUrl(e){const n=Ko.tryCreate(e);return n?this.addRelay(n):null}removeRelay(e){return this._relays.has(e.value)?(this._relays.delete(e.value),{type:"removed",relay:e}):{type:"no_change"}}removeRelayUrl(e){const n=Ko.tryCreate(e);return n?this.removeRelay(n):null}setRelays(e){this._relays.clear();for(const n of e)this._relays.set(n.value,n)}toATag(e){return["a",`${Ue.Relaysets}:${e}:${this._id}`]}toTags(){const e=[["d",this._id],["title",this._name]];for(const n of this._relays.values())e.push(["relay",n.value]);return e}toDraftEvent(){return{kind:Ue.Relaysets,content:"",created_at:_o.now().unix,tags:this.toTags()}}},ske=class b3{constructor(e,n){je(this,"_relays");this._owner=e,this._relays=new Map;for(const r of n)this._relays.set(r.relay.value,r)}static empty(e){return new b3(e,[])}static fromUrls(e,n){const r=[];for(const o of n){const s=Ko.tryCreate(o);s&&r.push({relay:s,scope:"both"})}return new b3(e,r)}static fromEvent(e,n=!1){if(e.kind!==Ue.RelayList)throw new Error(`Expected kind ${Ue.RelayList}, got ${e.kind}`);const r=Ut.fromHex(e.pubkey),o=[];for(const s of e.tags)if(s[0]==="r"&&s[1]){const a=Ko.tryCreate(s[1]);if(!a||n&&a.isOnion)continue;let i="both";s[2]==="read"?i="read":s[2]==="write"&&(i="write"),o.push({relay:a,scope:i})}return new b3(r,o)}get owner(){return this._owner}get count(){return this._relays.size}getEntries(){return Array.from(this._relays.values())}getAllRelays(){return Array.from(this._relays.values()).map(e=>e.relay)}getAllUrls(){return Array.from(this._relays.keys())}getReadRelays(){return Array.from(this._relays.values()).filter(e=>e.scope==="read"||e.scope==="both").map(e=>e.relay)}getReadUrls(){return this.getReadRelays().map(e=>e.value)}getWriteRelays(){return Array.from(this._relays.values()).filter(e=>e.scope==="write"||e.scope==="both").map(e=>e.relay)}getWriteUrls(){return this.getWriteRelays().map(e=>e.value)}hasRelay(e){return this._relays.has(e.value)}getScope(e){const n=this._relays.get(e.value);return n?n.scope:null}setRelay(e,n){const r=this._relays.get(e.value);if(r){if(r.scope===n)return{type:"no_change"};const o=r.scope;return this._relays.set(e.value,{relay:e,scope:n}),{type:"scope_changed",relay:e,from:o,to:n}}return this._relays.set(e.value,{relay:e,scope:n}),{type:"added",relay:e,scope:n}}setRelayUrl(e,n){const r=Ko.tryCreate(e);return r?this.setRelay(r,n):null}removeRelay(e){return this._relays.has(e.value)?(this._relays.delete(e.value),{type:"removed",relay:e}):{type:"no_change"}}removeRelayUrl(e){const n=Ko.tryCreate(e);return n?this.removeRelay(n):null}setEntries(e){this._relays.clear();for(const n of e)this._relays.set(n.relay.value,n)}toTags(){return Array.from(this._relays.values()).map(e=>e.scope==="both"?["r",e.relay.value]:["r",e.relay.value,e.scope])}toDraftEvent(){return{kind:Ue.RelayList,content:"",created_at:_o.now().unix,tags:this.toTags()}}toLegacyFormat(){return{read:this.getReadUrls(),write:this.getWriteUrls(),originalRelays:Array.from(this._relays.values()).map(e=>({url:e.relay.value,scope:e.scope}))}}};class $p{constructor(e,n,r){je(this,"_relays");je(this,"_sets");je(this,"_setOrder");this._owner=e,this._relays=new Map,this._sets=new Map,this._setOrder=[];for(const o of n)this._relays.set(o.value,o);for(const o of r)this._sets.set(o.id,o),this._setOrder.push(o.id)}static empty(e){return new $p(e,[],[])}static fromUrls(e,n){const r=[];for(const o of n){const s=Ko.tryCreate(o);s&&!r.some(a=>a.value===s.value)&&r.push(s)}return new $p(e,r,[])}static fromEvent(e,n=[]){const r=Ut.fromHex(e.pubkey),o=[],s=[];for(const i of e.tags)if(i[0]==="relay"&&i[1]){const l=Ko.tryCreate(i[1]);l&&!o.some(u=>u.value===l.value)&&o.push(l)}else if(i[0]==="a"&&i[1]){const[l,,u]=i[1].split(":");l===Ue.Relaysets.toString()&&u&&!s.includes(u)&&s.push(u)}const a=[];for(const i of s){const l=n.find(u=>u.id===i);l&&a.push(l)}return new $p(r,o,a)}get owner(){return this._owner}get relayCount(){return this._relays.size}get setCount(){return this._sets.size}getRelays(){return Array.from(this._relays.values())}getRelayUrls(){return Array.from(this._relays.keys())}getSets(){return this._setOrder.map(e=>this._sets.get(e)).filter(Boolean)}getSet(e){return this._sets.get(e)}getAllUniqueRelays(){const e=new Map;for(const n of this._relays.values())e.set(n.value,n);for(const n of this._sets.values())for(const r of n.getRelays())e.set(r.value,r);return Array.from(e.values())}hasRelay(e){return this._relays.has(e.value)}hasSet(e){return this._sets.has(e)}addRelay(e){return this._relays.has(e.value)?{type:"no_change"}:(this._relays.set(e.value,e),{type:"relay_added",relay:e})}addRelays(e){return e.map(n=>this.addRelay(n))}addRelayUrl(e){const n=Ko.tryCreate(e);return n?this.addRelay(n):null}removeRelay(e){return this._relays.has(e.value)?(this._relays.delete(e.value),{type:"relay_removed",relay:e}):{type:"no_change"}}removeRelays(e){return e.map(n=>this.removeRelay(n))}addSet(e){return this._sets.has(e.id)?{type:"no_change"}:(this._sets.set(e.id,e),this._setOrder.push(e.id),{type:"set_added",set:e})}removeSet(e){if(!this._sets.has(e))return{type:"no_change"};this._sets.delete(e);const n=this._setOrder.indexOf(e);return n!==-1&&this._setOrder.splice(n,1),{type:"set_removed",setId:e}}updateSet(e){return this._sets.has(e.id)?(this._sets.set(e.id,e),!0):!1}reorderRelays(e){this._relays.clear();for(const n of e)this._relays.set(n.value,n)}reorderSets(e){this._setOrder.length=0;for(const n of e)this._sets.has(n.id)&&this._setOrder.push(n.id)}toTags(e){const n=[];for(const r of this._relays.values())n.push(["relay",r.value]);for(const r of this._setOrder)this._sets.get(r)&&n.push(["a",`${Ue.Relaysets}:${e}:${r}`]);return n}toDraftEvent(e){return{kind:10012,content:"",created_at:_o.now().unix,tags:this.toTags(e)}}}const yee=t=>{if(!t)return null;try{return x_.fromEvent(t)}catch{return null}},ake=(t,e)=>({id:t.id,aTag:t.toATag(e),name:t.name,relayUrls:t.getRelayUrls()}),ike=(t,e=[])=>{const n=e.map(r=>yee(r)).filter(Boolean);return $p.fromEvent(t,n)},lke=(t,e=[])=>{if(!t)return null;try{return ike(t,e)}catch{return null}},cke=t=>{const e=X3e(t);return e?e.value:null},xB=["nsec","nip-07","browser-nsec","ncryptsec","npub","bunker"],Ss=class Ss{constructor(e){this._value=e}static fromString(e){if(!Ss.isValid(e))throw new Error(`Invalid signer type: ${e}`);return new Ss(e)}static tryFromString(e){try{return Ss.fromString(e)}catch{return null}}static isValid(e){return xB.includes(e)}static all(){return xB.map(e=>new Ss(e))}get value(){return this._value}get canSign(){return this._value!=="npub"}get storesKeysLocally(){return["nsec","browser-nsec","ncryptsec"].includes(this._value)}get isRemote(){return this._value==="nip-07"||this._value==="bunker"}get isViewOnly(){return this._value==="npub"}get displayName(){switch(this._value){case"nsec":return"Private Key";case"nip-07":return"Browser Extension";case"browser-nsec":return"Browser Key";case"ncryptsec":return"Encrypted Key";case"npub":return"View Only";case"bunker":return"Remote Signer"}}equals(e){return this._value===e._value}toString(){return this._value}toJSON(){return this._value}};je(Ss,"NSEC",new Ss("nsec")),je(Ss,"NIP07",new Ss("nip-07")),je(Ss,"BROWSER_NSEC",new Ss("browser-nsec")),je(Ss,"NCRYPTSEC",new Ss("ncryptsec")),je(Ss,"NPUB",new Ss("npub")),je(Ss,"BUNKER",new Ss("bunker"));let kB=Ss,vee=class x3{constructor(e,n,r=""){je(this,"_entries");je(this,"_content");this._owner=e,this._entries=new Map;for(const o of n)this._entries.set(o.id,o);this._content=r}static empty(e){return new x3(e,[])}static fromEvent(e){if(e.kind!==Ue.BookmarkList)throw new Error(`Expected kind ${Ue.BookmarkList}, got ${e.kind}`);const n=Ut.fromHex(e.pubkey),r=[];for(const o of e.tags)if(o[0]==="e"&&o[1]){const s=Du.tryFromString(o[1]);if(s){const a=o[2]?Ut.tryFromString(o[2]):void 0;r.push({type:"event",id:s.hex,pubkey:a||void 0,relayHint:o[3]||void 0})}}else o[0]==="a"&&o[1]&&r.push({type:"replaceable",id:o[1],relayHint:o[2]||void 0});return new x3(n,r,e.content)}static tryFromEvent(e){if(!e)return null;try{return x3.fromEvent(e)}catch{return null}}get owner(){return this._owner}get count(){return this._entries.size}get content(){return this._content}getEntries(){return Array.from(this._entries.values())}getEventIds(){return Array.from(this._entries.values()).filter(e=>e.type==="event").map(e=>e.id)}getReplaceableCoordinates(){return Array.from(this._entries.values()).filter(e=>e.type==="replaceable").map(e=>e.id)}hasEventId(e){return this._entries.has(e)}hasCoordinate(e){return this._entries.has(e)}isBookmarked(e){return this._entries.has(e)}addEvent(e,n,r){const o=e.hex;if(this._entries.has(o))return{type:"no_change"};const s={type:"event",id:o,pubkey:n,relayHint:r};return this._entries.set(o,s),{type:"added",entry:s}}addReplaceable(e,n){if(this._entries.has(e))return{type:"no_change"};const r={type:"replaceable",id:e,relayHint:n};return this._entries.set(e,r),{type:"added",entry:r}}addFromEvent(e){var o;if(this.isReplaceableKind(e.kind)){const s=((o=e.tags.find(i=>i[0]==="d"))==null?void 0:o[1])||"",a=`${e.kind}:${e.pubkey}:${s}`;return this.addReplaceable(a)}const n=Du.tryFromString(e.id);if(!n)return{type:"no_change"};const r=Ut.tryFromString(e.pubkey);return this.addEvent(n,r||void 0)}remove(e){return this._entries.has(e)?(this._entries.delete(e),{type:"removed",id:e}):{type:"no_change"}}removeFromEvent(e){var n;if(this.isReplaceableKind(e.kind)){const r=((n=e.tags.find(s=>s[0]==="d"))==null?void 0:n[1])||"",o=`${e.kind}:${e.pubkey}:${r}`;return this.remove(o)}return this.remove(e.id)}isReplaceableKind(e){return e>=1e4&&e<2e4||e>=3e4&&e<4e4}toTags(){const e=[];for(const n of this._entries.values())if(n.type==="event"){const r=["e",n.id];n.pubkey?(r.push(n.pubkey.hex),n.relayHint&&r.push(n.relayHint)):n.relayHint&&r.push("",n.relayHint),e.push(r)}else{const r=["a",n.id];n.relayHint&&r.push(n.relayHint),e.push(r)}return e}toDraftEvent(){return{kind:Ue.BookmarkList,content:this._content,created_at:_o.now().unix,tags:this.toTags()}}};const jB=5;class wee extends Error{constructor(){super("Cannot pin content from other users"),this.name="CannotPinOthersContentError"}}class bee extends Error{constructor(){super("Can only pin short text notes"),this.name="CanOnlyPinNotesError"}}class P0{constructor(e,n,r=""){je(this,"_entries");je(this,"_order");je(this,"_content");this._owner=e,this._entries=new Map,this._order=[];for(const o of n)this._entries.set(o.eventId.hex,o),this._order.push(o.eventId.hex);this._content=r}static empty(e){return new P0(e,[])}static fromEvent(e){if(e.kind!==Ue.Pinlist)throw new Error(`Expected kind ${Ue.Pinlist}, got ${e.kind}`);const n=Ut.fromHex(e.pubkey),r=[];for(const o of e.tags)if(o[0]==="e"&&o[1]){const s=Du.tryFromString(o[1]);if(s&&!r.some(a=>a.eventId.hex===s.hex)){const a=o[2]?Ut.tryFromString(o[2]):void 0;r.push({eventId:s,pubkey:a||void 0,relayHint:o[3]||void 0})}}return new P0(n,r,e.content)}static tryFromEvent(e){if(!e)return null;try{return P0.fromEvent(e)}catch{return null}}get owner(){return this._owner}get count(){return this._entries.size}get isFull(){return this._entries.size>=jB}get content(){return this._content}getEntries(){return this._order.map(e=>this._entries.get(e)).filter(Boolean)}getEventIds(){return[...this._order]}getEventIdSet(){return new Set(this._order)}isPinned(e){return this._entries.has(e)}pin(e){if(e.pubkey!==this._owner.hex)throw new wee;if(e.kind!==Ue.ShortTextNote)throw new bee;const n=Du.fromHex(e.id);if(this._entries.has(n.hex))return{type:"no_change"};const r={eventId:n,pubkey:this._owner,relayHint:void 0},o=[];for(;this._entries.size>=jB;){const s=this._order.shift();if(s){const a=this._entries.get(s);a&&o.push(a),this._entries.delete(s)}}return this._entries.set(n.hex,r),this._order.push(n.hex),o.length>0?{type:"limit_exceeded",removed:o}:{type:"pinned",entry:r}}unpin(e){if(!this._entries.has(e))return{type:"no_change"};this._entries.delete(e);const n=this._order.indexOf(e);return n!==-1&&this._order.splice(n,1),{type:"unpinned",eventId:e}}unpinEvent(e){return this.unpin(e.id)}toTags(){const e=[];for(const n of this._order){const r=this._entries.get(n);if(r){const o=["e",r.eventId.hex];r.pubkey?(o.push(r.pubkey.hex),r.relayHint&&o.push(r.relayHint)):r.relayHint&&o.push("",r.relayHint),e.push(o)}}return e}toDraftEvent(){return{kind:Ue.Pinlist,content:this._content,created_at:_o.now().unix,tags:this.toTags()}}}class uke extends mf{constructor(n,r,o){super();je(this,"eventType","content.event_bookmarked");this.actor=n,this.bookmarkedEventId=r,this.bookmarkType=o}}class fke extends mf{constructor(n,r){super();je(this,"eventType","content.event_unbookmarked");this.actor=n,this.unbookmarkedEventId=r}}class CB extends mf{constructor(n,r){super();je(this,"eventType","content.bookmark_list_published");this.owner=n,this.bookmarkCount=r}}class SB extends mf{constructor(n,r){super();je(this,"eventType","content.note_pinned");this.actor=n,this.pinnedEventId=r}}class dke extends mf{constructor(n,r){super();je(this,"eventType","content.note_unpinned");this.actor=n,this.unpinnedEventId=r}}class pke extends mf{constructor(n,r){super();je(this,"eventType","content.pins_limit_exceeded");this.actor=n,this.removedEventIds=r}}class EB extends mf{constructor(n,r){super();je(this,"eventType","content.pin_list_published");this.owner=n,this.pinCount=r}}const NB=t=>vee.tryFromEvent(t),TI=t=>P0.tryFromEvent(t),z1=typeof performance=="object"&&performance&&typeof performance.now=="function"?performance:Date,xee=new Set,k_=typeof process=="object"&&process?process:{},kee=(t,e,n,r)=>{typeof k_.emitWarning=="function"?k_.emitWarning(t,e,n,r):console.error(`[${n}] ${e}: ${t}`)};let bk=globalThis.AbortController,IB=globalThis.AbortSignal;var cJ;if(typeof bk>"u"){IB=class{constructor(){je(this,"onabort");je(this,"_onabort",[]);je(this,"reason");je(this,"aborted",!1)}addEventListener(r,o){this._onabort.push(o)}},bk=class{constructor(){je(this,"signal",new IB);e()}abort(r){var o,s;if(!this.signal.aborted){this.signal.reason=r,this.signal.aborted=!0;for(const a of this.signal._onabort)a(r);(s=(o=this.signal).onabort)==null||s.call(o,r)}}};let t=((cJ=k_.env)==null?void 0:cJ.LRU_CACHE_IGNORE_AC_WARNING)!=="1";const e=()=>{t&&(t=!1,kee("AbortController is not defined. If using lru-cache in node 14, load an AbortController polyfill from the `node-abort-controller` package. A minimal polyfill is provided for use by LRUCache.fetch(), but it should not be relied upon in other contexts (eg, passing it to other APIs that use AbortController/AbortSignal might have undesirable effects). You may disable this with LRU_CACHE_IGNORE_AC_WARNING=1 in the env.","NO_ABORT_CONTROLLER","ENOTSUP",e))}}const hke=t=>!xee.has(t),hp=t=>t&&t===Math.floor(t)&&t>0&&isFinite(t),jee=t=>hp(t)?t<=Math.pow(2,8)?Uint8Array:t<=Math.pow(2,16)?Uint16Array:t<=Math.pow(2,32)?Uint32Array:t<=Number.MAX_SAFE_INTEGER?k3:null:null;class k3 extends Array{constructor(e){super(e),this.fill(0)}}var J0;const Am=class Am{constructor(e,n){je(this,"heap");je(this,"length");if(!Oe(Am,J0))throw new TypeError("instantiate Stack using Stack.create(n)");this.heap=new n(e),this.length=0}static create(e){const n=jee(e);if(!n)return[];Cn(Am,J0,!0);const r=new Am(e,n);return Cn(Am,J0,!1),r}push(e){this.heap[this.length++]=e}pop(){return this.heap[--this.length]}};J0=new WeakMap,hr(Am,J0,!1);let j_=Am;var uJ,fJ,Tc,Zi,Dc,Lc,X0,ey,fs,Pc,Ho,no,Pn,Wa,Qi,xa,Es,Oc,Ns,zc,Fc,Ji,Bc,Mp,Ya,Kt,C_,$m,qf,D2,Xi,Cee,Vm,ty,L2,mp,gp,S_,j3,C3,eo,E_,Mw,yp,N_,ny;let Fy=(ny=class{constructor(e){hr(this,Kt);hr(this,Tc);hr(this,Zi);hr(this,Dc);hr(this,Lc);hr(this,X0);hr(this,ey);je(this,"ttl");je(this,"ttlResolution");je(this,"ttlAutopurge");je(this,"updateAgeOnGet");je(this,"updateAgeOnHas");je(this,"allowStale");je(this,"noDisposeOnSet");je(this,"noUpdateTTL");je(this,"maxEntrySize");je(this,"sizeCalculation");je(this,"noDeleteOnFetchRejection");je(this,"noDeleteOnStaleGet");je(this,"allowStaleOnFetchAbort");je(this,"allowStaleOnFetchRejection");je(this,"ignoreFetchAbort");hr(this,fs);hr(this,Pc);hr(this,Ho);hr(this,no);hr(this,Pn);hr(this,Wa);hr(this,Qi);hr(this,xa);hr(this,Es);hr(this,Oc);hr(this,Ns);hr(this,zc);hr(this,Fc);hr(this,Ji);hr(this,Bc);hr(this,Mp);hr(this,Ya);hr(this,$m,()=>{});hr(this,qf,()=>{});hr(this,D2,()=>{});hr(this,Xi,()=>!1);hr(this,Vm,e=>{});hr(this,ty,(e,n,r)=>{});hr(this,L2,(e,n,r,o)=>{if(r||o)throw new TypeError("cannot set size without setting maxSize or maxEntrySize on cache");return 0});je(this,uJ,"LRUCache");const{max:n=0,ttl:r,ttlResolution:o=1,ttlAutopurge:s,updateAgeOnGet:a,updateAgeOnHas:i,allowStale:l,dispose:u,disposeAfter:d,noDisposeOnSet:f,noUpdateTTL:m,maxSize:g=0,maxEntrySize:w=0,sizeCalculation:b,fetchMethod:j,memoMethod:S,noDeleteOnFetchRejection:I,noDeleteOnStaleGet:N,allowStaleOnFetchRejection:M,allowStaleOnFetchAbort:D,ignoreFetchAbort:O}=e;if(n!==0&&!hp(n))throw new TypeError("max option must be a nonnegative integer");const L=n?jee(n):Array;if(!L)throw new Error("invalid max value: "+n);if(Cn(this,Tc,n),Cn(this,Zi,g),this.maxEntrySize=w||Oe(this,Zi),this.sizeCalculation=b,this.sizeCalculation){if(!Oe(this,Zi)&&!this.maxEntrySize)throw new TypeError("cannot set sizeCalculation without setting maxSize or maxEntrySize");if(typeof this.sizeCalculation!="function")throw new TypeError("sizeCalculation set to non-function")}if(S!==void 0&&typeof S!="function")throw new TypeError("memoMethod must be a function if defined");if(Cn(this,ey,S),j!==void 0&&typeof j!="function")throw new TypeError("fetchMethod must be a function if specified");if(Cn(this,X0,j),Cn(this,Mp,!!j),Cn(this,Ho,new Map),Cn(this,no,new Array(n).fill(void 0)),Cn(this,Pn,new Array(n).fill(void 0)),Cn(this,Wa,new L(n)),Cn(this,Qi,new L(n)),Cn(this,xa,0),Cn(this,Es,0),Cn(this,Oc,j_.create(n)),Cn(this,fs,0),Cn(this,Pc,0),typeof u=="function"&&Cn(this,Dc,u),typeof d=="function"?(Cn(this,Lc,d),Cn(this,Ns,[])):(Cn(this,Lc,void 0),Cn(this,Ns,void 0)),Cn(this,Bc,!!Oe(this,Dc)),Cn(this,Ya,!!Oe(this,Lc)),this.noDisposeOnSet=!!f,this.noUpdateTTL=!!m,this.noDeleteOnFetchRejection=!!I,this.allowStaleOnFetchRejection=!!M,this.allowStaleOnFetchAbort=!!D,this.ignoreFetchAbort=!!O,this.maxEntrySize!==0){if(Oe(this,Zi)!==0&&!hp(Oe(this,Zi)))throw new TypeError("maxSize must be a positive integer if specified");if(!hp(this.maxEntrySize))throw new TypeError("maxEntrySize must be a positive integer if specified");an(this,Kt,Cee).call(this)}if(this.allowStale=!!l,this.noDeleteOnStaleGet=!!N,this.updateAgeOnGet=!!a,this.updateAgeOnHas=!!i,this.ttlResolution=hp(o)||o===0?o:1,this.ttlAutopurge=!!s,this.ttl=r||0,this.ttl){if(!hp(this.ttl))throw new TypeError("ttl must be a positive integer if specified");an(this,Kt,C_).call(this)}if(Oe(this,Tc)===0&&this.ttl===0&&Oe(this,Zi)===0)throw new TypeError("At least one of max, maxSize, or ttl is required");if(!this.ttlAutopurge&&!Oe(this,Tc)&&!Oe(this,Zi)){const B="LRU_CACHE_UNBOUNDED";hke(B)&&(xee.add(B),kee("TTL caching without ttlAutopurge, max, or maxSize can result in unbounded memory consumption.","UnboundedCacheWarning",B,ny))}}static unsafeExposeInternals(e){return{starts:Oe(e,Fc),ttls:Oe(e,Ji),sizes:Oe(e,zc),keyMap:Oe(e,Ho),keyList:Oe(e,no),valList:Oe(e,Pn),next:Oe(e,Wa),prev:Oe(e,Qi),get head(){return Oe(e,xa)},get tail(){return Oe(e,Es)},free:Oe(e,Oc),isBackgroundFetch:n=>{var r;return an(r=e,Kt,eo).call(r,n)},backgroundFetch:(n,r,o,s)=>{var a;return an(a=e,Kt,C3).call(a,n,r,o,s)},moveToTail:n=>{var r;return an(r=e,Kt,Mw).call(r,n)},indexes:n=>{var r;return an(r=e,Kt,mp).call(r,n)},rindexes:n=>{var r;return an(r=e,Kt,gp).call(r,n)},isStale:n=>{var r;return Oe(r=e,Xi).call(r,n)}}}get max(){return Oe(this,Tc)}get maxSize(){return Oe(this,Zi)}get calculatedSize(){return Oe(this,Pc)}get size(){return Oe(this,fs)}get fetchMethod(){return Oe(this,X0)}get memoMethod(){return Oe(this,ey)}get dispose(){return Oe(this,Dc)}get disposeAfter(){return Oe(this,Lc)}getRemainingTTL(e){return Oe(this,Ho).has(e)?1/0:0}*entries(){for(const e of an(this,Kt,mp).call(this))Oe(this,Pn)[e]!==void 0&&Oe(this,no)[e]!==void 0&&!an(this,Kt,eo).call(this,Oe(this,Pn)[e])&&(yield[Oe(this,no)[e],Oe(this,Pn)[e]])}*rentries(){for(const e of an(this,Kt,gp).call(this))Oe(this,Pn)[e]!==void 0&&Oe(this,no)[e]!==void 0&&!an(this,Kt,eo).call(this,Oe(this,Pn)[e])&&(yield[Oe(this,no)[e],Oe(this,Pn)[e]])}*keys(){for(const e of an(this,Kt,mp).call(this)){const n=Oe(this,no)[e];n!==void 0&&!an(this,Kt,eo).call(this,Oe(this,Pn)[e])&&(yield n)}}*rkeys(){for(const e of an(this,Kt,gp).call(this)){const n=Oe(this,no)[e];n!==void 0&&!an(this,Kt,eo).call(this,Oe(this,Pn)[e])&&(yield n)}}*values(){for(const e of an(this,Kt,mp).call(this))Oe(this,Pn)[e]!==void 0&&!an(this,Kt,eo).call(this,Oe(this,Pn)[e])&&(yield Oe(this,Pn)[e])}*rvalues(){for(const e of an(this,Kt,gp).call(this))Oe(this,Pn)[e]!==void 0&&!an(this,Kt,eo).call(this,Oe(this,Pn)[e])&&(yield Oe(this,Pn)[e])}[(fJ=Symbol.iterator,uJ=Symbol.toStringTag,fJ)](){return this.entries()}find(e,n={}){for(const r of an(this,Kt,mp).call(this)){const o=Oe(this,Pn)[r],s=an(this,Kt,eo).call(this,o)?o.__staleWhileFetching:o;if(s!==void 0&&e(s,Oe(this,no)[r],this))return this.get(Oe(this,no)[r],n)}}forEach(e,n=this){for(const r of an(this,Kt,mp).call(this)){const o=Oe(this,Pn)[r],s=an(this,Kt,eo).call(this,o)?o.__staleWhileFetching:o;s!==void 0&&e.call(n,s,Oe(this,no)[r],this)}}rforEach(e,n=this){for(const r of an(this,Kt,gp).call(this)){const o=Oe(this,Pn)[r],s=an(this,Kt,eo).call(this,o)?o.__staleWhileFetching:o;s!==void 0&&e.call(n,s,Oe(this,no)[r],this)}}purgeStale(){let e=!1;for(const n of an(this,Kt,gp).call(this,{allowStale:!0}))Oe(this,Xi).call(this,n)&&(an(this,Kt,yp).call(this,Oe(this,no)[n],"expire"),e=!0);return e}info(e){const n=Oe(this,Ho).get(e);if(n===void 0)return;const r=Oe(this,Pn)[n],o=an(this,Kt,eo).call(this,r)?r.__staleWhileFetching:r;if(o===void 0)return;const s={value:o};if(Oe(this,Ji)&&Oe(this,Fc)){const a=Oe(this,Ji)[n],i=Oe(this,Fc)[n];if(a&&i){const l=a-(z1.now()-i);s.ttl=l,s.start=Date.now()}}return Oe(this,zc)&&(s.size=Oe(this,zc)[n]),s}dump(){const e=[];for(const n of an(this,Kt,mp).call(this,{allowStale:!0})){const r=Oe(this,no)[n],o=Oe(this,Pn)[n],s=an(this,Kt,eo).call(this,o)?o.__staleWhileFetching:o;if(s===void 0||r===void 0)continue;const a={value:s};if(Oe(this,Ji)&&Oe(this,Fc)){a.ttl=Oe(this,Ji)[n];const i=z1.now()-Oe(this,Fc)[n];a.start=Math.floor(Date.now()-i)}Oe(this,zc)&&(a.size=Oe(this,zc)[n]),e.unshift([r,a])}return e}load(e){this.clear();for(const[n,r]of e){if(r.start){const o=Date.now()-r.start;r.start=z1.now()-o}this.set(n,r.value,r)}}set(e,n,r={}){var m,g,w,b,j;if(n===void 0)return this.delete(e),this;const{ttl:o=this.ttl,start:s,noDisposeOnSet:a=this.noDisposeOnSet,sizeCalculation:i=this.sizeCalculation,status:l}=r;let{noUpdateTTL:u=this.noUpdateTTL}=r;const d=Oe(this,L2).call(this,e,n,r.size||0,i);if(this.maxEntrySize&&d>this.maxEntrySize)return l&&(l.set="miss",l.maxEntrySizeExceeded=!0),an(this,Kt,yp).call(this,e,"set"),this;let f=Oe(this,fs)===0?void 0:Oe(this,Ho).get(e);if(f===void 0)f=Oe(this,fs)===0?Oe(this,Es):Oe(this,Oc).length!==0?Oe(this,Oc).pop():Oe(this,fs)===Oe(this,Tc)?an(this,Kt,j3).call(this,!1):Oe(this,fs),Oe(this,no)[f]=e,Oe(this,Pn)[f]=n,Oe(this,Ho).set(e,f),Oe(this,Wa)[Oe(this,Es)]=f,Oe(this,Qi)[f]=Oe(this,Es),Cn(this,Es,f),X4(this,fs)._++,Oe(this,ty).call(this,f,d,l),l&&(l.set="add"),u=!1;else{an(this,Kt,Mw).call(this,f);const S=Oe(this,Pn)[f];if(n!==S){if(Oe(this,Mp)&&an(this,Kt,eo).call(this,S)){S.__abortController.abort(new Error("replaced"));const{__staleWhileFetching:I}=S;I!==void 0&&!a&&(Oe(this,Bc)&&((m=Oe(this,Dc))==null||m.call(this,I,e,"set")),Oe(this,Ya)&&((g=Oe(this,Ns))==null||g.push([I,e,"set"])))}else a||(Oe(this,Bc)&&((w=Oe(this,Dc))==null||w.call(this,S,e,"set")),Oe(this,Ya)&&((b=Oe(this,Ns))==null||b.push([S,e,"set"])));if(Oe(this,Vm).call(this,f),Oe(this,ty).call(this,f,d,l),Oe(this,Pn)[f]=n,l){l.set="replace";const I=S&&an(this,Kt,eo).call(this,S)?S.__staleWhileFetching:S;I!==void 0&&(l.oldValue=I)}}else l&&(l.set="update")}if(o!==0&&!Oe(this,Ji)&&an(this,Kt,C_).call(this),Oe(this,Ji)&&(u||Oe(this,D2).call(this,f,o,s),l&&Oe(this,qf).call(this,l,f)),!a&&Oe(this,Ya)&&Oe(this,Ns)){const S=Oe(this,Ns);let I;for(;I=S==null?void 0:S.shift();)(j=Oe(this,Lc))==null||j.call(this,...I)}return this}pop(){var e;try{for(;Oe(this,fs);){const n=Oe(this,Pn)[Oe(this,xa)];if(an(this,Kt,j3).call(this,!0),an(this,Kt,eo).call(this,n)){if(n.__staleWhileFetching)return n.__staleWhileFetching}else if(n!==void 0)return n}}finally{if(Oe(this,Ya)&&Oe(this,Ns)){const n=Oe(this,Ns);let r;for(;r=n==null?void 0:n.shift();)(e=Oe(this,Lc))==null||e.call(this,...r)}}}has(e,n={}){const{updateAgeOnHas:r=this.updateAgeOnHas,status:o}=n,s=Oe(this,Ho).get(e);if(s!==void 0){const a=Oe(this,Pn)[s];if(an(this,Kt,eo).call(this,a)&&a.__staleWhileFetching===void 0)return!1;if(Oe(this,Xi).call(this,s))o&&(o.has="stale",Oe(this,qf).call(this,o,s));else return r&&Oe(this,$m).call(this,s),o&&(o.has="hit",Oe(this,qf).call(this,o,s)),!0}else o&&(o.has="miss");return!1}peek(e,n={}){const{allowStale:r=this.allowStale}=n,o=Oe(this,Ho).get(e);if(o===void 0||!r&&Oe(this,Xi).call(this,o))return;const s=Oe(this,Pn)[o];return an(this,Kt,eo).call(this,s)?s.__staleWhileFetching:s}async fetch(e,n={}){const{allowStale:r=this.allowStale,updateAgeOnGet:o=this.updateAgeOnGet,noDeleteOnStaleGet:s=this.noDeleteOnStaleGet,ttl:a=this.ttl,noDisposeOnSet:i=this.noDisposeOnSet,size:l=0,sizeCalculation:u=this.sizeCalculation,noUpdateTTL:d=this.noUpdateTTL,noDeleteOnFetchRejection:f=this.noDeleteOnFetchRejection,allowStaleOnFetchRejection:m=this.allowStaleOnFetchRejection,ignoreFetchAbort:g=this.ignoreFetchAbort,allowStaleOnFetchAbort:w=this.allowStaleOnFetchAbort,context:b,forceRefresh:j=!1,status:S,signal:I}=n;if(!Oe(this,Mp))return S&&(S.fetch="get"),this.get(e,{allowStale:r,updateAgeOnGet:o,noDeleteOnStaleGet:s,status:S});const N={allowStale:r,updateAgeOnGet:o,noDeleteOnStaleGet:s,ttl:a,noDisposeOnSet:i,size:l,sizeCalculation:u,noUpdateTTL:d,noDeleteOnFetchRejection:f,allowStaleOnFetchRejection:m,allowStaleOnFetchAbort:w,ignoreFetchAbort:g,status:S,signal:I};let M=Oe(this,Ho).get(e);if(M===void 0){S&&(S.fetch="miss");const D=an(this,Kt,C3).call(this,e,M,N,b);return D.__returned=D}else{const D=Oe(this,Pn)[M];if(an(this,Kt,eo).call(this,D)){const R=r&&D.__staleWhileFetching!==void 0;return S&&(S.fetch="inflight",R&&(S.returnedStale=!0)),R?D.__staleWhileFetching:D.__returned=D}const O=Oe(this,Xi).call(this,M);if(!j&&!O)return S&&(S.fetch="hit"),an(this,Kt,Mw).call(this,M),o&&Oe(this,$m).call(this,M),S&&Oe(this,qf).call(this,S,M),D;const L=an(this,Kt,C3).call(this,e,M,N,b),T=L.__staleWhileFetching!==void 0&&r;return S&&(S.fetch=O?"stale":"refresh",T&&O&&(S.returnedStale=!0)),T?L.__staleWhileFetching:L.__returned=L}}async forceFetch(e,n={}){const r=await this.fetch(e,n);if(r===void 0)throw new Error("fetch() returned undefined");return r}memo(e,n={}){const r=Oe(this,ey);if(!r)throw new Error("no memoMethod provided to constructor");const{context:o,forceRefresh:s,...a}=n,i=this.get(e,a);if(!s&&i!==void 0)return i;const l=r(e,i,{options:a,context:o});return this.set(e,l,a),l}get(e,n={}){const{allowStale:r=this.allowStale,updateAgeOnGet:o=this.updateAgeOnGet,noDeleteOnStaleGet:s=this.noDeleteOnStaleGet,status:a}=n,i=Oe(this,Ho).get(e);if(i!==void 0){const l=Oe(this,Pn)[i],u=an(this,Kt,eo).call(this,l);return a&&Oe(this,qf).call(this,a,i),Oe(this,Xi).call(this,i)?(a&&(a.get="stale"),u?(a&&r&&l.__staleWhileFetching!==void 0&&(a.returnedStale=!0),r?l.__staleWhileFetching:void 0):(s||an(this,Kt,yp).call(this,e,"expire"),a&&r&&(a.returnedStale=!0),r?l:void 0)):(a&&(a.get="hit"),u?l.__staleWhileFetching:(an(this,Kt,Mw).call(this,i),o&&Oe(this,$m).call(this,i),l))}else a&&(a.get="miss")}delete(e){return an(this,Kt,yp).call(this,e,"delete")}clear(){return an(this,Kt,N_).call(this,"delete")}},Tc=new WeakMap,Zi=new WeakMap,Dc=new WeakMap,Lc=new WeakMap,X0=new WeakMap,ey=new WeakMap,fs=new WeakMap,Pc=new WeakMap,Ho=new WeakMap,no=new WeakMap,Pn=new WeakMap,Wa=new WeakMap,Qi=new WeakMap,xa=new WeakMap,Es=new WeakMap,Oc=new WeakMap,Ns=new WeakMap,zc=new WeakMap,Fc=new WeakMap,Ji=new WeakMap,Bc=new WeakMap,Mp=new WeakMap,Ya=new WeakMap,Kt=new WeakSet,C_=function(){const e=new k3(Oe(this,Tc)),n=new k3(Oe(this,Tc));Cn(this,Ji,e),Cn(this,Fc,n),Cn(this,D2,(s,a,i=z1.now())=>{if(n[s]=a!==0?i:0,e[s]=a,a!==0&&this.ttlAutopurge){const l=setTimeout(()=>{Oe(this,Xi).call(this,s)&&an(this,Kt,yp).call(this,Oe(this,no)[s],"expire")},a+1);l.unref&&l.unref()}}),Cn(this,$m,s=>{n[s]=e[s]!==0?z1.now():0}),Cn(this,qf,(s,a)=>{if(e[a]){const i=e[a],l=n[a];if(!i||!l)return;s.ttl=i,s.start=l,s.now=r||o();const u=s.now-l;s.remainingTTL=i-u}});let r=0;const o=()=>{const s=z1.now();if(this.ttlResolution>0){r=s;const a=setTimeout(()=>r=0,this.ttlResolution);a.unref&&a.unref()}return s};this.getRemainingTTL=s=>{const a=Oe(this,Ho).get(s);if(a===void 0)return 0;const i=e[a],l=n[a];if(!i||!l)return 1/0;const u=(r||o())-l;return i-u},Cn(this,Xi,s=>{const a=n[s],i=e[s];return!!i&&!!a&&(r||o())-a>i})},$m=new WeakMap,qf=new WeakMap,D2=new WeakMap,Xi=new WeakMap,Cee=function(){const e=new k3(Oe(this,Tc));Cn(this,Pc,0),Cn(this,zc,e),Cn(this,Vm,n=>{Cn(this,Pc,Oe(this,Pc)-e[n]),e[n]=0}),Cn(this,L2,(n,r,o,s)=>{if(an(this,Kt,eo).call(this,r))return 0;if(!hp(o))if(s){if(typeof s!="function")throw new TypeError("sizeCalculation must be a function");if(o=s(r,n),!hp(o))throw new TypeError("sizeCalculation return invalid (expect positive integer)")}else throw new TypeError("invalid size value (must be positive integer). When maxSize or maxEntrySize is used, sizeCalculation or size must be set.");return o}),Cn(this,ty,(n,r,o)=>{if(e[n]=r,Oe(this,Zi)){const s=Oe(this,Zi)-e[n];for(;Oe(this,Pc)>s;)an(this,Kt,j3).call(this,!0)}Cn(this,Pc,Oe(this,Pc)+e[n]),o&&(o.entrySize=r,o.totalCalculatedSize=Oe(this,Pc))})},Vm=new WeakMap,ty=new WeakMap,L2=new WeakMap,mp=function*({allowStale:e=this.allowStale}={}){if(Oe(this,fs))for(let n=Oe(this,Es);!(!an(this,Kt,S_).call(this,n)||((e||!Oe(this,Xi).call(this,n))&&(yield n),n===Oe(this,xa)));)n=Oe(this,Qi)[n]},gp=function*({allowStale:e=this.allowStale}={}){if(Oe(this,fs))for(let n=Oe(this,xa);!(!an(this,Kt,S_).call(this,n)||((e||!Oe(this,Xi).call(this,n))&&(yield n),n===Oe(this,Es)));)n=Oe(this,Wa)[n]},S_=function(e){return e!==void 0&&Oe(this,Ho).get(Oe(this,no)[e])===e},j3=function(e){var s,a;const n=Oe(this,xa),r=Oe(this,no)[n],o=Oe(this,Pn)[n];return Oe(this,Mp)&&an(this,Kt,eo).call(this,o)?o.__abortController.abort(new Error("evicted")):(Oe(this,Bc)||Oe(this,Ya))&&(Oe(this,Bc)&&((s=Oe(this,Dc))==null||s.call(this,o,r,"evict")),Oe(this,Ya)&&((a=Oe(this,Ns))==null||a.push([o,r,"evict"]))),Oe(this,Vm).call(this,n),e&&(Oe(this,no)[n]=void 0,Oe(this,Pn)[n]=void 0,Oe(this,Oc).push(n)),Oe(this,fs)===1?(Cn(this,xa,Cn(this,Es,0)),Oe(this,Oc).length=0):Cn(this,xa,Oe(this,Wa)[n]),Oe(this,Ho).delete(r),X4(this,fs)._--,n},C3=function(e,n,r,o){const s=n===void 0?void 0:Oe(this,Pn)[n];if(an(this,Kt,eo).call(this,s))return s;const a=new bk,{signal:i}=r;i==null||i.addEventListener("abort",()=>a.abort(i.reason),{signal:a.signal});const l={signal:a.signal,options:r,context:o},u=(b,j=!1)=>{const{aborted:S}=a.signal,I=r.ignoreFetchAbort&&b!==void 0;if(r.status&&(S&&!j?(r.status.fetchAborted=!0,r.status.fetchError=a.signal.reason,I&&(r.status.fetchAbortIgnored=!0)):r.status.fetchResolved=!0),S&&!I&&!j)return f(a.signal.reason);const N=g;return Oe(this,Pn)[n]===g&&(b===void 0?N.__staleWhileFetching?Oe(this,Pn)[n]=N.__staleWhileFetching:an(this,Kt,yp).call(this,e,"fetch"):(r.status&&(r.status.fetchUpdated=!0),this.set(e,b,l.options))),b},d=b=>(r.status&&(r.status.fetchRejected=!0,r.status.fetchError=b),f(b)),f=b=>{const{aborted:j}=a.signal,S=j&&r.allowStaleOnFetchAbort,I=S||r.allowStaleOnFetchRejection,N=I||r.noDeleteOnFetchRejection,M=g;if(Oe(this,Pn)[n]===g&&(!N||M.__staleWhileFetching===void 0?an(this,Kt,yp).call(this,e,"fetch"):S||(Oe(this,Pn)[n]=M.__staleWhileFetching)),I)return r.status&&M.__staleWhileFetching!==void 0&&(r.status.returnedStale=!0),M.__staleWhileFetching;if(M.__returned===M)throw b},m=(b,j)=>{var I;const S=(I=Oe(this,X0))==null?void 0:I.call(this,e,s,l);S&&S instanceof Promise&&S.then(N=>b(N===void 0?void 0:N),j),a.signal.addEventListener("abort",()=>{(!r.ignoreFetchAbort||r.allowStaleOnFetchAbort)&&(b(void 0),r.allowStaleOnFetchAbort&&(b=N=>u(N,!0)))})};r.status&&(r.status.fetchDispatched=!0);const g=new Promise(m).then(u,d),w=Object.assign(g,{__abortController:a,__staleWhileFetching:s,__returned:void 0});return n===void 0?(this.set(e,w,{...l.options,status:void 0}),n=Oe(this,Ho).get(e)):Oe(this,Pn)[n]=w,w},eo=function(e){if(!Oe(this,Mp))return!1;const n=e;return!!n&&n instanceof Promise&&n.hasOwnProperty("__staleWhileFetching")&&n.__abortController instanceof bk},E_=function(e,n){Oe(this,Qi)[n]=e,Oe(this,Wa)[e]=n},Mw=function(e){e!==Oe(this,Es)&&(e===Oe(this,xa)?Cn(this,xa,Oe(this,Wa)[e]):an(this,Kt,E_).call(this,Oe(this,Qi)[e],Oe(this,Wa)[e]),an(this,Kt,E_).call(this,Oe(this,Es),e),Cn(this,Es,e))},yp=function(e,n){var o,s,a,i;let r=!1;if(Oe(this,fs)!==0){const l=Oe(this,Ho).get(e);if(l!==void 0)if(r=!0,Oe(this,fs)===1)an(this,Kt,N_).call(this,n);else{Oe(this,Vm).call(this,l);const u=Oe(this,Pn)[l];if(an(this,Kt,eo).call(this,u)?u.__abortController.abort(new Error("deleted")):(Oe(this,Bc)||Oe(this,Ya))&&(Oe(this,Bc)&&((o=Oe(this,Dc))==null||o.call(this,u,e,n)),Oe(this,Ya)&&((s=Oe(this,Ns))==null||s.push([u,e,n]))),Oe(this,Ho).delete(e),Oe(this,no)[l]=void 0,Oe(this,Pn)[l]=void 0,l===Oe(this,Es))Cn(this,Es,Oe(this,Qi)[l]);else if(l===Oe(this,xa))Cn(this,xa,Oe(this,Wa)[l]);else{const d=Oe(this,Qi)[l];Oe(this,Wa)[d]=Oe(this,Wa)[l];const f=Oe(this,Wa)[l];Oe(this,Qi)[f]=Oe(this,Qi)[l]}X4(this,fs)._--,Oe(this,Oc).push(l)}}if(Oe(this,Ya)&&((a=Oe(this,Ns))!=null&&a.length)){const l=Oe(this,Ns);let u;for(;u=l==null?void 0:l.shift();)(i=Oe(this,Lc))==null||i.call(this,...u)}return r},N_=function(e){var n,r,o;for(const s of an(this,Kt,gp).call(this,{allowStale:!0})){const a=Oe(this,Pn)[s];if(an(this,Kt,eo).call(this,a))a.__abortController.abort(new Error("deleted"));else{const i=Oe(this,no)[s];Oe(this,Bc)&&((n=Oe(this,Dc))==null||n.call(this,a,i,e)),Oe(this,Ya)&&((r=Oe(this,Ns))==null||r.push([a,i,e]))}}if(Oe(this,Ho).clear(),Oe(this,Pn).fill(void 0),Oe(this,no).fill(void 0),Oe(this,Ji)&&Oe(this,Fc)&&(Oe(this,Ji).fill(0),Oe(this,Fc).fill(0)),Oe(this,zc)&&Oe(this,zc).fill(0),Cn(this,xa,0),Cn(this,Es,0),Oe(this,Oc).length=0,Cn(this,Pc,0),Cn(this,fs,0),Oe(this,Ya)&&Oe(this,Ns)){const s=Oe(this,Ns);let a;for(;a=s==null?void 0:s.shift();)(o=Oe(this,Lc))==null||o.call(this,...a)}},ny);new TextDecoder("utf-8");var mke=new TextEncoder;function gke(t){let e=0;for(let n=0;n<64;n+=8){const r=parseInt(t.substring(n,n+8),16);if(r===0)e+=32;else{e+=Math.clz32(r);break}}return e}function yke(t){return Lr(ml(mke.encode(JSON.stringify([0,t.pubkey,t.created_at,t.kind,t.tags,t.content]))))}var vke=["0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","#","$","%","*","+",",","-",".",":",";","=","?","@","[","]","^","_","{","|","}","~"],Rw=t=>{let e=0;for(let n=0;n<t.length;n++){let r=t[n],o=vke.indexOf(r);e=e*83+o}return e},DI=t=>{let e=t/255;return e<=.04045?e/12.92:Math.pow((e+.055)/1.055,2.4)},LI=t=>{let e=Math.max(0,Math.min(1,t));return e<=.0031308?Math.trunc(e*12.92*255+.5):Math.trunc((1.055*Math.pow(e,.4166666666666667)-.055)*255+.5)},wke=t=>t<0?-1:1,PI=(t,e)=>wke(t)*Math.pow(Math.abs(t),e),AB=class extends Error{constructor(e){super(e),this.name="ValidationError",this.message=e}},See=t=>{if(!t||t.length<6)throw new AB("The blurhash string must be at least 6 characters");let e=Rw(t[0]),n=Math.floor(e/9)+1,r=e%9+1;if(t.length!==4+2*r*n)throw new AB(`blurhash length mismatch: length is ${t.length} but it should be ${4+2*r*n}`)},bke=t=>{try{See(t)}catch(e){return{result:!1,errorReason:e.message}}return{result:!0}},xke=t=>{let e=t>>16,n=t>>8&255,r=t&255;return[DI(e),DI(n),DI(r)]},kke=(t,e)=>{let n=Math.floor(t/361),r=Math.floor(t/19)%19,o=t%19;return[PI((n-9)/9,2)*e,PI((r-9)/9,2)*e,PI((o-9)/9,2)*e]},jke=(t,e,n,r)=>{See(t),r=r|1;let o=Rw(t[0]),s=Math.floor(o/9)+1,a=o%9+1,i=(Rw(t[1])+1)/166,l=new Array(a*s);for(let f=0;f<l.length;f++)if(f===0){let m=Rw(t.substring(2,6));l[f]=xke(m)}else{let m=Rw(t.substring(4+f*2,6+f*2));l[f]=kke(m,i*r)}let u=e*4,d=new Uint8ClampedArray(u*n);for(let f=0;f<n;f++)for(let m=0;m<e;m++){let g=0,w=0,b=0;for(let N=0;N<s;N++)for(let M=0;M<a;M++){let D=Math.cos(Math.PI*m*M/e)*Math.cos(Math.PI*f*N/n),O=l[M+N*a];g+=O[0]*D,w+=O[1]*D,b+=O[2]*D}let j=LI(g),S=LI(w),I=LI(b);d[4*m+0+f*u]=j,d[4*m+1+f*u]=S,d[4*m+2+f*u]=I,d[4*m+3+f*u]=255}return d},Cke=jke;function By(t){try{const e=new URL(t).protocol;return e==="ws:"||e==="wss:"}catch{return!1}}function Ske(t){try{return new URL(t).hostname.endsWith(".onion")}catch{return!1}}function oo(t){try{t.indexOf("://")===-1&&(t.startsWith("localhost:")||t.startsWith("localhost/")||t.startsWith("127.")||t.startsWith("192.168.")?t="ws://"+t:t="wss://"+t);const e=new URL(t);return e.pathname=e.pathname.replace(/\/+/g,"/"),e.pathname.endsWith("/")&&(e.pathname=e.pathname.slice(0,-1)),e.protocol==="https:"?e.protocol="wss:":e.protocol==="http:"&&(e.protocol="ws:"),(e.port==="80"&&e.protocol==="ws:"||e.port==="443"&&e.protocol==="wss:")&&(e.port=""),e.searchParams.sort(),e.hash="",e.toString()}catch{return console.error("Invalid URL:",t),""}}function oy(t){try{t.indexOf("://")===-1&&(t="https://"+t);const e=new URL(t);return e.pathname=e.pathname.replace(/\/+/g,"/"),e.pathname.endsWith("/")&&(e.pathname=e.pathname.slice(0,-1)),e.protocol==="wss:"?e.protocol="https:":e.protocol==="ws:"&&(e.protocol="http:"),(e.port==="80"&&e.protocol==="http:"||e.port==="443"&&e.protocol==="https:")&&(e.port=""),e.searchParams.sort(),e.hash="",e.toString()}catch{return console.error("Invalid URL:",t),""}}function la(t){return t.replace("wss://","").replace("ws://","").replace("https://","").replace("http://","").replace(/\/$/,"")}function _B(t){try{const n=new URL(t).hostname;if(n==="localhost"||n==="::1")return!0;const r=n.match(/^(\d+)\.(\d+)\.(\d+)\.(\d+)$/);if(r){const[,o,s,a,i]=r.map(Number);return o===10||o===172&&s>=16&&s<=31||o===192&&s===168||o===127&&s===0&&a===0&&i===1}return!!(n.includes(":")&&(n==="::1"||n.startsWith("fe80:")||n.startsWith("fc")||n.startsWith("fd")))}catch{return!1}}function Eke(t){try{return[".jpg",".jpeg",".png",".gif",".webp",".heic",".svg"].some(n=>new URL(t).pathname.toLowerCase().endsWith(n))}catch{return!1}}function Nke(t){try{return[".mp4",".webm",".ogg",".mov",".mp3",".wav",".flac",".aac",".m4a",".opus",".wma",".3gp"].some(n=>new URL(t).pathname.toLowerCase().endsWith(n))}catch{return!1}}const jb=(t,e=40)=>{try{const n=new URL(t);let r=n.hostname,o=n.pathname;if(r.startsWith("www.")&&(r=r.slice(4)),!o||o==="/")return r;o.endsWith("/")&&(o=o.slice(0,-1));const s=r+o;return s.length>e?r+o.slice(0,e-r.length-3)+"...":s}catch{let n=t;return n.startsWith("https://")?n=n.slice(8):n.startsWith("http://")&&(n=n.slice(7)),n.startsWith("www.")&&(n=n.slice(4)),n.length>e?n.slice(0,e-3)+"...":n}};function An(t){return e=>e[0]===t}function oc(t){try{const[,e,n,r,o]=t;let s;return r&&Ut.isValidHex(r)?s=r:o&&Ut.isValidHex(o)&&(s=o),yr.neventEncode({id:e,relays:n?[n]:void 0,author:s})}catch{return}}function eh(t){try{const[,e,n]=t,[r,o,...s]=e.split(":"),a=s.join(":");return yr.naddrEncode({kind:Number(r),pubkey:o,identifier:a,relays:n?[n]:void 0})}catch{return}}function Eee(t,e){if(t[0]!=="imeta")return null;const n={pubkey:e};for(let r=1;r<t.length;r++){const o=t[r],s=o.indexOf(" ");if(s<0)continue;const a=o.substring(0,s),i=o.substring(s+1);switch(a){case"url":n.url=i;break;case"x":n.sha256=i;break;case"variant":n.variant=i;break;case"thumbhash":try{n.thumbHash=es.decode(i)}catch{}break;case"blurhash":{bke(i).result&&(n.blurHash=i);break}case"dim":{const[l,u]=i.split("x").map(Number);l&&u&&(n.dim={width:l,height:u});break}}}return n.url?n:null}function Nee(t){return Array.from(new Set(t.filter(An("p")).map(([,e])=>e).filter(e=>!!e&&Ut.isValidHex(e)).reverse()))}function th(t=[]){return t.map(e=>e.length<3||e[0]!=="emoji"?null:{shortcode:e[1],url:e[2]}).filter(Boolean)}function Iee(t=[]){return t.filter(An("server")).map(([,e])=>e?oy(e):"").filter(Boolean)}const MB=new Fy({max:1e4}),RB=new Fy({max:1e4}),TB=new Fy({max:1e4});function Aee(t){return t.tags.some(([e,n])=>e==="content-warning"||e==="t"&&n.toLowerCase()==="nsfw")}function I_(t){if([gt.COMMENT,gt.VOICE_COMMENT].includes(t.kind))return!0;if(t.kind!==Ue.ShortTextNote)return!1;const e=TB.get(t.id);if(e!==void 0)return e;const n=!!O2(t);return TB.set(t.id,n),n}function Fs(t){return isNaN(t)?!1:Ue.isReplaceableKind(t)||Ue.isAddressableKind(t)}function vT(t){return t.tags.some(([e])=>e==="-")}function Qu(t,e){for(const[n,r]of t.tags)if(n==="p"&&e.has(r))return!0;return!1}function DB(t){if(!t)return;if(t.kind===gt.COMMENT||t.kind===gt.VOICE_COMMENT)return t.tags.find(An("e"))??t.tags.find(An("E"));if(t.kind!==Ue.ShortTextNote)return;let e=t.tags.find(([n,,,r])=>n==="e"&&r==="reply");if(!e){const n=Dee(t);e=t.tags.findLast(([r,o,,s])=>r==="e"&&!!o&&s!=="mention"&&!n.includes(o))}return e}function Ike(t){if(!(!t||t.kind!==Ue.ShortTextNote))return t.tags.find(([e,,,n])=>e==="a"&&n==="reply")}function Ake(t){if(!(!t||![Ue.ShortTextNote,gt.COMMENT,gt.VOICE_COMMENT].includes(t.kind)))return t.tags.find(An("a"))??t.tags.find(An("A"))}function _ee(t){if(!(!t||![Ue.ShortTextNote,gt.COMMENT,gt.VOICE_COMMENT].includes(t.kind)))return t.tags.find(An("i"))??t.tags.find(An("I"))}function O2(t){var o;if(!t)return;if(t.kind===Ue.ShortTextNote){const s=Ike(t)??DB(t)??Ree(t);return s?{type:s[0]==="e"?"e":"a",tag:s}:void 0}const e=(o=t.tags.find(An("k")))==null?void 0:o[1];if(e&&Fs(parseInt(e))){const s=Ake(t);return s?{type:"a",tag:s}:void 0}const n=DB(t);if(n)return{type:"e",tag:n};const r=_ee(t);return r?{type:"i",tag:r}:void 0}function Mee(t){const e=O2(t);if(e)return e.type==="e"?oc(e.tag):eh(e.tag)}function LB(t){if(!t)return;if(t.kind===gt.COMMENT||t.kind===gt.VOICE_COMMENT)return t.tags.find(An("E"));if(t.kind!==Ue.ShortTextNote)return;let e=t.tags.find(([n,,,r])=>n==="e"&&r==="root");if(!e){const n=Dee(t);e=t.tags.find(([r,o])=>r==="e"&&!!o&&!n.includes(o))}return e}function Ree(t){if(!(!t||t.kind!==Ue.ShortTextNote))return t.tags.find(([e,,,n])=>e==="a"&&n==="root")}function _ke(t){if(!(!t||![Ue.ShortTextNote,gt.COMMENT,gt.VOICE_COMMENT].includes(t.kind)))return t.tags.find(An("A"))}function Mke(t){if(!(!t||![Ue.ShortTextNote,gt.COMMENT,gt.VOICE_COMMENT].includes(t.kind)))return t.tags.find(An("I"))}function wT(t){var o;if(!t)return;if(t.kind===Ue.ShortTextNote){const s=Ree(t)??LB(t);return s?{type:s[0]==="e"?"e":"a",tag:s}:void 0}const e=(o=t.tags.find(An("K")))==null?void 0:o[1];if(e&&Fs(parseInt(e))){const s=_ke(t);return s?{type:"a",tag:s}:void 0}const n=LB(t);if(n)return{type:"e",tag:n};const r=Mke(t);return r?{type:"i",tag:r}:void 0}function Rke(t){const e=wT(t);if(e)return e.type==="e"?oc(e.tag):eh(e.tag)}function Tee(t){const e=Mee(t);if(e)return{parentEventId:e};const n=_ee(t);return{parentExternalContent:n==null?void 0:n[1]}}function Qo(t){return Fs(t.kind)?ti(t):t.id}function jC([,t]){return t}function bT(t,e,n=""){return`${t}:${e}:${n}`}function ti(t){var n;const e=(n=t.tags.find(An("d")))==null?void 0:n[1];return bT(t.kind,t.pubkey,e)}function fg(t){var n;const e=ze.getEventHints(t.id).slice(0,2);if(Fs(t.kind)){const r=((n=t.tags.find(An("d")))==null?void 0:n[1])??"";return yr.naddrEncode({pubkey:t.pubkey,kind:t.kind,identifier:r,relays:e})}return yr.neventEncode({id:t.id,author:t.pubkey,kind:t.kind,relays:e})}function Tke(t){var e;return(e=t.tags.find(An("client")))==null?void 0:e[1]}function xT(t){const e=[];return t.tags.forEach(n=>{const r=Eee(n,t.pubkey);r&&e.push(r)}),e}function Dee(t){const e=MB.get(t.id);if(e)return e;const n=[],r=/nostr:(note1[a-z0-9]{58}|nevent1[a-z0-9]+)/g;return(t.content.match(r)||[]).forEach(o=>{try{const{type:s,data:a}=yr.decode(o.split(":")[1]);s==="nevent"?n.push(a.id):s==="note"&&n.push(a)}catch{}}),MB.set(t.id,n),n}function Dke(t){const e=RB.get(t.id);if(e)return e;const n=new Set;(t.content.match(hee)||[]).forEach(o=>{try{const{type:s,data:a}=yr.decode(o.split(":")[1]);s==="npub"?n.add(a):s==="nprofile"&&n.add(a.pubkey)}catch{}});const r=Array.from(n);return RB.set(t.id,r),r}function Lke(t){return t.sort((e,n)=>n.created_at-e.created_at)[0]}function Uy(t){var e;return((e=t.tags.find(An("d")))==null?void 0:e[1])??""}function Lee(t){return{id:"",kind:1,pubkey:"",content:"",created_at:0,tags:[],sig:"",...t}}async function Pke(t,e){let n=0;const r=t,o=["nonce",n.toString(),e.toString()];return r.tags.push(o),new Promise(s=>{const a=()=>{let i=0;for(;i<1e3;){const l=Math.floor(new Date().getTime()/1e3);if(l!==r.created_at&&(n=0,r.created_at=l),o[1]=(++n).toString(),r.id=yke(r),gke(r.id)>=e){s(r);return}i++}setTimeout(a,0)};a()})}function dg(t,e){return t.created_at!==e.created_at?t.created_at-e.created_at:t.id!==e.id?t.id<e.id?1:-1:0}function Oke(t){return t.sort((e,n)=>dg(n,e))}function Pee(t){var e,n,r="";if(typeof t=="string"||typeof t=="number")r+=t;else if(typeof t=="object")if(Array.isArray(t)){var o=t.length;for(e=0;e<o;e++)t[e]&&(n=Pee(t[e]))&&(r&&(r+=" "),r+=n)}else for(n in t)t[n]&&(r&&(r+=" "),r+=n);return r}function Oee(){for(var t,e,n=0,r="",o=arguments.length;n<o;n++)(t=arguments[n])&&(e=Pee(t))&&(r&&(r+=" "),r+=e);return r}function zke(t){return t.split("-").map(e=>String.fromCodePoint(parseInt(e,16))).join("")}const kT="-",Fke=t=>{const e=Uke(t),{conflictingClassGroups:n,conflictingClassGroupModifiers:r}=t;return{getClassGroupId:a=>{const i=a.split(kT);return i[0]===""&&i.length!==1&&i.shift(),zee(i,e)||Bke(a)},getConflictingClassGroupIds:(a,i)=>{const l=n[a]||[];return i&&r[a]?[...l,...r[a]]:l}}},zee=(t,e)=>{var a;if(t.length===0)return e.classGroupId;const n=t[0],r=e.nextPart.get(n),o=r?zee(t.slice(1),r):void 0;if(o)return o;if(e.validators.length===0)return;const s=t.join(kT);return(a=e.validators.find(({validator:i})=>i(s)))==null?void 0:a.classGroupId},PB=/^\[(.+)\]$/,Bke=t=>{if(PB.test(t)){const e=PB.exec(t)[1],n=e==null?void 0:e.substring(0,e.indexOf(":"));if(n)return"arbitrary.."+n}},Uke=t=>{const{theme:e,prefix:n}=t,r={nextPart:new Map,validators:[]};return Vke(Object.entries(t.classGroups),n).forEach(([s,a])=>{A_(a,r,s,e)}),r},A_=(t,e,n,r)=>{t.forEach(o=>{if(typeof o=="string"){const s=o===""?e:OB(e,o);s.classGroupId=n;return}if(typeof o=="function"){if($ke(o)){A_(o(r),e,n,r);return}e.validators.push({validator:o,classGroupId:n});return}Object.entries(o).forEach(([s,a])=>{A_(a,OB(e,s),n,r)})})},OB=(t,e)=>{let n=t;return e.split(kT).forEach(r=>{n.nextPart.has(r)||n.nextPart.set(r,{nextPart:new Map,validators:[]}),n=n.nextPart.get(r)}),n},$ke=t=>t.isThemeGetter,Vke=(t,e)=>e?t.map(([n,r])=>{const o=r.map(s=>typeof s=="string"?e+s:typeof s=="object"?Object.fromEntries(Object.entries(s).map(([a,i])=>[e+a,i])):s);return[n,o]}):t,Hke=t=>{if(t<1)return{get:()=>{},set:()=>{}};let e=0,n=new Map,r=new Map;const o=(s,a)=>{n.set(s,a),e++,e>t&&(e=0,r=n,n=new Map)};return{get(s){let a=n.get(s);if(a!==void 0)return a;if((a=r.get(s))!==void 0)return o(s,a),a},set(s,a){n.has(s)?n.set(s,a):o(s,a)}}},Fee="!",Wke=t=>{const{separator:e,experimentalParseClassName:n}=t,r=e.length===1,o=e[0],s=e.length,a=i=>{const l=[];let u=0,d=0,f;for(let j=0;j<i.length;j++){let S=i[j];if(u===0){if(S===o&&(r||i.slice(j,j+s)===e)){l.push(i.slice(d,j)),d=j+s;continue}if(S==="/"){f=j;continue}}S==="["?u++:S==="]"&&u--}const m=l.length===0?i:i.substring(d),g=m.startsWith(Fee),w=g?m.substring(1):m,b=f&&f>d?f-d:void 0;return{modifiers:l,hasImportantModifier:g,baseClassName:w,maybePostfixModifierPosition:b}};return n?i=>n({className:i,parseClassName:a}):a},Yke=t=>{if(t.length<=1)return t;const e=[];let n=[];return t.forEach(r=>{r[0]==="["?(e.push(...n.sort(),r),n=[]):n.push(r)}),e.push(...n.sort()),e},Gke=t=>({cache:Hke(t.cacheSize),parseClassName:Wke(t),...Fke(t)}),qke=/\s+/,Kke=(t,e)=>{const{parseClassName:n,getClassGroupId:r,getConflictingClassGroupIds:o}=e,s=[],a=t.trim().split(qke);let i="";for(let l=a.length-1;l>=0;l-=1){const u=a[l],{modifiers:d,hasImportantModifier:f,baseClassName:m,maybePostfixModifierPosition:g}=n(u);let w=!!g,b=r(w?m.substring(0,g):m);if(!b){if(!w){i=u+(i.length>0?" "+i:i);continue}if(b=r(m),!b){i=u+(i.length>0?" "+i:i);continue}w=!1}const j=Yke(d).join(":"),S=f?j+Fee:j,I=S+b;if(s.includes(I))continue;s.push(I);const N=o(b,w);for(let M=0;M<N.length;++M){const D=N[M];s.push(S+D)}i=u+(i.length>0?" "+i:i)}return i};function Zke(){let t=0,e,n,r="";for(;t<arguments.length;)(e=arguments[t++])&&(n=Bee(e))&&(r&&(r+=" "),r+=n);return r}const Bee=t=>{if(typeof t=="string")return t;let e,n="";for(let r=0;r<t.length;r++)t[r]&&(e=Bee(t[r]))&&(n&&(n+=" "),n+=e);return n};function Qke(t,...e){let n,r,o,s=a;function a(l){const u=e.reduce((d,f)=>f(d),t());return n=Gke(u),r=n.cache.get,o=n.cache.set,s=i,i(l)}function i(l){const u=r(l);if(u)return u;const d=Kke(l,n);return o(l,d),d}return function(){return s(Zke.apply(null,arguments))}}const Xr=t=>{const e=n=>n[t]||[];return e.isThemeGetter=!0,e},Uee=/^\[(?:([a-z-]+):)?(.+)\]$/i,Jke=/^\d+\/\d+$/,Xke=new Set(["px","full","screen"]),eje=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,tje=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,nje=/^(rgba?|hsla?|hwb|(ok)?(lab|lch))\(.+\)$/,rje=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,oje=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,Pf=t=>O0(t)||Xke.has(t)||Jke.test(t),tp=t=>$y(t,"length",dje),O0=t=>!!t&&!Number.isNaN(Number(t)),OI=t=>$y(t,"number",O0),rw=t=>!!t&&Number.isInteger(Number(t)),sje=t=>t.endsWith("%")&&O0(t.slice(0,-1)),Un=t=>Uee.test(t),np=t=>eje.test(t),aje=new Set(["length","size","percentage"]),ije=t=>$y(t,aje,$ee),lje=t=>$y(t,"position",$ee),cje=new Set(["image","url"]),uje=t=>$y(t,cje,hje),fje=t=>$y(t,"",pje),ow=()=>!0,$y=(t,e,n)=>{const r=Uee.exec(t);return r?r[1]?typeof e=="string"?r[1]===e:e.has(r[1]):n(r[2]):!1},dje=t=>tje.test(t)&&!nje.test(t),$ee=()=>!1,pje=t=>rje.test(t),hje=t=>oje.test(t),mje=()=>{const t=Xr("colors"),e=Xr("spacing"),n=Xr("blur"),r=Xr("brightness"),o=Xr("borderColor"),s=Xr("borderRadius"),a=Xr("borderSpacing"),i=Xr("borderWidth"),l=Xr("contrast"),u=Xr("grayscale"),d=Xr("hueRotate"),f=Xr("invert"),m=Xr("gap"),g=Xr("gradientColorStops"),w=Xr("gradientColorStopPositions"),b=Xr("inset"),j=Xr("margin"),S=Xr("opacity"),I=Xr("padding"),N=Xr("saturate"),M=Xr("scale"),D=Xr("sepia"),O=Xr("skew"),L=Xr("space"),B=Xr("translate"),T=()=>["auto","contain","none"],R=()=>["auto","hidden","clip","visible","scroll"],z=()=>["auto",Un,e],Y=()=>[Un,e],Q=()=>["",Pf,tp],W=()=>["auto",O0,Un],F=()=>["bottom","center","left","left-bottom","left-top","right","right-bottom","right-top","top"],X=()=>["solid","dashed","dotted","double","none"],$=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],V=()=>["start","end","center","between","around","evenly","stretch"],K=()=>["","0",Un],G=()=>["auto","avoid","all","avoid-page","page","left","right","column"],J=()=>[O0,Un];return{cacheSize:500,separator:":",theme:{colors:[ow],spacing:[Pf,tp],blur:["none","",np,Un],brightness:J(),borderColor:[t],borderRadius:["none","","full",np,Un],borderSpacing:Y(),borderWidth:Q(),contrast:J(),grayscale:K(),hueRotate:J(),invert:K(),gap:Y(),gradientColorStops:[t],gradientColorStopPositions:[sje,tp],inset:z(),margin:z(),opacity:J(),padding:Y(),saturate:J(),scale:J(),sepia:K(),skew:J(),space:Y(),translate:Y()},classGroups:{aspect:[{aspect:["auto","square","video",Un]}],container:["container"],columns:[{columns:[np]}],"break-after":[{"break-after":G()}],"break-before":[{"break-before":G()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:[...F(),Un]}],overflow:[{overflow:R()}],"overflow-x":[{"overflow-x":R()}],"overflow-y":[{"overflow-y":R()}],overscroll:[{overscroll:T()}],"overscroll-x":[{"overscroll-x":T()}],"overscroll-y":[{"overscroll-y":T()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:[b]}],"inset-x":[{"inset-x":[b]}],"inset-y":[{"inset-y":[b]}],start:[{start:[b]}],end:[{end:[b]}],top:[{top:[b]}],right:[{right:[b]}],bottom:[{bottom:[b]}],left:[{left:[b]}],visibility:["visible","invisible","collapse"],z:[{z:["auto",rw,Un]}],basis:[{basis:z()}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["wrap","wrap-reverse","nowrap"]}],flex:[{flex:["1","auto","initial","none",Un]}],grow:[{grow:K()}],shrink:[{shrink:K()}],order:[{order:["first","last","none",rw,Un]}],"grid-cols":[{"grid-cols":[ow]}],"col-start-end":[{col:["auto",{span:["full",rw,Un]},Un]}],"col-start":[{"col-start":W()}],"col-end":[{"col-end":W()}],"grid-rows":[{"grid-rows":[ow]}],"row-start-end":[{row:["auto",{span:[rw,Un]},Un]}],"row-start":[{"row-start":W()}],"row-end":[{"row-end":W()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":["auto","min","max","fr",Un]}],"auto-rows":[{"auto-rows":["auto","min","max","fr",Un]}],gap:[{gap:[m]}],"gap-x":[{"gap-x":[m]}],"gap-y":[{"gap-y":[m]}],"justify-content":[{justify:["normal",...V()]}],"justify-items":[{"justify-items":["start","end","center","stretch"]}],"justify-self":[{"justify-self":["auto","start","end","center","stretch"]}],"align-content":[{content:["normal",...V(),"baseline"]}],"align-items":[{items:["start","end","center","baseline","stretch"]}],"align-self":[{self:["auto","start","end","center","stretch","baseline"]}],"place-content":[{"place-content":[...V(),"baseline"]}],"place-items":[{"place-items":["start","end","center","baseline","stretch"]}],"place-self":[{"place-self":["auto","start","end","center","stretch"]}],p:[{p:[I]}],px:[{px:[I]}],py:[{py:[I]}],ps:[{ps:[I]}],pe:[{pe:[I]}],pt:[{pt:[I]}],pr:[{pr:[I]}],pb:[{pb:[I]}],pl:[{pl:[I]}],m:[{m:[j]}],mx:[{mx:[j]}],my:[{my:[j]}],ms:[{ms:[j]}],me:[{me:[j]}],mt:[{mt:[j]}],mr:[{mr:[j]}],mb:[{mb:[j]}],ml:[{ml:[j]}],"space-x":[{"space-x":[L]}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":[L]}],"space-y-reverse":["space-y-reverse"],w:[{w:["auto","min","max","fit","svw","lvw","dvw",Un,e]}],"min-w":[{"min-w":[Un,e,"min","max","fit"]}],"max-w":[{"max-w":[Un,e,"none","full","min","max","fit","prose",{screen:[np]},np]}],h:[{h:[Un,e,"auto","min","max","fit","svh","lvh","dvh"]}],"min-h":[{"min-h":[Un,e,"min","max","fit","svh","lvh","dvh"]}],"max-h":[{"max-h":[Un,e,"min","max","fit","svh","lvh","dvh"]}],size:[{size:[Un,e,"auto","min","max","fit"]}],"font-size":[{text:["base",np,tp]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:["thin","extralight","light","normal","medium","semibold","bold","extrabold","black",OI]}],"font-family":[{font:[ow]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:["tighter","tight","normal","wide","wider","widest",Un]}],"line-clamp":[{"line-clamp":["none",O0,OI]}],leading:[{leading:["none","tight","snug","normal","relaxed","loose",Pf,Un]}],"list-image":[{"list-image":["none",Un]}],"list-style-type":[{list:["none","disc","decimal",Un]}],"list-style-position":[{list:["inside","outside"]}],"placeholder-color":[{placeholder:[t]}],"placeholder-opacity":[{"placeholder-opacity":[S]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"text-color":[{text:[t]}],"text-opacity":[{"text-opacity":[S]}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...X(),"wavy"]}],"text-decoration-thickness":[{decoration:["auto","from-font",Pf,tp]}],"underline-offset":[{"underline-offset":["auto",Pf,Un]}],"text-decoration-color":[{decoration:[t]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:Y()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",Un]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",Un]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-opacity":[{"bg-opacity":[S]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:[...F(),lje]}],"bg-repeat":[{bg:["no-repeat",{repeat:["","x","y","round","space"]}]}],"bg-size":[{bg:["auto","cover","contain",ije]}],"bg-image":[{bg:["none",{"gradient-to":["t","tr","r","br","b","bl","l","tl"]},uje]}],"bg-color":[{bg:[t]}],"gradient-from-pos":[{from:[w]}],"gradient-via-pos":[{via:[w]}],"gradient-to-pos":[{to:[w]}],"gradient-from":[{from:[g]}],"gradient-via":[{via:[g]}],"gradient-to":[{to:[g]}],rounded:[{rounded:[s]}],"rounded-s":[{"rounded-s":[s]}],"rounded-e":[{"rounded-e":[s]}],"rounded-t":[{"rounded-t":[s]}],"rounded-r":[{"rounded-r":[s]}],"rounded-b":[{"rounded-b":[s]}],"rounded-l":[{"rounded-l":[s]}],"rounded-ss":[{"rounded-ss":[s]}],"rounded-se":[{"rounded-se":[s]}],"rounded-ee":[{"rounded-ee":[s]}],"rounded-es":[{"rounded-es":[s]}],"rounded-tl":[{"rounded-tl":[s]}],"rounded-tr":[{"rounded-tr":[s]}],"rounded-br":[{"rounded-br":[s]}],"rounded-bl":[{"rounded-bl":[s]}],"border-w":[{border:[i]}],"border-w-x":[{"border-x":[i]}],"border-w-y":[{"border-y":[i]}],"border-w-s":[{"border-s":[i]}],"border-w-e":[{"border-e":[i]}],"border-w-t":[{"border-t":[i]}],"border-w-r":[{"border-r":[i]}],"border-w-b":[{"border-b":[i]}],"border-w-l":[{"border-l":[i]}],"border-opacity":[{"border-opacity":[S]}],"border-style":[{border:[...X(),"hidden"]}],"divide-x":[{"divide-x":[i]}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":[i]}],"divide-y-reverse":["divide-y-reverse"],"divide-opacity":[{"divide-opacity":[S]}],"divide-style":[{divide:X()}],"border-color":[{border:[o]}],"border-color-x":[{"border-x":[o]}],"border-color-y":[{"border-y":[o]}],"border-color-s":[{"border-s":[o]}],"border-color-e":[{"border-e":[o]}],"border-color-t":[{"border-t":[o]}],"border-color-r":[{"border-r":[o]}],"border-color-b":[{"border-b":[o]}],"border-color-l":[{"border-l":[o]}],"divide-color":[{divide:[o]}],"outline-style":[{outline:["",...X()]}],"outline-offset":[{"outline-offset":[Pf,Un]}],"outline-w":[{outline:[Pf,tp]}],"outline-color":[{outline:[t]}],"ring-w":[{ring:Q()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:[t]}],"ring-opacity":[{"ring-opacity":[S]}],"ring-offset-w":[{"ring-offset":[Pf,tp]}],"ring-offset-color":[{"ring-offset":[t]}],shadow:[{shadow:["","inner","none",np,fje]}],"shadow-color":[{shadow:[ow]}],opacity:[{opacity:[S]}],"mix-blend":[{"mix-blend":[...$(),"plus-lighter","plus-darker"]}],"bg-blend":[{"bg-blend":$()}],filter:[{filter:["","none"]}],blur:[{blur:[n]}],brightness:[{brightness:[r]}],contrast:[{contrast:[l]}],"drop-shadow":[{"drop-shadow":["","none",np,Un]}],grayscale:[{grayscale:[u]}],"hue-rotate":[{"hue-rotate":[d]}],invert:[{invert:[f]}],saturate:[{saturate:[N]}],sepia:[{sepia:[D]}],"backdrop-filter":[{"backdrop-filter":["","none"]}],"backdrop-blur":[{"backdrop-blur":[n]}],"backdrop-brightness":[{"backdrop-brightness":[r]}],"backdrop-contrast":[{"backdrop-contrast":[l]}],"backdrop-grayscale":[{"backdrop-grayscale":[u]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[d]}],"backdrop-invert":[{"backdrop-invert":[f]}],"backdrop-opacity":[{"backdrop-opacity":[S]}],"backdrop-saturate":[{"backdrop-saturate":[N]}],"backdrop-sepia":[{"backdrop-sepia":[D]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":[a]}],"border-spacing-x":[{"border-spacing-x":[a]}],"border-spacing-y":[{"border-spacing-y":[a]}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["none","all","","colors","opacity","shadow","transform",Un]}],duration:[{duration:J()}],ease:[{ease:["linear","in","out","in-out",Un]}],delay:[{delay:J()}],animate:[{animate:["none","spin","ping","pulse","bounce",Un]}],transform:[{transform:["","gpu","none"]}],scale:[{scale:[M]}],"scale-x":[{"scale-x":[M]}],"scale-y":[{"scale-y":[M]}],rotate:[{rotate:[rw,Un]}],"translate-x":[{"translate-x":[B]}],"translate-y":[{"translate-y":[B]}],"skew-x":[{"skew-x":[O]}],"skew-y":[{"skew-y":[O]}],"transform-origin":[{origin:["center","top","top-right","right","bottom-right","bottom","bottom-left","left","top-left",Un]}],accent:[{accent:["auto",t]}],appearance:[{appearance:["none","auto"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",Un]}],"caret-color":[{caret:[t]}],"pointer-events":[{"pointer-events":["none","auto"]}],resize:[{resize:["none","y","x",""]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":Y()}],"scroll-mx":[{"scroll-mx":Y()}],"scroll-my":[{"scroll-my":Y()}],"scroll-ms":[{"scroll-ms":Y()}],"scroll-me":[{"scroll-me":Y()}],"scroll-mt":[{"scroll-mt":Y()}],"scroll-mr":[{"scroll-mr":Y()}],"scroll-mb":[{"scroll-mb":Y()}],"scroll-ml":[{"scroll-ml":Y()}],"scroll-p":[{"scroll-p":Y()}],"scroll-px":[{"scroll-px":Y()}],"scroll-py":[{"scroll-py":Y()}],"scroll-ps":[{"scroll-ps":Y()}],"scroll-pe":[{"scroll-pe":Y()}],"scroll-pt":[{"scroll-pt":Y()}],"scroll-pr":[{"scroll-pr":Y()}],"scroll-pb":[{"scroll-pb":Y()}],"scroll-pl":[{"scroll-pl":Y()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",Un]}],fill:[{fill:[t,"none"]}],"stroke-w":[{stroke:[Pf,tp,OI]}],stroke:[{stroke:[t,"none"]}],sr:["sr-only","not-sr-only"],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-s","border-w-e","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-s","border-color-e","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]}}},gje=Qke(mje);function Re(...t){return gje(Oee(t))}function yje(){if(typeof window>"u"||!window.navigator)return!1;const t=window.navigator.userAgent,e=window.navigator.vendor;return/Safari/.test(t)&&/Apple Computer/.test(e)&&!/Chrome/.test(t)}function vje(){if(typeof window>"u"||!window.navigator)return!1;const t=window.navigator.userAgent;return/torbrowser/i.test(t)}function cu(){return typeof window>"u"||!window.navigator?!1:"ontouchstart"in window||navigator.maxTouchPoints>0}function wje(t){const e=t.getBoundingClientRect();return e.top<(window.innerHeight||document.documentElement.clientHeight)&&e.bottom>0&&e.left<(window.innerWidth||document.documentElement.clientWidth)&&e.right>0}function Vee(){return typeof window>"u"||!navigator.connection?!1:typeof navigator.connection.type=="string"}function sy(t){return/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(t)}function bje(){return!1}function jT(t){if(t.startsWith(":")){const e=t.indexOf(":",1);if(e<0)return;const n=t.slice(1,e),r=t.slice(e+1);return{shortcode:n,url:r}}else return zke(t)}/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */function xje(t){return t instanceof Uint8Array||ArrayBuffer.isView(t)&&t.constructor.name==="Uint8Array"}function CC(t,...e){if(!xje(t))throw new Error("Uint8Array expected");if(e.length>0&&!e.includes(t.length))throw new Error("Uint8Array expected of length "+e+", got length="+t.length)}function zB(t,e=!0){if(t.destroyed)throw new Error("Hash instance has been destroyed");if(e&&t.finished)throw new Error("Hash#digest() has already been called")}function kje(t,e){CC(t);const n=e.outputLen;if(t.length<n)throw new Error("digestInto() expects output buffer of length at least "+n)}function __(...t){for(let e=0;e<t.length;e++)t[e].fill(0)}function zI(t){return new DataView(t.buffer,t.byteOffset,t.byteLength)}function ku(t,e){return t<<32-e|t>>>e}const Hee=typeof Uint8Array.from([]).toHex=="function"&&typeof Uint8Array.fromHex=="function",jje=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));function Cje(t){if(CC(t),Hee)return t.toHex();let e="";for(let n=0;n<t.length;n++)e+=jje[t[n]];return e}const Of={_0:48,_9:57,A:65,F:70,a:97,f:102};function FB(t){if(t>=Of._0&&t<=Of._9)return t-Of._0;if(t>=Of.A&&t<=Of.F)return t-(Of.A-10);if(t>=Of.a&&t<=Of.f)return t-(Of.a-10)}function a0(t){if(typeof t!="string")throw new Error("hex string expected, got "+typeof t);if(Hee)return Uint8Array.fromHex(t);const e=t.length,n=e/2;if(e%2)throw new Error("hex string expected, got unpadded hex of length "+e);const r=new Uint8Array(n);for(let o=0,s=0;o<n;o++,s+=2){const a=FB(t.charCodeAt(s)),i=FB(t.charCodeAt(s+1));if(a===void 0||i===void 0){const l=t[s]+t[s+1];throw new Error('hex string expected, got non-hex character "'+l+'" at index '+s)}r[o]=a*16+i}return r}function Sje(t){if(typeof t!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(t))}function Wee(t){return typeof t=="string"&&(t=Sje(t)),CC(t),t}let Eje=class{};function Nje(t){const e=r=>t().update(Wee(r)).digest(),n=t();return e.outputLen=n.outputLen,e.blockLen=n.blockLen,e.create=()=>t(),e}function Ije(t,e,n,r){if(typeof t.setBigUint64=="function")return t.setBigUint64(e,n,r);const o=BigInt(32),s=BigInt(4294967295),a=Number(n>>o&s),i=Number(n&s),l=r?4:0,u=r?0:4;t.setUint32(e+l,a,r),t.setUint32(e+u,i,r)}function Aje(t,e,n){return t&e^~t&n}function _je(t,e,n){return t&e^t&n^e&n}class Mje extends Eje{constructor(e,n,r,o){super(),this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.blockLen=e,this.outputLen=n,this.padOffset=r,this.isLE=o,this.buffer=new Uint8Array(e),this.view=zI(this.buffer)}update(e){zB(this),e=Wee(e),CC(e);const{view:n,buffer:r,blockLen:o}=this,s=e.length;for(let a=0;a<s;){const i=Math.min(o-this.pos,s-a);if(i===o){const l=zI(e);for(;o<=s-a;a+=o)this.process(l,a);continue}r.set(e.subarray(a,a+i),this.pos),this.pos+=i,a+=i,this.pos===o&&(this.process(n,0),this.pos=0)}return this.length+=e.length,this.roundClean(),this}digestInto(e){zB(this),kje(e,this),this.finished=!0;const{buffer:n,view:r,blockLen:o,isLE:s}=this;let{pos:a}=this;n[a++]=128,__(this.buffer.subarray(a)),this.padOffset>o-a&&(this.process(r,0),a=0);for(let f=a;f<o;f++)n[f]=0;Ije(r,o-8,BigInt(this.length*8),s),this.process(r,0);const i=zI(e),l=this.outputLen;if(l%4)throw new Error("_sha2: outputLen should be aligned to 32bit");const u=l/4,d=this.get();if(u>d.length)throw new Error("_sha2: outputLen bigger than state");for(let f=0;f<u;f++)i.setUint32(4*f,d[f],s)}digest(){const{buffer:e,outputLen:n}=this;this.digestInto(e);const r=e.slice(0,n);return this.destroy(),r}_cloneInto(e){e||(e=new this.constructor),e.set(...this.get());const{blockLen:n,buffer:r,length:o,finished:s,destroyed:a,pos:i}=this;return e.destroyed=a,e.finished=s,e.length=o,e.pos=i,o%n&&e.buffer.set(r),e}clone(){return this._cloneInto()}}const rp=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),Rje=Uint32Array.from([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),op=new Uint32Array(64);let Yee=class extends Mje{constructor(e=32){super(64,e,8,!1),this.A=rp[0]|0,this.B=rp[1]|0,this.C=rp[2]|0,this.D=rp[3]|0,this.E=rp[4]|0,this.F=rp[5]|0,this.G=rp[6]|0,this.H=rp[7]|0}get(){const{A:e,B:n,C:r,D:o,E:s,F:a,G:i,H:l}=this;return[e,n,r,o,s,a,i,l]}set(e,n,r,o,s,a,i,l){this.A=e|0,this.B=n|0,this.C=r|0,this.D=o|0,this.E=s|0,this.F=a|0,this.G=i|0,this.H=l|0}process(e,n){for(let f=0;f<16;f++,n+=4)op[f]=e.getUint32(n,!1);for(let f=16;f<64;f++){const m=op[f-15],g=op[f-2],w=ku(m,7)^ku(m,18)^m>>>3,b=ku(g,17)^ku(g,19)^g>>>10;op[f]=b+op[f-7]+w+op[f-16]|0}let{A:r,B:o,C:s,D:a,E:i,F:l,G:u,H:d}=this;for(let f=0;f<64;f++){const m=ku(i,6)^ku(i,11)^ku(i,25),g=d+m+Aje(i,l,u)+Rje[f]+op[f]|0,b=(ku(r,2)^ku(r,13)^ku(r,22))+_je(r,o,s)|0;d=u,u=l,l=i,i=a+g|0,a=s,s=o,o=r,r=g+b|0}r=r+this.A|0,o=o+this.B|0,s=s+this.C|0,a=a+this.D|0,i=i+this.E|0,l=l+this.F|0,u=u+this.G|0,d=d+this.H|0,this.set(r,o,s,a,i,l,u,d)}roundClean(){__(op)}destroy(){this.set(0,0,0,0,0,0,0,0),__(this.buffer)}};const Cb=Nje(()=>new Yee),Tje=Object.freeze(Object.defineProperty({__proto__:null,SHA256:Yee,sha256:Cb},Symbol.toStringTag,{value:"Module"}));var FI,BB;function Dje(){if(BB)return FI;BB=1;var t=(function(){function g(b,j){if(typeof b!="function")throw new TypeError("DataLoader must be constructed with a function which accepts "+("Array<key> and returns Promise<Array<value>>, but got: "+b+"."));this._batchLoadFn=b,this._maxBatchSize=i(j),this._batchScheduleFn=l(j),this._cacheKeyFn=u(j),this._cacheMap=d(j),this._batch=null,this.name=f(j)}var w=g.prototype;return w.load=function(j){if(j==null)throw new TypeError("The loader.load() function must be called with a value, "+("but got: "+String(j)+"."));var S=r(this),I=this._cacheMap,N;if(I){N=this._cacheKeyFn(j);var M=I.get(N);if(M){var D=S.cacheHits||(S.cacheHits=[]);return new Promise(function(L){D.push(function(){L(M)})})}}S.keys.push(j);var O=new Promise(function(L,B){S.callbacks.push({resolve:L,reject:B})});return I&&I.set(N,O),O},w.loadMany=function(j){if(!m(j))throw new TypeError("The loader.loadMany() function must be called with Array<key> "+("but got: "+j+"."));for(var S=[],I=0;I<j.length;I++)S.push(this.load(j[I]).catch(function(N){return N}));return Promise.all(S)},w.clear=function(j){var S=this._cacheMap;if(S){var I=this._cacheKeyFn(j);S.delete(I)}return this},w.clearAll=function(){var j=this._cacheMap;return j&&j.clear(),this},w.prime=function(j,S){var I=this._cacheMap;if(I){var N=this._cacheKeyFn(j);if(I.get(N)===void 0){var M;S instanceof Error?(M=Promise.reject(S),M.catch(function(){})):M=Promise.resolve(S),I.set(N,M)}}return this},g})(),e=typeof process=="object"&&typeof process.nextTick=="function"?function(g){n||(n=Promise.resolve()),n.then(function(){process.nextTick(g)})}:typeof setImmediate=="function"?function(g){setImmediate(g)}:function(g){setTimeout(g)},n;function r(g){var w=g._batch;if(w!==null&&!w.hasDispatched&&w.keys.length<g._maxBatchSize)return w;var b={hasDispatched:!1,keys:[],callbacks:[]};return g._batch=b,g._batchScheduleFn(function(){o(g,b)}),b}function o(g,w){if(w.hasDispatched=!0,w.keys.length===0){a(w);return}var b;try{b=g._batchLoadFn(w.keys)}catch(j){return s(g,w,new TypeError("DataLoader must be constructed with a function which accepts Array<key> and returns Promise<Array<value>>, but the function "+("errored synchronously: "+String(j)+".")))}if(!b||typeof b.then!="function")return s(g,w,new TypeError("DataLoader must be constructed with a function which accepts Array<key> and returns Promise<Array<value>>, but the function did "+("not return a Promise: "+String(b)+".")));b.then(function(j){if(!m(j))throw new TypeError("DataLoader must be constructed with a function which accepts Array<key> and returns Promise<Array<value>>, but the function did "+("not return a Promise of an Array: "+String(j)+"."));if(j.length!==w.keys.length)throw new TypeError("DataLoader must be constructed with a function which accepts Array<key> and returns Promise<Array<value>>, but the function did not return a Promise of an Array of the same length as the Array of keys."+(`
18
19 Keys:
20 `+String(w.keys))+(`
21
22 Values:
23 `+String(j)));a(w);for(var S=0;S<w.callbacks.length;S++){var I=j[S];I instanceof Error?w.callbacks[S].reject(I):w.callbacks[S].resolve(I)}}).catch(function(j){s(g,w,j)})}function s(g,w,b){a(w);for(var j=0;j<w.keys.length;j++)g.clear(w.keys[j]),w.callbacks[j].reject(b)}function a(g){if(g.cacheHits)for(var w=0;w<g.cacheHits.length;w++)g.cacheHits[w]()}function i(g){var w=!g||g.batch!==!1;if(!w)return 1;var b=g&&g.maxBatchSize;if(b===void 0)return 1/0;if(typeof b!="number"||b<1)throw new TypeError("maxBatchSize must be a positive number: "+b);return b}function l(g){var w=g&&g.batchScheduleFn;if(w===void 0)return e;if(typeof w!="function")throw new TypeError("batchScheduleFn must be a function: "+w);return w}function u(g){var w=g&&g.cacheKeyFn;if(w===void 0)return function(b){return b};if(typeof w!="function")throw new TypeError("cacheKeyFn must be a function: "+w);return w}function d(g){var w=!g||g.cache!==!1;if(!w)return null;var b=g&&g.cacheMap;if(b===void 0)return new Map;if(b!==null){var j=["get","set","delete","clear"],S=j.filter(function(I){return b&&typeof b[I]!="function"});if(S.length!==0)throw new TypeError("Custom cacheMap missing methods: "+S.join(", "))}return b}function f(g){return g&&g.name?g.name:null}function m(g){return typeof g=="object"&&g!==null&&typeof g.length=="number"&&(g.length===0||g.length>0&&Object.prototype.hasOwnProperty.call(g,g.length-1))}return FI=t,FI}var Lje=Dje();const Lu=rc(Lje);var To;function S3(t){return typeof t<"u"?t:!0}function UB(t){const e=Array(t);for(let n=0;n<t;n++)e[n]=fo();return e}function fo(){return Object.create(null)}function Pje(t,e){return e.length-t.length}function Ma(t){return typeof t=="string"}function nh(t){return typeof t=="object"}function CT(t){return typeof t=="function"}function Gee(t,e){var n=Oje;if(t&&(e&&(t=E3(t,e)),this.H&&(t=E3(t,this.H)),this.J&&1<t.length&&(t=E3(t,this.J)),n||n==="")){if(e=t.split(n),this.filter){t=this.filter,n=e.length;const r=[];for(let o=0,s=0;o<n;o++){const a=e[o];a&&!t[a]&&(r[s++]=a)}t=r}else t=e;return t}return t}const Oje=/[\p{Z}\p{S}\p{P}\p{C}]+/u,zje=/[\u0300-\u036f]/g;function $B(t,e){const n=Object.keys(t),r=n.length,o=[];let s="",a=0;for(let i=0,l,u;i<r;i++)l=n[i],(u=t[l])?(o[a++]=Bo(e?"(?!\\b)"+l+"(\\b|_)":l),o[a++]=u):s+=(s?"|":"")+l;return s&&(o[a++]=Bo(e?"(?!\\b)("+s+")(\\b|_)":"("+s+")"),o[a]=""),o}function E3(t,e){for(let n=0,r=e.length;n<r&&(t=t.replace(e[n],e[n+1]),t);n+=2);return t}function Bo(t){return new RegExp(t,"g")}function qee(t){let e="",n="";for(let r=0,o=t.length,s;r<o;r++)(s=t[r])!==n&&(e+=n=s);return e}var Fje={encode:Kee,F:!1,G:""};function Kee(t){return Gee.call(this,(""+t).toLowerCase(),!1)}const Bje={},Vy={};function Zee(t){sw(t,"add"),sw(t,"append"),sw(t,"search"),sw(t,"update"),sw(t,"remove")}function sw(t,e){t[e+"Async"]=function(){const n=this,r=arguments;var o=r[r.length-1];let s;return CT(o)&&(s=o,delete r[r.length-1]),o=new Promise(function(a){setTimeout(function(){n.async=!0;const i=n[e].apply(n,r);n.async=!1,a(i)})}),s?(o.then(s),this):o}}function Qee(t,e,n,r){const o=t.length;let s=[],a,i,l=0;r&&(r=[]);for(let u=o-1;0<=u;u--){const d=t[u],f=d.length,m=fo();let g=!a;for(let w=0;w<f;w++){const b=d[w],j=b.length;if(j)for(let S=0,I,N;S<j;S++)if(N=b[S],a){if(a[N]){if(!u){if(n)n--;else if(s[l++]=N,l===e)return s}(u||r)&&(m[N]=1),g=!0}if(r&&(I=(i[N]||0)+1,i[N]=I,I<o)){const M=r[I-2]||(r[I-2]=[]);M[M.length]=N}}else m[N]=1}if(r)a||(i=m);else if(!g)return[];a=m}if(r)for(let u=r.length-1,d,f;0<=u;u--){d=r[u],f=d.length;for(let m=0,g;m<f;m++)if(g=d[m],!a[g]){if(n)n--;else if(s[l++]=g,l===e)return s;a[g]=1}}return s}function Uje(t,e){const n=fo(),r=fo(),o=[];for(let s=0;s<t.length;s++)n[t[s]]=1;for(let s=0,a;s<e.length;s++){a=e[s];for(let i=0,l;i<a.length;i++)l=a[i],n[l]&&!r[l]&&(r[l]=1,o[o.length]=l)}return o}function SC(t){this.l=t!==!0&&t,this.cache=fo(),this.h=[]}function Jee(t,e,n){nh(t)&&(t=t.query);let r=this.cache.get(t);return r||(r=this.search(t,e,n),this.cache.set(t,r)),r}SC.prototype.set=function(t,e){if(!this.cache[t]){var n=this.h.length;for(n===this.l?delete this.cache[this.h[n-1]]:n++,--n;0<n;n--)this.h[n]=this.h[n-1];this.h[0]=t}this.cache[t]=e};SC.prototype.get=function(t){const e=this.cache[t];if(this.l&&e&&(t=this.h.indexOf(t))){const n=this.h[t-1];this.h[t-1]=this.h[t],this.h[t]=n}return e};const $je={memory:{charset:"latin:extra",D:3,B:4,m:!1},performance:{D:3,B:3,s:!1,context:{depth:2,D:1}},match:{charset:"latin:extra",G:"reverse"},score:{charset:"latin:advanced",D:20,B:3,context:{depth:3,D:9}},default:{}};function Xee(t,e,n,r,o,s,a,i){setTimeout(function(){const l=t(n?n+"."+r:r,JSON.stringify(a));l&&l.then?l.then(function(){e.export(t,e,n,o,s+1,i)}):e.export(t,e,n,o,s+1,i)})}function pg(t,e){if(!(this instanceof pg))return new pg(t);var n;if(t){Ma(t)?t=$je[t]:(n=t.preset)&&(t=Object.assign({},n[n],t)),n=t.charset;var r=t.lang;Ma(n)&&(n.indexOf(":")===-1&&(n+=":default"),n=Vy[n]),Ma(r)&&(r=Bje[r])}else t={};let o,s,a=t.context||{};if(this.encode=t.encode||n&&n.encode||Kee,this.register=e||fo(),this.D=o=t.resolution||9,this.G=e=n&&n.G||t.tokenize||"strict",this.depth=e==="strict"&&a.depth,this.l=S3(a.bidirectional),this.s=s=S3(t.optimize),this.m=S3(t.fastupdate),this.B=t.minlength||1,this.C=t.boost,this.map=s?UB(o):fo(),this.A=o=a.resolution||1,this.h=s?UB(o):fo(),this.F=n&&n.F||t.rtl,this.H=(e=t.matcher||r&&r.H)&&$B(e,!1),this.J=(e=t.stemmer||r&&r.J)&&$B(e,!0),n=e=t.filter||r&&r.filter){n=e,r=fo();for(let i=0,l=n.length;i<l;i++)r[n[i]]=1;n=r}this.filter=n,this.cache=(e=t.cache)&&new SC(e)}To=pg.prototype;To.append=function(t,e){return this.add(t,e,!0)};To.add=function(t,e,n,r){if(e&&(t||t===0)){if(!r&&!n&&this.register[t])return this.update(t,e);if(e=this.encode(e),r=e.length){const u=fo(),d=fo(),f=this.depth,m=this.D;for(let g=0;g<r;g++){let w=e[this.F?r-1-g:g];var o=w.length;if(w&&o>=this.B&&(f||!d[w])){var s=o6(m,r,g),a="";switch(this.G){case"full":if(2<o){for(s=0;s<o;s++)for(var i=o;i>s;i--)if(i-s>=this.B){var l=o6(m,r,g,o,s);a=w.substring(s,i),aw(this,d,a,l,t,n)}break}case"reverse":if(1<o){for(i=o-1;0<i;i--)a=w[i]+a,a.length>=this.B&&aw(this,d,a,o6(m,r,g,o,i),t,n);a=""}case"forward":if(1<o){for(i=0;i<o;i++)a+=w[i],a.length>=this.B&&aw(this,d,a,s,t,n);break}default:if(this.C&&(s=Math.min(s/this.C(e,w,g)|0,m-1)),aw(this,d,w,s,t,n),f&&1<r&&g<r-1){for(o=fo(),a=this.A,s=w,i=Math.min(f+1,r-g),o[s]=1,l=1;l<i;l++)if((w=e[this.F?r-1-g-l:g+l])&&w.length>=this.B&&!o[w]){o[w]=1;const b=this.l&&w>s;aw(this,u,b?s:w,o6(a+(r/2>a?0:1),r,g,i-1,l-1),t,n,b?w:s)}}}}}this.m||(this.register[t]=1)}}return this};function o6(t,e,n,r,o){return n&&1<t?e+(r||0)<=t?n+(o||0):(t-1)/(e+(r||0))*(n+(o||0))+1|0:0}function aw(t,e,n,r,o,s,a){let i=a?t.h:t.map;(!e[n]||a&&!e[n][a])&&(t.s&&(i=i[r]),a?(e=e[n]||(e[n]=fo()),e[a]=1,i=i[a]||(i[a]=fo())):e[n]=1,i=i[n]||(i[n]=[]),t.s||(i=i[r]||(i[r]=[])),s&&i.includes(o)||(i[i.length]=o,t.m&&(t=t.register[o]||(t.register[o]=[]),t[t.length]=i)))}To.search=function(t,e,n){n||(!e&&nh(t)?(n=t,t=n.query):nh(e)&&(n=e));let r=[],o,s,a=0;if(n){t=n.query||t,e=n.limit,a=n.offset||0;var i=n.context;s=n.suggest}if(t&&(t=this.encode(""+t),o=t.length,1<o)){n=fo();var l=[];for(let d=0,f=0,m;d<o;d++)if((m=t[d])&&m.length>=this.B&&!n[m])if(this.s||s||this.map[m])l[f++]=m,n[m]=1;else return r;t=l,o=t.length}if(!o)return r;e||(e=100),i=this.depth&&1<o&&i!==!1,n=0;let u;i?(u=t[0],n=1):1<o&&t.sort(Pje);for(let d,f;n<o;n++){if(f=t[n],i?(d=VB(this,r,s,e,a,o===2,f,u),s&&d===!1&&r.length||(u=f)):d=VB(this,r,s,e,a,o===1,f),d)return d;if(s&&n===o-1){if(l=r.length,!l){if(i){i=0,n=-1;continue}return r}if(l===1)return ete(r[0],e,a)}}return Qee(r,e,a,s)};function VB(t,e,n,r,o,s,a,i){let l=[],u=i?t.h:t.map;if(t.s||(u=HB(u,a,i,t.l)),u){let d=0;const f=Math.min(u.length,i?t.A:t.D);for(let m=0,g=0,w,b;m<f&&!((w=u[m])&&(t.s&&(w=HB(w,a,i,t.l)),o&&w&&s&&(b=w.length,b<=o?(o-=b,w=null):(w=w.slice(o),o=0)),w&&(l[d++]=w,s&&(g+=w.length,g>=r))));m++);if(d){if(s)return ete(l,r,0);e[e.length]=l;return}}return!n&&l}function ete(t,e,n){return t=t.length===1?t[0]:[].concat.apply([],t),n||t.length>e?t.slice(n,n+e):t}function HB(t,e,n,r){return n?(r=r&&e>n,t=(t=t[r?e:n])&&t[r?n:e]):t=t[e],t}To.contain=function(t){return!!this.register[t]};To.update=function(t,e){return this.remove(t).add(t,e)};To.remove=function(t,e){const n=this.register[t];if(n){if(this.m)for(let r=0,o;r<n.length;r++)o=n[r],o.splice(o.indexOf(t),1);else xk(this.map,t,this.D,this.s),this.depth&&xk(this.h,t,this.A,this.s);if(e||delete this.register[t],this.cache){e=this.cache;for(let r=0,o,s;r<e.h.length;r++)s=e.h[r],o=e.cache[s],o.includes(t)&&(e.h.splice(r--,1),delete e.cache[s])}}return this};function xk(t,e,n,r,o){let s=0;if(t.constructor===Array)if(o)e=t.indexOf(e),e!==-1?1<t.length&&(t.splice(e,1),s++):s++;else{o=Math.min(t.length,n);for(let a=0,i;a<o;a++)(i=t[a])&&(s=xk(i,e,n,r,o),r||s||delete t[a])}else for(let a in t)(s=xk(t[a],e,n,r,o))||delete t[a];return s}To.searchCache=Jee;To.export=function(t,e,n,r,o,s){let a=!0;typeof s>"u"&&(a=new Promise(u=>{s=u}));let i,l;switch(o||(o=0)){case 0:if(i="reg",this.m){l=fo();for(let u in this.register)l[u]=1}else l=this.register;break;case 1:i="cfg",l={doc:0,opt:this.s?1:0};break;case 2:i="map",l=this.map;break;case 3:i="ctx",l=this.h;break;default:typeof n>"u"&&s&&s();return}return Xee(t,e||this,n,i,r,o,l,s),a};To.import=function(t,e){if(e)switch(Ma(e)&&(e=JSON.parse(e)),t){case"cfg":this.s=!!e.opt;break;case"reg":this.m=!1,this.register=e;break;case"map":this.map=e;break;case"ctx":this.h=e}};Zee(pg.prototype);function Vje(t){t=t.data;var e=self._index;const n=t.args;var r=t.task;switch(r){case"init":r=t.options||{},t=t.factory,e=r.encode,r.cache=!1,e&&e.indexOf("function")===0&&(r.encode=Function("return "+e)()),t?(Function("return "+t)()(self),self._index=new self.FlexSearch.Index(r),delete self.FlexSearch):self._index=new pg(r);break;default:t=t.id,e=e[r].apply(e,n),postMessage(r==="search"?{id:t,msg:e}:{id:t})}}let WB=0;function Sb(t){if(!(this instanceof Sb))return new Sb(t);var e;t?CT(e=t.encode)&&(t.encode=e.toString()):t={},(e=(self||window)._factory)&&(e=e.toString());const n=typeof window>"u"&&self.exports,r=this;this.o=Hje(e,n,t.worker),this.h=fo(),this.o&&(n?this.o.on("message",function(o){r.h[o.id](o.msg),delete r.h[o.id]}):this.o.onmessage=function(o){o=o.data,r.h[o.id](o.msg),delete r.h[o.id]},this.o.postMessage({task:"init",factory:e,options:t}))}z2("add");z2("append");z2("search");z2("update");z2("remove");function z2(t){Sb.prototype[t]=Sb.prototype[t+"Async"]=function(){const e=this,n=[].slice.call(arguments);var r=n[n.length-1];let o;return CT(r)&&(o=r,n.splice(n.length-1,1)),r=new Promise(function(s){setTimeout(function(){e.h[++WB]=s,e.o.postMessage({task:t,id:WB,args:n})})}),o?(r.then(o),this):r}}function Hje(t,e,n){let r;try{r=e?new(require("worker_threads")).Worker(__dirname+"/node/node.js"):t?new Worker(URL.createObjectURL(new Blob(["onmessage="+Vje.toString()],{type:"text/javascript"}))):new Worker(Ma(n)?n:"worker/worker.js",{type:"module"})}catch{}return r}function kk(t){if(!(this instanceof kk))return new kk(t);var e=t.document||t.doc||t,n;this.K=[],this.h=[],this.A=[],this.register=fo(),this.key=(n=e.key||e.id)&&s6(n,this.A)||"id",this.m=S3(t.fastupdate),this.C=(n=e.store)&&n!==!0&&[],this.store=n&&fo(),this.I=(n=e.tag)&&s6(n,this.A),this.l=n&&fo(),this.cache=(n=t.cache)&&new SC(n),t.cache=!1,this.o=t.worker,this.async=!1,n=fo();let r=e.index||e.field||e;Ma(r)&&(r=[r]);for(let o=0,s,a;o<r.length;o++)s=r[o],Ma(s)||(a=s,s=s.field),a=nh(a)?Object.assign({},t,a):t,this.o&&(n[s]=new Sb(a),n[s].o||(this.o=!1)),this.o||(n[s]=new pg(a,this.register)),this.K[o]=s6(s,this.A),this.h[o]=s;if(this.C)for(t=e.store,Ma(t)&&(t=[t]),e=0;e<t.length;e++)this.C[e]=s6(t[e],this.A);this.index=n}function s6(t,e){const n=t.split(":");let r=0;for(let o=0;o<n.length;o++)t=n[o],0<=t.indexOf("[]")&&(t=t.substring(0,t.length-2))&&(e[r]=!0),t&&(n[r++]=t);return r<n.length&&(n.length=r),1<r?n:n[0]}function M_(t,e){if(Ma(e))t=t[e];else for(let n=0;t&&n<e.length;n++)t=t[e[n]];return t}function R_(t,e,n,r,o){if(t=t[o],r===n.length-1)e[o]=t;else if(t)if(t.constructor===Array)for(e=e[o]=Array(t.length),o=0;o<t.length;o++)R_(t,e,n,r,o);else e=e[o]||(e[o]=fo()),o=n[++r],R_(t,e,n,r,o)}function T_(t,e,n,r,o,s,a,i){if(t=t[a])if(r===e.length-1){if(t.constructor===Array){if(n[r]){for(e=0;e<t.length;e++)o.add(s,t[e],!0,!0);return}t=t.join(" ")}o.add(s,t,i,!0)}else if(t.constructor===Array)for(a=0;a<t.length;a++)T_(t,e,n,r,o,s,a,i);else a=e[++r],T_(t,e,n,r,o,s,a,i)}To=kk.prototype;To.add=function(t,e,n){if(nh(t)&&(e=t,t=M_(e,this.key)),e&&(t||t===0)){if(!n&&this.register[t])return this.update(t,e);for(let r=0,o,s;r<this.h.length;r++)s=this.h[r],o=this.K[r],Ma(o)&&(o=[o]),T_(e,o,this.A,0,this.index[s],t,o[0],n);if(this.I){let r=M_(e,this.I),o=fo();Ma(r)&&(r=[r]);for(let s=0,a,i;s<r.length;s++)if(a=r[s],!o[a]&&(o[a]=1,i=this.l[a]||(this.l[a]=[]),!n||!i.includes(t))&&(i[i.length]=t,this.m)){const l=this.register[t]||(this.register[t]=[]);l[l.length]=i}}if(this.store&&(!n||!this.store[t])){let r;if(this.C){r=fo();for(let o=0,s;o<this.C.length;o++)s=this.C[o],Ma(s)?r[s]=e[s]:R_(e,r,s,0,s[0])}this.store[t]=r||e}}return this};To.append=function(t,e){return this.add(t,e,!0)};To.update=function(t,e){return this.remove(t).add(t,e)};To.remove=function(t){if(nh(t)&&(t=M_(t,this.key)),this.register[t]){for(var e=0;e<this.h.length&&(this.index[this.h[e]].remove(t,!this.o),!this.m);e++);if(this.I&&!this.m)for(let n in this.l){e=this.l[n];const r=e.indexOf(t);r!==-1&&(1<e.length?e.splice(r,1):delete this.l[n])}this.store&&delete this.store[t],delete this.register[t]}return this};To.search=function(t,e,n,r){n||(!e&&nh(t)?(n=t,t=""):nh(e)&&(n=e,e=0));let o=[],s=[],a,i,l,u,d,f,m=0;if(n)if(n.constructor===Array)l=n,n=null;else{if(t=n.query||t,l=(a=n.pluck)||n.index||n.field,u=n.tag,i=this.store&&n.enrich,d=n.bool==="and",e=n.limit||e||100,f=n.offset||0,u&&(Ma(u)&&(u=[u]),!t)){for(let w=0,b;w<u.length;w++)(b=Wje.call(this,u[w],e,f,i))&&(o[o.length]=b,m++);return m?o:[]}Ma(l)&&(l=[l])}l||(l=this.h),d=d&&(1<l.length||u&&1<u.length);const g=!r&&(this.o||this.async)&&[];for(let w=0,b,j,S;w<l.length;w++){let I;if(j=l[w],Ma(j)||(I=j,j=I.field,t=I.query||t,e=I.limit||e,i=I.enrich||i),g)g[w]=this.index[j].searchAsync(t,e,I||n);else{if(r?b=r[w]:b=this.index[j].search(t,e,I||n),S=b&&b.length,u&&S){const N=[];let M=0;d&&(N[0]=[b]);for(let D=0,O,L;D<u.length;D++)O=u[D],(S=(L=this.l[O])&&L.length)&&(M++,N[N.length]=d?[L]:L);M&&(b=d?Qee(N,e||100,f||0):Uje(b,N),S=b.length)}if(S)s[m]=j,o[m++]=b;else if(d)return[]}}if(g){const w=this;return new Promise(function(b){Promise.all(g).then(function(j){b(w.search(t,e,n,j))})})}if(!m)return[];if(a&&(!i||!this.store))return o[0];for(let w=0,b;w<s.length;w++){if(b=o[w],b.length&&i&&(b=tte.call(this,b)),a)return b;o[w]={field:s[w],result:b}}return o};function Wje(t,e,n,r){let o=this.l[t],s=o&&o.length-n;if(s&&0<s)return(s>e||n)&&(o=o.slice(n,n+e)),r&&(o=tte.call(this,o)),{tag:t,result:o}}function tte(t){const e=Array(t.length);for(let n=0,r;n<t.length;n++)r=t[n],e[n]={id:r,doc:this.store[r]};return e}To.contain=function(t){return!!this.register[t]};To.get=function(t){return this.store[t]};To.set=function(t,e){return this.store[t]=e,this};To.searchCache=Jee;To.export=function(t,e,n,r,o,s){let a;if(typeof s>"u"&&(a=new Promise(i=>{s=i})),o||(o=0),r||(r=0),r<this.h.length){const i=this.h[r],l=this.index[i];e=this,setTimeout(function(){l.export(t,e,o?i:"",r,o++,s)||(r++,o=1,e.export(t,e,i,r,o,s))})}else{let i,l;switch(o){case 1:i="tag",l=this.l,n=null;break;case 2:i="store",l=this.store,n=null;break;default:s();return}Xee(t,this,n,i,r,o,l,s)}return a};To.import=function(t,e){if(e)switch(Ma(e)&&(e=JSON.parse(e)),t){case"tag":this.l=e;break;case"reg":this.m=!1,this.register=e;for(let r=0,o;r<this.h.length;r++)o=this.index[this.h[r]],o.register=e,o.m=!1;break;case"store":this.store=e;break;default:t=t.split(".");const n=t[0];t=t[1],n&&t&&this.index[n].import(t,e)}};Zee(kk.prototype);var Yje={encode:nte,F:!1,G:""};const Gje=[Bo("[àáâãäå]"),"a",Bo("[èéêë]"),"e",Bo("[ìíîï]"),"i",Bo("[òóôõöő]"),"o",Bo("[ùúûüű]"),"u",Bo("[ýŷÿ]"),"y",Bo("ñ"),"n",Bo("[çc]"),"k",Bo("ß"),"s",Bo(" & ")," and "];function nte(t){var e=t=""+t;return e.normalize&&(e=e.normalize("NFD").replace(zje,"")),Gee.call(this,e.toLowerCase(),!t.normalize&&Gje)}var qje={encode:rte,F:!1,G:"strict"};const Kje=/[^a-z0-9]+/,YB={b:"p",v:"f",w:"f",z:"s",x:"s",ß:"s",d:"t",n:"m",c:"k",g:"k",j:"k",q:"k",i:"e",y:"e",u:"o"};function rte(t){t=nte.call(this,t).join(" ");const e=[];if(t){const n=t.split(Kje),r=n.length;for(let o=0,s,a=0;o<r;o++)if((t=n[o])&&(!this.filter||!this.filter[t])){s=t[0];let i=YB[s]||s,l=i;for(let u=1;u<t.length;u++){s=t[u];const d=YB[s]||s;d&&d!==l&&(i+=d,l=d)}e[a++]=i}}return e}var Zje={encode:ote,F:!1,G:""};const Qje=[Bo("ae"),"a",Bo("oe"),"o",Bo("sh"),"s",Bo("th"),"t",Bo("ph"),"f",Bo("pf"),"f",Bo("(?![aeo])h(?![aeo])"),"",Bo("(?!^[aeo])h(?!^[aeo])"),""];function ote(t,e){return t&&(t=rte.call(this,t).join(" "),2<t.length&&(t=E3(t,Qje)),e||(1<t.length&&(t=qee(t)),t&&(t=t.split(" ")))),t||[]}var Jje={encode:eCe,F:!1,G:""};const Xje=Bo("(?!\\b)[aeo]");function eCe(t){return t&&(t=ote.call(this,t,!0),1<t.length&&(t=t.replace(Xje,"")),1<t.length&&(t=qee(t)),t&&(t=t.split(" "))),t||[]}Vy["latin:default"]=Fje;Vy["latin:simple"]=Yje;Vy["latin:balance"]=qje;Vy["latin:advanced"]=Zje;Vy["latin:extra"]=Jje;const ste={Index:pg},at={PROFILE_EVENTS:"profileEvents",RELAY_LIST_EVENTS:"relayListEvents",FOLLOW_LIST_EVENTS:"followListEvents",MUTE_LIST_EVENTS:"muteListEvents",BOOKMARK_LIST_EVENTS:"bookmarkListEvents",BLOSSOM_SERVER_LIST_EVENTS:"blossomServerListEvents",USER_EMOJI_LIST_EVENTS:"userEmojiListEvents",EMOJI_SET_EVENTS:"emojiSetEvents",PIN_LIST_EVENTS:"pinListEvents",FAVORITE_RELAYS:"favoriteRelays",RELAY_SETS:"relaySets",FOLLOWING_FAVORITE_RELAYS:"followingFavoriteRelays",RELAY_INFOS:"relayInfos",DECRYPTED_CONTENTS:"decryptedContents",PINNED_USERS_EVENTS:"pinnedUsersEvents",DM_EVENTS:"dmEvents",DM_CONVERSATIONS:"dmConversations",DM_MESSAGES:"dmMessages",UNWRAPPED_GIFT_WRAPS:"unwrappedGiftWraps",DM_DELETED_STATE:"dmDeletedState",CACHED_EVENTS:"cachedEvents",RELAY_STATS:"relayStats",MANAGED_RELAYS:"managedRelays",MUTE_DECRYPTED_TAGS:"muteDecryptedTags",RELAY_INFO_EVENTS:"relayInfoEvents"},Np=class Np{constructor(){je(this,"db",null);je(this,"initPromise",null)}static getInstance(){return Np.instance||(Np.instance=new Np,Np.instance.init()),Np.instance}init(){return this.initPromise||(this.initPromise=new Promise((e,n)=>{const r=window.indexedDB.open("smesh",16);r.onerror=o=>{n(o)},r.onsuccess=()=>{this.db=r.result,e()},r.onupgradeneeded=()=>{const o=r.result;if(o.objectStoreNames.contains(at.PROFILE_EVENTS)||o.createObjectStore(at.PROFILE_EVENTS,{keyPath:"key"}),o.objectStoreNames.contains(at.RELAY_LIST_EVENTS)||o.createObjectStore(at.RELAY_LIST_EVENTS,{keyPath:"key"}),o.objectStoreNames.contains(at.FOLLOW_LIST_EVENTS)||o.createObjectStore(at.FOLLOW_LIST_EVENTS,{keyPath:"key"}),o.objectStoreNames.contains(at.MUTE_LIST_EVENTS)||o.createObjectStore(at.MUTE_LIST_EVENTS,{keyPath:"key"}),o.objectStoreNames.contains(at.BOOKMARK_LIST_EVENTS)||o.createObjectStore(at.BOOKMARK_LIST_EVENTS,{keyPath:"key"}),o.objectStoreNames.contains(at.DECRYPTED_CONTENTS)||o.createObjectStore(at.DECRYPTED_CONTENTS,{keyPath:"key"}),o.objectStoreNames.contains(at.FAVORITE_RELAYS)||o.createObjectStore(at.FAVORITE_RELAYS,{keyPath:"key"}),o.objectStoreNames.contains(at.RELAY_SETS)||o.createObjectStore(at.RELAY_SETS,{keyPath:"key"}),o.objectStoreNames.contains(at.FOLLOWING_FAVORITE_RELAYS)||o.createObjectStore(at.FOLLOWING_FAVORITE_RELAYS,{keyPath:"key"}),o.objectStoreNames.contains(at.BLOSSOM_SERVER_LIST_EVENTS)||o.createObjectStore(at.BLOSSOM_SERVER_LIST_EVENTS,{keyPath:"key"}),o.objectStoreNames.contains(at.USER_EMOJI_LIST_EVENTS)||o.createObjectStore(at.USER_EMOJI_LIST_EVENTS,{keyPath:"key"}),o.objectStoreNames.contains(at.EMOJI_SET_EVENTS)||o.createObjectStore(at.EMOJI_SET_EVENTS,{keyPath:"key"}),o.objectStoreNames.contains(at.RELAY_INFOS)||o.createObjectStore(at.RELAY_INFOS,{keyPath:"key"}),o.objectStoreNames.contains(at.PIN_LIST_EVENTS)||o.createObjectStore(at.PIN_LIST_EVENTS,{keyPath:"key"}),o.objectStoreNames.contains(at.PINNED_USERS_EVENTS)||o.createObjectStore(at.PINNED_USERS_EVENTS,{keyPath:"key"}),o.objectStoreNames.contains(at.DM_EVENTS)||o.createObjectStore(at.DM_EVENTS,{keyPath:"key"}),o.objectStoreNames.contains(at.DM_CONVERSATIONS)||o.createObjectStore(at.DM_CONVERSATIONS,{keyPath:"key"}),o.objectStoreNames.contains(at.DM_MESSAGES)||o.createObjectStore(at.DM_MESSAGES,{keyPath:"key"}),o.objectStoreNames.contains(at.UNWRAPPED_GIFT_WRAPS)||o.createObjectStore(at.UNWRAPPED_GIFT_WRAPS,{keyPath:"key"}),o.objectStoreNames.contains(at.DM_DELETED_STATE)||o.createObjectStore(at.DM_DELETED_STATE,{keyPath:"key"}),!o.objectStoreNames.contains(at.CACHED_EVENTS)){const s=o.createObjectStore(at.CACHED_EVENTS,{keyPath:"id"});s.createIndex("kind","kind",{unique:!1}),s.createIndex("pubkey","pubkey",{unique:!1}),s.createIndex("created_at","created_at",{unique:!1})}o.objectStoreNames.contains(at.RELAY_STATS)||o.createObjectStore(at.RELAY_STATS,{keyPath:"key"}),o.objectStoreNames.contains(at.MANAGED_RELAYS)||o.createObjectStore(at.MANAGED_RELAYS,{keyPath:"key"}),o.objectStoreNames.contains(at.RELAY_INFO_EVENTS)&&o.deleteObjectStore(at.RELAY_INFO_EVENTS),o.objectStoreNames.contains(at.MUTE_DECRYPTED_TAGS)&&o.deleteObjectStore(at.MUTE_DECRYPTED_TAGS),this.db=o}}),setTimeout(()=>this.cleanUp(),1e3*60)),this.initPromise}async putNullReplaceableEvent(e,n,r){const o=this.getStoreNameByKind(n);return o?(await this.initPromise,new Promise((s,a)=>{if(!this.db)return a("database not initialized");const i=this.db.transaction(o,"readwrite"),l=i.objectStore(o),u=this.getReplaceableEventKey(e,r),d=l.get(u);d.onsuccess=()=>{const f=d.result;if(f)return i.commit(),s(f.value);const m=l.put(this.formatValue(u,null));m.onsuccess=()=>{i.commit(),s(null)},m.onerror=g=>{i.commit(),a(g)}},d.onerror=f=>{i.commit(),a(f)}})):Promise.reject("store name not found")}async putReplaceableEvent(e){const n=this.getStoreNameByKind(e.kind);return n?(await this.initPromise,new Promise((r,o)=>{if(!this.db)return o("database not initialized");const s=this.db.transaction(n,"readwrite"),a=s.objectStore(n),i=this.getReplaceableEventKeyFromEvent(e),l=a.get(i);l.onsuccess=()=>{const u=l.result;if(u!=null&&u.value&&u.value.created_at>=e.created_at)return s.commit(),r(u.value);const d=a.put(this.formatValue(i,e));d.onsuccess=()=>{s.commit(),r(e)},d.onerror=f=>{s.commit(),o(f)}},l.onerror=u=>{s.commit(),o(u)}})):Promise.reject("store name not found")}async getReplaceableEventByCoordinate(e){const[n,r,...o]=e.split(":"),s=o.length>0?o.join(":"):void 0;return this.getReplaceableEvent(r,parseInt(n),s)}async getReplaceableEvent(e,n,r){const o=this.getStoreNameByKind(n);if(o)return await this.initPromise,new Promise((s,a)=>{if(!this.db)return a("database not initialized");const i=this.db.transaction(o,"readonly"),l=i.objectStore(o),u=this.getReplaceableEventKey(e,r),d=l.get(u);d.onsuccess=()=>{var f;i.commit(),s((f=d.result)==null?void 0:f.value)},d.onerror=f=>{i.commit(),a(f)}})}async getManyReplaceableEvents(e,n){const r=this.getStoreNameByKind(n);return r?(await this.initPromise,new Promise((o,s)=>{if(!this.db)return s("database not initialized");const a=this.db.transaction(r,"readonly"),i=a.objectStore(r),l=new Array(e.length).fill(void 0);let u=0;e.forEach((d,f)=>{const m=i.get(this.getReplaceableEventKey(d));m.onsuccess=()=>{var w;const g=(w=m.result)==null?void 0:w.value;(g||g===null)&&(l[f]=g),++u===e.length&&(a.commit(),o(l))},m.onerror=()=>{++u===e.length&&(a.commit(),o(l))}})})):Promise.reject("store name not found")}async getDecryptedContent(e){return await this.initPromise,new Promise((n,r)=>{if(!this.db)return r("database not initialized");const o=this.db.transaction(at.DECRYPTED_CONTENTS,"readonly"),a=o.objectStore(at.DECRYPTED_CONTENTS).get(e);a.onsuccess=()=>{var i;o.commit(),n((i=a.result)==null?void 0:i.value)},a.onerror=i=>{o.commit(),r(i)}})}async putDecryptedContent(e,n){return await this.initPromise,new Promise((r,o)=>{if(!this.db)return o("database not initialized");const s=this.db.transaction(at.DECRYPTED_CONTENTS,"readwrite"),i=s.objectStore(at.DECRYPTED_CONTENTS).put(this.formatValue(e,n));i.onsuccess=()=>{s.commit(),r()},i.onerror=l=>{s.commit(),o(l)}})}async iterateProfileEvents(e){if(await this.initPromise,!!this.db)return new Promise((n,r)=>{const o=this.db.transaction(at.PROFILE_EVENTS,"readwrite"),a=o.objectStore(at.PROFILE_EVENTS).openCursor();a.onsuccess=i=>{const l=i.target.result;if(l){const u=l.value.value;u&&e(u),l.continue()}else o.commit(),n()},a.onerror=i=>{o.commit(),r(i)}})}async putFollowingFavoriteRelays(e,n){return await this.initPromise,new Promise((r,o)=>{if(!this.db)return o("database not initialized");const s=this.db.transaction(at.FOLLOWING_FAVORITE_RELAYS,"readwrite"),i=s.objectStore(at.FOLLOWING_FAVORITE_RELAYS).put(this.formatValue(e,n));i.onsuccess=()=>{s.commit(),r()},i.onerror=l=>{s.commit(),o(l)}})}async getFollowingFavoriteRelays(e){return await this.initPromise,new Promise((n,r)=>{if(!this.db)return r("database not initialized");const o=this.db.transaction(at.FOLLOWING_FAVORITE_RELAYS,"readonly"),a=o.objectStore(at.FOLLOWING_FAVORITE_RELAYS).get(e);a.onsuccess=()=>{var i;o.commit(),n((i=a.result)==null?void 0:i.value)},a.onerror=i=>{o.commit(),r(i)}})}async putRelayInfo(e){return await this.initPromise,new Promise((n,r)=>{if(!this.db)return r("database not initialized");const o=this.db.transaction(at.RELAY_INFOS,"readwrite"),a=o.objectStore(at.RELAY_INFOS).put(this.formatValue(e.url,e));a.onsuccess=()=>{o.commit(),n()},a.onerror=i=>{o.commit(),r(i)}})}async getRelayInfo(e){return await this.initPromise,new Promise((n,r)=>{if(!this.db)return r("database not initialized");const o=this.db.transaction(at.RELAY_INFOS,"readonly"),a=o.objectStore(at.RELAY_INFOS).get(e);a.onsuccess=()=>{var i;o.commit(),n((i=a.result)==null?void 0:i.value)},a.onerror=i=>{o.commit(),r(i)}})}async putDMEvent(e){return await this.initPromise,new Promise((n,r)=>{if(!this.db)return r("database not initialized");const o=this.db.transaction(at.DM_EVENTS,"readwrite"),a=o.objectStore(at.DM_EVENTS).put(this.formatValue(e.id,e));a.onsuccess=()=>{o.commit(),n()},a.onerror=i=>{o.commit(),r(i)}})}async getDMEvent(e){return await this.initPromise,new Promise((n,r)=>{if(!this.db)return r("database not initialized");const o=this.db.transaction(at.DM_EVENTS,"readonly"),a=o.objectStore(at.DM_EVENTS).get(e);a.onsuccess=()=>{var i;o.commit(),n(((i=a.result)==null?void 0:i.value)??null)},a.onerror=i=>{o.commit(),r(i)}})}async getAllDMEvents(e){return await this.initPromise,new Promise((n,r)=>{if(!this.db)return r("database not initialized");const o=this.db.transaction(at.DM_EVENTS,"readonly"),a=o.objectStore(at.DM_EVENTS).openCursor(),i=[];a.onsuccess=l=>{const u=l.target.result;if(u){const d=u.value.value;d&&(d.pubkey===e||d.tags.some(m=>m[0]==="p"&&m[1]===e))&&i.push(d),u.continue()}else o.commit(),n(i)},a.onerror=l=>{o.commit(),r(l)}})}async putDMConversation(e,n,r,o,s){return await this.initPromise,new Promise((a,i)=>{if(!this.db)return i("database not initialized");const l=this.db.transaction(at.DM_CONVERSATIONS,"readwrite"),u=l.objectStore(at.DM_CONVERSATIONS),d=`${e}:${n}`,f=u.put(this.formatValue(d,{partnerPubkey:n,lastMessageAt:r,lastMessagePreview:o,encryptionType:s}));f.onsuccess=()=>{l.commit(),a()},f.onerror=m=>{l.commit(),i(m)}})}async getDMConversations(e){return await this.initPromise,new Promise((n,r)=>{if(!this.db)return r("database not initialized");const o=this.db.transaction(at.DM_CONVERSATIONS,"readonly"),a=o.objectStore(at.DM_CONVERSATIONS).openCursor(),i=[];a.onsuccess=l=>{const u=l.target.result;if(u){if(u.key.startsWith(`${e}:`)){const f=u.value.value;f&&i.push(f)}u.continue()}else o.commit(),i.sort((d,f)=>f.lastMessageAt-d.lastMessageAt),n(i)},a.onerror=l=>{o.commit(),r(l)}})}async putConversationRelaySettings(e,n,r){return await this.initPromise,new Promise((o,s)=>{if(!this.db)return s("database not initialized");const a=this.db.transaction(at.DM_CONVERSATIONS,"readwrite"),i=a.objectStore(at.DM_CONVERSATIONS),l=`${e}:${n}:relays`,u=i.put(this.formatValue(l,{selectedRelays:r}));u.onsuccess=()=>{a.commit(),o()},u.onerror=d=>{a.commit(),s(d)}})}async getConversationRelaySettings(e,n){return await this.initPromise,new Promise((r,o)=>{if(!this.db)return o("database not initialized");const s=this.db.transaction(at.DM_CONVERSATIONS,"readonly"),a=s.objectStore(at.DM_CONVERSATIONS),i=`${e}:${n}:relays`,l=a.get(i);l.onsuccess=()=>{var d;s.commit();const u=(d=l.result)==null?void 0:d.value;r((u==null?void 0:u.selectedRelays)??null)},l.onerror=u=>{s.commit(),o(u)}})}async putConversationEncryptionPreference(e,n,r){return await this.initPromise,new Promise((o,s)=>{if(!this.db)return s("database not initialized");const a=this.db.transaction(at.DM_CONVERSATIONS,"readwrite"),i=a.objectStore(at.DM_CONVERSATIONS),l=`${e}:${n}:encryption`,u=i.put(this.formatValue(l,{preference:r}));u.onsuccess=()=>{a.commit(),o()},u.onerror=d=>{a.commit(),s(d)}})}async getConversationEncryptionPreference(e,n){return await this.initPromise,new Promise((r,o)=>{if(!this.db)return o("database not initialized");const s=this.db.transaction(at.DM_CONVERSATIONS,"readonly"),a=s.objectStore(at.DM_CONVERSATIONS),i=`${e}:${n}:encryption`,l=a.get(i);l.onsuccess=()=>{var d;s.commit();const u=(d=l.result)==null?void 0:d.value;r((u==null?void 0:u.preference)??null)},l.onerror=u=>{s.commit(),o(u)}})}async putConversationExpirationPreference(e,n,r){return await this.initPromise,new Promise((o,s)=>{if(!this.db)return s("database not initialized");const a=this.db.transaction(at.DM_CONVERSATIONS,"readwrite"),i=a.objectStore(at.DM_CONVERSATIONS),l=`${e}:${n}:expiration`,u=i.put(this.formatValue(l,{seconds:r}));u.onsuccess=()=>{a.commit(),o()},u.onerror=d=>{a.commit(),s(d)}})}async getConversationExpirationPreference(e,n){return await this.initPromise,new Promise((r,o)=>{if(!this.db)return o("database not initialized");const s=this.db.transaction(at.DM_CONVERSATIONS,"readonly"),a=s.objectStore(at.DM_CONVERSATIONS),i=`${e}:${n}:expiration`,l=a.get(i);l.onsuccess=()=>{var d;s.commit();const u=(d=l.result)==null?void 0:d.value;r((u==null?void 0:u.seconds)??0)},l.onerror=u=>{s.commit(),o(u)}})}async putConversationMessages(e,n,r){return await this.initPromise,new Promise((o,s)=>{if(!this.db)return s("database not initialized");const a=this.db.transaction(at.DM_MESSAGES,"readwrite"),i=a.objectStore(at.DM_MESSAGES),l=`${e}:${n}`,u=i.put(this.formatValue(l,r));u.onsuccess=()=>{a.commit(),o()},u.onerror=d=>{a.commit(),s(d)}})}async getConversationMessages(e,n){return await this.initPromise,new Promise((r,o)=>{if(!this.db)return o("database not initialized");const s=this.db.transaction(at.DM_MESSAGES,"readonly"),a=s.objectStore(at.DM_MESSAGES),i=`${e}:${n}`,l=a.get(i);l.onsuccess=()=>{var u;s.commit(),r(((u=l.result)==null?void 0:u.value)??null)},l.onerror=u=>{s.commit(),o(u)}})}async putUnwrappedGiftWrap(e,n){return await this.initPromise,new Promise((r,o)=>{if(!this.db)return o("database not initialized");const s=this.db.transaction(at.UNWRAPPED_GIFT_WRAPS,"readwrite"),i=s.objectStore(at.UNWRAPPED_GIFT_WRAPS).put(this.formatValue(e,n));i.onsuccess=()=>{s.commit(),r()},i.onerror=l=>{s.commit(),o(l)}})}async getUnwrappedGiftWrap(e){return await this.initPromise,new Promise((n,r)=>{if(!this.db)return r("database not initialized");const o=this.db.transaction(at.UNWRAPPED_GIFT_WRAPS,"readonly"),a=o.objectStore(at.UNWRAPPED_GIFT_WRAPS).get(e);a.onsuccess=()=>{var i;o.commit(),n(((i=a.result)==null?void 0:i.value)??null)},a.onerror=i=>{o.commit(),r(i)}})}async clearAllDMCaches(){if(await this.initPromise,!this.db)return;const e=[at.DM_EVENTS,at.DM_CONVERSATIONS,at.DM_MESSAGES,at.UNWRAPPED_GIFT_WRAPS,at.DECRYPTED_CONTENTS],n=this.db.transaction(e,"readwrite");await Promise.all(e.map(r=>new Promise((o,s)=>{const i=n.objectStore(r).clear();i.onsuccess=()=>o(),i.onerror=l=>s(l)}))),n.commit()}async getDeletedMessagesState(e){return await this.initPromise,new Promise((n,r)=>{if(!this.db)return r("database not initialized");const o=this.db.transaction(at.DM_DELETED_STATE,"readonly"),a=o.objectStore(at.DM_DELETED_STATE).get(e);a.onsuccess=()=>{var i;o.commit(),n(((i=a.result)==null?void 0:i.value)??null)},a.onerror=i=>{o.commit(),r(i)}})}async putDeletedMessagesState(e,n){return await this.initPromise,new Promise((r,o)=>{if(!this.db)return o("database not initialized");const s=this.db.transaction(at.DM_DELETED_STATE,"readwrite"),i=s.objectStore(at.DM_DELETED_STATE).put(this.formatValue(e,n));i.onsuccess=()=>{s.commit(),r()},i.onerror=l=>{s.commit(),o(l)}})}getReplaceableEventKeyFromEvent(e){if([Ue.Metadata,Ue.Contacts].includes(e.kind)||e.kind>=1e4&&e.kind<2e4)return this.getReplaceableEventKey(e.pubkey);const[,n]=e.tags.find(An("d"))??[];return this.getReplaceableEventKey(e.pubkey,n)}getReplaceableEventKey(e,n){return n===void 0?e:`${e}:${n}`}getStoreNameByKind(e){switch(e){case Ue.Metadata:return at.PROFILE_EVENTS;case Ue.RelayList:return at.RELAY_LIST_EVENTS;case Ue.Contacts:return at.FOLLOW_LIST_EVENTS;case Ue.Mutelist:return at.MUTE_LIST_EVENTS;case gt.BLOSSOM_SERVER_LIST:return at.BLOSSOM_SERVER_LIST_EVENTS;case Ue.Relaysets:return at.RELAY_SETS;case gt.FAVORITE_RELAYS:return at.FAVORITE_RELAYS;case Ue.BookmarkList:return at.BOOKMARK_LIST_EVENTS;case Ue.UserEmojiList:return at.USER_EMOJI_LIST_EVENTS;case Ue.Emojisets:return at.EMOJI_SET_EVENTS;case Ue.Pinlist:return at.PIN_LIST_EVENTS;case gt.PINNED_USERS:return at.PINNED_USERS_EVENTS;default:return}}formatValue(e,n){return{key:e,value:n,addedAt:Date.now()}}async queryEventsForNRC(e){if(await this.initPromise,!this.db)return[];const n=[at.PROFILE_EVENTS,at.RELAY_LIST_EVENTS,at.FOLLOW_LIST_EVENTS,at.MUTE_LIST_EVENTS,at.BOOKMARK_LIST_EVENTS,at.BLOSSOM_SERVER_LIST_EVENTS,at.USER_EMOJI_LIST_EVENTS,at.EMOJI_SET_EVENTS,at.PIN_LIST_EVENTS,at.PINNED_USERS_EVENTS,at.FAVORITE_RELAYS,at.RELAY_SETS,at.DM_EVENTS],r=[],o=this.db.transaction(n,"readonly");await Promise.all(n.map(a=>new Promise(i=>{const u=o.objectStore(a).openCursor();u.onsuccess=d=>{const f=d.target.result;if(f){const m=f.value;m.value&&hk(e,m.value)&&r.push(m.value),f.continue()}else i()},u.onerror=()=>{i()}}))),r.sort((a,i)=>i.created_at-a.created_at);const s=Math.min(...e.map(a=>a.limit??1/0));return s!==1/0&&s>0?r.slice(0,s):r}async putCachedEvent(e){if(await this.initPromise,!!this.db)return new Promise((n,r)=>{const o=this.db.transaction(at.CACHED_EVENTS,"readwrite"),a=o.objectStore(at.CACHED_EVENTS).put(e);a.onsuccess=()=>{o.commit(),n()},a.onerror=i=>{o.commit(),r(i)}})}async putCachedEvents(e){if(e.length!==0&&(await this.initPromise,!!this.db))return new Promise(n=>{const r=this.db.transaction(at.CACHED_EVENTS,"readwrite"),o=r.objectStore(at.CACHED_EVENTS);let s=0;for(const a of e){const i=o.put(a);i.onsuccess=()=>{s++,s===e.length&&(r.commit(),n())},i.onerror=()=>{s++,s===e.length&&(r.commit(),n())}}})}async getCachedEvent(e){return await this.initPromise,this.db?new Promise((n,r)=>{const o=this.db.transaction(at.CACHED_EVENTS,"readonly"),a=o.objectStore(at.CACHED_EVENTS).get(e);a.onsuccess=()=>{o.commit(),n(a.result??null)},a.onerror=i=>{o.commit(),r(i)}}):null}async queryCachedEvents(e){return await this.initPromise,this.db?new Promise(n=>{const r=this.db.transaction(at.CACHED_EVENTS,"readonly"),s=r.objectStore(at.CACHED_EVENTS).openCursor(),a=[];s.onsuccess=i=>{const l=i.target.result;if(l){const u=l.value;u&&hk(e,u)&&a.push(u),l.continue()}else{r.commit(),a.sort((d,f)=>f.created_at-d.created_at);const u=Math.min(...e.map(d=>d.limit??1/0));u!==1/0&&u>0?n(a.slice(0,u)):n(a)}},s.onerror=()=>{r.commit(),n([])}}):[]}async cleanupExpiredCache(e=7){if(await this.initPromise,!this.db)return 0;const n=Math.floor(Date.now()/1e3)-e*24*60*60;return new Promise(r=>{const o=this.db.transaction(at.CACHED_EVENTS,"readwrite"),a=o.objectStore(at.CACHED_EVENTS).index("created_at"),i=IDBKeyRange.upperBound(n),l=a.openCursor(i);let u=0;l.onsuccess=d=>{const f=d.target.result;f?(f.delete(),u++,f.continue()):(o.commit(),r(u))},l.onerror=()=>{o.commit(),r(u)}})}async getCachedEventCount(){return await this.initPromise,this.db?new Promise(e=>{const n=this.db.transaction(at.CACHED_EVENTS,"readonly"),o=n.objectStore(at.CACHED_EVENTS).count();o.onsuccess=()=>{n.commit(),e(o.result)},o.onerror=()=>{n.commit(),e(0)}}):0}async cleanUp(){if(await this.initPromise,!this.db)return;const e=[{name:at.PROFILE_EVENTS,expirationTimestamp:Date.now()-1e3*60*60*24*30},{name:at.RELAY_LIST_EVENTS,expirationTimestamp:Date.now()-1e3*60*60*24*30},{name:at.FOLLOW_LIST_EVENTS,expirationTimestamp:Date.now()-1e3*60*60*24*30},{name:at.BLOSSOM_SERVER_LIST_EVENTS,expirationTimestamp:Date.now()-1e3*60*60*24*30},{name:at.RELAY_INFOS,expirationTimestamp:Date.now()-1e3*60*60*24*30},{name:at.PIN_LIST_EVENTS,expirationTimestamp:Date.now()-1e3*60*60*24*30}];this.cleanupExpiredCache(7);const n=this.db.transaction(e.map(r=>r.name),"readwrite");await Promise.allSettled(e.map(({name:r,expirationTimestamp:o})=>o<0?Promise.resolve():new Promise((s,a)=>{const l=n.objectStore(r).openCursor();l.onsuccess=u=>{const d=u.target.result;d?(d.value.addedAt<o&&d.delete(),d.continue()):s()},l.onerror=u=>{a(u)}})))}async putRelayStats(e,n){if(await this.initPromise,!this.db)return;this.db.transaction(at.RELAY_STATS,"readwrite").objectStore(at.RELAY_STATS).put({key:e,value:n,addedAt:Date.now()})}async getAllRelayStats(){return await this.initPromise,this.db?new Promise((e,n)=>{const s=this.db.transaction(at.RELAY_STATS,"readonly").objectStore(at.RELAY_STATS).getAll();s.onsuccess=()=>e(s.result??[]),s.onerror=()=>n(s.error)}):[]}async deleteRelayStats(e){if(await this.initPromise,!this.db)return;this.db.transaction(at.RELAY_STATS,"readwrite").objectStore(at.RELAY_STATS).delete(e)}async putManagedRelay(e,n){if(await this.initPromise,!this.db)return;this.db.transaction(at.MANAGED_RELAYS,"readwrite").objectStore(at.MANAGED_RELAYS).put({key:e,value:n,addedAt:Date.now()})}async getAllManagedRelays(){return await this.initPromise,this.db?new Promise((e,n)=>{const s=this.db.transaction(at.MANAGED_RELAYS,"readonly").objectStore(at.MANAGED_RELAYS).getAll();s.onsuccess=()=>e(s.result??[]),s.onerror=()=>n(s.error)}):[]}async deleteManagedRelay(e){if(await this.initPromise,!this.db)return;this.db.transaction(at.MANAGED_RELAYS,"readwrite").objectStore(at.MANAGED_RELAYS).delete(e)}};je(Np,"instance");let D_=Np;const kt=D_.getInstance();function Wf(t,e){return(t==null?void 0:t.pubkey)===(e==null?void 0:e.pubkey)&&(t==null?void 0:t.signerType)===(e==null?void 0:e.signerType)}const GB="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";function vd(t=32){let e="";for(let n=0;n<t;n++)e+=GB[Math.floor(Math.random()*GB.length)];return e}const Mu=class Mu{constructor(){je(this,"relaySets",[]);je(this,"themeSetting","system");je(this,"accounts",[]);je(this,"currentAccount",null);je(this,"noteListMode","posts");je(this,"lastReadNotificationTimeMap",{});je(this,"defaultZapSats",21);je(this,"defaultZapComment","Zap!");je(this,"quickZap",!1);je(this,"accountFeedInfoMap",{});je(this,"autoplay",!0);je(this,"hideUntrustedInteractions",!1);je(this,"hideUntrustedNotifications",!1);je(this,"hideUntrustedNotes",!1);je(this,"mediaUploadServiceConfigMap",{});je(this,"dismissedTooManyRelaysAlert",!1);je(this,"showKinds",[]);je(this,"hideContentMentioningMutedUsers",!1);je(this,"notificationListStyle",Tp.DETAILED);je(this,"mediaAutoLoadPolicy",Hu.ALWAYS);je(this,"shownCreateWalletGuideToastPubkeys",new Set);je(this,"sidebarCollapse",!1);je(this,"primaryColor","DEFAULT");je(this,"enableSingleColumnLayout",!0);je(this,"faviconUrlTemplate",yk);je(this,"filterOutOnionRelays",!vje());je(this,"autoInsertNewNotes",!1);je(this,"quickReaction",!1);je(this,"quickReactionEmoji","+");je(this,"nsfwDisplayPolicy",Ul.HIDE_CONTENT);je(this,"preferNip44",!1);je(this,"dmConversationFilter","all");je(this,"graphQueriesEnabled",!0);je(this,"socialGraphProximity",null);je(this,"socialGraphIncludeMode",!0);je(this,"nrcOnlyConfigSync",!1);je(this,"verboseLogging",!1);je(this,"enableMarkdown",!0);je(this,"addClientTag",!0);je(this,"searchRelays",null);je(this,"fallbackRelayCount",7);je(this,"llmConfigMap",{});je(this,"outboxMode","automatic");return Mu.instance||(this.init(),Mu.instance=this),Mu.instance}init(){this.themeSetting=window.localStorage.getItem(bt.THEME_SETTING)??"system";const e=window.localStorage.getItem(bt.ACCOUNTS);try{this.accounts=e?JSON.parse(e):[]}catch{this.accounts=[]}const n=window.localStorage.getItem(bt.CURRENT_ACCOUNT);try{this.currentAccount=n?JSON.parse(n):null}catch{this.currentAccount=null}const r=window.localStorage.getItem(bt.NOTE_LIST_MODE);this.noteListMode=r&&["postsAndReplies","you"].includes(r)?r:"postsAndReplies";const o=window.localStorage.getItem(bt.LAST_READ_NOTIFICATION_TIME_MAP)??"{}";try{this.lastReadNotificationTimeMap=JSON.parse(o)}catch{this.lastReadNotificationTimeMap={}}const s=window.localStorage.getItem(bt.RELAY_SETS);if(s)try{this.relaySets=JSON.parse(s)}catch{this.relaySets=[]}else{let L=[];const B=window.localStorage.getItem("relayGroups");if(B){let T;try{T=JSON.parse(B)}catch{T=[]}L=T.map(R=>({id:vd(),aTag:[],name:R.groupName,relayUrls:R.relayUrls}))}L.length||(L=[]),window.localStorage.setItem(bt.RELAY_SETS,JSON.stringify(L)),this.relaySets=L}const a=window.localStorage.getItem(bt.DEFAULT_ZAP_SATS);if(a){const L=parseInt(a);isNaN(L)||(this.defaultZapSats=L)}this.defaultZapComment=window.localStorage.getItem(bt.DEFAULT_ZAP_COMMENT)??"Zap!",this.quickZap=window.localStorage.getItem(bt.QUICK_ZAP)==="true";const i=window.localStorage.getItem(bt.ACCOUNT_FEED_INFO_MAP)??"{}";try{this.accountFeedInfoMap=JSON.parse(i)}catch{this.accountFeedInfoMap={}}this.autoplay=window.localStorage.getItem(bt.AUTOPLAY)!=="false",this.enableMarkdown=window.localStorage.getItem(bt.ENABLE_MARKDOWN)!=="false";const l=window.localStorage.getItem(bt.HIDE_UNTRUSTED_EVENTS)==="true",u=window.localStorage.getItem(bt.HIDE_UNTRUSTED_INTERACTIONS),d=window.localStorage.getItem(bt.HIDE_UNTRUSTED_NOTIFICATIONS),f=window.localStorage.getItem(bt.HIDE_UNTRUSTED_NOTES);this.hideUntrustedInteractions=u?u==="true":l,this.hideUntrustedNotifications=d?d==="true":l,this.hideUntrustedNotes=f?f==="true":l;const m=window.localStorage.getItem(bt.MEDIA_UPLOAD_SERVICE_CONFIG_MAP);if(m)try{this.mediaUploadServiceConfigMap=JSON.parse(m)}catch{}const g=window.localStorage.getItem(bt.LLM_CONFIG_MAP);if(g)try{this.llmConfigMap=JSON.parse(g)}catch{}const w=window.localStorage.getItem(bt.NSFW_DISPLAY_POLICY);if(w&&Object.values(Ul).includes(w))this.nsfwDisplayPolicy=w;else{const L=window.localStorage.getItem(bt.DEFAULT_SHOW_NSFW);this.nsfwDisplayPolicy=L==="true"?Ul.SHOW:Ul.HIDE_CONTENT,window.localStorage.setItem(bt.NSFW_DISPLAY_POLICY,this.nsfwDisplayPolicy)}this.dismissedTooManyRelaysAlert=window.localStorage.getItem(bt.DISMISSED_TOO_MANY_RELAYS_ALERT)==="true";const b=window.localStorage.getItem(bt.SHOW_KINDS);if(!b)this.showKinds=b_;else{const L=window.localStorage.getItem(bt.SHOW_KINDS_VERSION),B=L?parseInt(L):0;let T;try{T=JSON.parse(b)}catch{T=b_}const R=new Set(T);B<1&&(R.add(gt.VIDEO),R.add(gt.SHORT_VIDEO)),B<2&&R.has(gt.VIDEO)&&(R.add(gt.ADDRESSABLE_NORMAL_VIDEO),R.add(gt.ADDRESSABLE_SHORT_VIDEO)),B<3&&R.has(24236)&&(R.delete(24236),R.add(gt.ADDRESSABLE_SHORT_VIDEO)),B<4&&R.has(Ue.Repost)&&R.add(Ue.GenericRepost),this.showKinds=Array.from(R)}window.localStorage.setItem(bt.SHOW_KINDS,JSON.stringify(this.showKinds)),window.localStorage.setItem(bt.SHOW_KINDS_VERSION,"4"),this.hideContentMentioningMutedUsers=window.localStorage.getItem(bt.HIDE_CONTENT_MENTIONING_MUTED_USERS)==="true",this.notificationListStyle=window.localStorage.getItem(bt.NOTIFICATION_LIST_STYLE)===Tp.COMPACT?Tp.COMPACT:Tp.DETAILED;const j=window.localStorage.getItem(bt.MEDIA_AUTO_LOAD_POLICY);j&&Object.values(Hu).includes(j)&&(this.mediaAutoLoadPolicy=j);const S=window.localStorage.getItem(bt.SHOWN_CREATE_WALLET_GUIDE_TOAST_PUBKEYS);if(S)try{this.shownCreateWalletGuideToastPubkeys=new Set(JSON.parse(S))}catch{this.shownCreateWalletGuideToastPubkeys=new Set}this.sidebarCollapse=window.localStorage.getItem(bt.SIDEBAR_COLLAPSE)==="true",this.primaryColor=window.localStorage.getItem(bt.PRIMARY_COLOR)??"DEFAULT",this.enableSingleColumnLayout=window.localStorage.getItem(bt.ENABLE_SINGLE_COLUMN_LAYOUT)!=="false",this.faviconUrlTemplate=window.localStorage.getItem(bt.FAVICON_URL_TEMPLATE)??yk;const I=window.localStorage.getItem(bt.FILTER_OUT_ONION_RELAYS);I&&(this.filterOutOnionRelays=I!=="false"),this.autoInsertNewNotes=window.localStorage.getItem(bt.AUTO_INSERT_NEW_NOTES)==="true",this.quickReaction=window.localStorage.getItem(bt.QUICK_REACTION)==="true";const N=window.localStorage.getItem(bt.QUICK_REACTION_EMOJI)??"+";N.startsWith("{")?this.quickReactionEmoji=JSON.parse(N):this.quickReactionEmoji=N,this.preferNip44=window.localStorage.getItem(bt.PREFER_NIP44)==="true",this.dmConversationFilter=window.localStorage.getItem(bt.DM_CONVERSATION_FILTER)||"all",this.graphQueriesEnabled=window.localStorage.getItem(bt.GRAPH_QUERIES_ENABLED)!=="false";const M=window.localStorage.getItem(bt.SOCIAL_GRAPH_PROXIMITY);if(M){const L=parseInt(M);!isNaN(L)&&L>=1&&L<=2&&(this.socialGraphProximity=L)}this.socialGraphIncludeMode=window.localStorage.getItem(bt.SOCIAL_GRAPH_INCLUDE_MODE)!=="false",this.nrcOnlyConfigSync=window.localStorage.getItem(bt.NRC_ONLY_CONFIG_SYNC)==="true",this.verboseLogging=window.localStorage.getItem(bt.VERBOSE_LOGGING)==="true",this.addClientTag=window.localStorage.getItem(bt.ADD_CLIENT_TAG)!=="false";const D=window.localStorage.getItem(bt.SEARCH_RELAYS);if(D)try{this.searchRelays=JSON.parse(D)}catch{this.searchRelays=null}const O=window.localStorage.getItem(bt.FALLBACK_RELAY_COUNT);if(O){const L=parseInt(O);!isNaN(L)&&L>=3&&L<=50&&(this.fallbackRelayCount=L)}this.outboxMode=window.localStorage.getItem(bt.OUTBOX_MODE)??"automatic",window.localStorage.removeItem(bt.PINNED_PUBKEYS),window.localStorage.removeItem(bt.ACCOUNT_PROFILE_EVENT_MAP),window.localStorage.removeItem(bt.ACCOUNT_FOLLOW_LIST_EVENT_MAP),window.localStorage.removeItem(bt.ACCOUNT_RELAY_LIST_EVENT_MAP),window.localStorage.removeItem(bt.ACCOUNT_MUTE_LIST_EVENT_MAP),window.localStorage.removeItem(bt.ACCOUNT_MUTE_DECRYPTED_TAGS_MAP),window.localStorage.removeItem(bt.ACTIVE_RELAY_SET_ID),window.localStorage.removeItem(bt.FEED_TYPE)}getRelaySets(){return this.relaySets}setRelaySets(e){this.relaySets=e,window.localStorage.setItem(bt.RELAY_SETS,JSON.stringify(this.relaySets))}getThemeSetting(){return this.themeSetting}setThemeSetting(e){window.localStorage.setItem(bt.THEME_SETTING,e),this.themeSetting=e}getNoteListMode(){return this.noteListMode}setNoteListMode(e){window.localStorage.setItem(bt.NOTE_LIST_MODE,e),this.noteListMode=e}getAccounts(){return this.accounts}findAccount(e){return this.accounts.find(n=>Wf(n,e))}getCurrentAccount(){return this.currentAccount}getAccountNsec(e){const n=this.accounts.find(r=>r.pubkey===e&&r.signerType==="nsec");return n==null?void 0:n.nsec}getAccountNcryptsec(e){const n=this.accounts.find(r=>r.pubkey===e&&r.signerType==="ncryptsec");return n==null?void 0:n.ncryptsec}addAccount(e){const n=this.accounts.findIndex(r=>Wf(r,e));return n!==-1?this.accounts[n]=e:this.accounts.push(e),window.localStorage.setItem(bt.ACCOUNTS,JSON.stringify(this.accounts)),this.accounts}removeAccount(e){return this.accounts=this.accounts.filter(n=>!Wf(n,e)),window.localStorage.setItem(bt.ACCOUNTS,JSON.stringify(this.accounts)),Wf(this.currentAccount,e)&&(this.currentAccount=null,window.localStorage.removeItem(bt.CURRENT_ACCOUNT)),this.accounts}switchAccount(e){if(Wf(this.currentAccount,e))return;const n=this.accounts.find(r=>Wf(r,e));n&&(this.currentAccount=n,window.localStorage.setItem(bt.CURRENT_ACCOUNT,JSON.stringify(n)))}getDefaultZapSats(){return this.defaultZapSats}setDefaultZapSats(e){this.defaultZapSats=e,window.localStorage.setItem(bt.DEFAULT_ZAP_SATS,e.toString())}getDefaultZapComment(){return this.defaultZapComment}setDefaultZapComment(e){this.defaultZapComment=e,window.localStorage.setItem(bt.DEFAULT_ZAP_COMMENT,e)}getQuickZap(){return this.quickZap}setQuickZap(e){this.quickZap=e,window.localStorage.setItem(bt.QUICK_ZAP,e.toString())}getLastReadNotificationTime(e){return this.lastReadNotificationTimeMap[e]??0}setLastReadNotificationTime(e,n){this.lastReadNotificationTimeMap[e]=n,window.localStorage.setItem(bt.LAST_READ_NOTIFICATION_TIME_MAP,JSON.stringify(this.lastReadNotificationTimeMap))}getFeedInfo(e){return this.accountFeedInfoMap[e]}setFeedInfo(e,n){this.accountFeedInfoMap[n??"default"]=e,window.localStorage.setItem(bt.ACCOUNT_FEED_INFO_MAP,JSON.stringify(this.accountFeedInfoMap))}getAutoplay(){return this.autoplay}setAutoplay(e){this.autoplay=e,window.localStorage.setItem(bt.AUTOPLAY,e.toString())}getHideUntrustedInteractions(){return this.hideUntrustedInteractions}setHideUntrustedInteractions(e){this.hideUntrustedInteractions=e,window.localStorage.setItem(bt.HIDE_UNTRUSTED_INTERACTIONS,e.toString())}getHideUntrustedNotifications(){return this.hideUntrustedNotifications}setHideUntrustedNotifications(e){this.hideUntrustedNotifications=e,window.localStorage.setItem(bt.HIDE_UNTRUSTED_NOTIFICATIONS,e.toString())}getHideUntrustedNotes(){return this.hideUntrustedNotes}setHideUntrustedNotes(e){this.hideUntrustedNotes=e,window.localStorage.setItem(bt.HIDE_UNTRUSTED_NOTES,e.toString())}getMediaUploadServiceConfig(e){const n={type:"blossom"};if(!e)return n;const r=window.localStorage.getItem(bt.MEDIA_UPLOAD_SERVICE_CONFIG_MAP);if(r)try{return JSON.parse(r)[e]??n}catch{return n}return n}setMediaUploadServiceConfig(e,n){return this.mediaUploadServiceConfigMap[e]=n,window.localStorage.setItem(bt.MEDIA_UPLOAD_SERVICE_CONFIG_MAP,JSON.stringify(this.mediaUploadServiceConfigMap)),n}getLlmConfig(e){if(!e)return null;const n=window.localStorage.getItem(bt.LLM_CONFIG_MAP);if(n)try{return JSON.parse(n)[e]??null}catch{return null}return null}setLlmConfig(e,n){this.llmConfigMap[e]=n,window.localStorage.setItem(bt.LLM_CONFIG_MAP,JSON.stringify(this.llmConfigMap))}getDismissedTooManyRelaysAlert(){return this.dismissedTooManyRelaysAlert}setDismissedTooManyRelaysAlert(e){this.dismissedTooManyRelaysAlert=e,window.localStorage.setItem(bt.DISMISSED_TOO_MANY_RELAYS_ALERT,e.toString())}getShowKinds(){return this.showKinds}setShowKinds(e){this.showKinds=e,window.localStorage.setItem(bt.SHOW_KINDS,JSON.stringify(e))}getHideContentMentioningMutedUsers(){return this.hideContentMentioningMutedUsers}setHideContentMentioningMutedUsers(e){this.hideContentMentioningMutedUsers=e,window.localStorage.setItem(bt.HIDE_CONTENT_MENTIONING_MUTED_USERS,e.toString())}getNotificationListStyle(){return this.notificationListStyle}setNotificationListStyle(e){this.notificationListStyle=e,window.localStorage.setItem(bt.NOTIFICATION_LIST_STYLE,e)}getMediaAutoLoadPolicy(){return this.mediaAutoLoadPolicy}setMediaAutoLoadPolicy(e){this.mediaAutoLoadPolicy=e,window.localStorage.setItem(bt.MEDIA_AUTO_LOAD_POLICY,e)}hasShownCreateWalletGuideToast(e){return this.shownCreateWalletGuideToastPubkeys.has(e)}markCreateWalletGuideToastAsShown(e){this.shownCreateWalletGuideToastPubkeys.has(e)||(this.shownCreateWalletGuideToastPubkeys.add(e),window.localStorage.setItem(bt.SHOWN_CREATE_WALLET_GUIDE_TOAST_PUBKEYS,JSON.stringify(Array.from(this.shownCreateWalletGuideToastPubkeys))))}getSidebarCollapse(){return this.sidebarCollapse}setSidebarCollapse(e){this.sidebarCollapse=e,window.localStorage.setItem(bt.SIDEBAR_COLLAPSE,e.toString())}getPrimaryColor(){return this.primaryColor}setPrimaryColor(e){this.primaryColor=e,window.localStorage.setItem(bt.PRIMARY_COLOR,e)}getEnableSingleColumnLayout(){return this.enableSingleColumnLayout}setEnableSingleColumnLayout(e){this.enableSingleColumnLayout=e,window.localStorage.setItem(bt.ENABLE_SINGLE_COLUMN_LAYOUT,e.toString())}getFaviconUrlTemplate(){return this.faviconUrlTemplate}setFaviconUrlTemplate(e){this.faviconUrlTemplate=e,window.localStorage.setItem(bt.FAVICON_URL_TEMPLATE,e)}getFilterOutOnionRelays(){return this.filterOutOnionRelays}setFilterOutOnionRelays(e){this.filterOutOnionRelays=e,window.localStorage.setItem(bt.FILTER_OUT_ONION_RELAYS,e.toString())}getAutoInsertNewNotes(){return this.autoInsertNewNotes}setAutoInsertNewNotes(e){this.autoInsertNewNotes=e,window.localStorage.setItem(bt.AUTO_INSERT_NEW_NOTES,e.toString())}getQuickReaction(){return this.quickReaction}setQuickReaction(e){this.quickReaction=e,window.localStorage.setItem(bt.QUICK_REACTION,e.toString())}getQuickReactionEmoji(){return this.quickReactionEmoji}setQuickReactionEmoji(e){this.quickReactionEmoji=e,window.localStorage.setItem(bt.QUICK_REACTION_EMOJI,typeof e=="string"?e:JSON.stringify(e))}getNsfwDisplayPolicy(){return this.nsfwDisplayPolicy}setNsfwDisplayPolicy(e){this.nsfwDisplayPolicy=e,window.localStorage.setItem(bt.NSFW_DISPLAY_POLICY,e)}getPreferNip44(){return this.preferNip44}setPreferNip44(e){this.preferNip44=e,window.localStorage.setItem(bt.PREFER_NIP44,e.toString())}getDMConversationFilter(){return this.dmConversationFilter}setDMConversationFilter(e){this.dmConversationFilter=e,window.localStorage.setItem(bt.DM_CONVERSATION_FILTER,e)}getDMLastSeenTimestamp(e){const n=window.localStorage.getItem(bt.DM_LAST_SEEN_TIMESTAMP);if(!n)return 0;try{return JSON.parse(n)[e]??0}catch{return 0}}setDMLastSeenTimestamp(e,n){const r=window.localStorage.getItem(bt.DM_LAST_SEEN_TIMESTAMP);let o={};if(r)try{o=JSON.parse(r)}catch{}o[e]=n,window.localStorage.setItem(bt.DM_LAST_SEEN_TIMESTAMP,JSON.stringify(o))}getGraphQueriesEnabled(){return this.graphQueriesEnabled}setGraphQueriesEnabled(e){this.graphQueriesEnabled=e,window.localStorage.setItem(bt.GRAPH_QUERIES_ENABLED,e.toString())}getSocialGraphProximity(){return this.socialGraphProximity}setSocialGraphProximity(e){this.socialGraphProximity=e,e===null?window.localStorage.removeItem(bt.SOCIAL_GRAPH_PROXIMITY):window.localStorage.setItem(bt.SOCIAL_GRAPH_PROXIMITY,e.toString())}getSocialGraphIncludeMode(){return this.socialGraphIncludeMode}setSocialGraphIncludeMode(e){this.socialGraphIncludeMode=e,window.localStorage.setItem(bt.SOCIAL_GRAPH_INCLUDE_MODE,e.toString())}getNrcOnlyConfigSync(){return this.nrcOnlyConfigSync}setNrcOnlyConfigSync(e){this.nrcOnlyConfigSync=e,window.localStorage.setItem(bt.NRC_ONLY_CONFIG_SYNC,e.toString())}getVerboseLogging(){return this.verboseLogging}setVerboseLogging(e){this.verboseLogging=e,window.localStorage.setItem(bt.VERBOSE_LOGGING,e.toString())}getEnableMarkdown(){return this.enableMarkdown}setEnableMarkdown(e){this.enableMarkdown=e,window.localStorage.setItem(bt.ENABLE_MARKDOWN,e.toString())}getAddClientTag(){return this.addClientTag}setAddClientTag(e){this.addClientTag=e,window.localStorage.setItem(bt.ADD_CLIENT_TAG,e.toString())}getSearchRelays(){return this.searchRelays??[]}setSearchRelays(e){this.searchRelays=e,e===null?window.localStorage.removeItem(bt.SEARCH_RELAYS):window.localStorage.setItem(bt.SEARCH_RELAYS,JSON.stringify(e))}hasCustomSearchRelays(){return this.searchRelays!==null&&this.searchRelays.length>0}getFallbackRelayCount(){return this.fallbackRelayCount}setFallbackRelayCount(e){this.fallbackRelayCount=Math.max(3,Math.min(50,e)),window.localStorage.setItem(bt.FALLBACK_RELAY_COUNT,this.fallbackRelayCount.toString())}getOutboxMode(){return this.outboxMode}setOutboxMode(e){this.outboxMode=e,window.localStorage.setItem(bt.OUTBOX_MODE,e)}getNrcRendezvousUrl(){return window.localStorage.getItem(Mu.NRC_RENDEZVOUS_KEY)||""}setNrcRendezvousUrl(e){e?window.localStorage.setItem(Mu.NRC_RENDEZVOUS_KEY,e):window.localStorage.removeItem(Mu.NRC_RENDEZVOUS_KEY)}};je(Mu,"instance"),je(Mu,"NRC_RENDEZVOUS_KEY","nrc:rendezvousUrl");let L_=Mu;const Xe=new L_,N3="smesh-settings-changed";function kr(){window.dispatchEvent(new CustomEvent(N3))}const tCe={outbox:0,inbox:1,both:2},nCe={pending:0,approved:1,rejected:2},rCe=["outbox","inbox","both","outbox"],oCe=["pending","approved","rejected","pending"],sCe=.99,aCe=10,iCe=[{url:"https://api.ipify.org?format=json",parse:t=>{try{return JSON.parse(t).ip}catch{return null}}},{url:"https://ifconfig.me/ip",parse:t=>t.trim()},{url:"https://icanhazip.com",parse:t=>t.trim()}];function ate(t){const e=t.split(".");return e.length!==4?"00000000":e.map(n=>{const r=parseInt(n,10);return isNaN(r)||r<0||r>255?"00":r.toString(16).padStart(2,"0")}).join("")}function lCe(t){const e=t.split("."),n=new Uint8Array(4);for(let r=0;r<4;r++){const o=parseInt(e[r],10);n[r]=isNaN(o)?0:o&255}return n}function qB(t){return`${t[0]}.${t[1]}.${t[2]}.${t[3]}`}const cCe=/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/;class uCe{constructor(){je(this,"cachedIp",null);je(this,"detectPromise",null)}getCurrentIpHex(){return this.cachedIp?ate(this.cachedIp):null}getCurrentIp(){return this.cachedIp}async detect(){return this.cachedIp?this.cachedIp:this.detectPromise?this.detectPromise:(this.detectPromise=this.raceDetect(),this.cachedIp=await this.detectPromise,this.detectPromise=null,this.cachedIp)}async raceDetect(){const e=new AbortController,n=setTimeout(()=>e.abort(),5e3);try{return await Promise.any(iCe.map(async o=>{const s=await fetch(o.url,{signal:e.signal});if(!s.ok)throw new Error(`${o.url}: ${s.status}`);const a=await s.text(),i=o.parse(a);if(!i||!cCe.test(i))throw new Error(`${o.url}: invalid IP "${i}"`);return i}))}catch{return null}finally{clearTimeout(n)}}}const BI=new uCe,fCe=1e4;class dCe{constructor(){je(this,"entries",new Map);je(this,"dirtyUrls",new Set);je(this,"flushTimer",null);je(this,"initPromise",null)}async init(){return this.initPromise?this.initPromise:(this.initPromise=this.loadFromDb(),this.initPromise)}async loadFromDb(){const e=await kt.getAllRelayStats();for(const n of e){const r=n.value;if(!r||!r.url)continue;const o=new Map;if(Array.isArray(r.networkStats))for(const[s,a]of r.networkStats)o.set(s,{...a});this.entries.set(r.url,{url:r.url,direction:r.direction??"outbox",relayIp:r.relayIp??null,networkStats:o,manualExclude:r.manualExclude??!1,status:r.status??"pending",reason:r.reason??"",addedAt:r.addedAt??Date.now(),updatedAt:r.updatedAt??Date.now()})}}getOrCreateEntry(e){e=oo(e);let n=this.entries.get(e);return n||(n={url:e,direction:"outbox",relayIp:null,networkStats:new Map,manualExclude:!1,status:"pending",reason:"",addedAt:Date.now(),updatedAt:Date.now()},this.entries.set(e,n)),n}recordPublishSuccess(e){this.recordStat(e,"publishSuccess")}recordPublishFailure(e){this.recordStat(e,"publishFailure")}recordFetchSuccess(e){this.recordStat(e,"fetchSuccess")}recordFetchFailure(e){this.recordStat(e,"fetchFailure")}recordStat(e,n){const r=this.getOrCreateEntry(e),o=BI.getCurrentIpHex()??"unknown";let s=r.networkStats.get(o);s||(s={publishSuccess:0,publishFailure:0,fetchSuccess:0,fetchFailure:0,lastSeen:Date.now()},r.networkStats.set(o,s)),s[n]++,s.lastSeen=Date.now(),r.updatedAt=Date.now(),this.dirtyUrls.add(e),this.scheduleFlush()}getFailureRate(e){const n=this.entries.get(oo(e));if(!n)return 0;const r=BI.getCurrentIpHex()??"unknown",o=n.networkStats.get(r);if(!o)return 0;const s=o.publishSuccess+o.publishFailure+o.fetchSuccess+o.fetchFailure;return s===0?0:(o.publishFailure+o.fetchFailure)/s}isAutoDisabled(e){const n=this.entries.get(oo(e));if(!n)return!1;const r=BI.getCurrentIpHex()??"unknown",o=n.networkStats.get(r);if(!o)return!1;const s=o.publishSuccess+o.publishFailure+o.fetchSuccess+o.fetchFailure;return s<=aCe?!1:(o.publishFailure+o.fetchFailure)/s>=sCe}getEntry(e){return this.entries.get(oo(e))}getAllEntries(){return Array.from(this.entries.values())}setRelayIp(e,n){e=oo(e);const r=this.getOrCreateEntry(e);r.relayIp=n,r.updatedAt=Date.now(),this.dirtyUrls.add(e),this.scheduleFlush()}updateEntry(e,n){const r=this.getOrCreateEntry(e);n.status!==void 0&&(r.status=n.status),n.direction!==void 0&&(r.direction=n.direction),n.manualExclude!==void 0&&(r.manualExclude=n.manualExclude),n.reason!==void 0&&(r.reason=n.reason),r.updatedAt=Date.now(),this.dirtyUrls.add(e),this.scheduleFlush()}scheduleFlush(){this.flushTimer||(this.flushTimer=setTimeout(()=>{this.flushTimer=null,this.flush()},fCe))}async flush(){if(this.dirtyUrls.size===0)return;const e=Array.from(this.dirtyUrls);this.dirtyUrls.clear();for(const n of e){const r=this.entries.get(n);if(!r)continue;const o={url:r.url,direction:r.direction,relayIp:r.relayIp,networkStats:Array.from(r.networkStats.entries()),manualExclude:r.manualExclude,status:r.status,reason:r.reason,addedAt:r.addedAt,updatedAt:r.updatedAt};await kt.putRelayStats(n,o)}}encodeBinary(){const e=this.getAllEntries(),n=new TextEncoder;let r=0;const o=[];for(const u of e){const d=n.encode(u.url);o.push(d),r+=1+d.length+1+4+1+u.networkStats.size*12}const s=new ArrayBuffer(r),a=new DataView(s),i=new Uint8Array(s);let l=0;for(let u=0;u<e.length;u++){const d=e[u],f=o[u];a.setUint8(l,f.length),l+=1,i.set(f,l),l+=f.length;const m=tCe[d.direction]??0,g=nCe[d.status]??0,w=d.manualExclude?1:0,b=(m&3)<<6|(g&3)<<4|(w&1)<<3;a.setUint8(l,b),l+=1;const j=lCe(d.relayIp??"0.0.0.0");i.set(j,l),l+=4,a.setUint8(l,Math.min(d.networkStats.size,255)),l+=1;let S=0;for(const[I,N]of d.networkStats){if(S>=255)break;const M=pCe(I);i.set(M,l),l+=4,a.setUint16(l,Math.min(N.publishSuccess,65535)),l+=2,a.setUint16(l,Math.min(N.publishFailure,65535)),l+=2,a.setUint16(l,Math.min(N.fetchSuccess,65535)),l+=2,a.setUint16(l,Math.min(N.fetchFailure,65535)),l+=2,S++}}return new Uint8Array(s,0,l)}decodeBinary(e){const n=new DataView(e.buffer,e.byteOffset,e.byteLength),r=new TextDecoder;let o=0;for(;o<e.length&&!(o+1>e.length);){const s=n.getUint8(o);if(o+=1,o+s>e.length)break;const a=r.decode(e.subarray(o,o+s));if(o+=s,o+6>e.length)break;const i=n.getUint8(o);o+=1;const l=i>>6&3,u=i>>4&3,d=i>>3&1,f=rCe[l],m=oCe[u],g=d===1,w=qB(e.subarray(o,o+4)),b=w==="0.0.0.0"?null:w;o+=4;const j=n.getUint8(o);o+=1;const S=new Map;for(let N=0;N<j&&!(o+12>e.length);N++){const M=e.subarray(o,o+4),D=ate(qB(M));o+=4;const O=n.getUint16(o);o+=2;const L=n.getUint16(o);o+=2;const B=n.getUint16(o);o+=2;const T=n.getUint16(o);o+=2,S.set(D,{publishSuccess:O,publishFailure:L,fetchSuccess:B,fetchFailure:T,lastSeen:Date.now()})}const I=this.entries.get(a);if(I){for(const[N,M]of S){const D=I.networkStats.get(N);D?(D.publishSuccess=Math.max(D.publishSuccess,M.publishSuccess),D.publishFailure=Math.max(D.publishFailure,M.publishFailure),D.fetchSuccess=Math.max(D.fetchSuccess,M.fetchSuccess),D.fetchFailure=Math.max(D.fetchFailure,M.fetchFailure),D.lastSeen=Math.max(D.lastSeen,M.lastSeen)):I.networkStats.set(N,M)}b&&!I.relayIp&&(I.relayIp=b),I.updatedAt=Date.now()}else this.entries.set(a,{url:a,direction:f,relayIp:b,networkStats:S,manualExclude:g,status:m,reason:"",addedAt:Date.now(),updatedAt:Date.now()});this.dirtyUrls.add(a)}this.dirtyUrls.size>0&&this.scheduleFlush()}}function pCe(t){const e=new Uint8Array(4);if(t.length!==8)return e;for(let n=0;n<4;n++){const r=parseInt(t.slice(n*2,n*2+2),16);e[n]=isNaN(r)?0:r&255}return e}const qr=new dCe;class hCe{filterRelayUrls(e,n,r){const o=Xe.getOutboxMode(),s=r?new Set([...r].map(oo)):void 0,a=[];for(let i of e){if(i=oo(i),s!=null&&s.has(i)){a.push(i);continue}const l=qr.getEntry(i);if(!(l!=null&&l.manualExclude)&&!qr.isAutoDisabled(i)){if(o==="automatic"){l||this.addPending(i,n),a.push(i);continue}(l==null?void 0:l.status)==="approved"?a.push(i):(l==null?void 0:l.status)==="rejected"||this.addPending(i,n)}}return a}addPending(e,n,r){const o=qr.getEntry(e);if(!o){const s=qr.getOrCreateEntry(e);s.direction=n,r&&(s.reason=r);return}o.direction!==n&&o.direction!=="both"&&qr.updateEntry(e,{direction:"both"}),r&&!o.reason&&qr.updateEntry(e,{reason:r})}approve(e){qr.updateEntry(e,{status:"approved"})}reject(e){qr.updateEntry(e,{status:"rejected"})}resetStatus(e){qr.updateEntry(e,{status:"pending"})}setManualExclude(e,n){qr.updateEntry(e,{manualExclude:n})}bulkApprove(e){for(const n of e)this.approve(n)}bulkReject(e){for(const n of e)this.reject(n)}getPendingRelays(){return qr.getAllEntries().filter(e=>e.status==="pending")}getApprovedRelays(){return qr.getAllEntries().filter(e=>e.status==="approved")}getRejectedRelays(){return qr.getAllEntries().filter(e=>e.status==="rejected")}getExcludedRelays(){return qr.getAllEntries().filter(e=>e.manualExclude)}getAutoDisabledRelays(){return qr.getAllEntries().filter(e=>qr.isAutoDisabled(e.url))}}const ki=new hCe;var mCe=new TextDecoder("utf-8"),gCe=new TextEncoder,ite=1,lte=65535;function yCe(t,e){const n=ql.getSharedSecret(t,"02"+e).subarray(1,33);return uX(ml,n,"nip44-v2")}function cte(t,e){const n=fX(ml,t,e,76);return{chacha_key:n.subarray(0,32),chacha_nonce:n.subarray(32,44),hmac_key:n.subarray(44,76)}}function ST(t){if(!Number.isSafeInteger(t)||t<1)throw new Error("expected positive integer");if(t<=32)return 32;const e=1<<Math.floor(Math.log2(t-1))+1,n=e<=256?32:e/8;return n*(Math.floor((t-1)/n)+1)}function vCe(t){if(!Number.isSafeInteger(t)||t<ite||t>lte)throw new Error("invalid plaintext size: must be between 1 and 65535 bytes");const e=new Uint8Array(2);return new DataView(e.buffer).setUint16(0,t,!1),e}function wCe(t){const e=gCe.encode(t),n=e.length,r=vCe(n),o=new Uint8Array(ST(n)-n);return vh(r,e,o)}function bCe(t){const e=new DataView(t.buffer).getUint16(0),n=t.subarray(2,2+e);if(e<ite||e>lte||n.length!==e||t.length!==2+ST(e))throw new Error("invalid padding");return mCe.decode(n)}function ute(t,e,n){if(n.length!==32)throw new Error("AAD associated data must be 32 bytes");const r=vh(n,e);return Py(ml,t,r)}function xCe(t){if(typeof t!="string")throw new Error("payload must be a valid string");const e=t.length;if(e<132||e>87472)throw new Error("invalid payload length: "+e);if(t[0]==="#")throw new Error("unknown encryption version");let n;try{n=es.decode(t)}catch(s){throw new Error("invalid base64: "+s.message)}const r=n.length;if(r<99||r>65603)throw new Error("invalid data length: "+r);const o=n[0];if(o!==2)throw new Error("unknown encryption version "+o);return{nonce:n.subarray(1,33),ciphertext:n.subarray(33,-32),mac:n.subarray(-32)}}function kCe(t,e,n=xb(32)){const{chacha_key:r,chacha_nonce:o,hmac_key:s}=cte(e,n),a=wCe(t),i=Ly(r,o,a),l=ute(s,i,n);return es.encode(vh(new Uint8Array([2]),n,i,l))}function jCe(t,e){const{nonce:n,ciphertext:r,mac:o}=xCe(t),{chacha_key:s,chacha_nonce:a,hmac_key:i}=cte(e,n),l=ute(i,r,n);if(!pC(l,o))throw new Error("invalid MAC");const u=Ly(s,a,r);return bCe(u)}var Lm={utils:{getConversationKey:yCe,calcPaddedLen:ST},encrypt:kCe,decrypt:jCe};const P_=24891,jk=24892;function CCe(t){var n;const e=(n=t.tags.find(r=>r[0]==="d"))==null?void 0:n[1];return(e==null?void 0:e.startsWith("device:"))??!1}function SCe(){const t=new Uint8Array(32);return crypto.getRandomValues(t),Zc(t)}function fte(t){const e=id(t),n=ug(e);return{privkey:e,pubkey:n}}function KB(t,e){return Lm.utils.getConversationKey(t,e)}function ZB(t,e,n,r){const o=n||SCe(),{pubkey:s}=fte(o),a=new URLSearchParams;return a.set("relay",e),a.set("secret",o),r&&a.set("name",r),{uri:`nostr+relayconnect://${t}?${a.toString()}`,secret:o,clientPubkey:s}}function dte(t){let e;try{e=new URL(t)}catch{throw new Error("Invalid URI format")}if(e.protocol!=="nostr+relayconnect:")throw new Error("Invalid URI scheme, expected nostr+relayconnect://");const n=e.hostname;if(!/^[0-9a-fA-F]{64}$/.test(n))throw new Error("Invalid relay pubkey in URI");const r=e.searchParams.get("relay");if(!r)throw new Error("Missing relay parameter in URI");try{new URL(r)}catch{throw new Error("Invalid rendezvous relay URL")}const o=e.searchParams.get("name")||void 0,s=e.searchParams.get("secret");if(!s)throw new Error("Missing secret parameter in URI");if(!/^[0-9a-fA-F]{64}$/.test(s))throw new Error("Invalid secret format, expected 64 hex characters");const{privkey:a,pubkey:i}=fte(s);return{relayPubkey:n,rendezvousUrl:r,secret:s,clientPubkey:i,clientPrivkey:a,deviceName:o}}function UI(){const t=crypto.getRandomValues(new Uint8Array(8));return Zc(t)}function ECe(){return crypto.randomUUID()}const $I=6e4;class Ym{constructor(e){je(this,"uri");je(this,"ws",null);je(this,"sessionId");je(this,"connected",!1);je(this,"subId",null);je(this,"pendingEvents",[]);je(this,"onProgress");je(this,"resolveSync");je(this,"rejectSync");je(this,"chunkBuffers",new Map);je(this,"syncTimeout",null);je(this,"lastActivityTime",0);je(this,"idsMode",!1);je(this,"resolveIDs");je(this,"rejectIDs");je(this,"sendingEvents",!1);je(this,"eventsSentCount",0);je(this,"eventsToSend",[]);je(this,"resolveSend");this.uri=dte(e),this.sessionId=ECe()}getRelayPubkey(){return this.uri.relayPubkey}getRendezvousUrl(){return this.uri.rendezvousUrl}async sync(e,n,r=$I){return this.onProgress=n,this.pendingEvents=[],this.chunkBuffers.clear(),this.lastActivityTime=Date.now(),new Promise((o,s)=>{this.resolveSync=o,this.rejectSync=s,this.syncTimeout=setTimeout(()=>{Date.now()-this.lastActivityTime>3e4?(console.error("[NRC Client] Sync timeout - no activity for 30s"),this.disconnect(),s(new Error("Sync timeout - connection stalled"))):(console.log("[NRC Client] Sync still active, extending timeout"),this.syncTimeout=setTimeout(()=>{this.disconnect(),s(new Error("Sync timeout"))},r))},r),this.connect().then(()=>{this.sendREQ(e)}).catch(a=>{this.clearSyncTimeout(),s(a)})})}async requestIDs(e,n,r=$I){return this.onProgress=n,this.chunkBuffers.clear(),this.lastActivityTime=Date.now(),this.idsMode=!0,new Promise((o,s)=>{this.resolveIDs=o,this.rejectIDs=s,this.syncTimeout=setTimeout(()=>{this.disconnect(),s(new Error("IDS request timeout"))},r),this.connect().then(()=>{this.sendIDSRequest(e)}).catch(a=>{this.clearSyncTimeout(),s(a)})})}sendIDSRequest(e){var r,o;if(!this.ws||!this.connected){(r=this.rejectIDs)==null||r.call(this,new Error("Not connected"));return}(o=this.onProgress)==null||o.call(this,{phase:"requesting",eventsReceived:0,message:"Requesting event IDs..."}),this.subId=UI();const n={type:"IDS",payload:["IDS",this.subId,...e]};this.sendEncryptedRequest(n).catch(s=>{var a;console.error("[NRC Client] Failed to send IDS:",s),(a=this.rejectIDs)==null||a.call(this,s)})}async sendEvents(e,n,r=$I){return e.length===0?0:(this.onProgress=n,this.chunkBuffers.clear(),this.lastActivityTime=Date.now(),this.sendingEvents=!0,this.eventsSentCount=0,this.eventsToSend=[...e],new Promise((o,s)=>{this.resolveSend=o,this.syncTimeout=setTimeout(()=>{this.disconnect(),s(new Error("Send events timeout"))},r),this.connect().then(()=>{this.sendNextEvent()}).catch(a=>{this.clearSyncTimeout(),s(a)})}))}sendNextEvent(){var r,o,s;if(this.eventsToSend.length===0){this.clearSyncTimeout(),(r=this.onProgress)==null||r.call(this,{phase:"complete",eventsReceived:0,eventsSent:this.eventsSentCount,message:`Sent ${this.eventsSentCount} events`}),(o=this.resolveSend)==null||o.call(this,this.eventsSentCount),this.disconnect();return}const e=this.eventsToSend.shift();(s=this.onProgress)==null||s.call(this,{phase:"sending",eventsReceived:0,eventsSent:this.eventsSentCount,message:`Sending event ${this.eventsSentCount+1}...`});const n={type:"EVENT",payload:["EVENT",e]};this.sendEncryptedRequest(n).catch(a=>{console.error("[NRC Client] Failed to send EVENT:",a),this.sendNextEvent()})}clearSyncTimeout(){this.syncTimeout&&(clearTimeout(this.syncTimeout),this.syncTimeout=null)}updateActivity(){this.lastActivityTime=Date.now()}async connect(){var n;if(this.connected)return;(n=this.onProgress)==null||n.call(this,{phase:"connecting",eventsReceived:0,message:"Connecting to rendezvous relay..."});const e=this.uri.rendezvousUrl;return new Promise((r,o)=>{let s=e;e.startsWith("http://")?s="ws://"+e.slice(7):e.startsWith("https://")?s="wss://"+e.slice(8):!e.startsWith("ws://")&&!e.startsWith("wss://")&&(s="wss://"+e),console.log(`[NRC Client] Connecting to: ${s}`);const a=new WebSocket(s),i=setTimeout(()=>{a.close(),o(new Error("Connection timeout"))},1e4);a.onopen=()=>{clearTimeout(i),this.ws=a,this.connected=!0;const l=UI(),u=this.uri.clientPubkey;if(!u){o(new Error("Client pubkey not available"));return}a.send(JSON.stringify(["REQ",l,{kinds:[jk],"#p":[u],since:Math.floor(Date.now()/1e3)-60}])),console.log(`[NRC Client] Connected, subscribed for responses to ${u.slice(0,8)}...`),r()},a.onerror=l=>{clearTimeout(i),console.error("[NRC Client] WebSocket error:",l),o(new Error("WebSocket error"))},a.onclose=()=>{this.connected=!1,this.ws=null,console.log("[NRC Client] WebSocket closed")},a.onmessage=l=>{this.handleMessage(l.data)}})}sendREQ(e){var r,o,s,a;if(!this.ws||!this.connected){(r=this.rejectSync)==null||r.call(this,new Error("Not connected"));return}console.log(`[NRC Client] Sending REQ to listener pubkey: ${(o=this.uri.relayPubkey)==null?void 0:o.slice(0,8)}...`),console.log(`[NRC Client] Our client pubkey: ${(s=this.uri.clientPubkey)==null?void 0:s.slice(0,8)}...`),console.log("[NRC Client] Filters:",JSON.stringify(e)),(a=this.onProgress)==null||a.call(this,{phase:"requesting",eventsReceived:0,message:"Requesting events..."}),this.subId=UI();const n={type:"REQ",payload:["REQ",this.subId,...e]};this.sendEncryptedRequest(n).catch(i=>{var l;console.error("[NRC Client] Failed to send request:",i),(l=this.rejectSync)==null||l.call(this,i)})}async sendEncryptedRequest(e){var i,l;if(!this.ws)throw new Error("Not connected");if(!this.uri.clientPrivkey||!this.uri.clientPubkey)throw new Error("Missing keys");const n=JSON.stringify(e),r=KB(this.uri.clientPrivkey,this.uri.relayPubkey),o=Lm.encrypt(n,r),s={kind:P_,content:o,tags:[["p",this.uri.relayPubkey],["encryption","nip44_v2"],["session",this.sessionId]],created_at:Math.floor(Date.now()/1e3),pubkey:this.uri.clientPubkey},a=_i(s,this.uri.clientPrivkey);this.ws.send(JSON.stringify(["EVENT",a])),console.log(`[NRC Client] Sent encrypted REQ, event id: ${(i=a.id)==null?void 0:i.slice(0,8)}..., p-tag: ${(l=this.uri.relayPubkey)==null?void 0:l.slice(0,8)}...`)}handleMessage(e){var n,r,o;try{const s=JSON.parse(e);if(!Array.isArray(s))return;const[a,...i]=s;if(a==="EVENT"){const[l,u]=i;if(console.log(`[NRC Client] Received EVENT on sub ${l}, kind ${u.kind}, from ${(n=u.pubkey)==null?void 0:n.slice(0,8)}...`),u.kind===jk){const d=(r=u.tags.find(f=>f[0]==="p"))==null?void 0:r[1];console.log(`[NRC Client] Response p-tag: ${d==null?void 0:d.slice(0,8)}..., our pubkey: ${(o=this.uri.clientPubkey)==null?void 0:o.slice(0,8)}...`),this.handleResponse(u)}else console.log(`[NRC Client] Ignoring event kind ${u.kind}`)}else a==="EOSE"?console.log("[NRC Client] Received EOSE from relay subscription"):a==="OK"?console.log("[NRC Client] Event published:",i):a==="NOTICE"&&console.log("[NRC Client] Relay notice:",i[0])}catch(s){console.error("[NRC Client] Failed to parse message:",s)}}handleResponse(e){var n;console.log(`[NRC Client] Attempting to decrypt response from ${(n=e.pubkey)==null?void 0:n.slice(0,8)}...`),this.decryptAndProcessResponse(e).catch(r=>{console.error("[NRC Client] Failed to handle response:",r)})}async decryptAndProcessResponse(e){if(!this.uri.clientPrivkey)throw new Error("Missing private key for decryption");const n=KB(this.uri.clientPrivkey,this.uri.relayPubkey),r=Lm.decrypt(e.content,n),o=JSON.parse(r);if(console.log(`[NRC Client] Received response: ${o.type}`),o.type==="CHUNK"){this.handleChunk(o);return}this.processResponse(o)}handleChunk(e){const n=e.payload[0];if(!n||n.type!=="CHUNK"){console.error("[NRC Client] Invalid chunk message");return}const{messageId:r,index:o,total:s,data:a}=n;let i=this.chunkBuffers.get(r);if(i||(i={chunks:new Map,total:s,receivedAt:Date.now()},this.chunkBuffers.set(r,i)),i.chunks.set(o,a),this.updateActivity(),console.log(`[NRC Client] Received chunk ${o+1}/${s} for message ${r.slice(0,8)}`),i.chunks.size===i.total){const u=[];for(let f=0;f<i.total;f++){const m=i.chunks.get(f);if(!m){console.error(`[NRC Client] Missing chunk ${f} for message ${r}`),this.chunkBuffers.delete(r);return}u.push(m)}const d=u.join("");try{const f=decodeURIComponent(escape(atob(d))),m=JSON.parse(f);console.log(`[NRC Client] Reassembled chunked message: ${m.type}`),this.processResponse(m)}catch(f){console.error("[NRC Client] Failed to reassemble chunked message:",f)}this.chunkBuffers.delete(r)}const l=Date.now();for(const[u,d]of this.chunkBuffers)l-d.receivedAt>6e4&&(console.warn(`[NRC Client] Discarding stale chunk buffer: ${u}`),this.chunkBuffers.delete(u))}processResponse(e){var n,r,o;switch(this.updateActivity(),e.type){case"EVENT":{const[,,s]=e.payload;s&&(this.pendingEvents.push(s),(n=this.onProgress)==null||n.call(this,{phase:"receiving",eventsReceived:this.pendingEvents.length,message:`Received ${this.pendingEvents.length} events...`}));break}case"EOSE":{console.log(`[NRC Client] EOSE received, got ${this.pendingEvents.length} events`),this.complete();break}case"NOTICE":{const[,s]=e.payload;console.log(`[NRC Client] Notice: ${s}`),(r=this.onProgress)==null||r.call(this,{phase:"error",eventsReceived:this.pendingEvents.length,message:s});break}case"OK":{if(this.sendingEvents){const[,s,a,i]=e.payload;a?(this.eventsSentCount++,console.log(`[NRC Client] Event ${s==null?void 0:s.slice(0,8)} stored successfully`)):console.warn(`[NRC Client] Event ${s==null?void 0:s.slice(0,8)} failed: ${i}`),this.sendNextEvent()}break}case"IDS":{if(this.idsMode){const[,,s]=e.payload;console.log(`[NRC Client] Received IDS response with ${(s==null?void 0:s.length)||0} entries`),this.clearSyncTimeout(),(o=this.resolveIDs)==null||o.call(this,s||[]),this.disconnect()}break}default:console.log(`[NRC Client] Unknown response type: ${e.type}`)}}complete(){var e,n;this.clearSyncTimeout(),(e=this.onProgress)==null||e.call(this,{phase:"complete",eventsReceived:this.pendingEvents.length,message:`Synced ${this.pendingEvents.length} events`}),(n=this.resolveSync)==null||n.call(this,this.pendingEvents),this.disconnect()}disconnect(){this.clearSyncTimeout(),this.ws&&(this.ws.close(),this.ws=null),this.connected=!1}}async function QB(t,e,n){return new Ym(t).sync(e,n)}async function NCe(t,e){const n=new Ym(t);try{const r=await n.sync([{kinds:[0],limit:1}],e,15e3);return console.log(`[NRC] Test connection successful, received ${r.length} events`),!0}catch(r){throw console.error("[NRC] Test connection failed:",r),r}}async function ICe(t,e,n){return new Ym(t).requestIDs(e,n)}async function ACe(t,e,n){return new Ym(t).sendEvents(e,n)}const JB="nrc-cache-relays",_Ce=400,MCe=50,XB=100;class RCe extends EventTarget{constructor(){super();je(this,"configs",[]);je(this,"pushQueue",[]);je(this,"pushInProgress",!1);je(this,"pushTimeout",null);je(this,"seenEventIds",new Set);this.loadConfigs()}loadConfigs(){try{const n=window.localStorage.getItem(JB);n&&(this.configs=JSON.parse(n))}catch(n){console.error("[NRC Cache] Failed to load configs:",n),this.configs=[]}}saveConfigs(){try{window.localStorage.setItem(JB,JSON.stringify(this.configs))}catch(n){console.error("[NRC Cache] Failed to save configs:",n)}}getAll(){return[...this.configs]}getQueryFirstRelays(){return this.configs.filter(n=>n.enabled&&n.queryFirst)}getPushRelays(){return this.configs.filter(n=>n.enabled&&n.pushEvents)}add(n){const r={...n,id:crypto.randomUUID()};return this.configs.push(r),this.saveConfigs(),this.dispatchEvent(new CustomEvent("configsChanged")),r}update(n,r){const o=this.configs.findIndex(s=>s.id===n);o>=0&&(this.configs[o]={...this.configs[o],...r},this.saveConfigs(),this.dispatchEvent(new CustomEvent("configsChanged")))}remove(n){this.configs=this.configs.filter(r=>r.id!==n),this.saveConfigs(),this.dispatchEvent(new CustomEvent("configsChanged"))}async queryWithTimeout(n,r=_Ce){const o=this.getQueryFirstRelays();if(o.length===0)return{events:[],fromCache:!1};const s=o.map(async i=>{try{const u=await new Ym(i.uri).sync(n,void 0,r+5e3);return this.update(i.id,{lastConnected:Date.now(),lastError:void 0}),{events:u,relayId:i.id}}catch(l){const u=l instanceof Error?l.message:String(l);throw console.warn(`[NRC Cache] Query failed for ${i.label}:`,u),this.update(i.id,{lastError:u}),l}}),a=new Promise((i,l)=>{setTimeout(()=>l(new Error("Cache query timeout")),r)});try{const i=await Promise.race([Promise.any(s),a]);if(i&&"events"in i)return console.log(`[NRC Cache] Got ${i.events.length} events from cache relay in <${r}ms`),{events:i.events,fromCache:!0,relayId:i.relayId}}catch{console.log("[NRC Cache] No cache relay responded in time")}return{events:[],fromCache:!1}}queueEventForPush(n){this.seenEventIds.has(n.id)||(this.seenEventIds.add(n.id),this.pushQueue.push(n),!this.pushTimeout&&!this.pushInProgress&&(this.pushTimeout=setTimeout(()=>{this.pushTimeout=null,this.processPushQueue()},XB)))}queueEventsForPush(n){for(const r of n)this.queueEventForPush(r)}async processPushQueue(){if(this.pushQueue.length===0||this.pushInProgress)return;const n=this.getPushRelays();if(n.length===0){this.pushQueue=[];return}this.pushInProgress=!0;const r=this.pushQueue.splice(0,MCe);console.log(`[NRC Cache] Pushing ${r.length} events to ${n.length} cache relays`);const o=n.map(async s=>{try{const i=await new Ym(s.uri).sendEvents(r,l=>{l.phase==="error"&&console.warn(`[NRC Cache] Push error to ${s.label}: ${l.message}`)});return console.log(`[NRC Cache] Pushed ${i}/${r.length} events to ${s.label}`),this.update(s.id,{lastConnected:Date.now(),lastError:void 0}),i}catch(a){const i=a instanceof Error?a.message:String(a);return console.warn(`[NRC Cache] Push failed to ${s.label}:`,i),this.update(s.id,{lastError:i}),0}});await Promise.allSettled(o),this.pushInProgress=!1,this.pushQueue.length>0&&(this.pushTimeout=setTimeout(()=>{this.pushTimeout=null,this.processPushQueue()},XB))}async testConnection(n,r){try{const s=await new Ym(n).sync([{kinds:[0],limit:1}],r,15e3);return console.log(`[NRC Cache] Test connection successful, received ${s.length} events`),!0}catch(o){throw console.error("[NRC Cache] Test connection failed:",o),o}}clearSeenCache(){this.seenEventIds.size>1e4&&this.seenEventIds.clear()}getPushQueueStatus(){return{queueSize:this.pushQueue.length,inProgress:this.pushInProgress}}}const us=new RCe,iw=["wss://relay.orly.dev/","wss://relay.damus.io/","wss://relay.nostr.band/","wss://nos.lol/","wss://relay.snort.social/","wss://purplepag.es/"],a6="relay-discovery-cache",TCe=1440*60*1e3;class DCe{constructor(){je(this,"abortController",null)}normalizeUrl(e){try{let r=new URL(e.trim()).href;return r.endsWith("/")||(r+="/"),r.toLowerCase()}catch{return""}}extractRelaysFromEvent(e){const n=[];for(const r of e.tags)if(r[0]==="r"&&r[1]){const o=this.normalizeUrl(r[1]);o&&o.startsWith("wss://")&&n.push(o)}return n}async queryRelayLists(e,n){const r=[],o=new Map,s=new Set,a=e.map(async(i,l)=>{var u;if(!((u=this.abortController)!=null&&u.signal.aborted))try{const d=await ze.fetchEvents([i],{kinds:[Ue.RelayList],limit:500});for(const f of d){if(s.has(f.id))continue;s.add(f.id),r.push(f);const m=this.extractRelaysFromEvent(f);for(const g of m)o.set(g,(o.get(g)||0)+1)}n==null||n(l+1,e.length,r.length)}catch(d){console.warn(`[RelayDiscovery] Failed to query ${i}:`,d)}});return await Promise.allSettled(a),{events:r,relayFrequency:o}}async discover(e){this.abort(),this.abortController=new AbortController;const n=new Map;let r=0;e==null||e({phase:"phase1",relaysQueried:0,totalRelays:iw.length,eventsFound:0,uniqueRelaysFound:0});const o=await this.queryRelayLists(iw,(l,u,d)=>{e==null||e({phase:"phase1",relaysQueried:l,totalRelays:u,eventsFound:d,uniqueRelaysFound:n.size})});if(this.abortController.signal.aborted)return this.getEmptyResult();for(const[l,u]of o.relayFrequency)n.set(l,(n.get(l)||0)+u);r+=o.events.length;const s=Array.from(n.entries()).sort((l,u)=>u[1]-l[1]).slice(0,50).map(([l])=>l).filter(l=>!iw.includes(l));if(s.length>0&&!this.abortController.signal.aborted){e==null||e({phase:"phase2",relaysQueried:0,totalRelays:s.length,eventsFound:r,uniqueRelaysFound:n.size});const l=await this.queryRelayLists(s,(u,d,f)=>{e==null||e({phase:"phase2",relaysQueried:u,totalRelays:d,eventsFound:r+f,uniqueRelaysFound:n.size})});for(const[u,d]of l.relayFrequency)n.set(u,(n.get(u)||0)+d);r+=l.events.length}const a=Array.from(n.entries()).map(([l,u])=>({url:l,count:u,percentage:Math.round(u/r*100*10)/10})).sort((l,u)=>u.count-l.count),i={relays:a,totalEvents:r,timestamp:Date.now()};return this.saveToCache(i),e==null||e({phase:"complete",relaysQueried:iw.length+s.length,totalRelays:iw.length+s.length,eventsFound:r,uniqueRelaysFound:a.length}),i}abort(){this.abortController&&(this.abortController.abort(),this.abortController=null)}getCachedResult(){try{const e=localStorage.getItem(a6);if(!e)return null;const n=JSON.parse(e);return Date.now()-n.cachedAt>TCe?(localStorage.removeItem(a6),null):{relays:n.relays,totalEvents:n.totalEvents,timestamp:n.timestamp}}catch{return null}}saveToCache(e){try{const n={...e,cachedAt:Date.now()};localStorage.setItem(a6,JSON.stringify(n))}catch(n){console.warn("[RelayDiscovery] Failed to cache result:",n)}}getTopRelays(e){const n=this.getCachedResult();return!n||n.relays.length===0?[]:n.relays.slice(0,e).map(r=>r.url)}getRelayBatches(e,n,r,o){const s=this.getCachedResult();if(!s||s.relays.length===0)return[];const a=s.relays.map(l=>l.url).filter(l=>!o.has(l)).slice(n,n+r),i=[];for(let l=0;l<a.length;l+=e)i.push(a.slice(l,l+e));return i}async discoverIfNeeded(){const e=this.getCachedResult();if(!(e&&e.relays.length>0)){console.log("[RelayDiscovery] No cached result, starting background discovery...");try{await this.discover(),console.log("[RelayDiscovery] Background discovery complete")}catch(n){console.warn("[RelayDiscovery] Background discovery failed:",n)}}}clearCache(){localStorage.removeItem(a6)}exportAsPlaintext(e){return e.map(n=>n.url).join(`
24 `)}downloadAsFile(e,n="nostr-relays.txt"){const r=this.exportAsPlaintext(e),o=new Blob([r],{type:"text/plain"}),s=URL.createObjectURL(o),a=document.createElement("a");a.href=s,a.download=n,document.body.appendChild(a),a.click(),document.body.removeChild(a),URL.revokeObjectURL(s)}getEmptyResult(){return{relays:[],totalEvents:0,timestamp:Date.now()}}}const Yf=new DCe;class LCe{constructor(e){je(this,"cache",new Map);this.maxSize=e}get(e){const n=this.cache.get(e);return n!==void 0&&(this.cache.delete(e),this.cache.set(e,n)),n}set(e,n){if(this.cache.has(e))this.cache.delete(e);else if(this.cache.size>=this.maxSize){const r=this.cache.keys().next().value;r!==void 0&&this.cache.delete(r)}this.cache.set(e,n)}has(e){return this.cache.has(e)}delete(e){return this.cache.delete(e)}clear(){this.cache.clear()}}class PCe{constructor(){je(this,"memoryCache");je(this,"pendingFetches",new Map);je(this,"staleAfterMs",1440*60*1e3);this.memoryCache=new LCe(500)}async getRelayList(e){const n=this.memoryCache.get(e);if(n)return n;const r=await kt.getReplaceableEvent(e,Ue.RelayList);if(r){const o=this.eventToCachedRelayList(r);return this.memoryCache.set(e,o),o}return null}isStale(e){return Date.now()-e.fetchedAt>this.staleAfterMs}async fetchRelayList(e,n){const r=this.pendingFetches.get(e);if(r)return r;const o=this.doFetchRelayList(e,n);this.pendingFetches.set(e,o);try{return await o}finally{this.pendingFetches.delete(e)}}async doFetchRelayList(e,n){try{const r=await ze.fetchRelayListEvent(e);if(!r)return await kt.putNullReplaceableEvent(e,Ue.RelayList),null;await kt.putReplaceableEvent(r);const o=this.eventToCachedRelayList(r);return this.memoryCache.set(e,o),o}catch(r){return console.warn(`Failed to fetch relay list for ${e}:`,r),null}}async fetchRelayLists(e,n){const r=new Map,o=[];for(const s of e){const a=await this.getRelayList(s);a&&!this.isStale(a)?r.set(s,a):o.push(s)}if(o.length>0){const s=o.map(i=>this.fetchRelayList(i,n).then(l=>({pubkey:i,result:l}))),a=await Promise.all(s);for(const{pubkey:i,result:l}of a)l&&r.set(i,l)}return r}async getWriteRelaysForRecipients(e){const n=await this.fetchRelayLists(e),r=new Set;for(const o of n.values())for(const s of o.write)r.add(s);return Array.from(r)}async setRelayList(e){if(e.kind!==Ue.RelayList)return;await kt.putReplaceableEvent(e);const n=this.eventToCachedRelayList(e);this.memoryCache.set(e.pubkey,n)}eventToCachedRelayList(e){const n=ske.fromEvent(e);return{pubkey:e.pubkey,read:n.getReadUrls(),write:n.getWriteUrls(),fetchedAt:Date.now(),event:e}}clearCache(){this.memoryCache.clear()}}const VI=new PCe,OCe=["wss://relay.orly.dev/","wss://relay.damus.io/","wss://relay.nostr.band/","wss://nos.lol/"],Ip=class Ip extends EventTarget{constructor(){super();je(this,"signer");je(this,"pubkey");je(this,"currentRelays",[]);je(this,"lastPublishFailedRelays",Promise.resolve([]));je(this,"pool");je(this,"timelines",{});je(this,"replaceableEventCacheMap",new Map);je(this,"eventCacheMap",new Map);je(this,"eventDataLoader",new Lu(n=>Promise.all(n.map(r=>this._fetchEvent(r))),{cacheMap:this.eventCacheMap}));je(this,"fetchEventFromBigRelaysDataloader",new Lu(this.fetchEventsFromBigRelays.bind(this),{cache:!1,batchScheduleFn:n=>setTimeout(n,50)}));je(this,"userIndex",new ste.Index({tokenize:"forward"}));je(this,"followingFavoriteRelaysCache",new Fy({max:10,fetchMethod:this._fetchFollowingFavoriteRelays.bind(this)}));je(this,"profileDataloader",new Lu(async n=>(await Promise.allSettled(n.map(o=>this._fetchProfile(o)))).map(o=>o.status==="fulfilled"?o.value:null)));je(this,"replaceableEventFromBigRelaysDataloader",new Lu(this.replaceableEventFromBigRelaysBatchLoadFn.bind(this),{batchScheduleFn:n=>setTimeout(n,50),maxBatchSize:500,cacheKeyFn:({pubkey:n,kind:r})=>`${n}:${r}`}));je(this,"replaceableEventDataLoader",new Lu(this.replaceableEventBatchLoadFn.bind(this),{cacheKeyFn:({pubkey:n,kind:r,d:o})=>`${r}:${n}:${o??""}`}));this.pool=new LX,this.pool.trackRelays=!0}static getInstance(){return Ip.instance||(Ip.instance=new Ip,Ip.instance.init()),Ip.instance}async init(){await qr.init(),await kt.iterateProfileEvents(n=>this.addUsernameToIndex(n))}getFallbackRelays(){const n=Xe.getFallbackRelayCount(),r=Yf.getTopRelays(n);return r.length>0?r:OCe}async determineTargetRelays(n,{specifiedRelayUrls:r,additionalRelayUrls:o}={}){var l;if(n.kind===Ue.Report){const u=(l=n.tags.find(An("e")))==null?void 0:l[1];if(u)return this.getSeenEventRelayUrls(u)}const s=[Ue.Contacts,Ue.Mutelist,Ue.RelayList,30002,gt.FAVORITE_RELAYS,30078];if(Xe.getNrcOnlyConfigSync()&&s.includes(n.kind))return[];const a=new Set;if(r!=null&&r.length)r.forEach(u=>a.add(u));else{if(o==null||o.forEach(d=>a.add(d)),(await this.fetchRelayList(n.pubkey)).write.forEach(d=>a.add(d)),![Ue.Contacts,Ue.Mutelist,gt.PINNED_USERS].includes(n.kind)){const d=[];n.tags.forEach(([f,m])=>{["p","P"].includes(f)&&m&&Ut.isValidHex(m)&&!d.includes(m)&&d.push(m)}),d.length>0&&(await VI.getWriteRelaysForRecipients(d)).slice(0,10).forEach(m=>a.add(m))}n.kind===gt.COMMENT&&n.tags.find(An("I"))&&n.tags.forEach(f=>{var m;(f[0]==="e"||f[0]==="a"||f[0]==="E"||f[0]==="A")&&((m=f[2])!=null&&m.startsWith("wss://"))&&a.add(f[2])})}!a.size&&this.currentRelays.length>0&&this.currentRelays.forEach(u=>a.add(u));const i=new Set(this.currentRelays);return ki.filterRelayUrls(Array.from(a),"outbox",i)}async determineRelaysByFilter(n){var o,s;const r=new Set(this.currentRelays);if(n.search)return Xe.getSearchRelays();if((o=n.authors)!=null&&o.length){const a=await this.fetchRelayLists(n.authors),i=Array.from(new Set(a.flatMap(u=>u.write.slice(0,5)))),l=ki.filterRelayUrls(i,"inbox",r);return l.length>0?l:this.currentRelays}else if((s=n["#p"])!=null&&s.length){const a=await this.fetchRelayLists(n["#p"]),i=Array.from(new Set(a.flatMap(u=>u.read.slice(0,5)))),l=ki.filterRelayUrls(i,"inbox",r);return l.length>0?l:this.currentRelays}return this.currentRelays.length>0?this.currentRelays:this.getFallbackRelays()}async publishEvent(n,r){const o=Array.from(new Set(n)),s=3e3,a=new Map(o.map(l=>[l,"pending"]));let i;await new Promise((l,u)=>{let d=!1;const f=setTimeout(()=>{d||(d=!0,u(new Error("Publish timed out: no relay acknowledged within 3 seconds")))},s),m=w=>{a.set(w,"success"),qr.recordPublishSuccess(w),d||(d=!0,clearTimeout(f),this.emitNewEvent(r),l())},g=(w,b)=>{if(a.set(w,b),qr.recordPublishFailure(w),[...a.values()].filter(S=>S==="pending").length===0&&!d){d=!0,clearTimeout(f);const S=[...a.entries()].filter(([,I])=>I!=="success");u(new AggregateError(S.map(([I,N])=>new Error(`${I}: ${N instanceof Error?N.message:String(N)}`))))}};i=Promise.allSettled(o.map(async w=>{const b=this,j=await this.pool.ensureRelay(w,{connectionTimeout:s}).catch(N=>{console.debug(`[publishEvent] Failed to connect to ${w}:`,(N==null?void 0:N.message)||N)});if(!j){g(w,new Error("Cannot connect to relay"));return}j.publishTimeout=s;let S=!1;const I=async()=>{try{await j.publish(r),b.trackEventSeenOn(r.id,j),console.debug(`[publishEvent] Success on ${w}`),m(w)}catch(N){if(!S&&N instanceof Error&&N.message.startsWith("auth-required")&&b.signer){console.debug(`[publishEvent] Auth required on ${w}, authenticating...`);try{return await j.auth(M=>b.signer.signEvent(M)),S=!0,await I()}catch(M){console.debug(`[publishEvent] Auth failed on ${w}:`,M),g(w,M instanceof Error?M:new Error(String(M)))}}else console.debug(`[publishEvent] Failed on ${w}:`,N instanceof Error?N.message:N),g(w,N instanceof Error?N:new Error(String(N)))}};return I()}))}),this.lastPublishFailedRelays=i.then(()=>[...a.entries()].filter(([,l])=>l!=="success").map(([l])=>l))}emitNewEvent(n){this.dispatchEvent(new CustomEvent("newEvent",{detail:n}))}async signHttpAuth(n,r,o=""){var a;if(!this.signer)throw new Error("Please login first to sign the event");const s=await((a=this.signer)==null?void 0:a.signEvent({content:o,kind:Ue.HTTPAuth,created_at:Nn().unix(),tags:[["u",n],["method",r]]}));return"Nostr "+btoa(JSON.stringify(s))}generateTimelineKey(n,r){const o={};Object.entries(r).sort().forEach(([d,f])=>{d!=="limit"&&(Array.isArray(f)&&(o[d]=[...f].sort()),o[d]=f)});const s=JSON.stringify({urls:[...n].sort(),filter:o}),i=new TextEncoder().encode(s),l=Cb(i);return Array.from(new Uint8Array(l)).map(d=>d.toString(16).padStart(2,"0")).join("")}generateMultipleTimelinesKey(n){const r=n.map(({urls:l,filter:u})=>this.generateTimelineKey(l,u)),s=new TextEncoder().encode(JSON.stringify(r.sort())),a=Cb(s);return Array.from(new Uint8Array(a)).map(l=>l.toString(16).padStart(2,"0")).join("")}async subscribeTimeline(n,{onEvents:r,onNew:o,onClose:s},{startLogin:a,needSort:i=!0}={}){const l=new Set,u=n.length,d=Math.floor(u/2);let f=[],m=0;const g=await Promise.all(n.map(({urls:b,filter:j})=>this._subscribeTimeline(b,j,{onEvents:(S,I)=>{I&&m++,f=this.mergeTimelines(f,S),m>=d&&r(f,m>=u)},onNew:S=>{l.has(S.id)||(l.add(S.id),o(S))},onClose:s},{startLogin:a,needSort:i}))),w=this.generateMultipleTimelinesKey(n);return this.timelines[w]=g.map(b=>b.timelineKey),{closer:()=>{r=()=>{},o=()=>{},g.forEach(b=>{b.closer()})},timelineKey:w}}mergeTimelines(n,r){if(n.length===0)return[...r];if(r.length===0)return[...n];const o=[];let s=0,a=0;for(;s<n.length&&a<r.length;){const i=dg(n[s],r[a]);i>0?(o.push(n[s]),s++):i<0?(o.push(r[a]),a++):(o.push(n[s]),s++,a++)}return o}async loadMoreTimeline(n,r,o){const s=this.timelines[n];if(!s)return[];if(!Array.isArray(s))return this._loadMoreTimeline(n,r,o);const a=await Promise.all(s.map(u=>this._loadMoreTimeline(u,r,o))),i=new Set,l=[];return a.forEach(u=>{u.forEach(d=>{i.has(d.id)||(i.add(d.id),l.push(d))})}),l.sort((u,d)=>d.created_at-u.created_at).slice(0,o)}subscribe(n,r,{onevent:o,oneose:s,onclose:a,startLogin:i,onAllClose:l}){const u=Array.from(new Set(n)),d=Array.isArray(r)?r:[r],f=this,m=new Set;let g=u.length,w=0,b=!1,j=0;const S=[],I=[];u.forEach(M=>{let D=!1;I.push(O());async function O(){const L=await f.pool.ensureRelay(M,{connectionTimeout:5e3}).catch(()=>{});return L?L.subscribe(d,{receivedEvent:(B,T)=>{f.trackEventSeenOn(T,B)},alreadyHaveEvent:B=>m.has(B)?!0:(m.add(B),!1),onevent:B=>{o==null||o(B)},oneose:()=>{qr.recordFetchSuccess(M),!b&&(w++,b=w>=g,s==null||s(b))},onclose:B=>{if(B.startsWith("auth-required")&&!D){if(f.signer){L.auth(async T=>{const R=await f.signer.signEvent(T);if(!R)throw new Error("sign event failed");return R}).then(()=>{D=!0,b||(g++,I.push(O()))}).catch(()=>{});return}if(i){i();return}}qr.recordFetchFailure(M),j++,S.push(B),a==null||a(M,B),j>=g&&(l==null||l(S))},eoseTimeout:1e4}):(qr.recordFetchFailure(M),b||(w++,b=w>=g,s==null||s(b)),{close:()=>{}})}});const N=M=>{const O=M.detail;if(!hk(d,O))return;const L=O.id;m.has(L)||(m.add(L),o==null||o(O))};return this.addEventListener("newEvent",N),{close:()=>{this.removeEventListener("newEvent",N),I.forEach(M=>{M.then(D=>{D.close()}).catch(D=>{console.error(D)})})}}}async _subscribeTimeline(n,r,{onEvents:o,onNew:s,onClose:a},{startLogin:i,needSort:l=!0}={}){const u=Array.from(new Set(n)),d=this.generateTimelineKey(u,r),f=this.timelines[d];let m=[],g;f&&!Array.isArray(f)&&f.refs.length&&l&&(m=(await this.eventDataLoader.loadMany(f.refs.map(([D])=>D))).filter(D=>!!D&&!(D instanceof Error)),m.length&&(o([...m],!1),g=m[0].created_at+1));const w=this;let b=[],j=null,S=0,I=null;const N=()=>{I===null&&(I=setTimeout(()=>{if(I=null,j||b.length===S)return;S=b.length;const D=l?[...b].sort((L,B)=>B.created_at-L.created_at).slice(0,r.limit):[...b],O=m.length>0?D.concat(m).slice(0,r.limit):D;o(O,!1)},150))},M=this.subscribe(u,g?{...r,since:g}:r,{startLogin:i,onevent:D=>{if(w.addEventToCache(D),!j){b.push(D),N();return}D.created_at>j&&s(D);const O=w.timelines[d];if(!O||Array.isArray(O)||!O.refs.length)return;let L=0;for(const B of O.refs){if(D.created_at>B[1]||D.created_at===B[1]&&D.id<B[0])break;if(D.created_at===B[1]&&D.id===B[0])return;L++}L>=O.refs.length||O.refs.splice(L,0,[D.id,D.created_at])},oneose:D=>{if(I!==null&&(clearTimeout(I),I=null),D&&!j&&(j=Nn().unix()),!l)return o([...b],!!j);if(!D)return b=b.sort((T,R)=>R.created_at-T.created_at).slice(0,r.limit),o([...b.concat(m).slice(0,r.limit)],!1);b=b.sort((T,R)=>R.created_at-T.created_at).slice(0,r.limit);const O=w.timelines[d];if(!O||Array.isArray(O)||!O.refs.length)return w.timelines[d]={refs:b.map(T=>[T.id,T.created_at]),filter:r,urls:n},o([...b],!0);const L=O.refs[0][1],B=b.filter(T=>T.created_at>L).map(T=>[T.id,T.created_at]);b.length>=r.limit?(O.refs=B,o([...b],!0)):(O.refs=B.concat(O.refs),o([...b.concat(m).slice(0,r.limit)],!0))},onclose:a});return{timelineKey:d,closer:()=>{I!==null&&(clearTimeout(I),I=null),o=()=>{},s=()=>{},M.close()}}}async _loadMoreTimeline(n,r,o){const s=this.timelines[n];if(!s||Array.isArray(s))return[];const{filter:a,urls:i,refs:l}=s,u=l.findIndex(([,g])=>g<=r),d=u>=0?(await this.eventDataLoader.loadMany(l.slice(u,u+o).map(([g])=>g))).filter(g=>!!g&&!(g instanceof Error)):[];if(d.length>=o)return d;r=d.length?d[d.length-1].created_at-1:r,o=o-d.length;let f=await this.query(i,{...a,until:r,limit:o});f.forEach(g=>{this.addEventToCache(g)}),f=f.sort((g,w)=>w.created_at-g.created_at).slice(0,o);const m=l.length>0?l[l.length-1][1]:Nn().unix();return s.refs.push(...f.filter(g=>g.created_at<m).map(g=>[g.id,g.created_at])),[...d,...f]}getSeenEventRelays(n){var r;return Array.from(((r=this.pool.seenOn.get(n))==null?void 0:r.values())||[])}getSeenEventRelayUrls(n){return this.getSeenEventRelays(n).map(r=>r.url)}getEventHints(n){return this.getSeenEventRelayUrls(n).filter(r=>!_B(r))}getEventHint(n){return this.getSeenEventRelayUrls(n).find(r=>!_B(r))??""}trackEventSeenOn(n,r){let o=this.pool.seenOn.get(n);o||(o=new Set,this.pool.seenOn.set(n,o)),o.add(r)}async query(n,r,o){return await new Promise(s=>{const a=[],i=this.subscribe(n,r,{onevent(l){o==null||o(l),a.push(l)},oneose:l=>{l&&(i.close(),s(a))},onAllClose:()=>{s(a)}})})}async queryWithCacheRelays(n,r,{onevent:o,skipCache:s=!1}={}){const a=Array.isArray(r)?r:[r],i=new Set,l=[],u=g=>{i.has(g.id)||(i.add(g.id),l.push(g),o==null||o(g))};if(!s)try{const g=await kt.queryCachedEvents(a);for(const w of g)u(w);g.length>0&&console.log(`[ClientService] Found ${g.length} events in IndexedDB cache`)}catch(g){console.warn("[ClientService] IndexedDB cache query failed:",g)}const d=await us.queryWithTimeout(a,400);if(d.fromCache&&d.events.length>0){for(const g of d.events)u(g);console.log(`[ClientService] Got ${d.events.length} events from NRC cache relay`)}const f=await this.query(n,r),m=[];for(const g of f)i.has(g.id)||(u(g),m.push(g));return m.length>0&&(kt.putCachedEvents(m).catch(g=>{console.warn("[ClientService] Failed to cache events:",g)}),us.queueEventsForPush(m)),l}async fetchEvents(n,r,{onevent:o,cache:s=!1,useCacheRelay:a=!1}={}){const i=Array.from(new Set(n));let l=i.length>0?i:this.currentRelays;if(l.length===0&&(l=this.getFallbackRelays()),a){const d=await this.queryWithCacheRelays(l,r,{onevent:o});return s&&d.forEach(f=>{this.addEventToCache(f)}),d}const u=await this.query(l,r,o);return s&&u.forEach(d=>{this.addEventToCache(d)}),u}async fetchEvent(n){if(!/^[0-9a-f]{64}$/.test(n)){let r,o;const{type:s,data:a}=yr.decode(n);switch(s){case"note":r=a;break;case"nevent":r=a.id;break;case"naddr":o=bT(a.kind,a.pubkey,a.identifier);break}if(o){const i=this.replaceableEventCacheMap.get(o);if(i)return i;const l=await kt.getReplaceableEventByCoordinate(o);if(l)return this.replaceableEventCacheMap.set(o,l),l}else if(r){const i=this.eventCacheMap.get(r);if(i)return i}}return this.eventDataLoader.load(n)}addEventToCache(n){if(this.eventDataLoader.prime(n.id,Promise.resolve(n)),Fs(n.kind)){const r=ti(n),o=this.replaceableEventCacheMap.get(r);(!o||dg(n,o)>0)&&this.replaceableEventCacheMap.set(r,n)}}getReplaeableEventFromCache(n){return this.replaceableEventCacheMap.get(n)}async fetchEventById(n,r){const o=await this.fetchEventFromBigRelaysDataloader.load(r);return o||this.fetchEventFromRelays(n,{ids:[r],limit:1})}async _fetchEvent(n){var i;let r,o=[],s;if(/^[0-9a-f]{64}$/.test(n))r={ids:[n]};else{const{type:l,data:u}=yr.decode(n);switch(l){case"note":r={ids:[u]};break;case"nevent":r={ids:[u.id]},u.relays&&(o=u.relays),u.author&&(s=u.author);break;case"naddr":r={authors:[u.pubkey],kinds:[u.kind],limit:1},s=u.pubkey,u.identifier&&(r["#d"]=[u.identifier]),u.relays&&(o=u.relays)}}if(!r)throw new Error("Invalid id");let a;if((i=r.ids)!=null&&i.length&&(a=await this.fetchEventById(o,r.ids[0])),!a&&s){const l=await this.fetchRelayList(s);a=await this.fetchEventFromRelays(l.write.slice(0,5),r)}if(!a){const l=new Set([...this.currentRelays,...this.getFallbackRelays(),...o]),u=Yf.getRelayBatches(10,0,50,l);for(const d of u){if(d.length===0)continue;const f=await Promise.race([this.query(d,r),new Promise(m=>setTimeout(()=>m([]),5e3))]);if(f.length>0&&(a=f.sort((m,g)=>g.created_at-m.created_at)[0],a)){this.addEventToCache(a);break}}}return a&&a.id!==n&&this.addEventToCache(a),a||this.eventCacheMap.delete(n),a}async fetchEventFromRelays(n,r){return n.length?(await this.query(n,r)).sort((s,a)=>a.created_at-s.created_at)[0]:void 0}async fetchEventsFromBigRelays(n){const r=this.currentRelays.length>0?this.currentRelays:this.getFallbackRelays(),o=await this.query(r,{ids:Array.from(new Set(n)),limit:n.length}),s=new Map;for(const a of o)s.set(a.id,a);return n.map(a=>s.get(a))}async fetchFollowingFavoriteRelays(n){return this.followingFavoriteRelaysCache.fetch(n)}async _fetchFollowingFavoriteRelays(n){const r=async()=>{const s=await this.fetchFollowings(n),a=await this.fetchEvents([],{authors:s,kinds:[gt.FAVORITE_RELAYS,Ue.Relaysets],limit:1e3}),i=new Set,l=new Set,u=[];a.sort((m,g)=>g.created_at-m.created_at).forEach(m=>{if(m.kind===gt.FAVORITE_RELAYS){if(i.has(m.pubkey))return;i.add(m.pubkey)}else if(m.kind===Ue.Relaysets){if(l.has(m.pubkey))return;l.add(m.pubkey)}else return;u.push(m)});const d=new Map;u.forEach(m=>{m.tags.forEach(([g,w])=>{if(g==="relay"&&w&&By(w)){const b=oo(w);d.set(b,(d.get(b)||new Set).add(m.pubkey))}})});const f=Array.from(d.entries()).sort((m,g)=>g[1].size-m[1].size).map(([m,g])=>[m,Array.from(g)]);return kt.putFollowingFavoriteRelays(n,f),f},o=await kt.getFollowingFavoriteRelays(n);return o?(r(),o):r()}async initUserIndexFromFollowings(n,r){const o=await this.fetchFollowings(n,!1);for(let s=0;s*20<o.length;s++){if(r.aborted)return;await Promise.all(o.slice(s*20,(s+1)*20).map(a=>this.fetchProfile(a,!1,!1))),await new Promise(a=>setTimeout(a,1e3))}}async searchProfiles(n,r){const s=(await this.query(n,{...r,kinds:[Ue.Metadata]})).sort((a,i)=>i.created_at-a.created_at);return await Promise.allSettled(s.map(a=>this.addUsernameToIndex(a))),s.forEach(a=>this.updateProfileEventCache(a)),s.map(a=>U0(a))}async searchNpubsFromLocal(n,r=100){return(await this.userIndex.searchAsync(n,{limit:r})).map(s=>{var a;return(a=Ut.tryFromString(s))==null?void 0:a.npub}).filter(Boolean)}async searchProfilesFromLocal(n,r=100){const o=await this.searchNpubsFromLocal(n,r);return(await Promise.all(o.map(a=>this.fetchProfile(a)))).filter(a=>!!a)}async addUsernameToIndex(n){var r,o,s;try{const a=JSON.parse(n.content),i=[((r=a.display_name)==null?void 0:r.trim())??"",((o=a.name)==null?void 0:o.trim())??"",((s=a.nip05)==null?void 0:s.split("@").map(l=>l.trim()).join(" "))??""].join(" ");if(!i)return;await this.userIndex.addAsync(n.pubkey,i)}catch{return}}async _fetchProfileEvent(n){let r,o=[];if(/^[0-9a-f]{64}$/.test(n))r=n;else{const{data:i,type:l}=yr.decode(n);switch(l){case"npub":r=i;break;case"nprofile":r=i.pubkey,i.relays&&(o=i.relays);break}}if(!r)throw new Error("Invalid id");if(o.length>0){const i=await this.fetchEventFromRelays(o.slice(0,3),{authors:[r],kinds:[Ue.Metadata],limit:1});if(i)return this.addUsernameToIndex(i),kt.putReplaceableEvent(i),i}const s=await VI.getRelayList(r);if(s&&s.write.length>0){const i=await this.fetchEventFromRelays(s.write.slice(0,5),{authors:[r],kinds:[Ue.Metadata],limit:1});if(i)return this.addUsernameToIndex(i),kt.putReplaceableEvent(i),i}const a=await this.replaceableEventFromBigRelaysDataloader.load({pubkey:r,kind:Ue.Metadata});if(a)return this.addUsernameToIndex(a),a}async fetchProfile(n,r=!1,o=!0){if(r)return this._fetchProfile(n);const s=Ut.tryFromString(n);if(!s)throw new Error("Invalid id");const a=await kt.getReplaceableEvent(s.hex,Ue.Metadata);return a?(o&&this.profileDataloader.load(n),U0(a)):await this.profileDataloader.load(n)}async _fetchProfile(n){const r=await this._fetchProfileEvent(n);if(r)return U0(r);const o=Ut.tryFromString(n);return o?{pubkey:o.hex,npub:o.npub,username:o.formatNpub(12)}:null}async updateProfileEventCache(n){await this.updateReplaceableEventFromBigRelaysCache(n)}async fetchRelayList(n){const[r]=await this.fetchRelayLists([n]);return r}async fetchRelayLists(n){return(await this.fetchReplaceableEventsFromBigRelays(n,Ue.RelayList)).map(o=>{if(o)return VI.setRelayList(o),T3(o,Xe.getFilterOutOnionRelays());const s=this.getFallbackRelays();return{write:s,read:s,originalRelays:[]}})}async forceUpdateRelayListEvent(n){await this.replaceableEventFromBigRelaysBatchLoadFn([{pubkey:n,kind:Ue.RelayList}])}async updateRelayListCache(n){return await this.updateReplaceableEventFromBigRelaysCache(n)}async replaceableEventFromBigRelaysBatchLoadFn(n){const r=new Map;n.forEach(({pubkey:a,kind:i})=>{r.has(i)||r.set(i,[]),r.get(i).push(a)});const o=new Map,s=this.currentRelays.length>0?this.currentRelays:this.getFallbackRelays();return await Promise.allSettled(Array.from(r.entries()).map(async([a,i])=>{const l=await this.query(s,{authors:i,kinds:[a]});for(const u of l){const d=`${u.pubkey}:${u.kind}`,f=o.get(d);(!f||f.created_at<u.created_at)&&o.set(d,u)}})),n.map(({pubkey:a,kind:i})=>{const l=`${a}:${i}`,u=o.get(l);return u?(kt.putReplaceableEvent(u),u):(kt.putNullReplaceableEvent(a,i),null)})}async fetchReplaceableEventsFromBigRelays(n,r){const o=await kt.getManyReplaceableEvents(n,r),s=new Map,a=[];return n.forEach((l,u)=>{o[u]===void 0?s.set(l,u):a.push(l)}),(await this.replaceableEventFromBigRelaysDataloader.loadMany(Array.from(s.keys()).map(l=>({pubkey:l,kind:r})))).forEach(l=>{if(l&&!(l instanceof Error)){const u=s.get(l.pubkey);u!==void 0&&(o[u]=l)}}),this.replaceableEventFromBigRelaysDataloader.loadMany(a.map(l=>({pubkey:l,kind:r}))),o}async updateReplaceableEventFromBigRelaysCache(n){const r=await kt.putReplaceableEvent(n);return r.id!==n.id||(this.replaceableEventFromBigRelaysDataloader.clear({pubkey:n.pubkey,kind:n.kind}),this.replaceableEventFromBigRelaysDataloader.prime({pubkey:n.pubkey,kind:n.kind},Promise.resolve(n))),r}async replaceableEventBatchLoadFn(n){const r=new Map;n.forEach(({pubkey:s,kind:a,d:i})=>{r.has(s)||r.set(s,[]),r.get(s).push({kind:a,d:i})});const o=new Map;return await Promise.allSettled(Array.from(r.entries()).map(async([s,a])=>{const i=new Map;a.forEach(({kind:g,d:w})=>{i.has(g)||i.set(g,[]),w&&i.get(g).push(w)});const l=Array.from(i.entries()).map(([g,w])=>w.length>0?{authors:[s],kinds:[g],"#d":w}:{authors:[s],kinds:[g]}),u=await this.fetchRelayList(s);let d=u.write.length>0?u.write:this.currentRelays;d.length===0&&(d=this.getFallbackRelays());const f=d.slice(0,5),m=await this.query(f,l);for(const g of m){const w=ti(g),b=o.get(w);(!b||b.created_at<g.created_at)&&o.set(w,g)}})),n.map(({pubkey:s,kind:a,d:i})=>{const l=`${a}:${s}:${i??""}`,u=o.get(l);return a===Ue.Pinlist?u??null:u?(kt.putReplaceableEvent(u),u):(kt.putNullReplaceableEvent(s,a,i),null)})}async fetchReplaceableEvent(n,r,o,s=!0){const a=await kt.getReplaceableEvent(n,r,o);return a!==void 0?(s&&this.replaceableEventDataLoader.load({pubkey:n,kind:r,d:o}),a):await this.replaceableEventDataLoader.load({pubkey:n,kind:r,d:o})}async updateReplaceableEventCache(n){(await kt.putReplaceableEvent(n)).id===n.id&&(this.replaceableEventDataLoader.clear({pubkey:n.pubkey,kind:n.kind}),this.replaceableEventDataLoader.prime({pubkey:n.pubkey,kind:n.kind},Promise.resolve(n)))}async fetchFollowListEvent(n,r=!0){return await this.fetchReplaceableEvent(n,Ue.Contacts,void 0,r)}async fetchFollowings(n,r=!0){const o=await this.fetchFollowListEvent(n,r);return o?Nee(o.tags):[]}async updateFollowListCache(n){await this.updateReplaceableEventCache(n)}async fetchMuteListEvent(n){return await this.fetchReplaceableEvent(n,Ue.Mutelist)}async fetchBookmarkListEvent(n){return this.fetchReplaceableEvent(n,Ue.BookmarkList)}async fetchBlossomServerListEvent(n){return await this.fetchReplaceableEvent(n,gt.BLOSSOM_SERVER_LIST)}async fetchBlossomServerList(n){const r=await this.fetchBlossomServerListEvent(n);return r?Iee(r.tags):[]}async fetchPinListEvent(n){return this.fetchReplaceableEvent(n,Ue.Pinlist)}async fetchRelayListEvent(n){return this.fetchReplaceableEvent(n,Ue.RelayList)}async fetchFavoriteRelaysEvent(n){return this.fetchReplaceableEvent(n,gt.FAVORITE_RELAYS)}async fetchUserEmojiListEvent(n){return this.fetchReplaceableEvent(n,Ue.UserEmojiList)}async fetchPinnedUsersList(n){return this.fetchReplaceableEvent(n,gt.PINNED_USERS)}async updateBlossomServerListEventCache(n){await this.updateReplaceableEventCache(n)}async fetchEmojiSetEvents(n,r=!0){const o=n.map(s=>{const[a,i,l=""]=s.split(":");if(!i||!a)return null;const u=parseInt(a,10);return u!==Ue.Emojisets?null:{pubkey:i,kind:u,d:l}}).filter(Boolean);return await Promise.all(o.map(({pubkey:s,kind:a,d:i})=>this.fetchReplaceableEvent(s,a,i,r)))}async generateSubRequestsForPubkeys(n,r){if(yje()){let l=this.currentRelays;if(r){const u=await this.fetchRelayList(r);l=u.read.length>0?u.read.slice(0,5):this.currentRelays}return[{urls:l,filter:{authors:n}}]}const o=await this.fetchRelayLists(n),s={};o.forEach((l,u)=>{l.write.slice(0,4).forEach(d=>{s[d]||(s[d]=new Set),s[d].add(n[u])})});const a=Object.keys(s).length,i=new Map;return Object.entries(s).sort(([,l],[,u])=>u.size-l.size).forEach(([l,u])=>{a>10&&u.size<10&&Array.from(u).every(d=>(i.get(d)??0)>=2)?delete s[l]:u.forEach(d=>{i.set(d,(i.get(d)??0)+1)})}),Object.entries(s).map(([l,u])=>({urls:[l],filter:{authors:Array.from(u)}}))}};je(Ip,"instance");let O_=Ip;const ze=O_.getInstance(),zCe=Object.freeze(Object.defineProperty({__proto__:null,default:ze},Symbol.toStringTag,{value:"Module"}));function z_(t){return[].concat(t)}function ET(t){return t.startsWith(":")}function pte(t){return EC(t)&&(t==="*"||t.length>1&&":>~.+*".includes(t.slice(0,1))||yte(t))}function hte(t,e){return(EC(e)||typeof e=="number")&&!gte(t)&&!ET(t)&&!mte(t)}function mte(t){return t.startsWith("@media")}function FCe(t){return t==="."}function gte(t){return t==="--"}function EC(t){return t+""===t}function yte(t){return EC(t)&&(t.startsWith("&")||ET(t))}function Ck(t,e=""){return t.filter(Boolean).join(e)}function vte(t,e){let n=0;if(e.length===0)return n.toString();for(let r=0;r<e.length;r++){const o=e.charCodeAt(r);n=(n<<5)-n+o,n=n&n}return`${t??"cl"}_${n.toString(36)}`}function BCe(t,e){return t==="content"?`"${e}"`:e}function UCe(t){return t.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()}function eU(t,e){return`${t}:${e}`}function $Ce(t){return t?`.${t}`:""}function VCe(t,e){return t?`${t}
25 ${e}`:e}var wte=class bte{constructor(e,n,r,o){this.sheet=e,this.property=n,this.value=r,this.selector=o,this.property=n,this.value=r,this.joined=eU(n,r);const s=this.selector.preconditions.concat(this.selector.postconditions);this.hash=this.selector.hasConditions?this.selector.scopeClassName:vte(this.sheet.name,this.joined),this.key=Ck([this.joined,s,this.hash])}toString(){let e=F_(this.selector.preconditions,{right:this.hash});return e=F_(this.selector.postconditions,{left:e}),`${e} {${bte.genRule(this.property,this.value)}}`}static genRule(e,n){const r=UCe(e);return eU(r,BCe(e,n))+";"}};function F_(t,{left:e="",right:n=""}={}){const r=t.reduce((o,s)=>ET(s)?o+s:yte(s)?o+s.slice(1):Ck([o,s]," "),e);return Ck([r,$Ce(n)]," ")}var HCe=class I3{constructor(e,n=null,{preconditions:r,postconditions:o}={}){this.sheet=e,this.preconditions=[],this.scopeClassName=null,this.scopeName=null,this.postconditions=[],this.preconditions=r?z_(r):[],this.postconditions=o?z_(o):[],this.setScope(n)}setScope(e){return e?(this.scopeClassName||(this.scopeName=e,this.scopeClassName=vte(this.sheet.name,e+this.sheet.count)),this):this}get hasConditions(){return this.preconditions.length>0||this.postconditions.length>0}addScope(e){return new I3(this.sheet,e,{preconditions:this.preconditions,postconditions:this.postconditions})}addPrecondition(e){return new I3(this.sheet,this.scopeClassName,{postconditions:this.postconditions,preconditions:this.preconditions.concat(e)})}addPostcondition(e){return new I3(this.sheet,this.scopeClassName,{preconditions:this.preconditions,postconditions:this.postconditions.concat(e)})}createRule(e,n){return new wte(this.sheet,e,n,this)}},WCe=class{constructor(e,n){this.name=e,this.rootNode=n,this.storedStyles={},this.storedClasses={},this.style="",this.count=0,this.id=`flairup-${e}`,this.styleTag=this.createStyleTag()}getStyle(){return this.style}append(e){this.style=VCe(this.style,e)}apply(){this.count++,this.styleTag&&(this.styleTag.innerHTML=this.style)}isApplied(){return!!this.styleTag}createStyleTag(){if(typeof document>"u"||this.isApplied()||this.rootNode===null)return this.styleTag;const e=document.createElement("style");return e.type="text/css",e.id=this.id,(this.rootNode??document.head).appendChild(e),e}addRule(e){const n=this.storedClasses[e.key];return EC(n)?n:(this.storedClasses[e.key]=e.hash,this.storedStyles[e.hash]=[e.property,e.value],this.append(e.toString()),e.hash)}};function NT(t,e){for(const n in t)e(n.trim(),t[n])}function sr(...t){const e=t.reduce((n,r)=>(r instanceof Set?n.push(...r):typeof r=="string"?n.push(r):Array.isArray(r)?n.push(sr(...r)):typeof r=="object"&&Object.entries(r).forEach(([o,s])=>{s&&n.push(o)}),n),[]);return Ck(e," ").trim()}function YCe(t,e){const n=new WCe(t,e);return{create:r,getStyle:n.getStyle.bind(n),isApplied:n.isApplied.bind(n)};function r(o){const s={};return xte(n,o,new HCe(n)).forEach(([i,l,u])=>{NC(n,l,u).forEach(d=>{a(i,d)})}),n.apply(),s;function a(i,l){s[i]=s[i]??new Set,s[i].add(l)}}}function xte(t,e,n){const r=[];return NT(e,(o,s)=>{if(pte(o))return xte(t,s,n.addPrecondition(o)).forEach(a=>r.push(a));r.push([o,e[o],n.addScope(o)])}),r}function NC(t,e,n){const r=new Set;return NT(e,(o,s)=>{let a=[];if(pte(o))a=NC(t,s,n.addPostcondition(o));else if(FCe(o))a=z_(s);else if(mte(o))a=qCe(t,s,o,n);else if(gte(o))a=GCe(t,s,n);else if(hte(o,s)){const i=n.createRule(o,s);t.addRule(i),r.add(i.hash)}return kte(a,r)}),r}function kte(t,e){return t.forEach(n=>e.add(n)),e}function GCe(t,e,n){const r=new Set,o=[];if(NT(e,(s,a)=>{if(hte(s,a)){o.push(wte.genRule(s,a));return}const i=NC(t,a??{},n);kte(i,r)}),!n.scopeClassName)return r;if(o.length){const s=o.join(" ");t.append(`${F_(n.preconditions,{right:n.scopeClassName})} {${s}}`)}return r.add(n.scopeClassName),r}function qCe(t,e,n,r){t.append(n+" {");const o=NC(t,e,r);return t.append("}"),o}function So(){return So=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(t[r]=n[r])}return t},So.apply(this,arguments)}function KCe(t,e){t.prototype=Object.create(e.prototype),t.prototype.constructor=t,B_(t,e)}function B_(t,e){return B_=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(r,o){return r.__proto__=o,r},B_(t,e)}function jte(t,e){if(t==null)return{};var n={},r=Object.keys(t),o,s;for(s=0;s<r.length;s++)o=r[s],!(e.indexOf(o)>=0)&&(n[o]=t[o]);return n}function ZCe(t,e){if(t){if(typeof t=="string")return tU(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);if(n==="Object"&&t.constructor&&(n=t.constructor.name),n==="Map"||n==="Set")return Array.from(t);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return tU(t,e)}}function tU(t,e){(e==null||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}function QCe(t,e){var n=typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(n)return(n=n.call(t)).next.bind(n);if(Array.isArray(t)||(n=ZCe(t))||e){n&&(t=n);var r=0;return function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
26 In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var Qn;(function(t){t.hiddenOnSearch="epr-hidden-on-search",t.searchActive="epr-search-active",t.hidden="epr-hidden",t.visible="epr-visible",t.active="epr-active",t.emoji="epr-emoji",t.category="epr-emoji-category",t.label="epr-emoji-category-label",t.categoryContent="epr-emoji-category-content",t.emojiHasVariations="epr-emoji-has-variations",t.scrollBody="epr-body",t.emojiList="epr-emoji-list",t.external="__EmojiPicker__",t.emojiPicker="EmojiPickerReact",t.open="epr-open",t.vertical="epr-vertical",t.horizontal="epr-horizontal",t.variationPicker="epr-emoji-variation-picker",t.darkTheme="epr-dark-theme",t.autoTheme="epr-auto-theme"})(Qn||(Qn={}));function Da(){for(var t=arguments.length,e=new Array(t),n=0;n<t;n++)e[n]=arguments[n];return e.map(function(r){return"."+r}).join("")}var mo=YCe("epr",null),A3={display:"none",opacity:"0",pointerEvents:"none",visibility:"hidden",overflow:"hidden"},IT=mo.create({hidden:So({".":Qn.hidden},A3)}),JCe=h.memo(function(){return h.createElement("style",{suppressHydrationWarning:!0,dangerouslySetInnerHTML:{__html:mo.getStyle()}})}),Fg=mo.create({".epr-main":{":has(input:not(:placeholder-shown))":{categoryBtn:{":hover":{opacity:"1",backgroundPositionY:"var(--epr-category-navigation-button-size)"}},hiddenOnSearch:So({".":Qn.hiddenOnSearch},A3)},":has(input(:placeholder-shown))":{visibleOnSearchOnly:A3}},hiddenOnReactions:{transition:"all 0.5s ease-in-out"},".epr-reactions":{hiddenOnReactions:{height:"0px",width:"0px",opacity:"0",pointerEvents:"none",overflow:"hidden"}},".EmojiPickerReact:not(.epr-search-active)":{categoryBtn:{":hover":{opacity:"1",backgroundPositionY:"var(--epr-category-navigation-button-size)"},"&.epr-active":{opacity:"1",backgroundPositionY:"var(--epr-category-navigation-button-size)"}},visibleOnSearchOnly:So({".":"epr-visible-on-search-only"},A3)}});function rh(t,e){var n,r;return{".epr-dark-theme":(n={},n[t]=e,n),".epr-auto-theme":(r={},r[t]={"@media (prefers-color-scheme: dark)":e},r)}}function Cte(t,e){var n,r,o=(n=t.customEmojis)!=null?n:[],s=(r=e.customEmojis)!=null?r:[];return t.open===e.open&&t.emojiVersion===e.emojiVersion&&t.reactionsDefaultOpen===e.reactionsDefaultOpen&&t.searchPlaceHolder===e.searchPlaceHolder&&t.searchPlaceholder===e.searchPlaceholder&&t.defaultSkinTone===e.defaultSkinTone&&t.skinTonesDisabled===e.skinTonesDisabled&&t.autoFocusSearch===e.autoFocusSearch&&t.emojiStyle===e.emojiStyle&&t.theme===e.theme&&t.suggestedEmojisMode===e.suggestedEmojisMode&&t.lazyLoadEmojis===e.lazyLoadEmojis&&t.className===e.className&&t.height===e.height&&t.width===e.width&&t.style===e.style&&t.searchDisabled===e.searchDisabled&&t.skinTonePickerLocation===e.skinTonePickerLocation&&o.length===s.length}var XCe=["1f44d","2764-fe0f","1f603","1f622","1f64f","1f44e","1f621"],ay;(function(t){t.RECENT="recent",t.FREQUENT="frequent"})(ay||(ay={}));var Ci;(function(t){t.NATIVE="native",t.APPLE="apple",t.TWITTER="twitter",t.GOOGLE="google",t.FACEBOOK="facebook"})(Ci||(Ci={}));var Vp;(function(t){t.DARK="dark",t.LIGHT="light",t.AUTO="auto"})(Vp||(Vp={}));var zl;(function(t){t.NEUTRAL="neutral",t.LIGHT="1f3fb",t.MEDIUM_LIGHT="1f3fc",t.MEDIUM="1f3fd",t.MEDIUM_DARK="1f3fe",t.DARK="1f3ff"})(zl||(zl={}));var Zn;(function(t){t.SUGGESTED="suggested",t.CUSTOM="custom",t.SMILEYS_PEOPLE="smileys_people",t.ANIMALS_NATURE="animals_nature",t.FOOD_DRINK="food_drink",t.TRAVEL_PLACES="travel_places",t.ACTIVITIES="activities",t.OBJECTS="objects",t.SYMBOLS="symbols",t.FLAGS="flags"})(Zn||(Zn={}));var hg;(function(t){t.SEARCH="SEARCH",t.PREVIEW="PREVIEW"})(hg||(hg={}));var Ml,eSe=[Zn.SUGGESTED,Zn.CUSTOM,Zn.SMILEYS_PEOPLE,Zn.ANIMALS_NATURE,Zn.FOOD_DRINK,Zn.TRAVEL_PLACES,Zn.ACTIVITIES,Zn.OBJECTS,Zn.SYMBOLS,Zn.FLAGS],tSe={name:"Recently Used",category:Zn.SUGGESTED},Ste=(Ml={},Ml[Zn.SUGGESTED]={category:Zn.SUGGESTED,name:"Frequently Used"},Ml[Zn.CUSTOM]={category:Zn.CUSTOM,name:"Custom Emojis"},Ml[Zn.SMILEYS_PEOPLE]={category:Zn.SMILEYS_PEOPLE,name:"Smileys & People"},Ml[Zn.ANIMALS_NATURE]={category:Zn.ANIMALS_NATURE,name:"Animals & Nature"},Ml[Zn.FOOD_DRINK]={category:Zn.FOOD_DRINK,name:"Food & Drink"},Ml[Zn.TRAVEL_PLACES]={category:Zn.TRAVEL_PLACES,name:"Travel & Places"},Ml[Zn.ACTIVITIES]={category:Zn.ACTIVITIES,name:"Activities"},Ml[Zn.OBJECTS]={category:Zn.OBJECTS,name:"Objects"},Ml[Zn.SYMBOLS]={category:Zn.SYMBOLS,name:"Symbols"},Ml[Zn.FLAGS]={category:Zn.FLAGS,name:"Flags"},Ml);function Ete(t){return eSe.map(function(e){return So({},Ste[e],t&&t[e]&&t[e])})}function AT(t){return t.category}function Nte(t){return t.name}function nSe(t,e){var n;t===void 0&&(t=[]),e===void 0&&(e={});var r={};e.suggestionMode===ay.RECENT&&(r[Zn.SUGGESTED]=tSe);var o=Ete(r);return(n=t)!=null&&n.length?t.map(function(s){return typeof s=="string"?nU(s,r[s]):So({},nU(s.category,r[s.category]),s)}):o}function nU(t,e){return e===void 0&&(e={}),Object.assign(Ste[t],e)}var rSe="https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/",oSe="https://cdn.jsdelivr.net/npm/emoji-datasource-facebook/img/facebook/64/",sSe="https://cdn.jsdelivr.net/npm/emoji-datasource-twitter/img/twitter/64/",aSe="https://cdn.jsdelivr.net/npm/emoji-datasource-google/img/google/64/";function iSe(t){switch(t){case Ci.TWITTER:return sSe;case Ci.GOOGLE:return aSe;case Ci.FACEBOOK:return oSe;case Ci.APPLE:default:return rSe}}var lSe=[],cSe=[{n:["grinning","grinning face"],u:"1f600",a:"1.0"},{n:["smiley","smiling face with open mouth"],u:"1f603",a:"0.6"},{n:["smile","smiling face with open mouth and smiling eyes"],u:"1f604",a:"0.6"},{n:["grin","grinning face with smiling eyes"],u:"1f601",a:"0.6"},{n:["laughing","satisfied","smiling face with open mouth and tightly-closed eyes"],u:"1f606",a:"0.6"},{n:["sweat smile","smiling face with open mouth and cold sweat"],u:"1f605",a:"0.6"},{n:["rolling on the floor laughing"],u:"1f923",a:"3.0"},{n:["joy","face with tears of joy"],u:"1f602",a:"0.6"},{n:["slightly smiling face"],u:"1f642",a:"1.0"},{n:["upside-down face","upside down face"],u:"1f643",a:"1.0"},{n:["melting face"],u:"1fae0",a:"14.0"},{n:["wink","winking face"],u:"1f609",a:"0.6"},{n:["blush","smiling face with smiling eyes"],u:"1f60a",a:"0.6"},{n:["innocent","smiling face with halo"],u:"1f607",a:"1.0"},{n:["smiling face with 3 hearts","smiling face with smiling eyes and three hearts"],u:"1f970",a:"11.0"},{n:["heart eyes","smiling face with heart-shaped eyes"],u:"1f60d",a:"0.6"},{n:["star-struck","grinning face with star eyes"],u:"1f929",a:"5.0"},{n:["kissing heart","face throwing a kiss"],u:"1f618",a:"0.6"},{n:["kissing","kissing face"],u:"1f617",a:"1.0"},{n:["relaxed","white smiling face"],u:"263a-fe0f",a:"0.6"},{n:["kissing closed eyes","kissing face with closed eyes"],u:"1f61a",a:"0.6"},{n:["kissing smiling eyes","kissing face with smiling eyes"],u:"1f619",a:"1.0"},{n:["smiling face with tear"],u:"1f972",a:"13.0"},{n:["yum","face savouring delicious food"],u:"1f60b",a:"0.6"},{n:["stuck out tongue","face with stuck-out tongue"],u:"1f61b",a:"1.0"},{n:["stuck out tongue winking eye","face with stuck-out tongue and winking eye"],u:"1f61c",a:"0.6"},{n:["zany face","grinning face with one large and one small eye"],u:"1f92a",a:"5.0"},{n:["stuck out tongue closed eyes","face with stuck-out tongue and tightly-closed eyes"],u:"1f61d",a:"0.6"},{n:["money-mouth face","money mouth face"],u:"1f911",a:"1.0"},{n:["hugging face"],u:"1f917",a:"1.0"},{n:["face with hand over mouth","smiling face with smiling eyes and hand covering mouth"],u:"1f92d",a:"5.0"},{n:["face with open eyes and hand over mouth"],u:"1fae2",a:"14.0"},{n:["face with peeking eye"],u:"1fae3",a:"14.0"},{n:["shushing face","face with finger covering closed lips"],u:"1f92b",a:"5.0"},{n:["thinking face"],u:"1f914",a:"1.0"},{n:["saluting face"],u:"1fae1",a:"14.0"},{n:["zipper-mouth face","zipper mouth face"],u:"1f910",a:"1.0"},{n:["face with raised eyebrow","face with one eyebrow raised"],u:"1f928",a:"5.0"},{n:["neutral face"],u:"1f610",a:"0.7"},{n:["expressionless","expressionless face"],u:"1f611",a:"1.0"},{n:["no mouth","face without mouth"],u:"1f636",a:"1.0"},{n:["dotted line face"],u:"1fae5",a:"14.0"},{n:["face in clouds"],u:"1f636-200d-1f32b-fe0f",a:"13.1"},{n:["smirk","smirking face"],u:"1f60f",a:"0.6"},{n:["unamused","unamused face"],u:"1f612",a:"0.6"},{n:["face with rolling eyes"],u:"1f644",a:"1.0"},{n:["grimacing","grimacing face"],u:"1f62c",a:"1.0"},{n:["face exhaling"],u:"1f62e-200d-1f4a8",a:"13.1"},{n:["lying face"],u:"1f925",a:"3.0"},{n:["relieved","relieved face"],u:"1f60c",a:"0.6"},{n:["pensive","pensive face"],u:"1f614",a:"0.6"},{n:["sleepy","sleepy face"],u:"1f62a",a:"0.6"},{n:["drooling face"],u:"1f924",a:"3.0"},{n:["sleeping","sleeping face"],u:"1f634",a:"1.0"},{n:["mask","face with medical mask"],u:"1f637",a:"0.6"},{n:["face with thermometer"],u:"1f912",a:"1.0"},{n:["face with head-bandage","face with head bandage"],u:"1f915",a:"1.0"},{n:["nauseated face"],u:"1f922",a:"3.0"},{n:["face vomiting","face with open mouth vomiting"],u:"1f92e",a:"5.0"},{n:["sneezing face"],u:"1f927",a:"3.0"},{n:["hot face","overheated face"],u:"1f975",a:"11.0"},{n:["cold face","freezing face"],u:"1f976",a:"11.0"},{n:["woozy face","face with uneven eyes and wavy mouth"],u:"1f974",a:"11.0"},{n:["dizzy face"],u:"1f635",a:"0.6"},{n:["face with spiral eyes"],u:"1f635-200d-1f4ab",a:"13.1"},{n:["exploding head","shocked face with exploding head"],u:"1f92f",a:"5.0"},{n:["face with cowboy hat"],u:"1f920",a:"3.0"},{n:["partying face","face with party horn and party hat"],u:"1f973",a:"11.0"},{n:["disguised face"],u:"1f978",a:"13.0"},{n:["sunglasses","smiling face with sunglasses"],u:"1f60e",a:"1.0"},{n:["nerd face"],u:"1f913",a:"1.0"},{n:["face with monocle"],u:"1f9d0",a:"5.0"},{n:["confused","confused face"],u:"1f615",a:"1.0"},{n:["face with diagonal mouth"],u:"1fae4",a:"14.0"},{n:["worried","worried face"],u:"1f61f",a:"1.0"},{n:["slightly frowning face"],u:"1f641",a:"1.0"},{n:["frowning face","white frowning face"],u:"2639-fe0f",a:"0.7"},{n:["open mouth","face with open mouth"],u:"1f62e",a:"1.0"},{n:["hushed","hushed face"],u:"1f62f",a:"1.0"},{n:["astonished","astonished face"],u:"1f632",a:"0.6"},{n:["flushed","flushed face"],u:"1f633",a:"0.6"},{n:["pleading face","face with pleading eyes"],u:"1f97a",a:"11.0"},{n:["face holding back tears"],u:"1f979",a:"14.0"},{n:["frowning","frowning face with open mouth"],u:"1f626",a:"1.0"},{n:["anguished","anguished face"],u:"1f627",a:"1.0"},{n:["fearful","fearful face"],u:"1f628",a:"0.6"},{n:["cold sweat","face with open mouth and cold sweat"],u:"1f630",a:"0.6"},{n:["disappointed relieved","disappointed but relieved face"],u:"1f625",a:"0.6"},{n:["cry","crying face"],u:"1f622",a:"0.6"},{n:["sob","loudly crying face"],u:"1f62d",a:"0.6"},{n:["scream","face screaming in fear"],u:"1f631",a:"0.6"},{n:["confounded","confounded face"],u:"1f616",a:"0.6"},{n:["persevere","persevering face"],u:"1f623",a:"0.6"},{n:["disappointed","disappointed face"],u:"1f61e",a:"0.6"},{n:["sweat","face with cold sweat"],u:"1f613",a:"0.6"},{n:["weary","weary face"],u:"1f629",a:"0.6"},{n:["tired face"],u:"1f62b",a:"0.6"},{n:["yawning face"],u:"1f971",a:"12.0"},{n:["triumph","face with look of triumph"],u:"1f624",a:"0.6"},{n:["rage","pouting face"],u:"1f621",a:"0.6"},{n:["angry","angry face"],u:"1f620",a:"0.6"},{n:["face with symbols on mouth","serious face with symbols covering mouth"],u:"1f92c",a:"5.0"},{n:["smiling imp","smiling face with horns"],u:"1f608",a:"1.0"},{n:["imp"],u:"1f47f",a:"0.6"},{n:["skull"],u:"1f480",a:"0.6"},{n:["skull and crossbones"],u:"2620-fe0f",a:"1.0"},{n:["poop","shit","hankey","pile of poo"],u:"1f4a9",a:"0.6"},{n:["clown face"],u:"1f921",a:"3.0"},{n:["japanese ogre"],u:"1f479",a:"0.6"},{n:["japanese goblin"],u:"1f47a",a:"0.6"},{n:["ghost"],u:"1f47b",a:"0.6"},{n:["alien","extraterrestrial alien"],u:"1f47d",a:"0.6"},{n:["alien monster","space invader"],u:"1f47e",a:"0.6"},{n:["robot face"],u:"1f916",a:"1.0"},{n:["smiley cat","smiling cat face with open mouth"],u:"1f63a",a:"0.6"},{n:["smile cat","grinning cat face with smiling eyes"],u:"1f638",a:"0.6"},{n:["joy cat","cat face with tears of joy"],u:"1f639",a:"0.6"},{n:["heart eyes cat","smiling cat face with heart-shaped eyes"],u:"1f63b",a:"0.6"},{n:["smirk cat","cat face with wry smile"],u:"1f63c",a:"0.6"},{n:["kissing cat","kissing cat face with closed eyes"],u:"1f63d",a:"0.6"},{n:["scream cat","weary cat face"],u:"1f640",a:"0.6"},{n:["crying cat face"],u:"1f63f",a:"0.6"},{n:["pouting cat","pouting cat face"],u:"1f63e",a:"0.6"},{n:["see no evil","see-no-evil monkey"],u:"1f648",a:"0.6"},{n:["hear no evil","hear-no-evil monkey"],u:"1f649",a:"0.6"},{n:["speak no evil","speak-no-evil monkey"],u:"1f64a",a:"0.6"},{n:["kiss","kiss mark"],u:"1f48b",a:"0.6"},{n:["love letter"],u:"1f48c",a:"0.6"},{n:["cupid","heart with arrow"],u:"1f498",a:"0.6"},{n:["gift heart","heart with ribbon"],u:"1f49d",a:"0.6"},{n:["sparkling heart"],u:"1f496",a:"0.6"},{n:["heartpulse","growing heart"],u:"1f497",a:"0.6"},{n:["heartbeat","beating heart"],u:"1f493",a:"0.6"},{n:["revolving hearts"],u:"1f49e",a:"0.6"},{n:["two hearts"],u:"1f495",a:"0.6"},{n:["heart decoration"],u:"1f49f",a:"0.6"},{n:["heart exclamation","heavy heart exclamation mark ornament"],u:"2763-fe0f",a:"1.0"},{n:["broken heart"],u:"1f494",a:"0.6"},{n:["heart on fire"],u:"2764-fe0f-200d-1f525",a:"13.1"},{n:["mending heart"],u:"2764-fe0f-200d-1fa79",a:"13.1"},{n:["heart","heavy black heart"],u:"2764-fe0f",a:"0.6"},{n:["orange heart"],u:"1f9e1",a:"5.0"},{n:["yellow heart"],u:"1f49b",a:"0.6"},{n:["green heart"],u:"1f49a",a:"0.6"},{n:["blue heart"],u:"1f499",a:"0.6"},{n:["purple heart"],u:"1f49c",a:"0.6"},{n:["brown heart"],u:"1f90e",a:"12.0"},{n:["black heart"],u:"1f5a4",a:"3.0"},{n:["white heart"],u:"1f90d",a:"12.0"},{n:["100","hundred points symbol"],u:"1f4af",a:"0.6"},{n:["anger","anger symbol"],u:"1f4a2",a:"0.6"},{n:["boom","collision","collision symbol"],u:"1f4a5",a:"0.6"},{n:["dizzy","dizzy symbol"],u:"1f4ab",a:"0.6"},{n:["sweat drops","splashing sweat symbol"],u:"1f4a6",a:"0.6"},{n:["dash","dash symbol"],u:"1f4a8",a:"0.6"},{n:["hole"],u:"1f573-fe0f",a:"0.7"},{n:["bomb"],u:"1f4a3",a:"0.6"},{n:["speech balloon"],u:"1f4ac",a:"0.6"},{n:["eye in speech bubble","eye-in-speech-bubble"],u:"1f441-fe0f-200d-1f5e8-fe0f",a:"2.0"},{n:["left speech bubble"],u:"1f5e8-fe0f",a:"2.0"},{n:["right anger bubble"],u:"1f5ef-fe0f",a:"0.7"},{n:["thought balloon"],u:"1f4ad",a:"1.0"},{n:["zzz","sleeping symbol"],u:"1f4a4",a:"0.6"},{n:["wave","waving hand sign"],u:"1f44b",v:["1f44b-1f3fb","1f44b-1f3fc","1f44b-1f3fd","1f44b-1f3fe","1f44b-1f3ff"],a:"0.6"},{n:["raised back of hand"],u:"1f91a",v:["1f91a-1f3fb","1f91a-1f3fc","1f91a-1f3fd","1f91a-1f3fe","1f91a-1f3ff"],a:"3.0"},{n:["hand with fingers splayed","raised hand with fingers splayed"],u:"1f590-fe0f",v:["1f590-1f3fb","1f590-1f3fc","1f590-1f3fd","1f590-1f3fe","1f590-1f3ff"],a:"0.7"},{n:["hand","raised hand"],u:"270b",v:["270b-1f3fb","270b-1f3fc","270b-1f3fd","270b-1f3fe","270b-1f3ff"],a:"0.6"},{n:["spock-hand","raised hand with part between middle and ring fingers"],u:"1f596",v:["1f596-1f3fb","1f596-1f3fc","1f596-1f3fd","1f596-1f3fe","1f596-1f3ff"],a:"1.0"},{n:["rightwards hand"],u:"1faf1",v:["1faf1-1f3fb","1faf1-1f3fc","1faf1-1f3fd","1faf1-1f3fe","1faf1-1f3ff"],a:"14.0"},{n:["leftwards hand"],u:"1faf2",v:["1faf2-1f3fb","1faf2-1f3fc","1faf2-1f3fd","1faf2-1f3fe","1faf2-1f3ff"],a:"14.0"},{n:["palm down hand"],u:"1faf3",v:["1faf3-1f3fb","1faf3-1f3fc","1faf3-1f3fd","1faf3-1f3fe","1faf3-1f3ff"],a:"14.0"},{n:["palm up hand"],u:"1faf4",v:["1faf4-1f3fb","1faf4-1f3fc","1faf4-1f3fd","1faf4-1f3fe","1faf4-1f3ff"],a:"14.0"},{n:["ok hand","ok hand sign"],u:"1f44c",v:["1f44c-1f3fb","1f44c-1f3fc","1f44c-1f3fd","1f44c-1f3fe","1f44c-1f3ff"],a:"0.6"},{n:["pinched fingers"],u:"1f90c",v:["1f90c-1f3fb","1f90c-1f3fc","1f90c-1f3fd","1f90c-1f3fe","1f90c-1f3ff"],a:"13.0"},{n:["pinching hand"],u:"1f90f",v:["1f90f-1f3fb","1f90f-1f3fc","1f90f-1f3fd","1f90f-1f3fe","1f90f-1f3ff"],a:"12.0"},{n:["v","victory hand"],u:"270c-fe0f",v:["270c-1f3fb","270c-1f3fc","270c-1f3fd","270c-1f3fe","270c-1f3ff"],a:"0.6"},{n:["crossed fingers","hand with index and middle fingers crossed"],u:"1f91e",v:["1f91e-1f3fb","1f91e-1f3fc","1f91e-1f3fd","1f91e-1f3fe","1f91e-1f3ff"],a:"3.0"},{n:["hand with index finger and thumb crossed"],u:"1faf0",v:["1faf0-1f3fb","1faf0-1f3fc","1faf0-1f3fd","1faf0-1f3fe","1faf0-1f3ff"],a:"14.0"},{n:["i love you hand sign"],u:"1f91f",v:["1f91f-1f3fb","1f91f-1f3fc","1f91f-1f3fd","1f91f-1f3fe","1f91f-1f3ff"],a:"5.0"},{n:["the horns","sign of the horns"],u:"1f918",v:["1f918-1f3fb","1f918-1f3fc","1f918-1f3fd","1f918-1f3fe","1f918-1f3ff"],a:"1.0"},{n:["call me hand"],u:"1f919",v:["1f919-1f3fb","1f919-1f3fc","1f919-1f3fd","1f919-1f3fe","1f919-1f3ff"],a:"3.0"},{n:["point left","white left pointing backhand index"],u:"1f448",v:["1f448-1f3fb","1f448-1f3fc","1f448-1f3fd","1f448-1f3fe","1f448-1f3ff"],a:"0.6"},{n:["point right","white right pointing backhand index"],u:"1f449",v:["1f449-1f3fb","1f449-1f3fc","1f449-1f3fd","1f449-1f3fe","1f449-1f3ff"],a:"0.6"},{n:["point up 2","white up pointing backhand index"],u:"1f446",v:["1f446-1f3fb","1f446-1f3fc","1f446-1f3fd","1f446-1f3fe","1f446-1f3ff"],a:"0.6"},{n:["middle finger","reversed hand with middle finger extended"],u:"1f595",v:["1f595-1f3fb","1f595-1f3fc","1f595-1f3fd","1f595-1f3fe","1f595-1f3ff"],a:"1.0"},{n:["point down","white down pointing backhand index"],u:"1f447",v:["1f447-1f3fb","1f447-1f3fc","1f447-1f3fd","1f447-1f3fe","1f447-1f3ff"],a:"0.6"},{n:["point up","white up pointing index"],u:"261d-fe0f",v:["261d-1f3fb","261d-1f3fc","261d-1f3fd","261d-1f3fe","261d-1f3ff"],a:"0.6"},{n:["index pointing at the viewer"],u:"1faf5",v:["1faf5-1f3fb","1faf5-1f3fc","1faf5-1f3fd","1faf5-1f3fe","1faf5-1f3ff"],a:"14.0"},{n:["+1","thumbsup","thumbs up sign"],u:"1f44d",v:["1f44d-1f3fb","1f44d-1f3fc","1f44d-1f3fd","1f44d-1f3fe","1f44d-1f3ff"],a:"0.6"},{n:["-1","thumbsdown","thumbs down sign"],u:"1f44e",v:["1f44e-1f3fb","1f44e-1f3fc","1f44e-1f3fd","1f44e-1f3fe","1f44e-1f3ff"],a:"0.6"},{n:["fist","raised fist"],u:"270a",v:["270a-1f3fb","270a-1f3fc","270a-1f3fd","270a-1f3fe","270a-1f3ff"],a:"0.6"},{n:["punch","facepunch","fisted hand sign"],u:"1f44a",v:["1f44a-1f3fb","1f44a-1f3fc","1f44a-1f3fd","1f44a-1f3fe","1f44a-1f3ff"],a:"0.6"},{n:["left-facing fist"],u:"1f91b",v:["1f91b-1f3fb","1f91b-1f3fc","1f91b-1f3fd","1f91b-1f3fe","1f91b-1f3ff"],a:"3.0"},{n:["right-facing fist"],u:"1f91c",v:["1f91c-1f3fb","1f91c-1f3fc","1f91c-1f3fd","1f91c-1f3fe","1f91c-1f3ff"],a:"3.0"},{n:["clap","clapping hands sign"],u:"1f44f",v:["1f44f-1f3fb","1f44f-1f3fc","1f44f-1f3fd","1f44f-1f3fe","1f44f-1f3ff"],a:"0.6"},{n:["raised hands","person raising both hands in celebration"],u:"1f64c",v:["1f64c-1f3fb","1f64c-1f3fc","1f64c-1f3fd","1f64c-1f3fe","1f64c-1f3ff"],a:"0.6"},{n:["heart hands"],u:"1faf6",v:["1faf6-1f3fb","1faf6-1f3fc","1faf6-1f3fd","1faf6-1f3fe","1faf6-1f3ff"],a:"14.0"},{n:["open hands","open hands sign"],u:"1f450",v:["1f450-1f3fb","1f450-1f3fc","1f450-1f3fd","1f450-1f3fe","1f450-1f3ff"],a:"0.6"},{n:["palms up together"],u:"1f932",v:["1f932-1f3fb","1f932-1f3fc","1f932-1f3fd","1f932-1f3fe","1f932-1f3ff"],a:"5.0"},{n:["handshake"],u:"1f91d",v:["1f91d-1f3fb","1f91d-1f3fc","1f91d-1f3fd","1f91d-1f3fe","1f91d-1f3ff","1faf1-1f3fb-200d-1faf2-1f3fc","1faf1-1f3fb-200d-1faf2-1f3fd","1faf1-1f3fb-200d-1faf2-1f3fe","1faf1-1f3fb-200d-1faf2-1f3ff","1faf1-1f3fc-200d-1faf2-1f3fb","1faf1-1f3fc-200d-1faf2-1f3fd","1faf1-1f3fc-200d-1faf2-1f3fe","1faf1-1f3fc-200d-1faf2-1f3ff","1faf1-1f3fd-200d-1faf2-1f3fb","1faf1-1f3fd-200d-1faf2-1f3fc","1faf1-1f3fd-200d-1faf2-1f3fe","1faf1-1f3fd-200d-1faf2-1f3ff","1faf1-1f3fe-200d-1faf2-1f3fb","1faf1-1f3fe-200d-1faf2-1f3fc","1faf1-1f3fe-200d-1faf2-1f3fd","1faf1-1f3fe-200d-1faf2-1f3ff","1faf1-1f3ff-200d-1faf2-1f3fb","1faf1-1f3ff-200d-1faf2-1f3fc","1faf1-1f3ff-200d-1faf2-1f3fd","1faf1-1f3ff-200d-1faf2-1f3fe"],a:"3.0"},{n:["pray","person with folded hands"],u:"1f64f",v:["1f64f-1f3fb","1f64f-1f3fc","1f64f-1f3fd","1f64f-1f3fe","1f64f-1f3ff"],a:"0.6"},{n:["writing hand"],u:"270d-fe0f",v:["270d-1f3fb","270d-1f3fc","270d-1f3fd","270d-1f3fe","270d-1f3ff"],a:"0.7"},{n:["nail care","nail polish"],u:"1f485",v:["1f485-1f3fb","1f485-1f3fc","1f485-1f3fd","1f485-1f3fe","1f485-1f3ff"],a:"0.6"},{n:["selfie"],u:"1f933",v:["1f933-1f3fb","1f933-1f3fc","1f933-1f3fd","1f933-1f3fe","1f933-1f3ff"],a:"3.0"},{n:["muscle","flexed biceps"],u:"1f4aa",v:["1f4aa-1f3fb","1f4aa-1f3fc","1f4aa-1f3fd","1f4aa-1f3fe","1f4aa-1f3ff"],a:"0.6"},{n:["mechanical arm"],u:"1f9be",a:"12.0"},{n:["mechanical leg"],u:"1f9bf",a:"12.0"},{n:["leg"],u:"1f9b5",v:["1f9b5-1f3fb","1f9b5-1f3fc","1f9b5-1f3fd","1f9b5-1f3fe","1f9b5-1f3ff"],a:"11.0"},{n:["foot"],u:"1f9b6",v:["1f9b6-1f3fb","1f9b6-1f3fc","1f9b6-1f3fd","1f9b6-1f3fe","1f9b6-1f3ff"],a:"11.0"},{n:["ear"],u:"1f442",v:["1f442-1f3fb","1f442-1f3fc","1f442-1f3fd","1f442-1f3fe","1f442-1f3ff"],a:"0.6"},{n:["ear with hearing aid"],u:"1f9bb",v:["1f9bb-1f3fb","1f9bb-1f3fc","1f9bb-1f3fd","1f9bb-1f3fe","1f9bb-1f3ff"],a:"12.0"},{n:["nose"],u:"1f443",v:["1f443-1f3fb","1f443-1f3fc","1f443-1f3fd","1f443-1f3fe","1f443-1f3ff"],a:"0.6"},{n:["brain"],u:"1f9e0",a:"5.0"},{n:["anatomical heart"],u:"1fac0",a:"13.0"},{n:["lungs"],u:"1fac1",a:"13.0"},{n:["tooth"],u:"1f9b7",a:"11.0"},{n:["bone"],u:"1f9b4",a:"11.0"},{n:["eyes"],u:"1f440",a:"0.6"},{n:["eye"],u:"1f441-fe0f",a:"0.7"},{n:["tongue"],u:"1f445",a:"0.6"},{n:["lips","mouth"],u:"1f444",a:"0.6"},{n:["biting lip"],u:"1fae6",a:"14.0"},{n:["baby"],u:"1f476",v:["1f476-1f3fb","1f476-1f3fc","1f476-1f3fd","1f476-1f3fe","1f476-1f3ff"],a:"0.6"},{n:["child"],u:"1f9d2",v:["1f9d2-1f3fb","1f9d2-1f3fc","1f9d2-1f3fd","1f9d2-1f3fe","1f9d2-1f3ff"],a:"5.0"},{n:["boy"],u:"1f466",v:["1f466-1f3fb","1f466-1f3fc","1f466-1f3fd","1f466-1f3fe","1f466-1f3ff"],a:"0.6"},{n:["girl"],u:"1f467",v:["1f467-1f3fb","1f467-1f3fc","1f467-1f3fd","1f467-1f3fe","1f467-1f3ff"],a:"0.6"},{n:["adult"],u:"1f9d1",v:["1f9d1-1f3fb","1f9d1-1f3fc","1f9d1-1f3fd","1f9d1-1f3fe","1f9d1-1f3ff"],a:"5.0"},{n:["person with blond hair"],u:"1f471",v:["1f471-1f3fb","1f471-1f3fc","1f471-1f3fd","1f471-1f3fe","1f471-1f3ff"],a:"0.6"},{n:["man"],u:"1f468",v:["1f468-1f3fb","1f468-1f3fc","1f468-1f3fd","1f468-1f3fe","1f468-1f3ff"],a:"0.6"},{n:["bearded person"],u:"1f9d4",v:["1f9d4-1f3fb","1f9d4-1f3fc","1f9d4-1f3fd","1f9d4-1f3fe","1f9d4-1f3ff"],a:"5.0"},{n:["man: beard","man with beard"],u:"1f9d4-200d-2642-fe0f",v:["1f9d4-1f3fb-200d-2642-fe0f","1f9d4-1f3fc-200d-2642-fe0f","1f9d4-1f3fd-200d-2642-fe0f","1f9d4-1f3fe-200d-2642-fe0f","1f9d4-1f3ff-200d-2642-fe0f"],a:"13.1"},{n:["woman: beard","woman with beard"],u:"1f9d4-200d-2640-fe0f",v:["1f9d4-1f3fb-200d-2640-fe0f","1f9d4-1f3fc-200d-2640-fe0f","1f9d4-1f3fd-200d-2640-fe0f","1f9d4-1f3fe-200d-2640-fe0f","1f9d4-1f3ff-200d-2640-fe0f"],a:"13.1"},{n:["man: red hair","red haired man"],u:"1f468-200d-1f9b0",v:["1f468-1f3fb-200d-1f9b0","1f468-1f3fc-200d-1f9b0","1f468-1f3fd-200d-1f9b0","1f468-1f3fe-200d-1f9b0","1f468-1f3ff-200d-1f9b0"],a:"11.0"},{n:["man: curly hair","curly haired man"],u:"1f468-200d-1f9b1",v:["1f468-1f3fb-200d-1f9b1","1f468-1f3fc-200d-1f9b1","1f468-1f3fd-200d-1f9b1","1f468-1f3fe-200d-1f9b1","1f468-1f3ff-200d-1f9b1"],a:"11.0"},{n:["man: white hair","white haired man"],u:"1f468-200d-1f9b3",v:["1f468-1f3fb-200d-1f9b3","1f468-1f3fc-200d-1f9b3","1f468-1f3fd-200d-1f9b3","1f468-1f3fe-200d-1f9b3","1f468-1f3ff-200d-1f9b3"],a:"11.0"},{n:["bald man","man: bald"],u:"1f468-200d-1f9b2",v:["1f468-1f3fb-200d-1f9b2","1f468-1f3fc-200d-1f9b2","1f468-1f3fd-200d-1f9b2","1f468-1f3fe-200d-1f9b2","1f468-1f3ff-200d-1f9b2"],a:"11.0"},{n:["woman"],u:"1f469",v:["1f469-1f3fb","1f469-1f3fc","1f469-1f3fd","1f469-1f3fe","1f469-1f3ff"],a:"0.6"},{n:["woman: red hair","red haired woman"],u:"1f469-200d-1f9b0",v:["1f469-1f3fb-200d-1f9b0","1f469-1f3fc-200d-1f9b0","1f469-1f3fd-200d-1f9b0","1f469-1f3fe-200d-1f9b0","1f469-1f3ff-200d-1f9b0"],a:"11.0"},{n:["person: red hair","red haired person"],u:"1f9d1-200d-1f9b0",v:["1f9d1-1f3fb-200d-1f9b0","1f9d1-1f3fc-200d-1f9b0","1f9d1-1f3fd-200d-1f9b0","1f9d1-1f3fe-200d-1f9b0","1f9d1-1f3ff-200d-1f9b0"],a:"12.1"},{n:["woman: curly hair","curly haired woman"],u:"1f469-200d-1f9b1",v:["1f469-1f3fb-200d-1f9b1","1f469-1f3fc-200d-1f9b1","1f469-1f3fd-200d-1f9b1","1f469-1f3fe-200d-1f9b1","1f469-1f3ff-200d-1f9b1"],a:"11.0"},{n:["person: curly hair","curly haired person"],u:"1f9d1-200d-1f9b1",v:["1f9d1-1f3fb-200d-1f9b1","1f9d1-1f3fc-200d-1f9b1","1f9d1-1f3fd-200d-1f9b1","1f9d1-1f3fe-200d-1f9b1","1f9d1-1f3ff-200d-1f9b1"],a:"12.1"},{n:["woman: white hair","white haired woman"],u:"1f469-200d-1f9b3",v:["1f469-1f3fb-200d-1f9b3","1f469-1f3fc-200d-1f9b3","1f469-1f3fd-200d-1f9b3","1f469-1f3fe-200d-1f9b3","1f469-1f3ff-200d-1f9b3"],a:"11.0"},{n:["person: white hair","white haired person"],u:"1f9d1-200d-1f9b3",v:["1f9d1-1f3fb-200d-1f9b3","1f9d1-1f3fc-200d-1f9b3","1f9d1-1f3fd-200d-1f9b3","1f9d1-1f3fe-200d-1f9b3","1f9d1-1f3ff-200d-1f9b3"],a:"12.1"},{n:["bald woman","woman: bald"],u:"1f469-200d-1f9b2",v:["1f469-1f3fb-200d-1f9b2","1f469-1f3fc-200d-1f9b2","1f469-1f3fd-200d-1f9b2","1f469-1f3fe-200d-1f9b2","1f469-1f3ff-200d-1f9b2"],a:"11.0"},{n:["bald person","person: bald"],u:"1f9d1-200d-1f9b2",v:["1f9d1-1f3fb-200d-1f9b2","1f9d1-1f3fc-200d-1f9b2","1f9d1-1f3fd-200d-1f9b2","1f9d1-1f3fe-200d-1f9b2","1f9d1-1f3ff-200d-1f9b2"],a:"12.1"},{n:["woman: blond hair","blond-haired-woman"],u:"1f471-200d-2640-fe0f",v:["1f471-1f3fb-200d-2640-fe0f","1f471-1f3fc-200d-2640-fe0f","1f471-1f3fd-200d-2640-fe0f","1f471-1f3fe-200d-2640-fe0f","1f471-1f3ff-200d-2640-fe0f"],a:"4.0"},{n:["man: blond hair","blond-haired-man"],u:"1f471-200d-2642-fe0f",v:["1f471-1f3fb-200d-2642-fe0f","1f471-1f3fc-200d-2642-fe0f","1f471-1f3fd-200d-2642-fe0f","1f471-1f3fe-200d-2642-fe0f","1f471-1f3ff-200d-2642-fe0f"],a:"4.0"},{n:["older adult"],u:"1f9d3",v:["1f9d3-1f3fb","1f9d3-1f3fc","1f9d3-1f3fd","1f9d3-1f3fe","1f9d3-1f3ff"],a:"5.0"},{n:["older man"],u:"1f474",v:["1f474-1f3fb","1f474-1f3fc","1f474-1f3fd","1f474-1f3fe","1f474-1f3ff"],a:"0.6"},{n:["older woman"],u:"1f475",v:["1f475-1f3fb","1f475-1f3fc","1f475-1f3fd","1f475-1f3fe","1f475-1f3ff"],a:"0.6"},{n:["person frowning"],u:"1f64d",v:["1f64d-1f3fb","1f64d-1f3fc","1f64d-1f3fd","1f64d-1f3fe","1f64d-1f3ff"],a:"0.6"},{n:["man frowning","man-frowning"],u:"1f64d-200d-2642-fe0f",v:["1f64d-1f3fb-200d-2642-fe0f","1f64d-1f3fc-200d-2642-fe0f","1f64d-1f3fd-200d-2642-fe0f","1f64d-1f3fe-200d-2642-fe0f","1f64d-1f3ff-200d-2642-fe0f"],a:"4.0"},{n:["woman frowning","woman-frowning"],u:"1f64d-200d-2640-fe0f",v:["1f64d-1f3fb-200d-2640-fe0f","1f64d-1f3fc-200d-2640-fe0f","1f64d-1f3fd-200d-2640-fe0f","1f64d-1f3fe-200d-2640-fe0f","1f64d-1f3ff-200d-2640-fe0f"],a:"4.0"},{n:["person with pouting face"],u:"1f64e",v:["1f64e-1f3fb","1f64e-1f3fc","1f64e-1f3fd","1f64e-1f3fe","1f64e-1f3ff"],a:"0.6"},{n:["man pouting","man-pouting"],u:"1f64e-200d-2642-fe0f",v:["1f64e-1f3fb-200d-2642-fe0f","1f64e-1f3fc-200d-2642-fe0f","1f64e-1f3fd-200d-2642-fe0f","1f64e-1f3fe-200d-2642-fe0f","1f64e-1f3ff-200d-2642-fe0f"],a:"4.0"},{n:["woman pouting","woman-pouting"],u:"1f64e-200d-2640-fe0f",v:["1f64e-1f3fb-200d-2640-fe0f","1f64e-1f3fc-200d-2640-fe0f","1f64e-1f3fd-200d-2640-fe0f","1f64e-1f3fe-200d-2640-fe0f","1f64e-1f3ff-200d-2640-fe0f"],a:"4.0"},{n:["no good","face with no good gesture"],u:"1f645",v:["1f645-1f3fb","1f645-1f3fc","1f645-1f3fd","1f645-1f3fe","1f645-1f3ff"],a:"0.6"},{n:["man gesturing no","man-gesturing-no"],u:"1f645-200d-2642-fe0f",v:["1f645-1f3fb-200d-2642-fe0f","1f645-1f3fc-200d-2642-fe0f","1f645-1f3fd-200d-2642-fe0f","1f645-1f3fe-200d-2642-fe0f","1f645-1f3ff-200d-2642-fe0f"],a:"4.0"},{n:["woman gesturing no","woman-gesturing-no"],u:"1f645-200d-2640-fe0f",v:["1f645-1f3fb-200d-2640-fe0f","1f645-1f3fc-200d-2640-fe0f","1f645-1f3fd-200d-2640-fe0f","1f645-1f3fe-200d-2640-fe0f","1f645-1f3ff-200d-2640-fe0f"],a:"4.0"},{n:["ok woman","face with ok gesture"],u:"1f646",v:["1f646-1f3fb","1f646-1f3fc","1f646-1f3fd","1f646-1f3fe","1f646-1f3ff"],a:"0.6"},{n:["man gesturing ok","man-gesturing-ok"],u:"1f646-200d-2642-fe0f",v:["1f646-1f3fb-200d-2642-fe0f","1f646-1f3fc-200d-2642-fe0f","1f646-1f3fd-200d-2642-fe0f","1f646-1f3fe-200d-2642-fe0f","1f646-1f3ff-200d-2642-fe0f"],a:"4.0"},{n:["woman gesturing ok","woman-gesturing-ok"],u:"1f646-200d-2640-fe0f",v:["1f646-1f3fb-200d-2640-fe0f","1f646-1f3fc-200d-2640-fe0f","1f646-1f3fd-200d-2640-fe0f","1f646-1f3fe-200d-2640-fe0f","1f646-1f3ff-200d-2640-fe0f"],a:"4.0"},{n:["information desk person"],u:"1f481",v:["1f481-1f3fb","1f481-1f3fc","1f481-1f3fd","1f481-1f3fe","1f481-1f3ff"],a:"0.6"},{n:["man tipping hand","man-tipping-hand"],u:"1f481-200d-2642-fe0f",v:["1f481-1f3fb-200d-2642-fe0f","1f481-1f3fc-200d-2642-fe0f","1f481-1f3fd-200d-2642-fe0f","1f481-1f3fe-200d-2642-fe0f","1f481-1f3ff-200d-2642-fe0f"],a:"4.0"},{n:["woman tipping hand","woman-tipping-hand"],u:"1f481-200d-2640-fe0f",v:["1f481-1f3fb-200d-2640-fe0f","1f481-1f3fc-200d-2640-fe0f","1f481-1f3fd-200d-2640-fe0f","1f481-1f3fe-200d-2640-fe0f","1f481-1f3ff-200d-2640-fe0f"],a:"4.0"},{n:["raising hand","happy person raising one hand"],u:"1f64b",v:["1f64b-1f3fb","1f64b-1f3fc","1f64b-1f3fd","1f64b-1f3fe","1f64b-1f3ff"],a:"0.6"},{n:["man raising hand","man-raising-hand"],u:"1f64b-200d-2642-fe0f",v:["1f64b-1f3fb-200d-2642-fe0f","1f64b-1f3fc-200d-2642-fe0f","1f64b-1f3fd-200d-2642-fe0f","1f64b-1f3fe-200d-2642-fe0f","1f64b-1f3ff-200d-2642-fe0f"],a:"4.0"},{n:["woman raising hand","woman-raising-hand"],u:"1f64b-200d-2640-fe0f",v:["1f64b-1f3fb-200d-2640-fe0f","1f64b-1f3fc-200d-2640-fe0f","1f64b-1f3fd-200d-2640-fe0f","1f64b-1f3fe-200d-2640-fe0f","1f64b-1f3ff-200d-2640-fe0f"],a:"4.0"},{n:["deaf person"],u:"1f9cf",v:["1f9cf-1f3fb","1f9cf-1f3fc","1f9cf-1f3fd","1f9cf-1f3fe","1f9cf-1f3ff"],a:"12.0"},{n:["deaf man"],u:"1f9cf-200d-2642-fe0f",v:["1f9cf-1f3fb-200d-2642-fe0f","1f9cf-1f3fc-200d-2642-fe0f","1f9cf-1f3fd-200d-2642-fe0f","1f9cf-1f3fe-200d-2642-fe0f","1f9cf-1f3ff-200d-2642-fe0f"],a:"12.0"},{n:["deaf woman"],u:"1f9cf-200d-2640-fe0f",v:["1f9cf-1f3fb-200d-2640-fe0f","1f9cf-1f3fc-200d-2640-fe0f","1f9cf-1f3fd-200d-2640-fe0f","1f9cf-1f3fe-200d-2640-fe0f","1f9cf-1f3ff-200d-2640-fe0f"],a:"12.0"},{n:["bow","person bowing deeply"],u:"1f647",v:["1f647-1f3fb","1f647-1f3fc","1f647-1f3fd","1f647-1f3fe","1f647-1f3ff"],a:"0.6"},{n:["man bowing","man-bowing"],u:"1f647-200d-2642-fe0f",v:["1f647-1f3fb-200d-2642-fe0f","1f647-1f3fc-200d-2642-fe0f","1f647-1f3fd-200d-2642-fe0f","1f647-1f3fe-200d-2642-fe0f","1f647-1f3ff-200d-2642-fe0f"],a:"4.0"},{n:["woman bowing","woman-bowing"],u:"1f647-200d-2640-fe0f",v:["1f647-1f3fb-200d-2640-fe0f","1f647-1f3fc-200d-2640-fe0f","1f647-1f3fd-200d-2640-fe0f","1f647-1f3fe-200d-2640-fe0f","1f647-1f3ff-200d-2640-fe0f"],a:"4.0"},{n:["face palm"],u:"1f926",v:["1f926-1f3fb","1f926-1f3fc","1f926-1f3fd","1f926-1f3fe","1f926-1f3ff"],a:"3.0"},{n:["man facepalming","man-facepalming"],u:"1f926-200d-2642-fe0f",v:["1f926-1f3fb-200d-2642-fe0f","1f926-1f3fc-200d-2642-fe0f","1f926-1f3fd-200d-2642-fe0f","1f926-1f3fe-200d-2642-fe0f","1f926-1f3ff-200d-2642-fe0f"],a:"4.0"},{n:["woman facepalming","woman-facepalming"],u:"1f926-200d-2640-fe0f",v:["1f926-1f3fb-200d-2640-fe0f","1f926-1f3fc-200d-2640-fe0f","1f926-1f3fd-200d-2640-fe0f","1f926-1f3fe-200d-2640-fe0f","1f926-1f3ff-200d-2640-fe0f"],a:"4.0"},{n:["shrug"],u:"1f937",v:["1f937-1f3fb","1f937-1f3fc","1f937-1f3fd","1f937-1f3fe","1f937-1f3ff"],a:"3.0"},{n:["man shrugging","man-shrugging"],u:"1f937-200d-2642-fe0f",v:["1f937-1f3fb-200d-2642-fe0f","1f937-1f3fc-200d-2642-fe0f","1f937-1f3fd-200d-2642-fe0f","1f937-1f3fe-200d-2642-fe0f","1f937-1f3ff-200d-2642-fe0f"],a:"4.0"},{n:["woman shrugging","woman-shrugging"],u:"1f937-200d-2640-fe0f",v:["1f937-1f3fb-200d-2640-fe0f","1f937-1f3fc-200d-2640-fe0f","1f937-1f3fd-200d-2640-fe0f","1f937-1f3fe-200d-2640-fe0f","1f937-1f3ff-200d-2640-fe0f"],a:"4.0"},{n:["health worker"],u:"1f9d1-200d-2695-fe0f",v:["1f9d1-1f3fb-200d-2695-fe0f","1f9d1-1f3fc-200d-2695-fe0f","1f9d1-1f3fd-200d-2695-fe0f","1f9d1-1f3fe-200d-2695-fe0f","1f9d1-1f3ff-200d-2695-fe0f"],a:"12.1"},{n:["male-doctor","man health worker"],u:"1f468-200d-2695-fe0f",v:["1f468-1f3fb-200d-2695-fe0f","1f468-1f3fc-200d-2695-fe0f","1f468-1f3fd-200d-2695-fe0f","1f468-1f3fe-200d-2695-fe0f","1f468-1f3ff-200d-2695-fe0f"],a:"4.0"},{n:["female-doctor","woman health worker"],u:"1f469-200d-2695-fe0f",v:["1f469-1f3fb-200d-2695-fe0f","1f469-1f3fc-200d-2695-fe0f","1f469-1f3fd-200d-2695-fe0f","1f469-1f3fe-200d-2695-fe0f","1f469-1f3ff-200d-2695-fe0f"],a:"4.0"},{n:["student"],u:"1f9d1-200d-1f393",v:["1f9d1-1f3fb-200d-1f393","1f9d1-1f3fc-200d-1f393","1f9d1-1f3fd-200d-1f393","1f9d1-1f3fe-200d-1f393","1f9d1-1f3ff-200d-1f393"],a:"12.1"},{n:["man student","male-student"],u:"1f468-200d-1f393",v:["1f468-1f3fb-200d-1f393","1f468-1f3fc-200d-1f393","1f468-1f3fd-200d-1f393","1f468-1f3fe-200d-1f393","1f468-1f3ff-200d-1f393"],a:"4.0"},{n:["woman student","female-student"],u:"1f469-200d-1f393",v:["1f469-1f3fb-200d-1f393","1f469-1f3fc-200d-1f393","1f469-1f3fd-200d-1f393","1f469-1f3fe-200d-1f393","1f469-1f3ff-200d-1f393"],a:"4.0"},{n:["teacher"],u:"1f9d1-200d-1f3eb",v:["1f9d1-1f3fb-200d-1f3eb","1f9d1-1f3fc-200d-1f3eb","1f9d1-1f3fd-200d-1f3eb","1f9d1-1f3fe-200d-1f3eb","1f9d1-1f3ff-200d-1f3eb"],a:"12.1"},{n:["man teacher","male-teacher"],u:"1f468-200d-1f3eb",v:["1f468-1f3fb-200d-1f3eb","1f468-1f3fc-200d-1f3eb","1f468-1f3fd-200d-1f3eb","1f468-1f3fe-200d-1f3eb","1f468-1f3ff-200d-1f3eb"],a:"4.0"},{n:["woman teacher","female-teacher"],u:"1f469-200d-1f3eb",v:["1f469-1f3fb-200d-1f3eb","1f469-1f3fc-200d-1f3eb","1f469-1f3fd-200d-1f3eb","1f469-1f3fe-200d-1f3eb","1f469-1f3ff-200d-1f3eb"],a:"4.0"},{n:["judge"],u:"1f9d1-200d-2696-fe0f",v:["1f9d1-1f3fb-200d-2696-fe0f","1f9d1-1f3fc-200d-2696-fe0f","1f9d1-1f3fd-200d-2696-fe0f","1f9d1-1f3fe-200d-2696-fe0f","1f9d1-1f3ff-200d-2696-fe0f"],a:"12.1"},{n:["man judge","male-judge"],u:"1f468-200d-2696-fe0f",v:["1f468-1f3fb-200d-2696-fe0f","1f468-1f3fc-200d-2696-fe0f","1f468-1f3fd-200d-2696-fe0f","1f468-1f3fe-200d-2696-fe0f","1f468-1f3ff-200d-2696-fe0f"],a:"4.0"},{n:["woman judge","female-judge"],u:"1f469-200d-2696-fe0f",v:["1f469-1f3fb-200d-2696-fe0f","1f469-1f3fc-200d-2696-fe0f","1f469-1f3fd-200d-2696-fe0f","1f469-1f3fe-200d-2696-fe0f","1f469-1f3ff-200d-2696-fe0f"],a:"4.0"},{n:["farmer"],u:"1f9d1-200d-1f33e",v:["1f9d1-1f3fb-200d-1f33e","1f9d1-1f3fc-200d-1f33e","1f9d1-1f3fd-200d-1f33e","1f9d1-1f3fe-200d-1f33e","1f9d1-1f3ff-200d-1f33e"],a:"12.1"},{n:["man farmer","male-farmer"],u:"1f468-200d-1f33e",v:["1f468-1f3fb-200d-1f33e","1f468-1f3fc-200d-1f33e","1f468-1f3fd-200d-1f33e","1f468-1f3fe-200d-1f33e","1f468-1f3ff-200d-1f33e"],a:"4.0"},{n:["woman farmer","female-farmer"],u:"1f469-200d-1f33e",v:["1f469-1f3fb-200d-1f33e","1f469-1f3fc-200d-1f33e","1f469-1f3fd-200d-1f33e","1f469-1f3fe-200d-1f33e","1f469-1f3ff-200d-1f33e"],a:"4.0"},{n:["cook"],u:"1f9d1-200d-1f373",v:["1f9d1-1f3fb-200d-1f373","1f9d1-1f3fc-200d-1f373","1f9d1-1f3fd-200d-1f373","1f9d1-1f3fe-200d-1f373","1f9d1-1f3ff-200d-1f373"],a:"12.1"},{n:["man cook","male-cook"],u:"1f468-200d-1f373",v:["1f468-1f3fb-200d-1f373","1f468-1f3fc-200d-1f373","1f468-1f3fd-200d-1f373","1f468-1f3fe-200d-1f373","1f468-1f3ff-200d-1f373"],a:"4.0"},{n:["woman cook","female-cook"],u:"1f469-200d-1f373",v:["1f469-1f3fb-200d-1f373","1f469-1f3fc-200d-1f373","1f469-1f3fd-200d-1f373","1f469-1f3fe-200d-1f373","1f469-1f3ff-200d-1f373"],a:"4.0"},{n:["mechanic"],u:"1f9d1-200d-1f527",v:["1f9d1-1f3fb-200d-1f527","1f9d1-1f3fc-200d-1f527","1f9d1-1f3fd-200d-1f527","1f9d1-1f3fe-200d-1f527","1f9d1-1f3ff-200d-1f527"],a:"12.1"},{n:["man mechanic","male-mechanic"],u:"1f468-200d-1f527",v:["1f468-1f3fb-200d-1f527","1f468-1f3fc-200d-1f527","1f468-1f3fd-200d-1f527","1f468-1f3fe-200d-1f527","1f468-1f3ff-200d-1f527"],a:"4.0"},{n:["woman mechanic","female-mechanic"],u:"1f469-200d-1f527",v:["1f469-1f3fb-200d-1f527","1f469-1f3fc-200d-1f527","1f469-1f3fd-200d-1f527","1f469-1f3fe-200d-1f527","1f469-1f3ff-200d-1f527"],a:"4.0"},{n:["factory worker"],u:"1f9d1-200d-1f3ed",v:["1f9d1-1f3fb-200d-1f3ed","1f9d1-1f3fc-200d-1f3ed","1f9d1-1f3fd-200d-1f3ed","1f9d1-1f3fe-200d-1f3ed","1f9d1-1f3ff-200d-1f3ed"],a:"12.1"},{n:["man factory worker","male-factory-worker"],u:"1f468-200d-1f3ed",v:["1f468-1f3fb-200d-1f3ed","1f468-1f3fc-200d-1f3ed","1f468-1f3fd-200d-1f3ed","1f468-1f3fe-200d-1f3ed","1f468-1f3ff-200d-1f3ed"],a:"4.0"},{n:["woman factory worker","female-factory-worker"],u:"1f469-200d-1f3ed",v:["1f469-1f3fb-200d-1f3ed","1f469-1f3fc-200d-1f3ed","1f469-1f3fd-200d-1f3ed","1f469-1f3fe-200d-1f3ed","1f469-1f3ff-200d-1f3ed"],a:"4.0"},{n:["office worker"],u:"1f9d1-200d-1f4bc",v:["1f9d1-1f3fb-200d-1f4bc","1f9d1-1f3fc-200d-1f4bc","1f9d1-1f3fd-200d-1f4bc","1f9d1-1f3fe-200d-1f4bc","1f9d1-1f3ff-200d-1f4bc"],a:"12.1"},{n:["man office worker","male-office-worker"],u:"1f468-200d-1f4bc",v:["1f468-1f3fb-200d-1f4bc","1f468-1f3fc-200d-1f4bc","1f468-1f3fd-200d-1f4bc","1f468-1f3fe-200d-1f4bc","1f468-1f3ff-200d-1f4bc"],a:"4.0"},{n:["woman office worker","female-office-worker"],u:"1f469-200d-1f4bc",v:["1f469-1f3fb-200d-1f4bc","1f469-1f3fc-200d-1f4bc","1f469-1f3fd-200d-1f4bc","1f469-1f3fe-200d-1f4bc","1f469-1f3ff-200d-1f4bc"],a:"4.0"},{n:["scientist"],u:"1f9d1-200d-1f52c",v:["1f9d1-1f3fb-200d-1f52c","1f9d1-1f3fc-200d-1f52c","1f9d1-1f3fd-200d-1f52c","1f9d1-1f3fe-200d-1f52c","1f9d1-1f3ff-200d-1f52c"],a:"12.1"},{n:["man scientist","male-scientist"],u:"1f468-200d-1f52c",v:["1f468-1f3fb-200d-1f52c","1f468-1f3fc-200d-1f52c","1f468-1f3fd-200d-1f52c","1f468-1f3fe-200d-1f52c","1f468-1f3ff-200d-1f52c"],a:"4.0"},{n:["woman scientist","female-scientist"],u:"1f469-200d-1f52c",v:["1f469-1f3fb-200d-1f52c","1f469-1f3fc-200d-1f52c","1f469-1f3fd-200d-1f52c","1f469-1f3fe-200d-1f52c","1f469-1f3ff-200d-1f52c"],a:"4.0"},{n:["technologist"],u:"1f9d1-200d-1f4bb",v:["1f9d1-1f3fb-200d-1f4bb","1f9d1-1f3fc-200d-1f4bb","1f9d1-1f3fd-200d-1f4bb","1f9d1-1f3fe-200d-1f4bb","1f9d1-1f3ff-200d-1f4bb"],a:"12.1"},{n:["man technologist","male-technologist"],u:"1f468-200d-1f4bb",v:["1f468-1f3fb-200d-1f4bb","1f468-1f3fc-200d-1f4bb","1f468-1f3fd-200d-1f4bb","1f468-1f3fe-200d-1f4bb","1f468-1f3ff-200d-1f4bb"],a:"4.0"},{n:["woman technologist","female-technologist"],u:"1f469-200d-1f4bb",v:["1f469-1f3fb-200d-1f4bb","1f469-1f3fc-200d-1f4bb","1f469-1f3fd-200d-1f4bb","1f469-1f3fe-200d-1f4bb","1f469-1f3ff-200d-1f4bb"],a:"4.0"},{n:["singer"],u:"1f9d1-200d-1f3a4",v:["1f9d1-1f3fb-200d-1f3a4","1f9d1-1f3fc-200d-1f3a4","1f9d1-1f3fd-200d-1f3a4","1f9d1-1f3fe-200d-1f3a4","1f9d1-1f3ff-200d-1f3a4"],a:"12.1"},{n:["man singer","male-singer"],u:"1f468-200d-1f3a4",v:["1f468-1f3fb-200d-1f3a4","1f468-1f3fc-200d-1f3a4","1f468-1f3fd-200d-1f3a4","1f468-1f3fe-200d-1f3a4","1f468-1f3ff-200d-1f3a4"],a:"4.0"},{n:["woman singer","female-singer"],u:"1f469-200d-1f3a4",v:["1f469-1f3fb-200d-1f3a4","1f469-1f3fc-200d-1f3a4","1f469-1f3fd-200d-1f3a4","1f469-1f3fe-200d-1f3a4","1f469-1f3ff-200d-1f3a4"],a:"4.0"},{n:["artist"],u:"1f9d1-200d-1f3a8",v:["1f9d1-1f3fb-200d-1f3a8","1f9d1-1f3fc-200d-1f3a8","1f9d1-1f3fd-200d-1f3a8","1f9d1-1f3fe-200d-1f3a8","1f9d1-1f3ff-200d-1f3a8"],a:"12.1"},{n:["man artist","male-artist"],u:"1f468-200d-1f3a8",v:["1f468-1f3fb-200d-1f3a8","1f468-1f3fc-200d-1f3a8","1f468-1f3fd-200d-1f3a8","1f468-1f3fe-200d-1f3a8","1f468-1f3ff-200d-1f3a8"],a:"4.0"},{n:["woman artist","female-artist"],u:"1f469-200d-1f3a8",v:["1f469-1f3fb-200d-1f3a8","1f469-1f3fc-200d-1f3a8","1f469-1f3fd-200d-1f3a8","1f469-1f3fe-200d-1f3a8","1f469-1f3ff-200d-1f3a8"],a:"4.0"},{n:["pilot"],u:"1f9d1-200d-2708-fe0f",v:["1f9d1-1f3fb-200d-2708-fe0f","1f9d1-1f3fc-200d-2708-fe0f","1f9d1-1f3fd-200d-2708-fe0f","1f9d1-1f3fe-200d-2708-fe0f","1f9d1-1f3ff-200d-2708-fe0f"],a:"12.1"},{n:["man pilot","male-pilot"],u:"1f468-200d-2708-fe0f",v:["1f468-1f3fb-200d-2708-fe0f","1f468-1f3fc-200d-2708-fe0f","1f468-1f3fd-200d-2708-fe0f","1f468-1f3fe-200d-2708-fe0f","1f468-1f3ff-200d-2708-fe0f"],a:"4.0"},{n:["woman pilot","female-pilot"],u:"1f469-200d-2708-fe0f",v:["1f469-1f3fb-200d-2708-fe0f","1f469-1f3fc-200d-2708-fe0f","1f469-1f3fd-200d-2708-fe0f","1f469-1f3fe-200d-2708-fe0f","1f469-1f3ff-200d-2708-fe0f"],a:"4.0"},{n:["astronaut"],u:"1f9d1-200d-1f680",v:["1f9d1-1f3fb-200d-1f680","1f9d1-1f3fc-200d-1f680","1f9d1-1f3fd-200d-1f680","1f9d1-1f3fe-200d-1f680","1f9d1-1f3ff-200d-1f680"],a:"12.1"},{n:["man astronaut","male-astronaut"],u:"1f468-200d-1f680",v:["1f468-1f3fb-200d-1f680","1f468-1f3fc-200d-1f680","1f468-1f3fd-200d-1f680","1f468-1f3fe-200d-1f680","1f468-1f3ff-200d-1f680"],a:"4.0"},{n:["woman astronaut","female-astronaut"],u:"1f469-200d-1f680",v:["1f469-1f3fb-200d-1f680","1f469-1f3fc-200d-1f680","1f469-1f3fd-200d-1f680","1f469-1f3fe-200d-1f680","1f469-1f3ff-200d-1f680"],a:"4.0"},{n:["firefighter"],u:"1f9d1-200d-1f692",v:["1f9d1-1f3fb-200d-1f692","1f9d1-1f3fc-200d-1f692","1f9d1-1f3fd-200d-1f692","1f9d1-1f3fe-200d-1f692","1f9d1-1f3ff-200d-1f692"],a:"12.1"},{n:["man firefighter","male-firefighter"],u:"1f468-200d-1f692",v:["1f468-1f3fb-200d-1f692","1f468-1f3fc-200d-1f692","1f468-1f3fd-200d-1f692","1f468-1f3fe-200d-1f692","1f468-1f3ff-200d-1f692"],a:"4.0"},{n:["woman firefighter","female-firefighter"],u:"1f469-200d-1f692",v:["1f469-1f3fb-200d-1f692","1f469-1f3fc-200d-1f692","1f469-1f3fd-200d-1f692","1f469-1f3fe-200d-1f692","1f469-1f3ff-200d-1f692"],a:"4.0"},{n:["cop","police officer"],u:"1f46e",v:["1f46e-1f3fb","1f46e-1f3fc","1f46e-1f3fd","1f46e-1f3fe","1f46e-1f3ff"],a:"0.6"},{n:["man police officer","male-police-officer"],u:"1f46e-200d-2642-fe0f",v:["1f46e-1f3fb-200d-2642-fe0f","1f46e-1f3fc-200d-2642-fe0f","1f46e-1f3fd-200d-2642-fe0f","1f46e-1f3fe-200d-2642-fe0f","1f46e-1f3ff-200d-2642-fe0f"],a:"4.0"},{n:["woman police officer","female-police-officer"],u:"1f46e-200d-2640-fe0f",v:["1f46e-1f3fb-200d-2640-fe0f","1f46e-1f3fc-200d-2640-fe0f","1f46e-1f3fd-200d-2640-fe0f","1f46e-1f3fe-200d-2640-fe0f","1f46e-1f3ff-200d-2640-fe0f"],a:"4.0"},{n:["detective","sleuth or spy"],u:"1f575-fe0f",v:["1f575-1f3fb","1f575-1f3fc","1f575-1f3fd","1f575-1f3fe","1f575-1f3ff"],a:"0.7"},{n:["man detective","male-detective"],u:"1f575-fe0f-200d-2642-fe0f",v:["1f575-1f3fb-200d-2642-fe0f","1f575-1f3fc-200d-2642-fe0f","1f575-1f3fd-200d-2642-fe0f","1f575-1f3fe-200d-2642-fe0f","1f575-1f3ff-200d-2642-fe0f"],a:"4.0"},{n:["woman detective","female-detective"],u:"1f575-fe0f-200d-2640-fe0f",v:["1f575-1f3fb-200d-2640-fe0f","1f575-1f3fc-200d-2640-fe0f","1f575-1f3fd-200d-2640-fe0f","1f575-1f3fe-200d-2640-fe0f","1f575-1f3ff-200d-2640-fe0f"],a:"4.0"},{n:["guardsman"],u:"1f482",v:["1f482-1f3fb","1f482-1f3fc","1f482-1f3fd","1f482-1f3fe","1f482-1f3ff"],a:"0.6"},{n:["man guard","male-guard"],u:"1f482-200d-2642-fe0f",v:["1f482-1f3fb-200d-2642-fe0f","1f482-1f3fc-200d-2642-fe0f","1f482-1f3fd-200d-2642-fe0f","1f482-1f3fe-200d-2642-fe0f","1f482-1f3ff-200d-2642-fe0f"],a:"4.0"},{n:["woman guard","female-guard"],u:"1f482-200d-2640-fe0f",v:["1f482-1f3fb-200d-2640-fe0f","1f482-1f3fc-200d-2640-fe0f","1f482-1f3fd-200d-2640-fe0f","1f482-1f3fe-200d-2640-fe0f","1f482-1f3ff-200d-2640-fe0f"],a:"4.0"},{n:["ninja"],u:"1f977",v:["1f977-1f3fb","1f977-1f3fc","1f977-1f3fd","1f977-1f3fe","1f977-1f3ff"],a:"13.0"},{n:["construction worker"],u:"1f477",v:["1f477-1f3fb","1f477-1f3fc","1f477-1f3fd","1f477-1f3fe","1f477-1f3ff"],a:"0.6"},{n:["man construction worker","male-construction-worker"],u:"1f477-200d-2642-fe0f",v:["1f477-1f3fb-200d-2642-fe0f","1f477-1f3fc-200d-2642-fe0f","1f477-1f3fd-200d-2642-fe0f","1f477-1f3fe-200d-2642-fe0f","1f477-1f3ff-200d-2642-fe0f"],a:"4.0"},{n:["woman construction worker","female-construction-worker"],u:"1f477-200d-2640-fe0f",v:["1f477-1f3fb-200d-2640-fe0f","1f477-1f3fc-200d-2640-fe0f","1f477-1f3fd-200d-2640-fe0f","1f477-1f3fe-200d-2640-fe0f","1f477-1f3ff-200d-2640-fe0f"],a:"4.0"},{n:["person with crown"],u:"1fac5",v:["1fac5-1f3fb","1fac5-1f3fc","1fac5-1f3fd","1fac5-1f3fe","1fac5-1f3ff"],a:"14.0"},{n:["prince"],u:"1f934",v:["1f934-1f3fb","1f934-1f3fc","1f934-1f3fd","1f934-1f3fe","1f934-1f3ff"],a:"3.0"},{n:["princess"],u:"1f478",v:["1f478-1f3fb","1f478-1f3fc","1f478-1f3fd","1f478-1f3fe","1f478-1f3ff"],a:"0.6"},{n:["man with turban"],u:"1f473",v:["1f473-1f3fb","1f473-1f3fc","1f473-1f3fd","1f473-1f3fe","1f473-1f3ff"],a:"0.6"},{n:["man wearing turban","man-wearing-turban"],u:"1f473-200d-2642-fe0f",v:["1f473-1f3fb-200d-2642-fe0f","1f473-1f3fc-200d-2642-fe0f","1f473-1f3fd-200d-2642-fe0f","1f473-1f3fe-200d-2642-fe0f","1f473-1f3ff-200d-2642-fe0f"],a:"4.0"},{n:["woman wearing turban","woman-wearing-turban"],u:"1f473-200d-2640-fe0f",v:["1f473-1f3fb-200d-2640-fe0f","1f473-1f3fc-200d-2640-fe0f","1f473-1f3fd-200d-2640-fe0f","1f473-1f3fe-200d-2640-fe0f","1f473-1f3ff-200d-2640-fe0f"],a:"4.0"},{n:["man with gua pi mao"],u:"1f472",v:["1f472-1f3fb","1f472-1f3fc","1f472-1f3fd","1f472-1f3fe","1f472-1f3ff"],a:"0.6"},{n:["person with headscarf"],u:"1f9d5",v:["1f9d5-1f3fb","1f9d5-1f3fc","1f9d5-1f3fd","1f9d5-1f3fe","1f9d5-1f3ff"],a:"5.0"},{n:["man in tuxedo","person in tuxedo"],u:"1f935",v:["1f935-1f3fb","1f935-1f3fc","1f935-1f3fd","1f935-1f3fe","1f935-1f3ff"],a:"3.0"},{n:["man in tuxedo"],u:"1f935-200d-2642-fe0f",v:["1f935-1f3fb-200d-2642-fe0f","1f935-1f3fc-200d-2642-fe0f","1f935-1f3fd-200d-2642-fe0f","1f935-1f3fe-200d-2642-fe0f","1f935-1f3ff-200d-2642-fe0f"],a:"13.0"},{n:["woman in tuxedo"],u:"1f935-200d-2640-fe0f",v:["1f935-1f3fb-200d-2640-fe0f","1f935-1f3fc-200d-2640-fe0f","1f935-1f3fd-200d-2640-fe0f","1f935-1f3fe-200d-2640-fe0f","1f935-1f3ff-200d-2640-fe0f"],a:"13.0"},{n:["bride with veil"],u:"1f470",v:["1f470-1f3fb","1f470-1f3fc","1f470-1f3fd","1f470-1f3fe","1f470-1f3ff"],a:"0.6"},{n:["man with veil"],u:"1f470-200d-2642-fe0f",v:["1f470-1f3fb-200d-2642-fe0f","1f470-1f3fc-200d-2642-fe0f","1f470-1f3fd-200d-2642-fe0f","1f470-1f3fe-200d-2642-fe0f","1f470-1f3ff-200d-2642-fe0f"],a:"13.0"},{n:["woman with veil"],u:"1f470-200d-2640-fe0f",v:["1f470-1f3fb-200d-2640-fe0f","1f470-1f3fc-200d-2640-fe0f","1f470-1f3fd-200d-2640-fe0f","1f470-1f3fe-200d-2640-fe0f","1f470-1f3ff-200d-2640-fe0f"],a:"13.0"},{n:["pregnant woman"],u:"1f930",v:["1f930-1f3fb","1f930-1f3fc","1f930-1f3fd","1f930-1f3fe","1f930-1f3ff"],a:"3.0"},{n:["pregnant man"],u:"1fac3",v:["1fac3-1f3fb","1fac3-1f3fc","1fac3-1f3fd","1fac3-1f3fe","1fac3-1f3ff"],a:"14.0"},{n:["pregnant person"],u:"1fac4",v:["1fac4-1f3fb","1fac4-1f3fc","1fac4-1f3fd","1fac4-1f3fe","1fac4-1f3ff"],a:"14.0"},{n:["breast-feeding"],u:"1f931",v:["1f931-1f3fb","1f931-1f3fc","1f931-1f3fd","1f931-1f3fe","1f931-1f3ff"],a:"5.0"},{n:["woman feeding baby"],u:"1f469-200d-1f37c",v:["1f469-1f3fb-200d-1f37c","1f469-1f3fc-200d-1f37c","1f469-1f3fd-200d-1f37c","1f469-1f3fe-200d-1f37c","1f469-1f3ff-200d-1f37c"],a:"13.0"},{n:["man feeding baby"],u:"1f468-200d-1f37c",v:["1f468-1f3fb-200d-1f37c","1f468-1f3fc-200d-1f37c","1f468-1f3fd-200d-1f37c","1f468-1f3fe-200d-1f37c","1f468-1f3ff-200d-1f37c"],a:"13.0"},{n:["person feeding baby"],u:"1f9d1-200d-1f37c",v:["1f9d1-1f3fb-200d-1f37c","1f9d1-1f3fc-200d-1f37c","1f9d1-1f3fd-200d-1f37c","1f9d1-1f3fe-200d-1f37c","1f9d1-1f3ff-200d-1f37c"],a:"13.0"},{n:["angel","baby angel"],u:"1f47c",v:["1f47c-1f3fb","1f47c-1f3fc","1f47c-1f3fd","1f47c-1f3fe","1f47c-1f3ff"],a:"0.6"},{n:["santa","father christmas"],u:"1f385",v:["1f385-1f3fb","1f385-1f3fc","1f385-1f3fd","1f385-1f3fe","1f385-1f3ff"],a:"0.6"},{n:["mrs claus","mother christmas"],u:"1f936",v:["1f936-1f3fb","1f936-1f3fc","1f936-1f3fd","1f936-1f3fe","1f936-1f3ff"],a:"3.0"},{n:["mx claus"],u:"1f9d1-200d-1f384",v:["1f9d1-1f3fb-200d-1f384","1f9d1-1f3fc-200d-1f384","1f9d1-1f3fd-200d-1f384","1f9d1-1f3fe-200d-1f384","1f9d1-1f3ff-200d-1f384"],a:"13.0"},{n:["superhero"],u:"1f9b8",v:["1f9b8-1f3fb","1f9b8-1f3fc","1f9b8-1f3fd","1f9b8-1f3fe","1f9b8-1f3ff"],a:"11.0"},{n:["man superhero","male superhero"],u:"1f9b8-200d-2642-fe0f",v:["1f9b8-1f3fb-200d-2642-fe0f","1f9b8-1f3fc-200d-2642-fe0f","1f9b8-1f3fd-200d-2642-fe0f","1f9b8-1f3fe-200d-2642-fe0f","1f9b8-1f3ff-200d-2642-fe0f"],a:"11.0"},{n:["woman superhero","female superhero"],u:"1f9b8-200d-2640-fe0f",v:["1f9b8-1f3fb-200d-2640-fe0f","1f9b8-1f3fc-200d-2640-fe0f","1f9b8-1f3fd-200d-2640-fe0f","1f9b8-1f3fe-200d-2640-fe0f","1f9b8-1f3ff-200d-2640-fe0f"],a:"11.0"},{n:["supervillain"],u:"1f9b9",v:["1f9b9-1f3fb","1f9b9-1f3fc","1f9b9-1f3fd","1f9b9-1f3fe","1f9b9-1f3ff"],a:"11.0"},{n:["man supervillain","male supervillain"],u:"1f9b9-200d-2642-fe0f",v:["1f9b9-1f3fb-200d-2642-fe0f","1f9b9-1f3fc-200d-2642-fe0f","1f9b9-1f3fd-200d-2642-fe0f","1f9b9-1f3fe-200d-2642-fe0f","1f9b9-1f3ff-200d-2642-fe0f"],a:"11.0"},{n:["woman supervillain","female supervillain"],u:"1f9b9-200d-2640-fe0f",v:["1f9b9-1f3fb-200d-2640-fe0f","1f9b9-1f3fc-200d-2640-fe0f","1f9b9-1f3fd-200d-2640-fe0f","1f9b9-1f3fe-200d-2640-fe0f","1f9b9-1f3ff-200d-2640-fe0f"],a:"11.0"},{n:["mage"],u:"1f9d9",v:["1f9d9-1f3fb","1f9d9-1f3fc","1f9d9-1f3fd","1f9d9-1f3fe","1f9d9-1f3ff"],a:"5.0"},{n:["man mage","male mage"],u:"1f9d9-200d-2642-fe0f",v:["1f9d9-1f3fb-200d-2642-fe0f","1f9d9-1f3fc-200d-2642-fe0f","1f9d9-1f3fd-200d-2642-fe0f","1f9d9-1f3fe-200d-2642-fe0f","1f9d9-1f3ff-200d-2642-fe0f"],a:"5.0"},{n:["woman mage","female mage"],u:"1f9d9-200d-2640-fe0f",v:["1f9d9-1f3fb-200d-2640-fe0f","1f9d9-1f3fc-200d-2640-fe0f","1f9d9-1f3fd-200d-2640-fe0f","1f9d9-1f3fe-200d-2640-fe0f","1f9d9-1f3ff-200d-2640-fe0f"],a:"5.0"},{n:["fairy"],u:"1f9da",v:["1f9da-1f3fb","1f9da-1f3fc","1f9da-1f3fd","1f9da-1f3fe","1f9da-1f3ff"],a:"5.0"},{n:["man fairy","male fairy"],u:"1f9da-200d-2642-fe0f",v:["1f9da-1f3fb-200d-2642-fe0f","1f9da-1f3fc-200d-2642-fe0f","1f9da-1f3fd-200d-2642-fe0f","1f9da-1f3fe-200d-2642-fe0f","1f9da-1f3ff-200d-2642-fe0f"],a:"5.0"},{n:["woman fairy","female fairy"],u:"1f9da-200d-2640-fe0f",v:["1f9da-1f3fb-200d-2640-fe0f","1f9da-1f3fc-200d-2640-fe0f","1f9da-1f3fd-200d-2640-fe0f","1f9da-1f3fe-200d-2640-fe0f","1f9da-1f3ff-200d-2640-fe0f"],a:"5.0"},{n:["vampire"],u:"1f9db",v:["1f9db-1f3fb","1f9db-1f3fc","1f9db-1f3fd","1f9db-1f3fe","1f9db-1f3ff"],a:"5.0"},{n:["man vampire","male vampire"],u:"1f9db-200d-2642-fe0f",v:["1f9db-1f3fb-200d-2642-fe0f","1f9db-1f3fc-200d-2642-fe0f","1f9db-1f3fd-200d-2642-fe0f","1f9db-1f3fe-200d-2642-fe0f","1f9db-1f3ff-200d-2642-fe0f"],a:"5.0"},{n:["woman vampire","female vampire"],u:"1f9db-200d-2640-fe0f",v:["1f9db-1f3fb-200d-2640-fe0f","1f9db-1f3fc-200d-2640-fe0f","1f9db-1f3fd-200d-2640-fe0f","1f9db-1f3fe-200d-2640-fe0f","1f9db-1f3ff-200d-2640-fe0f"],a:"5.0"},{n:["merperson"],u:"1f9dc",v:["1f9dc-1f3fb","1f9dc-1f3fc","1f9dc-1f3fd","1f9dc-1f3fe","1f9dc-1f3ff"],a:"5.0"},{n:["merman"],u:"1f9dc-200d-2642-fe0f",v:["1f9dc-1f3fb-200d-2642-fe0f","1f9dc-1f3fc-200d-2642-fe0f","1f9dc-1f3fd-200d-2642-fe0f","1f9dc-1f3fe-200d-2642-fe0f","1f9dc-1f3ff-200d-2642-fe0f"],a:"5.0"},{n:["mermaid"],u:"1f9dc-200d-2640-fe0f",v:["1f9dc-1f3fb-200d-2640-fe0f","1f9dc-1f3fc-200d-2640-fe0f","1f9dc-1f3fd-200d-2640-fe0f","1f9dc-1f3fe-200d-2640-fe0f","1f9dc-1f3ff-200d-2640-fe0f"],a:"5.0"},{n:["elf"],u:"1f9dd",v:["1f9dd-1f3fb","1f9dd-1f3fc","1f9dd-1f3fd","1f9dd-1f3fe","1f9dd-1f3ff"],a:"5.0"},{n:["man elf","male elf"],u:"1f9dd-200d-2642-fe0f",v:["1f9dd-1f3fb-200d-2642-fe0f","1f9dd-1f3fc-200d-2642-fe0f","1f9dd-1f3fd-200d-2642-fe0f","1f9dd-1f3fe-200d-2642-fe0f","1f9dd-1f3ff-200d-2642-fe0f"],a:"5.0"},{n:["woman elf","female elf"],u:"1f9dd-200d-2640-fe0f",v:["1f9dd-1f3fb-200d-2640-fe0f","1f9dd-1f3fc-200d-2640-fe0f","1f9dd-1f3fd-200d-2640-fe0f","1f9dd-1f3fe-200d-2640-fe0f","1f9dd-1f3ff-200d-2640-fe0f"],a:"5.0"},{n:["genie"],u:"1f9de",a:"5.0"},{n:["man genie","male genie"],u:"1f9de-200d-2642-fe0f",a:"5.0"},{n:["woman genie","female genie"],u:"1f9de-200d-2640-fe0f",a:"5.0"},{n:["zombie"],u:"1f9df",a:"5.0"},{n:["man zombie","male zombie"],u:"1f9df-200d-2642-fe0f",a:"5.0"},{n:["woman zombie","female zombie"],u:"1f9df-200d-2640-fe0f",a:"5.0"},{n:["troll"],u:"1f9cc",a:"14.0"},{n:["massage","face massage"],u:"1f486",v:["1f486-1f3fb","1f486-1f3fc","1f486-1f3fd","1f486-1f3fe","1f486-1f3ff"],a:"0.6"},{n:["man getting massage","man-getting-massage"],u:"1f486-200d-2642-fe0f",v:["1f486-1f3fb-200d-2642-fe0f","1f486-1f3fc-200d-2642-fe0f","1f486-1f3fd-200d-2642-fe0f","1f486-1f3fe-200d-2642-fe0f","1f486-1f3ff-200d-2642-fe0f"],a:"4.0"},{n:["woman getting massage","woman-getting-massage"],u:"1f486-200d-2640-fe0f",v:["1f486-1f3fb-200d-2640-fe0f","1f486-1f3fc-200d-2640-fe0f","1f486-1f3fd-200d-2640-fe0f","1f486-1f3fe-200d-2640-fe0f","1f486-1f3ff-200d-2640-fe0f"],a:"4.0"},{n:["haircut"],u:"1f487",v:["1f487-1f3fb","1f487-1f3fc","1f487-1f3fd","1f487-1f3fe","1f487-1f3ff"],a:"0.6"},{n:["man getting haircut","man-getting-haircut"],u:"1f487-200d-2642-fe0f",v:["1f487-1f3fb-200d-2642-fe0f","1f487-1f3fc-200d-2642-fe0f","1f487-1f3fd-200d-2642-fe0f","1f487-1f3fe-200d-2642-fe0f","1f487-1f3ff-200d-2642-fe0f"],a:"4.0"},{n:["woman getting haircut","woman-getting-haircut"],u:"1f487-200d-2640-fe0f",v:["1f487-1f3fb-200d-2640-fe0f","1f487-1f3fc-200d-2640-fe0f","1f487-1f3fd-200d-2640-fe0f","1f487-1f3fe-200d-2640-fe0f","1f487-1f3ff-200d-2640-fe0f"],a:"4.0"},{n:["walking","pedestrian"],u:"1f6b6",v:["1f6b6-1f3fb","1f6b6-1f3fc","1f6b6-1f3fd","1f6b6-1f3fe","1f6b6-1f3ff"],a:"0.6"},{n:["man walking","man-walking"],u:"1f6b6-200d-2642-fe0f",v:["1f6b6-1f3fb-200d-2642-fe0f","1f6b6-1f3fc-200d-2642-fe0f","1f6b6-1f3fd-200d-2642-fe0f","1f6b6-1f3fe-200d-2642-fe0f","1f6b6-1f3ff-200d-2642-fe0f"],a:"4.0"},{n:["woman walking","woman-walking"],u:"1f6b6-200d-2640-fe0f",v:["1f6b6-1f3fb-200d-2640-fe0f","1f6b6-1f3fc-200d-2640-fe0f","1f6b6-1f3fd-200d-2640-fe0f","1f6b6-1f3fe-200d-2640-fe0f","1f6b6-1f3ff-200d-2640-fe0f"],a:"4.0"},{n:["standing person"],u:"1f9cd",v:["1f9cd-1f3fb","1f9cd-1f3fc","1f9cd-1f3fd","1f9cd-1f3fe","1f9cd-1f3ff"],a:"12.0"},{n:["man standing"],u:"1f9cd-200d-2642-fe0f",v:["1f9cd-1f3fb-200d-2642-fe0f","1f9cd-1f3fc-200d-2642-fe0f","1f9cd-1f3fd-200d-2642-fe0f","1f9cd-1f3fe-200d-2642-fe0f","1f9cd-1f3ff-200d-2642-fe0f"],a:"12.0"},{n:["woman standing"],u:"1f9cd-200d-2640-fe0f",v:["1f9cd-1f3fb-200d-2640-fe0f","1f9cd-1f3fc-200d-2640-fe0f","1f9cd-1f3fd-200d-2640-fe0f","1f9cd-1f3fe-200d-2640-fe0f","1f9cd-1f3ff-200d-2640-fe0f"],a:"12.0"},{n:["kneeling person"],u:"1f9ce",v:["1f9ce-1f3fb","1f9ce-1f3fc","1f9ce-1f3fd","1f9ce-1f3fe","1f9ce-1f3ff"],a:"12.0"},{n:["man kneeling"],u:"1f9ce-200d-2642-fe0f",v:["1f9ce-1f3fb-200d-2642-fe0f","1f9ce-1f3fc-200d-2642-fe0f","1f9ce-1f3fd-200d-2642-fe0f","1f9ce-1f3fe-200d-2642-fe0f","1f9ce-1f3ff-200d-2642-fe0f"],a:"12.0"},{n:["woman kneeling"],u:"1f9ce-200d-2640-fe0f",v:["1f9ce-1f3fb-200d-2640-fe0f","1f9ce-1f3fc-200d-2640-fe0f","1f9ce-1f3fd-200d-2640-fe0f","1f9ce-1f3fe-200d-2640-fe0f","1f9ce-1f3ff-200d-2640-fe0f"],a:"12.0"},{n:["person with white cane","person with probing cane"],u:"1f9d1-200d-1f9af",v:["1f9d1-1f3fb-200d-1f9af","1f9d1-1f3fc-200d-1f9af","1f9d1-1f3fd-200d-1f9af","1f9d1-1f3fe-200d-1f9af","1f9d1-1f3ff-200d-1f9af"],a:"12.1"},{n:["man with white cane","man with probing cane"],u:"1f468-200d-1f9af",v:["1f468-1f3fb-200d-1f9af","1f468-1f3fc-200d-1f9af","1f468-1f3fd-200d-1f9af","1f468-1f3fe-200d-1f9af","1f468-1f3ff-200d-1f9af"],a:"12.0"},{n:["woman with white cane","woman with probing cane"],u:"1f469-200d-1f9af",v:["1f469-1f3fb-200d-1f9af","1f469-1f3fc-200d-1f9af","1f469-1f3fd-200d-1f9af","1f469-1f3fe-200d-1f9af","1f469-1f3ff-200d-1f9af"],a:"12.0"},{n:["person in motorized wheelchair"],u:"1f9d1-200d-1f9bc",v:["1f9d1-1f3fb-200d-1f9bc","1f9d1-1f3fc-200d-1f9bc","1f9d1-1f3fd-200d-1f9bc","1f9d1-1f3fe-200d-1f9bc","1f9d1-1f3ff-200d-1f9bc"],a:"12.1"},{n:["man in motorized wheelchair"],u:"1f468-200d-1f9bc",v:["1f468-1f3fb-200d-1f9bc","1f468-1f3fc-200d-1f9bc","1f468-1f3fd-200d-1f9bc","1f468-1f3fe-200d-1f9bc","1f468-1f3ff-200d-1f9bc"],a:"12.0"},{n:["woman in motorized wheelchair"],u:"1f469-200d-1f9bc",v:["1f469-1f3fb-200d-1f9bc","1f469-1f3fc-200d-1f9bc","1f469-1f3fd-200d-1f9bc","1f469-1f3fe-200d-1f9bc","1f469-1f3ff-200d-1f9bc"],a:"12.0"},{n:["person in manual wheelchair"],u:"1f9d1-200d-1f9bd",v:["1f9d1-1f3fb-200d-1f9bd","1f9d1-1f3fc-200d-1f9bd","1f9d1-1f3fd-200d-1f9bd","1f9d1-1f3fe-200d-1f9bd","1f9d1-1f3ff-200d-1f9bd"],a:"12.1"},{n:["man in manual wheelchair"],u:"1f468-200d-1f9bd",v:["1f468-1f3fb-200d-1f9bd","1f468-1f3fc-200d-1f9bd","1f468-1f3fd-200d-1f9bd","1f468-1f3fe-200d-1f9bd","1f468-1f3ff-200d-1f9bd"],a:"12.0"},{n:["woman in manual wheelchair"],u:"1f469-200d-1f9bd",v:["1f469-1f3fb-200d-1f9bd","1f469-1f3fc-200d-1f9bd","1f469-1f3fd-200d-1f9bd","1f469-1f3fe-200d-1f9bd","1f469-1f3ff-200d-1f9bd"],a:"12.0"},{n:["runner","running"],u:"1f3c3",v:["1f3c3-1f3fb","1f3c3-1f3fc","1f3c3-1f3fd","1f3c3-1f3fe","1f3c3-1f3ff"],a:"0.6"},{n:["man running","man-running"],u:"1f3c3-200d-2642-fe0f",v:["1f3c3-1f3fb-200d-2642-fe0f","1f3c3-1f3fc-200d-2642-fe0f","1f3c3-1f3fd-200d-2642-fe0f","1f3c3-1f3fe-200d-2642-fe0f","1f3c3-1f3ff-200d-2642-fe0f"],a:"4.0"},{n:["woman running","woman-running"],u:"1f3c3-200d-2640-fe0f",v:["1f3c3-1f3fb-200d-2640-fe0f","1f3c3-1f3fc-200d-2640-fe0f","1f3c3-1f3fd-200d-2640-fe0f","1f3c3-1f3fe-200d-2640-fe0f","1f3c3-1f3ff-200d-2640-fe0f"],a:"4.0"},{n:["dancer"],u:"1f483",v:["1f483-1f3fb","1f483-1f3fc","1f483-1f3fd","1f483-1f3fe","1f483-1f3ff"],a:"0.6"},{n:["man dancing"],u:"1f57a",v:["1f57a-1f3fb","1f57a-1f3fc","1f57a-1f3fd","1f57a-1f3fe","1f57a-1f3ff"],a:"3.0"},{n:["person in suit levitating","man in business suit levitating"],u:"1f574-fe0f",v:["1f574-1f3fb","1f574-1f3fc","1f574-1f3fd","1f574-1f3fe","1f574-1f3ff"],a:"0.7"},{n:["dancers","woman with bunny ears"],u:"1f46f",a:"0.6"},{n:["men with bunny ears","men-with-bunny-ears-partying","man-with-bunny-ears-partying"],u:"1f46f-200d-2642-fe0f",a:"4.0"},{n:["women with bunny ears","women-with-bunny-ears-partying","woman-with-bunny-ears-partying"],u:"1f46f-200d-2640-fe0f",a:"4.0"},{n:["person in steamy room"],u:"1f9d6",v:["1f9d6-1f3fb","1f9d6-1f3fc","1f9d6-1f3fd","1f9d6-1f3fe","1f9d6-1f3ff"],a:"5.0"},{n:["man in steamy room"],u:"1f9d6-200d-2642-fe0f",v:["1f9d6-1f3fb-200d-2642-fe0f","1f9d6-1f3fc-200d-2642-fe0f","1f9d6-1f3fd-200d-2642-fe0f","1f9d6-1f3fe-200d-2642-fe0f","1f9d6-1f3ff-200d-2642-fe0f"],a:"5.0"},{n:["woman in steamy room"],u:"1f9d6-200d-2640-fe0f",v:["1f9d6-1f3fb-200d-2640-fe0f","1f9d6-1f3fc-200d-2640-fe0f","1f9d6-1f3fd-200d-2640-fe0f","1f9d6-1f3fe-200d-2640-fe0f","1f9d6-1f3ff-200d-2640-fe0f"],a:"5.0"},{n:["person climbing"],u:"1f9d7",v:["1f9d7-1f3fb","1f9d7-1f3fc","1f9d7-1f3fd","1f9d7-1f3fe","1f9d7-1f3ff"],a:"5.0"},{n:["man climbing"],u:"1f9d7-200d-2642-fe0f",v:["1f9d7-1f3fb-200d-2642-fe0f","1f9d7-1f3fc-200d-2642-fe0f","1f9d7-1f3fd-200d-2642-fe0f","1f9d7-1f3fe-200d-2642-fe0f","1f9d7-1f3ff-200d-2642-fe0f"],a:"5.0"},{n:["woman climbing"],u:"1f9d7-200d-2640-fe0f",v:["1f9d7-1f3fb-200d-2640-fe0f","1f9d7-1f3fc-200d-2640-fe0f","1f9d7-1f3fd-200d-2640-fe0f","1f9d7-1f3fe-200d-2640-fe0f","1f9d7-1f3ff-200d-2640-fe0f"],a:"5.0"},{n:["fencer"],u:"1f93a",a:"3.0"},{n:["horse racing"],u:"1f3c7",v:["1f3c7-1f3fb","1f3c7-1f3fc","1f3c7-1f3fd","1f3c7-1f3fe","1f3c7-1f3ff"],a:"1.0"},{n:["skier"],u:"26f7-fe0f",a:"0.7"},{n:["snowboarder"],u:"1f3c2",v:["1f3c2-1f3fb","1f3c2-1f3fc","1f3c2-1f3fd","1f3c2-1f3fe","1f3c2-1f3ff"],a:"0.6"},{n:["golfer","person golfing"],u:"1f3cc-fe0f",v:["1f3cc-1f3fb","1f3cc-1f3fc","1f3cc-1f3fd","1f3cc-1f3fe","1f3cc-1f3ff"],a:"0.7"},{n:["man golfing","man-golfing"],u:"1f3cc-fe0f-200d-2642-fe0f",v:["1f3cc-1f3fb-200d-2642-fe0f","1f3cc-1f3fc-200d-2642-fe0f","1f3cc-1f3fd-200d-2642-fe0f","1f3cc-1f3fe-200d-2642-fe0f","1f3cc-1f3ff-200d-2642-fe0f"],a:"4.0"},{n:["woman golfing","woman-golfing"],u:"1f3cc-fe0f-200d-2640-fe0f",v:["1f3cc-1f3fb-200d-2640-fe0f","1f3cc-1f3fc-200d-2640-fe0f","1f3cc-1f3fd-200d-2640-fe0f","1f3cc-1f3fe-200d-2640-fe0f","1f3cc-1f3ff-200d-2640-fe0f"],a:"4.0"},{n:["surfer"],u:"1f3c4",v:["1f3c4-1f3fb","1f3c4-1f3fc","1f3c4-1f3fd","1f3c4-1f3fe","1f3c4-1f3ff"],a:"0.6"},{n:["man surfing","man-surfing"],u:"1f3c4-200d-2642-fe0f",v:["1f3c4-1f3fb-200d-2642-fe0f","1f3c4-1f3fc-200d-2642-fe0f","1f3c4-1f3fd-200d-2642-fe0f","1f3c4-1f3fe-200d-2642-fe0f","1f3c4-1f3ff-200d-2642-fe0f"],a:"4.0"},{n:["woman surfing","woman-surfing"],u:"1f3c4-200d-2640-fe0f",v:["1f3c4-1f3fb-200d-2640-fe0f","1f3c4-1f3fc-200d-2640-fe0f","1f3c4-1f3fd-200d-2640-fe0f","1f3c4-1f3fe-200d-2640-fe0f","1f3c4-1f3ff-200d-2640-fe0f"],a:"4.0"},{n:["rowboat"],u:"1f6a3",v:["1f6a3-1f3fb","1f6a3-1f3fc","1f6a3-1f3fd","1f6a3-1f3fe","1f6a3-1f3ff"],a:"1.0"},{n:["man rowing boat","man-rowing-boat"],u:"1f6a3-200d-2642-fe0f",v:["1f6a3-1f3fb-200d-2642-fe0f","1f6a3-1f3fc-200d-2642-fe0f","1f6a3-1f3fd-200d-2642-fe0f","1f6a3-1f3fe-200d-2642-fe0f","1f6a3-1f3ff-200d-2642-fe0f"],a:"4.0"},{n:["woman rowing boat","woman-rowing-boat"],u:"1f6a3-200d-2640-fe0f",v:["1f6a3-1f3fb-200d-2640-fe0f","1f6a3-1f3fc-200d-2640-fe0f","1f6a3-1f3fd-200d-2640-fe0f","1f6a3-1f3fe-200d-2640-fe0f","1f6a3-1f3ff-200d-2640-fe0f"],a:"4.0"},{n:["swimmer"],u:"1f3ca",v:["1f3ca-1f3fb","1f3ca-1f3fc","1f3ca-1f3fd","1f3ca-1f3fe","1f3ca-1f3ff"],a:"0.6"},{n:["man swimming","man-swimming"],u:"1f3ca-200d-2642-fe0f",v:["1f3ca-1f3fb-200d-2642-fe0f","1f3ca-1f3fc-200d-2642-fe0f","1f3ca-1f3fd-200d-2642-fe0f","1f3ca-1f3fe-200d-2642-fe0f","1f3ca-1f3ff-200d-2642-fe0f"],a:"4.0"},{n:["woman swimming","woman-swimming"],u:"1f3ca-200d-2640-fe0f",v:["1f3ca-1f3fb-200d-2640-fe0f","1f3ca-1f3fc-200d-2640-fe0f","1f3ca-1f3fd-200d-2640-fe0f","1f3ca-1f3fe-200d-2640-fe0f","1f3ca-1f3ff-200d-2640-fe0f"],a:"4.0"},{n:["person with ball","person bouncing ball"],u:"26f9-fe0f",v:["26f9-1f3fb","26f9-1f3fc","26f9-1f3fd","26f9-1f3fe","26f9-1f3ff"],a:"0.7"},{n:["man bouncing ball","man-bouncing-ball"],u:"26f9-fe0f-200d-2642-fe0f",v:["26f9-1f3fb-200d-2642-fe0f","26f9-1f3fc-200d-2642-fe0f","26f9-1f3fd-200d-2642-fe0f","26f9-1f3fe-200d-2642-fe0f","26f9-1f3ff-200d-2642-fe0f"],a:"4.0"},{n:["woman bouncing ball","woman-bouncing-ball"],u:"26f9-fe0f-200d-2640-fe0f",v:["26f9-1f3fb-200d-2640-fe0f","26f9-1f3fc-200d-2640-fe0f","26f9-1f3fd-200d-2640-fe0f","26f9-1f3fe-200d-2640-fe0f","26f9-1f3ff-200d-2640-fe0f"],a:"4.0"},{n:["weight lifter","person lifting weights"],u:"1f3cb-fe0f",v:["1f3cb-1f3fb","1f3cb-1f3fc","1f3cb-1f3fd","1f3cb-1f3fe","1f3cb-1f3ff"],a:"0.7"},{n:["man lifting weights","man-lifting-weights"],u:"1f3cb-fe0f-200d-2642-fe0f",v:["1f3cb-1f3fb-200d-2642-fe0f","1f3cb-1f3fc-200d-2642-fe0f","1f3cb-1f3fd-200d-2642-fe0f","1f3cb-1f3fe-200d-2642-fe0f","1f3cb-1f3ff-200d-2642-fe0f"],a:"4.0"},{n:["woman lifting weights","woman-lifting-weights"],u:"1f3cb-fe0f-200d-2640-fe0f",v:["1f3cb-1f3fb-200d-2640-fe0f","1f3cb-1f3fc-200d-2640-fe0f","1f3cb-1f3fd-200d-2640-fe0f","1f3cb-1f3fe-200d-2640-fe0f","1f3cb-1f3ff-200d-2640-fe0f"],a:"4.0"},{n:["bicyclist"],u:"1f6b4",v:["1f6b4-1f3fb","1f6b4-1f3fc","1f6b4-1f3fd","1f6b4-1f3fe","1f6b4-1f3ff"],a:"1.0"},{n:["man biking","man-biking"],u:"1f6b4-200d-2642-fe0f",v:["1f6b4-1f3fb-200d-2642-fe0f","1f6b4-1f3fc-200d-2642-fe0f","1f6b4-1f3fd-200d-2642-fe0f","1f6b4-1f3fe-200d-2642-fe0f","1f6b4-1f3ff-200d-2642-fe0f"],a:"4.0"},{n:["woman biking","woman-biking"],u:"1f6b4-200d-2640-fe0f",v:["1f6b4-1f3fb-200d-2640-fe0f","1f6b4-1f3fc-200d-2640-fe0f","1f6b4-1f3fd-200d-2640-fe0f","1f6b4-1f3fe-200d-2640-fe0f","1f6b4-1f3ff-200d-2640-fe0f"],a:"4.0"},{n:["mountain bicyclist"],u:"1f6b5",v:["1f6b5-1f3fb","1f6b5-1f3fc","1f6b5-1f3fd","1f6b5-1f3fe","1f6b5-1f3ff"],a:"1.0"},{n:["man mountain biking","man-mountain-biking"],u:"1f6b5-200d-2642-fe0f",v:["1f6b5-1f3fb-200d-2642-fe0f","1f6b5-1f3fc-200d-2642-fe0f","1f6b5-1f3fd-200d-2642-fe0f","1f6b5-1f3fe-200d-2642-fe0f","1f6b5-1f3ff-200d-2642-fe0f"],a:"4.0"},{n:["woman mountain biking","woman-mountain-biking"],u:"1f6b5-200d-2640-fe0f",v:["1f6b5-1f3fb-200d-2640-fe0f","1f6b5-1f3fc-200d-2640-fe0f","1f6b5-1f3fd-200d-2640-fe0f","1f6b5-1f3fe-200d-2640-fe0f","1f6b5-1f3ff-200d-2640-fe0f"],a:"4.0"},{n:["person doing cartwheel"],u:"1f938",v:["1f938-1f3fb","1f938-1f3fc","1f938-1f3fd","1f938-1f3fe","1f938-1f3ff"],a:"3.0"},{n:["man cartwheeling","man-cartwheeling"],u:"1f938-200d-2642-fe0f",v:["1f938-1f3fb-200d-2642-fe0f","1f938-1f3fc-200d-2642-fe0f","1f938-1f3fd-200d-2642-fe0f","1f938-1f3fe-200d-2642-fe0f","1f938-1f3ff-200d-2642-fe0f"],a:"4.0"},{n:["woman cartwheeling","woman-cartwheeling"],u:"1f938-200d-2640-fe0f",v:["1f938-1f3fb-200d-2640-fe0f","1f938-1f3fc-200d-2640-fe0f","1f938-1f3fd-200d-2640-fe0f","1f938-1f3fe-200d-2640-fe0f","1f938-1f3ff-200d-2640-fe0f"],a:"4.0"},{n:["wrestlers"],u:"1f93c",a:"3.0"},{n:["men wrestling","man-wrestling"],u:"1f93c-200d-2642-fe0f",a:"4.0"},{n:["women wrestling","woman-wrestling"],u:"1f93c-200d-2640-fe0f",a:"4.0"},{n:["water polo"],u:"1f93d",v:["1f93d-1f3fb","1f93d-1f3fc","1f93d-1f3fd","1f93d-1f3fe","1f93d-1f3ff"],a:"3.0"},{n:["man playing water polo","man-playing-water-polo"],u:"1f93d-200d-2642-fe0f",v:["1f93d-1f3fb-200d-2642-fe0f","1f93d-1f3fc-200d-2642-fe0f","1f93d-1f3fd-200d-2642-fe0f","1f93d-1f3fe-200d-2642-fe0f","1f93d-1f3ff-200d-2642-fe0f"],a:"4.0"},{n:["woman playing water polo","woman-playing-water-polo"],u:"1f93d-200d-2640-fe0f",v:["1f93d-1f3fb-200d-2640-fe0f","1f93d-1f3fc-200d-2640-fe0f","1f93d-1f3fd-200d-2640-fe0f","1f93d-1f3fe-200d-2640-fe0f","1f93d-1f3ff-200d-2640-fe0f"],a:"4.0"},{n:["handball"],u:"1f93e",v:["1f93e-1f3fb","1f93e-1f3fc","1f93e-1f3fd","1f93e-1f3fe","1f93e-1f3ff"],a:"3.0"},{n:["man playing handball","man-playing-handball"],u:"1f93e-200d-2642-fe0f",v:["1f93e-1f3fb-200d-2642-fe0f","1f93e-1f3fc-200d-2642-fe0f","1f93e-1f3fd-200d-2642-fe0f","1f93e-1f3fe-200d-2642-fe0f","1f93e-1f3ff-200d-2642-fe0f"],a:"4.0"},{n:["woman playing handball","woman-playing-handball"],u:"1f93e-200d-2640-fe0f",v:["1f93e-1f3fb-200d-2640-fe0f","1f93e-1f3fc-200d-2640-fe0f","1f93e-1f3fd-200d-2640-fe0f","1f93e-1f3fe-200d-2640-fe0f","1f93e-1f3ff-200d-2640-fe0f"],a:"4.0"},{n:["juggling"],u:"1f939",v:["1f939-1f3fb","1f939-1f3fc","1f939-1f3fd","1f939-1f3fe","1f939-1f3ff"],a:"3.0"},{n:["man juggling","man-juggling"],u:"1f939-200d-2642-fe0f",v:["1f939-1f3fb-200d-2642-fe0f","1f939-1f3fc-200d-2642-fe0f","1f939-1f3fd-200d-2642-fe0f","1f939-1f3fe-200d-2642-fe0f","1f939-1f3ff-200d-2642-fe0f"],a:"4.0"},{n:["woman juggling","woman-juggling"],u:"1f939-200d-2640-fe0f",v:["1f939-1f3fb-200d-2640-fe0f","1f939-1f3fc-200d-2640-fe0f","1f939-1f3fd-200d-2640-fe0f","1f939-1f3fe-200d-2640-fe0f","1f939-1f3ff-200d-2640-fe0f"],a:"4.0"},{n:["person in lotus position"],u:"1f9d8",v:["1f9d8-1f3fb","1f9d8-1f3fc","1f9d8-1f3fd","1f9d8-1f3fe","1f9d8-1f3ff"],a:"5.0"},{n:["man in lotus position"],u:"1f9d8-200d-2642-fe0f",v:["1f9d8-1f3fb-200d-2642-fe0f","1f9d8-1f3fc-200d-2642-fe0f","1f9d8-1f3fd-200d-2642-fe0f","1f9d8-1f3fe-200d-2642-fe0f","1f9d8-1f3ff-200d-2642-fe0f"],a:"5.0"},{n:["woman in lotus position"],u:"1f9d8-200d-2640-fe0f",v:["1f9d8-1f3fb-200d-2640-fe0f","1f9d8-1f3fc-200d-2640-fe0f","1f9d8-1f3fd-200d-2640-fe0f","1f9d8-1f3fe-200d-2640-fe0f","1f9d8-1f3ff-200d-2640-fe0f"],a:"5.0"},{n:["bath"],u:"1f6c0",v:["1f6c0-1f3fb","1f6c0-1f3fc","1f6c0-1f3fd","1f6c0-1f3fe","1f6c0-1f3ff"],a:"0.6"},{n:["sleeping accommodation"],u:"1f6cc",v:["1f6cc-1f3fb","1f6cc-1f3fc","1f6cc-1f3fd","1f6cc-1f3fe","1f6cc-1f3ff"],a:"1.0"},{n:["people holding hands"],u:"1f9d1-200d-1f91d-200d-1f9d1",v:["1f9d1-1f3fb-200d-1f91d-200d-1f9d1-1f3fb","1f9d1-1f3fb-200d-1f91d-200d-1f9d1-1f3fc","1f9d1-1f3fb-200d-1f91d-200d-1f9d1-1f3fd","1f9d1-1f3fb-200d-1f91d-200d-1f9d1-1f3fe","1f9d1-1f3fb-200d-1f91d-200d-1f9d1-1f3ff","1f9d1-1f3fc-200d-1f91d-200d-1f9d1-1f3fb","1f9d1-1f3fc-200d-1f91d-200d-1f9d1-1f3fc","1f9d1-1f3fc-200d-1f91d-200d-1f9d1-1f3fd","1f9d1-1f3fc-200d-1f91d-200d-1f9d1-1f3fe","1f9d1-1f3fc-200d-1f91d-200d-1f9d1-1f3ff","1f9d1-1f3fd-200d-1f91d-200d-1f9d1-1f3fb","1f9d1-1f3fd-200d-1f91d-200d-1f9d1-1f3fc","1f9d1-1f3fd-200d-1f91d-200d-1f9d1-1f3fd","1f9d1-1f3fd-200d-1f91d-200d-1f9d1-1f3fe","1f9d1-1f3fd-200d-1f91d-200d-1f9d1-1f3ff","1f9d1-1f3fe-200d-1f91d-200d-1f9d1-1f3fb","1f9d1-1f3fe-200d-1f91d-200d-1f9d1-1f3fc","1f9d1-1f3fe-200d-1f91d-200d-1f9d1-1f3fd","1f9d1-1f3fe-200d-1f91d-200d-1f9d1-1f3fe","1f9d1-1f3fe-200d-1f91d-200d-1f9d1-1f3ff","1f9d1-1f3ff-200d-1f91d-200d-1f9d1-1f3fb","1f9d1-1f3ff-200d-1f91d-200d-1f9d1-1f3fc","1f9d1-1f3ff-200d-1f91d-200d-1f9d1-1f3fd","1f9d1-1f3ff-200d-1f91d-200d-1f9d1-1f3fe","1f9d1-1f3ff-200d-1f91d-200d-1f9d1-1f3ff"],a:"12.0"},{n:["women holding hands","two women holding hands"],u:"1f46d",v:["1f46d-1f3fb","1f46d-1f3fc","1f46d-1f3fd","1f46d-1f3fe","1f46d-1f3ff","1f469-1f3fb-200d-1f91d-200d-1f469-1f3fc","1f469-1f3fb-200d-1f91d-200d-1f469-1f3fd","1f469-1f3fb-200d-1f91d-200d-1f469-1f3fe","1f469-1f3fb-200d-1f91d-200d-1f469-1f3ff","1f469-1f3fc-200d-1f91d-200d-1f469-1f3fb","1f469-1f3fc-200d-1f91d-200d-1f469-1f3fd","1f469-1f3fc-200d-1f91d-200d-1f469-1f3fe","1f469-1f3fc-200d-1f91d-200d-1f469-1f3ff","1f469-1f3fd-200d-1f91d-200d-1f469-1f3fb","1f469-1f3fd-200d-1f91d-200d-1f469-1f3fc","1f469-1f3fd-200d-1f91d-200d-1f469-1f3fe","1f469-1f3fd-200d-1f91d-200d-1f469-1f3ff","1f469-1f3fe-200d-1f91d-200d-1f469-1f3fb","1f469-1f3fe-200d-1f91d-200d-1f469-1f3fc","1f469-1f3fe-200d-1f91d-200d-1f469-1f3fd","1f469-1f3fe-200d-1f91d-200d-1f469-1f3ff","1f469-1f3ff-200d-1f91d-200d-1f469-1f3fb","1f469-1f3ff-200d-1f91d-200d-1f469-1f3fc","1f469-1f3ff-200d-1f91d-200d-1f469-1f3fd","1f469-1f3ff-200d-1f91d-200d-1f469-1f3fe"],a:"1.0"},{n:["couple","man and woman holding hands","woman and man holding hands"],u:"1f46b",v:["1f46b-1f3fb","1f46b-1f3fc","1f46b-1f3fd","1f46b-1f3fe","1f46b-1f3ff","1f469-1f3fb-200d-1f91d-200d-1f468-1f3fc","1f469-1f3fb-200d-1f91d-200d-1f468-1f3fd","1f469-1f3fb-200d-1f91d-200d-1f468-1f3fe","1f469-1f3fb-200d-1f91d-200d-1f468-1f3ff","1f469-1f3fc-200d-1f91d-200d-1f468-1f3fb","1f469-1f3fc-200d-1f91d-200d-1f468-1f3fd","1f469-1f3fc-200d-1f91d-200d-1f468-1f3fe","1f469-1f3fc-200d-1f91d-200d-1f468-1f3ff","1f469-1f3fd-200d-1f91d-200d-1f468-1f3fb","1f469-1f3fd-200d-1f91d-200d-1f468-1f3fc","1f469-1f3fd-200d-1f91d-200d-1f468-1f3fe","1f469-1f3fd-200d-1f91d-200d-1f468-1f3ff","1f469-1f3fe-200d-1f91d-200d-1f468-1f3fb","1f469-1f3fe-200d-1f91d-200d-1f468-1f3fc","1f469-1f3fe-200d-1f91d-200d-1f468-1f3fd","1f469-1f3fe-200d-1f91d-200d-1f468-1f3ff","1f469-1f3ff-200d-1f91d-200d-1f468-1f3fb","1f469-1f3ff-200d-1f91d-200d-1f468-1f3fc","1f469-1f3ff-200d-1f91d-200d-1f468-1f3fd","1f469-1f3ff-200d-1f91d-200d-1f468-1f3fe"],a:"0.6"},{n:["men holding hands","two men holding hands"],u:"1f46c",v:["1f46c-1f3fb","1f46c-1f3fc","1f46c-1f3fd","1f46c-1f3fe","1f46c-1f3ff","1f468-1f3fb-200d-1f91d-200d-1f468-1f3fc","1f468-1f3fb-200d-1f91d-200d-1f468-1f3fd","1f468-1f3fb-200d-1f91d-200d-1f468-1f3fe","1f468-1f3fb-200d-1f91d-200d-1f468-1f3ff","1f468-1f3fc-200d-1f91d-200d-1f468-1f3fb","1f468-1f3fc-200d-1f91d-200d-1f468-1f3fd","1f468-1f3fc-200d-1f91d-200d-1f468-1f3fe","1f468-1f3fc-200d-1f91d-200d-1f468-1f3ff","1f468-1f3fd-200d-1f91d-200d-1f468-1f3fb","1f468-1f3fd-200d-1f91d-200d-1f468-1f3fc","1f468-1f3fd-200d-1f91d-200d-1f468-1f3fe","1f468-1f3fd-200d-1f91d-200d-1f468-1f3ff","1f468-1f3fe-200d-1f91d-200d-1f468-1f3fb","1f468-1f3fe-200d-1f91d-200d-1f468-1f3fc","1f468-1f3fe-200d-1f91d-200d-1f468-1f3fd","1f468-1f3fe-200d-1f91d-200d-1f468-1f3ff","1f468-1f3ff-200d-1f91d-200d-1f468-1f3fb","1f468-1f3ff-200d-1f91d-200d-1f468-1f3fc","1f468-1f3ff-200d-1f91d-200d-1f468-1f3fd","1f468-1f3ff-200d-1f91d-200d-1f468-1f3fe"],a:"1.0"},{n:["kiss","couplekiss"],u:"1f48f",v:["1f48f-1f3fb","1f48f-1f3fc","1f48f-1f3fd","1f48f-1f3fe","1f48f-1f3ff","1f9d1-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fc","1f9d1-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fd","1f9d1-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fe","1f9d1-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3ff","1f9d1-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fb","1f9d1-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fd","1f9d1-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fe","1f9d1-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3ff","1f9d1-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fb","1f9d1-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fc","1f9d1-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fe","1f9d1-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3ff","1f9d1-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fb","1f9d1-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fc","1f9d1-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fd","1f9d1-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3ff","1f9d1-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fb","1f9d1-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fc","1f9d1-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fd","1f9d1-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fe"],a:"0.6"},{n:["woman-kiss-man","kiss: woman, man"],u:"1f469-200d-2764-fe0f-200d-1f48b-200d-1f468",v:["1f469-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fb","1f469-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fc","1f469-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fd","1f469-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fe","1f469-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3ff","1f469-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fb","1f469-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fc","1f469-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fd","1f469-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fe","1f469-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3ff","1f469-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fb","1f469-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fc","1f469-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fd","1f469-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fe","1f469-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3ff","1f469-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fb","1f469-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fc","1f469-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fd","1f469-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fe","1f469-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3ff","1f469-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fb","1f469-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fc","1f469-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fd","1f469-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fe","1f469-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3ff"],a:"2.0"},{n:["man-kiss-man","kiss: man, man"],u:"1f468-200d-2764-fe0f-200d-1f48b-200d-1f468",v:["1f468-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fb","1f468-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fc","1f468-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fd","1f468-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fe","1f468-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3ff","1f468-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fb","1f468-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fc","1f468-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fd","1f468-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fe","1f468-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3ff","1f468-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fb","1f468-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fc","1f468-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fd","1f468-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fe","1f468-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3ff","1f468-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fb","1f468-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fc","1f468-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fd","1f468-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fe","1f468-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3ff","1f468-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fb","1f468-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fc","1f468-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fd","1f468-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fe","1f468-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3ff"],a:"2.0"},{n:["woman-kiss-woman","kiss: woman, woman"],u:"1f469-200d-2764-fe0f-200d-1f48b-200d-1f469",v:["1f469-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fb","1f469-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fc","1f469-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fd","1f469-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fe","1f469-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3ff","1f469-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fb","1f469-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fc","1f469-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fd","1f469-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fe","1f469-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3ff","1f469-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fb","1f469-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fc","1f469-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fd","1f469-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fe","1f469-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3ff","1f469-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fb","1f469-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fc","1f469-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fd","1f469-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fe","1f469-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3ff","1f469-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fb","1f469-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fc","1f469-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fd","1f469-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fe","1f469-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3ff"],a:"2.0"},{n:["couple with heart"],u:"1f491",v:["1f491-1f3fb","1f491-1f3fc","1f491-1f3fd","1f491-1f3fe","1f491-1f3ff","1f9d1-1f3fb-200d-2764-fe0f-200d-1f9d1-1f3fc","1f9d1-1f3fb-200d-2764-fe0f-200d-1f9d1-1f3fd","1f9d1-1f3fb-200d-2764-fe0f-200d-1f9d1-1f3fe","1f9d1-1f3fb-200d-2764-fe0f-200d-1f9d1-1f3ff","1f9d1-1f3fc-200d-2764-fe0f-200d-1f9d1-1f3fb","1f9d1-1f3fc-200d-2764-fe0f-200d-1f9d1-1f3fd","1f9d1-1f3fc-200d-2764-fe0f-200d-1f9d1-1f3fe","1f9d1-1f3fc-200d-2764-fe0f-200d-1f9d1-1f3ff","1f9d1-1f3fd-200d-2764-fe0f-200d-1f9d1-1f3fb","1f9d1-1f3fd-200d-2764-fe0f-200d-1f9d1-1f3fc","1f9d1-1f3fd-200d-2764-fe0f-200d-1f9d1-1f3fe","1f9d1-1f3fd-200d-2764-fe0f-200d-1f9d1-1f3ff","1f9d1-1f3fe-200d-2764-fe0f-200d-1f9d1-1f3fb","1f9d1-1f3fe-200d-2764-fe0f-200d-1f9d1-1f3fc","1f9d1-1f3fe-200d-2764-fe0f-200d-1f9d1-1f3fd","1f9d1-1f3fe-200d-2764-fe0f-200d-1f9d1-1f3ff","1f9d1-1f3ff-200d-2764-fe0f-200d-1f9d1-1f3fb","1f9d1-1f3ff-200d-2764-fe0f-200d-1f9d1-1f3fc","1f9d1-1f3ff-200d-2764-fe0f-200d-1f9d1-1f3fd","1f9d1-1f3ff-200d-2764-fe0f-200d-1f9d1-1f3fe"],a:"0.6"},{n:["woman-heart-man","couple with heart: woman, man"],u:"1f469-200d-2764-fe0f-200d-1f468",v:["1f469-1f3fb-200d-2764-fe0f-200d-1f468-1f3fb","1f469-1f3fb-200d-2764-fe0f-200d-1f468-1f3fc","1f469-1f3fb-200d-2764-fe0f-200d-1f468-1f3fd","1f469-1f3fb-200d-2764-fe0f-200d-1f468-1f3fe","1f469-1f3fb-200d-2764-fe0f-200d-1f468-1f3ff","1f469-1f3fc-200d-2764-fe0f-200d-1f468-1f3fb","1f469-1f3fc-200d-2764-fe0f-200d-1f468-1f3fc","1f469-1f3fc-200d-2764-fe0f-200d-1f468-1f3fd","1f469-1f3fc-200d-2764-fe0f-200d-1f468-1f3fe","1f469-1f3fc-200d-2764-fe0f-200d-1f468-1f3ff","1f469-1f3fd-200d-2764-fe0f-200d-1f468-1f3fb","1f469-1f3fd-200d-2764-fe0f-200d-1f468-1f3fc","1f469-1f3fd-200d-2764-fe0f-200d-1f468-1f3fd","1f469-1f3fd-200d-2764-fe0f-200d-1f468-1f3fe","1f469-1f3fd-200d-2764-fe0f-200d-1f468-1f3ff","1f469-1f3fe-200d-2764-fe0f-200d-1f468-1f3fb","1f469-1f3fe-200d-2764-fe0f-200d-1f468-1f3fc","1f469-1f3fe-200d-2764-fe0f-200d-1f468-1f3fd","1f469-1f3fe-200d-2764-fe0f-200d-1f468-1f3fe","1f469-1f3fe-200d-2764-fe0f-200d-1f468-1f3ff","1f469-1f3ff-200d-2764-fe0f-200d-1f468-1f3fb","1f469-1f3ff-200d-2764-fe0f-200d-1f468-1f3fc","1f469-1f3ff-200d-2764-fe0f-200d-1f468-1f3fd","1f469-1f3ff-200d-2764-fe0f-200d-1f468-1f3fe","1f469-1f3ff-200d-2764-fe0f-200d-1f468-1f3ff"],a:"2.0"},{n:["man-heart-man","couple with heart: man, man"],u:"1f468-200d-2764-fe0f-200d-1f468",v:["1f468-1f3fb-200d-2764-fe0f-200d-1f468-1f3fb","1f468-1f3fb-200d-2764-fe0f-200d-1f468-1f3fc","1f468-1f3fb-200d-2764-fe0f-200d-1f468-1f3fd","1f468-1f3fb-200d-2764-fe0f-200d-1f468-1f3fe","1f468-1f3fb-200d-2764-fe0f-200d-1f468-1f3ff","1f468-1f3fc-200d-2764-fe0f-200d-1f468-1f3fb","1f468-1f3fc-200d-2764-fe0f-200d-1f468-1f3fc","1f468-1f3fc-200d-2764-fe0f-200d-1f468-1f3fd","1f468-1f3fc-200d-2764-fe0f-200d-1f468-1f3fe","1f468-1f3fc-200d-2764-fe0f-200d-1f468-1f3ff","1f468-1f3fd-200d-2764-fe0f-200d-1f468-1f3fb","1f468-1f3fd-200d-2764-fe0f-200d-1f468-1f3fc","1f468-1f3fd-200d-2764-fe0f-200d-1f468-1f3fd","1f468-1f3fd-200d-2764-fe0f-200d-1f468-1f3fe","1f468-1f3fd-200d-2764-fe0f-200d-1f468-1f3ff","1f468-1f3fe-200d-2764-fe0f-200d-1f468-1f3fb","1f468-1f3fe-200d-2764-fe0f-200d-1f468-1f3fc","1f468-1f3fe-200d-2764-fe0f-200d-1f468-1f3fd","1f468-1f3fe-200d-2764-fe0f-200d-1f468-1f3fe","1f468-1f3fe-200d-2764-fe0f-200d-1f468-1f3ff","1f468-1f3ff-200d-2764-fe0f-200d-1f468-1f3fb","1f468-1f3ff-200d-2764-fe0f-200d-1f468-1f3fc","1f468-1f3ff-200d-2764-fe0f-200d-1f468-1f3fd","1f468-1f3ff-200d-2764-fe0f-200d-1f468-1f3fe","1f468-1f3ff-200d-2764-fe0f-200d-1f468-1f3ff"],a:"2.0"},{n:["woman-heart-woman","couple with heart: woman, woman"],u:"1f469-200d-2764-fe0f-200d-1f469",v:["1f469-1f3fb-200d-2764-fe0f-200d-1f469-1f3fb","1f469-1f3fb-200d-2764-fe0f-200d-1f469-1f3fc","1f469-1f3fb-200d-2764-fe0f-200d-1f469-1f3fd","1f469-1f3fb-200d-2764-fe0f-200d-1f469-1f3fe","1f469-1f3fb-200d-2764-fe0f-200d-1f469-1f3ff","1f469-1f3fc-200d-2764-fe0f-200d-1f469-1f3fb","1f469-1f3fc-200d-2764-fe0f-200d-1f469-1f3fc","1f469-1f3fc-200d-2764-fe0f-200d-1f469-1f3fd","1f469-1f3fc-200d-2764-fe0f-200d-1f469-1f3fe","1f469-1f3fc-200d-2764-fe0f-200d-1f469-1f3ff","1f469-1f3fd-200d-2764-fe0f-200d-1f469-1f3fb","1f469-1f3fd-200d-2764-fe0f-200d-1f469-1f3fc","1f469-1f3fd-200d-2764-fe0f-200d-1f469-1f3fd","1f469-1f3fd-200d-2764-fe0f-200d-1f469-1f3fe","1f469-1f3fd-200d-2764-fe0f-200d-1f469-1f3ff","1f469-1f3fe-200d-2764-fe0f-200d-1f469-1f3fb","1f469-1f3fe-200d-2764-fe0f-200d-1f469-1f3fc","1f469-1f3fe-200d-2764-fe0f-200d-1f469-1f3fd","1f469-1f3fe-200d-2764-fe0f-200d-1f469-1f3fe","1f469-1f3fe-200d-2764-fe0f-200d-1f469-1f3ff","1f469-1f3ff-200d-2764-fe0f-200d-1f469-1f3fb","1f469-1f3ff-200d-2764-fe0f-200d-1f469-1f3fc","1f469-1f3ff-200d-2764-fe0f-200d-1f469-1f3fd","1f469-1f3ff-200d-2764-fe0f-200d-1f469-1f3fe","1f469-1f3ff-200d-2764-fe0f-200d-1f469-1f3ff"],a:"2.0"},{n:["family"],u:"1f46a",a:"0.6"},{n:["man-woman-boy","family: man, woman, boy"],u:"1f468-200d-1f469-200d-1f466",a:"2.0"},{n:["man-woman-girl","family: man, woman, girl"],u:"1f468-200d-1f469-200d-1f467",a:"2.0"},{n:["man-woman-girl-boy","family: man, woman, girl, boy"],u:"1f468-200d-1f469-200d-1f467-200d-1f466",a:"2.0"},{n:["man-woman-boy-boy","family: man, woman, boy, boy"],u:"1f468-200d-1f469-200d-1f466-200d-1f466",a:"2.0"},{n:["man-woman-girl-girl","family: man, woman, girl, girl"],u:"1f468-200d-1f469-200d-1f467-200d-1f467",a:"2.0"},{n:["man-man-boy","family: man, man, boy"],u:"1f468-200d-1f468-200d-1f466",a:"2.0"},{n:["man-man-girl","family: man, man, girl"],u:"1f468-200d-1f468-200d-1f467",a:"2.0"},{n:["man-man-girl-boy","family: man, man, girl, boy"],u:"1f468-200d-1f468-200d-1f467-200d-1f466",a:"2.0"},{n:["man-man-boy-boy","family: man, man, boy, boy"],u:"1f468-200d-1f468-200d-1f466-200d-1f466",a:"2.0"},{n:["man-man-girl-girl","family: man, man, girl, girl"],u:"1f468-200d-1f468-200d-1f467-200d-1f467",a:"2.0"},{n:["woman-woman-boy","family: woman, woman, boy"],u:"1f469-200d-1f469-200d-1f466",a:"2.0"},{n:["woman-woman-girl","family: woman, woman, girl"],u:"1f469-200d-1f469-200d-1f467",a:"2.0"},{n:["woman-woman-girl-boy","family: woman, woman, girl, boy"],u:"1f469-200d-1f469-200d-1f467-200d-1f466",a:"2.0"},{n:["woman-woman-boy-boy","family: woman, woman, boy, boy"],u:"1f469-200d-1f469-200d-1f466-200d-1f466",a:"2.0"},{n:["woman-woman-girl-girl","family: woman, woman, girl, girl"],u:"1f469-200d-1f469-200d-1f467-200d-1f467",a:"2.0"},{n:["man-boy","family: man, boy"],u:"1f468-200d-1f466",a:"4.0"},{n:["man-boy-boy","family: man, boy, boy"],u:"1f468-200d-1f466-200d-1f466",a:"4.0"},{n:["man-girl","family: man, girl"],u:"1f468-200d-1f467",a:"4.0"},{n:["man-girl-boy","family: man, girl, boy"],u:"1f468-200d-1f467-200d-1f466",a:"4.0"},{n:["man-girl-girl","family: man, girl, girl"],u:"1f468-200d-1f467-200d-1f467",a:"4.0"},{n:["woman-boy","family: woman, boy"],u:"1f469-200d-1f466",a:"4.0"},{n:["woman-boy-boy","family: woman, boy, boy"],u:"1f469-200d-1f466-200d-1f466",a:"4.0"},{n:["woman-girl","family: woman, girl"],u:"1f469-200d-1f467",a:"4.0"},{n:["woman-girl-boy","family: woman, girl, boy"],u:"1f469-200d-1f467-200d-1f466",a:"4.0"},{n:["woman-girl-girl","family: woman, girl, girl"],u:"1f469-200d-1f467-200d-1f467",a:"4.0"},{n:["speaking head","speaking head in silhouette"],u:"1f5e3-fe0f",a:"0.7"},{n:["bust in silhouette"],u:"1f464",a:"0.6"},{n:["busts in silhouette"],u:"1f465",a:"1.0"},{n:["people hugging"],u:"1fac2",a:"13.0"},{n:["footprints"],u:"1f463",a:"0.6"}],uSe=[{n:["monkey face"],u:"1f435",a:"0.6"},{n:["monkey"],u:"1f412",a:"0.6"},{n:["gorilla"],u:"1f98d",a:"3.0"},{n:["orangutan"],u:"1f9a7",a:"12.0"},{n:["dog","dog face"],u:"1f436",a:"0.6"},{n:["dog","dog2"],u:"1f415",a:"0.7"},{n:["guide dog"],u:"1f9ae",a:"12.0"},{n:["service dog"],u:"1f415-200d-1f9ba",a:"12.0"},{n:["poodle"],u:"1f429",a:"0.6"},{n:["wolf","wolf face"],u:"1f43a",a:"0.6"},{n:["fox face"],u:"1f98a",a:"3.0"},{n:["raccoon"],u:"1f99d",a:"11.0"},{n:["cat","cat face"],u:"1f431",a:"0.6"},{n:["cat","cat2"],u:"1f408",a:"0.7"},{n:["black cat"],u:"1f408-200d-2b1b",a:"13.0"},{n:["lion face"],u:"1f981",a:"1.0"},{n:["tiger","tiger face"],u:"1f42f",a:"0.6"},{n:["tiger","tiger2"],u:"1f405",a:"1.0"},{n:["leopard"],u:"1f406",a:"1.0"},{n:["horse","horse face"],u:"1f434",a:"0.6"},{n:["horse","racehorse"],u:"1f40e",a:"0.6"},{n:["unicorn face"],u:"1f984",a:"1.0"},{n:["zebra face"],u:"1f993",a:"5.0"},{n:["deer"],u:"1f98c",a:"3.0"},{n:["bison"],u:"1f9ac",a:"13.0"},{n:["cow","cow face"],u:"1f42e",a:"0.6"},{n:["ox"],u:"1f402",a:"1.0"},{n:["water buffalo"],u:"1f403",a:"1.0"},{n:["cow","cow2"],u:"1f404",a:"1.0"},{n:["pig","pig face"],u:"1f437",a:"0.6"},{n:["pig","pig2"],u:"1f416",a:"1.0"},{n:["boar"],u:"1f417",a:"0.6"},{n:["pig nose"],u:"1f43d",a:"0.6"},{n:["ram"],u:"1f40f",a:"1.0"},{n:["sheep"],u:"1f411",a:"0.6"},{n:["goat"],u:"1f410",a:"1.0"},{n:["dromedary camel"],u:"1f42a",a:"1.0"},{n:["camel","bactrian camel"],u:"1f42b",a:"0.6"},{n:["llama"],u:"1f999",a:"11.0"},{n:["giraffe face"],u:"1f992",a:"5.0"},{n:["elephant"],u:"1f418",a:"0.6"},{n:["mammoth"],u:"1f9a3",a:"13.0"},{n:["rhinoceros"],u:"1f98f",a:"3.0"},{n:["hippopotamus"],u:"1f99b",a:"11.0"},{n:["mouse","mouse face"],u:"1f42d",a:"0.6"},{n:["mouse","mouse2"],u:"1f401",a:"1.0"},{n:["rat"],u:"1f400",a:"1.0"},{n:["hamster","hamster face"],u:"1f439",a:"0.6"},{n:["rabbit","rabbit face"],u:"1f430",a:"0.6"},{n:["rabbit","rabbit2"],u:"1f407",a:"1.0"},{n:["chipmunk"],u:"1f43f-fe0f",a:"0.7"},{n:["beaver"],u:"1f9ab",a:"13.0"},{n:["hedgehog"],u:"1f994",a:"5.0"},{n:["bat"],u:"1f987",a:"3.0"},{n:["bear","bear face"],u:"1f43b",a:"0.6"},{n:["polar bear"],u:"1f43b-200d-2744-fe0f",a:"13.0"},{n:["koala"],u:"1f428",a:"0.6"},{n:["panda face"],u:"1f43c",a:"0.6"},{n:["sloth"],u:"1f9a5",a:"12.0"},{n:["otter"],u:"1f9a6",a:"12.0"},{n:["skunk"],u:"1f9a8",a:"12.0"},{n:["kangaroo"],u:"1f998",a:"11.0"},{n:["badger"],u:"1f9a1",a:"11.0"},{n:["feet","paw prints"],u:"1f43e",a:"0.6"},{n:["turkey"],u:"1f983",a:"1.0"},{n:["chicken"],u:"1f414",a:"0.6"},{n:["rooster"],u:"1f413",a:"1.0"},{n:["hatching chick"],u:"1f423",a:"0.6"},{n:["baby chick"],u:"1f424",a:"0.6"},{n:["hatched chick","front-facing baby chick"],u:"1f425",a:"0.6"},{n:["bird"],u:"1f426",a:"0.6"},{n:["penguin"],u:"1f427",a:"0.6"},{n:["dove","dove of peace"],u:"1f54a-fe0f",a:"0.7"},{n:["eagle"],u:"1f985",a:"3.0"},{n:["duck"],u:"1f986",a:"3.0"},{n:["swan"],u:"1f9a2",a:"11.0"},{n:["owl"],u:"1f989",a:"3.0"},{n:["dodo"],u:"1f9a4",a:"13.0"},{n:["feather"],u:"1fab6",a:"13.0"},{n:["flamingo"],u:"1f9a9",a:"12.0"},{n:["peacock"],u:"1f99a",a:"11.0"},{n:["parrot"],u:"1f99c",a:"11.0"},{n:["frog","frog face"],u:"1f438",a:"0.6"},{n:["crocodile"],u:"1f40a",a:"1.0"},{n:["turtle"],u:"1f422",a:"0.6"},{n:["lizard"],u:"1f98e",a:"3.0"},{n:["snake"],u:"1f40d",a:"0.6"},{n:["dragon face"],u:"1f432",a:"0.6"},{n:["dragon"],u:"1f409",a:"1.0"},{n:["sauropod"],u:"1f995",a:"5.0"},{n:["t-rex"],u:"1f996",a:"5.0"},{n:["whale","spouting whale"],u:"1f433",a:"0.6"},{n:["whale","whale2"],u:"1f40b",a:"1.0"},{n:["dolphin","flipper"],u:"1f42c",a:"0.6"},{n:["seal"],u:"1f9ad",a:"13.0"},{n:["fish"],u:"1f41f",a:"0.6"},{n:["tropical fish"],u:"1f420",a:"0.6"},{n:["blowfish"],u:"1f421",a:"0.6"},{n:["shark"],u:"1f988",a:"3.0"},{n:["octopus"],u:"1f419",a:"0.6"},{n:["shell","spiral shell"],u:"1f41a",a:"0.6"},{n:["coral"],u:"1fab8",a:"14.0"},{n:["snail"],u:"1f40c",a:"0.6"},{n:["butterfly"],u:"1f98b",a:"3.0"},{n:["bug"],u:"1f41b",a:"0.6"},{n:["ant"],u:"1f41c",a:"0.6"},{n:["bee","honeybee"],u:"1f41d",a:"0.6"},{n:["beetle"],u:"1fab2",a:"13.0"},{n:["ladybug","lady beetle"],u:"1f41e",a:"0.6"},{n:["cricket"],u:"1f997",a:"5.0"},{n:["cockroach"],u:"1fab3",a:"13.0"},{n:["spider"],u:"1f577-fe0f",a:"0.7"},{n:["spider web"],u:"1f578-fe0f",a:"0.7"},{n:["scorpion"],u:"1f982",a:"1.0"},{n:["mosquito"],u:"1f99f",a:"11.0"},{n:["fly"],u:"1fab0",a:"13.0"},{n:["worm"],u:"1fab1",a:"13.0"},{n:["microbe"],u:"1f9a0",a:"11.0"},{n:["bouquet"],u:"1f490",a:"0.6"},{n:["cherry blossom"],u:"1f338",a:"0.6"},{n:["white flower"],u:"1f4ae",a:"0.6"},{n:["lotus"],u:"1fab7",a:"14.0"},{n:["rosette"],u:"1f3f5-fe0f",a:"0.7"},{n:["rose"],u:"1f339",a:"0.6"},{n:["wilted flower"],u:"1f940",a:"3.0"},{n:["hibiscus"],u:"1f33a",a:"0.6"},{n:["sunflower"],u:"1f33b",a:"0.6"},{n:["blossom"],u:"1f33c",a:"0.6"},{n:["tulip"],u:"1f337",a:"0.6"},{n:["seedling"],u:"1f331",a:"0.6"},{n:["potted plant"],u:"1fab4",a:"13.0"},{n:["evergreen tree"],u:"1f332",a:"1.0"},{n:["deciduous tree"],u:"1f333",a:"1.0"},{n:["palm tree"],u:"1f334",a:"0.6"},{n:["cactus"],u:"1f335",a:"0.6"},{n:["ear of rice"],u:"1f33e",a:"0.6"},{n:["herb"],u:"1f33f",a:"0.6"},{n:["shamrock"],u:"2618-fe0f",a:"1.0"},{n:["four leaf clover"],u:"1f340",a:"0.6"},{n:["maple leaf"],u:"1f341",a:"0.6"},{n:["fallen leaf"],u:"1f342",a:"0.6"},{n:["leaves","leaf fluttering in wind"],u:"1f343",a:"0.6"},{n:["empty nest"],u:"1fab9",a:"14.0"},{n:["nest with eggs"],u:"1faba",a:"14.0"}],fSe=[{n:["grapes"],u:"1f347",a:"0.6"},{n:["melon"],u:"1f348",a:"0.6"},{n:["watermelon"],u:"1f349",a:"0.6"},{n:["tangerine"],u:"1f34a",a:"0.6"},{n:["lemon"],u:"1f34b",a:"1.0"},{n:["banana"],u:"1f34c",a:"0.6"},{n:["pineapple"],u:"1f34d",a:"0.6"},{n:["mango"],u:"1f96d",a:"11.0"},{n:["apple","red apple"],u:"1f34e",a:"0.6"},{n:["green apple"],u:"1f34f",a:"0.6"},{n:["pear"],u:"1f350",a:"1.0"},{n:["peach"],u:"1f351",a:"0.6"},{n:["cherries"],u:"1f352",a:"0.6"},{n:["strawberry"],u:"1f353",a:"0.6"},{n:["blueberries"],u:"1fad0",a:"13.0"},{n:["kiwifruit"],u:"1f95d",a:"3.0"},{n:["tomato"],u:"1f345",a:"0.6"},{n:["olive"],u:"1fad2",a:"13.0"},{n:["coconut"],u:"1f965",a:"5.0"},{n:["avocado"],u:"1f951",a:"3.0"},{n:["eggplant","aubergine"],u:"1f346",a:"0.6"},{n:["potato"],u:"1f954",a:"3.0"},{n:["carrot"],u:"1f955",a:"3.0"},{n:["corn","ear of maize"],u:"1f33d",a:"0.6"},{n:["hot pepper"],u:"1f336-fe0f",a:"0.7"},{n:["bell pepper"],u:"1fad1",a:"13.0"},{n:["cucumber"],u:"1f952",a:"3.0"},{n:["leafy green"],u:"1f96c",a:"11.0"},{n:["broccoli"],u:"1f966",a:"5.0"},{n:["garlic"],u:"1f9c4",a:"12.0"},{n:["onion"],u:"1f9c5",a:"12.0"},{n:["mushroom"],u:"1f344",a:"0.6"},{n:["peanuts"],u:"1f95c",a:"3.0"},{n:["beans"],u:"1fad8",a:"14.0"},{n:["chestnut"],u:"1f330",a:"0.6"},{n:["bread"],u:"1f35e",a:"0.6"},{n:["croissant"],u:"1f950",a:"3.0"},{n:["baguette bread"],u:"1f956",a:"3.0"},{n:["flatbread"],u:"1fad3",a:"13.0"},{n:["pretzel"],u:"1f968",a:"5.0"},{n:["bagel"],u:"1f96f",a:"11.0"},{n:["pancakes"],u:"1f95e",a:"3.0"},{n:["waffle"],u:"1f9c7",a:"12.0"},{n:["cheese wedge"],u:"1f9c0",a:"1.0"},{n:["meat on bone"],u:"1f356",a:"0.6"},{n:["poultry leg"],u:"1f357",a:"0.6"},{n:["cut of meat"],u:"1f969",a:"5.0"},{n:["bacon"],u:"1f953",a:"3.0"},{n:["hamburger"],u:"1f354",a:"0.6"},{n:["fries","french fries"],u:"1f35f",a:"0.6"},{n:["pizza","slice of pizza"],u:"1f355",a:"0.6"},{n:["hotdog","hot dog"],u:"1f32d",a:"1.0"},{n:["sandwich"],u:"1f96a",a:"5.0"},{n:["taco"],u:"1f32e",a:"1.0"},{n:["burrito"],u:"1f32f",a:"1.0"},{n:["tamale"],u:"1fad4",a:"13.0"},{n:["stuffed flatbread"],u:"1f959",a:"3.0"},{n:["falafel"],u:"1f9c6",a:"12.0"},{n:["egg"],u:"1f95a",a:"3.0"},{n:["cooking","fried egg"],u:"1f373",a:"0.6"},{n:["shallow pan of food"],u:"1f958",a:"3.0"},{n:["stew","pot of food"],u:"1f372",a:"0.6"},{n:["fondue"],u:"1fad5",a:"13.0"},{n:["bowl with spoon"],u:"1f963",a:"5.0"},{n:["green salad"],u:"1f957",a:"3.0"},{n:["popcorn"],u:"1f37f",a:"1.0"},{n:["butter"],u:"1f9c8",a:"12.0"},{n:["salt","salt shaker"],u:"1f9c2",a:"11.0"},{n:["canned food"],u:"1f96b",a:"5.0"},{n:["bento","bento box"],u:"1f371",a:"0.6"},{n:["rice cracker"],u:"1f358",a:"0.6"},{n:["rice ball"],u:"1f359",a:"0.6"},{n:["rice","cooked rice"],u:"1f35a",a:"0.6"},{n:["curry","curry and rice"],u:"1f35b",a:"0.6"},{n:["ramen","steaming bowl"],u:"1f35c",a:"0.6"},{n:["spaghetti"],u:"1f35d",a:"0.6"},{n:["sweet potato","roasted sweet potato"],u:"1f360",a:"0.6"},{n:["oden"],u:"1f362",a:"0.6"},{n:["sushi"],u:"1f363",a:"0.6"},{n:["fried shrimp"],u:"1f364",a:"0.6"},{n:["fish cake","fish cake with swirl design"],u:"1f365",a:"0.6"},{n:["moon cake"],u:"1f96e",a:"11.0"},{n:["dango"],u:"1f361",a:"0.6"},{n:["dumpling"],u:"1f95f",a:"5.0"},{n:["fortune cookie"],u:"1f960",a:"5.0"},{n:["takeout box"],u:"1f961",a:"5.0"},{n:["crab"],u:"1f980",a:"1.0"},{n:["lobster"],u:"1f99e",a:"11.0"},{n:["shrimp"],u:"1f990",a:"3.0"},{n:["squid"],u:"1f991",a:"3.0"},{n:["oyster"],u:"1f9aa",a:"12.0"},{n:["icecream","soft ice cream"],u:"1f366",a:"0.6"},{n:["shaved ice"],u:"1f367",a:"0.6"},{n:["ice cream"],u:"1f368",a:"0.6"},{n:["doughnut"],u:"1f369",a:"0.6"},{n:["cookie"],u:"1f36a",a:"0.6"},{n:["birthday","birthday cake"],u:"1f382",a:"0.6"},{n:["cake","shortcake"],u:"1f370",a:"0.6"},{n:["cupcake"],u:"1f9c1",a:"11.0"},{n:["pie"],u:"1f967",a:"5.0"},{n:["chocolate bar"],u:"1f36b",a:"0.6"},{n:["candy"],u:"1f36c",a:"0.6"},{n:["lollipop"],u:"1f36d",a:"0.6"},{n:["custard"],u:"1f36e",a:"0.6"},{n:["honey pot"],u:"1f36f",a:"0.6"},{n:["baby bottle"],u:"1f37c",a:"1.0"},{n:["glass of milk"],u:"1f95b",a:"3.0"},{n:["coffee","hot beverage"],u:"2615",a:"0.6"},{n:["teapot"],u:"1fad6",a:"13.0"},{n:["tea","teacup without handle"],u:"1f375",a:"0.6"},{n:["sake","sake bottle and cup"],u:"1f376",a:"0.6"},{n:["champagne","bottle with popping cork"],u:"1f37e",a:"1.0"},{n:["wine glass"],u:"1f377",a:"0.6"},{n:["cocktail","cocktail glass"],u:"1f378",a:"0.6"},{n:["tropical drink"],u:"1f379",a:"0.6"},{n:["beer","beer mug"],u:"1f37a",a:"0.6"},{n:["beers","clinking beer mugs"],u:"1f37b",a:"0.6"},{n:["clinking glasses"],u:"1f942",a:"3.0"},{n:["tumbler glass"],u:"1f943",a:"3.0"},{n:["pouring liquid"],u:"1fad7",a:"14.0"},{n:["cup with straw"],u:"1f964",a:"5.0"},{n:["bubble tea"],u:"1f9cb",a:"13.0"},{n:["beverage box"],u:"1f9c3",a:"12.0"},{n:["mate drink"],u:"1f9c9",a:"12.0"},{n:["ice cube"],u:"1f9ca",a:"12.0"},{n:["chopsticks"],u:"1f962",a:"5.0"},{n:["knife fork plate","fork and knife with plate"],u:"1f37d-fe0f",a:"0.7"},{n:["fork and knife"],u:"1f374",a:"0.6"},{n:["spoon"],u:"1f944",a:"3.0"},{n:["hocho","knife"],u:"1f52a",a:"0.6"},{n:["jar"],u:"1fad9",a:"14.0"},{n:["amphora"],u:"1f3fa",a:"1.0"}],dSe=[{n:["earth africa","earth globe europe-africa"],u:"1f30d",a:"0.7"},{n:["earth americas","earth globe americas"],u:"1f30e",a:"0.7"},{n:["earth asia","earth globe asia-australia"],u:"1f30f",a:"0.6"},{n:["globe with meridians"],u:"1f310",a:"1.0"},{n:["world map"],u:"1f5fa-fe0f",a:"0.7"},{n:["japan","silhouette of japan"],u:"1f5fe",a:"0.6"},{n:["compass"],u:"1f9ed",a:"11.0"},{n:["snow-capped mountain","snow capped mountain"],u:"1f3d4-fe0f",a:"0.7"},{n:["mountain"],u:"26f0-fe0f",a:"0.7"},{n:["volcano"],u:"1f30b",a:"0.6"},{n:["mount fuji"],u:"1f5fb",a:"0.6"},{n:["camping"],u:"1f3d5-fe0f",a:"0.7"},{n:["beach with umbrella"],u:"1f3d6-fe0f",a:"0.7"},{n:["desert"],u:"1f3dc-fe0f",a:"0.7"},{n:["desert island"],u:"1f3dd-fe0f",a:"0.7"},{n:["national park"],u:"1f3de-fe0f",a:"0.7"},{n:["stadium"],u:"1f3df-fe0f",a:"0.7"},{n:["classical building"],u:"1f3db-fe0f",a:"0.7"},{n:["building construction"],u:"1f3d7-fe0f",a:"0.7"},{n:["brick","bricks"],u:"1f9f1",a:"11.0"},{n:["rock"],u:"1faa8",a:"13.0"},{n:["wood"],u:"1fab5",a:"13.0"},{n:["hut"],u:"1f6d6",a:"13.0"},{n:["houses","house buildings"],u:"1f3d8-fe0f",a:"0.7"},{n:["derelict house","derelict house building"],u:"1f3da-fe0f",a:"0.7"},{n:["house","house building"],u:"1f3e0",a:"0.6"},{n:["house with garden"],u:"1f3e1",a:"0.6"},{n:["office","office building"],u:"1f3e2",a:"0.6"},{n:["post office","japanese post office"],u:"1f3e3",a:"0.6"},{n:["european post office"],u:"1f3e4",a:"1.0"},{n:["hospital"],u:"1f3e5",a:"0.6"},{n:["bank"],u:"1f3e6",a:"0.6"},{n:["hotel"],u:"1f3e8",a:"0.6"},{n:["love hotel"],u:"1f3e9",a:"0.6"},{n:["convenience store"],u:"1f3ea",a:"0.6"},{n:["school"],u:"1f3eb",a:"0.6"},{n:["department store"],u:"1f3ec",a:"0.6"},{n:["factory"],u:"1f3ed",a:"0.6"},{n:["japanese castle"],u:"1f3ef",a:"0.6"},{n:["european castle"],u:"1f3f0",a:"0.6"},{n:["wedding"],u:"1f492",a:"0.6"},{n:["tokyo tower"],u:"1f5fc",a:"0.6"},{n:["statue of liberty"],u:"1f5fd",a:"0.6"},{n:["church"],u:"26ea",a:"0.6"},{n:["mosque"],u:"1f54c",a:"1.0"},{n:["hindu temple"],u:"1f6d5",a:"12.0"},{n:["synagogue"],u:"1f54d",a:"1.0"},{n:["shinto shrine"],u:"26e9-fe0f",a:"0.7"},{n:["kaaba"],u:"1f54b",a:"1.0"},{n:["fountain"],u:"26f2",a:"0.6"},{n:["tent"],u:"26fa",a:"0.6"},{n:["foggy"],u:"1f301",a:"0.6"},{n:["night with stars"],u:"1f303",a:"0.6"},{n:["cityscape"],u:"1f3d9-fe0f",a:"0.7"},{n:["sunrise over mountains"],u:"1f304",a:"0.6"},{n:["sunrise"],u:"1f305",a:"0.6"},{n:["city sunset","cityscape at dusk"],u:"1f306",a:"0.6"},{n:["city sunrise","sunset over buildings"],u:"1f307",a:"0.6"},{n:["bridge at night"],u:"1f309",a:"0.6"},{n:["hotsprings","hot springs"],u:"2668-fe0f",a:"0.6"},{n:["carousel horse"],u:"1f3a0",a:"0.6"},{n:["playground slide"],u:"1f6dd",a:"14.0"},{n:["ferris wheel"],u:"1f3a1",a:"0.6"},{n:["roller coaster"],u:"1f3a2",a:"0.6"},{n:["barber","barber pole"],u:"1f488",a:"0.6"},{n:["circus tent"],u:"1f3aa",a:"0.6"},{n:["steam locomotive"],u:"1f682",a:"1.0"},{n:["railway car"],u:"1f683",a:"0.6"},{n:["high-speed train","bullettrain side"],u:"1f684",a:"0.6"},{n:["bullettrain front","high-speed train with bullet nose"],u:"1f685",a:"0.6"},{n:["train","train2"],u:"1f686",a:"1.0"},{n:["metro"],u:"1f687",a:"0.6"},{n:["light rail"],u:"1f688",a:"1.0"},{n:["station"],u:"1f689",a:"0.6"},{n:["tram"],u:"1f68a",a:"1.0"},{n:["monorail"],u:"1f69d",a:"1.0"},{n:["mountain railway"],u:"1f69e",a:"1.0"},{n:["train","tram car"],u:"1f68b",a:"1.0"},{n:["bus"],u:"1f68c",a:"0.6"},{n:["oncoming bus"],u:"1f68d",a:"0.7"},{n:["trolleybus"],u:"1f68e",a:"1.0"},{n:["minibus"],u:"1f690",a:"1.0"},{n:["ambulance"],u:"1f691",a:"0.6"},{n:["fire engine"],u:"1f692",a:"0.6"},{n:["police car"],u:"1f693",a:"0.6"},{n:["oncoming police car"],u:"1f694",a:"0.7"},{n:["taxi"],u:"1f695",a:"0.6"},{n:["oncoming taxi"],u:"1f696",a:"1.0"},{n:["car","red car","automobile"],u:"1f697",a:"0.6"},{n:["oncoming automobile"],u:"1f698",a:"0.7"},{n:["blue car","recreational vehicle"],u:"1f699",a:"0.6"},{n:["pickup truck"],u:"1f6fb",a:"13.0"},{n:["truck","delivery truck"],u:"1f69a",a:"0.6"},{n:["articulated lorry"],u:"1f69b",a:"1.0"},{n:["tractor"],u:"1f69c",a:"1.0"},{n:["racing car"],u:"1f3ce-fe0f",a:"0.7"},{n:["motorcycle","racing motorcycle"],u:"1f3cd-fe0f",a:"0.7"},{n:["motor scooter"],u:"1f6f5",a:"3.0"},{n:["manual wheelchair"],u:"1f9bd",a:"12.0"},{n:["motorized wheelchair"],u:"1f9bc",a:"12.0"},{n:["auto rickshaw"],u:"1f6fa",a:"12.0"},{n:["bike","bicycle"],u:"1f6b2",a:"0.6"},{n:["scooter"],u:"1f6f4",a:"3.0"},{n:["skateboard"],u:"1f6f9",a:"11.0"},{n:["roller skate"],u:"1f6fc",a:"13.0"},{n:["busstop","bus stop"],u:"1f68f",a:"0.6"},{n:["motorway"],u:"1f6e3-fe0f",a:"0.7"},{n:["railway track"],u:"1f6e4-fe0f",a:"0.7"},{n:["oil drum"],u:"1f6e2-fe0f",a:"0.7"},{n:["fuelpump","fuel pump"],u:"26fd",a:"0.6"},{n:["wheel"],u:"1f6de",a:"14.0"},{n:["rotating light","police cars revolving light"],u:"1f6a8",a:"0.6"},{n:["traffic light","horizontal traffic light"],u:"1f6a5",a:"0.6"},{n:["vertical traffic light"],u:"1f6a6",a:"1.0"},{n:["octagonal sign"],u:"1f6d1",a:"3.0"},{n:["construction","construction sign"],u:"1f6a7",a:"0.6"},{n:["anchor"],u:"2693",a:"0.6"},{n:["ring buoy"],u:"1f6df",a:"14.0"},{n:["boat","sailboat"],u:"26f5",a:"0.6"},{n:["canoe"],u:"1f6f6",a:"3.0"},{n:["speedboat"],u:"1f6a4",a:"0.6"},{n:["passenger ship"],u:"1f6f3-fe0f",a:"0.7"},{n:["ferry"],u:"26f4-fe0f",a:"0.7"},{n:["motor boat"],u:"1f6e5-fe0f",a:"0.7"},{n:["ship"],u:"1f6a2",a:"0.6"},{n:["airplane"],u:"2708-fe0f",a:"0.6"},{n:["small airplane"],u:"1f6e9-fe0f",a:"0.7"},{n:["airplane departure"],u:"1f6eb",a:"1.0"},{n:["airplane arriving"],u:"1f6ec",a:"1.0"},{n:["parachute"],u:"1fa82",a:"12.0"},{n:["seat"],u:"1f4ba",a:"0.6"},{n:["helicopter"],u:"1f681",a:"1.0"},{n:["suspension railway"],u:"1f69f",a:"1.0"},{n:["mountain cableway"],u:"1f6a0",a:"1.0"},{n:["aerial tramway"],u:"1f6a1",a:"1.0"},{n:["satellite"],u:"1f6f0-fe0f",a:"0.7"},{n:["rocket"],u:"1f680",a:"0.6"},{n:["flying saucer"],u:"1f6f8",a:"5.0"},{n:["bellhop bell"],u:"1f6ce-fe0f",a:"0.7"},{n:["luggage"],u:"1f9f3",a:"11.0"},{n:["hourglass"],u:"231b",a:"0.6"},{n:["hourglass flowing sand","hourglass with flowing sand"],u:"23f3",a:"0.6"},{n:["watch"],u:"231a",a:"0.6"},{n:["alarm clock"],u:"23f0",a:"0.6"},{n:["stopwatch"],u:"23f1-fe0f",a:"1.0"},{n:["timer clock"],u:"23f2-fe0f",a:"1.0"},{n:["mantelpiece clock"],u:"1f570-fe0f",a:"0.7"},{n:["clock12","clock face twelve oclock"],u:"1f55b",a:"0.6"},{n:["clock1230","clock face twelve-thirty"],u:"1f567",a:"0.7"},{n:["clock1","clock face one oclock"],u:"1f550",a:"0.6"},{n:["clock130","clock face one-thirty"],u:"1f55c",a:"0.7"},{n:["clock2","clock face two oclock"],u:"1f551",a:"0.6"},{n:["clock230","clock face two-thirty"],u:"1f55d",a:"0.7"},{n:["clock3","clock face three oclock"],u:"1f552",a:"0.6"},{n:["clock330","clock face three-thirty"],u:"1f55e",a:"0.7"},{n:["clock4","clock face four oclock"],u:"1f553",a:"0.6"},{n:["clock430","clock face four-thirty"],u:"1f55f",a:"0.7"},{n:["clock5","clock face five oclock"],u:"1f554",a:"0.6"},{n:["clock530","clock face five-thirty"],u:"1f560",a:"0.7"},{n:["clock6","clock face six oclock"],u:"1f555",a:"0.6"},{n:["clock630","clock face six-thirty"],u:"1f561",a:"0.7"},{n:["clock7","clock face seven oclock"],u:"1f556",a:"0.6"},{n:["clock730","clock face seven-thirty"],u:"1f562",a:"0.7"},{n:["clock8","clock face eight oclock"],u:"1f557",a:"0.6"},{n:["clock830","clock face eight-thirty"],u:"1f563",a:"0.7"},{n:["clock9","clock face nine oclock"],u:"1f558",a:"0.6"},{n:["clock930","clock face nine-thirty"],u:"1f564",a:"0.7"},{n:["clock10","clock face ten oclock"],u:"1f559",a:"0.6"},{n:["clock1030","clock face ten-thirty"],u:"1f565",a:"0.7"},{n:["clock11","clock face eleven oclock"],u:"1f55a",a:"0.6"},{n:["clock1130","clock face eleven-thirty"],u:"1f566",a:"0.7"},{n:["new moon","new moon symbol"],u:"1f311",a:"0.6"},{n:["waxing crescent moon","waxing crescent moon symbol"],u:"1f312",a:"1.0"},{n:["first quarter moon","first quarter moon symbol"],u:"1f313",a:"0.6"},{n:["moon","waxing gibbous moon","waxing gibbous moon symbol"],u:"1f314",a:"0.6"},{n:["full moon","full moon symbol"],u:"1f315",a:"0.6"},{n:["waning gibbous moon","waning gibbous moon symbol"],u:"1f316",a:"1.0"},{n:["last quarter moon","last quarter moon symbol"],u:"1f317",a:"1.0"},{n:["waning crescent moon","waning crescent moon symbol"],u:"1f318",a:"1.0"},{n:["crescent moon"],u:"1f319",a:"0.6"},{n:["new moon with face"],u:"1f31a",a:"1.0"},{n:["first quarter moon with face"],u:"1f31b",a:"0.6"},{n:["last quarter moon with face"],u:"1f31c",a:"0.7"},{n:["thermometer"],u:"1f321-fe0f",a:"0.7"},{n:["sunny","black sun with rays"],u:"2600-fe0f",a:"0.6"},{n:["full moon with face"],u:"1f31d",a:"1.0"},{n:["sun with face"],u:"1f31e",a:"1.0"},{n:["ringed planet"],u:"1fa90",a:"12.0"},{n:["star","white medium star"],u:"2b50",a:"0.6"},{n:["star2","glowing star"],u:"1f31f",a:"0.6"},{n:["stars","shooting star"],u:"1f320",a:"0.6"},{n:["milky way"],u:"1f30c",a:"0.6"},{n:["cloud"],u:"2601-fe0f",a:"0.6"},{n:["partly sunny","sun behind cloud"],u:"26c5",a:"0.6"},{n:["thunder cloud and rain","cloud with lightning and rain"],u:"26c8-fe0f",a:"0.7"},{n:["mostly sunny","sun small cloud","sun behind small cloud"],u:"1f324-fe0f",a:"0.7"},{n:["barely sunny","sun behind cloud","sun behind large cloud"],u:"1f325-fe0f",a:"0.7"},{n:["partly sunny rain","sun behind rain cloud"],u:"1f326-fe0f",a:"0.7"},{n:["rain cloud","cloud with rain"],u:"1f327-fe0f",a:"0.7"},{n:["snow cloud","cloud with snow"],u:"1f328-fe0f",a:"0.7"},{n:["lightning","lightning cloud","cloud with lightning"],u:"1f329-fe0f",a:"0.7"},{n:["tornado","tornado cloud"],u:"1f32a-fe0f",a:"0.7"},{n:["fog"],u:"1f32b-fe0f",a:"0.7"},{n:["wind face","wind blowing face"],u:"1f32c-fe0f",a:"0.7"},{n:["cyclone"],u:"1f300",a:"0.6"},{n:["rainbow"],u:"1f308",a:"0.6"},{n:["closed umbrella"],u:"1f302",a:"0.6"},{n:["umbrella"],u:"2602-fe0f",a:"0.7"},{n:["umbrella with rain drops"],u:"2614",a:"0.6"},{n:["umbrella on ground"],u:"26f1-fe0f",a:"0.7"},{n:["zap","high voltage sign"],u:"26a1",a:"0.6"},{n:["snowflake"],u:"2744-fe0f",a:"0.6"},{n:["snowman"],u:"2603-fe0f",a:"0.7"},{n:["snowman without snow"],u:"26c4",a:"0.6"},{n:["comet"],u:"2604-fe0f",a:"1.0"},{n:["fire"],u:"1f525",a:"0.6"},{n:["droplet"],u:"1f4a7",a:"0.6"},{n:["ocean","water wave"],u:"1f30a",a:"0.6"}],pSe=[{n:["jack-o-lantern","jack o lantern"],u:"1f383",a:"0.6"},{n:["christmas tree"],u:"1f384",a:"0.6"},{n:["fireworks"],u:"1f386",a:"0.6"},{n:["sparkler","firework sparkler"],u:"1f387",a:"0.6"},{n:["firecracker"],u:"1f9e8",a:"11.0"},{n:["sparkles"],u:"2728",a:"0.6"},{n:["balloon"],u:"1f388",a:"0.6"},{n:["tada","party popper"],u:"1f389",a:"0.6"},{n:["confetti ball"],u:"1f38a",a:"0.6"},{n:["tanabata tree"],u:"1f38b",a:"0.6"},{n:["bamboo","pine decoration"],u:"1f38d",a:"0.6"},{n:["dolls","japanese dolls"],u:"1f38e",a:"0.6"},{n:["flags","carp streamer"],u:"1f38f",a:"0.6"},{n:["wind chime"],u:"1f390",a:"0.6"},{n:["rice scene","moon viewing ceremony"],u:"1f391",a:"0.6"},{n:["red envelope","red gift envelope"],u:"1f9e7",a:"11.0"},{n:["ribbon"],u:"1f380",a:"0.6"},{n:["gift","wrapped present"],u:"1f381",a:"0.6"},{n:["reminder ribbon"],u:"1f397-fe0f",a:"0.7"},{n:["admission tickets"],u:"1f39f-fe0f",a:"0.7"},{n:["ticket"],u:"1f3ab",a:"0.6"},{n:["medal","military medal"],u:"1f396-fe0f",a:"0.7"},{n:["trophy"],u:"1f3c6",a:"0.6"},{n:["sports medal"],u:"1f3c5",a:"1.0"},{n:["first place medal"],u:"1f947",a:"3.0"},{n:["second place medal"],u:"1f948",a:"3.0"},{n:["third place medal"],u:"1f949",a:"3.0"},{n:["soccer","soccer ball"],u:"26bd",a:"0.6"},{n:["baseball"],u:"26be",a:"0.6"},{n:["softball"],u:"1f94e",a:"11.0"},{n:["basketball","basketball and hoop"],u:"1f3c0",a:"0.6"},{n:["volleyball"],u:"1f3d0",a:"1.0"},{n:["football","american football"],u:"1f3c8",a:"0.6"},{n:["rugby football"],u:"1f3c9",a:"1.0"},{n:["tennis","tennis racquet and ball"],u:"1f3be",a:"0.6"},{n:["flying disc"],u:"1f94f",a:"11.0"},{n:["bowling"],u:"1f3b3",a:"0.6"},{n:["cricket bat and ball"],u:"1f3cf",a:"1.0"},{n:["field hockey stick and ball"],u:"1f3d1",a:"1.0"},{n:["ice hockey stick and puck"],u:"1f3d2",a:"1.0"},{n:["lacrosse","lacrosse stick and ball"],u:"1f94d",a:"11.0"},{n:["table tennis paddle and ball"],u:"1f3d3",a:"1.0"},{n:["badminton racquet and shuttlecock"],u:"1f3f8",a:"1.0"},{n:["boxing glove"],u:"1f94a",a:"3.0"},{n:["martial arts uniform"],u:"1f94b",a:"3.0"},{n:["goal net"],u:"1f945",a:"3.0"},{n:["golf","flag in hole"],u:"26f3",a:"0.6"},{n:["ice skate"],u:"26f8-fe0f",a:"0.7"},{n:["fishing pole and fish"],u:"1f3a3",a:"0.6"},{n:["diving mask"],u:"1f93f",a:"12.0"},{n:["running shirt with sash"],u:"1f3bd",a:"0.6"},{n:["ski","ski and ski boot"],u:"1f3bf",a:"0.6"},{n:["sled"],u:"1f6f7",a:"5.0"},{n:["curling stone"],u:"1f94c",a:"5.0"},{n:["dart","direct hit"],u:"1f3af",a:"0.6"},{n:["yo-yo"],u:"1fa80",a:"12.0"},{n:["kite"],u:"1fa81",a:"12.0"},{n:["8ball","billiards"],u:"1f3b1",a:"0.6"},{n:["crystal ball"],u:"1f52e",a:"0.6"},{n:["magic wand"],u:"1fa84",a:"13.0"},{n:["nazar amulet"],u:"1f9ff",a:"11.0"},{n:["hamsa"],u:"1faac",a:"14.0"},{n:["video game"],u:"1f3ae",a:"0.6"},{n:["joystick"],u:"1f579-fe0f",a:"0.7"},{n:["slot machine"],u:"1f3b0",a:"0.6"},{n:["game die"],u:"1f3b2",a:"0.6"},{n:["jigsaw","jigsaw puzzle piece"],u:"1f9e9",a:"11.0"},{n:["teddy bear"],u:"1f9f8",a:"11.0"},{n:["pinata"],u:"1fa85",a:"13.0"},{n:["mirror ball"],u:"1faa9",a:"14.0"},{n:["nesting dolls"],u:"1fa86",a:"13.0"},{n:["spades","black spade suit"],u:"2660-fe0f",a:"0.6"},{n:["hearts","black heart suit"],u:"2665-fe0f",a:"0.6"},{n:["diamonds","black diamond suit"],u:"2666-fe0f",a:"0.6"},{n:["clubs","black club suit"],u:"2663-fe0f",a:"0.6"},{n:["chess pawn"],u:"265f-fe0f",a:"11.0"},{n:["black joker","playing card black joker"],u:"1f0cf",a:"0.6"},{n:["mahjong","mahjong tile red dragon"],u:"1f004",a:"0.6"},{n:["flower playing cards"],u:"1f3b4",a:"0.6"},{n:["performing arts"],u:"1f3ad",a:"0.6"},{n:["framed picture","frame with picture"],u:"1f5bc-fe0f",a:"0.7"},{n:["art","artist palette"],u:"1f3a8",a:"0.6"},{n:["thread","spool of thread"],u:"1f9f5",a:"11.0"},{n:["sewing needle"],u:"1faa1",a:"13.0"},{n:["yarn","ball of yarn"],u:"1f9f6",a:"11.0"},{n:["knot"],u:"1faa2",a:"13.0"}],hSe=[{n:["eyeglasses"],u:"1f453",a:"0.6"},{n:["sunglasses","dark sunglasses"],u:"1f576-fe0f",a:"0.7"},{n:["goggles"],u:"1f97d",a:"11.0"},{n:["lab coat"],u:"1f97c",a:"11.0"},{n:["safety vest"],u:"1f9ba",a:"12.0"},{n:["necktie"],u:"1f454",a:"0.6"},{n:["shirt","tshirt","t-shirt"],u:"1f455",a:"0.6"},{n:["jeans"],u:"1f456",a:"0.6"},{n:["scarf"],u:"1f9e3",a:"5.0"},{n:["gloves"],u:"1f9e4",a:"5.0"},{n:["coat"],u:"1f9e5",a:"5.0"},{n:["socks"],u:"1f9e6",a:"5.0"},{n:["dress"],u:"1f457",a:"0.6"},{n:["kimono"],u:"1f458",a:"0.6"},{n:["sari"],u:"1f97b",a:"12.0"},{n:["one-piece swimsuit"],u:"1fa71",a:"12.0"},{n:["briefs"],u:"1fa72",a:"12.0"},{n:["shorts"],u:"1fa73",a:"12.0"},{n:["bikini"],u:"1f459",a:"0.6"},{n:["womans clothes"],u:"1f45a",a:"0.6"},{n:["purse"],u:"1f45b",a:"0.6"},{n:["handbag"],u:"1f45c",a:"0.6"},{n:["pouch"],u:"1f45d",a:"0.6"},{n:["shopping bags"],u:"1f6cd-fe0f",a:"0.7"},{n:["school satchel"],u:"1f392",a:"0.6"},{n:["thong sandal"],u:"1fa74",a:"13.0"},{n:["shoe","mans shoe"],u:"1f45e",a:"0.6"},{n:["athletic shoe"],u:"1f45f",a:"0.6"},{n:["hiking boot"],u:"1f97e",a:"11.0"},{n:["flat shoe","womans flat shoe"],u:"1f97f",a:"11.0"},{n:["high heel","high-heeled shoe"],u:"1f460",a:"0.6"},{n:["sandal","womans sandal"],u:"1f461",a:"0.6"},{n:["ballet shoes"],u:"1fa70",a:"12.0"},{n:["boot","womans boots"],u:"1f462",a:"0.6"},{n:["crown"],u:"1f451",a:"0.6"},{n:["womans hat"],u:"1f452",a:"0.6"},{n:["tophat","top hat"],u:"1f3a9",a:"0.6"},{n:["mortar board","graduation cap"],u:"1f393",a:"0.6"},{n:["billed cap"],u:"1f9e2",a:"5.0"},{n:["military helmet"],u:"1fa96",a:"13.0"},{n:["rescue worker’s helmet","helmet with white cross"],u:"26d1-fe0f",a:"0.7"},{n:["prayer beads"],u:"1f4ff",a:"1.0"},{n:["lipstick"],u:"1f484",a:"0.6"},{n:["ring"],u:"1f48d",a:"0.6"},{n:["gem","gem stone"],u:"1f48e",a:"0.6"},{n:["mute","speaker with cancellation stroke"],u:"1f507",a:"1.0"},{n:["speaker"],u:"1f508",a:"0.7"},{n:["sound","speaker with one sound wave"],u:"1f509",a:"1.0"},{n:["loud sound","speaker with three sound waves"],u:"1f50a",a:"0.6"},{n:["loudspeaker","public address loudspeaker"],u:"1f4e2",a:"0.6"},{n:["mega","cheering megaphone"],u:"1f4e3",a:"0.6"},{n:["postal horn"],u:"1f4ef",a:"1.0"},{n:["bell"],u:"1f514",a:"0.6"},{n:["no bell","bell with cancellation stroke"],u:"1f515",a:"1.0"},{n:["musical score"],u:"1f3bc",a:"0.6"},{n:["musical note"],u:"1f3b5",a:"0.6"},{n:["notes","multiple musical notes"],u:"1f3b6",a:"0.6"},{n:["studio microphone"],u:"1f399-fe0f",a:"0.7"},{n:["level slider"],u:"1f39a-fe0f",a:"0.7"},{n:["control knobs"],u:"1f39b-fe0f",a:"0.7"},{n:["microphone"],u:"1f3a4",a:"0.6"},{n:["headphone","headphones"],u:"1f3a7",a:"0.6"},{n:["radio"],u:"1f4fb",a:"0.6"},{n:["saxophone"],u:"1f3b7",a:"0.6"},{n:["accordion"],u:"1fa97",a:"13.0"},{n:["guitar"],u:"1f3b8",a:"0.6"},{n:["musical keyboard"],u:"1f3b9",a:"0.6"},{n:["trumpet"],u:"1f3ba",a:"0.6"},{n:["violin"],u:"1f3bb",a:"0.6"},{n:["banjo"],u:"1fa95",a:"12.0"},{n:["drum with drumsticks"],u:"1f941",a:"3.0"},{n:["long drum"],u:"1fa98",a:"13.0"},{n:["iphone","mobile phone"],u:"1f4f1",a:"0.6"},{n:["calling","mobile phone with rightwards arrow at left"],u:"1f4f2",a:"0.6"},{n:["phone","telephone","black telephone"],u:"260e-fe0f",a:"0.6"},{n:["telephone receiver"],u:"1f4de",a:"0.6"},{n:["pager"],u:"1f4df",a:"0.6"},{n:["fax","fax machine"],u:"1f4e0",a:"0.6"},{n:["battery"],u:"1f50b",a:"0.6"},{n:["low battery"],u:"1faab",a:"14.0"},{n:["electric plug"],u:"1f50c",a:"0.6"},{n:["computer","personal computer"],u:"1f4bb",a:"0.6"},{n:["desktop computer"],u:"1f5a5-fe0f",a:"0.7"},{n:["printer"],u:"1f5a8-fe0f",a:"0.7"},{n:["keyboard"],u:"2328-fe0f",a:"1.0"},{n:["computer mouse","three button mouse"],u:"1f5b1-fe0f",a:"0.7"},{n:["trackball"],u:"1f5b2-fe0f",a:"0.7"},{n:["minidisc"],u:"1f4bd",a:"0.6"},{n:["floppy disk"],u:"1f4be",a:"0.6"},{n:["cd","optical disc"],u:"1f4bf",a:"0.6"},{n:["dvd"],u:"1f4c0",a:"0.6"},{n:["abacus"],u:"1f9ee",a:"11.0"},{n:["movie camera"],u:"1f3a5",a:"0.6"},{n:["film frames"],u:"1f39e-fe0f",a:"0.7"},{n:["film projector"],u:"1f4fd-fe0f",a:"0.7"},{n:["clapper","clapper board"],u:"1f3ac",a:"0.6"},{n:["tv","television"],u:"1f4fa",a:"0.6"},{n:["camera"],u:"1f4f7",a:"0.6"},{n:["camera with flash"],u:"1f4f8",a:"1.0"},{n:["video camera"],u:"1f4f9",a:"0.6"},{n:["vhs","videocassette"],u:"1f4fc",a:"0.6"},{n:["mag","left-pointing magnifying glass"],u:"1f50d",a:"0.6"},{n:["mag right","right-pointing magnifying glass"],u:"1f50e",a:"0.6"},{n:["candle"],u:"1f56f-fe0f",a:"0.7"},{n:["bulb","electric light bulb"],u:"1f4a1",a:"0.6"},{n:["flashlight","electric torch"],u:"1f526",a:"0.6"},{n:["lantern","izakaya lantern"],u:"1f3ee",a:"0.6"},{n:["diya lamp"],u:"1fa94",a:"12.0"},{n:["notebook with decorative cover"],u:"1f4d4",a:"0.6"},{n:["closed book"],u:"1f4d5",a:"0.6"},{n:["book","open book"],u:"1f4d6",a:"0.6"},{n:["green book"],u:"1f4d7",a:"0.6"},{n:["blue book"],u:"1f4d8",a:"0.6"},{n:["orange book"],u:"1f4d9",a:"0.6"},{n:["books"],u:"1f4da",a:"0.6"},{n:["notebook"],u:"1f4d3",a:"0.6"},{n:["ledger"],u:"1f4d2",a:"0.6"},{n:["page with curl"],u:"1f4c3",a:"0.6"},{n:["scroll"],u:"1f4dc",a:"0.6"},{n:["page facing up"],u:"1f4c4",a:"0.6"},{n:["newspaper"],u:"1f4f0",a:"0.6"},{n:["rolled-up newspaper","rolled up newspaper"],u:"1f5de-fe0f",a:"0.7"},{n:["bookmark tabs"],u:"1f4d1",a:"0.6"},{n:["bookmark"],u:"1f516",a:"0.6"},{n:["label"],u:"1f3f7-fe0f",a:"0.7"},{n:["moneybag","money bag"],u:"1f4b0",a:"0.6"},{n:["coin"],u:"1fa99",a:"13.0"},{n:["yen","banknote with yen sign"],u:"1f4b4",a:"0.6"},{n:["dollar","banknote with dollar sign"],u:"1f4b5",a:"0.6"},{n:["euro","banknote with euro sign"],u:"1f4b6",a:"1.0"},{n:["pound","banknote with pound sign"],u:"1f4b7",a:"1.0"},{n:["money with wings"],u:"1f4b8",a:"0.6"},{n:["credit card"],u:"1f4b3",a:"0.6"},{n:["receipt"],u:"1f9fe",a:"11.0"},{n:["chart","chart with upwards trend and yen sign"],u:"1f4b9",a:"0.6"},{n:["email","envelope"],u:"2709-fe0f",a:"0.6"},{n:["e-mail","e-mail symbol"],u:"1f4e7",a:"0.6"},{n:["incoming envelope"],u:"1f4e8",a:"0.6"},{n:["envelope with arrow","envelope with downwards arrow above"],u:"1f4e9",a:"0.6"},{n:["outbox tray"],u:"1f4e4",a:"0.6"},{n:["inbox tray"],u:"1f4e5",a:"0.6"},{n:["package"],u:"1f4e6",a:"0.6"},{n:["mailbox","closed mailbox with raised flag"],u:"1f4eb",a:"0.6"},{n:["mailbox closed","closed mailbox with lowered flag"],u:"1f4ea",a:"0.6"},{n:["mailbox with mail","open mailbox with raised flag"],u:"1f4ec",a:"0.7"},{n:["mailbox with no mail","open mailbox with lowered flag"],u:"1f4ed",a:"0.7"},{n:["postbox"],u:"1f4ee",a:"0.6"},{n:["ballot box with ballot"],u:"1f5f3-fe0f",a:"0.7"},{n:["pencil","pencil2"],u:"270f-fe0f",a:"0.6"},{n:["black nib"],u:"2712-fe0f",a:"0.6"},{n:["fountain pen","lower left fountain pen"],u:"1f58b-fe0f",a:"0.7"},{n:["pen","lower left ballpoint pen"],u:"1f58a-fe0f",a:"0.7"},{n:["paintbrush","lower left paintbrush"],u:"1f58c-fe0f",a:"0.7"},{n:["crayon","lower left crayon"],u:"1f58d-fe0f",a:"0.7"},{n:["memo","pencil"],u:"1f4dd",a:"0.6"},{n:["briefcase"],u:"1f4bc",a:"0.6"},{n:["file folder"],u:"1f4c1",a:"0.6"},{n:["open file folder"],u:"1f4c2",a:"0.6"},{n:["card index dividers"],u:"1f5c2-fe0f",a:"0.7"},{n:["date","calendar"],u:"1f4c5",a:"0.6"},{n:["calendar","tear-off calendar"],u:"1f4c6",a:"0.6"},{n:["spiral notepad","spiral note pad"],u:"1f5d2-fe0f",a:"0.7"},{n:["spiral calendar","spiral calendar pad"],u:"1f5d3-fe0f",a:"0.7"},{n:["card index"],u:"1f4c7",a:"0.6"},{n:["chart with upwards trend"],u:"1f4c8",a:"0.6"},{n:["chart with downwards trend"],u:"1f4c9",a:"0.6"},{n:["bar chart"],u:"1f4ca",a:"0.6"},{n:["clipboard"],u:"1f4cb",a:"0.6"},{n:["pushpin"],u:"1f4cc",a:"0.6"},{n:["round pushpin"],u:"1f4cd",a:"0.6"},{n:["paperclip"],u:"1f4ce",a:"0.6"},{n:["linked paperclips"],u:"1f587-fe0f",a:"0.7"},{n:["straight ruler"],u:"1f4cf",a:"0.6"},{n:["triangular ruler"],u:"1f4d0",a:"0.6"},{n:["scissors","black scissors"],u:"2702-fe0f",a:"0.6"},{n:["card file box"],u:"1f5c3-fe0f",a:"0.7"},{n:["file cabinet"],u:"1f5c4-fe0f",a:"0.7"},{n:["wastebasket"],u:"1f5d1-fe0f",a:"0.7"},{n:["lock"],u:"1f512",a:"0.6"},{n:["unlock","open lock"],u:"1f513",a:"0.6"},{n:["lock with ink pen"],u:"1f50f",a:"0.6"},{n:["closed lock with key"],u:"1f510",a:"0.6"},{n:["key"],u:"1f511",a:"0.6"},{n:["old key"],u:"1f5dd-fe0f",a:"0.7"},{n:["hammer"],u:"1f528",a:"0.6"},{n:["axe"],u:"1fa93",a:"12.0"},{n:["pick"],u:"26cf-fe0f",a:"0.7"},{n:["hammer and pick"],u:"2692-fe0f",a:"1.0"},{n:["hammer and wrench"],u:"1f6e0-fe0f",a:"0.7"},{n:["dagger","dagger knife"],u:"1f5e1-fe0f",a:"0.7"},{n:["crossed swords"],u:"2694-fe0f",a:"1.0"},{n:["gun","pistol"],u:"1f52b",a:"0.6"},{n:["boomerang"],u:"1fa83",a:"13.0"},{n:["bow and arrow"],u:"1f3f9",a:"1.0"},{n:["shield"],u:"1f6e1-fe0f",a:"0.7"},{n:["carpentry saw"],u:"1fa9a",a:"13.0"},{n:["wrench"],u:"1f527",a:"0.6"},{n:["screwdriver"],u:"1fa9b",a:"13.0"},{n:["nut and bolt"],u:"1f529",a:"0.6"},{n:["gear"],u:"2699-fe0f",a:"1.0"},{n:["clamp","compression"],u:"1f5dc-fe0f",a:"0.7"},{n:["scales","balance scale"],u:"2696-fe0f",a:"1.0"},{n:["probing cane"],u:"1f9af",a:"12.0"},{n:["link","link symbol"],u:"1f517",a:"0.6"},{n:["chains"],u:"26d3-fe0f",a:"0.7"},{n:["hook"],u:"1fa9d",a:"13.0"},{n:["toolbox"],u:"1f9f0",a:"11.0"},{n:["magnet"],u:"1f9f2",a:"11.0"},{n:["ladder"],u:"1fa9c",a:"13.0"},{n:["alembic"],u:"2697-fe0f",a:"1.0"},{n:["test tube"],u:"1f9ea",a:"11.0"},{n:["petri dish"],u:"1f9eb",a:"11.0"},{n:["dna","dna double helix"],u:"1f9ec",a:"11.0"},{n:["microscope"],u:"1f52c",a:"1.0"},{n:["telescope"],u:"1f52d",a:"1.0"},{n:["satellite antenna"],u:"1f4e1",a:"0.6"},{n:["syringe"],u:"1f489",a:"0.6"},{n:["drop of blood"],u:"1fa78",a:"12.0"},{n:["pill"],u:"1f48a",a:"0.6"},{n:["adhesive bandage"],u:"1fa79",a:"12.0"},{n:["crutch"],u:"1fa7c",a:"14.0"},{n:["stethoscope"],u:"1fa7a",a:"12.0"},{n:["x-ray"],u:"1fa7b",a:"14.0"},{n:["door"],u:"1f6aa",a:"0.6"},{n:["elevator"],u:"1f6d7",a:"13.0"},{n:["mirror"],u:"1fa9e",a:"13.0"},{n:["window"],u:"1fa9f",a:"13.0"},{n:["bed"],u:"1f6cf-fe0f",a:"0.7"},{n:["couch and lamp"],u:"1f6cb-fe0f",a:"0.7"},{n:["chair"],u:"1fa91",a:"12.0"},{n:["toilet"],u:"1f6bd",a:"0.6"},{n:["plunger"],u:"1faa0",a:"13.0"},{n:["shower"],u:"1f6bf",a:"1.0"},{n:["bathtub"],u:"1f6c1",a:"1.0"},{n:["mouse trap"],u:"1faa4",a:"13.0"},{n:["razor"],u:"1fa92",a:"12.0"},{n:["lotion bottle"],u:"1f9f4",a:"11.0"},{n:["safety pin"],u:"1f9f7",a:"11.0"},{n:["broom"],u:"1f9f9",a:"11.0"},{n:["basket"],u:"1f9fa",a:"11.0"},{n:["roll of paper"],u:"1f9fb",a:"11.0"},{n:["bucket"],u:"1faa3",a:"13.0"},{n:["soap","bar of soap"],u:"1f9fc",a:"11.0"},{n:["bubbles"],u:"1fae7",a:"14.0"},{n:["toothbrush"],u:"1faa5",a:"13.0"},{n:["sponge"],u:"1f9fd",a:"11.0"},{n:["fire extinguisher"],u:"1f9ef",a:"11.0"},{n:["shopping trolley"],u:"1f6d2",a:"3.0"},{n:["smoking","smoking symbol"],u:"1f6ac",a:"0.6"},{n:["coffin"],u:"26b0-fe0f",a:"1.0"},{n:["headstone"],u:"1faa6",a:"13.0"},{n:["funeral urn"],u:"26b1-fe0f",a:"1.0"},{n:["moyai"],u:"1f5ff",a:"0.6"},{n:["placard"],u:"1faa7",a:"13.0"},{n:["identification card"],u:"1faaa",a:"14.0"}],mSe=[{n:["atm","automated teller machine"],u:"1f3e7",a:"0.6"},{n:["put litter in its place","put litter in its place symbol"],u:"1f6ae",a:"1.0"},{n:["potable water","potable water symbol"],u:"1f6b0",a:"1.0"},{n:["wheelchair","wheelchair symbol"],u:"267f",a:"0.6"},{n:["mens","mens symbol"],u:"1f6b9",a:"0.6"},{n:["womens","womens symbol"],u:"1f6ba",a:"0.6"},{n:["restroom"],u:"1f6bb",a:"0.6"},{n:["baby symbol"],u:"1f6bc",a:"0.6"},{n:["wc","water closet"],u:"1f6be",a:"0.6"},{n:["passport control"],u:"1f6c2",a:"1.0"},{n:["customs"],u:"1f6c3",a:"1.0"},{n:["baggage claim"],u:"1f6c4",a:"1.0"},{n:["left luggage"],u:"1f6c5",a:"1.0"},{n:["warning","warning sign"],u:"26a0-fe0f",a:"0.6"},{n:["children crossing"],u:"1f6b8",a:"1.0"},{n:["no entry"],u:"26d4",a:"0.6"},{n:["no entry sign"],u:"1f6ab",a:"0.6"},{n:["no bicycles"],u:"1f6b3",a:"1.0"},{n:["no smoking","no smoking symbol"],u:"1f6ad",a:"0.6"},{n:["do not litter","do not litter symbol"],u:"1f6af",a:"1.0"},{n:["non-potable water","non-potable water symbol"],u:"1f6b1",a:"1.0"},{n:["no pedestrians"],u:"1f6b7",a:"1.0"},{n:["no mobile phones"],u:"1f4f5",a:"1.0"},{n:["underage","no one under eighteen symbol"],u:"1f51e",a:"0.6"},{n:["radioactive","radioactive sign"],u:"2622-fe0f",a:"1.0"},{n:["biohazard","biohazard sign"],u:"2623-fe0f",a:"1.0"},{n:["arrow up","upwards black arrow"],u:"2b06-fe0f",a:"0.6"},{n:["north east arrow","arrow upper right"],u:"2197-fe0f",a:"0.6"},{n:["arrow right","black rightwards arrow"],u:"27a1-fe0f",a:"0.6"},{n:["south east arrow","arrow lower right"],u:"2198-fe0f",a:"0.6"},{n:["arrow down","downwards black arrow"],u:"2b07-fe0f",a:"0.6"},{n:["south west arrow","arrow lower left"],u:"2199-fe0f",a:"0.6"},{n:["arrow left","leftwards black arrow"],u:"2b05-fe0f",a:"0.6"},{n:["north west arrow","arrow upper left"],u:"2196-fe0f",a:"0.6"},{n:["up down arrow","arrow up down"],u:"2195-fe0f",a:"0.6"},{n:["left right arrow"],u:"2194-fe0f",a:"0.6"},{n:["leftwards arrow with hook"],u:"21a9-fe0f",a:"0.6"},{n:["arrow right hook","rightwards arrow with hook"],u:"21aa-fe0f",a:"0.6"},{n:["arrow heading up","arrow pointing rightwards then curving upwards"],u:"2934-fe0f",a:"0.6"},{n:["arrow heading down","arrow pointing rightwards then curving downwards"],u:"2935-fe0f",a:"0.6"},{n:["arrows clockwise","clockwise downwards and upwards open circle arrows"],u:"1f503",a:"0.6"},{n:["arrows counterclockwise","anticlockwise downwards and upwards open circle arrows"],u:"1f504",a:"1.0"},{n:["back","back with leftwards arrow above"],u:"1f519",a:"0.6"},{n:["end","end with leftwards arrow above"],u:"1f51a",a:"0.6"},{n:["on","on with exclamation mark with left right arrow above"],u:"1f51b",a:"0.6"},{n:["soon","soon with rightwards arrow above"],u:"1f51c",a:"0.6"},{n:["top","top with upwards arrow above"],u:"1f51d",a:"0.6"},{n:["place of worship"],u:"1f6d0",a:"1.0"},{n:["atom symbol"],u:"269b-fe0f",a:"1.0"},{n:["om","om symbol"],u:"1f549-fe0f",a:"0.7"},{n:["star of david"],u:"2721-fe0f",a:"0.7"},{n:["wheel of dharma"],u:"2638-fe0f",a:"0.7"},{n:["yin yang"],u:"262f-fe0f",a:"0.7"},{n:["latin cross"],u:"271d-fe0f",a:"0.7"},{n:["orthodox cross"],u:"2626-fe0f",a:"1.0"},{n:["star and crescent"],u:"262a-fe0f",a:"0.7"},{n:["peace symbol"],u:"262e-fe0f",a:"1.0"},{n:["menorah with nine branches"],u:"1f54e",a:"1.0"},{n:["six pointed star","six pointed star with middle dot"],u:"1f52f",a:"0.6"},{n:["aries"],u:"2648",a:"0.6"},{n:["taurus"],u:"2649",a:"0.6"},{n:["gemini"],u:"264a",a:"0.6"},{n:["cancer"],u:"264b",a:"0.6"},{n:["leo"],u:"264c",a:"0.6"},{n:["virgo"],u:"264d",a:"0.6"},{n:["libra"],u:"264e",a:"0.6"},{n:["scorpius"],u:"264f",a:"0.6"},{n:["sagittarius"],u:"2650",a:"0.6"},{n:["capricorn"],u:"2651",a:"0.6"},{n:["aquarius"],u:"2652",a:"0.6"},{n:["pisces"],u:"2653",a:"0.6"},{n:["ophiuchus"],u:"26ce",a:"0.6"},{n:["twisted rightwards arrows"],u:"1f500",a:"1.0"},{n:["repeat","clockwise rightwards and leftwards open circle arrows"],u:"1f501",a:"1.0"},{n:["repeat one","clockwise rightwards and leftwards open circle arrows with circled one overlay"],u:"1f502",a:"1.0"},{n:["arrow forward","black right-pointing triangle"],u:"25b6-fe0f",a:"0.6"},{n:["fast forward","black right-pointing double triangle"],u:"23e9",a:"0.6"},{n:["next track button","black right pointing double triangle with vertical bar"],u:"23ed-fe0f",a:"0.7"},{n:["play or pause button","black right pointing triangle with double vertical bar"],u:"23ef-fe0f",a:"1.0"},{n:["arrow backward","black left-pointing triangle"],u:"25c0-fe0f",a:"0.6"},{n:["rewind","black left-pointing double triangle"],u:"23ea",a:"0.6"},{n:["last track button","black left pointing double triangle with vertical bar"],u:"23ee-fe0f",a:"0.7"},{n:["arrow up small","up-pointing small red triangle"],u:"1f53c",a:"0.6"},{n:["arrow double up","black up-pointing double triangle"],u:"23eb",a:"0.6"},{n:["arrow down small","down-pointing small red triangle"],u:"1f53d",a:"0.6"},{n:["arrow double down","black down-pointing double triangle"],u:"23ec",a:"0.6"},{n:["pause button","double vertical bar"],u:"23f8-fe0f",a:"0.7"},{n:["stop button","black square for stop"],u:"23f9-fe0f",a:"0.7"},{n:["record button","black circle for record"],u:"23fa-fe0f",a:"0.7"},{n:["eject","eject button"],u:"23cf-fe0f",a:"1.0"},{n:["cinema"],u:"1f3a6",a:"0.6"},{n:["low brightness","low brightness symbol"],u:"1f505",a:"1.0"},{n:["high brightness","high brightness symbol"],u:"1f506",a:"1.0"},{n:["signal strength","antenna with bars"],u:"1f4f6",a:"0.6"},{n:["vibration mode"],u:"1f4f3",a:"0.6"},{n:["mobile phone off"],u:"1f4f4",a:"0.6"},{n:["female sign"],u:"2640-fe0f",a:"4.0"},{n:["male sign"],u:"2642-fe0f",a:"4.0"},{n:["transgender symbol"],u:"26a7-fe0f",a:"13.0"},{n:["heavy multiplication x"],u:"2716-fe0f",a:"0.6"},{n:["heavy plus sign"],u:"2795",a:"0.6"},{n:["heavy minus sign"],u:"2796",a:"0.6"},{n:["heavy division sign"],u:"2797",a:"0.6"},{n:["heavy equals sign"],u:"1f7f0",a:"14.0"},{n:["infinity"],u:"267e-fe0f",a:"11.0"},{n:["bangbang","double exclamation mark"],u:"203c-fe0f",a:"0.6"},{n:["interrobang","exclamation question mark"],u:"2049-fe0f",a:"0.6"},{n:["question","black question mark ornament"],u:"2753",a:"0.6"},{n:["grey question","white question mark ornament"],u:"2754",a:"0.6"},{n:["grey exclamation","white exclamation mark ornament"],u:"2755",a:"0.6"},{n:["exclamation","heavy exclamation mark","heavy exclamation mark symbol"],u:"2757",a:"0.6"},{n:["wavy dash"],u:"3030-fe0f",a:"0.6"},{n:["currency exchange"],u:"1f4b1",a:"0.6"},{n:["heavy dollar sign"],u:"1f4b2",a:"0.6"},{n:["medical symbol","staff of aesculapius"],u:"2695-fe0f",a:"4.0"},{n:["recycle","black universal recycling symbol"],u:"267b-fe0f",a:"0.6"},{n:["fleur-de-lis","fleur de lis"],u:"269c-fe0f",a:"1.0"},{n:["trident","trident emblem"],u:"1f531",a:"0.6"},{n:["name badge"],u:"1f4db",a:"0.6"},{n:["beginner","japanese symbol for beginner"],u:"1f530",a:"0.6"},{n:["o","heavy large circle"],u:"2b55",a:"0.6"},{n:["white check mark","white heavy check mark"],u:"2705",a:"0.6"},{n:["ballot box with check"],u:"2611-fe0f",a:"0.6"},{n:["heavy check mark"],u:"2714-fe0f",a:"0.6"},{n:["x","cross mark"],u:"274c",a:"0.6"},{n:["negative squared cross mark"],u:"274e",a:"0.6"},{n:["curly loop"],u:"27b0",a:"0.6"},{n:["loop","double curly loop"],u:"27bf",a:"1.0"},{n:["part alternation mark"],u:"303d-fe0f",a:"0.6"},{n:["eight spoked asterisk"],u:"2733-fe0f",a:"0.6"},{n:["eight pointed black star"],u:"2734-fe0f",a:"0.6"},{n:["sparkle"],u:"2747-fe0f",a:"0.6"},{n:["copyright","copyright sign"],u:"00a9-fe0f",a:"0.6"},{n:["registered","registered sign"],u:"00ae-fe0f",a:"0.6"},{n:["tm","trade mark sign"],u:"2122-fe0f",a:"0.6"},{n:["hash","hash key"],u:"0023-fe0f-20e3",a:"0.6"},{n:["keycap: *","keycap star"],u:"002a-fe0f-20e3",a:"2.0"},{n:["zero","keycap 0"],u:"0030-fe0f-20e3",a:"0.6"},{n:["one","keycap 1"],u:"0031-fe0f-20e3",a:"0.6"},{n:["two","keycap 2"],u:"0032-fe0f-20e3",a:"0.6"},{n:["three","keycap 3"],u:"0033-fe0f-20e3",a:"0.6"},{n:["four","keycap 4"],u:"0034-fe0f-20e3",a:"0.6"},{n:["five","keycap 5"],u:"0035-fe0f-20e3",a:"0.6"},{n:["six","keycap 6"],u:"0036-fe0f-20e3",a:"0.6"},{n:["seven","keycap 7"],u:"0037-fe0f-20e3",a:"0.6"},{n:["eight","keycap 8"],u:"0038-fe0f-20e3",a:"0.6"},{n:["nine","keycap 9"],u:"0039-fe0f-20e3",a:"0.6"},{n:["keycap ten"],u:"1f51f",a:"0.6"},{n:["capital abcd","input symbol for latin capital letters"],u:"1f520",a:"0.6"},{n:["abcd","input symbol for latin small letters"],u:"1f521",a:"0.6"},{n:["1234","input symbol for numbers"],u:"1f522",a:"0.6"},{n:["symbols","input symbol for symbols"],u:"1f523",a:"0.6"},{n:["abc","input symbol for latin letters"],u:"1f524",a:"0.6"},{n:["a","negative squared latin capital letter a"],u:"1f170-fe0f",a:"0.6"},{n:["ab","negative squared ab"],u:"1f18e",a:"0.6"},{n:["b","negative squared latin capital letter b"],u:"1f171-fe0f",a:"0.6"},{n:["cl","squared cl"],u:"1f191",a:"0.6"},{n:["cool","squared cool"],u:"1f192",a:"0.6"},{n:["free","squared free"],u:"1f193",a:"0.6"},{n:["information source"],u:"2139-fe0f",a:"0.6"},{n:["id","squared id"],u:"1f194",a:"0.6"},{n:["m","circled latin capital letter m"],u:"24c2-fe0f",a:"0.6"},{n:["new","squared new"],u:"1f195",a:"0.6"},{n:["ng","squared ng"],u:"1f196",a:"0.6"},{n:["o2","negative squared latin capital letter o"],u:"1f17e-fe0f",a:"0.6"},{n:["ok","squared ok"],u:"1f197",a:"0.6"},{n:["parking","negative squared latin capital letter p"],u:"1f17f-fe0f",a:"0.6"},{n:["sos","squared sos"],u:"1f198",a:"0.6"},{n:["up","squared up with exclamation mark"],u:"1f199",a:"0.6"},{n:["vs","squared vs"],u:"1f19a",a:"0.6"},{n:["koko","squared katakana koko"],u:"1f201",a:"0.6"},{n:["sa","squared katakana sa"],u:"1f202-fe0f",a:"0.6"},{n:["u6708","squared cjk unified ideograph-6708"],u:"1f237-fe0f",a:"0.6"},{n:["u6709","squared cjk unified ideograph-6709"],u:"1f236",a:"0.6"},{n:["u6307","squared cjk unified ideograph-6307"],u:"1f22f",a:"0.6"},{n:["ideograph advantage","circled ideograph advantage"],u:"1f250",a:"0.6"},{n:["u5272","squared cjk unified ideograph-5272"],u:"1f239",a:"0.6"},{n:["u7121","squared cjk unified ideograph-7121"],u:"1f21a",a:"0.6"},{n:["u7981","squared cjk unified ideograph-7981"],u:"1f232",a:"0.6"},{n:["accept","circled ideograph accept"],u:"1f251",a:"0.6"},{n:["u7533","squared cjk unified ideograph-7533"],u:"1f238",a:"0.6"},{n:["u5408","squared cjk unified ideograph-5408"],u:"1f234",a:"0.6"},{n:["u7a7a","squared cjk unified ideograph-7a7a"],u:"1f233",a:"0.6"},{n:["congratulations","circled ideograph congratulation"],u:"3297-fe0f",a:"0.6"},{n:["secret","circled ideograph secret"],u:"3299-fe0f",a:"0.6"},{n:["u55b6","squared cjk unified ideograph-55b6"],u:"1f23a",a:"0.6"},{n:["u6e80","squared cjk unified ideograph-6e80"],u:"1f235",a:"0.6"},{n:["red circle","large red circle"],u:"1f534",a:"0.6"},{n:["large orange circle"],u:"1f7e0",a:"12.0"},{n:["large yellow circle"],u:"1f7e1",a:"12.0"},{n:["large green circle"],u:"1f7e2",a:"12.0"},{n:["large blue circle"],u:"1f535",a:"0.6"},{n:["large purple circle"],u:"1f7e3",a:"12.0"},{n:["large brown circle"],u:"1f7e4",a:"12.0"},{n:["black circle","medium black circle"],u:"26ab",a:"0.6"},{n:["white circle","medium white circle"],u:"26aa",a:"0.6"},{n:["large red square"],u:"1f7e5",a:"12.0"},{n:["large orange square"],u:"1f7e7",a:"12.0"},{n:["large yellow square"],u:"1f7e8",a:"12.0"},{n:["large green square"],u:"1f7e9",a:"12.0"},{n:["large blue square"],u:"1f7e6",a:"12.0"},{n:["large purple square"],u:"1f7ea",a:"12.0"},{n:["large brown square"],u:"1f7eb",a:"12.0"},{n:["black large square"],u:"2b1b",a:"0.6"},{n:["white large square"],u:"2b1c",a:"0.6"},{n:["black medium square"],u:"25fc-fe0f",a:"0.6"},{n:["white medium square"],u:"25fb-fe0f",a:"0.6"},{n:["black medium small square"],u:"25fe",a:"0.6"},{n:["white medium small square"],u:"25fd",a:"0.6"},{n:["black small square"],u:"25aa-fe0f",a:"0.6"},{n:["white small square"],u:"25ab-fe0f",a:"0.6"},{n:["large orange diamond"],u:"1f536",a:"0.6"},{n:["large blue diamond"],u:"1f537",a:"0.6"},{n:["small orange diamond"],u:"1f538",a:"0.6"},{n:["small blue diamond"],u:"1f539",a:"0.6"},{n:["small red triangle","up-pointing red triangle"],u:"1f53a",a:"0.6"},{n:["small red triangle down","down-pointing red triangle"],u:"1f53b",a:"0.6"},{n:["diamond shape with a dot inside"],u:"1f4a0",a:"0.6"},{n:["radio button"],u:"1f518",a:"0.6"},{n:["white square button"],u:"1f533",a:"0.6"},{n:["black square button"],u:"1f532",a:"0.6"}],gSe=[{n:["chequered flag","checkered flag"],u:"1f3c1",a:"0.6"},{n:["triangular flag on post"],u:"1f6a9",a:"0.6"},{n:["crossed flags"],u:"1f38c",a:"0.6"},{n:["waving black flag"],u:"1f3f4",a:"1.0"},{n:["white flag","waving white flag"],u:"1f3f3-fe0f",a:"0.7"},{n:["rainbow flag","rainbow-flag"],u:"1f3f3-fe0f-200d-1f308",a:"4.0"},{n:["transgender flag"],u:"1f3f3-fe0f-200d-26a7-fe0f",a:"13.0"},{n:["pirate flag"],u:"1f3f4-200d-2620-fe0f",a:"11.0"},{n:["flag-ac","ascension island flag"],u:"1f1e6-1f1e8",a:"2.0"},{n:["flag-ad","andorra flag"],u:"1f1e6-1f1e9",a:"2.0"},{n:["flag-ae","united arab emirates flag"],u:"1f1e6-1f1ea",a:"2.0"},{n:["flag-af","afghanistan flag"],u:"1f1e6-1f1eb",a:"2.0"},{n:["flag-ag","antigua & barbuda flag"],u:"1f1e6-1f1ec",a:"2.0"},{n:["flag-ai","anguilla flag"],u:"1f1e6-1f1ee",a:"2.0"},{n:["flag-al","albania flag"],u:"1f1e6-1f1f1",a:"2.0"},{n:["flag-am","armenia flag"],u:"1f1e6-1f1f2",a:"2.0"},{n:["flag-ao","angola flag"],u:"1f1e6-1f1f4",a:"2.0"},{n:["flag-aq","antarctica flag"],u:"1f1e6-1f1f6",a:"2.0"},{n:["flag-ar","argentina flag"],u:"1f1e6-1f1f7",a:"2.0"},{n:["flag-as","american samoa flag"],u:"1f1e6-1f1f8",a:"2.0"},{n:["flag-at","austria flag"],u:"1f1e6-1f1f9",a:"2.0"},{n:["flag-au","australia flag"],u:"1f1e6-1f1fa",a:"2.0"},{n:["flag-aw","aruba flag"],u:"1f1e6-1f1fc",a:"2.0"},{n:["flag-ax","åland islands flag"],u:"1f1e6-1f1fd",a:"2.0"},{n:["flag-az","azerbaijan flag"],u:"1f1e6-1f1ff",a:"2.0"},{n:["flag-ba","bosnia & herzegovina flag"],u:"1f1e7-1f1e6",a:"2.0"},{n:["flag-bb","barbados flag"],u:"1f1e7-1f1e7",a:"2.0"},{n:["flag-bd","bangladesh flag"],u:"1f1e7-1f1e9",a:"2.0"},{n:["flag-be","belgium flag"],u:"1f1e7-1f1ea",a:"2.0"},{n:["flag-bf","burkina faso flag"],u:"1f1e7-1f1eb",a:"2.0"},{n:["flag-bg","bulgaria flag"],u:"1f1e7-1f1ec",a:"2.0"},{n:["flag-bh","bahrain flag"],u:"1f1e7-1f1ed",a:"2.0"},{n:["flag-bi","burundi flag"],u:"1f1e7-1f1ee",a:"2.0"},{n:["flag-bj","benin flag"],u:"1f1e7-1f1ef",a:"2.0"},{n:["flag-bl","st. barthélemy flag"],u:"1f1e7-1f1f1",a:"2.0"},{n:["flag-bm","bermuda flag"],u:"1f1e7-1f1f2",a:"2.0"},{n:["flag-bn","brunei flag"],u:"1f1e7-1f1f3",a:"2.0"},{n:["flag-bo","bolivia flag"],u:"1f1e7-1f1f4",a:"2.0"},{n:["flag-bq","caribbean netherlands flag"],u:"1f1e7-1f1f6",a:"2.0"},{n:["flag-br","brazil flag"],u:"1f1e7-1f1f7",a:"2.0"},{n:["flag-bs","bahamas flag"],u:"1f1e7-1f1f8",a:"2.0"},{n:["flag-bt","bhutan flag"],u:"1f1e7-1f1f9",a:"2.0"},{n:["flag-bv","bouvet island flag"],u:"1f1e7-1f1fb",a:"2.0"},{n:["flag-bw","botswana flag"],u:"1f1e7-1f1fc",a:"2.0"},{n:["flag-by","belarus flag"],u:"1f1e7-1f1fe",a:"2.0"},{n:["flag-bz","belize flag"],u:"1f1e7-1f1ff",a:"2.0"},{n:["flag-ca","canada flag"],u:"1f1e8-1f1e6",a:"2.0"},{n:["flag-cc","cocos (keeling) islands flag"],u:"1f1e8-1f1e8",a:"2.0"},{n:["flag-cd","congo - kinshasa flag"],u:"1f1e8-1f1e9",a:"2.0"},{n:["flag-cf","central african republic flag"],u:"1f1e8-1f1eb",a:"2.0"},{n:["flag-cg","congo - brazzaville flag"],u:"1f1e8-1f1ec",a:"2.0"},{n:["flag-ch","switzerland flag"],u:"1f1e8-1f1ed",a:"2.0"},{n:["flag-ci","côte d’ivoire flag"],u:"1f1e8-1f1ee",a:"2.0"},{n:["flag-ck","cook islands flag"],u:"1f1e8-1f1f0",a:"2.0"},{n:["flag-cl","chile flag"],u:"1f1e8-1f1f1",a:"2.0"},{n:["flag-cm","cameroon flag"],u:"1f1e8-1f1f2",a:"2.0"},{n:["cn","flag-cn","china flag"],u:"1f1e8-1f1f3",a:"0.6"},{n:["flag-co","colombia flag"],u:"1f1e8-1f1f4",a:"2.0"},{n:["flag-cp","clipperton island flag"],u:"1f1e8-1f1f5",a:"2.0"},{n:["flag-cr","costa rica flag"],u:"1f1e8-1f1f7",a:"2.0"},{n:["flag-cu","cuba flag"],u:"1f1e8-1f1fa",a:"2.0"},{n:["flag-cv","cape verde flag"],u:"1f1e8-1f1fb",a:"2.0"},{n:["flag-cw","curaçao flag"],u:"1f1e8-1f1fc",a:"2.0"},{n:["flag-cx","christmas island flag"],u:"1f1e8-1f1fd",a:"2.0"},{n:["flag-cy","cyprus flag"],u:"1f1e8-1f1fe",a:"2.0"},{n:["flag-cz","czechia flag"],u:"1f1e8-1f1ff",a:"2.0"},{n:["de","flag-de","germany flag"],u:"1f1e9-1f1ea",a:"0.6"},{n:["flag-dg","diego garcia flag"],u:"1f1e9-1f1ec",a:"2.0"},{n:["flag-dj","djibouti flag"],u:"1f1e9-1f1ef",a:"2.0"},{n:["flag-dk","denmark flag"],u:"1f1e9-1f1f0",a:"2.0"},{n:["flag-dm","dominica flag"],u:"1f1e9-1f1f2",a:"2.0"},{n:["flag-do","dominican republic flag"],u:"1f1e9-1f1f4",a:"2.0"},{n:["flag-dz","algeria flag"],u:"1f1e9-1f1ff",a:"2.0"},{n:["flag-ea","ceuta & melilla flag"],u:"1f1ea-1f1e6",a:"2.0"},{n:["flag-ec","ecuador flag"],u:"1f1ea-1f1e8",a:"2.0"},{n:["flag-ee","estonia flag"],u:"1f1ea-1f1ea",a:"2.0"},{n:["flag-eg","egypt flag"],u:"1f1ea-1f1ec",a:"2.0"},{n:["flag-eh","western sahara flag"],u:"1f1ea-1f1ed",a:"2.0"},{n:["flag-er","eritrea flag"],u:"1f1ea-1f1f7",a:"2.0"},{n:["es","flag-es","spain flag"],u:"1f1ea-1f1f8",a:"0.6"},{n:["flag-et","ethiopia flag"],u:"1f1ea-1f1f9",a:"2.0"},{n:["flag-eu","european union flag"],u:"1f1ea-1f1fa",a:"2.0"},{n:["flag-fi","finland flag"],u:"1f1eb-1f1ee",a:"2.0"},{n:["flag-fj","fiji flag"],u:"1f1eb-1f1ef",a:"2.0"},{n:["flag-fk","falkland islands flag"],u:"1f1eb-1f1f0",a:"2.0"},{n:["flag-fm","micronesia flag"],u:"1f1eb-1f1f2",a:"2.0"},{n:["flag-fo","faroe islands flag"],u:"1f1eb-1f1f4",a:"2.0"},{n:["fr","flag-fr","france flag"],u:"1f1eb-1f1f7",a:"0.6"},{n:["flag-ga","gabon flag"],u:"1f1ec-1f1e6",a:"2.0"},{n:["gb","uk","flag-gb","united kingdom flag"],u:"1f1ec-1f1e7",a:"0.6"},{n:["flag-gd","grenada flag"],u:"1f1ec-1f1e9",a:"2.0"},{n:["flag-ge","georgia flag"],u:"1f1ec-1f1ea",a:"2.0"},{n:["flag-gf","french guiana flag"],u:"1f1ec-1f1eb",a:"2.0"},{n:["flag-gg","guernsey flag"],u:"1f1ec-1f1ec",a:"2.0"},{n:["flag-gh","ghana flag"],u:"1f1ec-1f1ed",a:"2.0"},{n:["flag-gi","gibraltar flag"],u:"1f1ec-1f1ee",a:"2.0"},{n:["flag-gl","greenland flag"],u:"1f1ec-1f1f1",a:"2.0"},{n:["flag-gm","gambia flag"],u:"1f1ec-1f1f2",a:"2.0"},{n:["flag-gn","guinea flag"],u:"1f1ec-1f1f3",a:"2.0"},{n:["flag-gp","guadeloupe flag"],u:"1f1ec-1f1f5",a:"2.0"},{n:["flag-gq","equatorial guinea flag"],u:"1f1ec-1f1f6",a:"2.0"},{n:["flag-gr","greece flag"],u:"1f1ec-1f1f7",a:"2.0"},{n:["flag-gs","south georgia & south sandwich islands flag"],u:"1f1ec-1f1f8",a:"2.0"},{n:["flag-gt","guatemala flag"],u:"1f1ec-1f1f9",a:"2.0"},{n:["flag-gu","guam flag"],u:"1f1ec-1f1fa",a:"2.0"},{n:["flag-gw","guinea-bissau flag"],u:"1f1ec-1f1fc",a:"2.0"},{n:["flag-gy","guyana flag"],u:"1f1ec-1f1fe",a:"2.0"},{n:["flag-hk","hong kong sar china flag"],u:"1f1ed-1f1f0",a:"2.0"},{n:["flag-hm","heard & mcdonald islands flag"],u:"1f1ed-1f1f2",a:"2.0"},{n:["flag-hn","honduras flag"],u:"1f1ed-1f1f3",a:"2.0"},{n:["flag-hr","croatia flag"],u:"1f1ed-1f1f7",a:"2.0"},{n:["flag-ht","haiti flag"],u:"1f1ed-1f1f9",a:"2.0"},{n:["flag-hu","hungary flag"],u:"1f1ed-1f1fa",a:"2.0"},{n:["flag-ic","canary islands flag"],u:"1f1ee-1f1e8",a:"2.0"},{n:["flag-id","indonesia flag"],u:"1f1ee-1f1e9",a:"2.0"},{n:["flag-ie","ireland flag"],u:"1f1ee-1f1ea",a:"2.0"},{n:["flag-il","israel flag"],u:"1f1ee-1f1f1",a:"2.0"},{n:["flag-im","isle of man flag"],u:"1f1ee-1f1f2",a:"2.0"},{n:["flag-in","india flag"],u:"1f1ee-1f1f3",a:"2.0"},{n:["flag-io","british indian ocean territory flag"],u:"1f1ee-1f1f4",a:"2.0"},{n:["flag-iq","iraq flag"],u:"1f1ee-1f1f6",a:"2.0"},{n:["flag-ir","iran flag"],u:"1f1ee-1f1f7",a:"2.0"},{n:["flag-is","iceland flag"],u:"1f1ee-1f1f8",a:"2.0"},{n:["it","flag-it","italy flag"],u:"1f1ee-1f1f9",a:"0.6"},{n:["flag-je","jersey flag"],u:"1f1ef-1f1ea",a:"2.0"},{n:["flag-jm","jamaica flag"],u:"1f1ef-1f1f2",a:"2.0"},{n:["flag-jo","jordan flag"],u:"1f1ef-1f1f4",a:"2.0"},{n:["jp","flag-jp","japan flag"],u:"1f1ef-1f1f5",a:"0.6"},{n:["flag-ke","kenya flag"],u:"1f1f0-1f1ea",a:"2.0"},{n:["flag-kg","kyrgyzstan flag"],u:"1f1f0-1f1ec",a:"2.0"},{n:["flag-kh","cambodia flag"],u:"1f1f0-1f1ed",a:"2.0"},{n:["flag-ki","kiribati flag"],u:"1f1f0-1f1ee",a:"2.0"},{n:["flag-km","comoros flag"],u:"1f1f0-1f1f2",a:"2.0"},{n:["flag-kn","st. kitts & nevis flag"],u:"1f1f0-1f1f3",a:"2.0"},{n:["flag-kp","north korea flag"],u:"1f1f0-1f1f5",a:"2.0"},{n:["kr","flag-kr","south korea flag"],u:"1f1f0-1f1f7",a:"0.6"},{n:["flag-kw","kuwait flag"],u:"1f1f0-1f1fc",a:"2.0"},{n:["flag-ky","cayman islands flag"],u:"1f1f0-1f1fe",a:"2.0"},{n:["flag-kz","kazakhstan flag"],u:"1f1f0-1f1ff",a:"2.0"},{n:["flag-la","laos flag"],u:"1f1f1-1f1e6",a:"2.0"},{n:["flag-lb","lebanon flag"],u:"1f1f1-1f1e7",a:"2.0"},{n:["flag-lc","st. lucia flag"],u:"1f1f1-1f1e8",a:"2.0"},{n:["flag-li","liechtenstein flag"],u:"1f1f1-1f1ee",a:"2.0"},{n:["flag-lk","sri lanka flag"],u:"1f1f1-1f1f0",a:"2.0"},{n:["flag-lr","liberia flag"],u:"1f1f1-1f1f7",a:"2.0"},{n:["flag-ls","lesotho flag"],u:"1f1f1-1f1f8",a:"2.0"},{n:["flag-lt","lithuania flag"],u:"1f1f1-1f1f9",a:"2.0"},{n:["flag-lu","luxembourg flag"],u:"1f1f1-1f1fa",a:"2.0"},{n:["flag-lv","latvia flag"],u:"1f1f1-1f1fb",a:"2.0"},{n:["flag-ly","libya flag"],u:"1f1f1-1f1fe",a:"2.0"},{n:["flag-ma","morocco flag"],u:"1f1f2-1f1e6",a:"2.0"},{n:["flag-mc","monaco flag"],u:"1f1f2-1f1e8",a:"2.0"},{n:["flag-md","moldova flag"],u:"1f1f2-1f1e9",a:"2.0"},{n:["flag-me","montenegro flag"],u:"1f1f2-1f1ea",a:"2.0"},{n:["flag-mf","st. martin flag"],u:"1f1f2-1f1eb",a:"2.0"},{n:["flag-mg","madagascar flag"],u:"1f1f2-1f1ec",a:"2.0"},{n:["flag-mh","marshall islands flag"],u:"1f1f2-1f1ed",a:"2.0"},{n:["flag-mk","north macedonia flag"],u:"1f1f2-1f1f0",a:"2.0"},{n:["flag-ml","mali flag"],u:"1f1f2-1f1f1",a:"2.0"},{n:["flag-mm","myanmar (burma) flag"],u:"1f1f2-1f1f2",a:"2.0"},{n:["flag-mn","mongolia flag"],u:"1f1f2-1f1f3",a:"2.0"},{n:["flag-mo","macao sar china flag"],u:"1f1f2-1f1f4",a:"2.0"},{n:["flag-mp","northern mariana islands flag"],u:"1f1f2-1f1f5",a:"2.0"},{n:["flag-mq","martinique flag"],u:"1f1f2-1f1f6",a:"2.0"},{n:["flag-mr","mauritania flag"],u:"1f1f2-1f1f7",a:"2.0"},{n:["flag-ms","montserrat flag"],u:"1f1f2-1f1f8",a:"2.0"},{n:["flag-mt","malta flag"],u:"1f1f2-1f1f9",a:"2.0"},{n:["flag-mu","mauritius flag"],u:"1f1f2-1f1fa",a:"2.0"},{n:["flag-mv","maldives flag"],u:"1f1f2-1f1fb",a:"2.0"},{n:["flag-mw","malawi flag"],u:"1f1f2-1f1fc",a:"2.0"},{n:["flag-mx","mexico flag"],u:"1f1f2-1f1fd",a:"2.0"},{n:["flag-my","malaysia flag"],u:"1f1f2-1f1fe",a:"2.0"},{n:["flag-mz","mozambique flag"],u:"1f1f2-1f1ff",a:"2.0"},{n:["flag-na","namibia flag"],u:"1f1f3-1f1e6",a:"2.0"},{n:["flag-nc","new caledonia flag"],u:"1f1f3-1f1e8",a:"2.0"},{n:["flag-ne","niger flag"],u:"1f1f3-1f1ea",a:"2.0"},{n:["flag-nf","norfolk island flag"],u:"1f1f3-1f1eb",a:"2.0"},{n:["flag-ng","nigeria flag"],u:"1f1f3-1f1ec",a:"2.0"},{n:["flag-ni","nicaragua flag"],u:"1f1f3-1f1ee",a:"2.0"},{n:["flag-nl","netherlands flag"],u:"1f1f3-1f1f1",a:"2.0"},{n:["flag-no","norway flag"],u:"1f1f3-1f1f4",a:"2.0"},{n:["flag-np","nepal flag"],u:"1f1f3-1f1f5",a:"2.0"},{n:["flag-nr","nauru flag"],u:"1f1f3-1f1f7",a:"2.0"},{n:["flag-nu","niue flag"],u:"1f1f3-1f1fa",a:"2.0"},{n:["flag-nz","new zealand flag"],u:"1f1f3-1f1ff",a:"2.0"},{n:["flag-om","oman flag"],u:"1f1f4-1f1f2",a:"2.0"},{n:["flag-pa","panama flag"],u:"1f1f5-1f1e6",a:"2.0"},{n:["flag-pe","peru flag"],u:"1f1f5-1f1ea",a:"2.0"},{n:["flag-pf","french polynesia flag"],u:"1f1f5-1f1eb",a:"2.0"},{n:["flag-pg","papua new guinea flag"],u:"1f1f5-1f1ec",a:"2.0"},{n:["flag-ph","philippines flag"],u:"1f1f5-1f1ed",a:"2.0"},{n:["flag-pk","pakistan flag"],u:"1f1f5-1f1f0",a:"2.0"},{n:["flag-pl","poland flag"],u:"1f1f5-1f1f1",a:"2.0"},{n:["flag-pm","st. pierre & miquelon flag"],u:"1f1f5-1f1f2",a:"2.0"},{n:["flag-pn","pitcairn islands flag"],u:"1f1f5-1f1f3",a:"2.0"},{n:["flag-pr","puerto rico flag"],u:"1f1f5-1f1f7",a:"2.0"},{n:["flag-ps","palestinian territories flag"],u:"1f1f5-1f1f8",a:"2.0"},{n:["flag-pt","portugal flag"],u:"1f1f5-1f1f9",a:"2.0"},{n:["flag-pw","palau flag"],u:"1f1f5-1f1fc",a:"2.0"},{n:["flag-py","paraguay flag"],u:"1f1f5-1f1fe",a:"2.0"},{n:["flag-qa","qatar flag"],u:"1f1f6-1f1e6",a:"2.0"},{n:["flag-re","réunion flag"],u:"1f1f7-1f1ea",a:"2.0"},{n:["flag-ro","romania flag"],u:"1f1f7-1f1f4",a:"2.0"},{n:["flag-rs","serbia flag"],u:"1f1f7-1f1f8",a:"2.0"},{n:["ru","flag-ru","russia flag"],u:"1f1f7-1f1fa",a:"0.6"},{n:["flag-rw","rwanda flag"],u:"1f1f7-1f1fc",a:"2.0"},{n:["flag-sa","saudi arabia flag"],u:"1f1f8-1f1e6",a:"2.0"},{n:["flag-sb","solomon islands flag"],u:"1f1f8-1f1e7",a:"2.0"},{n:["flag-sc","seychelles flag"],u:"1f1f8-1f1e8",a:"2.0"},{n:["flag-sd","sudan flag"],u:"1f1f8-1f1e9",a:"2.0"},{n:["flag-se","sweden flag"],u:"1f1f8-1f1ea",a:"2.0"},{n:["flag-sg","singapore flag"],u:"1f1f8-1f1ec",a:"2.0"},{n:["flag-sh","st. helena flag"],u:"1f1f8-1f1ed",a:"2.0"},{n:["flag-si","slovenia flag"],u:"1f1f8-1f1ee",a:"2.0"},{n:["flag-sj","svalbard & jan mayen flag"],u:"1f1f8-1f1ef",a:"2.0"},{n:["flag-sk","slovakia flag"],u:"1f1f8-1f1f0",a:"2.0"},{n:["flag-sl","sierra leone flag"],u:"1f1f8-1f1f1",a:"2.0"},{n:["flag-sm","san marino flag"],u:"1f1f8-1f1f2",a:"2.0"},{n:["flag-sn","senegal flag"],u:"1f1f8-1f1f3",a:"2.0"},{n:["flag-so","somalia flag"],u:"1f1f8-1f1f4",a:"2.0"},{n:["flag-sr","suriname flag"],u:"1f1f8-1f1f7",a:"2.0"},{n:["flag-ss","south sudan flag"],u:"1f1f8-1f1f8",a:"2.0"},{n:["flag-st","são tomé & príncipe flag"],u:"1f1f8-1f1f9",a:"2.0"},{n:["flag-sv","el salvador flag"],u:"1f1f8-1f1fb",a:"2.0"},{n:["flag-sx","sint maarten flag"],u:"1f1f8-1f1fd",a:"2.0"},{n:["flag-sy","syria flag"],u:"1f1f8-1f1fe",a:"2.0"},{n:["flag-sz","eswatini flag"],u:"1f1f8-1f1ff",a:"2.0"},{n:["flag-ta","tristan da cunha flag"],u:"1f1f9-1f1e6",a:"2.0"},{n:["flag-tc","turks & caicos islands flag"],u:"1f1f9-1f1e8",a:"2.0"},{n:["flag-td","chad flag"],u:"1f1f9-1f1e9",a:"2.0"},{n:["flag-tf","french southern territories flag"],u:"1f1f9-1f1eb",a:"2.0"},{n:["flag-tg","togo flag"],u:"1f1f9-1f1ec",a:"2.0"},{n:["flag-th","thailand flag"],u:"1f1f9-1f1ed",a:"2.0"},{n:["flag-tj","tajikistan flag"],u:"1f1f9-1f1ef",a:"2.0"},{n:["flag-tk","tokelau flag"],u:"1f1f9-1f1f0",a:"2.0"},{n:["flag-tl","timor-leste flag"],u:"1f1f9-1f1f1",a:"2.0"},{n:["flag-tm","turkmenistan flag"],u:"1f1f9-1f1f2",a:"2.0"},{n:["flag-tn","tunisia flag"],u:"1f1f9-1f1f3",a:"2.0"},{n:["flag-to","tonga flag"],u:"1f1f9-1f1f4",a:"2.0"},{n:["flag-tr","turkey flag"],u:"1f1f9-1f1f7",a:"2.0"},{n:["flag-tt","trinidad & tobago flag"],u:"1f1f9-1f1f9",a:"2.0"},{n:["flag-tv","tuvalu flag"],u:"1f1f9-1f1fb",a:"2.0"},{n:["flag-tw","taiwan flag"],u:"1f1f9-1f1fc",a:"2.0"},{n:["flag-tz","tanzania flag"],u:"1f1f9-1f1ff",a:"2.0"},{n:["flag-ua","ukraine flag"],u:"1f1fa-1f1e6",a:"2.0"},{n:["flag-ug","uganda flag"],u:"1f1fa-1f1ec",a:"2.0"},{n:["flag-um","u.s. outlying islands flag"],u:"1f1fa-1f1f2",a:"2.0"},{n:["flag-un","united nations flag"],u:"1f1fa-1f1f3",a:"4.0"},{n:["us","flag-us","united states flag"],u:"1f1fa-1f1f8",a:"0.6"},{n:["flag-uy","uruguay flag"],u:"1f1fa-1f1fe",a:"2.0"},{n:["flag-uz","uzbekistan flag"],u:"1f1fa-1f1ff",a:"2.0"},{n:["flag-va","vatican city flag"],u:"1f1fb-1f1e6",a:"2.0"},{n:["flag-vc","st. vincent & grenadines flag"],u:"1f1fb-1f1e8",a:"2.0"},{n:["flag-ve","venezuela flag"],u:"1f1fb-1f1ea",a:"2.0"},{n:["flag-vg","british virgin islands flag"],u:"1f1fb-1f1ec",a:"2.0"},{n:["flag-vi","u.s. virgin islands flag"],u:"1f1fb-1f1ee",a:"2.0"},{n:["flag-vn","vietnam flag"],u:"1f1fb-1f1f3",a:"2.0"},{n:["flag-vu","vanuatu flag"],u:"1f1fb-1f1fa",a:"2.0"},{n:["flag-wf","wallis & futuna flag"],u:"1f1fc-1f1eb",a:"2.0"},{n:["flag-ws","samoa flag"],u:"1f1fc-1f1f8",a:"2.0"},{n:["flag-xk","kosovo flag"],u:"1f1fd-1f1f0",a:"2.0"},{n:["flag-ye","yemen flag"],u:"1f1fe-1f1ea",a:"2.0"},{n:["flag-yt","mayotte flag"],u:"1f1fe-1f1f9",a:"2.0"},{n:["flag-za","south africa flag"],u:"1f1ff-1f1e6",a:"2.0"},{n:["flag-zm","zambia flag"],u:"1f1ff-1f1f2",a:"2.0"},{n:["flag-zw","zimbabwe flag"],u:"1f1ff-1f1fc",a:"2.0"},{n:["england flag","flag-england"],u:"1f3f4-e0067-e0062-e0065-e006e-e0067-e007f",a:"5.0"},{n:["scotland flag","flag-scotland"],u:"1f3f4-e0067-e0062-e0073-e0063-e0074-e007f",a:"5.0"},{n:["wales flag","flag-wales"],u:"1f3f4-e0067-e0062-e0077-e006c-e0073-e007f",a:"5.0"}],Eb={custom:lSe,smileys_people:cSe,animals_nature:uSe,food_drink:fSe,travel_places:dSe,activities:pSe,objects:hSe,symbols:mSe,flags:gSe},Sk=[zl.NEUTRAL,zl.LIGHT,zl.MEDIUM_LIGHT,zl.MEDIUM,zl.MEDIUM_DARK,zl.DARK],ySe=Object.entries(zl).reduce(function(t,e){var n=e[0],r=e[1];return t[r]=n,t},{}),vSe=Sk.reduce(function(t,e){var n;return Object.assign(t,(n={},n[e]=e,n))},{}),$l;(function(t){t.name="n",t.unified="u",t.variations="v",t.added_in="a",t.imgUrl="imgUrl"})($l||($l={}));var Hw={};setTimeout(function(){IC.reduce(function(t,e){return Ite(e),t},Hw)});function Ite(t){var e=F2(t).flat().join("").toLowerCase().replace(/[^a-zA-Z\d]/g,"").split("");e.forEach(function(n){var r;Hw[n]=(r=Hw[n])!=null?r:{},Hw[n][Xa(t)]=t})}function F2(t){var e;return(e=t[$l.name])!=null?e:[]}function wSe(t){return parseFloat(t[$l.added_in])}function U_(t){return t?F2(t)[0]:""}function _T(t){var e=t.split("-"),n=e.splice(1,1),r=n[0];return vSe[r]?e.join("-"):t}function Xa(t,e){var n,r=t[$l.unified];return!e||!Hy(t)?r:(n=xSe(t,e))!=null?n:r}function bSe(t){var e;return(e=Eb==null?void 0:Eb[t])!=null?e:[]}function Ate(t,e){return""+iSe(e)+t+".png"}function B2(t){var e;return(e=t[$l.variations])!=null?e:[]}function Hy(t){return B2(t).length>0}function xSe(t,e){return e?B2(t).find(function(n){return n.includes(e)}):Xa(t)}function iy(t){if(t){if(z0[t])return z0[t];var e=_T(t);return z0[e]}}var IC=Object.values(Eb).flat();function kSe(t){Eb[Zn.CUSTOM].length=0,t.forEach(function(e){var n=jSe(e);Eb[Zn.CUSTOM].push(n),!z0[n[$l.unified]]&&(IC.push(n),z0[n[$l.unified]]=n,Ite(n))})}function jSe(t){var e;return e={},e[$l.name]=t.names.map(function(n){return n.toLowerCase()}),e[$l.unified]=t.id.toLowerCase(),e[$l.added_in]="0",e[$l.imgUrl]=t.imgUrl,e}var z0={};setTimeout(function(){IC.reduce(function(t,e){return t[Xa(e)]=e,Hy(e)&&B2(e).forEach(function(n){t[n]=e}),t},z0)});function CSe(t){var e=t.split("-"),n=e[1];return Sk.includes(n)?n:null}var SSe=["2640-fe0f","2642-fe0f","2695-fe0f"],Ek="Search",ESe="No results found",_te=" found. Use up and down arrow keys to navigate.",NSe="1 result"+_te,ISe="%n results"+_te;function rU(t){var e,n;t===void 0&&(t={});var r=Mte(),o=Object.assign(r.previewConfig,(e=t.previewConfig)!=null?e:{}),s=Object.assign(r,t),a=nSe(t.categories,{suggestionMode:s.suggestedEmojisMode});s.hiddenEmojis.forEach(function(l){s.unicodeToHide.add(l)}),kSe((n=s.customEmojis)!=null?n:[]);var i=s.searchDisabled?hg.PREVIEW:s.skinTonePickerLocation;return So({},s,{categories:a,previewConfig:o,skinTonePickerLocation:i})}function Mte(){return{autoFocusSearch:!0,categories:Ete(),className:"",customEmojis:[],defaultSkinTone:zl.NEUTRAL,emojiStyle:Ci.APPLE,emojiVersion:null,getEmojiUrl:Ate,height:450,lazyLoadEmojis:!1,previewConfig:So({},ASe),searchDisabled:!1,searchPlaceHolder:Ek,searchPlaceholder:Ek,skinTonePickerLocation:hg.SEARCH,skinTonesDisabled:!1,style:{},suggestedEmojisMode:ay.FREQUENT,theme:Vp.LIGHT,unicodeToHide:new Set(SSe),width:350,reactionsDefaultOpen:!1,reactions:XCe,open:!0,allowExpandReactions:!0,hiddenEmojis:[]}}var ASe={defaultEmoji:"1f60a",defaultCaption:"What's your mood?",showPreview:!0},_Se=["children"],Rte=h.createContext(Mte());function MSe(t){var e=t.children,n=jte(t,_Se),r=RSe(n);return h.createElement(Rte.Provider,{value:r},e)}function RSe(t){var e,n=h.useState(function(){return rU(t)}),r=n[0],o=n[1];return h.useEffect(function(){Cte(r,t)||o(rU(t))},[(e=t.customEmojis)==null?void 0:e.length,t.open,t.emojiVersion,t.reactionsDefaultOpen,t.searchPlaceHolder,t.searchPlaceholder,t.defaultSkinTone,t.skinTonesDisabled,t.autoFocusSearch,t.emojiStyle,t.theme,t.suggestedEmojisMode,t.lazyLoadEmojis,t.className,t.height,t.width,t.searchDisabled,t.skinTonePickerLocation,t.allowExpandReactions]),r}function Do(){return h.useContext(Rte)}var Tte=Be.createContext({});function Dte(){var t=Be.useContext(Tte);return t}function TSe(t){var e=Be.useRef({onEmojiClick:t.onEmojiClick||i6,onReactionClick:t.onReactionClick||t.onEmojiClick,onSkinToneChange:t.onSkinToneChange||i6});return Be.useEffect(function(){e.current.onEmojiClick=t.onEmojiClick||i6,e.current.onReactionClick=t.onReactionClick||t.onEmojiClick},[t.onEmojiClick,t.onReactionClick]),Be.useEffect(function(){e.current.onSkinToneChange=t.onSkinToneChange||i6},[t.onSkinToneChange]),e}function i6(){}var Nb;(function(t){t.REACTIONS="reactions",t.PICKER="picker"})(Nb||(Nb={}));function DSe(){var t,e=Do(),n=e.searchPlaceHolder,r=e.searchPlaceholder;return(t=[n,r].find(function(o){return o!==Ek}))!=null?t:Ek}function LSe(){var t=Do(),e=t.defaultSkinTone;return e}function Lte(){var t=Do(),e=t.allowExpandReactions;return e}function Pte(){var t=Do(),e=t.skinTonesDisabled;return e}function Bg(){var t=Do(),e=t.emojiStyle;return e}function PSe(){var t=Do(),e=t.autoFocusSearch;return e}function Ote(){var t=Do(),e=t.categories;return e}function OSe(){var t=Do(),e=t.customEmojis;return e}function zSe(){var t=Do(),e=t.open;return e}function FSe(t){var e,n=Dte(),r=n.current,o=(e=t===Nb.REACTIONS?r.onReactionClick:r.onEmojiClick)!=null?e:r.onEmojiClick;return o||function(){}}function BSe(){var t=Dte(),e=t.current;return e.onSkinToneChange||function(){}}function zte(){var t=Do(),e=t.previewConfig;return e}function USe(){var t=Do(),e=t.theme;return e}function $Se(){var t=Do(),e=t.suggestedEmojisMode;return e}function VSe(){var t=Do(),e=t.lazyLoadEmojis;return e}function HSe(){var t=Do(),e=t.className;return e}function WSe(){var t=Do(),e=t.height,n=t.width,r=t.style;return So({height:oU(e),width:oU(n)},r)}function YSe(){var t=Do(),e=t.reactionsDefaultOpen;return e}function GSe(){var t=Do(),e=t.emojiVersion;return e}function Fte(){var t=Do(),e=t.searchDisabled;return e}function Bte(){var t=Do(),e=t.skinTonePickerLocation;return e}function qSe(){var t=Do(),e=t.unicodeToHide;return e}function KSe(){var t=Do(),e=t.reactions;return e}function Ug(){var t=Do(),e=t.getEmojiUrl;return e}function oU(t){return typeof t=="number"?t+"px":t}function ZSe(t){var e=t>0,n=t>1;return e?n?ISe.replace("%n",t.toString()):NSe:ESe}function sU(t,e){e===void 0&&(e=0);var n=h.useState(t),r=n[0],o=n[1],s=h.useRef(null);function a(i){return new Promise(function(l){var u;s.current&&clearTimeout(s.current),s.current=(u=window)==null?void 0:u.setTimeout(function(){o(i),l(i)},e)})}return[r,a]}function QSe(){var t=qSe();return function(e){return t.has(e)}}function Ute(){var t=h.useRef({}),e=GSe();return h.useMemo(function(){var n=parseFloat(""+e);return!e||Number.isNaN(n)?t.current:IC.reduce(function(r,o){return XSe(o,n)&&(r[Xa(o)]=!0),r},t.current)},[e])}function JSe(){var t=Ute(),e=QSe();return function(r){var o=_T(Xa(r));return!!(t[o]||e(o))}}function XSe(t,e){return wSe(t)>e}function eEe(t){h.useEffect(function(){t(!0)},[t])}function tEe(t){var e=t.children,n=Ute(),r=LSe(),o=YSe(),s=h.useRef(Hw),a=h.useRef(!1),i=h.useRef(!1),l=h.useRef(n),u=sU(Date.now(),200),d=sU("",100),f=h.useState(!1),m=h.useState(r),g=h.useState(null),w=h.useState(new Set),b=h.useState(null),j=h.useState(o),S=h.useState(!1),I=S[0],N=S[1];return eEe(N),h.createElement(sc.Provider,{value:{activeCategoryState:g,activeSkinTone:m,disallowClickRef:a,disallowMouseRef:i,disallowedEmojisRef:l,emojiVariationPickerState:b,emojisThatFailedToLoadState:w,filterRef:s,isPastInitialLoad:I,searchTerm:d,skinToneFanOpenState:f,suggestedUpdateState:u,reactionsModeState:j}},e)}var sc=h.createContext({activeCategoryState:[null,function(){}],activeSkinTone:[zl.NEUTRAL,function(){}],disallowClickRef:{current:!1},disallowMouseRef:{current:!1},disallowedEmojisRef:{current:{}},emojiVariationPickerState:[null,function(){}],emojisThatFailedToLoadState:[new Set,function(){}],filterRef:{current:{}},isPastInitialLoad:!0,searchTerm:["",function(){return new Promise(function(){})}],skinToneFanOpenState:[!1,function(){}],suggestedUpdateState:[Date.now(),function(){}],reactionsModeState:[!1,function(){}]});function MT(){var t=h.useContext(sc),e=t.filterRef;return e}function nEe(){var t=h.useContext(sc),e=t.disallowClickRef;return e}function RT(){var t=h.useContext(sc),e=t.disallowMouseRef;return e}function AC(){var t=h.useContext(sc),e=t.reactionsModeState;return e}function _C(){var t=h.useContext(sc),e=t.searchTerm;return e}function TT(){var t=h.useContext(sc),e=t.activeSkinTone;return e}function $te(){var t=h.useContext(sc),e=t.emojisThatFailedToLoadState;return e}function rEe(){var t=h.useContext(sc),e=t.isPastInitialLoad;return e}function Wy(){var t=h.useContext(sc),e=t.emojiVariationPickerState;return e}function U2(){var t=h.useContext(sc),e=t.skinToneFanOpenState;return e}function Vte(){var t=h.useContext(sc),e=t.suggestedUpdateState,n=e[0],r=e[1];return[n,function(){r(Date.now())}]}function MC(){var t=_C(),e=t[0];return!!e}function gl(t){t&&requestAnimationFrame(function(){t.focus()})}function Hte(t){if(t){var e=t.previousElementSibling;gl(e)}}function Wte(t){if(t){var e=t.nextElementSibling;gl(e)}}function Yte(t){if(t){var e=t.firstElementChild;gl(e)}}function Ib(){return document.activeElement}function oEe(t){var e=t.children,n=h.useRef(null),r=h.useRef(null),o=h.useRef(null),s=h.useRef(null),a=h.useRef(null),i=h.useRef(null),l=h.useRef(null),u=h.useRef(null);return h.createElement(Gte.Provider,{value:{AnchoredEmojiRef:r,BodyRef:o,CategoryNavigationRef:i,PickerMainRef:n,SearchInputRef:s,SkinTonePickerRef:a,VariationPickerRef:l,ReactionsRef:u}},e)}var Gte=h.createContext({AnchoredEmojiRef:h.createRef(),BodyRef:h.createRef(),CategoryNavigationRef:h.createRef(),PickerMainRef:h.createRef(),SearchInputRef:h.createRef(),SkinTonePickerRef:h.createRef(),VariationPickerRef:h.createRef(),ReactionsRef:h.createRef()});function bh(){return h.useContext(Gte)}function $2(){return bh().PickerMainRef}function RC(){return bh().AnchoredEmojiRef}function qte(){var t=RC();return function(e){e===null&&t.current!==null&&gl(t.current),t.current=e}}function ac(){return bh().BodyRef}function sEe(){return bh().ReactionsRef}function xh(){return bh().SearchInputRef}function DT(){return bh().SkinTonePickerRef}function LT(){return bh().CategoryNavigationRef}function aEe(){return bh().VariationPickerRef}function Kte(t,e){e===void 0&&(e=0);var n=une(t);n&&requestAnimationFrame(function(){n.scrollTop=e})}function iEe(t,e){var n=une(t);n&&requestAnimationFrame(function(){n.scrollTop=n.scrollTop+e})}function lEe(){var t=ac();return h.useCallback(function(e){requestAnimationFrame(function(){t.current&&(t.current.scrollTop=e)})},[t])}function TC(t){if(!(!t||!JEe(t))&&!t.closest(Da(Qn.variationPicker))){var e=dne(t),n=fne(t);iEe(e,-(UT(kh(t))-n))}}function DC(t){var e=WT(t);gl(e),TC(e)}function cEe(t){var e=WT(t);gl(e),e==null||e.click()}function uEe(t){gl(gne(t))}function fEe(t){if(t){var e=yne(t);if(!e)return DC(PC(t));gl(e),TC(e)}}function dEe(t){if(t){var e=HT(t);if(!e)return uEe(LC(t));gl(e),TC(e)}}function pEe(t,e){if(t){var n=mEe(t);if(!n)return e();gl(n),TC(n)}}function hEe(t){if(t){var e=gEe(t);return gl(e)}}function mEe(t){if(!t)return null;var e=vne(t),n=kh(e),r=ane(e,t),o=ine(e,t),s=sne(e,t);if(o===0){var a=LC(n);return a?lne(ly(a),-1,s,r):null}return YEe(ly(e),o,s,r)}function gEe(t){if(!t)return null;var e=vne(t),n=kh(e),r=ane(e,t),o=ine(e,t),s=sne(e,t);if(!VEe(e,t)){var a=PC(n);return a?lne(ly(a),0,s,r):null}var i=WEe(ly(e),o,s,r);return i}function $g(){var t=Wy(),e=t[0],n=t[1],r=U2(),o=r[0],s=r[1],a=h.useCallback(function(){e&&n(null),o&&s(!1)},[e,o,n,s]);return a}function Zte(){var t=Wy(),e=t[0],n=U2(),r=n[0];return function(){return!!e||r}}function yEe(){var t=RT();return function(){t.current=!0}}function Qte(){var t=RT();return function(){t.current=!1}}function Jte(){var t=RT();return function(){return t.current}}function vEe(){var t=ac(),e=Qte(),n=Jte();h.useEffect(function(){var r=t.current;r==null||r.addEventListener("mousemove",o,{passive:!0});function o(){n()&&e()}return function(){r==null||r.removeEventListener("mousemove",o)}},[t,e,n])}function Vg(){var t=xh();return h.useCallback(function(){gl(t.current)},[t])}function wEe(){var t=DT();return h.useCallback(function(){t.current&&Yte(t.current)},[t])}function Xte(){var t=LT();return h.useCallback(function(){t.current&&Yte(t.current)},[t])}function bEe(){var t=MT();return function e(n){if(typeof n=="function")return e(n(t.current));t.current=n}}function ene(){var t=PT(),e=xh(),n=Vg();return function(){e.current&&(e.current.value=""),t(""),n()}}function xEe(){var t=xh(),e=PT();return function(r){t.current?(t.current.value=""+t.current.value+r,e($_(t.current.value))):e($_(r))}}function kEe(){var t=xh(),e=MT(),n=bEe(),r=PT(),o=_C(),s=o[0],a=IEe(e.current,s);return{onChange:i,searchTerm:s,SearchInputRef:t,statusSearchResults:a};function i(l){var u=e.current,d=l.toLowerCase();if(u!=null&&u[d]||d.length<=1)return r(d);var f=NEe(d,u);if(!f)return r(d);n(function(m){var g;return Object.assign(m,(g={},g[d]=jEe(f,d),g))}),r(d)}}function PT(){var t=_C(),e=t[1],n=$2();return function(o){requestAnimationFrame(function(){e(o&&(o==null?void 0:o.toLowerCase())).then(function(){Kte(n.current,0)})})}}function jEe(t,e){var n={};for(var r in t){var o=t[r];CEe(o,e)&&(n[r]=o)}return n}function CEe(t,e){return F2(t).some(function(n){return n.includes(e)})}function SEe(){var t=MT(),e=t.current,n=_C(),r=n[0];return function(o){return EEe(o,e,r)}}function EEe(t,e,n){var r;return!e||!n?!1:!((r=e[n])!=null&&r[t])}function NEe(t,e){if(!e)return null;if(e[t])return e[t];var n=Object.keys(e).sort(function(r,o){return o.length-r.length}).find(function(r){return t.includes(r)});return n?e[n]:null}function $_(t){return!t||typeof t!="string"?"":t.trim().toLowerCase()}function IEe(t,e){var n;if(!(t!=null&&t[e]))return"";var r=((n=Object.entries(t==null?void 0:t[e]))==null?void 0:n.length)||0;return ZSe(r)}function tne(){var t=qte(),e=Wy(),n=e[1];return function(o){var s=BT(o),a=s[0];a&&(t(o),n(a))}}function OT(){var t=Bte();return t===hg.SEARCH}function nne(){var t=Bte();return t===hg.PREVIEW}var Zo;(function(t){t.ArrowDown="ArrowDown",t.ArrowUp="ArrowUp",t.ArrowLeft="ArrowLeft",t.ArrowRight="ArrowRight",t.Escape="Escape",t.Enter="Enter",t.Space=" "})(Zo||(Zo={}));function AEe(){_Ee(),MEe(),REe(),TEe(),DEe()}function _Ee(){var t=$2(),e=ene(),n=lEe(),r=xh(),o=Vg(),s=Zte(),a=yEe(),i=$g(),l=h.useMemo(function(){return function(d){var f=d.key;switch(a(),f){case Zo.Escape:if(d.preventDefault(),s()){i();return}e(),n(0),o();break}}},[n,e,i,o,s,a]);h.useEffect(function(){var u=t.current;if(u)return u.addEventListener("keydown",l),function(){u.removeEventListener("keydown",l)}},[t,r,n,l])}function MEe(){var t=wEe(),e=$2(),n=ac(),r=xh(),o=U2(),s=o[1],a=rne(),i=OT(),l=h.useMemo(function(){return function(d){var f=d.key;switch(f){case Zo.ArrowRight:if(!i)return;d.preventDefault(),s(!0),t();break;case Zo.ArrowDown:d.preventDefault(),a();break;case Zo.Enter:d.preventDefault(),cEe(n.current);break}}},[t,a,s,n,i]);h.useEffect(function(){var u=r.current;if(u)return u.addEventListener("keydown",l),function(){u.removeEventListener("keydown",l)}},[e,r,l])}function REe(){var t=DT(),e=Vg(),n=xh(),r=rne(),o=U2(),s=o[0],a=o[1],i=nne(),l=OT(),u=zT(),d=h.useMemo(function(){return(function(m){var g=m.key;if(l)switch(g){case Zo.ArrowLeft:if(m.preventDefault(),!s)return e();aU(e);break;case Zo.ArrowRight:if(m.preventDefault(),!s)return e();iU();break;case Zo.ArrowDown:m.preventDefault(),s&&a(!1),r();break;default:u(m);break}if(i)switch(g){case Zo.ArrowUp:if(m.preventDefault(),!s)return e();aU(e);break;case Zo.ArrowDown:if(m.preventDefault(),!s)return e();iU();break;default:u(m);break}})},[s,e,a,r,u,i,l]);h.useEffect(function(){var f=t.current;if(f)return f.addEventListener("keydown",d),function(){f.removeEventListener("keydown",d)}},[t,n,s,d])}function TEe(){var t=Vg(),e=LT(),n=ac(),r=zT(),o=h.useMemo(function(){return function(a){var i=a.key;switch(i){case Zo.ArrowUp:a.preventDefault(),t();break;case Zo.ArrowRight:a.preventDefault(),Wte(Ib());break;case Zo.ArrowLeft:a.preventDefault(),Hte(Ib());break;case Zo.ArrowDown:a.preventDefault(),DC(n.current);break;default:r(a);break}}},[n,t,r]);h.useEffect(function(){var s=e.current;if(s)return s.addEventListener("keydown",o),function(){s.removeEventListener("keydown",o)}},[e,n,o])}function DEe(){var t=ac(),e=LEe(),n=tne(),r=Zte(),o=$g(),s=zT(),a=h.useMemo(function(){return(function(l){var u=l.key,d=Hc(Ib());switch(u){case Zo.ArrowRight:l.preventDefault(),fEe(d);break;case Zo.ArrowLeft:l.preventDefault(),dEe(d);break;case Zo.ArrowDown:if(l.preventDefault(),r()){o();break}hEe(d);break;case Zo.ArrowUp:if(l.preventDefault(),r()){o();break}pEe(d,e);break;case Zo.Space:l.preventDefault(),n(l.target);break;default:s(l);break}})},[e,s,n,r,o]);h.useEffect(function(){var i=t.current;if(i)return i.addEventListener("keydown",a),function(){i.removeEventListener("keydown",a)}},[t,a])}function rne(){var t=Xte(),e=MC(),n=ac();return h.useCallback(function(){return e?DC(n.current):t()},[n,t,e])}function LEe(){var t=Vg(),e=Xte(),n=MC();return h.useCallback(function(){return n?t():e()},[t,n,e])}function aU(t){var e=Ib();e&&(qEe(e)||t(),Wte(e))}function iU(){var t=Ib();t&&Hte(t)}function zT(){var t=xEe(),e=Vg(),n=Fte(),r=$g();return function(s){var a=s.key;PEe(s)||n||a.match(/(^[a-zA-Z0-9]$){1}/)&&(s.preventDefault(),r(),e(),t(a))}}function PEe(t){var e=t.metaKey,n=t.ctrlKey,r=t.altKey;return e||n||r}function OEe(t,e,n){if(e&&n!==Ci.NATIVE){var r=Xa(e);lU.has(r)||(B2(e).forEach(function(o){var s=t(o,n);zEe(s)}),lU.add(r))}}var lU=new Set;function zEe(t){var e=new Image;e.src=t}function FEe(){var t=ac(),e=Bg(),n=Ug();h.useEffect(function(){if(e===Ci.NATIVE)return;var r=t.current;return r==null||r.addEventListener("focusin",o),function(){r==null||r.removeEventListener("focusin",o)};function o(s){var a=Hc(s.target);if(a){var i=BT(a),l=i[0];l&&Hy(l)&&OEe(n,l,e)}}},[t,e,n])}var BEe=["width","height"],one=40;function UEe(t){var e=t.children;return h.createElement(tEe,null,h.createElement($Ee,null,e))}function $Ee(t){var e,n=t.children,r=AC(),o=r[0],s=USe(),a=MC(),i=$2(),l=HSe(),u=WSe();AEe(),FEe();var d=u||{},f=d.width,m=d.height,g=jte(d,BEe);return h.createElement("aside",{className:sr(lw.main,lw.baseVariables,s===Vp.DARK&&lw.darkTheme,s===Vp.AUTO&&lw.autoThemeDark,(e={},e[Qn.searchActive]=a,e),o&&lw.reactionsMenu,l),ref:i,style:So({},g,!o&&{height:m,width:f})},n)}var cU={"--epr-emoji-variation-picker-bg-color":"var(--epr-dark-emoji-variation-picker-bg-color)","--epr-hover-bg-color-reduced-opacity":"var(--epr-dark-hover-bg-color-reduced-opacity)","--epr-highlight-color":"var(--epr-dark-highlight-color)","--epr-text-color":"var(--epr-dark-text-color)","--epr-hover-bg-color":"var(--epr-dark-hover-bg-color)","--epr-focus-bg-color":"var(--epr-dark-focus-bg-color)","--epr-search-input-bg-color":"var(--epr-dark-search-input-bg-color)","--epr-category-label-bg-color":"var(--epr-dark-category-label-bg-color)","--epr-picker-border-color":"var(--epr-dark-picker-border-color)","--epr-bg-color":"var(--epr-dark-bg-color)","--epr-reactions-bg-color":"var(--epr-dark-reactions-bg-color)","--epr-search-input-bg-color-active":"var(--epr-dark-search-input-bg-color-active)","--epr-emoji-variation-indicator-color":"var(--epr-dark-emoji-variation-indicator-color)","--epr-category-icon-active-color":"var(--epr-dark-category-icon-active-color)","--epr-skin-tone-picker-menu-color":"var(--epr-dark-skin-tone-picker-menu-color)","--epr-skin-tone-outer-border-color":"var(--epr-dark-skin-tone-outer-border-color)","--epr-skin-tone-inner-border-color":"var(--epr-dark-skin-tone-inner-border-color)"},lw=mo.create({main:{".":["epr-main",Qn.emojiPicker],position:"relative",display:"flex",flexDirection:"column",borderWidth:"1px",borderStyle:"solid",borderRadius:"var(--epr-picker-border-radius)",borderColor:"var(--epr-picker-border-color)",backgroundColor:"var(--epr-bg-color)",overflow:"hidden",transition:"all 0.3s ease-in-out, background-color 0.1s ease-in-out","*":{boxSizing:"border-box",fontFamily:"sans-serif"}},baseVariables:{"--":{"--epr-highlight-color":"#007aeb","--epr-hover-bg-color":"#e5f0fa","--epr-hover-bg-color-reduced-opacity":"#e5f0fa80","--epr-focus-bg-color":"#e0f0ff","--epr-text-color":"#858585","--epr-search-input-bg-color":"#f6f6f6","--epr-picker-border-color":"#e7e7e7","--epr-bg-color":"#fff","--epr-reactions-bg-color":"#ffffff90","--epr-category-icon-active-color":"#6aa8de","--epr-skin-tone-picker-menu-color":"#ffffff95","--epr-skin-tone-outer-border-color":"#555555","--epr-skin-tone-inner-border-color":"var(--epr-bg-color)","--epr-horizontal-padding":"10px","--epr-picker-border-radius":"8px","--epr-search-border-color":"var(--epr-highlight-color)","--epr-header-padding":"15px var(--epr-horizontal-padding)","--epr-active-skin-tone-indicator-border-color":"var(--epr-highlight-color)","--epr-active-skin-hover-color":"var(--epr-hover-bg-color)","--epr-search-input-bg-color-active":"var(--epr-search-input-bg-color)","--epr-search-input-padding":"0 30px","--epr-search-input-border-radius":"8px","--epr-search-input-height":"40px","--epr-search-input-text-color":"var(--epr-text-color)","--epr-search-input-placeholder-color":"var(--epr-text-color)","--epr-search-bar-inner-padding":"var(--epr-horizontal-padding)","--epr-category-navigation-button-size":"30px","--epr-emoji-variation-picker-height":"45px","--epr-emoji-variation-picker-bg-color":"var(--epr-bg-color)","--epr-preview-height":"70px","--epr-preview-text-size":"14px","--epr-preview-text-padding":"0 var(--epr-horizontal-padding)","--epr-preview-border-color":"var(--epr-picker-border-color)","--epr-preview-text-color":"var(--epr-text-color)","--epr-category-padding":"0 var(--epr-horizontal-padding)","--epr-category-label-bg-color":"#ffffffe6","--epr-category-label-text-color":"var(--epr-text-color)","--epr-category-label-padding":"0 var(--epr-horizontal-padding)","--epr-category-label-height":one+"px","--epr-emoji-size":"30px","--epr-emoji-padding":"5px","--epr-emoji-fullsize":"calc(var(--epr-emoji-size) + var(--epr-emoji-padding) * 2)","--epr-emoji-hover-color":"var(--epr-hover-bg-color)","--epr-emoji-variation-indicator-color":"var(--epr-picker-border-color)","--epr-emoji-variation-indicator-color-hover":"var(--epr-text-color)","--epr-header-overlay-z-index":"3","--epr-emoji-variations-indictator-z-index":"1","--epr-category-label-z-index":"2","--epr-skin-variation-picker-z-index":"5","--epr-preview-z-index":"6","--epr-dark":"#000","--epr-dark-emoji-variation-picker-bg-color":"var(--epr-dark)","--epr-dark-highlight-color":"#c0c0c0","--epr-dark-text-color":"var(--epr-highlight-color)","--epr-dark-hover-bg-color":"#363636f6","--epr-dark-hover-bg-color-reduced-opacity":"#36363680","--epr-dark-focus-bg-color":"#474747","--epr-dark-search-input-bg-color":"#333333","--epr-dark-category-label-bg-color":"#222222e6","--epr-dark-picker-border-color":"#151617","--epr-dark-bg-color":"#222222","--epr-dark-reactions-bg-color":"#22222290","--epr-dark-search-input-bg-color-active":"var(--epr-dark)","--epr-dark-emoji-variation-indicator-color":"#444","--epr-dark-category-icon-active-color":"#3271b7","--epr-dark-skin-tone-picker-menu-color":"#22222295","--epr-dark-skin-tone-outer-border-color":"var(--epr-dark-picker-border-color)","--epr-dark-skin-tone-inner-border-color":"#FFFFFF"}},autoThemeDark:{".":Qn.autoTheme,"@media (prefers-color-scheme: dark)":{"--":cU}},darkTheme:{".":Qn.darkTheme,"--":cU},reactionsMenu:{".":"epr-reactions",height:"50px",display:"inline-flex",backgroundColor:"var(--epr-reactions-bg-color)",backdropFilter:"blur(8px)","--":{"--epr-picker-border-radius":"50px"}}});function sne(t,e){if(!t||!e)return 0;var n=t.getBoundingClientRect().width,r=e.getBoundingClientRect().width;return Math.floor(n/r)}function ane(t,e){if(!t||!e)return 0;var n=e.getBoundingClientRect().width,r=e.getBoundingClientRect().left,o=t.getBoundingClientRect().left;return Math.floor((r-o)/n)}function ine(t,e){if(!t||!e)return 0;var n=e.getBoundingClientRect().height,r=e.getBoundingClientRect().top,o=t.getBoundingClientRect().top;return Math.round((r-o)/n)}function VEe(t,e){if(!t||!e)return!1;var n=e.getBoundingClientRect().height,r=e.getBoundingClientRect().top,o=t.getBoundingClientRect().top,s=t.getBoundingClientRect().height;return Math.round(r-o+n)<s}function FT(t,e,n){if(e===-1){var r=Math.floor((t.length-1)/n),o=r*n,s=t.length-1;return t.slice(o,s+1)}return t.slice(e*n,(e+1)*n)}function HEe(t,e,n){var r=e+1;return r*n>t.length?[]:FT(t,r,n)}function lne(t,e,n,r){var o=FT(t,e,n);return o[r]||o[o.length-1]||null}function WEe(t,e,n,r){var o=HEe(t,e,n);return o[r]||o[o.length-1]||null}function YEe(t,e,n,r){var o=FT(t,e-1,n);return o[r]||o[o.length-1]||null}function GEe(t,e,n){if(!t||!e.length)return null;var r=t.getBoundingClientRect().top,o=t.getBoundingClientRect().bottom,s=r+KEe(t),a=e.find(function(i){var l=i.getBoundingClientRect().top,u=i.getBoundingClientRect().bottom,d=i.clientHeight*n,f=l+d,m=u-d;return f<s?!1:f>=r&&f<=o||m>=r&&m<=o});return a||null}function qEe(t){return!!t.nextElementSibling}function KEe(t){for(var e=Array.from(t.querySelectorAll(Da(Qn.label))),n=0,r=e;n<r.length;n++){var o=r[n],s=o.getBoundingClientRect().height;if(s>0)return s}return one}var Nk="button"+Da(Qn.emoji),ZEe=[Nk,Da(Qn.visible),":not("+Da(Qn.hidden)+")"].join("");function Hc(t){var e;return(e=t==null?void 0:t.closest(Nk))!=null?e:null}function BT(t){var e=pne(t),n=$T(t);if(!e)return[];var r=iy(n??e);return r?[r,n]:[]}function QEe(t){var e;return!!(t!=null&&t.matches(Nk)||!(t==null||(e=t.parentElement)==null)&&e.matches(Nk))}function uU(t){var e;return(e=t==null?void 0:t.clientHeight)!=null?e:0}function cne(t){if(!t)return 0;var e=Hc(t),n=kh(e),r=UT(n);return fU(e)+fU(n)+r}function UT(t){var e,n;if(!t)return 0;var r=t.querySelector(Da(Qn.categoryContent));return((e=t==null?void 0:t.clientHeight)!=null?e:0)-((n=r==null?void 0:r.clientHeight)!=null?n:0)}function JEe(t){return t?fne(t)<UT(kh(t)):!1}function une(t){return t?t.matches(Da(Qn.scrollBody))?t:t.querySelector(Da(Qn.scrollBody)):null}function fne(t){var e,n;return t?cne(t)-((e=(n=dne(t))==null?void 0:n.scrollTop)!=null?e:0):0}function dne(t){var e;return t&&(e=t.closest(Da(Qn.scrollBody)))!=null?e:null}function XEe(t){var e=Hc(t),n=kh(e);return dU(e)+dU(n)}function fU(t){var e;return(e=t==null?void 0:t.offsetTop)!=null?e:0}function dU(t){var e;return(e=t==null?void 0:t.offsetLeft)!=null?e:0}function $T(t){var e;return(e=eNe(Hc(t),"unified"))!=null?e:null}function pne(t){var e=$T(t);return e?_T(e):null}function hne(t){return t?{unified:$T(t),originalUnified:pne(t)}:{unified:null,originalUnified:null}}function eNe(t,e){var n;return(n=tNe(t)[e])!=null?n:null}function tNe(t){var e;return(e=t==null?void 0:t.dataset)!=null?e:{}}function VT(t){return t.classList.contains(Qn.visible)}function mne(t){return t?t.classList.contains(Qn.hidden):!0}function ly(t){return t?Array.from(t.querySelectorAll(ZEe)):[]}function gne(t){if(!t)return null;var e=ly(t),n=e.slice(-1),r=n[0];return r?VT(r)?r:HT(r):null}function yne(t){var e=t.nextElementSibling;return e?VT(e)?e:yne(e):WT(PC(t))}function HT(t){var e=t.previousElementSibling;return e?VT(e)?e:HT(e):gne(LC(t))}function WT(t){if(!t)return null;var e=ly(t);return GEe(t,e,.1)}function LC(t){var e=kh(t);if(!e)return null;var n=e.previousElementSibling;return n?mne(n)?LC(n):n:null}function PC(t){var e=kh(t);if(!e)return null;var n=e.nextElementSibling;return n?mne(n)?PC(n):n:null}function kh(t){return t?t.closest(Da(Qn.category)):null}function vne(t){return t?t.closest(Da(Qn.categoryContent)):null}function wne(t){return t.split("-").map(function(e){return String.fromCodePoint(parseInt(e,16))}).join("")}var bne="epr_suggested";function xne(t){try{var e,n,r;if(!((e=window)!=null&&e.localStorage))return[];var o=JSON.parse((n=(r=window)==null?void 0:r.localStorage.getItem(bne))!=null?n:"[]");return t===ay.FREQUENT?o.sort(function(s,a){return a.count-s.count}):o}catch{return[]}}function nNe(t,e){var n=xne(),r=Xa(t,e),o=Xa(t),s=n.find(function(l){var u=l.unified;return u===r}),a;s?a=[s].concat(n.filter(function(l){return l!==s})):(s={unified:r,original:o,count:0},a=[s].concat(n)),s.count++,a.length=Math.min(a.length,14);try{var i;(i=window)==null||i.localStorage.setItem(bne,JSON.stringify(a))}catch{}}function rNe(t){return t.category===Zn.CUSTOM}function kne(t){return t.imgUrl!==void 0}function jne(t,e){var n=h.useRef(),r=tne(),o=nEe(),s=Wy(),a=s[1],i=$g(),l=TT(),u=l[0],d=FSe(e),f=Vte(),m=f[1],g=Ug(),w=Bg(),b=h.useCallback(function(N){if(!o.current){i();var M=pU(N),D=M[0],O=M[1];if(!(!D||!O)){var L=CSe(O)||u;m(),nNe(D,L),d(oNe(D,L,w,g),N)}}},[u,i,o,d,m,g,w]),j=h.useCallback(function(N){var M;n.current&&clearTimeout(n.current);var D=pU(N),O=D[0];!O||!Hy(O)||(n.current=(M=window)==null?void 0:M.setTimeout(function(){o.current=!0,n.current=void 0,i(),r(N.target),a(O)},500))},[o,i,r,a]),S=h.useCallback(function(){n.current?(clearTimeout(n.current),n.current=void 0):o.current&&requestAnimationFrame(function(){o.current=!1})},[o]);h.useEffect(function(){if(t.current){var I=t.current;return I.addEventListener("click",b,{passive:!0}),I.addEventListener("mousedown",j,{passive:!0}),I.addEventListener("mouseup",S,{passive:!0}),function(){I==null||I.removeEventListener("click",b),I==null||I.removeEventListener("mousedown",j),I==null||I.removeEventListener("mouseup",S)}}},[t,b,j,S])}function pU(t){var e=t==null?void 0:t.target;return QEe(e)?BT(e):[]}function oNe(t,e,n,r){var o=F2(t);if(kne(t)){var s=Xa(t);return{activeSkinTone:e,emoji:s,getImageUrl:function(){return t.imgUrl},imageUrl:t.imgUrl,isCustom:!0,names:o,unified:s,unifiedWithoutSkinTone:s}}var a=Xa(t,e);return{activeSkinTone:e,emoji:wne(a),getImageUrl:function(l){return l===void 0&&(l=n??Ci.APPLE),r(a,l)},imageUrl:r(a,n??Ci.APPLE),isCustom:!1,names:o,unified:a,unifiedWithoutSkinTone:Xa(t)}}function V2(t){return h.createElement("button",Object.assign({type:"button"},t,{className:sr(sNe.button,t.className)}),t.children)}var sNe=mo.create({button:{".":"epr-btn",cursor:"pointer",border:"0",background:"none",outline:"none"}});function aNe(t){var e,n=t.emojiNames,r=t.unified,o=t.hidden,s=t.hiddenOnSearch,a=t.showVariations,i=a===void 0?!0:a,l=t.hasVariations,u=t.children,d=t.className,f=t.noBackground,m=f===void 0?!1:f;return h.createElement(V2,{className:sr(HI.emoji,o&&IT.hidden,s&&Fg.hiddenOnSearch,(e={},e[Qn.visible]=!o&&!s,e),!!(l&&i)&&HI.hasVariations,m&&HI.noBackground,d),"data-unified":r,"aria-label":iNe(n),"data-full-name":n},u)}function iNe(t){var e;return t[0].match("flag-")&&(e=t[1])!=null?e:t[0]}var HI=mo.create({emoji:{".":Qn.emoji,position:"relative",width:"var(--epr-emoji-fullsize)",height:"var(--epr-emoji-fullsize)",boxSizing:"border-box",display:"flex",alignItems:"center",justifyContent:"center",maxWidth:"var(--epr-emoji-fullsize)",maxHeight:"var(--epr-emoji-fullsize)",borderRadius:"8px",overflow:"hidden",transition:"background-color 0.2s",":hover":{backgroundColor:"var(--epr-emoji-hover-color)"},":focus":{backgroundColor:"var(--epr-focus-bg-color)"}},noBackground:{background:"none",":hover":{backgroundColor:"transparent",background:"none"},":focus":{backgroundColor:"transparent",background:"none"}},hasVariations:{".":Qn.emojiHasVariations,":after":{content:"",display:"block",width:"0",height:"0",right:"0px",bottom:"1px",position:"absolute",borderLeft:"4px solid transparent",borderRight:"4px solid transparent",transform:"rotate(135deg)",borderBottom:"4px solid var(--epr-emoji-variation-indicator-color)",zIndex:"var(--epr-emoji-variations-indictator-z-index)"},":hover:after":{borderBottom:"4px solid var(--epr-emoji-variation-indicator-color-hover)"}}}),Ik=mo.create({external:{".":Qn.external,fontSize:"0"},common:{alignSelf:"center",justifySelf:"center",display:"block"}});function hU(t){var e=t.emojiName,n=t.style,r=t.lazyLoad,o=r===void 0?!1:r,s=t.imgUrl,a=t.onError,i=t.className;return h.createElement("img",{src:s,alt:e,className:sr(lNe.emojiImag,Ik.external,Ik.common,i),loading:o?"lazy":"eager",onError:a,style:n})}var lNe=mo.create({emojiImag:{".":"epr-emoji-img",maxWidth:"var(--epr-emoji-fullsize)",maxHeight:"var(--epr-emoji-fullsize)",minWidth:"var(--epr-emoji-fullsize)",minHeight:"var(--epr-emoji-fullsize)",padding:"var(--epr-emoji-padding)"}});function cNe(t){var e=t.unified,n=t.style,r=t.className;return h.createElement("span",{className:sr(uNe.nativeEmoji,Ik.common,Ik.external,r),"data-unified":e,style:n},wne(e))}var uNe=mo.create({nativeEmoji:{".":"epr-emoji-native",fontFamily:'"Segoe UI Emoji", "Segoe UI Symbol", "Segoe UI", "Apple Color Emoji", "Twemoji Mozilla", "Noto Color Emoji", "EmojiOne Color", "Android Emoji"!important',position:"relative",lineHeight:"100%",fontSize:"var(--epr-emoji-size)",textAlign:"center",alignSelf:"center",justifySelf:"center",letterSpacing:"0",padding:"var(--epr-emoji-padding)"}});function V_(t){var e=t.emoji,n=t.unified,r=t.emojiStyle,o=t.size,s=t.lazyLoad,a=t.getEmojiUrl,i=a===void 0?Ate:a,l=t.className,u=$te(),d=u[1],f={};o&&(f.width=f.height=f.fontSize=o+"px");var m=e||iy(n);if(!m)return null;if(kne(m))return h.createElement(hU,{style:f,emojiName:n,emojiStyle:Ci.NATIVE,lazyLoad:s,imgUrl:m.imgUrl,onError:g,className:l});return h.createElement(h.Fragment,null,r===Ci.NATIVE?h.createElement(cNe,{unified:n,style:f,className:l}):h.createElement(hU,{style:f,emojiName:U_(m),emojiStyle:r,lazyLoad:s,imgUrl:i(n,r),onError:g,className:l}));function g(){d(function(w){return new Set(w).add(n)})}}function OC(t){var e=t.emoji,n=t.unified,r=t.hidden,o=t.hiddenOnSearch,s=t.emojiStyle,a=t.showVariations,i=a===void 0?!0:a,l=t.size,u=t.lazyLoad,d=t.getEmojiUrl,f=t.className,m=t.noBackground,g=m===void 0?!1:m,w=Hy(e);return h.createElement(aNe,{hasVariations:w,showVariations:i,hidden:r,hiddenOnSearch:o,emojiNames:F2(e),unified:n,noBackground:g},h.createElement(V_,{unified:n,emoji:e,size:l,emojiStyle:s,lazyLoad:u,getEmojiUrl:d,className:f}))}var fNe="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDI4LjEuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IgoJIHdpZHRoPSIyMHB4IiBoZWlnaHQ9IjgwcHgiIHZpZXdCb3g9IjAgMCAyMCA4MCIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgMjAgODAiIHhtbDpzcGFjZT0icHJlc2VydmUiPgo8cGF0aCBmaWxsPSIjODY4Njg2IiBkPSJNNS43LDEwLjRjMCwwLjEsMC4xLDAuMywwLjIsMC40QzYsMTAuOSw2LjEsMTEsNi4zLDExaDMuNHYzLjRjMCwwLjEsMC4xLDAuMywwLjIsMC40CgljMC4xLDAuMSwwLjIsMC4yLDAuNCwwLjJjMC4zLDAsMC41LTAuMiwwLjUtMC41di0zLjRoMy40YzAuMywwLDAuNS0wLjIsMC41LTAuNXMtMC4yLTAuNS0wLjUtMC41aC0zLjRWNi43YzAtMC4zLTAuMi0wLjUtMC41LTAuNQoJQzkuOCw2LDkuNiw2LjIsOS42LDYuNXYzLjRINi4yQzUuOSw5LjksNS43LDEwLjEsNS43LDEwLjRMNS43LDEwLjR6Ii8+CjxwYXRoIGZpbGw9IiMzMzcxQjciIGQ9Ik01LjcsMzAuNGMwLDAuMSwwLjEsMC4zLDAuMiwwLjRTNi4xLDMxLDYuMywzMWgzLjR2My40YzAsMC4xLDAuMSwwLjMsMC4yLDAuNGMwLjEsMC4xLDAuMiwwLjIsMC40LDAuMgoJYzAuMywwLDAuNS0wLjIsMC41LTAuNXYtMy40aDMuNGMwLjMsMCwwLjUtMC4yLDAuNS0wLjVzLTAuMi0wLjUtMC41LTAuNWgtMy40di0zLjRjMC0wLjMtMC4yLTAuNS0wLjUtMC41cy0wLjUsMC4yLTAuNSwwLjV2My40SDYuMgoJQzUuOSwyOS45LDUuNywzMC4xLDUuNywzMC40TDUuNywzMC40eiIvPgo8cGF0aCBmaWxsPSIjQzBDMEJGIiBkPSJNNS43LDUwLjRjMCwwLjEsMC4xLDAuMywwLjIsMC40QzYsNTAuOSw2LjEsNTEsNi4zLDUxaDMuNHYzLjRjMCwwLjEsMC4xLDAuMywwLjIsMC40CgljMC4xLDAuMSwwLjIsMC4yLDAuNCwwLjJjMC4zLDAsMC41LTAuMiwwLjUtMC41di0zLjRoMy40YzAuMywwLDAuNS0wLjIsMC41LTAuNXMtMC4yLTAuNS0wLjUtMC41aC0zLjR2LTMuNGMwLTAuMy0wLjItMC41LTAuNS0wLjUKCXMtMC41LDAuMi0wLjUsMC41djMuNEg2LjJDNS45LDQ5LjksNS43LDUwLjEsNS43LDUwLjRMNS43LDUwLjR6Ii8+CjxwYXRoIGZpbGw9IiM2QUE5REQiIGQ9Ik01LjcsNzAuNGMwLDAuMSwwLjEsMC4zLDAuMiwwLjRTNi4xLDcxLDYuMyw3MWgzLjR2My40YzAsMC4xLDAuMSwwLjMsMC4yLDAuNGMwLjEsMC4xLDAuMiwwLjIsMC40LDAuMgoJYzAuMywwLDAuNS0wLjIsMC41LTAuNXYtMy40aDMuNGMwLjMsMCwwLjUtMC4yLDAuNS0wLjVzLTAuMi0wLjUtMC41LTAuNWgtMy40di0zLjRjMC0wLjMtMC4yLTAuNS0wLjUtMC41cy0wLjUsMC4yLTAuNSwwLjV2My40SDYuNAoJQzUuOSw2OS45LDUuNyw3MC4xLDUuNyw3MC40TDUuNyw3MC40eiIvPgo8L3N2Zz4=";function dNe(){var t=AC(),e=t[1];return h.createElement(V2,{"aria-label":"Show all Emojis",title:"Show all Emojis",tabIndex:0,className:sr(pNe.plusSign),onClick:function(){return e(!1)}})}var pNe=mo.create(So({plusSign:{fontSize:"20px",padding:"17px",color:"var(--epr-text-color)",borderRadius:"50%",textAlign:"center",lineHeight:"100%",width:"20px",height:"20px",display:"flex",justifyContent:"center",alignItems:"center",transition:"background-color 0.2s ease-in-out",":after":{content:"",minWidth:"20px",minHeight:"20px",backgroundImage:"url("+fNe+")",backgroundColor:"transparent",backgroundRepeat:"no-repeat",backgroundSize:"20px",backgroundPositionY:"0"},":hover":{color:"var(--epr-highlight-color)",backgroundColor:"var(--epr-hover-bg-color-reduced-opacity)",":after":{backgroundPositionY:"-20px"}},":focus":{color:"var(--epr-highlight-color)",backgroundColor:"var(--epr-hover-bg-color-reduced-opacity)",":after":{backgroundPositionY:"-40px"}}}},rh("plusSign",{":after":{backgroundPositionY:"-40px"},":hover:after":{backgroundPositionY:"-60px"}})));function hNe(){var t=AC(),e=t[0],n=sEe(),r=KSe();jne(n,Nb.REACTIONS);var o=Bg(),s=Lte(),a=Ug();return e?h.createElement("ul",{className:sr(mU.list,!e&&IT.hidden),ref:n},r.map(function(i){return h.createElement("li",{key:i},h.createElement(OC,{emoji:iy(i),emojiStyle:o,unified:i,showVariations:!1,className:sr(mU.emojiButton),noBackground:!0,getEmojiUrl:a}))}),s?h.createElement("li",null,h.createElement(dNe,null)):null):null}var mU=mo.create({list:{listStyle:"none",margin:"0",padding:"0 5px",display:"flex",justifyContent:"space-between",alignItems:"center",height:"100%"},emojiButton:{":hover":{transform:"scale(1.2)"},":focus":{transform:"scale(1.2)"},":active":{transform:"scale(1.1)"},transition:"transform 0.2s cubic-bezier(0.175, 0.885, 0.32, 1.5)"}});function mNe(t){var e=$g();h.useEffect(function(){var n=t.current;if(!n)return;n.addEventListener("scroll",r,{passive:!0});function r(){e()}return function(){n==null||n.removeEventListener("scroll",r)}},[t,e])}function gNe(){var t=$te(),e=t[0],n=SEe();return function(r){var o=Xa(r),s=e.has(o),a=n(o);return{failedToLoad:s,filteredOut:a,hidden:s||a}}}function Cne(t){var e=t.categoryConfig,n=t.children,r=t.hidden,o=t.hiddenOnSearch,s=AT(e),a=Nte(e);return h.createElement("li",{className:sr(WI.category,r&&IT.hidden,o&&Fg.hiddenOnSearch),"data-name":s,"aria-label":a},h.createElement("h2",{className:sr(WI.label)},a),h.createElement("div",{className:sr(WI.categoryContent)},n))}var WI=mo.create({category:{".":Qn.category,":not(:has(.epr-visible))":{display:"none"}},categoryContent:{".":Qn.categoryContent,display:"grid",gridGap:"0",gridTemplateColumns:"repeat(auto-fill, var(--epr-emoji-fullsize))",justifyContent:"space-between",margin:"var(--epr-category-padding)",position:"relative"},label:{".":Qn.label,alignItems:"center",backdropFilter:"blur(3px)",backgroundColor:"var(--epr-category-label-bg-color)",color:"var(--epr-category-label-text-color)",display:"flex",fontSize:"16px",fontWeight:"bold",height:"var(--epr-category-label-height)",margin:"0",padding:"var(--epr-category-label-padding)",position:"sticky",textTransform:"capitalize",top:"0",width:"100%",zIndex:"var(--epr-category-label-z-index)"}}),YI=!1;function yNe(){var t=h.useState(YI),e=t[0],n=t[1];return h.useEffect(function(){n(!0),YI=!0},[]),e||YI}function vNe(t){var e=t.categoryConfig,n=Vte(),r=n[0],o=yNe(),s=$Se(),a=Ug(),i=h.useMemo(function(){var u;return(u=xne(s))!=null?u:[]},[r,s]),l=Bg();return o?h.createElement(Cne,{categoryConfig:e,hiddenOnSearch:!0,hidden:i.length===0},i.map(function(u){var d=iy(u.original);return d?h.createElement(OC,{showVariations:!1,unified:u.unified,emojiStyle:l,emoji:d,key:u.unified,getEmojiUrl:a}):null})):null}function wNe(){var t=Ote(),e=h.useRef(0);return h.createElement("ul",{className:sr(xNe.emojiList)},t.map(function(n){var r=AT(n);return r===Zn.SUGGESTED?h.createElement(vNe,{key:r,categoryConfig:n}):h.createElement(h.Suspense,{key:r},h.createElement(bNe,{category:r,categoryConfig:n,renderdCategoriesCountRef:e}))}))}function bNe(t){var e=t.category,n=t.categoryConfig,r=t.renderdCategoriesCountRef,o=gNe(),s=VSe(),a=Bg(),i=rEe(),l=TT(),u=l[0],d=JSe(),f=Ug(),m=!Pte(),g=!i&&r.current>0?[]:bSe(e);g.length>0&&r.current++;var w=0,b=g.map(function(j){var S=Xa(j,u),I=o(j),N=I.failedToLoad,M=I.filteredOut,D=I.hidden,O=d(j);return(D||O)&&w++,O?null:h.createElement(OC,{showVariations:m,key:S,emoji:j,unified:S,hidden:N,hiddenOnSearch:M,emojiStyle:a,lazyLoad:s,getEmojiUrl:f})});return h.createElement(Cne,{categoryConfig:n,hidden:w===b.length},b)}var xNe=mo.create({emojiList:{".":Qn.emojiList,listStyle:"none",margin:"0",padding:"0"}}),kNe="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDI2LjMuMSwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSI1MHB4IgoJIGhlaWdodD0iMTVweCIgdmlld0JveD0iMCAwIDUwIDE1IiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCA1MCAxNSIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+CjxnIGlkPSJMYXllcl8xIj4KPC9nPgo8ZyBpZD0iTGF5ZXJfMiI+Cgk8cGF0aCBmaWxsPSIjRkZGRkZGIiBzdHJva2U9IiNFOEU3RTciIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgZD0iTTEuODYtMC40M2w5LjgzLDExLjUzYzAuNTksMC42OSwxLjU2LDAuNjksMi4xNCwwbDkuODMtMTEuNTMiLz4KCTxwYXRoIGZpbGw9IiMwMTAyMDIiIHN0cm9rZT0iIzE1MTYxNyIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBkPSJNMjYuODYtMC40M2w5LjgzLDExLjUzYzAuNTksMC42OSwxLjU2LDAuNjksMi4xNCwwbDkuODMtMTEuNTMiLz4KPC9nPgo8L3N2Zz4=",F0;(function(t){t[t.Up=0]="Up",t[t.Down=1]="Down"})(F0||(F0={}));function jNe(){var t=RC(),e=aEe(),n=Wy(),r=n[0],o=Bg(),s=SNe(e),a=s.getTop,i=s.getMenuDirection,l=qte(),u=CNe(e),d=Ug(),f=Hc(t.current),m=!!(r&&f&&Hy(r)&&f.classList.contains(Qn.emojiHasVariations));h.useEffect(function(){m&&DC(e.current)},[e,m,t]);var g,w;return!m&&t.current?l(null):(g=a(),w=u()),h.createElement("div",{ref:e,className:sr(l6.variationPicker,i()===F0.Down&&l6.pointingUp,m&&l6.visible),style:{top:g}},m&&r?[Xa(r)].concat(B2(r)).slice(0,6).map(function(b){return h.createElement(OC,{key:b,emoji:r,unified:b,emojiStyle:o,showVariations:!1,getEmojiUrl:d})}):null,h.createElement("div",{className:sr(l6.pointer),style:w}))}function CNe(t){var e=RC();return function(){var r={};if(!t.current)return r;if(e.current){var o=Hc(e.current),s=XEe(o);if(!o)return r;r.left=s+(o==null?void 0:o.clientWidth)/2}return r}}function SNe(t){var e=RC(),n=ac(),r=F0.Up;return{getMenuDirection:o,getTop:s};function o(){return r}function s(){r=F0.Up;var a=0;if(!t.current)return 0;var i=uU(t.current);if(e.current){var l,u=n.current,d=Hc(e.current),f=uU(d);a=cne(d);var m=(l=u==null?void 0:u.scrollTop)!=null?l:0;m>a-i&&(r=F0.Down,a+=f+i)}return a-i}}var l6=mo.create(So({variationPicker:{".":Qn.variationPicker,position:"absolute",right:"15px",left:"15px",padding:"5px",boxShadow:"0px 2px 5px rgba(0, 0, 0, 0.2)",borderRadius:"3px",display:"flex",alignItems:"center",justifyContent:"space-around",opacity:"0",visibility:"hidden",pointerEvents:"none",top:"-100%",border:"1px solid var(--epr-picker-border-color)",height:"var(--epr-emoji-variation-picker-height)",zIndex:"var(--epr-skin-variation-picker-z-index)",background:"var(--epr-emoji-variation-picker-bg-color)",transform:"scale(0.9)",transition:"transform 0.1s ease-out, opacity 0.2s ease-out"},visible:{opacity:"1",visibility:"visible",pointerEvents:"all",transform:"scale(1)"},pointingUp:{".":"pointing-up",transformOrigin:"center 0%",transform:"scale(0.9)"},".pointing-up":{pointer:{top:"0",transform:"rotate(180deg) translateY(100%) translateX(18px)"}},pointer:{".":"epr-emoji-pointer",content:"",position:"absolute",width:"25px",height:"15px",backgroundRepeat:"no-repeat",backgroundPosition:"0 0",backgroundSize:"50px 15px",top:"100%",transform:"translateX(-18px)",backgroundImage:"url("+kNe+")"}},rh("pointer",{backgroundPosition:"-25px 0"})));function ENe(){var t=ac();return mNe(t),jne(t,Nb.PICKER),vEe(),h.createElement("div",{className:sr(NNe.body,Fg.hiddenOnReactions),ref:t},h.createElement(jNe,null),h.createElement(wNe,null))}var NNe=mo.create({body:{".":Qn.scrollBody,flex:"1",overflowY:"scroll",overflowX:"hidden",position:"relative"}});function INe(t,e){if(!t||!e)return 0;var n=t.getBoundingClientRect(),r=e.getBoundingClientRect();return r.height-(n.y-r.y)}function ANe(t,e){var n=ac(),r=Jte(),o=Qte();h.useEffect(function(){if(!t)return;var s=n.current;s==null||s.addEventListener("keydown",l,{passive:!0}),s==null||s.addEventListener("mouseover",u,!0),s==null||s.addEventListener("focus",a,!0),s==null||s.addEventListener("mouseout",i,{passive:!0}),s==null||s.addEventListener("blur",i,!0);function a(d){var f=Hc(d.target);if(!f)return i();var m=hne(f),g=m.unified,w=m.originalUnified;if(!g||!w)return i();e({unified:g,originalUnified:w})}function i(d){if(d){var f=d.relatedTarget;if(!Hc(f))return e(null)}e(null)}function l(d){d.key==="Escape"&&e(null)}function u(d){if(!r()){var f=Hc(d.target);if(f){var m=INe(f,s),g=f.getBoundingClientRect().height;if(m<g)return _Ne(f,e);gl(f)}}}return function(){s==null||s.removeEventListener("mouseover",u),s==null||s.removeEventListener("mouseout",i),s==null||s.removeEventListener("focus",a,!0),s==null||s.removeEventListener("blur",i,!0),s==null||s.removeEventListener("keydown",l)}},[n,t,e,r,o])}function _Ne(t,e){var n,r=hne(t),o=r.unified,s=r.originalUnified;!o||!s||((n=document.activeElement)==null||n.blur==null||n.blur(),e({unified:o,originalUnified:s}))}var c6,Ab;(function(t){t.ROW="FlexRow",t.COLUMN="FlexColumn"})(Ab||(Ab={}));function Sne(t){var e=t.children,n=t.className,r=t.style,o=r===void 0?{}:r,s=t.direction,a=s===void 0?Ab.ROW:s;return h.createElement("div",{style:So({},o),className:sr(gU.flex,n,gU[a])},e)}var gU=mo.create((c6={flex:{display:"flex"}},c6[Ab.ROW]={flexDirection:"row"},c6[Ab.COLUMN]={flexDirection:"column"},c6));function MNe(t){var e=t.className,n=t.style,r=n===void 0?{}:n;return h.createElement("div",{style:So({flex:1},r),className:sr(e)})}function RNe(t){var e=t.children,n=t.className,r=t.style;return h.createElement("div",{style:So({},r,{position:"absolute"}),className:n},e)}function zC(t){var e=t.children,n=t.className,r=t.style;return h.createElement("div",{style:So({},r,{position:"relative"}),className:n},e)}function TNe(t){var e=t.isOpen,n=t.onClick,r=t.isActive,o=t.skinToneVariation,s=t.style;return h.createElement(V2,{style:s,onClick:n,className:sr("epr-tone-"+o,GI.tone,!e&&GI.closedTone,r&&GI.active),"aria-pressed":r,"aria-label":"Skin tone "+ySe[o]})}var GI=mo.create({closedTone:{opacity:"0",zIndex:"0"},active:{".":"epr-active",zIndex:"1",opacity:"1"},tone:{".":"epr-tone",width:"var(--epr-skin-tone-size)",display:"block",cursor:"pointer",borderRadius:"4px",height:"var(--epr-skin-tone-size)",position:"absolute",right:"0",transition:"transform 0.3s ease-in-out, opacity 0.35s ease-in-out",zIndex:"0",border:"1px solid var(--epr-skin-tone-outer-border-color)",boxShadow:"inset 0px 0px 0 1px var(--epr-skin-tone-inner-border-color)",":hover":{boxShadow:"0 0 0 3px var(--epr-active-skin-hover-color), inset 0px 0px 0 1px var(--epr-skin-tone-inner-border-color)"},":focus":{boxShadow:"0 0 0 3px var(--epr-focus-bg-color)"},"&.epr-tone-neutral":{backgroundColor:"#ffd225"},"&.epr-tone-1f3fb":{backgroundColor:"#ffdfbd"},"&.epr-tone-1f3fc":{backgroundColor:"#e9c197"},"&.epr-tone-1f3fd":{backgroundColor:"#c88e62"},"&.epr-tone-1f3fe":{backgroundColor:"#a86637"},"&.epr-tone-1f3ff":{backgroundColor:"#60463a"}}}),Tw=28;function DNe(){return h.createElement(zC,{style:{height:Tw}},h.createElement(RNe,{style:{bottom:0,right:0}},h.createElement(Ene,{direction:_b.VERTICAL})))}function Ene(t){var e=t.direction,n=e===void 0?_b.HORIZONTAL:e,r=DT(),o=Pte(),s=U2(),a=s[0],i=s[1],l=TT(),u=l[0],d=l[1],f=BSe(),m=$g(),g=Vg();if(o)return null;var w=Tw*Sk.length+"px",b=a?w:Tw+"px",j=n===_b.VERTICAL;return h.createElement(zC,{className:sr(cw.skinTones,j&&cw.vertical,a&&cw.open,j&&a&&cw.verticalShadow),style:j?{flexBasis:b,height:b}:{flexBasis:b}},h.createElement("div",{className:sr(cw.select),ref:r},Sk.map(function(S,I){var N=S===u;return h.createElement(TNe,{key:S,skinToneVariation:S,isOpen:a,style:{transform:sr(j?"translateY(-"+I*(a?Tw:0)+"px)":"translateX(-"+I*(a?Tw:0)+"px)",a&&N&&"scale(1.3)")},isActive:N,onClick:function(){a?(d(S),f(S),g()):i(!0),m()}})})))}var _b;(function(t){t.VERTICAL="epr-vertical",t.HORIZONTAL="epr-horizontal"})(_b||(_b={}));var cw=mo.create({skinTones:{".":"epr-skin-tones","--":{"--epr-skin-tone-size":"15px"},display:"flex",alignItems:"center",justifyContent:"flex-end",transition:"all 0.3s ease-in-out",padding:"10px 0"},vertical:{padding:"9px",alignItems:"flex-end",flexDirection:"column",borderRadius:"6px",border:"1px solid var(--epr-bg-color)"},verticalShadow:{boxShadow:"0px 0 7px var(--epr-picker-border-color)"},open:{backdropFilter:"blur(5px)",background:"var(--epr-skin-tone-picker-menu-color)",".epr-active":{border:"1px solid var(--epr-active-skin-tone-indicator-border-color)"}},select:{".":"epr-skin-tone-select",position:"relative",width:"var(--epr-skin-tone-size)",height:"var(--epr-skin-tone-size)"}});function LNe(){var t=zte(),e=nne();return t.showPreview?h.createElement(Sne,{className:sr(_3.preview,Fg.hiddenOnReactions)},h.createElement(PNe,null),h.createElement(MNe,null),e?h.createElement(DNe,null):null):null}function PNe(){var t,e=zte(),n=h.useState(null),r=n[0],o=n[1],s=Bg(),a=Wy(),i=a[0],l=Ug();ANe(e.showPreview,o);var u=iy((t=r==null?void 0:r.unified)!=null?t:r==null?void 0:r.originalUnified),d=u!=null&&r!=null;return h.createElement(f,null);function f(){var m=i??iy(e.defaultEmoji);if(!m)return null;var g=i?U_(i):e.defaultCaption;return h.createElement(h.Fragment,null,h.createElement("div",null,d?h.createElement(V_,{unified:r==null?void 0:r.unified,emoji:u,emojiStyle:s,size:45,getEmojiUrl:l,className:sr(_3.emoji)}):m?h.createElement(V_,{unified:Xa(m),emoji:m,emojiStyle:s,size:45,getEmojiUrl:l,className:sr(_3.emoji)}):null),h.createElement("div",{className:sr(_3.label)},d?U_(u):g))}}var _3=mo.create({preview:{alignItems:"center",borderTop:"1px solid var(--epr-preview-border-color)",height:"var(--epr-preview-height)",padding:"0 var(--epr-horizontal-padding)",position:"relative",zIndex:"var(--epr-preview-z-index)"},label:{color:"var(--epr-preview-text-color)",fontSize:"var(--epr-preview-text-size)",padding:"var(--epr-preview-text-padding)",textTransform:"capitalize"},emoji:{padding:"0"}});function ONe(t){var e;return(e=t==null?void 0:t.getAttribute("data-name"))!=null?e:null}function zNe(t){var e=ac();h.useEffect(function(){var n=new Map,r=e.current,o=new IntersectionObserver(function(s){if(r){for(var a=QCe(s),i;!(i=a()).done;){var l=i.value,u=ONe(l.target);n.set(u,l.intersectionRatio)}var d=Array.from(n),f=d[d.length-1];if(f[1]==1)return t(f[0]);for(var m=0,g=d;m<g.length;m++){var w=g[m],b=w[0],j=w[1];if(j){t(b);break}}}},{threshold:[0,1]});r==null||r.querySelectorAll(Da(Qn.category)).forEach(function(s){o.observe(s)})},[e,t])}function FNe(){var t=ac(),e=$2();return function(r){var o;if(t.current){var s=(o=t.current)==null?void 0:o.querySelector('[data-name="'+r+'"]');if(s){var a=s.offsetTop||0;Kte(e.current,a)}}}}function BNe(){var t=OSe();return t?t.length===0:!1}var UNe="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDI2LjMuMSwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IgoJIHdpZHRoPSIyMDBweCIgaGVpZ2h0PSI4MHB4IiB2aWV3Qm94PSIwIDAgMjAwIDgwIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCAyMDAgODAiIHhtbDpzcGFjZT0icHJlc2VydmUiPgo8ZyBpZD0iTGF5ZXJfMTEiPgoJPGc+CgkJPHBhdGggZmlsbD0iIzMzNzFCNyIgc3Ryb2tlPSIjMzM3MUI3IiBzdHJva2Utd2lkdGg9IjAuMSIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBkPSJNMTIuOCwyOS41YzAuNiwwLDEuMS0wLjUsMS4xLTEuMQoJCQljMC0wLjYtMC41LTEuMi0xLjEtMS4yYy0wLjYsMC0xLjIsMC41LTEuMiwxLjJDMTEuNiwyOSwxMi4yLDI5LjUsMTIuOCwyOS41eiBNMTIuOCwyOGMwLjIsMCwwLjQsMC4yLDAuNCwwLjQKCQkJYzAsMC4yLTAuMiwwLjQtMC40LDAuNGMtMC4yLDAtMC40LTAuMi0wLjQtMC40QzEyLjQsMjguMSwxMi42LDI4LDEyLjgsMjh6Ii8+CgkJPHBhdGggZmlsbD0iIzMzNzFCNyIgc3Ryb2tlPSIjMzM3MUI3IiBzdHJva2Utd2lkdGg9IjAuMSIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBkPSJNMTAsMjNjLTMuOCwwLTcsMy4xLTcsN2MwLDMuOCwzLjEsNyw3LDcKCQkJczctMy4xLDctN0MxNywyNi4yLDEzLjgsMjMsMTAsMjN6IE0xMCwzNi4yYy0zLjQsMC02LjItMi44LTYuMi02LjJjMC0zLjQsMi44LTYuMiw2LjItNi4yczYuMiwyLjgsNi4yLDYuMgoJCQlDMTYuMiwzMy40LDEzLjQsMzYuMiwxMCwzNi4yeiIvPgoJCTxwYXRoIGZpbGw9IiMzMzcxQjciIHN0cm9rZT0iIzMzNzFCNyIgc3Ryb2tlLXdpZHRoPSIwLjEiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgZD0iTTE0LjYsMzEuMmMtMC4xLTAuMS0wLjItMC4yLTAuMy0wLjJINS43CgkJCWMtMC4xLDAtMC4yLDAuMS0wLjMsMC4yYy0wLjEsMC4xLTAuMSwwLjIsMCwwLjRjMC43LDIsMi41LDMuMyw0LjYsMy4zczMuOS0xLjMsNC42LTMuM0MxNC43LDMxLjUsMTQuNywzMS4zLDE0LjYsMzEuMnogTTEwLDM0LjEKCQkJYy0xLjYsMC0zLTAuOS0zLjctMi4yaDcuM0MxMywzMy4yLDExLjYsMzQuMSwxMCwzNC4xeiIvPgoJCTxwYXRoIGZpbGw9IiMzMzcxQjciIHN0cm9rZT0iIzMzNzFCNyIgc3Ryb2tlLXdpZHRoPSIwLjEiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgZD0iTTcuMiwyOS41YzAuNiwwLDEuMi0wLjUsMS4yLTEuMQoJCQljMC0wLjYtMC41LTEuMi0xLjItMS4yYy0wLjYsMC0xLjEsMC41LTEuMSwxLjJDNi4xLDI5LDYuNiwyOS41LDcuMiwyOS41eiBNNy4yLDI4YzAuMiwwLDAuNCwwLjIsMC40LDAuNGMwLDAuMi0wLjIsMC40LTAuNCwwLjQKCQkJYy0wLjIsMC0wLjQtMC4yLTAuNC0wLjRDNi44LDI4LjEsNywyOCw3LjIsMjh6Ii8+Cgk8L2c+Cgk8Zz4KCQk8Zz4KCQkJPHBhdGggZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMzM3MUI3IiBkPSJNNjQuMSwzMy40bDIuMywwYzAuMiwwLDAuNCwwLjIsMC40LDAuNHYyLjFjMCwwLjItMC4yLDAuNC0wLjQsMC40aC0yLjMKCQkJCWMtMC4yLDAtMC40LTAuMi0wLjQtMC40di0yLjFDNjMuNywzMy42LDYzLjgsMzMuNCw2NC4xLDMzLjR6Ii8+CgkJCTxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzMzNzFCNyIgZD0iTTczLjUsMzMuNWgyLjRjMC4yLDAsMC40LDAuMiwwLjQsMC40djJjMCwwLjItMC4yLDAuNC0wLjQsMC40aC0yLjQKCQkJCWMtMC4yLDAtMC40LTAuMi0wLjQtMC40bDAtMkM3My4xLDMzLjYsNzMuMywzMy41LDczLjUsMzMuNXoiLz4KCQkJPHBhdGggZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMzM3MUI3IiBkPSJNNjMuNywyOC40aDEyLjZ2NUg2My43VjI4LjR6Ii8+CgkJCTxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzMzNzFCNyIgZD0iTTY1LjUsMjMuNmg4LjljMSwwLDEuOSwwLjgsMS45LDEuOXYzLjFINjMuN3YtMy4xQzYzLjcsMjQuNSw2NC41LDIzLjYsNjUuNSwyMy42eiIvPgoJCQk8ZWxsaXBzZSBmaWxsPSIjMzM3MUI3IiBjeD0iNjYuMiIgY3k9IjMwLjkiIHJ4PSIwLjkiIHJ5PSIxIi8+CgkJCTxlbGxpcHNlIGZpbGw9IiMzMzcxQjciIGN4PSI3My44IiBjeT0iMzAuOSIgcng9IjAuOSIgcnk9IjEiLz4KCQk8L2c+Cgk8L2c+Cgk8Zz4KCQk8Zz4KCQkJPHBhdGggZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMzM3MUI3IiBkPSJNOTYuNCwzMGMwLDMuNi0yLjksNi41LTYuNCw2LjVzLTYuNC0yLjktNi40LTYuNXMyLjktNi41LDYuNC02LjVTOTYuNCwyNi40LDk2LjQsMzB6Ii8+CgkJCTxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzMzNzFCNyIgZD0iTTk2LjMsMjguNmMwLDAsMCwwLjEsMCwwLjFjLTAuOSwwLjEtMi45LDAuMS00LjYtMS4xYy0xLjEtMC44LTItMS43LTIuNi0yLjUKCQkJCWMtMC4zLTAuNC0wLjYtMC44LTAuNy0xYy0wLjEtMC4xLTAuMS0wLjEtMC4xLTAuMmMwLjUtMC4xLDEuMi0wLjIsMi0wLjFjMS4yLDAsMi41LDAuMywzLjUsMS4xYzEsMC44LDEuNywxLjgsMi4xLDIuOAoJCQkJQzk2LjEsMjcuOSw5Ni4yLDI4LjMsOTYuMywyOC42eiIvPgoJCQk8cGF0aCBmaWxsPSJub25lIiBzdHJva2U9IiMzMzcxQjciIGQ9Ik04NCwzMi4yYzAsMCwwLTAuMSwwLTAuMWMwLjktMC4yLDIuOS0wLjQsNC43LDAuNmMxLjEsMC43LDEuOSwxLjUsMi40LDIuMwoJCQkJYzAuNCwwLjUsMC42LDEsMC43LDEuM2MtMC40LDAuMS0xLDAuMi0xLjcsMC4zYy0xLDAtMi4xLTAuMS0zLjItMC44cy0xLjktMS42LTIuNC0yLjVDODQuMiwzMi44LDg0LjEsMzIuNSw4NCwzMi4yeiIvPgoJCTwvZz4KCTwvZz4KCTxnPgoJCTxnPgoJCQk8cGF0aCBmaWxsPSJub25lIiBzdHJva2U9IiMzMzcxQjciIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgZD0iTTExNi4zLDI2LjhsLTEuNCwybC0wLjgtMC44bC0wLjYtMC42bDAsMC45bC0wLjEsOC4yaC02LjgKCQkJCWwtMC4xLTguMmwwLTAuOWwtMC42LDAuNmwtMC44LDAuOGwtMS40LTJsMi42LTIuOWMwLjEtMC4xLDAuMi0wLjEsMC4zLTAuMWgxLjNsMC40LDAuN2MwLjcsMS4zLDIuNiwxLjMsMy4zLTAuMWwwLjMtMC42aDEuMgoJCQkJYzAuMSwwLDAuMiwwLDAuMywwLjFsMC4zLTAuM2wtMC4zLDAuM0wxMTYuMywyNi44eiIvPgoJCQk8cGF0aCBmaWxsPSJub25lIiBzdHJva2U9IiMzMzcxQjciIGQ9Ik0xMTAuMSwyNy43aDJ2MC45YzAsMC40LTAuNCwwLjctMSwwLjdjLTAuNiwwLTEtMC4zLTEtMC43TDExMC4xLDI3LjdMMTEwLjEsMjcuN3oiLz4KCQk8L2c+Cgk8L2c+Cgk8Zz4KCQk8Zz4KCQkJPHBhdGggZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMzM3MUI3IiBkPSJNMTI2LjgsMzQuM2MwLDEuMi0xLDIuMi0yLjIsMi4ycy0yLjItMS0yLjItMi4yczEtMi4yLDIuMi0yLjJTMTI2LjgsMzMuMSwxMjYuOCwzNC4zeiIvPgoJCQk8cGF0aCBmaWxsPSJub25lIiBzdHJva2U9IiMzMzcxQjciIGQ9Ik0xMzcuNiwzNC4zYzAsMS4yLTEsMi4yLTIuMiwyLjJjLTEuMiwwLTIuMi0xLTIuMi0yLjJzMS0yLjIsMi4yLTIuMgoJCQkJQzEzNi42LDMyLjEsMTM3LjYsMzMuMSwxMzcuNiwzNC4zeiIvPgoJCQk8cGF0aCBmaWxsPSJub25lIiBzdHJva2U9IiMzMzcxQjciIGQ9Ik0xMjYuOCwyNC40djkuOSIvPgoJCQk8cGF0aCBmaWxsPSJub25lIiBzdHJva2U9IiMzMzcxQjciIGQ9Ik0xMzcuNywyNC40djkuOSIvPgoJCQk8cGF0aCBmaWxsPSJub25lIiBzdHJva2U9IiMzMzcxQjciIGQ9Ik0xMjYuOCwyMy41aDEwLjh2Mi43aC0xMC44QzEyNi44LDI2LjIsMTI2LjgsMjMuNSwxMjYuOCwyMy41eiIvPgoJCTwvZz4KCTwvZz4KCTxnPgoJCTxnPgoJCQk8cGF0aCBmaWxsPSIjMzM3MUI3IiBkPSJNMTcwLjgsMjMuMUwxNzAuOCwyMy4xYy0wLjMsMC0wLjUsMC0wLjgsMGMtMi4xLDAtNCwxLTUuMywyLjVsLTAuMSwwbC0wLjEtMC4xbC0xLTEuMmwtMC4zLDMuNGwzLjQsMC4zCgkJCQlsLTEuMS0xLjNsLTAuMS0wLjFsMC4xLTAuMWMxLjEtMS41LDMtMi4zLDUtMi4xbDAsMGMzLjIsMC4zLDUuNSwzLjEsNS4yLDYuM2MtMC4zLDMtMy4xLDUuMy02LjEsNS4xYy0zLjEtMC4yLTUuNC0yLjktNS4zLTYKCQkJCWwtMS4zLTAuMWMtMC4yLDMuOCwyLjYsNy4xLDYuMyw3LjRjMy45LDAuMyw3LjMtMi42LDcuNi02LjVDMTc3LjIsMjYuOCwxNzQuNCwyMy41LDE3MC44LDIzLjF6Ii8+CgkJCTxwYXRoIGZpbGw9IiMzMzcxQjciIGQ9Ik0xNzAuMywyNy40YzAtMC4zLTAuMy0wLjYtMC42LTAuNnMtMC42LDAuMy0wLjYsMC42djMuMmMwLDAuMiwwLjEsMC4zLDAuMiwwLjRjMC4xLDAuMSwwLjMsMC4yLDAuNCwwLjIKCQkJCWgyLjRjMC40LDAsMC42LTAuMywwLjYtMC42YzAtMC40LTAuMy0wLjYtMC42LTAuNmgtMS42aC0wLjJ2LTAuMkwxNzAuMywyNy40TDE3MC4zLDI3LjR6Ii8+CgkJPC9nPgoJPC9nPgoJPGc+CgkJPGc+CgkJCTxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzMzNzFCNyIgZD0iTTE4Ni4yLDIzLjRoNy43YzEuNSwwLDIuNywxLjIsMi43LDIuN3Y3LjdjMCwxLjUtMS4yLDIuNy0yLjcsMi43aC03LjcKCQkJCWMtMS41LDAtMi43LTEuMi0yLjctMi43di03LjdDMTgzLjQsMjQuNiwxODQuNywyMy40LDE4Ni4yLDIzLjR6Ii8+CgkJCTxlbGxpcHNlIGZpbGw9IiMzMzcxQjciIGN4PSIxODYiIGN5PSIyOC45IiByeD0iMC43IiByeT0iMC43Ii8+CgkJCTxlbGxpcHNlIGZpbGw9IiMzMzcxQjciIGN4PSIxOTQiIGN5PSIyNi43IiByeD0iMC43IiByeT0iMC43Ii8+CgkJCTxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzMzNzFCNyIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBkPSJNMTg2LDMzLjNsMC40LTAuM2MwLjQtMC4zLDEtMC4zLDEuNS0wLjFsMSwwLjQKCQkJCWMwLjUsMC4yLDEsMC4yLDEuNS0wLjFsMC44LTAuNWMwLjQtMC4zLDEtMC4zLDEuNS0wLjFsMS44LDAuOCIvPgoJCTwvZz4KCTwvZz4KCTxwYXRoIGZpbGw9IiMzMzcxQjciIHN0cm9rZT0iIzMzNzFCNyIgc3Ryb2tlLXdpZHRoPSIwLjI1IiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIGQ9Ik0xNTYsMjQuM2MtMC4yLTAuMS0wLjQtMC4xLTAuNSwwCgkJYzAsMC0wLjIsMC4xLTAuOSwwLjJjLTAuNywwLTIuNC0wLjEtMy44LTAuNmMtMC44LTAuMy0xLjctMC41LTIuNS0wLjVjLTAuMiwwLTAuNCwwLTAuNSwwYy0xLjMsMC0yLjUsMC4zLTMuNiwxCgkJYy0wLjIsMC4xLTAuMiwwLjItMC4yLDAuNHYxMS42YzAsMC4zLDAuMSwwLjUsMC4zLDAuNWMwLjYsMCwwLjUtMC40LDAuNS0wLjZ2LTUuN2MwLjctMC4zLDMuMi0xLjEsNS44LTAuMQoJCWMxLjYsMC42LDMuNSwwLjcsNC4zLDAuN2MwLjgsMCwxLjMtMC4zLDEuMy0wLjNjMC4yLTAuMSwwLjMtMC4yLDAuMy0wLjR2LTUuN0MxNTYuMiwyNC42LDE1Ni4xLDI0LjQsMTU2LDI0LjN6IE0xNTUuNiwzMC4yCgkJYy0wLjEsMC0wLjcsMC4xLTEsMC4xYy0wLjcsMC0yLjQtMC4xLTMuOC0wLjZjLTIuNS0xLTUtMC41LTYuMi0wLjF2LTQuOWMwLjktMC41LDIuMi0wLjcsMy4yLTAuN2MwLjEsMCwwLjMsMCwwLjQsMAoJCWMwLjcsMCwxLjUsMC4yLDIuMiwwLjRjMS42LDAuNiwzLjUsMC43LDQuMywwLjdjMC4yLDAsMC44LDAsMS0wLjFWMzAuMnoiLz4KCTxnPgoJCTxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzMzNzFCNyIgZD0iTTQ4LjEsMjMuNWgzLjdjMi41LDAsNC41LDIsNC41LDQuNWMwLDAuNS0wLjQsMC45LTAuOSwwLjlINDQuNWMtMC41LDAtMC45LTAuNC0wLjktMC45CgkJCUM0My42LDI1LjUsNDUuNiwyMy41LDQ4LjEsMjMuNXoiLz4KCQk8cGF0aCBmaWxsPSJub25lIiBzdHJva2U9IiMzMzcxQjciIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgZD0iTTQzLjUsMjguOGMtMC4yLDAuMS0wLjUsMS4yLDAsMS41YzEuNCwxLDguNSwwLjgsMTEuMywwLjYKCQkJYzAuOC0wLjEsMS42LTAuNCwxLjctMS4yYzAtMC4zLTAuMS0wLjYtMC42LTAuOSIvPgoJCTxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzMzNzFCNyIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBkPSJNNDMuNSwzMC42TDQzLjMsMzFjLTAuMiwwLjUsMC4yLDEsMC43LDAuOWMwLjMtMC4xLDAuNSwwLDAuNywwLjMKCQkJbDAuMSwwLjJjMC4zLDAuNSwxLDAuNiwxLjUsMC4ybDAsMGMwLjMtMC4yLDAuNy0wLjMsMS0wLjJsMC44LDAuM2MwLjQsMC4yLDAuOCwwLjEsMS4yLDBsMC41LTAuMmMwLjQtMC4yLDAuOS0wLjIsMS4zLDBsMC41LDAuMgoJCQljMC40LDAuMiwwLjgsMC4yLDEuMiwwbDAuMi0wLjFjMC4zLTAuMiwwLjgtMC4yLDEuMSwwLjFsMC4yLDAuMmMwLjMsMC4zLDAuOCwwLjIsMS0wLjJsMC4xLTAuMmMwLjEtMC4yLDAtMC4zLDAuMi0wLjMKCQkJYzAuNSwwLDEuMi0wLjMsMS4xLTAuN2wtMC40LTEuMSIvPgoJCTxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzMzNzFCNyIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBkPSJNNDMuNSwzMi4yYy0wLjEsMC4yLTAuMywwLjgsMCwxLjFjMC4zLDAuNCwzLDEuMSw2LjQsMS4xCgkJCWMyLjIsMCw0LjYtMC4zLDYtMC42YzAuNS0wLjEsMC45LTAuNSwwLjgtMC45YzAtMC4yLTAuMi0wLjUtMC40LTAuNyIvPgoJCTxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzMzNzFCNyIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBkPSJNNDMuNSwzMy4zYzAsMC41LDAuNiwyLjMsMS4zLDIuN2MxLjgsMC44LDUuNywwLjcsOC4xLDAuNQoJCQljMS4zLTAuMSwyLjUtMC43LDMuMi0xLjhjMC4zLTAuNSwwLjUtMSwwLjUtMS40Ii8+CgkJPGVsbGlwc2UgZmlsbD0iIzMzNzFCNyIgY3g9IjUxLjYiIGN5PSIyNi41IiByeD0iMC4zIiByeT0iMC40Ii8+CgkJPGVsbGlwc2UgZmlsbD0iIzMzNzFCNyIgY3g9IjUzIiBjeT0iMjUiIHJ4PSIwLjMiIHJ5PSIwLjQiLz4KCQk8ZWxsaXBzZSBmaWxsPSIjMzM3MUI3IiBjeD0iNTMiIGN5PSIyNy4yIiByeD0iMC4zIiByeT0iMC40Ii8+CgkJPGVsbGlwc2UgZmlsbD0iIzMzNzFCNyIgY3g9IjU0LjMiIGN5PSIyNi41IiByeD0iMC4zIiByeT0iMC40Ii8+CgkJPGVsbGlwc2UgZmlsbD0iIzMzNzFCNyIgY3g9IjUwLjkiIGN5PSIyNSIgcng9IjAuMyIgcnk9IjAuNCIvPgoJPC9nPgoJPGc+CgkJPHBhdGggZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMzM3MUI3IiBkPSJNMjQuMiwzMXYtNy42YzAuMSwwLjEsMC44LDAuOSwyLjgsMy4xYzIuNS0xLjYsNS42LTAuNyw2LjksMGwyLjQtMy4xdjcuMQoJCQljMCwxLjItMC4xLDIuNS0wLjksMy40Yy0xLDEuMi0yLjcsMi41LTUuMywyLjVjLTIuOSwwLTQuNS0xLjUtNS4zLTIuOUMyNC4yLDMyLjksMjQuMiwzMiwyNC4yLDMxeiIvPgoJCTxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzMzNzFCNyIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBkPSJNMjEuMiwzMGw1LjQsMS4yIi8+CgkJPHBhdGggZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMzM3MUI3IiBzdHJva2UtbGluZWNhcD0icm91bmQiIGQ9Ik0yMS4yLDM0LjFsNS40LTEuMiIvPgoJCTxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzMzNzFCNyIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBkPSJNMzguOCwzMGwtNS40LDEuMiIvPgoJCTxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzMzNzFCNyIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBkPSJNMzguOCwzNC4xbC01LjQtMS4yIi8+CgkJPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGZpbGw9IiMzMzcxQjciIGQ9Ik0yOS41LDMyLjRMMjksMzEuN2MtMC4yLTAuMywwLTAuNiwwLjMtMC42aDEuNAoJCQljMC4zLDAsMC41LDAuNCwwLjMsMC42bC0wLjcsMWwwLDBjLTAuNywxLjItMi42LDEuMS0zLjEtMC4zbC0wLjEtMC4yYy0wLjEtMC4yLDAtMC40LDAuMi0wLjVzMC40LDAsMC41LDAuMmwwLjEsMC4yCgkJCUMyOC4zLDMyLjgsMjkuMSwzMi45LDI5LjUsMzIuNHoiLz4KCQk8cGF0aCBmaWxsPSJub25lIiBzdHJva2U9IiMzMzcxQjciIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgZD0iTTMyLjQsMzIuMWwtMC4xLDAuMmMtMC40LDEtMS44LDEuMS0yLjMsMC4yIi8+CgkJPGVsbGlwc2UgZmlsbD0iIzMzNzFCNyIgY3g9IjI3LjYiIGN5PSIyOS43IiByeD0iMC43IiByeT0iMC43Ii8+CgkJPGVsbGlwc2UgZmlsbD0iIzMzNzFCNyIgY3g9IjMyLjQiIGN5PSIyOS43IiByeD0iMC43IiByeT0iMC43Ii8+Cgk8L2c+Cgk8Zz4KCQk8cGF0aCBmaWxsPSIjQzBDMEJGIiBzdHJva2U9IiNDMEMwQkYiIHN0cm9rZS13aWR0aD0iMC4xIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIGQ9Ik0xMi44LDQ5LjVjMC42LDAsMS4xLTAuNSwxLjEtMS4xCgkJCWMwLTAuNi0wLjUtMS4yLTEuMS0xLjJjLTAuNiwwLTEuMiwwLjUtMS4yLDEuMkMxMS42LDQ5LDEyLjIsNDkuNSwxMi44LDQ5LjV6IE0xMi44LDQ4YzAuMiwwLDAuNCwwLjIsMC40LDAuNAoJCQljMCwwLjItMC4yLDAuNC0wLjQsMC40Yy0wLjIsMC0wLjQtMC4yLTAuNC0wLjRDMTIuNCw0OC4xLDEyLjYsNDgsMTIuOCw0OHoiLz4KCQk8cGF0aCBmaWxsPSIjQzBDMEJGIiBzdHJva2U9IiNDMEMwQkYiIHN0cm9rZS13aWR0aD0iMC4xIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIGQ9Ik0xNC42LDUxLjJjLTAuMS0wLjEtMC4yLTAuMi0wLjMtMC4ySDUuNwoJCQljLTAuMSwwLTAuMiwwLjEtMC4zLDAuMmMtMC4xLDAuMS0wLjEsMC4yLDAsMC40YzAuNywyLDIuNSwzLjMsNC42LDMuM3MzLjktMS4zLDQuNi0zLjNDMTQuNyw1MS41LDE0LjcsNTEuMywxNC42LDUxLjJ6IE0xMCw1NC4xCgkJCWMtMS42LDAtMy0wLjktMy43LTIuMmg3LjNDMTMsNTMuMiwxMS42LDU0LjEsMTAsNTQuMXoiLz4KCQk8cGF0aCBmaWxsPSIjQzBDMEJGIiBzdHJva2U9IiNDMEMwQkYiIHN0cm9rZS13aWR0aD0iMC4xIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIGQ9Ik03LjIsNDkuNWMwLjYsMCwxLjItMC41LDEuMi0xLjEKCQkJYzAtMC42LTAuNS0xLjItMS4yLTEuMmMtMC42LDAtMS4xLDAuNS0xLjEsMS4yQzYuMSw0OSw2LjYsNDkuNSw3LjIsNDkuNXogTTcuMiw0OGMwLjIsMCwwLjQsMC4yLDAuNCwwLjRjMCwwLjItMC4yLDAuNC0wLjQsMC40CgkJCWMtMC4yLDAtMC40LTAuMi0wLjQtMC40QzYuOCw0OC4xLDcsNDgsNy4yLDQ4eiIvPgoJCTxwYXRoIGZpbGw9IiNDMEMwQkYiIHN0cm9rZT0iI0MwQzBCRiIgc3Ryb2tlLXdpZHRoPSIwLjEiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgZD0iTTEwLDQzYy0zLjgsMC03LDMuMS03LDdjMCwzLjgsMy4xLDcsNyw3CgkJCXM3LTMuMSw3LTdDMTcsNDYuMiwxMy44LDQzLDEwLDQzeiBNMTAsNTYuMmMtMy40LDAtNi4yLTIuOC02LjItNi4yYzAtMy40LDIuOC02LjIsNi4yLTYuMnM2LjIsMi44LDYuMiw2LjIKCQkJQzE2LjIsNTMuNCwxMy40LDU2LjIsMTAsNTYuMnoiLz4KCTwvZz4KCTxnPgoJCTxnPgoJCQk8cGF0aCBmaWxsPSJub25lIiBzdHJva2U9IiNDMEMwQkYiIGQ9Ik02NC4xLDUzLjRsMi4zLDBjMC4yLDAsMC40LDAuMiwwLjQsMC40djIuMWMwLDAuMi0wLjIsMC40LTAuNCwwLjRoLTIuMwoJCQkJYy0wLjIsMC0wLjQtMC4yLTAuNC0wLjR2LTIuMUM2My43LDUzLjYsNjMuOCw1My40LDY0LjEsNTMuNHoiLz4KCQkJPHBhdGggZmlsbD0ibm9uZSIgc3Ryb2tlPSIjQzBDMEJGIiBkPSJNNzMuNSw1My41aDIuNGMwLjIsMCwwLjQsMC4yLDAuNCwwLjR2MmMwLDAuMi0wLjIsMC40LTAuNCwwLjRoLTIuNAoJCQkJYy0wLjIsMC0wLjQtMC4yLTAuNC0wLjRsMC0yQzczLjEsNTMuNiw3My4zLDUzLjUsNzMuNSw1My41eiIvPgoJCQk8cGF0aCBmaWxsPSJub25lIiBzdHJva2U9IiNDMEMwQkYiIGQ9Ik02My43LDQ4LjRoMTIuNnY1SDYzLjdWNDguNHoiLz4KCQkJPHBhdGggZmlsbD0ibm9uZSIgc3Ryb2tlPSIjQzBDMEJGIiBkPSJNNjUuNSw0My42aDguOWMxLDAsMS45LDAuOCwxLjksMS45djMuMUg2My43di0zLjFDNjMuNyw0NC41LDY0LjUsNDMuNiw2NS41LDQzLjZ6Ii8+CgkJCTxlbGxpcHNlIGZpbGw9IiNDMEMwQkYiIGN4PSI2Ni4yIiBjeT0iNTAuOSIgcng9IjAuOSIgcnk9IjEiLz4KCQkJPGVsbGlwc2UgZmlsbD0iI0MwQzBCRiIgY3g9IjczLjgiIGN5PSI1MC45IiByeD0iMC45IiByeT0iMSIvPgoJCTwvZz4KCTwvZz4KCTxnPgoJCTxnPgoJCQk8cGF0aCBmaWxsPSJub25lIiBzdHJva2U9IiNDMEMwQkYiIGQ9Ik05Ni40LDUwYzAsMy42LTIuOSw2LjUtNi40LDYuNXMtNi40LTIuOS02LjQtNi41czIuOS02LjUsNi40LTYuNVM5Ni40LDQ2LjQsOTYuNCw1MHoiLz4KCQkJPHBhdGggZmlsbD0ibm9uZSIgc3Ryb2tlPSIjQzBDMEJGIiBkPSJNOTYuMyw0OC42YzAsMCwwLDAuMSwwLDAuMWMtMC45LDAuMS0yLjksMC4xLTQuNi0xLjJjLTEuMS0wLjgtMi0xLjctMi42LTIuNQoJCQkJYy0wLjMtMC40LTAuNi0wLjgtMC43LTFjLTAuMS0wLjEtMC4xLTAuMi0wLjEtMC4yYzAuNS0wLjEsMS4yLTAuMiwyLTAuMmMxLjIsMCwyLjUsMC4zLDMuNSwxLjFjMSwwLjgsMS43LDEuOCwyLjEsMi44CgkJCQlDOTYuMSw0Ny45LDk2LjIsNDguMyw5Ni4zLDQ4LjZ6Ii8+CgkJCTxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZT0iI0MwQzBCRiIgZD0iTTg0LDUyLjJjMCwwLDAtMC4xLDAtMC4xYzAuOS0wLjIsMi45LTAuNCw0LjcsMC42YzEuMSwwLjcsMS45LDEuNSwyLjQsMi4zCgkJCQljMC40LDAuNSwwLjYsMSwwLjcsMS4zYy0wLjQsMC4xLTEsMC4yLTEuNywwLjNjLTEsMC0yLjEtMC4xLTMuMi0wLjhzLTEuOS0xLjYtMi40LTIuNUM4NC4yLDUyLjgsODQuMSw1Mi41LDg0LDUyLjJ6Ii8+CgkJPC9nPgoJPC9nPgoJPGc+CgkJPGc+CgkJCTxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZT0iI0MwQzBCRiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBkPSJNMTE2LjMsNDYuOGwtMS40LDJsLTAuOC0wLjhsLTAuNi0wLjdsMCwwLjlsLTAuMSw4LjJoLTYuOAoJCQkJbC0wLjEtOC4ybDAtMC45bC0wLjYsMC43bC0wLjgsMC44bC0xLjQtMmwyLjYtMi45YzAuMS0wLjEsMC4yLTAuMSwwLjMtMC4xaDEuM2wwLjQsMC43YzAuNywxLjMsMi42LDEuMywzLjMtMC4xbDAuMy0wLjZoMS4yCgkJCQljMC4xLDAsMC4yLDAsMC4zLDAuMWwwLjMtMC4zbC0wLjMsMC4zTDExNi4zLDQ2Ljh6Ii8+CgkJCTxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZT0iI0MwQzBCRiIgZD0iTTExMC4xLDQ3LjdoMnYwLjljMCwwLjQtMC40LDAuNy0xLDAuN2MtMC42LDAtMS0wLjMtMS0wLjdMMTEwLjEsNDcuN0wxMTAuMSw0Ny43eiIvPgoJCTwvZz4KCTwvZz4KCTxnPgoJCTxnPgoJCQk8cGF0aCBmaWxsPSJub25lIiBzdHJva2U9IiNDMEMwQkYiIGQ9Ik0xMjYuOCw1NC4zYzAsMS4yLTEsMi4yLTIuMiwyLjJzLTIuMi0xLTIuMi0yLjJzMS0yLjIsMi4yLTIuMlMxMjYuOCw1My4xLDEyNi44LDU0LjN6Ii8+CgkJCTxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZT0iI0MwQzBCRiIgZD0iTTEzNy42LDU0LjNjMCwxLjItMSwyLjItMi4yLDIuMmMtMS4yLDAtMi4yLTEtMi4yLTIuMnMxLTIuMiwyLjItMi4yCgkJCQlDMTM2LjYsNTIuMSwxMzcuNiw1My4xLDEzNy42LDU0LjN6Ii8+CgkJCTxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZT0iI0MwQzBCRiIgZD0iTTEyNi44LDQ0LjR2OS45Ii8+CgkJCTxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZT0iI0MwQzBCRiIgZD0iTTEzNy43LDQ0LjR2OS45Ii8+CgkJCTxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZT0iI0MwQzBCRiIgZD0iTTEyNi44LDQzLjVoMTAuOHYyLjdoLTEwLjhDMTI2LjgsNDYuMiwxMjYuOCw0My41LDEyNi44LDQzLjV6Ii8+CgkJPC9nPgoJPC9nPgoJPGc+CgkJPGc+CgkJCTxwYXRoIGZpbGw9IiNDMEMwQkYiIGQ9Ik0xNzAuOCw0My4xTDE3MC44LDQzLjFjLTAuMywwLTAuNSwwLTAuOCwwYy0yLjEsMC00LDEtNS4zLDIuNWwtMC4xLDBsLTAuMS0wLjFsLTEtMS4ybC0wLjMsMy40bDMuNCwwLjMKCQkJCWwtMS4xLTEuM2wtMC4xLTAuMWwwLjEtMC4xYzEuMS0xLjUsMy0yLjMsNS0yLjFsMCwwYzMuMiwwLjMsNS41LDMuMSw1LjIsNi4zYy0wLjMsMy0zLjEsNS4zLTYuMSw1LjFjLTMuMS0wLjItNS40LTIuOS01LjMtNgoJCQkJbC0xLjMtMC4xYy0wLjIsMy44LDIuNiw3LjEsNi4zLDcuNGMzLjksMC4zLDcuMy0yLjYsNy42LTYuNUMxNzcuMiw0Ni44LDE3NC40LDQzLjUsMTcwLjgsNDMuMXoiLz4KCQkJPHBhdGggZmlsbD0iI0MwQzBCRiIgZD0iTTE3MC4zLDQ3LjRjMC0wLjMtMC4zLTAuNi0wLjYtMC42cy0wLjYsMC4zLTAuNiwwLjZ2My4yYzAsMC4yLDAuMSwwLjMsMC4yLDAuNGMwLjEsMC4xLDAuMywwLjIsMC40LDAuMgoJCQkJaDIuNGMwLjQsMCwwLjYtMC4zLDAuNi0wLjZjMC0wLjMtMC4zLTAuNi0wLjYtMC42aC0xLjZoLTAuMnYtMC4yTDE3MC4zLDQ3LjRMMTcwLjMsNDcuNHoiLz4KCQk8L2c+Cgk8L2c+Cgk8Zz4KCQk8Zz4KCQkJPHBhdGggZmlsbD0ibm9uZSIgc3Ryb2tlPSIjQzBDMEJGIiBkPSJNMTg2LjIsNDMuNGg3LjdjMS41LDAsMi43LDEuMiwyLjcsMi43djcuN2MwLDEuNS0xLjIsMi43LTIuNywyLjdoLTcuNwoJCQkJYy0xLjUsMC0yLjctMS4yLTIuNy0yLjd2LTcuN0MxODMuNCw0NC43LDE4NC43LDQzLjQsMTg2LjIsNDMuNHoiLz4KCQkJPGVsbGlwc2UgZmlsbD0iI0MwQzBCRiIgY3g9IjE4NiIgY3k9IjQ4LjkiIHJ4PSIwLjciIHJ5PSIwLjciLz4KCQkJPGVsbGlwc2UgZmlsbD0iI0MwQzBCRiIgY3g9IjE5NCIgY3k9IjQ2LjciIHJ4PSIwLjciIHJ5PSIwLjciLz4KCQkJPHBhdGggZmlsbD0ibm9uZSIgc3Ryb2tlPSIjQzBDMEJGIiBzdHJva2UtbGluZWNhcD0icm91bmQiIGQ9Ik0xODYsNTMuM2wwLjQtMC4zYzAuNC0wLjMsMS0wLjMsMS41LTAuMWwxLDAuNAoJCQkJYzAuNSwwLjIsMSwwLjIsMS41LTAuMWwwLjgtMC41YzAuNC0wLjMsMS0wLjMsMS41LTAuMWwxLjgsMC44Ii8+CgkJPC9nPgoJPC9nPgoJPHBhdGggZmlsbD0iI0MwQzBCRiIgc3Ryb2tlPSIjQzBDMEJGIiBzdHJva2Utd2lkdGg9IjAuMjUiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgZD0iTTE1Niw0NC4zYy0wLjItMC4xLTAuNC0wLjEtMC41LDAKCQljMCwwLTAuMiwwLjEtMC45LDAuMmMtMC43LDAtMi40LTAuMS0zLjgtMC42Yy0wLjgtMC4zLTEuNy0wLjUtMi41LTAuNWMtMC4yLDAtMC40LDAtMC41LDBjLTEuMywwLTIuNSwwLjMtMy42LDEKCQljLTAuMiwwLjEtMC4yLDAuMi0wLjIsMC40djExLjZjMCwwLjMsMC4xLDAuNSwwLjMsMC41YzAuNiwwLDAuNS0wLjQsMC41LTAuNnYtNS43YzAuNy0wLjMsMy4yLTEuMSw1LjgtMC4xCgkJYzEuNiwwLjYsMy41LDAuNyw0LjMsMC43YzAuOCwwLDEuMy0wLjMsMS4zLTAuM2MwLjItMC4xLDAuMy0wLjIsMC4zLTAuNHYtNS43QzE1Ni4yLDQ0LjYsMTU2LjEsNDQuNCwxNTYsNDQuM3ogTTE1NS42LDUwLjIKCQljLTAuMSwwLTAuNywwLjEtMSwwLjFjLTAuNywwLTIuNC0wLjEtMy44LTAuNmMtMi41LTEtNS0wLjUtNi4yLTAuMXYtNC45YzAuOS0wLjUsMi4yLTAuNywzLjItMC43YzAuMSwwLDAuMywwLDAuNCwwCgkJYzAuNywwLDEuNSwwLjIsMi4yLDAuNGMxLjYsMC42LDMuNSwwLjcsNC4zLDAuN2MwLjIsMCwwLjgsMCwxLTAuMVY1MC4yeiIvPgoJPGc+CgkJPHBhdGggZmlsbD0ibm9uZSIgc3Ryb2tlPSIjQzBDMEJGIiBkPSJNNDguMSw0My41aDMuN2MyLjUsMCw0LjUsMiw0LjUsNC41YzAsMC41LTAuNCwwLjktMC45LDAuOUg0NC41Yy0wLjUsMC0wLjktMC40LTAuOS0wLjkKCQkJQzQzLjYsNDUuNSw0NS42LDQzLjUsNDguMSw0My41eiIvPgoJCTxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZT0iI0MwQzBCRiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBkPSJNNDMuNSw0OC44Yy0wLjIsMC4xLTAuNSwxLjIsMCwxLjVjMS40LDEsOC41LDAuOCwxMS4zLDAuNgoJCQljMC44LTAuMSwxLjYtMC40LDEuNy0xLjJjMC0wLjMtMC4xLTAuNi0wLjYtMC45Ii8+CgkJPHBhdGggZmlsbD0ibm9uZSIgc3Ryb2tlPSIjQzBDMEJGIiBzdHJva2UtbGluZWNhcD0icm91bmQiIGQ9Ik00My41LDUwLjZMNDMuMyw1MWMtMC4yLDAuNSwwLjIsMSwwLjcsMC45YzAuMy0wLjEsMC41LDAsMC43LDAuMwoJCQlsMC4xLDAuMmMwLjMsMC41LDEsMC42LDEuNSwwLjJsMCwwYzAuMy0wLjIsMC43LTAuMywxLTAuMmwwLjgsMC4zYzAuNCwwLjIsMC44LDAuMSwxLjIsMGwwLjUtMC4yYzAuNC0wLjIsMC45LTAuMiwxLjMsMGwwLjUsMC4yCgkJCWMwLjQsMC4yLDAuOCwwLjIsMS4yLDBsMC4yLTAuMWMwLjMtMC4yLDAuOC0wLjIsMS4xLDAuMWwwLjIsMC4yYzAuMywwLjMsMC44LDAuMiwxLTAuMmwwLjEtMC4yYzAuMS0wLjIsMC0wLjMsMC4yLTAuMwoJCQljMC41LDAsMS4yLTAuMywxLjEtMC43bC0wLjQtMS4xIi8+CgkJPHBhdGggZmlsbD0ibm9uZSIgc3Ryb2tlPSIjQzBDMEJGIiBzdHJva2UtbGluZWNhcD0icm91bmQiIGQ9Ik00My41LDUyLjJjLTAuMSwwLjItMC4zLDAuOCwwLDEuMWMwLjMsMC40LDMsMS4xLDYuNCwxLjEKCQkJYzIuMiwwLDQuNi0wLjMsNi0wLjZjMC41LTAuMSwwLjktMC41LDAuOC0wLjljMC0wLjItMC4yLTAuNS0wLjQtMC43Ii8+CgkJPHBhdGggZmlsbD0ibm9uZSIgc3Ryb2tlPSIjQzBDMEJGIiBzdHJva2UtbGluZWNhcD0icm91bmQiIGQ9Ik00My41LDUzLjNjMCwwLjUsMC42LDIuMywxLjMsMi43YzEuOCwwLjgsNS43LDAuNyw4LjEsMC41CgkJCWMxLjMtMC4xLDIuNS0wLjcsMy4yLTEuOGMwLjMtMC41LDAuNS0xLDAuNS0xLjQiLz4KCQk8ZWxsaXBzZSBmaWxsPSIjQzBDMEJGIiBjeD0iNTEuNiIgY3k9IjQ2LjUiIHJ4PSIwLjMiIHJ5PSIwLjQiLz4KCQk8ZWxsaXBzZSBmaWxsPSIjQzBDMEJGIiBjeD0iNTMiIGN5PSI0NSIgcng9IjAuMyIgcnk9IjAuNCIvPgoJCTxlbGxpcHNlIGZpbGw9IiNDMEMwQkYiIGN4PSI1MyIgY3k9IjQ3LjIiIHJ4PSIwLjMiIHJ5PSIwLjQiLz4KCQk8ZWxsaXBzZSBmaWxsPSIjQzBDMEJGIiBjeD0iNTQuMyIgY3k9IjQ2LjUiIHJ4PSIwLjMiIHJ5PSIwLjQiLz4KCQk8ZWxsaXBzZSBmaWxsPSIjQzBDMEJGIiBjeD0iNTAuOSIgY3k9IjQ1IiByeD0iMC4zIiByeT0iMC40Ii8+Cgk8L2c+Cgk8Zz4KCQk8cGF0aCBmaWxsPSJub25lIiBzdHJva2U9IiNDMEMwQkYiIGQ9Ik0yNC4yLDUxdi03LjZjMC4xLDAuMSwwLjgsMC45LDIuOCwzLjFjMi41LTEuNyw1LjYtMC43LDYuOSwwbDIuNC0zLjF2Ny4xCgkJCWMwLDEuMi0wLjEsMi41LTAuOSwzLjRjLTEsMS4yLTIuNywyLjUtNS4zLDIuNWMtMi45LDAtNC41LTEuNS01LjMtMi45QzI0LjIsNTIuOSwyNC4yLDUyLDI0LjIsNTF6Ii8+CgkJPHBhdGggZmlsbD0ibm9uZSIgc3Ryb2tlPSIjQzBDMEJGIiBzdHJva2UtbGluZWNhcD0icm91bmQiIGQ9Ik0yMS4yLDUwbDUuNCwxLjIiLz4KCQk8cGF0aCBmaWxsPSJub25lIiBzdHJva2U9IiNDMEMwQkYiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgZD0iTTIxLjIsNTQuMWw1LjQtMS4yIi8+CgkJPHBhdGggZmlsbD0ibm9uZSIgc3Ryb2tlPSIjQzBDMEJGIiBzdHJva2UtbGluZWNhcD0icm91bmQiIGQ9Ik0zOC44LDUwbC01LjQsMS4yIi8+CgkJPHBhdGggZmlsbD0ibm9uZSIgc3Ryb2tlPSIjQzBDMEJGIiBzdHJva2UtbGluZWNhcD0icm91bmQiIGQ9Ik0zOC44LDU0LjFsLTUuNC0xLjIiLz4KCQk8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZmlsbD0iI0MwQzBCRiIgZD0iTTI5LjUsNTIuNEwyOSw1MS43Yy0wLjItMC4zLDAtMC42LDAuMy0wLjZoMS40CgkJCWMwLjMsMCwwLjUsMC40LDAuMywwLjZsLTAuNywxbDAsMGMtMC43LDEuMi0yLjYsMS4xLTMuMS0wLjNsLTAuMS0wLjJjLTAuMS0wLjIsMC0wLjQsMC4yLTAuNXMwLjQsMCwwLjUsMC4ybDAuMSwwLjIKCQkJQzI4LjMsNTIuOCwyOS4xLDUyLjksMjkuNSw1Mi40eiIvPgoJCTxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZT0iI0MwQzBCRiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBkPSJNMzIuNCw1Mi4xbC0wLjEsMC4yYy0wLjQsMS0xLjgsMS4xLTIuMywwLjIiLz4KCQk8ZWxsaXBzZSBmaWxsPSIjQzBDMEJGIiBjeD0iMjcuNiIgY3k9IjQ5LjciIHJ4PSIwLjciIHJ5PSIwLjciLz4KCQk8ZWxsaXBzZSBmaWxsPSIjQzBDMEJGIiBjeD0iMzIuNCIgY3k9IjQ5LjciIHJ4PSIwLjciIHJ5PSIwLjciLz4KCTwvZz4KCTxnPgoJCTxwYXRoIGZpbGw9IiM2QUE5REQiIHN0cm9rZT0iIzZBQTlERCIgc3Ryb2tlLXdpZHRoPSIwLjEiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgZD0iTTE0LjYsNzEuMmMtMC4xLTAuMS0wLjItMC4yLTAuMy0wLjJINS43CgkJCWMtMC4xLDAtMC4yLDAuMS0wLjMsMC4yYy0wLjEsMC4xLTAuMSwwLjIsMCwwLjRjMC43LDIsMi41LDMuMyw0LjYsMy4zczMuOS0xLjMsNC42LTMuM0MxNC43LDcxLjUsMTQuNyw3MS4zLDE0LjYsNzEuMnogTTEwLDc0LjEKCQkJYy0xLjYsMC0zLTAuOS0zLjctMi4yaDcuM0MxMyw3My4yLDExLjYsNzQuMSwxMCw3NC4xeiIvPgoJCTxwYXRoIGZpbGw9IiM2QUE5REQiIHN0cm9rZT0iIzZBQTlERCIgc3Ryb2tlLXdpZHRoPSIwLjEiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgZD0iTTEyLjgsNjkuNWMwLjYsMCwxLjEtMC41LDEuMS0xLjEKCQkJYzAtMC42LTAuNS0xLjItMS4xLTEuMmMtMC42LDAtMS4yLDAuNS0xLjIsMS4yQzExLjYsNjksMTIuMiw2OS41LDEyLjgsNjkuNXogTTEyLjgsNjhjMC4yLDAsMC40LDAuMiwwLjQsMC40CgkJCWMwLDAuMi0wLjIsMC40LTAuNCwwLjRjLTAuMiwwLTAuNC0wLjItMC40LTAuNEMxMi40LDY4LjEsMTIuNiw2OCwxMi44LDY4eiIvPgoJCTxwYXRoIGZpbGw9IiM2QUE5REQiIHN0cm9rZT0iIzZBQTlERCIgc3Ryb2tlLXdpZHRoPSIwLjEiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgZD0iTTcuMiw2OS41YzAuNiwwLDEuMi0wLjUsMS4yLTEuMQoJCQljMC0wLjYtMC41LTEuMi0xLjItMS4yYy0wLjYsMC0xLjEsMC41LTEuMSwxLjJDNi4xLDY5LDYuNiw2OS41LDcuMiw2OS41eiBNNy4yLDY4YzAuMiwwLDAuNCwwLjIsMC40LDAuNGMwLDAuMi0wLjIsMC40LTAuNCwwLjQKCQkJYy0wLjIsMC0wLjQtMC4yLTAuNC0wLjRDNi44LDY4LjEsNyw2OCw3LjIsNjh6Ii8+CgkJPHBhdGggZmlsbD0iIzZBQTlERCIgc3Ryb2tlPSIjNkFBOUREIiBzdHJva2Utd2lkdGg9IjAuMSIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBkPSJNMTAsNjNjLTMuOCwwLTcsMy4xLTcsN2MwLDMuOCwzLjEsNyw3LDcKCQkJczctMy4xLDctN0MxNyw2Ni4yLDEzLjgsNjMsMTAsNjN6IE0xMCw3Ni4yYy0zLjQsMC02LjItMi44LTYuMi02LjJjMC0zLjQsMi44LTYuMiw2LjItNi4yczYuMiwyLjgsNi4yLDYuMgoJCQlDMTYuMiw3My40LDEzLjQsNzYuMiwxMCw3Ni4yeiIvPgoJPC9nPgoJPGc+CgkJPGc+CgkJCTxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzZBQTlERCIgZD0iTTY0LjEsNzMuNGwyLjMsMGMwLjIsMCwwLjQsMC4yLDAuNCwwLjR2Mi4xYzAsMC4yLTAuMiwwLjQtMC40LDAuNGgtMi4zCgkJCQljLTAuMiwwLTAuNC0wLjItMC40LTAuNHYtMi4xQzYzLjcsNzMuNiw2My44LDczLjQsNjQuMSw3My40eiIvPgoJCQk8cGF0aCBmaWxsPSJub25lIiBzdHJva2U9IiM2QUE5REQiIGQ9Ik03My41LDczLjVoMi40YzAuMiwwLDAuNCwwLjIsMC40LDAuNHYyLjFjMCwwLjItMC4yLDAuNC0wLjQsMC40aC0yLjQKCQkJCWMtMC4yLDAtMC40LTAuMi0wLjQtMC40bDAtMi4xQzczLjEsNzMuNiw3My4zLDczLjUsNzMuNSw3My41eiIvPgoJCQk8cGF0aCBmaWxsPSJub25lIiBzdHJva2U9IiM2QUE5REQiIGQ9Ik02My43LDY4LjRoMTIuNnY1SDYzLjdWNjguNHoiLz4KCQkJPHBhdGggZmlsbD0ibm9uZSIgc3Ryb2tlPSIjNkFBOUREIiBkPSJNNjUuNSw2My42aDguOWMxLDAsMS45LDAuOCwxLjksMS45djMuMUg2My43di0zLjFDNjMuNyw2NC41LDY0LjUsNjMuNiw2NS41LDYzLjZ6Ii8+CgkJCTxlbGxpcHNlIGZpbGw9IiM2QUE5REQiIGN4PSI2Ni4yIiBjeT0iNzAuOSIgcng9IjAuOSIgcnk9IjAuOSIvPgoJCQk8ZWxsaXBzZSBmaWxsPSIjNkFBOUREIiBjeD0iNzMuOCIgY3k9IjcwLjkiIHJ4PSIwLjkiIHJ5PSIwLjkiLz4KCQk8L2c+Cgk8L2c+Cgk8Zz4KCQk8Zz4KCQkJPHBhdGggZmlsbD0ibm9uZSIgc3Ryb2tlPSIjNkFBOUREIiBkPSJNOTYuNCw3MGMwLDMuNi0yLjksNi41LTYuNCw2LjVzLTYuNC0yLjktNi40LTYuNXMyLjktNi41LDYuNC02LjVTOTYuNCw2Ni40LDk2LjQsNzB6Ii8+CgkJCTxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzZBQTlERCIgZD0iTTk2LjMsNjguNmMwLDAsMCwwLjEsMCwwLjFjLTAuOSwwLjEtMi45LDAuMS00LjYtMS4yYy0xLjEtMC44LTItMS43LTIuNi0yLjUKCQkJCWMtMC4zLTAuNC0wLjYtMC44LTAuNy0xLjFjLTAuMS0wLjEtMC4xLTAuMi0wLjEtMC4yYzAuNS0wLjEsMS4yLTAuMiwyLTAuMmMxLjIsMCwyLjUsMC4zLDMuNSwxLjFjMSwwLjgsMS43LDEuOCwyLjEsMi44CgkJCQlDOTYuMSw2Ny45LDk2LjIsNjguMyw5Ni4zLDY4LjZ6Ii8+CgkJCTxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzZBQTlERCIgZD0iTTg0LDcyLjJjMCwwLDAtMC4xLDAtMC4xYzAuOS0wLjIsMi45LTAuNCw0LjcsMC42YzEuMSwwLjcsMS45LDEuNSwyLjQsMi4zCgkJCQljMC40LDAuNSwwLjYsMSwwLjcsMS4zYy0wLjQsMC4xLTEsMC4yLTEuNywwLjNjLTEsMC0yLjEtMC4xLTMuMi0wLjhzLTEuOS0xLjYtMi40LTIuNUM4NC4yLDcyLjgsODQuMSw3Mi40LDg0LDcyLjJ6Ii8+CgkJPC9nPgoJPC9nPgoJPGc+CgkJPGc+CgkJCTxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzZBQTlERCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBkPSJNMTE2LjMsNjYuOGwtMS40LDJsLTAuOC0wLjhsLTAuNi0wLjdsMCwwLjlsLTAuMSw4LjJoLTYuOAoJCQkJbC0wLjEtOC4ybDAtMC45bC0wLjYsMC43bC0wLjgsMC44bC0xLjQtMmwyLjYtMi45YzAuMS0wLjEsMC4yLTAuMSwwLjMtMC4xaDEuM2wwLjQsMC43YzAuNywxLjMsMi42LDEuMywzLjMtMC4xbDAuMy0wLjZoMS4yCgkJCQljMC4xLDAsMC4yLDAsMC4zLDAuMWwwLjMtMC4zbC0wLjMsMC4zTDExNi4zLDY2Ljh6Ii8+CgkJCTxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzZBQTlERCIgZD0iTTExMC4xLDY3LjdoMnYwLjljMCwwLjQtMC40LDAuNy0xLDAuN2MtMC42LDAtMS0wLjMtMS0wLjdMMTEwLjEsNjcuN0wxMTAuMSw2Ny43eiIvPgoJCTwvZz4KCTwvZz4KCTxnPgoJCTxnPgoJCQk8cGF0aCBmaWxsPSJub25lIiBzdHJva2U9IiM2QUE5REQiIGQ9Ik0xMjYuOCw3NC4zYzAsMS4yLTEsMi4yLTIuMiwyLjJzLTIuMi0xLTIuMi0yLjJzMS0yLjIsMi4yLTIuMlMxMjYuOCw3My4xLDEyNi44LDc0LjN6Ii8+CgkJCTxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzZBQTlERCIgZD0iTTEzNy42LDc0LjNjMCwxLjItMSwyLjItMi4yLDIuMmMtMS4yLDAtMi4yLTEtMi4yLTIuMnMxLTIuMiwyLjItMi4yCgkJCQlDMTM2LjYsNzIuMSwxMzcuNiw3My4xLDEzNy42LDc0LjN6Ii8+CgkJCTxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzZBQTlERCIgZD0iTTEyNi44LDY0LjR2OS45Ii8+CgkJCTxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzZBQTlERCIgZD0iTTEzNy43LDY0LjR2OS45Ii8+CgkJCTxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzZBQTlERCIgZD0iTTEyNi44LDYzLjVoMTAuOHYyLjdoLTEwLjhDMTI2LjgsNjYuMiwxMjYuOCw2My41LDEyNi44LDYzLjV6Ii8+CgkJPC9nPgoJPC9nPgoJPGc+CgkJPGc+CgkJCTxwYXRoIGZpbGw9IiM2QUE5REQiIGQ9Ik0xNzAuOCw2My4xTDE3MC44LDYzLjFjLTAuMywwLTAuNSwwLTAuOCwwYy0yLjEsMC00LDEtNS4zLDIuNWwtMC4xLDBsLTAuMS0wLjFsLTEtMS4ybC0wLjMsMy40bDMuNCwwLjMKCQkJCWwtMS4xLTEuM2wtMC4xLTAuMWwwLjEtMC4xYzEuMS0xLjQsMy0yLjMsNS0yLjFsMCwwYzMuMiwwLjMsNS41LDMuMSw1LjIsNi4zYy0wLjMsMy0zLjEsNS4zLTYuMSw1LjFjLTMuMS0wLjItNS40LTIuOS01LjMtNgoJCQkJbC0xLjMtMC4xYy0wLjIsMy44LDIuNiw3LjEsNi4zLDcuNGMzLjksMC4zLDcuMy0yLjYsNy42LTYuNUMxNzcuMiw2Ni44LDE3NC40LDYzLjUsMTcwLjgsNjMuMXoiLz4KCQkJPHBhdGggZmlsbD0iIzZBQTlERCIgZD0iTTE3MC4zLDY3LjRjMC0wLjMtMC4zLTAuNi0wLjYtMC42cy0wLjYsMC4zLTAuNiwwLjZ2My4yYzAsMC4yLDAuMSwwLjMsMC4yLDAuNGMwLjEsMC4xLDAuMywwLjIsMC40LDAuMgoJCQkJaDIuNGMwLjQsMCwwLjYtMC4zLDAuNi0wLjZTMTcyLjQsNzAsMTcyLDcwaC0xLjZoLTAuMnYtMC4yTDE3MC4zLDY3LjRMMTcwLjMsNjcuNHoiLz4KCQk8L2c+Cgk8L2c+Cgk8Zz4KCQk8Zz4KCQkJPHBhdGggZmlsbD0ibm9uZSIgc3Ryb2tlPSIjNkFBOUREIiBkPSJNMTg2LjIsNjMuNGg3LjdjMS41LDAsMi43LDEuMiwyLjcsMi43djcuN2MwLDEuNS0xLjIsMi43LTIuNywyLjdoLTcuNwoJCQkJYy0xLjUsMC0yLjctMS4yLTIuNy0yLjd2LTcuN0MxODMuNCw2NC43LDE4NC43LDYzLjQsMTg2LjIsNjMuNHoiLz4KCQkJPGVsbGlwc2UgZmlsbD0iIzZBQTlERCIgY3g9IjE4NiIgY3k9IjY4LjkiIHJ4PSIwLjciIHJ5PSIwLjciLz4KCQkJPGVsbGlwc2UgZmlsbD0iIzZBQTlERCIgY3g9IjE5NCIgY3k9IjY2LjciIHJ4PSIwLjciIHJ5PSIwLjciLz4KCQkJPHBhdGggZmlsbD0ibm9uZSIgc3Ryb2tlPSIjNkFBOUREIiBzdHJva2UtbGluZWNhcD0icm91bmQiIGQ9Ik0xODYsNzMuM2wwLjQtMC4zYzAuNC0wLjMsMS0wLjMsMS41LTAuMWwxLDAuNAoJCQkJYzAuNSwwLjIsMSwwLjIsMS41LTAuMWwwLjgtMC41YzAuNC0wLjMsMS0wLjMsMS41LTAuMWwxLjgsMC44Ii8+CgkJPC9nPgoJPC9nPgoJPHBhdGggZmlsbD0iIzZBQTlERCIgc3Ryb2tlPSIjNkFBOUREIiBzdHJva2Utd2lkdGg9IjAuMjUiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgZD0iTTE1Niw2NC4zYy0wLjItMC4xLTAuNC0wLjEtMC41LDAKCQljMCwwLTAuMiwwLjEtMC45LDAuMmMtMC43LDAtMi40LTAuMS0zLjgtMC42Yy0wLjgtMC4zLTEuNy0wLjUtMi41LTAuNWMtMC4yLDAtMC40LDAtMC41LDBjLTEuMywwLTIuNSwwLjMtMy42LDEKCQljLTAuMiwwLjEtMC4yLDAuMi0wLjIsMC40djExLjZjMCwwLjMsMC4xLDAuNSwwLjMsMC41YzAuNiwwLDAuNS0wLjQsMC41LTAuNnYtNS43YzAuNy0wLjMsMy4yLTEuMSw1LjgtMC4xCgkJYzEuNiwwLjYsMy41LDAuNyw0LjMsMC43YzAuOCwwLDEuMy0wLjMsMS4zLTAuM2MwLjItMC4xLDAuMy0wLjIsMC4zLTAuNHYtNS43QzE1Ni4yLDY0LjYsMTU2LjEsNjQuNCwxNTYsNjQuM3ogTTE1NS42LDcwLjIKCQljLTAuMSwwLTAuNywwLjEtMSwwLjFjLTAuNywwLTIuNC0wLjEtMy44LTAuNmMtMi41LTEtNS0wLjUtNi4yLTAuMXYtNC45YzAuOS0wLjUsMi4yLTAuNywzLjItMC43YzAuMSwwLDAuMywwLDAuNCwwCgkJYzAuNywwLDEuNSwwLjIsMi4yLDAuNGMxLjYsMC42LDMuNSwwLjcsNC4zLDAuN2MwLjIsMCwwLjgsMCwxLTAuMVY3MC4yeiIvPgoJPGc+CgkJPHBhdGggZmlsbD0ibm9uZSIgc3Ryb2tlPSIjNkFBOUREIiBkPSJNNDguMSw2My41aDMuN2MyLjUsMCw0LjUsMiw0LjUsNC41YzAsMC41LTAuNCwwLjktMC45LDAuOUg0NC41Yy0wLjUsMC0wLjktMC40LTAuOS0wLjkKCQkJQzQzLjYsNjUuNSw0NS42LDYzLjUsNDguMSw2My41eiIvPgoJCTxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzZBQTlERCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBkPSJNNDMuNSw2OC44Yy0wLjIsMC4xLTAuNSwxLjIsMCwxLjVjMS40LDAuOSw4LjUsMC44LDExLjMsMC42CgkJCWMwLjgtMC4xLDEuNi0wLjQsMS43LTEuMmMwLTAuMy0wLjEtMC42LTAuNi0wLjkiLz4KCQk8cGF0aCBmaWxsPSJub25lIiBzdHJva2U9IiM2QUE5REQiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgZD0iTTQzLjUsNzAuNkw0My4zLDcxYy0wLjIsMC41LDAuMiwxLDAuNywwLjljMC4zLTAuMSwwLjUsMC4xLDAuNywwLjMKCQkJbDAuMSwwLjJjMC4zLDAuNSwxLDAuNiwxLjUsMC4ybDAsMGMwLjMtMC4yLDAuNy0wLjMsMS0wLjJsMC44LDAuM2MwLjQsMC4yLDAuOCwwLjEsMS4yLDBsMC41LTAuMmMwLjQtMC4yLDAuOS0wLjIsMS4zLDBsMC41LDAuMgoJCQljMC40LDAuMiwwLjgsMC4yLDEuMi0wLjFsMC4yLTAuMWMwLjMtMC4yLDAuOC0wLjIsMS4xLDAuMWwwLjIsMC4yYzAuMywwLjMsMC44LDAuMiwxLTAuMmwwLjEtMC4yYzAuMS0wLjIsMC0wLjMsMC4yLTAuMwoJCQljMC41LDAsMS4yLTAuMywxLjEtMC43bC0wLjQtMS4xIi8+CgkJPHBhdGggZmlsbD0ibm9uZSIgc3Ryb2tlPSIjNkFBOUREIiBzdHJva2UtbGluZWNhcD0icm91bmQiIGQ9Ik00My41LDcyLjJjLTAuMSwwLjItMC4zLDAuOCwwLDEuMWMwLjMsMC40LDMsMS4xLDYuNCwxLjEKCQkJYzIuMiwwLDQuNi0wLjMsNi0wLjZjMC41LTAuMSwwLjktMC40LDAuOC0wLjljMC0wLjItMC4yLTAuNS0wLjQtMC43Ii8+CgkJPHBhdGggZmlsbD0ibm9uZSIgc3Ryb2tlPSIjNkFBOUREIiBzdHJva2UtbGluZWNhcD0icm91bmQiIGQ9Ik00My41LDczLjNjMCwwLjUsMC42LDIuMywxLjMsMi43YzEuOCwwLjgsNS43LDAuNyw4LjEsMC41CgkJCWMxLjMtMC4xLDIuNS0wLjcsMy4yLTEuOGMwLjMtMC41LDAuNS0xLDAuNS0xLjQiLz4KCQk8ZWxsaXBzZSBmaWxsPSIjNkFBOUREIiBjeD0iNTEuNiIgY3k9IjY2LjUiIHJ4PSIwLjMiIHJ5PSIwLjQiLz4KCQk8ZWxsaXBzZSBmaWxsPSIjNkFBOUREIiBjeD0iNTMiIGN5PSI2NSIgcng9IjAuMyIgcnk9IjAuNCIvPgoJCTxlbGxpcHNlIGZpbGw9IiM2QUE5REQiIGN4PSI1MyIgY3k9IjY3LjIiIHJ4PSIwLjMiIHJ5PSIwLjQiLz4KCQk8ZWxsaXBzZSBmaWxsPSIjNkFBOUREIiBjeD0iNTQuMyIgY3k9IjY2LjUiIHJ4PSIwLjMiIHJ5PSIwLjQiLz4KCQk8ZWxsaXBzZSBmaWxsPSIjNkFBOUREIiBjeD0iNTAuOSIgY3k9IjY1IiByeD0iMC4zIiByeT0iMC40Ii8+Cgk8L2c+Cgk8Zz4KCQk8cGF0aCBmaWxsPSJub25lIiBzdHJva2U9IiM2QUE5REQiIGQ9Ik0yNC4yLDcxdi03LjZjMC4xLDAuMSwwLjgsMC45LDIuOCwzLjFjMi41LTEuNyw1LjYtMC43LDYuOSwwbDIuNC0zLjF2Ny4xCgkJCWMwLDEuMi0wLjEsMi41LTAuOSwzLjRjLTEsMS4yLTIuNywyLjUtNS4zLDIuNWMtMi45LDAtNC41LTEuNS01LjMtMi45QzI0LjIsNzIuOSwyNC4yLDcyLDI0LjIsNzF6Ii8+CgkJPHBhdGggZmlsbD0ibm9uZSIgc3Ryb2tlPSIjNkFBOUREIiBzdHJva2UtbGluZWNhcD0icm91bmQiIGQ9Ik0yMS4yLDcwLjFsNS40LDEuMiIvPgoJCTxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzZBQTlERCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBkPSJNMjEuMiw3NC4xbDUuNC0xLjIiLz4KCQk8cGF0aCBmaWxsPSJub25lIiBzdHJva2U9IiM2QUE5REQiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgZD0iTTM4LjgsNzAuMWwtNS40LDEuMiIvPgoJCTxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzZBQTlERCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBkPSJNMzguOCw3NC4xbC01LjQtMS4yIi8+CgkJPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGZpbGw9IiM2QUE5REQiIGQ9Ik0yOS41LDcyLjRMMjksNzEuN2MtMC4yLTAuMywwLTAuNiwwLjMtMC42aDEuNAoJCQljMC4zLDAsMC41LDAuNCwwLjMsMC42bC0wLjcsMWwwLDBjLTAuNywxLjItMi42LDEuMS0zLjEtMC4zbC0wLjEtMC4yYy0wLjEtMC4yLDAtMC40LDAuMi0wLjVjMC4yLTAuMSwwLjQsMCwwLjUsMC4ybDAuMSwwLjIKCQkJQzI4LjMsNzIuOCwyOS4xLDcyLjksMjkuNSw3Mi40eiIvPgoJCTxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzZBQTlERCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBkPSJNMzIuNCw3Mi4xbC0wLjEsMC4yYy0wLjQsMS0xLjgsMS4xLTIuMywwLjIiLz4KCQk8ZWxsaXBzZSBmaWxsPSIjNkFBOUREIiBjeD0iMjcuNiIgY3k9IjY5LjciIHJ4PSIwLjciIHJ5PSIwLjciLz4KCQk8ZWxsaXBzZSBmaWxsPSIjNkFBOUREIiBjeD0iMzIuNCIgY3k9IjY5LjciIHJ4PSIwLjciIHJ5PSIwLjciLz4KCTwvZz4KPC9nPgo8Zz4KCTxwYXRoIGZpbGw9IiM4Njg2ODYiIHN0cm9rZT0iIzg2ODY4NiIgc3Ryb2tlLXdpZHRoPSIwLjEiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgZD0iTTEyLjgsOS41YzAuNiwwLDEuMS0wLjUsMS4xLTEuMgoJCWMwLTAuNi0wLjUtMS4xLTEuMS0xLjFjLTAuNiwwLTEuMiwwLjUtMS4yLDEuMVMxMi4yLDkuNSwxMi44LDkuNXogTTEyLjgsNy45YzAuMiwwLDAuNCwwLjIsMC40LDAuNGMwLDAuMi0wLjIsMC40LTAuNCwwLjQKCQljLTAuMiwwLTAuNC0wLjItMC40LTAuNEMxMi40LDguMSwxMi42LDcuOSwxMi44LDcuOXoiLz4KCTxwYXRoIGZpbGw9IiM4Njg2ODYiIHN0cm9rZT0iIzg2ODY4NiIgc3Ryb2tlLXdpZHRoPSIwLjEiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgZD0iTTcuMiw5LjVjMC42LDAsMS4yLTAuNSwxLjItMS4yCgkJYzAtMC42LTAuNS0xLjEtMS4yLTEuMWMtMC42LDAtMS4xLDAuNS0xLjEsMS4xUzYuNiw5LjUsNy4yLDkuNXogTTcuMiw3LjljMC4yLDAsMC40LDAuMiwwLjQsMC40YzAsMC4yLTAuMiwwLjQtMC40LDAuNAoJCUM3LDguNyw2LjgsOC41LDYuOCw4LjNDNi44LDguMSw3LDcuOSw3LjIsNy45eiIvPgoJPHBhdGggZmlsbD0iIzg2ODY4NiIgc3Ryb2tlPSIjODY4Njg2IiBzdHJva2Utd2lkdGg9IjAuMSIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBkPSJNMTQuNiwxMS4yYy0wLjEtMC4xLTAuMi0wLjItMC4zLTAuMkg1LjcKCQljLTAuMSwwLTAuMiwwLjEtMC4zLDAuMmMtMC4xLDAuMS0wLjEsMC4yLDAsMC40YzAuNywyLDIuNSwzLjMsNC42LDMuM3MzLjktMS4zLDQuNi0zLjNDMTQuNywxMS40LDE0LjcsMTEuMywxNC42LDExLjJ6IE0xMCwxNC4xCgkJYy0xLjYsMC0zLTAuOS0zLjctMi4yaDcuM0MxMywxMy4yLDExLjYsMTQuMSwxMCwxNC4xeiIvPgoJPHBhdGggZmlsbD0iIzg2ODY4NiIgc3Ryb2tlPSIjODY4Njg2IiBzdHJva2Utd2lkdGg9IjAuMSIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBkPSJNMTAsM2MtMy44LDAtNywzLjEtNyw3czMuMSw3LDcsN3M3LTMuMSw3LTcKCQlTMTMuOCwzLDEwLDN6IE0xMCwxNi4yYy0zLjQsMC02LjItMi44LTYuMi02LjJTNi42LDMuOCwxMCwzLjhzNi4yLDIuOCw2LjIsNi4yUzEzLjQsMTYuMiwxMCwxNi4yeiIvPgo8L2c+CjxnIGlkPSJDYXJfMDAwMDAwMTg5MzUzOTUwODU0MTM0MTM3NTAwMDAwMDA4MjUyNzM4Nzc4NDI3NzU3MTVfIj4KCTxnPgoJCTxnPgoJCQk8cGF0aCBmaWxsPSJub25lIiBzdHJva2U9IiM4Njg2ODYiIGQ9Ik02NC4xLDEzLjRsMi4zLDBjMC4yLDAsMC40LDAuMiwwLjQsMC40djIuMWMwLDAuMi0wLjIsMC40LTAuNCwwLjRoLTIuMwoJCQkJYy0wLjIsMC0wLjQtMC4yLTAuNC0wLjR2LTIuMUM2My43LDEzLjYsNjMuOCwxMy40LDY0LjEsMTMuNHoiLz4KCQkJPHBhdGggZmlsbD0ibm9uZSIgc3Ryb2tlPSIjODY4Njg2IiBkPSJNNzMuNSwxMy40aDIuNGMwLjIsMCwwLjQsMC4yLDAuNCwwLjR2Mi4xYzAsMC4yLTAuMiwwLjQtMC40LDAuNGgtMi40CgkJCQljLTAuMiwwLTAuNC0wLjItMC40LTAuNGwwLTIuMUM3My4xLDEzLjYsNzMuMywxMy40LDczLjUsMTMuNHoiLz4KCQkJPHBhdGggZmlsbD0ibm9uZSIgc3Ryb2tlPSIjODY4Njg2IiBkPSJNNjMuNyw4LjRoMTIuNnY1SDYzLjdWOC40eiIvPgoJCQk8cGF0aCBmaWxsPSJub25lIiBzdHJva2U9IiM4Njg2ODYiIGQ9Ik02NS41LDMuNmg4LjljMSwwLDEuOSwwLjgsMS45LDEuOXYzLjFINjMuN1Y1LjVDNjMuNyw0LjQsNjQuNSwzLjYsNjUuNSwzLjZ6Ii8+CgkJCTxlbGxpcHNlIGZpbGw9IiM4Njg2ODYiIGN4PSI2Ni4yIiBjeT0iMTAuOSIgcng9IjAuOSIgcnk9IjAuOSIvPgoJCQk8ZWxsaXBzZSBmaWxsPSIjODY4Njg2IiBjeD0iNzMuOCIgY3k9IjEwLjkiIHJ4PSIwLjkiIHJ5PSIwLjkiLz4KCQk8L2c+Cgk8L2c+CjwvZz4KPGcgaWQ9IkFjdGl2aXRpZXMiPgoJPGc+CgkJPGc+CgkJCTxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzg2ODY4NiIgZD0iTTk2LjQsMTBjMCwzLjYtMi45LDYuNS02LjQsNi41cy02LjQtMi45LTYuNC02LjVzMi45LTYuNSw2LjQtNi41Uzk2LjQsNi40LDk2LjQsMTB6Ii8+CgkJCTxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzg2ODY4NiIgZD0iTTk2LjMsOC42YzAsMCwwLDAuMSwwLDAuMWMtMC45LDAuMS0yLjksMC4xLTQuNi0xLjJjLTEuMS0wLjgtMi0xLjctMi42LTIuNQoJCQkJYy0wLjMtMC40LTAuNi0wLjgtMC43LTEuMWMtMC4xLTAuMS0wLjEtMC4yLTAuMS0wLjJjMC41LTAuMSwxLjItMC4yLDItMC4yYzEuMiwwLDIuNSwwLjMsMy41LDEuMWMxLDAuOCwxLjcsMS44LDIuMSwyLjgKCQkJCUM5Ni4xLDcuOSw5Ni4yLDguMyw5Ni4zLDguNnoiLz4KCQkJPHBhdGggZmlsbD0ibm9uZSIgc3Ryb2tlPSIjODY4Njg2IiBkPSJNODQsMTIuMWMwLDAsMC0wLjEsMC0wLjFjMC45LTAuMiwyLjktMC40LDQuNywwLjZjMS4xLDAuNiwxLjksMS41LDIuNCwyLjMKCQkJCWMwLjQsMC41LDAuNiwxLDAuNywxLjNjLTAuNCwwLjEtMSwwLjItMS43LDAuM2MtMSwwLTIuMS0wLjEtMy4yLTAuOGMtMS4xLTAuNi0xLjktMS42LTIuNC0yLjVDODQuMiwxMi44LDg0LjEsMTIuNCw4NCwxMi4xeiIvPgoJCTwvZz4KCTwvZz4KPC9nPgo8ZyBpZD0iT2JqZWN0c18wMDAwMDA2NDMxMjM3MTczOTEzMDMxNTI1MDAwMDAxMDIyNTg4OTAzMjIyODYzMjk3NV8iPgoJPGc+CgkJPGc+CgkJCTxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzg2ODY4NiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBkPSJNMTE2LjMsNi44bC0xLjQsMkwxMTQuMSw4bC0wLjYtMC43bDAsMC45bC0wLjEsOC4yaC02LjhsLTAuMS04LjIKCQkJCWwwLTAuOUwxMDUuOSw4bC0wLjgsMC44bC0xLjQtMmwyLjYtMi45YzAuMS0wLjEsMC4yLTAuMSwwLjMtMC4xaDEuM2wwLjQsMC43YzAuNywxLjMsMi42LDEuMywzLjMtMC4xbDAuMy0wLjZoMS4yCgkJCQljMC4xLDAsMC4yLDAsMC4zLDAuMWwwLjMtMC4zbC0wLjMsMC4zTDExNi4zLDYuOHoiLz4KCQkJPHBhdGggZmlsbD0ibm9uZSIgc3Ryb2tlPSIjODY4Njg2IiBkPSJNMTEwLjEsNy43aDJ2MC45YzAsMC40LTAuNCwwLjctMSwwLjdjLTAuNiwwLTEtMC4zLTEtMC43TDExMC4xLDcuN0wxMTAuMSw3Ljd6Ii8+CgkJPC9nPgoJPC9nPgo8L2c+CjxnIGlkPSJTeW1ib2xzXzAwMDAwMDk2NzQ2OTA3ODY5OTI5OTIxMTgwMDAwMDA2NDg0ODEyODMwMjgyNTgyNDE2XyI+Cgk8Zz4KCQk8Zz4KCQkJPHBhdGggZmlsbD0ibm9uZSIgc3Ryb2tlPSIjODY4Njg2IiBkPSJNMTI2LjgsMTQuM2MwLDEuMi0xLDIuMi0yLjIsMi4ycy0yLjItMS0yLjItMi4yczEtMi4yLDIuMi0yLjJTMTI2LjgsMTMuMSwxMjYuOCwxNC4zeiIvPgoJCQk8cGF0aCBmaWxsPSJub25lIiBzdHJva2U9IiM4Njg2ODYiIGQ9Ik0xMzcuNiwxNC4zYzAsMS4yLTEsMi4yLTIuMiwyLjJjLTEuMiwwLTIuMi0xLTIuMi0yLjJzMS0yLjIsMi4yLTIuMgoJCQkJQzEzNi42LDEyLjEsMTM3LjYsMTMuMSwxMzcuNiwxNC4zeiIvPgoJCQk8cGF0aCBmaWxsPSJub25lIiBzdHJva2U9IiM4Njg2ODYiIGQ9Ik0xMjYuOCw0LjR2OS45Ii8+CgkJCTxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzg2ODY4NiIgZD0iTTEzNy43LDQuNHY5LjkiLz4KCQkJPHBhdGggZmlsbD0ibm9uZSIgc3Ryb2tlPSIjODY4Njg2IiBkPSJNMTI2LjgsMy41aDEwLjh2Mi43aC0xMC44QzEyNi44LDYuMiwxMjYuOCwzLjUsMTI2LjgsMy41eiIvPgoJCTwvZz4KCTwvZz4KPC9nPgo8ZyBpZD0iUmVjZW50cyI+Cgk8Zz4KCQk8Zz4KCQkJPHBhdGggZmlsbD0iIzg2ODY4NiIgZD0iTTE3MC44LDMuMUwxNzAuOCwzLjFjLTAuMywwLTAuNSwwLTAuOCwwYy0yLjEsMC00LDEtNS4zLDIuNWwtMC4xLDBsLTAuMS0wLjFsLTEtMS4ybC0wLjMsMy40bDMuNCwwLjMKCQkJCWwtMS4xLTEuM2wtMC4xLTAuMWwwLjEtMC4xYzEuMS0xLjQsMy0yLjMsNS0yLjFsMCwwYzMuMiwwLjMsNS41LDMuMSw1LjIsNi4zYy0wLjMsMy0zLjEsNS4zLTYuMSw1LjFjLTMuMS0wLjItNS40LTIuOS01LjMtNgoJCQkJTDE2Myw5LjVjLTAuMiwzLjgsMi42LDcuMSw2LjMsNy40YzMuOSwwLjQsNy4zLTIuNiw3LjYtNi41QzE3Ny4yLDYuOCwxNzQuNCwzLjUsMTcwLjgsMy4xeiIvPgoJCQk8cGF0aCBmaWxsPSIjODY4Njg2IiBkPSJNMTcwLjMsNy40YzAtMC4zLTAuMy0wLjYtMC42LTAuNlMxNjksNy4xLDE2OSw3LjR2My4yYzAsMC4yLDAuMSwwLjMsMC4yLDAuNGMwLjEsMC4xLDAuMywwLjIsMC40LDAuMgoJCQkJaDIuNGMwLjQsMCwwLjYtMC4zLDAuNi0wLjZzLTAuMy0wLjYtMC42LTAuNmgtMS42aC0wLjJWOS44TDE3MC4zLDcuNEwxNzAuMyw3LjR6Ii8+CgkJPC9nPgoJPC9nPgo8L2c+CjxnIGlkPSJDdXN0b21fMDAwMDAxODEwODcyMjk0MzQzMDIzMzY3ODAwMDAwMDUxNTIyNzc5NDU5NDA2NzQ0ODhfIj4KCTxnPgoJCTxnPgoJCQk8cGF0aCBmaWxsPSJub25lIiBzdHJva2U9IiM4Njg2ODYiIGQ9Ik0xODYuMiwzLjRoNy43YzEuNSwwLDIuNywxLjIsMi43LDIuN3Y3LjdjMCwxLjUtMS4yLDIuNy0yLjcsMi43aC03LjcKCQkJCWMtMS41LDAtMi43LTEuMi0yLjctMi43VjYuMUMxODMuNCw0LjYsMTg0LjcsMy40LDE4Ni4yLDMuNHoiLz4KCQkJPGVsbGlwc2UgZmlsbD0iIzg2ODY4NiIgY3g9IjE4NiIgY3k9IjguOSIgcng9IjAuNyIgcnk9IjAuNyIvPgoJCQk8ZWxsaXBzZSBmaWxsPSIjODY4Njg2IiBjeD0iMTk0IiBjeT0iNi43IiByeD0iMC43IiByeT0iMC43Ii8+CgkJCTxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzg2ODY4NiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBkPSJNMTg2LDEzLjNsMC40LTAuM2MwLjQtMC4zLDEtMC4zLDEuNS0wLjFsMSwwLjQKCQkJCWMwLjUsMC4yLDEsMC4yLDEuNS0wLjFsMC44LTAuNWMwLjQtMC4zLDEtMC4zLDEuNS0wLjFsMS44LDAuOCIvPgoJCTwvZz4KCTwvZz4KPC9nPgo8cGF0aCBmaWxsPSIjODY4Njg2IiBzdHJva2U9IiM4Njg2ODYiIHN0cm9rZS13aWR0aD0iMC4yNSIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBkPSJNMTU2LDQuM2MtMC4yLTAuMS0wLjQtMC4xLTAuNSwwCgljMCwwLTAuMiwwLjEtMC45LDAuMWMtMC43LDAtMi40LTAuMS0zLjgtMC42Yy0wLjgtMC4zLTEuNy0wLjUtMi41LTAuNWMtMC4yLDAtMC40LDAtMC41LDBjLTEuMywwLTIuNSwwLjMtMy42LDEKCWMtMC4yLDAuMS0wLjIsMC4yLTAuMiwwLjR2MTEuNmMwLDAuMywwLjEsMC41LDAuMywwLjVjMC42LDAsMC41LTAuNCwwLjUtMC42di01LjdjMC43LTAuMywzLjItMS4xLDUuOC0wLjFjMS42LDAuNiwzLjUsMC43LDQuMywwLjcKCWMwLjgsMCwxLjMtMC4zLDEuMy0wLjNjMC4yLTAuMSwwLjMtMC4yLDAuMy0wLjRWNC43QzE1Ni4yLDQuNSwxNTYuMSw0LjQsMTU2LDQuM3ogTTE1NS42LDEwLjJjLTAuMSwwLTAuNywwLjEtMSwwLjEKCWMtMC43LDAtMi40LTAuMS0zLjgtMC42Yy0yLjUtMS01LTAuNS02LjItMC4xVjQuN2MwLjktMC41LDIuMi0wLjcsMy4yLTAuN2MwLjEsMCwwLjMsMCwwLjQsMGMwLjcsMCwxLjUsMC4yLDIuMiwwLjQKCWMxLjYsMC42LDMuNSwwLjcsNC4zLDAuN2MwLjIsMCwwLjgsMCwxLTAuMVYxMC4yeiIvPgo8ZyBpZD0iRm9vZCI+Cgk8ZyBpZD0iTGF5ZXJfMTIiPgoJCTxnPgoJCQk8cGF0aCBmaWxsPSJub25lIiBzdHJva2U9IiM4Njg2ODYiIGQ9Ik00OC4xLDMuNWgzLjdjMi41LDAsNC41LDIsNC41LDQuNWMwLDAuNS0wLjQsMC45LTAuOSwwLjlINDQuNWMtMC41LDAtMC45LTAuNC0wLjktMC45CgkJCQlDNDMuNiw1LjUsNDUuNiwzLjUsNDguMSwzLjV6Ii8+CgkJCTxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzg2ODY4NiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBkPSJNNDMuNSw4LjdjLTAuMiwwLjEtMC41LDEuMiwwLDEuNWMxLjQsMC45LDguNSwwLjgsMTEuMywwLjYKCQkJCWMwLjgtMC4xLDEuNi0wLjQsMS43LTEuMmMwLTAuMy0wLjEtMC42LTAuNi0wLjkiLz4KCQkJPHBhdGggZmlsbD0ibm9uZSIgc3Ryb2tlPSIjODY4Njg2IiBzdHJva2UtbGluZWNhcD0icm91bmQiIGQ9Ik00My41LDEwLjZMNDMuMywxMWMtMC4yLDAuNSwwLjIsMSwwLjcsMC45CgkJCQljMC4zLTAuMSwwLjUsMC4xLDAuNywwLjNsMC4xLDAuMmMwLjMsMC41LDEsMC42LDEuNSwwLjJsMCwwYzAuMy0wLjIsMC43LTAuMywxLTAuMmwwLjgsMC4zYzAuNCwwLjEsMC44LDAuMSwxLjIsMGwwLjUtMC4yCgkJCQljMC40LTAuMiwwLjktMC4yLDEuMywwbDAuNSwwLjJjMC40LDAuMiwwLjgsMC4xLDEuMi0wLjFsMC4yLTAuMWMwLjMtMC4yLDAuOC0wLjEsMS4xLDAuMWwwLjIsMC4yYzAuMywwLjMsMC44LDAuMiwxLTAuMmwwLjEtMC4yCgkJCQljMC4xLTAuMiwwLTAuMywwLjItMC40YzAuNSwwLDEuMi0wLjMsMS4xLTAuN2wtMC40LTEuMSIvPgoJCQk8cGF0aCBmaWxsPSJub25lIiBzdHJva2U9IiM4Njg2ODYiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgZD0iTTQzLjUsMTIuMWMtMC4xLDAuMi0wLjMsMC44LDAsMS4xYzAuMywwLjQsMywxLjEsNi40LDEuMQoJCQkJYzIuMiwwLDQuNi0wLjMsNi0wLjZjMC41LTAuMSwwLjktMC40LDAuOC0wLjljMC0wLjItMC4yLTAuNS0wLjQtMC43Ii8+CgkJCTxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzg2ODY4NiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBkPSJNNDMuNSwxMy4zYzAsMC41LDAuNiwyLjQsMS4zLDIuNmMxLjgsMC44LDUuNywwLjcsOC4xLDAuNQoJCQkJYzEuMy0wLjEsMi41LTAuNywzLjItMS44YzAuMy0wLjUsMC41LTEsMC41LTEuNCIvPgoJCQk8ZWxsaXBzZSBmaWxsPSIjODY4Njg2IiBjeD0iNTEuNiIgY3k9IjYuNSIgcng9IjAuMyIgcnk9IjAuNCIvPgoJCQk8ZWxsaXBzZSBmaWxsPSIjODY4Njg2IiBjeD0iNTMiIGN5PSI0LjkiIHJ4PSIwLjMiIHJ5PSIwLjQiLz4KCQkJPGVsbGlwc2UgZmlsbD0iIzg2ODY4NiIgY3g9IjUzIiBjeT0iNy4yIiByeD0iMC4zIiByeT0iMC40Ii8+CgkJCTxlbGxpcHNlIGZpbGw9IiM4Njg2ODYiIGN4PSI1NC4zIiBjeT0iNi41IiByeD0iMC4zIiByeT0iMC40Ii8+CgkJCTxlbGxpcHNlIGZpbGw9IiM4Njg2ODYiIGN4PSI1MC45IiBjeT0iNC45IiByeD0iMC4zIiByeT0iMC40Ii8+CgkJPC9nPgoJPC9nPgo8L2c+CjxnIGlkPSJBbmltYWxzIj4KCTxnPgoJCTxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzg2ODY4NiIgZD0iTTI0LjIsMTFWMy41YzAuMSwwLjEsMC44LDAuOSwyLjgsMy4xYzIuNS0xLjcsNS42LTAuNyw2LjksMGwyLjQtMy4xdjcuMQoJCQljMCwxLjItMC4xLDIuNS0wLjksMy40Yy0xLDEuMi0yLjcsMi41LTUuMywyLjVjLTIuOSwwLTQuNS0xLjUtNS4zLTIuOUMyNC4yLDEyLjksMjQuMiwxMS45LDI0LjIsMTF6Ii8+CgkJPHBhdGggZmlsbD0ibm9uZSIgc3Ryb2tlPSIjODY4Njg2IiBzdHJva2UtbGluZWNhcD0icm91bmQiIGQ9Ik0yMS4yLDEwbDUuNCwxLjIiLz4KCQk8cGF0aCBmaWxsPSJub25lIiBzdHJva2U9IiM4Njg2ODYiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgZD0iTTIxLjIsMTQuMWw1LjQtMS4yIi8+CgkJPHBhdGggZmlsbD0ibm9uZSIgc3Ryb2tlPSIjODY4Njg2IiBzdHJva2UtbGluZWNhcD0icm91bmQiIGQ9Ik0zOC44LDEwbC01LjQsMS4yIi8+CgkJPHBhdGggZmlsbD0ibm9uZSIgc3Ryb2tlPSIjODY4Njg2IiBzdHJva2UtbGluZWNhcD0icm91bmQiIGQ9Ik0zOC44LDE0LjFsLTUuNC0xLjIiLz4KCQk8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZmlsbD0iIzg2ODY4NiIgZD0iTTI5LjUsMTIuNEwyOSwxMS43Yy0wLjItMC4zLDAtMC42LDAuMy0wLjZoMS40CgkJCWMwLjMsMCwwLjUsMC40LDAuMywwLjZsLTAuNywxbDAsMGMtMC43LDEuMi0yLjYsMS4xLTMuMS0wLjNsLTAuMS0wLjJjLTAuMS0wLjIsMC0wLjQsMC4yLTAuNXMwLjQsMCwwLjUsMC4ybDAuMSwwLjIKCQkJQzI4LjMsMTIuNywyOS4xLDEyLjksMjkuNSwxMi40eiIvPgoJCTxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzg2ODY4NiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBkPSJNMzIuNCwxMi4xbC0wLjEsMC4yYy0wLjQsMS0xLjgsMS4xLTIuMywwLjIiLz4KCQk8ZWxsaXBzZSBmaWxsPSIjODY4Njg2IiBjeD0iMjcuNiIgY3k9IjkuNyIgcng9IjAuNyIgcnk9IjAuNyIvPgoJCTxlbGxpcHNlIGZpbGw9IiM4Njg2ODYiIGN4PSIzMi40IiBjeT0iOS43IiByeD0iMC43IiByeT0iMC43Ii8+Cgk8L2c+CjwvZz4KPC9zdmc+";function $Ne(t){var e,n=t.isActiveCategory,r=t.category,o=t.allowNavigation,s=t.categoryConfig,a=t.onClick;return h.createElement(V2,{tabIndex:o?0:-1,className:sr(HNe.catBtn,Fg.categoryBtn,"epr-icn-"+r,(e={},e[Qn.active]=n,e)),onClick:a,"aria-label":Nte(s),"aria-selected":n,role:"tab","aria-controls":"epr-category-nav-id"})}var yU={backgroundPositionY:"calc(var(--epr-category-navigation-button-size) * 3)"},VNe={backgroundPositionY:"calc(var(--epr-category-navigation-button-size) * 2)"},vU={":not(.epr-search-active)":{catBtn:{":hover":yU,"&.epr-active":yU}}},HNe=mo.create(So({catBtn:{".":"epr-cat-btn",display:"inline-block",transition:"opacity 0.2s ease-in-out",position:"relative",height:"var(--epr-category-navigation-button-size)",width:"var(--epr-category-navigation-button-size)",backgroundSize:"calc(var(--epr-category-navigation-button-size) * 10)",outline:"none",backgroundPosition:"0 0",backgroundImage:"url("+UNe+")",":focus:before":{content:"",position:"absolute",top:"-2px",left:"-2px",right:"-2px",bottom:"-2px",border:"2px solid var(--epr-category-icon-active-color)",borderRadius:"50%"},"&.epr-icn-suggested":{backgroundPositionX:"calc(var(--epr-category-navigation-button-size) * -8)"},"&.epr-icn-custom":{backgroundPositionX:"calc(var(--epr-category-navigation-button-size) * -9)"},"&.epr-icn-activities":{backgroundPositionX:"calc(var(--epr-category-navigation-button-size) * -4)"},"&.epr-icn-animals_nature":{backgroundPositionX:"calc(var(--epr-category-navigation-button-size) * -1)"},"&.epr-icn-flags":{backgroundPositionX:"calc(var(--epr-category-navigation-button-size) * -7)"},"&.epr-icn-food_drink":{backgroundPositionX:"calc(var(--epr-category-navigation-button-size) * -2)"},"&.epr-icn-objects":{backgroundPositionX:"calc(var(--epr-category-navigation-button-size) * -5)"},"&.epr-icn-smileys_people":{backgroundPositionX:"0px"},"&.epr-icn-symbols":{backgroundPositionX:"calc(var(--epr-category-navigation-button-size) * -6)"},"&.epr-icn-travel_places":{backgroundPositionX:"calc(var(--epr-category-navigation-button-size) * -3)"}}},rh("catBtn",VNe),{".epr-dark-theme":So({},vU),".epr-auto-theme":So({},vU)}));function WNe(){var t=h.useState(null),e=t[0],n=t[1],r=FNe();zNe(n);var o=MC(),s=Ote(),a=LT(),i=BNe();return h.createElement("div",{className:sr(YNe.nav),role:"tablist","aria-label":"Category navigation",id:"epr-category-nav-id",ref:a},s.map(function(l){var u=AT(l),d=u===e;if(rNe(l)&&i)return null;var f=!o&&!d;return h.createElement($Ne,{key:u,category:u,isActiveCategory:d,allowNavigation:f,categoryConfig:l,onClick:function(){n(u),r(u)}})}))}var YNe=mo.create({nav:{".":"epr-category-nav",display:"flex",flexDirection:"row",justifyContent:"space-around",padding:"var(--epr-header-padding)"},".epr-search-active":{nav:{opacity:"0.3",cursor:"default",pointerEvents:"none"}},".epr-main:has(input:not(:placeholder-shown))":{nav:{opacity:"0.3",cursor:"default",pointerEvents:"none"}}}),Nne="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDI2LjMuMSwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IgoJIHdpZHRoPSIyMHB4IiBoZWlnaHQ9IjgwcHgiIHZpZXdCb3g9IjAgMCAyMCA4MCIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgMjAgODAiIHhtbDpzcGFjZT0icHJlc2VydmUiPgo8cGF0aCBmaWxsPSIjODY4Njg2IiBkPSJNNi45OCwxMy41OWMwLjEsMC4xLDAuMjQsMC4xNSwwLjM3LDAuMTVzMC4yNy0wLjA1LDAuMzctMC4xNWwyLjQyLTIuNDJsMi40MywyLjQzCgljMC4xLDAuMSwwLjI0LDAuMTUsMC4zNywwLjE1YzAuMTQsMCwwLjI3LTAuMDUsMC4zNy0wLjE1YzAuMjEtMC4yMSwwLjIxLTAuNTQsMC0wLjc1bC0yLjQzLTIuNDNMMTMuMzIsOAoJYzAuMjEtMC4yMSwwLjIxLTAuNTQsMC0wLjc1Yy0wLjIxLTAuMjEtMC41NC0wLjIxLTAuNzUsMGwtMi40MiwyLjQyTDcuNzQsNy4yN2MtMC4yMS0wLjIxLTAuNTQtMC4yMS0wLjc1LDAKCWMtMC4yMSwwLjIxLTAuMjEsMC41NCwwLDAuNzVsMi40MSwyLjQxbC0yLjQyLDIuNDJDNi43NywxMy4wNSw2Ljc3LDEzLjM5LDYuOTgsMTMuNTlMNi45OCwxMy41OXoiLz4KPHBhdGggZmlsbD0iIzg2ODY4NiIgZD0iTTEwLjE1LDE4LjQzYzQuNDEsMCw4LTMuNTksOC04YzAtNC40MS0zLjU5LTgtOC04Yy00LjQxLDAtOCwzLjU5LTgsOEMyLjE1LDE0Ljg0LDUuNzQsMTguNDMsMTAuMTUsMTguNDN6CgkgTTEwLjE1LDMuNDljMy44MywwLDYuOTQsMy4xMSw2Ljk0LDYuOTRjMCwzLjgzLTMuMTEsNi45NC02Ljk0LDYuOTRjLTMuODMsMC02Ljk0LTMuMTEtNi45NC02Ljk0QzMuMjEsNi42LDYuMzMsMy40OSwxMC4xNSwzLjQ5CglMMTAuMTUsMy40OXoiLz4KPHBhdGggZmlsbD0iIzMzNzFCNyIgZD0iTTYuOTgsMzMuNTljMC4xLDAuMSwwLjI0LDAuMTUsMC4zNywwLjE1czAuMjctMC4wNSwwLjM3LTAuMTVsMi40Mi0yLjQybDIuNDMsMi40MwoJYzAuMSwwLjEsMC4yNCwwLjE1LDAuMzcsMC4xNWMwLjE0LDAsMC4yNy0wLjA1LDAuMzctMC4xNWMwLjIxLTAuMjEsMC4yMS0wLjU0LDAtMC43NWwtMi40My0yLjQzTDEzLjMyLDI4CgljMC4yMS0wLjIxLDAuMjEtMC41NCwwLTAuNzVjLTAuMjEtMC4yMS0wLjU0LTAuMjEtMC43NSwwbC0yLjQyLDIuNDJsLTIuNDEtMi40MWMtMC4yMS0wLjIxLTAuNTQtMC4yMS0wLjc1LDAKCWMtMC4yMSwwLjIxLTAuMjEsMC41NCwwLDAuNzVsMi40MSwyLjQxbC0yLjQyLDIuNDJDNi43NywzMy4wNSw2Ljc3LDMzLjM5LDYuOTgsMzMuNTlMNi45OCwzMy41OXoiLz4KPHBhdGggZmlsbD0iIzMzNzFCNyIgZD0iTTEwLjE1LDM4LjQzYzQuNDEsMCw4LTMuNTksOC04YzAtNC40MS0zLjU5LTgtOC04Yy00LjQxLDAtOCwzLjU5LTgsOEMyLjE1LDM0Ljg0LDUuNzQsMzguNDMsMTAuMTUsMzguNDN6CgkgTTEwLjE1LDIzLjQ5YzMuODMsMCw2Ljk0LDMuMTEsNi45NCw2Ljk0YzAsMy44My0zLjExLDYuOTQtNi45NCw2Ljk0Yy0zLjgzLDAtNi45NC0zLjExLTYuOTQtNi45NAoJQzMuMjEsMjYuNiw2LjMzLDIzLjQ5LDEwLjE1LDIzLjQ5TDEwLjE1LDIzLjQ5eiIvPgo8cGF0aCBmaWxsPSIjQzBDMEJGIiBkPSJNNi45OCw1My41OWMwLjEsMC4xLDAuMjQsMC4xNSwwLjM3LDAuMTVzMC4yNy0wLjA1LDAuMzctMC4xNWwyLjQyLTIuNDJsMi40MywyLjQzCgljMC4xLDAuMSwwLjI0LDAuMTUsMC4zNywwLjE1YzAuMTQsMCwwLjI3LTAuMDUsMC4zNy0wLjE1YzAuMjEtMC4yMSwwLjIxLTAuNTQsMC0wLjc1bC0yLjQzLTIuNDNMMTMuMzIsNDgKCWMwLjIxLTAuMjEsMC4yMS0wLjU0LDAtMC43NWMtMC4yMS0wLjIxLTAuNTQtMC4yMS0wLjc1LDBsLTIuNDIsMi40MmwtMi40MS0yLjQxYy0wLjIxLTAuMjEtMC41NC0wLjIxLTAuNzUsMAoJYy0wLjIxLDAuMjEtMC4yMSwwLjU0LDAsMC43NWwyLjQxLDIuNDFsLTIuNDIsMi40MkM2Ljc3LDUzLjA1LDYuNzcsNTMuMzksNi45OCw1My41OUw2Ljk4LDUzLjU5eiIvPgo8cGF0aCBmaWxsPSIjQzBDMEJGIiBkPSJNMTAuMTUsNTguNDNjNC40MSwwLDgtMy41OSw4LThjMC00LjQxLTMuNTktOC04LThjLTQuNDEsMC04LDMuNTktOCw4QzIuMTUsNTQuODQsNS43NCw1OC40MywxMC4xNSw1OC40M3oKCSBNMTAuMTUsNDMuNDljMy44MywwLDYuOTQsMy4xMSw2Ljk0LDYuOTRjMCwzLjgzLTMuMTEsNi45NC02Ljk0LDYuOTRjLTMuODMsMC02Ljk0LTMuMTEtNi45NC02Ljk0CglDMy4yMSw0Ni42LDYuMzMsNDMuNDksMTAuMTUsNDMuNDlMMTAuMTUsNDMuNDl6Ii8+CjxwYXRoIGZpbGw9IiM2QUE5REQiIGQ9Ik02Ljk4LDczLjU5YzAuMSwwLjEsMC4yNCwwLjE1LDAuMzcsMC4xNXMwLjI3LTAuMDUsMC4zNy0wLjE1bDIuNDItMi40MmwyLjQzLDIuNDMKCWMwLjEsMC4xLDAuMjQsMC4xNSwwLjM3LDAuMTVjMC4xNCwwLDAuMjctMC4wNSwwLjM3LTAuMTVjMC4yMS0wLjIxLDAuMjEtMC41NCwwLTAuNzVsLTIuNDMtMi40M0wxMy4zMiw2OAoJYzAuMjEtMC4yMSwwLjIxLTAuNTQsMC0wLjc1Yy0wLjIxLTAuMjEtMC41NC0wLjIxLTAuNzUsMGwtMi40MiwyLjQybC0yLjQxLTIuNDFjLTAuMjEtMC4yMS0wLjU0LTAuMjEtMC43NSwwCgljLTAuMjEsMC4yMS0wLjIxLDAuNTQsMCwwLjc1bDIuNDEsMi40MWwtMi40MiwyLjQyQzYuNzcsNzMuMDUsNi43Nyw3My4zOSw2Ljk4LDczLjU5TDYuOTgsNzMuNTl6Ii8+CjxwYXRoIGZpbGw9IiM2QUE5REQiIGQ9Ik0xMC4xNSw3OC40M2M0LjQxLDAsOC0zLjU5LDgtOGMwLTQuNDEtMy41OS04LTgtOGMtNC40MSwwLTgsMy41OS04LDhDMi4xNSw3NC44NCw1Ljc0LDc4LjQzLDEwLjE1LDc4LjQzegoJIE0xMC4xNSw2My40OWMzLjgzLDAsNi45NCwzLjExLDYuOTQsNi45NGMwLDMuODMtMy4xMSw2Ljk0LTYuOTQsNi45NGMtMy44MywwLTYuOTQtMy4xMS02Ljk0LTYuOTQKCUMzLjIxLDY2LjYsNi4zMyw2My40OSwxMC4xNSw2My40OUwxMC4xNSw2My40OXoiLz4KPC9zdmc+";function GNe(){var t=ene();return h.createElement(V2,{className:sr(wU.btnClearSearch,Fg.visibleOnSearchOnly),onClick:t,"aria-label":"Clear",title:"Clear"},h.createElement("div",{className:sr(wU.icnClearnSearch)}))}var qNe={":hover":{"> .epr-icn-clear-search":{backgroundPositionY:"-60px"}}},wU=mo.create(So({btnClearSearch:{".":"epr-btn-clear-search",position:"absolute",right:"var(--epr-search-bar-inner-padding)",height:"30px",width:"30px",display:"flex",alignItems:"center",justifyContent:"center",top:"50%",transform:"translateY(-50%)",padding:"0",borderRadius:"50%",":hover":{background:"var(--epr-hover-bg-color)"},":focus":{background:"var(--epr-hover-bg-color)"}},icnClearnSearch:{".":"epr-icn-clear-search",backgroundColor:"transparent",backgroundRepeat:"no-repeat",backgroundSize:"20px",height:"20px",width:"20px",backgroundImage:"url("+Nne+")",":hover":{backgroundPositionY:"-20px"},":focus":{backgroundPositionY:"-20px"}}},rh("icnClearnSearch",{backgroundPositionY:"-40px"}),rh("btnClearSearch",qNe))),qI=Da(Qn.emojiPicker)+" "+Da(Qn.emojiList),Ine=["button",Da(Qn.emoji)].join(""),KNe=Da(Qn.category);function ZNe(t){var e=t.value;if(!e)return null;var n=QNe(e);return h.createElement("style",null,`
27 `+qI+" "+Ine+` {
28 display: none;
29 }
30
31
32 `+qI+" "+n+` {
33 display: flex;
34 }
35
36 `+qI+" "+KNe+":not(:has("+n+`)) {
37 display: none;
38 }
39 `)}function QNe(t){return[Ine,'[data-full-name*="',$_(t),'"]'].join("")}var JNe="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDI2LjMuMSwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IgoJIHdpZHRoPSIyMHB4IiBoZWlnaHQ9IjQwcHgiIHZpZXdCb3g9IjAgMCAyMCA0MCIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgMjAgNDAiIHhtbDpzcGFjZT0icHJlc2VydmUiPgo8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZmlsbD0iIzg2ODY4NiIgZD0iTTEyLDguODFjMCwyLjA4LTEuNjgsMy43Ni0zLjc2LDMuNzZjLTIuMDgsMC0zLjc2LTEuNjgtMy43Ni0zLjc2CgljMC0yLjA4LDEuNjgtMy43NiwzLjc2LTMuNzZDMTAuMzIsNS4wNSwxMiw2LjczLDEyLDguODF6IE0xMS4yMywxMi43MmMtMC44MywwLjY0LTEuODcsMS4wMS0yLjk5LDEuMDFjLTIuNzIsMC00LjkyLTIuMi00LjkyLTQuOTIKCWMwLTIuNzIsMi4yLTQuOTIsNC45Mi00LjkyYzIuNzIsMCw0LjkyLDIuMiw0LjkyLDQuOTJjMCwxLjEzLTAuMzgsMi4xNi0xLjAxLDIuOTlsMy45NCwzLjkzYzAuMjUsMC4yNSwwLjI1LDAuNjYsMCwwLjkyCgljLTAuMjUsMC4yNS0wLjY2LDAuMjUtMC45MiwwTDExLjIzLDEyLjcyeiIvPgo8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZmlsbD0iI0MwQzBCRiIgZD0iTTEyLDI4LjgxYzAsMi4wOC0xLjY4LDMuNzYtMy43NiwzLjc2Yy0yLjA4LDAtMy43Ni0xLjY4LTMuNzYtMy43NgoJYzAtMi4wOCwxLjY4LTMuNzYsMy43Ni0zLjc2QzEwLjMyLDI1LjA1LDEyLDI2LjczLDEyLDI4LjgxeiBNMTEuMjMsMzIuNzJjLTAuODMsMC42NC0xLjg3LDEuMDEtMi45OSwxLjAxCgljLTIuNzIsMC00LjkyLTIuMi00LjkyLTQuOTJjMC0yLjcyLDIuMi00LjkyLDQuOTItNC45MmMyLjcyLDAsNC45MiwyLjIsNC45Miw0LjkyYzAsMS4xMy0wLjM4LDIuMTYtMS4wMSwyLjk5bDMuOTQsMy45MwoJYzAuMjUsMC4yNSwwLjI1LDAuNjYsMCwwLjkyYy0wLjI1LDAuMjUtMC42NiwwLjI1LTAuOTIsMEwxMS4yMywzMi43MnoiLz4KPC9zdmc+";function XNe(){return h.createElement("div",{className:sr(eIe.icnSearch)})}var eIe=mo.create(So({icnSearch:{".":"epr-icn-search",content:"",position:"absolute",top:"50%",left:"var(--epr-search-bar-inner-padding)",transform:"translateY(-50%)",width:"20px",height:"20px",backgroundRepeat:"no-repeat",backgroundPosition:"0 0",backgroundSize:"20px",backgroundImage:"url("+JNe+")"}},rh("icnSearch",{backgroundPositionY:"-20px"})));function tIe(){var t=Fte(),e=OT();return t?null:h.createElement(Sne,{className:sr(M3.overlay)},h.createElement(nIe,null),e?h.createElement(Ene,null):null)}function nIe(){var t=h.useState(0),e=t[0],n=t[1],r=$g(),o=xh(),s=DSe(),a=PSe(),i=kEe(),l=i.statusSearchResults,u=i.searchTerm,d=i.onChange,f=o==null?void 0:o.current,m=f==null?void 0:f.value;return h.createElement(zC,{className:sr(M3.searchContainer)},h.createElement(ZNe,{value:m}),h.createElement("input",{autoFocus:a,"aria-label":"Type to search for an emoji",onFocus:r,className:sr(M3.search),type:"text","aria-controls":"epr-search-id",placeholder:s,onChange:function(w){n(e+1),setTimeout(function(){var b,j;d((b=w==null||(j=w.target)==null?void 0:j.value)!=null?b:m)})},ref:o}),u?h.createElement("div",{role:"status",className:sr("epr-status-search-results",M3.visuallyHidden),"aria-live":"polite",id:"epr-search-id","aria-atomic":"true"},l):null,h.createElement(XNe,null),h.createElement(GNe,null))}var M3=mo.create(So({overlay:{padding:"var(--epr-header-padding)",zIndex:"var(--epr-header-overlay-z-index)"},searchContainer:{".":"epr-search-container",flex:"1",display:"block",minWidth:"0"},visuallyHidden:{clip:"rect(0 0 0 0)",clipPath:"inset(50%)",height:"1px",overflow:"hidden",position:"absolute",whiteSpace:"nowrap",width:"1px"},search:{outline:"none",transition:"all 0.2s ease-in-out",color:"var(--epr-search-input-text-color)",borderRadius:"var(--epr-search-input-border-radius)",padding:"var(--epr-search-input-padding)",height:"var(--epr-search-input-height)",backgroundColor:"var(--epr-search-input-bg-color)",border:"1px solid var(--epr-search-input-bg-color)",width:"100%",":focus":{backgroundColor:"var(--epr-search-input-bg-color-active)",border:"1px solid var(--epr-search-border-color)"},"::placeholder":{color:"var(--epr-search-input-placeholder-color)"}},btnClearSearch:{".":"epr-btn-clear-search",position:"absolute",right:"var(--epr-search-bar-inner-padding)",height:"30px",width:"30px",display:"flex",alignItems:"center",justifyContent:"center",top:"50%",transform:"translateY(-50%)",padding:"0",borderRadius:"50%",":hover":{background:"var(--epr-hover-bg-color)"},":focus":{background:"var(--epr-hover-bg-color)"}},icnClearnSearch:{".":"epr-icn-clear-search",backgroundColor:"transparent",backgroundRepeat:"no-repeat",backgroundSize:"20px",height:"20px",width:"20px",backgroundImage:"url("+Nne+")",":hover":{backgroundPositionY:"-20px"},":focus":{backgroundPositionY:"-20px"}}},rh("icnClearnSearch",{backgroundPositionY:"-40px"}),rh("btnClearSearch",{":hover > .epr-icn-clear-search":{backgroundPositionY:"-60px"}})));function rIe(){return h.createElement(zC,{className:sr("epr-header",Fg.hiddenOnReactions)},h.createElement(tIe,null),h.createElement(WNe,null))}function oIe(t){return h.createElement(oEe,null,h.createElement(JCe,null),h.createElement(MSe,Object.assign({},t),h.createElement(sIe,null)))}function sIe(){var t=AC(),e=t[0],n=Lte(),r=h.useState(!e),o=r[0],s=r[1],a=zSe();return h.useEffect(function(){e&&!n||o||s(!0)},[o,n,e]),a?h.createElement(UEe,null,h.createElement(hNe,null),h.createElement(aIe,{renderAll:o})):null}function aIe(t){var e=t.renderAll;return e?h.createElement(h.Fragment,null,h.createElement(rIe,null),h.createElement(ENe,null),h.createElement(LNe,null)):null}var iIe=h.memo(oIe,Cte),lIe=(function(t){KCe(e,t);function e(r){var o;return o=t.call(this,r)||this,o.state={hasError:!1},o}e.getDerivedStateFromError=function(){return{hasError:!0}};var n=e.prototype;return n.componentDidCatch=function(o,s){console.error("Emoji Picker React failed to render:",o,s)},n.render=function(){return this.state.hasError?null:this.props.children},e})(h.Component);function cIe(t){var e=TSe({onEmojiClick:t.onEmojiClick,onReactionClick:t.onReactionClick,onSkinToneChange:t.onSkinToneChange});return h.createElement(lIe,null,h.createElement(Tte.Provider,{value:e},h.createElement(iIe,Object.assign({},t))))}var Ane=(t=>(t.RECENT="recent",t.FREQUENT="frequent",t))(Ane||{}),xp=(t=>(t.NEUTRAL="neutral",t.LIGHT="1f3fb",t.MEDIUM_LIGHT="1f3fc",t.MEDIUM="1f3fd",t.MEDIUM_DARK="1f3fe",t.DARK="1f3ff",t))(xp||{}),xr=(t=>(t.SUGGESTED="suggested",t.CUSTOM="custom",t.SMILEYS_PEOPLE="smileys_people",t.ANIMALS_NATURE="animals_nature",t.FOOD_DRINK="food_drink",t.TRAVEL_PLACES="travel_places",t.ACTIVITIES="activities",t.OBJECTS="objects",t.SYMBOLS="symbols",t.FLAGS="flags",t))(xr||{});xr.SUGGESTED,xr.CUSTOM,xr.SMILEYS_PEOPLE,xr.ANIMALS_NATURE,xr.FOOD_DRINK,xr.TRAVEL_PLACES,xr.ACTIVITIES,xr.OBJECTS,xr.SYMBOLS,xr.FLAGS;xr.SUGGESTED;xr.SUGGESTED+"",xr.SUGGESTED,xr.CUSTOM+"",xr.CUSTOM,xr.SMILEYS_PEOPLE+"",xr.SMILEYS_PEOPLE,xr.ANIMALS_NATURE+"",xr.ANIMALS_NATURE,xr.FOOD_DRINK+"",xr.FOOD_DRINK,xr.TRAVEL_PLACES+"",xr.TRAVEL_PLACES,xr.ACTIVITIES+"",xr.ACTIVITIES,xr.OBJECTS+"",xr.OBJECTS,xr.SYMBOLS+"",xr.SYMBOLS,xr.FLAGS+"",xr.FLAGS;const uIe={custom:[],smileys_people:[{n:["grinning","grinning face"],u:"1f600",a:"1.0"},{n:["smiley","smiling face with open mouth"],u:"1f603",a:"0.6"},{n:["smile","smiling face with open mouth and smiling eyes"],u:"1f604",a:"0.6"},{n:["grin","grinning face with smiling eyes"],u:"1f601",a:"0.6"},{n:["laughing","satisfied","smiling face with open mouth and tightly-closed eyes"],u:"1f606",a:"0.6"},{n:["sweat smile","smiling face with open mouth and cold sweat"],u:"1f605",a:"0.6"},{n:["rolling on the floor laughing"],u:"1f923",a:"3.0"},{n:["joy","face with tears of joy"],u:"1f602",a:"0.6"},{n:["slightly smiling face"],u:"1f642",a:"1.0"},{n:["upside-down face","upside down face"],u:"1f643",a:"1.0"},{n:["melting face"],u:"1fae0",a:"14.0"},{n:["wink","winking face"],u:"1f609",a:"0.6"},{n:["blush","smiling face with smiling eyes"],u:"1f60a",a:"0.6"},{n:["innocent","smiling face with halo"],u:"1f607",a:"1.0"},{n:["smiling face with 3 hearts","smiling face with smiling eyes and three hearts"],u:"1f970",a:"11.0"},{n:["heart eyes","smiling face with heart-shaped eyes"],u:"1f60d",a:"0.6"},{n:["star-struck","grinning face with star eyes"],u:"1f929",a:"5.0"},{n:["kissing heart","face throwing a kiss"],u:"1f618",a:"0.6"},{n:["kissing","kissing face"],u:"1f617",a:"1.0"},{n:["relaxed","white smiling face"],u:"263a-fe0f",a:"0.6"},{n:["kissing closed eyes","kissing face with closed eyes"],u:"1f61a",a:"0.6"},{n:["kissing smiling eyes","kissing face with smiling eyes"],u:"1f619",a:"1.0"},{n:["smiling face with tear"],u:"1f972",a:"13.0"},{n:["yum","face savouring delicious food"],u:"1f60b",a:"0.6"},{n:["stuck out tongue","face with stuck-out tongue"],u:"1f61b",a:"1.0"},{n:["stuck out tongue winking eye","face with stuck-out tongue and winking eye"],u:"1f61c",a:"0.6"},{n:["zany face","grinning face with one large and one small eye"],u:"1f92a",a:"5.0"},{n:["stuck out tongue closed eyes","face with stuck-out tongue and tightly-closed eyes"],u:"1f61d",a:"0.6"},{n:["money-mouth face","money mouth face"],u:"1f911",a:"1.0"},{n:["hugging face"],u:"1f917",a:"1.0"},{n:["face with hand over mouth","smiling face with smiling eyes and hand covering mouth"],u:"1f92d",a:"5.0"},{n:["face with open eyes and hand over mouth"],u:"1fae2",a:"14.0"},{n:["face with peeking eye"],u:"1fae3",a:"14.0"},{n:["shushing face","face with finger covering closed lips"],u:"1f92b",a:"5.0"},{n:["thinking face"],u:"1f914",a:"1.0"},{n:["saluting face"],u:"1fae1",a:"14.0"},{n:["zipper-mouth face","zipper mouth face"],u:"1f910",a:"1.0"},{n:["face with raised eyebrow","face with one eyebrow raised"],u:"1f928",a:"5.0"},{n:["neutral face"],u:"1f610",a:"0.7"},{n:["expressionless","expressionless face"],u:"1f611",a:"1.0"},{n:["no mouth","face without mouth"],u:"1f636",a:"1.0"},{n:["dotted line face"],u:"1fae5",a:"14.0"},{n:["face in clouds"],u:"1f636-200d-1f32b-fe0f",a:"13.1"},{n:["smirk","smirking face"],u:"1f60f",a:"0.6"},{n:["unamused","unamused face"],u:"1f612",a:"0.6"},{n:["face with rolling eyes"],u:"1f644",a:"1.0"},{n:["grimacing","grimacing face"],u:"1f62c",a:"1.0"},{n:["face exhaling"],u:"1f62e-200d-1f4a8",a:"13.1"},{n:["lying face"],u:"1f925",a:"3.0"},{n:["relieved","relieved face"],u:"1f60c",a:"0.6"},{n:["pensive","pensive face"],u:"1f614",a:"0.6"},{n:["sleepy","sleepy face"],u:"1f62a",a:"0.6"},{n:["drooling face"],u:"1f924",a:"3.0"},{n:["sleeping","sleeping face"],u:"1f634",a:"1.0"},{n:["mask","face with medical mask"],u:"1f637",a:"0.6"},{n:["face with thermometer"],u:"1f912",a:"1.0"},{n:["face with head-bandage","face with head bandage"],u:"1f915",a:"1.0"},{n:["nauseated face"],u:"1f922",a:"3.0"},{n:["face vomiting","face with open mouth vomiting"],u:"1f92e",a:"5.0"},{n:["sneezing face"],u:"1f927",a:"3.0"},{n:["hot face","overheated face"],u:"1f975",a:"11.0"},{n:["cold face","freezing face"],u:"1f976",a:"11.0"},{n:["woozy face","face with uneven eyes and wavy mouth"],u:"1f974",a:"11.0"},{n:["dizzy face"],u:"1f635",a:"0.6"},{n:["face with spiral eyes"],u:"1f635-200d-1f4ab",a:"13.1"},{n:["exploding head","shocked face with exploding head"],u:"1f92f",a:"5.0"},{n:["face with cowboy hat"],u:"1f920",a:"3.0"},{n:["partying face","face with party horn and party hat"],u:"1f973",a:"11.0"},{n:["disguised face"],u:"1f978",a:"13.0"},{n:["sunglasses","smiling face with sunglasses"],u:"1f60e",a:"1.0"},{n:["nerd face"],u:"1f913",a:"1.0"},{n:["face with monocle"],u:"1f9d0",a:"5.0"},{n:["confused","confused face"],u:"1f615",a:"1.0"},{n:["face with diagonal mouth"],u:"1fae4",a:"14.0"},{n:["worried","worried face"],u:"1f61f",a:"1.0"},{n:["slightly frowning face"],u:"1f641",a:"1.0"},{n:["frowning face","white frowning face"],u:"2639-fe0f",a:"0.7"},{n:["open mouth","face with open mouth"],u:"1f62e",a:"1.0"},{n:["hushed","hushed face"],u:"1f62f",a:"1.0"},{n:["astonished","astonished face"],u:"1f632",a:"0.6"},{n:["flushed","flushed face"],u:"1f633",a:"0.6"},{n:["pleading face","face with pleading eyes"],u:"1f97a",a:"11.0"},{n:["face holding back tears"],u:"1f979",a:"14.0"},{n:["frowning","frowning face with open mouth"],u:"1f626",a:"1.0"},{n:["anguished","anguished face"],u:"1f627",a:"1.0"},{n:["fearful","fearful face"],u:"1f628",a:"0.6"},{n:["cold sweat","face with open mouth and cold sweat"],u:"1f630",a:"0.6"},{n:["disappointed relieved","disappointed but relieved face"],u:"1f625",a:"0.6"},{n:["cry","crying face"],u:"1f622",a:"0.6"},{n:["sob","loudly crying face"],u:"1f62d",a:"0.6"},{n:["scream","face screaming in fear"],u:"1f631",a:"0.6"},{n:["confounded","confounded face"],u:"1f616",a:"0.6"},{n:["persevere","persevering face"],u:"1f623",a:"0.6"},{n:["disappointed","disappointed face"],u:"1f61e",a:"0.6"},{n:["sweat","face with cold sweat"],u:"1f613",a:"0.6"},{n:["weary","weary face"],u:"1f629",a:"0.6"},{n:["tired face"],u:"1f62b",a:"0.6"},{n:["yawning face"],u:"1f971",a:"12.0"},{n:["triumph","face with look of triumph"],u:"1f624",a:"0.6"},{n:["rage","pouting face"],u:"1f621",a:"0.6"},{n:["angry","angry face"],u:"1f620",a:"0.6"},{n:["face with symbols on mouth","serious face with symbols covering mouth"],u:"1f92c",a:"5.0"},{n:["smiling imp","smiling face with horns"],u:"1f608",a:"1.0"},{n:["imp"],u:"1f47f",a:"0.6"},{n:["skull"],u:"1f480",a:"0.6"},{n:["skull and crossbones"],u:"2620-fe0f",a:"1.0"},{n:["poop","shit","hankey","pile of poo"],u:"1f4a9",a:"0.6"},{n:["clown face"],u:"1f921",a:"3.0"},{n:["japanese ogre"],u:"1f479",a:"0.6"},{n:["japanese goblin"],u:"1f47a",a:"0.6"},{n:["ghost"],u:"1f47b",a:"0.6"},{n:["alien","extraterrestrial alien"],u:"1f47d",a:"0.6"},{n:["alien monster","space invader"],u:"1f47e",a:"0.6"},{n:["robot face"],u:"1f916",a:"1.0"},{n:["smiley cat","smiling cat face with open mouth"],u:"1f63a",a:"0.6"},{n:["smile cat","grinning cat face with smiling eyes"],u:"1f638",a:"0.6"},{n:["joy cat","cat face with tears of joy"],u:"1f639",a:"0.6"},{n:["heart eyes cat","smiling cat face with heart-shaped eyes"],u:"1f63b",a:"0.6"},{n:["smirk cat","cat face with wry smile"],u:"1f63c",a:"0.6"},{n:["kissing cat","kissing cat face with closed eyes"],u:"1f63d",a:"0.6"},{n:["scream cat","weary cat face"],u:"1f640",a:"0.6"},{n:["crying cat face"],u:"1f63f",a:"0.6"},{n:["pouting cat","pouting cat face"],u:"1f63e",a:"0.6"},{n:["see no evil","see-no-evil monkey"],u:"1f648",a:"0.6"},{n:["hear no evil","hear-no-evil monkey"],u:"1f649",a:"0.6"},{n:["speak no evil","speak-no-evil monkey"],u:"1f64a",a:"0.6"},{n:["kiss","kiss mark"],u:"1f48b",a:"0.6"},{n:["love letter"],u:"1f48c",a:"0.6"},{n:["cupid","heart with arrow"],u:"1f498",a:"0.6"},{n:["gift heart","heart with ribbon"],u:"1f49d",a:"0.6"},{n:["sparkling heart"],u:"1f496",a:"0.6"},{n:["heartpulse","growing heart"],u:"1f497",a:"0.6"},{n:["heartbeat","beating heart"],u:"1f493",a:"0.6"},{n:["revolving hearts"],u:"1f49e",a:"0.6"},{n:["two hearts"],u:"1f495",a:"0.6"},{n:["heart decoration"],u:"1f49f",a:"0.6"},{n:["heart exclamation","heavy heart exclamation mark ornament"],u:"2763-fe0f",a:"1.0"},{n:["broken heart"],u:"1f494",a:"0.6"},{n:["heart on fire"],u:"2764-fe0f-200d-1f525",a:"13.1"},{n:["mending heart"],u:"2764-fe0f-200d-1fa79",a:"13.1"},{n:["heart","heavy black heart"],u:"2764-fe0f",a:"0.6"},{n:["orange heart"],u:"1f9e1",a:"5.0"},{n:["yellow heart"],u:"1f49b",a:"0.6"},{n:["green heart"],u:"1f49a",a:"0.6"},{n:["blue heart"],u:"1f499",a:"0.6"},{n:["purple heart"],u:"1f49c",a:"0.6"},{n:["brown heart"],u:"1f90e",a:"12.0"},{n:["black heart"],u:"1f5a4",a:"3.0"},{n:["white heart"],u:"1f90d",a:"12.0"},{n:["100","hundred points symbol"],u:"1f4af",a:"0.6"},{n:["anger","anger symbol"],u:"1f4a2",a:"0.6"},{n:["boom","collision","collision symbol"],u:"1f4a5",a:"0.6"},{n:["dizzy","dizzy symbol"],u:"1f4ab",a:"0.6"},{n:["sweat drops","splashing sweat symbol"],u:"1f4a6",a:"0.6"},{n:["dash","dash symbol"],u:"1f4a8",a:"0.6"},{n:["hole"],u:"1f573-fe0f",a:"0.7"},{n:["bomb"],u:"1f4a3",a:"0.6"},{n:["speech balloon"],u:"1f4ac",a:"0.6"},{n:["eye in speech bubble","eye-in-speech-bubble"],u:"1f441-fe0f-200d-1f5e8-fe0f",a:"2.0"},{n:["left speech bubble"],u:"1f5e8-fe0f",a:"2.0"},{n:["right anger bubble"],u:"1f5ef-fe0f",a:"0.7"},{n:["thought balloon"],u:"1f4ad",a:"1.0"},{n:["zzz","sleeping symbol"],u:"1f4a4",a:"0.6"},{n:["wave","waving hand sign"],u:"1f44b",v:["1f44b-1f3fb","1f44b-1f3fc","1f44b-1f3fd","1f44b-1f3fe","1f44b-1f3ff"],a:"0.6"},{n:["raised back of hand"],u:"1f91a",v:["1f91a-1f3fb","1f91a-1f3fc","1f91a-1f3fd","1f91a-1f3fe","1f91a-1f3ff"],a:"3.0"},{n:["hand with fingers splayed","raised hand with fingers splayed"],u:"1f590-fe0f",v:["1f590-1f3fb","1f590-1f3fc","1f590-1f3fd","1f590-1f3fe","1f590-1f3ff"],a:"0.7"},{n:["hand","raised hand"],u:"270b",v:["270b-1f3fb","270b-1f3fc","270b-1f3fd","270b-1f3fe","270b-1f3ff"],a:"0.6"},{n:["spock-hand","raised hand with part between middle and ring fingers"],u:"1f596",v:["1f596-1f3fb","1f596-1f3fc","1f596-1f3fd","1f596-1f3fe","1f596-1f3ff"],a:"1.0"},{n:["rightwards hand"],u:"1faf1",v:["1faf1-1f3fb","1faf1-1f3fc","1faf1-1f3fd","1faf1-1f3fe","1faf1-1f3ff"],a:"14.0"},{n:["leftwards hand"],u:"1faf2",v:["1faf2-1f3fb","1faf2-1f3fc","1faf2-1f3fd","1faf2-1f3fe","1faf2-1f3ff"],a:"14.0"},{n:["palm down hand"],u:"1faf3",v:["1faf3-1f3fb","1faf3-1f3fc","1faf3-1f3fd","1faf3-1f3fe","1faf3-1f3ff"],a:"14.0"},{n:["palm up hand"],u:"1faf4",v:["1faf4-1f3fb","1faf4-1f3fc","1faf4-1f3fd","1faf4-1f3fe","1faf4-1f3ff"],a:"14.0"},{n:["ok hand","ok hand sign"],u:"1f44c",v:["1f44c-1f3fb","1f44c-1f3fc","1f44c-1f3fd","1f44c-1f3fe","1f44c-1f3ff"],a:"0.6"},{n:["pinched fingers"],u:"1f90c",v:["1f90c-1f3fb","1f90c-1f3fc","1f90c-1f3fd","1f90c-1f3fe","1f90c-1f3ff"],a:"13.0"},{n:["pinching hand"],u:"1f90f",v:["1f90f-1f3fb","1f90f-1f3fc","1f90f-1f3fd","1f90f-1f3fe","1f90f-1f3ff"],a:"12.0"},{n:["v","victory hand"],u:"270c-fe0f",v:["270c-1f3fb","270c-1f3fc","270c-1f3fd","270c-1f3fe","270c-1f3ff"],a:"0.6"},{n:["crossed fingers","hand with index and middle fingers crossed"],u:"1f91e",v:["1f91e-1f3fb","1f91e-1f3fc","1f91e-1f3fd","1f91e-1f3fe","1f91e-1f3ff"],a:"3.0"},{n:["hand with index finger and thumb crossed"],u:"1faf0",v:["1faf0-1f3fb","1faf0-1f3fc","1faf0-1f3fd","1faf0-1f3fe","1faf0-1f3ff"],a:"14.0"},{n:["i love you hand sign"],u:"1f91f",v:["1f91f-1f3fb","1f91f-1f3fc","1f91f-1f3fd","1f91f-1f3fe","1f91f-1f3ff"],a:"5.0"},{n:["the horns","sign of the horns"],u:"1f918",v:["1f918-1f3fb","1f918-1f3fc","1f918-1f3fd","1f918-1f3fe","1f918-1f3ff"],a:"1.0"},{n:["call me hand"],u:"1f919",v:["1f919-1f3fb","1f919-1f3fc","1f919-1f3fd","1f919-1f3fe","1f919-1f3ff"],a:"3.0"},{n:["point left","white left pointing backhand index"],u:"1f448",v:["1f448-1f3fb","1f448-1f3fc","1f448-1f3fd","1f448-1f3fe","1f448-1f3ff"],a:"0.6"},{n:["point right","white right pointing backhand index"],u:"1f449",v:["1f449-1f3fb","1f449-1f3fc","1f449-1f3fd","1f449-1f3fe","1f449-1f3ff"],a:"0.6"},{n:["point up 2","white up pointing backhand index"],u:"1f446",v:["1f446-1f3fb","1f446-1f3fc","1f446-1f3fd","1f446-1f3fe","1f446-1f3ff"],a:"0.6"},{n:["middle finger","reversed hand with middle finger extended"],u:"1f595",v:["1f595-1f3fb","1f595-1f3fc","1f595-1f3fd","1f595-1f3fe","1f595-1f3ff"],a:"1.0"},{n:["point down","white down pointing backhand index"],u:"1f447",v:["1f447-1f3fb","1f447-1f3fc","1f447-1f3fd","1f447-1f3fe","1f447-1f3ff"],a:"0.6"},{n:["point up","white up pointing index"],u:"261d-fe0f",v:["261d-1f3fb","261d-1f3fc","261d-1f3fd","261d-1f3fe","261d-1f3ff"],a:"0.6"},{n:["index pointing at the viewer"],u:"1faf5",v:["1faf5-1f3fb","1faf5-1f3fc","1faf5-1f3fd","1faf5-1f3fe","1faf5-1f3ff"],a:"14.0"},{n:["+1","thumbsup","thumbs up sign"],u:"1f44d",v:["1f44d-1f3fb","1f44d-1f3fc","1f44d-1f3fd","1f44d-1f3fe","1f44d-1f3ff"],a:"0.6"},{n:["-1","thumbsdown","thumbs down sign"],u:"1f44e",v:["1f44e-1f3fb","1f44e-1f3fc","1f44e-1f3fd","1f44e-1f3fe","1f44e-1f3ff"],a:"0.6"},{n:["fist","raised fist"],u:"270a",v:["270a-1f3fb","270a-1f3fc","270a-1f3fd","270a-1f3fe","270a-1f3ff"],a:"0.6"},{n:["punch","facepunch","fisted hand sign"],u:"1f44a",v:["1f44a-1f3fb","1f44a-1f3fc","1f44a-1f3fd","1f44a-1f3fe","1f44a-1f3ff"],a:"0.6"},{n:["left-facing fist"],u:"1f91b",v:["1f91b-1f3fb","1f91b-1f3fc","1f91b-1f3fd","1f91b-1f3fe","1f91b-1f3ff"],a:"3.0"},{n:["right-facing fist"],u:"1f91c",v:["1f91c-1f3fb","1f91c-1f3fc","1f91c-1f3fd","1f91c-1f3fe","1f91c-1f3ff"],a:"3.0"},{n:["clap","clapping hands sign"],u:"1f44f",v:["1f44f-1f3fb","1f44f-1f3fc","1f44f-1f3fd","1f44f-1f3fe","1f44f-1f3ff"],a:"0.6"},{n:["raised hands","person raising both hands in celebration"],u:"1f64c",v:["1f64c-1f3fb","1f64c-1f3fc","1f64c-1f3fd","1f64c-1f3fe","1f64c-1f3ff"],a:"0.6"},{n:["heart hands"],u:"1faf6",v:["1faf6-1f3fb","1faf6-1f3fc","1faf6-1f3fd","1faf6-1f3fe","1faf6-1f3ff"],a:"14.0"},{n:["open hands","open hands sign"],u:"1f450",v:["1f450-1f3fb","1f450-1f3fc","1f450-1f3fd","1f450-1f3fe","1f450-1f3ff"],a:"0.6"},{n:["palms up together"],u:"1f932",v:["1f932-1f3fb","1f932-1f3fc","1f932-1f3fd","1f932-1f3fe","1f932-1f3ff"],a:"5.0"},{n:["handshake"],u:"1f91d",v:["1f91d-1f3fb","1f91d-1f3fc","1f91d-1f3fd","1f91d-1f3fe","1f91d-1f3ff","1faf1-1f3fb-200d-1faf2-1f3fc","1faf1-1f3fb-200d-1faf2-1f3fd","1faf1-1f3fb-200d-1faf2-1f3fe","1faf1-1f3fb-200d-1faf2-1f3ff","1faf1-1f3fc-200d-1faf2-1f3fb","1faf1-1f3fc-200d-1faf2-1f3fd","1faf1-1f3fc-200d-1faf2-1f3fe","1faf1-1f3fc-200d-1faf2-1f3ff","1faf1-1f3fd-200d-1faf2-1f3fb","1faf1-1f3fd-200d-1faf2-1f3fc","1faf1-1f3fd-200d-1faf2-1f3fe","1faf1-1f3fd-200d-1faf2-1f3ff","1faf1-1f3fe-200d-1faf2-1f3fb","1faf1-1f3fe-200d-1faf2-1f3fc","1faf1-1f3fe-200d-1faf2-1f3fd","1faf1-1f3fe-200d-1faf2-1f3ff","1faf1-1f3ff-200d-1faf2-1f3fb","1faf1-1f3ff-200d-1faf2-1f3fc","1faf1-1f3ff-200d-1faf2-1f3fd","1faf1-1f3ff-200d-1faf2-1f3fe"],a:"3.0"},{n:["pray","person with folded hands"],u:"1f64f",v:["1f64f-1f3fb","1f64f-1f3fc","1f64f-1f3fd","1f64f-1f3fe","1f64f-1f3ff"],a:"0.6"},{n:["writing hand"],u:"270d-fe0f",v:["270d-1f3fb","270d-1f3fc","270d-1f3fd","270d-1f3fe","270d-1f3ff"],a:"0.7"},{n:["nail care","nail polish"],u:"1f485",v:["1f485-1f3fb","1f485-1f3fc","1f485-1f3fd","1f485-1f3fe","1f485-1f3ff"],a:"0.6"},{n:["selfie"],u:"1f933",v:["1f933-1f3fb","1f933-1f3fc","1f933-1f3fd","1f933-1f3fe","1f933-1f3ff"],a:"3.0"},{n:["muscle","flexed biceps"],u:"1f4aa",v:["1f4aa-1f3fb","1f4aa-1f3fc","1f4aa-1f3fd","1f4aa-1f3fe","1f4aa-1f3ff"],a:"0.6"},{n:["mechanical arm"],u:"1f9be",a:"12.0"},{n:["mechanical leg"],u:"1f9bf",a:"12.0"},{n:["leg"],u:"1f9b5",v:["1f9b5-1f3fb","1f9b5-1f3fc","1f9b5-1f3fd","1f9b5-1f3fe","1f9b5-1f3ff"],a:"11.0"},{n:["foot"],u:"1f9b6",v:["1f9b6-1f3fb","1f9b6-1f3fc","1f9b6-1f3fd","1f9b6-1f3fe","1f9b6-1f3ff"],a:"11.0"},{n:["ear"],u:"1f442",v:["1f442-1f3fb","1f442-1f3fc","1f442-1f3fd","1f442-1f3fe","1f442-1f3ff"],a:"0.6"},{n:["ear with hearing aid"],u:"1f9bb",v:["1f9bb-1f3fb","1f9bb-1f3fc","1f9bb-1f3fd","1f9bb-1f3fe","1f9bb-1f3ff"],a:"12.0"},{n:["nose"],u:"1f443",v:["1f443-1f3fb","1f443-1f3fc","1f443-1f3fd","1f443-1f3fe","1f443-1f3ff"],a:"0.6"},{n:["brain"],u:"1f9e0",a:"5.0"},{n:["anatomical heart"],u:"1fac0",a:"13.0"},{n:["lungs"],u:"1fac1",a:"13.0"},{n:["tooth"],u:"1f9b7",a:"11.0"},{n:["bone"],u:"1f9b4",a:"11.0"},{n:["eyes"],u:"1f440",a:"0.6"},{n:["eye"],u:"1f441-fe0f",a:"0.7"},{n:["tongue"],u:"1f445",a:"0.6"},{n:["lips","mouth"],u:"1f444",a:"0.6"},{n:["biting lip"],u:"1fae6",a:"14.0"},{n:["baby"],u:"1f476",v:["1f476-1f3fb","1f476-1f3fc","1f476-1f3fd","1f476-1f3fe","1f476-1f3ff"],a:"0.6"},{n:["child"],u:"1f9d2",v:["1f9d2-1f3fb","1f9d2-1f3fc","1f9d2-1f3fd","1f9d2-1f3fe","1f9d2-1f3ff"],a:"5.0"},{n:["boy"],u:"1f466",v:["1f466-1f3fb","1f466-1f3fc","1f466-1f3fd","1f466-1f3fe","1f466-1f3ff"],a:"0.6"},{n:["girl"],u:"1f467",v:["1f467-1f3fb","1f467-1f3fc","1f467-1f3fd","1f467-1f3fe","1f467-1f3ff"],a:"0.6"},{n:["adult"],u:"1f9d1",v:["1f9d1-1f3fb","1f9d1-1f3fc","1f9d1-1f3fd","1f9d1-1f3fe","1f9d1-1f3ff"],a:"5.0"},{n:["person with blond hair"],u:"1f471",v:["1f471-1f3fb","1f471-1f3fc","1f471-1f3fd","1f471-1f3fe","1f471-1f3ff"],a:"0.6"},{n:["man"],u:"1f468",v:["1f468-1f3fb","1f468-1f3fc","1f468-1f3fd","1f468-1f3fe","1f468-1f3ff"],a:"0.6"},{n:["bearded person"],u:"1f9d4",v:["1f9d4-1f3fb","1f9d4-1f3fc","1f9d4-1f3fd","1f9d4-1f3fe","1f9d4-1f3ff"],a:"5.0"},{n:["man: beard","man with beard"],u:"1f9d4-200d-2642-fe0f",v:["1f9d4-1f3fb-200d-2642-fe0f","1f9d4-1f3fc-200d-2642-fe0f","1f9d4-1f3fd-200d-2642-fe0f","1f9d4-1f3fe-200d-2642-fe0f","1f9d4-1f3ff-200d-2642-fe0f"],a:"13.1"},{n:["woman: beard","woman with beard"],u:"1f9d4-200d-2640-fe0f",v:["1f9d4-1f3fb-200d-2640-fe0f","1f9d4-1f3fc-200d-2640-fe0f","1f9d4-1f3fd-200d-2640-fe0f","1f9d4-1f3fe-200d-2640-fe0f","1f9d4-1f3ff-200d-2640-fe0f"],a:"13.1"},{n:["man: red hair","red haired man"],u:"1f468-200d-1f9b0",v:["1f468-1f3fb-200d-1f9b0","1f468-1f3fc-200d-1f9b0","1f468-1f3fd-200d-1f9b0","1f468-1f3fe-200d-1f9b0","1f468-1f3ff-200d-1f9b0"],a:"11.0"},{n:["man: curly hair","curly haired man"],u:"1f468-200d-1f9b1",v:["1f468-1f3fb-200d-1f9b1","1f468-1f3fc-200d-1f9b1","1f468-1f3fd-200d-1f9b1","1f468-1f3fe-200d-1f9b1","1f468-1f3ff-200d-1f9b1"],a:"11.0"},{n:["man: white hair","white haired man"],u:"1f468-200d-1f9b3",v:["1f468-1f3fb-200d-1f9b3","1f468-1f3fc-200d-1f9b3","1f468-1f3fd-200d-1f9b3","1f468-1f3fe-200d-1f9b3","1f468-1f3ff-200d-1f9b3"],a:"11.0"},{n:["bald man","man: bald"],u:"1f468-200d-1f9b2",v:["1f468-1f3fb-200d-1f9b2","1f468-1f3fc-200d-1f9b2","1f468-1f3fd-200d-1f9b2","1f468-1f3fe-200d-1f9b2","1f468-1f3ff-200d-1f9b2"],a:"11.0"},{n:["woman"],u:"1f469",v:["1f469-1f3fb","1f469-1f3fc","1f469-1f3fd","1f469-1f3fe","1f469-1f3ff"],a:"0.6"},{n:["woman: red hair","red haired woman"],u:"1f469-200d-1f9b0",v:["1f469-1f3fb-200d-1f9b0","1f469-1f3fc-200d-1f9b0","1f469-1f3fd-200d-1f9b0","1f469-1f3fe-200d-1f9b0","1f469-1f3ff-200d-1f9b0"],a:"11.0"},{n:["person: red hair","red haired person"],u:"1f9d1-200d-1f9b0",v:["1f9d1-1f3fb-200d-1f9b0","1f9d1-1f3fc-200d-1f9b0","1f9d1-1f3fd-200d-1f9b0","1f9d1-1f3fe-200d-1f9b0","1f9d1-1f3ff-200d-1f9b0"],a:"12.1"},{n:["woman: curly hair","curly haired woman"],u:"1f469-200d-1f9b1",v:["1f469-1f3fb-200d-1f9b1","1f469-1f3fc-200d-1f9b1","1f469-1f3fd-200d-1f9b1","1f469-1f3fe-200d-1f9b1","1f469-1f3ff-200d-1f9b1"],a:"11.0"},{n:["person: curly hair","curly haired person"],u:"1f9d1-200d-1f9b1",v:["1f9d1-1f3fb-200d-1f9b1","1f9d1-1f3fc-200d-1f9b1","1f9d1-1f3fd-200d-1f9b1","1f9d1-1f3fe-200d-1f9b1","1f9d1-1f3ff-200d-1f9b1"],a:"12.1"},{n:["woman: white hair","white haired woman"],u:"1f469-200d-1f9b3",v:["1f469-1f3fb-200d-1f9b3","1f469-1f3fc-200d-1f9b3","1f469-1f3fd-200d-1f9b3","1f469-1f3fe-200d-1f9b3","1f469-1f3ff-200d-1f9b3"],a:"11.0"},{n:["person: white hair","white haired person"],u:"1f9d1-200d-1f9b3",v:["1f9d1-1f3fb-200d-1f9b3","1f9d1-1f3fc-200d-1f9b3","1f9d1-1f3fd-200d-1f9b3","1f9d1-1f3fe-200d-1f9b3","1f9d1-1f3ff-200d-1f9b3"],a:"12.1"},{n:["bald woman","woman: bald"],u:"1f469-200d-1f9b2",v:["1f469-1f3fb-200d-1f9b2","1f469-1f3fc-200d-1f9b2","1f469-1f3fd-200d-1f9b2","1f469-1f3fe-200d-1f9b2","1f469-1f3ff-200d-1f9b2"],a:"11.0"},{n:["bald person","person: bald"],u:"1f9d1-200d-1f9b2",v:["1f9d1-1f3fb-200d-1f9b2","1f9d1-1f3fc-200d-1f9b2","1f9d1-1f3fd-200d-1f9b2","1f9d1-1f3fe-200d-1f9b2","1f9d1-1f3ff-200d-1f9b2"],a:"12.1"},{n:["woman: blond hair","blond-haired-woman"],u:"1f471-200d-2640-fe0f",v:["1f471-1f3fb-200d-2640-fe0f","1f471-1f3fc-200d-2640-fe0f","1f471-1f3fd-200d-2640-fe0f","1f471-1f3fe-200d-2640-fe0f","1f471-1f3ff-200d-2640-fe0f"],a:"4.0"},{n:["man: blond hair","blond-haired-man"],u:"1f471-200d-2642-fe0f",v:["1f471-1f3fb-200d-2642-fe0f","1f471-1f3fc-200d-2642-fe0f","1f471-1f3fd-200d-2642-fe0f","1f471-1f3fe-200d-2642-fe0f","1f471-1f3ff-200d-2642-fe0f"],a:"4.0"},{n:["older adult"],u:"1f9d3",v:["1f9d3-1f3fb","1f9d3-1f3fc","1f9d3-1f3fd","1f9d3-1f3fe","1f9d3-1f3ff"],a:"5.0"},{n:["older man"],u:"1f474",v:["1f474-1f3fb","1f474-1f3fc","1f474-1f3fd","1f474-1f3fe","1f474-1f3ff"],a:"0.6"},{n:["older woman"],u:"1f475",v:["1f475-1f3fb","1f475-1f3fc","1f475-1f3fd","1f475-1f3fe","1f475-1f3ff"],a:"0.6"},{n:["person frowning"],u:"1f64d",v:["1f64d-1f3fb","1f64d-1f3fc","1f64d-1f3fd","1f64d-1f3fe","1f64d-1f3ff"],a:"0.6"},{n:["man frowning","man-frowning"],u:"1f64d-200d-2642-fe0f",v:["1f64d-1f3fb-200d-2642-fe0f","1f64d-1f3fc-200d-2642-fe0f","1f64d-1f3fd-200d-2642-fe0f","1f64d-1f3fe-200d-2642-fe0f","1f64d-1f3ff-200d-2642-fe0f"],a:"4.0"},{n:["woman frowning","woman-frowning"],u:"1f64d-200d-2640-fe0f",v:["1f64d-1f3fb-200d-2640-fe0f","1f64d-1f3fc-200d-2640-fe0f","1f64d-1f3fd-200d-2640-fe0f","1f64d-1f3fe-200d-2640-fe0f","1f64d-1f3ff-200d-2640-fe0f"],a:"4.0"},{n:["person with pouting face"],u:"1f64e",v:["1f64e-1f3fb","1f64e-1f3fc","1f64e-1f3fd","1f64e-1f3fe","1f64e-1f3ff"],a:"0.6"},{n:["man pouting","man-pouting"],u:"1f64e-200d-2642-fe0f",v:["1f64e-1f3fb-200d-2642-fe0f","1f64e-1f3fc-200d-2642-fe0f","1f64e-1f3fd-200d-2642-fe0f","1f64e-1f3fe-200d-2642-fe0f","1f64e-1f3ff-200d-2642-fe0f"],a:"4.0"},{n:["woman pouting","woman-pouting"],u:"1f64e-200d-2640-fe0f",v:["1f64e-1f3fb-200d-2640-fe0f","1f64e-1f3fc-200d-2640-fe0f","1f64e-1f3fd-200d-2640-fe0f","1f64e-1f3fe-200d-2640-fe0f","1f64e-1f3ff-200d-2640-fe0f"],a:"4.0"},{n:["no good","face with no good gesture"],u:"1f645",v:["1f645-1f3fb","1f645-1f3fc","1f645-1f3fd","1f645-1f3fe","1f645-1f3ff"],a:"0.6"},{n:["man gesturing no","man-gesturing-no"],u:"1f645-200d-2642-fe0f",v:["1f645-1f3fb-200d-2642-fe0f","1f645-1f3fc-200d-2642-fe0f","1f645-1f3fd-200d-2642-fe0f","1f645-1f3fe-200d-2642-fe0f","1f645-1f3ff-200d-2642-fe0f"],a:"4.0"},{n:["woman gesturing no","woman-gesturing-no"],u:"1f645-200d-2640-fe0f",v:["1f645-1f3fb-200d-2640-fe0f","1f645-1f3fc-200d-2640-fe0f","1f645-1f3fd-200d-2640-fe0f","1f645-1f3fe-200d-2640-fe0f","1f645-1f3ff-200d-2640-fe0f"],a:"4.0"},{n:["ok woman","face with ok gesture"],u:"1f646",v:["1f646-1f3fb","1f646-1f3fc","1f646-1f3fd","1f646-1f3fe","1f646-1f3ff"],a:"0.6"},{n:["man gesturing ok","man-gesturing-ok"],u:"1f646-200d-2642-fe0f",v:["1f646-1f3fb-200d-2642-fe0f","1f646-1f3fc-200d-2642-fe0f","1f646-1f3fd-200d-2642-fe0f","1f646-1f3fe-200d-2642-fe0f","1f646-1f3ff-200d-2642-fe0f"],a:"4.0"},{n:["woman gesturing ok","woman-gesturing-ok"],u:"1f646-200d-2640-fe0f",v:["1f646-1f3fb-200d-2640-fe0f","1f646-1f3fc-200d-2640-fe0f","1f646-1f3fd-200d-2640-fe0f","1f646-1f3fe-200d-2640-fe0f","1f646-1f3ff-200d-2640-fe0f"],a:"4.0"},{n:["information desk person"],u:"1f481",v:["1f481-1f3fb","1f481-1f3fc","1f481-1f3fd","1f481-1f3fe","1f481-1f3ff"],a:"0.6"},{n:["man tipping hand","man-tipping-hand"],u:"1f481-200d-2642-fe0f",v:["1f481-1f3fb-200d-2642-fe0f","1f481-1f3fc-200d-2642-fe0f","1f481-1f3fd-200d-2642-fe0f","1f481-1f3fe-200d-2642-fe0f","1f481-1f3ff-200d-2642-fe0f"],a:"4.0"},{n:["woman tipping hand","woman-tipping-hand"],u:"1f481-200d-2640-fe0f",v:["1f481-1f3fb-200d-2640-fe0f","1f481-1f3fc-200d-2640-fe0f","1f481-1f3fd-200d-2640-fe0f","1f481-1f3fe-200d-2640-fe0f","1f481-1f3ff-200d-2640-fe0f"],a:"4.0"},{n:["raising hand","happy person raising one hand"],u:"1f64b",v:["1f64b-1f3fb","1f64b-1f3fc","1f64b-1f3fd","1f64b-1f3fe","1f64b-1f3ff"],a:"0.6"},{n:["man raising hand","man-raising-hand"],u:"1f64b-200d-2642-fe0f",v:["1f64b-1f3fb-200d-2642-fe0f","1f64b-1f3fc-200d-2642-fe0f","1f64b-1f3fd-200d-2642-fe0f","1f64b-1f3fe-200d-2642-fe0f","1f64b-1f3ff-200d-2642-fe0f"],a:"4.0"},{n:["woman raising hand","woman-raising-hand"],u:"1f64b-200d-2640-fe0f",v:["1f64b-1f3fb-200d-2640-fe0f","1f64b-1f3fc-200d-2640-fe0f","1f64b-1f3fd-200d-2640-fe0f","1f64b-1f3fe-200d-2640-fe0f","1f64b-1f3ff-200d-2640-fe0f"],a:"4.0"},{n:["deaf person"],u:"1f9cf",v:["1f9cf-1f3fb","1f9cf-1f3fc","1f9cf-1f3fd","1f9cf-1f3fe","1f9cf-1f3ff"],a:"12.0"},{n:["deaf man"],u:"1f9cf-200d-2642-fe0f",v:["1f9cf-1f3fb-200d-2642-fe0f","1f9cf-1f3fc-200d-2642-fe0f","1f9cf-1f3fd-200d-2642-fe0f","1f9cf-1f3fe-200d-2642-fe0f","1f9cf-1f3ff-200d-2642-fe0f"],a:"12.0"},{n:["deaf woman"],u:"1f9cf-200d-2640-fe0f",v:["1f9cf-1f3fb-200d-2640-fe0f","1f9cf-1f3fc-200d-2640-fe0f","1f9cf-1f3fd-200d-2640-fe0f","1f9cf-1f3fe-200d-2640-fe0f","1f9cf-1f3ff-200d-2640-fe0f"],a:"12.0"},{n:["bow","person bowing deeply"],u:"1f647",v:["1f647-1f3fb","1f647-1f3fc","1f647-1f3fd","1f647-1f3fe","1f647-1f3ff"],a:"0.6"},{n:["man bowing","man-bowing"],u:"1f647-200d-2642-fe0f",v:["1f647-1f3fb-200d-2642-fe0f","1f647-1f3fc-200d-2642-fe0f","1f647-1f3fd-200d-2642-fe0f","1f647-1f3fe-200d-2642-fe0f","1f647-1f3ff-200d-2642-fe0f"],a:"4.0"},{n:["woman bowing","woman-bowing"],u:"1f647-200d-2640-fe0f",v:["1f647-1f3fb-200d-2640-fe0f","1f647-1f3fc-200d-2640-fe0f","1f647-1f3fd-200d-2640-fe0f","1f647-1f3fe-200d-2640-fe0f","1f647-1f3ff-200d-2640-fe0f"],a:"4.0"},{n:["face palm"],u:"1f926",v:["1f926-1f3fb","1f926-1f3fc","1f926-1f3fd","1f926-1f3fe","1f926-1f3ff"],a:"3.0"},{n:["man facepalming","man-facepalming"],u:"1f926-200d-2642-fe0f",v:["1f926-1f3fb-200d-2642-fe0f","1f926-1f3fc-200d-2642-fe0f","1f926-1f3fd-200d-2642-fe0f","1f926-1f3fe-200d-2642-fe0f","1f926-1f3ff-200d-2642-fe0f"],a:"4.0"},{n:["woman facepalming","woman-facepalming"],u:"1f926-200d-2640-fe0f",v:["1f926-1f3fb-200d-2640-fe0f","1f926-1f3fc-200d-2640-fe0f","1f926-1f3fd-200d-2640-fe0f","1f926-1f3fe-200d-2640-fe0f","1f926-1f3ff-200d-2640-fe0f"],a:"4.0"},{n:["shrug"],u:"1f937",v:["1f937-1f3fb","1f937-1f3fc","1f937-1f3fd","1f937-1f3fe","1f937-1f3ff"],a:"3.0"},{n:["man shrugging","man-shrugging"],u:"1f937-200d-2642-fe0f",v:["1f937-1f3fb-200d-2642-fe0f","1f937-1f3fc-200d-2642-fe0f","1f937-1f3fd-200d-2642-fe0f","1f937-1f3fe-200d-2642-fe0f","1f937-1f3ff-200d-2642-fe0f"],a:"4.0"},{n:["woman shrugging","woman-shrugging"],u:"1f937-200d-2640-fe0f",v:["1f937-1f3fb-200d-2640-fe0f","1f937-1f3fc-200d-2640-fe0f","1f937-1f3fd-200d-2640-fe0f","1f937-1f3fe-200d-2640-fe0f","1f937-1f3ff-200d-2640-fe0f"],a:"4.0"},{n:["health worker"],u:"1f9d1-200d-2695-fe0f",v:["1f9d1-1f3fb-200d-2695-fe0f","1f9d1-1f3fc-200d-2695-fe0f","1f9d1-1f3fd-200d-2695-fe0f","1f9d1-1f3fe-200d-2695-fe0f","1f9d1-1f3ff-200d-2695-fe0f"],a:"12.1"},{n:["male-doctor","man health worker"],u:"1f468-200d-2695-fe0f",v:["1f468-1f3fb-200d-2695-fe0f","1f468-1f3fc-200d-2695-fe0f","1f468-1f3fd-200d-2695-fe0f","1f468-1f3fe-200d-2695-fe0f","1f468-1f3ff-200d-2695-fe0f"],a:"4.0"},{n:["female-doctor","woman health worker"],u:"1f469-200d-2695-fe0f",v:["1f469-1f3fb-200d-2695-fe0f","1f469-1f3fc-200d-2695-fe0f","1f469-1f3fd-200d-2695-fe0f","1f469-1f3fe-200d-2695-fe0f","1f469-1f3ff-200d-2695-fe0f"],a:"4.0"},{n:["student"],u:"1f9d1-200d-1f393",v:["1f9d1-1f3fb-200d-1f393","1f9d1-1f3fc-200d-1f393","1f9d1-1f3fd-200d-1f393","1f9d1-1f3fe-200d-1f393","1f9d1-1f3ff-200d-1f393"],a:"12.1"},{n:["man student","male-student"],u:"1f468-200d-1f393",v:["1f468-1f3fb-200d-1f393","1f468-1f3fc-200d-1f393","1f468-1f3fd-200d-1f393","1f468-1f3fe-200d-1f393","1f468-1f3ff-200d-1f393"],a:"4.0"},{n:["woman student","female-student"],u:"1f469-200d-1f393",v:["1f469-1f3fb-200d-1f393","1f469-1f3fc-200d-1f393","1f469-1f3fd-200d-1f393","1f469-1f3fe-200d-1f393","1f469-1f3ff-200d-1f393"],a:"4.0"},{n:["teacher"],u:"1f9d1-200d-1f3eb",v:["1f9d1-1f3fb-200d-1f3eb","1f9d1-1f3fc-200d-1f3eb","1f9d1-1f3fd-200d-1f3eb","1f9d1-1f3fe-200d-1f3eb","1f9d1-1f3ff-200d-1f3eb"],a:"12.1"},{n:["man teacher","male-teacher"],u:"1f468-200d-1f3eb",v:["1f468-1f3fb-200d-1f3eb","1f468-1f3fc-200d-1f3eb","1f468-1f3fd-200d-1f3eb","1f468-1f3fe-200d-1f3eb","1f468-1f3ff-200d-1f3eb"],a:"4.0"},{n:["woman teacher","female-teacher"],u:"1f469-200d-1f3eb",v:["1f469-1f3fb-200d-1f3eb","1f469-1f3fc-200d-1f3eb","1f469-1f3fd-200d-1f3eb","1f469-1f3fe-200d-1f3eb","1f469-1f3ff-200d-1f3eb"],a:"4.0"},{n:["judge"],u:"1f9d1-200d-2696-fe0f",v:["1f9d1-1f3fb-200d-2696-fe0f","1f9d1-1f3fc-200d-2696-fe0f","1f9d1-1f3fd-200d-2696-fe0f","1f9d1-1f3fe-200d-2696-fe0f","1f9d1-1f3ff-200d-2696-fe0f"],a:"12.1"},{n:["man judge","male-judge"],u:"1f468-200d-2696-fe0f",v:["1f468-1f3fb-200d-2696-fe0f","1f468-1f3fc-200d-2696-fe0f","1f468-1f3fd-200d-2696-fe0f","1f468-1f3fe-200d-2696-fe0f","1f468-1f3ff-200d-2696-fe0f"],a:"4.0"},{n:["woman judge","female-judge"],u:"1f469-200d-2696-fe0f",v:["1f469-1f3fb-200d-2696-fe0f","1f469-1f3fc-200d-2696-fe0f","1f469-1f3fd-200d-2696-fe0f","1f469-1f3fe-200d-2696-fe0f","1f469-1f3ff-200d-2696-fe0f"],a:"4.0"},{n:["farmer"],u:"1f9d1-200d-1f33e",v:["1f9d1-1f3fb-200d-1f33e","1f9d1-1f3fc-200d-1f33e","1f9d1-1f3fd-200d-1f33e","1f9d1-1f3fe-200d-1f33e","1f9d1-1f3ff-200d-1f33e"],a:"12.1"},{n:["man farmer","male-farmer"],u:"1f468-200d-1f33e",v:["1f468-1f3fb-200d-1f33e","1f468-1f3fc-200d-1f33e","1f468-1f3fd-200d-1f33e","1f468-1f3fe-200d-1f33e","1f468-1f3ff-200d-1f33e"],a:"4.0"},{n:["woman farmer","female-farmer"],u:"1f469-200d-1f33e",v:["1f469-1f3fb-200d-1f33e","1f469-1f3fc-200d-1f33e","1f469-1f3fd-200d-1f33e","1f469-1f3fe-200d-1f33e","1f469-1f3ff-200d-1f33e"],a:"4.0"},{n:["cook"],u:"1f9d1-200d-1f373",v:["1f9d1-1f3fb-200d-1f373","1f9d1-1f3fc-200d-1f373","1f9d1-1f3fd-200d-1f373","1f9d1-1f3fe-200d-1f373","1f9d1-1f3ff-200d-1f373"],a:"12.1"},{n:["man cook","male-cook"],u:"1f468-200d-1f373",v:["1f468-1f3fb-200d-1f373","1f468-1f3fc-200d-1f373","1f468-1f3fd-200d-1f373","1f468-1f3fe-200d-1f373","1f468-1f3ff-200d-1f373"],a:"4.0"},{n:["woman cook","female-cook"],u:"1f469-200d-1f373",v:["1f469-1f3fb-200d-1f373","1f469-1f3fc-200d-1f373","1f469-1f3fd-200d-1f373","1f469-1f3fe-200d-1f373","1f469-1f3ff-200d-1f373"],a:"4.0"},{n:["mechanic"],u:"1f9d1-200d-1f527",v:["1f9d1-1f3fb-200d-1f527","1f9d1-1f3fc-200d-1f527","1f9d1-1f3fd-200d-1f527","1f9d1-1f3fe-200d-1f527","1f9d1-1f3ff-200d-1f527"],a:"12.1"},{n:["man mechanic","male-mechanic"],u:"1f468-200d-1f527",v:["1f468-1f3fb-200d-1f527","1f468-1f3fc-200d-1f527","1f468-1f3fd-200d-1f527","1f468-1f3fe-200d-1f527","1f468-1f3ff-200d-1f527"],a:"4.0"},{n:["woman mechanic","female-mechanic"],u:"1f469-200d-1f527",v:["1f469-1f3fb-200d-1f527","1f469-1f3fc-200d-1f527","1f469-1f3fd-200d-1f527","1f469-1f3fe-200d-1f527","1f469-1f3ff-200d-1f527"],a:"4.0"},{n:["factory worker"],u:"1f9d1-200d-1f3ed",v:["1f9d1-1f3fb-200d-1f3ed","1f9d1-1f3fc-200d-1f3ed","1f9d1-1f3fd-200d-1f3ed","1f9d1-1f3fe-200d-1f3ed","1f9d1-1f3ff-200d-1f3ed"],a:"12.1"},{n:["man factory worker","male-factory-worker"],u:"1f468-200d-1f3ed",v:["1f468-1f3fb-200d-1f3ed","1f468-1f3fc-200d-1f3ed","1f468-1f3fd-200d-1f3ed","1f468-1f3fe-200d-1f3ed","1f468-1f3ff-200d-1f3ed"],a:"4.0"},{n:["woman factory worker","female-factory-worker"],u:"1f469-200d-1f3ed",v:["1f469-1f3fb-200d-1f3ed","1f469-1f3fc-200d-1f3ed","1f469-1f3fd-200d-1f3ed","1f469-1f3fe-200d-1f3ed","1f469-1f3ff-200d-1f3ed"],a:"4.0"},{n:["office worker"],u:"1f9d1-200d-1f4bc",v:["1f9d1-1f3fb-200d-1f4bc","1f9d1-1f3fc-200d-1f4bc","1f9d1-1f3fd-200d-1f4bc","1f9d1-1f3fe-200d-1f4bc","1f9d1-1f3ff-200d-1f4bc"],a:"12.1"},{n:["man office worker","male-office-worker"],u:"1f468-200d-1f4bc",v:["1f468-1f3fb-200d-1f4bc","1f468-1f3fc-200d-1f4bc","1f468-1f3fd-200d-1f4bc","1f468-1f3fe-200d-1f4bc","1f468-1f3ff-200d-1f4bc"],a:"4.0"},{n:["woman office worker","female-office-worker"],u:"1f469-200d-1f4bc",v:["1f469-1f3fb-200d-1f4bc","1f469-1f3fc-200d-1f4bc","1f469-1f3fd-200d-1f4bc","1f469-1f3fe-200d-1f4bc","1f469-1f3ff-200d-1f4bc"],a:"4.0"},{n:["scientist"],u:"1f9d1-200d-1f52c",v:["1f9d1-1f3fb-200d-1f52c","1f9d1-1f3fc-200d-1f52c","1f9d1-1f3fd-200d-1f52c","1f9d1-1f3fe-200d-1f52c","1f9d1-1f3ff-200d-1f52c"],a:"12.1"},{n:["man scientist","male-scientist"],u:"1f468-200d-1f52c",v:["1f468-1f3fb-200d-1f52c","1f468-1f3fc-200d-1f52c","1f468-1f3fd-200d-1f52c","1f468-1f3fe-200d-1f52c","1f468-1f3ff-200d-1f52c"],a:"4.0"},{n:["woman scientist","female-scientist"],u:"1f469-200d-1f52c",v:["1f469-1f3fb-200d-1f52c","1f469-1f3fc-200d-1f52c","1f469-1f3fd-200d-1f52c","1f469-1f3fe-200d-1f52c","1f469-1f3ff-200d-1f52c"],a:"4.0"},{n:["technologist"],u:"1f9d1-200d-1f4bb",v:["1f9d1-1f3fb-200d-1f4bb","1f9d1-1f3fc-200d-1f4bb","1f9d1-1f3fd-200d-1f4bb","1f9d1-1f3fe-200d-1f4bb","1f9d1-1f3ff-200d-1f4bb"],a:"12.1"},{n:["man technologist","male-technologist"],u:"1f468-200d-1f4bb",v:["1f468-1f3fb-200d-1f4bb","1f468-1f3fc-200d-1f4bb","1f468-1f3fd-200d-1f4bb","1f468-1f3fe-200d-1f4bb","1f468-1f3ff-200d-1f4bb"],a:"4.0"},{n:["woman technologist","female-technologist"],u:"1f469-200d-1f4bb",v:["1f469-1f3fb-200d-1f4bb","1f469-1f3fc-200d-1f4bb","1f469-1f3fd-200d-1f4bb","1f469-1f3fe-200d-1f4bb","1f469-1f3ff-200d-1f4bb"],a:"4.0"},{n:["singer"],u:"1f9d1-200d-1f3a4",v:["1f9d1-1f3fb-200d-1f3a4","1f9d1-1f3fc-200d-1f3a4","1f9d1-1f3fd-200d-1f3a4","1f9d1-1f3fe-200d-1f3a4","1f9d1-1f3ff-200d-1f3a4"],a:"12.1"},{n:["man singer","male-singer"],u:"1f468-200d-1f3a4",v:["1f468-1f3fb-200d-1f3a4","1f468-1f3fc-200d-1f3a4","1f468-1f3fd-200d-1f3a4","1f468-1f3fe-200d-1f3a4","1f468-1f3ff-200d-1f3a4"],a:"4.0"},{n:["woman singer","female-singer"],u:"1f469-200d-1f3a4",v:["1f469-1f3fb-200d-1f3a4","1f469-1f3fc-200d-1f3a4","1f469-1f3fd-200d-1f3a4","1f469-1f3fe-200d-1f3a4","1f469-1f3ff-200d-1f3a4"],a:"4.0"},{n:["artist"],u:"1f9d1-200d-1f3a8",v:["1f9d1-1f3fb-200d-1f3a8","1f9d1-1f3fc-200d-1f3a8","1f9d1-1f3fd-200d-1f3a8","1f9d1-1f3fe-200d-1f3a8","1f9d1-1f3ff-200d-1f3a8"],a:"12.1"},{n:["man artist","male-artist"],u:"1f468-200d-1f3a8",v:["1f468-1f3fb-200d-1f3a8","1f468-1f3fc-200d-1f3a8","1f468-1f3fd-200d-1f3a8","1f468-1f3fe-200d-1f3a8","1f468-1f3ff-200d-1f3a8"],a:"4.0"},{n:["woman artist","female-artist"],u:"1f469-200d-1f3a8",v:["1f469-1f3fb-200d-1f3a8","1f469-1f3fc-200d-1f3a8","1f469-1f3fd-200d-1f3a8","1f469-1f3fe-200d-1f3a8","1f469-1f3ff-200d-1f3a8"],a:"4.0"},{n:["pilot"],u:"1f9d1-200d-2708-fe0f",v:["1f9d1-1f3fb-200d-2708-fe0f","1f9d1-1f3fc-200d-2708-fe0f","1f9d1-1f3fd-200d-2708-fe0f","1f9d1-1f3fe-200d-2708-fe0f","1f9d1-1f3ff-200d-2708-fe0f"],a:"12.1"},{n:["man pilot","male-pilot"],u:"1f468-200d-2708-fe0f",v:["1f468-1f3fb-200d-2708-fe0f","1f468-1f3fc-200d-2708-fe0f","1f468-1f3fd-200d-2708-fe0f","1f468-1f3fe-200d-2708-fe0f","1f468-1f3ff-200d-2708-fe0f"],a:"4.0"},{n:["woman pilot","female-pilot"],u:"1f469-200d-2708-fe0f",v:["1f469-1f3fb-200d-2708-fe0f","1f469-1f3fc-200d-2708-fe0f","1f469-1f3fd-200d-2708-fe0f","1f469-1f3fe-200d-2708-fe0f","1f469-1f3ff-200d-2708-fe0f"],a:"4.0"},{n:["astronaut"],u:"1f9d1-200d-1f680",v:["1f9d1-1f3fb-200d-1f680","1f9d1-1f3fc-200d-1f680","1f9d1-1f3fd-200d-1f680","1f9d1-1f3fe-200d-1f680","1f9d1-1f3ff-200d-1f680"],a:"12.1"},{n:["man astronaut","male-astronaut"],u:"1f468-200d-1f680",v:["1f468-1f3fb-200d-1f680","1f468-1f3fc-200d-1f680","1f468-1f3fd-200d-1f680","1f468-1f3fe-200d-1f680","1f468-1f3ff-200d-1f680"],a:"4.0"},{n:["woman astronaut","female-astronaut"],u:"1f469-200d-1f680",v:["1f469-1f3fb-200d-1f680","1f469-1f3fc-200d-1f680","1f469-1f3fd-200d-1f680","1f469-1f3fe-200d-1f680","1f469-1f3ff-200d-1f680"],a:"4.0"},{n:["firefighter"],u:"1f9d1-200d-1f692",v:["1f9d1-1f3fb-200d-1f692","1f9d1-1f3fc-200d-1f692","1f9d1-1f3fd-200d-1f692","1f9d1-1f3fe-200d-1f692","1f9d1-1f3ff-200d-1f692"],a:"12.1"},{n:["man firefighter","male-firefighter"],u:"1f468-200d-1f692",v:["1f468-1f3fb-200d-1f692","1f468-1f3fc-200d-1f692","1f468-1f3fd-200d-1f692","1f468-1f3fe-200d-1f692","1f468-1f3ff-200d-1f692"],a:"4.0"},{n:["woman firefighter","female-firefighter"],u:"1f469-200d-1f692",v:["1f469-1f3fb-200d-1f692","1f469-1f3fc-200d-1f692","1f469-1f3fd-200d-1f692","1f469-1f3fe-200d-1f692","1f469-1f3ff-200d-1f692"],a:"4.0"},{n:["cop","police officer"],u:"1f46e",v:["1f46e-1f3fb","1f46e-1f3fc","1f46e-1f3fd","1f46e-1f3fe","1f46e-1f3ff"],a:"0.6"},{n:["man police officer","male-police-officer"],u:"1f46e-200d-2642-fe0f",v:["1f46e-1f3fb-200d-2642-fe0f","1f46e-1f3fc-200d-2642-fe0f","1f46e-1f3fd-200d-2642-fe0f","1f46e-1f3fe-200d-2642-fe0f","1f46e-1f3ff-200d-2642-fe0f"],a:"4.0"},{n:["woman police officer","female-police-officer"],u:"1f46e-200d-2640-fe0f",v:["1f46e-1f3fb-200d-2640-fe0f","1f46e-1f3fc-200d-2640-fe0f","1f46e-1f3fd-200d-2640-fe0f","1f46e-1f3fe-200d-2640-fe0f","1f46e-1f3ff-200d-2640-fe0f"],a:"4.0"},{n:["detective","sleuth or spy"],u:"1f575-fe0f",v:["1f575-1f3fb","1f575-1f3fc","1f575-1f3fd","1f575-1f3fe","1f575-1f3ff"],a:"0.7"},{n:["man detective","male-detective"],u:"1f575-fe0f-200d-2642-fe0f",v:["1f575-1f3fb-200d-2642-fe0f","1f575-1f3fc-200d-2642-fe0f","1f575-1f3fd-200d-2642-fe0f","1f575-1f3fe-200d-2642-fe0f","1f575-1f3ff-200d-2642-fe0f"],a:"4.0"},{n:["woman detective","female-detective"],u:"1f575-fe0f-200d-2640-fe0f",v:["1f575-1f3fb-200d-2640-fe0f","1f575-1f3fc-200d-2640-fe0f","1f575-1f3fd-200d-2640-fe0f","1f575-1f3fe-200d-2640-fe0f","1f575-1f3ff-200d-2640-fe0f"],a:"4.0"},{n:["guardsman"],u:"1f482",v:["1f482-1f3fb","1f482-1f3fc","1f482-1f3fd","1f482-1f3fe","1f482-1f3ff"],a:"0.6"},{n:["man guard","male-guard"],u:"1f482-200d-2642-fe0f",v:["1f482-1f3fb-200d-2642-fe0f","1f482-1f3fc-200d-2642-fe0f","1f482-1f3fd-200d-2642-fe0f","1f482-1f3fe-200d-2642-fe0f","1f482-1f3ff-200d-2642-fe0f"],a:"4.0"},{n:["woman guard","female-guard"],u:"1f482-200d-2640-fe0f",v:["1f482-1f3fb-200d-2640-fe0f","1f482-1f3fc-200d-2640-fe0f","1f482-1f3fd-200d-2640-fe0f","1f482-1f3fe-200d-2640-fe0f","1f482-1f3ff-200d-2640-fe0f"],a:"4.0"},{n:["ninja"],u:"1f977",v:["1f977-1f3fb","1f977-1f3fc","1f977-1f3fd","1f977-1f3fe","1f977-1f3ff"],a:"13.0"},{n:["construction worker"],u:"1f477",v:["1f477-1f3fb","1f477-1f3fc","1f477-1f3fd","1f477-1f3fe","1f477-1f3ff"],a:"0.6"},{n:["man construction worker","male-construction-worker"],u:"1f477-200d-2642-fe0f",v:["1f477-1f3fb-200d-2642-fe0f","1f477-1f3fc-200d-2642-fe0f","1f477-1f3fd-200d-2642-fe0f","1f477-1f3fe-200d-2642-fe0f","1f477-1f3ff-200d-2642-fe0f"],a:"4.0"},{n:["woman construction worker","female-construction-worker"],u:"1f477-200d-2640-fe0f",v:["1f477-1f3fb-200d-2640-fe0f","1f477-1f3fc-200d-2640-fe0f","1f477-1f3fd-200d-2640-fe0f","1f477-1f3fe-200d-2640-fe0f","1f477-1f3ff-200d-2640-fe0f"],a:"4.0"},{n:["person with crown"],u:"1fac5",v:["1fac5-1f3fb","1fac5-1f3fc","1fac5-1f3fd","1fac5-1f3fe","1fac5-1f3ff"],a:"14.0"},{n:["prince"],u:"1f934",v:["1f934-1f3fb","1f934-1f3fc","1f934-1f3fd","1f934-1f3fe","1f934-1f3ff"],a:"3.0"},{n:["princess"],u:"1f478",v:["1f478-1f3fb","1f478-1f3fc","1f478-1f3fd","1f478-1f3fe","1f478-1f3ff"],a:"0.6"},{n:["man with turban"],u:"1f473",v:["1f473-1f3fb","1f473-1f3fc","1f473-1f3fd","1f473-1f3fe","1f473-1f3ff"],a:"0.6"},{n:["man wearing turban","man-wearing-turban"],u:"1f473-200d-2642-fe0f",v:["1f473-1f3fb-200d-2642-fe0f","1f473-1f3fc-200d-2642-fe0f","1f473-1f3fd-200d-2642-fe0f","1f473-1f3fe-200d-2642-fe0f","1f473-1f3ff-200d-2642-fe0f"],a:"4.0"},{n:["woman wearing turban","woman-wearing-turban"],u:"1f473-200d-2640-fe0f",v:["1f473-1f3fb-200d-2640-fe0f","1f473-1f3fc-200d-2640-fe0f","1f473-1f3fd-200d-2640-fe0f","1f473-1f3fe-200d-2640-fe0f","1f473-1f3ff-200d-2640-fe0f"],a:"4.0"},{n:["man with gua pi mao"],u:"1f472",v:["1f472-1f3fb","1f472-1f3fc","1f472-1f3fd","1f472-1f3fe","1f472-1f3ff"],a:"0.6"},{n:["person with headscarf"],u:"1f9d5",v:["1f9d5-1f3fb","1f9d5-1f3fc","1f9d5-1f3fd","1f9d5-1f3fe","1f9d5-1f3ff"],a:"5.0"},{n:["man in tuxedo","person in tuxedo"],u:"1f935",v:["1f935-1f3fb","1f935-1f3fc","1f935-1f3fd","1f935-1f3fe","1f935-1f3ff"],a:"3.0"},{n:["man in tuxedo"],u:"1f935-200d-2642-fe0f",v:["1f935-1f3fb-200d-2642-fe0f","1f935-1f3fc-200d-2642-fe0f","1f935-1f3fd-200d-2642-fe0f","1f935-1f3fe-200d-2642-fe0f","1f935-1f3ff-200d-2642-fe0f"],a:"13.0"},{n:["woman in tuxedo"],u:"1f935-200d-2640-fe0f",v:["1f935-1f3fb-200d-2640-fe0f","1f935-1f3fc-200d-2640-fe0f","1f935-1f3fd-200d-2640-fe0f","1f935-1f3fe-200d-2640-fe0f","1f935-1f3ff-200d-2640-fe0f"],a:"13.0"},{n:["bride with veil"],u:"1f470",v:["1f470-1f3fb","1f470-1f3fc","1f470-1f3fd","1f470-1f3fe","1f470-1f3ff"],a:"0.6"},{n:["man with veil"],u:"1f470-200d-2642-fe0f",v:["1f470-1f3fb-200d-2642-fe0f","1f470-1f3fc-200d-2642-fe0f","1f470-1f3fd-200d-2642-fe0f","1f470-1f3fe-200d-2642-fe0f","1f470-1f3ff-200d-2642-fe0f"],a:"13.0"},{n:["woman with veil"],u:"1f470-200d-2640-fe0f",v:["1f470-1f3fb-200d-2640-fe0f","1f470-1f3fc-200d-2640-fe0f","1f470-1f3fd-200d-2640-fe0f","1f470-1f3fe-200d-2640-fe0f","1f470-1f3ff-200d-2640-fe0f"],a:"13.0"},{n:["pregnant woman"],u:"1f930",v:["1f930-1f3fb","1f930-1f3fc","1f930-1f3fd","1f930-1f3fe","1f930-1f3ff"],a:"3.0"},{n:["pregnant man"],u:"1fac3",v:["1fac3-1f3fb","1fac3-1f3fc","1fac3-1f3fd","1fac3-1f3fe","1fac3-1f3ff"],a:"14.0"},{n:["pregnant person"],u:"1fac4",v:["1fac4-1f3fb","1fac4-1f3fc","1fac4-1f3fd","1fac4-1f3fe","1fac4-1f3ff"],a:"14.0"},{n:["breast-feeding"],u:"1f931",v:["1f931-1f3fb","1f931-1f3fc","1f931-1f3fd","1f931-1f3fe","1f931-1f3ff"],a:"5.0"},{n:["woman feeding baby"],u:"1f469-200d-1f37c",v:["1f469-1f3fb-200d-1f37c","1f469-1f3fc-200d-1f37c","1f469-1f3fd-200d-1f37c","1f469-1f3fe-200d-1f37c","1f469-1f3ff-200d-1f37c"],a:"13.0"},{n:["man feeding baby"],u:"1f468-200d-1f37c",v:["1f468-1f3fb-200d-1f37c","1f468-1f3fc-200d-1f37c","1f468-1f3fd-200d-1f37c","1f468-1f3fe-200d-1f37c","1f468-1f3ff-200d-1f37c"],a:"13.0"},{n:["person feeding baby"],u:"1f9d1-200d-1f37c",v:["1f9d1-1f3fb-200d-1f37c","1f9d1-1f3fc-200d-1f37c","1f9d1-1f3fd-200d-1f37c","1f9d1-1f3fe-200d-1f37c","1f9d1-1f3ff-200d-1f37c"],a:"13.0"},{n:["angel","baby angel"],u:"1f47c",v:["1f47c-1f3fb","1f47c-1f3fc","1f47c-1f3fd","1f47c-1f3fe","1f47c-1f3ff"],a:"0.6"},{n:["santa","father christmas"],u:"1f385",v:["1f385-1f3fb","1f385-1f3fc","1f385-1f3fd","1f385-1f3fe","1f385-1f3ff"],a:"0.6"},{n:["mrs claus","mother christmas"],u:"1f936",v:["1f936-1f3fb","1f936-1f3fc","1f936-1f3fd","1f936-1f3fe","1f936-1f3ff"],a:"3.0"},{n:["mx claus"],u:"1f9d1-200d-1f384",v:["1f9d1-1f3fb-200d-1f384","1f9d1-1f3fc-200d-1f384","1f9d1-1f3fd-200d-1f384","1f9d1-1f3fe-200d-1f384","1f9d1-1f3ff-200d-1f384"],a:"13.0"},{n:["superhero"],u:"1f9b8",v:["1f9b8-1f3fb","1f9b8-1f3fc","1f9b8-1f3fd","1f9b8-1f3fe","1f9b8-1f3ff"],a:"11.0"},{n:["man superhero","male superhero"],u:"1f9b8-200d-2642-fe0f",v:["1f9b8-1f3fb-200d-2642-fe0f","1f9b8-1f3fc-200d-2642-fe0f","1f9b8-1f3fd-200d-2642-fe0f","1f9b8-1f3fe-200d-2642-fe0f","1f9b8-1f3ff-200d-2642-fe0f"],a:"11.0"},{n:["woman superhero","female superhero"],u:"1f9b8-200d-2640-fe0f",v:["1f9b8-1f3fb-200d-2640-fe0f","1f9b8-1f3fc-200d-2640-fe0f","1f9b8-1f3fd-200d-2640-fe0f","1f9b8-1f3fe-200d-2640-fe0f","1f9b8-1f3ff-200d-2640-fe0f"],a:"11.0"},{n:["supervillain"],u:"1f9b9",v:["1f9b9-1f3fb","1f9b9-1f3fc","1f9b9-1f3fd","1f9b9-1f3fe","1f9b9-1f3ff"],a:"11.0"},{n:["man supervillain","male supervillain"],u:"1f9b9-200d-2642-fe0f",v:["1f9b9-1f3fb-200d-2642-fe0f","1f9b9-1f3fc-200d-2642-fe0f","1f9b9-1f3fd-200d-2642-fe0f","1f9b9-1f3fe-200d-2642-fe0f","1f9b9-1f3ff-200d-2642-fe0f"],a:"11.0"},{n:["woman supervillain","female supervillain"],u:"1f9b9-200d-2640-fe0f",v:["1f9b9-1f3fb-200d-2640-fe0f","1f9b9-1f3fc-200d-2640-fe0f","1f9b9-1f3fd-200d-2640-fe0f","1f9b9-1f3fe-200d-2640-fe0f","1f9b9-1f3ff-200d-2640-fe0f"],a:"11.0"},{n:["mage"],u:"1f9d9",v:["1f9d9-1f3fb","1f9d9-1f3fc","1f9d9-1f3fd","1f9d9-1f3fe","1f9d9-1f3ff"],a:"5.0"},{n:["man mage","male mage"],u:"1f9d9-200d-2642-fe0f",v:["1f9d9-1f3fb-200d-2642-fe0f","1f9d9-1f3fc-200d-2642-fe0f","1f9d9-1f3fd-200d-2642-fe0f","1f9d9-1f3fe-200d-2642-fe0f","1f9d9-1f3ff-200d-2642-fe0f"],a:"5.0"},{n:["woman mage","female mage"],u:"1f9d9-200d-2640-fe0f",v:["1f9d9-1f3fb-200d-2640-fe0f","1f9d9-1f3fc-200d-2640-fe0f","1f9d9-1f3fd-200d-2640-fe0f","1f9d9-1f3fe-200d-2640-fe0f","1f9d9-1f3ff-200d-2640-fe0f"],a:"5.0"},{n:["fairy"],u:"1f9da",v:["1f9da-1f3fb","1f9da-1f3fc","1f9da-1f3fd","1f9da-1f3fe","1f9da-1f3ff"],a:"5.0"},{n:["man fairy","male fairy"],u:"1f9da-200d-2642-fe0f",v:["1f9da-1f3fb-200d-2642-fe0f","1f9da-1f3fc-200d-2642-fe0f","1f9da-1f3fd-200d-2642-fe0f","1f9da-1f3fe-200d-2642-fe0f","1f9da-1f3ff-200d-2642-fe0f"],a:"5.0"},{n:["woman fairy","female fairy"],u:"1f9da-200d-2640-fe0f",v:["1f9da-1f3fb-200d-2640-fe0f","1f9da-1f3fc-200d-2640-fe0f","1f9da-1f3fd-200d-2640-fe0f","1f9da-1f3fe-200d-2640-fe0f","1f9da-1f3ff-200d-2640-fe0f"],a:"5.0"},{n:["vampire"],u:"1f9db",v:["1f9db-1f3fb","1f9db-1f3fc","1f9db-1f3fd","1f9db-1f3fe","1f9db-1f3ff"],a:"5.0"},{n:["man vampire","male vampire"],u:"1f9db-200d-2642-fe0f",v:["1f9db-1f3fb-200d-2642-fe0f","1f9db-1f3fc-200d-2642-fe0f","1f9db-1f3fd-200d-2642-fe0f","1f9db-1f3fe-200d-2642-fe0f","1f9db-1f3ff-200d-2642-fe0f"],a:"5.0"},{n:["woman vampire","female vampire"],u:"1f9db-200d-2640-fe0f",v:["1f9db-1f3fb-200d-2640-fe0f","1f9db-1f3fc-200d-2640-fe0f","1f9db-1f3fd-200d-2640-fe0f","1f9db-1f3fe-200d-2640-fe0f","1f9db-1f3ff-200d-2640-fe0f"],a:"5.0"},{n:["merperson"],u:"1f9dc",v:["1f9dc-1f3fb","1f9dc-1f3fc","1f9dc-1f3fd","1f9dc-1f3fe","1f9dc-1f3ff"],a:"5.0"},{n:["merman"],u:"1f9dc-200d-2642-fe0f",v:["1f9dc-1f3fb-200d-2642-fe0f","1f9dc-1f3fc-200d-2642-fe0f","1f9dc-1f3fd-200d-2642-fe0f","1f9dc-1f3fe-200d-2642-fe0f","1f9dc-1f3ff-200d-2642-fe0f"],a:"5.0"},{n:["mermaid"],u:"1f9dc-200d-2640-fe0f",v:["1f9dc-1f3fb-200d-2640-fe0f","1f9dc-1f3fc-200d-2640-fe0f","1f9dc-1f3fd-200d-2640-fe0f","1f9dc-1f3fe-200d-2640-fe0f","1f9dc-1f3ff-200d-2640-fe0f"],a:"5.0"},{n:["elf"],u:"1f9dd",v:["1f9dd-1f3fb","1f9dd-1f3fc","1f9dd-1f3fd","1f9dd-1f3fe","1f9dd-1f3ff"],a:"5.0"},{n:["man elf","male elf"],u:"1f9dd-200d-2642-fe0f",v:["1f9dd-1f3fb-200d-2642-fe0f","1f9dd-1f3fc-200d-2642-fe0f","1f9dd-1f3fd-200d-2642-fe0f","1f9dd-1f3fe-200d-2642-fe0f","1f9dd-1f3ff-200d-2642-fe0f"],a:"5.0"},{n:["woman elf","female elf"],u:"1f9dd-200d-2640-fe0f",v:["1f9dd-1f3fb-200d-2640-fe0f","1f9dd-1f3fc-200d-2640-fe0f","1f9dd-1f3fd-200d-2640-fe0f","1f9dd-1f3fe-200d-2640-fe0f","1f9dd-1f3ff-200d-2640-fe0f"],a:"5.0"},{n:["genie"],u:"1f9de",a:"5.0"},{n:["man genie","male genie"],u:"1f9de-200d-2642-fe0f",a:"5.0"},{n:["woman genie","female genie"],u:"1f9de-200d-2640-fe0f",a:"5.0"},{n:["zombie"],u:"1f9df",a:"5.0"},{n:["man zombie","male zombie"],u:"1f9df-200d-2642-fe0f",a:"5.0"},{n:["woman zombie","female zombie"],u:"1f9df-200d-2640-fe0f",a:"5.0"},{n:["troll"],u:"1f9cc",a:"14.0"},{n:["massage","face massage"],u:"1f486",v:["1f486-1f3fb","1f486-1f3fc","1f486-1f3fd","1f486-1f3fe","1f486-1f3ff"],a:"0.6"},{n:["man getting massage","man-getting-massage"],u:"1f486-200d-2642-fe0f",v:["1f486-1f3fb-200d-2642-fe0f","1f486-1f3fc-200d-2642-fe0f","1f486-1f3fd-200d-2642-fe0f","1f486-1f3fe-200d-2642-fe0f","1f486-1f3ff-200d-2642-fe0f"],a:"4.0"},{n:["woman getting massage","woman-getting-massage"],u:"1f486-200d-2640-fe0f",v:["1f486-1f3fb-200d-2640-fe0f","1f486-1f3fc-200d-2640-fe0f","1f486-1f3fd-200d-2640-fe0f","1f486-1f3fe-200d-2640-fe0f","1f486-1f3ff-200d-2640-fe0f"],a:"4.0"},{n:["haircut"],u:"1f487",v:["1f487-1f3fb","1f487-1f3fc","1f487-1f3fd","1f487-1f3fe","1f487-1f3ff"],a:"0.6"},{n:["man getting haircut","man-getting-haircut"],u:"1f487-200d-2642-fe0f",v:["1f487-1f3fb-200d-2642-fe0f","1f487-1f3fc-200d-2642-fe0f","1f487-1f3fd-200d-2642-fe0f","1f487-1f3fe-200d-2642-fe0f","1f487-1f3ff-200d-2642-fe0f"],a:"4.0"},{n:["woman getting haircut","woman-getting-haircut"],u:"1f487-200d-2640-fe0f",v:["1f487-1f3fb-200d-2640-fe0f","1f487-1f3fc-200d-2640-fe0f","1f487-1f3fd-200d-2640-fe0f","1f487-1f3fe-200d-2640-fe0f","1f487-1f3ff-200d-2640-fe0f"],a:"4.0"},{n:["walking","pedestrian"],u:"1f6b6",v:["1f6b6-1f3fb","1f6b6-1f3fc","1f6b6-1f3fd","1f6b6-1f3fe","1f6b6-1f3ff"],a:"0.6"},{n:["man walking","man-walking"],u:"1f6b6-200d-2642-fe0f",v:["1f6b6-1f3fb-200d-2642-fe0f","1f6b6-1f3fc-200d-2642-fe0f","1f6b6-1f3fd-200d-2642-fe0f","1f6b6-1f3fe-200d-2642-fe0f","1f6b6-1f3ff-200d-2642-fe0f"],a:"4.0"},{n:["woman walking","woman-walking"],u:"1f6b6-200d-2640-fe0f",v:["1f6b6-1f3fb-200d-2640-fe0f","1f6b6-1f3fc-200d-2640-fe0f","1f6b6-1f3fd-200d-2640-fe0f","1f6b6-1f3fe-200d-2640-fe0f","1f6b6-1f3ff-200d-2640-fe0f"],a:"4.0"},{n:["standing person"],u:"1f9cd",v:["1f9cd-1f3fb","1f9cd-1f3fc","1f9cd-1f3fd","1f9cd-1f3fe","1f9cd-1f3ff"],a:"12.0"},{n:["man standing"],u:"1f9cd-200d-2642-fe0f",v:["1f9cd-1f3fb-200d-2642-fe0f","1f9cd-1f3fc-200d-2642-fe0f","1f9cd-1f3fd-200d-2642-fe0f","1f9cd-1f3fe-200d-2642-fe0f","1f9cd-1f3ff-200d-2642-fe0f"],a:"12.0"},{n:["woman standing"],u:"1f9cd-200d-2640-fe0f",v:["1f9cd-1f3fb-200d-2640-fe0f","1f9cd-1f3fc-200d-2640-fe0f","1f9cd-1f3fd-200d-2640-fe0f","1f9cd-1f3fe-200d-2640-fe0f","1f9cd-1f3ff-200d-2640-fe0f"],a:"12.0"},{n:["kneeling person"],u:"1f9ce",v:["1f9ce-1f3fb","1f9ce-1f3fc","1f9ce-1f3fd","1f9ce-1f3fe","1f9ce-1f3ff"],a:"12.0"},{n:["man kneeling"],u:"1f9ce-200d-2642-fe0f",v:["1f9ce-1f3fb-200d-2642-fe0f","1f9ce-1f3fc-200d-2642-fe0f","1f9ce-1f3fd-200d-2642-fe0f","1f9ce-1f3fe-200d-2642-fe0f","1f9ce-1f3ff-200d-2642-fe0f"],a:"12.0"},{n:["woman kneeling"],u:"1f9ce-200d-2640-fe0f",v:["1f9ce-1f3fb-200d-2640-fe0f","1f9ce-1f3fc-200d-2640-fe0f","1f9ce-1f3fd-200d-2640-fe0f","1f9ce-1f3fe-200d-2640-fe0f","1f9ce-1f3ff-200d-2640-fe0f"],a:"12.0"},{n:["person with white cane","person with probing cane"],u:"1f9d1-200d-1f9af",v:["1f9d1-1f3fb-200d-1f9af","1f9d1-1f3fc-200d-1f9af","1f9d1-1f3fd-200d-1f9af","1f9d1-1f3fe-200d-1f9af","1f9d1-1f3ff-200d-1f9af"],a:"12.1"},{n:["man with white cane","man with probing cane"],u:"1f468-200d-1f9af",v:["1f468-1f3fb-200d-1f9af","1f468-1f3fc-200d-1f9af","1f468-1f3fd-200d-1f9af","1f468-1f3fe-200d-1f9af","1f468-1f3ff-200d-1f9af"],a:"12.0"},{n:["woman with white cane","woman with probing cane"],u:"1f469-200d-1f9af",v:["1f469-1f3fb-200d-1f9af","1f469-1f3fc-200d-1f9af","1f469-1f3fd-200d-1f9af","1f469-1f3fe-200d-1f9af","1f469-1f3ff-200d-1f9af"],a:"12.0"},{n:["person in motorized wheelchair"],u:"1f9d1-200d-1f9bc",v:["1f9d1-1f3fb-200d-1f9bc","1f9d1-1f3fc-200d-1f9bc","1f9d1-1f3fd-200d-1f9bc","1f9d1-1f3fe-200d-1f9bc","1f9d1-1f3ff-200d-1f9bc"],a:"12.1"},{n:["man in motorized wheelchair"],u:"1f468-200d-1f9bc",v:["1f468-1f3fb-200d-1f9bc","1f468-1f3fc-200d-1f9bc","1f468-1f3fd-200d-1f9bc","1f468-1f3fe-200d-1f9bc","1f468-1f3ff-200d-1f9bc"],a:"12.0"},{n:["woman in motorized wheelchair"],u:"1f469-200d-1f9bc",v:["1f469-1f3fb-200d-1f9bc","1f469-1f3fc-200d-1f9bc","1f469-1f3fd-200d-1f9bc","1f469-1f3fe-200d-1f9bc","1f469-1f3ff-200d-1f9bc"],a:"12.0"},{n:["person in manual wheelchair"],u:"1f9d1-200d-1f9bd",v:["1f9d1-1f3fb-200d-1f9bd","1f9d1-1f3fc-200d-1f9bd","1f9d1-1f3fd-200d-1f9bd","1f9d1-1f3fe-200d-1f9bd","1f9d1-1f3ff-200d-1f9bd"],a:"12.1"},{n:["man in manual wheelchair"],u:"1f468-200d-1f9bd",v:["1f468-1f3fb-200d-1f9bd","1f468-1f3fc-200d-1f9bd","1f468-1f3fd-200d-1f9bd","1f468-1f3fe-200d-1f9bd","1f468-1f3ff-200d-1f9bd"],a:"12.0"},{n:["woman in manual wheelchair"],u:"1f469-200d-1f9bd",v:["1f469-1f3fb-200d-1f9bd","1f469-1f3fc-200d-1f9bd","1f469-1f3fd-200d-1f9bd","1f469-1f3fe-200d-1f9bd","1f469-1f3ff-200d-1f9bd"],a:"12.0"},{n:["runner","running"],u:"1f3c3",v:["1f3c3-1f3fb","1f3c3-1f3fc","1f3c3-1f3fd","1f3c3-1f3fe","1f3c3-1f3ff"],a:"0.6"},{n:["man running","man-running"],u:"1f3c3-200d-2642-fe0f",v:["1f3c3-1f3fb-200d-2642-fe0f","1f3c3-1f3fc-200d-2642-fe0f","1f3c3-1f3fd-200d-2642-fe0f","1f3c3-1f3fe-200d-2642-fe0f","1f3c3-1f3ff-200d-2642-fe0f"],a:"4.0"},{n:["woman running","woman-running"],u:"1f3c3-200d-2640-fe0f",v:["1f3c3-1f3fb-200d-2640-fe0f","1f3c3-1f3fc-200d-2640-fe0f","1f3c3-1f3fd-200d-2640-fe0f","1f3c3-1f3fe-200d-2640-fe0f","1f3c3-1f3ff-200d-2640-fe0f"],a:"4.0"},{n:["dancer"],u:"1f483",v:["1f483-1f3fb","1f483-1f3fc","1f483-1f3fd","1f483-1f3fe","1f483-1f3ff"],a:"0.6"},{n:["man dancing"],u:"1f57a",v:["1f57a-1f3fb","1f57a-1f3fc","1f57a-1f3fd","1f57a-1f3fe","1f57a-1f3ff"],a:"3.0"},{n:["person in suit levitating","man in business suit levitating"],u:"1f574-fe0f",v:["1f574-1f3fb","1f574-1f3fc","1f574-1f3fd","1f574-1f3fe","1f574-1f3ff"],a:"0.7"},{n:["dancers","woman with bunny ears"],u:"1f46f",a:"0.6"},{n:["men with bunny ears","men-with-bunny-ears-partying","man-with-bunny-ears-partying"],u:"1f46f-200d-2642-fe0f",a:"4.0"},{n:["women with bunny ears","women-with-bunny-ears-partying","woman-with-bunny-ears-partying"],u:"1f46f-200d-2640-fe0f",a:"4.0"},{n:["person in steamy room"],u:"1f9d6",v:["1f9d6-1f3fb","1f9d6-1f3fc","1f9d6-1f3fd","1f9d6-1f3fe","1f9d6-1f3ff"],a:"5.0"},{n:["man in steamy room"],u:"1f9d6-200d-2642-fe0f",v:["1f9d6-1f3fb-200d-2642-fe0f","1f9d6-1f3fc-200d-2642-fe0f","1f9d6-1f3fd-200d-2642-fe0f","1f9d6-1f3fe-200d-2642-fe0f","1f9d6-1f3ff-200d-2642-fe0f"],a:"5.0"},{n:["woman in steamy room"],u:"1f9d6-200d-2640-fe0f",v:["1f9d6-1f3fb-200d-2640-fe0f","1f9d6-1f3fc-200d-2640-fe0f","1f9d6-1f3fd-200d-2640-fe0f","1f9d6-1f3fe-200d-2640-fe0f","1f9d6-1f3ff-200d-2640-fe0f"],a:"5.0"},{n:["person climbing"],u:"1f9d7",v:["1f9d7-1f3fb","1f9d7-1f3fc","1f9d7-1f3fd","1f9d7-1f3fe","1f9d7-1f3ff"],a:"5.0"},{n:["man climbing"],u:"1f9d7-200d-2642-fe0f",v:["1f9d7-1f3fb-200d-2642-fe0f","1f9d7-1f3fc-200d-2642-fe0f","1f9d7-1f3fd-200d-2642-fe0f","1f9d7-1f3fe-200d-2642-fe0f","1f9d7-1f3ff-200d-2642-fe0f"],a:"5.0"},{n:["woman climbing"],u:"1f9d7-200d-2640-fe0f",v:["1f9d7-1f3fb-200d-2640-fe0f","1f9d7-1f3fc-200d-2640-fe0f","1f9d7-1f3fd-200d-2640-fe0f","1f9d7-1f3fe-200d-2640-fe0f","1f9d7-1f3ff-200d-2640-fe0f"],a:"5.0"},{n:["fencer"],u:"1f93a",a:"3.0"},{n:["horse racing"],u:"1f3c7",v:["1f3c7-1f3fb","1f3c7-1f3fc","1f3c7-1f3fd","1f3c7-1f3fe","1f3c7-1f3ff"],a:"1.0"},{n:["skier"],u:"26f7-fe0f",a:"0.7"},{n:["snowboarder"],u:"1f3c2",v:["1f3c2-1f3fb","1f3c2-1f3fc","1f3c2-1f3fd","1f3c2-1f3fe","1f3c2-1f3ff"],a:"0.6"},{n:["golfer","person golfing"],u:"1f3cc-fe0f",v:["1f3cc-1f3fb","1f3cc-1f3fc","1f3cc-1f3fd","1f3cc-1f3fe","1f3cc-1f3ff"],a:"0.7"},{n:["man golfing","man-golfing"],u:"1f3cc-fe0f-200d-2642-fe0f",v:["1f3cc-1f3fb-200d-2642-fe0f","1f3cc-1f3fc-200d-2642-fe0f","1f3cc-1f3fd-200d-2642-fe0f","1f3cc-1f3fe-200d-2642-fe0f","1f3cc-1f3ff-200d-2642-fe0f"],a:"4.0"},{n:["woman golfing","woman-golfing"],u:"1f3cc-fe0f-200d-2640-fe0f",v:["1f3cc-1f3fb-200d-2640-fe0f","1f3cc-1f3fc-200d-2640-fe0f","1f3cc-1f3fd-200d-2640-fe0f","1f3cc-1f3fe-200d-2640-fe0f","1f3cc-1f3ff-200d-2640-fe0f"],a:"4.0"},{n:["surfer"],u:"1f3c4",v:["1f3c4-1f3fb","1f3c4-1f3fc","1f3c4-1f3fd","1f3c4-1f3fe","1f3c4-1f3ff"],a:"0.6"},{n:["man surfing","man-surfing"],u:"1f3c4-200d-2642-fe0f",v:["1f3c4-1f3fb-200d-2642-fe0f","1f3c4-1f3fc-200d-2642-fe0f","1f3c4-1f3fd-200d-2642-fe0f","1f3c4-1f3fe-200d-2642-fe0f","1f3c4-1f3ff-200d-2642-fe0f"],a:"4.0"},{n:["woman surfing","woman-surfing"],u:"1f3c4-200d-2640-fe0f",v:["1f3c4-1f3fb-200d-2640-fe0f","1f3c4-1f3fc-200d-2640-fe0f","1f3c4-1f3fd-200d-2640-fe0f","1f3c4-1f3fe-200d-2640-fe0f","1f3c4-1f3ff-200d-2640-fe0f"],a:"4.0"},{n:["rowboat"],u:"1f6a3",v:["1f6a3-1f3fb","1f6a3-1f3fc","1f6a3-1f3fd","1f6a3-1f3fe","1f6a3-1f3ff"],a:"1.0"},{n:["man rowing boat","man-rowing-boat"],u:"1f6a3-200d-2642-fe0f",v:["1f6a3-1f3fb-200d-2642-fe0f","1f6a3-1f3fc-200d-2642-fe0f","1f6a3-1f3fd-200d-2642-fe0f","1f6a3-1f3fe-200d-2642-fe0f","1f6a3-1f3ff-200d-2642-fe0f"],a:"4.0"},{n:["woman rowing boat","woman-rowing-boat"],u:"1f6a3-200d-2640-fe0f",v:["1f6a3-1f3fb-200d-2640-fe0f","1f6a3-1f3fc-200d-2640-fe0f","1f6a3-1f3fd-200d-2640-fe0f","1f6a3-1f3fe-200d-2640-fe0f","1f6a3-1f3ff-200d-2640-fe0f"],a:"4.0"},{n:["swimmer"],u:"1f3ca",v:["1f3ca-1f3fb","1f3ca-1f3fc","1f3ca-1f3fd","1f3ca-1f3fe","1f3ca-1f3ff"],a:"0.6"},{n:["man swimming","man-swimming"],u:"1f3ca-200d-2642-fe0f",v:["1f3ca-1f3fb-200d-2642-fe0f","1f3ca-1f3fc-200d-2642-fe0f","1f3ca-1f3fd-200d-2642-fe0f","1f3ca-1f3fe-200d-2642-fe0f","1f3ca-1f3ff-200d-2642-fe0f"],a:"4.0"},{n:["woman swimming","woman-swimming"],u:"1f3ca-200d-2640-fe0f",v:["1f3ca-1f3fb-200d-2640-fe0f","1f3ca-1f3fc-200d-2640-fe0f","1f3ca-1f3fd-200d-2640-fe0f","1f3ca-1f3fe-200d-2640-fe0f","1f3ca-1f3ff-200d-2640-fe0f"],a:"4.0"},{n:["person with ball","person bouncing ball"],u:"26f9-fe0f",v:["26f9-1f3fb","26f9-1f3fc","26f9-1f3fd","26f9-1f3fe","26f9-1f3ff"],a:"0.7"},{n:["man bouncing ball","man-bouncing-ball"],u:"26f9-fe0f-200d-2642-fe0f",v:["26f9-1f3fb-200d-2642-fe0f","26f9-1f3fc-200d-2642-fe0f","26f9-1f3fd-200d-2642-fe0f","26f9-1f3fe-200d-2642-fe0f","26f9-1f3ff-200d-2642-fe0f"],a:"4.0"},{n:["woman bouncing ball","woman-bouncing-ball"],u:"26f9-fe0f-200d-2640-fe0f",v:["26f9-1f3fb-200d-2640-fe0f","26f9-1f3fc-200d-2640-fe0f","26f9-1f3fd-200d-2640-fe0f","26f9-1f3fe-200d-2640-fe0f","26f9-1f3ff-200d-2640-fe0f"],a:"4.0"},{n:["weight lifter","person lifting weights"],u:"1f3cb-fe0f",v:["1f3cb-1f3fb","1f3cb-1f3fc","1f3cb-1f3fd","1f3cb-1f3fe","1f3cb-1f3ff"],a:"0.7"},{n:["man lifting weights","man-lifting-weights"],u:"1f3cb-fe0f-200d-2642-fe0f",v:["1f3cb-1f3fb-200d-2642-fe0f","1f3cb-1f3fc-200d-2642-fe0f","1f3cb-1f3fd-200d-2642-fe0f","1f3cb-1f3fe-200d-2642-fe0f","1f3cb-1f3ff-200d-2642-fe0f"],a:"4.0"},{n:["woman lifting weights","woman-lifting-weights"],u:"1f3cb-fe0f-200d-2640-fe0f",v:["1f3cb-1f3fb-200d-2640-fe0f","1f3cb-1f3fc-200d-2640-fe0f","1f3cb-1f3fd-200d-2640-fe0f","1f3cb-1f3fe-200d-2640-fe0f","1f3cb-1f3ff-200d-2640-fe0f"],a:"4.0"},{n:["bicyclist"],u:"1f6b4",v:["1f6b4-1f3fb","1f6b4-1f3fc","1f6b4-1f3fd","1f6b4-1f3fe","1f6b4-1f3ff"],a:"1.0"},{n:["man biking","man-biking"],u:"1f6b4-200d-2642-fe0f",v:["1f6b4-1f3fb-200d-2642-fe0f","1f6b4-1f3fc-200d-2642-fe0f","1f6b4-1f3fd-200d-2642-fe0f","1f6b4-1f3fe-200d-2642-fe0f","1f6b4-1f3ff-200d-2642-fe0f"],a:"4.0"},{n:["woman biking","woman-biking"],u:"1f6b4-200d-2640-fe0f",v:["1f6b4-1f3fb-200d-2640-fe0f","1f6b4-1f3fc-200d-2640-fe0f","1f6b4-1f3fd-200d-2640-fe0f","1f6b4-1f3fe-200d-2640-fe0f","1f6b4-1f3ff-200d-2640-fe0f"],a:"4.0"},{n:["mountain bicyclist"],u:"1f6b5",v:["1f6b5-1f3fb","1f6b5-1f3fc","1f6b5-1f3fd","1f6b5-1f3fe","1f6b5-1f3ff"],a:"1.0"},{n:["man mountain biking","man-mountain-biking"],u:"1f6b5-200d-2642-fe0f",v:["1f6b5-1f3fb-200d-2642-fe0f","1f6b5-1f3fc-200d-2642-fe0f","1f6b5-1f3fd-200d-2642-fe0f","1f6b5-1f3fe-200d-2642-fe0f","1f6b5-1f3ff-200d-2642-fe0f"],a:"4.0"},{n:["woman mountain biking","woman-mountain-biking"],u:"1f6b5-200d-2640-fe0f",v:["1f6b5-1f3fb-200d-2640-fe0f","1f6b5-1f3fc-200d-2640-fe0f","1f6b5-1f3fd-200d-2640-fe0f","1f6b5-1f3fe-200d-2640-fe0f","1f6b5-1f3ff-200d-2640-fe0f"],a:"4.0"},{n:["person doing cartwheel"],u:"1f938",v:["1f938-1f3fb","1f938-1f3fc","1f938-1f3fd","1f938-1f3fe","1f938-1f3ff"],a:"3.0"},{n:["man cartwheeling","man-cartwheeling"],u:"1f938-200d-2642-fe0f",v:["1f938-1f3fb-200d-2642-fe0f","1f938-1f3fc-200d-2642-fe0f","1f938-1f3fd-200d-2642-fe0f","1f938-1f3fe-200d-2642-fe0f","1f938-1f3ff-200d-2642-fe0f"],a:"4.0"},{n:["woman cartwheeling","woman-cartwheeling"],u:"1f938-200d-2640-fe0f",v:["1f938-1f3fb-200d-2640-fe0f","1f938-1f3fc-200d-2640-fe0f","1f938-1f3fd-200d-2640-fe0f","1f938-1f3fe-200d-2640-fe0f","1f938-1f3ff-200d-2640-fe0f"],a:"4.0"},{n:["wrestlers"],u:"1f93c",a:"3.0"},{n:["men wrestling","man-wrestling"],u:"1f93c-200d-2642-fe0f",a:"4.0"},{n:["women wrestling","woman-wrestling"],u:"1f93c-200d-2640-fe0f",a:"4.0"},{n:["water polo"],u:"1f93d",v:["1f93d-1f3fb","1f93d-1f3fc","1f93d-1f3fd","1f93d-1f3fe","1f93d-1f3ff"],a:"3.0"},{n:["man playing water polo","man-playing-water-polo"],u:"1f93d-200d-2642-fe0f",v:["1f93d-1f3fb-200d-2642-fe0f","1f93d-1f3fc-200d-2642-fe0f","1f93d-1f3fd-200d-2642-fe0f","1f93d-1f3fe-200d-2642-fe0f","1f93d-1f3ff-200d-2642-fe0f"],a:"4.0"},{n:["woman playing water polo","woman-playing-water-polo"],u:"1f93d-200d-2640-fe0f",v:["1f93d-1f3fb-200d-2640-fe0f","1f93d-1f3fc-200d-2640-fe0f","1f93d-1f3fd-200d-2640-fe0f","1f93d-1f3fe-200d-2640-fe0f","1f93d-1f3ff-200d-2640-fe0f"],a:"4.0"},{n:["handball"],u:"1f93e",v:["1f93e-1f3fb","1f93e-1f3fc","1f93e-1f3fd","1f93e-1f3fe","1f93e-1f3ff"],a:"3.0"},{n:["man playing handball","man-playing-handball"],u:"1f93e-200d-2642-fe0f",v:["1f93e-1f3fb-200d-2642-fe0f","1f93e-1f3fc-200d-2642-fe0f","1f93e-1f3fd-200d-2642-fe0f","1f93e-1f3fe-200d-2642-fe0f","1f93e-1f3ff-200d-2642-fe0f"],a:"4.0"},{n:["woman playing handball","woman-playing-handball"],u:"1f93e-200d-2640-fe0f",v:["1f93e-1f3fb-200d-2640-fe0f","1f93e-1f3fc-200d-2640-fe0f","1f93e-1f3fd-200d-2640-fe0f","1f93e-1f3fe-200d-2640-fe0f","1f93e-1f3ff-200d-2640-fe0f"],a:"4.0"},{n:["juggling"],u:"1f939",v:["1f939-1f3fb","1f939-1f3fc","1f939-1f3fd","1f939-1f3fe","1f939-1f3ff"],a:"3.0"},{n:["man juggling","man-juggling"],u:"1f939-200d-2642-fe0f",v:["1f939-1f3fb-200d-2642-fe0f","1f939-1f3fc-200d-2642-fe0f","1f939-1f3fd-200d-2642-fe0f","1f939-1f3fe-200d-2642-fe0f","1f939-1f3ff-200d-2642-fe0f"],a:"4.0"},{n:["woman juggling","woman-juggling"],u:"1f939-200d-2640-fe0f",v:["1f939-1f3fb-200d-2640-fe0f","1f939-1f3fc-200d-2640-fe0f","1f939-1f3fd-200d-2640-fe0f","1f939-1f3fe-200d-2640-fe0f","1f939-1f3ff-200d-2640-fe0f"],a:"4.0"},{n:["person in lotus position"],u:"1f9d8",v:["1f9d8-1f3fb","1f9d8-1f3fc","1f9d8-1f3fd","1f9d8-1f3fe","1f9d8-1f3ff"],a:"5.0"},{n:["man in lotus position"],u:"1f9d8-200d-2642-fe0f",v:["1f9d8-1f3fb-200d-2642-fe0f","1f9d8-1f3fc-200d-2642-fe0f","1f9d8-1f3fd-200d-2642-fe0f","1f9d8-1f3fe-200d-2642-fe0f","1f9d8-1f3ff-200d-2642-fe0f"],a:"5.0"},{n:["woman in lotus position"],u:"1f9d8-200d-2640-fe0f",v:["1f9d8-1f3fb-200d-2640-fe0f","1f9d8-1f3fc-200d-2640-fe0f","1f9d8-1f3fd-200d-2640-fe0f","1f9d8-1f3fe-200d-2640-fe0f","1f9d8-1f3ff-200d-2640-fe0f"],a:"5.0"},{n:["bath"],u:"1f6c0",v:["1f6c0-1f3fb","1f6c0-1f3fc","1f6c0-1f3fd","1f6c0-1f3fe","1f6c0-1f3ff"],a:"0.6"},{n:["sleeping accommodation"],u:"1f6cc",v:["1f6cc-1f3fb","1f6cc-1f3fc","1f6cc-1f3fd","1f6cc-1f3fe","1f6cc-1f3ff"],a:"1.0"},{n:["people holding hands"],u:"1f9d1-200d-1f91d-200d-1f9d1",v:["1f9d1-1f3fb-200d-1f91d-200d-1f9d1-1f3fb","1f9d1-1f3fb-200d-1f91d-200d-1f9d1-1f3fc","1f9d1-1f3fb-200d-1f91d-200d-1f9d1-1f3fd","1f9d1-1f3fb-200d-1f91d-200d-1f9d1-1f3fe","1f9d1-1f3fb-200d-1f91d-200d-1f9d1-1f3ff","1f9d1-1f3fc-200d-1f91d-200d-1f9d1-1f3fb","1f9d1-1f3fc-200d-1f91d-200d-1f9d1-1f3fc","1f9d1-1f3fc-200d-1f91d-200d-1f9d1-1f3fd","1f9d1-1f3fc-200d-1f91d-200d-1f9d1-1f3fe","1f9d1-1f3fc-200d-1f91d-200d-1f9d1-1f3ff","1f9d1-1f3fd-200d-1f91d-200d-1f9d1-1f3fb","1f9d1-1f3fd-200d-1f91d-200d-1f9d1-1f3fc","1f9d1-1f3fd-200d-1f91d-200d-1f9d1-1f3fd","1f9d1-1f3fd-200d-1f91d-200d-1f9d1-1f3fe","1f9d1-1f3fd-200d-1f91d-200d-1f9d1-1f3ff","1f9d1-1f3fe-200d-1f91d-200d-1f9d1-1f3fb","1f9d1-1f3fe-200d-1f91d-200d-1f9d1-1f3fc","1f9d1-1f3fe-200d-1f91d-200d-1f9d1-1f3fd","1f9d1-1f3fe-200d-1f91d-200d-1f9d1-1f3fe","1f9d1-1f3fe-200d-1f91d-200d-1f9d1-1f3ff","1f9d1-1f3ff-200d-1f91d-200d-1f9d1-1f3fb","1f9d1-1f3ff-200d-1f91d-200d-1f9d1-1f3fc","1f9d1-1f3ff-200d-1f91d-200d-1f9d1-1f3fd","1f9d1-1f3ff-200d-1f91d-200d-1f9d1-1f3fe","1f9d1-1f3ff-200d-1f91d-200d-1f9d1-1f3ff"],a:"12.0"},{n:["women holding hands","two women holding hands"],u:"1f46d",v:["1f46d-1f3fb","1f46d-1f3fc","1f46d-1f3fd","1f46d-1f3fe","1f46d-1f3ff","1f469-1f3fb-200d-1f91d-200d-1f469-1f3fc","1f469-1f3fb-200d-1f91d-200d-1f469-1f3fd","1f469-1f3fb-200d-1f91d-200d-1f469-1f3fe","1f469-1f3fb-200d-1f91d-200d-1f469-1f3ff","1f469-1f3fc-200d-1f91d-200d-1f469-1f3fb","1f469-1f3fc-200d-1f91d-200d-1f469-1f3fd","1f469-1f3fc-200d-1f91d-200d-1f469-1f3fe","1f469-1f3fc-200d-1f91d-200d-1f469-1f3ff","1f469-1f3fd-200d-1f91d-200d-1f469-1f3fb","1f469-1f3fd-200d-1f91d-200d-1f469-1f3fc","1f469-1f3fd-200d-1f91d-200d-1f469-1f3fe","1f469-1f3fd-200d-1f91d-200d-1f469-1f3ff","1f469-1f3fe-200d-1f91d-200d-1f469-1f3fb","1f469-1f3fe-200d-1f91d-200d-1f469-1f3fc","1f469-1f3fe-200d-1f91d-200d-1f469-1f3fd","1f469-1f3fe-200d-1f91d-200d-1f469-1f3ff","1f469-1f3ff-200d-1f91d-200d-1f469-1f3fb","1f469-1f3ff-200d-1f91d-200d-1f469-1f3fc","1f469-1f3ff-200d-1f91d-200d-1f469-1f3fd","1f469-1f3ff-200d-1f91d-200d-1f469-1f3fe"],a:"1.0"},{n:["couple","man and woman holding hands","woman and man holding hands"],u:"1f46b",v:["1f46b-1f3fb","1f46b-1f3fc","1f46b-1f3fd","1f46b-1f3fe","1f46b-1f3ff","1f469-1f3fb-200d-1f91d-200d-1f468-1f3fc","1f469-1f3fb-200d-1f91d-200d-1f468-1f3fd","1f469-1f3fb-200d-1f91d-200d-1f468-1f3fe","1f469-1f3fb-200d-1f91d-200d-1f468-1f3ff","1f469-1f3fc-200d-1f91d-200d-1f468-1f3fb","1f469-1f3fc-200d-1f91d-200d-1f468-1f3fd","1f469-1f3fc-200d-1f91d-200d-1f468-1f3fe","1f469-1f3fc-200d-1f91d-200d-1f468-1f3ff","1f469-1f3fd-200d-1f91d-200d-1f468-1f3fb","1f469-1f3fd-200d-1f91d-200d-1f468-1f3fc","1f469-1f3fd-200d-1f91d-200d-1f468-1f3fe","1f469-1f3fd-200d-1f91d-200d-1f468-1f3ff","1f469-1f3fe-200d-1f91d-200d-1f468-1f3fb","1f469-1f3fe-200d-1f91d-200d-1f468-1f3fc","1f469-1f3fe-200d-1f91d-200d-1f468-1f3fd","1f469-1f3fe-200d-1f91d-200d-1f468-1f3ff","1f469-1f3ff-200d-1f91d-200d-1f468-1f3fb","1f469-1f3ff-200d-1f91d-200d-1f468-1f3fc","1f469-1f3ff-200d-1f91d-200d-1f468-1f3fd","1f469-1f3ff-200d-1f91d-200d-1f468-1f3fe"],a:"0.6"},{n:["men holding hands","two men holding hands"],u:"1f46c",v:["1f46c-1f3fb","1f46c-1f3fc","1f46c-1f3fd","1f46c-1f3fe","1f46c-1f3ff","1f468-1f3fb-200d-1f91d-200d-1f468-1f3fc","1f468-1f3fb-200d-1f91d-200d-1f468-1f3fd","1f468-1f3fb-200d-1f91d-200d-1f468-1f3fe","1f468-1f3fb-200d-1f91d-200d-1f468-1f3ff","1f468-1f3fc-200d-1f91d-200d-1f468-1f3fb","1f468-1f3fc-200d-1f91d-200d-1f468-1f3fd","1f468-1f3fc-200d-1f91d-200d-1f468-1f3fe","1f468-1f3fc-200d-1f91d-200d-1f468-1f3ff","1f468-1f3fd-200d-1f91d-200d-1f468-1f3fb","1f468-1f3fd-200d-1f91d-200d-1f468-1f3fc","1f468-1f3fd-200d-1f91d-200d-1f468-1f3fe","1f468-1f3fd-200d-1f91d-200d-1f468-1f3ff","1f468-1f3fe-200d-1f91d-200d-1f468-1f3fb","1f468-1f3fe-200d-1f91d-200d-1f468-1f3fc","1f468-1f3fe-200d-1f91d-200d-1f468-1f3fd","1f468-1f3fe-200d-1f91d-200d-1f468-1f3ff","1f468-1f3ff-200d-1f91d-200d-1f468-1f3fb","1f468-1f3ff-200d-1f91d-200d-1f468-1f3fc","1f468-1f3ff-200d-1f91d-200d-1f468-1f3fd","1f468-1f3ff-200d-1f91d-200d-1f468-1f3fe"],a:"1.0"},{n:["kiss","couplekiss"],u:"1f48f",v:["1f48f-1f3fb","1f48f-1f3fc","1f48f-1f3fd","1f48f-1f3fe","1f48f-1f3ff","1f9d1-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fc","1f9d1-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fd","1f9d1-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fe","1f9d1-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3ff","1f9d1-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fb","1f9d1-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fd","1f9d1-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fe","1f9d1-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3ff","1f9d1-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fb","1f9d1-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fc","1f9d1-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fe","1f9d1-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3ff","1f9d1-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fb","1f9d1-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fc","1f9d1-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fd","1f9d1-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3ff","1f9d1-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fb","1f9d1-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fc","1f9d1-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fd","1f9d1-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f9d1-1f3fe"],a:"0.6"},{n:["woman-kiss-man","kiss: woman, man"],u:"1f469-200d-2764-fe0f-200d-1f48b-200d-1f468",v:["1f469-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fb","1f469-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fc","1f469-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fd","1f469-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fe","1f469-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3ff","1f469-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fb","1f469-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fc","1f469-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fd","1f469-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fe","1f469-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3ff","1f469-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fb","1f469-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fc","1f469-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fd","1f469-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fe","1f469-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3ff","1f469-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fb","1f469-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fc","1f469-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fd","1f469-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fe","1f469-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3ff","1f469-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fb","1f469-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fc","1f469-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fd","1f469-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fe","1f469-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3ff"],a:"2.0"},{n:["man-kiss-man","kiss: man, man"],u:"1f468-200d-2764-fe0f-200d-1f48b-200d-1f468",v:["1f468-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fb","1f468-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fc","1f468-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fd","1f468-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fe","1f468-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3ff","1f468-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fb","1f468-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fc","1f468-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fd","1f468-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fe","1f468-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3ff","1f468-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fb","1f468-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fc","1f468-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fd","1f468-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fe","1f468-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3ff","1f468-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fb","1f468-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fc","1f468-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fd","1f468-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fe","1f468-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3ff","1f468-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fb","1f468-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fc","1f468-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fd","1f468-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fe","1f468-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3ff"],a:"2.0"},{n:["woman-kiss-woman","kiss: woman, woman"],u:"1f469-200d-2764-fe0f-200d-1f48b-200d-1f469",v:["1f469-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fb","1f469-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fc","1f469-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fd","1f469-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fe","1f469-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3ff","1f469-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fb","1f469-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fc","1f469-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fd","1f469-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fe","1f469-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3ff","1f469-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fb","1f469-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fc","1f469-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fd","1f469-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fe","1f469-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3ff","1f469-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fb","1f469-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fc","1f469-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fd","1f469-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fe","1f469-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3ff","1f469-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fb","1f469-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fc","1f469-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fd","1f469-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fe","1f469-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3ff"],a:"2.0"},{n:["couple with heart"],u:"1f491",v:["1f491-1f3fb","1f491-1f3fc","1f491-1f3fd","1f491-1f3fe","1f491-1f3ff","1f9d1-1f3fb-200d-2764-fe0f-200d-1f9d1-1f3fc","1f9d1-1f3fb-200d-2764-fe0f-200d-1f9d1-1f3fd","1f9d1-1f3fb-200d-2764-fe0f-200d-1f9d1-1f3fe","1f9d1-1f3fb-200d-2764-fe0f-200d-1f9d1-1f3ff","1f9d1-1f3fc-200d-2764-fe0f-200d-1f9d1-1f3fb","1f9d1-1f3fc-200d-2764-fe0f-200d-1f9d1-1f3fd","1f9d1-1f3fc-200d-2764-fe0f-200d-1f9d1-1f3fe","1f9d1-1f3fc-200d-2764-fe0f-200d-1f9d1-1f3ff","1f9d1-1f3fd-200d-2764-fe0f-200d-1f9d1-1f3fb","1f9d1-1f3fd-200d-2764-fe0f-200d-1f9d1-1f3fc","1f9d1-1f3fd-200d-2764-fe0f-200d-1f9d1-1f3fe","1f9d1-1f3fd-200d-2764-fe0f-200d-1f9d1-1f3ff","1f9d1-1f3fe-200d-2764-fe0f-200d-1f9d1-1f3fb","1f9d1-1f3fe-200d-2764-fe0f-200d-1f9d1-1f3fc","1f9d1-1f3fe-200d-2764-fe0f-200d-1f9d1-1f3fd","1f9d1-1f3fe-200d-2764-fe0f-200d-1f9d1-1f3ff","1f9d1-1f3ff-200d-2764-fe0f-200d-1f9d1-1f3fb","1f9d1-1f3ff-200d-2764-fe0f-200d-1f9d1-1f3fc","1f9d1-1f3ff-200d-2764-fe0f-200d-1f9d1-1f3fd","1f9d1-1f3ff-200d-2764-fe0f-200d-1f9d1-1f3fe"],a:"0.6"},{n:["woman-heart-man","couple with heart: woman, man"],u:"1f469-200d-2764-fe0f-200d-1f468",v:["1f469-1f3fb-200d-2764-fe0f-200d-1f468-1f3fb","1f469-1f3fb-200d-2764-fe0f-200d-1f468-1f3fc","1f469-1f3fb-200d-2764-fe0f-200d-1f468-1f3fd","1f469-1f3fb-200d-2764-fe0f-200d-1f468-1f3fe","1f469-1f3fb-200d-2764-fe0f-200d-1f468-1f3ff","1f469-1f3fc-200d-2764-fe0f-200d-1f468-1f3fb","1f469-1f3fc-200d-2764-fe0f-200d-1f468-1f3fc","1f469-1f3fc-200d-2764-fe0f-200d-1f468-1f3fd","1f469-1f3fc-200d-2764-fe0f-200d-1f468-1f3fe","1f469-1f3fc-200d-2764-fe0f-200d-1f468-1f3ff","1f469-1f3fd-200d-2764-fe0f-200d-1f468-1f3fb","1f469-1f3fd-200d-2764-fe0f-200d-1f468-1f3fc","1f469-1f3fd-200d-2764-fe0f-200d-1f468-1f3fd","1f469-1f3fd-200d-2764-fe0f-200d-1f468-1f3fe","1f469-1f3fd-200d-2764-fe0f-200d-1f468-1f3ff","1f469-1f3fe-200d-2764-fe0f-200d-1f468-1f3fb","1f469-1f3fe-200d-2764-fe0f-200d-1f468-1f3fc","1f469-1f3fe-200d-2764-fe0f-200d-1f468-1f3fd","1f469-1f3fe-200d-2764-fe0f-200d-1f468-1f3fe","1f469-1f3fe-200d-2764-fe0f-200d-1f468-1f3ff","1f469-1f3ff-200d-2764-fe0f-200d-1f468-1f3fb","1f469-1f3ff-200d-2764-fe0f-200d-1f468-1f3fc","1f469-1f3ff-200d-2764-fe0f-200d-1f468-1f3fd","1f469-1f3ff-200d-2764-fe0f-200d-1f468-1f3fe","1f469-1f3ff-200d-2764-fe0f-200d-1f468-1f3ff"],a:"2.0"},{n:["man-heart-man","couple with heart: man, man"],u:"1f468-200d-2764-fe0f-200d-1f468",v:["1f468-1f3fb-200d-2764-fe0f-200d-1f468-1f3fb","1f468-1f3fb-200d-2764-fe0f-200d-1f468-1f3fc","1f468-1f3fb-200d-2764-fe0f-200d-1f468-1f3fd","1f468-1f3fb-200d-2764-fe0f-200d-1f468-1f3fe","1f468-1f3fb-200d-2764-fe0f-200d-1f468-1f3ff","1f468-1f3fc-200d-2764-fe0f-200d-1f468-1f3fb","1f468-1f3fc-200d-2764-fe0f-200d-1f468-1f3fc","1f468-1f3fc-200d-2764-fe0f-200d-1f468-1f3fd","1f468-1f3fc-200d-2764-fe0f-200d-1f468-1f3fe","1f468-1f3fc-200d-2764-fe0f-200d-1f468-1f3ff","1f468-1f3fd-200d-2764-fe0f-200d-1f468-1f3fb","1f468-1f3fd-200d-2764-fe0f-200d-1f468-1f3fc","1f468-1f3fd-200d-2764-fe0f-200d-1f468-1f3fd","1f468-1f3fd-200d-2764-fe0f-200d-1f468-1f3fe","1f468-1f3fd-200d-2764-fe0f-200d-1f468-1f3ff","1f468-1f3fe-200d-2764-fe0f-200d-1f468-1f3fb","1f468-1f3fe-200d-2764-fe0f-200d-1f468-1f3fc","1f468-1f3fe-200d-2764-fe0f-200d-1f468-1f3fd","1f468-1f3fe-200d-2764-fe0f-200d-1f468-1f3fe","1f468-1f3fe-200d-2764-fe0f-200d-1f468-1f3ff","1f468-1f3ff-200d-2764-fe0f-200d-1f468-1f3fb","1f468-1f3ff-200d-2764-fe0f-200d-1f468-1f3fc","1f468-1f3ff-200d-2764-fe0f-200d-1f468-1f3fd","1f468-1f3ff-200d-2764-fe0f-200d-1f468-1f3fe","1f468-1f3ff-200d-2764-fe0f-200d-1f468-1f3ff"],a:"2.0"},{n:["woman-heart-woman","couple with heart: woman, woman"],u:"1f469-200d-2764-fe0f-200d-1f469",v:["1f469-1f3fb-200d-2764-fe0f-200d-1f469-1f3fb","1f469-1f3fb-200d-2764-fe0f-200d-1f469-1f3fc","1f469-1f3fb-200d-2764-fe0f-200d-1f469-1f3fd","1f469-1f3fb-200d-2764-fe0f-200d-1f469-1f3fe","1f469-1f3fb-200d-2764-fe0f-200d-1f469-1f3ff","1f469-1f3fc-200d-2764-fe0f-200d-1f469-1f3fb","1f469-1f3fc-200d-2764-fe0f-200d-1f469-1f3fc","1f469-1f3fc-200d-2764-fe0f-200d-1f469-1f3fd","1f469-1f3fc-200d-2764-fe0f-200d-1f469-1f3fe","1f469-1f3fc-200d-2764-fe0f-200d-1f469-1f3ff","1f469-1f3fd-200d-2764-fe0f-200d-1f469-1f3fb","1f469-1f3fd-200d-2764-fe0f-200d-1f469-1f3fc","1f469-1f3fd-200d-2764-fe0f-200d-1f469-1f3fd","1f469-1f3fd-200d-2764-fe0f-200d-1f469-1f3fe","1f469-1f3fd-200d-2764-fe0f-200d-1f469-1f3ff","1f469-1f3fe-200d-2764-fe0f-200d-1f469-1f3fb","1f469-1f3fe-200d-2764-fe0f-200d-1f469-1f3fc","1f469-1f3fe-200d-2764-fe0f-200d-1f469-1f3fd","1f469-1f3fe-200d-2764-fe0f-200d-1f469-1f3fe","1f469-1f3fe-200d-2764-fe0f-200d-1f469-1f3ff","1f469-1f3ff-200d-2764-fe0f-200d-1f469-1f3fb","1f469-1f3ff-200d-2764-fe0f-200d-1f469-1f3fc","1f469-1f3ff-200d-2764-fe0f-200d-1f469-1f3fd","1f469-1f3ff-200d-2764-fe0f-200d-1f469-1f3fe","1f469-1f3ff-200d-2764-fe0f-200d-1f469-1f3ff"],a:"2.0"},{n:["family"],u:"1f46a",a:"0.6"},{n:["man-woman-boy","family: man, woman, boy"],u:"1f468-200d-1f469-200d-1f466",a:"2.0"},{n:["man-woman-girl","family: man, woman, girl"],u:"1f468-200d-1f469-200d-1f467",a:"2.0"},{n:["man-woman-girl-boy","family: man, woman, girl, boy"],u:"1f468-200d-1f469-200d-1f467-200d-1f466",a:"2.0"},{n:["man-woman-boy-boy","family: man, woman, boy, boy"],u:"1f468-200d-1f469-200d-1f466-200d-1f466",a:"2.0"},{n:["man-woman-girl-girl","family: man, woman, girl, girl"],u:"1f468-200d-1f469-200d-1f467-200d-1f467",a:"2.0"},{n:["man-man-boy","family: man, man, boy"],u:"1f468-200d-1f468-200d-1f466",a:"2.0"},{n:["man-man-girl","family: man, man, girl"],u:"1f468-200d-1f468-200d-1f467",a:"2.0"},{n:["man-man-girl-boy","family: man, man, girl, boy"],u:"1f468-200d-1f468-200d-1f467-200d-1f466",a:"2.0"},{n:["man-man-boy-boy","family: man, man, boy, boy"],u:"1f468-200d-1f468-200d-1f466-200d-1f466",a:"2.0"},{n:["man-man-girl-girl","family: man, man, girl, girl"],u:"1f468-200d-1f468-200d-1f467-200d-1f467",a:"2.0"},{n:["woman-woman-boy","family: woman, woman, boy"],u:"1f469-200d-1f469-200d-1f466",a:"2.0"},{n:["woman-woman-girl","family: woman, woman, girl"],u:"1f469-200d-1f469-200d-1f467",a:"2.0"},{n:["woman-woman-girl-boy","family: woman, woman, girl, boy"],u:"1f469-200d-1f469-200d-1f467-200d-1f466",a:"2.0"},{n:["woman-woman-boy-boy","family: woman, woman, boy, boy"],u:"1f469-200d-1f469-200d-1f466-200d-1f466",a:"2.0"},{n:["woman-woman-girl-girl","family: woman, woman, girl, girl"],u:"1f469-200d-1f469-200d-1f467-200d-1f467",a:"2.0"},{n:["man-boy","family: man, boy"],u:"1f468-200d-1f466",a:"4.0"},{n:["man-boy-boy","family: man, boy, boy"],u:"1f468-200d-1f466-200d-1f466",a:"4.0"},{n:["man-girl","family: man, girl"],u:"1f468-200d-1f467",a:"4.0"},{n:["man-girl-boy","family: man, girl, boy"],u:"1f468-200d-1f467-200d-1f466",a:"4.0"},{n:["man-girl-girl","family: man, girl, girl"],u:"1f468-200d-1f467-200d-1f467",a:"4.0"},{n:["woman-boy","family: woman, boy"],u:"1f469-200d-1f466",a:"4.0"},{n:["woman-boy-boy","family: woman, boy, boy"],u:"1f469-200d-1f466-200d-1f466",a:"4.0"},{n:["woman-girl","family: woman, girl"],u:"1f469-200d-1f467",a:"4.0"},{n:["woman-girl-boy","family: woman, girl, boy"],u:"1f469-200d-1f467-200d-1f466",a:"4.0"},{n:["woman-girl-girl","family: woman, girl, girl"],u:"1f469-200d-1f467-200d-1f467",a:"4.0"},{n:["speaking head","speaking head in silhouette"],u:"1f5e3-fe0f",a:"0.7"},{n:["bust in silhouette"],u:"1f464",a:"0.6"},{n:["busts in silhouette"],u:"1f465",a:"1.0"},{n:["people hugging"],u:"1fac2",a:"13.0"},{n:["footprints"],u:"1f463",a:"0.6"}],animals_nature:[{n:["monkey face"],u:"1f435",a:"0.6"},{n:["monkey"],u:"1f412",a:"0.6"},{n:["gorilla"],u:"1f98d",a:"3.0"},{n:["orangutan"],u:"1f9a7",a:"12.0"},{n:["dog","dog face"],u:"1f436",a:"0.6"},{n:["dog","dog2"],u:"1f415",a:"0.7"},{n:["guide dog"],u:"1f9ae",a:"12.0"},{n:["service dog"],u:"1f415-200d-1f9ba",a:"12.0"},{n:["poodle"],u:"1f429",a:"0.6"},{n:["wolf","wolf face"],u:"1f43a",a:"0.6"},{n:["fox face"],u:"1f98a",a:"3.0"},{n:["raccoon"],u:"1f99d",a:"11.0"},{n:["cat","cat face"],u:"1f431",a:"0.6"},{n:["cat","cat2"],u:"1f408",a:"0.7"},{n:["black cat"],u:"1f408-200d-2b1b",a:"13.0"},{n:["lion face"],u:"1f981",a:"1.0"},{n:["tiger","tiger face"],u:"1f42f",a:"0.6"},{n:["tiger","tiger2"],u:"1f405",a:"1.0"},{n:["leopard"],u:"1f406",a:"1.0"},{n:["horse","horse face"],u:"1f434",a:"0.6"},{n:["horse","racehorse"],u:"1f40e",a:"0.6"},{n:["unicorn face"],u:"1f984",a:"1.0"},{n:["zebra face"],u:"1f993",a:"5.0"},{n:["deer"],u:"1f98c",a:"3.0"},{n:["bison"],u:"1f9ac",a:"13.0"},{n:["cow","cow face"],u:"1f42e",a:"0.6"},{n:["ox"],u:"1f402",a:"1.0"},{n:["water buffalo"],u:"1f403",a:"1.0"},{n:["cow","cow2"],u:"1f404",a:"1.0"},{n:["pig","pig face"],u:"1f437",a:"0.6"},{n:["pig","pig2"],u:"1f416",a:"1.0"},{n:["boar"],u:"1f417",a:"0.6"},{n:["pig nose"],u:"1f43d",a:"0.6"},{n:["ram"],u:"1f40f",a:"1.0"},{n:["sheep"],u:"1f411",a:"0.6"},{n:["goat"],u:"1f410",a:"1.0"},{n:["dromedary camel"],u:"1f42a",a:"1.0"},{n:["camel","bactrian camel"],u:"1f42b",a:"0.6"},{n:["llama"],u:"1f999",a:"11.0"},{n:["giraffe face"],u:"1f992",a:"5.0"},{n:["elephant"],u:"1f418",a:"0.6"},{n:["mammoth"],u:"1f9a3",a:"13.0"},{n:["rhinoceros"],u:"1f98f",a:"3.0"},{n:["hippopotamus"],u:"1f99b",a:"11.0"},{n:["mouse","mouse face"],u:"1f42d",a:"0.6"},{n:["mouse","mouse2"],u:"1f401",a:"1.0"},{n:["rat"],u:"1f400",a:"1.0"},{n:["hamster","hamster face"],u:"1f439",a:"0.6"},{n:["rabbit","rabbit face"],u:"1f430",a:"0.6"},{n:["rabbit","rabbit2"],u:"1f407",a:"1.0"},{n:["chipmunk"],u:"1f43f-fe0f",a:"0.7"},{n:["beaver"],u:"1f9ab",a:"13.0"},{n:["hedgehog"],u:"1f994",a:"5.0"},{n:["bat"],u:"1f987",a:"3.0"},{n:["bear","bear face"],u:"1f43b",a:"0.6"},{n:["polar bear"],u:"1f43b-200d-2744-fe0f",a:"13.0"},{n:["koala"],u:"1f428",a:"0.6"},{n:["panda face"],u:"1f43c",a:"0.6"},{n:["sloth"],u:"1f9a5",a:"12.0"},{n:["otter"],u:"1f9a6",a:"12.0"},{n:["skunk"],u:"1f9a8",a:"12.0"},{n:["kangaroo"],u:"1f998",a:"11.0"},{n:["badger"],u:"1f9a1",a:"11.0"},{n:["feet","paw prints"],u:"1f43e",a:"0.6"},{n:["turkey"],u:"1f983",a:"1.0"},{n:["chicken"],u:"1f414",a:"0.6"},{n:["rooster"],u:"1f413",a:"1.0"},{n:["hatching chick"],u:"1f423",a:"0.6"},{n:["baby chick"],u:"1f424",a:"0.6"},{n:["hatched chick","front-facing baby chick"],u:"1f425",a:"0.6"},{n:["bird"],u:"1f426",a:"0.6"},{n:["penguin"],u:"1f427",a:"0.6"},{n:["dove","dove of peace"],u:"1f54a-fe0f",a:"0.7"},{n:["eagle"],u:"1f985",a:"3.0"},{n:["duck"],u:"1f986",a:"3.0"},{n:["swan"],u:"1f9a2",a:"11.0"},{n:["owl"],u:"1f989",a:"3.0"},{n:["dodo"],u:"1f9a4",a:"13.0"},{n:["feather"],u:"1fab6",a:"13.0"},{n:["flamingo"],u:"1f9a9",a:"12.0"},{n:["peacock"],u:"1f99a",a:"11.0"},{n:["parrot"],u:"1f99c",a:"11.0"},{n:["frog","frog face"],u:"1f438",a:"0.6"},{n:["crocodile"],u:"1f40a",a:"1.0"},{n:["turtle"],u:"1f422",a:"0.6"},{n:["lizard"],u:"1f98e",a:"3.0"},{n:["snake"],u:"1f40d",a:"0.6"},{n:["dragon face"],u:"1f432",a:"0.6"},{n:["dragon"],u:"1f409",a:"1.0"},{n:["sauropod"],u:"1f995",a:"5.0"},{n:["t-rex"],u:"1f996",a:"5.0"},{n:["whale","spouting whale"],u:"1f433",a:"0.6"},{n:["whale","whale2"],u:"1f40b",a:"1.0"},{n:["dolphin","flipper"],u:"1f42c",a:"0.6"},{n:["seal"],u:"1f9ad",a:"13.0"},{n:["fish"],u:"1f41f",a:"0.6"},{n:["tropical fish"],u:"1f420",a:"0.6"},{n:["blowfish"],u:"1f421",a:"0.6"},{n:["shark"],u:"1f988",a:"3.0"},{n:["octopus"],u:"1f419",a:"0.6"},{n:["shell","spiral shell"],u:"1f41a",a:"0.6"},{n:["coral"],u:"1fab8",a:"14.0"},{n:["snail"],u:"1f40c",a:"0.6"},{n:["butterfly"],u:"1f98b",a:"3.0"},{n:["bug"],u:"1f41b",a:"0.6"},{n:["ant"],u:"1f41c",a:"0.6"},{n:["bee","honeybee"],u:"1f41d",a:"0.6"},{n:["beetle"],u:"1fab2",a:"13.0"},{n:["ladybug","lady beetle"],u:"1f41e",a:"0.6"},{n:["cricket"],u:"1f997",a:"5.0"},{n:["cockroach"],u:"1fab3",a:"13.0"},{n:["spider"],u:"1f577-fe0f",a:"0.7"},{n:["spider web"],u:"1f578-fe0f",a:"0.7"},{n:["scorpion"],u:"1f982",a:"1.0"},{n:["mosquito"],u:"1f99f",a:"11.0"},{n:["fly"],u:"1fab0",a:"13.0"},{n:["worm"],u:"1fab1",a:"13.0"},{n:["microbe"],u:"1f9a0",a:"11.0"},{n:["bouquet"],u:"1f490",a:"0.6"},{n:["cherry blossom"],u:"1f338",a:"0.6"},{n:["white flower"],u:"1f4ae",a:"0.6"},{n:["lotus"],u:"1fab7",a:"14.0"},{n:["rosette"],u:"1f3f5-fe0f",a:"0.7"},{n:["rose"],u:"1f339",a:"0.6"},{n:["wilted flower"],u:"1f940",a:"3.0"},{n:["hibiscus"],u:"1f33a",a:"0.6"},{n:["sunflower"],u:"1f33b",a:"0.6"},{n:["blossom"],u:"1f33c",a:"0.6"},{n:["tulip"],u:"1f337",a:"0.6"},{n:["seedling"],u:"1f331",a:"0.6"},{n:["potted plant"],u:"1fab4",a:"13.0"},{n:["evergreen tree"],u:"1f332",a:"1.0"},{n:["deciduous tree"],u:"1f333",a:"1.0"},{n:["palm tree"],u:"1f334",a:"0.6"},{n:["cactus"],u:"1f335",a:"0.6"},{n:["ear of rice"],u:"1f33e",a:"0.6"},{n:["herb"],u:"1f33f",a:"0.6"},{n:["shamrock"],u:"2618-fe0f",a:"1.0"},{n:["four leaf clover"],u:"1f340",a:"0.6"},{n:["maple leaf"],u:"1f341",a:"0.6"},{n:["fallen leaf"],u:"1f342",a:"0.6"},{n:["leaves","leaf fluttering in wind"],u:"1f343",a:"0.6"},{n:["empty nest"],u:"1fab9",a:"14.0"},{n:["nest with eggs"],u:"1faba",a:"14.0"}],food_drink:[{n:["grapes"],u:"1f347",a:"0.6"},{n:["melon"],u:"1f348",a:"0.6"},{n:["watermelon"],u:"1f349",a:"0.6"},{n:["tangerine"],u:"1f34a",a:"0.6"},{n:["lemon"],u:"1f34b",a:"1.0"},{n:["banana"],u:"1f34c",a:"0.6"},{n:["pineapple"],u:"1f34d",a:"0.6"},{n:["mango"],u:"1f96d",a:"11.0"},{n:["apple","red apple"],u:"1f34e",a:"0.6"},{n:["green apple"],u:"1f34f",a:"0.6"},{n:["pear"],u:"1f350",a:"1.0"},{n:["peach"],u:"1f351",a:"0.6"},{n:["cherries"],u:"1f352",a:"0.6"},{n:["strawberry"],u:"1f353",a:"0.6"},{n:["blueberries"],u:"1fad0",a:"13.0"},{n:["kiwifruit"],u:"1f95d",a:"3.0"},{n:["tomato"],u:"1f345",a:"0.6"},{n:["olive"],u:"1fad2",a:"13.0"},{n:["coconut"],u:"1f965",a:"5.0"},{n:["avocado"],u:"1f951",a:"3.0"},{n:["eggplant","aubergine"],u:"1f346",a:"0.6"},{n:["potato"],u:"1f954",a:"3.0"},{n:["carrot"],u:"1f955",a:"3.0"},{n:["corn","ear of maize"],u:"1f33d",a:"0.6"},{n:["hot pepper"],u:"1f336-fe0f",a:"0.7"},{n:["bell pepper"],u:"1fad1",a:"13.0"},{n:["cucumber"],u:"1f952",a:"3.0"},{n:["leafy green"],u:"1f96c",a:"11.0"},{n:["broccoli"],u:"1f966",a:"5.0"},{n:["garlic"],u:"1f9c4",a:"12.0"},{n:["onion"],u:"1f9c5",a:"12.0"},{n:["mushroom"],u:"1f344",a:"0.6"},{n:["peanuts"],u:"1f95c",a:"3.0"},{n:["beans"],u:"1fad8",a:"14.0"},{n:["chestnut"],u:"1f330",a:"0.6"},{n:["bread"],u:"1f35e",a:"0.6"},{n:["croissant"],u:"1f950",a:"3.0"},{n:["baguette bread"],u:"1f956",a:"3.0"},{n:["flatbread"],u:"1fad3",a:"13.0"},{n:["pretzel"],u:"1f968",a:"5.0"},{n:["bagel"],u:"1f96f",a:"11.0"},{n:["pancakes"],u:"1f95e",a:"3.0"},{n:["waffle"],u:"1f9c7",a:"12.0"},{n:["cheese wedge"],u:"1f9c0",a:"1.0"},{n:["meat on bone"],u:"1f356",a:"0.6"},{n:["poultry leg"],u:"1f357",a:"0.6"},{n:["cut of meat"],u:"1f969",a:"5.0"},{n:["bacon"],u:"1f953",a:"3.0"},{n:["hamburger"],u:"1f354",a:"0.6"},{n:["fries","french fries"],u:"1f35f",a:"0.6"},{n:["pizza","slice of pizza"],u:"1f355",a:"0.6"},{n:["hotdog","hot dog"],u:"1f32d",a:"1.0"},{n:["sandwich"],u:"1f96a",a:"5.0"},{n:["taco"],u:"1f32e",a:"1.0"},{n:["burrito"],u:"1f32f",a:"1.0"},{n:["tamale"],u:"1fad4",a:"13.0"},{n:["stuffed flatbread"],u:"1f959",a:"3.0"},{n:["falafel"],u:"1f9c6",a:"12.0"},{n:["egg"],u:"1f95a",a:"3.0"},{n:["cooking","fried egg"],u:"1f373",a:"0.6"},{n:["shallow pan of food"],u:"1f958",a:"3.0"},{n:["stew","pot of food"],u:"1f372",a:"0.6"},{n:["fondue"],u:"1fad5",a:"13.0"},{n:["bowl with spoon"],u:"1f963",a:"5.0"},{n:["green salad"],u:"1f957",a:"3.0"},{n:["popcorn"],u:"1f37f",a:"1.0"},{n:["butter"],u:"1f9c8",a:"12.0"},{n:["salt","salt shaker"],u:"1f9c2",a:"11.0"},{n:["canned food"],u:"1f96b",a:"5.0"},{n:["bento","bento box"],u:"1f371",a:"0.6"},{n:["rice cracker"],u:"1f358",a:"0.6"},{n:["rice ball"],u:"1f359",a:"0.6"},{n:["rice","cooked rice"],u:"1f35a",a:"0.6"},{n:["curry","curry and rice"],u:"1f35b",a:"0.6"},{n:["ramen","steaming bowl"],u:"1f35c",a:"0.6"},{n:["spaghetti"],u:"1f35d",a:"0.6"},{n:["sweet potato","roasted sweet potato"],u:"1f360",a:"0.6"},{n:["oden"],u:"1f362",a:"0.6"},{n:["sushi"],u:"1f363",a:"0.6"},{n:["fried shrimp"],u:"1f364",a:"0.6"},{n:["fish cake","fish cake with swirl design"],u:"1f365",a:"0.6"},{n:["moon cake"],u:"1f96e",a:"11.0"},{n:["dango"],u:"1f361",a:"0.6"},{n:["dumpling"],u:"1f95f",a:"5.0"},{n:["fortune cookie"],u:"1f960",a:"5.0"},{n:["takeout box"],u:"1f961",a:"5.0"},{n:["crab"],u:"1f980",a:"1.0"},{n:["lobster"],u:"1f99e",a:"11.0"},{n:["shrimp"],u:"1f990",a:"3.0"},{n:["squid"],u:"1f991",a:"3.0"},{n:["oyster"],u:"1f9aa",a:"12.0"},{n:["icecream","soft ice cream"],u:"1f366",a:"0.6"},{n:["shaved ice"],u:"1f367",a:"0.6"},{n:["ice cream"],u:"1f368",a:"0.6"},{n:["doughnut"],u:"1f369",a:"0.6"},{n:["cookie"],u:"1f36a",a:"0.6"},{n:["birthday","birthday cake"],u:"1f382",a:"0.6"},{n:["cake","shortcake"],u:"1f370",a:"0.6"},{n:["cupcake"],u:"1f9c1",a:"11.0"},{n:["pie"],u:"1f967",a:"5.0"},{n:["chocolate bar"],u:"1f36b",a:"0.6"},{n:["candy"],u:"1f36c",a:"0.6"},{n:["lollipop"],u:"1f36d",a:"0.6"},{n:["custard"],u:"1f36e",a:"0.6"},{n:["honey pot"],u:"1f36f",a:"0.6"},{n:["baby bottle"],u:"1f37c",a:"1.0"},{n:["glass of milk"],u:"1f95b",a:"3.0"},{n:["coffee","hot beverage"],u:"2615",a:"0.6"},{n:["teapot"],u:"1fad6",a:"13.0"},{n:["tea","teacup without handle"],u:"1f375",a:"0.6"},{n:["sake","sake bottle and cup"],u:"1f376",a:"0.6"},{n:["champagne","bottle with popping cork"],u:"1f37e",a:"1.0"},{n:["wine glass"],u:"1f377",a:"0.6"},{n:["cocktail","cocktail glass"],u:"1f378",a:"0.6"},{n:["tropical drink"],u:"1f379",a:"0.6"},{n:["beer","beer mug"],u:"1f37a",a:"0.6"},{n:["beers","clinking beer mugs"],u:"1f37b",a:"0.6"},{n:["clinking glasses"],u:"1f942",a:"3.0"},{n:["tumbler glass"],u:"1f943",a:"3.0"},{n:["pouring liquid"],u:"1fad7",a:"14.0"},{n:["cup with straw"],u:"1f964",a:"5.0"},{n:["bubble tea"],u:"1f9cb",a:"13.0"},{n:["beverage box"],u:"1f9c3",a:"12.0"},{n:["mate drink"],u:"1f9c9",a:"12.0"},{n:["ice cube"],u:"1f9ca",a:"12.0"},{n:["chopsticks"],u:"1f962",a:"5.0"},{n:["knife fork plate","fork and knife with plate"],u:"1f37d-fe0f",a:"0.7"},{n:["fork and knife"],u:"1f374",a:"0.6"},{n:["spoon"],u:"1f944",a:"3.0"},{n:["hocho","knife"],u:"1f52a",a:"0.6"},{n:["jar"],u:"1fad9",a:"14.0"},{n:["amphora"],u:"1f3fa",a:"1.0"}],travel_places:[{n:["earth africa","earth globe europe-africa"],u:"1f30d",a:"0.7"},{n:["earth americas","earth globe americas"],u:"1f30e",a:"0.7"},{n:["earth asia","earth globe asia-australia"],u:"1f30f",a:"0.6"},{n:["globe with meridians"],u:"1f310",a:"1.0"},{n:["world map"],u:"1f5fa-fe0f",a:"0.7"},{n:["japan","silhouette of japan"],u:"1f5fe",a:"0.6"},{n:["compass"],u:"1f9ed",a:"11.0"},{n:["snow-capped mountain","snow capped mountain"],u:"1f3d4-fe0f",a:"0.7"},{n:["mountain"],u:"26f0-fe0f",a:"0.7"},{n:["volcano"],u:"1f30b",a:"0.6"},{n:["mount fuji"],u:"1f5fb",a:"0.6"},{n:["camping"],u:"1f3d5-fe0f",a:"0.7"},{n:["beach with umbrella"],u:"1f3d6-fe0f",a:"0.7"},{n:["desert"],u:"1f3dc-fe0f",a:"0.7"},{n:["desert island"],u:"1f3dd-fe0f",a:"0.7"},{n:["national park"],u:"1f3de-fe0f",a:"0.7"},{n:["stadium"],u:"1f3df-fe0f",a:"0.7"},{n:["classical building"],u:"1f3db-fe0f",a:"0.7"},{n:["building construction"],u:"1f3d7-fe0f",a:"0.7"},{n:["brick","bricks"],u:"1f9f1",a:"11.0"},{n:["rock"],u:"1faa8",a:"13.0"},{n:["wood"],u:"1fab5",a:"13.0"},{n:["hut"],u:"1f6d6",a:"13.0"},{n:["houses","house buildings"],u:"1f3d8-fe0f",a:"0.7"},{n:["derelict house","derelict house building"],u:"1f3da-fe0f",a:"0.7"},{n:["house","house building"],u:"1f3e0",a:"0.6"},{n:["house with garden"],u:"1f3e1",a:"0.6"},{n:["office","office building"],u:"1f3e2",a:"0.6"},{n:["post office","japanese post office"],u:"1f3e3",a:"0.6"},{n:["european post office"],u:"1f3e4",a:"1.0"},{n:["hospital"],u:"1f3e5",a:"0.6"},{n:["bank"],u:"1f3e6",a:"0.6"},{n:["hotel"],u:"1f3e8",a:"0.6"},{n:["love hotel"],u:"1f3e9",a:"0.6"},{n:["convenience store"],u:"1f3ea",a:"0.6"},{n:["school"],u:"1f3eb",a:"0.6"},{n:["department store"],u:"1f3ec",a:"0.6"},{n:["factory"],u:"1f3ed",a:"0.6"},{n:["japanese castle"],u:"1f3ef",a:"0.6"},{n:["european castle"],u:"1f3f0",a:"0.6"},{n:["wedding"],u:"1f492",a:"0.6"},{n:["tokyo tower"],u:"1f5fc",a:"0.6"},{n:["statue of liberty"],u:"1f5fd",a:"0.6"},{n:["church"],u:"26ea",a:"0.6"},{n:["mosque"],u:"1f54c",a:"1.0"},{n:["hindu temple"],u:"1f6d5",a:"12.0"},{n:["synagogue"],u:"1f54d",a:"1.0"},{n:["shinto shrine"],u:"26e9-fe0f",a:"0.7"},{n:["kaaba"],u:"1f54b",a:"1.0"},{n:["fountain"],u:"26f2",a:"0.6"},{n:["tent"],u:"26fa",a:"0.6"},{n:["foggy"],u:"1f301",a:"0.6"},{n:["night with stars"],u:"1f303",a:"0.6"},{n:["cityscape"],u:"1f3d9-fe0f",a:"0.7"},{n:["sunrise over mountains"],u:"1f304",a:"0.6"},{n:["sunrise"],u:"1f305",a:"0.6"},{n:["city sunset","cityscape at dusk"],u:"1f306",a:"0.6"},{n:["city sunrise","sunset over buildings"],u:"1f307",a:"0.6"},{n:["bridge at night"],u:"1f309",a:"0.6"},{n:["hotsprings","hot springs"],u:"2668-fe0f",a:"0.6"},{n:["carousel horse"],u:"1f3a0",a:"0.6"},{n:["playground slide"],u:"1f6dd",a:"14.0"},{n:["ferris wheel"],u:"1f3a1",a:"0.6"},{n:["roller coaster"],u:"1f3a2",a:"0.6"},{n:["barber","barber pole"],u:"1f488",a:"0.6"},{n:["circus tent"],u:"1f3aa",a:"0.6"},{n:["steam locomotive"],u:"1f682",a:"1.0"},{n:["railway car"],u:"1f683",a:"0.6"},{n:["high-speed train","bullettrain side"],u:"1f684",a:"0.6"},{n:["bullettrain front","high-speed train with bullet nose"],u:"1f685",a:"0.6"},{n:["train","train2"],u:"1f686",a:"1.0"},{n:["metro"],u:"1f687",a:"0.6"},{n:["light rail"],u:"1f688",a:"1.0"},{n:["station"],u:"1f689",a:"0.6"},{n:["tram"],u:"1f68a",a:"1.0"},{n:["monorail"],u:"1f69d",a:"1.0"},{n:["mountain railway"],u:"1f69e",a:"1.0"},{n:["train","tram car"],u:"1f68b",a:"1.0"},{n:["bus"],u:"1f68c",a:"0.6"},{n:["oncoming bus"],u:"1f68d",a:"0.7"},{n:["trolleybus"],u:"1f68e",a:"1.0"},{n:["minibus"],u:"1f690",a:"1.0"},{n:["ambulance"],u:"1f691",a:"0.6"},{n:["fire engine"],u:"1f692",a:"0.6"},{n:["police car"],u:"1f693",a:"0.6"},{n:["oncoming police car"],u:"1f694",a:"0.7"},{n:["taxi"],u:"1f695",a:"0.6"},{n:["oncoming taxi"],u:"1f696",a:"1.0"},{n:["car","red car","automobile"],u:"1f697",a:"0.6"},{n:["oncoming automobile"],u:"1f698",a:"0.7"},{n:["blue car","recreational vehicle"],u:"1f699",a:"0.6"},{n:["pickup truck"],u:"1f6fb",a:"13.0"},{n:["truck","delivery truck"],u:"1f69a",a:"0.6"},{n:["articulated lorry"],u:"1f69b",a:"1.0"},{n:["tractor"],u:"1f69c",a:"1.0"},{n:["racing car"],u:"1f3ce-fe0f",a:"0.7"},{n:["motorcycle","racing motorcycle"],u:"1f3cd-fe0f",a:"0.7"},{n:["motor scooter"],u:"1f6f5",a:"3.0"},{n:["manual wheelchair"],u:"1f9bd",a:"12.0"},{n:["motorized wheelchair"],u:"1f9bc",a:"12.0"},{n:["auto rickshaw"],u:"1f6fa",a:"12.0"},{n:["bike","bicycle"],u:"1f6b2",a:"0.6"},{n:["scooter"],u:"1f6f4",a:"3.0"},{n:["skateboard"],u:"1f6f9",a:"11.0"},{n:["roller skate"],u:"1f6fc",a:"13.0"},{n:["busstop","bus stop"],u:"1f68f",a:"0.6"},{n:["motorway"],u:"1f6e3-fe0f",a:"0.7"},{n:["railway track"],u:"1f6e4-fe0f",a:"0.7"},{n:["oil drum"],u:"1f6e2-fe0f",a:"0.7"},{n:["fuelpump","fuel pump"],u:"26fd",a:"0.6"},{n:["wheel"],u:"1f6de",a:"14.0"},{n:["rotating light","police cars revolving light"],u:"1f6a8",a:"0.6"},{n:["traffic light","horizontal traffic light"],u:"1f6a5",a:"0.6"},{n:["vertical traffic light"],u:"1f6a6",a:"1.0"},{n:["octagonal sign"],u:"1f6d1",a:"3.0"},{n:["construction","construction sign"],u:"1f6a7",a:"0.6"},{n:["anchor"],u:"2693",a:"0.6"},{n:["ring buoy"],u:"1f6df",a:"14.0"},{n:["boat","sailboat"],u:"26f5",a:"0.6"},{n:["canoe"],u:"1f6f6",a:"3.0"},{n:["speedboat"],u:"1f6a4",a:"0.6"},{n:["passenger ship"],u:"1f6f3-fe0f",a:"0.7"},{n:["ferry"],u:"26f4-fe0f",a:"0.7"},{n:["motor boat"],u:"1f6e5-fe0f",a:"0.7"},{n:["ship"],u:"1f6a2",a:"0.6"},{n:["airplane"],u:"2708-fe0f",a:"0.6"},{n:["small airplane"],u:"1f6e9-fe0f",a:"0.7"},{n:["airplane departure"],u:"1f6eb",a:"1.0"},{n:["airplane arriving"],u:"1f6ec",a:"1.0"},{n:["parachute"],u:"1fa82",a:"12.0"},{n:["seat"],u:"1f4ba",a:"0.6"},{n:["helicopter"],u:"1f681",a:"1.0"},{n:["suspension railway"],u:"1f69f",a:"1.0"},{n:["mountain cableway"],u:"1f6a0",a:"1.0"},{n:["aerial tramway"],u:"1f6a1",a:"1.0"},{n:["satellite"],u:"1f6f0-fe0f",a:"0.7"},{n:["rocket"],u:"1f680",a:"0.6"},{n:["flying saucer"],u:"1f6f8",a:"5.0"},{n:["bellhop bell"],u:"1f6ce-fe0f",a:"0.7"},{n:["luggage"],u:"1f9f3",a:"11.0"},{n:["hourglass"],u:"231b",a:"0.6"},{n:["hourglass flowing sand","hourglass with flowing sand"],u:"23f3",a:"0.6"},{n:["watch"],u:"231a",a:"0.6"},{n:["alarm clock"],u:"23f0",a:"0.6"},{n:["stopwatch"],u:"23f1-fe0f",a:"1.0"},{n:["timer clock"],u:"23f2-fe0f",a:"1.0"},{n:["mantelpiece clock"],u:"1f570-fe0f",a:"0.7"},{n:["clock12","clock face twelve oclock"],u:"1f55b",a:"0.6"},{n:["clock1230","clock face twelve-thirty"],u:"1f567",a:"0.7"},{n:["clock1","clock face one oclock"],u:"1f550",a:"0.6"},{n:["clock130","clock face one-thirty"],u:"1f55c",a:"0.7"},{n:["clock2","clock face two oclock"],u:"1f551",a:"0.6"},{n:["clock230","clock face two-thirty"],u:"1f55d",a:"0.7"},{n:["clock3","clock face three oclock"],u:"1f552",a:"0.6"},{n:["clock330","clock face three-thirty"],u:"1f55e",a:"0.7"},{n:["clock4","clock face four oclock"],u:"1f553",a:"0.6"},{n:["clock430","clock face four-thirty"],u:"1f55f",a:"0.7"},{n:["clock5","clock face five oclock"],u:"1f554",a:"0.6"},{n:["clock530","clock face five-thirty"],u:"1f560",a:"0.7"},{n:["clock6","clock face six oclock"],u:"1f555",a:"0.6"},{n:["clock630","clock face six-thirty"],u:"1f561",a:"0.7"},{n:["clock7","clock face seven oclock"],u:"1f556",a:"0.6"},{n:["clock730","clock face seven-thirty"],u:"1f562",a:"0.7"},{n:["clock8","clock face eight oclock"],u:"1f557",a:"0.6"},{n:["clock830","clock face eight-thirty"],u:"1f563",a:"0.7"},{n:["clock9","clock face nine oclock"],u:"1f558",a:"0.6"},{n:["clock930","clock face nine-thirty"],u:"1f564",a:"0.7"},{n:["clock10","clock face ten oclock"],u:"1f559",a:"0.6"},{n:["clock1030","clock face ten-thirty"],u:"1f565",a:"0.7"},{n:["clock11","clock face eleven oclock"],u:"1f55a",a:"0.6"},{n:["clock1130","clock face eleven-thirty"],u:"1f566",a:"0.7"},{n:["new moon","new moon symbol"],u:"1f311",a:"0.6"},{n:["waxing crescent moon","waxing crescent moon symbol"],u:"1f312",a:"1.0"},{n:["first quarter moon","first quarter moon symbol"],u:"1f313",a:"0.6"},{n:["moon","waxing gibbous moon","waxing gibbous moon symbol"],u:"1f314",a:"0.6"},{n:["full moon","full moon symbol"],u:"1f315",a:"0.6"},{n:["waning gibbous moon","waning gibbous moon symbol"],u:"1f316",a:"1.0"},{n:["last quarter moon","last quarter moon symbol"],u:"1f317",a:"1.0"},{n:["waning crescent moon","waning crescent moon symbol"],u:"1f318",a:"1.0"},{n:["crescent moon"],u:"1f319",a:"0.6"},{n:["new moon with face"],u:"1f31a",a:"1.0"},{n:["first quarter moon with face"],u:"1f31b",a:"0.6"},{n:["last quarter moon with face"],u:"1f31c",a:"0.7"},{n:["thermometer"],u:"1f321-fe0f",a:"0.7"},{n:["sunny","black sun with rays"],u:"2600-fe0f",a:"0.6"},{n:["full moon with face"],u:"1f31d",a:"1.0"},{n:["sun with face"],u:"1f31e",a:"1.0"},{n:["ringed planet"],u:"1fa90",a:"12.0"},{n:["star","white medium star"],u:"2b50",a:"0.6"},{n:["star2","glowing star"],u:"1f31f",a:"0.6"},{n:["stars","shooting star"],u:"1f320",a:"0.6"},{n:["milky way"],u:"1f30c",a:"0.6"},{n:["cloud"],u:"2601-fe0f",a:"0.6"},{n:["partly sunny","sun behind cloud"],u:"26c5",a:"0.6"},{n:["thunder cloud and rain","cloud with lightning and rain"],u:"26c8-fe0f",a:"0.7"},{n:["mostly sunny","sun small cloud","sun behind small cloud"],u:"1f324-fe0f",a:"0.7"},{n:["barely sunny","sun behind cloud","sun behind large cloud"],u:"1f325-fe0f",a:"0.7"},{n:["partly sunny rain","sun behind rain cloud"],u:"1f326-fe0f",a:"0.7"},{n:["rain cloud","cloud with rain"],u:"1f327-fe0f",a:"0.7"},{n:["snow cloud","cloud with snow"],u:"1f328-fe0f",a:"0.7"},{n:["lightning","lightning cloud","cloud with lightning"],u:"1f329-fe0f",a:"0.7"},{n:["tornado","tornado cloud"],u:"1f32a-fe0f",a:"0.7"},{n:["fog"],u:"1f32b-fe0f",a:"0.7"},{n:["wind face","wind blowing face"],u:"1f32c-fe0f",a:"0.7"},{n:["cyclone"],u:"1f300",a:"0.6"},{n:["rainbow"],u:"1f308",a:"0.6"},{n:["closed umbrella"],u:"1f302",a:"0.6"},{n:["umbrella"],u:"2602-fe0f",a:"0.7"},{n:["umbrella with rain drops"],u:"2614",a:"0.6"},{n:["umbrella on ground"],u:"26f1-fe0f",a:"0.7"},{n:["zap","high voltage sign"],u:"26a1",a:"0.6"},{n:["snowflake"],u:"2744-fe0f",a:"0.6"},{n:["snowman"],u:"2603-fe0f",a:"0.7"},{n:["snowman without snow"],u:"26c4",a:"0.6"},{n:["comet"],u:"2604-fe0f",a:"1.0"},{n:["fire"],u:"1f525",a:"0.6"},{n:["droplet"],u:"1f4a7",a:"0.6"},{n:["ocean","water wave"],u:"1f30a",a:"0.6"}],activities:[{n:["jack-o-lantern","jack o lantern"],u:"1f383",a:"0.6"},{n:["christmas tree"],u:"1f384",a:"0.6"},{n:["fireworks"],u:"1f386",a:"0.6"},{n:["sparkler","firework sparkler"],u:"1f387",a:"0.6"},{n:["firecracker"],u:"1f9e8",a:"11.0"},{n:["sparkles"],u:"2728",a:"0.6"},{n:["balloon"],u:"1f388",a:"0.6"},{n:["tada","party popper"],u:"1f389",a:"0.6"},{n:["confetti ball"],u:"1f38a",a:"0.6"},{n:["tanabata tree"],u:"1f38b",a:"0.6"},{n:["bamboo","pine decoration"],u:"1f38d",a:"0.6"},{n:["dolls","japanese dolls"],u:"1f38e",a:"0.6"},{n:["flags","carp streamer"],u:"1f38f",a:"0.6"},{n:["wind chime"],u:"1f390",a:"0.6"},{n:["rice scene","moon viewing ceremony"],u:"1f391",a:"0.6"},{n:["red envelope","red gift envelope"],u:"1f9e7",a:"11.0"},{n:["ribbon"],u:"1f380",a:"0.6"},{n:["gift","wrapped present"],u:"1f381",a:"0.6"},{n:["reminder ribbon"],u:"1f397-fe0f",a:"0.7"},{n:["admission tickets"],u:"1f39f-fe0f",a:"0.7"},{n:["ticket"],u:"1f3ab",a:"0.6"},{n:["medal","military medal"],u:"1f396-fe0f",a:"0.7"},{n:["trophy"],u:"1f3c6",a:"0.6"},{n:["sports medal"],u:"1f3c5",a:"1.0"},{n:["first place medal"],u:"1f947",a:"3.0"},{n:["second place medal"],u:"1f948",a:"3.0"},{n:["third place medal"],u:"1f949",a:"3.0"},{n:["soccer","soccer ball"],u:"26bd",a:"0.6"},{n:["baseball"],u:"26be",a:"0.6"},{n:["softball"],u:"1f94e",a:"11.0"},{n:["basketball","basketball and hoop"],u:"1f3c0",a:"0.6"},{n:["volleyball"],u:"1f3d0",a:"1.0"},{n:["football","american football"],u:"1f3c8",a:"0.6"},{n:["rugby football"],u:"1f3c9",a:"1.0"},{n:["tennis","tennis racquet and ball"],u:"1f3be",a:"0.6"},{n:["flying disc"],u:"1f94f",a:"11.0"},{n:["bowling"],u:"1f3b3",a:"0.6"},{n:["cricket bat and ball"],u:"1f3cf",a:"1.0"},{n:["field hockey stick and ball"],u:"1f3d1",a:"1.0"},{n:["ice hockey stick and puck"],u:"1f3d2",a:"1.0"},{n:["lacrosse","lacrosse stick and ball"],u:"1f94d",a:"11.0"},{n:["table tennis paddle and ball"],u:"1f3d3",a:"1.0"},{n:["badminton racquet and shuttlecock"],u:"1f3f8",a:"1.0"},{n:["boxing glove"],u:"1f94a",a:"3.0"},{n:["martial arts uniform"],u:"1f94b",a:"3.0"},{n:["goal net"],u:"1f945",a:"3.0"},{n:["golf","flag in hole"],u:"26f3",a:"0.6"},{n:["ice skate"],u:"26f8-fe0f",a:"0.7"},{n:["fishing pole and fish"],u:"1f3a3",a:"0.6"},{n:["diving mask"],u:"1f93f",a:"12.0"},{n:["running shirt with sash"],u:"1f3bd",a:"0.6"},{n:["ski","ski and ski boot"],u:"1f3bf",a:"0.6"},{n:["sled"],u:"1f6f7",a:"5.0"},{n:["curling stone"],u:"1f94c",a:"5.0"},{n:["dart","direct hit"],u:"1f3af",a:"0.6"},{n:["yo-yo"],u:"1fa80",a:"12.0"},{n:["kite"],u:"1fa81",a:"12.0"},{n:["8ball","billiards"],u:"1f3b1",a:"0.6"},{n:["crystal ball"],u:"1f52e",a:"0.6"},{n:["magic wand"],u:"1fa84",a:"13.0"},{n:["nazar amulet"],u:"1f9ff",a:"11.0"},{n:["hamsa"],u:"1faac",a:"14.0"},{n:["video game"],u:"1f3ae",a:"0.6"},{n:["joystick"],u:"1f579-fe0f",a:"0.7"},{n:["slot machine"],u:"1f3b0",a:"0.6"},{n:["game die"],u:"1f3b2",a:"0.6"},{n:["jigsaw","jigsaw puzzle piece"],u:"1f9e9",a:"11.0"},{n:["teddy bear"],u:"1f9f8",a:"11.0"},{n:["pinata"],u:"1fa85",a:"13.0"},{n:["mirror ball"],u:"1faa9",a:"14.0"},{n:["nesting dolls"],u:"1fa86",a:"13.0"},{n:["spades","black spade suit"],u:"2660-fe0f",a:"0.6"},{n:["hearts","black heart suit"],u:"2665-fe0f",a:"0.6"},{n:["diamonds","black diamond suit"],u:"2666-fe0f",a:"0.6"},{n:["clubs","black club suit"],u:"2663-fe0f",a:"0.6"},{n:["chess pawn"],u:"265f-fe0f",a:"11.0"},{n:["black joker","playing card black joker"],u:"1f0cf",a:"0.6"},{n:["mahjong","mahjong tile red dragon"],u:"1f004",a:"0.6"},{n:["flower playing cards"],u:"1f3b4",a:"0.6"},{n:["performing arts"],u:"1f3ad",a:"0.6"},{n:["framed picture","frame with picture"],u:"1f5bc-fe0f",a:"0.7"},{n:["art","artist palette"],u:"1f3a8",a:"0.6"},{n:["thread","spool of thread"],u:"1f9f5",a:"11.0"},{n:["sewing needle"],u:"1faa1",a:"13.0"},{n:["yarn","ball of yarn"],u:"1f9f6",a:"11.0"},{n:["knot"],u:"1faa2",a:"13.0"}],objects:[{n:["eyeglasses"],u:"1f453",a:"0.6"},{n:["sunglasses","dark sunglasses"],u:"1f576-fe0f",a:"0.7"},{n:["goggles"],u:"1f97d",a:"11.0"},{n:["lab coat"],u:"1f97c",a:"11.0"},{n:["safety vest"],u:"1f9ba",a:"12.0"},{n:["necktie"],u:"1f454",a:"0.6"},{n:["shirt","tshirt","t-shirt"],u:"1f455",a:"0.6"},{n:["jeans"],u:"1f456",a:"0.6"},{n:["scarf"],u:"1f9e3",a:"5.0"},{n:["gloves"],u:"1f9e4",a:"5.0"},{n:["coat"],u:"1f9e5",a:"5.0"},{n:["socks"],u:"1f9e6",a:"5.0"},{n:["dress"],u:"1f457",a:"0.6"},{n:["kimono"],u:"1f458",a:"0.6"},{n:["sari"],u:"1f97b",a:"12.0"},{n:["one-piece swimsuit"],u:"1fa71",a:"12.0"},{n:["briefs"],u:"1fa72",a:"12.0"},{n:["shorts"],u:"1fa73",a:"12.0"},{n:["bikini"],u:"1f459",a:"0.6"},{n:["womans clothes"],u:"1f45a",a:"0.6"},{n:["purse"],u:"1f45b",a:"0.6"},{n:["handbag"],u:"1f45c",a:"0.6"},{n:["pouch"],u:"1f45d",a:"0.6"},{n:["shopping bags"],u:"1f6cd-fe0f",a:"0.7"},{n:["school satchel"],u:"1f392",a:"0.6"},{n:["thong sandal"],u:"1fa74",a:"13.0"},{n:["shoe","mans shoe"],u:"1f45e",a:"0.6"},{n:["athletic shoe"],u:"1f45f",a:"0.6"},{n:["hiking boot"],u:"1f97e",a:"11.0"},{n:["flat shoe","womans flat shoe"],u:"1f97f",a:"11.0"},{n:["high heel","high-heeled shoe"],u:"1f460",a:"0.6"},{n:["sandal","womans sandal"],u:"1f461",a:"0.6"},{n:["ballet shoes"],u:"1fa70",a:"12.0"},{n:["boot","womans boots"],u:"1f462",a:"0.6"},{n:["crown"],u:"1f451",a:"0.6"},{n:["womans hat"],u:"1f452",a:"0.6"},{n:["tophat","top hat"],u:"1f3a9",a:"0.6"},{n:["mortar board","graduation cap"],u:"1f393",a:"0.6"},{n:["billed cap"],u:"1f9e2",a:"5.0"},{n:["military helmet"],u:"1fa96",a:"13.0"},{n:["rescue worker’s helmet","helmet with white cross"],u:"26d1-fe0f",a:"0.7"},{n:["prayer beads"],u:"1f4ff",a:"1.0"},{n:["lipstick"],u:"1f484",a:"0.6"},{n:["ring"],u:"1f48d",a:"0.6"},{n:["gem","gem stone"],u:"1f48e",a:"0.6"},{n:["mute","speaker with cancellation stroke"],u:"1f507",a:"1.0"},{n:["speaker"],u:"1f508",a:"0.7"},{n:["sound","speaker with one sound wave"],u:"1f509",a:"1.0"},{n:["loud sound","speaker with three sound waves"],u:"1f50a",a:"0.6"},{n:["loudspeaker","public address loudspeaker"],u:"1f4e2",a:"0.6"},{n:["mega","cheering megaphone"],u:"1f4e3",a:"0.6"},{n:["postal horn"],u:"1f4ef",a:"1.0"},{n:["bell"],u:"1f514",a:"0.6"},{n:["no bell","bell with cancellation stroke"],u:"1f515",a:"1.0"},{n:["musical score"],u:"1f3bc",a:"0.6"},{n:["musical note"],u:"1f3b5",a:"0.6"},{n:["notes","multiple musical notes"],u:"1f3b6",a:"0.6"},{n:["studio microphone"],u:"1f399-fe0f",a:"0.7"},{n:["level slider"],u:"1f39a-fe0f",a:"0.7"},{n:["control knobs"],u:"1f39b-fe0f",a:"0.7"},{n:["microphone"],u:"1f3a4",a:"0.6"},{n:["headphone","headphones"],u:"1f3a7",a:"0.6"},{n:["radio"],u:"1f4fb",a:"0.6"},{n:["saxophone"],u:"1f3b7",a:"0.6"},{n:["accordion"],u:"1fa97",a:"13.0"},{n:["guitar"],u:"1f3b8",a:"0.6"},{n:["musical keyboard"],u:"1f3b9",a:"0.6"},{n:["trumpet"],u:"1f3ba",a:"0.6"},{n:["violin"],u:"1f3bb",a:"0.6"},{n:["banjo"],u:"1fa95",a:"12.0"},{n:["drum with drumsticks"],u:"1f941",a:"3.0"},{n:["long drum"],u:"1fa98",a:"13.0"},{n:["iphone","mobile phone"],u:"1f4f1",a:"0.6"},{n:["calling","mobile phone with rightwards arrow at left"],u:"1f4f2",a:"0.6"},{n:["phone","telephone","black telephone"],u:"260e-fe0f",a:"0.6"},{n:["telephone receiver"],u:"1f4de",a:"0.6"},{n:["pager"],u:"1f4df",a:"0.6"},{n:["fax","fax machine"],u:"1f4e0",a:"0.6"},{n:["battery"],u:"1f50b",a:"0.6"},{n:["low battery"],u:"1faab",a:"14.0"},{n:["electric plug"],u:"1f50c",a:"0.6"},{n:["computer","personal computer"],u:"1f4bb",a:"0.6"},{n:["desktop computer"],u:"1f5a5-fe0f",a:"0.7"},{n:["printer"],u:"1f5a8-fe0f",a:"0.7"},{n:["keyboard"],u:"2328-fe0f",a:"1.0"},{n:["computer mouse","three button mouse"],u:"1f5b1-fe0f",a:"0.7"},{n:["trackball"],u:"1f5b2-fe0f",a:"0.7"},{n:["minidisc"],u:"1f4bd",a:"0.6"},{n:["floppy disk"],u:"1f4be",a:"0.6"},{n:["cd","optical disc"],u:"1f4bf",a:"0.6"},{n:["dvd"],u:"1f4c0",a:"0.6"},{n:["abacus"],u:"1f9ee",a:"11.0"},{n:["movie camera"],u:"1f3a5",a:"0.6"},{n:["film frames"],u:"1f39e-fe0f",a:"0.7"},{n:["film projector"],u:"1f4fd-fe0f",a:"0.7"},{n:["clapper","clapper board"],u:"1f3ac",a:"0.6"},{n:["tv","television"],u:"1f4fa",a:"0.6"},{n:["camera"],u:"1f4f7",a:"0.6"},{n:["camera with flash"],u:"1f4f8",a:"1.0"},{n:["video camera"],u:"1f4f9",a:"0.6"},{n:["vhs","videocassette"],u:"1f4fc",a:"0.6"},{n:["mag","left-pointing magnifying glass"],u:"1f50d",a:"0.6"},{n:["mag right","right-pointing magnifying glass"],u:"1f50e",a:"0.6"},{n:["candle"],u:"1f56f-fe0f",a:"0.7"},{n:["bulb","electric light bulb"],u:"1f4a1",a:"0.6"},{n:["flashlight","electric torch"],u:"1f526",a:"0.6"},{n:["lantern","izakaya lantern"],u:"1f3ee",a:"0.6"},{n:["diya lamp"],u:"1fa94",a:"12.0"},{n:["notebook with decorative cover"],u:"1f4d4",a:"0.6"},{n:["closed book"],u:"1f4d5",a:"0.6"},{n:["book","open book"],u:"1f4d6",a:"0.6"},{n:["green book"],u:"1f4d7",a:"0.6"},{n:["blue book"],u:"1f4d8",a:"0.6"},{n:["orange book"],u:"1f4d9",a:"0.6"},{n:["books"],u:"1f4da",a:"0.6"},{n:["notebook"],u:"1f4d3",a:"0.6"},{n:["ledger"],u:"1f4d2",a:"0.6"},{n:["page with curl"],u:"1f4c3",a:"0.6"},{n:["scroll"],u:"1f4dc",a:"0.6"},{n:["page facing up"],u:"1f4c4",a:"0.6"},{n:["newspaper"],u:"1f4f0",a:"0.6"},{n:["rolled-up newspaper","rolled up newspaper"],u:"1f5de-fe0f",a:"0.7"},{n:["bookmark tabs"],u:"1f4d1",a:"0.6"},{n:["bookmark"],u:"1f516",a:"0.6"},{n:["label"],u:"1f3f7-fe0f",a:"0.7"},{n:["moneybag","money bag"],u:"1f4b0",a:"0.6"},{n:["coin"],u:"1fa99",a:"13.0"},{n:["yen","banknote with yen sign"],u:"1f4b4",a:"0.6"},{n:["dollar","banknote with dollar sign"],u:"1f4b5",a:"0.6"},{n:["euro","banknote with euro sign"],u:"1f4b6",a:"1.0"},{n:["pound","banknote with pound sign"],u:"1f4b7",a:"1.0"},{n:["money with wings"],u:"1f4b8",a:"0.6"},{n:["credit card"],u:"1f4b3",a:"0.6"},{n:["receipt"],u:"1f9fe",a:"11.0"},{n:["chart","chart with upwards trend and yen sign"],u:"1f4b9",a:"0.6"},{n:["email","envelope"],u:"2709-fe0f",a:"0.6"},{n:["e-mail","e-mail symbol"],u:"1f4e7",a:"0.6"},{n:["incoming envelope"],u:"1f4e8",a:"0.6"},{n:["envelope with arrow","envelope with downwards arrow above"],u:"1f4e9",a:"0.6"},{n:["outbox tray"],u:"1f4e4",a:"0.6"},{n:["inbox tray"],u:"1f4e5",a:"0.6"},{n:["package"],u:"1f4e6",a:"0.6"},{n:["mailbox","closed mailbox with raised flag"],u:"1f4eb",a:"0.6"},{n:["mailbox closed","closed mailbox with lowered flag"],u:"1f4ea",a:"0.6"},{n:["mailbox with mail","open mailbox with raised flag"],u:"1f4ec",a:"0.7"},{n:["mailbox with no mail","open mailbox with lowered flag"],u:"1f4ed",a:"0.7"},{n:["postbox"],u:"1f4ee",a:"0.6"},{n:["ballot box with ballot"],u:"1f5f3-fe0f",a:"0.7"},{n:["pencil","pencil2"],u:"270f-fe0f",a:"0.6"},{n:["black nib"],u:"2712-fe0f",a:"0.6"},{n:["fountain pen","lower left fountain pen"],u:"1f58b-fe0f",a:"0.7"},{n:["pen","lower left ballpoint pen"],u:"1f58a-fe0f",a:"0.7"},{n:["paintbrush","lower left paintbrush"],u:"1f58c-fe0f",a:"0.7"},{n:["crayon","lower left crayon"],u:"1f58d-fe0f",a:"0.7"},{n:["memo","pencil"],u:"1f4dd",a:"0.6"},{n:["briefcase"],u:"1f4bc",a:"0.6"},{n:["file folder"],u:"1f4c1",a:"0.6"},{n:["open file folder"],u:"1f4c2",a:"0.6"},{n:["card index dividers"],u:"1f5c2-fe0f",a:"0.7"},{n:["date","calendar"],u:"1f4c5",a:"0.6"},{n:["calendar","tear-off calendar"],u:"1f4c6",a:"0.6"},{n:["spiral notepad","spiral note pad"],u:"1f5d2-fe0f",a:"0.7"},{n:["spiral calendar","spiral calendar pad"],u:"1f5d3-fe0f",a:"0.7"},{n:["card index"],u:"1f4c7",a:"0.6"},{n:["chart with upwards trend"],u:"1f4c8",a:"0.6"},{n:["chart with downwards trend"],u:"1f4c9",a:"0.6"},{n:["bar chart"],u:"1f4ca",a:"0.6"},{n:["clipboard"],u:"1f4cb",a:"0.6"},{n:["pushpin"],u:"1f4cc",a:"0.6"},{n:["round pushpin"],u:"1f4cd",a:"0.6"},{n:["paperclip"],u:"1f4ce",a:"0.6"},{n:["linked paperclips"],u:"1f587-fe0f",a:"0.7"},{n:["straight ruler"],u:"1f4cf",a:"0.6"},{n:["triangular ruler"],u:"1f4d0",a:"0.6"},{n:["scissors","black scissors"],u:"2702-fe0f",a:"0.6"},{n:["card file box"],u:"1f5c3-fe0f",a:"0.7"},{n:["file cabinet"],u:"1f5c4-fe0f",a:"0.7"},{n:["wastebasket"],u:"1f5d1-fe0f",a:"0.7"},{n:["lock"],u:"1f512",a:"0.6"},{n:["unlock","open lock"],u:"1f513",a:"0.6"},{n:["lock with ink pen"],u:"1f50f",a:"0.6"},{n:["closed lock with key"],u:"1f510",a:"0.6"},{n:["key"],u:"1f511",a:"0.6"},{n:["old key"],u:"1f5dd-fe0f",a:"0.7"},{n:["hammer"],u:"1f528",a:"0.6"},{n:["axe"],u:"1fa93",a:"12.0"},{n:["pick"],u:"26cf-fe0f",a:"0.7"},{n:["hammer and pick"],u:"2692-fe0f",a:"1.0"},{n:["hammer and wrench"],u:"1f6e0-fe0f",a:"0.7"},{n:["dagger","dagger knife"],u:"1f5e1-fe0f",a:"0.7"},{n:["crossed swords"],u:"2694-fe0f",a:"1.0"},{n:["gun","pistol"],u:"1f52b",a:"0.6"},{n:["boomerang"],u:"1fa83",a:"13.0"},{n:["bow and arrow"],u:"1f3f9",a:"1.0"},{n:["shield"],u:"1f6e1-fe0f",a:"0.7"},{n:["carpentry saw"],u:"1fa9a",a:"13.0"},{n:["wrench"],u:"1f527",a:"0.6"},{n:["screwdriver"],u:"1fa9b",a:"13.0"},{n:["nut and bolt"],u:"1f529",a:"0.6"},{n:["gear"],u:"2699-fe0f",a:"1.0"},{n:["clamp","compression"],u:"1f5dc-fe0f",a:"0.7"},{n:["scales","balance scale"],u:"2696-fe0f",a:"1.0"},{n:["probing cane"],u:"1f9af",a:"12.0"},{n:["link","link symbol"],u:"1f517",a:"0.6"},{n:["chains"],u:"26d3-fe0f",a:"0.7"},{n:["hook"],u:"1fa9d",a:"13.0"},{n:["toolbox"],u:"1f9f0",a:"11.0"},{n:["magnet"],u:"1f9f2",a:"11.0"},{n:["ladder"],u:"1fa9c",a:"13.0"},{n:["alembic"],u:"2697-fe0f",a:"1.0"},{n:["test tube"],u:"1f9ea",a:"11.0"},{n:["petri dish"],u:"1f9eb",a:"11.0"},{n:["dna","dna double helix"],u:"1f9ec",a:"11.0"},{n:["microscope"],u:"1f52c",a:"1.0"},{n:["telescope"],u:"1f52d",a:"1.0"},{n:["satellite antenna"],u:"1f4e1",a:"0.6"},{n:["syringe"],u:"1f489",a:"0.6"},{n:["drop of blood"],u:"1fa78",a:"12.0"},{n:["pill"],u:"1f48a",a:"0.6"},{n:["adhesive bandage"],u:"1fa79",a:"12.0"},{n:["crutch"],u:"1fa7c",a:"14.0"},{n:["stethoscope"],u:"1fa7a",a:"12.0"},{n:["x-ray"],u:"1fa7b",a:"14.0"},{n:["door"],u:"1f6aa",a:"0.6"},{n:["elevator"],u:"1f6d7",a:"13.0"},{n:["mirror"],u:"1fa9e",a:"13.0"},{n:["window"],u:"1fa9f",a:"13.0"},{n:["bed"],u:"1f6cf-fe0f",a:"0.7"},{n:["couch and lamp"],u:"1f6cb-fe0f",a:"0.7"},{n:["chair"],u:"1fa91",a:"12.0"},{n:["toilet"],u:"1f6bd",a:"0.6"},{n:["plunger"],u:"1faa0",a:"13.0"},{n:["shower"],u:"1f6bf",a:"1.0"},{n:["bathtub"],u:"1f6c1",a:"1.0"},{n:["mouse trap"],u:"1faa4",a:"13.0"},{n:["razor"],u:"1fa92",a:"12.0"},{n:["lotion bottle"],u:"1f9f4",a:"11.0"},{n:["safety pin"],u:"1f9f7",a:"11.0"},{n:["broom"],u:"1f9f9",a:"11.0"},{n:["basket"],u:"1f9fa",a:"11.0"},{n:["roll of paper"],u:"1f9fb",a:"11.0"},{n:["bucket"],u:"1faa3",a:"13.0"},{n:["soap","bar of soap"],u:"1f9fc",a:"11.0"},{n:["bubbles"],u:"1fae7",a:"14.0"},{n:["toothbrush"],u:"1faa5",a:"13.0"},{n:["sponge"],u:"1f9fd",a:"11.0"},{n:["fire extinguisher"],u:"1f9ef",a:"11.0"},{n:["shopping trolley"],u:"1f6d2",a:"3.0"},{n:["smoking","smoking symbol"],u:"1f6ac",a:"0.6"},{n:["coffin"],u:"26b0-fe0f",a:"1.0"},{n:["headstone"],u:"1faa6",a:"13.0"},{n:["funeral urn"],u:"26b1-fe0f",a:"1.0"},{n:["moyai"],u:"1f5ff",a:"0.6"},{n:["placard"],u:"1faa7",a:"13.0"},{n:["identification card"],u:"1faaa",a:"14.0"}],symbols:[{n:["atm","automated teller machine"],u:"1f3e7",a:"0.6"},{n:["put litter in its place","put litter in its place symbol"],u:"1f6ae",a:"1.0"},{n:["potable water","potable water symbol"],u:"1f6b0",a:"1.0"},{n:["wheelchair","wheelchair symbol"],u:"267f",a:"0.6"},{n:["mens","mens symbol"],u:"1f6b9",a:"0.6"},{n:["womens","womens symbol"],u:"1f6ba",a:"0.6"},{n:["restroom"],u:"1f6bb",a:"0.6"},{n:["baby symbol"],u:"1f6bc",a:"0.6"},{n:["wc","water closet"],u:"1f6be",a:"0.6"},{n:["passport control"],u:"1f6c2",a:"1.0"},{n:["customs"],u:"1f6c3",a:"1.0"},{n:["baggage claim"],u:"1f6c4",a:"1.0"},{n:["left luggage"],u:"1f6c5",a:"1.0"},{n:["warning","warning sign"],u:"26a0-fe0f",a:"0.6"},{n:["children crossing"],u:"1f6b8",a:"1.0"},{n:["no entry"],u:"26d4",a:"0.6"},{n:["no entry sign"],u:"1f6ab",a:"0.6"},{n:["no bicycles"],u:"1f6b3",a:"1.0"},{n:["no smoking","no smoking symbol"],u:"1f6ad",a:"0.6"},{n:["do not litter","do not litter symbol"],u:"1f6af",a:"1.0"},{n:["non-potable water","non-potable water symbol"],u:"1f6b1",a:"1.0"},{n:["no pedestrians"],u:"1f6b7",a:"1.0"},{n:["no mobile phones"],u:"1f4f5",a:"1.0"},{n:["underage","no one under eighteen symbol"],u:"1f51e",a:"0.6"},{n:["radioactive","radioactive sign"],u:"2622-fe0f",a:"1.0"},{n:["biohazard","biohazard sign"],u:"2623-fe0f",a:"1.0"},{n:["arrow up","upwards black arrow"],u:"2b06-fe0f",a:"0.6"},{n:["north east arrow","arrow upper right"],u:"2197-fe0f",a:"0.6"},{n:["arrow right","black rightwards arrow"],u:"27a1-fe0f",a:"0.6"},{n:["south east arrow","arrow lower right"],u:"2198-fe0f",a:"0.6"},{n:["arrow down","downwards black arrow"],u:"2b07-fe0f",a:"0.6"},{n:["south west arrow","arrow lower left"],u:"2199-fe0f",a:"0.6"},{n:["arrow left","leftwards black arrow"],u:"2b05-fe0f",a:"0.6"},{n:["north west arrow","arrow upper left"],u:"2196-fe0f",a:"0.6"},{n:["up down arrow","arrow up down"],u:"2195-fe0f",a:"0.6"},{n:["left right arrow"],u:"2194-fe0f",a:"0.6"},{n:["leftwards arrow with hook"],u:"21a9-fe0f",a:"0.6"},{n:["arrow right hook","rightwards arrow with hook"],u:"21aa-fe0f",a:"0.6"},{n:["arrow heading up","arrow pointing rightwards then curving upwards"],u:"2934-fe0f",a:"0.6"},{n:["arrow heading down","arrow pointing rightwards then curving downwards"],u:"2935-fe0f",a:"0.6"},{n:["arrows clockwise","clockwise downwards and upwards open circle arrows"],u:"1f503",a:"0.6"},{n:["arrows counterclockwise","anticlockwise downwards and upwards open circle arrows"],u:"1f504",a:"1.0"},{n:["back","back with leftwards arrow above"],u:"1f519",a:"0.6"},{n:["end","end with leftwards arrow above"],u:"1f51a",a:"0.6"},{n:["on","on with exclamation mark with left right arrow above"],u:"1f51b",a:"0.6"},{n:["soon","soon with rightwards arrow above"],u:"1f51c",a:"0.6"},{n:["top","top with upwards arrow above"],u:"1f51d",a:"0.6"},{n:["place of worship"],u:"1f6d0",a:"1.0"},{n:["atom symbol"],u:"269b-fe0f",a:"1.0"},{n:["om","om symbol"],u:"1f549-fe0f",a:"0.7"},{n:["star of david"],u:"2721-fe0f",a:"0.7"},{n:["wheel of dharma"],u:"2638-fe0f",a:"0.7"},{n:["yin yang"],u:"262f-fe0f",a:"0.7"},{n:["latin cross"],u:"271d-fe0f",a:"0.7"},{n:["orthodox cross"],u:"2626-fe0f",a:"1.0"},{n:["star and crescent"],u:"262a-fe0f",a:"0.7"},{n:["peace symbol"],u:"262e-fe0f",a:"1.0"},{n:["menorah with nine branches"],u:"1f54e",a:"1.0"},{n:["six pointed star","six pointed star with middle dot"],u:"1f52f",a:"0.6"},{n:["aries"],u:"2648",a:"0.6"},{n:["taurus"],u:"2649",a:"0.6"},{n:["gemini"],u:"264a",a:"0.6"},{n:["cancer"],u:"264b",a:"0.6"},{n:["leo"],u:"264c",a:"0.6"},{n:["virgo"],u:"264d",a:"0.6"},{n:["libra"],u:"264e",a:"0.6"},{n:["scorpius"],u:"264f",a:"0.6"},{n:["sagittarius"],u:"2650",a:"0.6"},{n:["capricorn"],u:"2651",a:"0.6"},{n:["aquarius"],u:"2652",a:"0.6"},{n:["pisces"],u:"2653",a:"0.6"},{n:["ophiuchus"],u:"26ce",a:"0.6"},{n:["twisted rightwards arrows"],u:"1f500",a:"1.0"},{n:["repeat","clockwise rightwards and leftwards open circle arrows"],u:"1f501",a:"1.0"},{n:["repeat one","clockwise rightwards and leftwards open circle arrows with circled one overlay"],u:"1f502",a:"1.0"},{n:["arrow forward","black right-pointing triangle"],u:"25b6-fe0f",a:"0.6"},{n:["fast forward","black right-pointing double triangle"],u:"23e9",a:"0.6"},{n:["next track button","black right pointing double triangle with vertical bar"],u:"23ed-fe0f",a:"0.7"},{n:["play or pause button","black right pointing triangle with double vertical bar"],u:"23ef-fe0f",a:"1.0"},{n:["arrow backward","black left-pointing triangle"],u:"25c0-fe0f",a:"0.6"},{n:["rewind","black left-pointing double triangle"],u:"23ea",a:"0.6"},{n:["last track button","black left pointing double triangle with vertical bar"],u:"23ee-fe0f",a:"0.7"},{n:["arrow up small","up-pointing small red triangle"],u:"1f53c",a:"0.6"},{n:["arrow double up","black up-pointing double triangle"],u:"23eb",a:"0.6"},{n:["arrow down small","down-pointing small red triangle"],u:"1f53d",a:"0.6"},{n:["arrow double down","black down-pointing double triangle"],u:"23ec",a:"0.6"},{n:["pause button","double vertical bar"],u:"23f8-fe0f",a:"0.7"},{n:["stop button","black square for stop"],u:"23f9-fe0f",a:"0.7"},{n:["record button","black circle for record"],u:"23fa-fe0f",a:"0.7"},{n:["eject","eject button"],u:"23cf-fe0f",a:"1.0"},{n:["cinema"],u:"1f3a6",a:"0.6"},{n:["low brightness","low brightness symbol"],u:"1f505",a:"1.0"},{n:["high brightness","high brightness symbol"],u:"1f506",a:"1.0"},{n:["signal strength","antenna with bars"],u:"1f4f6",a:"0.6"},{n:["vibration mode"],u:"1f4f3",a:"0.6"},{n:["mobile phone off"],u:"1f4f4",a:"0.6"},{n:["female sign"],u:"2640-fe0f",a:"4.0"},{n:["male sign"],u:"2642-fe0f",a:"4.0"},{n:["transgender symbol"],u:"26a7-fe0f",a:"13.0"},{n:["heavy multiplication x"],u:"2716-fe0f",a:"0.6"},{n:["heavy plus sign"],u:"2795",a:"0.6"},{n:["heavy minus sign"],u:"2796",a:"0.6"},{n:["heavy division sign"],u:"2797",a:"0.6"},{n:["heavy equals sign"],u:"1f7f0",a:"14.0"},{n:["infinity"],u:"267e-fe0f",a:"11.0"},{n:["bangbang","double exclamation mark"],u:"203c-fe0f",a:"0.6"},{n:["interrobang","exclamation question mark"],u:"2049-fe0f",a:"0.6"},{n:["question","black question mark ornament"],u:"2753",a:"0.6"},{n:["grey question","white question mark ornament"],u:"2754",a:"0.6"},{n:["grey exclamation","white exclamation mark ornament"],u:"2755",a:"0.6"},{n:["exclamation","heavy exclamation mark","heavy exclamation mark symbol"],u:"2757",a:"0.6"},{n:["wavy dash"],u:"3030-fe0f",a:"0.6"},{n:["currency exchange"],u:"1f4b1",a:"0.6"},{n:["heavy dollar sign"],u:"1f4b2",a:"0.6"},{n:["medical symbol","staff of aesculapius"],u:"2695-fe0f",a:"4.0"},{n:["recycle","black universal recycling symbol"],u:"267b-fe0f",a:"0.6"},{n:["fleur-de-lis","fleur de lis"],u:"269c-fe0f",a:"1.0"},{n:["trident","trident emblem"],u:"1f531",a:"0.6"},{n:["name badge"],u:"1f4db",a:"0.6"},{n:["beginner","japanese symbol for beginner"],u:"1f530",a:"0.6"},{n:["o","heavy large circle"],u:"2b55",a:"0.6"},{n:["white check mark","white heavy check mark"],u:"2705",a:"0.6"},{n:["ballot box with check"],u:"2611-fe0f",a:"0.6"},{n:["heavy check mark"],u:"2714-fe0f",a:"0.6"},{n:["x","cross mark"],u:"274c",a:"0.6"},{n:["negative squared cross mark"],u:"274e",a:"0.6"},{n:["curly loop"],u:"27b0",a:"0.6"},{n:["loop","double curly loop"],u:"27bf",a:"1.0"},{n:["part alternation mark"],u:"303d-fe0f",a:"0.6"},{n:["eight spoked asterisk"],u:"2733-fe0f",a:"0.6"},{n:["eight pointed black star"],u:"2734-fe0f",a:"0.6"},{n:["sparkle"],u:"2747-fe0f",a:"0.6"},{n:["copyright","copyright sign"],u:"00a9-fe0f",a:"0.6"},{n:["registered","registered sign"],u:"00ae-fe0f",a:"0.6"},{n:["tm","trade mark sign"],u:"2122-fe0f",a:"0.6"},{n:["hash","hash key"],u:"0023-fe0f-20e3",a:"0.6"},{n:["keycap: *","keycap star"],u:"002a-fe0f-20e3",a:"2.0"},{n:["zero","keycap 0"],u:"0030-fe0f-20e3",a:"0.6"},{n:["one","keycap 1"],u:"0031-fe0f-20e3",a:"0.6"},{n:["two","keycap 2"],u:"0032-fe0f-20e3",a:"0.6"},{n:["three","keycap 3"],u:"0033-fe0f-20e3",a:"0.6"},{n:["four","keycap 4"],u:"0034-fe0f-20e3",a:"0.6"},{n:["five","keycap 5"],u:"0035-fe0f-20e3",a:"0.6"},{n:["six","keycap 6"],u:"0036-fe0f-20e3",a:"0.6"},{n:["seven","keycap 7"],u:"0037-fe0f-20e3",a:"0.6"},{n:["eight","keycap 8"],u:"0038-fe0f-20e3",a:"0.6"},{n:["nine","keycap 9"],u:"0039-fe0f-20e3",a:"0.6"},{n:["keycap ten"],u:"1f51f",a:"0.6"},{n:["capital abcd","input symbol for latin capital letters"],u:"1f520",a:"0.6"},{n:["abcd","input symbol for latin small letters"],u:"1f521",a:"0.6"},{n:["1234","input symbol for numbers"],u:"1f522",a:"0.6"},{n:["symbols","input symbol for symbols"],u:"1f523",a:"0.6"},{n:["abc","input symbol for latin letters"],u:"1f524",a:"0.6"},{n:["a","negative squared latin capital letter a"],u:"1f170-fe0f",a:"0.6"},{n:["ab","negative squared ab"],u:"1f18e",a:"0.6"},{n:["b","negative squared latin capital letter b"],u:"1f171-fe0f",a:"0.6"},{n:["cl","squared cl"],u:"1f191",a:"0.6"},{n:["cool","squared cool"],u:"1f192",a:"0.6"},{n:["free","squared free"],u:"1f193",a:"0.6"},{n:["information source"],u:"2139-fe0f",a:"0.6"},{n:["id","squared id"],u:"1f194",a:"0.6"},{n:["m","circled latin capital letter m"],u:"24c2-fe0f",a:"0.6"},{n:["new","squared new"],u:"1f195",a:"0.6"},{n:["ng","squared ng"],u:"1f196",a:"0.6"},{n:["o2","negative squared latin capital letter o"],u:"1f17e-fe0f",a:"0.6"},{n:["ok","squared ok"],u:"1f197",a:"0.6"},{n:["parking","negative squared latin capital letter p"],u:"1f17f-fe0f",a:"0.6"},{n:["sos","squared sos"],u:"1f198",a:"0.6"},{n:["up","squared up with exclamation mark"],u:"1f199",a:"0.6"},{n:["vs","squared vs"],u:"1f19a",a:"0.6"},{n:["koko","squared katakana koko"],u:"1f201",a:"0.6"},{n:["sa","squared katakana sa"],u:"1f202-fe0f",a:"0.6"},{n:["u6708","squared cjk unified ideograph-6708"],u:"1f237-fe0f",a:"0.6"},{n:["u6709","squared cjk unified ideograph-6709"],u:"1f236",a:"0.6"},{n:["u6307","squared cjk unified ideograph-6307"],u:"1f22f",a:"0.6"},{n:["ideograph advantage","circled ideograph advantage"],u:"1f250",a:"0.6"},{n:["u5272","squared cjk unified ideograph-5272"],u:"1f239",a:"0.6"},{n:["u7121","squared cjk unified ideograph-7121"],u:"1f21a",a:"0.6"},{n:["u7981","squared cjk unified ideograph-7981"],u:"1f232",a:"0.6"},{n:["accept","circled ideograph accept"],u:"1f251",a:"0.6"},{n:["u7533","squared cjk unified ideograph-7533"],u:"1f238",a:"0.6"},{n:["u5408","squared cjk unified ideograph-5408"],u:"1f234",a:"0.6"},{n:["u7a7a","squared cjk unified ideograph-7a7a"],u:"1f233",a:"0.6"},{n:["congratulations","circled ideograph congratulation"],u:"3297-fe0f",a:"0.6"},{n:["secret","circled ideograph secret"],u:"3299-fe0f",a:"0.6"},{n:["u55b6","squared cjk unified ideograph-55b6"],u:"1f23a",a:"0.6"},{n:["u6e80","squared cjk unified ideograph-6e80"],u:"1f235",a:"0.6"},{n:["red circle","large red circle"],u:"1f534",a:"0.6"},{n:["large orange circle"],u:"1f7e0",a:"12.0"},{n:["large yellow circle"],u:"1f7e1",a:"12.0"},{n:["large green circle"],u:"1f7e2",a:"12.0"},{n:["large blue circle"],u:"1f535",a:"0.6"},{n:["large purple circle"],u:"1f7e3",a:"12.0"},{n:["large brown circle"],u:"1f7e4",a:"12.0"},{n:["black circle","medium black circle"],u:"26ab",a:"0.6"},{n:["white circle","medium white circle"],u:"26aa",a:"0.6"},{n:["large red square"],u:"1f7e5",a:"12.0"},{n:["large orange square"],u:"1f7e7",a:"12.0"},{n:["large yellow square"],u:"1f7e8",a:"12.0"},{n:["large green square"],u:"1f7e9",a:"12.0"},{n:["large blue square"],u:"1f7e6",a:"12.0"},{n:["large purple square"],u:"1f7ea",a:"12.0"},{n:["large brown square"],u:"1f7eb",a:"12.0"},{n:["black large square"],u:"2b1b",a:"0.6"},{n:["white large square"],u:"2b1c",a:"0.6"},{n:["black medium square"],u:"25fc-fe0f",a:"0.6"},{n:["white medium square"],u:"25fb-fe0f",a:"0.6"},{n:["black medium small square"],u:"25fe",a:"0.6"},{n:["white medium small square"],u:"25fd",a:"0.6"},{n:["black small square"],u:"25aa-fe0f",a:"0.6"},{n:["white small square"],u:"25ab-fe0f",a:"0.6"},{n:["large orange diamond"],u:"1f536",a:"0.6"},{n:["large blue diamond"],u:"1f537",a:"0.6"},{n:["small orange diamond"],u:"1f538",a:"0.6"},{n:["small blue diamond"],u:"1f539",a:"0.6"},{n:["small red triangle","up-pointing red triangle"],u:"1f53a",a:"0.6"},{n:["small red triangle down","down-pointing red triangle"],u:"1f53b",a:"0.6"},{n:["diamond shape with a dot inside"],u:"1f4a0",a:"0.6"},{n:["radio button"],u:"1f518",a:"0.6"},{n:["white square button"],u:"1f533",a:"0.6"},{n:["black square button"],u:"1f532",a:"0.6"}],flags:[{n:["chequered flag","checkered flag"],u:"1f3c1",a:"0.6"},{n:["triangular flag on post"],u:"1f6a9",a:"0.6"},{n:["crossed flags"],u:"1f38c",a:"0.6"},{n:["waving black flag"],u:"1f3f4",a:"1.0"},{n:["white flag","waving white flag"],u:"1f3f3-fe0f",a:"0.7"},{n:["rainbow flag","rainbow-flag"],u:"1f3f3-fe0f-200d-1f308",a:"4.0"},{n:["transgender flag"],u:"1f3f3-fe0f-200d-26a7-fe0f",a:"13.0"},{n:["pirate flag"],u:"1f3f4-200d-2620-fe0f",a:"11.0"},{n:["flag-ac","ascension island flag"],u:"1f1e6-1f1e8",a:"2.0"},{n:["flag-ad","andorra flag"],u:"1f1e6-1f1e9",a:"2.0"},{n:["flag-ae","united arab emirates flag"],u:"1f1e6-1f1ea",a:"2.0"},{n:["flag-af","afghanistan flag"],u:"1f1e6-1f1eb",a:"2.0"},{n:["flag-ag","antigua & barbuda flag"],u:"1f1e6-1f1ec",a:"2.0"},{n:["flag-ai","anguilla flag"],u:"1f1e6-1f1ee",a:"2.0"},{n:["flag-al","albania flag"],u:"1f1e6-1f1f1",a:"2.0"},{n:["flag-am","armenia flag"],u:"1f1e6-1f1f2",a:"2.0"},{n:["flag-ao","angola flag"],u:"1f1e6-1f1f4",a:"2.0"},{n:["flag-aq","antarctica flag"],u:"1f1e6-1f1f6",a:"2.0"},{n:["flag-ar","argentina flag"],u:"1f1e6-1f1f7",a:"2.0"},{n:["flag-as","american samoa flag"],u:"1f1e6-1f1f8",a:"2.0"},{n:["flag-at","austria flag"],u:"1f1e6-1f1f9",a:"2.0"},{n:["flag-au","australia flag"],u:"1f1e6-1f1fa",a:"2.0"},{n:["flag-aw","aruba flag"],u:"1f1e6-1f1fc",a:"2.0"},{n:["flag-ax","åland islands flag"],u:"1f1e6-1f1fd",a:"2.0"},{n:["flag-az","azerbaijan flag"],u:"1f1e6-1f1ff",a:"2.0"},{n:["flag-ba","bosnia & herzegovina flag"],u:"1f1e7-1f1e6",a:"2.0"},{n:["flag-bb","barbados flag"],u:"1f1e7-1f1e7",a:"2.0"},{n:["flag-bd","bangladesh flag"],u:"1f1e7-1f1e9",a:"2.0"},{n:["flag-be","belgium flag"],u:"1f1e7-1f1ea",a:"2.0"},{n:["flag-bf","burkina faso flag"],u:"1f1e7-1f1eb",a:"2.0"},{n:["flag-bg","bulgaria flag"],u:"1f1e7-1f1ec",a:"2.0"},{n:["flag-bh","bahrain flag"],u:"1f1e7-1f1ed",a:"2.0"},{n:["flag-bi","burundi flag"],u:"1f1e7-1f1ee",a:"2.0"},{n:["flag-bj","benin flag"],u:"1f1e7-1f1ef",a:"2.0"},{n:["flag-bl","st. barthélemy flag"],u:"1f1e7-1f1f1",a:"2.0"},{n:["flag-bm","bermuda flag"],u:"1f1e7-1f1f2",a:"2.0"},{n:["flag-bn","brunei flag"],u:"1f1e7-1f1f3",a:"2.0"},{n:["flag-bo","bolivia flag"],u:"1f1e7-1f1f4",a:"2.0"},{n:["flag-bq","caribbean netherlands flag"],u:"1f1e7-1f1f6",a:"2.0"},{n:["flag-br","brazil flag"],u:"1f1e7-1f1f7",a:"2.0"},{n:["flag-bs","bahamas flag"],u:"1f1e7-1f1f8",a:"2.0"},{n:["flag-bt","bhutan flag"],u:"1f1e7-1f1f9",a:"2.0"},{n:["flag-bv","bouvet island flag"],u:"1f1e7-1f1fb",a:"2.0"},{n:["flag-bw","botswana flag"],u:"1f1e7-1f1fc",a:"2.0"},{n:["flag-by","belarus flag"],u:"1f1e7-1f1fe",a:"2.0"},{n:["flag-bz","belize flag"],u:"1f1e7-1f1ff",a:"2.0"},{n:["flag-ca","canada flag"],u:"1f1e8-1f1e6",a:"2.0"},{n:["flag-cc","cocos (keeling) islands flag"],u:"1f1e8-1f1e8",a:"2.0"},{n:["flag-cd","congo - kinshasa flag"],u:"1f1e8-1f1e9",a:"2.0"},{n:["flag-cf","central african republic flag"],u:"1f1e8-1f1eb",a:"2.0"},{n:["flag-cg","congo - brazzaville flag"],u:"1f1e8-1f1ec",a:"2.0"},{n:["flag-ch","switzerland flag"],u:"1f1e8-1f1ed",a:"2.0"},{n:["flag-ci","côte d’ivoire flag"],u:"1f1e8-1f1ee",a:"2.0"},{n:["flag-ck","cook islands flag"],u:"1f1e8-1f1f0",a:"2.0"},{n:["flag-cl","chile flag"],u:"1f1e8-1f1f1",a:"2.0"},{n:["flag-cm","cameroon flag"],u:"1f1e8-1f1f2",a:"2.0"},{n:["cn","flag-cn","china flag"],u:"1f1e8-1f1f3",a:"0.6"},{n:["flag-co","colombia flag"],u:"1f1e8-1f1f4",a:"2.0"},{n:["flag-cp","clipperton island flag"],u:"1f1e8-1f1f5",a:"2.0"},{n:["flag-cr","costa rica flag"],u:"1f1e8-1f1f7",a:"2.0"},{n:["flag-cu","cuba flag"],u:"1f1e8-1f1fa",a:"2.0"},{n:["flag-cv","cape verde flag"],u:"1f1e8-1f1fb",a:"2.0"},{n:["flag-cw","curaçao flag"],u:"1f1e8-1f1fc",a:"2.0"},{n:["flag-cx","christmas island flag"],u:"1f1e8-1f1fd",a:"2.0"},{n:["flag-cy","cyprus flag"],u:"1f1e8-1f1fe",a:"2.0"},{n:["flag-cz","czechia flag"],u:"1f1e8-1f1ff",a:"2.0"},{n:["de","flag-de","germany flag"],u:"1f1e9-1f1ea",a:"0.6"},{n:["flag-dg","diego garcia flag"],u:"1f1e9-1f1ec",a:"2.0"},{n:["flag-dj","djibouti flag"],u:"1f1e9-1f1ef",a:"2.0"},{n:["flag-dk","denmark flag"],u:"1f1e9-1f1f0",a:"2.0"},{n:["flag-dm","dominica flag"],u:"1f1e9-1f1f2",a:"2.0"},{n:["flag-do","dominican republic flag"],u:"1f1e9-1f1f4",a:"2.0"},{n:["flag-dz","algeria flag"],u:"1f1e9-1f1ff",a:"2.0"},{n:["flag-ea","ceuta & melilla flag"],u:"1f1ea-1f1e6",a:"2.0"},{n:["flag-ec","ecuador flag"],u:"1f1ea-1f1e8",a:"2.0"},{n:["flag-ee","estonia flag"],u:"1f1ea-1f1ea",a:"2.0"},{n:["flag-eg","egypt flag"],u:"1f1ea-1f1ec",a:"2.0"},{n:["flag-eh","western sahara flag"],u:"1f1ea-1f1ed",a:"2.0"},{n:["flag-er","eritrea flag"],u:"1f1ea-1f1f7",a:"2.0"},{n:["es","flag-es","spain flag"],u:"1f1ea-1f1f8",a:"0.6"},{n:["flag-et","ethiopia flag"],u:"1f1ea-1f1f9",a:"2.0"},{n:["flag-eu","european union flag"],u:"1f1ea-1f1fa",a:"2.0"},{n:["flag-fi","finland flag"],u:"1f1eb-1f1ee",a:"2.0"},{n:["flag-fj","fiji flag"],u:"1f1eb-1f1ef",a:"2.0"},{n:["flag-fk","falkland islands flag"],u:"1f1eb-1f1f0",a:"2.0"},{n:["flag-fm","micronesia flag"],u:"1f1eb-1f1f2",a:"2.0"},{n:["flag-fo","faroe islands flag"],u:"1f1eb-1f1f4",a:"2.0"},{n:["fr","flag-fr","france flag"],u:"1f1eb-1f1f7",a:"0.6"},{n:["flag-ga","gabon flag"],u:"1f1ec-1f1e6",a:"2.0"},{n:["gb","uk","flag-gb","united kingdom flag"],u:"1f1ec-1f1e7",a:"0.6"},{n:["flag-gd","grenada flag"],u:"1f1ec-1f1e9",a:"2.0"},{n:["flag-ge","georgia flag"],u:"1f1ec-1f1ea",a:"2.0"},{n:["flag-gf","french guiana flag"],u:"1f1ec-1f1eb",a:"2.0"},{n:["flag-gg","guernsey flag"],u:"1f1ec-1f1ec",a:"2.0"},{n:["flag-gh","ghana flag"],u:"1f1ec-1f1ed",a:"2.0"},{n:["flag-gi","gibraltar flag"],u:"1f1ec-1f1ee",a:"2.0"},{n:["flag-gl","greenland flag"],u:"1f1ec-1f1f1",a:"2.0"},{n:["flag-gm","gambia flag"],u:"1f1ec-1f1f2",a:"2.0"},{n:["flag-gn","guinea flag"],u:"1f1ec-1f1f3",a:"2.0"},{n:["flag-gp","guadeloupe flag"],u:"1f1ec-1f1f5",a:"2.0"},{n:["flag-gq","equatorial guinea flag"],u:"1f1ec-1f1f6",a:"2.0"},{n:["flag-gr","greece flag"],u:"1f1ec-1f1f7",a:"2.0"},{n:["flag-gs","south georgia & south sandwich islands flag"],u:"1f1ec-1f1f8",a:"2.0"},{n:["flag-gt","guatemala flag"],u:"1f1ec-1f1f9",a:"2.0"},{n:["flag-gu","guam flag"],u:"1f1ec-1f1fa",a:"2.0"},{n:["flag-gw","guinea-bissau flag"],u:"1f1ec-1f1fc",a:"2.0"},{n:["flag-gy","guyana flag"],u:"1f1ec-1f1fe",a:"2.0"},{n:["flag-hk","hong kong sar china flag"],u:"1f1ed-1f1f0",a:"2.0"},{n:["flag-hm","heard & mcdonald islands flag"],u:"1f1ed-1f1f2",a:"2.0"},{n:["flag-hn","honduras flag"],u:"1f1ed-1f1f3",a:"2.0"},{n:["flag-hr","croatia flag"],u:"1f1ed-1f1f7",a:"2.0"},{n:["flag-ht","haiti flag"],u:"1f1ed-1f1f9",a:"2.0"},{n:["flag-hu","hungary flag"],u:"1f1ed-1f1fa",a:"2.0"},{n:["flag-ic","canary islands flag"],u:"1f1ee-1f1e8",a:"2.0"},{n:["flag-id","indonesia flag"],u:"1f1ee-1f1e9",a:"2.0"},{n:["flag-ie","ireland flag"],u:"1f1ee-1f1ea",a:"2.0"},{n:["flag-il","israel flag"],u:"1f1ee-1f1f1",a:"2.0"},{n:["flag-im","isle of man flag"],u:"1f1ee-1f1f2",a:"2.0"},{n:["flag-in","india flag"],u:"1f1ee-1f1f3",a:"2.0"},{n:["flag-io","british indian ocean territory flag"],u:"1f1ee-1f1f4",a:"2.0"},{n:["flag-iq","iraq flag"],u:"1f1ee-1f1f6",a:"2.0"},{n:["flag-ir","iran flag"],u:"1f1ee-1f1f7",a:"2.0"},{n:["flag-is","iceland flag"],u:"1f1ee-1f1f8",a:"2.0"},{n:["it","flag-it","italy flag"],u:"1f1ee-1f1f9",a:"0.6"},{n:["flag-je","jersey flag"],u:"1f1ef-1f1ea",a:"2.0"},{n:["flag-jm","jamaica flag"],u:"1f1ef-1f1f2",a:"2.0"},{n:["flag-jo","jordan flag"],u:"1f1ef-1f1f4",a:"2.0"},{n:["jp","flag-jp","japan flag"],u:"1f1ef-1f1f5",a:"0.6"},{n:["flag-ke","kenya flag"],u:"1f1f0-1f1ea",a:"2.0"},{n:["flag-kg","kyrgyzstan flag"],u:"1f1f0-1f1ec",a:"2.0"},{n:["flag-kh","cambodia flag"],u:"1f1f0-1f1ed",a:"2.0"},{n:["flag-ki","kiribati flag"],u:"1f1f0-1f1ee",a:"2.0"},{n:["flag-km","comoros flag"],u:"1f1f0-1f1f2",a:"2.0"},{n:["flag-kn","st. kitts & nevis flag"],u:"1f1f0-1f1f3",a:"2.0"},{n:["flag-kp","north korea flag"],u:"1f1f0-1f1f5",a:"2.0"},{n:["kr","flag-kr","south korea flag"],u:"1f1f0-1f1f7",a:"0.6"},{n:["flag-kw","kuwait flag"],u:"1f1f0-1f1fc",a:"2.0"},{n:["flag-ky","cayman islands flag"],u:"1f1f0-1f1fe",a:"2.0"},{n:["flag-kz","kazakhstan flag"],u:"1f1f0-1f1ff",a:"2.0"},{n:["flag-la","laos flag"],u:"1f1f1-1f1e6",a:"2.0"},{n:["flag-lb","lebanon flag"],u:"1f1f1-1f1e7",a:"2.0"},{n:["flag-lc","st. lucia flag"],u:"1f1f1-1f1e8",a:"2.0"},{n:["flag-li","liechtenstein flag"],u:"1f1f1-1f1ee",a:"2.0"},{n:["flag-lk","sri lanka flag"],u:"1f1f1-1f1f0",a:"2.0"},{n:["flag-lr","liberia flag"],u:"1f1f1-1f1f7",a:"2.0"},{n:["flag-ls","lesotho flag"],u:"1f1f1-1f1f8",a:"2.0"},{n:["flag-lt","lithuania flag"],u:"1f1f1-1f1f9",a:"2.0"},{n:["flag-lu","luxembourg flag"],u:"1f1f1-1f1fa",a:"2.0"},{n:["flag-lv","latvia flag"],u:"1f1f1-1f1fb",a:"2.0"},{n:["flag-ly","libya flag"],u:"1f1f1-1f1fe",a:"2.0"},{n:["flag-ma","morocco flag"],u:"1f1f2-1f1e6",a:"2.0"},{n:["flag-mc","monaco flag"],u:"1f1f2-1f1e8",a:"2.0"},{n:["flag-md","moldova flag"],u:"1f1f2-1f1e9",a:"2.0"},{n:["flag-me","montenegro flag"],u:"1f1f2-1f1ea",a:"2.0"},{n:["flag-mf","st. martin flag"],u:"1f1f2-1f1eb",a:"2.0"},{n:["flag-mg","madagascar flag"],u:"1f1f2-1f1ec",a:"2.0"},{n:["flag-mh","marshall islands flag"],u:"1f1f2-1f1ed",a:"2.0"},{n:["flag-mk","north macedonia flag"],u:"1f1f2-1f1f0",a:"2.0"},{n:["flag-ml","mali flag"],u:"1f1f2-1f1f1",a:"2.0"},{n:["flag-mm","myanmar (burma) flag"],u:"1f1f2-1f1f2",a:"2.0"},{n:["flag-mn","mongolia flag"],u:"1f1f2-1f1f3",a:"2.0"},{n:["flag-mo","macao sar china flag"],u:"1f1f2-1f1f4",a:"2.0"},{n:["flag-mp","northern mariana islands flag"],u:"1f1f2-1f1f5",a:"2.0"},{n:["flag-mq","martinique flag"],u:"1f1f2-1f1f6",a:"2.0"},{n:["flag-mr","mauritania flag"],u:"1f1f2-1f1f7",a:"2.0"},{n:["flag-ms","montserrat flag"],u:"1f1f2-1f1f8",a:"2.0"},{n:["flag-mt","malta flag"],u:"1f1f2-1f1f9",a:"2.0"},{n:["flag-mu","mauritius flag"],u:"1f1f2-1f1fa",a:"2.0"},{n:["flag-mv","maldives flag"],u:"1f1f2-1f1fb",a:"2.0"},{n:["flag-mw","malawi flag"],u:"1f1f2-1f1fc",a:"2.0"},{n:["flag-mx","mexico flag"],u:"1f1f2-1f1fd",a:"2.0"},{n:["flag-my","malaysia flag"],u:"1f1f2-1f1fe",a:"2.0"},{n:["flag-mz","mozambique flag"],u:"1f1f2-1f1ff",a:"2.0"},{n:["flag-na","namibia flag"],u:"1f1f3-1f1e6",a:"2.0"},{n:["flag-nc","new caledonia flag"],u:"1f1f3-1f1e8",a:"2.0"},{n:["flag-ne","niger flag"],u:"1f1f3-1f1ea",a:"2.0"},{n:["flag-nf","norfolk island flag"],u:"1f1f3-1f1eb",a:"2.0"},{n:["flag-ng","nigeria flag"],u:"1f1f3-1f1ec",a:"2.0"},{n:["flag-ni","nicaragua flag"],u:"1f1f3-1f1ee",a:"2.0"},{n:["flag-nl","netherlands flag"],u:"1f1f3-1f1f1",a:"2.0"},{n:["flag-no","norway flag"],u:"1f1f3-1f1f4",a:"2.0"},{n:["flag-np","nepal flag"],u:"1f1f3-1f1f5",a:"2.0"},{n:["flag-nr","nauru flag"],u:"1f1f3-1f1f7",a:"2.0"},{n:["flag-nu","niue flag"],u:"1f1f3-1f1fa",a:"2.0"},{n:["flag-nz","new zealand flag"],u:"1f1f3-1f1ff",a:"2.0"},{n:["flag-om","oman flag"],u:"1f1f4-1f1f2",a:"2.0"},{n:["flag-pa","panama flag"],u:"1f1f5-1f1e6",a:"2.0"},{n:["flag-pe","peru flag"],u:"1f1f5-1f1ea",a:"2.0"},{n:["flag-pf","french polynesia flag"],u:"1f1f5-1f1eb",a:"2.0"},{n:["flag-pg","papua new guinea flag"],u:"1f1f5-1f1ec",a:"2.0"},{n:["flag-ph","philippines flag"],u:"1f1f5-1f1ed",a:"2.0"},{n:["flag-pk","pakistan flag"],u:"1f1f5-1f1f0",a:"2.0"},{n:["flag-pl","poland flag"],u:"1f1f5-1f1f1",a:"2.0"},{n:["flag-pm","st. pierre & miquelon flag"],u:"1f1f5-1f1f2",a:"2.0"},{n:["flag-pn","pitcairn islands flag"],u:"1f1f5-1f1f3",a:"2.0"},{n:["flag-pr","puerto rico flag"],u:"1f1f5-1f1f7",a:"2.0"},{n:["flag-ps","palestinian territories flag"],u:"1f1f5-1f1f8",a:"2.0"},{n:["flag-pt","portugal flag"],u:"1f1f5-1f1f9",a:"2.0"},{n:["flag-pw","palau flag"],u:"1f1f5-1f1fc",a:"2.0"},{n:["flag-py","paraguay flag"],u:"1f1f5-1f1fe",a:"2.0"},{n:["flag-qa","qatar flag"],u:"1f1f6-1f1e6",a:"2.0"},{n:["flag-re","réunion flag"],u:"1f1f7-1f1ea",a:"2.0"},{n:["flag-ro","romania flag"],u:"1f1f7-1f1f4",a:"2.0"},{n:["flag-rs","serbia flag"],u:"1f1f7-1f1f8",a:"2.0"},{n:["ru","flag-ru","russia flag"],u:"1f1f7-1f1fa",a:"0.6"},{n:["flag-rw","rwanda flag"],u:"1f1f7-1f1fc",a:"2.0"},{n:["flag-sa","saudi arabia flag"],u:"1f1f8-1f1e6",a:"2.0"},{n:["flag-sb","solomon islands flag"],u:"1f1f8-1f1e7",a:"2.0"},{n:["flag-sc","seychelles flag"],u:"1f1f8-1f1e8",a:"2.0"},{n:["flag-sd","sudan flag"],u:"1f1f8-1f1e9",a:"2.0"},{n:["flag-se","sweden flag"],u:"1f1f8-1f1ea",a:"2.0"},{n:["flag-sg","singapore flag"],u:"1f1f8-1f1ec",a:"2.0"},{n:["flag-sh","st. helena flag"],u:"1f1f8-1f1ed",a:"2.0"},{n:["flag-si","slovenia flag"],u:"1f1f8-1f1ee",a:"2.0"},{n:["flag-sj","svalbard & jan mayen flag"],u:"1f1f8-1f1ef",a:"2.0"},{n:["flag-sk","slovakia flag"],u:"1f1f8-1f1f0",a:"2.0"},{n:["flag-sl","sierra leone flag"],u:"1f1f8-1f1f1",a:"2.0"},{n:["flag-sm","san marino flag"],u:"1f1f8-1f1f2",a:"2.0"},{n:["flag-sn","senegal flag"],u:"1f1f8-1f1f3",a:"2.0"},{n:["flag-so","somalia flag"],u:"1f1f8-1f1f4",a:"2.0"},{n:["flag-sr","suriname flag"],u:"1f1f8-1f1f7",a:"2.0"},{n:["flag-ss","south sudan flag"],u:"1f1f8-1f1f8",a:"2.0"},{n:["flag-st","são tomé & príncipe flag"],u:"1f1f8-1f1f9",a:"2.0"},{n:["flag-sv","el salvador flag"],u:"1f1f8-1f1fb",a:"2.0"},{n:["flag-sx","sint maarten flag"],u:"1f1f8-1f1fd",a:"2.0"},{n:["flag-sy","syria flag"],u:"1f1f8-1f1fe",a:"2.0"},{n:["flag-sz","eswatini flag"],u:"1f1f8-1f1ff",a:"2.0"},{n:["flag-ta","tristan da cunha flag"],u:"1f1f9-1f1e6",a:"2.0"},{n:["flag-tc","turks & caicos islands flag"],u:"1f1f9-1f1e8",a:"2.0"},{n:["flag-td","chad flag"],u:"1f1f9-1f1e9",a:"2.0"},{n:["flag-tf","french southern territories flag"],u:"1f1f9-1f1eb",a:"2.0"},{n:["flag-tg","togo flag"],u:"1f1f9-1f1ec",a:"2.0"},{n:["flag-th","thailand flag"],u:"1f1f9-1f1ed",a:"2.0"},{n:["flag-tj","tajikistan flag"],u:"1f1f9-1f1ef",a:"2.0"},{n:["flag-tk","tokelau flag"],u:"1f1f9-1f1f0",a:"2.0"},{n:["flag-tl","timor-leste flag"],u:"1f1f9-1f1f1",a:"2.0"},{n:["flag-tm","turkmenistan flag"],u:"1f1f9-1f1f2",a:"2.0"},{n:["flag-tn","tunisia flag"],u:"1f1f9-1f1f3",a:"2.0"},{n:["flag-to","tonga flag"],u:"1f1f9-1f1f4",a:"2.0"},{n:["flag-tr","turkey flag"],u:"1f1f9-1f1f7",a:"2.0"},{n:["flag-tt","trinidad & tobago flag"],u:"1f1f9-1f1f9",a:"2.0"},{n:["flag-tv","tuvalu flag"],u:"1f1f9-1f1fb",a:"2.0"},{n:["flag-tw","taiwan flag"],u:"1f1f9-1f1fc",a:"2.0"},{n:["flag-tz","tanzania flag"],u:"1f1f9-1f1ff",a:"2.0"},{n:["flag-ua","ukraine flag"],u:"1f1fa-1f1e6",a:"2.0"},{n:["flag-ug","uganda flag"],u:"1f1fa-1f1ec",a:"2.0"},{n:["flag-um","u.s. outlying islands flag"],u:"1f1fa-1f1f2",a:"2.0"},{n:["flag-un","united nations flag"],u:"1f1fa-1f1f3",a:"4.0"},{n:["us","flag-us","united states flag"],u:"1f1fa-1f1f8",a:"0.6"},{n:["flag-uy","uruguay flag"],u:"1f1fa-1f1fe",a:"2.0"},{n:["flag-uz","uzbekistan flag"],u:"1f1fa-1f1ff",a:"2.0"},{n:["flag-va","vatican city flag"],u:"1f1fb-1f1e6",a:"2.0"},{n:["flag-vc","st. vincent & grenadines flag"],u:"1f1fb-1f1e8",a:"2.0"},{n:["flag-ve","venezuela flag"],u:"1f1fb-1f1ea",a:"2.0"},{n:["flag-vg","british virgin islands flag"],u:"1f1fb-1f1ec",a:"2.0"},{n:["flag-vi","u.s. virgin islands flag"],u:"1f1fb-1f1ee",a:"2.0"},{n:["flag-vn","vietnam flag"],u:"1f1fb-1f1f3",a:"2.0"},{n:["flag-vu","vanuatu flag"],u:"1f1fb-1f1fa",a:"2.0"},{n:["flag-wf","wallis & futuna flag"],u:"1f1fc-1f1eb",a:"2.0"},{n:["flag-ws","samoa flag"],u:"1f1fc-1f1f8",a:"2.0"},{n:["flag-xk","kosovo flag"],u:"1f1fd-1f1f0",a:"2.0"},{n:["flag-ye","yemen flag"],u:"1f1fe-1f1ea",a:"2.0"},{n:["flag-yt","mayotte flag"],u:"1f1fe-1f1f9",a:"2.0"},{n:["flag-za","south africa flag"],u:"1f1ff-1f1e6",a:"2.0"},{n:["flag-zm","zambia flag"],u:"1f1ff-1f1f2",a:"2.0"},{n:["flag-zw","zimbabwe flag"],u:"1f1ff-1f1fc",a:"2.0"},{n:["england flag","flag-england"],u:"1f3f4-e0067-e0062-e0065-e006e-e0067-e007f",a:"5.0"},{n:["scotland flag","flag-scotland"],u:"1f3f4-e0067-e0062-e0073-e0063-e0074-e007f",a:"5.0"},{n:["wales flag","flag-wales"],u:"1f3f4-e0067-e0062-e0077-e006c-e0073-e007f",a:"5.0"}]},fIe=[xp.NEUTRAL,xp.LIGHT,xp.MEDIUM_LIGHT,xp.MEDIUM,xp.MEDIUM_DARK,xp.DARK];Object.entries(xp).reduce((t,[e,n])=>(t[n]=e,t),{});fIe.reduce((t,e)=>Object.assign(t,{[e]:e}),{});var FC=(t=>(t.name="n",t.unified="u",t.variations="v",t.added_in="a",t.imgUrl="imgUrl",t))(FC||{});const R3={};setTimeout(()=>{Mne.reduce((t,e)=>(dIe(e),t),R3)});function dIe(t){pIe(t).flat().join("").toLowerCase().replace(/[^a-zA-Z\d]/g,"").split("").forEach(n=>{R3[n]=R3[n]??{},R3[n][Mb(t)]=t})}function pIe(t){return t[FC.name]??[]}function Mb(t,e){const n=t[FC.unified];return!e||!_ne(t)?n:hIe(t,e)??n}function YT(t){return t[FC.variations]??[]}function _ne(t){return YT(t).length>0}function hIe(t,e){return e?YT(t).find(n=>n.includes(e)):Mb(t)}const Mne=Object.values(uIe).flat(),mIe={};setTimeout(()=>{Mne.reduce((t,e)=>(t[Mb(e)]=e,_ne(e)&&YT(e).forEach(n=>{t[n]=e}),t),mIe)});const Rne="epr_suggested";function GT(t){try{if(!(window!=null&&window.localStorage))return[];const e=JSON.parse((window==null?void 0:window.localStorage.getItem(Rne))??"[]");return t===Ane.FREQUENT?e.sort((n,r)=>r.count-n.count):e}catch{return[]}}function gIe(t,e){const n=GT(),r=Mb(t,e),o=Mb(t);let s=n.find(({unified:i})=>i===r),a;s?a=[s].concat(n.filter(i=>i!==s)):(s={unified:r,original:o,count:0},a=[s,...n]),s.count++,a.length=Math.min(a.length,14);try{window==null||window.localStorage.setItem(Rne,JSON.stringify(a))}catch{}}const b0=class b0{constructor(){je(this,"emojiMap",new Map);je(this,"emojiIndex",new ste.Index({tokenize:"full"}));return b0.instance||(b0.instance=this),b0.instance}async init(e){if(!e)return;const{emojis:n,emojiSetPointers:r}=c5e(e);await this.addEmojisToIndex(n);const o=await ze.fetchEmojiSetEvents(r,!1);await Promise.allSettled(o.map(async s=>{!s||s instanceof Error||await this.addEmojisToIndex(u5e(s))}))}async searchEmojis(e=""){if(!e){const r=new Set;GT().sort((o,s)=>s.count-o.count).map(o=>jT(o.unified)).forEach(o=>{if(o&&typeof o!="string"){const s=this.getEmojiId(o);r.has(s)||r.add(s)}});for(const o of this.emojiMap.keys())r.add(o);return Array.from(r)}return(await this.emojiIndex.searchAsync(e)).filter(r=>typeof r=="string")}getEmojiById(e){if(e)return this.emojiMap.get(e)}getAllCustomEmojisForPicker(){return Array.from(this.emojiMap.values()).map(e=>({id:`:${e.shortcode}:${e.url}`,imgUrl:e.url,names:[e.shortcode]}))}isCustomEmojiId(e){return this.emojiMap.has(e)}async addEmojisToIndex(e){await Promise.allSettled(e.map(async n=>{const r=this.getEmojiId(n);this.emojiMap.set(r,n),await this.emojiIndex.addAsync(r,n.shortcode)}))}getEmojiId(e){const r=new TextEncoder().encode(`${e.shortcode}:${e.url}`.toLowerCase()),o=Cb(r);return Array.from(new Uint8Array(o)).map(a=>a.toString(16).padStart(2,"0")).join("")}updateSuggested(e){const n=this.getEmojiById(e);n&&gIe({n:[n.shortcode.toLowerCase()],u:`:${n.shortcode}:${n.url}`.toLowerCase(),a:"0",imgUrl:n.url},zl.NEUTRAL)}};je(b0,"instance");let H_=b0;const Ju=new H_,Tne={thumb:128,"mobile-sm":512,"mobile-lg":1024,"desktop-sm":1536,"desktop-md":2048,"desktop-lg":2560},yIe={thumb:.7,"mobile-sm":.75,"mobile-lg":.8,"desktop-sm":.85,"desktop-md":.88,"desktop-lg":.9,original:.92},bU=["thumb","mobile-sm","mobile-lg","desktop-sm","desktop-md","desktop-lg","original"];async function vIe(t){return createImageBitmap(t)}function wIe(t){return t==="image/png"?"image/png":t==="image/webp"?"image/webp":t==="image/gif"?"image/png":"image/jpeg"}function bIe(t,e,n,r){return new Promise((o,s)=>{const a=t.height/t.width,i=Math.round(e*a),l=document.createElement("canvas");l.width=e,l.height=i;const u=l.getContext("2d");if(!u){s(new Error("Failed to get canvas context"));return}u.imageSmoothingEnabled=!0,u.imageSmoothingQuality="high",u.drawImage(t,0,0,e,i),l.toBlob(d=>{d?o(d):s(new Error("Failed to create blob from canvas"))},n,r)})}function xIe(t,e,n){return new Promise((r,o)=>{const s=document.createElement("canvas");s.width=t.width,s.height=t.height;const a=s.getContext("2d");if(!a){o(new Error("Failed to get canvas context"));return}a.drawImage(t,0,0),s.toBlob(i=>{i?r(i):o(new Error("Failed to create blob from canvas"))},e,n)})}function kIe(t){const e=["original"];for(const[n,r]of Object.entries(Tne))r<t&&e.push(n);return e.sort((n,r)=>bU.indexOf(n)-bU.indexOf(r))}async function jIe(t,e){const{onProgress:n}=e??{};n==null||n(0);const r=await vIe(t),o=wIe(t.type);n==null||n(10);const s=kIe(r.width),a=s.length,i=[];for(let l=0;l<s.length;l++){const u=s[l],d=yIe[u];let f,m,g;if(u==="original")f=await xIe(r,o,d),m=r.width,g=r.height;else{const b=Tne[u],j=r.height/r.width;m=b,g=Math.round(b*j),f=await bIe(r,b,o,d)}i.push({variant:u,blob:f,width:m,height:g,mimeType:o});const w=10+Math.round((l+1)/a*80);n==null||n(w)}return n==null||n(90),i}function qT(t){return["image/jpeg","image/jpg","image/png","image/webp","image/gif"].includes(t.type)}function CIe(t){return{"image/jpeg":"jpg","image/png":"png","image/webp":"webp","image/gif":"gif"}[t]??"jpg"}const Ak=1063;function SIe(t){const e=["imeta"];return e.push(`url ${t.url}`),e.push(`x ${t.sha256}`),e.push(`m ${t.mimeType}`),e.push(`dim ${t.width}x${t.height}`),e.push(`variant ${t.variant}`),t.size!==void 0&&e.push(`size ${t.size}`),t.blurhash&&e.push(`blurhash ${t.blurhash}`),e}function EIe(t,e){if(t.length===0)throw new Error("At least one variant is required");const n=["thumb","mobile-sm","mobile-lg","desktop-sm","desktop-md","desktop-lg","original"],r=[...t].sort((s,a)=>n.indexOf(s.variant)-n.indexOf(a.variant)),o=[];for(const s of r)o.push(SIe(s));for(const s of r)o.push(["x",s.sha256]);return e!=null&&e.alt&&o.push(["alt",e.alt]),{kind:Ak,content:(e==null?void 0:e.description)??"",tags:o,created_at:Nn().unix()}}function Dne(t){if(t.kind!==Ak)throw new Error(`Expected kind ${Ak}, got ${t.kind}`);const e=[];for(const n of t.tags){if(n[0]!=="imeta")continue;const r=new Map;for(let b=1;b<n.length;b++){const j=n[b],S=j.indexOf(" ");if(S>0){const I=j.substring(0,S),N=j.substring(S+1);r.set(I,N)}}const o=r.get("url"),s=r.get("x"),a=r.get("m"),i=r.get("dim"),l=r.get("variant");if(!o||!s||!a||!i)continue;const u=i.match(/^(\d+)x(\d+)$/);if(!u)continue;const d=parseInt(u[1],10),f=parseInt(u[2],10),m={variant:l??"original",url:o,sha256:s,width:d,height:f,mimeType:a},g=r.get("size");g&&(m.size=parseInt(g,10));const w=r.get("blurhash");w&&(m.blurhash=w),e.push(m)}return e}const NIe=24242,IIe="modulepreload",AIe=function(t){return"/"+t},xU={},Bs=function(e,n,r){let o=Promise.resolve();if(n&&n.length>0){let a=function(u){return Promise.all(u.map(d=>Promise.resolve(d).then(f=>({status:"fulfilled",value:f}),f=>({status:"rejected",reason:f}))))};document.getElementsByTagName("link");const i=document.querySelector("meta[property=csp-nonce]"),l=(i==null?void 0:i.nonce)||(i==null?void 0:i.getAttribute("nonce"));o=a(n.map(u=>{if(u=AIe(u),u in xU)return;xU[u]=!0;const d=u.endsWith(".css"),f=d?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${u}"]${f}`))return;const m=document.createElement("link");if(m.rel=d?"stylesheet":IIe,d||(m.as="script"),m.crossOrigin="",m.href=u,l&&m.setAttribute("nonce",l),document.head.appendChild(m),d)return new Promise((g,w)=>{m.addEventListener("load",g),m.addEventListener("error",()=>w(new Error(`Unable to preload CSS for ${u}`)))})}))}function s(a){const i=new Event("vite:preloadError",{cancelable:!0});if(i.payload=a,window.dispatchEvent(i),!i.defaultPrevented)throw a}return o.then(a=>{for(const i of a||[])i.status==="rejected"&&s(i.reason);return e().catch(s)})};function kU(t){return t.match(/^[0-9a-f]{64}$/)}const KI=Symbol.for("sha256");function BC(t){return Reflect.has(t,KI)?Reflect.get(t,KI):_Ie(t).then(e=>(Reflect.set(t,KI,e),e))}async function _Ie(t){let e;typeof File<"u"&&t instanceof File||t instanceof Blob?e=await t.arrayBuffer():e=t;let n;if(typeof crypto<"u"&&crypto.subtle){const r=await crypto.subtle.digest("SHA-256",e);n=new Uint8Array(r)}else{const{sha256:r}=await Bs(async()=>{const{sha256:o}=await Promise.resolve().then(()=>Tje);return{sha256:o}},void 0);n=r.create().update(new Uint8Array(e)).digest()}return Cje(n)}function Lne(t){return typeof File<"u"&&t instanceof File||t instanceof Blob?t.size:t.length}function Pne(t){if(typeof File<"u"&&t instanceof File||t instanceof Blob)return t.type}function ZI(t){typeof t=="string"&&(t=new URL(t));const e=Array.from(t.pathname.matchAll(/[0-9a-f]{64}/gi));return e.length>0?e[e.length-1][0]:null}const One=()=>Math.floor(new Date().valueOf()/1e3),MIe=()=>One()+3600;function gs(t){return"Nostr "+btoa(JSON.stringify(t))}async function jU(t){return typeof t=="string"?t:BC(t)}async function H2(t,e,n){const r={created_at:One(),kind:NIe,content:(n==null?void 0:n.message)??"",tags:[["t",e],["expiration",String((n==null?void 0:n.expiration)??MIe())]]};if(n!=null&&n.blobs)if(Array.isArray(n.blobs)){const o=new Set;for(const s of n.blobs){const a=await jU(s);o.has(a)||(r.tags.push(["x",a]),o.add(a))}}else r.tags.push(["x",await jU(n.blobs)]);if(n!=null&&n.servers)if(Array.isArray(n.servers))for(const o of new Set(n.servers))r.tags.push(["server",o]);else r.tags.push(["server",n.servers]);return await t(r)}async function CU(t,e,n){return Array.isArray(e)||(e=[e]),await H2(t,"get",{message:"Download Blob",...n,blobs:e.filter(r=>typeof r=="string"?kU(r):!0),servers:e.filter(r=>typeof r=="string"&&!kU(r)&&URL.canParse(r))})}async function SU(t,e,n){return await H2(t,(n==null?void 0:n.type)??"upload",{message:"Upload Blob",...n,blobs:e})}async function RIe(t,e,n){return await H2(t,"upload",{message:"Mirror Blob",...n,blobs:e})}async function EU(t,e){return await H2(t,"list",{message:"List Blobs",...e})}async function NU(t,e,n){return await H2(t,"delete",{message:"Delete Blob",...n,blobs:e})}class jh extends Error{constructor(n,r){super(typeof r=="string"?r:r.message);je(this,"response");je(this,"status");je(this,"body");this.response=n,this.status=n.status,typeof r=="object"&&(this.body=r)}static async handleErrorResponse(n){if(!n.ok)try{throw new jh(n,n.headers.get("x-reason")||"Something went wrong")}catch(r){throw r}}}var QI={},uw={},IU;function TIe(){if(IU)return uw;IU=1,uw.byteLength=i,uw.toByteArray=u,uw.fromByteArray=m;for(var t=[],e=[],n=typeof Uint8Array<"u"?Uint8Array:Array,r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",o=0,s=r.length;o<s;++o)t[o]=r[o],e[r.charCodeAt(o)]=o;e[45]=62,e[95]=63;function a(g){var w=g.length;if(w%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var b=g.indexOf("=");b===-1&&(b=w);var j=b===w?0:4-b%4;return[b,j]}function i(g){var w=a(g),b=w[0],j=w[1];return(b+j)*3/4-j}function l(g,w,b){return(w+b)*3/4-b}function u(g){var w,b=a(g),j=b[0],S=b[1],I=new n(l(g,j,S)),N=0,M=S>0?j-4:j,D;for(D=0;D<M;D+=4)w=e[g.charCodeAt(D)]<<18|e[g.charCodeAt(D+1)]<<12|e[g.charCodeAt(D+2)]<<6|e[g.charCodeAt(D+3)],I[N++]=w>>16&255,I[N++]=w>>8&255,I[N++]=w&255;return S===2&&(w=e[g.charCodeAt(D)]<<2|e[g.charCodeAt(D+1)]>>4,I[N++]=w&255),S===1&&(w=e[g.charCodeAt(D)]<<10|e[g.charCodeAt(D+1)]<<4|e[g.charCodeAt(D+2)]>>2,I[N++]=w>>8&255,I[N++]=w&255),I}function d(g){return t[g>>18&63]+t[g>>12&63]+t[g>>6&63]+t[g&63]}function f(g,w,b){for(var j,S=[],I=w;I<b;I+=3)j=(g[I]<<16&16711680)+(g[I+1]<<8&65280)+(g[I+2]&255),S.push(d(j));return S.join("")}function m(g){for(var w,b=g.length,j=b%3,S=[],I=16383,N=0,M=b-j;N<M;N+=I)S.push(f(g,N,N+I>M?M:N+I));return j===1?(w=g[b-1],S.push(t[w>>2]+t[w<<4&63]+"==")):j===2&&(w=(g[b-2]<<8)+g[b-1],S.push(t[w>>10]+t[w>>4&63]+t[w<<2&63]+"=")),S.join("")}return uw}var u6={};/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */var AU;function DIe(){return AU||(AU=1,u6.read=function(t,e,n,r,o){var s,a,i=o*8-r-1,l=(1<<i)-1,u=l>>1,d=-7,f=n?o-1:0,m=n?-1:1,g=t[e+f];for(f+=m,s=g&(1<<-d)-1,g>>=-d,d+=i;d>0;s=s*256+t[e+f],f+=m,d-=8);for(a=s&(1<<-d)-1,s>>=-d,d+=r;d>0;a=a*256+t[e+f],f+=m,d-=8);if(s===0)s=1-u;else{if(s===l)return a?NaN:(g?-1:1)*(1/0);a=a+Math.pow(2,r),s=s-u}return(g?-1:1)*a*Math.pow(2,s-r)},u6.write=function(t,e,n,r,o,s){var a,i,l,u=s*8-o-1,d=(1<<u)-1,f=d>>1,m=o===23?Math.pow(2,-24)-Math.pow(2,-77):0,g=r?0:s-1,w=r?1:-1,b=e<0||e===0&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(i=isNaN(e)?1:0,a=d):(a=Math.floor(Math.log(e)/Math.LN2),e*(l=Math.pow(2,-a))<1&&(a--,l*=2),a+f>=1?e+=m/l:e+=m*Math.pow(2,1-f),e*l>=2&&(a++,l/=2),a+f>=d?(i=0,a=d):a+f>=1?(i=(e*l-1)*Math.pow(2,o),a=a+f):(i=e*Math.pow(2,f-1)*Math.pow(2,o),a=0));o>=8;t[n+g]=i&255,g+=w,i/=256,o-=8);for(a=a<<o|i,u+=o;u>0;t[n+g]=a&255,g+=w,a/=256,u-=8);t[n+g-w]|=b*128}),u6}/*!
40 * The buffer module from node.js, for the browser.
41 *
42 * @author Feross Aboukhadijeh <https://feross.org>
43 * @license MIT
44 */var _U;function LIe(){return _U||(_U=1,(function(t){const e=TIe(),n=DIe(),r=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;t.Buffer=i,t.SlowBuffer=I,t.INSPECT_MAX_BYTES=50;const o=2147483647;t.kMaxLength=o,i.TYPED_ARRAY_SUPPORT=s(),!i.TYPED_ARRAY_SUPPORT&&typeof console<"u"&&typeof console.error=="function"&&console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.");function s(){try{const se=new Uint8Array(1),q={foo:function(){return 42}};return Object.setPrototypeOf(q,Uint8Array.prototype),Object.setPrototypeOf(se,q),se.foo()===42}catch{return!1}}Object.defineProperty(i.prototype,"parent",{enumerable:!0,get:function(){if(i.isBuffer(this))return this.buffer}}),Object.defineProperty(i.prototype,"offset",{enumerable:!0,get:function(){if(i.isBuffer(this))return this.byteOffset}});function a(se){if(se>o)throw new RangeError('The value "'+se+'" is invalid for option "size"');const q=new Uint8Array(se);return Object.setPrototypeOf(q,i.prototype),q}function i(se,q,Z){if(typeof se=="number"){if(typeof q=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return f(se)}return l(se,q,Z)}i.poolSize=8192;function l(se,q,Z){if(typeof se=="string")return m(se,q);if(ArrayBuffer.isView(se))return w(se);if(se==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof se);if(et(se,ArrayBuffer)||se&&et(se.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(et(se,SharedArrayBuffer)||se&&et(se.buffer,SharedArrayBuffer)))return b(se,q,Z);if(typeof se=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');const ie=se.valueOf&&se.valueOf();if(ie!=null&&ie!==se)return i.from(ie,q,Z);const Ce=j(se);if(Ce)return Ce;if(typeof Symbol<"u"&&Symbol.toPrimitive!=null&&typeof se[Symbol.toPrimitive]=="function")return i.from(se[Symbol.toPrimitive]("string"),q,Z);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof se)}i.from=function(se,q,Z){return l(se,q,Z)},Object.setPrototypeOf(i.prototype,Uint8Array.prototype),Object.setPrototypeOf(i,Uint8Array);function u(se){if(typeof se!="number")throw new TypeError('"size" argument must be of type number');if(se<0)throw new RangeError('The value "'+se+'" is invalid for option "size"')}function d(se,q,Z){return u(se),se<=0?a(se):q!==void 0?typeof Z=="string"?a(se).fill(q,Z):a(se).fill(q):a(se)}i.alloc=function(se,q,Z){return d(se,q,Z)};function f(se){return u(se),a(se<0?0:S(se)|0)}i.allocUnsafe=function(se){return f(se)},i.allocUnsafeSlow=function(se){return f(se)};function m(se,q){if((typeof q!="string"||q==="")&&(q="utf8"),!i.isEncoding(q))throw new TypeError("Unknown encoding: "+q);const Z=N(se,q)|0;let ie=a(Z);const Ce=ie.write(se,q);return Ce!==Z&&(ie=ie.slice(0,Ce)),ie}function g(se){const q=se.length<0?0:S(se.length)|0,Z=a(q);for(let ie=0;ie<q;ie+=1)Z[ie]=se[ie]&255;return Z}function w(se){if(et(se,Uint8Array)){const q=new Uint8Array(se);return b(q.buffer,q.byteOffset,q.byteLength)}return g(se)}function b(se,q,Z){if(q<0||se.byteLength<q)throw new RangeError('"offset" is outside of buffer bounds');if(se.byteLength<q+(Z||0))throw new RangeError('"length" is outside of buffer bounds');let ie;return q===void 0&&Z===void 0?ie=new Uint8Array(se):Z===void 0?ie=new Uint8Array(se,q):ie=new Uint8Array(se,q,Z),Object.setPrototypeOf(ie,i.prototype),ie}function j(se){if(i.isBuffer(se)){const q=S(se.length)|0,Z=a(q);return Z.length===0||se.copy(Z,0,0,q),Z}if(se.length!==void 0)return typeof se.length!="number"||pt(se.length)?a(0):g(se);if(se.type==="Buffer"&&Array.isArray(se.data))return g(se.data)}function S(se){if(se>=o)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+o.toString(16)+" bytes");return se|0}function I(se){return+se!=se&&(se=0),i.alloc(+se)}i.isBuffer=function(q){return q!=null&&q._isBuffer===!0&&q!==i.prototype},i.compare=function(q,Z){if(et(q,Uint8Array)&&(q=i.from(q,q.offset,q.byteLength)),et(Z,Uint8Array)&&(Z=i.from(Z,Z.offset,Z.byteLength)),!i.isBuffer(q)||!i.isBuffer(Z))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(q===Z)return 0;let ie=q.length,Ce=Z.length;for(let Te=0,Se=Math.min(ie,Ce);Te<Se;++Te)if(q[Te]!==Z[Te]){ie=q[Te],Ce=Z[Te];break}return ie<Ce?-1:Ce<ie?1:0},i.isEncoding=function(q){switch(String(q).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},i.concat=function(q,Z){if(!Array.isArray(q))throw new TypeError('"list" argument must be an Array of Buffers');if(q.length===0)return i.alloc(0);let ie;if(Z===void 0)for(Z=0,ie=0;ie<q.length;++ie)Z+=q[ie].length;const Ce=i.allocUnsafe(Z);let Te=0;for(ie=0;ie<q.length;++ie){let Se=q[ie];if(et(Se,Uint8Array))Te+Se.length>Ce.length?(i.isBuffer(Se)||(Se=i.from(Se)),Se.copy(Ce,Te)):Uint8Array.prototype.set.call(Ce,Se,Te);else if(i.isBuffer(Se))Se.copy(Ce,Te);else throw new TypeError('"list" argument must be an Array of Buffers');Te+=Se.length}return Ce};function N(se,q){if(i.isBuffer(se))return se.length;if(ArrayBuffer.isView(se)||et(se,ArrayBuffer))return se.byteLength;if(typeof se!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof se);const Z=se.length,ie=arguments.length>2&&arguments[2]===!0;if(!ie&&Z===0)return 0;let Ce=!1;for(;;)switch(q){case"ascii":case"latin1":case"binary":return Z;case"utf8":case"utf-8":return Ze(se).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Z*2;case"hex":return Z>>>1;case"base64":return Ke(se).length;default:if(Ce)return ie?-1:Ze(se).length;q=(""+q).toLowerCase(),Ce=!0}}i.byteLength=N;function M(se,q,Z){let ie=!1;if((q===void 0||q<0)&&(q=0),q>this.length||((Z===void 0||Z>this.length)&&(Z=this.length),Z<=0)||(Z>>>=0,q>>>=0,Z<=q))return"";for(se||(se="utf8");;)switch(se){case"hex":return K(this,q,Z);case"utf8":case"utf-8":return W(this,q,Z);case"ascii":return $(this,q,Z);case"latin1":case"binary":return V(this,q,Z);case"base64":return Q(this,q,Z);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return G(this,q,Z);default:if(ie)throw new TypeError("Unknown encoding: "+se);se=(se+"").toLowerCase(),ie=!0}}i.prototype._isBuffer=!0;function D(se,q,Z){const ie=se[q];se[q]=se[Z],se[Z]=ie}i.prototype.swap16=function(){const q=this.length;if(q%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let Z=0;Z<q;Z+=2)D(this,Z,Z+1);return this},i.prototype.swap32=function(){const q=this.length;if(q%4!==0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(let Z=0;Z<q;Z+=4)D(this,Z,Z+3),D(this,Z+1,Z+2);return this},i.prototype.swap64=function(){const q=this.length;if(q%8!==0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(let Z=0;Z<q;Z+=8)D(this,Z,Z+7),D(this,Z+1,Z+6),D(this,Z+2,Z+5),D(this,Z+3,Z+4);return this},i.prototype.toString=function(){const q=this.length;return q===0?"":arguments.length===0?W(this,0,q):M.apply(this,arguments)},i.prototype.toLocaleString=i.prototype.toString,i.prototype.equals=function(q){if(!i.isBuffer(q))throw new TypeError("Argument must be a Buffer");return this===q?!0:i.compare(this,q)===0},i.prototype.inspect=function(){let q="";const Z=t.INSPECT_MAX_BYTES;return q=this.toString("hex",0,Z).replace(/(.{2})/g,"$1 ").trim(),this.length>Z&&(q+=" ... "),"<Buffer "+q+">"},r&&(i.prototype[r]=i.prototype.inspect),i.prototype.compare=function(q,Z,ie,Ce,Te){if(et(q,Uint8Array)&&(q=i.from(q,q.offset,q.byteLength)),!i.isBuffer(q))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof q);if(Z===void 0&&(Z=0),ie===void 0&&(ie=q?q.length:0),Ce===void 0&&(Ce=0),Te===void 0&&(Te=this.length),Z<0||ie>q.length||Ce<0||Te>this.length)throw new RangeError("out of range index");if(Ce>=Te&&Z>=ie)return 0;if(Ce>=Te)return-1;if(Z>=ie)return 1;if(Z>>>=0,ie>>>=0,Ce>>>=0,Te>>>=0,this===q)return 0;let Se=Te-Ce,ye=ie-Z;const We=Math.min(Se,ye),Ee=this.slice(Ce,Te),Pe=q.slice(Z,ie);for(let Qe=0;Qe<We;++Qe)if(Ee[Qe]!==Pe[Qe]){Se=Ee[Qe],ye=Pe[Qe];break}return Se<ye?-1:ye<Se?1:0};function O(se,q,Z,ie,Ce){if(se.length===0)return-1;if(typeof Z=="string"?(ie=Z,Z=0):Z>2147483647?Z=2147483647:Z<-2147483648&&(Z=-2147483648),Z=+Z,pt(Z)&&(Z=Ce?0:se.length-1),Z<0&&(Z=se.length+Z),Z>=se.length){if(Ce)return-1;Z=se.length-1}else if(Z<0)if(Ce)Z=0;else return-1;if(typeof q=="string"&&(q=i.from(q,ie)),i.isBuffer(q))return q.length===0?-1:L(se,q,Z,ie,Ce);if(typeof q=="number")return q=q&255,typeof Uint8Array.prototype.indexOf=="function"?Ce?Uint8Array.prototype.indexOf.call(se,q,Z):Uint8Array.prototype.lastIndexOf.call(se,q,Z):L(se,[q],Z,ie,Ce);throw new TypeError("val must be string, number or Buffer")}function L(se,q,Z,ie,Ce){let Te=1,Se=se.length,ye=q.length;if(ie!==void 0&&(ie=String(ie).toLowerCase(),ie==="ucs2"||ie==="ucs-2"||ie==="utf16le"||ie==="utf-16le")){if(se.length<2||q.length<2)return-1;Te=2,Se/=2,ye/=2,Z/=2}function We(Pe,Qe){return Te===1?Pe[Qe]:Pe.readUInt16BE(Qe*Te)}let Ee;if(Ce){let Pe=-1;for(Ee=Z;Ee<Se;Ee++)if(We(se,Ee)===We(q,Pe===-1?0:Ee-Pe)){if(Pe===-1&&(Pe=Ee),Ee-Pe+1===ye)return Pe*Te}else Pe!==-1&&(Ee-=Ee-Pe),Pe=-1}else for(Z+ye>Se&&(Z=Se-ye),Ee=Z;Ee>=0;Ee--){let Pe=!0;for(let Qe=0;Qe<ye;Qe++)if(We(se,Ee+Qe)!==We(q,Qe)){Pe=!1;break}if(Pe)return Ee}return-1}i.prototype.includes=function(q,Z,ie){return this.indexOf(q,Z,ie)!==-1},i.prototype.indexOf=function(q,Z,ie){return O(this,q,Z,ie,!0)},i.prototype.lastIndexOf=function(q,Z,ie){return O(this,q,Z,ie,!1)};function B(se,q,Z,ie){Z=Number(Z)||0;const Ce=se.length-Z;ie?(ie=Number(ie),ie>Ce&&(ie=Ce)):ie=Ce;const Te=q.length;ie>Te/2&&(ie=Te/2);let Se;for(Se=0;Se<ie;++Se){const ye=parseInt(q.substr(Se*2,2),16);if(pt(ye))return Se;se[Z+Se]=ye}return Se}function T(se,q,Z,ie){return Me(Ze(q,se.length-Z),se,Z,ie)}function R(se,q,Z,ie){return Me(nt(q),se,Z,ie)}function z(se,q,Z,ie){return Me(Ke(q),se,Z,ie)}function Y(se,q,Z,ie){return Me($e(q,se.length-Z),se,Z,ie)}i.prototype.write=function(q,Z,ie,Ce){if(Z===void 0)Ce="utf8",ie=this.length,Z=0;else if(ie===void 0&&typeof Z=="string")Ce=Z,ie=this.length,Z=0;else if(isFinite(Z))Z=Z>>>0,isFinite(ie)?(ie=ie>>>0,Ce===void 0&&(Ce="utf8")):(Ce=ie,ie=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");const Te=this.length-Z;if((ie===void 0||ie>Te)&&(ie=Te),q.length>0&&(ie<0||Z<0)||Z>this.length)throw new RangeError("Attempt to write outside buffer bounds");Ce||(Ce="utf8");let Se=!1;for(;;)switch(Ce){case"hex":return B(this,q,Z,ie);case"utf8":case"utf-8":return T(this,q,Z,ie);case"ascii":case"latin1":case"binary":return R(this,q,Z,ie);case"base64":return z(this,q,Z,ie);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Y(this,q,Z,ie);default:if(Se)throw new TypeError("Unknown encoding: "+Ce);Ce=(""+Ce).toLowerCase(),Se=!0}},i.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function Q(se,q,Z){return q===0&&Z===se.length?e.fromByteArray(se):e.fromByteArray(se.slice(q,Z))}function W(se,q,Z){Z=Math.min(se.length,Z);const ie=[];let Ce=q;for(;Ce<Z;){const Te=se[Ce];let Se=null,ye=Te>239?4:Te>223?3:Te>191?2:1;if(Ce+ye<=Z){let We,Ee,Pe,Qe;switch(ye){case 1:Te<128&&(Se=Te);break;case 2:We=se[Ce+1],(We&192)===128&&(Qe=(Te&31)<<6|We&63,Qe>127&&(Se=Qe));break;case 3:We=se[Ce+1],Ee=se[Ce+2],(We&192)===128&&(Ee&192)===128&&(Qe=(Te&15)<<12|(We&63)<<6|Ee&63,Qe>2047&&(Qe<55296||Qe>57343)&&(Se=Qe));break;case 4:We=se[Ce+1],Ee=se[Ce+2],Pe=se[Ce+3],(We&192)===128&&(Ee&192)===128&&(Pe&192)===128&&(Qe=(Te&15)<<18|(We&63)<<12|(Ee&63)<<6|Pe&63,Qe>65535&&Qe<1114112&&(Se=Qe))}}Se===null?(Se=65533,ye=1):Se>65535&&(Se-=65536,ie.push(Se>>>10&1023|55296),Se=56320|Se&1023),ie.push(Se),Ce+=ye}return X(ie)}const F=4096;function X(se){const q=se.length;if(q<=F)return String.fromCharCode.apply(String,se);let Z="",ie=0;for(;ie<q;)Z+=String.fromCharCode.apply(String,se.slice(ie,ie+=F));return Z}function $(se,q,Z){let ie="";Z=Math.min(se.length,Z);for(let Ce=q;Ce<Z;++Ce)ie+=String.fromCharCode(se[Ce]&127);return ie}function V(se,q,Z){let ie="";Z=Math.min(se.length,Z);for(let Ce=q;Ce<Z;++Ce)ie+=String.fromCharCode(se[Ce]);return ie}function K(se,q,Z){const ie=se.length;(!q||q<0)&&(q=0),(!Z||Z<0||Z>ie)&&(Z=ie);let Ce="";for(let Te=q;Te<Z;++Te)Ce+=ht[se[Te]];return Ce}function G(se,q,Z){const ie=se.slice(q,Z);let Ce="";for(let Te=0;Te<ie.length-1;Te+=2)Ce+=String.fromCharCode(ie[Te]+ie[Te+1]*256);return Ce}i.prototype.slice=function(q,Z){const ie=this.length;q=~~q,Z=Z===void 0?ie:~~Z,q<0?(q+=ie,q<0&&(q=0)):q>ie&&(q=ie),Z<0?(Z+=ie,Z<0&&(Z=0)):Z>ie&&(Z=ie),Z<q&&(Z=q);const Ce=this.subarray(q,Z);return Object.setPrototypeOf(Ce,i.prototype),Ce};function J(se,q,Z){if(se%1!==0||se<0)throw new RangeError("offset is not uint");if(se+q>Z)throw new RangeError("Trying to access beyond buffer length")}i.prototype.readUintLE=i.prototype.readUIntLE=function(q,Z,ie){q=q>>>0,Z=Z>>>0,ie||J(q,Z,this.length);let Ce=this[q],Te=1,Se=0;for(;++Se<Z&&(Te*=256);)Ce+=this[q+Se]*Te;return Ce},i.prototype.readUintBE=i.prototype.readUIntBE=function(q,Z,ie){q=q>>>0,Z=Z>>>0,ie||J(q,Z,this.length);let Ce=this[q+--Z],Te=1;for(;Z>0&&(Te*=256);)Ce+=this[q+--Z]*Te;return Ce},i.prototype.readUint8=i.prototype.readUInt8=function(q,Z){return q=q>>>0,Z||J(q,1,this.length),this[q]},i.prototype.readUint16LE=i.prototype.readUInt16LE=function(q,Z){return q=q>>>0,Z||J(q,2,this.length),this[q]|this[q+1]<<8},i.prototype.readUint16BE=i.prototype.readUInt16BE=function(q,Z){return q=q>>>0,Z||J(q,2,this.length),this[q]<<8|this[q+1]},i.prototype.readUint32LE=i.prototype.readUInt32LE=function(q,Z){return q=q>>>0,Z||J(q,4,this.length),(this[q]|this[q+1]<<8|this[q+2]<<16)+this[q+3]*16777216},i.prototype.readUint32BE=i.prototype.readUInt32BE=function(q,Z){return q=q>>>0,Z||J(q,4,this.length),this[q]*16777216+(this[q+1]<<16|this[q+2]<<8|this[q+3])},i.prototype.readBigUInt64LE=st(function(q){q=q>>>0,he(q,"offset");const Z=this[q],ie=this[q+7];(Z===void 0||ie===void 0)&&we(q,this.length-8);const Ce=Z+this[++q]*2**8+this[++q]*2**16+this[++q]*2**24,Te=this[++q]+this[++q]*2**8+this[++q]*2**16+ie*2**24;return BigInt(Ce)+(BigInt(Te)<<BigInt(32))}),i.prototype.readBigUInt64BE=st(function(q){q=q>>>0,he(q,"offset");const Z=this[q],ie=this[q+7];(Z===void 0||ie===void 0)&&we(q,this.length-8);const Ce=Z*2**24+this[++q]*2**16+this[++q]*2**8+this[++q],Te=this[++q]*2**24+this[++q]*2**16+this[++q]*2**8+ie;return(BigInt(Ce)<<BigInt(32))+BigInt(Te)}),i.prototype.readIntLE=function(q,Z,ie){q=q>>>0,Z=Z>>>0,ie||J(q,Z,this.length);let Ce=this[q],Te=1,Se=0;for(;++Se<Z&&(Te*=256);)Ce+=this[q+Se]*Te;return Te*=128,Ce>=Te&&(Ce-=Math.pow(2,8*Z)),Ce},i.prototype.readIntBE=function(q,Z,ie){q=q>>>0,Z=Z>>>0,ie||J(q,Z,this.length);let Ce=Z,Te=1,Se=this[q+--Ce];for(;Ce>0&&(Te*=256);)Se+=this[q+--Ce]*Te;return Te*=128,Se>=Te&&(Se-=Math.pow(2,8*Z)),Se},i.prototype.readInt8=function(q,Z){return q=q>>>0,Z||J(q,1,this.length),this[q]&128?(255-this[q]+1)*-1:this[q]},i.prototype.readInt16LE=function(q,Z){q=q>>>0,Z||J(q,2,this.length);const ie=this[q]|this[q+1]<<8;return ie&32768?ie|4294901760:ie},i.prototype.readInt16BE=function(q,Z){q=q>>>0,Z||J(q,2,this.length);const ie=this[q+1]|this[q]<<8;return ie&32768?ie|4294901760:ie},i.prototype.readInt32LE=function(q,Z){return q=q>>>0,Z||J(q,4,this.length),this[q]|this[q+1]<<8|this[q+2]<<16|this[q+3]<<24},i.prototype.readInt32BE=function(q,Z){return q=q>>>0,Z||J(q,4,this.length),this[q]<<24|this[q+1]<<16|this[q+2]<<8|this[q+3]},i.prototype.readBigInt64LE=st(function(q){q=q>>>0,he(q,"offset");const Z=this[q],ie=this[q+7];(Z===void 0||ie===void 0)&&we(q,this.length-8);const Ce=this[q+4]+this[q+5]*2**8+this[q+6]*2**16+(ie<<24);return(BigInt(Ce)<<BigInt(32))+BigInt(Z+this[++q]*2**8+this[++q]*2**16+this[++q]*2**24)}),i.prototype.readBigInt64BE=st(function(q){q=q>>>0,he(q,"offset");const Z=this[q],ie=this[q+7];(Z===void 0||ie===void 0)&&we(q,this.length-8);const Ce=(Z<<24)+this[++q]*2**16+this[++q]*2**8+this[++q];return(BigInt(Ce)<<BigInt(32))+BigInt(this[++q]*2**24+this[++q]*2**16+this[++q]*2**8+ie)}),i.prototype.readFloatLE=function(q,Z){return q=q>>>0,Z||J(q,4,this.length),n.read(this,q,!0,23,4)},i.prototype.readFloatBE=function(q,Z){return q=q>>>0,Z||J(q,4,this.length),n.read(this,q,!1,23,4)},i.prototype.readDoubleLE=function(q,Z){return q=q>>>0,Z||J(q,8,this.length),n.read(this,q,!0,52,8)},i.prototype.readDoubleBE=function(q,Z){return q=q>>>0,Z||J(q,8,this.length),n.read(this,q,!1,52,8)};function ne(se,q,Z,ie,Ce,Te){if(!i.isBuffer(se))throw new TypeError('"buffer" argument must be a Buffer instance');if(q>Ce||q<Te)throw new RangeError('"value" argument is out of bounds');if(Z+ie>se.length)throw new RangeError("Index out of range")}i.prototype.writeUintLE=i.prototype.writeUIntLE=function(q,Z,ie,Ce){if(q=+q,Z=Z>>>0,ie=ie>>>0,!Ce){const ye=Math.pow(2,8*ie)-1;ne(this,q,Z,ie,ye,0)}let Te=1,Se=0;for(this[Z]=q&255;++Se<ie&&(Te*=256);)this[Z+Se]=q/Te&255;return Z+ie},i.prototype.writeUintBE=i.prototype.writeUIntBE=function(q,Z,ie,Ce){if(q=+q,Z=Z>>>0,ie=ie>>>0,!Ce){const ye=Math.pow(2,8*ie)-1;ne(this,q,Z,ie,ye,0)}let Te=ie-1,Se=1;for(this[Z+Te]=q&255;--Te>=0&&(Se*=256);)this[Z+Te]=q/Se&255;return Z+ie},i.prototype.writeUint8=i.prototype.writeUInt8=function(q,Z,ie){return q=+q,Z=Z>>>0,ie||ne(this,q,Z,1,255,0),this[Z]=q&255,Z+1},i.prototype.writeUint16LE=i.prototype.writeUInt16LE=function(q,Z,ie){return q=+q,Z=Z>>>0,ie||ne(this,q,Z,2,65535,0),this[Z]=q&255,this[Z+1]=q>>>8,Z+2},i.prototype.writeUint16BE=i.prototype.writeUInt16BE=function(q,Z,ie){return q=+q,Z=Z>>>0,ie||ne(this,q,Z,2,65535,0),this[Z]=q>>>8,this[Z+1]=q&255,Z+2},i.prototype.writeUint32LE=i.prototype.writeUInt32LE=function(q,Z,ie){return q=+q,Z=Z>>>0,ie||ne(this,q,Z,4,4294967295,0),this[Z+3]=q>>>24,this[Z+2]=q>>>16,this[Z+1]=q>>>8,this[Z]=q&255,Z+4},i.prototype.writeUint32BE=i.prototype.writeUInt32BE=function(q,Z,ie){return q=+q,Z=Z>>>0,ie||ne(this,q,Z,4,4294967295,0),this[Z]=q>>>24,this[Z+1]=q>>>16,this[Z+2]=q>>>8,this[Z+3]=q&255,Z+4};function re(se,q,Z,ie,Ce){le(q,ie,Ce,se,Z,7);let Te=Number(q&BigInt(4294967295));se[Z++]=Te,Te=Te>>8,se[Z++]=Te,Te=Te>>8,se[Z++]=Te,Te=Te>>8,se[Z++]=Te;let Se=Number(q>>BigInt(32)&BigInt(4294967295));return se[Z++]=Se,Se=Se>>8,se[Z++]=Se,Se=Se>>8,se[Z++]=Se,Se=Se>>8,se[Z++]=Se,Z}function de(se,q,Z,ie,Ce){le(q,ie,Ce,se,Z,7);let Te=Number(q&BigInt(4294967295));se[Z+7]=Te,Te=Te>>8,se[Z+6]=Te,Te=Te>>8,se[Z+5]=Te,Te=Te>>8,se[Z+4]=Te;let Se=Number(q>>BigInt(32)&BigInt(4294967295));return se[Z+3]=Se,Se=Se>>8,se[Z+2]=Se,Se=Se>>8,se[Z+1]=Se,Se=Se>>8,se[Z]=Se,Z+8}i.prototype.writeBigUInt64LE=st(function(q,Z=0){return re(this,q,Z,BigInt(0),BigInt("0xffffffffffffffff"))}),i.prototype.writeBigUInt64BE=st(function(q,Z=0){return de(this,q,Z,BigInt(0),BigInt("0xffffffffffffffff"))}),i.prototype.writeIntLE=function(q,Z,ie,Ce){if(q=+q,Z=Z>>>0,!Ce){const We=Math.pow(2,8*ie-1);ne(this,q,Z,ie,We-1,-We)}let Te=0,Se=1,ye=0;for(this[Z]=q&255;++Te<ie&&(Se*=256);)q<0&&ye===0&&this[Z+Te-1]!==0&&(ye=1),this[Z+Te]=(q/Se>>0)-ye&255;return Z+ie},i.prototype.writeIntBE=function(q,Z,ie,Ce){if(q=+q,Z=Z>>>0,!Ce){const We=Math.pow(2,8*ie-1);ne(this,q,Z,ie,We-1,-We)}let Te=ie-1,Se=1,ye=0;for(this[Z+Te]=q&255;--Te>=0&&(Se*=256);)q<0&&ye===0&&this[Z+Te+1]!==0&&(ye=1),this[Z+Te]=(q/Se>>0)-ye&255;return Z+ie},i.prototype.writeInt8=function(q,Z,ie){return q=+q,Z=Z>>>0,ie||ne(this,q,Z,1,127,-128),q<0&&(q=255+q+1),this[Z]=q&255,Z+1},i.prototype.writeInt16LE=function(q,Z,ie){return q=+q,Z=Z>>>0,ie||ne(this,q,Z,2,32767,-32768),this[Z]=q&255,this[Z+1]=q>>>8,Z+2},i.prototype.writeInt16BE=function(q,Z,ie){return q=+q,Z=Z>>>0,ie||ne(this,q,Z,2,32767,-32768),this[Z]=q>>>8,this[Z+1]=q&255,Z+2},i.prototype.writeInt32LE=function(q,Z,ie){return q=+q,Z=Z>>>0,ie||ne(this,q,Z,4,2147483647,-2147483648),this[Z]=q&255,this[Z+1]=q>>>8,this[Z+2]=q>>>16,this[Z+3]=q>>>24,Z+4},i.prototype.writeInt32BE=function(q,Z,ie){return q=+q,Z=Z>>>0,ie||ne(this,q,Z,4,2147483647,-2147483648),q<0&&(q=4294967295+q+1),this[Z]=q>>>24,this[Z+1]=q>>>16,this[Z+2]=q>>>8,this[Z+3]=q&255,Z+4},i.prototype.writeBigInt64LE=st(function(q,Z=0){return re(this,q,Z,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))}),i.prototype.writeBigInt64BE=st(function(q,Z=0){return de(this,q,Z,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});function Ne(se,q,Z,ie,Ce,Te){if(Z+ie>se.length)throw new RangeError("Index out of range");if(Z<0)throw new RangeError("Index out of range")}function ve(se,q,Z,ie,Ce){return q=+q,Z=Z>>>0,Ce||Ne(se,q,Z,4),n.write(se,q,Z,ie,23,4),Z+4}i.prototype.writeFloatLE=function(q,Z,ie){return ve(this,q,Z,!0,ie)},i.prototype.writeFloatBE=function(q,Z,ie){return ve(this,q,Z,!1,ie)};function xe(se,q,Z,ie,Ce){return q=+q,Z=Z>>>0,Ce||Ne(se,q,Z,8),n.write(se,q,Z,ie,52,8),Z+8}i.prototype.writeDoubleLE=function(q,Z,ie){return xe(this,q,Z,!0,ie)},i.prototype.writeDoubleBE=function(q,Z,ie){return xe(this,q,Z,!1,ie)},i.prototype.copy=function(q,Z,ie,Ce){if(!i.isBuffer(q))throw new TypeError("argument should be a Buffer");if(ie||(ie=0),!Ce&&Ce!==0&&(Ce=this.length),Z>=q.length&&(Z=q.length),Z||(Z=0),Ce>0&&Ce<ie&&(Ce=ie),Ce===ie||q.length===0||this.length===0)return 0;if(Z<0)throw new RangeError("targetStart out of bounds");if(ie<0||ie>=this.length)throw new RangeError("Index out of range");if(Ce<0)throw new RangeError("sourceEnd out of bounds");Ce>this.length&&(Ce=this.length),q.length-Z<Ce-ie&&(Ce=q.length-Z+ie);const Te=Ce-ie;return this===q&&typeof Uint8Array.prototype.copyWithin=="function"?this.copyWithin(Z,ie,Ce):Uint8Array.prototype.set.call(q,this.subarray(ie,Ce),Z),Te},i.prototype.fill=function(q,Z,ie,Ce){if(typeof q=="string"){if(typeof Z=="string"?(Ce=Z,Z=0,ie=this.length):typeof ie=="string"&&(Ce=ie,ie=this.length),Ce!==void 0&&typeof Ce!="string")throw new TypeError("encoding must be a string");if(typeof Ce=="string"&&!i.isEncoding(Ce))throw new TypeError("Unknown encoding: "+Ce);if(q.length===1){const Se=q.charCodeAt(0);(Ce==="utf8"&&Se<128||Ce==="latin1")&&(q=Se)}}else typeof q=="number"?q=q&255:typeof q=="boolean"&&(q=Number(q));if(Z<0||this.length<Z||this.length<ie)throw new RangeError("Out of range index");if(ie<=Z)return this;Z=Z>>>0,ie=ie===void 0?this.length:ie>>>0,q||(q=0);let Te;if(typeof q=="number")for(Te=Z;Te<ie;++Te)this[Te]=q;else{const Se=i.isBuffer(q)?q:i.from(q,Ce),ye=Se.length;if(ye===0)throw new TypeError('The value "'+q+'" is invalid for argument "value"');for(Te=0;Te<ie-Z;++Te)this[Te+Z]=Se[Te%ye]}return this};const ce={};function pe(se,q,Z){ce[se]=class extends Z{constructor(){super(),Object.defineProperty(this,"message",{value:q.apply(this,arguments),writable:!0,configurable:!0}),this.name=`${this.name} [${se}]`,this.stack,delete this.name}get code(){return se}set code(Ce){Object.defineProperty(this,"code",{configurable:!0,enumerable:!0,value:Ce,writable:!0})}toString(){return`${this.name} [${se}]: ${this.message}`}}}pe("ERR_BUFFER_OUT_OF_BOUNDS",function(se){return se?`${se} is outside of buffer bounds`:"Attempt to access memory outside buffer bounds"},RangeError),pe("ERR_INVALID_ARG_TYPE",function(se,q){return`The "${se}" argument must be of type number. Received type ${typeof q}`},TypeError),pe("ERR_OUT_OF_RANGE",function(se,q,Z){let ie=`The value of "${se}" is out of range.`,Ce=Z;return Number.isInteger(Z)&&Math.abs(Z)>2**32?Ce=me(String(Z)):typeof Z=="bigint"&&(Ce=String(Z),(Z>BigInt(2)**BigInt(32)||Z<-(BigInt(2)**BigInt(32)))&&(Ce=me(Ce)),Ce+="n"),ie+=` It must be ${q}. Received ${Ce}`,ie},RangeError);function me(se){let q="",Z=se.length;const ie=se[0]==="-"?1:0;for(;Z>=ie+4;Z-=3)q=`_${se.slice(Z-3,Z)}${q}`;return`${se.slice(0,Z)}${q}`}function ke(se,q,Z){he(q,"offset"),(se[q]===void 0||se[q+Z]===void 0)&&we(q,se.length-(Z+1))}function le(se,q,Z,ie,Ce,Te){if(se>Z||se<q){const Se=typeof q=="bigint"?"n":"";let ye;throw q===0||q===BigInt(0)?ye=`>= 0${Se} and < 2${Se} ** ${(Te+1)*8}${Se}`:ye=`>= -(2${Se} ** ${(Te+1)*8-1}${Se}) and < 2 ** ${(Te+1)*8-1}${Se}`,new ce.ERR_OUT_OF_RANGE("value",ye,se)}ke(ie,Ce,Te)}function he(se,q){if(typeof se!="number")throw new ce.ERR_INVALID_ARG_TYPE(q,"number",se)}function we(se,q,Z){throw Math.floor(se)!==se?(he(se,Z),new ce.ERR_OUT_OF_RANGE("offset","an integer",se)):q<0?new ce.ERR_BUFFER_OUT_OF_BOUNDS:new ce.ERR_OUT_OF_RANGE("offset",`>= 0 and <= ${q}`,se)}const Ae=/[^+/0-9A-Za-z-_]/g;function Ve(se){if(se=se.split("=")[0],se=se.trim().replace(Ae,""),se.length<2)return"";for(;se.length%4!==0;)se=se+"=";return se}function Ze(se,q){q=q||1/0;let Z;const ie=se.length;let Ce=null;const Te=[];for(let Se=0;Se<ie;++Se){if(Z=se.charCodeAt(Se),Z>55295&&Z<57344){if(!Ce){if(Z>56319){(q-=3)>-1&&Te.push(239,191,189);continue}else if(Se+1===ie){(q-=3)>-1&&Te.push(239,191,189);continue}Ce=Z;continue}if(Z<56320){(q-=3)>-1&&Te.push(239,191,189),Ce=Z;continue}Z=(Ce-55296<<10|Z-56320)+65536}else Ce&&(q-=3)>-1&&Te.push(239,191,189);if(Ce=null,Z<128){if((q-=1)<0)break;Te.push(Z)}else if(Z<2048){if((q-=2)<0)break;Te.push(Z>>6|192,Z&63|128)}else if(Z<65536){if((q-=3)<0)break;Te.push(Z>>12|224,Z>>6&63|128,Z&63|128)}else if(Z<1114112){if((q-=4)<0)break;Te.push(Z>>18|240,Z>>12&63|128,Z>>6&63|128,Z&63|128)}else throw new Error("Invalid code point")}return Te}function nt(se){const q=[];for(let Z=0;Z<se.length;++Z)q.push(se.charCodeAt(Z)&255);return q}function $e(se,q){let Z,ie,Ce;const Te=[];for(let Se=0;Se<se.length&&!((q-=2)<0);++Se)Z=se.charCodeAt(Se),ie=Z>>8,Ce=Z%256,Te.push(Ce),Te.push(ie);return Te}function Ke(se){return e.toByteArray(Ve(se))}function Me(se,q,Z,ie){let Ce;for(Ce=0;Ce<ie&&!(Ce+Z>=q.length||Ce>=se.length);++Ce)q[Ce+Z]=se[Ce];return Ce}function et(se,q){return se instanceof q||se!=null&&se.constructor!=null&&se.constructor.name!=null&&se.constructor.name===q.name}function pt(se){return se!==se}const ht=(function(){const se="0123456789abcdef",q=new Array(256);for(let Z=0;Z<16;++Z){const ie=Z*16;for(let Ce=0;Ce<16;++Ce)q[ie+Ce]=se[Z]+se[Ce]}return q})();function st(se){return typeof BigInt>"u"?De:se}function De(){throw new Error("BigInt not supported")}})(QI)),QI}var UC=LIe();a0("536563703235366b315f48617368546f43757276655f43617368755f");function PIe(t){return UC.Buffer.from(t).toString("base64").replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}function OIe(t){return UC.Buffer.from(t,"base64")}function zIe(t){const e=JSON.stringify(t);return FIe(UC.Buffer.from(e).toString("base64"))}function FIe(t){return t.replace(/\+/g,"-").replace(/\//g,"_").split("=")[0]}function BIe(t){return typeof t=="number"||typeof t=="string"}function zne(t){const e=[];return KT(t,e),new Uint8Array(e)}function KT(t,e){if(t===null)e.push(246);else if(t===void 0)e.push(247);else if(typeof t=="boolean")e.push(t?245:244);else if(typeof t=="number")Fne(t,e);else if(typeof t=="string")Bne(t,e);else if(Array.isArray(t))$Ie(t,e);else if(t instanceof Uint8Array)UIe(t,e);else if(typeof t=="object")VIe(t,e);else throw new Error("Unsupported type")}function Fne(t,e){if(t<24)e.push(t);else if(t<256)e.push(24,t);else if(t<65536)e.push(25,t>>8,t&255);else if(t<4294967296)e.push(26,t>>24,t>>16&255,t>>8&255,t&255);else throw new Error("Unsupported integer size")}function UIe(t,e){const n=t.length;if(n<24)e.push(64+n);else if(n<256)e.push(88,n);else if(n<65536)e.push(89,n>>8&255,n&255);else if(n<4294967296)e.push(90,n>>24&255,n>>16&255,n>>8&255,n&255);else throw new Error("Byte string too long to encode");for(let r=0;r<t.length;r++)e.push(t[r])}function Bne(t,e){const n=new TextEncoder().encode(t),r=n.length;if(r<24)e.push(96+r);else if(r<256)e.push(120,r);else if(r<65536)e.push(121,r>>8&255,r&255);else if(r<4294967296)e.push(122,r>>24&255,r>>16&255,r>>8&255,r&255);else throw new Error("String too long to encode");for(let o=0;o<n.length;o++)e.push(n[o])}function $Ie(t,e){const n=t.length;if(n<24)e.push(128|n);else if(n<256)e.push(152,n);else if(n<65536)e.push(153,n>>8,n&255);else throw new Error("Unsupported array length");for(const r of t)KT(r,e)}function VIe(t,e){const n=Object.keys(t);Fne(n.length,e),e[e.length-1]|=160;for(const r of n)Bne(r,e),KT(t[r],e)}function HIe(t){const e=new DataView(t.buffer,t.byteOffset,t.byteLength);return _k(e,0).value}function _k(t,e){if(e>=t.byteLength)throw new Error("Unexpected end of data");const n=t.getUint8(e++),r=n>>5,o=n&31;switch(r){case 0:return WIe(t,e,o);case 1:return YIe(t,e,o);case 2:return GIe(t,e,o);case 3:return qIe(t,e,o);case 4:return KIe(t,e,o);case 5:return ZIe(t,e,o);case 7:return JIe(t,e,o);default:throw new Error(`Unsupported major type: ${r}`)}}function Yy(t,e,n){if(n<24)return{value:n,offset:e};if(n===24)return{value:t.getUint8(e++),offset:e};if(n===25){const r=t.getUint16(e,!1);return e+=2,{value:r,offset:e}}if(n===26){const r=t.getUint32(e,!1);return e+=4,{value:r,offset:e}}if(n===27){const r=t.getUint32(e,!1),o=t.getUint32(e+4,!1);return e+=8,{value:r*2**32+o,offset:e}}throw new Error(`Unsupported length: ${n}`)}function WIe(t,e,n){const{value:r,offset:o}=Yy(t,e,n);return{value:r,offset:o}}function YIe(t,e,n){const{value:r,offset:o}=Yy(t,e,n);return{value:-1-r,offset:o}}function GIe(t,e,n){const{value:r,offset:o}=Yy(t,e,n);if(o+r>t.byteLength)throw new Error("Byte string length exceeds data length");return{value:new Uint8Array(t.buffer,t.byteOffset+o,r),offset:o+r}}function qIe(t,e,n){const{value:r,offset:o}=Yy(t,e,n);if(o+r>t.byteLength)throw new Error("String length exceeds data length");const s=new Uint8Array(t.buffer,t.byteOffset+o,r);return{value:new TextDecoder().decode(s),offset:o+r}}function KIe(t,e,n){const{value:r,offset:o}=Yy(t,e,n),s=[];let a=o;for(let i=0;i<r;i++){const l=_k(t,a);s.push(l.value),a=l.offset}return{value:s,offset:a}}function ZIe(t,e,n){const{value:r,offset:o}=Yy(t,e,n),s={};let a=o;for(let i=0;i<r;i++){const l=_k(t,a);if(!BIe(l.value))throw new Error("Invalid key type");const u=_k(t,l.offset);s[l.value]=u.value,a=u.offset}return{value:s,offset:a}}function QIe(t){const e=(t&31744)>>10,n=t&1023,r=t&32768?-1:1;return e===0?r*2**-14*(n/1024):e===31?n?NaN:r*(1/0):r*2**(e-15)*(1+n/1024)}function JIe(t,e,n){if(n<24)switch(n){case 20:return{value:!1,offset:e};case 21:return{value:!0,offset:e};case 22:return{value:null,offset:e};case 23:return{value:void 0,offset:e};default:throw new Error(`Unknown simple value: ${n}`)}if(n===24)return{value:t.getUint8(e++),offset:e};if(n===25){const r=QIe(t.getUint16(e,!1));return e+=2,{value:r,offset:e}}if(n===26){const r=t.getFloat32(e,!1);return e+=4,{value:r,offset:e}}if(n===27){const r=t.getFloat64(e,!1);return e+=8,{value:r,offset:e}}throw new Error(`Unknown simple or float value: ${n}`)}let Une=class $ne{constructor(e,n,r,o,s,a,i=!1,l){this.transport=e,this.id=n,this.amount=r,this.unit=o,this.mints=s,this.description=a,this.singleUse=i,this.nut10=l}toRawRequest(){const e={};return this.transport&&(e.t=this.transport.map(n=>({t:n.type,a:n.target,g:n.tags}))),this.id&&(e.i=this.id),this.amount&&(e.a=this.amount),this.unit&&(e.u=this.unit),this.mints&&(e.m=this.mints),this.description&&(e.d=this.description),this.singleUse&&(e.s=this.singleUse),this.nut10&&(e.nut10={k:this.nut10.kind,d:this.nut10.data,t:this.nut10.tags}),e}toEncodedRequest(){const e=this.toRawRequest(),n=zne(e);return"creqA"+UC.Buffer.from(n).toString("base64")}getTransport(e){var n;return(n=this.transport)==null?void 0:n.find(r=>r.type===e)}static fromRawRequest(e){const n=e.t?e.t.map(o=>({type:o.t,target:o.a,tags:o.g})):void 0,r=e.nut10?{kind:e.nut10.k,data:e.nut10.d,tags:e.nut10.t}:void 0;return new $ne(n,e.i,e.a,e.u,e.m,e.d,e.s,r)}static fromEncodedRequest(e){if(!e.startsWith("creq"))throw new Error("unsupported pr: invalid prefix");if(e[4]!=="A")throw new Error("unsupported pr version");const n=e.slice(5),r=OIe(n),o=HIe(r);return this.fromRawRequest(o)}};const XIe="A",e9e="cashu";function MU(t){return/^[a-f0-9]*$/i.test(t)}function Vne(t){return Array.isArray(t)?t.some(e=>!MU(e.id)):MU(t.id)}function t9e(t){const e={token:[{mint:t.mint,proofs:t.proofs}]};return t.unit&&(e.unit=t.unit),t.memo&&(e.memo=t.memo),e9e+XIe+zIe(e)}function n9e(t,e){if(Vne(t.proofs)||(e==null?void 0:e.version)===3){if((e==null?void 0:e.version)===4)throw new Error("can not encode to v4 token if proofs contain non-hex keyset id");return t9e(t)}return Hne(t)}function Hne(t){if(t.proofs.forEach(a=>{if(a.dleq&&a.dleq.r==null)throw new Error("Missing blinding factor in included DLEQ proof")}),Vne(t.proofs))throw new Error("can not encode to v4 token if proofs contain non-hex keyset id");const e=r9e(t),n=zne(e),r="cashu",o="B",s=PIe(n);return r+o+s}function r9e(t){const e={},n=t.mint;for(let o=0;o<t.proofs.length;o++){const s=t.proofs[o];e[s.id]?e[s.id].push(s):e[s.id]=[s]}const r={m:n,u:t.unit||"sat",t:Object.keys(e).map(o=>({i:a0(o),p:e[o].map(s=>({a:s.amount,s:s.secret,c:a0(s.C),...s.dleq&&{d:{e:a0(s.dleq.e),s:a0(s.dleq.s),r:a0(s.dleq.r??"00")}},...s.witness&&{w:JSON.stringify(s.witness)}}))}))};return t.memo&&(r.d=t.memo),r}function o9e(t){return Une.fromEncodedRequest(t)}const Gy=Object.freeze(Object.defineProperty({__proto__:null,PaymentRequest:Une,decodePaymentRequest:o9e,getEncodedToken:n9e,getEncodedTokenV4:Hne},Symbol.toStringTag,{value:"Module"}));class s9e extends Error{}function a9e(t,e,n){const r=new AbortController;n&&n.addEventListener("abort",a=>r.abort(a),{once:!0});const o=setTimeout(()=>{r.abort(new s9e(e))},t);return{cancel:()=>clearTimeout(o),signal:r.signal}}function ia(t,e){if(e!=null&&e.timeout){const{cancel:n,signal:r}=a9e(e.timeout,e.timeoutMessage??"Timeout",e.signal??void 0);return fetch(t,{...e,signal:r}).finally(n)}else return fetch(t,e)}async function RU(t,e,n){var i;const r=new URL("/mirror",t),o={"X-SHA-256":e.sha256,"X-Content-Length":String(e.size),"Content-Type":"application/json"};if(e.type&&(o["X-Content-Type"]=e.type),n!=null&&n.auth)if(typeof n.auth=="boolean"){if(!n.onAuth)throw new Error("Missing onAuth handler");o.Authorization=gs(await n.onAuth(t,e.sha256,e))}else o.Authorization=gs(n.auth);const s=JSON.stringify({url:e.url});let a=await ia(r,{method:"PUT",signal:n==null?void 0:n.signal,headers:o,body:s,timeout:n==null?void 0:n.timeout});switch(a.status){case 401:{if((n==null?void 0:n.auth)===!1)throw new Error("Authorization disabled");const l=await((i=n==null?void 0:n.onAuth)==null?void 0:i.call(n,t,e.sha256,e));if(!l)throw new Error("Missing auth handler");a=await ia(r,{signal:n==null?void 0:n.signal,method:"PUT",body:s,headers:{...o,Authorization:gs(l)},timeout:n==null?void 0:n.timeout});break}case 402:{if(!(n!=null&&n.onPayment))throw new Error("Missing payment handler");const{getEncodedToken:l}=await Bs(async()=>{const{getEncodedToken:g}=await Promise.resolve().then(()=>Gy);return{getEncodedToken:g}},void 0),{getPaymentRequestFromHeaders:u}=await Bs(async()=>{const{getPaymentRequestFromHeaders:g}=await import("./cashu-qaudWkPk.js");return{getPaymentRequestFromHeaders:g}},[]),d=u(a.headers),f=await n.onPayment(t,e.sha256,e,d),m=l(f);a=await ia(r,{signal:n==null?void 0:n.signal,method:"PUT",body:s,headers:{...o,"X-Cashu":m},timeout:n==null?void 0:n.timeout});break}}return await jh.handleErrorResponse(a),a.json()}async function TU(t,e,n){var d;const r=new URL("/upload",t),o=await BC(e),s={"X-SHA-256":o};if(n!=null&&n.auth)if(typeof n.auth=="boolean"){if(!n.onAuth)throw new Error("Missing onAuth handler");s.Authorization=gs(await n.onAuth(t,o,"upload",e))}else s.Authorization=gs(n.auth);const a={...s,"X-Content-Length":String(Lne(e))},i=Pne(e);i&&(a["X-Content-Type"]=i);let l=await ia(r,{method:"HEAD",signal:n==null?void 0:n.signal,headers:a,timeout:n==null?void 0:n.timeout}),u;switch(l.status===404&&(u=l=await ia(r,{body:e,method:"PUT",signal:n==null?void 0:n.signal,timeout:n==null?void 0:n.timeout})),l.status){case 401:{if((n==null?void 0:n.auth)===!1)throw new Error("Authorization disabled");const f=await((d=n==null?void 0:n.onAuth)==null?void 0:d.call(n,t,o,"upload",e));if(!f)throw new Error("Missing auth handler");u=await ia(r,{method:"PUT",body:e,headers:{...s,Authorization:gs(f)},signal:n==null?void 0:n.signal,timeout:n==null?void 0:n.timeout});break}case 402:{if(!(n!=null&&n.onPayment))throw new Error("Missing payment handler");const{getEncodedToken:f}=await Bs(async()=>{const{getEncodedToken:j}=await Promise.resolve().then(()=>Gy);return{getEncodedToken:j}},void 0),{getPaymentRequestFromHeaders:m}=await Bs(async()=>{const{getPaymentRequestFromHeaders:j}=await import("./cashu-qaudWkPk.js");return{getPaymentRequestFromHeaders:j}},[]),g=m(l.headers),w=await n.onPayment(t,o,e,g),b=f(w);u=await ia(r,{method:"PUT",body:e,headers:{...s,"X-Cashu":b},signal:n==null?void 0:n.signal,timeout:n==null?void 0:n.timeout});break}}if(l.status>=500)throw new Error("Server error");return u||(u=await ia(r,{method:"PUT",body:e,headers:{...s},signal:n==null?void 0:n.signal,timeout:n==null?void 0:n.timeout})),await jh.handleErrorResponse(u),u.json()}async function DU(t,e,n){var a;const r=new URL("/list/"+e,t);n!=null&&n.since&&r.searchParams.append("since",String(n.since)),n!=null&&n.until&&r.searchParams.append("until",String(n.until));const o={};if(n!=null&&n.auth)if(typeof n.auth=="boolean"){if(!n.onAuth)throw new Error("Missing onAuth handler");o.Authorization=gs(await n.onAuth(t))}else o.Authorization=gs(n.auth);let s=await ia(r,{headers:o,signal:n==null?void 0:n.signal,timeout:n==null?void 0:n.timeout});switch(s.status){case 401:{if((n==null?void 0:n.auth)===!1)throw new Error("Authorization disabled");const i=await((a=n==null?void 0:n.onAuth)==null?void 0:a.call(n,t));if(!i)throw new Error("Missing auth handler");s=await ia(r,{headers:{...o,Authorization:gs(i)},signal:n==null?void 0:n.signal,timeout:n==null?void 0:n.timeout});break}case 402:{if(!(n!=null&&n.onPayment))throw new Error("Missing payment handler");const{getEncodedToken:i}=await Bs(async()=>{const{getEncodedToken:m}=await Promise.resolve().then(()=>Gy);return{getEncodedToken:m}},void 0),{getPaymentRequestFromHeaders:l}=await Bs(async()=>{const{getPaymentRequestFromHeaders:m}=await import("./cashu-qaudWkPk.js");return{getPaymentRequestFromHeaders:m}},[]),u=l(s.headers),d=await n.onPayment(t,u),f=i(d);s=await ia(r,{headers:{...o,"X-Cashu":f},signal:n==null?void 0:n.signal,timeout:n==null?void 0:n.timeout});break}}return await jh.handleErrorResponse(s),s.json()}async function LU(t,e,n){var a;const r=new URL("/"+e,t),o={};if(n!=null&&n.auth)if(typeof n.auth=="boolean"){if(!n.onAuth)throw new Error("Missing onAuth handler");o.Authorization=gs(await n.onAuth(t,e))}else o.Authorization=gs(n.auth);let s=await ia(r,{headers:o,signal:n==null?void 0:n.signal,timeout:n==null?void 0:n.timeout});switch(s.status){case 401:{if((n==null?void 0:n.auth)===!1)throw new Error("Authorization disabled");const i=await((a=n==null?void 0:n.onAuth)==null?void 0:a.call(n,t,e));if(!i)throw new Error("Missing auth handler");s=await ia(r,{headers:{...o,Authorization:gs(i)},signal:n==null?void 0:n.signal,timeout:n==null?void 0:n.timeout});break}case 402:{if(!(n!=null&&n.onPayment))throw new Error("Missing payment handler");const{getEncodedToken:i}=await Bs(async()=>{const{getEncodedToken:m}=await Promise.resolve().then(()=>Gy);return{getEncodedToken:m}},void 0),{getPaymentRequestFromHeaders:l}=await Bs(async()=>{const{getPaymentRequestFromHeaders:m}=await import("./cashu-qaudWkPk.js");return{getPaymentRequestFromHeaders:m}},[]),u=l(s.headers),d=await n.onPayment(t,e,u),f=i(d);s=await ia(r,{headers:{...o,"X-Cashu":f},signal:n==null?void 0:n.signal,timeout:n==null?void 0:n.timeout});break}}return await jh.handleErrorResponse(s),s}async function i9e(t,e,n){var a;const r=new URL("/"+e,t),o={};if(n!=null&&n.auth)if(typeof n.auth=="boolean"){if(!n.onAuth)throw new Error("Missing onAuth handler");o.Authorization=gs(await n.onAuth(t,e))}else o.Authorization=gs(n.auth);let s=await ia(r,{method:"DELETE",headers:o,signal:n==null?void 0:n.signal,timeout:n==null?void 0:n.timeout});switch(s.status){case 401:{if((n==null?void 0:n.auth)===!1)throw new Error("Authorization disabled");const i=await((a=n==null?void 0:n.onAuth)==null?void 0:a.call(n,t,e));if(!i)throw new Error("Missing auth handler");s=await ia(r,{signal:n==null?void 0:n.signal,method:"DELETE",headers:{...o,Authorization:gs(i)},timeout:n==null?void 0:n.timeout});break}case 402:{if(!(n!=null&&n.onPayment))throw new Error("Missing payment handler");const{getEncodedToken:i}=await Bs(async()=>{const{getEncodedToken:m}=await Promise.resolve().then(()=>Gy);return{getEncodedToken:m}},void 0),{getPaymentRequestFromHeaders:l}=await Bs(async()=>{const{getPaymentRequestFromHeaders:m}=await import("./cashu-qaudWkPk.js");return{getPaymentRequestFromHeaders:m}},[]),u=l(s.headers),d=await n.onPayment(t,e,u),f=i(d);s=await ia(r,{signal:n==null?void 0:n.signal,method:"DELETE",headers:{...o,"X-Cashu":f},timeout:n==null?void 0:n.timeout});break}}return await jh.handleErrorResponse(s),s.ok}class l9e extends Error{}async function PU(t,e,n){var d;const r=new URL("/media",t),o=await BC(e),s={"X-SHA-256":o};if(n!=null&&n.auth)if(typeof n.auth=="boolean"){if(!n.onAuth)throw new Error("Missing onAuth handler");s.Authorization=gs(await n.onAuth(t,o,"media",e))}else s.Authorization=gs(n.auth);const a={...s,"X-Content-Length":String(Lne(e))},i=Pne(e);i&&(a["X-Content-Type"]=i);let l=await fetch(r,{method:"HEAD",signal:n==null?void 0:n.signal,headers:a}),u;if(l.status===404)throw new l9e("/media endpoint not supported");switch(l.status){case 401:{if((n==null?void 0:n.auth)===!1)throw new Error("Authorization disabled");const f=await((d=n==null?void 0:n.onAuth)==null?void 0:d.call(n,t,o,"media",e));if(!f)throw new Error("Missing auth handler");u=await fetch(r,{signal:n==null?void 0:n.signal,method:"PUT",body:e,headers:{...s,Authorization:gs(f)}});break}case 402:{if(!(n!=null&&n.onPayment))throw new Error("Missing payment handler");const{getEncodedToken:f}=await Bs(async()=>{const{getEncodedToken:j}=await Promise.resolve().then(()=>Gy);return{getEncodedToken:j}},void 0),{getPaymentRequestFromHeaders:m}=await Bs(async()=>{const{getPaymentRequestFromHeaders:j}=await import("./cashu-qaudWkPk.js");return{getPaymentRequestFromHeaders:j}},[]),g=m(l.headers),w=await n.onPayment(t,o,e,g),b=f(w);u=await fetch(r,{signal:n==null?void 0:n.signal,method:"PUT",body:e,headers:{...s,"X-Cashu":b}});break}}if(l.status>=500)throw new Error("Server error");return u||(u=await fetch(r,{signal:n==null?void 0:n.signal,method:"PUT",body:e,headers:{...s}})),await jh.handleErrorResponse(u),u.json()}const ba=class ba{constructor(e,n){je(this,"server");je(this,"signer");je(this,"payment");this.server=new URL("/",e),this.signer=n}async createDownloadAuth(e,n){if(!this.signer)throw new Error("Missing signer");return await CU(this.signer,e,n)}async downloadBlob(e,n){const r={signal:n==null?void 0:n.signal};return(n==null?void 0:n.auth)!==!1&&(this.signer&&(r.onAuth=(s,a)=>this.createDownloadAuth(a,{message:`Download ${a}`})),typeof(n==null?void 0:n.auth)=="object"&&(r.auth=n.auth)),(n==null?void 0:n.payment)!==!1&&this.payment&&(r.onPayment=this.payment.download),(await LU(this.server,e,r)).blob()}async createUploadAuth(e,n){if(!this.signer)throw new Error("Missing signer");return await SU(this.signer,e,n)}async uploadBlob(e,n){const r={signal:n==null?void 0:n.signal};return(n==null?void 0:n.auth)!==!1&&(this.signer&&(r.onAuth=(o,s,a)=>this.createUploadAuth(s,{type:a})),typeof(n==null?void 0:n.auth)=="object"&&(r.auth=n.auth)),(n==null?void 0:n.payment)!==!1&&this.payment&&(r.onPayment=this.payment.upload),TU(this.server,e,r)}async createMirrorAuth(e,n){if(!this.signer)throw new Error("Missing signer");return await RIe(this.signer,typeof e=="string"?e:e.sha256,n)}async mirrorBlob(e,n){const r={signal:n==null?void 0:n.signal};return(n==null?void 0:n.auth)!==!1&&(this.signer&&(r.onAuth=(o,s)=>this.createMirrorAuth(s)),typeof(n==null?void 0:n.auth)=="object"&&(r.auth=n.auth)),(n==null?void 0:n.payment)!==!1&&this.payment&&(r.onPayment=this.payment.mirror),RU(this.server,e,r)}async createMediaAuth(e,n){return await this.createUploadAuth(e,{...n,type:"media"})}async uploadMedia(e,n){const r={signal:n==null?void 0:n.signal};return(n==null?void 0:n.auth)!==!1&&(this.signer&&(r.onAuth=(o,s,a)=>this.createUploadAuth(s,{type:a})),typeof(n==null?void 0:n.auth)=="object"&&(r.auth=n.auth)),(n==null?void 0:n.payment)!==!1&&this.payment&&(r.onPayment=this.payment.upload),PU(this.server,e,r)}static async hasBlob(e,n){return(await fetch(new URL("/"+n,e),{method:"HEAD"})).status!==404}async hasBlob(e){return ba.hasBlob(this.server,e)}async createListAuth(e){if(!this.signer)throw new Error("Missing signer");return await EU(this.signer,e)}async listBlobs(e,n){const r={signal:n==null?void 0:n.signal};return(n==null?void 0:n.auth)!==!1&&(this.signer&&(r.onAuth=o=>this.createListAuth()),typeof(n==null?void 0:n.auth)=="object"&&(r.auth=n.auth)),(n==null?void 0:n.payment)!==!1&&this.payment&&(r.onPayment=this.payment.list),DU(this.server,e,r)}async createDeleteAuth(e,n){if(!this.signer)throw new Error("Missing signer");return await NU(this.signer,e,n)}async deleteBlob(e,n){const r={signal:n==null?void 0:n.signal};return(n==null?void 0:n.auth)!==!1&&(this.signer&&(r.onAuth=(o,s)=>this.createDeleteAuth(s)),typeof(n==null?void 0:n.auth)=="object"&&(r.auth=n.auth)),(n==null?void 0:n.payment)!==!1&&this.payment&&(r.onPayment=this.payment.delete),ba.deleteBlob(this.server,e,r)}};je(ba,"getFileSha256",BC),je(ba,"createGetAuth",CU),je(ba,"createUploadAuth",SU),je(ba,"createListAuth",EU),je(ba,"createDeleteAuth",NU),je(ba,"encodeAuthorizationHeader",gs),je(ba,"mirrorBlob",RU),je(ba,"uploadBlob",TU),je(ba,"listBlobs",DU),je(ba,"downloadBlob",LU),je(ba,"deleteBlob",i9e),je(ba,"uploadMedia",PU);let kp=ba;var cr;(function(t){t.assertEqual=o=>o;function e(o){}t.assertIs=e;function n(o){throw new Error}t.assertNever=n,t.arrayToEnum=o=>{const s={};for(const a of o)s[a]=a;return s},t.getValidEnumValues=o=>{const s=t.objectKeys(o).filter(i=>typeof o[o[i]]!="number"),a={};for(const i of s)a[i]=o[i];return t.objectValues(a)},t.objectValues=o=>t.objectKeys(o).map(function(s){return o[s]}),t.objectKeys=typeof Object.keys=="function"?o=>Object.keys(o):o=>{const s=[];for(const a in o)Object.prototype.hasOwnProperty.call(o,a)&&s.push(a);return s},t.find=(o,s)=>{for(const a of o)if(s(a))return a},t.isInteger=typeof Number.isInteger=="function"?o=>Number.isInteger(o):o=>typeof o=="number"&&isFinite(o)&&Math.floor(o)===o;function r(o,s=" | "){return o.map(a=>typeof a=="string"?`'${a}'`:a).join(s)}t.joinValues=r,t.jsonStringifyReplacer=(o,s)=>typeof s=="bigint"?s.toString():s})(cr||(cr={}));var W_;(function(t){t.mergeShapes=(e,n)=>({...e,...n})})(W_||(W_={}));const en=cr.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),Gf=t=>{switch(typeof t){case"undefined":return en.undefined;case"string":return en.string;case"number":return isNaN(t)?en.nan:en.number;case"boolean":return en.boolean;case"function":return en.function;case"bigint":return en.bigint;case"symbol":return en.symbol;case"object":return Array.isArray(t)?en.array:t===null?en.null:t.then&&typeof t.then=="function"&&t.catch&&typeof t.catch=="function"?en.promise:typeof Map<"u"&&t instanceof Map?en.map:typeof Set<"u"&&t instanceof Set?en.set:typeof Date<"u"&&t instanceof Date?en.date:en.object;default:return en.unknown}},Pt=cr.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),c9e=t=>JSON.stringify(t,null,2).replace(/"([^"]+)":/g,"$1:");class al extends Error{get errors(){return this.issues}constructor(e){super(),this.issues=[],this.addIssue=r=>{this.issues=[...this.issues,r]},this.addIssues=(r=[])=>{this.issues=[...this.issues,...r]};const n=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,n):this.__proto__=n,this.name="ZodError",this.issues=e}format(e){const n=e||function(s){return s.message},r={_errors:[]},o=s=>{for(const a of s.issues)if(a.code==="invalid_union")a.unionErrors.map(o);else if(a.code==="invalid_return_type")o(a.returnTypeError);else if(a.code==="invalid_arguments")o(a.argumentsError);else if(a.path.length===0)r._errors.push(n(a));else{let i=r,l=0;for(;l<a.path.length;){const u=a.path[l];l===a.path.length-1?(i[u]=i[u]||{_errors:[]},i[u]._errors.push(n(a))):i[u]=i[u]||{_errors:[]},i=i[u],l++}}};return o(this),r}static assert(e){if(!(e instanceof al))throw new Error(`Not a ZodError: ${e}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,cr.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(e=n=>n.message){const n={},r=[];for(const o of this.issues)o.path.length>0?(n[o.path[0]]=n[o.path[0]]||[],n[o.path[0]].push(e(o))):r.push(e(o));return{formErrors:r,fieldErrors:n}}get formErrors(){return this.flatten()}}al.create=t=>new al(t);const cy=(t,e)=>{let n;switch(t.code){case Pt.invalid_type:t.received===en.undefined?n="Required":n=`Expected ${t.expected}, received ${t.received}`;break;case Pt.invalid_literal:n=`Invalid literal value, expected ${JSON.stringify(t.expected,cr.jsonStringifyReplacer)}`;break;case Pt.unrecognized_keys:n=`Unrecognized key(s) in object: ${cr.joinValues(t.keys,", ")}`;break;case Pt.invalid_union:n="Invalid input";break;case Pt.invalid_union_discriminator:n=`Invalid discriminator value. Expected ${cr.joinValues(t.options)}`;break;case Pt.invalid_enum_value:n=`Invalid enum value. Expected ${cr.joinValues(t.options)}, received '${t.received}'`;break;case Pt.invalid_arguments:n="Invalid function arguments";break;case Pt.invalid_return_type:n="Invalid function return type";break;case Pt.invalid_date:n="Invalid date";break;case Pt.invalid_string:typeof t.validation=="object"?"includes"in t.validation?(n=`Invalid input: must include "${t.validation.includes}"`,typeof t.validation.position=="number"&&(n=`${n} at one or more positions greater than or equal to ${t.validation.position}`)):"startsWith"in t.validation?n=`Invalid input: must start with "${t.validation.startsWith}"`:"endsWith"in t.validation?n=`Invalid input: must end with "${t.validation.endsWith}"`:cr.assertNever(t.validation):t.validation!=="regex"?n=`Invalid ${t.validation}`:n="Invalid";break;case Pt.too_small:t.type==="array"?n=`Array must contain ${t.exact?"exactly":t.inclusive?"at least":"more than"} ${t.minimum} element(s)`:t.type==="string"?n=`String must contain ${t.exact?"exactly":t.inclusive?"at least":"over"} ${t.minimum} character(s)`:t.type==="number"?n=`Number must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${t.minimum}`:t.type==="date"?n=`Date must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(t.minimum))}`:n="Invalid input";break;case Pt.too_big:t.type==="array"?n=`Array must contain ${t.exact?"exactly":t.inclusive?"at most":"less than"} ${t.maximum} element(s)`:t.type==="string"?n=`String must contain ${t.exact?"exactly":t.inclusive?"at most":"under"} ${t.maximum} character(s)`:t.type==="number"?n=`Number must be ${t.exact?"exactly":t.inclusive?"less than or equal to":"less than"} ${t.maximum}`:t.type==="bigint"?n=`BigInt must be ${t.exact?"exactly":t.inclusive?"less than or equal to":"less than"} ${t.maximum}`:t.type==="date"?n=`Date must be ${t.exact?"exactly":t.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(t.maximum))}`:n="Invalid input";break;case Pt.custom:n="Invalid input";break;case Pt.invalid_intersection_types:n="Intersection results could not be merged";break;case Pt.not_multiple_of:n=`Number must be a multiple of ${t.multipleOf}`;break;case Pt.not_finite:n="Number must be finite";break;default:n=e.defaultError,cr.assertNever(t)}return{message:n}};let Wne=cy;function u9e(t){Wne=t}function Mk(){return Wne}const Rk=t=>{const{data:e,path:n,errorMaps:r,issueData:o}=t,s=[...n,...o.path||[]],a={...o,path:s};if(o.message!==void 0)return{...o,path:s,message:o.message};let i="";const l=r.filter(u=>!!u).slice().reverse();for(const u of l)i=u(a,{data:e,defaultError:i}).message;return{...o,path:s,message:i}},f9e=[];function Qt(t,e){const n=Mk(),r=Rk({issueData:e,data:t.data,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,n,n===cy?void 0:cy].filter(o=>!!o)});t.common.issues.push(r)}class La{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(e,n){const r=[];for(const o of n){if(o.status==="aborted")return In;o.status==="dirty"&&e.dirty(),r.push(o.value)}return{status:e.value,value:r}}static async mergeObjectAsync(e,n){const r=[];for(const o of n){const s=await o.key,a=await o.value;r.push({key:s,value:a})}return La.mergeObjectSync(e,r)}static mergeObjectSync(e,n){const r={};for(const o of n){const{key:s,value:a}=o;if(s.status==="aborted"||a.status==="aborted")return In;s.status==="dirty"&&e.dirty(),a.status==="dirty"&&e.dirty(),s.value!=="__proto__"&&(typeof a.value<"u"||o.alwaysSet)&&(r[s.value]=a.value)}return{status:e.value,value:r}}}const In=Object.freeze({status:"aborted"}),h0=t=>({status:"dirty",value:t}),ni=t=>({status:"valid",value:t}),Y_=t=>t.status==="aborted",G_=t=>t.status==="dirty",mg=t=>t.status==="valid",Rb=t=>typeof Promise<"u"&&t instanceof Promise;function Tk(t,e,n,r){if(typeof e=="function"?t!==e||!0:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return e.get(t)}function Yne(t,e,n,r,o){if(typeof e=="function"?t!==e||!0:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return e.set(t,n),n}var pn;(function(t){t.errToObj=e=>typeof e=="string"?{message:e}:e||{},t.toString=e=>typeof e=="string"?e:e==null?void 0:e.message})(pn||(pn={}));var Dw,Lw;class Xu{constructor(e,n,r,o){this._cachedPath=[],this.parent=e,this.data=n,this._path=r,this._key=o}get path(){return this._cachedPath.length||(this._key instanceof Array?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}}const OU=(t,e)=>{if(mg(e))return{success:!0,data:e.value};if(!t.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;const n=new al(t.common.issues);return this._error=n,this._error}}};function Bn(t){if(!t)return{};const{errorMap:e,invalid_type_error:n,required_error:r,description:o}=t;if(e&&(n||r))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return e?{errorMap:e,description:o}:{errorMap:(a,i)=>{var l,u;const{message:d}=t;return a.code==="invalid_enum_value"?{message:d??i.defaultError}:typeof i.data>"u"?{message:(l=d??r)!==null&&l!==void 0?l:i.defaultError}:a.code!=="invalid_type"?{message:i.defaultError}:{message:(u=d??n)!==null&&u!==void 0?u:i.defaultError}},description:o}}class Wn{get description(){return this._def.description}_getType(e){return Gf(e.data)}_getOrReturnCtx(e,n){return n||{common:e.parent.common,data:e.data,parsedType:Gf(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new La,ctx:{common:e.parent.common,data:e.data,parsedType:Gf(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){const n=this._parse(e);if(Rb(n))throw new Error("Synchronous parse encountered promise.");return n}_parseAsync(e){const n=this._parse(e);return Promise.resolve(n)}parse(e,n){const r=this.safeParse(e,n);if(r.success)return r.data;throw r.error}safeParse(e,n){var r;const o={common:{issues:[],async:(r=n==null?void 0:n.async)!==null&&r!==void 0?r:!1,contextualErrorMap:n==null?void 0:n.errorMap},path:(n==null?void 0:n.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:Gf(e)},s=this._parseSync({data:e,path:o.path,parent:o});return OU(o,s)}"~validate"(e){var n,r;const o={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:Gf(e)};if(!this["~standard"].async)try{const s=this._parseSync({data:e,path:[],parent:o});return mg(s)?{value:s.value}:{issues:o.common.issues}}catch(s){!((r=(n=s==null?void 0:s.message)===null||n===void 0?void 0:n.toLowerCase())===null||r===void 0)&&r.includes("encountered")&&(this["~standard"].async=!0),o.common={issues:[],async:!0}}return this._parseAsync({data:e,path:[],parent:o}).then(s=>mg(s)?{value:s.value}:{issues:o.common.issues})}async parseAsync(e,n){const r=await this.safeParseAsync(e,n);if(r.success)return r.data;throw r.error}async safeParseAsync(e,n){const r={common:{issues:[],contextualErrorMap:n==null?void 0:n.errorMap,async:!0},path:(n==null?void 0:n.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:Gf(e)},o=this._parse({data:e,path:r.path,parent:r}),s=await(Rb(o)?o:Promise.resolve(o));return OU(r,s)}refine(e,n){const r=o=>typeof n=="string"||typeof n>"u"?{message:n}:typeof n=="function"?n(o):n;return this._refinement((o,s)=>{const a=e(o),i=()=>s.addIssue({code:Pt.custom,...r(o)});return typeof Promise<"u"&&a instanceof Promise?a.then(l=>l?!0:(i(),!1)):a?!0:(i(),!1)})}refinement(e,n){return this._refinement((r,o)=>e(r)?!0:(o.addIssue(typeof n=="function"?n(r,o):n),!1))}_refinement(e){return new Jc({schema:this,typeName:En.ZodEffects,effect:{type:"refinement",refinement:e}})}superRefine(e){return this._refinement(e)}constructor(e){this.spa=this.safeParseAsync,this._def=e,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:n=>this["~validate"](n)}}optional(){return Wu.create(this,this._def)}nullable(){return ih.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return Wc.create(this)}promise(){return fy.create(this,this._def)}or(e){return Pb.create([this,e],this._def)}and(e){return Ob.create(this,e,this._def)}transform(e){return new Jc({...Bn(this._def),schema:this,typeName:En.ZodEffects,effect:{type:"transform",transform:e}})}default(e){const n=typeof e=="function"?e:()=>e;return new $b({...Bn(this._def),innerType:this,defaultValue:n,typeName:En.ZodDefault})}brand(){return new ZT({typeName:En.ZodBranded,type:this,...Bn(this._def)})}catch(e){const n=typeof e=="function"?e:()=>e;return new Vb({...Bn(this._def),innerType:this,catchValue:n,typeName:En.ZodCatch})}describe(e){const n=this.constructor;return new n({...this._def,description:e})}pipe(e){return W2.create(this,e)}readonly(){return Hb.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}const d9e=/^c[^\s-]{8,}$/i,p9e=/^[0-9a-z]+$/,h9e=/^[0-9A-HJKMNP-TV-Z]{26}$/i,m9e=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,g9e=/^[a-z0-9_-]{21}$/i,y9e=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,v9e=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,w9e=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,b9e="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";let JI;const x9e=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,k9e=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,j9e=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,C9e=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,S9e=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,E9e=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,Gne="((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))",N9e=new RegExp(`^${Gne}$`);function qne(t){let e="([01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d";return t.precision?e=`${e}\\.\\d{${t.precision}}`:t.precision==null&&(e=`${e}(\\.\\d+)?`),e}function I9e(t){return new RegExp(`^${qne(t)}$`)}function Kne(t){let e=`${Gne}T${qne(t)}`;const n=[];return n.push(t.local?"Z?":"Z"),t.offset&&n.push("([+-]\\d{2}:?\\d{2})"),e=`${e}(${n.join("|")})`,new RegExp(`^${e}$`)}function A9e(t,e){return!!((e==="v4"||!e)&&x9e.test(t)||(e==="v6"||!e)&&j9e.test(t))}function _9e(t,e){if(!y9e.test(t))return!1;try{const[n]=t.split("."),r=n.replace(/-/g,"+").replace(/_/g,"/").padEnd(n.length+(4-n.length%4)%4,"="),o=JSON.parse(atob(r));return!(typeof o!="object"||o===null||!o.typ||!o.alg||e&&o.alg!==e)}catch{return!1}}function M9e(t,e){return!!((e==="v4"||!e)&&k9e.test(t)||(e==="v6"||!e)&&C9e.test(t))}class $c extends Wn{_parse(e){if(this._def.coerce&&(e.data=String(e.data)),this._getType(e)!==en.string){const s=this._getOrReturnCtx(e);return Qt(s,{code:Pt.invalid_type,expected:en.string,received:s.parsedType}),In}const r=new La;let o;for(const s of this._def.checks)if(s.kind==="min")e.data.length<s.value&&(o=this._getOrReturnCtx(e,o),Qt(o,{code:Pt.too_small,minimum:s.value,type:"string",inclusive:!0,exact:!1,message:s.message}),r.dirty());else if(s.kind==="max")e.data.length>s.value&&(o=this._getOrReturnCtx(e,o),Qt(o,{code:Pt.too_big,maximum:s.value,type:"string",inclusive:!0,exact:!1,message:s.message}),r.dirty());else if(s.kind==="length"){const a=e.data.length>s.value,i=e.data.length<s.value;(a||i)&&(o=this._getOrReturnCtx(e,o),a?Qt(o,{code:Pt.too_big,maximum:s.value,type:"string",inclusive:!0,exact:!0,message:s.message}):i&&Qt(o,{code:Pt.too_small,minimum:s.value,type:"string",inclusive:!0,exact:!0,message:s.message}),r.dirty())}else if(s.kind==="email")w9e.test(e.data)||(o=this._getOrReturnCtx(e,o),Qt(o,{validation:"email",code:Pt.invalid_string,message:s.message}),r.dirty());else if(s.kind==="emoji")JI||(JI=new RegExp(b9e,"u")),JI.test(e.data)||(o=this._getOrReturnCtx(e,o),Qt(o,{validation:"emoji",code:Pt.invalid_string,message:s.message}),r.dirty());else if(s.kind==="uuid")m9e.test(e.data)||(o=this._getOrReturnCtx(e,o),Qt(o,{validation:"uuid",code:Pt.invalid_string,message:s.message}),r.dirty());else if(s.kind==="nanoid")g9e.test(e.data)||(o=this._getOrReturnCtx(e,o),Qt(o,{validation:"nanoid",code:Pt.invalid_string,message:s.message}),r.dirty());else if(s.kind==="cuid")d9e.test(e.data)||(o=this._getOrReturnCtx(e,o),Qt(o,{validation:"cuid",code:Pt.invalid_string,message:s.message}),r.dirty());else if(s.kind==="cuid2")p9e.test(e.data)||(o=this._getOrReturnCtx(e,o),Qt(o,{validation:"cuid2",code:Pt.invalid_string,message:s.message}),r.dirty());else if(s.kind==="ulid")h9e.test(e.data)||(o=this._getOrReturnCtx(e,o),Qt(o,{validation:"ulid",code:Pt.invalid_string,message:s.message}),r.dirty());else if(s.kind==="url")try{new URL(e.data)}catch{o=this._getOrReturnCtx(e,o),Qt(o,{validation:"url",code:Pt.invalid_string,message:s.message}),r.dirty()}else s.kind==="regex"?(s.regex.lastIndex=0,s.regex.test(e.data)||(o=this._getOrReturnCtx(e,o),Qt(o,{validation:"regex",code:Pt.invalid_string,message:s.message}),r.dirty())):s.kind==="trim"?e.data=e.data.trim():s.kind==="includes"?e.data.includes(s.value,s.position)||(o=this._getOrReturnCtx(e,o),Qt(o,{code:Pt.invalid_string,validation:{includes:s.value,position:s.position},message:s.message}),r.dirty()):s.kind==="toLowerCase"?e.data=e.data.toLowerCase():s.kind==="toUpperCase"?e.data=e.data.toUpperCase():s.kind==="startsWith"?e.data.startsWith(s.value)||(o=this._getOrReturnCtx(e,o),Qt(o,{code:Pt.invalid_string,validation:{startsWith:s.value},message:s.message}),r.dirty()):s.kind==="endsWith"?e.data.endsWith(s.value)||(o=this._getOrReturnCtx(e,o),Qt(o,{code:Pt.invalid_string,validation:{endsWith:s.value},message:s.message}),r.dirty()):s.kind==="datetime"?Kne(s).test(e.data)||(o=this._getOrReturnCtx(e,o),Qt(o,{code:Pt.invalid_string,validation:"datetime",message:s.message}),r.dirty()):s.kind==="date"?N9e.test(e.data)||(o=this._getOrReturnCtx(e,o),Qt(o,{code:Pt.invalid_string,validation:"date",message:s.message}),r.dirty()):s.kind==="time"?I9e(s).test(e.data)||(o=this._getOrReturnCtx(e,o),Qt(o,{code:Pt.invalid_string,validation:"time",message:s.message}),r.dirty()):s.kind==="duration"?v9e.test(e.data)||(o=this._getOrReturnCtx(e,o),Qt(o,{validation:"duration",code:Pt.invalid_string,message:s.message}),r.dirty()):s.kind==="ip"?A9e(e.data,s.version)||(o=this._getOrReturnCtx(e,o),Qt(o,{validation:"ip",code:Pt.invalid_string,message:s.message}),r.dirty()):s.kind==="jwt"?_9e(e.data,s.alg)||(o=this._getOrReturnCtx(e,o),Qt(o,{validation:"jwt",code:Pt.invalid_string,message:s.message}),r.dirty()):s.kind==="cidr"?M9e(e.data,s.version)||(o=this._getOrReturnCtx(e,o),Qt(o,{validation:"cidr",code:Pt.invalid_string,message:s.message}),r.dirty()):s.kind==="base64"?S9e.test(e.data)||(o=this._getOrReturnCtx(e,o),Qt(o,{validation:"base64",code:Pt.invalid_string,message:s.message}),r.dirty()):s.kind==="base64url"?E9e.test(e.data)||(o=this._getOrReturnCtx(e,o),Qt(o,{validation:"base64url",code:Pt.invalid_string,message:s.message}),r.dirty()):cr.assertNever(s);return{status:r.value,value:e.data}}_regex(e,n,r){return this.refinement(o=>e.test(o),{validation:n,code:Pt.invalid_string,...pn.errToObj(r)})}_addCheck(e){return new $c({...this._def,checks:[...this._def.checks,e]})}email(e){return this._addCheck({kind:"email",...pn.errToObj(e)})}url(e){return this._addCheck({kind:"url",...pn.errToObj(e)})}emoji(e){return this._addCheck({kind:"emoji",...pn.errToObj(e)})}uuid(e){return this._addCheck({kind:"uuid",...pn.errToObj(e)})}nanoid(e){return this._addCheck({kind:"nanoid",...pn.errToObj(e)})}cuid(e){return this._addCheck({kind:"cuid",...pn.errToObj(e)})}cuid2(e){return this._addCheck({kind:"cuid2",...pn.errToObj(e)})}ulid(e){return this._addCheck({kind:"ulid",...pn.errToObj(e)})}base64(e){return this._addCheck({kind:"base64",...pn.errToObj(e)})}base64url(e){return this._addCheck({kind:"base64url",...pn.errToObj(e)})}jwt(e){return this._addCheck({kind:"jwt",...pn.errToObj(e)})}ip(e){return this._addCheck({kind:"ip",...pn.errToObj(e)})}cidr(e){return this._addCheck({kind:"cidr",...pn.errToObj(e)})}datetime(e){var n,r;return typeof e=="string"?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:e}):this._addCheck({kind:"datetime",precision:typeof(e==null?void 0:e.precision)>"u"?null:e==null?void 0:e.precision,offset:(n=e==null?void 0:e.offset)!==null&&n!==void 0?n:!1,local:(r=e==null?void 0:e.local)!==null&&r!==void 0?r:!1,...pn.errToObj(e==null?void 0:e.message)})}date(e){return this._addCheck({kind:"date",message:e})}time(e){return typeof e=="string"?this._addCheck({kind:"time",precision:null,message:e}):this._addCheck({kind:"time",precision:typeof(e==null?void 0:e.precision)>"u"?null:e==null?void 0:e.precision,...pn.errToObj(e==null?void 0:e.message)})}duration(e){return this._addCheck({kind:"duration",...pn.errToObj(e)})}regex(e,n){return this._addCheck({kind:"regex",regex:e,...pn.errToObj(n)})}includes(e,n){return this._addCheck({kind:"includes",value:e,position:n==null?void 0:n.position,...pn.errToObj(n==null?void 0:n.message)})}startsWith(e,n){return this._addCheck({kind:"startsWith",value:e,...pn.errToObj(n)})}endsWith(e,n){return this._addCheck({kind:"endsWith",value:e,...pn.errToObj(n)})}min(e,n){return this._addCheck({kind:"min",value:e,...pn.errToObj(n)})}max(e,n){return this._addCheck({kind:"max",value:e,...pn.errToObj(n)})}length(e,n){return this._addCheck({kind:"length",value:e,...pn.errToObj(n)})}nonempty(e){return this.min(1,pn.errToObj(e))}trim(){return new $c({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new $c({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new $c({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(e=>e.kind==="datetime")}get isDate(){return!!this._def.checks.find(e=>e.kind==="date")}get isTime(){return!!this._def.checks.find(e=>e.kind==="time")}get isDuration(){return!!this._def.checks.find(e=>e.kind==="duration")}get isEmail(){return!!this._def.checks.find(e=>e.kind==="email")}get isURL(){return!!this._def.checks.find(e=>e.kind==="url")}get isEmoji(){return!!this._def.checks.find(e=>e.kind==="emoji")}get isUUID(){return!!this._def.checks.find(e=>e.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(e=>e.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(e=>e.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(e=>e.kind==="cuid2")}get isULID(){return!!this._def.checks.find(e=>e.kind==="ulid")}get isIP(){return!!this._def.checks.find(e=>e.kind==="ip")}get isCIDR(){return!!this._def.checks.find(e=>e.kind==="cidr")}get isBase64(){return!!this._def.checks.find(e=>e.kind==="base64")}get isBase64url(){return!!this._def.checks.find(e=>e.kind==="base64url")}get minLength(){let e=null;for(const n of this._def.checks)n.kind==="min"&&(e===null||n.value>e)&&(e=n.value);return e}get maxLength(){let e=null;for(const n of this._def.checks)n.kind==="max"&&(e===null||n.value<e)&&(e=n.value);return e}}$c.create=t=>{var e;return new $c({checks:[],typeName:En.ZodString,coerce:(e=t==null?void 0:t.coerce)!==null&&e!==void 0?e:!1,...Bn(t)})};function R9e(t,e){const n=(t.toString().split(".")[1]||"").length,r=(e.toString().split(".")[1]||"").length,o=n>r?n:r,s=parseInt(t.toFixed(o).replace(".","")),a=parseInt(e.toFixed(o).replace(".",""));return s%a/Math.pow(10,o)}class oh extends Wn{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(e){if(this._def.coerce&&(e.data=Number(e.data)),this._getType(e)!==en.number){const s=this._getOrReturnCtx(e);return Qt(s,{code:Pt.invalid_type,expected:en.number,received:s.parsedType}),In}let r;const o=new La;for(const s of this._def.checks)s.kind==="int"?cr.isInteger(e.data)||(r=this._getOrReturnCtx(e,r),Qt(r,{code:Pt.invalid_type,expected:"integer",received:"float",message:s.message}),o.dirty()):s.kind==="min"?(s.inclusive?e.data<s.value:e.data<=s.value)&&(r=this._getOrReturnCtx(e,r),Qt(r,{code:Pt.too_small,minimum:s.value,type:"number",inclusive:s.inclusive,exact:!1,message:s.message}),o.dirty()):s.kind==="max"?(s.inclusive?e.data>s.value:e.data>=s.value)&&(r=this._getOrReturnCtx(e,r),Qt(r,{code:Pt.too_big,maximum:s.value,type:"number",inclusive:s.inclusive,exact:!1,message:s.message}),o.dirty()):s.kind==="multipleOf"?R9e(e.data,s.value)!==0&&(r=this._getOrReturnCtx(e,r),Qt(r,{code:Pt.not_multiple_of,multipleOf:s.value,message:s.message}),o.dirty()):s.kind==="finite"?Number.isFinite(e.data)||(r=this._getOrReturnCtx(e,r),Qt(r,{code:Pt.not_finite,message:s.message}),o.dirty()):cr.assertNever(s);return{status:o.value,value:e.data}}gte(e,n){return this.setLimit("min",e,!0,pn.toString(n))}gt(e,n){return this.setLimit("min",e,!1,pn.toString(n))}lte(e,n){return this.setLimit("max",e,!0,pn.toString(n))}lt(e,n){return this.setLimit("max",e,!1,pn.toString(n))}setLimit(e,n,r,o){return new oh({...this._def,checks:[...this._def.checks,{kind:e,value:n,inclusive:r,message:pn.toString(o)}]})}_addCheck(e){return new oh({...this._def,checks:[...this._def.checks,e]})}int(e){return this._addCheck({kind:"int",message:pn.toString(e)})}positive(e){return this._addCheck({kind:"min",value:0,inclusive:!1,message:pn.toString(e)})}negative(e){return this._addCheck({kind:"max",value:0,inclusive:!1,message:pn.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:0,inclusive:!0,message:pn.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:0,inclusive:!0,message:pn.toString(e)})}multipleOf(e,n){return this._addCheck({kind:"multipleOf",value:e,message:pn.toString(n)})}finite(e){return this._addCheck({kind:"finite",message:pn.toString(e)})}safe(e){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:pn.toString(e)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:pn.toString(e)})}get minValue(){let e=null;for(const n of this._def.checks)n.kind==="min"&&(e===null||n.value>e)&&(e=n.value);return e}get maxValue(){let e=null;for(const n of this._def.checks)n.kind==="max"&&(e===null||n.value<e)&&(e=n.value);return e}get isInt(){return!!this._def.checks.find(e=>e.kind==="int"||e.kind==="multipleOf"&&cr.isInteger(e.value))}get isFinite(){let e=null,n=null;for(const r of this._def.checks){if(r.kind==="finite"||r.kind==="int"||r.kind==="multipleOf")return!0;r.kind==="min"?(n===null||r.value>n)&&(n=r.value):r.kind==="max"&&(e===null||r.value<e)&&(e=r.value)}return Number.isFinite(n)&&Number.isFinite(e)}}oh.create=t=>new oh({checks:[],typeName:En.ZodNumber,coerce:(t==null?void 0:t.coerce)||!1,...Bn(t)});class sh extends Wn{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(e){if(this._def.coerce)try{e.data=BigInt(e.data)}catch{return this._getInvalidInput(e)}if(this._getType(e)!==en.bigint)return this._getInvalidInput(e);let r;const o=new La;for(const s of this._def.checks)s.kind==="min"?(s.inclusive?e.data<s.value:e.data<=s.value)&&(r=this._getOrReturnCtx(e,r),Qt(r,{code:Pt.too_small,type:"bigint",minimum:s.value,inclusive:s.inclusive,message:s.message}),o.dirty()):s.kind==="max"?(s.inclusive?e.data>s.value:e.data>=s.value)&&(r=this._getOrReturnCtx(e,r),Qt(r,{code:Pt.too_big,type:"bigint",maximum:s.value,inclusive:s.inclusive,message:s.message}),o.dirty()):s.kind==="multipleOf"?e.data%s.value!==BigInt(0)&&(r=this._getOrReturnCtx(e,r),Qt(r,{code:Pt.not_multiple_of,multipleOf:s.value,message:s.message}),o.dirty()):cr.assertNever(s);return{status:o.value,value:e.data}}_getInvalidInput(e){const n=this._getOrReturnCtx(e);return Qt(n,{code:Pt.invalid_type,expected:en.bigint,received:n.parsedType}),In}gte(e,n){return this.setLimit("min",e,!0,pn.toString(n))}gt(e,n){return this.setLimit("min",e,!1,pn.toString(n))}lte(e,n){return this.setLimit("max",e,!0,pn.toString(n))}lt(e,n){return this.setLimit("max",e,!1,pn.toString(n))}setLimit(e,n,r,o){return new sh({...this._def,checks:[...this._def.checks,{kind:e,value:n,inclusive:r,message:pn.toString(o)}]})}_addCheck(e){return new sh({...this._def,checks:[...this._def.checks,e]})}positive(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:pn.toString(e)})}negative(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:pn.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:pn.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:pn.toString(e)})}multipleOf(e,n){return this._addCheck({kind:"multipleOf",value:e,message:pn.toString(n)})}get minValue(){let e=null;for(const n of this._def.checks)n.kind==="min"&&(e===null||n.value>e)&&(e=n.value);return e}get maxValue(){let e=null;for(const n of this._def.checks)n.kind==="max"&&(e===null||n.value<e)&&(e=n.value);return e}}sh.create=t=>{var e;return new sh({checks:[],typeName:En.ZodBigInt,coerce:(e=t==null?void 0:t.coerce)!==null&&e!==void 0?e:!1,...Bn(t)})};class Tb extends Wn{_parse(e){if(this._def.coerce&&(e.data=!!e.data),this._getType(e)!==en.boolean){const r=this._getOrReturnCtx(e);return Qt(r,{code:Pt.invalid_type,expected:en.boolean,received:r.parsedType}),In}return ni(e.data)}}Tb.create=t=>new Tb({typeName:En.ZodBoolean,coerce:(t==null?void 0:t.coerce)||!1,...Bn(t)});class gg extends Wn{_parse(e){if(this._def.coerce&&(e.data=new Date(e.data)),this._getType(e)!==en.date){const s=this._getOrReturnCtx(e);return Qt(s,{code:Pt.invalid_type,expected:en.date,received:s.parsedType}),In}if(isNaN(e.data.getTime())){const s=this._getOrReturnCtx(e);return Qt(s,{code:Pt.invalid_date}),In}const r=new La;let o;for(const s of this._def.checks)s.kind==="min"?e.data.getTime()<s.value&&(o=this._getOrReturnCtx(e,o),Qt(o,{code:Pt.too_small,message:s.message,inclusive:!0,exact:!1,minimum:s.value,type:"date"}),r.dirty()):s.kind==="max"?e.data.getTime()>s.value&&(o=this._getOrReturnCtx(e,o),Qt(o,{code:Pt.too_big,message:s.message,inclusive:!0,exact:!1,maximum:s.value,type:"date"}),r.dirty()):cr.assertNever(s);return{status:r.value,value:new Date(e.data.getTime())}}_addCheck(e){return new gg({...this._def,checks:[...this._def.checks,e]})}min(e,n){return this._addCheck({kind:"min",value:e.getTime(),message:pn.toString(n)})}max(e,n){return this._addCheck({kind:"max",value:e.getTime(),message:pn.toString(n)})}get minDate(){let e=null;for(const n of this._def.checks)n.kind==="min"&&(e===null||n.value>e)&&(e=n.value);return e!=null?new Date(e):null}get maxDate(){let e=null;for(const n of this._def.checks)n.kind==="max"&&(e===null||n.value<e)&&(e=n.value);return e!=null?new Date(e):null}}gg.create=t=>new gg({checks:[],coerce:(t==null?void 0:t.coerce)||!1,typeName:En.ZodDate,...Bn(t)});class Dk extends Wn{_parse(e){if(this._getType(e)!==en.symbol){const r=this._getOrReturnCtx(e);return Qt(r,{code:Pt.invalid_type,expected:en.symbol,received:r.parsedType}),In}return ni(e.data)}}Dk.create=t=>new Dk({typeName:En.ZodSymbol,...Bn(t)});class Db extends Wn{_parse(e){if(this._getType(e)!==en.undefined){const r=this._getOrReturnCtx(e);return Qt(r,{code:Pt.invalid_type,expected:en.undefined,received:r.parsedType}),In}return ni(e.data)}}Db.create=t=>new Db({typeName:En.ZodUndefined,...Bn(t)});class Lb extends Wn{_parse(e){if(this._getType(e)!==en.null){const r=this._getOrReturnCtx(e);return Qt(r,{code:Pt.invalid_type,expected:en.null,received:r.parsedType}),In}return ni(e.data)}}Lb.create=t=>new Lb({typeName:En.ZodNull,...Bn(t)});class uy extends Wn{constructor(){super(...arguments),this._any=!0}_parse(e){return ni(e.data)}}uy.create=t=>new uy({typeName:En.ZodAny,...Bn(t)});class Gm extends Wn{constructor(){super(...arguments),this._unknown=!0}_parse(e){return ni(e.data)}}Gm.create=t=>new Gm({typeName:En.ZodUnknown,...Bn(t)});class ld extends Wn{_parse(e){const n=this._getOrReturnCtx(e);return Qt(n,{code:Pt.invalid_type,expected:en.never,received:n.parsedType}),In}}ld.create=t=>new ld({typeName:En.ZodNever,...Bn(t)});class Lk extends Wn{_parse(e){if(this._getType(e)!==en.undefined){const r=this._getOrReturnCtx(e);return Qt(r,{code:Pt.invalid_type,expected:en.void,received:r.parsedType}),In}return ni(e.data)}}Lk.create=t=>new Lk({typeName:En.ZodVoid,...Bn(t)});class Wc extends Wn{_parse(e){const{ctx:n,status:r}=this._processInputParams(e),o=this._def;if(n.parsedType!==en.array)return Qt(n,{code:Pt.invalid_type,expected:en.array,received:n.parsedType}),In;if(o.exactLength!==null){const a=n.data.length>o.exactLength.value,i=n.data.length<o.exactLength.value;(a||i)&&(Qt(n,{code:a?Pt.too_big:Pt.too_small,minimum:i?o.exactLength.value:void 0,maximum:a?o.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:o.exactLength.message}),r.dirty())}if(o.minLength!==null&&n.data.length<o.minLength.value&&(Qt(n,{code:Pt.too_small,minimum:o.minLength.value,type:"array",inclusive:!0,exact:!1,message:o.minLength.message}),r.dirty()),o.maxLength!==null&&n.data.length>o.maxLength.value&&(Qt(n,{code:Pt.too_big,maximum:o.maxLength.value,type:"array",inclusive:!0,exact:!1,message:o.maxLength.message}),r.dirty()),n.common.async)return Promise.all([...n.data].map((a,i)=>o.type._parseAsync(new Xu(n,a,n.path,i)))).then(a=>La.mergeArray(r,a));const s=[...n.data].map((a,i)=>o.type._parseSync(new Xu(n,a,n.path,i)));return La.mergeArray(r,s)}get element(){return this._def.type}min(e,n){return new Wc({...this._def,minLength:{value:e,message:pn.toString(n)}})}max(e,n){return new Wc({...this._def,maxLength:{value:e,message:pn.toString(n)}})}length(e,n){return new Wc({...this._def,exactLength:{value:e,message:pn.toString(n)}})}nonempty(e){return this.min(1,e)}}Wc.create=(t,e)=>new Wc({type:t,minLength:null,maxLength:null,exactLength:null,typeName:En.ZodArray,...Bn(e)});function i0(t){if(t instanceof ko){const e={};for(const n in t.shape){const r=t.shape[n];e[n]=Wu.create(i0(r))}return new ko({...t._def,shape:()=>e})}else return t instanceof Wc?new Wc({...t._def,type:i0(t.element)}):t instanceof Wu?Wu.create(i0(t.unwrap())):t instanceof ih?ih.create(i0(t.unwrap())):t instanceof ef?ef.create(t.items.map(e=>i0(e))):t}class ko extends Wn{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;const e=this._def.shape(),n=cr.objectKeys(e);return this._cached={shape:e,keys:n}}_parse(e){if(this._getType(e)!==en.object){const u=this._getOrReturnCtx(e);return Qt(u,{code:Pt.invalid_type,expected:en.object,received:u.parsedType}),In}const{status:r,ctx:o}=this._processInputParams(e),{shape:s,keys:a}=this._getCached(),i=[];if(!(this._def.catchall instanceof ld&&this._def.unknownKeys==="strip"))for(const u in o.data)a.includes(u)||i.push(u);const l=[];for(const u of a){const d=s[u],f=o.data[u];l.push({key:{status:"valid",value:u},value:d._parse(new Xu(o,f,o.path,u)),alwaysSet:u in o.data})}if(this._def.catchall instanceof ld){const u=this._def.unknownKeys;if(u==="passthrough")for(const d of i)l.push({key:{status:"valid",value:d},value:{status:"valid",value:o.data[d]}});else if(u==="strict")i.length>0&&(Qt(o,{code:Pt.unrecognized_keys,keys:i}),r.dirty());else if(u!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{const u=this._def.catchall;for(const d of i){const f=o.data[d];l.push({key:{status:"valid",value:d},value:u._parse(new Xu(o,f,o.path,d)),alwaysSet:d in o.data})}}return o.common.async?Promise.resolve().then(async()=>{const u=[];for(const d of l){const f=await d.key,m=await d.value;u.push({key:f,value:m,alwaysSet:d.alwaysSet})}return u}).then(u=>La.mergeObjectSync(r,u)):La.mergeObjectSync(r,l)}get shape(){return this._def.shape()}strict(e){return pn.errToObj,new ko({...this._def,unknownKeys:"strict",...e!==void 0?{errorMap:(n,r)=>{var o,s,a,i;const l=(a=(s=(o=this._def).errorMap)===null||s===void 0?void 0:s.call(o,n,r).message)!==null&&a!==void 0?a:r.defaultError;return n.code==="unrecognized_keys"?{message:(i=pn.errToObj(e).message)!==null&&i!==void 0?i:l}:{message:l}}}:{}})}strip(){return new ko({...this._def,unknownKeys:"strip"})}passthrough(){return new ko({...this._def,unknownKeys:"passthrough"})}extend(e){return new ko({...this._def,shape:()=>({...this._def.shape(),...e})})}merge(e){return new ko({unknownKeys:e._def.unknownKeys,catchall:e._def.catchall,shape:()=>({...this._def.shape(),...e._def.shape()}),typeName:En.ZodObject})}setKey(e,n){return this.augment({[e]:n})}catchall(e){return new ko({...this._def,catchall:e})}pick(e){const n={};return cr.objectKeys(e).forEach(r=>{e[r]&&this.shape[r]&&(n[r]=this.shape[r])}),new ko({...this._def,shape:()=>n})}omit(e){const n={};return cr.objectKeys(this.shape).forEach(r=>{e[r]||(n[r]=this.shape[r])}),new ko({...this._def,shape:()=>n})}deepPartial(){return i0(this)}partial(e){const n={};return cr.objectKeys(this.shape).forEach(r=>{const o=this.shape[r];e&&!e[r]?n[r]=o:n[r]=o.optional()}),new ko({...this._def,shape:()=>n})}required(e){const n={};return cr.objectKeys(this.shape).forEach(r=>{if(e&&!e[r])n[r]=this.shape[r];else{let s=this.shape[r];for(;s instanceof Wu;)s=s._def.innerType;n[r]=s}}),new ko({...this._def,shape:()=>n})}keyof(){return Zne(cr.objectKeys(this.shape))}}ko.create=(t,e)=>new ko({shape:()=>t,unknownKeys:"strip",catchall:ld.create(),typeName:En.ZodObject,...Bn(e)});ko.strictCreate=(t,e)=>new ko({shape:()=>t,unknownKeys:"strict",catchall:ld.create(),typeName:En.ZodObject,...Bn(e)});ko.lazycreate=(t,e)=>new ko({shape:t,unknownKeys:"strip",catchall:ld.create(),typeName:En.ZodObject,...Bn(e)});class Pb extends Wn{_parse(e){const{ctx:n}=this._processInputParams(e),r=this._def.options;function o(s){for(const i of s)if(i.result.status==="valid")return i.result;for(const i of s)if(i.result.status==="dirty")return n.common.issues.push(...i.ctx.common.issues),i.result;const a=s.map(i=>new al(i.ctx.common.issues));return Qt(n,{code:Pt.invalid_union,unionErrors:a}),In}if(n.common.async)return Promise.all(r.map(async s=>{const a={...n,common:{...n.common,issues:[]},parent:null};return{result:await s._parseAsync({data:n.data,path:n.path,parent:a}),ctx:a}})).then(o);{let s;const a=[];for(const l of r){const u={...n,common:{...n.common,issues:[]},parent:null},d=l._parseSync({data:n.data,path:n.path,parent:u});if(d.status==="valid")return d;d.status==="dirty"&&!s&&(s={result:d,ctx:u}),u.common.issues.length&&a.push(u.common.issues)}if(s)return n.common.issues.push(...s.ctx.common.issues),s.result;const i=a.map(l=>new al(l));return Qt(n,{code:Pt.invalid_union,unionErrors:i}),In}}get options(){return this._def.options}}Pb.create=(t,e)=>new Pb({options:t,typeName:En.ZodUnion,...Bn(e)});const Bf=t=>t instanceof Fb?Bf(t.schema):t instanceof Jc?Bf(t.innerType()):t instanceof Bb?[t.value]:t instanceof ah?t.options:t instanceof Ub?cr.objectValues(t.enum):t instanceof $b?Bf(t._def.innerType):t instanceof Db?[void 0]:t instanceof Lb?[null]:t instanceof Wu?[void 0,...Bf(t.unwrap())]:t instanceof ih?[null,...Bf(t.unwrap())]:t instanceof ZT||t instanceof Hb?Bf(t.unwrap()):t instanceof Vb?Bf(t._def.innerType):[];class $C extends Wn{_parse(e){const{ctx:n}=this._processInputParams(e);if(n.parsedType!==en.object)return Qt(n,{code:Pt.invalid_type,expected:en.object,received:n.parsedType}),In;const r=this.discriminator,o=n.data[r],s=this.optionsMap.get(o);return s?n.common.async?s._parseAsync({data:n.data,path:n.path,parent:n}):s._parseSync({data:n.data,path:n.path,parent:n}):(Qt(n,{code:Pt.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[r]}),In)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(e,n,r){const o=new Map;for(const s of n){const a=Bf(s.shape[e]);if(!a.length)throw new Error(`A discriminator value for key \`${e}\` could not be extracted from all schema options`);for(const i of a){if(o.has(i))throw new Error(`Discriminator property ${String(e)} has duplicate value ${String(i)}`);o.set(i,s)}}return new $C({typeName:En.ZodDiscriminatedUnion,discriminator:e,options:n,optionsMap:o,...Bn(r)})}}function q_(t,e){const n=Gf(t),r=Gf(e);if(t===e)return{valid:!0,data:t};if(n===en.object&&r===en.object){const o=cr.objectKeys(e),s=cr.objectKeys(t).filter(i=>o.indexOf(i)!==-1),a={...t,...e};for(const i of s){const l=q_(t[i],e[i]);if(!l.valid)return{valid:!1};a[i]=l.data}return{valid:!0,data:a}}else if(n===en.array&&r===en.array){if(t.length!==e.length)return{valid:!1};const o=[];for(let s=0;s<t.length;s++){const a=t[s],i=e[s],l=q_(a,i);if(!l.valid)return{valid:!1};o.push(l.data)}return{valid:!0,data:o}}else return n===en.date&&r===en.date&&+t==+e?{valid:!0,data:t}:{valid:!1}}class Ob extends Wn{_parse(e){const{status:n,ctx:r}=this._processInputParams(e),o=(s,a)=>{if(Y_(s)||Y_(a))return In;const i=q_(s.value,a.value);return i.valid?((G_(s)||G_(a))&&n.dirty(),{status:n.value,value:i.data}):(Qt(r,{code:Pt.invalid_intersection_types}),In)};return r.common.async?Promise.all([this._def.left._parseAsync({data:r.data,path:r.path,parent:r}),this._def.right._parseAsync({data:r.data,path:r.path,parent:r})]).then(([s,a])=>o(s,a)):o(this._def.left._parseSync({data:r.data,path:r.path,parent:r}),this._def.right._parseSync({data:r.data,path:r.path,parent:r}))}}Ob.create=(t,e,n)=>new Ob({left:t,right:e,typeName:En.ZodIntersection,...Bn(n)});class ef extends Wn{_parse(e){const{status:n,ctx:r}=this._processInputParams(e);if(r.parsedType!==en.array)return Qt(r,{code:Pt.invalid_type,expected:en.array,received:r.parsedType}),In;if(r.data.length<this._def.items.length)return Qt(r,{code:Pt.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),In;!this._def.rest&&r.data.length>this._def.items.length&&(Qt(r,{code:Pt.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),n.dirty());const s=[...r.data].map((a,i)=>{const l=this._def.items[i]||this._def.rest;return l?l._parse(new Xu(r,a,r.path,i)):null}).filter(a=>!!a);return r.common.async?Promise.all(s).then(a=>La.mergeArray(n,a)):La.mergeArray(n,s)}get items(){return this._def.items}rest(e){return new ef({...this._def,rest:e})}}ef.create=(t,e)=>{if(!Array.isArray(t))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new ef({items:t,typeName:En.ZodTuple,rest:null,...Bn(e)})};class zb extends Wn{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){const{status:n,ctx:r}=this._processInputParams(e);if(r.parsedType!==en.object)return Qt(r,{code:Pt.invalid_type,expected:en.object,received:r.parsedType}),In;const o=[],s=this._def.keyType,a=this._def.valueType;for(const i in r.data)o.push({key:s._parse(new Xu(r,i,r.path,i)),value:a._parse(new Xu(r,r.data[i],r.path,i)),alwaysSet:i in r.data});return r.common.async?La.mergeObjectAsync(n,o):La.mergeObjectSync(n,o)}get element(){return this._def.valueType}static create(e,n,r){return n instanceof Wn?new zb({keyType:e,valueType:n,typeName:En.ZodRecord,...Bn(r)}):new zb({keyType:$c.create(),valueType:e,typeName:En.ZodRecord,...Bn(n)})}}class Pk extends Wn{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){const{status:n,ctx:r}=this._processInputParams(e);if(r.parsedType!==en.map)return Qt(r,{code:Pt.invalid_type,expected:en.map,received:r.parsedType}),In;const o=this._def.keyType,s=this._def.valueType,a=[...r.data.entries()].map(([i,l],u)=>({key:o._parse(new Xu(r,i,r.path,[u,"key"])),value:s._parse(new Xu(r,l,r.path,[u,"value"]))}));if(r.common.async){const i=new Map;return Promise.resolve().then(async()=>{for(const l of a){const u=await l.key,d=await l.value;if(u.status==="aborted"||d.status==="aborted")return In;(u.status==="dirty"||d.status==="dirty")&&n.dirty(),i.set(u.value,d.value)}return{status:n.value,value:i}})}else{const i=new Map;for(const l of a){const u=l.key,d=l.value;if(u.status==="aborted"||d.status==="aborted")return In;(u.status==="dirty"||d.status==="dirty")&&n.dirty(),i.set(u.value,d.value)}return{status:n.value,value:i}}}}Pk.create=(t,e,n)=>new Pk({valueType:e,keyType:t,typeName:En.ZodMap,...Bn(n)});class yg extends Wn{_parse(e){const{status:n,ctx:r}=this._processInputParams(e);if(r.parsedType!==en.set)return Qt(r,{code:Pt.invalid_type,expected:en.set,received:r.parsedType}),In;const o=this._def;o.minSize!==null&&r.data.size<o.minSize.value&&(Qt(r,{code:Pt.too_small,minimum:o.minSize.value,type:"set",inclusive:!0,exact:!1,message:o.minSize.message}),n.dirty()),o.maxSize!==null&&r.data.size>o.maxSize.value&&(Qt(r,{code:Pt.too_big,maximum:o.maxSize.value,type:"set",inclusive:!0,exact:!1,message:o.maxSize.message}),n.dirty());const s=this._def.valueType;function a(l){const u=new Set;for(const d of l){if(d.status==="aborted")return In;d.status==="dirty"&&n.dirty(),u.add(d.value)}return{status:n.value,value:u}}const i=[...r.data.values()].map((l,u)=>s._parse(new Xu(r,l,r.path,u)));return r.common.async?Promise.all(i).then(l=>a(l)):a(i)}min(e,n){return new yg({...this._def,minSize:{value:e,message:pn.toString(n)}})}max(e,n){return new yg({...this._def,maxSize:{value:e,message:pn.toString(n)}})}size(e,n){return this.min(e,n).max(e,n)}nonempty(e){return this.min(1,e)}}yg.create=(t,e)=>new yg({valueType:t,minSize:null,maxSize:null,typeName:En.ZodSet,...Bn(e)});class B0 extends Wn{constructor(){super(...arguments),this.validate=this.implement}_parse(e){const{ctx:n}=this._processInputParams(e);if(n.parsedType!==en.function)return Qt(n,{code:Pt.invalid_type,expected:en.function,received:n.parsedType}),In;function r(i,l){return Rk({data:i,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,Mk(),cy].filter(u=>!!u),issueData:{code:Pt.invalid_arguments,argumentsError:l}})}function o(i,l){return Rk({data:i,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,Mk(),cy].filter(u=>!!u),issueData:{code:Pt.invalid_return_type,returnTypeError:l}})}const s={errorMap:n.common.contextualErrorMap},a=n.data;if(this._def.returns instanceof fy){const i=this;return ni(async function(...l){const u=new al([]),d=await i._def.args.parseAsync(l,s).catch(g=>{throw u.addIssue(r(l,g)),u}),f=await Reflect.apply(a,this,d);return await i._def.returns._def.type.parseAsync(f,s).catch(g=>{throw u.addIssue(o(f,g)),u})})}else{const i=this;return ni(function(...l){const u=i._def.args.safeParse(l,s);if(!u.success)throw new al([r(l,u.error)]);const d=Reflect.apply(a,this,u.data),f=i._def.returns.safeParse(d,s);if(!f.success)throw new al([o(d,f.error)]);return f.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...e){return new B0({...this._def,args:ef.create(e).rest(Gm.create())})}returns(e){return new B0({...this._def,returns:e})}implement(e){return this.parse(e)}strictImplement(e){return this.parse(e)}static create(e,n,r){return new B0({args:e||ef.create([]).rest(Gm.create()),returns:n||Gm.create(),typeName:En.ZodFunction,...Bn(r)})}}class Fb extends Wn{get schema(){return this._def.getter()}_parse(e){const{ctx:n}=this._processInputParams(e);return this._def.getter()._parse({data:n.data,path:n.path,parent:n})}}Fb.create=(t,e)=>new Fb({getter:t,typeName:En.ZodLazy,...Bn(e)});class Bb extends Wn{_parse(e){if(e.data!==this._def.value){const n=this._getOrReturnCtx(e);return Qt(n,{received:n.data,code:Pt.invalid_literal,expected:this._def.value}),In}return{status:"valid",value:e.data}}get value(){return this._def.value}}Bb.create=(t,e)=>new Bb({value:t,typeName:En.ZodLiteral,...Bn(e)});function Zne(t,e){return new ah({values:t,typeName:En.ZodEnum,...Bn(e)})}class ah extends Wn{constructor(){super(...arguments),Dw.set(this,void 0)}_parse(e){if(typeof e.data!="string"){const n=this._getOrReturnCtx(e),r=this._def.values;return Qt(n,{expected:cr.joinValues(r),received:n.parsedType,code:Pt.invalid_type}),In}if(Tk(this,Dw)||Yne(this,Dw,new Set(this._def.values)),!Tk(this,Dw).has(e.data)){const n=this._getOrReturnCtx(e),r=this._def.values;return Qt(n,{received:n.data,code:Pt.invalid_enum_value,options:r}),In}return ni(e.data)}get options(){return this._def.values}get enum(){const e={};for(const n of this._def.values)e[n]=n;return e}get Values(){const e={};for(const n of this._def.values)e[n]=n;return e}get Enum(){const e={};for(const n of this._def.values)e[n]=n;return e}extract(e,n=this._def){return ah.create(e,{...this._def,...n})}exclude(e,n=this._def){return ah.create(this.options.filter(r=>!e.includes(r)),{...this._def,...n})}}Dw=new WeakMap;ah.create=Zne;class Ub extends Wn{constructor(){super(...arguments),Lw.set(this,void 0)}_parse(e){const n=cr.getValidEnumValues(this._def.values),r=this._getOrReturnCtx(e);if(r.parsedType!==en.string&&r.parsedType!==en.number){const o=cr.objectValues(n);return Qt(r,{expected:cr.joinValues(o),received:r.parsedType,code:Pt.invalid_type}),In}if(Tk(this,Lw)||Yne(this,Lw,new Set(cr.getValidEnumValues(this._def.values))),!Tk(this,Lw).has(e.data)){const o=cr.objectValues(n);return Qt(r,{received:r.data,code:Pt.invalid_enum_value,options:o}),In}return ni(e.data)}get enum(){return this._def.values}}Lw=new WeakMap;Ub.create=(t,e)=>new Ub({values:t,typeName:En.ZodNativeEnum,...Bn(e)});class fy extends Wn{unwrap(){return this._def.type}_parse(e){const{ctx:n}=this._processInputParams(e);if(n.parsedType!==en.promise&&n.common.async===!1)return Qt(n,{code:Pt.invalid_type,expected:en.promise,received:n.parsedType}),In;const r=n.parsedType===en.promise?n.data:Promise.resolve(n.data);return ni(r.then(o=>this._def.type.parseAsync(o,{path:n.path,errorMap:n.common.contextualErrorMap})))}}fy.create=(t,e)=>new fy({type:t,typeName:En.ZodPromise,...Bn(e)});class Jc extends Wn{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===En.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(e){const{status:n,ctx:r}=this._processInputParams(e),o=this._def.effect||null,s={addIssue:a=>{Qt(r,a),a.fatal?n.abort():n.dirty()},get path(){return r.path}};if(s.addIssue=s.addIssue.bind(s),o.type==="preprocess"){const a=o.transform(r.data,s);if(r.common.async)return Promise.resolve(a).then(async i=>{if(n.value==="aborted")return In;const l=await this._def.schema._parseAsync({data:i,path:r.path,parent:r});return l.status==="aborted"?In:l.status==="dirty"||n.value==="dirty"?h0(l.value):l});{if(n.value==="aborted")return In;const i=this._def.schema._parseSync({data:a,path:r.path,parent:r});return i.status==="aborted"?In:i.status==="dirty"||n.value==="dirty"?h0(i.value):i}}if(o.type==="refinement"){const a=i=>{const l=o.refinement(i,s);if(r.common.async)return Promise.resolve(l);if(l instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return i};if(r.common.async===!1){const i=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});return i.status==="aborted"?In:(i.status==="dirty"&&n.dirty(),a(i.value),{status:n.value,value:i.value})}else return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then(i=>i.status==="aborted"?In:(i.status==="dirty"&&n.dirty(),a(i.value).then(()=>({status:n.value,value:i.value}))))}if(o.type==="transform")if(r.common.async===!1){const a=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});if(!mg(a))return a;const i=o.transform(a.value,s);if(i instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:n.value,value:i}}else return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then(a=>mg(a)?Promise.resolve(o.transform(a.value,s)).then(i=>({status:n.value,value:i})):a);cr.assertNever(o)}}Jc.create=(t,e,n)=>new Jc({schema:t,typeName:En.ZodEffects,effect:e,...Bn(n)});Jc.createWithPreprocess=(t,e,n)=>new Jc({schema:e,effect:{type:"preprocess",transform:t},typeName:En.ZodEffects,...Bn(n)});class Wu extends Wn{_parse(e){return this._getType(e)===en.undefined?ni(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}}Wu.create=(t,e)=>new Wu({innerType:t,typeName:En.ZodOptional,...Bn(e)});class ih extends Wn{_parse(e){return this._getType(e)===en.null?ni(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}}ih.create=(t,e)=>new ih({innerType:t,typeName:En.ZodNullable,...Bn(e)});class $b extends Wn{_parse(e){const{ctx:n}=this._processInputParams(e);let r=n.data;return n.parsedType===en.undefined&&(r=this._def.defaultValue()),this._def.innerType._parse({data:r,path:n.path,parent:n})}removeDefault(){return this._def.innerType}}$b.create=(t,e)=>new $b({innerType:t,typeName:En.ZodDefault,defaultValue:typeof e.default=="function"?e.default:()=>e.default,...Bn(e)});class Vb extends Wn{_parse(e){const{ctx:n}=this._processInputParams(e),r={...n,common:{...n.common,issues:[]}},o=this._def.innerType._parse({data:r.data,path:r.path,parent:{...r}});return Rb(o)?o.then(s=>({status:"valid",value:s.status==="valid"?s.value:this._def.catchValue({get error(){return new al(r.common.issues)},input:r.data})})):{status:"valid",value:o.status==="valid"?o.value:this._def.catchValue({get error(){return new al(r.common.issues)},input:r.data})}}removeCatch(){return this._def.innerType}}Vb.create=(t,e)=>new Vb({innerType:t,typeName:En.ZodCatch,catchValue:typeof e.catch=="function"?e.catch:()=>e.catch,...Bn(e)});class Ok extends Wn{_parse(e){if(this._getType(e)!==en.nan){const r=this._getOrReturnCtx(e);return Qt(r,{code:Pt.invalid_type,expected:en.nan,received:r.parsedType}),In}return{status:"valid",value:e.data}}}Ok.create=t=>new Ok({typeName:En.ZodNaN,...Bn(t)});const T9e=Symbol("zod_brand");class ZT extends Wn{_parse(e){const{ctx:n}=this._processInputParams(e),r=n.data;return this._def.type._parse({data:r,path:n.path,parent:n})}unwrap(){return this._def.type}}class W2 extends Wn{_parse(e){const{status:n,ctx:r}=this._processInputParams(e);if(r.common.async)return(async()=>{const s=await this._def.in._parseAsync({data:r.data,path:r.path,parent:r});return s.status==="aborted"?In:s.status==="dirty"?(n.dirty(),h0(s.value)):this._def.out._parseAsync({data:s.value,path:r.path,parent:r})})();{const o=this._def.in._parseSync({data:r.data,path:r.path,parent:r});return o.status==="aborted"?In:o.status==="dirty"?(n.dirty(),{status:"dirty",value:o.value}):this._def.out._parseSync({data:o.value,path:r.path,parent:r})}}static create(e,n){return new W2({in:e,out:n,typeName:En.ZodPipeline})}}class Hb extends Wn{_parse(e){const n=this._def.innerType._parse(e),r=o=>(mg(o)&&(o.value=Object.freeze(o.value)),o);return Rb(n)?n.then(o=>r(o)):r(n)}unwrap(){return this._def.innerType}}Hb.create=(t,e)=>new Hb({innerType:t,typeName:En.ZodReadonly,...Bn(e)});function Qne(t,e={},n){return t?uy.create().superRefine((r,o)=>{var s,a;if(!t(r)){const i=typeof e=="function"?e(r):typeof e=="string"?{message:e}:e,l=(a=(s=i.fatal)!==null&&s!==void 0?s:n)!==null&&a!==void 0?a:!0,u=typeof i=="string"?{message:i}:i;o.addIssue({code:"custom",...u,fatal:l})}}):uy.create()}const D9e={object:ko.lazycreate};var En;(function(t){t.ZodString="ZodString",t.ZodNumber="ZodNumber",t.ZodNaN="ZodNaN",t.ZodBigInt="ZodBigInt",t.ZodBoolean="ZodBoolean",t.ZodDate="ZodDate",t.ZodSymbol="ZodSymbol",t.ZodUndefined="ZodUndefined",t.ZodNull="ZodNull",t.ZodAny="ZodAny",t.ZodUnknown="ZodUnknown",t.ZodNever="ZodNever",t.ZodVoid="ZodVoid",t.ZodArray="ZodArray",t.ZodObject="ZodObject",t.ZodUnion="ZodUnion",t.ZodDiscriminatedUnion="ZodDiscriminatedUnion",t.ZodIntersection="ZodIntersection",t.ZodTuple="ZodTuple",t.ZodRecord="ZodRecord",t.ZodMap="ZodMap",t.ZodSet="ZodSet",t.ZodFunction="ZodFunction",t.ZodLazy="ZodLazy",t.ZodLiteral="ZodLiteral",t.ZodEnum="ZodEnum",t.ZodEffects="ZodEffects",t.ZodNativeEnum="ZodNativeEnum",t.ZodOptional="ZodOptional",t.ZodNullable="ZodNullable",t.ZodDefault="ZodDefault",t.ZodCatch="ZodCatch",t.ZodPromise="ZodPromise",t.ZodBranded="ZodBranded",t.ZodPipeline="ZodPipeline",t.ZodReadonly="ZodReadonly"})(En||(En={}));const L9e=(t,e={message:`Input not instance of ${t.name}`})=>Qne(n=>n instanceof t,e),Jne=$c.create,Xne=oh.create,P9e=Ok.create,O9e=sh.create,ere=Tb.create,z9e=gg.create,F9e=Dk.create,B9e=Db.create,U9e=Lb.create,$9e=uy.create,V9e=Gm.create,H9e=ld.create,W9e=Lk.create,Y9e=Wc.create,G9e=ko.create,q9e=ko.strictCreate,K9e=Pb.create,Z9e=$C.create,Q9e=Ob.create,J9e=ef.create,X9e=zb.create,eAe=Pk.create,tAe=yg.create,nAe=B0.create,rAe=Fb.create,oAe=Bb.create,sAe=ah.create,aAe=Ub.create,iAe=fy.create,zU=Jc.create,lAe=Wu.create,cAe=ih.create,uAe=Jc.createWithPreprocess,fAe=W2.create,dAe=()=>Jne().optional(),pAe=()=>Xne().optional(),hAe=()=>ere().optional(),mAe={string:(t=>$c.create({...t,coerce:!0})),number:(t=>oh.create({...t,coerce:!0})),boolean:(t=>Tb.create({...t,coerce:!0})),bigint:(t=>sh.create({...t,coerce:!0})),date:(t=>gg.create({...t,coerce:!0}))},gAe=In;var F1=Object.freeze({__proto__:null,defaultErrorMap:cy,setErrorMap:u9e,getErrorMap:Mk,makeIssue:Rk,EMPTY_PATH:f9e,addIssueToContext:Qt,ParseStatus:La,INVALID:In,DIRTY:h0,OK:ni,isAborted:Y_,isDirty:G_,isValid:mg,isAsync:Rb,get util(){return cr},get objectUtil(){return W_},ZodParsedType:en,getParsedType:Gf,ZodType:Wn,datetimeRegex:Kne,ZodString:$c,ZodNumber:oh,ZodBigInt:sh,ZodBoolean:Tb,ZodDate:gg,ZodSymbol:Dk,ZodUndefined:Db,ZodNull:Lb,ZodAny:uy,ZodUnknown:Gm,ZodNever:ld,ZodVoid:Lk,ZodArray:Wc,ZodObject:ko,ZodUnion:Pb,ZodDiscriminatedUnion:$C,ZodIntersection:Ob,ZodTuple:ef,ZodRecord:zb,ZodMap:Pk,ZodSet:yg,ZodFunction:B0,ZodLazy:Fb,ZodLiteral:Bb,ZodEnum:ah,ZodNativeEnum:Ub,ZodPromise:fy,ZodEffects:Jc,ZodTransformer:Jc,ZodOptional:Wu,ZodNullable:ih,ZodDefault:$b,ZodCatch:Vb,ZodNaN:Ok,BRAND:T9e,ZodBranded:ZT,ZodPipeline:W2,ZodReadonly:Hb,custom:Qne,Schema:Wn,ZodSchema:Wn,late:D9e,get ZodFirstPartyTypeKind(){return En},coerce:mAe,any:$9e,array:Y9e,bigint:O9e,boolean:ere,date:z9e,discriminatedUnion:Z9e,effect:zU,enum:sAe,function:nAe,instanceof:L9e,intersection:Q9e,lazy:rAe,literal:oAe,map:eAe,nan:P9e,nativeEnum:aAe,never:H9e,null:U9e,nullable:cAe,number:Xne,object:G9e,oboolean:hAe,onumber:pAe,optional:lAe,ostring:dAe,pipeline:fAe,preprocess:uAe,promise:iAe,record:X9e,set:tAe,strictObject:q9e,string:Jne,symbol:F9e,transformer:zU,tuple:J9e,undefined:B9e,union:K9e,unknown:V9e,void:W9e,NEVER:gAe,ZodIssueCode:Pt,quotelessJson:c9e,ZodError:al});const Ic="Upload aborted",x0=class x0{constructor(){je(this,"serviceConfig",Xe.getMediaUploadServiceConfig());je(this,"nip96ServiceUploadUrlMap",new Map);je(this,"imetaTagMap",new Map);return x0.instance||(x0.instance=this),x0.instance}setServiceConfig(e){this.serviceConfig=e}async upload(e,n){let r;return this.serviceConfig.type==="nip96"?r=await this.uploadByNip96(this.serviceConfig.service,e,n):r=await this.uploadByBlossom(e,n),r.tags.length>0&&this.imetaTagMap.set(r.url,["imeta",...r.tags.map(([o,s])=>`${o} ${s}`)]),r}async uploadByBlossom(e,n){var M,D,O,L;const r=ze.pubkey,o=async B=>{if(!ze.signer)throw new Error("You need to be logged in to upload media");return ze.signer.signEvent(B)};if(!r)throw new Error("You need to be logged in to upload media");if((M=n==null?void 0:n.signal)!=null&&M.aborted)throw new Error(Ic);(D=n==null?void 0:n.onProgress)==null||D.call(n,0);let s=1,a;const i=()=>{a===void 0&&(a=window.setInterval(()=>{var B;s=Math.min(s+3,90),(B=n==null?void 0:n.onProgress)==null||B.call(n,s),s>=90&&l()},300))},l=()=>{a!==void 0&&(clearInterval(a),a=void 0)};i();let u=await ze.fetchBlossomServerList(r);const d=new Set(u);if(gk.forEach(B=>d.add(B)),u=Array.from(d),u.length===0)throw new Error("No Blossom services available");const[f,...m]=u,g=await kp.createUploadAuth(o,e,{message:"Uploading media file"});let w,b;const j=[f,...m],S=B=>new Promise((T,R)=>{const z=new XMLHttpRequest,Y=B.replace(/\/$/,"")+"/upload";z.open("PUT",Y),z.setRequestHeader("Authorization","Nostr "+btoa(JSON.stringify(g))),z.setRequestHeader("Content-Type",e.type||"application/octet-stream"),z.responseType="json",z.timeout=15e3;const Q=()=>{z.abort(),R(new Error(Ic))};if(n!=null&&n.signal){if(n.signal.aborted)return Q();n.signal.addEventListener("abort",Q,{once:!0})}z.ontimeout=()=>R(new Error("Upload timed out")),z.onerror=()=>R(new Error("Network error")),z.onload=()=>{if(z.status>=200&&z.status<300){const W=z.response;W!=null&&W.url?T({url:W.url,sha256:W.sha256,size:W.size,type:W.type,nip94:W.nip94}):R(new Error("No URL in response"))}else R(new Error(`Upload failed: ${z.status} ${z.statusText}`))},z.send(e)});for(const B of j)try{w=await S(B);break}catch(T){console.error(`Blossom XHR upload failed for ${B}:`,T);try{const R=kp.uploadBlob(B,e,{auth:g}),z=new Promise((Q,W)=>setTimeout(()=>W(new Error("SDK upload timed out")),15e3)),Y=await Promise.race([R,z]);w={url:Y.url,sha256:Y.sha256,size:Y.size,type:Y.type,nip94:Y.nip94};break}catch(R){console.error(`Blossom SDK upload failed for ${B}:`,R),b=R instanceof Error?R:new Error(String(R))}}if(!w)throw b??new Error("All Blossom servers failed");if(l(),(O=n==null?void 0:n.onProgress)==null||O.call(n,80),w.sha256){const B=w.url?new URL(w.url).origin:f,T=j.filter(R=>R!==B);if(T.length>0){const R={url:w.url,sha256:w.sha256,size:w.size??0,type:w.type??e.type,uploaded:Date.now()};await Promise.allSettled(T.map(z=>kp.mirrorBlob(z,R,{auth:g})))}}let I=[];const N=F1.array(F1.array(F1.string())).safeParse(w.nip94??[]);return N.success&&(I=N.data),(L=n==null?void 0:n.onProgress)==null||L.call(n,100),{url:w.url,tags:I}}async uploadByNip96(e,n,r){var l,u;if((l=r==null?void 0:r.signal)!=null&&l.aborted)throw new Error(Ic);let o=this.nip96ServiceUploadUrlMap.get(e);if(!o){const d=await fetch(`${e}/.well-known/nostr/nip96.json`);if(!d.ok)throw new Error(`${la(e)} does not work, please try another service in your settings`);const f=await d.json();if(o=f==null?void 0:f.api_url,!o)throw new Error(`${la(e)} does not work, please try another service in your settings`);this.nip96ServiceUploadUrlMap.set(e,o)}if((u=r==null?void 0:r.signal)!=null&&u.aborted)throw new Error(Ic);const s=new FormData;s.append("file",n);const a=await ze.signHttpAuth(o,"POST","Uploading media file");return await new Promise((d,f)=>{const m=new XMLHttpRequest;m.open("POST",o),m.responseType="json",m.setRequestHeader("Authorization",a);const g=()=>{try{m.abort()}catch{}f(new Error(Ic))};if(r!=null&&r.signal){if(r.signal.aborted)return g();r.signal.addEventListener("abort",g,{once:!0})}m.upload.onprogress=w=>{var b;if(w.lengthComputable){const j=Math.round(w.loaded/w.total*100);(b=r==null?void 0:r.onProgress)==null||b.call(r,j)}},m.onerror=()=>f(new Error("Network error")),m.onload=()=>{var w,b;if(m.status>=200&&m.status<300){const j=m.response;try{const S=F1.array(F1.array(F1.string())).parse(((w=j==null?void 0:j.nip94_event)==null?void 0:w.tags)??[]),I=(b=S.find(([N])=>N==="url"))==null?void 0:b[1];I?d({url:I,tags:S}):f(new Error("No url found"))}catch(S){f(S)}}else f(new Error(m.status.toString()+" "+m.statusText))},m.send(s)})}getImetaTagByUrl(e){return this.imetaTagMap.get(e)}async deleteBlob(e,n){const r=ze.pubkey,o=async l=>{if(!ze.signer)throw new Error("You need to be logged in to delete media");return ze.signer.signEvent(l)};if(!r)throw new Error("You need to be logged in to delete media");let s=n;if((!s||s.length===0)&&(s=await ze.fetchBlossomServerList(r)),s.length===0)throw new Error("No Blossom servers configured");const a=[],i=[];for(const l of s){const u=l.replace(/\/$/,""),d=`${u}/${e}`;try{const f=await kp.createDeleteAuth(o,e,{servers:[u],message:"Deleting media file"}),m=await fetch(d,{method:"DELETE",headers:{Authorization:"Nostr "+btoa(JSON.stringify(f))}});if(m.ok){a.push(l);continue}if(m.status===400||m.status===401){const g=await kp.createDeleteAuth(o,e,{message:"Deleting media file"});if((await fetch(d,{method:"DELETE",headers:{Authorization:"Nostr "+btoa(JSON.stringify(g))}})).ok){a.push(l);continue}}console.error(`Failed to delete blob from ${l}: ${m.status} ${m.statusText}`),i.push(l)}catch(f){console.error(`Error deleting blob from ${l}:`,f),i.push(l)}}return{deleted:a,failed:i}}async uploadResponsiveImage(e,n){var g,w,b,j,S,I,N,M;if(!qT(e))throw new Error("Unsupported image format. Supported: JPEG, PNG, WebP, GIF");const r=ze.pubkey,o=ze.signer;if(!r||!o)throw new Error("You need to be logged in to upload media");if((g=n==null?void 0:n.signal)!=null&&g.aborted)throw new Error(Ic);(w=n==null?void 0:n.onProgress)==null||w.call(n,0);const s=await jIe(e,{onProgress:D=>{var O;(O=n==null?void 0:n.onProgress)==null||O.call(n,Math.round(D*.3))}});if((b=n==null?void 0:n.signal)!=null&&b.aborted)throw new Error(Ic);let a=await ze.fetchBlossomServerList(r);const i=new Set(a);if(gk.forEach(D=>i.add(D)),a=Array.from(i),a.length===0)throw new Error("No Blossom services available");const l=[],u=60/s.length;for(let D=0;D<s.length;D++){if((j=n==null?void 0:n.signal)!=null&&j.aborted)throw new Error(Ic);const O=s[D],L=CIe(O.mimeType),B=new File([O.blob],`image-${O.variant}.${L}`,{type:O.mimeType}),T=await this.uploadSingleBlob(B,a,n==null?void 0:n.signal);if(!T.sha256)throw new Error(`Upload failed for ${O.variant} variant: no hash returned`);l.push({variant:O.variant,url:T.url,sha256:T.sha256,width:O.width,height:O.height,mimeType:O.mimeType,size:O.blob.size});const R=30+Math.round((D+1)*u);(S=n==null?void 0:n.onProgress)==null||S.call(n,R)}if((I=n==null?void 0:n.signal)!=null&&I.aborted)throw new Error(Ic);(N=n==null?void 0:n.onProgress)==null||N.call(n,90);const d=EIe(l,{description:n==null?void 0:n.description,alt:n==null?void 0:n.alt}),f=await o.signEvent(d);let m=ze.currentRelays.length>0?ze.currentRelays:[];if(m.length===0)try{m=(await ze.fetchRelayList(r)).write.slice(0,10)}catch(D){console.warn("[MediaUploadService] Failed to fetch relay list:",D)}return m.length>0?await ze.publishEvent(m,f):console.warn("[MediaUploadService] No relays available to publish binding event - event not published"),(M=n==null?void 0:n.onProgress)==null||M.call(n,100),{event:f,variants:l}}async uploadSingleBlob(e,n,r){const o=async u=>{if(!ze.signer)throw new Error("You need to be logged in to upload media");return ze.signer.signEvent(u)},s=await kp.createUploadAuth(o,e,{message:"Uploading media file"});let a,i;const l=u=>new Promise((d,f)=>{const m=new XMLHttpRequest,g=u.replace(/\/$/,"")+"/upload";m.open("PUT",g),m.setRequestHeader("Authorization","Nostr "+btoa(JSON.stringify(s))),m.setRequestHeader("Content-Type",e.type||"application/octet-stream"),m.responseType="json",m.timeout=3e4;const w=()=>{m.abort(),f(new Error(Ic))};if(r){if(r.aborted)return w();r.addEventListener("abort",w,{once:!0})}m.ontimeout=()=>f(new Error("Upload timed out")),m.onerror=()=>f(new Error("Network error")),m.onload=()=>{if(m.status>=200&&m.status<300){const b=m.response;b!=null&&b.url?d({url:b.url,sha256:b.sha256,size:b.size,type:b.type}):f(new Error("No URL in response"))}else f(new Error(`Upload failed: ${m.status} ${m.statusText}`))},m.send(e)});for(const u of n)try{a=await l(u);break}catch(d){console.error(`Blossom upload failed for ${u}:`,d),i=d instanceof Error?d:new Error(String(d))}if(!a)throw i??new Error("All Blossom servers failed");return a}};je(x0,"instance");let K_=x0;const lh=new K_;function QT(t){if(t.startsWith("http"))return"web";if(t.startsWith("isbn:"))return"isbn";if(t.startsWith("isan:"))return"isan";if(t.startsWith("doi:"))return"doi";if(t.startsWith("#"))return"#";if(t.startsWith("podcast:guid:"))return"podcast:guid";if(t.startsWith("podcast:item:guid:"))return"podcast:item:guid";if(t.startsWith("podcast:publisher:guid:"))return"podcast:publisher:guid";const e=t.match(/^([a-z]+):(?:[^:]+:)?tx:[a-f0-9]+$/i);if(e)return`${e[1].toLowerCase()}:tx`;const n=t.match(/^([a-z]+):(?:[^:]+:)?address:[a-zA-Z0-9]+$/i);if(n)return`${n[1].toLowerCase()}:address`}const Z_=new Map;function yAe(t){const e=tre(t);Z_.delete(e)}function VC(t){const e=tre(t),n=Z_.get(e);if(n)return JSON.parse(n);const r={...t,created_at:Nn().unix()};return Z_.set(e,JSON.stringify(r)),r}function tre(t){const e=JSON.stringify({content:t.content,kind:t.kind,tags:t.tags}),r=new TextEncoder().encode(e),o=Cb(r);return Array.from(new Uint8Array(o)).map(a=>a.toString(16).padStart(2,"0")).join("")}function nre(t,e="+"){const n=[];n.push(Wb(t.id,t.pubkey)),n.push(Hp(t.pubkey)),t.kind!==Ue.ShortTextNote&&n.push(dy(t.kind)),Fs(t.kind)&&n.push(Hg(t));let r;return typeof e=="string"?r=e:(r=`:${e.shortcode}:`,n.push(tD(e))),{kind:Ue.Reaction,content:r,tags:n,created_at:Nn().unix()}}function rre(t,e="+"){const n=[];n.push(Q_(t));const r=QT(t);r&&n.push(dy(r));let o;return typeof e=="string"?o=e:(o=`:${e.shortcode}:`,n.push(tD(e))),{kind:gt.EXTERNAL_CONTENT_REACTION,content:o,tags:n,created_at:Nn().unix()}}function vAe(t){const e=vT(t),n=[Wb(t.id,t.pubkey),Hp(t.pubkey)];if(t.kind===Ue.ShortTextNote)return{kind:Ue.Repost,content:e?"":JSON.stringify(t),tags:n,created_at:Nn().unix()};n.push(dy(t.kind));const r=Fs(t.kind);return r&&n.push(Hg(t)),{kind:Ue.GenericRepost,content:e||r?"":JSON.stringify(t),tags:n,created_at:Nn().unix()}}async function wAe(t,e,n={}){const{content:r,emojiTags:o}=Y2(t),{quoteTags:s,rootTag:a,parentTag:i}=await are(r,n.parentEvent),l=WC(r),u=o.concat(l.map(m=>GC(m))),d=YC(r);d&&d.length&&u.push(...HC(d)),u.push(...s),a&&u.push(a),i&&u.push(i),u.push(...e.map(m=>Hp(m))),n.addClientTag&&u.push(qC()),n.isNsfw&&u.push(KC()),n.protectedEvent&&u.push(nD());const f={kind:Ue.ShortTextNote,content:r,tags:u};return VC(f)}async function bAe(t,e,n,r={}){const{content:o,emojiTags:s}=Y2(t),{quoteTags:a,rootEventId:i,rootCoordinateTag:l,rootKind:u,rootPubkey:d,rootUrl:f,parentEvent:m,externalContent:g}=await TAe(o,e),w=WC(o),b=s.concat(w.map(N=>GC(N))).concat(a),j=YC(o);j&&j.length&&b.push(...HC(j)),b.push(...n.filter(N=>N!==(m==null?void 0:m.pubkey)).map(N=>Hp(N))),l?b.push(l):i&&b.push(Wb(i,d,"",!0)),d&&b.push(Hp(d,!0)),u&&b.push(dy(u,!0)),f&&b.push(Q_(f,!0)),b.push(...m?[Fs(m.kind)?Hg(m):Wb(m.id,m.pubkey),Hp(m.pubkey)]:g?[Q_(g)]:[]);const S=m?m.kind:g?QT(g):void 0;S&&b.push(dy(S)),r.addClientTag&&b.push(qC()),r.isNsfw&&b.push(KC()),r.protectedEvent&&b.push(nD());const I={kind:gt.COMMENT,content:o,tags:b};return VC(I)}function xAe(t,e="",n,r,o={}){const{content:s,emojiTags:a}=Y2(e),i=XT(e),l=WC(s),u=a.concat(l.map(g=>GC(g))),d=YC(s);d&&d.length&&u.push(...HC(d)),u.push(...i),u.push(...r.filter(g=>g!==n.pubkey).map(g=>["p",g,"","mention"])),s&&u.push(["comment",s]);const f=ze.getEventHint(n.id);Fs(n.kind)?u.push(["a",ti(n),f,"source"]):u.push(["e",n.id,f,"source"]),u.push(["p",n.pubkey,"","author"]),o.addClientTag&&u.push(qC()),o.isNsfw&&u.push(KC()),o.protectedEvent&&u.push(nD());const m={kind:Ue.Highlights,content:t,tags:u};return VC(m)}function ore(t){return{kind:Ue.RelayList,content:"",tags:t.map(({url:e,scope:n})=>LAe(e,n)),created_at:Nn().unix()}}function kAe(t,e){return{kind:Ue.Contacts,content:e??"",created_at:Nn().unix(),tags:t}}function jAe(t,e){return{kind:Ue.Mutelist,content:e??"",created_at:Nn().unix(),tags:t}}function JT(t,e=[]){return{kind:Ue.Metadata,content:t,tags:e,created_at:Nn().unix()}}function CAe(){return{kind:Ue.Application,content:"Records read time to sync notification status across devices.",tags:[eD(Xp.NOTIFICATIONS_SEEN_AT)],created_at:Nn().unix()}}function SAe(t){return{kind:Ue.Application,content:t,tags:[eD(Xp.SETTINGS)],created_at:Nn().unix()}}function EAe(t){return{kind:Ue.Application,content:JSON.stringify(t),tags:[eD(Xp.DM_DELETED_MESSAGES)],created_at:Nn().unix()}}function FU(t,e=""){return{kind:Ue.UserEmojiList,content:e,tags:t,created_at:Nn().unix()}}function XI(t){return{kind:gt.BLOSSOM_SERVER_LIST,content:"",tags:t.map(e=>PAe(e)),created_at:Nn().unix()}}async function NAe(t,e,n,{isMultipleChoice:r,relays:o,options:s,endsAt:a},{addClientTag:i,isNsfw:l}={}){const{content:u,emojiTags:d}=Y2(e),{quoteTags:f}=await are(u),m=WC(u),g=d.concat(m.map(S=>GC(S))),w=YC(u);w&&w.length&&g.push(...HC(w)),g.push(...f),g.push(...n.map(S=>Hp(S)));const b=s.filter(S=>S.trim());g.push(...b.map(S=>["option",vd(9),S.trim()])),g.push(["polltype",r?Wm.MULTIPLE_CHOICE:Wm.SINGLE_CHOICE]),a&&g.push(["endsAt",a.toString()]),o.length?o.forEach(S=>g.push(BU(S))):(await ze.fetchRelayList(t)).read.slice(0,4).forEach(I=>{g.push(BU(I))}),i&&g.push(qC()),l&&g.push(KC());const j={content:u.trim(),kind:gt.POLL,tags:g};return VC(j)}function IAe(t,e){return{content:"",kind:gt.POLL_RESPONSE,tags:[Wb(t.id,t.pubkey),Hp(t.pubkey),...e.map(n=>OAe(n))],created_at:Nn().unix()}}function AAe(t){const e=[dy(t.kind)];return Fs(t.kind)?e.push(["a",ti(t)]):e.push(["e",t.id]),{kind:Ue.EventDeletion,content:"Request for deletion of the event.",tags:e,created_at:Nn().unix()}}function _Ae(t,e){const n=[];return t.kind===Ue.Metadata?n.push(["p",t.pubkey,e]):(n.push(["p",t.pubkey]),n.push(["e",t.id,e]),Fs(t.kind)&&n.push(["a",ti(t),e])),{kind:Ue.Report,content:"",tags:n,created_at:Nn().unix()}}function MAe(t,e,n){return{kind:gt.RELAY_REVIEW,content:e,tags:[["d",t],["rating",(n/5).toString()]],created_at:Nn().unix()}}function sre(t){return{kind:28934,created_at:Math.floor(Date.now()/1e3),tags:[["claim",t],["-"]],content:""}}function RAe(){return{kind:28936,created_at:Math.floor(Date.now()/1e3),tags:[["-"]],content:""}}function HC(t){return t.map(e=>lh.getImetaTagByUrl(e)??null).filter(Boolean)}async function are(t,e){let n=null,r=null;const o=XT(t);if(e){const s=wT(e);if((s==null?void 0:s.type)==="e"){r=B1(e.id,e.pubkey,"","reply");const[,a,i,,l]=s.tag;if(l)n=B1(a,l,i,"root");else{const u=oc(s.tag),d=u?await ze.fetchEvent(u):void 0;n=d?B1(d.id,d.pubkey,i,"root"):B1(a,l,i,"root")}}else if((s==null?void 0:s.type)==="a"){r=B1(e.id,e.pubkey,"","reply");const[,a,i]=s.tag;n=DAe(a,i)}else n=B1(e.id,e.pubkey,"","root")}return{quoteTags:o,rootTag:n,parentTag:r}}async function TAe(t,e){var f,m,g,w;const{parentEvent:n,externalContent:r}=typeof e=="string"?{parentEvent:void 0,externalContent:e}:{parentEvent:e,externalContent:void 0},o=n&&[gt.COMMENT,gt.VOICE_COMMENT].includes(n.kind),s=n?o?n.tags.find(An("A")):Fs(n.kind)?Hg(n,!0):void 0:void 0,a=o?(f=n.tags.find(An("E")))==null?void 0:f[1]:n==null?void 0:n.id,i=o?(m=n.tags.find(An("K")))==null?void 0:m[1]:n?n.kind:QT(e),l=o?(g=n.tags.find(An("P")))==null?void 0:g[1]:n==null?void 0:n.pubkey,u=o?(w=n.tags.find(An("I")))==null?void 0:w[1]:r;return{quoteTags:XT(t),rootEventId:a,rootCoordinateTag:s,rootKind:i,rootPubkey:l,rootUrl:u,parentEvent:n,externalContent:r}}function XT(t){var o,s;const e=new Set,n=[],r=t.match(pee);for(const a of r||[])try{const i=a.split(":")[1],{type:l,data:u}=yr.decode(i);if(l==="nevent"){const d=u.id;if(!e.has(d)){e.add(d);const f=((o=u.relays)==null?void 0:o[0])??ze.getEventHint(d);n.push(e9(d,f,u.author))}}else if(l==="note"){const d=u;if(!e.has(d)){e.add(d);const f=ze.getEventHint(d);n.push(e9(d,f))}}else if(l==="naddr"){const d=bT(u.kind,u.pubkey,u.identifier);if(!e.has(d)){e.add(d);const f=(s=u.relays)==null?void 0:s[0];n.push(e9(d,f))}}}catch(i){console.error(i)}return n}function WC(t){const e=[],n=t.match(/#[\p{L}\p{N}\p{M}]+/gu);return n==null||n.forEach(r=>{const o=r.slice(1).toLowerCase();o&&e.push(o)}),e}function YC(t){return t.match(/https?:\/\/[^\s"']+\.(jpg|jpeg|png|gif|webp|heic)/gi)}function Y2(t){const e=[];let n=t;const r=t.match(/:[a-zA-Z0-9]+:/g),o=new Set;return r==null||r.forEach(s=>{if(o.has(s))return;o.add(s);const a=Ju.getEmojiById(s.slice(1,-1));a&&(e.push(tD(a)),n=n.replace(new RegExp(s,"g"),`:${a.shortcode}:`))}),{emojiTags:e,content:n}}function Hg(t,e=!1){const n=ti(t),r=ze.getEventHint(t.id);return ZC([e?"A":"a",n,r])}function eD(t){return["d",t]}function Wb(t,e="",n="",r=!1){return n||(n=ze.getEventHint(t)),ZC([r?"E":"e",t,n,e])}function B1(t,e="",n="",r=""){return n||(n=ze.getEventHint(t)),ZC(["e",t,n,r,e])}function DAe(t,e=""){if(!e){const n=ze.getReplaeableEventFromCache(t);n&&(e=ze.getEventHint(n.id))}return ZC(["a",t,e,"root"])}function Q_(t,e=!1){return[e?"I":"i",t]}function dy(t,e=!1){return[e?"K":"k",t.toString()]}function Hp(t,e=!1){return[e?"P":"p",t]}function e9(t,e,n){const r=["q",t];return!e||(r.push(e),!n)||r.push(n),r}function LAe(t,e){return e!=="both"?["r",t,e]:["r",t]}function GC(t){return["t",t]}function tD(t){return["emoji",t.shortcode,t.url]}function BU(t){return["relay",t]}function PAe(t){return["server",t]}function OAe(t){return["response",t]}function qC(){return["client","smesh","https://smesh.mleku.dev"]}function KC(){return["content-warning","NSFW"]}function nD(){return["-"]}function ZC(t){let e=t.length-1;for(;e>=0&&t[e]==="";)e--;return t.slice(0,e+1)}var UU,t9,zAe=(UU=function(t,e){function n(T){if(!Number.isSafeInteger(T))throw new Error(`Wrong integer: ${T}`)}function r(...T){const R=(z,Y)=>Q=>z(Y(Q));return{encode:Array.from(T).reverse().reduce((z,Y)=>z?R(z,Y.encode):Y.encode,void 0),decode:T.reduce((z,Y)=>z?R(z,Y.decode):Y.decode,void 0)}}function o(T){return{encode:R=>{if(!Array.isArray(R)||R.length&&typeof R[0]!="number")throw new Error("alphabet.encode input should be an array of numbers");return R.map(z=>{if(n(z),z<0||z>=T.length)throw new Error(`Digit index outside alphabet: ${z} (alphabet: ${T.length})`);return T[z]})},decode:R=>{if(!Array.isArray(R)||R.length&&typeof R[0]!="string")throw new Error("alphabet.decode input should be array of strings");return R.map(z=>{if(typeof z!="string")throw new Error(`alphabet.decode: not string element=${z}`);const Y=T.indexOf(z);if(Y===-1)throw new Error(`Unknown letter: "${z}". Allowed: ${T}`);return Y})}}}function s(T=""){if(typeof T!="string")throw new Error("join separator should be string");return{encode:R=>{if(!Array.isArray(R)||R.length&&typeof R[0]!="string")throw new Error("join.encode input should be array of strings");for(let z of R)if(typeof z!="string")throw new Error(`join.encode: non-string input=${z}`);return R.join(T)},decode:R=>{if(typeof R!="string")throw new Error("join.decode input should be string");return R.split(T)}}}function a(T,R="="){if(n(T),typeof R!="string")throw new Error("padding chr should be string");return{encode(z){if(!Array.isArray(z)||z.length&&typeof z[0]!="string")throw new Error("padding.encode input should be array of strings");for(let Y of z)if(typeof Y!="string")throw new Error(`padding.encode: non-string input=${Y}`);for(;z.length*T%8;)z.push(R);return z},decode(z){if(!Array.isArray(z)||z.length&&typeof z[0]!="string")throw new Error("padding.encode input should be array of strings");for(let Q of z)if(typeof Q!="string")throw new Error(`padding.decode: non-string input=${Q}`);let Y=z.length;if(Y*T%8)throw new Error("Invalid padding: string should have whole number of bytes");for(;Y>0&&z[Y-1]===R;Y--)if(!((Y-1)*T%8))throw new Error("Invalid padding: string has too much padding");return z.slice(0,Y)}}}function i(T){if(typeof T!="function")throw new Error("normalize fn should be function");return{encode:R=>R,decode:R=>T(R)}}function l(T,R,z){if(R<2)throw new Error(`convertRadix: wrong from=${R}, base cannot be less than 2`);if(z<2)throw new Error(`convertRadix: wrong to=${z}, base cannot be less than 2`);if(!Array.isArray(T))throw new Error("convertRadix: data should be array");if(!T.length)return[];let Y=0;const Q=[],W=Array.from(T);for(W.forEach(F=>{if(n(F),F<0||F>=R)throw new Error(`Wrong integer: ${F}`)});;){let F=0,X=!0;for(let $=Y;$<W.length;$++){const V=W[$],K=R*F+V;if(!Number.isSafeInteger(K)||R*F/R!==F||K-V!=R*F)throw new Error("convertRadix: carry overflow");if(F=K%z,W[$]=Math.floor(K/z),!Number.isSafeInteger(W[$])||W[$]*z+F!==K)throw new Error("convertRadix: carry overflow");X&&(W[$]?X=!1:Y=$)}if(Q.push(F),X)break}for(let F=0;F<T.length-1&&T[F]===0;F++)Q.push(0);return Q.reverse()}Object.defineProperty(e,"__esModule",{value:!0}),e.bytes=e.stringToBytes=e.str=e.bytesToString=e.hex=e.utf8=e.bech32m=e.bech32=e.base58check=e.base58xmr=e.base58xrp=e.base58flickr=e.base58=e.base64url=e.base64=e.base32crockford=e.base32hex=e.base32=e.base16=e.utils=e.assertNumber=void 0,e.assertNumber=n;const u=(T,R)=>R?u(R,T%R):T,d=(T,R)=>T+(R-u(T,R));function f(T,R,z,Y){if(!Array.isArray(T))throw new Error("convertRadix2: data should be array");if(R<=0||R>32)throw new Error(`convertRadix2: wrong from=${R}`);if(z<=0||z>32)throw new Error(`convertRadix2: wrong to=${z}`);if(d(R,z)>32)throw new Error(`convertRadix2: carry overflow from=${R} to=${z} carryBits=${d(R,z)}`);let Q=0,W=0;const F=2**z-1,X=[];for(const $ of T){if(n($),$>=2**R)throw new Error(`convertRadix2: invalid data word=${$} from=${R}`);if(Q=Q<<R|$,W+R>32)throw new Error(`convertRadix2: carry overflow pos=${W} from=${R}`);for(W+=R;W>=z;W-=z)X.push((Q>>W-z&F)>>>0);Q&=2**W-1}if(Q=Q<<z-W&F,!Y&&W>=R)throw new Error("Excess padding");if(!Y&&Q)throw new Error(`Non-zero padding: ${Q}`);return Y&&W>0&&X.push(Q>>>0),X}function m(T){return n(T),{encode:R=>{if(!(R instanceof Uint8Array))throw new Error("radix.encode input should be Uint8Array");return l(Array.from(R),256,T)},decode:R=>{if(!Array.isArray(R)||R.length&&typeof R[0]!="number")throw new Error("radix.decode input should be array of strings");return Uint8Array.from(l(R,T,256))}}}function g(T,R=!1){if(n(T),T<=0||T>32)throw new Error("radix2: bits should be in (0..32]");if(d(8,T)>32||d(T,8)>32)throw new Error("radix2: carry overflow");return{encode:z=>{if(!(z instanceof Uint8Array))throw new Error("radix2.encode input should be Uint8Array");return f(Array.from(z),8,T,!R)},decode:z=>{if(!Array.isArray(z)||z.length&&typeof z[0]!="number")throw new Error("radix2.decode input should be array of strings");return Uint8Array.from(f(z,T,8,R))}}}function w(T){if(typeof T!="function")throw new Error("unsafeWrapper fn should be function");return function(...R){try{return T.apply(null,R)}catch{}}}function b(T,R){if(n(T),typeof R!="function")throw new Error("checksum fn should be function");return{encode(z){if(!(z instanceof Uint8Array))throw new Error("checksum.encode: input should be Uint8Array");const Y=R(z).slice(0,T),Q=new Uint8Array(z.length+T);return Q.set(z),Q.set(Y,z.length),Q},decode(z){if(!(z instanceof Uint8Array))throw new Error("checksum.decode: input should be Uint8Array");const Y=z.slice(0,-T),Q=R(Y).slice(0,T),W=z.slice(-T);for(let F=0;F<T;F++)if(Q[F]!==W[F])throw new Error("Invalid checksum");return Y}}}e.utils={alphabet:o,chain:r,checksum:b,radix:m,radix2:g,join:s,padding:a},e.base16=r(g(4),o("0123456789ABCDEF"),s("")),e.base32=r(g(5),o("ABCDEFGHIJKLMNOPQRSTUVWXYZ234567"),a(5),s("")),e.base32hex=r(g(5),o("0123456789ABCDEFGHIJKLMNOPQRSTUV"),a(5),s("")),e.base32crockford=r(g(5),o("0123456789ABCDEFGHJKMNPQRSTVWXYZ"),s(""),i(T=>T.toUpperCase().replace(/O/g,"0").replace(/[IL]/g,"1"))),e.base64=r(g(6),o("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"),a(6),s("")),e.base64url=r(g(6),o("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"),a(6),s(""));const j=T=>r(m(58),o(T),s(""));e.base58=j("123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"),e.base58flickr=j("123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"),e.base58xrp=j("rpshnaf39wBUDNEGHJKLM4PQRST7VWXYZ2bcdeCg65jkm8oFqi1tuvAxyz");const S=[0,2,3,5,6,7,9,10,11];e.base58xmr={encode(T){let R="";for(let z=0;z<T.length;z+=8){const Y=T.subarray(z,z+8);R+=e.base58.encode(Y).padStart(S[Y.length],"1")}return R},decode(T){let R=[];for(let z=0;z<T.length;z+=11){const Y=T.slice(z,z+11),Q=S.indexOf(Y.length),W=e.base58.decode(Y);for(let F=0;F<W.length-Q;F++)if(W[F]!==0)throw new Error("base58xmr: wrong padding");R=R.concat(Array.from(W.slice(W.length-Q)))}return Uint8Array.from(R)}},e.base58check=T=>r(b(4,R=>T(T(R))),e.base58);const I=r(o("qpzry9x8gf2tvdw0s3jn54khce6mua7l"),s("")),N=[996825010,642813549,513874426,1027748829,705979059];function M(T){const R=T>>25;let z=(33554431&T)<<5;for(let Y=0;Y<N.length;Y++)(R>>Y&1)==1&&(z^=N[Y]);return z}function D(T,R,z=1){const Y=T.length;let Q=1;for(let W=0;W<Y;W++){const F=T.charCodeAt(W);if(F<33||F>126)throw new Error(`Invalid prefix (${T})`);Q=M(Q)^F>>5}Q=M(Q);for(let W=0;W<Y;W++)Q=M(Q)^31&T.charCodeAt(W);for(let W of R)Q=M(Q)^W;for(let W=0;W<6;W++)Q=M(Q);return Q^=z,I.encode(f([Q%2**30],30,5,!1))}function O(T){const R=T==="bech32"?1:734539939,z=g(5),Y=z.decode,Q=z.encode,W=w(Y);function F(X,$=90){if(typeof X!="string")throw new Error("bech32.decode input should be string, not "+typeof X);if(X.length<8||$!==!1&&X.length>$)throw new TypeError(`Wrong string length: ${X.length} (${X}). Expected (8..${$})`);const V=X.toLowerCase();if(X!==V&&X!==X.toUpperCase())throw new Error("String must be lowercase or uppercase");const K=(X=V).lastIndexOf("1");if(K===0||K===-1)throw new Error('Letter "1" must be present between prefix and data only');const G=X.slice(0,K),J=X.slice(K+1);if(J.length<6)throw new Error("Data must be at least 6 characters long");const ne=I.decode(J).slice(0,-6),re=D(G,ne,R);if(!J.endsWith(re))throw new Error(`Invalid checksum in ${X}: expected "${re}"`);return{prefix:G,words:ne}}return{encode:function(X,$,V=90){if(typeof X!="string")throw new Error("bech32.encode prefix should be string, not "+typeof X);if(!Array.isArray($)||$.length&&typeof $[0]!="number")throw new Error("bech32.encode words should be array of numbers, not "+typeof $);const K=X.length+7+$.length;if(V!==!1&&K>V)throw new TypeError(`Length ${K} exceeds limit ${V}`);return`${X=X.toLowerCase()}1${I.encode($)}${D(X,$,R)}`},decode:F,decodeToBytes:function(X){const{prefix:$,words:V}=F(X,!1);return{prefix:$,words:V,bytes:Y(V)}},decodeUnsafe:w(F),fromWords:Y,fromWordsUnsafe:W,toWords:Q}}e.bech32=O("bech32"),e.bech32m=O("bech32m"),e.utf8={encode:T=>new TextDecoder().decode(T),decode:T=>new TextEncoder().encode(T)},e.hex=r(g(4),o("0123456789abcdef"),s(""),i(T=>{if(typeof T!="string"||T.length%2)throw new TypeError(`hex.decode: expected string, got ${typeof T} with length ${T.length}`);return T.toLowerCase()}));const L={utf8:e.utf8,hex:e.hex,base16:e.base16,base32:e.base32,base64:e.base64,base64url:e.base64url,base58:e.base58,base58xmr:e.base58xmr},B=`Invalid encoding type. Available types: ${Object.keys(L).join(", ")}`;e.bytesToString=(T,R)=>{if(typeof T!="string"||!L.hasOwnProperty(T))throw new TypeError(B);if(!(R instanceof Uint8Array))throw new TypeError("bytesToString() expects Uint8Array");return L[T].encode(R)},e.str=e.bytesToString,e.stringToBytes=(T,R)=>{if(!L.hasOwnProperty(T))throw new TypeError(B);if(typeof R!="string")throw new TypeError("stringToBytes() expects string");return L[T].decode(R)},e.bytes=e.stringToBytes},UU(t9={exports:{}},t9.exports),t9.exports);const{bech32:Ru,hex:Ac,utf8:FAe}=zAe,$U={bech32:"bc",pubKeyHash:0,scriptHash:5,validWitnessVersions:[0]},VU={bech32:"tb",pubKeyHash:111,scriptHash:196,validWitnessVersions:[0]},HU={bech32:"tbs",pubKeyHash:111,scriptHash:196,validWitnessVersions:[0]},WU={bech32:"bcrt",pubKeyHash:111,scriptHash:196,validWitnessVersions:[0]},YU={bech32:"sb",pubKeyHash:63,scriptHash:123,validWitnessVersions:[0]},f6=["option_data_loss_protect","initial_routing_sync","option_upfront_shutdown_script","gossip_queries","var_onion_optin","gossip_queries_ex","option_static_remotekey","payment_secret","basic_mpp","option_support_large_channel"],BAe={m:BigInt(1e3),u:BigInt(1e6),n:BigInt(1e9),p:BigInt(1e12)},UAe=BigInt("2100000000000000000"),GU=BigInt(1e11),J_={payment_hash:1,payment_secret:16,description:13,payee:19,description_hash:23,expiry:6,min_final_cltv_expiry:24,fallback_address:9,route_hint:3,feature_bits:5,metadata:27},ire={};for(let t=0,e=Object.keys(J_);t<e.length;t++){const n=e[t],r=J_[e[t]].toString();ire[r]=n}const $Ae={1:t=>Ac.encode(Ru.fromWordsUnsafe(t)),16:t=>Ac.encode(Ru.fromWordsUnsafe(t)),13:t=>FAe.encode(Ru.fromWordsUnsafe(t)),19:t=>Ac.encode(Ru.fromWordsUnsafe(t)),23:t=>Ac.encode(Ru.fromWordsUnsafe(t)),27:t=>Ac.encode(Ru.fromWordsUnsafe(t)),6:zk,24:zk,3:function(t){const e=[];let n,r,o,s,a,i=Ru.fromWordsUnsafe(t);for(;i.length>0;)n=Ac.encode(i.slice(0,33)),r=Ac.encode(i.slice(33,41)),o=parseInt(Ac.encode(i.slice(41,45)),16),s=parseInt(Ac.encode(i.slice(45,49)),16),a=parseInt(Ac.encode(i.slice(49,51)),16),i=i.slice(51),e.push({pubkey:n,short_channel_id:r,fee_base_msat:o,fee_proportional_millionths:s,cltv_expiry_delta:a});return e},5:function(t){const e=t.slice().reverse().map(o=>[!!(1&o),!!(2&o),!!(4&o),!!(8&o),!!(16&o)]).reduce((o,s)=>o.concat(s),[]);for(;e.length<2*f6.length;)e.push(!1);const n={};f6.forEach((o,s)=>{let a;a=e[2*s]?"required":e[2*s+1]?"supported":"unsupported",n[o]=a});const r=e.slice(2*f6.length);return n.extra_bits={start_bit:2*f6.length,bits:r,has_required:r.reduce((o,s,a)=>a%2!=0?o||!1:o||s,!1)},n}};function VAe(t){return e=>({tagCode:parseInt(t),words:Ru.encode("unknown",e,Number.MAX_SAFE_INTEGER)})}function zk(t){return t.reverse().reduce((e,n,r)=>e+n*Math.pow(32,r),0)}const HAe=t=>Uint8Array.from(t.match(/.{1,2}/g).map(e=>parseInt(e,16))),WAe=t=>{if(!t)return null;try{const e=(function(f,m){if(typeof f!="string")throw new Error("Lightning Payment Request must be string");if(f.slice(0,2).toLowerCase()!=="ln")throw new Error("Not a proper lightning payment request");const g=[],w=Ru.decode(f,Number.MAX_SAFE_INTEGER);f=f.toLowerCase();const b=w.prefix;let j=w.words,S=f.slice(b.length+1),I=j.slice(-104);j=j.slice(0,-104);let N=b.match(/^ln(\S+?)(\d*)([a-zA-Z]?)$/);if(N&&!N[2]&&(N=b.match(/^ln(\S+)$/)),!N)throw new Error("Not a proper lightning payment request");g.push({name:"lightning_network",letters:"ln"});const M=N[1];let D;switch(M){case $U.bech32:D=$U;break;case VU.bech32:D=VU;break;case HU.bech32:D=HU;break;case WU.bech32:D=WU;break;case YU.bech32:D=YU}if(!D||D.bech32!==M)throw new Error("Unknown coin bech32 prefix");g.push({name:"coin_network",letters:M,value:D});const O=N[2];let L;O?(L=(function(F,X){let $,V;if(F.slice(-1).match(/^[munp]$/))$=F.slice(-1),V=F.slice(0,-1);else{if(F.slice(-1).match(/^[^munp0-9]$/))throw new Error("Not a valid multiplier for the amount");V=F}if(!V.match(/^\d+$/))throw new Error("Not a valid human readable amount");const K=BigInt(V),G=$?K*GU/BAe[$]:K*GU;if($==="p"&&K%BigInt(10)!==BigInt(0)||G>UAe)throw new Error("Amount is outside of valid range");return G.toString()})(O+N[3]),g.push({name:"amount",letters:N[2]+N[3],value:L})):L=null,g.push({name:"separator",letters:"1"});const B=zk(j.slice(0,7));let T,R,z,Y;for(j=j.slice(7),g.push({name:"timestamp",letters:S.slice(0,7),value:B}),S=S.slice(7);j.length>0;){const F=j[0].toString();T=ire[F]||"unknown_tag",R=$Ae[F]||VAe(F),j=j.slice(1),z=zk(j.slice(0,2)),j=j.slice(2),Y=j.slice(0,z),j=j.slice(z),g.push({name:T,tag:S[0],letters:S.slice(0,3+z),value:R(Y)}),S=S.slice(3+z)}g.push({name:"signature",letters:S.slice(0,104),value:Ac.encode(Ru.fromWordsUnsafe(I))}),S=S.slice(104),g.push({name:"checksum",letters:S});let Q={paymentRequest:f,sections:g,get expiry(){let F=g.find(X=>X.name==="expiry");if(F)return W("timestamp")+F.value},get route_hints(){return g.filter(F=>F.name==="route_hint").map(F=>F.value)}};for(let F in J_)F!=="route_hint"&&Object.defineProperty(Q,F,{get:()=>W(F)});return Q;function W(F){let X=g.find($=>$.name===F);return X?X.value:void 0}})(t);if(!e||!e.sections)return null;const n=e.sections.find(f=>f.name==="payment_hash");if((n==null?void 0:n.name)!=="payment_hash"||!n.value)return null;const r=n.value;let o=0;const s=e.sections.find(f=>f.name==="amount");(s==null?void 0:s.name)==="amount"&&s.value&&(o=parseInt(s.value)/1e3);const a=e.sections.find(f=>f.name==="timestamp");if((a==null?void 0:a.name)!=="timestamp"||!a.value)return null;const i=a.value;let l;const u=e.sections.find(f=>f.name==="expiry");(u==null?void 0:u.name)==="expiry"&&(l=u.value);const d=e.sections.find(f=>f.name==="description");return{paymentHash:r,satoshi:o,timestamp:i,expiry:l,description:(d==null?void 0:d.name)==="description"?d==null?void 0:d.value:void 0}}catch{return null}};function qU(t,e=!0){if(t.destroyed)throw new Error("Hash instance has been destroyed");if(e&&t.finished)throw new Error("Hash#digest() has already been called")}const lre=t=>t instanceof Uint8Array,n9=t=>new DataView(t.buffer,t.byteOffset,t.byteLength),ju=(t,e)=>t<<32-e|t>>>e;if(new Uint8Array(new Uint32Array([287454020]).buffer)[0]!==68)throw new Error("Non little-endian hardware is not supported");const YAe=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));function GAe(t){if(!lre(t))throw new Error("Uint8Array expected");let e="";for(let n=0;n<t.length;n++)e+=YAe[t[n]];return e}function cre(t){if(typeof t=="string"&&(t=(function(e){if(typeof e!="string")throw new Error("utf8ToBytes expected string, got "+typeof e);return new Uint8Array(new TextEncoder().encode(e))})(t)),!lre(t))throw new Error("expected Uint8Array, got "+typeof t);return t}let qAe=class{clone(){return this._cloneInto()}};function KAe(t){const e=r=>t().update(cre(r)).digest(),n=t();return e.outputLen=n.outputLen,e.blockLen=n.blockLen,e.create=()=>t(),e}let ZAe=class extends qAe{constructor(e,n,r,o){super(),this.blockLen=e,this.outputLen=n,this.padOffset=r,this.isLE=o,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(e),this.view=n9(this.buffer)}update(e){qU(this);const{view:n,buffer:r,blockLen:o}=this,s=(e=cre(e)).length;for(let a=0;a<s;){const i=Math.min(o-this.pos,s-a);if(i!==o)r.set(e.subarray(a,a+i),this.pos),this.pos+=i,a+=i,this.pos===o&&(this.process(n,0),this.pos=0);else{const l=n9(e);for(;o<=s-a;a+=o)this.process(l,a)}}return this.length+=e.length,this.roundClean(),this}digestInto(e){qU(this),(function(f,m){(function(w,...b){if(!(w instanceof Uint8Array))throw new Error("Expected Uint8Array");if(b.length>0&&!b.includes(w.length))throw new Error(`Expected Uint8Array of length ${b}, not of length=${w.length}`)})(f);const g=m.outputLen;if(f.length<g)throw new Error(`digestInto() expects output buffer of length at least ${g}`)})(e,this),this.finished=!0;const{buffer:n,view:r,blockLen:o,isLE:s}=this;let{pos:a}=this;n[a++]=128,this.buffer.subarray(a).fill(0),this.padOffset>o-a&&(this.process(r,0),a=0);for(let f=a;f<o;f++)n[f]=0;(function(f,m,g,w){if(typeof f.setBigUint64=="function")return f.setBigUint64(m,g,w);const b=BigInt(32),j=BigInt(4294967295),S=Number(g>>b&j),I=Number(g&j),N=w?0:4;f.setUint32(m+(w?4:0),S,w),f.setUint32(m+N,I,w)})(r,o-8,BigInt(8*this.length),s),this.process(r,0);const i=n9(e),l=this.outputLen;if(l%4)throw new Error("_sha2: outputLen should be aligned to 32bit");const u=l/4,d=this.get();if(u>d.length)throw new Error("_sha2: outputLen bigger than state");for(let f=0;f<u;f++)i.setUint32(4*f,d[f],s)}digest(){const{buffer:e,outputLen:n}=this;this.digestInto(e);const r=e.slice(0,n);return this.destroy(),r}_cloneInto(e){e||(e=new this.constructor),e.set(...this.get());const{blockLen:n,buffer:r,length:o,finished:s,destroyed:a,pos:i}=this;return e.length=o,e.pos=i,e.finished=s,e.destroyed=a,o%n&&e.buffer.set(r),e}};const QAe=(t,e,n)=>t&e^t&n^e&n,JAe=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),sp=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),ap=new Uint32Array(64);let XAe=class extends ZAe{constructor(){super(64,32,8,!1),this.A=0|sp[0],this.B=0|sp[1],this.C=0|sp[2],this.D=0|sp[3],this.E=0|sp[4],this.F=0|sp[5],this.G=0|sp[6],this.H=0|sp[7]}get(){const{A:e,B:n,C:r,D:o,E:s,F:a,G:i,H:l}=this;return[e,n,r,o,s,a,i,l]}set(e,n,r,o,s,a,i,l){this.A=0|e,this.B=0|n,this.C=0|r,this.D=0|o,this.E=0|s,this.F=0|a,this.G=0|i,this.H=0|l}process(e,n){for(let m=0;m<16;m++,n+=4)ap[m]=e.getUint32(n,!1);for(let m=16;m<64;m++){const g=ap[m-15],w=ap[m-2],b=ju(g,7)^ju(g,18)^g>>>3,j=ju(w,17)^ju(w,19)^w>>>10;ap[m]=j+ap[m-7]+b+ap[m-16]|0}let{A:r,B:o,C:s,D:a,E:i,F:l,G:u,H:d}=this;for(let m=0;m<64;m++){const g=d+(ju(i,6)^ju(i,11)^ju(i,25))+((f=i)&l^~f&u)+JAe[m]+ap[m]|0,w=(ju(r,2)^ju(r,13)^ju(r,22))+QAe(r,o,s)|0;d=u,u=l,l=i,i=a+g|0,a=s,s=o,o=r,r=g+w|0}var f;r=r+this.A|0,o=o+this.B|0,s=s+this.C|0,a=a+this.D|0,i=i+this.E|0,l=l+this.F|0,u=u+this.G|0,d=d+this.H|0,this.set(r,o,s,a,i,l,u,d)}roundClean(){ap.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}};const e5e=KAe(()=>new XAe);let QC=class{constructor(e){var n,r,o,s;if(this.paymentRequest=void 0,this.paymentHash=void 0,this.preimage=void 0,this.verify=void 0,this.satoshi=void 0,this.expiry=void 0,this.timestamp=void 0,this.createdDate=void 0,this.expiryDate=void 0,this.description=void 0,this.successAction=void 0,this.paymentRequest=e.pr,!this.paymentRequest)throw new Error("Invalid payment request");const a=WAe(this.paymentRequest);if(!a)throw new Error("Failed to decode payment request");this.paymentHash=a.paymentHash,this.satoshi=a.satoshi,this.timestamp=a.timestamp,this.expiry=a.expiry,this.createdDate=new Date(1e3*this.timestamp),this.expiryDate=this.expiry?new Date(1e3*(this.timestamp+this.expiry)):void 0,this.description=(n=a.description)!=null?n:null,this.verify=(r=e.verify)!=null?r:null,this.preimage=(o=e.preimage)!=null?o:null,this.successAction=(s=e.successAction)!=null?s:null}async isPaid(){if(this.preimage)return this.validatePreimage(this.preimage);if(this.verify)return await this.verifyPayment();throw new Error("Could not verify payment")}validatePreimage(e){if(!e||!this.paymentHash)return!1;try{const n=GAe(e5e(HAe(e)));return this.paymentHash===n}catch{return!1}}async verifyPayment(){try{if(!this.verify)throw new Error("LNURL verify not available");const e=await fetch(this.verify);if(!e.ok)throw new Error(`Verification request failed: ${e.status} ${e.statusText}`);const n=await e.json();return n.preimage&&(this.preimage=n.preimage),n.settled}catch(e){return console.error("Failed to check LNURL-verify",e),!1}}hasExpired(){const{expiryDate:e}=this;return!!e&&e.getTime()<Date.now()}};const rD=async t=>{const e="https://getalby.com/api/rates/"+t.toLowerCase()+".json",n=await fetch(e);if(!n.ok)throw new Error(`Failed to fetch rate: ${n.status} ${n.statusText}`);return(await n.json()).rate_float/1e8},ure=async({satoshi:t,currency:e})=>{const n=await rD(e);return Number(t)*n},t5e=async({amount:t,currency:e})=>{const n=await rD(e);return Math.floor(Number(t)/n)},n5e=async({satoshi:t,currency:e,locale:n})=>(n||(n="en"),(await ure({satoshi:t,currency:e})).toLocaleString(n,{style:"currency",currency:e}));var r5e={__proto__:null,getFiatBtcRate:rD,getFiatValue:ure,getSatoshiValue:t5e,getFormattedFiatValue:n5e};function o5e(t){try{return new QC({pr:t}).satoshi}catch(e){return console.error("Invalid Lightning invoice:",e),0}}function s5e(t){try{const e=new QC({pr:t});return{amount:e.satoshi,description:e.description}}catch(e){return console.error("Invalid Lightning invoice:",e),{amount:0,description:null}}}function G2(t){return t<1e3?t:t<1e6?`${Math.round(t/100)/10}k`:`${Math.round(t/1e5)/10}M`}function fre(t){const{lud16:e,lud06:n}=t;let r,o;return e&&sy(e)?r=e:n&&sy(n)?r=n:n&&n.startsWith("lnurl")?o=n:e&&e.startsWith("lnurl")&&(o=e),r||o||void 0}function T3(t,e=!0){if(!t)return{write:[],read:[],originalRelays:[]};const n={write:[],read:[],originalRelays:[]};return t.tags.filter(An("r")).forEach(([,r,o])=>{if(!r||!By(r))return;const s=oo(r);if(!s)return;const a=o==="read"?"read":o==="write"?"write":"both";n.originalRelays.push({url:s,scope:a}),!(e&&Ske(s))&&(o==="write"?n.write.push(s):(o==="read"||n.write.push(s),n.read.push(s)))}),n}function U0(t){var e,n,r,o;try{const s=JSON.parse(t.content),a=((e=s.display_name)==null?void 0:e.trim())||((n=s.name)==null?void 0:n.trim())||((o=(r=s.nip05)==null?void 0:r.split("@")[0])==null?void 0:o.trim()),i=th(t.tags),l=Ut.tryFromString(t.pubkey);return{pubkey:t.pubkey,npub:(l==null?void 0:l.npub)??"",banner:s.banner,avatar:s.picture,username:a||((l==null?void 0:l.formatNpub(12))??t.pubkey.slice(0,8)),original_username:a,nip05:s.nip05,about:s.about,website:s.website?oy(s.website):void 0,lud06:s.lud06,lud16:s.lud16,lightningAddress:fre(s),created_at:t.created_at,emojis:i.length>0?i:void 0}}catch(s){console.error(t.content,s);const a=Ut.tryFromString(t.pubkey);return{pubkey:t.pubkey,npub:(a==null?void 0:a.npub)??"",username:(a==null?void 0:a.formatNpub(12))??t.pubkey.slice(0,8)}}}function a5e(t){var o;const e=Uy(t),n=t.tags.filter(An("relay")).map(s=>s[1]).filter(s=>s&&By(s)).map(s=>oo(s));let r=(o=t.tags.find(An("title")))==null?void 0:o[1];return r||(r=e),{id:e,name:r,relayUrls:n,aTag:Hg(t)}}function Fk(t){if(t.kind!==Ue.Zap)return null;let e,n,r,o,s,a,i,l,u;try{if(t.tags.forEach(d=>{const[f,m]=d;switch(f){case"P":e=m;break;case"p":n=m;break;case"e":r=d[1],o=oc(d);break;case"bolt11":s=m;break;case"description":l=m;break;case"preimage":u=m;break}}),!n||!s)return null;if(a=s?o5e(s):0,l)try{const d=JSON.parse(l);i=d.content,e||(e=d.pubkey)}catch{}return{senderPubkey:e,recipientPubkey:n,eventId:o,originalEventId:r,invoice:s,amount:a,comment:i,preimage:u}}catch{return null}}function oD(t){var s;let e,n,r;const o=new Set;return t.tags.forEach(([a,i])=>{a==="title"?e=i:a==="summary"?n=i:a==="image"?r=i:a==="t"&&i&&o.size<6&&o.add(i.toLocaleLowerCase())}),e||(e=((s=t.tags.find(An("d")))==null?void 0:s[1])??"no title"),{title:e,summary:n,image:r,tags:Array.from(o)}}function dre(t){var a;let e,n,r,o;const s=new Set;return t.tags.forEach(([i,l])=>{i==="title"?e=l:i==="summary"?n=l:i==="image"?r=l:i==="status"?o=l:i==="t"&&l&&s.size<6&&s.add(l.toLocaleLowerCase())}),e||(e=((a=t.tags.find(An("d")))==null?void 0:a[1])??"no title"),{title:e,summary:n,image:r,status:o,tags:Array.from(s)}}function pre(t){let e,n,r,o;const s=new Set;return t.tags.forEach(([a,i])=>{a==="name"?n=i:a==="about"?r=i:a==="picture"?o=i:a==="t"&&i?s.add(i.toLocaleLowerCase()):a==="d"&&(e=i)}),n||(n=e??"no name"),{d:e,name:n,about:r,picture:o,tags:Array.from(s)}}function hre(t){var o;let e,n,r;return t.tags.forEach(([s,a])=>{s==="name"?e=a:s==="description"?n=a:s==="image"&&(r=a)}),e||(e=((o=t.tags.find(An("d")))==null?void 0:o[1])??"no name"),{name:e,description:n,image:r}}function i5e(t){const e=[],n=[];let r=Wm.SINGLE_CHOICE,o;for(const[s,...a]of t.tags)if(s==="option"&&a.length>=2){const[i,l]=a;i&&l&&e.push({id:i,label:l})}else if(s==="relay"&&a[0])oo(a[0])&&n.push(a[0]);else if(s==="polltype"&&a[0])a[0]===Wm.MULTIPLE_CHOICE&&(r=Wm.MULTIPLE_CHOICE);else if(s==="endsAt"&&a[0]){const i=parseInt(a[0]);isNaN(i)||(o=i)}return e.length===0?null:{options:e,pollType:r,relayUrls:n,endsAt:o}}function l5e(t,e,n){const r=[];for(const[o,...s]of t.tags)if(o==="response"&&s[0]){if(e&&!e.includes(s[0]))continue;r.push(s[0])}return r.length===0||r.length>1&&!n?null:{id:t.id,pubkey:t.pubkey,selectedOptionIds:r,created_at:t.created_at}}function c5e(t){const e=[],n=[];return t.tags.forEach(([r,...o])=>{r==="emoji"&&o.length>=2?e.push({shortcode:o[0],url:o[1]}):r==="a"&&o[0]&&n.push(o[0])}),{emojis:e,emojiSetPointers:n}}function sD(t){let e;const n=[];return t.tags.forEach(([r,...o])=>{r==="title"&&o[0]?e=o[0]:r==="emoji"&&o.length>=2&&n.push({shortcode:o[0],url:o[1]})}),{title:e,emojis:n}}function u5e(t){return sD(t).emojis}function Bk(t){const e=t.tags.find(n=>n[0]==="rating");if(e){const n=parseFloat(e[1])*5;if(n>0&&n<=5)return n}return 0}function aD(t){var s;let e,n,r;const o=[];return t.tags.forEach(([a,i])=>{a==="title"?e=i:a==="description"?n=i:a==="image"?r=i:a==="p"&&Ut.isValidHex(i)&&o.push(i)}),e||(e=((s=t.tags.find(An("d")))==null?void 0:s[1])??"Untitled Follow Pack"),{title:e,description:n,image:r,pubkeys:o}}const r9=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */const iD=t=>t instanceof Uint8Array,o9=t=>new DataView(t.buffer,t.byteOffset,t.byteLength),Cu=(t,e)=>t<<32-e|t>>>e,f5e=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;if(!f5e)throw new Error("Non little-endian hardware is not supported");const d5e=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));function Sa(t){if(!iD(t))throw new Error("Uint8Array expected");let e="";for(let n=0;n<t.length;n++)e+=d5e[t[n]];return e}function vg(t){if(typeof t!="string")throw new Error("hex string expected, got "+typeof t);const e=t.length;if(e%2)throw new Error("padded hex string expected, got unpadded hex of length "+e);const n=new Uint8Array(e/2);for(let r=0;r<n.length;r++){const o=r*2,s=t.slice(o,o+2),a=Number.parseInt(s,16);if(Number.isNaN(a)||a<0)throw new Error("Invalid byte sequence");n[r]=a}return n}function p5e(t){if(typeof t!="string")throw new Error(`utf8ToBytes expected string, got ${typeof t}`);return new Uint8Array(new TextEncoder().encode(t))}function Yb(t){if(typeof t=="string"&&(t=p5e(t)),!iD(t))throw new Error(`expected Uint8Array, got ${typeof t}`);return t}function JC(...t){const e=new Uint8Array(t.reduce((r,o)=>r+o.length,0));let n=0;return t.forEach(r=>{if(!iD(r))throw new Error("Uint8Array expected");e.set(r,n),n+=r.length}),e}let mre=class{clone(){return this._cloneInto()}};function gre(t){const e=r=>t().update(Yb(r)).digest(),n=t();return e.outputLen=n.outputLen,e.blockLen=n.blockLen,e.create=()=>t(),e}function yre(t=32){if(r9&&typeof r9.getRandomValues=="function")return r9.getRandomValues(new Uint8Array(t));throw new Error("crypto.getRandomValues must be defined")}function X_(t){if(!Number.isSafeInteger(t)||t<0)throw new Error(`Wrong positive integer: ${t}`)}function h5e(t){if(typeof t!="boolean")throw new Error(`Expected boolean, not ${t}`)}function vre(t,...e){if(!(t instanceof Uint8Array))throw new Error("Expected Uint8Array");if(e.length>0&&!e.includes(t.length))throw new Error(`Expected Uint8Array of length ${e}, not of length=${t.length}`)}function m5e(t){if(typeof t!="function"||typeof t.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");X_(t.outputLen),X_(t.blockLen)}function g5e(t,e=!0){if(t.destroyed)throw new Error("Hash instance has been destroyed");if(e&&t.finished)throw new Error("Hash#digest() has already been called")}function y5e(t,e){vre(t);const n=e.outputLen;if(t.length<n)throw new Error(`digestInto() expects output buffer of length at least ${n}`)}const Bu={number:X_,bool:h5e,bytes:vre,hash:m5e,exists:g5e,output:y5e};function v5e(t,e,n,r){if(typeof t.setBigUint64=="function")return t.setBigUint64(e,n,r);const o=BigInt(32),s=BigInt(4294967295),a=Number(n>>o&s),i=Number(n&s),l=r?4:0,u=r?0:4;t.setUint32(e+l,a,r),t.setUint32(e+u,i,r)}class w5e extends mre{constructor(e,n,r,o){super(),this.blockLen=e,this.outputLen=n,this.padOffset=r,this.isLE=o,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(e),this.view=o9(this.buffer)}update(e){Bu.exists(this);const{view:n,buffer:r,blockLen:o}=this;e=Yb(e);const s=e.length;for(let a=0;a<s;){const i=Math.min(o-this.pos,s-a);if(i===o){const l=o9(e);for(;o<=s-a;a+=o)this.process(l,a);continue}r.set(e.subarray(a,a+i),this.pos),this.pos+=i,a+=i,this.pos===o&&(this.process(n,0),this.pos=0)}return this.length+=e.length,this.roundClean(),this}digestInto(e){Bu.exists(this),Bu.output(e,this),this.finished=!0;const{buffer:n,view:r,blockLen:o,isLE:s}=this;let{pos:a}=this;n[a++]=128,this.buffer.subarray(a).fill(0),this.padOffset>o-a&&(this.process(r,0),a=0);for(let f=a;f<o;f++)n[f]=0;v5e(r,o-8,BigInt(this.length*8),s),this.process(r,0);const i=o9(e),l=this.outputLen;if(l%4)throw new Error("_sha2: outputLen should be aligned to 32bit");const u=l/4,d=this.get();if(u>d.length)throw new Error("_sha2: outputLen bigger than state");for(let f=0;f<u;f++)i.setUint32(4*f,d[f],s)}digest(){const{buffer:e,outputLen:n}=this;this.digestInto(e);const r=e.slice(0,n);return this.destroy(),r}_cloneInto(e){e||(e=new this.constructor),e.set(...this.get());const{blockLen:n,buffer:r,length:o,finished:s,destroyed:a,pos:i}=this;return e.length=o,e.pos=i,e.finished=s,e.destroyed=a,o%n&&e.buffer.set(r),e}}const b5e=(t,e,n)=>t&e^~t&n,x5e=(t,e,n)=>t&e^t&n^e&n,k5e=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),ip=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),lp=new Uint32Array(64);class wre extends w5e{constructor(){super(64,32,8,!1),this.A=ip[0]|0,this.B=ip[1]|0,this.C=ip[2]|0,this.D=ip[3]|0,this.E=ip[4]|0,this.F=ip[5]|0,this.G=ip[6]|0,this.H=ip[7]|0}get(){const{A:e,B:n,C:r,D:o,E:s,F:a,G:i,H:l}=this;return[e,n,r,o,s,a,i,l]}set(e,n,r,o,s,a,i,l){this.A=e|0,this.B=n|0,this.C=r|0,this.D=o|0,this.E=s|0,this.F=a|0,this.G=i|0,this.H=l|0}process(e,n){for(let f=0;f<16;f++,n+=4)lp[f]=e.getUint32(n,!1);for(let f=16;f<64;f++){const m=lp[f-15],g=lp[f-2],w=Cu(m,7)^Cu(m,18)^m>>>3,b=Cu(g,17)^Cu(g,19)^g>>>10;lp[f]=b+lp[f-7]+w+lp[f-16]|0}let{A:r,B:o,C:s,D:a,E:i,F:l,G:u,H:d}=this;for(let f=0;f<64;f++){const m=Cu(i,6)^Cu(i,11)^Cu(i,25),g=d+m+b5e(i,l,u)+k5e[f]+lp[f]|0,b=(Cu(r,2)^Cu(r,13)^Cu(r,22))+x5e(r,o,s)|0;d=u,u=l,l=i,i=a+g|0,a=s,s=o,o=r,r=g+b|0}r=r+this.A|0,o=o+this.B|0,s=s+this.C|0,a=a+this.D|0,i=i+this.E|0,l=l+this.F|0,u=u+this.G|0,d=d+this.H|0,this.set(r,o,s,a,i,l,u,d)}roundClean(){lp.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}}class j5e extends wre{constructor(){super(),this.A=-1056596264,this.B=914150663,this.C=812702999,this.D=-150054599,this.E=-4191439,this.F=1750603025,this.G=1694076839,this.H=-1090891868,this.outputLen=28}}const qy=gre(()=>new wre);gre(()=>new j5e);class bre extends mre{constructor(e,n){super(),this.finished=!1,this.destroyed=!1,Bu.hash(e);const r=Yb(n);if(this.iHash=e.create(),typeof this.iHash.update!="function")throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;const o=this.blockLen,s=new Uint8Array(o);s.set(r.length>o?e.create().update(r).digest():r);for(let a=0;a<s.length;a++)s[a]^=54;this.iHash.update(s),this.oHash=e.create();for(let a=0;a<s.length;a++)s[a]^=106;this.oHash.update(s),s.fill(0)}update(e){return Bu.exists(this),this.iHash.update(e),this}digestInto(e){Bu.exists(this),Bu.bytes(e,this.outputLen),this.finished=!0,this.iHash.digestInto(e),this.oHash.update(e),this.oHash.digestInto(e),this.destroy()}digest(){const e=new Uint8Array(this.oHash.outputLen);return this.digestInto(e),e}_cloneInto(e){e||(e=Object.create(Object.getPrototypeOf(this),{}));const{oHash:n,iHash:r,finished:o,destroyed:s,blockLen:a,outputLen:i}=this;return e=e,e.finished=o,e.destroyed=s,e.blockLen=a,e.outputLen=i,e.oHash=n._cloneInto(e.oHash),e.iHash=r._cloneInto(e.iHash),e}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}}const XC=(t,e,n)=>new bre(t,e).update(n).digest();XC.create=(t,e)=>new bre(t,e);function C5e(t,e,n){return Bu.hash(t),XC(t,Yb(n),Yb(e))}const s9=new Uint8Array([0]),KU=new Uint8Array;function S5e(t,e,n,r=32){if(Bu.hash(t),Bu.number(r),r>255*t.outputLen)throw new Error("Length should be <= 255*HashLen");const o=Math.ceil(r/t.outputLen);n===void 0&&(n=KU);const s=new Uint8Array(o*t.outputLen),a=XC.create(t,e),i=a._cloneInto(),l=new Uint8Array(a.outputLen);for(let u=0;u<o;u++)s9[0]=u+1,i.update(u===0?KU:l).update(n).update(s9).digestInto(l),s.set(l,t.outputLen*u),a._cloneInto(i);return a.destroy(),i.destroy(),l.fill(0),s9.fill(0),s.slice(0,r)}var E5e=Object.defineProperty,go=(t,e)=>{for(var n in e)E5e(t,n,{get:e[n],enumerable:!0})},U1=Symbol("verified"),N5e=t=>t instanceof Object;function lD(t){if(!N5e(t)||typeof t.kind!="number"||typeof t.content!="string"||typeof t.created_at!="number"||typeof t.pubkey!="string"||!t.pubkey.match(/^[a-f0-9]{64}$/)||!Array.isArray(t.tags))return!1;for(let e=0;e<t.tags.length;e++){let n=t.tags[e];if(!Array.isArray(n))return!1;for(let r=0;r<n.length;r++)if(typeof n[r]!="string")return!1}return!0}var I5e={};go(I5e,{Queue:()=>jre,QueueNode:()=>kre,binarySearch:()=>cD,bytesToHex:()=>Sa,hexToBytes:()=>vg,insertEventIntoAscendingList:()=>_5e,insertEventIntoDescendingList:()=>A5e,normalizeURL:()=>xre,utf8Decoder:()=>Jf,utf8Encoder:()=>Xc});var Jf=new TextDecoder("utf-8"),Xc=new TextEncoder;function xre(t){try{t.indexOf("://")===-1&&(t="wss://"+t);let e=new URL(t);return e.pathname=e.pathname.replace(/\/+/g,"/"),e.pathname.endsWith("/")&&(e.pathname=e.pathname.slice(0,-1)),(e.port==="80"&&e.protocol==="ws:"||e.port==="443"&&e.protocol==="wss:")&&(e.port=""),e.searchParams.sort(),e.hash="",e.toString()}catch{throw new Error(`Invalid URL: ${t}`)}}function A5e(t,e){const[n,r]=cD(t,o=>e.id===o.id?0:e.created_at===o.created_at?-1:o.created_at-e.created_at);return r||t.splice(n,0,e),t}function _5e(t,e){const[n,r]=cD(t,o=>e.id===o.id?0:e.created_at===o.created_at?-1:e.created_at-o.created_at);return r||t.splice(n,0,e),t}function cD(t,e){let n=0,r=t.length-1;for(;n<=r;){const o=Math.floor((n+r)/2),s=e(t[o]);if(s===0)return[o,!0];s<0?r=o-1:n=o+1}return[n,!1]}var kre=class{constructor(t){je(this,"value");je(this,"next",null);je(this,"prev",null);this.value=t}},jre=class{constructor(){je(this,"first");je(this,"last");this.first=null,this.last=null}enqueue(t){const e=new kre(t);return this.last?this.last===this.first?(this.last=e,this.last.prev=this.first,this.first.next=e):(e.prev=this.last,this.last.next=e,this.last=e):(this.first=e,this.last=e),!0}dequeue(){if(!this.first)return null;if(this.first===this.last){const e=this.first;return this.first=null,this.last=null,e.value}const t=this.first;return this.first=t.next,this.first&&(this.first.prev=null),t.value}},M5e=class{generateSecretKey(){return Ga.utils.randomPrivateKey()}getPublicKey(e){return Sa(Ga.getPublicKey(e))}finalizeEvent(e,n){const r=e;return r.pubkey=Sa(Ga.getPublicKey(n)),r.id=Ww(r),r.sig=Sa(Ga.sign(Ww(r),n)),r[U1]=!0,r}verifyEvent(e){if(typeof e[U1]=="boolean")return e[U1];const n=Ww(e);if(n!==e.id)return e[U1]=!1,!1;try{const r=Ga.verify(e.sig,n,e.pubkey);return e[U1]=r,r}catch{return e[U1]=!1,!1}}};function R5e(t){if(!lD(t))throw new Error("can't serialize event with wrong or missing properties");return JSON.stringify([0,t.pubkey,t.created_at,t.kind,t.tags,t.content])}function Ww(t){let e=qy(Xc.encode(R5e(t)));return Sa(e)}var eS=new M5e,uD=eS.generateSecretKey,wg=eS.getPublicKey,ic=eS.finalizeEvent,tS=eS.verifyEvent,T5e={};go(T5e,{Application:()=>R_e,BadgeAward:()=>U5e,BadgeDefinition:()=>S_e,BlockedRelaysList:()=>c_e,BookmarkList:()=>a_e,Bookmarksets:()=>k_e,Calendar:()=>F_e,CalendarEventRSVP:()=>B_e,ChannelCreation:()=>Are,ChannelHideMessage:()=>Rre,ChannelMessage:()=>Mre,ChannelMetadata:()=>_re,ChannelMuteUser:()=>Tre,ClassifiedListing:()=>L_e,ClientAuth:()=>Lre,CommunitiesList:()=>i_e,CommunityDefinition:()=>V_e,CommunityPostApproval:()=>K5e,Contacts:()=>z5e,CreateOrUpdateProduct:()=>I_e,CreateOrUpdateStall:()=>N_e,Curationsets:()=>j_e,Date:()=>O_e,DirectMessageRelaysList:()=>p_e,DraftClassifiedListing:()=>P_e,DraftLong:()=>__e,Emojisets:()=>M_e,EncryptedDirectMessage:()=>F5e,EventDeletion:()=>B5e,FileMetadata:()=>V5e,FileServerPreference:()=>h_e,Followsets:()=>w_e,GenericRepost:()=>mD,Genericlists:()=>b_e,GiftWrap:()=>Dre,HTTPAuth:()=>gD,Handlerinformation:()=>$_e,Handlerrecommendation:()=>U_e,Highlights:()=>n_e,InterestsList:()=>f_e,Interestsets:()=>E_e,JobFeedback:()=>J5e,JobRequest:()=>Z5e,JobResult:()=>Q5e,Label:()=>q5e,LightningPubRPC:()=>g_e,LiveChatMessage:()=>H5e,LiveEvent:()=>T_e,LongFormArticle:()=>A_e,Metadata:()=>P5e,Mutelist:()=>r_e,NWCWalletInfo:()=>m_e,NWCWalletRequest:()=>Pre,NWCWalletResponse:()=>y_e,NostrConnect:()=>v_e,OpenTimestamps:()=>$5e,Pinlist:()=>o_e,PrivateDirectMessage:()=>Ire,ProblemTracker:()=>W5e,ProfileBadges:()=>C_e,PublicChatsList:()=>l_e,Reaction:()=>hD,RecommendRelay:()=>O5e,RelayList:()=>s_e,Relaysets:()=>x_e,Report:()=>Y5e,Reporting:()=>G5e,Repost:()=>pD,Seal:()=>Nre,SearchRelaysList:()=>u_e,ShortTextNote:()=>Ere,Time:()=>z_e,UserEmojiList:()=>d_e,UserStatuses:()=>D_e,Zap:()=>t_e,ZapGoal:()=>X5e,ZapRequest:()=>e_e,classifyKind:()=>D5e,isAddressableKind:()=>dD,isEphemeralKind:()=>Sre,isKind:()=>L5e,isRegularKind:()=>Cre,isReplaceableKind:()=>fD});function Cre(t){return 1e3<=t&&t<1e4||[1,2,4,5,6,7,8,16,40,41,42,43,44].includes(t)}function fD(t){return[0,3].includes(t)||1e4<=t&&t<2e4}function Sre(t){return 2e4<=t&&t<3e4}function dD(t){return 3e4<=t&&t<4e4}function D5e(t){return Cre(t)?"regular":fD(t)?"replaceable":Sre(t)?"ephemeral":dD(t)?"parameterized":"unknown"}function L5e(t,e){const n=e instanceof Array?e:[e];return lD(t)&&n.includes(t.kind)||!1}var P5e=0,Ere=1,O5e=2,z5e=3,F5e=4,B5e=5,pD=6,hD=7,U5e=8,Nre=13,Ire=14,mD=16,Are=40,_re=41,Mre=42,Rre=43,Tre=44,$5e=1040,Dre=1059,V5e=1063,H5e=1311,W5e=1971,Y5e=1984,G5e=1984,q5e=1985,K5e=4550,Z5e=5999,Q5e=6999,J5e=7e3,X5e=9041,e_e=9734,t_e=9735,n_e=9802,r_e=1e4,o_e=10001,s_e=10002,a_e=10003,i_e=10004,l_e=10005,c_e=10006,u_e=10007,f_e=10015,d_e=10030,p_e=10050,h_e=10096,m_e=13194,g_e=21e3,Lre=22242,Pre=23194,y_e=23195,v_e=24133,gD=27235,w_e=3e4,b_e=30001,x_e=30002,k_e=30003,j_e=30004,C_e=30008,S_e=30009,E_e=30015,N_e=30017,I_e=30018,A_e=30023,__e=30024,M_e=30030,R_e=30078,T_e=30311,D_e=30315,L_e=30402,P_e=30403,O_e=31922,z_e=31923,F_e=31924,B_e=31925,U_e=31989,$_e=31990,V_e=34550;function H_e(t,e){if(t.ids&&t.ids.indexOf(e.id)===-1||t.kinds&&t.kinds.indexOf(e.kind)===-1||t.authors&&t.authors.indexOf(e.pubkey)===-1)return!1;for(let n in t)if(n[0]==="#"){let r=n.slice(1),o=t[`#${r}`];if(o&&!e.tags.find(([s,a])=>s===n.slice(1)&&o.indexOf(a)!==-1))return!1}return!(t.since&&e.created_at<t.since||t.until&&e.created_at>t.until)}function W_e(t,e){for(let n=0;n<t.length;n++)if(H_e(t[n],e))return!0;return!1}var Y_e={};go(Y_e,{getHex64:()=>nS,getInt:()=>Ore,getSubscriptionId:()=>zre,matchEventId:()=>G_e,matchEventKind:()=>K_e,matchEventPubkey:()=>q_e});function nS(t,e){let n=e.length+3,r=t.indexOf(`"${e}":`)+n,o=t.slice(r).indexOf('"')+r+1;return t.slice(o,o+64)}function Ore(t,e){let n=e.length,r=t.indexOf(`"${e}":`)+n+3,o=t.slice(r),s=Math.min(o.indexOf(","),o.indexOf("}"));return parseInt(o.slice(0,s),10)}function zre(t){let e=t.slice(0,22).indexOf('"EVENT"');if(e===-1)return null;let n=t.slice(e+7+1).indexOf('"');if(n===-1)return null;let r=e+7+1+n,o=t.slice(r+1,80).indexOf('"');if(o===-1)return null;let s=r+1+o;return t.slice(r+1,s)}function G_e(t,e){return e===nS(t,"id")}function q_e(t,e){return e===nS(t,"pubkey")}function K_e(t,e){return e===Ore(t,"kind")}var Z_e={};go(Z_e,{makeAuthEvent:()=>Fre});function Fre(t,e){return{kind:Lre,created_at:Math.floor(Date.now()/1e3),tags:[["relay",t],["challenge",e]],content:""}}async function Q_e(){return new Promise(t=>{const e=new MessageChannel,n=()=>{e.port1.removeEventListener("message",n),t()};e.port1.addEventListener("message",n),e.port2.postMessage(0),e.port1.start()})}var Bre=class extends Error{constructor(t,e){super(`Tried to send message '${t} on a closed connection to ${e}.`),this.name="SendingOnClosedConnection"}},Ure=class{constructor(t,e){je(this,"url");je(this,"_connected",!1);je(this,"onclose",null);je(this,"onnotice",t=>console.debug(`NOTICE from ${this.url}: ${t}`));je(this,"baseEoseTimeout",4400);je(this,"connectionTimeout",4400);je(this,"publishTimeout",4400);je(this,"openSubs",new Map);je(this,"connectionTimeoutHandle");je(this,"connectionPromise");je(this,"openCountRequests",new Map);je(this,"openEventPublishes",new Map);je(this,"ws");je(this,"incomingMessageQueue",new jre);je(this,"queueRunning",!1);je(this,"challenge");je(this,"authPromise");je(this,"serial",0);je(this,"verifyEvent");je(this,"_WebSocket");this.url=xre(t),this.verifyEvent=e.verifyEvent,this._WebSocket=e.websocketImplementation||WebSocket}static async connect(t,e){const n=new Ure(t,e);return await n.connect(),n}closeAllSubscriptions(t){for(let[e,n]of this.openSubs)n.close(t);this.openSubs.clear();for(let[e,n]of this.openEventPublishes)n.reject(new Error(t));this.openEventPublishes.clear();for(let[e,n]of this.openCountRequests)n.reject(new Error(t));this.openCountRequests.clear()}get connected(){return this._connected}async connect(){return this.connectionPromise?this.connectionPromise:(this.challenge=void 0,this.authPromise=void 0,this.connectionPromise=new Promise((t,e)=>{this.connectionTimeoutHandle=setTimeout(()=>{var n;e("connection timed out"),this.connectionPromise=void 0,(n=this.onclose)==null||n.call(this),this.closeAllSubscriptions("relay connection timed out")},this.connectionTimeout);try{this.ws=new this._WebSocket(this.url)}catch(n){clearTimeout(this.connectionTimeoutHandle),e(n);return}this.ws.onopen=()=>{clearTimeout(this.connectionTimeoutHandle),this._connected=!0,t()},this.ws.onerror=n=>{var r;clearTimeout(this.connectionTimeoutHandle),e(n.message||"websocket error"),this._connected&&(this._connected=!1,this.connectionPromise=void 0,(r=this.onclose)==null||r.call(this),this.closeAllSubscriptions("relay connection errored"))},this.ws.onclose=n=>{var r;clearTimeout(this.connectionTimeoutHandle),e(n.message||"websocket closed"),this._connected&&(this._connected=!1,this.connectionPromise=void 0,(r=this.onclose)==null||r.call(this),this.closeAllSubscriptions("relay connection closed"))},this.ws.onmessage=this._onmessage.bind(this)}),this.connectionPromise)}async runQueue(){for(this.queueRunning=!0;this.handleNext()!==!1;)await Q_e();this.queueRunning=!1}handleNext(){var n,r;const t=this.incomingMessageQueue.dequeue();if(!t)return!1;const e=zre(t);if(e){const o=this.openSubs.get(e);if(!o)return;const s=nS(t,"id"),a=(n=o.alreadyHaveEvent)==null?void 0:n.call(o,s);if((r=o.receivedEvent)==null||r.call(o,this,s),a)return}try{let o=JSON.parse(t);switch(o[0]){case"EVENT":{const s=this.openSubs.get(o[1]),a=o[2];this.verifyEvent(a)&&W_e(s.filters,a)&&s.onevent(a);return}case"COUNT":{const s=o[1],a=o[2],i=this.openCountRequests.get(s);i&&(i.resolve(a.count),this.openCountRequests.delete(s));return}case"EOSE":{const s=this.openSubs.get(o[1]);if(!s)return;s.receivedEose();return}case"OK":{const s=o[1],a=o[2],i=o[3],l=this.openEventPublishes.get(s);l&&(clearTimeout(l.timeout),a?l.resolve(i):l.reject(new Error(i)),this.openEventPublishes.delete(s));return}case"CLOSED":{const s=o[1],a=this.openSubs.get(s);if(!a)return;a.closed=!0,a.close(o[2]);return}case"NOTICE":this.onnotice(o[1]);return;case"AUTH":{this.challenge=o[1];return}}}catch{return}}async send(t){if(!this.connectionPromise)throw new Bre(t,this.url);this.connectionPromise.then(()=>{var e;(e=this.ws)==null||e.send(t)})}async auth(t){const e=this.challenge;if(!e)throw new Error("can't perform auth, no challenge was received");return this.authPromise?this.authPromise:(this.authPromise=new Promise(async(n,r)=>{try{let o=await t(Fre(this.url,e)),s=setTimeout(()=>{let a=this.openEventPublishes.get(o.id);a&&(a.reject(new Error("auth timed out")),this.openEventPublishes.delete(o.id))},this.publishTimeout);this.openEventPublishes.set(o.id,{resolve:n,reject:r,timeout:s}),this.send('["AUTH",'+JSON.stringify(o)+"]")}catch(o){console.warn("subscribe auth function failed:",o)}}),this.authPromise)}async publish(t){const e=new Promise((n,r)=>{const o=setTimeout(()=>{const s=this.openEventPublishes.get(t.id);s&&(s.reject(new Error("publish timed out")),this.openEventPublishes.delete(t.id))},this.publishTimeout);this.openEventPublishes.set(t.id,{resolve:n,reject:r,timeout:o})});return this.send('["EVENT",'+JSON.stringify(t)+"]"),e}async count(t,e){this.serial++;const n=(e==null?void 0:e.id)||"count:"+this.serial,r=new Promise((o,s)=>{this.openCountRequests.set(n,{resolve:o,reject:s})});return this.send('["COUNT","'+n+'",'+JSON.stringify(t).substring(1)),r}subscribe(t,e){const n=this.prepareSubscription(t,e);return n.fire(),n}prepareSubscription(t,e){this.serial++;const n=e.id||(e.label?e.label+":":"sub:")+this.serial,r=new J_e(this,n,t,e);return this.openSubs.set(n,r),r}close(){var t;this.closeAllSubscriptions("relay connection closed by us"),this._connected=!1,(t=this.ws)==null||t.close()}_onmessage(t){this.incomingMessageQueue.enqueue(t.data),this.queueRunning||this.runQueue()}},J_e=class{constructor(t,e,n,r){je(this,"relay");je(this,"id");je(this,"closed",!1);je(this,"eosed",!1);je(this,"filters");je(this,"alreadyHaveEvent");je(this,"receivedEvent");je(this,"onevent");je(this,"oneose");je(this,"onclose");je(this,"eoseTimeout");je(this,"eoseTimeoutHandle");this.relay=t,this.filters=n,this.id=e,this.alreadyHaveEvent=r.alreadyHaveEvent,this.receivedEvent=r.receivedEvent,this.eoseTimeout=r.eoseTimeout||t.baseEoseTimeout,this.oneose=r.oneose,this.onclose=r.onclose,this.onevent=r.onevent||(o=>{console.warn(`onevent() callback not defined for subscription '${this.id}' in relay ${this.relay.url}. event received:`,o)})}fire(){this.relay.send('["REQ","'+this.id+'",'+JSON.stringify(this.filters).substring(1)),this.eoseTimeoutHandle=setTimeout(this.receivedEose.bind(this),this.eoseTimeout)}receivedEose(){var t;this.eosed||(clearTimeout(this.eoseTimeoutHandle),this.eosed=!0,(t=this.oneose)==null||t.call(this))}close(t="closed by caller"){var e;if(!this.closed&&this.relay.connected){try{this.relay.send('["CLOSE",'+JSON.stringify(this.id)+"]")}catch(n){if(!(n instanceof Bre))throw n}this.closed=!0}this.relay.openSubs.delete(this.id),(e=this.onclose)==null||e.call(this,t)}},$re;try{$re=WebSocket}catch{}var Uk=class extends Ure{constructor(e){super(e,{verifyEvent:tS,websocketImplementation:$re})}static async connect(e){const n=new Uk(e);return await n.connect(),n}},X_e;try{X_e=WebSocket}catch{}var e8={};go(e8,{BECH32_REGEX:()=>Vre,Bech32MaxSize:()=>yD,NostrTypeGuard:()=>e8e,decode:()=>rS,decodeNostrURI:()=>n8e,encodeBytes:()=>sS,naddrEncode:()=>l8e,neventEncode:()=>i8e,noteEncode:()=>s8e,nprofileEncode:()=>a8e,npubEncode:()=>o8e,nsecEncode:()=>r8e});var e8e={isNProfile:t=>/^nprofile1[a-z\d]+$/.test(t||""),isNEvent:t=>/^nevent1[a-z\d]+$/.test(t||""),isNAddr:t=>/^naddr1[a-z\d]+$/.test(t||""),isNSec:t=>/^nsec1[a-z\d]{58}$/.test(t||""),isNPub:t=>/^npub1[a-z\d]{58}$/.test(t||""),isNote:t=>/^note1[a-z\d]+$/.test(t||""),isNcryptsec:t=>/^ncryptsec1[a-z\d]+$/.test(t||"")},yD=5e3,Vre=/[\x21-\x7E]{1,83}1[023456789acdefghjklmnpqrstuvwxyz]{6,}/;function t8e(t){const e=new Uint8Array(4);return e[0]=t>>24&255,e[1]=t>>16&255,e[2]=t>>8&255,e[3]=t&255,e}function n8e(t){try{return t.startsWith("nostr:")&&(t=t.substring(6)),rS(t)}catch{return{type:"invalid",data:null}}}function rS(t){var o,s,a,i,l,u,d;let{prefix:e,words:n}=Pr.decode(t,yD),r=new Uint8Array(Pr.fromWords(n));switch(e){case"nprofile":{let f=a9(r);if(!((o=f[0])!=null&&o[0]))throw new Error("missing TLV 0 for nprofile");if(f[0][0].length!==32)throw new Error("TLV 0 should be 32 bytes");return{type:"nprofile",data:{pubkey:Sa(f[0][0]),relays:f[1]?f[1].map(m=>Jf.decode(m)):[]}}}case"nevent":{let f=a9(r);if(!((s=f[0])!=null&&s[0]))throw new Error("missing TLV 0 for nevent");if(f[0][0].length!==32)throw new Error("TLV 0 should be 32 bytes");if(f[2]&&f[2][0].length!==32)throw new Error("TLV 2 should be 32 bytes");if(f[3]&&f[3][0].length!==4)throw new Error("TLV 3 should be 4 bytes");return{type:"nevent",data:{id:Sa(f[0][0]),relays:f[1]?f[1].map(m=>Jf.decode(m)):[],author:(a=f[2])!=null&&a[0]?Sa(f[2][0]):void 0,kind:(i=f[3])!=null&&i[0]?parseInt(Sa(f[3][0]),16):void 0}}}case"naddr":{let f=a9(r);if(!((l=f[0])!=null&&l[0]))throw new Error("missing TLV 0 for naddr");if(!((u=f[2])!=null&&u[0]))throw new Error("missing TLV 2 for naddr");if(f[2][0].length!==32)throw new Error("TLV 2 should be 32 bytes");if(!((d=f[3])!=null&&d[0]))throw new Error("missing TLV 3 for naddr");if(f[3][0].length!==4)throw new Error("TLV 3 should be 4 bytes");return{type:"naddr",data:{identifier:Jf.decode(f[0][0]),pubkey:Sa(f[2][0]),kind:parseInt(Sa(f[3][0]),16),relays:f[1]?f[1].map(m=>Jf.decode(m)):[]}}}case"nsec":return{type:e,data:r};case"npub":case"note":return{type:e,data:Sa(r)};default:throw new Error(`unknown prefix ${e}`)}}function a9(t){let e={},n=t;for(;n.length>0;){let r=n[0],o=n[1],s=n.slice(2,2+o);if(n=n.slice(2+o),s.length<o)throw new Error(`not enough data to read on TLV ${r}`);e[r]=e[r]||[],e[r].push(s)}return e}function r8e(t){return sS("nsec",t)}function o8e(t){return sS("npub",vg(t))}function s8e(t){return sS("note",vg(t))}function oS(t,e){let n=Pr.toWords(e);return Pr.encode(t,n,yD)}function sS(t,e){return oS(t,e)}function a8e(t){let e=vD({0:[vg(t.pubkey)],1:(t.relays||[]).map(n=>Xc.encode(n))});return oS("nprofile",e)}function i8e(t){let e;t.kind!==void 0&&(e=t8e(t.kind));let n=vD({0:[vg(t.id)],1:(t.relays||[]).map(r=>Xc.encode(r)),2:t.author?[vg(t.author)]:[],3:e?[new Uint8Array(e)]:[]});return oS("nevent",n)}function l8e(t){let e=new ArrayBuffer(4);new DataView(e).setUint32(0,t.kind,!1);let n=vD({0:[Xc.encode(t.identifier)],1:(t.relays||[]).map(r=>Xc.encode(r)),2:[vg(t.pubkey)],3:[new Uint8Array(e)]});return oS("naddr",n)}function vD(t){let e=[];return Object.entries(t).reverse().forEach(([n,r])=>{r.forEach(o=>{let s=new Uint8Array(o.length+2);s.set([parseInt(n)],0),s.set([o.length],1),s.set(o,2),e.push(s)})}),JC(...e)}var Gb={};go(Gb,{decrypt:()=>c8e,encrypt:()=>Hre});function Hre(t,e,n){const r=t instanceof Uint8Array?Sa(t):t,o=ql.getSharedSecret(r,"02"+e),s=Wre(o);let a=Uint8Array.from(yre(16)),i=Xc.encode(n),l=hC(s,a).encrypt(i),u=es.encode(new Uint8Array(l)),d=es.encode(new Uint8Array(a.buffer));return`${u}?iv=${d}`}function c8e(t,e,n){const r=t instanceof Uint8Array?Sa(t):t;let[o,s]=n.split("?iv="),a=ql.getSharedSecret(r,"02"+e),i=Wre(a),l=es.decode(s),u=es.decode(o),d=hC(i,l).decrypt(u);return Jf.decode(d)}function Wre(t){return t.slice(1,33)}var u8e={};go(u8e,{NIP05_REGEX:()=>wD,isNip05:()=>f8e,isValid:()=>h8e,queryProfile:()=>Yre,searchDomain:()=>p8e,useFetchImplementation:()=>d8e});var wD=/^(?:([\w.+-]+)@)?([\w_-]+(\.[\w_-]+)+)$/,f8e=t=>wD.test(t||""),aS;try{aS=fetch}catch{}function d8e(t){aS=t}async function p8e(t,e=""){try{const n=`https://${t}/.well-known/nostr.json?name=${e}`,r=await aS(n,{redirect:"manual"});if(r.status!==200)throw Error("Wrong response code");return(await r.json()).names}catch{return{}}}async function Yre(t){var o;const e=t.match(wD);if(!e)return null;const[,n="_",r]=e;try{const s=`https://${r}/.well-known/nostr.json?name=${n}`,a=await aS(s,{redirect:"manual"});if(a.status!==200)throw Error("Wrong response code");const i=await a.json(),l=i.names[n];return l?{pubkey:l,relays:(o=i.relays)==null?void 0:o[l]}:null}catch{return null}}async function h8e(t,e){const n=await Yre(e);return n?n.pubkey===t:!1}var m8e={};go(m8e,{parse:()=>g8e});function g8e(t){const e={reply:void 0,root:void 0,mentions:[],profiles:[],quotes:[]};let n,r;for(let o=t.tags.length-1;o>=0;o--){const s=t.tags[o];if(s[0]==="e"&&s[1]){const[a,i,l,u,d]=s,f={id:i,relays:l?[l]:[],author:d};if(u==="root"){e.root=f;continue}if(u==="reply"){e.reply=f;continue}if(u==="mention"){e.mentions.push(f);continue}n?r=f:n=f,e.mentions.push(f);continue}if(s[0]==="q"&&s[1]){const[a,i,l]=s;e.quotes.push({id:i,relays:l?[l]:[]})}if(s[0]==="p"&&s[1]){e.profiles.push({pubkey:s[1],relays:s[2]?[s[2]]:[]});continue}}return e.root||(e.root=r||n||e.reply),e.reply||(e.reply=n||e.root),[e.reply,e.root].forEach(o=>{if(!o)return;let s=e.mentions.indexOf(o);if(s!==-1&&e.mentions.splice(s,1),o.author){let a=e.profiles.find(i=>i.pubkey===o.author);a&&a.relays&&(o.relays||(o.relays=[]),a.relays.forEach(i=>{var l;((l=o.relays)==null?void 0:l.indexOf(i))===-1&&o.relays.push(i)}),a.relays=o.relays)}}),e.mentions.forEach(o=>{if(o.author){let s=e.profiles.find(a=>a.pubkey===o.author);s&&s.relays&&(o.relays||(o.relays=[]),s.relays.forEach(a=>{o.relays.indexOf(a)===-1&&o.relays.push(a)}),s.relays=o.relays)}}),e}var y8e={};go(y8e,{fetchRelayInformation:()=>w8e,useFetchImplementation:()=>v8e});var Gre;try{Gre=fetch}catch{}function v8e(t){Gre=t}async function w8e(t){return await(await fetch(t.replace("ws://","http://").replace("wss://","https://"),{headers:{Accept:"application/nostr+json"}})).json()}var b8e={};go(b8e,{fastEventHash:()=>Kre,getPow:()=>qre,minePow:()=>x8e});function qre(t){let e=0;for(let n=0;n<64;n+=8){const r=parseInt(t.substring(n,n+8),16);if(r===0)e+=32;else{e+=Math.clz32(r);break}}return e}function x8e(t,e){let n=0;const r=t,o=["nonce",n.toString(),e.toString()];for(r.tags.push(o);;){const s=Math.floor(new Date().getTime()/1e3);if(s!==r.created_at&&(n=0,r.created_at=s),o[1]=(++n).toString(),r.id=Kre(r),qre(r.id)>=e)break}return r}function Kre(t){return Sa(qy(Xc.encode(JSON.stringify([0,t.pubkey,t.created_at,t.kind,t.tags,t.content]))))}var k8e={};go(k8e,{unwrapEvent:()=>T8e,unwrapManyEvents:()=>D8e,wrapEvent:()=>loe,wrapManyEvents:()=>R8e});var j8e={};go(j8e,{createRumor:()=>ooe,createSeal:()=>soe,createWrap:()=>aoe,unwrapEvent:()=>CD,unwrapManyEvents:()=>ioe,wrapEvent:()=>$k,wrapManyEvents:()=>_8e});var Xf={};go(Xf,{decrypt:()=>jD,encrypt:()=>kD,getConversationKey:()=>bD,v2:()=>I8e});var Zre=1,Qre=65535;function bD(t,e){const n=ql.getSharedSecret(t,"02"+e).subarray(1,33);return C5e(qy,n,"nip44-v2")}function Jre(t,e){const n=S5e(qy,t,e,76);return{chacha_key:n.subarray(0,32),chacha_nonce:n.subarray(32,44),hmac_key:n.subarray(44,76)}}function xD(t){if(!Number.isSafeInteger(t)||t<1)throw new Error("expected positive integer");if(t<=32)return 32;const e=1<<Math.floor(Math.log2(t-1))+1,n=e<=256?32:e/8;return n*(Math.floor((t-1)/n)+1)}function C8e(t){if(!Number.isSafeInteger(t)||t<Zre||t>Qre)throw new Error("invalid plaintext size: must be between 1 and 65535 bytes");const e=new Uint8Array(2);return new DataView(e.buffer).setUint16(0,t,!1),e}function S8e(t){const e=Xc.encode(t),n=e.length,r=C8e(n),o=new Uint8Array(xD(n)-n);return JC(r,e,o)}function E8e(t){const e=new DataView(t.buffer).getUint16(0),n=t.subarray(2,2+e);if(e<Zre||e>Qre||n.length!==e||t.length!==2+xD(e))throw new Error("invalid padding");return Jf.decode(n)}function Xre(t,e,n){if(n.length!==32)throw new Error("AAD associated data must be 32 bytes");const r=JC(n,e);return XC(qy,t,r)}function N8e(t){if(typeof t!="string")throw new Error("payload must be a valid string");const e=t.length;if(e<132||e>87472)throw new Error("invalid payload length: "+e);if(t[0]==="#")throw new Error("unknown encryption version");let n;try{n=es.decode(t)}catch(s){throw new Error("invalid base64: "+s.message)}const r=n.length;if(r<99||r>65603)throw new Error("invalid data length: "+r);const o=n[0];if(o!==2)throw new Error("unknown encryption version "+o);return{nonce:n.subarray(1,33),ciphertext:n.subarray(33,-32),mac:n.subarray(-32)}}function kD(t,e,n=yre(32)){const{chacha_key:r,chacha_nonce:o,hmac_key:s}=Jre(e,n),a=S8e(t),i=Ly(r,o,a),l=Xre(s,i,n);return es.encode(JC(new Uint8Array([2]),n,i,l))}function jD(t,e){const{nonce:n,ciphertext:r,mac:o}=N8e(t),{chacha_key:s,chacha_nonce:a,hmac_key:i}=Jre(e,n),l=Xre(i,r,n);if(!pC(l,o))throw new Error("invalid MAC");const u=Ly(s,a,r);return E8e(u)}var I8e={utils:{getConversationKey:bD,calcPaddedLen:xD},encrypt:kD,decrypt:jD},A8e=2880*60,eoe=()=>Math.round(Date.now()/1e3),toe=()=>Math.round(eoe()-Math.random()*A8e),noe=(t,e)=>bD(t,e),roe=(t,e,n)=>kD(JSON.stringify(t),noe(e,n)),ZU=(t,e)=>JSON.parse(jD(t.content,noe(e,t.pubkey)));function ooe(t,e){const n={created_at:eoe(),content:"",tags:[],...t,pubkey:wg(e)};return n.id=Ww(n),n}function soe(t,e,n){return ic({kind:Nre,content:roe(t,e,n),created_at:toe(),tags:[]},e)}function aoe(t,e){const n=uD();return ic({kind:Dre,content:roe(t,n,e),created_at:toe(),tags:[["p",e]]},n)}function $k(t,e,n){const r=ooe(t,e),o=soe(r,e,n);return aoe(o,n)}function _8e(t,e,n){if(!n||n.length===0)throw new Error("At least one recipient is required.");const r=wg(e),o=[$k(t,e,r)];return n.forEach(s=>{o.push($k(t,e,s))}),o}function CD(t,e){const n=ZU(t,e);return ZU(n,e)}function ioe(t,e){let n=[];return t.forEach(r=>{n.push(CD(r,e))}),n.sort((r,o)=>r.created_at-o.created_at),n}function M8e(t,e,n,r){const o={created_at:Math.ceil(Date.now()/1e3),kind:Ire,tags:[],content:e};return(Array.isArray(t)?t:[t]).forEach(({publicKey:a,relayUrl:i})=>{o.tags.push(i?["p",a,i]:["p",a])}),r&&o.tags.push(["e",r.eventId,r.relayUrl||"","reply"]),n&&o.tags.push(["subject",n]),o}function loe(t,e,n,r,o){const s=M8e(e,n,r,o);return $k(s,t,e.publicKey)}function R8e(t,e,n,r,o){if(!e||e.length===0)throw new Error("At least one recipient is required.");return[{publicKey:wg(t)},...e].map(a=>loe(t,a,n,r,o))}var T8e=CD,D8e=ioe,L8e={};go(L8e,{finishRepostEvent:()=>P8e,getRepostedEvent:()=>O8e,getRepostedEventPointer:()=>coe});function P8e(t,e,n,r){var a;let o;const s=[...t.tags??[],["e",e.id,n],["p",e.pubkey]];return e.kind===Ere?o=pD:(o=mD,s.push(["k",String(e.kind)])),ic({kind:o,tags:s,content:t.content===""||(a=e.tags)!=null&&a.find(i=>i[0]==="-")?"":JSON.stringify(e),created_at:t.created_at},r)}function coe(t){if(![pD,mD].includes(t.kind))return;let e,n;for(let r=t.tags.length-1;r>=0&&(e===void 0||n===void 0);r--){const o=t.tags[r];o.length>=2&&(o[0]==="e"&&e===void 0?e=o:o[0]==="p"&&n===void 0&&(n=o))}if(e!==void 0)return{id:e[1],relays:[e[2],n==null?void 0:n[2]].filter(r=>typeof r=="string"),author:n==null?void 0:n[1]}}function O8e(t,{skipVerification:e}={}){const n=coe(t);if(n===void 0||t.content==="")return;let r;try{r=JSON.parse(t.content)}catch{return}if(r.id===n.id&&!(!e&&!tS(r)))return r}var z8e={};go(z8e,{NOSTR_URI_REGEX:()=>SD,parse:()=>B8e,test:()=>F8e});var SD=new RegExp(`nostr:(${Vre.source})`);function F8e(t){return typeof t=="string"&&new RegExp(`^${SD.source}$`).test(t)}function B8e(t){const e=t.match(new RegExp(`^${SD.source}$`));if(!e)throw new Error(`Invalid Nostr URI: ${t}`);return{uri:e[0],value:e[1],decoded:rS(e[1])}}var U8e={};go(U8e,{finishReactionEvent:()=>$8e,getReactedEventPointer:()=>V8e});function $8e(t,e,n){const r=e.tags.filter(o=>o.length>=2&&(o[0]==="e"||o[0]==="p"));return ic({...t,kind:hD,tags:[...t.tags??[],...r,["e",e.id],["p",e.pubkey]],content:t.content??"+"},n)}function V8e(t){if(t.kind!==hD)return;let e,n;for(let r=t.tags.length-1;r>=0&&(e===void 0||n===void 0);r--){const o=t.tags[r];o.length>=2&&(o[0]==="e"&&e===void 0?e=o:o[0]==="p"&&n===void 0&&(n=o))}if(!(e===void 0||n===void 0))return{id:e[1],relays:[e[2],n[2]].filter(r=>r!==void 0),author:n[1]}}var H8e={};go(H8e,{parse:()=>Y8e});var W8e=/\W/m,QU=/\W |\W$|$|,| /m;function*Y8e(t){const e=t.length;let n=0,r=0;for(;r<e;){let o=t.indexOf(":",r);if(o===-1)break;if(t.substring(o-5,o)==="nostr"){const s=t.substring(o+60).match(W8e),a=s?o+60+s.index:e;try{let i,{data:l,type:u}=rS(t.substring(o+1,a));switch(u){case"npub":i={pubkey:l};break;case"nsec":case"note":r=a+1;continue;default:i=l}n!==o-5&&(yield{type:"text",text:t.substring(n,o-5)}),yield{type:"reference",pointer:i},r=a,n=r;continue}catch{r=o+1;continue}}else if(t.substring(o-5,o)==="https"||t.substring(o-4,o)==="http"){const s=t.substring(o+4).match(QU),a=s?o+4+s.index:e,i=t[o-1]==="s"?5:4;try{let l=new URL(t.substring(o-i,a));if(l.hostname.indexOf(".")===-1)throw new Error("invalid url");if(n!==o-i&&(yield{type:"text",text:t.substring(n,o-i)}),l.pathname.endsWith(".png")||l.pathname.endsWith(".jpg")||l.pathname.endsWith(".jpeg")||l.pathname.endsWith(".gif")||l.pathname.endsWith(".webp")){yield{type:"image",url:l.toString()},r=a,n=r;continue}if(l.pathname.endsWith(".mp4")||l.pathname.endsWith(".avi")||l.pathname.endsWith(".webm")||l.pathname.endsWith(".mkv")){yield{type:"video",url:l.toString()},r=a,n=r;continue}if(l.pathname.endsWith(".mp3")||l.pathname.endsWith(".aac")||l.pathname.endsWith(".ogg")||l.pathname.endsWith(".opus")){yield{type:"audio",url:l.toString()},r=a,n=r;continue}yield{type:"url",url:l.toString()},r=a,n=r;continue}catch{r=a+1;continue}}else if(t.substring(o-3,o)==="wss"||t.substring(o-2,o)==="ws"){const s=t.substring(o+4).match(QU),a=s?o+4+s.index:e,i=t[o-1]==="s"?3:2;try{let l=new URL(t.substring(o-i,a));if(l.hostname.indexOf(".")===-1)throw new Error("invalid ws url");n!==o-i&&(yield{type:"text",text:t.substring(n,o-i)}),yield{type:"relay",url:l.toString()},r=a,n=r;continue}catch{r=a+1;continue}}else{r=o+1;continue}}n!==e&&(yield{type:"text",text:t.substring(n)})}var G8e={};go(G8e,{channelCreateEvent:()=>q8e,channelHideMessageEvent:()=>Q8e,channelMessageEvent:()=>Z8e,channelMetadataEvent:()=>K8e,channelMuteUserEvent:()=>J8e});var q8e=(t,e)=>{let n;if(typeof t.content=="object")n=JSON.stringify(t.content);else if(typeof t.content=="string")n=t.content;else return;return ic({kind:Are,tags:[...t.tags??[]],content:n,created_at:t.created_at},e)},K8e=(t,e)=>{let n;if(typeof t.content=="object")n=JSON.stringify(t.content);else if(typeof t.content=="string")n=t.content;else return;return ic({kind:_re,tags:[["e",t.channel_create_event_id],...t.tags??[]],content:n,created_at:t.created_at},e)},Z8e=(t,e)=>{const n=[["e",t.channel_create_event_id,t.relay_url,"root"]];return t.reply_to_channel_message_event_id&&n.push(["e",t.reply_to_channel_message_event_id,t.relay_url,"reply"]),ic({kind:Mre,tags:[...n,...t.tags??[]],content:t.content,created_at:t.created_at},e)},Q8e=(t,e)=>{let n;if(typeof t.content=="object")n=JSON.stringify(t.content);else if(typeof t.content=="string")n=t.content;else return;return ic({kind:Rre,tags:[["e",t.channel_message_event_id],...t.tags??[]],content:n,created_at:t.created_at},e)},J8e=(t,e)=>{let n;if(typeof t.content=="object")n=JSON.stringify(t.content);else if(typeof t.content=="string")n=t.content;else return;return ic({kind:Tre,tags:[["p",t.pubkey_to_mute],...t.tags??[]],content:n,created_at:t.created_at},e)},X8e={};go(X8e,{EMOJI_SHORTCODE_REGEX:()=>uoe,matchAll:()=>eMe,regex:()=>ED,replaceAll:()=>tMe});var uoe=/:(\w+):/,ED=()=>new RegExp(`\\B${uoe.source}\\B`,"g");function*eMe(t){const e=t.matchAll(ED());for(const n of e)try{const[r,o]=n;yield{shortcode:r,name:o,start:n.index,end:n.index+r.length}}catch{}}function tMe(t,e){return t.replaceAll(ED(),(n,r)=>e({shortcode:n,name:r}))}var nMe={};go(nMe,{useFetchImplementation:()=>rMe,validateGithub:()=>oMe});var ND;try{ND=fetch}catch{}function rMe(t){ND=t}async function oMe(t,e,n){try{return await(await ND(`https://gist.github.com/${e}/${n}/raw`)).text()===`Verifying that I control the following Nostr public key: ${t}`}catch{return!1}}var sMe={};go(sMe,{makeNwcRequestEvent:()=>iMe,parseConnectionString:()=>aMe});function aMe(t){const{pathname:e,searchParams:n}=new URL(t),r=e,o=n.get("relay"),s=n.get("secret");if(!r||!o||!s)throw new Error("invalid connection string");return{pubkey:r,relay:o,secret:s}}async function iMe(t,e,n){const o=Hre(e,t,JSON.stringify({method:"pay_invoice",params:{invoice:n}})),s={kind:Pre,created_at:Math.round(Date.now()/1e3),content:o,tags:[["p",t]]};return ic(s,e)}var lMe={};go(lMe,{normalizeIdentifier:()=>cMe});function cMe(t){return t=t.trim().toLowerCase(),t=t.normalize("NFKC"),Array.from(t).map(e=>new RegExp("\\p{Letter}","u").test(e)||new RegExp("\\p{Number}","u").test(e)?e:"-").join("")}var uMe={};go(uMe,{getSatoshisAmountFromBolt11:()=>gMe,getZapEndpoint:()=>dMe,makeZapReceipt:()=>mMe,makeZapRequest:()=>pMe,useFetchImplementation:()=>fMe,validateZapRequest:()=>hMe});var ID;try{ID=fetch}catch{}function fMe(t){ID=t}async function dMe(t){try{let e="",{lud06:n,lud16:r}=JSON.parse(t.content);if(n){let{words:a}=Pr.decode(n,1e3),i=Pr.fromWords(a);e=Jf.decode(i)}else if(r){let[a,i]=r.split("@");e=new URL(`/.well-known/lnurlp/${a}`,`https://${i}`).toString()}else return null;let s=await(await ID(e)).json();if(s.allowsNostr&&s.nostrPubkey)return s.callback}catch{}return null}function pMe({profile:t,event:e,amount:n,relays:r,comment:o=""}){if(!n)throw new Error("amount not given");if(!t)throw new Error("profile not given");let s={kind:9734,created_at:Math.round(Date.now()/1e3),content:o,tags:[["p",t],["amount",n.toString()],["relays",...r]]};if(e&&typeof e=="string"&&s.tags.push(["e",e]),e&&typeof e=="object"){if(fD(e.kind)){const a=["a",`${e.kind}:${e.pubkey}:`];s.tags.push(a)}else if(dD(e.kind)){let a=e.tags.find(([l,u])=>l==="d"&&u);if(!a)throw new Error("d tag not found or is empty");const i=["a",`${e.kind}:${e.pubkey}:${a[1]}`];s.tags.push(i)}}return s}function hMe(t){let e;try{e=JSON.parse(t)}catch{return"Invalid zap request JSON."}if(!lD(e))return"Zap request is not a valid Nostr event.";if(!tS(e))return"Invalid signature on zap request.";let n=e.tags.find(([s,a])=>s==="p"&&a);if(!n)return"Zap request doesn't have a 'p' tag.";if(!n[1].match(/^[a-f0-9]{64}$/))return"Zap request 'p' tag is not valid hex.";let r=e.tags.find(([s,a])=>s==="e"&&a);return r&&!r[1].match(/^[a-f0-9]{64}$/)?"Zap request 'e' tag is not valid hex.":e.tags.find(([s,a])=>s==="relays"&&a)?null:"Zap request doesn't have a 'relays' tag."}function mMe({zapRequest:t,preimage:e,bolt11:n,paidAt:r}){let o=JSON.parse(t),s=o.tags.filter(([i])=>i==="e"||i==="p"||i==="a"),a={kind:9735,created_at:Math.round(r.getTime()/1e3),content:"",tags:[...s,["P",o.pubkey],["bolt11",n],["description",t]]};return e&&a.tags.push(["preimage",e]),a}function gMe(t){if(t.length<50)return 0;t=t.substring(0,50);const e=t.lastIndexOf("1");if(e===-1)return 0;const n=t.substring(0,e);if(!n.startsWith("lnbc"))return 0;const r=n.substring(4);if(r.length<1)return 0;const o=r[r.length-1],s=o.charCodeAt(0)-48,a=s>=0&&s<=9;let i=r.length-1;if(a&&i++,i<1)return 0;const l=parseInt(r.substring(0,i));switch(o){case"m":return l*1e5;case"u":return l*100;case"n":return l/10;case"p":return l/1e4;default:return l*1e8}}var yMe={};go(yMe,{getToken:()=>vMe,hashPayload:()=>AD,unpackEventFromToken:()=>doe,validateEvent:()=>voe,validateEventKind:()=>hoe,validateEventMethodTag:()=>goe,validateEventPayloadTag:()=>yoe,validateEventTimestamp:()=>poe,validateEventUrlTag:()=>moe,validateToken:()=>wMe});var foe="Nostr ";async function vMe(t,e,n,r=!1,o){const s={kind:gD,tags:[["u",t],["method",e]],created_at:Math.round(new Date().getTime()/1e3),content:""};o&&s.tags.push(["payload",AD(o)]);const a=await n(s);return(r?foe:"")+es.encode(Xc.encode(JSON.stringify(a)))}async function wMe(t,e,n){const r=await doe(t).catch(s=>{throw s});return await voe(r,e,n).catch(s=>{throw s})}async function doe(t){if(!t)throw new Error("Missing token");t=t.replace(foe,"");const e=Jf.decode(es.decode(t));if(!e||e.length===0||!e.startsWith("{"))throw new Error("Invalid token");return JSON.parse(e)}function poe(t){return t.created_at?Math.round(new Date().getTime()/1e3)-t.created_at<60:!1}function hoe(t){return t.kind===gD}function moe(t,e){const n=t.tags.find(r=>r[0]==="u");return n?n.length>0&&n[1]===e:!1}function goe(t,e){const n=t.tags.find(r=>r[0]==="method");return n?n.length>0&&n[1].toLowerCase()===e.toLowerCase():!1}function AD(t){const e=qy(Xc.encode(JSON.stringify(t)));return Sa(e)}function yoe(t,e){const n=t.tags.find(o=>o[0]==="payload");if(!n)return!1;const r=AD(e);return n.length>0&&n[1]===r}async function voe(t,e,n,r){if(!tS(t))throw new Error("Invalid nostr event, signature invalid");if(!hoe(t))throw new Error("Invalid nostr event, kind invalid");if(!poe(t))throw new Error("Invalid nostr event, created_at timestamp invalid");if(!moe(t,e))throw new Error("Invalid nostr event, url tag invalid");if(!goe(t,n))throw new Error("Invalid nostr event, method tag invalid");if(r&&typeof r=="object"&&Object.keys(r).length>0&&!yoe(t,r))throw new Error("Invalid nostr event, payload tag does not match request body hash");return!0}function Yu(){return Yu=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(t[r]=n[r])}return t},Yu.apply(this,arguments)}const bMe=t=>t.reduce((e,n)=>e+n.toString(16).padStart(2,"0"),"");if(new Uint8Array(new Uint32Array([287454020]).buffer)[0]!==68)throw new Error("Non little-endian hardware is not supported");const xMe=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));function woe(t){if(!(t instanceof Uint8Array))throw new Error("Uint8Array expected");let e="";for(let n=0;n<t.length;n++)e+=xMe[t[n]];return e}function Pu(t){if(typeof t!="string")throw new Error("hex string expected, got "+typeof t);const e=t.length;if(e%2)throw new Error("padded hex string expected, got unpadded hex of length "+e);const n=new Uint8Array(e/2);for(let r=0;r<n.length;r++){const o=2*r,s=t.slice(o,o+2),a=Number.parseInt(s,16);if(Number.isNaN(a)||a<0)throw new Error("Invalid byte sequence");n[r]=a}return n}let wd=class extends Error{constructor(e,n){super(e),this.code=void 0,this.code=n}},D3=class extends wd{},boe=class extends wd{},_D=class extends wd{},t8=class extends _D{},n8=class extends _D{},r8=class extends wd{},o8=class extends wd{},L3=class extends wd{},xoe=class extends wd{},koe=class extends wd{},Vk=class s8{static parseWalletConnectUrl(e){e=e.replace("nostrwalletconnect://","http://").replace("nostr+walletconnect://","http://").replace("nostrwalletconnect:","http://").replace("nostr+walletconnect:","http://");const n=new URL(e),r=n.searchParams.get("relay");if(!r)throw new Error("No relay URL found in connection string");const o={walletPubkey:n.host,relayUrl:r},s=n.searchParams.get("secret");s&&(o.secret=s);const a=n.searchParams.get("lud16");return a&&(o.lud16=a),o}constructor(e){this.relay=void 0,this.relayUrl=void 0,this.secret=void 0,this.lud16=void 0,this.walletPubkey=void 0,this.options=void 0,this._encryptionType=void 0,e&&e.nostrWalletConnectUrl&&(e=Yu({},s8.parseWalletConnectUrl(e.nostrWalletConnectUrl),e)),this.options=Yu({},e||{}),this.relayUrl=this.options.relayUrl,this.relay=new Uk(this.relayUrl),this.options.secret&&(this.secret=this.options.secret.toLowerCase().startsWith("nsec")?e8.decode(this.options.secret).data:this.options.secret),this.lud16=this.options.lud16,this.walletPubkey=this.options.walletPubkey.toLowerCase().startsWith("npub")?e8.decode(this.options.walletPubkey).data:this.options.walletPubkey,globalThis.WebSocket===void 0&&console.error("WebSocket is undefined. Make sure to `import websocket-polyfill` for nodejs environments")}get nostrWalletConnectUrl(){return this.getNostrWalletConnectUrl()}getNostrWalletConnectUrl(e=!0){let n=`nostr+walletconnect://${this.walletPubkey}?relay=${this.relayUrl}&pubkey=${this.publicKey}`;return e&&(n=`${n}&secret=${this.secret}`),this.lud16&&(n=`${n}&lud16=${this.lud16}`),n}get connected(){return this.relay.connected}get publicKey(){if(!this.secret)throw new Error("Missing secret key");return wg(Pu(this.secret))}get encryptionType(){if(!this._encryptionType)throw new Error("Missing encryption or version");return this._encryptionType}getPublicKey(){return Promise.resolve(this.publicKey)}signEvent(e){if(!this.secret)throw new Error("Missing secret key");return Promise.resolve(ic(e,Pu(this.secret)))}getEventHash(e){return Ww(e)}close(){return this.relay.close()}async encrypt(e,n){if(!this.secret)throw new Error("Missing secret");let r;if(this.encryptionType==="nip04")r=await Gb.encrypt(this.secret,e,n);else{const o=Xf.getConversationKey(Pu(this.secret),e);r=Xf.encrypt(n,o)}return r}async decrypt(e,n){if(!this.secret)throw new Error("Missing secret");let r;if(this.encryptionType==="nip04")r=await Gb.decrypt(this.secret,e,n);else{const o=Xf.getConversationKey(Pu(this.secret),e);r=Xf.decrypt(n,o)}return r}static getAuthorizationUrl(e,n={},r){if(e.indexOf("/#/")>-1)throw new Error("hash router paths not supported");const o=new URL(e);return n.name&&o.searchParams.set("name",n.name),o.searchParams.set("pubkey",r),n.returnTo&&o.searchParams.set("return_to",n.returnTo),n.budgetRenewal&&o.searchParams.set("budget_renewal",n.budgetRenewal),n.expiresAt&&o.searchParams.set("expires_at",Math.floor(n.expiresAt.getTime()/1e3).toString()),n.maxAmount&&o.searchParams.set("max_amount",n.maxAmount.toString()),n.requestMethods&&o.searchParams.set("request_methods",n.requestMethods.join(" ")),n.notificationTypes&&o.searchParams.set("notification_types",n.notificationTypes.join(" ")),n.isolated&&o.searchParams.set("isolated","true"),n.metadata&&o.searchParams.set("metadata",JSON.stringify(n.metadata)),o}static fromAuthorizationUrl(e,n={},r){r=r||woe(uD()),n.name||(n.name=document.location.host);const o=this.getAuthorizationUrl(e,n,wg(Pu(r))),s=window.outerHeight/2+window.screenY-300,a=window.outerWidth/2+window.screenX-200;return new Promise((i,l)=>{const u=window.open(o.toString(),`${document.title} - Wallet Connect`,`height=600,width=400,top=${s},left=${a}`);if(!u)return void l(new Error("failed to execute window.open"));const d=m=>{const g=m.data;g&&g.type==="nwc:success"&&m.origin===`${o.protocol}//${o.host}`&&(g.relayUrl||l(new Error("no relayUrl in response")),g.walletPubkey||l(new Error("no walletPubkey in response")),i(new s8({relayUrl:g.relayUrl,walletPubkey:g.walletPubkey,secret:r,lud16:g.lud16})),clearInterval(f),window.removeEventListener("message",d),u&&u.close())},f=setInterval(()=>{u&&u.closed&&(clearInterval(f),window.removeEventListener("message",d),l(new Error("Popup closed")))},500);window.addEventListener("message",d)})}async getWalletServiceInfo(){var e;await this._checkConnected();const n=await new Promise((l,u)=>{const d=[],f=this.relay.subscribe([{kinds:[13194],limit:1,authors:[this.walletPubkey]}],{eoseTimeout:1e4});f.onevent=m=>{d.push(m)},f.oneose=()=>{f.close(),l(d)}});if(!n.length)throw new Error("no info event (kind 13194) returned from relay");const r=n[0].content,o=n[0].tags.find(l=>l[0]==="notifications"),s=n[0].tags.find(l=>l[0]==="v"),a=n[0].tags.find(l=>l[0]==="encryption");let i=["nip04"];return s&&s[1].includes("1.0")&&i.push("nip44_v2"),a&&(i=a[1].split(" ")),{encryptions:i,capabilities:r.split(/[ |,]/g),notifications:(o==null||(e=o[1])==null?void 0:e.split(" "))||[]}}async getInfo(){try{return await this.executeNip47Request("get_info",{},e=>!!e.methods,{replyTimeout:1e4})}catch(e){throw console.error("Failed to request get_info",e),e}}async getBudget(){try{return await this.executeNip47Request("get_budget",{},e=>e!==void 0,{replyTimeout:1e4})}catch(e){throw console.error("Failed to request get_budget",e),e}}async getBalance(){try{return await this.executeNip47Request("get_balance",{},e=>e.balance!==void 0,{replyTimeout:1e4})}catch(e){throw console.error("Failed to request get_balance",e),e}}async payInvoice(e){try{return await this.executeNip47Request("pay_invoice",e,n=>!!n)}catch(n){throw console.error("Failed to request pay_invoice",n),n}}async payKeysend(e){try{return await this.executeNip47Request("pay_keysend",e,n=>!!n.preimage)}catch(n){throw console.error("Failed to request pay_keysend",n),n}}async signMessage(e){try{return await this.executeNip47Request("sign_message",e,n=>n.message===e.message&&!!n.signature)}catch(n){throw console.error("Failed to request sign_message",n),n}}async createConnection(e){try{return await this.executeNip47Request("create_connection",e,n=>!!n.wallet_pubkey)}catch(n){throw console.error("Failed to request create_connection",n),n}}async multiPayInvoice(e){try{return{invoices:await this.executeMultiNip47Request("multi_pay_invoice",e,e.invoices.length,n=>!!n.preimage),errors:[]}}catch(n){throw console.error("Failed to request multi_pay_invoice",n),n}}async multiPayKeysend(e){try{return{keysends:await this.executeMultiNip47Request("multi_pay_keysend",e,e.keysends.length,n=>!!n.preimage),errors:[]}}catch(n){throw console.error("Failed to request multi_pay_keysend",n),n}}async makeInvoice(e){try{if(!e.amount)throw new Error("No amount specified");return await this.executeNip47Request("make_invoice",e,n=>!!n.invoice)}catch(n){throw console.error("Failed to request make_invoice",n),n}}async makeHoldInvoice(e){try{if(!e.amount)throw new Error("No amount specified");if(!e.payment_hash)throw new Error("No payment hash specified");return await this.executeNip47Request("make_hold_invoice",e,n=>!!n.invoice)}catch(n){throw console.error("Failed to request make_hold_invoice",n),n}}async settleHoldInvoice(e){try{return await this.executeNip47Request("settle_hold_invoice",e,n=>!!n)}catch(n){throw console.error("Failed to request settle_hold_invoice",n),n}}async cancelHoldInvoice(e){try{return await this.executeNip47Request("cancel_hold_invoice",e,n=>!!n)}catch(n){throw console.error("Failed to request cancel_hold_invoice",n),n}}async lookupInvoice(e){try{return await this.executeNip47Request("lookup_invoice",e,n=>!!n.invoice)}catch(n){throw console.error("Failed to request lookup_invoice",n),n}}async listTransactions(e){try{return await this.executeNip47Request("list_transactions",e,n=>!!n.transactions,{replyTimeout:1e4})}catch(n){throw console.error("Failed to request list_transactions",n),n}}async subscribeNotifications(e,n){var r=this;let o,s,a,i=!0;return(async function(){for(;i;){try{await r._checkConnected(),await r._selectEncryptionType(),a=r.relay.subscribe([{kinds:[...r.encryptionType==="nip04"?[23196]:[23197]],authors:[r.walletPubkey],"#p":[r.publicKey]}],{}),console.info("subscribed to relay"),a.onevent=async function(l){const u=await r.decrypt(r.walletPubkey,l.content);let d;try{d=JSON.parse(u)}catch(f){return void console.error("Failed to parse decrypted event content",f)}d.notification?(!n||n.indexOf(d.notification_type)>-1)&&e(d):console.error("No notification in response",d)},await new Promise(l=>{o=()=>{l()},s=()=>{console.info("relay disconnected"),o==null||o()},r.relay.onclose=s}),s!==void 0&&(r.relay.onclose=null)}catch(l){console.error("error subscribing to notifications",l||"unknown relay error")}i&&await new Promise(l=>setTimeout(l,1e3))}})(),()=>{var l;i=!1,o==null||o(),(l=a)==null||l.close()}}async executeNip47Request(e,n,r,o){var s=this;return await this._checkConnected(),await this._selectEncryptionType(),new Promise((a,i)=>{(async function(){const l={method:e,params:n},u=await s.encrypt(s.walletPubkey,JSON.stringify(l)),d={kind:23194,created_at:Math.floor(Date.now()/1e3),tags:[["p",s.walletPubkey],["v",s.encryptionType==="nip44_v2"?"1.0":"0.0"],["encryption",s.encryptionType]],content:u},f=await s.signEvent(d),m=s.relay.subscribe([{kinds:[23195],authors:[s.walletPubkey],"#e":[f.id]}],{}),g=setTimeout(function(){m.close(),i(new n8(`reply timeout: event ${f.id}`,"INTERNAL"))},(o==null?void 0:o.replyTimeout)||6e4);m.onevent=async function(b){clearTimeout(g),m.close();const j=await s.decrypt(s.walletPubkey,b.content);let S;try{S=JSON.parse(j)}catch{return clearTimeout(g),m.close(),void i(new o8("failed to deserialize response","INTERNAL"))}var I,N;S.result?r(S.result)?a(S.result):(clearTimeout(g),m.close(),i(new L3("response from NWC failed validation: "+JSON.stringify(S.result),"INTERNAL"))):(clearTimeout(g),m.close(),i(new boe(((I=S.error)==null?void 0:I.message)||"unknown Error",((N=S.error)==null?void 0:N.code)||"INTERNAL")))};const w=setTimeout(function(){m.close(),i(new t8(`publish timeout: ${f.id}`,"INTERNAL"))},(o==null?void 0:o.publishTimeout)||5e3);try{await s.relay.publish(f),clearTimeout(w)}catch(b){clearTimeout(w),i(new r8(`failed to publish: ${b}`,"INTERNAL"))}})()})}async executeMultiNip47Request(e,n,r,o,s){var a=this;await this._checkConnected(),await this._selectEncryptionType();const i=[];return new Promise((l,u)=>{(async function(){const d={method:e,params:n},f=await a.encrypt(a.walletPubkey,JSON.stringify(d)),m={kind:23194,created_at:Math.floor(Date.now()/1e3),tags:[["p",a.walletPubkey],["v",a.encryptionType==="nip44_v2"?"1.0":"0.0"],["encryption",a.encryptionType]],content:f},g=await a.signEvent(m),w=a.relay.subscribe([{kinds:[23195],authors:[a.walletPubkey],"#e":[g.id]}],{}),b=setTimeout(function(){w.close(),u(new n8(`reply timeout: event ${g.id}`,"INTERNAL"))},(s==null?void 0:s.replyTimeout)||6e4);w.onevent=async function(S){const I=await a.decrypt(a.walletPubkey,S.content);let N;try{N=JSON.parse(I)}catch{clearTimeout(b),w.close(),u(new o8("failed to deserialize response","INTERNAL"))}if(N.result){var M;if(!o(N.result))return clearTimeout(b),w.close(),void u(new L3("Response from NWC failed validation: "+JSON.stringify(N.result),"INTERNAL"));const L=(M=S.tags.find(B=>B[0]==="d"))==null?void 0:M[1];if(L===void 0)return clearTimeout(b),w.close(),void u(new L3("No d tag found in response event","INTERNAL"));i.push(Yu({},N.result,{dTag:L})),i.length===r&&(clearTimeout(b),w.close(),l(i))}else{var D,O;clearTimeout(b),w.close(),u(new xoe((D=N.error)==null?void 0:D.message,(O=N.error)==null?void 0:O.code))}};const j=setTimeout(function(){w.close(),u(new t8(`Publish timeout: ${g.id}`,"INTERNAL"))},(s==null?void 0:s.publishTimeout)||5e3);try{await a.relay.publish(g),clearTimeout(j)}catch(S){clearTimeout(j),u(new r8(`Failed to publish: ${S}`,"INTERNAL"))}})()})}async _checkConnected(){if(!this.secret)throw new Error("Missing secret key");if(!this.relayUrl)throw new Error("Missing relay url");try{this.relay.connected||await this.relay.connect()}catch{throw console.error("failed to connect to relay",this.relayUrl),new D3("Failed to connect to "+this.relayUrl,"OTHER")}}async _selectEncryptionType(){if(!this._encryptionType){const e=await this.getWalletServiceInfo(),n=this._findPreferredEncryptionType(e.encryptions);if(!n)throw new koe("no compatible encryption or version found between wallet and client","UNSUPPORTED_ENCRYPTION");n==="nip04"&&console.warn("NIP-04 encryption is about to be deprecated. Please upgrade your wallet service to use NIP-44 instead."),this._encryptionType=n}}_findPreferredEncryptionType(e){return e.includes("nip44_v2")?"nip44_v2":e.includes("nip04")?"nip04":null}};const kMe={get_info:"getInfo",get_balance:"getBalance",make_invoice:"makeInvoice",pay_invoice:"sendPayment",pay_keysend:"payKeysend",lookup_invoice:"lookupInvoice",list_transactions:"listTransactions",multi_pay_invoice:"sendMultiPayment",multi_pay_keysend:"multiKeysend",sign_message:"signMessage"};let jMe=class joe{get options(){return this.client.options}static async fromAuthorizationUrl(e,n={},r){const o=await Vk.fromAuthorizationUrl(e,n,r);return new joe({client:o})}constructor(e){this._enabled=!1,this.client=void 0,this.subscribers=void 0,this.client=(e==null?void 0:e.client)||new Vk(e),this.subscribers={}}on(e,n){this.subscribers[e]=n}notify(e,n){const r=this.subscribers[e];r&&r(n)}getPublicKey(){return this.client.getPublicKey()}signEvent(e){return this.client.signEvent(e)}async enable(){this._enabled=!0}close(){return this.client.close()}async getInfo(){await this.checkEnabled();const e=["lightning","nostr"],n="Alby JS SDK";try{const r=await this.client.getInfo(),o={methods:r.methods.map(s=>kMe[s]),node:{alias:r.alias,pubkey:r.pubkey,color:r.color},supports:e,version:n};return this.notify("getInfo",o),o}catch(r){return console.error("Using minimal getInfo",r),{methods:["sendPayment"],node:{},supports:e,version:n}}}async getBalance(){await this.checkEnabled();const e=await this.client.getBalance(),n={balance:Math.floor(e.balance/1e3),currency:"sats"};return this.notify("getBalance",n),n}async sendPayment(e){await this.checkEnabled();const n={preimage:(await this.client.payInvoice({invoice:e})).preimage};return this.notify("sendPayment",n),n}async sendPaymentAsync(e){return await this.checkEnabled(),this.client.payInvoice({invoice:e}),this.notify("sendPaymentAsync",{}),{}}async keysend(e){await this.checkEnabled();const n={preimage:(await this.client.payKeysend(JU(e))).preimage};return this.notify("keysend",n),n}async signMessage(e){await this.checkEnabled();const n=await this.client.signMessage({message:e}),r={message:n.message,signature:n.signature};return this.notify("keysend",r),r}async makeInvoice(e){var n;await this.checkEnabled();const r=typeof e=="object"?e:void 0,o=+((n=r==null?void 0:r.amount)!=null?n:e);if(!o)throw new Error("No amount specified");const s={paymentRequest:(await this.client.makeInvoice({amount:1e3*o,description:r==null?void 0:r.defaultMemo})).invoice};return this.notify("makeInvoice",s),s}async lookupInvoice(e){await this.checkEnabled();const n=await this.client.lookupInvoice({invoice:e.paymentRequest,payment_hash:e.paymentHash}),r={preimage:n.preimage,paymentRequest:n.invoice,paid:!!n.settled_at};return this.notify("lookupInvoice",r),r}async listTransactions(e){await this.checkEnabled();const n={transactions:(await this.client.listTransactions(e)).transactions.map(CMe)};return this.notify("listTransactions",n),n}async sendMultiPayment(e){await this.checkEnabled();const n=await this.client.multiPayInvoice({invoices:e.map((o,s)=>({invoice:o,id:s.toString()}))}),r={payments:n.invoices.map(o=>{const s=e[parseInt(o.dTag)];if(!s)throw new Error("Could not find paymentRequest matching response d tag");return{paymentRequest:s,preimage:o.preimage}}),errors:[]};return this.notify("sendMultiPayment",r),r}async multiKeysend(e){await this.checkEnabled();const n=await this.client.multiPayKeysend({keysends:e.map((o,s)=>Yu({},JU(o),{id:s.toString()}))}),r={keysends:n.keysends.map(o=>{const s=e[parseInt(o.dTag)];if(!s)throw new Error("Could not find keysend matching response d tag");return{keysend:s,preimage:o.preimage}}),errors:[]};return this.notify("multiKeysend",r),r}lnurl(e){throw new Error("Method not implemented.")}request(e,n){throw new Error("Method not implemented.")}verifyMessage(e,n){throw new Error("Method not implemented.")}async checkEnabled(){if(!this._enabled)throw new Error("please call enable() and await the promise before calling this function")}};function CMe(t){return Yu({},t,{amount:Math.floor(t.amount/1e3),fees_paid:t.fees_paid?Math.floor(t.fees_paid/1e3):0})}function JU(t){return{amount:1e3*+t.amount,pubkey:t.destination,tlv_records:t.customRecords?Object.entries(t.customRecords).map(e=>({type:parseInt(e[0]),value:bMe(new TextEncoder().encode(e[1]))})):[]}}var Coe={__proto__:null,NostrWebLNProvider:jMe},iS={__proto__:null,Nip47Error:wd,Nip47NetworkError:D3,Nip47WalletError:boe,Nip47TimeoutError:_D,Nip47PublishTimeoutError:t8,Nip47ReplyTimeoutError:n8,Nip47PublishError:r8,Nip47ResponseDecodingError:o8,Nip47ResponseValidationError:L3,Nip47UnexpectedResponseError:xoe,Nip47UnsupportedEncryptionError:koe,NWCClient:Vk,NWAClient:class{constructor(t){if(this.options=void 0,this.appSecretKey=void 0,this.relay=void 0,this.appSecretKey=t.appSecretKey||woe(uD()),this.options=Yu({},t,{appPubkey:wg(Pu(this.appSecretKey))}),!this.options.relayUrl)throw new Error("Missing relay url");if(!this.options.requestMethods)throw new Error("Missing request methods");this.relay=new Uk(this.options.relayUrl),globalThis.WebSocket===void 0&&console.error("WebSocket is undefined. Make sure to `import websocket-polyfill` for nodejs environments")}get connectionUri(){return this.getConnectionUri()}getConnectionUri(t=""){const e=new URLSearchParams(Yu({relay:this.options.relayUrl,request_methods:this.options.requestMethods.join(" ")},this.options.name?{name:this.options.name}:{},this.options.icon?{icon:this.options.icon}:{},this.options.returnTo?{return_to:this.options.returnTo}:{},this.options.notificationTypes?{notification_types:this.options.notificationTypes.join(" ")}:{},this.options.maxAmount?{max_amount:this.options.maxAmount.toString()}:{},this.options.budgetRenewal?{budget_renewal:this.options.budgetRenewal}:{},this.options.expiresAt?{expires_at:this.options.expiresAt.toString()}:{},this.options.isolated?{isolated:this.options.isolated.toString()}:{},this.options.metadata?{metadata:JSON.stringify(this.options.metadata)}:{}));return`nostr+walletauth${t?`+${t}`:""}://${this.options.appPubkey}?${e.toString().replace(/\+/g,"%20")}`}static parseWalletAuthUrl(t){var e,n;if(!t.startsWith("nostr+walletauth"))throw new Error("Unexpected scheme. Should be nostr+walletauth:// or nostr+walletauth+specificapp://");const r=t.indexOf(":");(t=t.substring(r+1)).startsWith("//")&&(t=t.substring(2)),t="http://"+t;const o=new URL(t),s=o.host;if((s==null?void 0:s.length)!==64)throw new Error("Incorrect app pubkey found in auth string");const a=o.searchParams.get("relay");if(!a)throw new Error("No relay URL found in auth string");const i=(e=o.searchParams.get("request_methods"))==null?void 0:e.split(" ");if(i==null||!i.length)throw new Error("No request methods found in auth string");const l=(n=o.searchParams.get("notification_types"))==null?void 0:n.split(" "),u=o.searchParams.get("max_amount"),d=o.searchParams.get("expires_at"),f=o.searchParams.get("metadata");return{name:o.searchParams.get("name")||void 0,icon:o.searchParams.get("icon")||void 0,returnTo:o.searchParams.get("return_to")||void 0,relayUrl:a,appPubkey:s,requestMethods:i,notificationTypes:l,budgetRenewal:o.searchParams.get("budget_renewal"),expiresAt:d?parseInt(d):void 0,maxAmount:u?parseInt(u):void 0,isolated:o.searchParams.get("isolated")==="true",metadata:f?JSON.parse(f):void 0}}async subscribe(t){var e=this;let n,r,o=!0;return(async function(){for(;o;){try{await e._checkConnected();const s=e.relay.subscribe([{kinds:[13194],"#p":[e.options.appPubkey]}],{});console.info("subscribed to relay");const a=()=>{s.close(),e.relay.close()};s.onevent=async function(i){const l=new Vk({relayUrl:e.options.relayUrl,secret:e.appSecretKey,walletPubkey:i.pubkey});try{const u=await l.getInfo();l.options.lud16=u.lud16,l.lud16=u.lud16}catch(u){console.error("failed to fetch get_info",u)}t.onSuccess(l),a()},await new Promise(i=>{n=()=>{i()},r=()=>{console.info("relay disconnected"),n==null||n()},e.relay.onclose=r}),r!==void 0&&(e.relay.onclose=null)}catch(s){console.error("error subscribing to info event",s||"unknown relay error")}o&&await new Promise(s=>setTimeout(s,1e3))}})(),{unsub:()=>{o=!1,n==null||n()}}}async _checkConnected(){if(!this.appSecretKey)throw new Error("Missing secret key");if(!this.options.relayUrl)throw new Error("Missing relay url");try{this.relay.connected||await this.relay.connect()}catch{throw console.error("failed to connect to relay",this.options.relayUrl),new D3("Failed to connect to "+this.options.relayUrl,"OTHER")}}},NWCWalletServiceKeyPair:class{constructor(t,e){if(this.walletSecret=void 0,this.walletPubkey=void 0,this.clientPubkey=void 0,this.walletSecret=t,this.clientPubkey=e,!this.walletSecret)throw new Error("Missing wallet secret key");if(!this.clientPubkey)throw new Error("Missing client pubkey");this.walletPubkey=wg(Pu(this.walletSecret))}},NWCWalletService:class{constructor(t){this.relay=void 0,this.relayUrl=void 0,this.relayUrl=t.relayUrl,this.relay=new Uk(this.relayUrl),globalThis.WebSocket===void 0&&console.error("WebSocket is undefined. Make sure to `import websocket-polyfill` for nodejs environments")}async publishWalletServiceInfoEvent(t,e,n){try{await this._checkConnected();const r={kind:13194,created_at:Math.floor(Date.now()/1e3),tags:[["encryption","nip04 nip44_v2"],["notifications",n.join(" ")]],content:e.join(" ")},o=await this.signEvent(r,t);await this.relay.publish(o)}catch(r){throw console.error("failed to publish wallet service info event",r),r}}async subscribe(t,e){var n=this;let r,o,s,a=!0;return(async function(){for(;a;){try{console.info("checking connection to relay"),await n._checkConnected(),console.info("subscribing to relay"),s=n.relay.subscribe([{kinds:[23194],authors:[t.clientPubkey],"#p":[t.walletPubkey]}],{}),console.info("subscribed to relay"),s.onevent=async function(i){try{var l;const u=((l=i.tags.find(j=>j[0]==="encryption"))==null?void 0:l[1])||"nip04",d=await n.decrypt(t,i.content,u),f=JSON.parse(d);let m;switch(f.method){case"get_info":m=e.getInfo==null?void 0:e.getInfo();break;case"make_invoice":m=e.makeInvoice==null?void 0:e.makeInvoice(f.params);break;case"pay_invoice":m=e.payInvoice==null?void 0:e.payInvoice(f.params);break;case"pay_keysend":m=e.payKeysend==null?void 0:e.payKeysend(f.params);break;case"get_balance":m=e.getBalance==null?void 0:e.getBalance();break;case"lookup_invoice":m=e.lookupInvoice==null?void 0:e.lookupInvoice(f.params);break;case"list_transactions":m=e.listTransactions==null?void 0:e.listTransactions(f.params);break;case"sign_message":m=e.signMessage==null?void 0:e.signMessage(f.params)}let g=await m;g||(console.warn("received unsupported method",f.method),g={error:{code:"NOT_IMPLEMENTED",message:"This method is not supported by the wallet service"},result:void 0});const w={kind:23195,created_at:Math.floor(Date.now()/1e3),tags:[["e",i.id]],content:await n.encrypt(t,JSON.stringify(Yu({result_type:f.method},g)),u)},b=await n.signEvent(w,t.walletSecret);await n.relay.publish(b)}catch(u){return void console.error("Failed to parse decrypted event content",u)}},await new Promise(i=>{r=()=>{i()},o=()=>{console.error("relay disconnected"),r==null||r()},n.relay.onclose=o}),o!==void 0&&(n.relay.onclose=null)}catch(i){console.error("error subscribing to requests",i||"unknown relay error")}a&&await new Promise(i=>setTimeout(i,1e3))}})(),()=>{var i;a=!1,r==null||r(),(i=s)==null||i.close()}}get connected(){return this.relay.connected}signEvent(t,e){return Promise.resolve(ic(t,Pu(e)))}close(){return this.relay.close()}async encrypt(t,e,n){let r;if(n==="nip04")r=await Gb.encrypt(t.walletSecret,t.clientPubkey,e);else{const o=Xf.getConversationKey(Pu(t.walletSecret),t.clientPubkey);r=Xf.encrypt(e,o)}return r}async decrypt(t,e,n){let r;if(n==="nip04")r=await Gb.decrypt(t.walletSecret,t.clientPubkey,e);else{const o=Xf.getConversationKey(Pu(t.walletSecret),t.clientPubkey);r=Xf.decrypt(e,o)}return r}async _checkConnected(){if(!this.relayUrl)throw new Error("Missing relay url");try{this.relay.connected||await this.relay.connect()}catch{throw console.error("failed to connect to relay",this.relayUrl),new D3("Failed to connect to "+this.relayUrl,"OTHER")}}}};const SMe={},XU=t=>{let e;const n=new Set,r=(d,f)=>{const m=typeof d=="function"?d(e):d;if(!Object.is(m,e)){const g=e;e=f??(typeof m!="object"||m===null)?m:Object.assign({},e,m),n.forEach(w=>w(e,g))}},o=()=>e,l={setState:r,getState:o,getInitialState:()=>u,subscribe:d=>(n.add(d),()=>n.delete(d)),destroy:()=>{(SMe?"production":void 0)!=="production"&&console.warn("[DEPRECATED] The `destroy` method will be unsupported in a future version. Instead use unsubscribe function returned by subscribe. Everything will be garbage-collected if store is garbage-collected."),n.clear()}},u=e=t(r,o,l);return l},EMe=t=>t?XU(t):XU;var i9={exports:{}},e$;function NMe(){return e$||(e$=1,(function(t,e){var n=(function(){var r=function(D,O){var L=236,B=17,T=D,R=s[O],z=null,Y=0,Q=null,W=[],F={},X=function(ce,pe){Y=T*4+17,z=(function(me){for(var ke=new Array(me),le=0;le<me;le+=1){ke[le]=new Array(me);for(var he=0;he<me;he+=1)ke[le][he]=null}return ke})(Y),$(0,0),$(Y-7,0),$(0,Y-7),G(),K(),ne(ce,pe),T>=7&&J(ce),Q==null&&(Q=Ne(T,R,W)),re(Q,pe)},$=function(ce,pe){for(var me=-1;me<=7;me+=1)if(!(ce+me<=-1||Y<=ce+me))for(var ke=-1;ke<=7;ke+=1)pe+ke<=-1||Y<=pe+ke||(0<=me&&me<=6&&(ke==0||ke==6)||0<=ke&&ke<=6&&(me==0||me==6)||2<=me&&me<=4&&2<=ke&&ke<=4?z[ce+me][pe+ke]=!0:z[ce+me][pe+ke]=!1)},V=function(){for(var ce=0,pe=0,me=0;me<8;me+=1){X(!0,me);var ke=i.getLostPoint(F);(me==0||ce>ke)&&(ce=ke,pe=me)}return pe},K=function(){for(var ce=8;ce<Y-8;ce+=1)z[ce][6]==null&&(z[ce][6]=ce%2==0);for(var pe=8;pe<Y-8;pe+=1)z[6][pe]==null&&(z[6][pe]=pe%2==0)},G=function(){for(var ce=i.getPatternPosition(T),pe=0;pe<ce.length;pe+=1)for(var me=0;me<ce.length;me+=1){var ke=ce[pe],le=ce[me];if(z[ke][le]==null)for(var he=-2;he<=2;he+=1)for(var we=-2;we<=2;we+=1)he==-2||he==2||we==-2||we==2||he==0&&we==0?z[ke+he][le+we]=!0:z[ke+he][le+we]=!1}},J=function(ce){for(var pe=i.getBCHTypeNumber(T),me=0;me<18;me+=1){var ke=!ce&&(pe>>me&1)==1;z[Math.floor(me/3)][me%3+Y-8-3]=ke}for(var me=0;me<18;me+=1){var ke=!ce&&(pe>>me&1)==1;z[me%3+Y-8-3][Math.floor(me/3)]=ke}},ne=function(ce,pe){for(var me=R<<3|pe,ke=i.getBCHTypeInfo(me),le=0;le<15;le+=1){var he=!ce&&(ke>>le&1)==1;le<6?z[le][8]=he:le<8?z[le+1][8]=he:z[Y-15+le][8]=he}for(var le=0;le<15;le+=1){var he=!ce&&(ke>>le&1)==1;le<8?z[8][Y-le-1]=he:le<9?z[8][15-le-1+1]=he:z[8][15-le-1]=he}z[Y-8][8]=!ce},re=function(ce,pe){for(var me=-1,ke=Y-1,le=7,he=0,we=i.getMaskFunction(pe),Ae=Y-1;Ae>0;Ae-=2)for(Ae==6&&(Ae-=1);;){for(var Ve=0;Ve<2;Ve+=1)if(z[ke][Ae-Ve]==null){var Ze=!1;he<ce.length&&(Ze=(ce[he]>>>le&1)==1);var nt=we(ke,Ae-Ve);nt&&(Ze=!Ze),z[ke][Ae-Ve]=Ze,le-=1,le==-1&&(he+=1,le=7)}if(ke+=me,ke<0||Y<=ke){ke-=me,me=-me;break}}},de=function(ce,pe){for(var me=0,ke=0,le=0,he=new Array(pe.length),we=new Array(pe.length),Ae=0;Ae<pe.length;Ae+=1){var Ve=pe[Ae].dataCount,Ze=pe[Ae].totalCount-Ve;ke=Math.max(ke,Ve),le=Math.max(le,Ze),he[Ae]=new Array(Ve);for(var nt=0;nt<he[Ae].length;nt+=1)he[Ae][nt]=255&ce.getBuffer()[nt+me];me+=Ve;var $e=i.getErrorCorrectPolynomial(Ze),Ke=u(he[Ae],$e.getLength()-1),Me=Ke.mod($e);we[Ae]=new Array($e.getLength()-1);for(var nt=0;nt<we[Ae].length;nt+=1){var et=nt+Me.getLength()-we[Ae].length;we[Ae][nt]=et>=0?Me.getAt(et):0}}for(var pt=0,nt=0;nt<pe.length;nt+=1)pt+=pe[nt].totalCount;for(var ht=new Array(pt),st=0,nt=0;nt<ke;nt+=1)for(var Ae=0;Ae<pe.length;Ae+=1)nt<he[Ae].length&&(ht[st]=he[Ae][nt],st+=1);for(var nt=0;nt<le;nt+=1)for(var Ae=0;Ae<pe.length;Ae+=1)nt<we[Ae].length&&(ht[st]=we[Ae][nt],st+=1);return ht},Ne=function(ce,pe,me){for(var ke=d.getRSBlocks(ce,pe),le=f(),he=0;he<me.length;he+=1){var we=me[he];le.put(we.getMode(),4),le.put(we.getLength(),i.getLengthInBits(we.getMode(),ce)),we.write(le)}for(var Ae=0,he=0;he<ke.length;he+=1)Ae+=ke[he].dataCount;if(le.getLengthInBits()>Ae*8)throw"code length overflow. ("+le.getLengthInBits()+">"+Ae*8+")";for(le.getLengthInBits()+4<=Ae*8&&le.put(0,4);le.getLengthInBits()%8!=0;)le.putBit(!1);for(;!(le.getLengthInBits()>=Ae*8||(le.put(L,8),le.getLengthInBits()>=Ae*8));)le.put(B,8);return de(le,ke)};F.addData=function(ce,pe){pe=pe||"Byte";var me=null;switch(pe){case"Numeric":me=m(ce);break;case"Alphanumeric":me=g(ce);break;case"Byte":me=w(ce);break;case"Kanji":me=b(ce);break;default:throw"mode:"+pe}W.push(me),Q=null},F.isDark=function(ce,pe){if(ce<0||Y<=ce||pe<0||Y<=pe)throw ce+","+pe;return z[ce][pe]},F.getModuleCount=function(){return Y},F.make=function(){if(T<1){for(var ce=1;ce<40;ce++){for(var pe=d.getRSBlocks(ce,R),me=f(),ke=0;ke<W.length;ke++){var le=W[ke];me.put(le.getMode(),4),me.put(le.getLength(),i.getLengthInBits(le.getMode(),ce)),le.write(me)}for(var he=0,ke=0;ke<pe.length;ke++)he+=pe[ke].dataCount;if(me.getLengthInBits()<=he*8)break}T=ce}X(!1,V())},F.createTableTag=function(ce,pe){ce=ce||2,pe=typeof pe>"u"?ce*4:pe;var me="";me+='<table style="',me+=" border-width: 0px; border-style: none;",me+=" border-collapse: collapse;",me+=" padding: 0px; margin: "+pe+"px;",me+='">',me+="<tbody>";for(var ke=0;ke<F.getModuleCount();ke+=1){me+="<tr>";for(var le=0;le<F.getModuleCount();le+=1)me+='<td style="',me+=" border-width: 0px; border-style: none;",me+=" border-collapse: collapse;",me+=" padding: 0px; margin: 0px;",me+=" width: "+ce+"px;",me+=" height: "+ce+"px;",me+=" background-color: ",me+=F.isDark(ke,le)?"#000000":"#ffffff",me+=";",me+='"/>';me+="</tr>"}return me+="</tbody>",me+="</table>",me},F.createSvgTag=function(ce,pe,me,ke){var le={};typeof arguments[0]=="object"&&(le=arguments[0],ce=le.cellSize,pe=le.margin,me=le.alt,ke=le.title),ce=ce||2,pe=typeof pe>"u"?ce*4:pe,me=typeof me=="string"?{text:me}:me||{},me.text=me.text||null,me.id=me.text?me.id||"qrcode-description":null,ke=typeof ke=="string"?{text:ke}:ke||{},ke.text=ke.text||null,ke.id=ke.text?ke.id||"qrcode-title":null;var he=F.getModuleCount()*ce+pe*2,we,Ae,Ve,Ze,nt="",$e;for($e="l"+ce+",0 0,"+ce+" -"+ce+",0 0,-"+ce+"z ",nt+='<svg version="1.1" xmlns="http://www.w3.org/2000/svg"',nt+=le.scalable?"":' width="'+he+'px" height="'+he+'px"',nt+=' viewBox="0 0 '+he+" "+he+'" ',nt+=' preserveAspectRatio="xMinYMin meet"',nt+=ke.text||me.text?' role="img" aria-labelledby="'+ve([ke.id,me.id].join(" ").trim())+'"':"",nt+=">",nt+=ke.text?'<title id="'+ve(ke.id)+'">'+ve(ke.text)+"</title>":"",nt+=me.text?'<description id="'+ve(me.id)+'">'+ve(me.text)+"</description>":"",nt+='<rect width="100%" height="100%" fill="white" cx="0" cy="0"/>',nt+='<path d="',Ve=0;Ve<F.getModuleCount();Ve+=1)for(Ze=Ve*ce+pe,we=0;we<F.getModuleCount();we+=1)F.isDark(Ve,we)&&(Ae=we*ce+pe,nt+="M"+Ae+","+Ze+$e);return nt+='" stroke="transparent" fill="black"/>',nt+="</svg>",nt},F.createDataURL=function(ce,pe){ce=ce||2,pe=typeof pe>"u"?ce*4:pe;var me=F.getModuleCount()*ce+pe*2,ke=pe,le=me-pe;return M(me,me,function(he,we){if(ke<=he&&he<le&&ke<=we&&we<le){var Ae=Math.floor((he-ke)/ce),Ve=Math.floor((we-ke)/ce);return F.isDark(Ve,Ae)?0:1}else return 1})},F.createImgTag=function(ce,pe,me){ce=ce||2,pe=typeof pe>"u"?ce*4:pe;var ke=F.getModuleCount()*ce+pe*2,le="";return le+="<img",le+=' src="',le+=F.createDataURL(ce,pe),le+='"',le+=' width="',le+=ke,le+='"',le+=' height="',le+=ke,le+='"',me&&(le+=' alt="',le+=ve(me),le+='"'),le+="/>",le};var ve=function(ce){for(var pe="",me=0;me<ce.length;me+=1){var ke=ce.charAt(me);switch(ke){case"<":pe+="<";break;case">":pe+=">";break;case"&":pe+="&";break;case'"':pe+=""";break;default:pe+=ke;break}}return pe},xe=function(ce){var pe=1;ce=typeof ce>"u"?pe*2:ce;var me=F.getModuleCount()*pe+ce*2,ke=ce,le=me-ce,he,we,Ae,Ve,Ze,nt={"██":"█","█ ":"▀"," █":"▄"," ":" "},$e={"██":"▀","█ ":"▀"," █":" "," ":" "},Ke="";for(he=0;he<me;he+=2){for(Ae=Math.floor((he-ke)/pe),Ve=Math.floor((he+1-ke)/pe),we=0;we<me;we+=1)Ze="█",ke<=we&&we<le&&ke<=he&&he<le&&F.isDark(Ae,Math.floor((we-ke)/pe))&&(Ze=" "),ke<=we&&we<le&&ke<=he+1&&he+1<le&&F.isDark(Ve,Math.floor((we-ke)/pe))?Ze+=" ":Ze+="█",Ke+=ce<1&&he+1>=le?$e[Ze]:nt[Ze];Ke+=`
45 `}return me%2&&ce>0?Ke.substring(0,Ke.length-me-1)+Array(me+1).join("▀"):Ke.substring(0,Ke.length-1)};return F.createASCII=function(ce,pe){if(ce=ce||1,ce<2)return xe(pe);ce-=1,pe=typeof pe>"u"?ce*2:pe;var me=F.getModuleCount()*ce+pe*2,ke=pe,le=me-pe,he,we,Ae,Ve,Ze=Array(ce+1).join("██"),nt=Array(ce+1).join(" "),$e="",Ke="";for(he=0;he<me;he+=1){for(Ae=Math.floor((he-ke)/ce),Ke="",we=0;we<me;we+=1)Ve=1,ke<=we&&we<le&&ke<=he&&he<le&&F.isDark(Ae,Math.floor((we-ke)/ce))&&(Ve=0),Ke+=Ve?Ze:nt;for(Ae=0;Ae<ce;Ae+=1)$e+=Ke+`
46 `}return $e.substring(0,$e.length-1)},F.renderTo2dContext=function(ce,pe){pe=pe||2;for(var me=F.getModuleCount(),ke=0;ke<me;ke++)for(var le=0;le<me;le++)ce.fillStyle=F.isDark(ke,le)?"black":"white",ce.fillRect(ke*pe,le*pe,pe,pe)},F};r.stringToBytesFuncs={default:function(D){for(var O=[],L=0;L<D.length;L+=1){var B=D.charCodeAt(L);O.push(B&255)}return O}},r.stringToBytes=r.stringToBytesFuncs.default,r.createStringToBytes=function(D,O){var L=(function(){for(var T=I(D),R=function(){var K=T.read();if(K==-1)throw"eof";return K},z=0,Y={};;){var Q=T.read();if(Q==-1)break;var W=R(),F=R(),X=R(),$=String.fromCharCode(Q<<8|W),V=F<<8|X;Y[$]=V,z+=1}if(z!=O)throw z+" != "+O;return Y})(),B=63;return function(T){for(var R=[],z=0;z<T.length;z+=1){var Y=T.charCodeAt(z);if(Y<128)R.push(Y);else{var Q=L[T.charAt(z)];typeof Q=="number"?(Q&255)==Q?R.push(Q):(R.push(Q>>>8),R.push(Q&255)):R.push(B)}}return R}};var o={MODE_NUMBER:1,MODE_ALPHA_NUM:2,MODE_8BIT_BYTE:4,MODE_KANJI:8},s={L:1,M:0,Q:3,H:2},a={PATTERN000:0,PATTERN001:1,PATTERN010:2,PATTERN011:3,PATTERN100:4,PATTERN101:5,PATTERN110:6,PATTERN111:7},i=(function(){var D=[[],[6,18],[6,22],[6,26],[6,30],[6,34],[6,22,38],[6,24,42],[6,26,46],[6,28,50],[6,30,54],[6,32,58],[6,34,62],[6,26,46,66],[6,26,48,70],[6,26,50,74],[6,30,54,78],[6,30,56,82],[6,30,58,86],[6,34,62,90],[6,28,50,72,94],[6,26,50,74,98],[6,30,54,78,102],[6,28,54,80,106],[6,32,58,84,110],[6,30,58,86,114],[6,34,62,90,118],[6,26,50,74,98,122],[6,30,54,78,102,126],[6,26,52,78,104,130],[6,30,56,82,108,134],[6,34,60,86,112,138],[6,30,58,86,114,142],[6,34,62,90,118,146],[6,30,54,78,102,126,150],[6,24,50,76,102,128,154],[6,28,54,80,106,132,158],[6,32,58,84,110,136,162],[6,26,54,82,110,138,166],[6,30,58,86,114,142,170]],O=1335,L=7973,B=21522,T={},R=function(z){for(var Y=0;z!=0;)Y+=1,z>>>=1;return Y};return T.getBCHTypeInfo=function(z){for(var Y=z<<10;R(Y)-R(O)>=0;)Y^=O<<R(Y)-R(O);return(z<<10|Y)^B},T.getBCHTypeNumber=function(z){for(var Y=z<<12;R(Y)-R(L)>=0;)Y^=L<<R(Y)-R(L);return z<<12|Y},T.getPatternPosition=function(z){return D[z-1]},T.getMaskFunction=function(z){switch(z){case a.PATTERN000:return function(Y,Q){return(Y+Q)%2==0};case a.PATTERN001:return function(Y,Q){return Y%2==0};case a.PATTERN010:return function(Y,Q){return Q%3==0};case a.PATTERN011:return function(Y,Q){return(Y+Q)%3==0};case a.PATTERN100:return function(Y,Q){return(Math.floor(Y/2)+Math.floor(Q/3))%2==0};case a.PATTERN101:return function(Y,Q){return Y*Q%2+Y*Q%3==0};case a.PATTERN110:return function(Y,Q){return(Y*Q%2+Y*Q%3)%2==0};case a.PATTERN111:return function(Y,Q){return(Y*Q%3+(Y+Q)%2)%2==0};default:throw"bad maskPattern:"+z}},T.getErrorCorrectPolynomial=function(z){for(var Y=u([1],0),Q=0;Q<z;Q+=1)Y=Y.multiply(u([1,l.gexp(Q)],0));return Y},T.getLengthInBits=function(z,Y){if(1<=Y&&Y<10)switch(z){case o.MODE_NUMBER:return 10;case o.MODE_ALPHA_NUM:return 9;case o.MODE_8BIT_BYTE:return 8;case o.MODE_KANJI:return 8;default:throw"mode:"+z}else if(Y<27)switch(z){case o.MODE_NUMBER:return 12;case o.MODE_ALPHA_NUM:return 11;case o.MODE_8BIT_BYTE:return 16;case o.MODE_KANJI:return 10;default:throw"mode:"+z}else if(Y<41)switch(z){case o.MODE_NUMBER:return 14;case o.MODE_ALPHA_NUM:return 13;case o.MODE_8BIT_BYTE:return 16;case o.MODE_KANJI:return 12;default:throw"mode:"+z}else throw"type:"+Y},T.getLostPoint=function(z){for(var Y=z.getModuleCount(),Q=0,W=0;W<Y;W+=1)for(var F=0;F<Y;F+=1){for(var X=0,$=z.isDark(W,F),V=-1;V<=1;V+=1)if(!(W+V<0||Y<=W+V))for(var K=-1;K<=1;K+=1)F+K<0||Y<=F+K||V==0&&K==0||$==z.isDark(W+V,F+K)&&(X+=1);X>5&&(Q+=3+X-5)}for(var W=0;W<Y-1;W+=1)for(var F=0;F<Y-1;F+=1){var G=0;z.isDark(W,F)&&(G+=1),z.isDark(W+1,F)&&(G+=1),z.isDark(W,F+1)&&(G+=1),z.isDark(W+1,F+1)&&(G+=1),(G==0||G==4)&&(Q+=3)}for(var W=0;W<Y;W+=1)for(var F=0;F<Y-6;F+=1)z.isDark(W,F)&&!z.isDark(W,F+1)&&z.isDark(W,F+2)&&z.isDark(W,F+3)&&z.isDark(W,F+4)&&!z.isDark(W,F+5)&&z.isDark(W,F+6)&&(Q+=40);for(var F=0;F<Y;F+=1)for(var W=0;W<Y-6;W+=1)z.isDark(W,F)&&!z.isDark(W+1,F)&&z.isDark(W+2,F)&&z.isDark(W+3,F)&&z.isDark(W+4,F)&&!z.isDark(W+5,F)&&z.isDark(W+6,F)&&(Q+=40);for(var J=0,F=0;F<Y;F+=1)for(var W=0;W<Y;W+=1)z.isDark(W,F)&&(J+=1);var ne=Math.abs(100*J/Y/Y-50)/5;return Q+=ne*10,Q},T})(),l=(function(){for(var D=new Array(256),O=new Array(256),L=0;L<8;L+=1)D[L]=1<<L;for(var L=8;L<256;L+=1)D[L]=D[L-4]^D[L-5]^D[L-6]^D[L-8];for(var L=0;L<255;L+=1)O[D[L]]=L;var B={};return B.glog=function(T){if(T<1)throw"glog("+T+")";return O[T]},B.gexp=function(T){for(;T<0;)T+=255;for(;T>=256;)T-=255;return D[T]},B})();function u(D,O){if(typeof D.length>"u")throw D.length+"/"+O;var L=(function(){for(var T=0;T<D.length&&D[T]==0;)T+=1;for(var R=new Array(D.length-T+O),z=0;z<D.length-T;z+=1)R[z]=D[z+T];return R})(),B={};return B.getAt=function(T){return L[T]},B.getLength=function(){return L.length},B.multiply=function(T){for(var R=new Array(B.getLength()+T.getLength()-1),z=0;z<B.getLength();z+=1)for(var Y=0;Y<T.getLength();Y+=1)R[z+Y]^=l.gexp(l.glog(B.getAt(z))+l.glog(T.getAt(Y)));return u(R,0)},B.mod=function(T){if(B.getLength()-T.getLength()<0)return B;for(var R=l.glog(B.getAt(0))-l.glog(T.getAt(0)),z=new Array(B.getLength()),Y=0;Y<B.getLength();Y+=1)z[Y]=B.getAt(Y);for(var Y=0;Y<T.getLength();Y+=1)z[Y]^=l.gexp(l.glog(T.getAt(Y))+R);return u(z,0).mod(T)},B}var d=(function(){var D=[[1,26,19],[1,26,16],[1,26,13],[1,26,9],[1,44,34],[1,44,28],[1,44,22],[1,44,16],[1,70,55],[1,70,44],[2,35,17],[2,35,13],[1,100,80],[2,50,32],[2,50,24],[4,25,9],[1,134,108],[2,67,43],[2,33,15,2,34,16],[2,33,11,2,34,12],[2,86,68],[4,43,27],[4,43,19],[4,43,15],[2,98,78],[4,49,31],[2,32,14,4,33,15],[4,39,13,1,40,14],[2,121,97],[2,60,38,2,61,39],[4,40,18,2,41,19],[4,40,14,2,41,15],[2,146,116],[3,58,36,2,59,37],[4,36,16,4,37,17],[4,36,12,4,37,13],[2,86,68,2,87,69],[4,69,43,1,70,44],[6,43,19,2,44,20],[6,43,15,2,44,16],[4,101,81],[1,80,50,4,81,51],[4,50,22,4,51,23],[3,36,12,8,37,13],[2,116,92,2,117,93],[6,58,36,2,59,37],[4,46,20,6,47,21],[7,42,14,4,43,15],[4,133,107],[8,59,37,1,60,38],[8,44,20,4,45,21],[12,33,11,4,34,12],[3,145,115,1,146,116],[4,64,40,5,65,41],[11,36,16,5,37,17],[11,36,12,5,37,13],[5,109,87,1,110,88],[5,65,41,5,66,42],[5,54,24,7,55,25],[11,36,12,7,37,13],[5,122,98,1,123,99],[7,73,45,3,74,46],[15,43,19,2,44,20],[3,45,15,13,46,16],[1,135,107,5,136,108],[10,74,46,1,75,47],[1,50,22,15,51,23],[2,42,14,17,43,15],[5,150,120,1,151,121],[9,69,43,4,70,44],[17,50,22,1,51,23],[2,42,14,19,43,15],[3,141,113,4,142,114],[3,70,44,11,71,45],[17,47,21,4,48,22],[9,39,13,16,40,14],[3,135,107,5,136,108],[3,67,41,13,68,42],[15,54,24,5,55,25],[15,43,15,10,44,16],[4,144,116,4,145,117],[17,68,42],[17,50,22,6,51,23],[19,46,16,6,47,17],[2,139,111,7,140,112],[17,74,46],[7,54,24,16,55,25],[34,37,13],[4,151,121,5,152,122],[4,75,47,14,76,48],[11,54,24,14,55,25],[16,45,15,14,46,16],[6,147,117,4,148,118],[6,73,45,14,74,46],[11,54,24,16,55,25],[30,46,16,2,47,17],[8,132,106,4,133,107],[8,75,47,13,76,48],[7,54,24,22,55,25],[22,45,15,13,46,16],[10,142,114,2,143,115],[19,74,46,4,75,47],[28,50,22,6,51,23],[33,46,16,4,47,17],[8,152,122,4,153,123],[22,73,45,3,74,46],[8,53,23,26,54,24],[12,45,15,28,46,16],[3,147,117,10,148,118],[3,73,45,23,74,46],[4,54,24,31,55,25],[11,45,15,31,46,16],[7,146,116,7,147,117],[21,73,45,7,74,46],[1,53,23,37,54,24],[19,45,15,26,46,16],[5,145,115,10,146,116],[19,75,47,10,76,48],[15,54,24,25,55,25],[23,45,15,25,46,16],[13,145,115,3,146,116],[2,74,46,29,75,47],[42,54,24,1,55,25],[23,45,15,28,46,16],[17,145,115],[10,74,46,23,75,47],[10,54,24,35,55,25],[19,45,15,35,46,16],[17,145,115,1,146,116],[14,74,46,21,75,47],[29,54,24,19,55,25],[11,45,15,46,46,16],[13,145,115,6,146,116],[14,74,46,23,75,47],[44,54,24,7,55,25],[59,46,16,1,47,17],[12,151,121,7,152,122],[12,75,47,26,76,48],[39,54,24,14,55,25],[22,45,15,41,46,16],[6,151,121,14,152,122],[6,75,47,34,76,48],[46,54,24,10,55,25],[2,45,15,64,46,16],[17,152,122,4,153,123],[29,74,46,14,75,47],[49,54,24,10,55,25],[24,45,15,46,46,16],[4,152,122,18,153,123],[13,74,46,32,75,47],[48,54,24,14,55,25],[42,45,15,32,46,16],[20,147,117,4,148,118],[40,75,47,7,76,48],[43,54,24,22,55,25],[10,45,15,67,46,16],[19,148,118,6,149,119],[18,75,47,31,76,48],[34,54,24,34,55,25],[20,45,15,61,46,16]],O=function(T,R){var z={};return z.totalCount=T,z.dataCount=R,z},L={},B=function(T,R){switch(R){case s.L:return D[(T-1)*4+0];case s.M:return D[(T-1)*4+1];case s.Q:return D[(T-1)*4+2];case s.H:return D[(T-1)*4+3];default:return}};return L.getRSBlocks=function(T,R){var z=B(T,R);if(typeof z>"u")throw"bad rs block @ typeNumber:"+T+"/errorCorrectionLevel:"+R;for(var Y=z.length/3,Q=[],W=0;W<Y;W+=1)for(var F=z[W*3+0],X=z[W*3+1],$=z[W*3+2],V=0;V<F;V+=1)Q.push(O(X,$));return Q},L})(),f=function(){var D=[],O=0,L={};return L.getBuffer=function(){return D},L.getAt=function(B){var T=Math.floor(B/8);return(D[T]>>>7-B%8&1)==1},L.put=function(B,T){for(var R=0;R<T;R+=1)L.putBit((B>>>T-R-1&1)==1)},L.getLengthInBits=function(){return O},L.putBit=function(B){var T=Math.floor(O/8);D.length<=T&&D.push(0),B&&(D[T]|=128>>>O%8),O+=1},L},m=function(D){var O=o.MODE_NUMBER,L=D,B={};B.getMode=function(){return O},B.getLength=function(z){return L.length},B.write=function(z){for(var Y=L,Q=0;Q+2<Y.length;)z.put(T(Y.substring(Q,Q+3)),10),Q+=3;Q<Y.length&&(Y.length-Q==1?z.put(T(Y.substring(Q,Q+1)),4):Y.length-Q==2&&z.put(T(Y.substring(Q,Q+2)),7))};var T=function(z){for(var Y=0,Q=0;Q<z.length;Q+=1)Y=Y*10+R(z.charAt(Q));return Y},R=function(z){if("0"<=z&&z<="9")return z.charCodeAt(0)-48;throw"illegal char :"+z};return B},g=function(D){var O=o.MODE_ALPHA_NUM,L=D,B={};B.getMode=function(){return O},B.getLength=function(R){return L.length},B.write=function(R){for(var z=L,Y=0;Y+1<z.length;)R.put(T(z.charAt(Y))*45+T(z.charAt(Y+1)),11),Y+=2;Y<z.length&&R.put(T(z.charAt(Y)),6)};var T=function(R){if("0"<=R&&R<="9")return R.charCodeAt(0)-48;if("A"<=R&&R<="Z")return R.charCodeAt(0)-65+10;switch(R){case" ":return 36;case"$":return 37;case"%":return 38;case"*":return 39;case"+":return 40;case"-":return 41;case".":return 42;case"/":return 43;case":":return 44;default:throw"illegal char :"+R}};return B},w=function(D){var O=o.MODE_8BIT_BYTE,L=r.stringToBytes(D),B={};return B.getMode=function(){return O},B.getLength=function(T){return L.length},B.write=function(T){for(var R=0;R<L.length;R+=1)T.put(L[R],8)},B},b=function(D){var O=o.MODE_KANJI,L=r.stringToBytesFuncs.SJIS;if(!L)throw"sjis not supported.";(function(R,z){var Y=L(R);if(Y.length!=2||(Y[0]<<8|Y[1])!=z)throw"sjis not supported."})("友",38726);var B=L(D),T={};return T.getMode=function(){return O},T.getLength=function(R){return~~(B.length/2)},T.write=function(R){for(var z=B,Y=0;Y+1<z.length;){var Q=(255&z[Y])<<8|255&z[Y+1];if(33088<=Q&&Q<=40956)Q-=33088;else if(57408<=Q&&Q<=60351)Q-=49472;else throw"illegal char at "+(Y+1)+"/"+Q;Q=(Q>>>8&255)*192+(Q&255),R.put(Q,13),Y+=2}if(Y<z.length)throw"illegal char at "+(Y+1)},T},j=function(){var D=[],O={};return O.writeByte=function(L){D.push(L&255)},O.writeShort=function(L){O.writeByte(L),O.writeByte(L>>>8)},O.writeBytes=function(L,B,T){B=B||0,T=T||L.length;for(var R=0;R<T;R+=1)O.writeByte(L[R+B])},O.writeString=function(L){for(var B=0;B<L.length;B+=1)O.writeByte(L.charCodeAt(B))},O.toByteArray=function(){return D},O.toString=function(){var L="";L+="[";for(var B=0;B<D.length;B+=1)B>0&&(L+=","),L+=D[B];return L+="]",L},O},S=function(){var D=0,O=0,L=0,B="",T={},R=function(Y){B+=String.fromCharCode(z(Y&63))},z=function(Y){if(!(Y<0)){if(Y<26)return 65+Y;if(Y<52)return 97+(Y-26);if(Y<62)return 48+(Y-52);if(Y==62)return 43;if(Y==63)return 47}throw"n:"+Y};return T.writeByte=function(Y){for(D=D<<8|Y&255,O+=8,L+=1;O>=6;)R(D>>>O-6),O-=6},T.flush=function(){if(O>0&&(R(D<<6-O),D=0,O=0),L%3!=0)for(var Y=3-L%3,Q=0;Q<Y;Q+=1)B+="="},T.toString=function(){return B},T},I=function(D){var O=D,L=0,B=0,T=0,R={};R.read=function(){for(;T<8;){if(L>=O.length){if(T==0)return-1;throw"unexpected end of file./"+T}var Y=O.charAt(L);if(L+=1,Y=="=")return T=0,-1;if(Y.match(/^\s$/))continue;B=B<<6|z(Y.charCodeAt(0)),T+=6}var Q=B>>>T-8&255;return T-=8,Q};var z=function(Y){if(65<=Y&&Y<=90)return Y-65;if(97<=Y&&Y<=122)return Y-97+26;if(48<=Y&&Y<=57)return Y-48+52;if(Y==43)return 62;if(Y==47)return 63;throw"c:"+Y};return R},N=function(D,O){var L=D,B=O,T=new Array(D*O),R={};R.setPixel=function(W,F,X){T[F*L+W]=X},R.write=function(W){W.writeString("GIF87a"),W.writeShort(L),W.writeShort(B),W.writeByte(128),W.writeByte(0),W.writeByte(0),W.writeByte(0),W.writeByte(0),W.writeByte(0),W.writeByte(255),W.writeByte(255),W.writeByte(255),W.writeString(","),W.writeShort(0),W.writeShort(0),W.writeShort(L),W.writeShort(B),W.writeByte(0);var F=2,X=Y(F);W.writeByte(F);for(var $=0;X.length-$>255;)W.writeByte(255),W.writeBytes(X,$,255),$+=255;W.writeByte(X.length-$),W.writeBytes(X,$,X.length-$),W.writeByte(0),W.writeString(";")};var z=function(W){var F=W,X=0,$=0,V={};return V.write=function(K,G){if(K>>>G)throw"length over";for(;X+G>=8;)F.writeByte(255&(K<<X|$)),G-=8-X,K>>>=8-X,$=0,X=0;$=K<<X|$,X=X+G},V.flush=function(){X>0&&F.writeByte($)},V},Y=function(W){for(var F=1<<W,X=(1<<W)+1,$=W+1,V=Q(),K=0;K<F;K+=1)V.add(String.fromCharCode(K));V.add(String.fromCharCode(F)),V.add(String.fromCharCode(X));var G=j(),J=z(G);J.write(F,$);var ne=0,re=String.fromCharCode(T[ne]);for(ne+=1;ne<T.length;){var de=String.fromCharCode(T[ne]);ne+=1,V.contains(re+de)?re=re+de:(J.write(V.indexOf(re),$),V.size()<4095&&(V.size()==1<<$&&($+=1),V.add(re+de)),re=de)}return J.write(V.indexOf(re),$),J.write(X,$),J.flush(),G.toByteArray()},Q=function(){var W={},F=0,X={};return X.add=function($){if(X.contains($))throw"dup key:"+$;W[$]=F,F+=1},X.size=function(){return F},X.indexOf=function($){return W[$]},X.contains=function($){return typeof W[$]<"u"},X};return R},M=function(D,O,L){for(var B=N(D,O),T=0;T<O;T+=1)for(var R=0;R<D;R+=1)B.setPixel(R,T,L(R,T));var z=j();B.write(z);for(var Y=S(),Q=z.toByteArray(),W=0;W<Q.length;W+=1)Y.writeByte(Q[W]);return Y.flush(),"data:image/gif;base64,"+Y};return r})();(function(){n.stringToBytesFuncs["UTF-8"]=function(r){function o(s){for(var a=[],i=0;i<s.length;i++){var l=s.charCodeAt(i);l<128?a.push(l):l<2048?a.push(192|l>>6,128|l&63):l<55296||l>=57344?a.push(224|l>>12,128|l>>6&63,128|l&63):(i++,l=65536+((l&1023)<<10|s.charCodeAt(i)&1023),a.push(240|l>>18,128|l>>12&63,128|l>>6&63,128|l&63))}return a}return o(r)}})(),(function(r){t.exports=r()})(function(){return n})})(i9)),i9.exports}var IMe=NMe();const MD=rc(IMe);class P3{constructor(e){this._config=e}async unload(){}}const AMe=t=>{const e=[];for(let n=0,r=atob(t.replace(/[ \r\n]+$/,""));n<r.length;++n){let o=r.charCodeAt(n).toString(16);o.length===1&&(o="0"+o),e[e.length]=o}return e.join("")};let Js;async function Soe(){try{if(Js)return Js;const t=(await Bs(async()=>{const{default:e}=await import("./index-CrSY3XU-.js").then(n=>n.i);return{default:e}},[])).default;return Js=new t,Js}catch(t){throw console.error(t),new Error("LNC is not available")}}const t$="ONLY CONNECT TO TRUSTED WEBSITES";class _Me{constructor(e){this.lnc=e}enable(){return Promise.resolve()}async getInfo(){const e=await Js.lnd.lightning.getInfo();return{methods:["enable","getBalance","getInfo","sendPayment"],version:"1.0",node:{alias:e.alias,pubkey:e.identityPubkey,color:e.color},supports:["lightning"]}}makeInvoice(e){throw new Error("Method not implemented.")}async sendPayment(e){const n=await Js.lnd.lightning.sendPaymentSync({paymentRequest:e});if(n.paymentError)throw new Error(n.paymentError);if(!n.paymentPreimage)throw new Error("No preimage in response");if(typeof n.paymentPreimage!="string")throw new Error("expected preimage as string");return{preimage:AMe(n.paymentPreimage)}}async getBalance(){var e;const n=await Js.lnd.lightning.channelBalance();return{balance:parseInt(((e=n.localBalance)==null?void 0:e.sat)||"0")}}keysend(e){throw new Error("Method not implemented.")}lnurl(e){throw new Error("Method not implemented.")}lookupInvoice(e){throw new Error("Method not implemented.")}signMessage(e){throw new Error("Method not implemented.")}verifyMessage(e,n){throw new Error("Method not implemented.")}}class MMe{constructor(e,n){this._instanceUrl=e,this._adminKey=n}enable(){return Promise.resolve()}async getInfo(){return{node:{alias:(await this.requestLnbits("GET","/api/v1/wallet")).name,pubkey:""},methods:["getInfo","getBalance","sendPayment"],version:"1.0",supports:["lightning"]}}async makeInvoice(e){return{paymentRequest:(await this.requestLnbits("POST","/api/v1/payments",{amount:e.amount||e.defaultAmount||+e,memo:e.defaultMemo,out:!1})).payment_request}}async sendPayment(e){const n=await this.requestLnbits("POST","/api/v1/payments",{bolt11:e,out:!0}),r=await this.requestLnbits("GET",`/api/v1/payments/${n.payment_hash}`);if(!r.preimage)throw new Error("No preimage");return{preimage:r.preimage}}async getBalance(){const e=await this.requestLnbits("GET","/api/v1/wallet");return{balance:Math.floor(e.balance/1e3)}}keysend(e){throw new Error("Method not implemented.")}lnurl(e){throw new Error("Method not implemented.")}lookupInvoice(e){throw new Error("Method not implemented.")}signMessage(e){throw new Error("Method not implemented.")}verifyMessage(e,n){throw new Error("Method not implemented.")}async requestLnbits(e,n,r){let o=null;const s=new Headers;if(s.append("Accept","application/json"),s.append("Content-Type","application/json"),s.append("X-Api-Key",this._adminKey),e==="POST")o=JSON.stringify(r);else if(r!==void 0)throw new Error("TODO: support args in GET");const a=await fetch(this._instanceUrl+n+"",{method:e,headers:s,body:o});if(!a.ok){const i=await a.json();throw console.error("errBody",i),new Error(i.detail)}return await a.json()}}function Uu(){return Uu=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(t[r]=n[r])}return t},Uu.apply(this,arguments)}class Su extends P3{constructor(e){super(e)}async init(){if(!this._config.nwcUrl)throw new Error("no nwc URL provided");return new Coe.NostrWebLNProvider({nostrWalletConnectUrl:this._config.nwcUrl})}}const RMe={"extension.generic":class extends P3{constructor(t){super(t)}init(){if(!window.webln)throw new Error("No WebLN provider available");return Promise.resolve(window.webln)}},"nwc.alby":Su,"nwc.albyhub":Su,"nwc.generic":Su,"nwc.lnfi":Su,"nwc.coinos":Su,"nwc.flash":Su,"nwc.primal":Su,"nwc.cashume":Su,"nwc.lnbits":Su,"nwc.rizful":Su,lnbits:class extends P3{constructor(t){super(t)}async init(){if(!this._config.lnbitsInstanceUrl)throw new Error("no lnbits URL provided");if(!this._config.lnbitsAdminKey)throw new Error("no lnbits admin key provided");return new MMe(this._config.lnbitsInstanceUrl,this._config.lnbitsAdminKey)}},lnc:class extends P3{constructor(t){super(t)}async init(){await Soe();const t=new _Me(Js);try{const e=!Js.credentials.pairingPhrase;for(e?(console.log("Pairing phrase does not exist"),Js.credentials.password=t$):console.log("Pairing phrase set"),await Js.connect(),e||(Js.credentials.password=t$);!Js.isConnected;)console.log("Waiting to connect..."),await new Promise(n=>{setTimeout(n,100)})}catch(e){throw console.error(e),Js.disconnect(),Js.credentials.clear(),e}return t}async unload(){Js.disconnect(),Js.credentials.clear(),await super.unload()}}},a8={showBalance:!0,appName:"Bitcoin Connect"},$t=EMe((t,e)=>({route:"/start",routeHistory:[],modalOpen:!1,currency:void 0,connected:!1,connecting:!1,error:void 0,alias:void 0,balance:void 0,connectorName:void 0,invoice:void 0,provider:void 0,connector:void 0,connectorConfig:void 0,bitcoinConnectConfig:a8,info:void 0,connectNWC:n=>e().connect({connectorName:"NWC",connectorType:"nwc.generic",nwcUrl:n}),connect:async(n,r={redirectTo:"/connected"})=>{t({connecting:!0,error:void 0});try{const o=new RMe[n.connectorType](n),s=await o.init();let a;await s.enable();try{a=await s.getInfo()}catch{console.error("Failed to request wallet info")}if(!e().connecting)return;t({connectorConfig:n,connector:o,connected:!0,connecting:!1,info:a,provider:s,connectorName:n.connectorName,route:r.redirectTo}),window.localStorage.setItem("bc:config",JSON.stringify(n))}catch(o){console.error(o),t({error:o.toString(),connecting:!1}),e().disconnect()}},disconnect:()=>{var n;(n=e().connector)==null||n.unload(),t({connectorConfig:void 0,connector:void 0,connected:!1,connecting:!1,connectorName:void 0,provider:void 0,modalOpen:!1}),window.localStorage.removeItem("bc:config")},pushRoute:n=>{e().route!==n&&t({route:n,routeHistory:[...e().routeHistory,e().route]})},popRoute(){const n=e().routeHistory,r=n.pop()||"/start";t({route:r,routeHistory:n})},clearRouteHistory(){t({route:"/start",routeHistory:[]})},setModalOpen:n=>{t({modalOpen:n})},setBitcoinConnectConfig:n=>{t({bitcoinConnectConfig:Uu({},a8,n)});const r=e();r.bitcoinConnectConfig.autoConnect===!1||r.connected||r.connecting||(function(){try{const{hash:o}=window.location;if(o){const s=o.indexOf("?"),a=o.slice(s>0?s:1),i=new URLSearchParams(a),l=i.get("nwc");if(l&&l.startsWith("nostr+walletconnect://")){const{searchParams:u}=new URL(l);u.get("relay")&&u.get("secret")&&(i.delete("nwc"),window.location.hash=o.slice(0,s>0?s+1:1)+i.toString(),$t.getState().connectNWC(l))}}}catch(o){console.error(o)}})()},setError:n=>{t({error:n})},setCurrency:n=>{n?window.localStorage.setItem("bc:currency",n):window.localStorage.removeItem("bc:currency"),t({currency:n})},supports:n=>{const{info:r,provider:o}=e();return!(r==null||!r.methods)&&r.methods.indexOf(n)>-1&&!(o==null||!o.getBalance)}}));function Dt(t,e,n,r){var o,s=arguments.length,a=s<3?e:r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")a=Reflect.decorate(t,e,n,r);else for(var i=t.length-1;i>=0;i--)(o=t[i])&&(a=(s<3?o(a):s>3?o(e,n,a):o(e,n))||a);return s>3&&a&&Object.defineProperty(e,n,a),a}globalThis.window&&((function(){const t=window.localStorage.getItem("bc:config");if(t){const n=JSON.parse(t);$t.getState().connect(n,{redirectTo:"/start"})}const e=window.localStorage.getItem("bc:currency");e&&$t.getState().setCurrency(e)})(),window.addEventListener("webln:enabled",()=>{$t.getState().connecting||$t.getState().connect({connectorName:"Extension",connectorType:"extension.generic"},{redirectTo:"/start"})})),typeof SuppressedError=="function"&&SuppressedError;const O3=globalThis,RD=O3.ShadowRoot&&(O3.ShadyCSS===void 0||O3.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,Eoe=Symbol(),n$=new WeakMap;class TMe{constructor(e,n,r){if(this._$cssResult$=!0,r!==Eoe)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=e,this.t=n}get styleSheet(){let e=this.o;const n=this.t;if(RD&&e===void 0){const r=n!==void 0&&n.length===1;r&&(e=n$.get(n)),e===void 0&&((this.o=e=new CSSStyleSheet).replaceSync(this.cssText),r&&n$.set(n,e))}return e}toString(){return this.cssText}}const r$=RD?t=>t:t=>t instanceof CSSStyleSheet?(e=>{let n="";for(const r of e.cssRules)n+=r.cssText;return(r=>new TMe(typeof r=="string"?r:r+"",void 0,Eoe))(n)})(t):t,{is:DMe,defineProperty:LMe,getOwnPropertyDescriptor:PMe,getOwnPropertyNames:OMe,getOwnPropertySymbols:zMe,getPrototypeOf:FMe}=Object,Wp=globalThis,o$=Wp.trustedTypes,BMe=o$?o$.emptyScript:"",l9=Wp.reactiveElementPolyfillSupport,Yw=(t,e)=>t,Hk={toAttribute(t,e){switch(e){case Boolean:t=t?BMe:null;break;case Object:case Array:t=t==null?t:JSON.stringify(t)}return t},fromAttribute(t,e){let n=t;switch(e){case Boolean:n=t!==null;break;case Number:n=t===null?null:Number(t);break;case Object:case Array:try{n=JSON.parse(t)}catch{n=null}}return n}},TD=(t,e)=>!DMe(t,e),s$={attribute:!0,type:String,converter:Hk,reflect:!1,useDefault:!1,hasChanged:TD};Symbol.metadata??(Symbol.metadata=Symbol("metadata")),Wp.litPropertyMetadata??(Wp.litPropertyMetadata=new WeakMap);class fw extends HTMLElement{static addInitializer(e){this._$Ei(),(this.l??(this.l=[])).push(e)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(e,n=s$){if(n.state&&(n.attribute=!1),this._$Ei(),this.prototype.hasOwnProperty(e)&&((n=Object.create(n)).wrapped=!0),this.elementProperties.set(e,n),!n.noAccessor){const r=Symbol(),o=this.getPropertyDescriptor(e,r,n);o!==void 0&&LMe(this.prototype,e,o)}}static getPropertyDescriptor(e,n,r){const{get:o,set:s}=PMe(this.prototype,e)??{get(){return this[n]},set(a){this[n]=a}};return{get:o,set(a){const i=o==null?void 0:o.call(this);s==null||s.call(this,a),this.requestUpdate(e,i,r)},configurable:!0,enumerable:!0}}static getPropertyOptions(e){return this.elementProperties.get(e)??s$}static _$Ei(){if(this.hasOwnProperty(Yw("elementProperties")))return;const e=FMe(this);e.finalize(),e.l!==void 0&&(this.l=[...e.l]),this.elementProperties=new Map(e.elementProperties)}static finalize(){if(this.hasOwnProperty(Yw("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(Yw("properties"))){const n=this.properties,r=[...OMe(n),...zMe(n)];for(const o of r)this.createProperty(o,n[o])}const e=this[Symbol.metadata];if(e!==null){const n=litPropertyMetadata.get(e);if(n!==void 0)for(const[r,o]of n)this.elementProperties.set(r,o)}this._$Eh=new Map;for(const[n,r]of this.elementProperties){const o=this._$Eu(n,r);o!==void 0&&this._$Eh.set(o,n)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(e){const n=[];if(Array.isArray(e)){const r=new Set(e.flat(1/0).reverse());for(const o of r)n.unshift(r$(o))}else e!==void 0&&n.push(r$(e));return n}static _$Eu(e,n){const r=n.attribute;return r===!1?void 0:typeof r=="string"?r:typeof e=="string"?e.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){var e;this._$ES=new Promise(n=>this.enableUpdating=n),this._$AL=new Map,this._$E_(),this.requestUpdate(),(e=this.constructor.l)==null||e.forEach(n=>n(this))}addController(e){var n;(this._$EO??(this._$EO=new Set)).add(e),this.renderRoot!==void 0&&this.isConnected&&((n=e.hostConnected)==null||n.call(e))}removeController(e){var n;(n=this._$EO)==null||n.delete(e)}_$E_(){const e=new Map,n=this.constructor.elementProperties;for(const r of n.keys())this.hasOwnProperty(r)&&(e.set(r,this[r]),delete this[r]);e.size>0&&(this._$Ep=e)}createRenderRoot(){const e=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return((n,r)=>{if(RD)n.adoptedStyleSheets=r.map(o=>o instanceof CSSStyleSheet?o:o.styleSheet);else for(const o of r){const s=document.createElement("style"),a=O3.litNonce;a!==void 0&&s.setAttribute("nonce",a),s.textContent=o.cssText,n.appendChild(s)}})(e,this.constructor.elementStyles),e}connectedCallback(){var e;this.renderRoot??(this.renderRoot=this.createRenderRoot()),this.enableUpdating(!0),(e=this._$EO)==null||e.forEach(n=>{var r;return(r=n.hostConnected)==null?void 0:r.call(n)})}enableUpdating(e){}disconnectedCallback(){var e;(e=this._$EO)==null||e.forEach(n=>{var r;return(r=n.hostDisconnected)==null?void 0:r.call(n)})}attributeChangedCallback(e,n,r){this._$AK(e,r)}_$ET(e,n){var s;const r=this.constructor.elementProperties.get(e),o=this.constructor._$Eu(e,r);if(o!==void 0&&r.reflect===!0){const a=(((s=r.converter)==null?void 0:s.toAttribute)!==void 0?r.converter:Hk).toAttribute(n,r.type);this._$Em=e,a==null?this.removeAttribute(o):this.setAttribute(o,a),this._$Em=null}}_$AK(e,n){var s,a;const r=this.constructor,o=r._$Eh.get(e);if(o!==void 0&&this._$Em!==o){const i=r.getPropertyOptions(o),l=typeof i.converter=="function"?{fromAttribute:i.converter}:((s=i.converter)==null?void 0:s.fromAttribute)!==void 0?i.converter:Hk;this._$Em=o,this[o]=l.fromAttribute(n,i.type)??((a=this._$Ej)==null?void 0:a.get(o))??null,this._$Em=null}}requestUpdate(e,n,r){var o;if(e!==void 0){const s=this.constructor,a=this[e];if(r??(r=s.getPropertyOptions(e)),!((r.hasChanged??TD)(a,n)||r.useDefault&&r.reflect&&a===((o=this._$Ej)==null?void 0:o.get(e))&&!this.hasAttribute(s._$Eu(e,r))))return;this.C(e,n,r)}this.isUpdatePending===!1&&(this._$ES=this._$EP())}C(e,n,{useDefault:r,reflect:o,wrapped:s},a){r&&!(this._$Ej??(this._$Ej=new Map)).has(e)&&(this._$Ej.set(e,a??n??this[e]),s!==!0||a!==void 0)||(this._$AL.has(e)||(this.hasUpdated||r||(n=void 0),this._$AL.set(e,n)),o===!0&&this._$Em!==e&&(this._$Eq??(this._$Eq=new Set)).add(e))}async _$EP(){this.isUpdatePending=!0;try{await this._$ES}catch(n){Promise.reject(n)}const e=this.scheduleUpdate();return e!=null&&await e,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){var r;if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??(this.renderRoot=this.createRenderRoot()),this._$Ep){for(const[s,a]of this._$Ep)this[s]=a;this._$Ep=void 0}const o=this.constructor.elementProperties;if(o.size>0)for(const[s,a]of o){const{wrapped:i}=a,l=this[s];i!==!0||this._$AL.has(s)||l===void 0||this.C(s,void 0,a,l)}}let e=!1;const n=this._$AL;try{e=this.shouldUpdate(n),e?(this.willUpdate(n),(r=this._$EO)==null||r.forEach(o=>{var s;return(s=o.hostUpdate)==null?void 0:s.call(o)}),this.update(n)):this._$EM()}catch(o){throw e=!1,this._$EM(),o}e&&this._$AE(n)}willUpdate(e){}_$AE(e){var n;(n=this._$EO)==null||n.forEach(r=>{var o;return(o=r.hostUpdated)==null?void 0:o.call(r)}),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(e)),this.updated(e)}_$EM(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(e){return!0}update(e){this._$Eq&&(this._$Eq=this._$Eq.forEach(n=>this._$ET(n,this[n]))),this._$EM()}updated(e){}firstUpdated(e){}}fw.elementStyles=[],fw.shadowRootOptions={mode:"open"},fw[Yw("elementProperties")]=new Map,fw[Yw("finalized")]=new Map,l9==null||l9({ReactiveElement:fw}),(Wp.reactiveElementVersions??(Wp.reactiveElementVersions=[])).push("2.1.0");const Gw=globalThis,Wk=Gw.trustedTypes,a$=Wk?Wk.createPolicy("lit-html",{createHTML:t=>t}):void 0,i$="$lit$",vp=`lit$${Math.random().toFixed(9).slice(2)}$`,Noe="?"+vp,UMe=`<${Noe}>`,bg=document,Yk=()=>bg.createComment(""),qb=t=>t===null||typeof t!="object"&&typeof t!="function",i8=Array.isArray,c9=`[
47 \f\r]`,dw=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,l$=/-->/g,c$=/>/g,fm=RegExp(`>|${c9}(?:([^\\s"'>=/]+)(${c9}*=${c9}*(?:[^
48 \f\r"'\`<>=]|("|')|))|$)`,"g"),u$=/'/g,f$=/"/g,d$=/^(?:script|style|textarea|title)$/i,Kb=Symbol.for("lit-noChange"),_s=Symbol.for("lit-nothing"),p$=new WeakMap,Pm=bg.createTreeWalker(bg,129);function Ioe(t,e){if(!i8(t)||!t.hasOwnProperty("raw"))throw Error("invalid template strings array");return a$!==void 0?a$.createHTML(e):e}class Zb{constructor({strings:e,_$litType$:n},r){let o;this.parts=[];let s=0,a=0;const i=e.length-1,l=this.parts,[u,d]=((f,m)=>{const g=f.length-1,w=[];let b,j=m===2?"<svg>":m===3?"<math>":"",S=dw;for(let I=0;I<g;I++){const N=f[I];let M,D,O=-1,L=0;for(;L<N.length&&(S.lastIndex=L,D=S.exec(N),D!==null);)L=S.lastIndex,S===dw?D[1]==="!--"?S=l$:D[1]!==void 0?S=c$:D[2]!==void 0?(d$.test(D[2])&&(b=RegExp("</"+D[2],"g")),S=fm):D[3]!==void 0&&(S=fm):S===fm?D[0]===">"?(S=b??dw,O=-1):D[1]===void 0?O=-2:(O=S.lastIndex-D[2].length,M=D[1],S=D[3]===void 0?fm:D[3]==='"'?f$:u$):S===f$||S===u$?S=fm:S===l$||S===c$?S=dw:(S=fm,b=void 0);const B=S===fm&&f[I+1].startsWith("/>")?" ":"";j+=S===dw?N+UMe:O>=0?(w.push(M),N.slice(0,O)+i$+N.slice(O)+vp+B):N+vp+(O===-2?I:B)}return[Ioe(f,j+(f[g]||"<?>")+(m===2?"</svg>":m===3?"</math>":"")),w]})(e,n);if(this.el=Zb.createElement(u,r),Pm.currentNode=this.el.content,n===2||n===3){const f=this.el.content.firstChild;f.replaceWith(...f.childNodes)}for(;(o=Pm.nextNode())!==null&&l.length<i;){if(o.nodeType===1){if(o.hasAttributes())for(const f of o.getAttributeNames())if(f.endsWith(i$)){const m=d[a++],g=o.getAttribute(f).split(vp),w=/([.?@])?(.*)/.exec(m);l.push({type:1,index:s,name:w[2],strings:g,ctor:w[1]==="."?VMe:w[1]==="?"?HMe:w[1]==="@"?WMe:cS}),o.removeAttribute(f)}else f.startsWith(vp)&&(l.push({type:6,index:s}),o.removeAttribute(f));if(d$.test(o.tagName)){const f=o.textContent.split(vp),m=f.length-1;if(m>0){o.textContent=Wk?Wk.emptyScript:"";for(let g=0;g<m;g++)o.append(f[g],Yk()),Pm.nextNode(),l.push({type:2,index:++s});o.append(f[m],Yk())}}}else if(o.nodeType===8)if(o.data===Noe)l.push({type:2,index:s});else{let f=-1;for(;(f=o.data.indexOf(vp,f+1))!==-1;)l.push({type:7,index:s}),f+=vp.length-1}s++}}static createElement(e,n){const r=bg.createElement("template");return r.innerHTML=e,r}}function py(t,e,n=t,r){var a,i;if(e===Kb)return e;let o=r!==void 0?(a=n._$Co)==null?void 0:a[r]:n._$Cl;const s=qb(e)?void 0:e._$litDirective$;return(o==null?void 0:o.constructor)!==s&&((i=o==null?void 0:o._$AO)==null||i.call(o,!1),s===void 0?o=void 0:(o=new s(t),o._$AT(t,n,r)),r!==void 0?(n._$Co??(n._$Co=[]))[r]=o:n._$Cl=o),o!==void 0&&(e=py(t,o._$AS(t,e.values),o,r)),e}class $Me{constructor(e,n){this._$AV=[],this._$AN=void 0,this._$AD=e,this._$AM=n}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(e){const{el:{content:n},parts:r}=this._$AD,o=((e==null?void 0:e.creationScope)??bg).importNode(n,!0);Pm.currentNode=o;let s=Pm.nextNode(),a=0,i=0,l=r[0];for(;l!==void 0;){if(a===l.index){let u;l.type===2?u=new lS(s,s.nextSibling,this,e):l.type===1?u=new l.ctor(s,l.name,l.strings,this,e):l.type===6&&(u=new YMe(s,this,e)),this._$AV.push(u),l=r[++i]}a!==(l==null?void 0:l.index)&&(s=Pm.nextNode(),a++)}return Pm.currentNode=bg,o}p(e){let n=0;for(const r of this._$AV)r!==void 0&&(r.strings!==void 0?(r._$AI(e,r,n),n+=r.strings.length-2):r._$AI(e[n])),n++}}class lS{get _$AU(){var e;return((e=this._$AM)==null?void 0:e._$AU)??this._$Cv}constructor(e,n,r,o){this.type=2,this._$AH=_s,this._$AN=void 0,this._$AA=e,this._$AB=n,this._$AM=r,this.options=o,this._$Cv=(o==null?void 0:o.isConnected)??!0}get parentNode(){let e=this._$AA.parentNode;const n=this._$AM;return n!==void 0&&(e==null?void 0:e.nodeType)===11&&(e=n.parentNode),e}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(e,n=this){e=py(this,e,n),qb(e)?e===_s||e==null||e===""?(this._$AH!==_s&&this._$AR(),this._$AH=_s):e!==this._$AH&&e!==Kb&&this._(e):e._$litType$!==void 0?this.$(e):e.nodeType!==void 0?this.T(e):(r=>i8(r)||typeof(r==null?void 0:r[Symbol.iterator])=="function")(e)?this.k(e):this._(e)}O(e){return this._$AA.parentNode.insertBefore(e,this._$AB)}T(e){this._$AH!==e&&(this._$AR(),this._$AH=this.O(e))}_(e){this._$AH!==_s&&qb(this._$AH)?this._$AA.nextSibling.data=e:this.T(bg.createTextNode(e)),this._$AH=e}$(e){var s;const{values:n,_$litType$:r}=e,o=typeof r=="number"?this._$AC(e):(r.el===void 0&&(r.el=Zb.createElement(Ioe(r.h,r.h[0]),this.options)),r);if(((s=this._$AH)==null?void 0:s._$AD)===o)this._$AH.p(n);else{const a=new $Me(o,this),i=a.u(this.options);a.p(n),this.T(i),this._$AH=a}}_$AC(e){let n=p$.get(e.strings);return n===void 0&&p$.set(e.strings,n=new Zb(e)),n}k(e){i8(this._$AH)||(this._$AH=[],this._$AR());const n=this._$AH;let r,o=0;for(const s of e)o===n.length?n.push(r=new lS(this.O(Yk()),this.O(Yk()),this,this.options)):r=n[o],r._$AI(s),o++;o<n.length&&(this._$AR(r&&r._$AB.nextSibling,o),n.length=o)}_$AR(e=this._$AA.nextSibling,n){var r;for((r=this._$AP)==null?void 0:r.call(this,!1,!0,n);e&&e!==this._$AB;){const o=e.nextSibling;e.remove(),e=o}}setConnected(e){var n;this._$AM===void 0&&(this._$Cv=e,(n=this._$AP)==null||n.call(this,e))}}class cS{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(e,n,r,o,s){this.type=1,this._$AH=_s,this._$AN=void 0,this.element=e,this.name=n,this._$AM=o,this.options=s,r.length>2||r[0]!==""||r[1]!==""?(this._$AH=Array(r.length-1).fill(new String),this.strings=r):this._$AH=_s}_$AI(e,n=this,r,o){const s=this.strings;let a=!1;if(s===void 0)e=py(this,e,n,0),a=!qb(e)||e!==this._$AH&&e!==Kb,a&&(this._$AH=e);else{const i=e;let l,u;for(e=s[0],l=0;l<s.length-1;l++)u=py(this,i[r+l],n,l),u===Kb&&(u=this._$AH[l]),a||(a=!qb(u)||u!==this._$AH[l]),u===_s?e=_s:e!==_s&&(e+=(u??"")+s[l+1]),this._$AH[l]=u}a&&!o&&this.j(e)}j(e){e===_s?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,e??"")}}class VMe extends cS{constructor(){super(...arguments),this.type=3}j(e){this.element[this.name]=e===_s?void 0:e}}class HMe extends cS{constructor(){super(...arguments),this.type=4}j(e){this.element.toggleAttribute(this.name,!!e&&e!==_s)}}class WMe extends cS{constructor(e,n,r,o,s){super(e,n,r,o,s),this.type=5}_$AI(e,n=this){if((e=py(this,e,n,0)??_s)===Kb)return;const r=this._$AH,o=e===_s&&r!==_s||e.capture!==r.capture||e.once!==r.once||e.passive!==r.passive,s=e!==_s&&(r===_s||o);o&&this.element.removeEventListener(this.name,this,r),s&&this.element.addEventListener(this.name,this,e),this._$AH=e}handleEvent(e){var n;typeof this._$AH=="function"?this._$AH.call(((n=this.options)==null?void 0:n.host)??this.element,e):this._$AH.handleEvent(e)}}class YMe{constructor(e,n,r){this.element=e,this.type=6,this._$AN=void 0,this._$AM=n,this.options=r}get _$AU(){return this._$AM._$AU}_$AI(e){py(this,e)}}const u9=Gw.litHtmlPolyfillSupport;u9==null||u9(Zb,lS),(Gw.litHtmlVersions??(Gw.litHtmlVersions=[])).push("3.3.0");const z3=globalThis,DD=z3.ShadowRoot&&(z3.ShadyCSS===void 0||z3.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,LD=Symbol(),h$=new WeakMap;class Aoe{constructor(e,n,r){if(this._$cssResult$=!0,r!==LD)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=e,this.t=n}get styleSheet(){let e=this.o;const n=this.t;if(DD&&e===void 0){const r=n!==void 0&&n.length===1;r&&(e=h$.get(n)),e===void 0&&((this.o=e=new CSSStyleSheet).replaceSync(this.cssText),r&&h$.set(n,e))}return e}toString(){return this.cssText}}const uS=(t,...e)=>{const n=t.length===1?t[0]:e.reduce((r,o,s)=>r+(a=>{if(a._$cssResult$===!0)return a.cssText;if(typeof a=="number")return a;throw Error("Value passed to 'css' function must be a 'css' function result: "+a+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(o)+t[s+1],t[0]);return new Aoe(n,t,LD)},m$=DD?t=>t:t=>t instanceof CSSStyleSheet?(e=>{let n="";for(const r of e.cssRules)n+=r.cssText;return(r=>new Aoe(typeof r=="string"?r:r+"",void 0,LD))(n)})(t):t,{is:GMe,defineProperty:qMe,getOwnPropertyDescriptor:KMe,getOwnPropertyNames:ZMe,getOwnPropertySymbols:QMe,getPrototypeOf:JMe}=Object,Yp=globalThis,g$=Yp.trustedTypes,XMe=g$?g$.emptyScript:"",f9=Yp.reactiveElementPolyfillSupport,qw=(t,e)=>t,l8={toAttribute(t,e){switch(e){case Boolean:t=t?XMe:null;break;case Object:case Array:t=t==null?t:JSON.stringify(t)}return t},fromAttribute(t,e){let n=t;switch(e){case Boolean:n=t!==null;break;case Number:n=t===null?null:Number(t);break;case Object:case Array:try{n=JSON.parse(t)}catch{n=null}}return n}},_oe=(t,e)=>!GMe(t,e),y$={attribute:!0,type:String,converter:l8,reflect:!1,useDefault:!1,hasChanged:_oe};Symbol.metadata??(Symbol.metadata=Symbol("metadata")),Yp.litPropertyMetadata??(Yp.litPropertyMetadata=new WeakMap);class l0 extends HTMLElement{static addInitializer(e){this._$Ei(),(this.l??(this.l=[])).push(e)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(e,n=y$){if(n.state&&(n.attribute=!1),this._$Ei(),this.prototype.hasOwnProperty(e)&&((n=Object.create(n)).wrapped=!0),this.elementProperties.set(e,n),!n.noAccessor){const r=Symbol(),o=this.getPropertyDescriptor(e,r,n);o!==void 0&&qMe(this.prototype,e,o)}}static getPropertyDescriptor(e,n,r){const{get:o,set:s}=KMe(this.prototype,e)??{get(){return this[n]},set(a){this[n]=a}};return{get:o,set(a){const i=o==null?void 0:o.call(this);s==null||s.call(this,a),this.requestUpdate(e,i,r)},configurable:!0,enumerable:!0}}static getPropertyOptions(e){return this.elementProperties.get(e)??y$}static _$Ei(){if(this.hasOwnProperty(qw("elementProperties")))return;const e=JMe(this);e.finalize(),e.l!==void 0&&(this.l=[...e.l]),this.elementProperties=new Map(e.elementProperties)}static finalize(){if(this.hasOwnProperty(qw("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(qw("properties"))){const n=this.properties,r=[...ZMe(n),...QMe(n)];for(const o of r)this.createProperty(o,n[o])}const e=this[Symbol.metadata];if(e!==null){const n=litPropertyMetadata.get(e);if(n!==void 0)for(const[r,o]of n)this.elementProperties.set(r,o)}this._$Eh=new Map;for(const[n,r]of this.elementProperties){const o=this._$Eu(n,r);o!==void 0&&this._$Eh.set(o,n)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(e){const n=[];if(Array.isArray(e)){const r=new Set(e.flat(1/0).reverse());for(const o of r)n.unshift(m$(o))}else e!==void 0&&n.push(m$(e));return n}static _$Eu(e,n){const r=n.attribute;return r===!1?void 0:typeof r=="string"?r:typeof e=="string"?e.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){var e;this._$ES=new Promise(n=>this.enableUpdating=n),this._$AL=new Map,this._$E_(),this.requestUpdate(),(e=this.constructor.l)==null||e.forEach(n=>n(this))}addController(e){var n;(this._$EO??(this._$EO=new Set)).add(e),this.renderRoot!==void 0&&this.isConnected&&((n=e.hostConnected)==null||n.call(e))}removeController(e){var n;(n=this._$EO)==null||n.delete(e)}_$E_(){const e=new Map,n=this.constructor.elementProperties;for(const r of n.keys())this.hasOwnProperty(r)&&(e.set(r,this[r]),delete this[r]);e.size>0&&(this._$Ep=e)}createRenderRoot(){const e=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return((n,r)=>{if(DD)n.adoptedStyleSheets=r.map(o=>o instanceof CSSStyleSheet?o:o.styleSheet);else for(const o of r){const s=document.createElement("style"),a=z3.litNonce;a!==void 0&&s.setAttribute("nonce",a),s.textContent=o.cssText,n.appendChild(s)}})(e,this.constructor.elementStyles),e}connectedCallback(){var e;this.renderRoot??(this.renderRoot=this.createRenderRoot()),this.enableUpdating(!0),(e=this._$EO)==null||e.forEach(n=>{var r;return(r=n.hostConnected)==null?void 0:r.call(n)})}enableUpdating(e){}disconnectedCallback(){var e;(e=this._$EO)==null||e.forEach(n=>{var r;return(r=n.hostDisconnected)==null?void 0:r.call(n)})}attributeChangedCallback(e,n,r){this._$AK(e,r)}_$ET(e,n){var s;const r=this.constructor.elementProperties.get(e),o=this.constructor._$Eu(e,r);if(o!==void 0&&r.reflect===!0){const a=(((s=r.converter)==null?void 0:s.toAttribute)!==void 0?r.converter:l8).toAttribute(n,r.type);this._$Em=e,a==null?this.removeAttribute(o):this.setAttribute(o,a),this._$Em=null}}_$AK(e,n){var s,a;const r=this.constructor,o=r._$Eh.get(e);if(o!==void 0&&this._$Em!==o){const i=r.getPropertyOptions(o),l=typeof i.converter=="function"?{fromAttribute:i.converter}:((s=i.converter)==null?void 0:s.fromAttribute)!==void 0?i.converter:l8;this._$Em=o,this[o]=l.fromAttribute(n,i.type)??((a=this._$Ej)==null?void 0:a.get(o))??null,this._$Em=null}}requestUpdate(e,n,r){var o;if(e!==void 0){const s=this.constructor,a=this[e];if(r??(r=s.getPropertyOptions(e)),!((r.hasChanged??_oe)(a,n)||r.useDefault&&r.reflect&&a===((o=this._$Ej)==null?void 0:o.get(e))&&!this.hasAttribute(s._$Eu(e,r))))return;this.C(e,n,r)}this.isUpdatePending===!1&&(this._$ES=this._$EP())}C(e,n,{useDefault:r,reflect:o,wrapped:s},a){r&&!(this._$Ej??(this._$Ej=new Map)).has(e)&&(this._$Ej.set(e,a??n??this[e]),s!==!0||a!==void 0)||(this._$AL.has(e)||(this.hasUpdated||r||(n=void 0),this._$AL.set(e,n)),o===!0&&this._$Em!==e&&(this._$Eq??(this._$Eq=new Set)).add(e))}async _$EP(){this.isUpdatePending=!0;try{await this._$ES}catch(n){Promise.reject(n)}const e=this.scheduleUpdate();return e!=null&&await e,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){var r;if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??(this.renderRoot=this.createRenderRoot()),this._$Ep){for(const[s,a]of this._$Ep)this[s]=a;this._$Ep=void 0}const o=this.constructor.elementProperties;if(o.size>0)for(const[s,a]of o){const{wrapped:i}=a,l=this[s];i!==!0||this._$AL.has(s)||l===void 0||this.C(s,void 0,a,l)}}let e=!1;const n=this._$AL;try{e=this.shouldUpdate(n),e?(this.willUpdate(n),(r=this._$EO)==null||r.forEach(o=>{var s;return(s=o.hostUpdate)==null?void 0:s.call(o)}),this.update(n)):this._$EM()}catch(o){throw e=!1,this._$EM(),o}e&&this._$AE(n)}willUpdate(e){}_$AE(e){var n;(n=this._$EO)==null||n.forEach(r=>{var o;return(o=r.hostUpdated)==null?void 0:o.call(r)}),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(e)),this.updated(e)}_$EM(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(e){return!0}update(e){this._$Eq&&(this._$Eq=this._$Eq.forEach(n=>this._$ET(n,this[n]))),this._$EM()}updated(e){}firstUpdated(e){}}l0.elementStyles=[],l0.shadowRootOptions={mode:"open"},l0[qw("elementProperties")]=new Map,l0[qw("finalized")]=new Map,f9==null||f9({ReactiveElement:l0}),(Yp.reactiveElementVersions??(Yp.reactiveElementVersions=[])).push("2.1.0");const Kw=globalThis,Gk=Kw.trustedTypes,v$=Gk?Gk.createPolicy("lit-html",{createHTML:t=>t}):void 0,Moe="$lit$",Ap=`lit$${Math.random().toFixed(9).slice(2)}$`,Roe="?"+Ap,eRe=`<${Roe}>`,xg=document,Qb=()=>xg.createComment(""),Jb=t=>t===null||typeof t!="object"&&typeof t!="function",c8=Array.isArray,d9=`[
49 \f\r]`,pw=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,w$=/-->/g,b$=/>/g,dm=RegExp(`>|${d9}(?:([^\\s"'>=/]+)(${d9}*=${d9}*(?:[^
50 \f\r"'\`<>=]|("|')|))|$)`,"g"),x$=/'/g,k$=/"/g,Toe=/^(?:script|style|textarea|title)$/i,Doe=t=>(e,...n)=>({_$litType$:t,strings:e,values:n}),Et=Doe(1),Er=Doe(2),hy=Symbol.for("lit-noChange"),Ms=Symbol.for("lit-nothing"),j$=new WeakMap,Om=xg.createTreeWalker(xg,129);function Loe(t,e){if(!c8(t)||!t.hasOwnProperty("raw"))throw Error("invalid template strings array");return v$!==void 0?v$.createHTML(e):e}const tRe=(t,e)=>{const n=t.length-1,r=[];let o,s=e===2?"<svg>":e===3?"<math>":"",a=pw;for(let i=0;i<n;i++){const l=t[i];let u,d,f=-1,m=0;for(;m<l.length&&(a.lastIndex=m,d=a.exec(l),d!==null);)m=a.lastIndex,a===pw?d[1]==="!--"?a=w$:d[1]!==void 0?a=b$:d[2]!==void 0?(Toe.test(d[2])&&(o=RegExp("</"+d[2],"g")),a=dm):d[3]!==void 0&&(a=dm):a===dm?d[0]===">"?(a=o??pw,f=-1):d[1]===void 0?f=-2:(f=a.lastIndex-d[2].length,u=d[1],a=d[3]===void 0?dm:d[3]==='"'?k$:x$):a===k$||a===x$?a=dm:a===w$||a===b$?a=pw:(a=dm,o=void 0);const g=a===dm&&t[i+1].startsWith("/>")?" ":"";s+=a===pw?l+eRe:f>=0?(r.push(u),l.slice(0,f)+Moe+l.slice(f)+Ap+g):l+Ap+(f===-2?i:g)}return[Loe(t,s+(t[n]||"<?>")+(e===2?"</svg>":e===3?"</math>":"")),r]};class Xb{constructor({strings:e,_$litType$:n},r){let o;this.parts=[];let s=0,a=0;const i=e.length-1,l=this.parts,[u,d]=tRe(e,n);if(this.el=Xb.createElement(u,r),Om.currentNode=this.el.content,n===2||n===3){const f=this.el.content.firstChild;f.replaceWith(...f.childNodes)}for(;(o=Om.nextNode())!==null&&l.length<i;){if(o.nodeType===1){if(o.hasAttributes())for(const f of o.getAttributeNames())if(f.endsWith(Moe)){const m=d[a++],g=o.getAttribute(f).split(Ap),w=/([.?@])?(.*)/.exec(m);l.push({type:1,index:s,name:w[2],strings:g,ctor:w[1]==="."?rRe:w[1]==="?"?oRe:w[1]==="@"?sRe:fS}),o.removeAttribute(f)}else f.startsWith(Ap)&&(l.push({type:6,index:s}),o.removeAttribute(f));if(Toe.test(o.tagName)){const f=o.textContent.split(Ap),m=f.length-1;if(m>0){o.textContent=Gk?Gk.emptyScript:"";for(let g=0;g<m;g++)o.append(f[g],Qb()),Om.nextNode(),l.push({type:2,index:++s});o.append(f[m],Qb())}}}else if(o.nodeType===8)if(o.data===Roe)l.push({type:2,index:s});else{let f=-1;for(;(f=o.data.indexOf(Ap,f+1))!==-1;)l.push({type:7,index:s}),f+=Ap.length-1}s++}}static createElement(e,n){const r=xg.createElement("template");return r.innerHTML=e,r}}function my(t,e,n=t,r){var a,i;if(e===hy)return e;let o=r!==void 0?(a=n._$Co)==null?void 0:a[r]:n._$Cl;const s=Jb(e)?void 0:e._$litDirective$;return(o==null?void 0:o.constructor)!==s&&((i=o==null?void 0:o._$AO)==null||i.call(o,!1),s===void 0?o=void 0:(o=new s(t),o._$AT(t,n,r)),r!==void 0?(n._$Co??(n._$Co=[]))[r]=o:n._$Cl=o),o!==void 0&&(e=my(t,o._$AS(t,e.values),o,r)),e}class nRe{constructor(e,n){this._$AV=[],this._$AN=void 0,this._$AD=e,this._$AM=n}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(e){const{el:{content:n},parts:r}=this._$AD,o=((e==null?void 0:e.creationScope)??xg).importNode(n,!0);Om.currentNode=o;let s=Om.nextNode(),a=0,i=0,l=r[0];for(;l!==void 0;){if(a===l.index){let u;l.type===2?u=new q2(s,s.nextSibling,this,e):l.type===1?u=new l.ctor(s,l.name,l.strings,this,e):l.type===6&&(u=new aRe(s,this,e)),this._$AV.push(u),l=r[++i]}a!==(l==null?void 0:l.index)&&(s=Om.nextNode(),a++)}return Om.currentNode=xg,o}p(e){let n=0;for(const r of this._$AV)r!==void 0&&(r.strings!==void 0?(r._$AI(e,r,n),n+=r.strings.length-2):r._$AI(e[n])),n++}}class q2{get _$AU(){var e;return((e=this._$AM)==null?void 0:e._$AU)??this._$Cv}constructor(e,n,r,o){this.type=2,this._$AH=Ms,this._$AN=void 0,this._$AA=e,this._$AB=n,this._$AM=r,this.options=o,this._$Cv=(o==null?void 0:o.isConnected)??!0}get parentNode(){let e=this._$AA.parentNode;const n=this._$AM;return n!==void 0&&(e==null?void 0:e.nodeType)===11&&(e=n.parentNode),e}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(e,n=this){e=my(this,e,n),Jb(e)?e===Ms||e==null||e===""?(this._$AH!==Ms&&this._$AR(),this._$AH=Ms):e!==this._$AH&&e!==hy&&this._(e):e._$litType$!==void 0?this.$(e):e.nodeType!==void 0?this.T(e):(r=>c8(r)||typeof(r==null?void 0:r[Symbol.iterator])=="function")(e)?this.k(e):this._(e)}O(e){return this._$AA.parentNode.insertBefore(e,this._$AB)}T(e){this._$AH!==e&&(this._$AR(),this._$AH=this.O(e))}_(e){this._$AH!==Ms&&Jb(this._$AH)?this._$AA.nextSibling.data=e:this.T(xg.createTextNode(e)),this._$AH=e}$(e){var s;const{values:n,_$litType$:r}=e,o=typeof r=="number"?this._$AC(e):(r.el===void 0&&(r.el=Xb.createElement(Loe(r.h,r.h[0]),this.options)),r);if(((s=this._$AH)==null?void 0:s._$AD)===o)this._$AH.p(n);else{const a=new nRe(o,this),i=a.u(this.options);a.p(n),this.T(i),this._$AH=a}}_$AC(e){let n=j$.get(e.strings);return n===void 0&&j$.set(e.strings,n=new Xb(e)),n}k(e){c8(this._$AH)||(this._$AH=[],this._$AR());const n=this._$AH;let r,o=0;for(const s of e)o===n.length?n.push(r=new q2(this.O(Qb()),this.O(Qb()),this,this.options)):r=n[o],r._$AI(s),o++;o<n.length&&(this._$AR(r&&r._$AB.nextSibling,o),n.length=o)}_$AR(e=this._$AA.nextSibling,n){var r;for((r=this._$AP)==null?void 0:r.call(this,!1,!0,n);e&&e!==this._$AB;){const o=e.nextSibling;e.remove(),e=o}}setConnected(e){var n;this._$AM===void 0&&(this._$Cv=e,(n=this._$AP)==null||n.call(this,e))}}class fS{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(e,n,r,o,s){this.type=1,this._$AH=Ms,this._$AN=void 0,this.element=e,this.name=n,this._$AM=o,this.options=s,r.length>2||r[0]!==""||r[1]!==""?(this._$AH=Array(r.length-1).fill(new String),this.strings=r):this._$AH=Ms}_$AI(e,n=this,r,o){const s=this.strings;let a=!1;if(s===void 0)e=my(this,e,n,0),a=!Jb(e)||e!==this._$AH&&e!==hy,a&&(this._$AH=e);else{const i=e;let l,u;for(e=s[0],l=0;l<s.length-1;l++)u=my(this,i[r+l],n,l),u===hy&&(u=this._$AH[l]),a||(a=!Jb(u)||u!==this._$AH[l]),u===Ms?e=Ms:e!==Ms&&(e+=(u??"")+s[l+1]),this._$AH[l]=u}a&&!o&&this.j(e)}j(e){e===Ms?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,e??"")}}class rRe extends fS{constructor(){super(...arguments),this.type=3}j(e){this.element[this.name]=e===Ms?void 0:e}}class oRe extends fS{constructor(){super(...arguments),this.type=4}j(e){this.element.toggleAttribute(this.name,!!e&&e!==Ms)}}class sRe extends fS{constructor(e,n,r,o,s){super(e,n,r,o,s),this.type=5}_$AI(e,n=this){if((e=my(this,e,n,0)??Ms)===hy)return;const r=this._$AH,o=e===Ms&&r!==Ms||e.capture!==r.capture||e.once!==r.once||e.passive!==r.passive,s=e!==Ms&&(r===Ms||o);o&&this.element.removeEventListener(this.name,this,r),s&&this.element.addEventListener(this.name,this,e),this._$AH=e}handleEvent(e){var n;typeof this._$AH=="function"?this._$AH.call(((n=this.options)==null?void 0:n.host)??this.element,e):this._$AH.handleEvent(e)}}class aRe{constructor(e,n,r){this.element=e,this.type=6,this._$AN=void 0,this._$AM=n,this.options=r}get _$AU(){return this._$AM._$AU}_$AI(e){my(this,e)}}const p9=Kw.litHtmlPolyfillSupport;p9==null||p9(Xb,q2),(Kw.litHtmlVersions??(Kw.litHtmlVersions=[])).push("3.3.0");const qm=globalThis;class $0 extends l0{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){var n;const e=super.createRenderRoot();return(n=this.renderOptions).renderBefore??(n.renderBefore=e.firstChild),e}update(e){const n=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(e),this._$Do=((r,o,s)=>{const a=(s==null?void 0:s.renderBefore)??o;let i=a._$litPart$;if(i===void 0){const l=(s==null?void 0:s.renderBefore)??null;a._$litPart$=i=new q2(o.insertBefore(Qb(),l),l,void 0,s??{})}return i._$AI(r),i})(n,this.renderRoot,this.renderOptions)}connectedCallback(){var e;super.connectedCallback(),(e=this._$Do)==null||e.setConnected(!0)}disconnectedCallback(){var e;super.disconnectedCallback(),(e=this._$Do)==null||e.setConnected(!1)}render(){return hy}}var dJ;$0._$litElement$=!0,$0.finalized=!0,(dJ=qm.litElementHydrateSupport)==null||dJ.call(qm,{LitElement:$0});const h9=qm.litElementPolyfillSupport;h9==null||h9({LitElement:$0}),(qm.litElementVersions??(qm.litElementVersions=[])).push("4.2.0");const Yn=t=>(e,n)=>{n!==void 0?n.addInitializer(()=>{customElements.define(t,e)}):customElements.define(t,e)},iRe={attribute:!0,type:String,converter:Hk,reflect:!1,hasChanged:TD},lRe=(t=iRe,e,n)=>{const{kind:r,metadata:o}=n;let s=globalThis.litPropertyMetadata.get(o);if(s===void 0&&globalThis.litPropertyMetadata.set(o,s=new Map),r==="setter"&&((t=Object.create(t)).wrapped=!0),s.set(n.name,t),r==="accessor"){const{name:a}=n;return{set(i){const l=e.get.call(this);e.set.call(this,i),this.requestUpdate(a,l,t)},init(i){return i!==void 0&&this.C(a,void 0,t,i),i}}}if(r==="setter"){const{name:a}=n;return function(i){const l=this[a];e.call(this,i),this.requestUpdate(a,l,t)}}throw Error("Unsupported decorator location: "+r)};function Jo(t){return(e,n)=>typeof n=="object"?lRe(t,e,n):((r,o,s)=>{const a=o.hasOwnProperty(s);return o.constructor.createProperty(s,r),a?Object.getOwnPropertyDescriptor(o,s):void 0})(t,e,n)}function Xn(t){return Jo({...t,state:!0,attribute:!1})}let C$,S$;class PD extends $0{updated(e){var n;if(super.updated(e),globalThis.document&&globalThis.document.documentElement.classList.contains("dark")&&(n=this.shadowRoot)!=null&&(n=n.children)!=null&&n.length)for(const r of this.shadowRoot.children)r.classList.contains("dark")||r.classList.add("dark")}_getBrandColorLuminance(){if(!globalThis.window)return 0;const e=window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches;let n=window.getComputedStyle(this).getPropertyValue(e?"--bc-color-brand-dark":"--bc-color-brand")||window.getComputedStyle(this).getPropertyValue("--bc-color-brand")||"#196CE7";if(!n.match(/^#[0-9A-F]{6}$/i)){const r=document.createElement("div");r.style.color=n,r.style.display="none",document.body.appendChild(r),n=window.getComputedStyle(r).color,r.remove()}return(function(r){if(r.startsWith("#"))return r=r.slice(1),(.299*parseInt(r.slice(0,2),16)+.587*parseInt(r.slice(2,4),16)+.114*parseInt(r.slice(4,6),16))/255;if(r.startsWith("rgb")||r.startsWith("rgba")){const o=r.match(/\d+(\.\d+)?/g);return(.299*parseFloat(o[0])+.587*parseFloat(o[1])+.114*parseFloat(o[2]))/255}throw new Error("Unsupported luminance: "+r)})(n)}}PD.styles=[uS(C$||(C$=(t=>t)`
51 :host {
52 // global css reset in shadow DOM
53 all: initial;
54 font-variant-numeric: slashed-zero;
55 }
56 // TODO: move to individual components - only needed by a couple of icons
57 .hover-animation:hover .hover-right-up {
58 transform: translateX(2px) translateY(-2px);
59 transition: all 0.3s;
60 }
61 .hover-animation:hover .hover-right {
62 transform: translateX(3px);
63 transition: all 0.3s;
64 }
65 `))];class nr extends PD{constructor(){super(),this._modalOpen=!1,this._connected=!1,this._connecting=!1,this._connectorName=void 0,this._appName=void 0,this._appIcon=void 0,this._filters=void 0,this._error=void 0,this._connected=$t.getState().connected,this._connecting=$t.getState().connecting,this._connectorName=$t.getState().connectorName,this._appName=$t.getState().bitcoinConnectConfig.appName,this._appIcon=$t.getState().bitcoinConnectConfig.appIcon,this._filters=$t.getState().bitcoinConnectConfig.filters,this._error=$t.getState().error,this._route=$t.getState().route,this._modalOpen=$t.getState().modalOpen,$t.subscribe(e=>{this._connected=e.connected,this._connecting=e.connecting,this._connectorName=e.connectorName,this._appName=e.bitcoinConnectConfig.appName,this._appIcon=e.bitcoinConnectConfig.appIcon,this._filters=e.bitcoinConnectConfig.filters,this._error=e.error,this._route=e.route,this._modalOpen=e.modalOpen})}}Dt([Xn()],nr.prototype,"_modalOpen",void 0),Dt([Xn()],nr.prototype,"_connected",void 0),Dt([Xn()],nr.prototype,"_connecting",void 0),Dt([Xn()],nr.prototype,"_connectorName",void 0),Dt([Xn()],nr.prototype,"_appName",void 0),Dt([Xn()],nr.prototype,"_appIcon",void 0),Dt([Xn()],nr.prototype,"_filters",void 0),Dt([Xn()],nr.prototype,"_error",void 0),Dt([Xn()],nr.prototype,"_route",void 0);const Zw=Er(S$||(S$=(t=>t)`
66 <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
67 <path fill-rule="evenodd" clip-rule="evenodd" d="M15.4635 6.0794C17.4325 6.83684 18.8238 7.94315 18.5058 9.88813C18.3285 10.984 17.8283 11.6586 17.1374 12.0334C16.8767 12.1748 16.8191 12.6131 17.0507 12.7984C18.0431 13.592 18.4393 14.7164 17.8152 16.4238C16.9057 18.9138 14.8635 19.177 12.1521 18.6697C11.9858 18.6385 11.8223 18.7396 11.7792 18.9032L11.4563 20.1009C11.3343 20.5633 10.8605 20.8392 10.3981 20.7173C9.93541 20.5953 9.65932 20.1212 9.78149 19.6586L10.0909 18.5121C10.1354 18.3439 10.0349 18.1715 9.86676 18.1266C9.62998 18.0632 9.39019 17.9976 9.14679 17.9294C8.97646 17.8817 8.79964 17.9822 8.75452 18.1532L8.44373 19.3067C8.32182 19.7688 7.8483 20.0446 7.38616 19.9226C6.92422 19.8007 6.64851 19.3274 6.77026 18.8655L7.08988 17.677C7.13458 17.5073 7.03399 17.3333 6.86481 17.2869C6.81003 17.2718 6.75512 17.2567 6.70008 17.2415L6.69828 17.241C6.4604 17.1755 6.22001 17.1094 5.97667 17.0449L5.42127 16.8919C4.80739 16.7299 4.48576 16.0556 4.74625 15.4767C4.95488 15.013 5.47104 14.7734 5.96239 14.9043C5.97132 14.9067 5.98016 14.909 5.98891 14.9113C6.1066 14.9426 6.10094 14.9199 6.21958 14.8924C6.46112 14.8366 6.58893 14.6373 6.65055 14.4901L7.80952 10.0986L7.81254 10.0867L8.63176 6.98069C8.63683 6.96147 8.64021 6.94184 8.64116 6.92198C8.65547 6.62155 8.78957 6.31876 8.35166 6.11178C8.25682 6.06695 8.16354 6.02432 8.06217 5.99736C8.04539 5.9929 8.02808 5.98833 8.01032 5.98367C7.51444 5.85341 7.21198 5.34932 7.34263 4.85356C7.47162 4.36411 7.9731 4.07202 8.46248 4.2013L9.43668 4.47448C9.68634 4.54012 9.94146 4.60362 10.2006 4.66691C10.3681 4.70784 10.5375 4.60681 10.5815 4.44006L10.8668 3.39102C10.9889 2.9288 11.4625 2.65299 11.9247 2.77495C12.3871 2.89693 12.663 3.37062 12.541 3.83294L12.2715 4.82295C12.2273 4.99041 12.3292 5.16145 12.4975 5.20248C12.7444 5.26269 12.9911 5.32354 13.2353 5.38588C13.4 5.42795 13.5684 5.32988 13.6118 5.16547L13.8783 4.18608C14.0003 3.72357 14.4741 3.44751 14.9366 3.56948C15.3992 3.69145 15.6753 4.16533 15.5533 4.62789L15.2637 5.69461C15.2215 5.85461 15.3091 6.01999 15.4635 6.0794ZM11.2479 8.6805L11.4769 7.81121C11.5836 7.40644 11.9982 7.16477 12.403 7.27142C12.8077 7.37807 13.0494 7.79266 12.9428 8.19743L12.7137 9.06672L13.5829 9.29575C13.9877 9.4024 14.2294 9.81699 14.1227 10.2218C14.0161 10.6265 13.6015 10.8682 13.1967 10.7615L12.3275 10.5325L12.0984 11.4018C11.9918 11.8066 11.5772 12.0483 11.1724 11.9416C10.7676 11.835 10.5259 11.4204 10.6326 11.0156L10.8617 10.1463L9.99225 9.91722C9.58747 9.81056 9.34579 9.39598 9.45245 8.99121C9.5591 8.58644 9.9737 8.34477 10.3785 8.45142L11.2479 8.6805ZM13.2927 12.7001L13.0636 13.5693L12.1942 13.3403C11.7895 13.2336 11.3749 13.4753 11.2682 13.8801C11.1615 14.2848 11.4032 14.6994 11.808 14.8061L12.6774 15.0351L12.4484 15.9045C12.3417 16.3092 12.5834 16.7238 12.9882 16.8305C13.3929 16.9371 13.8075 16.6954 13.9142 16.2907L14.1432 15.4214L15.0125 15.6504C15.4172 15.757 15.8318 15.5154 15.9385 15.1106C16.0451 14.7058 15.8035 14.2912 15.3987 14.1846L14.5295 13.9556L14.7585 13.0863C14.8652 12.6815 14.6235 12.2669 14.2187 12.1603C13.8139 12.0536 13.3994 12.2953 13.2927 12.7001Z" fill="currentColor"/>
68 </svg>`));function OD(t){return[...t.v,(t.i?"!":"")+t.n].join(":")}function cRe(t,e=","){return t.map(OD).join(e)}let Poe=typeof CSS<"u"&&CSS.escape||(t=>t.replace(/[!"'`*+.,;:\\/<=>?@#$%&^|~()[\]{}]/g,"\\$&").replace(/^\d/,"\\3$& "));function qk(t){for(var e=9,n=t.length;n--;)e=Math.imul(e^t.charCodeAt(n),1597334677);return"#"+((e^e>>>9)>>>0).toString(36)}function zD(t,e="@media "){return e+ro(t).map(n=>(typeof n=="string"&&(n={min:n}),n.raw||Object.keys(n).map(r=>`(${r}-width:${n[r]})`).join(" and "))).join(",")}function ro(t=[]){return Array.isArray(t)?t:t==null?[]:[t]}function E$(t){return t}function u8(){}let Na={d:0,b:134217728,c:268435456,a:671088640,u:805306368,o:939524096};function Ooe(t){var e;return((e=t.match(/[-=:;]/g))==null?void 0:e.length)||0}function f8(t){return Math.min(/(?:^|width[^\d]+)(\d+(?:.\d+)?)(p)?/.test(t)?Math.max(0,29.63*(+RegExp.$1/(RegExp.$2?15:1))**.137-43):0,15)<<22|Math.min(Ooe(t),15)<<18}let uRe=["rst-c","st-ch","h-chi","y-lin","nk","sited","ecked","pty","ad-on","cus-w","ver","cus","cus-v","tive","sable","tiona","quire"];function FD({n:t,i:e,v:n=[]},r,o,s){t&&(t=OD({n:t,i:e,v:n})),s=[...ro(s)];for(let a of n){let i=r.theme("screens",a);for(let l of ro(i&&zD(i)||r.v(a)))s.push(l),o|=i?67108864|f8(l):a=="dark"?1073741824:l[0]=="@"?f8(l):1<<~(/:([a-z-]+)/.test(l)&&~uRe.indexOf(RegExp.$1.slice(2,7))||-18)}return{n:t,p:o,r:s,i:e}}let zoe=new Map;function d8(t){if(t.d){let e=[],n=m9(t.r.reduce((r,o)=>o[0]=="@"?(e.push(o),r):o?m9(r,s=>m9(o,a=>{let i=/(:merge\(.+?\))(:[a-z-]+|\\[.+])/.exec(a);if(i){let l=s.indexOf(i[1]);return~l?s.slice(0,l)+i[0]+s.slice(l+i[1].length):g9(s,a)}return g9(a,s)})):r,"&"),r=>g9(r,t.n?"."+Poe(t.n):""));return n&&e.push(n.replace(/:merge\((.+?)\)/g,"$1")),e.reduceRight((r,o)=>o+"{"+r+"}",t.d)}}function m9(t,e){return t.replace(/ *((?:\(.+?\)|\[.+?\]|[^,])+) *(,|$)/g,(n,r,o)=>e(r)+o)}function g9(t,e){return t.replace(/&/g,e)}let N$=new Intl.Collator("en",{numeric:!0});function Foe(t,e){for(var n=0,r=t.length;n<r;){let o=r+n>>1;0>=Boe(t[o],e)?n=o+1:r=o}return r}function Boe(t,e){let n=t.p&Na.o;return n!=(e.p&Na.o)||n!=Na.b&&n!=Na.o?t.p-e.p||t.o-e.o||N$.compare(I$(t.n),I$(e.n))||N$.compare(A$(t.n),A$(e.n)):0}function I$(t){return(t||"").split(/:/).pop().split("/").pop()||"\0"}function A$(t){return(t||"").replace(/\W/g,e=>String.fromCharCode(127+e.charCodeAt(0)))+"\0"}function y9(t,e){return Math.round(parseInt(t,16)*e)}function Dp(t,e={}){if(typeof t=="function")return t(e);let{opacityValue:n="1",opacityVariable:r}=e,o=r?`var(${r})`:n;if(t.includes("<alpha-value>"))return t.replace("<alpha-value>",o);if(t[0]=="#"&&(t.length==4||t.length==7)){let s=(t.length-1)/3,a=[17,1,.062272][s-1];return`rgba(${[y9(t.substr(1,s),a),y9(t.substr(1+s,s),a),y9(t.substr(1+2*s,s),a),o]})`}return o=="1"?t:o=="0"?"#0000":t.replace(/^(rgb|hsl)(\([^)]+)\)$/,`$1a$2,${o})`)}function Uoe(t,e,n,r,o=[]){return(function s(a,{n:i,p:l,r:u=[],i:d},f){let m=[],g="",w=0,b=0;for(let I in a||{}){var j,S;let N=a[I];if(I[0]=="@"){if(!N)continue;if(I[1]=="a"){m.push(...UD(i,l,Zk(""+N),f,l,u,d,!0));continue}if(I[1]=="l"){for(let M of ro(N))m.push(...s(M,{n:i,p:(j=Na[I[7]],l&-939524097|j),r:I[7]=="d"?[]:u,i:d},f));continue}if(I[1]=="i"){m.push(...ro(N).map(M=>({p:-1,o:0,r:[],d:I+" "+M})));continue}if(I[1]=="k"){m.push({p:Na.d,o:0,r:[I],d:s(N,{p:Na.d},f).map(d8).join("")});continue}if(I[1]=="f"){m.push(...ro(N).map(M=>({p:Na.d,o:0,r:[I],d:s(M,{p:Na.d},f).map(d8).join("")})));continue}}if(typeof N!="object"||Array.isArray(N))I=="label"&&N?i=N+qk(JSON.stringify([l,d,a])):(N||N===0)&&(I=I.replace(/[A-Z]/g,M=>"-"+M.toLowerCase()),b+=1,w=Math.max(w,(S=I)[0]=="-"?0:Ooe(S)+(/^(?:(border-(?!w|c|sty)|[tlbr].{2,4}m?$|c.{7,8}$)|([fl].{5}l|g.{8}$|pl))/.test(S)?+!!RegExp.$1||-!!RegExp.$2:0)+1),g+=(g?";":"")+ro(N).map(M=>f.s(I,BD(""+M,f.theme)+(d?" !important":""))).join(";"));else if(I[0]=="@"||I.includes("&")){let M=l;I[0]=="@"&&(I=I.replace(/\bscreen\(([^)]+)\)/g,(D,O)=>{let L=f.theme("screens",O);return L?(M|=67108864,zD(L,"")):D}),M|=f8(I)),m.push(...s(N,{n:i,p:M,r:[...u,I],i:d},f))}else m.push(...s(N,{p:l,r:[...u,I]},f))}return m.unshift({n:i,p:l,o:Math.max(0,15-b)+1.5*Math.min(w||15,15),r:u,d:g}),m.sort(Boe)})(t,FD(e,n,r,o),n)}function BD(t,e){return t.replace(/theme\((["'`])?(.+?)\1(?:\s*,\s*(["'`])?(.+?)\3)?\)/g,(n,r,o,s,a="")=>{let i=e(o,a);return typeof i=="function"&&/color|fill|stroke/i.test(o)?Dp(i):""+ro(i).filter(l=>Object(l)!==l)})}function $oe(t,e){let n,r=[];for(let o of t)o.d&&o.n?(n==null?void 0:n.p)==o.p&&""+n.r==""+o.r?(n.c=[n.c,o.c].filter(Boolean).join(" "),n.d=n.d+";"+o.d):r.push(n={...o,n:o.n&&e}):r.push({...o,n:o.n&&e});return r}function Kk(t,e,n=Na.u,r,o){let s=[];for(let a of t)for(let i of(function(l,u,d,f,m){let g=(function(w,b){let j=zoe.get(w.n);return j?j(w,b):b.r(w.n,w.v[0]=="dark")})(l={...l,i:l.i||m},u);return g?typeof g=="string"?({r:f,p:d}=FD(l,u,d,f),$oe(Kk(Zk(g),u,d,f,l.i),l.n)):Array.isArray(g)?g.map(w=>{var b,j;return{o:0,...w,r:[...ro(f),...ro(w.r)],p:(b=d,j=w.p??d,b&-939524097|j)}}):Uoe(g,l,u,d,f):[{c:OD(l),p:0,o:0,r:[]}]})(a,e,n,r,o))s.splice(Foe(s,i),0,i);return s}function UD(t,e,n,r,o,s,a,i){return $oe((i?n.flatMap(l=>Kk([l],r,o,s,a)):Kk(n,r,o,s,a)).map(l=>l.p&Na.o&&(l.n||e==Na.b)?{...l,p:l.p&-939524097|e,o:0}:l),t)}function fRe(t,e,n,r){return zoe.set(t,(o,s)=>{let{n:a,p:i,r:l,i:u}=FD(o,s,e);return n&&UD(a,e,n,s,i,l,u,r)}),t}function v9(t,e,n){if(t[t.length-1]!="("){let r=[],o=!1,s=!1,a="";for(let i of t)if(i!="("&&!/[~@]$/.test(i)){if(i[0]=="!"&&(i=i.slice(1),o=!o),i.endsWith(":")){r[i=="dark:"?"unshift":"push"](i.slice(0,-1));continue}i[0]=="-"&&(i=i.slice(1),s=!s),i.endsWith("-")&&(i=i.slice(0,-1)),i&&i!="&"&&(a+=(a&&"-")+i)}a&&(s&&(a="-"+a),e[0].push({n:a,v:r.filter(dRe),i:o}))}}function dRe(t,e,n){return n.indexOf(t)==e}let _$=new Map;function Zk(t){let e=_$.get(t);if(!e){let n=[],r=[[]],o=0,s=0,a=null,i=0,l=(u,d=0)=>{o!=i&&(n.push(t.slice(o,i+d)),u&&v9(n,r)),o=i+1};for(;i<t.length;i++){let u=t[i];if(s)t[i-1]!="\\"&&(s+=+(u=="[")||-(u=="]"));else if(u=="[")s+=1;else if(a)t[i-1]!="\\"&&a.test(t.slice(i))&&(a=null,o=i+RegExp.lastMatch.length);else if(u!="/"||t[i-1]=="\\"||t[i+1]!="*"&&t[i+1]!="/")if(u=="(")l(),n.push(u);else if(u==":")t[i+1]!=":"&&l(!1,1);else if(/[\s,)]/.test(u)){l(!0);let d=n.lastIndexOf("(");if(u==")"){let f=n[d-1];if(/[~@]$/.test(f)){let m=r.shift();n.length=d,v9([...n,"#"],r);let{v:g}=r[0].pop();for(let w of m)w.v.splice(+(w.v[0]=="dark")-+(g[0]=="dark"),g.length);v9([...n,fRe(f.length>1?f.slice(0,-1)+qk(JSON.stringify([f,m])):f+"("+cRe(m)+")",Na.a,m,/@$/.test(f))],r)}d=n.lastIndexOf("(",d-1)}n.length=d+1}else/[~@]/.test(u)&&t[i+1]=="("&&r.unshift([]);else a=t[i+1]=="*"?/^\*\//:/^[\r\n]/}l(!0),_$.set(t,e=r[0])}return e}function Yt(t,e,n){return[t,p8(e,n)]}function p8(t,e){return typeof t=="function"?t:typeof t=="string"&&/^[\w-]+$/.test(t)?(n,r)=>({[t]:e?e(n,r):h8(n,1)}):n=>t||{[n[1]]:h8(n,2)}}function h8(t,e,n=t.slice(e).find(Boolean)||t.$$||t.input){return t.input[0]=="-"?`calc(${n} * -1)`:n}function Gt(t,e,n,r){return[t,pRe(e,n,r)]}function pRe(t,e,n){let r=typeof e=="string"?(o,s)=>({[e]:n?n(o,s):o._}):e||(({1:o,_:s},a,i)=>({[o||i]:s}));return(o,s)=>{let a=Voe(t||o[1]),i=s.theme(a,o.$$)??Lp(o.$$,a,s);if(i!=null)return o._=h8(o,0,i),r(o,s,a)}}function js(t,e={},n){return[t,hRe(e,n)]}function hRe(t={},e){return(n,r)=>{let{section:o=Voe(n[0]).replace("-","")+"Color"}=t,[s,a]=(n.$$.match(/^(\[[^\]]+]|[^/]+?)(?:\/(.+))?$/)||[]).slice(1);if(!s)return;let i=r.theme(o,s)||Lp(s,o,r);if(!i||typeof i=="object")return;let{opacityVariable:l=`--tw-${n[0].replace(/-$/,"")}-opacity`,opacitySection:u=o.replace("Color","Opacity"),property:d=o,selector:f}=t,m=r.theme(u,a||"DEFAULT")||a&&Lp(a,u,r),g=e||(({_:b})=>{let j=F3(d,b);return f?{[f]:j}:j});n._={value:Dp(i,{opacityVariable:l||void 0,opacityValue:m||void 0}),color:b=>Dp(i,b),opacityVariable:l||void 0,opacityValue:m||void 0};let w=g(n,r);if(!n.dark){let b=r.d(o,s,i);b&&b!==i&&(n._={value:Dp(b,{opacityVariable:l||void 0,opacityValue:m||"1"}),color:j=>Dp(b,j),opacityVariable:l||void 0,opacityValue:m||void 0},w={"&":w,[r.v("dark")]:g(n,r)})}return w}}function F3(t,e){let n={};return typeof e=="string"?n[t]=e:(e.opacityVariable&&e.value.includes(e.opacityVariable)&&(n[e.opacityVariable]=e.opacityValue||"1"),n[t]=e.value),n}function Lp(t,e,n){if(t[0]=="["&&t.slice(-1)=="]"){if(t=e2(BD(t.slice(1,-1),n.theme)),!e)return t;if(!(/color|fill|stroke/i.test(e)&&!/^color:/.test(t)&&!/^(#|((hsl|rgb)a?|hwb|lab|lch|color)\(|[a-z]+$)/.test(t)||/image/i.test(e)&&!/^image:/.test(t)&&!/^[a-z-]+\(/.test(t)||/weight/i.test(e)&&!/^(number|any):/.test(t)&&!/^\d+$/.test(t)||/position/i.test(e)&&/^(length|size):/.test(t)))return t.replace(/^[a-z-]+:/,"")}}function Voe(t){return t.replace(/-./g,e=>e[1].toUpperCase())}function e2(t){return t.includes("url(")?t.replace(/(.*?)(url\(.*?\))(.*?)/g,(e,n="",r,o="")=>e2(n)+r+e2(o)):t.replace(/(^|[^\\])_+/g,(e,n)=>n+" ".repeat(e.length-n.length)).replace(/\\_/g,"_").replace(/(calc|min|max|clamp)\(.+\)/g,e=>e.replace(/(-?\d*\.?\d(?!\b-.+[,)](?![^+\-/*])\D)(?:%|[a-z]+)?|\))([+\-/*])/g,"$1 $2 "))}function M$({presets:t=[],...e}){let n={darkMode:void 0,darkColor:void 0,preflight:e.preflight!==!1&&[],theme:{},variants:ro(e.variants),rules:ro(e.rules),ignorelist:ro(e.ignorelist),hash:void 0,stringify:(r,o)=>r+":"+o,finalize:[]};for(let r of ro([...t,{darkMode:e.darkMode,darkColor:e.darkColor,preflight:e.preflight!==!1&&ro(e.preflight),theme:e.theme,hash:e.hash,stringify:e.stringify,finalize:e.finalize}])){let{preflight:o,darkMode:s=n.darkMode,darkColor:a=n.darkColor,theme:i,variants:l,rules:u,ignorelist:d,hash:f=n.hash,stringify:m=n.stringify,finalize:g}=typeof r=="function"?r(n):r;n={preflight:n.preflight!==!1&&o!==!1&&[...n.preflight,...ro(o)],darkMode:s,darkColor:a,theme:{...n.theme,...i,extend:{...n.theme.extend,...i==null?void 0:i.extend}},variants:[...n.variants,...ro(l)],rules:[...n.rules,...ro(u)],ignorelist:[...n.ignorelist,...ro(d)],hash:f,stringify:m,finalize:[...n.finalize,...ro(g)]}}return n}function R$(t,e,n,r,o,s){for(let a of e){let i=n.get(a);i||n.set(a,i=r(a));let l=i(t,o,s);if(l)return l}}function mRe(t){var e;return m8(t[0],typeof(e=t[1])=="function"?e:()=>e)}function gRe(t){return Array.isArray(t)?m8(t[0],p8(t[1],t[2])):m8(t,p8(void 0,void 0))}function m8(t,e){return Hoe(t,(n,r,o,s)=>{let a=r.exec(n);if(a)return a.$$=n.slice(a[0].length),a.dark=s,e(a,o)})}function Hoe(t,e){let n=ro(t).map(yRe);return(r,o,s)=>{for(let a of n){let i=e(r,a,o,s);if(i)return i}}}function yRe(t){return typeof t=="string"?RegExp("^"+t+(t.includes("$")||t.slice(-1)=="-"?"":"$")):t}function w9(t){let e=t!=null&&t.cssRules?t:(t&&typeof t!="string"?t:(function(n){let r=document.querySelector(n||'style[data-twind=""]');return r&&r.tagName=="STYLE"||(r=document.createElement("style"),document.head.prepend(r)),r.dataset.twind="claimed",r})(t)).sheet;return{target:e,snapshot(){let n=Array.from(e.cssRules,r=>r.cssText);return()=>{this.clear(),n.forEach(this.insert)}},clear(){for(let n=e.cssRules.length;n--;)e.deleteRule(n)},destroy(){var n;(n=e.ownerNode)==null||n.remove()},insert(n,r){try{e.insertRule(n,r)}catch{e.insertRule(":root{}",r)}},resume:u8}}let g8={screens:{sm:"640px",md:"768px",lg:"1024px",xl:"1280px","2xl":"1536px"},columns:{auto:"auto","3xs":"16rem","2xs":"18rem",xs:"20rem",sm:"24rem",md:"28rem",lg:"32rem",xl:"36rem","2xl":"42rem","3xl":"48rem","4xl":"56rem","5xl":"64rem","6xl":"72rem","7xl":"80rem"},spacing:{px:"1px",0:"0px",...Yi(4,"rem",4,.5,.5),...Yi(12,"rem",4,5),14:"3.5rem",...Yi(64,"rem",4,16,4),72:"18rem",80:"20rem",96:"24rem"},durations:{75:"75ms",100:"100ms",150:"150ms",200:"200ms",300:"300ms",500:"500ms",700:"700ms",1e3:"1000ms"},animation:{none:"none",spin:"spin 1s linear infinite",ping:"ping 1s cubic-bezier(0,0,0.2,1) infinite",pulse:"pulse 2s cubic-bezier(0.4,0,0.6,1) infinite",bounce:"bounce 1s infinite"},aspectRatio:{auto:"auto",square:"1/1",video:"16/9"},backdropBlur:mr("blur"),backdropBrightness:mr("brightness"),backdropContrast:mr("contrast"),backdropGrayscale:mr("grayscale"),backdropHueRotate:mr("hueRotate"),backdropInvert:mr("invert"),backdropOpacity:mr("opacity"),backdropSaturate:mr("saturate"),backdropSepia:mr("sepia"),backgroundColor:mr("colors"),backgroundImage:{none:"none"},backgroundOpacity:mr("opacity"),backgroundSize:{auto:"auto",cover:"cover",contain:"contain"},blur:{none:"none",0:"0",sm:"4px",DEFAULT:"8px",md:"12px",lg:"16px",xl:"24px","2xl":"40px","3xl":"64px"},brightness:{...Yi(200,"",100,0,50),...Yi(110,"",100,90,5),75:"0.75",125:"1.25"},borderColor:({theme:t})=>({DEFAULT:t("colors.gray.200","currentColor"),...t("colors")}),borderOpacity:mr("opacity"),borderRadius:{none:"0px",sm:"0.125rem",DEFAULT:"0.25rem",md:"0.375rem",lg:"0.5rem",xl:"0.75rem","2xl":"1rem","3xl":"1.5rem","1/2":"50%",full:"9999px"},borderSpacing:mr("spacing"),borderWidth:{DEFAULT:"1px",...Rl(8,"px")},boxShadow:{sm:"0 1px 2px 0 rgba(0,0,0,0.05)",DEFAULT:"0 1px 3px 0 rgba(0,0,0,0.1), 0 1px 2px -1px rgba(0,0,0,0.1)",md:"0 4px 6px -1px rgba(0,0,0,0.1), 0 2px 4px -2px rgba(0,0,0,0.1)",lg:"0 10px 15px -3px rgba(0,0,0,0.1), 0 4px 6px -4px rgba(0,0,0,0.1)",xl:"0 20px 25px -5px rgba(0,0,0,0.1), 0 8px 10px -6px rgba(0,0,0,0.1)","2xl":"0 25px 50px -12px rgba(0,0,0,0.25)",inner:"inset 0 2px 4px 0 rgba(0,0,0,0.05)",none:"0 0 #0000"},boxShadowColor:mr("colors"),caretColor:mr("colors"),accentColor:({theme:t})=>({auto:"auto",...t("colors")}),contrast:{...Yi(200,"",100,0,50),75:"0.75",125:"1.25"},content:{none:"none"},divideColor:mr("borderColor"),divideOpacity:mr("borderOpacity"),divideWidth:mr("borderWidth"),dropShadow:{sm:"0 1px 1px rgba(0,0,0,0.05)",DEFAULT:["0 1px 2px rgba(0,0,0,0.1)","0 1px 1px rgba(0,0,0,0.06)"],md:["0 4px 3px rgba(0,0,0,0.07)","0 2px 2px rgba(0,0,0,0.06)"],lg:["0 10px 8px rgba(0,0,0,0.04)","0 4px 3px rgba(0,0,0,0.1)"],xl:["0 20px 13px rgba(0,0,0,0.03)","0 8px 5px rgba(0,0,0,0.08)"],"2xl":"0 25px 25px rgba(0,0,0,0.15)",none:"0 0 #0000"},fill:({theme:t})=>({...t("colors"),none:"none"}),grayscale:{DEFAULT:"100%",0:"0"},hueRotate:{0:"0deg",15:"15deg",30:"30deg",60:"60deg",90:"90deg",180:"180deg"},invert:{DEFAULT:"100%",0:"0"},flex:{1:"1 1 0%",auto:"1 1 auto",initial:"0 1 auto",none:"none"},flexBasis:({theme:t})=>({...t("spacing"),...hw(2,6),...hw(12,12),auto:"auto",full:"100%"}),flexGrow:{DEFAULT:1,0:0},flexShrink:{DEFAULT:1,0:0},fontFamily:{sans:'ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"'.split(","),serif:'ui-serif,Georgia,Cambria,"Times New Roman",Times,serif'.split(","),mono:'ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace'.split(",")},fontSize:{xs:["0.75rem","1rem"],sm:["0.875rem","1.25rem"],base:["1rem","1.5rem"],lg:["1.125rem","1.75rem"],xl:["1.25rem","1.75rem"],"2xl":["1.5rem","2rem"],"3xl":["1.875rem","2.25rem"],"4xl":["2.25rem","2.5rem"],"5xl":["3rem","1"],"6xl":["3.75rem","1"],"7xl":["4.5rem","1"],"8xl":["6rem","1"],"9xl":["8rem","1"]},fontWeight:{thin:"100",extralight:"200",light:"300",normal:"400",medium:"500",semibold:"600",bold:"700",extrabold:"800",black:"900"},gap:mr("spacing"),gradientColorStops:mr("colors"),gridAutoColumns:{auto:"auto",min:"min-content",max:"max-content",fr:"minmax(0,1fr)"},gridAutoRows:{auto:"auto",min:"min-content",max:"max-content",fr:"minmax(0,1fr)"},gridColumn:{auto:"auto","span-full":"1 / -1"},gridRow:{auto:"auto","span-full":"1 / -1"},gridTemplateColumns:{none:"none"},gridTemplateRows:{none:"none"},height:({theme:t})=>({...t("spacing"),...hw(2,6),min:"min-content",max:"max-content",fit:"fit-content",auto:"auto",full:"100%",screen:"100vh"}),inset:({theme:t})=>({...t("spacing"),...hw(2,4),auto:"auto",full:"100%"}),keyframes:{spin:{from:{transform:"rotate(0deg)"},to:{transform:"rotate(360deg)"}},ping:{"0%":{transform:"scale(1)",opacity:"1"},"75%,100%":{transform:"scale(2)",opacity:"0"}},pulse:{"0%,100%":{opacity:"1"},"50%":{opacity:".5"}},bounce:{"0%, 100%":{transform:"translateY(-25%)",animationTimingFunction:"cubic-bezier(0.8,0,1,1)"},"50%":{transform:"none",animationTimingFunction:"cubic-bezier(0,0,0.2,1)"}}},letterSpacing:{tighter:"-0.05em",tight:"-0.025em",normal:"0em",wide:"0.025em",wider:"0.05em",widest:"0.1em"},lineHeight:{...Yi(10,"rem",4,3),none:"1",tight:"1.25",snug:"1.375",normal:"1.5",relaxed:"1.625",loose:"2"},margin:({theme:t})=>({auto:"auto",...t("spacing")}),maxHeight:({theme:t})=>({full:"100%",min:"min-content",max:"max-content",fit:"fit-content",screen:"100vh",...t("spacing")}),maxWidth:({theme:t,breakpoints:e})=>({...e(t("screens")),none:"none",0:"0rem",xs:"20rem",sm:"24rem",md:"28rem",lg:"32rem",xl:"36rem","2xl":"42rem","3xl":"48rem","4xl":"56rem","5xl":"64rem","6xl":"72rem","7xl":"80rem",full:"100%",min:"min-content",max:"max-content",fit:"fit-content",prose:"65ch"}),minHeight:{0:"0px",full:"100%",min:"min-content",max:"max-content",fit:"fit-content",screen:"100vh"},minWidth:{0:"0px",full:"100%",min:"min-content",max:"max-content",fit:"fit-content"},opacity:{...Yi(100,"",100,0,10),5:"0.05",25:"0.25",75:"0.75",95:"0.95"},order:{first:"-9999",last:"9999",none:"0"},padding:mr("spacing"),placeholderColor:mr("colors"),placeholderOpacity:mr("opacity"),outlineColor:mr("colors"),outlineOffset:Rl(8,"px"),outlineWidth:Rl(8,"px"),ringColor:({theme:t})=>({...t("colors"),DEFAULT:"#3b82f6"}),ringOffsetColor:mr("colors"),ringOffsetWidth:Rl(8,"px"),ringOpacity:({theme:t})=>({...t("opacity"),DEFAULT:"0.5"}),ringWidth:{DEFAULT:"3px",...Rl(8,"px")},rotate:{...Rl(2,"deg"),...Rl(12,"deg",3),...Rl(180,"deg",45)},saturate:Yi(200,"",100,0,50),scale:{...Yi(150,"",100,0,50),...Yi(110,"",100,90,5),75:"0.75",125:"1.25"},scrollMargin:mr("spacing"),scrollPadding:mr("spacing"),sepia:{0:"0",DEFAULT:"100%"},skew:{...Rl(2,"deg"),...Rl(12,"deg",3)},space:mr("spacing"),stroke:({theme:t})=>({...t("colors"),none:"none"}),strokeWidth:Yi(2),textColor:mr("colors"),textDecorationColor:mr("colors"),textDecorationThickness:{"from-font":"from-font",auto:"auto",...Rl(8,"px")},textUnderlineOffset:{auto:"auto",...Rl(8,"px")},textIndent:mr("spacing"),textOpacity:mr("opacity"),transitionDuration:({theme:t})=>({...t("durations"),DEFAULT:"150ms"}),transitionDelay:mr("durations"),transitionProperty:{none:"none",all:"all",DEFAULT:"color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter",colors:"color,background-color,border-color,text-decoration-color,fill,stroke",opacity:"opacity",shadow:"box-shadow",transform:"transform"},transitionTimingFunction:{DEFAULT:"cubic-bezier(0.4,0,0.2,1)",linear:"linear",in:"cubic-bezier(0.4,0,1,1)",out:"cubic-bezier(0,0,0.2,1)","in-out":"cubic-bezier(0.4,0,0.2,1)"},translate:({theme:t})=>({...t("spacing"),...hw(2,4),full:"100%"}),width:({theme:t})=>({min:"min-content",max:"max-content",fit:"fit-content",screen:"100vw",...t("flexBasis")}),willChange:{scroll:"scroll-position"},zIndex:{...Yi(50,"",1,0,10),auto:"auto"}};function hw(t,e){let n={};do for(var r=1;r<t;r++)n[`${r}/${t}`]=Number((r/t*100).toFixed(6))+"%";while(++t<=e);return n}function Rl(t,e,n=0){let r={};for(;n<=t;n=2*n||1)r[n]=n+e;return r}function Yi(t,e="",n=1,r=0,o=1,s={}){for(;r<=t;r+=o)s[r]=r/n+e;return s}function mr(t){return({theme:e})=>e(t)}let vRe={"*,::before,::after":{boxSizing:"border-box",borderWidth:"0",borderStyle:"solid",borderColor:"theme(borderColor.DEFAULT, currentColor)"},"::before,::after":{"--tw-content":"''"},html:{lineHeight:1.5,WebkitTextSizeAdjust:"100%",MozTabSize:"4",tabSize:4,fontFamily:`theme(fontFamily.sans, ${g8.fontFamily.sans})`,fontFeatureSettings:"theme(fontFamily.sans[1].fontFeatureSettings, normal)"},body:{margin:"0",lineHeight:"inherit"},hr:{height:"0",color:"inherit",borderTopWidth:"1px"},"abbr:where([title])":{textDecoration:"underline dotted"},"h1,h2,h3,h4,h5,h6":{fontSize:"inherit",fontWeight:"inherit"},a:{color:"inherit",textDecoration:"inherit"},"b,strong":{fontWeight:"bolder"},"code,kbd,samp,pre":{fontFamily:`theme(fontFamily.mono, ${g8.fontFamily.mono})`,fontFeatureSettings:"theme(fontFamily.mono[1].fontFeatureSettings, normal)",fontSize:"1em"},small:{fontSize:"80%"},"sub,sup":{fontSize:"75%",lineHeight:0,position:"relative",verticalAlign:"baseline"},sub:{bottom:"-0.25em"},sup:{top:"-0.5em"},table:{textIndent:"0",borderColor:"inherit",borderCollapse:"collapse"},"button,input,optgroup,select,textarea":{fontFamily:"inherit",fontSize:"100%",lineHeight:"inherit",color:"inherit",margin:"0",padding:"0"},"button,select":{textTransform:"none"},"button,[type='button'],[type='reset'],[type='submit']":{WebkitAppearance:"button",backgroundColor:"transparent",backgroundImage:"none"},":-moz-focusring":{outline:"auto"},":-moz-ui-invalid":{boxShadow:"none"},progress:{verticalAlign:"baseline"},"::-webkit-inner-spin-button,::-webkit-outer-spin-button":{height:"auto"},"[type='search']":{WebkitAppearance:"textfield",outlineOffset:"-2px"},"::-webkit-search-decoration":{WebkitAppearance:"none"},"::-webkit-file-upload-button":{WebkitAppearance:"button",font:"inherit"},summary:{display:"list-item"},"blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre":{margin:"0"},fieldset:{margin:"0",padding:"0"},legend:{padding:"0"},"ol,ul,menu":{listStyle:"none",margin:"0",padding:"0"},textarea:{resize:"vertical"},"input::placeholder,textarea::placeholder":{opacity:1,color:"theme(colors.gray.400, #9ca3af)"},'button,[role="button"]':{cursor:"pointer"},":disabled":{cursor:"default"},"img,svg,video,canvas,audio,iframe,embed,object":{display:"block",verticalAlign:"middle"},"img,video":{maxWidth:"100%",height:"auto"},"[hidden]":{display:"none"}},wRe=[Yt("\\[([-\\w]+):(.+)]",({1:t,2:e},n)=>({"@layer overrides":{"&":{[t]:Lp(`[${e}]`,"",n)}}})),Yt("(group|peer)([~/][^-[]+)?",({input:t},{h:e})=>[{c:e(t)}]),Gt("aspect-","aspectRatio"),Yt("container",(t,{theme:e})=>{let{screens:n=e("screens"),center:r,padding:o}=e("container"),s={width:"100%",marginRight:r&&"auto",marginLeft:r&&"auto",...a("xs")};for(let i in n){let l=n[i];typeof l=="string"&&(s[zD(l)]={"&":{maxWidth:l,...a(i)}})}return s;function a(i){let l=o&&(typeof o=="string"?o:o[i]||o.DEFAULT);if(l)return{paddingRight:l,paddingLeft:l}}}),Gt("content-","content",({_:t})=>({"--tw-content":t,content:"var(--tw-content)"})),Yt("(?:box-)?decoration-(slice|clone)","boxDecorationBreak"),Yt("box-(border|content)","boxSizing",({1:t})=>t+"-box"),Yt("hidden",{display:"none"}),Yt("table-(auto|fixed)","tableLayout"),Yt(["(block|flex|table|grid|inline|contents|flow-root|list-item)","(inline-(block|flex|table|grid))","(table-(caption|cell|column|row|(column|row|footer|header)-group))"],"display"),"(float)-(left|right|none)","(clear)-(left|right|none|both)","(overflow(?:-[xy])?)-(auto|hidden|clip|visible|scroll)","(isolation)-(auto)",Yt("isolate","isolation"),Yt("object-(contain|cover|fill|none|scale-down)","objectFit"),Gt("object-","objectPosition"),Yt("object-(top|bottom|center|(left|right)(-(top|bottom))?)","objectPosition",d6),Yt("overscroll(-[xy])?-(auto|contain|none)",({1:t="",2:e})=>({["overscroll-behavior"+t]:e})),Yt("(static|fixed|absolute|relative|sticky)","position"),Gt("-?inset(-[xy])?(?:$|-)","inset",({1:t,_:e})=>({top:t!="-x"&&e,right:t!="-y"&&e,bottom:t!="-x"&&e,left:t!="-y"&&e})),Gt("-?(top|bottom|left|right)(?:$|-)","inset"),Yt("(visible|collapse)","visibility"),Yt("invisible",{visibility:"hidden"}),Gt("-?z-","zIndex"),Yt("flex-((row|col)(-reverse)?)","flexDirection",T$),Yt("flex-(wrap|wrap-reverse|nowrap)","flexWrap"),Gt("(flex-(?:grow|shrink))(?:$|-)"),Gt("(flex)-"),Gt("grow(?:$|-)","flexGrow"),Gt("shrink(?:$|-)","flexShrink"),Gt("basis-","flexBasis"),Gt("-?(order)-"),"-?(order)-(\\d+)",Gt("grid-cols-","gridTemplateColumns"),Yt("grid-cols-(\\d+)","gridTemplateColumns",O$),Gt("col-","gridColumn"),Yt("col-(span)-(\\d+)","gridColumn",P$),Gt("col-start-","gridColumnStart"),Yt("col-start-(auto|\\d+)","gridColumnStart"),Gt("col-end-","gridColumnEnd"),Yt("col-end-(auto|\\d+)","gridColumnEnd"),Gt("grid-rows-","gridTemplateRows"),Yt("grid-rows-(\\d+)","gridTemplateRows",O$),Gt("row-","gridRow"),Yt("row-(span)-(\\d+)","gridRow",P$),Gt("row-start-","gridRowStart"),Yt("row-start-(auto|\\d+)","gridRowStart"),Gt("row-end-","gridRowEnd"),Yt("row-end-(auto|\\d+)","gridRowEnd"),Yt("grid-flow-((row|col)(-dense)?)","gridAutoFlow",t=>d6(T$(t))),Yt("grid-flow-(dense)","gridAutoFlow"),Gt("auto-cols-","gridAutoColumns"),Gt("auto-rows-","gridAutoRows"),Gt("gap-x(?:$|-)","gap","columnGap"),Gt("gap-y(?:$|-)","gap","rowGap"),Gt("gap(?:$|-)","gap"),"(justify-(?:items|self))-",Yt("justify-","justifyContent",D$),Yt("(content|items|self)-",t=>({["align-"+t[1]]:D$(t)})),Yt("(place-(content|items|self))-",({1:t,$$:e})=>({[t]:("wun".includes(e[3])?"space-":"")+e})),Gt("p([xytrbl])?(?:$|-)","padding",$1("padding")),Gt("-?m([xytrbl])?(?:$|-)","margin",$1("margin")),Gt("-?space-(x|y)(?:$|-)","space",({1:t,_:e})=>({"&>:not([hidden])~:not([hidden])":{[`--tw-space-${t}-reverse`]:"0",["margin-"+{y:"top",x:"left"}[t]]:`calc(${e} * calc(1 - var(--tw-space-${t}-reverse)))`,["margin-"+{y:"bottom",x:"right"}[t]]:`calc(${e} * var(--tw-space-${t}-reverse))`}})),Yt("space-(x|y)-reverse",({1:t})=>({"&>:not([hidden])~:not([hidden])":{[`--tw-space-${t}-reverse`]:"1"}})),Gt("w-","width"),Gt("min-w-","minWidth"),Gt("max-w-","maxWidth"),Gt("h-","height"),Gt("min-h-","minHeight"),Gt("max-h-","maxHeight"),Gt("font-","fontWeight"),Gt("font-","fontFamily",({_:t})=>typeof(t=ro(t))[1]=="string"?{fontFamily:Nc(t)}:{fontFamily:Nc(t[0]),...t[1]}),Yt("antialiased",{WebkitFontSmoothing:"antialiased",MozOsxFontSmoothing:"grayscale"}),Yt("subpixel-antialiased",{WebkitFontSmoothing:"auto",MozOsxFontSmoothing:"auto"}),Yt("italic","fontStyle"),Yt("not-italic",{fontStyle:"normal"}),Yt("(ordinal|slashed-zero|(normal|lining|oldstyle|proportional|tabular)-nums|(diagonal|stacked)-fractions)",({1:t,2:e="",3:n})=>e=="normal"?{fontVariantNumeric:"normal"}:{["--tw-"+(n?"numeric-fraction":"pt".includes(e[0])?"numeric-spacing":e?"numeric-figure":t)]:t,fontVariantNumeric:"var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)",...jp({"--tw-ordinal":"var(--tw-empty,/*!*/ /*!*/)","--tw-slashed-zero":"var(--tw-empty,/*!*/ /*!*/)","--tw-numeric-figure":"var(--tw-empty,/*!*/ /*!*/)","--tw-numeric-spacing":"var(--tw-empty,/*!*/ /*!*/)","--tw-numeric-fraction":"var(--tw-empty,/*!*/ /*!*/)"})}),Gt("tracking-","letterSpacing"),Gt("leading-","lineHeight"),Yt("list-(inside|outside)","listStylePosition"),Gt("list-","listStyleType"),Yt("list-","listStyleType"),Gt("placeholder-opacity-","placeholderOpacity",({_:t})=>({"&::placeholder":{"--tw-placeholder-opacity":t}})),js("placeholder-",{property:"color",selector:"&::placeholder"}),Yt("text-(left|center|right|justify|start|end)","textAlign"),Yt("text-(ellipsis|clip)","textOverflow"),Gt("text-opacity-","textOpacity","--tw-text-opacity"),js("text-",{property:"color"}),Gt("text-","fontSize",({_:t})=>typeof t=="string"?{fontSize:t}:{fontSize:t[0],...typeof t[1]=="string"?{lineHeight:t[1]}:t[1]}),Gt("indent-","textIndent"),Yt("(overline|underline|line-through)","textDecorationLine"),Yt("no-underline",{textDecorationLine:"none"}),Gt("underline-offset-","textUnderlineOffset"),js("decoration-",{section:"textDecorationColor",opacityVariable:!1,opacitySection:"opacity"}),Gt("decoration-","textDecorationThickness"),Yt("decoration-","textDecorationStyle"),Yt("(uppercase|lowercase|capitalize)","textTransform"),Yt("normal-case",{textTransform:"none"}),Yt("truncate",{overflow:"hidden",whiteSpace:"nowrap",textOverflow:"ellipsis"}),Yt("align-","verticalAlign"),Yt("whitespace-","whiteSpace"),Yt("break-normal",{wordBreak:"normal",overflowWrap:"normal"}),Yt("break-words",{overflowWrap:"break-word"}),Yt("break-all",{wordBreak:"break-all"}),Yt("break-keep",{wordBreak:"keep-all"}),js("caret-",{opacityVariable:!1,opacitySection:"opacity"}),js("accent-",{opacityVariable:!1,opacitySection:"opacity"}),Yt("bg-gradient-to-([trbl]|[tb][rl])","backgroundImage",({1:t})=>`linear-gradient(to ${jm(t," ")},var(--tw-gradient-stops))`),js("from-",{section:"gradientColorStops",opacityVariable:!1,opacitySection:"opacity"},({_:t})=>({"--tw-gradient-from":t.value,"--tw-gradient-to":t.color({opacityValue:"0"}),"--tw-gradient-stops":"var(--tw-gradient-from),var(--tw-gradient-to)"})),js("via-",{section:"gradientColorStops",opacityVariable:!1,opacitySection:"opacity"},({_:t})=>({"--tw-gradient-to":t.color({opacityValue:"0"}),"--tw-gradient-stops":`var(--tw-gradient-from),${t.value},var(--tw-gradient-to)`})),js("to-",{section:"gradientColorStops",property:"--tw-gradient-to",opacityVariable:!1,opacitySection:"opacity"}),Yt("bg-(fixed|local|scroll)","backgroundAttachment"),Yt("bg-origin-(border|padding|content)","backgroundOrigin",({1:t})=>t+"-box"),Yt(["bg-(no-repeat|repeat(-[xy])?)","bg-repeat-(round|space)"],"backgroundRepeat"),Yt("bg-blend-","backgroundBlendMode"),Yt("bg-clip-(border|padding|content|text)","backgroundClip",({1:t})=>t+(t=="text"?"":"-box")),Gt("bg-opacity-","backgroundOpacity","--tw-bg-opacity"),js("bg-",{section:"backgroundColor"}),Gt("bg-","backgroundImage"),Gt("bg-","backgroundPosition"),Yt("bg-(top|bottom|center|(left|right)(-(top|bottom))?)","backgroundPosition",d6),Gt("bg-","backgroundSize"),Gt("rounded(?:$|-)","borderRadius"),Gt("rounded-([trbl]|[tb][rl])(?:$|-)","borderRadius",({1:t,_:e})=>{let n={t:["tl","tr"],r:["tr","br"],b:["bl","br"],l:["bl","tl"]}[t]||[t,t];return{[`border-${jm(n[0])}-radius`]:e,[`border-${jm(n[1])}-radius`]:e}}),Yt("border-(collapse|separate)","borderCollapse"),Gt("border-opacity(?:$|-)","borderOpacity","--tw-border-opacity"),Yt("border-(solid|dashed|dotted|double|none)","borderStyle"),Gt("border-spacing(-[xy])?(?:$|-)","borderSpacing",({1:t,_:e})=>({...jp({"--tw-border-spacing-x":"0","--tw-border-spacing-y":"0"}),["--tw-border-spacing"+(t||"-x")]:e,["--tw-border-spacing"+(t||"-y")]:e,"border-spacing":"var(--tw-border-spacing-x) var(--tw-border-spacing-y)"})),js("border-([xytrbl])-",{section:"borderColor"},$1("border","Color")),js("border-"),Gt("border-([xytrbl])(?:$|-)","borderWidth",$1("border","Width")),Gt("border(?:$|-)","borderWidth"),Gt("divide-opacity(?:$|-)","divideOpacity",({_:t})=>({"&>:not([hidden])~:not([hidden])":{"--tw-divide-opacity":t}})),Yt("divide-(solid|dashed|dotted|double|none)",({1:t})=>({"&>:not([hidden])~:not([hidden])":{borderStyle:t}})),Yt("divide-([xy]-reverse)",({1:t})=>({"&>:not([hidden])~:not([hidden])":{["--tw-divide-"+t]:"1"}})),Gt("divide-([xy])(?:$|-)","divideWidth",({1:t,_:e})=>{let n={x:"lr",y:"tb"}[t];return{"&>:not([hidden])~:not([hidden])":{[`--tw-divide-${t}-reverse`]:"0",[`border-${jm(n[0])}Width`]:`calc(${e} * calc(1 - var(--tw-divide-${t}-reverse)))`,[`border-${jm(n[1])}Width`]:`calc(${e} * var(--tw-divide-${t}-reverse))`}}}),js("divide-",{property:"borderColor",selector:"&>:not([hidden])~:not([hidden])"}),Gt("ring-opacity(?:$|-)","ringOpacity","--tw-ring-opacity"),js("ring-offset-",{property:"--tw-ring-offset-color",opacityVariable:!1}),Gt("ring-offset(?:$|-)","ringOffsetWidth","--tw-ring-offset-width"),Yt("ring-inset",{"--tw-ring-inset":"inset"}),js("ring-",{property:"--tw-ring-color"}),Gt("ring(?:$|-)","ringWidth",({_:t},{theme:e})=>({...jp({"--tw-ring-offset-shadow":"0 0 #0000","--tw-ring-shadow":"0 0 #0000","--tw-shadow":"0 0 #0000","--tw-shadow-colored":"0 0 #0000","&":{"--tw-ring-inset":"var(--tw-empty,/*!*/ /*!*/)","--tw-ring-offset-width":e("ringOffsetWidth","","0px"),"--tw-ring-offset-color":Dp(e("ringOffsetColor","","#fff")),"--tw-ring-color":Dp(e("ringColor","","#93c5fd"),{opacityVariable:"--tw-ring-opacity"}),"--tw-ring-opacity":e("ringOpacity","","0.5")}}),"--tw-ring-offset-shadow":"var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)","--tw-ring-shadow":`var(--tw-ring-inset) 0 0 0 calc(${t} + var(--tw-ring-offset-width)) var(--tw-ring-color)`,boxShadow:"var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)"})),js("shadow-",{section:"boxShadowColor",opacityVariable:!1,opacitySection:"opacity"},({_:t})=>({"--tw-shadow-color":t.value,"--tw-shadow":"var(--tw-shadow-colored)"})),Gt("shadow(?:$|-)","boxShadow",({_:t})=>({...jp({"--tw-ring-offset-shadow":"0 0 #0000","--tw-ring-shadow":"0 0 #0000","--tw-shadow":"0 0 #0000","--tw-shadow-colored":"0 0 #0000"}),"--tw-shadow":Nc(t),"--tw-shadow-colored":Nc(t).replace(/([^,]\s+)(?:#[a-f\d]+|(?:(?:hsl|rgb)a?|hwb|lab|lch|color|var)\(.+?\)|[a-z]+)(,|$)/g,"$1var(--tw-shadow-color)$2"),boxShadow:"var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)"})),Gt("(opacity)-"),Yt("mix-blend-","mixBlendMode"),...L$(),...L$("backdrop-"),Gt("transition(?:$|-)","transitionProperty",(t,{theme:e})=>({transitionProperty:Nc(t),transitionTimingFunction:t._=="none"?void 0:Nc(e("transitionTimingFunction","")),transitionDuration:t._=="none"?void 0:Nc(e("transitionDuration",""))})),Gt("duration(?:$|-)","transitionDuration","transitionDuration",Nc),Gt("ease(?:$|-)","transitionTimingFunction","transitionTimingFunction",Nc),Gt("delay(?:$|-)","transitionDelay","transitionDelay",Nc),Gt("animate(?:$|-)","animation",(t,{theme:e,h:n,e:r})=>{let o=Nc(t),s=o.split(" "),a=e("keyframes",s[0]);return a?{["@keyframes "+(s[0]=r(n(s[0])))]:a,animation:s.join(" ")}:{animation:o}}),"(transform)-(none)",Yt("transform",y8),Yt("transform-(cpu|gpu)",({1:t})=>({"--tw-transform":Woe(t=="gpu")})),Gt("scale(-[xy])?-","scale",({1:t,_:e})=>({["--tw-scale"+(t||"-x")]:e,["--tw-scale"+(t||"-y")]:e,...y8()})),Gt("-?(rotate)-","rotate",b9),Gt("-?(translate-[xy])-","translate",b9),Gt("-?(skew-[xy])-","skew",b9),Yt("origin-(center|((top|bottom)(-(left|right))?)|left|right)","transformOrigin",d6),"(appearance)-",Gt("(columns)-"),"(columns)-(\\d+)","(break-(?:before|after|inside))-",Gt("(cursor)-"),"(cursor)-",Yt("snap-(none)","scroll-snap-type"),Yt("snap-(x|y|both)",({1:t})=>({...jp({"--tw-scroll-snap-strictness":"proximity"}),"scroll-snap-type":t+" var(--tw-scroll-snap-strictness)"})),Yt("snap-(mandatory|proximity)","--tw-scroll-snap-strictness"),Yt("snap-(?:(start|end|center)|align-(none))","scroll-snap-align"),Yt("snap-(normal|always)","scroll-snap-stop"),Yt("scroll-(auto|smooth)","scroll-behavior"),Gt("scroll-p([xytrbl])?(?:$|-)","padding",$1("scroll-padding")),Gt("-?scroll-m([xytrbl])?(?:$|-)","scroll-margin",$1("scroll-margin")),Yt("touch-(auto|none|manipulation)","touch-action"),Yt("touch-(pinch-zoom|pan-(?:(x|left|right)|(y|up|down)))",({1:t,2:e,3:n})=>({...jp({"--tw-pan-x":"var(--tw-empty,/*!*/ /*!*/)","--tw-pan-y":"var(--tw-empty,/*!*/ /*!*/)","--tw-pinch-zoom":"var(--tw-empty,/*!*/ /*!*/)","--tw-touch-action":"var(--tw-pan-x) var(--tw-pan-y) var(--tw-pinch-zoom)"}),[`--tw-${e?"pan-x":n?"pan-y":t}`]:t,"touch-action":"var(--tw-touch-action)"})),Yt("outline-none",{outline:"2px solid transparent","outline-offset":"2px"}),Yt("outline",{outlineStyle:"solid"}),Yt("outline-(dashed|dotted|double)","outlineStyle"),Gt("-?(outline-offset)-"),js("outline-",{opacityVariable:!1,opacitySection:"opacity"}),Gt("outline-","outlineWidth"),"(pointer-events)-",Gt("(will-change)-"),"(will-change)-",["resize(?:-(none|x|y))?","resize",({1:t})=>({x:"horizontal",y:"vertical"})[t]||t||"both"],Yt("select-(none|text|all|auto)","userSelect"),js("fill-",{section:"fill",opacityVariable:!1,opacitySection:"opacity"}),js("stroke-",{section:"stroke",opacityVariable:!1,opacitySection:"opacity"}),Gt("stroke-","strokeWidth"),Yt("sr-only",{position:"absolute",width:"1px",height:"1px",padding:"0",margin:"-1px",overflow:"hidden",whiteSpace:"nowrap",clip:"rect(0,0,0,0)",borderWidth:"0"}),Yt("not-sr-only",{position:"static",width:"auto",height:"auto",padding:"0",margin:"0",overflow:"visible",whiteSpace:"normal",clip:"auto"})];function d6(t){return(typeof t=="string"?t:t[1]).replace(/-/g," ").trim()}function T$(t){return(typeof t=="string"?t:t[1]).replace("col","column")}function jm(t,e="-"){let n=[];for(let r of t)n.push({t:"top",r:"right",b:"bottom",l:"left"}[r]);return n.join(e)}function Nc(t){return t&&""+(t._||t)}function D$({$$:t}){return({r:"flex-","":"flex-",w:"space-",u:"space-",n:"space-"}[t[3]||""]||"")+t}function $1(t,e=""){return({1:n,_:r})=>{let o={x:"lr",y:"tb"}[n]||n+n;return o?{...F3(t+"-"+jm(o[0])+e,r),...F3(t+"-"+jm(o[1])+e,r)}:F3(t+e,r)}}function L$(t=""){let e=["blur","brightness","contrast","grayscale","hue-rotate","invert",t&&"opacity","saturate","sepia",!t&&"drop-shadow"].filter(Boolean),n={};for(let r of e)n[`--tw-${t}${r}`]="var(--tw-empty,/*!*/ /*!*/)";return n={...jp(n),[`${t}filter`]:e.map(r=>`var(--tw-${t}${r})`).join(" ")},[`(${t}filter)-(none)`,Yt(`${t}filter`,n),...e.map(r=>Gt(`${r[0]=="h"?"-?":""}(${t}${r})(?:$|-)`,r,({1:o,_:s})=>({[`--tw-${o}`]:ro(s).map(a=>`${r}(${a})`).join(" "),...n})))]}function b9({1:t,_:e}){return{["--tw-"+t]:e,...y8()}}function y8(){return{...jp({"--tw-translate-x":"0","--tw-translate-y":"0","--tw-rotate":"0","--tw-skew-x":"0","--tw-skew-y":"0","--tw-scale-x":"1","--tw-scale-y":"1","--tw-transform":Woe()}),transform:"var(--tw-transform)"}}function Woe(t){return[t?"translate3d(var(--tw-translate-x),var(--tw-translate-y),0)":"translateX(var(--tw-translate-x)) translateY(var(--tw-translate-y))","rotate(var(--tw-rotate))","skewX(var(--tw-skew-x))","skewY(var(--tw-skew-y))","scaleX(var(--tw-scale-x))","scaleY(var(--tw-scale-y))"].join(" ")}function P$({1:t,2:e}){return`${t} ${e} / ${t} ${e}`}function O$({1:t}){return`repeat(${t},minmax(0,1fr))`}function jp(t){return{"@layer defaults":{"*,::before,::after":t,"::backdrop":t}}}let bRe=[["sticky","@supports ((position: -webkit-sticky) or (position:sticky))"],["motion-reduce","@media (prefers-reduced-motion:reduce)"],["motion-safe","@media (prefers-reduced-motion:no-preference)"],["print","@media print"],["(portrait|landscape)",({1:t})=>`@media (orientation:${t})`],["contrast-(more|less)",({1:t})=>`@media (prefers-contrast:${t})`],["(first-(letter|line)|placeholder|backdrop|before|after)",({1:t})=>`&::${t}`],["(marker|selection)",({1:t})=>`& *::${t},&::${t}`],["file","&::file-selector-button"],["(first|last|only)",({1:t})=>`&:${t}-child`],["even","&:nth-child(2n)"],["odd","&:nth-child(odd)"],["open","&[open]"],["(aria|data)-",({1:t,$$:e},n)=>e&&`&[${t}-${n.theme(t,e)||Lp(e,"",n)||`${e}="true"`}]`],["((group|peer)(~[^-[]+)?)(-\\[(.+)]|[-[].+?)(\\/.+)?",({2:t,3:e="",4:n,5:r="",6:o=e},{e:s,h:a,v:i})=>{let l=e2(r)||(n[0]=="["?n:i(n.slice(1)));return`${(l.includes("&")?l:"&"+l).replace(/&/g,`:merge(.${s(a(t+o))})`)}${t[0]=="p"?"~":" "}&`}],["(ltr|rtl)",({1:t})=>`[dir="${t}"] &`],["supports-",({$$:t},e)=>{if(t&&(t=e.theme("supports",t)||Lp(t,"",e)),t)return t.includes(":")||(t+=":var(--tw)"),/^\w*\s*\(/.test(t)||(t=`(${t})`),`@supports ${t.replace(/\b(and|or|not)\b/g," $1 ").trim()}`}],["max-",({$$:t},e)=>{if(t&&(t=e.theme("screens",t)||Lp(t,"",e)),typeof t=="string")return`@media not all and (min-width:${t})`}],["min-",({$$:t},e)=>(t&&(t=Lp(t,"",e)),t&&`@media (min-width:${t})`)],[/^\[(.+)]$/,({1:t})=>/[&@]/.test(t)&&e2(t).replace(/[}]+$/,"").split("{")]],xRe={__proto__:null,slate:{50:"#f8fafc",100:"#f1f5f9",200:"#e2e8f0",300:"#cbd5e1",400:"#94a3b8",500:"#64748b",600:"#475569",700:"#334155",800:"#1e293b",900:"#0f172a"},gray:{50:"#f9fafb",100:"#f3f4f6",200:"#e5e7eb",300:"#d1d5db",400:"#9ca3af",500:"#6b7280",600:"#4b5563",700:"#374151",800:"#1f2937",900:"#111827"},zinc:{50:"#fafafa",100:"#f4f4f5",200:"#e4e4e7",300:"#d4d4d8",400:"#a1a1aa",500:"#71717a",600:"#52525b",700:"#3f3f46",800:"#27272a",900:"#18181b"},neutral:{50:"#fafafa",100:"#f5f5f5",200:"#e5e5e5",300:"#d4d4d4",400:"#a3a3a3",500:"#737373",600:"#525252",700:"#404040",800:"#262626",900:"#171717"},stone:{50:"#fafaf9",100:"#f5f5f4",200:"#e7e5e4",300:"#d6d3d1",400:"#a8a29e",500:"#78716c",600:"#57534e",700:"#44403c",800:"#292524",900:"#1c1917"},red:{50:"#fef2f2",100:"#fee2e2",200:"#fecaca",300:"#fca5a5",400:"#f87171",500:"#ef4444",600:"#dc2626",700:"#b91c1c",800:"#991b1b",900:"#7f1d1d"},orange:{50:"#fff7ed",100:"#ffedd5",200:"#fed7aa",300:"#fdba74",400:"#fb923c",500:"#f97316",600:"#ea580c",700:"#c2410c",800:"#9a3412",900:"#7c2d12"},amber:{50:"#fffbeb",100:"#fef3c7",200:"#fde68a",300:"#fcd34d",400:"#fbbf24",500:"#f59e0b",600:"#d97706",700:"#b45309",800:"#92400e",900:"#78350f"},yellow:{50:"#fefce8",100:"#fef9c3",200:"#fef08a",300:"#fde047",400:"#facc15",500:"#eab308",600:"#ca8a04",700:"#a16207",800:"#854d0e",900:"#713f12"},lime:{50:"#f7fee7",100:"#ecfccb",200:"#d9f99d",300:"#bef264",400:"#a3e635",500:"#84cc16",600:"#65a30d",700:"#4d7c0f",800:"#3f6212",900:"#365314"},green:{50:"#f0fdf4",100:"#dcfce7",200:"#bbf7d0",300:"#86efac",400:"#4ade80",500:"#22c55e",600:"#16a34a",700:"#15803d",800:"#166534",900:"#14532d"},emerald:{50:"#ecfdf5",100:"#d1fae5",200:"#a7f3d0",300:"#6ee7b7",400:"#34d399",500:"#10b981",600:"#059669",700:"#047857",800:"#065f46",900:"#064e3b"},teal:{50:"#f0fdfa",100:"#ccfbf1",200:"#99f6e4",300:"#5eead4",400:"#2dd4bf",500:"#14b8a6",600:"#0d9488",700:"#0f766e",800:"#115e59",900:"#134e4a"},cyan:{50:"#ecfeff",100:"#cffafe",200:"#a5f3fc",300:"#67e8f9",400:"#22d3ee",500:"#06b6d4",600:"#0891b2",700:"#0e7490",800:"#155e75",900:"#164e63"},sky:{50:"#f0f9ff",100:"#e0f2fe",200:"#bae6fd",300:"#7dd3fc",400:"#38bdf8",500:"#0ea5e9",600:"#0284c7",700:"#0369a1",800:"#075985",900:"#0c4a6e"},blue:{50:"#eff6ff",100:"#dbeafe",200:"#bfdbfe",300:"#93c5fd",400:"#60a5fa",500:"#3b82f6",600:"#2563eb",700:"#1d4ed8",800:"#1e40af",900:"#1e3a8a"},indigo:{50:"#eef2ff",100:"#e0e7ff",200:"#c7d2fe",300:"#a5b4fc",400:"#818cf8",500:"#6366f1",600:"#4f46e5",700:"#4338ca",800:"#3730a3",900:"#312e81"},violet:{50:"#f5f3ff",100:"#ede9fe",200:"#ddd6fe",300:"#c4b5fd",400:"#a78bfa",500:"#8b5cf6",600:"#7c3aed",700:"#6d28d9",800:"#5b21b6",900:"#4c1d95"},purple:{50:"#faf5ff",100:"#f3e8ff",200:"#e9d5ff",300:"#d8b4fe",400:"#c084fc",500:"#a855f7",600:"#9333ea",700:"#7e22ce",800:"#6b21a8",900:"#581c87"},fuchsia:{50:"#fdf4ff",100:"#fae8ff",200:"#f5d0fe",300:"#f0abfc",400:"#e879f9",500:"#d946ef",600:"#c026d3",700:"#a21caf",800:"#86198f",900:"#701a75"},pink:{50:"#fdf2f8",100:"#fce7f3",200:"#fbcfe8",300:"#f9a8d4",400:"#f472b6",500:"#ec4899",600:"#db2777",700:"#be185d",800:"#9d174d",900:"#831843"},rose:{50:"#fff1f2",100:"#ffe4e6",200:"#fecdd3",300:"#fda4af",400:"#fb7185",500:"#f43f5e",600:"#e11d48",700:"#be123c",800:"#9f1239",900:"#881337"}};function kRe({disablePreflight:t}={}){return(function({colors:e,disablePreflight:n}={}){return{preflight:n?void 0:vRe,theme:{...g8,colors:{inherit:"inherit",current:"currentColor",transparent:"transparent",black:"#000",white:"#fff",...e}},variants:bRe,rules:wRe,finalize:r=>r.n&&r.d&&r.r.some(o=>/^&::(before|after)$/.test(o))&&!/(^|;)content:/.test(r.d)?{...r,d:"content:var(--tw-content);"+r.d}:r}})({colors:xRe,disablePreflight:t})}let jRe=typeof ShadowRoot<"u"&&(typeof ShadyCSS>"u"||ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype;function x9(t){return t.shadowRoot||t.attachShadow({mode:"open"})}const k9={"brand-light":"var(--bc-color-brand, #196CE7)","brand-dark":"var(--bc-color-brand-dark, var(--bc-color-brand, #3994FF))","brand-button-text-light":"var(--bc-color-brand-button-text)","brand-button-text-dark":"var(--bc-color-brand-button-text-dark, var(--bc-color-brand-button-text))","brand-mixed-light":"color-mix(in srgb, var(--bc-color-brand, #196CE7) var(--bc-brand-mix, 100%), black)","brand-mixed-dark":"color-mix(in srgb, var(--bc-color-brand-dark, var(--bc-color-brand, #3994FF)) var(--bc-brand-mix, 100%), white)","foreground-light":"#000","foreground-dark":"#fff","background-light":"#fff","background-dark":"#000","neutral-primary-light":"#262626","neutral-primary-dark":"#E4E4E4","neutral-secondary-light":"#525252","neutral-secondary-dark":"#A2A2A2","neutral-tertiary-light":"#A2A2A2","neutral-tertiary-dark":"#525252"},CRe={"glass-light":"linear-gradient(180deg, rgba(211, 211, 211, 0.20) 0%, rgba(255, 255, 255, 0.20) 50%);","glass-dark":"linear-gradient(180deg, rgba(211, 211, 211, 0.10) 0%, rgba(0, 0, 0, 0.20) 50%)"},Tr=()=>globalThis.window?(function(t,e=!0){let n=(function(){if(jRe)try{let l=w9(new CSSStyleSheet);return l.connect=u=>{let d=x9(u);d.adoptedStyleSheets=[...d.adoptedStyleSheets,l.target]},l.disconnect=u8,l}catch{}let s=document.createElement("style");s.media="not all",document.head.prepend(s);let a=[w9(s)],i=new WeakMap;return{get target(){return a[0].target},snapshot(){let l=a.map(u=>u.snapshot());return()=>l.forEach(u=>u())},clear(){a.forEach(l=>l.clear())},destroy(){a.forEach(l=>l.destroy())},insert(l,u,d){a[0].insert(l,u,d);let f=this.target.cssRules[u];a.forEach((m,g)=>g&&m.target.insertRule(f.cssText,u))},resume:(l,u)=>a[0].resume(l,u),connect(l){let u=document.createElement("style");x9(l).appendChild(u);let d=w9(u),{cssRules:f}=this.target;for(let m=0;m<f.length;m++)d.target.insertRule(f[m].cssText,m);a.push(d),i.set(l,d)},disconnect(l){let u=a.indexOf(i.get(l));u>=0&&a.splice(u,1)}}})(),r=(function(s,a){let i=M$(s),l=(function({theme:g,darkMode:w,darkColor:b=u8,variants:j,rules:S,hash:I,stringify:N,ignorelist:M,finalize:D}){let O=new Map,L=new Map,B=new Map,T=new Map,R=Hoe(M,(Q,W)=>W.test(Q));j.push(["dark",Array.isArray(w)||w=="class"?`${ro(w)[1]||".dark"} &`:typeof w=="string"&&w!="media"?w:"@media (prefers-color-scheme:dark)"]);let z=typeof I=="function"?Q=>I(Q,qk):I?qk:E$;z!==E$&&D.push(Q=>{var W;return{...Q,n:Q.n&&z(Q.n),d:(W=Q.d)==null?void 0:W.replace(/--(tw(?:-[\w-]+)?)\b/g,(F,X)=>"--"+z(X).replace("#",""))}});let Y={theme:(function({extend:Q={},...W}){let F={},X={get colors(){return $("colors")},theme:$,negative:()=>({}),breakpoints(K){let G={};for(let J in K)typeof K[J]=="string"&&(G["screen-"+J]=K[J]);return G}};return $;function $(K,G,J,ne){if(K){if({1:K,2:ne}=/^(\S+?)(?:\s*\/\s*([^/]+))?$/.exec(K)||[,K],/[.[]/.test(K)){let ve=[];K.replace(/\[([^\]]+)\]|([^.[]+)/g,(xe,ce,pe=ce)=>ve.push(pe)),K=ve.shift(),J=G,G=ve.join("-")}let de=F[K]||Object.assign(Object.assign(F[K]={},V(W,K)),V(Q,K));if(G==null)return de;G||(G="DEFAULT");let Ne=de[G]??G.split("-").reduce((ve,xe)=>ve==null?void 0:ve[xe],de)??J;return ne?Dp(Ne,{opacityValue:BD(ne,$)}):Ne}let re={};for(let de of[...Object.keys(W),...Object.keys(Q)])re[de]=$(de);return re}function V(K,G){let J=K[G];return typeof J=="function"&&(J=J(X)),J&&/color|fill|stroke/i.test(G)?(function ne(re,de=[]){let Ne={};for(let ve in re){let xe=re[ve],ce=[...de,ve];Ne[ce.join("-")]=xe,ve=="DEFAULT"&&(ce=de,Ne[de.join("-")]=xe),typeof xe=="object"&&Object.assign(Ne,ne(xe,ce))}return Ne})(J):J}})(g),e:Poe,h:z,s:(Q,W)=>N(Q,W,Y),d:(Q,W,F)=>b(Q,W,Y,F),v:Q=>(O.has(Q)||O.set(Q,R$(Q,j,L,mRe,Y)||"&:"+Q),O.get(Q)),r(Q,W){let F=JSON.stringify([Q,W]);return B.has(F)||B.set(F,!R(Q,Y)&&R$(Q,S,T,gRe,Y,W)),B.get(F)},f:Q=>D.reduce((W,F)=>F(W,Y),Q)};return Y})(i),u=new Map,d=[],f=new Set;function m(g){let w=l.f(g),b=d8(w);if(b&&!f.has(b)){f.add(b);let j=Foe(d,g);a.insert(b,j,g),d.splice(j,0,g)}return w.n}return a.resume(g=>u.set(g,g),(g,w)=>{a.insert(g,d.length,w),d.push(w),f.add(g)}),Object.defineProperties(function(g){if(!u.size)for(let b of ro(i.preflight))typeof b=="function"&&(b=b(l)),b&&(typeof b=="string"?UD("",Na.b,Zk(b),l,Na.b,[],!1,!0):Uoe(b,{},l,Na.b)).forEach(m);let w=u.get(g=""+g);if(!w){let b=new Set;for(let j of Kk(Zk(g),l))b.add(j.c).add(m(j));w=[...b].filter(Boolean).join(" "),u.set(g,w).set(w,w)}return w},Object.getOwnPropertyDescriptors({get target(){return a.target},theme:l.theme,config:i,snapshot(){let g=a.snapshot(),w=new Set(f),b=new Map(u),j=[...d];return()=>{g(),f=w,u=b,d=j}},clear(){a.clear(),f=new Set,u=new Map,d=[]},destroy(){this.clear(),a.destroy()}}))})({...t,hash:t.hash??e},n),o=(function(s){let a=new MutationObserver(i);return{observe(u){a.observe(u,{attributeFilter:["class"],subtree:!0,childList:!0}),l(u),i([{target:u,type:""}])},disconnect(){a.disconnect()}};function i(u){for(let{type:d,target:f}of u)if(d[0]=="a")l(f);else for(let m of f.querySelectorAll("[class]"))l(m);a.takeRecords()}function l(u){var m;let d,f=(m=u.getAttribute)==null?void 0:m.call(u,"class");f&&(function(g,w){return g!=w&&""+g.split(" ").sort()!=""+w.split(" ").sort()})(f,d=s(f))&&u.setAttribute("class",d)}})(r);return function(s){return class extends s{connectedCallback(){var a;(a=super.connectedCallback)==null||a.call(this),n.connect(this),o.observe(x9(this))}disconnectedCallback(){var a;n.disconnect(this),(a=super.disconnectedCallback)==null||a.call(this)}constructor(...a){super(...a),this.tw=r}}}})(M$({darkMode:globalThis.bcDarkMode,theme:{fontFamily:{sans:["Inter","sans-serif"],mono:["Roboto Mono","monospace"]},extend:{borderColor:Uu({},k9),backgroundColor:Uu({},k9),textColor:Uu({},k9),backgroundImage:Uu({},CRe),animation:{darken:"darken 0.2s ease-out forwards","fade-in":"fade-in 0.2s ease-out forwards","slide-up":"slideUp 0.3s ease-out forwards"},keyframes:{darken:{"0%":{opacity:0},"100%":{opacity:.5}},lighten:{"0%":{opacity:.5},"100%":{opacity:0}},"fade-in":{"0%":{opacity:0},"100%":{opacity:1}},"fade-out":{"0%":{opacity:1},"100%":{opacity:0}},slideUp:{from:{transform:"translateY(100%)"},to:{transform:"translateY(0)"}}}}},presets:[kRe({})],hash:!1})):SRe;function SRe(t){return t}const Ra="transition-all hover:brightness-90 dark:hover:brightness-110 active:scale-95 cursor-pointer",v8="hover-animation",Mo="text-brand-mixed-light dark:text-brand-mixed-dark",Yoe="text-foreground-light dark:text-foreground-dark",t2="text-neutral-primary-light dark:text-neutral-primary-dark",Vn="text-neutral-secondary-light dark:text-neutral-secondary-dark",tf="text-neutral-tertiary-light dark:text-neutral-tertiary-dark",ch="border-neutral-secondary-light dark:border-neutral-secondary-dark",$D="border-neutral-tertiary-light dark:border-neutral-tertiary-dark";let z$,F$,B$,w8=t=>t;function Goe(){return Et(z$||(z$=w8`<div
69 class="absolute top-0 left-0 w-full h-full rounded-lg border-2 pointer-events-none ${0} opacity-5"
70 ></div>`),$D)}function ERe(t){$t.getState().connected&&t($t.getState().provider);const e=$t.subscribe(async(n,r)=>{if(n.connected&&!r.connected){if(!n.provider)throw new Error("No provider available");t(n.provider)}});return()=>{e()}}function NRe(t){const e=$t.subscribe(async(n,r)=>{!n.connected&&r.connected&&t()});return()=>{e()}}function IRe(t){const e=$t.subscribe(async(n,r)=>{!n.modalOpen&&r.modalOpen&&t()});return()=>{e()}}function ARe(t={}){$t.getState().setBitcoinConnectConfig(t)}function VD(){const t=document.createElement("bc-modal"),e=document.createElement("bc-connect");e.setAttribute("closable","closable"),t.appendChild(e),document.body.appendChild(t),$t.getState().setModalOpen(!0)}function b8({invoice:t,paymentMethods:e,onPaid:n,onCancelled:r}){if(document.querySelector("bc-modal"))throw new Error("bc-modal already in DOM");const o=document.createElement("bc-modal"),s=document.createElement("bc-payment");s.setAttribute("closable","closable"),s.setAttribute("invoice",t),e&&s.setAttribute("payment-methods",e),o.appendChild(s);let a=!1;const i=u=>{a=!0,n==null||n(u.detail)};window.addEventListener("bc:onpaid",i);const l=IRe(()=>{l(),window.removeEventListener("bc:onpaid",i),a||r==null||r()});return document.body.appendChild(o),$t.getState().setModalOpen(!0),{setPaid:u=>{s.setAttribute("paid","paid"),s.dispatchEvent(new CustomEvent("bc:onpaid",{bubbles:!0,composed:!0,detail:u}))}}}function HD(){const t=document.querySelector("bc-modal");t&&document.body.removeChild(t),$t.getState().setModalOpen(!1),$t.getState().clearRouteHistory(),$t.getState().setError(void 0)}function qoe(t){$t.getState().connectNWC(t)}function Koe(){$t.getState().disconnect()}let U$,_Re=t=>t,V1=class extends Tr()(nr){constructor(){super(),this._loading=!1,this._loadBalance(),this._selectedCurrency=$t.getState().currency,$t.subscribe((t,e)=>{this._selectedCurrency=t.currency,t.currency!==e.currency&&this._convertBalance(),t.connected!==e.connected&&t.connected&&this._loadBalance()})}render(){return Et(U$||(U$=_Re` <span
71 class="font-medium font-sans mr-2 flex justify-center items-center gap-0.5 ${0}"
72 >
73 <span class="font-mono">${0} </span></span
74 >`),Mo,this._balance||"Loading...")}async _convertBalance(){if(this._loading||this._balanceSats===void 0)return;const t=this._selectedCurrency||"sats";if(t==="BTC")this._balance=(this._balanceSats/1e8).toLocaleString(void 0,{minimumFractionDigits:8,useGrouping:!0})+" BTC";else if(t!=="sats"){try{this._loading=!0;const e=await r5e.getFiatValue({satoshi:this._balanceSats,currency:t}),n=parseFloat(e.toFixed(2));this._balance=new Intl.NumberFormat(void 0,{style:"currency",currency:t}).format(n)}catch(e){console.error(e)}this._loading=!1}else this._balance=this._balanceSats.toLocaleString(void 0,{useGrouping:!0})+" sats"}_loadBalance(){var t=this;(async function(){try{const e=$t.getState().provider;if(e==null||!e.getBalance)return;const n=await e.getBalance();n&&(t._balanceSats=n.balance,t._convertBalance())}catch(e){t._balance="⚠️",console.error(e)}})()}};Dt([Xn()],V1.prototype,"_balance",void 0),Dt([Xn()],V1.prototype,"_balanceSats",void 0),Dt([Xn()],V1.prototype,"_loading",void 0),Dt([Xn()],V1.prototype,"_selectedCurrency",void 0),V1=Dt([Yn("bc-balance")],V1);let $$,MRe=t=>t;const kg=t=>Er($$||($$=MRe`
75 <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="100px" height="100px" viewBox="0 0 100 100" preserveAspectRatio="xMidYMid" class=${0}>
76 <g transform="rotate(0 50 50)">
77 <rect x="47" y="24" rx="3" ry="6" width="6" height="12" fill="currentColor">
78 <animate attributeName="opacity" values="1;0" keyTimes="0;1" dur="1s" begin="-0.9166666666666666s" repeatCount="indefinite"></animate>
79 </rect>
80 </g><g transform="rotate(30 50 50)">
81 <rect x="47" y="24" rx="3" ry="6" width="6" height="12" fill="currentColor">
82 <animate attributeName="opacity" values="1;0" keyTimes="0;1" dur="1s" begin="-0.8333333333333334s" repeatCount="indefinite"></animate>
83 </rect>
84 </g><g transform="rotate(60 50 50)">
85 <rect x="47" y="24" rx="3" ry="6" width="6" height="12" fill="currentColor">
86 <animate attributeName="opacity" values="1;0" keyTimes="0;1" dur="1s" begin="-0.75s" repeatCount="indefinite"></animate>
87 </rect>
88 </g><g transform="rotate(90 50 50)">
89 <rect x="47" y="24" rx="3" ry="6" width="6" height="12" fill="currentColor">
90 <animate attributeName="opacity" values="1;0" keyTimes="0;1" dur="1s" begin="-0.6666666666666666s" repeatCount="indefinite"></animate>
91 </rect>
92 </g><g transform="rotate(120 50 50)">
93 <rect x="47" y="24" rx="3" ry="6" width="6" height="12" fill="currentColor">
94 <animate attributeName="opacity" values="1;0" keyTimes="0;1" dur="1s" begin="-0.5833333333333334s" repeatCount="indefinite"></animate>
95 </rect>
96 </g><g transform="rotate(150 50 50)">
97 <rect x="47" y="24" rx="3" ry="6" width="6" height="12" fill="currentColor">
98 <animate attributeName="opacity" values="1;0" keyTimes="0;1" dur="1s" begin="-0.5s" repeatCount="indefinite"></animate>
99 </rect>
100 </g><g transform="rotate(180 50 50)">
101 <rect x="47" y="24" rx="3" ry="6" width="6" height="12" fill="currentColor">
102 <animate attributeName="opacity" values="1;0" keyTimes="0;1" dur="1s" begin="-0.4166666666666667s" repeatCount="indefinite"></animate>
103 </rect>
104 </g><g transform="rotate(210 50 50)">
105 <rect x="47" y="24" rx="3" ry="6" width="6" height="12" fill="currentColor">
106 <animate attributeName="opacity" values="1;0" keyTimes="0;1" dur="1s" begin="-0.3333333333333333s" repeatCount="indefinite"></animate>
107 </rect>
108 </g><g transform="rotate(240 50 50)">
109 <rect x="47" y="24" rx="3" ry="6" width="6" height="12" fill="currentColor">
110 <animate attributeName="opacity" values="1;0" keyTimes="0;1" dur="1s" begin="-0.25s" repeatCount="indefinite"></animate>
111 </rect>
112 </g><g transform="rotate(270 50 50)">
113 <rect x="47" y="24" rx="3" ry="6" width="6" height="12" fill="currentColor">
114 <animate attributeName="opacity" values="1;0" keyTimes="0;1" dur="1s" begin="-0.16666666666666666s" repeatCount="indefinite"></animate>
115 </rect>
116 </g><g transform="rotate(300 50 50)">
117 <rect x="47" y="24" rx="3" ry="6" width="6" height="12" fill="currentColor">
118 <animate attributeName="opacity" values="1;0" keyTimes="0;1" dur="1s" begin="-0.08333333333333333s" repeatCount="indefinite"></animate>
119 </rect>
120 </g><g transform="rotate(330 50 50)">
121 <rect x="47" y="24" rx="3" ry="6" width="6" height="12" fill="currentColor">
122 <animate attributeName="opacity" values="1;0" keyTimes="0;1" dur="1s" begin="0s" repeatCount="indefinite"></animate>
123 </rect>
124 </g>
125 </svg>`),t||"w-7 h-7");let V$,H$,W$,Y$,G$,q$,K$,Z$,pm=t=>t,p6=class extends Tr()(nr){constructor(){super(),this.title="Connect Wallet",this._showBalance=void 0,this._showBalance=$t.getState().bitcoinConnectConfig.showBalance&&$t.getState().supports("getBalance"),$t.subscribe(t=>{this._showBalance=t.bitcoinConnectConfig.showBalance&&t.supports("getBalance")})}render(){const t=this._connecting||!this._connected&&this._modalOpen;return Et(V$||(V$=pm`<div>
126 <div
127 class="relative inline-flex ${0} cursor-pointer
128 rounded-lg gap-2 justify-center items-center"
129 @click=${0}
130 >
131 <div
132 class="absolute top-0 left-0 w-full h-full rounded-lg pointer-events-none ${0}"
133 ></div>
134 ${0}
135 <bci-button variant="primary">
136 ${0}
137 <span class="font-semibold">
138 ${0}
139 </span>
140 </bci-button>
141 ${0}
142 </div>
143 </div>`),Ra,this._onClick,this._connected?"bg-glass-light dark:bg-glass-dark":"",this._connected?Goe():"",t?Et(H$||(H$=pm` ${0} `),kg("w-11 h-11 -mr-2 mr-1 -ml-2.5")):this._connected?null:Et(W$||(W$=pm`<span class="-ml-0.5">${0}</span>`),Zw),t?Et(Y$||(Y$=pm`Connecting...`)):this._connected?Et(G$||(G$=pm`Connected`)):Et(q$||(q$=pm`${0}`),this.title),this._connected&&this._showBalance?Et(K$||(K$=pm`<bc-balance class="select-none cursor-pointer"></bc-balance> `)):null)}_onClick(){VD()}};Dt([Jo()],p6.prototype,"title",void 0),Dt([Xn()],p6.prototype,"_showBalance",void 0),p6=Dt([Yn("bc-button")],p6);const RRe=Er(Z$||(Z$=(t=>t)`
144 <svg width="30" height="30" viewBox="0 0 30 30" fill="none" xmlns="http://www.w3.org/2000/svg" class="w-6 h-6">
145 <path d="M7 16.5106L13.5511 22L23 8" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
146 </svg>
147 `));let Q$,J$,X$,eV,tV,nV,H1=t=>t,cp=class extends Tr()(nr){constructor(){super(...arguments),this.title="Pay Now",this.paymentMethods="all",this._waitingForInvoice=!1,this._paid=!1}updated(t){var e;super.updated(t),t.has("invoice")&&this.invoice&&this._waitingForInvoice&&this._launchModal(),t.has("preimage")&&this.preimage&&((e=this._setPaid)==null||e.call(this,{preimage:this.preimage}))}render(){const t=this._waitingForInvoice||this._modalOpen;return Et(Q$||(Q$=H1` <div class="inline-flex" @click=${0}>
148 <bci-button variant="primary">
149 ${0}
150 <span class="font-semibold">
151 ${0}
152 </span>
153 </bci-button>
154 </div>`),this._onClick,t?Et(J$||(J$=H1`${0}`),kg("w-11 h-11 -mr-2 -ml-2.5 ")):this._paid?Et(X$||(X$=H1`<span class="-ml-0.5">${0}</span>`),RRe):Et(eV||(eV=H1`<span class="-ml-0.5">${0}</span>`),Zw),t?Et(tV||(tV=H1`Loading...`)):Et(nV||(nV=H1`${0}`),this._paid?"Paid":this.title))}_onClick(){this._paid||(this._waitingForInvoice=!0,this.invoice&&this._launchModal())}_launchModal(){if(this._waitingForInvoice=!1,!this.invoice)throw new Error("No invoice available");const{setPaid:t}=b8({onPaid:()=>{this._paid=!0},invoice:this.invoice,paymentMethods:this.paymentMethods});this._setPaid=t}};Dt([Jo()],cp.prototype,"title",void 0),Dt([Jo()],cp.prototype,"invoice",void 0),Dt([Jo({type:String,attribute:"payment-methods"})],cp.prototype,"paymentMethods",void 0),Dt([Jo({})],cp.prototype,"preimage",void 0),Dt([Xn()],cp.prototype,"_waitingForInvoice",void 0),Dt([Xn()],cp.prototype,"_paid",void 0),cp=Dt([Yn("bc-pay-button")],cp);let rV,oV,TRe=t=>t,mw=class extends Tr()(PD){constructor(){super(...arguments),this.variant="secondary",this.ghost=!1,this.block=!1}render(){const t=window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches,e=window.getComputedStyle(this).getPropertyValue(t?"--bc-color-brand-button-text-dark":"--bc-color-brand-button-text")||window.getComputedStyle(this).getPropertyValue("--bc-color-brand-button-text");return Et(rV||(rV=TRe`<button
155 class="w-full relative h-10 px-4 font-sans font-semibold rounded-lg flex justify-center items-center
156 ${0} rounded-lg w-full ${0}
157 ${0}
158 ${0}
159 "
160 >
161 ${0}
162 <!-- TODO: why can the inner border not be conditionally rendered? -->
163
164 <div
165 class="flex gap-2 ${0} justify-center items-center"
166 >
167 <slot></slot>
168 </div>
169 </button>`),this.ghost?"":"shadow",Ra,this.variant==="primary"?"bg-brand-light dark:bg-brand-dark":"",this.variant==="primary"?e?"text-brand-button-text-light dark:text-brand-button-text-dark":this._getBrandColorLuminance()>.5?"text-black":"text-white":this.variant==="secondary"?`${Mo}`:`${tf}`,this.ghost?null:this.variant==="primary"?Goe():this.variant==="secondary"?Et(F$||(F$=w8`<div
170 class="absolute -z-10 top-0 left-0 w-full h-full border-2 rounded-lg ${0}"
171 ></div>`),"border-brand-mixed-light dark:border-brand-mixed-dark"):Et(B$||(B$=w8`<div
172 class="absolute -z-10 top-0 left-0 w-full h-full border-2 rounded-lg ${0}"
173 ></div>`),$D),this.block?"w-full":"")}};Dt([Jo()],mw.prototype,"variant",void 0),Dt([Jo({type:Boolean})],mw.prototype,"ghost",void 0),Dt([Jo({type:Boolean})],mw.prototype,"block",void 0),mw=Dt([Yn("bci-button")],mw);const DRe=Er(oV||(oV=(t=>t)`
174 <svg class="w-14 h-14" width="55" height="54" fill="none" version="1.1" viewBox="1 0 55 54" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
175 <rect x="31" y="1" width="24" height="24" rx="6" fill="#34D14A"/>
176 <path d="M40.3358 5H44.2816V11.3676H41.8352V7.04983H39.6436L40.3358 5Z" fill="#fff"/>
177 <path d="m43 21c2.4853 0 4.5-1.973 4.5-4.4068s-2.0147-4.4067-4.5-4.4067-4.5 1.9729-4.5 4.4067 2.0147 4.4068 4.5 4.4068zm2.457-4.4068c0 1.3289-1.1 2.4062-2.457 2.4062s-2.4571-1.0773-2.4571-2.4062 1.1001-2.4062 2.4571-2.4062 2.457 1.0773 2.457 2.4062z" clip-rule="evenodd" fill="#fff" fill-rule="evenodd"/>
178 <g>
179 <rect x="3" y="1" width="24" height="24" rx="6" fill="url(#paint0_linear_0_1)"/>
180 <g stroke="#000">
181 <path d="m19.114 20.571c2.1021 0 3.0589-4.6548 3.0589-6.4197 0-1.3756-0.9492-2.2093-2.1971-2.2093-1.2401 0-2.2469 0.5332-2.2594 1.1936 0 1.7428-0.3067 7.4354 1.3976 7.4354z" fill="#fff" stroke-width=".62601"/>
182 <path d="m11.436 20.571c-2.1021 0-3.0589-4.6548-3.0589-6.4197 0-1.3756 0.94922-2.2093 2.1971-2.2093 1.2401 0 2.2469 0.5332 2.2594 1.1936 0 1.7428 0.3067 7.4354-1.3976 7.4354z" fill="#fff" stroke-width=".62601"/>
183 <path d="m9.6923 13.592v-1e-4l11.02-0.0266c-0.2431 2.4089-1.5497 4.4004-3.3059 5.3171-0.5801 0.3028-0.9789 0.8289-1.3292 1.2909-0.0063 0.0083-0.0126 0.0166-0.0188 0.0248l-1e-4 1e-4c-0.2847 0.3756-0.5424 0.7119-0.8573 0.9598-0.315-0.2479-0.5727-0.5842-0.8574-0.9598v-1e-4l-0.0188-0.0248c-0.3503-0.462-0.7492-0.9881-1.3293-1.2909-1.7495-0.9132-3.0528-2.8931-3.3031-5.2904z" fill="#FFDF6F" stroke-width=".62284"/>
184 <ellipse cx="15.213" cy="13.545" rx="5.5089" ry="1.8363" fill="#000" stroke-width=".62601"/>
185 <path d="m10.789 16.633s2.7172 0.9182 4.4655 0.9182 4.4656-0.9182 4.4656-0.9182" stroke-linecap="round" stroke-width=".62601"/>
186 </g>
187 <circle transform="matrix(-1 0 0 1 11.277 4.4467)" cx="1.2457" cy="1.2457" r="1.2457" fill="#000"/>
188 <path d="m9.8238 5.5054 2.3252 2.3252" stroke="#000" stroke-width=".62284"/>
189 <circle cx="20.204" cy="5.6923" r="1.2457" fill="#000"/>
190 <path d="m20.433 5.5054-2.3253 2.3252" stroke="#000" stroke-width=".62284"/>
191 <path d="m10.385 13.125c-0.67142-0.3196-1.0622-1.0373-0.93126-1.7693 0.56176-3.1416 2.9029-5.4978 5.7057-5.4978 2.8095 0 5.1552 2.3677 5.7097 5.5207 0.1289 0.7333-0.265 1.4507-0.9387 1.7677-1.4415 0.6783-3.0516 1.0575-4.7502 1.0575-1.7164 0-3.3423-0.3871-4.7952-1.0788z" clip-rule="evenodd" fill="#FFDF6F" fill-rule="evenodd"/>
192 <path d="m20.869 11.379-0.3067 0.0539 0.3067-0.0539zm-11.109 0.0319c0.5428-3.0356 2.7866-5.2412 5.3991-5.2412v-0.62283c-2.993 0-5.4315 2.5069-6.0122 5.7544l0.61311 0.1096zm5.3991-5.2412c2.6188 0 4.8672 2.2164 5.403 5.2632l0.6134-0.1079c-0.5732-3.2592-3.0161-5.7781-6.0164-5.7781v0.62283zm4.6384 6.6952c-1.4009 0.6593-2.9658 1.0279-4.6176 1.0279v0.6229c1.7454 0 3.4007-0.3898 4.8828-1.0872l-0.2652-0.5636zm-4.6176 1.0279c-1.6691 0-3.2494-0.3763-4.6614-1.0485l-0.2677 0.5623c1.4939 0.7112 3.1654 1.1091 4.9291 1.1091v-0.6229zm5.3822-2.4599c0.1034 0.5879-0.2114 1.1717-0.7646 1.432l0.2652 0.5636c0.7943-0.3738 1.2673-1.2248 1.1128-2.1035l-0.6134 0.1079zm-11.415-0.1316c-0.15685 0.8771 0.31241 1.7285 1.1039 2.1053l0.2677-0.5623c-0.55123-0.2625-0.86344-0.8465-0.7585-1.4334l-0.61311-0.1096z" fill="#000"/>
193 <path d="m11.583 12.345c-0.5405-0.2201-0.861-0.7951-0.6738-1.3478 0.5775-1.7043 2.2621-2.9377 4.2503-2.9377s3.6727 1.2334 4.2502 2.9377c0.1873 0.5527-0.1333 1.1276-0.6737 1.3477-1.1038 0.4496-2.3112 0.6973-3.5765 0.6973s-2.4728-0.2477-3.5765-0.6972z" clip-rule="evenodd" fill="#000" fill-rule="evenodd"/>
194 <ellipse cx="16.592" cy="10.716" rx="1.0381" ry=".83045" fill="#fff"/>
195 <ellipse cx="13.62" cy="10.717" rx="1.0381" ry=".83045" fill="#fff"/>
196 </g>
197 <path d="m51.5 40h-1.5v-4c0-0.5305-0.2107-1.0392-0.5858-1.4143-0.3751-0.375-0.8838-0.5857-1.4142-0.5857h-4v-1.5c0-0.6631-0.2634-1.299-0.7322-1.7678-0.4689-0.4689-1.1048-0.7322-1.7678-0.7322s-1.2989 0.2633-1.7678 0.7322c-0.4688 0.4688-0.7322 1.1047-0.7322 1.7678v1.5h-4c-0.5304 0-1.0391 0.2107-1.4142 0.5857-0.3751 0.3751-0.5858 0.8838-0.5858 1.4143v3.8h1.5c1.5 0 2.7 1.2 2.7 2.7s-1.2 2.7-2.7 2.7h-1.5v3.8c0 0.5304 0.2107 1.0391 0.5858 1.4142 0.3751 0.375 0.8838 0.5858 1.4142 0.5858h3.8v-1.5c0-1.5 1.2-2.7 2.7-2.7s2.7 1.2 2.7 2.7v1.5h3.8c0.5304 0 1.0391-0.2108 1.4142-0.5858 0.3751-0.3751 0.5858-0.8838 0.5858-1.4142v-4h1.5c0.663 0 1.2989-0.2634 1.7678-0.7323 0.4688-0.4688 0.7322-1.1047 0.7322-1.7677 0-0.6631-0.2634-1.299-0.7322-1.7678-0.4689-0.4689-1.1048-0.7322-1.7678-0.7322z" fill="#525252"/>
198 <rect x="3" y="29.081" width="24" height="24" ry="6.0057" fill="url(#linearGradient28)" stroke-width="0"/>
199 <g transform="matrix(.25817 0 0 .25817 5.4677 38.257)" fill="#fff">
200 <path d="m0 12.6 14.013-7v-0.62903h-14.013v-4.9741h22.76v7.4611l-13.985 6.943v0.628h14.042v4.9741h-22.818z"/>
201 <path d="m40.444 10.314v-0.68599c3.8542 0 6.4164-1.6083 6.4164-4.4207 0-3.7005-2.7083-5.2062-7.5676-5.2062h-14.992v20h14.992c5.2371 0 7.5676-1.8798 7.5676-4.8259 0-3.0612-1.8692-4.8612-6.4164-4.8612zm-4.0003 5.143h-4.518v-3.343h4.518c1.4611 0 2.2156 0.6591 2.2156 1.658 0 1.2923-0.8798 1.685-2.2156 1.685zm0-7.6h-4.518v-3.3161h4.518c1.172 0 2.2156 0.29013 2.2156 1.685 0 1.3285-1.2023 1.6311-2.2156 1.6311z"/>
202 <path d="m47.92 0h13.784c8.3691 0 12.142 4.113 12.142 10 0 6.1834-4.5347 10-12.142 10h-13.784zm17.783 10c0-3.5306-2.4672-4.857-4.8634-4.857h-4.9491v9.714h4.9491c2.367 0 4.8634-1.3264 4.8634-4.857z"/>
203 </g>
204 <defs>
205 <linearGradient id="paint0_linear_0_1" x1="15" x2="15" y1="1" y2="23.857" gradientUnits="userSpaceOnUse">
206 <stop stop-color="#FFDE6E" offset=".6691"/>
207 <stop stop-color="#F8C455" offset="1"/>
208 </linearGradient>
209 <linearGradient id="linearGradient28" x1="3" x2="27" y1="36.903" y2="45.382" gradientUnits="userSpaceOnUse">
210 <stop stop-color="#916bf8" offset="0"/>
211 <stop stop-color="#9c60dd" offset=".28564"/>
212 <stop stop-color="#b44aa7" offset=".55368"/>
213 <stop stop-color="#e21f3d" offset="1"/>
214 </linearGradient>
215 </defs>
216 </svg>
217 `));let sV,LRe=t=>t;class lc extends Tr()(nr){constructor(e,n,r,o){super(),this._connectorType=e,this._title=n,this._background=r,this._icon=o}render(){return Et(sV||(sV=LRe`<div
218 class="flex flex-col justify-between items-center w-32 -mx-4 cursor-pointer ${0}"
219 @click=${0}
220 >
221 <div
222 class="w-16 h-16 drop-shadow rounded-2xl flex justify-center items-center overflow-hidden"
223 style="background: ${0};"
224 >
225 ${0}
226 </div>
227 <span
228 class="text-sm mt-3 font-sans font-medium text-center w-28 h-7 flex justify-center items-center ${0}"
229 >
230 ${0}
231 </span>
232 </div>`),Ra,this._onClick,this._background,this._icon,Vn,this._title)}_connect(e){$t.getState().connect(Uu({},e,{connectorName:this._title,connectorType:this._connectorType}))}}let aV,iV=class extends lc{constructor(){super("extension.generic","Browser Extensions","#ffffff",DRe)}_onClick(){this._connect({})}};iV=Dt([Yn("bc-extension-connector")],iV);const Zoe=Er(aV||(aV=(t=>t)`<svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" fill="none"><path fill="#fff" d="M29.313 17.863a9.57 9.57 0 0 0-11.455-7.193c-.1.492-.196 1.008-.28 1.548-.156.96-.284 1.996-.384 3.113a53.932 53.932 0 0 0-.196 4.668c0 1.024.028 1.993.076 2.92a56.187 56.187 0 0 0 7.583-.12c1.12-.1 2.156-.227 3.116-.383.54-.088 1.056-.18 1.548-.28a9.598 9.598 0 0 0 0-4.265l-.008-.008Zm-2.772-.724a4.047 4.047 0 0 0-1.86.8c-.868.66-1.492 1.652-1.672 2.72 0 .02-.02.029-.032.024-.012 0-.024-.011-.024-.023-.284-1.82-1.755-3.241-3.531-3.525-.032-.004-.032-.052 0-.056a4.3 4.3 0 0 0 2.812-1.772 4.195 4.195 0 0 0 .723-1.769c.005-.032.052-.032.056 0 .108.688.388 1.316.784 1.852.228.309.492.58.792.817.56.444 1.228.752 1.952.876.032.004.032.052 0 .056Z"/><path fill="#fff" d="M39.984 19.305v1.372c0 2.04-2.196 3.896-6.18 5.225-1.403.468-2.983.856-4.683 1.16-.124.024-.248.044-.372.068-.464.076-.932.148-1.416.212a52.252 52.252 0 0 1-3.16.328c-.583.04-1.171.076-1.771.1a60.038 60.038 0 0 1-6.596-.1 45.756 45.756 0 0 1-1.72-.156 50.451 50.451 0 0 1-2.847-.384c-.128-.02-.252-.044-.376-.068-1.7-.3-3.28-.688-4.684-1.16C2.196 24.573 0 22.717 0 20.677v-1.372c0-2.04 2.196-3.897 6.18-5.225 1.403-.469 2.983-.857 4.683-1.16l-.06.504a47.322 47.322 0 0 0-.24 2.68c-.44.088-.864.176-1.276.276-3.88.912-6.443 2.264-7.107 3.613.664 1.348 3.227 2.7 7.107 3.608a32.59 32.59 0 0 0 2.036.416 45.84 45.84 0 0 0 4.128.52c.571.048 1.155.088 1.751.116a57.648 57.648 0 0 0 5.6 0c.596-.028 1.18-.068 1.747-.116a48.514 48.514 0 0 0 4.128-.52c.256-.044.508-.092.76-.14.44-.084.864-.176 1.276-.272 3.88-.912 6.443-2.264 7.107-3.612-.664-1.349-3.227-2.7-7.107-3.609a11.17 11.17 0 0 0-1.952-3.525c.124.02.252.044.376.068 1.7.3 3.28.689 4.684 1.16C37.804 15.417 40 17.273 40 19.314l-.016-.008Z"/><path fill="#fff" d="M27.115 11.234a11.228 11.228 0 0 0-3.524-1.952c-.908-3.881-2.26-6.446-3.608-7.11-1.348.664-2.7 3.229-3.607 7.11a32.407 32.407 0 0 0-.416 2.036 45.933 45.933 0 0 0-.52 4.129 46.919 46.919 0 0 0-.116 1.748 57.68 57.68 0 0 0 0 5.601c-1.12-.1-2.156-.228-3.112-.384a60.068 60.068 0 0 1 0-4.825c.028-.6.06-1.188.104-1.772a50.812 50.812 0 0 1 .324-3.16c.064-.48.136-.953.212-1.413.02-.124.044-.252.068-.376.3-1.7.688-3.28 1.16-4.685C15.408 2.196 17.264 0 19.303 0h1.372c2.04 0 3.896 2.196 5.224 6.181.468 1.404.856 2.985 1.16 4.685.024.124.044.252.068.376l-.012-.008ZM27.056 29.133c-.3 1.7-.688 3.28-1.16 4.685-1.328 3.984-3.184 6.18-5.224 6.18H19.3c-2.04 0-3.895-2.196-5.223-6.18-.468-1.405-.856-2.985-1.16-4.685l.504.06c.876.104 1.768.184 2.68.24.088.44.176.864.276 1.276.908 3.88 2.26 6.445 3.607 7.11 1.348-.665 2.7-3.23 3.612-7.11.096-.412.188-.836.272-1.276.912-.06 1.808-.14 2.68-.24.168-.016.336-.04.504-.06h.004Z"/></svg>`)),Qoe="Alby Hub";let lV,cV=class extends lc{constructor(){super("nwc.albyhub",Qoe,"#000000",Zoe)}async _onClick(){$t.getState().pushRoute("/alby-hub")}};cV=Dt([Yn("bc-alby-hub-connector")],cV);const PRe=Er(lV||(lV=(t=>t)`<svg width="393" height="392" viewBox="0 0 393 392" fill="none" xmlns="http://www.w3.org/2000/svg">
233 <path d="M179.272 99.0639C169.038 88.8691 152.419 88.9782 142.221 99.2091L76.2474 165.414C66.0488 175.646 66.1786 191.974 76.4095 202.17L184.58 310.34C194.813 320.534 211.4 320.449 221.597 310.218L253.749 278.066C244.372 287.443 236.656 280.701 227.512 271.595L209.578 253.662C195.964 259.051 180.052 256.374 169.022 245.365L155.356 231.699C154.896 231.243 154.542 230.767 154.292 230.17C154.043 229.572 153.914 228.931 153.914 228.284C153.913 227.637 154.041 226.995 154.289 226.398C154.537 225.8 154.926 225.293 155.385 224.837L163.119 217.103L146.284 200.268C143.648 197.638 143.218 193.391 145.575 190.522C148.269 187.228 153.153 187.053 156.108 190.002L173.171 207.051L184.728 195.494L167.853 178.661C165.216 176.03 164.787 171.784 167.164 168.895C167.794 168.128 168.578 167.501 169.465 167.054C170.353 166.608 171.323 166.352 172.315 166.303C173.307 166.254 174.298 166.413 175.225 166.77C176.152 167.127 176.994 167.673 177.697 168.375L194.829 185.393L202.089 178.132C202.545 177.673 202.994 177.259 203.592 177.01C204.189 176.761 204.83 176.632 205.478 176.632C206.125 176.631 206.766 176.758 207.364 177.006C207.962 177.254 208.505 177.618 208.962 178.077L222.65 191.738C233.542 202.609 236.39 218.431 231.298 231.943L249.235 249.88C258.379 258.985 266.03 265.785 275.408 256.408L315.979 215.836C306.227 225.588 298.215 218.075 288.578 208.446L179.272 99.0639Z" fill="url(#paint0_linear_1_280)"/>
234 <path d="M255.975 81.0273L221.487 115.487L298.115 192.116C305.45 199.419 311.825 205.239 318.899 202.417C322.988 200.787 325.795 196.351 324.228 192.238C287.561 96.0253 287.546 96.0238 282.682 85.507C277.818 74.9901 264.138 72.7602 255.975 81.0273Z" fill="#897FFF"/>
235 <path d="M255.975 81.0273L221.487 115.487L298.115 192.116C305.45 199.419 311.825 205.239 318.899 202.417C322.988 200.787 325.795 196.351 324.228 192.238C287.561 96.0253 287.546 96.0238 282.682 85.507C277.818 74.9901 264.138 72.7602 255.975 81.0273Z" fill="#897FFF"/>
236 <path d="M255.975 81.0273L221.487 115.487L298.115 192.116C305.45 199.419 311.825 205.239 318.899 202.417C322.988 200.787 325.795 196.351 324.228 192.238C287.561 96.0253 287.546 96.0238 282.682 85.507C277.818 74.9901 264.138 72.7602 255.975 81.0273Z" fill="#897FFF"/>
237 <path d="M255.975 81.0273L221.487 115.487L298.115 192.116C305.45 199.419 311.825 205.239 318.899 202.417C322.988 200.787 325.795 196.351 324.228 192.238C287.561 96.0253 287.546 96.0238 282.682 85.507C277.818 74.9901 264.138 72.7602 255.975 81.0273Z" fill="#897FFF"/>
238 <path d="M255.975 81.0273L221.487 115.487L298.115 192.116C305.45 199.419 311.825 205.239 318.899 202.417C322.988 200.787 325.795 196.351 324.228 192.238C287.561 96.0253 287.546 96.0238 282.682 85.507C277.818 74.9901 264.138 72.7602 255.975 81.0273Z" fill="#897FFF"/>
239 <defs>
240 <linearGradient id="paint0_linear_1_280" x1="192.323" y1="78.4384" x2="192.323" y2="317.939" gradientUnits="userSpaceOnUse">
241 <stop stop-color="#FFCA4A"/>
242 <stop offset="1" stop-color="#F7931A"/>
243 </linearGradient>
244 </defs>
245 </svg>`)),WD="NWC";let uV,fV=class extends lc{constructor(){super("nwc.generic",WD,"#ffffff",PRe)}async _onClick(){$t.getState().pushRoute("/nwc")}};fV=Dt([Yn("bc-nwc-connector")],fV);const ORe=Er(uV||(uV=(t=>t)`<svg class="w-10 h-10" width="28" height="55" viewBox="0 0 28 55" xmlns="http://www.w3.org/2000/svg"><g fill="#ffffff" fill-rule="nonzero"><path d="M27.25 30.506L11.354 53.692a.84.84 0 11-1.385-.954l15.896-23.185a.84.84 0 111.385.953zM25.16 26.374L9.629 49.082a.84.84 0 01-1.385-.954L23.776 25.42a.84.84 0 011.385.954zM20.438 1.576L2.43 27.895h16.895l-1.136 1.68H.363a.84.84 0 01-.227-1.158L19.006.622a.84.84 0 011.159-.227c.398.253.52.78.273 1.181z"></path><path d="M22.118 6.617L10.24 23.99h11.763l-1.158 1.68H7.062l1.136-1.68L20.733 5.686a.84.84 0 011.385.931z"></path></g></svg>`));let dV,pV=class extends lc{constructor(){super("lnc","Lightning Node Connect","#101727",ORe)}async _onClick(){const t=window.prompt("Enter pairing phrase");if(!t)return;const e=await Soe();if(!e)throw new Error("LNC not supported");e.credentials.pairingPhrase=t,this._connect({})}};pV=Dt([Yn("bc-lnc-connector")],pV);const Joe=Er(dV||(dV=(t=>t)`<svg width="256" height="256" viewBox="0 0 256 256" fill="none" xmlns="http://www.w3.org/2000/svg">
246 <path d="M256 0H0V256H256V0Z" fill="#673AB7"/>
247 <path d="M165 53H91V134.785H113.31V202L165 112.224H135.934L165 53Z" fill="white"/>
248 </svg>`)),x8="LNbits";let hV=class extends lc{constructor(){super("lnbits",x8,"#673ab7",Joe)}async _onClick(){$t.getState().pushRoute("/lnbits")}};hV=Dt([Yn("bc-lnbits-connector")],hV);const k8="LNbits NWC Plugin";let mV,gV=class extends lc{constructor(){super("lnbits",k8,"#673ab7",Joe)}async _onClick(){$t.getState().pushRoute("/lnbits-nwc")}};gV=Dt([Yn("bc-lnbits-nwc-connector")],gV);const zRe=Er(mV||(mV=(t=>t)`<svg width="40" height="40" viewBox="0 0 40 40" fill="none" xmlns="http://www.w3.org/2000/svg">
249 <path d="M40 17.5H34.4V23.1H40V17.5Z" fill="#041011"/>
250 <path d="M16.7 0V5.6L27.8 8.9L22.2 0H16.7Z" fill="#041011"/>
251 <path d="M29.4 35H35L36.7 25L29.4 29.4V35Z" fill="#041011"/>
252 <path d="M35 5H29.4V10.6L36.1 16.1L35 5Z" fill="#041011"/>
253 <path d="M16.7 40H22.2L27.8 29.4L16.7 34.4V40Z" fill="#041011"/>
254 <path d="M5 29.4V35H10.6L22.2 26.7L5 29.4Z" fill="#041011"/>
255 <path d="M18.9 18.6L5.6 17.5H0V23.1H5.6L18.9 18.6Z" fill="#041011"/>
256 <path d="M10.6 5H5V10.6L21.1 12.8L10.6 5Z" fill="#041011"/>
257 </svg>
258 `)),FRe="LN Link";let yV,vV=class extends lc{constructor(){super("nwc.generic",FRe,"#ffffff",zRe)}async _onClick(){$t.getState().pushRoute("/lnfi")}};vV=Dt([Yn("bc-lnfi-nwc-connector")],vV);const BRe=Er(yV||(yV=(t=>t)`<svg width="48" height="48" viewBox="0 0 19.05 19.05" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%" fill="#ffffff"/><g transform="translate(46.987939,-145.34756)"><path fill-rule="evenodd" clip-rule="evenodd" d="m -37.462939,146.46815 c -4.641638,0 -8.404413,3.76277 -8.404413,8.40441 0,4.64164 3.762775,8.40441 8.404413,8.40441 4.641638,0 8.40441,-3.76277 8.40441,-8.40441 0,-4.64164 -3.762772,-8.40441 -8.40441,-8.40441 z m -9.525,8.40441 c 0,-5.26053 4.264475,-9.525 9.525,-9.525 5.260525,0 9.525,4.26447 9.525,9.525 0,5.26053 -4.264475,9.525 -9.525,9.525 -5.260525,0 -9.525,-4.26447 -9.525,-9.525 z" fill="#000000"/><path fill-rule="evenodd" clip-rule="evenodd" d="m -37.462939,160.84902 c 3.300703,0 5.976461,-2.67576 5.976461,-5.97646 0,-3.30073 -2.675758,-5.97649 -5.976461,-5.97649 -3.300704,0 -5.976461,2.67576 -5.976461,5.97649 0,3.3007 2.675757,5.97646 5.976461,5.97646 z m 0,-1.21396 c 2.630249,0 4.7625,-2.13225 4.7625,-4.7625 0,-2.63025 -2.132251,-4.7625 -4.7625,-4.7625 -2.630249,0 -4.7625,2.13225 -4.7625,4.7625 0,2.63025 2.132251,4.7625 4.7625,4.7625 z" fill="#000000"/><path fill-rule="evenodd" clip-rule="evenodd" d="m -37.462913,151.4062 c 0,0 -2.6e-5,0 -2.6e-5,0 -1.914419,0 -3.466359,1.55194 -3.466359,3.46636 0,1.91442 1.55194,3.46636 3.466359,3.46636 0,0 2.6e-5,0 2.6e-5,0 z" fill="#000000"/></g></svg>`)),URe="Coinos";let wV,bV=class extends lc{constructor(){super("nwc.coinos",URe,"#ffffff",BRe)}async _onClick(){try{var t;const e=$t.getState().bitcoinConnectConfig.providerConfig,n=await iS.NWCClient.fromAuthorizationUrl("https://coinos.io/apps/new",Uu({},(e==null||(t=e.nwc)==null?void 0:t.authorizationUrlOptions)||{},{name:this._appName}));n.close(),await $t.getState().connect({nwcUrl:n.nostrWalletConnectUrl,connectorName:"Coinos",connectorType:"nwc.coinos"})}catch(e){console.error(e),alert(""+e)}}};bV=Dt([Yn("bc-coinos-connector")],bV);const $Re=Er(wV||(wV=(t=>t)`<svg version="1.0" xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 20630 20630" preserveAspectRatio="xMidYMid meet"><g transform="translate(0.000000,20630.000000) scale(1.000000,-1.000000)"><path fill="black" d="M5645 20623 c-856 -42 -1650 -251 -2395 -629 -502 -254 -897 -527 -1325 -915 -1015 -920 -1688 -2201 -1869 -3559 -54 -403 -51 -132 -51 -5210 0 -4938 -1 -4788 41 -5125 189 -1512 946 -2882 2129 -3850 353 -290 711 -519 1140 -730 714 -352 1468 -548 2295 -595 239 -13 9171 -13 9410 0 1083 62 2073 388 2960 975 885 585 1587 1388 2056 2350 323 662 507 1339 576 2115 19 216 19 9504 0 9730 -67 784 -266 1498 -606 2179 -566 1130 -1469 2042 -2591 2617 -701 359 -1348 545 -2205 636 -88 9 -1206 12 -4810 13 -2582 1 -4722 0 -4755 -2z"/><path fill="white" d="M13504 11628 l2333 -3 -3181 -3813 -3181 -3813 -3 2540 -2 2541 -2336 0 c-1285 0 -2334 4 -2332 8 2 4 1434 1723 3183 3820 l3180 3811 3 -2544 2 -2545 2334 -2z"/></g></svg>`)),VRe="Flash Wallet";let xV,kV=class extends lc{constructor(){super("nwc.flash",VRe,"#000000",$Re)}async _onClick(){$t.getState().pushRoute("/flash-wallet")}};kV=Dt([Yn("bc-flash-connector")],kV);const HRe=Er(xV||(xV=(t=>t)`<svg class="w-12 h-12" width="256" height="256" viewBox="0 0 256 256" fill="none" xmlns="http://www.w3.org/2000/svg">
259 <g clip-path="url(#clip0_1_943)">
260 <path d="M155.506 253.036C146.645 254.976 137.44 255.999 127.997 255.999C102.077 255.999 77.9567 248.295 57.8008 235.051C52.7974 227.894 50.5525 223.955 48.915 221.081C48.1036 219.657 47.4413 218.495 46.6664 217.332C39.0311 205.053 35.0362 189.28 34.1651 170.748C31.4666 113.326 66.3642 76.6573 102.015 70.6387C124.613 66.8235 142.572 70.6872 156.347 78.0534C144.169 74.666 129.652 74.4622 113.102 79.2C72.9831 92.1309 59.6091 131.451 65.3414 174.994C75.3453 229.555 128.842 249.111 155.506 253.036Z" fill="url(#paint0_linear_1_943)"/>
261 <path d="M41.2387 222.111C33.7762 208.86 27.0184 189.088 26.1739 171.123C23.3092 110.164 60.5628 69.5235 100.683 62.7503C155.371 53.5175 185.775 85.8934 196.256 109.923C196.695 109.628 196.873 109.043 196.641 108.539C179.408 71.0662 143.765 45.3331 102.592 45.3331C55.8419 45.3331 14.127 78.8691 0 128.71C0.200633 165.642 16.0426 198.871 41.2387 222.111Z" fill="url(#paint1_linear_1_943)"/>
262 <path d="M199.997 233.844C190.764 240.137 180.665 245.253 169.916 248.977C164.755 248.078 159.037 246.959 155.011 246.171C153.103 245.797 151.574 245.498 150.666 245.332C126.318 240.885 82.7834 225.195 73.246 173.749C70.5513 153.063 72.4812 134.02 79.3156 118.916C86.0487 104.035 97.6686 92.6275 115.39 86.8682C135.987 81.2567 153.055 84.0378 165.732 90.8469C162.612 90.1887 159.386 89.8437 156.085 89.8437C128.652 89.8437 106.414 113.671 106.414 143.063C106.414 154.799 109.959 165.648 115.966 174.447C115.966 174.447 133.16 206.926 179.966 204.023C221.7 201.434 243.373 163.999 245.956 150.172C247.298 142.986 248 135.575 248 127.999C248 61.7256 194.274 7.99997 128.001 7.99997C77.851 7.99997 34.8866 38.7631 16.9488 82.4478C10.8898 90.3409 5.6727 99.0914 1.46875 108.554C10.8367 47.0899 63.9194 0 128.001 0C198.693 0 256 57.3073 256 127.999C256 171.996 233.803 210.805 199.997 233.844Z" fill="url(#paint2_linear_1_943)"/>
263 </g>
264 <defs>
265 <linearGradient id="paint0_linear_1_943" x1="79.9357" y1="106.044" x2="79.7404" y2="219.805" gradientUnits="userSpaceOnUse">
266 <stop offset="0.0297309" stop-color="#FA3C3C"/>
267 <stop offset="1" stop-color="#BC1870"/>
268 </linearGradient>
269 <linearGradient id="paint1_linear_1_943" x1="62.5099" y1="52.0175" x2="56.1717" y2="165.81" gradientUnits="userSpaceOnUse">
270 <stop stop-color="#FF9F2F"/>
271 <stop offset="1" stop-color="#FA3C3C"/>
272 </linearGradient>
273 <linearGradient id="paint2_linear_1_943" x1="151.999" y1="253.332" x2="152.351" y2="121.334" gradientUnits="userSpaceOnUse">
274 <stop stop-color="#5B09AD"/>
275 <stop offset="1" stop-color="#BC1870"/>
276 </linearGradient>
277 <clipPath id="clip0_1_943">
278 <rect width="256" height="256" fill="white"/>
279 </clipPath>
280 </defs>
281 </svg>
282 `)),j8="Primal Mobile";let jV,CV=class extends lc{constructor(){super("nwc.primal",j8,"#000000",HRe)}async _onClick(){$t.getState().pushRoute("/primal")}};CV=Dt([Yn("bc-primal-connector")],CV);const WRe=Er(jV||(jV=(t=>t)`<svg class="w-12 h-12" width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
283 <rect width="17.2816" height="20" fill="url(#pattern0_6321_527)"/>
284 <defs>
285 <pattern id="pattern0_6321_527" patternContentUnits="objectBoundingBox" width="1" height="1">
286 <use xlink:href="#image0_6321_527" transform="matrix(0.00248348 0 0 0.00214592 0.08 0.05)"/>
287 </pattern>
288 <image id="image0_6321_527" width="404" height="404" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAAEACAMAAABrrFhUAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAdnJLH8AAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAH5QTFRFIyMjSkdG////6+rqsq6uhYGBeHR0a2dnNzU1VFJRLCwsop6eQD49wb6/k4+P1tTUYFxcIyMkLCorKScnLSorKigoQ0FCJSUlLSssKCUlLCkqrKmqWFZXKykpy8rLbmxsFRUXHBsbODY3Y2FhoJ2e3Nvb7e3ukpCQTkxMKCUnmJ5JnAAAAAlwSFlzAAALEgAACxIB0t1+/AAAAAd0SU1FB+kHEQgcCEGliNcAAAoMSURBVHja7Z2LkqI6EIajiDKOiEghVQdHq5SLvv8LHpDEEfxHoNZ0JKS3dtdldIUvt86fpJsxY8aMGTNmzJgxY8aMGTNmzJgxY8Ze22KtwuabnRN+BgB3qsqs1I3tlT9eAJWl7nw5agCFZa69HTWAsjnEu3EDKKvBZdwACgTxSR2AdEVpu8t+nieuZzUbgu0rA6Ck9gU7201rCA67UQEoLdrHjwys+dgAFBbODw8IEn90AArbPPTFs58RAmDs6N0JuMsxAmBhkt27wuUYARTt4N4butdRAmDOvSeIxwmARbEgsB4nAOZ/C794oxCA78i0bdSJQLpUB2Aldcpj3ZSg3V8Y/JlwBzQF0KoEhcItPOsNoPT7Z3t0Rzs+SfSuugMoB3zU1835D+0RACiauvOnSJP+jAHA1Do+3dPJIqwCfwOY5TIsmT0pQfnTBDjhvUCkFIA8ZyzYrd3sgUDcJLDkiI6aArg9o+01CPhBEEVR+UcQ5LyPjHxWXrv6ESsv+wErXkaRX/6DsWv1wq8+4w8LQPHADxJAUk4EwmsQRlFYMnCqCpKdIhaUV6KAhVFY/HX7cfn7GkQsLF6Ul4sPBteIDQ1AUYL5vSHMCwD/hSWA4lHDIOD+4LoCUPz6CVlJJ7wBKN5QvLV4Y/EJFgbVtQECeJAArBUrS7540mtRzCzYc2mkKvSfEksJoCr9SAAoS3/INaB0+0QzcJlftuhbey4a/k9FJnOu9z6ARX7xlsC/dQG3PoC/GGofwL9M1IFGjx9TjQOqAbA97wcO9RI8U0lDygEwG1aBn8oVOIwAgM/nv41nra5agf4A2IZLJSvUCaw+BECc/rN5bmyfXtzDzRt6ahnzDwHwpm0E2cEGc9wFagMTPlPSC0D5Vc+bAK5i0K9NFjKaYYAcAFr7i0F1jyzuIOkHYOo1e7Zjdf27djGlGQdVAJh6jTrAq7sLxsHPApC5/2CPQlBT9E/B+hTRmlUvAP92N8ElvjM4oruwQr0BFOaIdZ+G3Md7QUd7AMzneud0UbvMJbCd/gCY705Bh8cBXEYAgO0yMMuZg2qhKwAxol6AMzwOAHPw348KwAm4faMCEAAnf1QA/HTkAJgBYAAYAAaAAWAAGAAGgAFgABgABoABYAAYAAaAAWAAGAAGgAFgABgABoABYAAYAAaAAWAAGAAGgAFgABgABoDOAPyxb5MLxw5gBU4JjgqADULEjAoAPyo8GSsAflLYuoJasRkBgK2Hzo3loFboCWDrwlhxCTgqriWAjQgZ0ogXwY8lLnUG4Icr+zeC9AJ1jFb06QCm/xA+wHqMINY4E35F8TIqKN5nAXiTHRpRj3boKJ3Gh6cPzRiCOQiW4Ot7fD4Ou/hG24wmtio5gMPi6R5O1bOmV3AXmoXQsGZnEPEqQb7RkSiqZEcAufvvltgTGBUIh09E56kVApBp/FHTENyY9aM/AH6auhFBhJ8ulO4GqAcQ8SEgOyHXYKY/gG/sHK6JAkkpB7AW44ODXIPM0RyAn09xHG0eVVV+ND21AJZ398L14ciQaA3An9+zqqSNqu57RF6AQgDR4lcdsL4aPzxPqVqAIgD+LnkILG3t8V2RRFd/AcCXYcFytcjrOebS/V/K8VYpAEuOZU/Tw6eomSLKKEEXqD6/QJY8Z9KYY9dASwDu1/MtORZhBVALwIWZZGakmYbUAUi/J/CObNIcK2oAZKmbX/4IB3/OsG9ID8B7gwgkxrvD75U4t7+cvx/uwjsAiyr9qmRH6NhzWj9Jp1TzYBoAkYfUjr/LPyVPOCjbFV73GdI2YvnMDbQBwCXfTuKmLbxEz2HaABDxUtsHteXsPkCumEYAVlWxem2j2q844JHm35Y/HXa7pA/8+l168miT0MsHcJ62LvPu3amitMsUALi8lf1VsZcPG0emWU6cepxCEbJfDO2OXUu7lp4Z+0wAPXWf2leEVfdm1et24Oxz16vLI/GSfSqAuJfqk9YXehO01D973jmwYexjAfTcH1CXc/kqRxoB2ef3I0ef6QOgHjdalHatXgTpJzy+NAD16d8Xqhf5b9cXT5gykwSgsarJB7o9aBjTeB8xph2ARo8HZYGYeOb/BgCdcoxU07+0NqGNUCahCdkK8NsAdNq4m6CChau9LjgloAEAuLQPZYFF+yxhiADEoLdvlQXELGGlGYA96vF2SBaw0f6w4QMQ+3tOrbIATytpLTUDMEcFC2WBhHhPJhEAnj6v3uNBWYB3mF6kFwAx6NntssCMLss6JYAl6vFgg/+aqnaG5Byail+cjctbZwkaAJigBIInJAv0XTwcCAAxd9i1Nviei4eDAbBAPd4eNfhei4fDAcALtuHi8Ab/1TpLGD4AMeitkYc0a50laACAF2zdxYEJhrsuHg4MgCjYY2dZYKEZgBUaCXm9qJ+P2iiVBeSdHkeJFXGDP6B3Dh/AGfV4E9Tg5yqdIXkAxPTPaZUFgpTqgBApADES5qxVB8wVOkMSAfDpX/1MNNQB+ewxDfUCgAVyKAsodIZkAoAC+RbJAhN1zpDUICpQIP9GTnKnnVTDAwAF8hPSAc/KnCG5YXSgQI5kgbadVEMFMEfj2wbJAjb1JmkaAFAgh66vsjUSyZGkoEAOXd+EKGgKMQAHjW/Q9XVQKJnhAxA93rnd9Z2p2TAiG8AFjW8Ocn0VrZFIjybnoj0AsLQPSjaMSAdwROPbBUUVPCpxhqQDwAI52h4UKdkwIj+g4hr5/lAWWKvYMCIfABTIYWkvVThDBCE1YyR7Q9f3W8GGEQIAuxcCeb20Vwo2jFAEVeUj4aSzLHDUDMAZVXdY2ht6Z4gCgJjsL9tLm37DCElcYSiQwxUx+jUSEgBYIEeygFg/PukFQPR48/bSJl8joQFwQgI5lAXIN4wQxRaHAjkUgajXSIgAQIFcyAK1wyXUayRU0eVhhEgoCxBvGKECAAVyKAsQr5FQAeA9XmMBGIlAIpjiRS8AWCCHIpBN6gyRAYACOZQFQtINI3Q5RqBADkUg0jUSOgBQIIeygEO5YYQwy8wBaZ7Q76FcIyEEcETVfYdkAV5ZSJwhQgAvBfIFGh7PegHAIyH0ewjXSCgBQIEc+j0R3YYR0lRbrwTyGboYawYACuThK1lgqRcALJBDv+ebyhkCT7Zd3+wiAQAUyJ3q++ry8Ipqw0jHJ3sTAN/rXLOpnCFaAFggf6UhHTQDsLU612yiDSPEALBA/kpDcjUDcOocO0eskaz0AiB8/w6rfznJhhFyAJvOgheNM0QOwO+eQimm2DBCDgAL5K88Z7kbRugBYIH8VX9xJADQFiT0nUmAxVmq9tCkFOmG3G4pZbI3AuCaZ9YhOOlU/oaRXoEC35QGetY3OOFMMwBfvVNynPQCwA59CSSaATj2Ttf7oxeAKO1LQN6GkV4Jhd+mUdp9s9WQn6UyZsyYMWPGjBkzNjD7H9D+hIrLgzibAAAAAElFTkSuQmCC"/>
289 </defs>
290 </svg>
291 `)),C8="Rizful";let SV=class extends lc{constructor(){super("nwc.rizful",C8,"#000000",WRe)}async _onClick(){$t.getState().pushRoute("/rizful")}};SV=Dt([Yn("bc-rizful-connector")],SV);let EV,NV,IV,AV,_V,MV,RV,TV,DV,LV,PV,OV,zV,FV,BV,yi=t=>t,j9=class extends Tr()(nr){constructor(){super(...arguments),this._showAll=!1}render(){const t=[];return t.push({order:0,result:Et(EV||(EV=yi`<bc-alby-hub-connector></bc-alby-hub-connector>`))}),t.push({order:0,result:Et(NV||(NV=yi`<bc-coinos-connector></bc-coinos-connector>`))}),t.push({order:0,result:Et(IV||(IV=yi`<bc-flash-connector></bc-flash-connector>`))}),t.push({order:0,result:Et(AV||(AV=yi`<bc-primal-connector></bc-primal-connector>`))}),t.push({order:0,result:Et(_V||(_V=yi`<bc-cashu-me-connector></bc-cashu-me-connector>`))}),this._filters&&this._filters.indexOf("nwc")>-1&&t.push({order:0,result:Et(MV||(MV=yi`<bc-lnbits-nwc-connector></bc-lnbits-nwc-connector>`))}),t.push({order:0,result:Et(RV||(RV=yi`<bc-rizful-connector></bc-rizful-connector>`))}),t.push({order:0,result:Et(TV||(TV=yi`<bc-nwc-connector></bc-nwc-connector>`))}),t.push({order:10,result:Et(DV||(DV=yi`<bc-lnfi-nwc-connector></bc-lnfi-nwc-connector>`))}),this._filters&&this._filters.indexOf("nwc")!==-1||(window.webln&&t.push({order:0,result:Et(LV||(LV=yi`<bc-extension-connector></bc-extension-connector>`))}),t.push({order:7,result:Et(PV||(PV=yi`<bc-lnbits-connector></bc-lnbits-connector>`))}),t.push({order:9,result:Et(OV||(OV=yi`<bc-lnc-connector></bc-lnc-connector>`))})),t.sort((e,n)=>e.order-n.order),Et(zV||(zV=yi`
292 <div>
293 <div
294 class="flex justify-center items-start flex-wrap gap-5 ${0}"
295 >
296 ${0}
297 </div>
298 ${0}
299 </div>
300 `),this._showAll?"max-h-96 overflow-y-auto":"",(this._showAll?t:t.slice(0,9)).map(e=>e.result),!this._showAll&&t.length>9?Et(FV||(FV=yi`<div class="text-center">
301 <button
302 class="${0} text-xs font-medium mt-8 ${0}"
303 @click=${0}
304 >
305 show all (${0})
306 </button>
307 </div> `),Ra,Vn,this._toggleShowAll,t.length):null)}_toggleShowAll(){this._showAll=!0}};Dt([Xn()],j9.prototype,"_showAll",void 0),j9=Dt([Yn("bc-connector-list")],j9);const YRe=Er(BV||(BV=(t=>t)`
308 <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="w-6 h-6">
309 <path d="M11.25 20.25H4.75C4.19772 20.25 3.75 19.8023 3.75 19.25L3.75 4.75C3.75 4.19772 4.19772 3.75 4.75 3.75L11.25 3.75" stroke="currentColor" stroke-width="2.25" stroke-linecap="round" stroke-linejoin="round"/>
310 <path d="M20.25 12L9 12M20.25 12L15.75 16.5M20.25 12L15.75 7.5" stroke="currentColor" stroke-width="2.25" stroke-linecap="round" stroke-linejoin="round" class="hover-right"/>
311 </svg>`));let UV,$V,VV=t=>t;function YD(t){return Et(UV||(UV=VV`<div class="mt-12">
312 ${0}
313
314 <bci-button
315 @click=${0}
316 ghost
317 variant="neutral"
318 class=${0}
319 >
320 ${0}
321 <span class="text-sm ${0}"
322 >Disconnect</span
323 >
324 </bci-button>
325 </div>`),t?Et($V||($V=VV`<span class="text-xs mb-1 ${0}"
326 >Connected through
327 <span class="font-bold">${0}</span></span
328 >`),Vn,t):null,GRe,v8,YRe,tf)}function GRe(){$t.getState().setModalOpen(!1),setTimeout(()=>{$t.getState().disconnect()},200)}const HV=t=>String.fromCodePoint(...t.split("").map(e=>127397+e.toUpperCase().charCodeAt(0)));let WV,C9,YV,GV,qV,KV,h6=t=>t,m6=(C9=class extends(WV=Tr()(nr)){constructor(){super(),this._isSwitchingCurrency=!1,this._selectedCurrency=$t.getState().currency,$t.subscribe(t=>{this._selectedCurrency=t.currency})}render(){if(!this._isSwitchingCurrency)return Et(YV||(YV=h6`<div class="flex justify-center items-center gap-2">
329 <div
330 class="${0}"
331 @click=${0}
332 >
333 <slot></slot>
334 </div>
335 </div>`),Ra,this._showSelectVisibility);const t=(()=>{const n=[{name:"SATS",value:"sats",flag:"₿"},{name:"BTC",value:"BTC",flag:"₿"},{name:"USD",value:"USD",flag:HV("US")},{name:"EUR",value:"EUR",flag:"🇪🇺"}];return n.push(...Object.entries({JP:"JPY",CN:"CNY",GB:"GBP",CH:"CHF",IN:"INR",AE:"AED",AF:"AFN",AL:"ALL",DZ:"DZD",AO:"AOA",AR:"ARS",AM:"AMD",AW:"AWG",AU:"AUD",AZ:"AZN",BS:"BSD",BH:"BHD",BD:"BDT",BB:"BBD",BY:"BYN",BZ:"BZD",BM:"BMD",BT:"BTN",BO:"BOB",BA:"BAM",BW:"BWP",BR:"BRL",BN:"BND",BG:"BGN",BI:"BIF",CV:"CVE",KH:"KHR",CA:"CAD",KY:"KYD",CF:"XAF",CL:"CLP",CO:"COU",KM:"KMF",CD:"CDF",CR:"CRC",CU:"CUC",CW:"ANG",CZ:"CZK",DK:"DKK",DJ:"DJF",DM:"XCD",DO:"DOP",EG:"EGP",ER:"ERN",ET:"ETB",FJ:"FJD",PF:"XPF",GM:"GMD",GE:"GEL",GH:"GHS",GI:"GIP",GT:"GTQ",GN:"GNF",GY:"GYD",HN:"HNL",HK:"HKD",HU:"HUF",IS:"ISK",ID:"IDR",IR:"XDR",IQ:"IQD",IL:"ILS",JM:"JMD",JO:"JOD",KZ:"KZT",KE:"KES",KR:"KRW",KW:"KWD",KG:"KGS",LA:"LAK",LB:"LBP",LR:"LRD",LY:"LYD",MO:"MOP",MG:"MGA",MW:"MWK",MY:"MYR",MV:"MVR",MR:"MRU",MU:"MUR",MX:"MXN",MD:"MDL",MN:"MNT",MA:"MAD",MZ:"MZN",MM:"MMK",NP:"NPR",NZ:"NZD",NI:"NIO",NE:"XOF",NG:"NGN",MK:"MKD",NO:"NOK",OM:"OMR",PK:"PKR",PG:"PGK",PY:"PYG",PE:"PEN",PH:"PHP",PL:"PLN",QA:"QAR",RO:"RON",RU:"RUB",RW:"RWF",SH:"SHP",WS:"WST",ST:"STN",SA:"SAR",RS:"RSD",SC:"SCR",SL:"SLL",SG:"SGD",SB:"SBD",SO:"SOS",ZA:"ZAR",SS:"SSP",LK:"LKR",SD:"SDG",SR:"SRD",SE:"SEK",SY:"SYP",TW:"TWD",TJ:"TJS",TZ:"TZS",TH:"THB",TO:"TOP",TT:"TTD",TN:"TND",TR:"TRY",TM:"TMT",UG:"UGX",UA:"UAH",UY:"UYU",UZ:"UZS",VU:"VUV",VN:"VND",YE:"YER",ZM:"ZMW",ZW:"ZWL"}).map(([r,o])=>({name:r,value:o,flag:HV(r)}))),n})(),e=this._selectedCurrency||"sats";return Et(GV||(GV=h6`<ul
336 class="h-48 overflow-y-scroll px-4 grid grid-cols-2 gap-3 currencies-list -mb-10"
337 >
338 ${0}
339 </ul>`),t.map(n=>Et(qV||(qV=h6`
340 <li
341 class="${0} flex items-center justify-center py-2 px-4 hover:text-white hover:bg-blue-500 rounded-lg hover:border-blue-500 cursor-pointer"
342 @click=${0}
343 >
344 <span class="text-orange-400 inline-block mr-2 text-xl"
345 >${0}</span
346 ><span class="text-xl">${0}</span>
347 </li>
348 `),e===n.value?"bg-blue-500 text-white":"",()=>this._selectCurrency(n.value),n.flag,n.value)))}_showSelectVisibility(){this._isSwitchingCurrency=!0}_selectCurrency(t){$t.getState().setCurrency(t),this._isSwitchingCurrency=!1}},C9.styles=[...WV.styles,uS(KV||(KV=h6`
349 .currencies-list {
350 mask-image: linear-gradient(
351 to bottom,
352 black calc(100% - 96px),
353 transparent 100%
354 );
355 }
356 /* width */
357 ::-webkit-scrollbar {
358 width: 6px;
359 height: 18px;
360 }
361
362 /* Track */
363 ::-webkit-scrollbar-track {
364 background: #66666666;
365 }
366
367 /* Handle */
368 ::-webkit-scrollbar-thumb {
369 background: #888;
370 }
371
372 /* Handle on hover */
373 ::-webkit-scrollbar-thumb:hover {
374 background: #555;
375 }
376 `))],C9);Dt([Xn()],m6.prototype,"_isSwitchingCurrency",void 0),Dt([Xn()],m6.prototype,"_selectedCurrency",void 0),m6=Dt([Yn("bc-currency-switcher")],m6);let ZV,QV,JV,XV,eH,tH,gw=t=>t,S9=class extends Tr()(nr){constructor(){super(),this._showBalance=void 0,this._showBalance=$t.getState().bitcoinConnectConfig.showBalance&&$t.getState().supports("getBalance"),$t.subscribe(t=>{this._showBalance=t.bitcoinConnectConfig.showBalance&&t.supports("getBalance")})}render(){return Et(ZV||(ZV=gw`<div
377 class="flex flex-col justify-center items-center w-full font-sans"
378 >
379 ${0}
380 </div>`),this._connected?Et(QV||(QV=gw`
381 ${0}
382 ${0}
383 `),Et(this._showBalance?JV||(JV=gw`<span
384 class="text-xs font-medium mb-2 ${0}"
385 >Balance</span
386 >
387 <bc-currency-switcher>
388 <bc-balance class="text-2xl"></bc-balance>
389 </bc-currency-switcher>`):XV||(XV=gw` <span
390 class="text-lg font-medium mt-4 -mb-4 ${0}"
391 >Wallet Connected</span
392 >`),Vn),YD(this._connectorName)):Et(eH||(eH=gw`
393 <h1
394 class="my-8 ${0} w-64 max-w-full text-center"
395 >
396 How would you like to
397 connect${0}?
398 </h1>
399
400 <bc-connector-list></bc-connector-list>
401
402 <div class="flex flex-col items-center w-full font-sans text-sm">
403 <h1 class="mt-8 ${0} text-center">
404 Don't have a bitcoin lightning wallet?
405 <a
406 class="no-underline font-bold ${0} ${0} "
407 @click=${0}
408 >Get one here</a
409 >
410 </h1>
411 </div>
412 `),t2,this._appName&&this._appName!==a8.appName?`
413 to ${this._appName}`:"",t2,Ra,Mo,()=>$t.getState().pushRoute("/new-wallet")))}};Dt([Xn()],S9.prototype,"_showBalance",void 0),S9=Dt([Yn("bc-start")],S9);const qRe=Er(tH||(tH=(t=>t)`<svg width="25" height="24" viewBox="0 0 25 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="w-7 h-7">
414 <path d="M14.2929 16L10.6464 12.3536C10.4512 12.1583 10.4512 11.8417 10.6464 11.6464L14.2929 8" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
415 </svg>
416 `));let nH,rH,KRe=t=>t,E9=class extends Tr()(nr){constructor(){super(...arguments),this._goBack=()=>{$t.getState().popRoute(),$t.getState().setError(void 0)}}render(){return Et(nH||(nH=KRe`<div
417 class="flex justify-center items-center gap-2 w-full relative pb-4"
418 >
419 <div class="absolute left-8 h-full flex items-center justify-center">
420 <div
421 class="${0} ${0}"
422 @click=${0}
423 >
424 ${0}
425 </div>
426 </div>
427 <div class="font-sans font-medium ${0}">
428 ${0}
429 </div>
430 </div>`),Ra,tf,this._goBack,qRe,t2,this.heading)}};Dt([Jo()],E9.prototype,"heading",void 0),E9=Dt([Yn("bc-navbar")],E9);const oH=Er(rH||(rH=(t=>t)`<svg width="25" height="24" viewBox="0 0 25 24" fill="none" xmlns="http://www.w3.org/2000/svg">
431 <path d="M9.5 6H6.1C5.53995 6 5.25992 6 5.04601 6.10899C4.85785 6.20487 4.70487 6.35785 4.60899 6.54601C4.5 6.75992 4.5 7.03995 4.5 7.6V18.4C4.5 18.9601 4.5 19.2401 4.60899 19.454C4.70487 19.6422 4.85785 19.7951 5.04601 19.891C5.25992 20 5.53995 20 6.1 20H16.9C17.4601 20 17.7401 20 17.954 19.891C18.1422 19.7951 18.2951 19.6422 18.391 19.454C18.5 19.2401 18.5 18.9601 18.5 18.4V15" stroke="currentColor" stroke-width="2.25" stroke-linecap="round" stroke-linejoin="round"/>
432 <path d="M14.5 4H20.5M20.5 4V10M20.5 4L11.5 13" stroke="currentColor" stroke-width="2.25" stroke-linecap="round" stroke-linejoin="round" class="hover-right-up"/>
433 </svg>`));let sH,aH,iH,lH=t=>t;function Xoe(t){const e=`border-t ${$D} ${t?"w-24":"w-full"}`;return Et(sH||(sH=lH`<div
434 class="w-full px-8 flex gap-4 justify-center items-center opacity-60 dark:opacity-60"
435 >
436 <hr class=${0} />
437 ${0}
438 </div>`),e,t?Et(aH||(aH=lH`
439 <span class=${0}>${0}</span>
440 <hr class=${0} />
441 `),tf,t,e):null)}const ZRe=Er(iH||(iH=(t=>t)`<svg width="49" height="24" viewBox="0 0 49 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="w-16 h-16 -my-4">
442 <ellipse opacity="0.1" cx="7.70773" cy="21.5226" rx="3.4509" ry="0.637088" fill="black"/>
443 <path d="M11.0342 18.4211C12.817 18.4211 13.6285 14.4735 13.6285 12.9767C13.6285 11.8101 12.8235 11.103 11.7652 11.103C10.7135 11.103 9.85965 11.5553 9.84905 12.1153C9.84902 13.5933 9.5889 18.4211 11.0342 18.4211Z" fill="white" stroke="currentColor" stroke-width="0.530907"/>
444 <path d="M4.52264 18.4211C2.73985 18.4211 1.9284 14.4735 1.9284 12.9767C1.9284 11.8101 2.7334 11.103 3.79171 11.103C4.84341 11.103 5.69723 11.5553 5.70784 12.1153C5.70786 13.5933 5.96799 18.4211 4.52264 18.4211Z" fill="white" stroke="currentColor" stroke-width="0.530907"/>
445 <mask id="path-4-inside-1_362_874" fill="white">
446 <path fill-rule="evenodd" clip-rule="evenodd" d="M12.6445 12.5235C12.6735 12.2374 12.352 12.0646 12.1046 12.2113C10.8114 12.9776 9.30208 13.4175 7.68997 13.4175C6.09291 13.4175 4.59668 12.9858 3.31165 12.2326C3.06376 12.0873 2.74334 12.2612 2.77318 12.547C2.9933 14.6548 4.14156 16.4192 5.71508 17.2405C6.15438 17.4698 6.46173 17.8751 6.77033 18.282C7.0197 18.6108 7.26988 18.9407 7.59116 19.1797C7.62857 19.2075 7.66755 19.2222 7.70759 19.2222C7.74762 19.2222 7.78658 19.2075 7.82397 19.1797C8.14538 18.9407 8.39562 18.6108 8.64504 18.2819C8.9536 17.875 9.26091 17.4698 9.70016 17.2405C11.2796 16.4162 12.4305 14.6418 12.6445 12.5235Z"/>
447 </mask>
448 <path fill-rule="evenodd" clip-rule="evenodd" d="M12.6445 12.5235C12.6735 12.2374 12.352 12.0646 12.1046 12.2113C10.8114 12.9776 9.30208 13.4175 7.68997 13.4175C6.09291 13.4175 4.59668 12.9858 3.31165 12.2326C3.06376 12.0873 2.74334 12.2612 2.77318 12.547C2.9933 14.6548 4.14156 16.4192 5.71508 17.2405C6.15438 17.4698 6.46173 17.8751 6.77033 18.282C7.0197 18.6108 7.26988 18.9407 7.59116 19.1797C7.62857 19.2075 7.66755 19.2222 7.70759 19.2222C7.74762 19.2222 7.78658 19.2075 7.82397 19.1797C8.14538 18.9407 8.39562 18.6108 8.64504 18.2819C8.9536 17.875 9.26091 17.4698 9.70016 17.2405C11.2796 16.4162 12.4305 14.6418 12.6445 12.5235Z" fill="#FFDF6F"/>
449 <path d="M5.71508 17.2405L5.96074 16.7698L5.71508 17.2405ZM6.77033 18.282L6.34731 18.6028H6.34731L6.77033 18.282ZM7.59116 19.1797L7.27429 19.6057L7.27429 19.6057L7.59116 19.1797ZM7.82397 19.1797L8.14076 19.6058L8.14076 19.6058L7.82397 19.1797ZM8.64504 18.2819L8.22202 17.9611L8.22202 17.9611L8.64504 18.2819ZM9.70016 17.2405L9.94582 17.7112H9.94582L9.70016 17.2405ZM12.1046 12.2113L12.3752 12.668L12.1046 12.2113ZM12.6445 12.5235L12.1163 12.4702L12.6445 12.5235ZM11.8339 11.7545C10.6205 12.4737 9.20424 12.8866 7.68997 12.8866V13.9484C9.39992 13.9484 11.0024 13.4815 12.3752 12.668L11.8339 11.7545ZM7.68997 12.8866C6.18981 12.8866 4.78593 12.4813 3.5801 11.7746L3.0432 12.6907C4.40743 13.4902 5.996 13.9484 7.68997 13.9484V12.8866ZM2.24515 12.6022C2.48098 14.8605 3.71574 16.7958 5.46941 17.7111L5.96074 16.7698C4.56738 16.0426 3.50562 14.4492 3.30122 12.4919L2.24515 12.6022ZM5.46941 17.7111C5.78479 17.8758 6.0236 18.1759 6.34731 18.6028L7.19335 17.9612C6.89987 17.5742 6.52397 17.0638 5.96074 16.7698L5.46941 17.7111ZM6.34731 18.6028C6.58755 18.9196 6.88185 19.3137 7.27429 19.6057L7.90804 18.7537C7.65791 18.5676 7.45184 18.302 7.19335 17.9612L6.34731 18.6028ZM7.27429 19.6057C7.38246 19.6861 7.5299 19.7531 7.70759 19.7531V18.6913C7.80519 18.6913 7.87468 18.7289 7.90803 18.7537L7.27429 19.6057ZM7.70759 19.7531C7.8852 19.7531 8.03259 19.6862 8.14076 19.6058L7.50719 18.7537C7.54057 18.7289 7.61005 18.6913 7.70759 18.6913V19.7531ZM8.14076 19.6058C8.53339 19.3138 8.82778 18.9195 9.06806 18.6027L8.22202 17.9611C7.96346 18.302 7.75738 18.5677 7.50719 18.7537L8.14076 19.6058ZM9.06806 18.6027C9.39174 18.1759 9.6305 17.8758 9.94582 17.7112L9.45451 16.7699C8.89133 17.0638 8.51547 17.5741 8.22202 17.9611L9.06806 18.6027ZM9.94582 17.7112C11.706 16.7925 12.9435 14.8462 13.1728 12.5769L12.1163 12.4702C11.9176 14.4373 10.8531 16.0399 9.45451 16.7699L9.94582 17.7112ZM3.5801 11.7746C3.28427 11.6012 2.93961 11.6167 2.67587 11.7666C2.40507 11.9206 2.20605 12.2278 2.24515 12.6022L3.30122 12.4919C3.30493 12.5275 3.29778 12.5713 3.27544 12.6121C3.25447 12.6503 3.22616 12.6752 3.20065 12.6897C3.15164 12.7176 3.09113 12.7188 3.0432 12.6907L3.5801 11.7746ZM12.3752 12.668C12.3274 12.6963 12.2669 12.6954 12.2177 12.6677C12.1921 12.6533 12.1637 12.6286 12.1426 12.5903C12.12 12.5496 12.1127 12.5057 12.1163 12.4702L13.1728 12.5769C13.2106 12.2021 13.0103 11.8954 12.7386 11.7425C12.4741 11.5936 12.1291 11.5796 11.8339 11.7545L12.3752 12.668Z" fill="black" mask="url(#path-4-inside-1_362_874)"/>
450 <ellipse cx="7.72545" cy="12.4621" rx="4.67198" ry="1.55733" fill="black" stroke="black" stroke-width="0.530907"/>
451 <path d="M3.97363 15.0811C3.97363 15.0811 6.27807 15.8597 7.76077 15.8597C9.24347 15.8597 11.5479 15.0811 11.5479 15.0811" stroke="black" stroke-width="0.530907" stroke-linecap="round"/>
452 <circle cx="1.05642" cy="1.05642" r="1.05642" transform="matrix(-1 0 0 1 4.38745 4.74609)" fill="black"/>
453 <path d="M3.15497 5.64404L5.12695 7.61603" stroke="black" stroke-width="0.528211"/>
454 <circle cx="11.9585" cy="5.80252" r="1.05642" fill="black"/>
455 <path d="M12.1522 5.64404L10.1802 7.61603" stroke="black" stroke-width="0.528211"/>
456 <path fill-rule="evenodd" clip-rule="evenodd" d="M3.63088 12.1065C3.0615 11.8354 2.73014 11.2267 2.84114 10.606C3.31755 7.94167 5.303 5.94336 7.67995 5.94336C10.0627 5.94336 12.052 7.95136 12.5222 10.6253C12.6316 11.2472 12.2975 11.8556 11.7262 12.1245C10.5037 12.6998 9.13817 13.0214 7.69756 13.0214C6.24199 13.0214 4.86309 12.6931 3.63088 12.1065Z" fill="#FFDF6F"/>
457 <path d="M12.5222 10.6253L12.7823 10.5796L12.5222 10.6253ZM11.7262 12.1245L11.8386 12.3635L11.7262 12.1245ZM2.84114 10.606L3.10112 10.6525L2.84114 10.606ZM3.63088 12.1065L3.7444 11.868L3.63088 12.1065ZM3.10112 10.6525C3.56146 8.07803 5.46436 6.20746 7.67995 6.20746V5.67925C5.14164 5.67925 3.07364 7.8053 2.58115 10.5595L3.10112 10.6525ZM7.67995 6.20746C9.90088 6.20746 11.8077 8.08716 12.2621 10.6711L12.7823 10.5796C12.2962 7.81556 10.2244 5.67925 7.67995 5.67925V6.20746ZM11.6137 11.8855C10.4257 12.4446 9.09849 12.7573 7.69756 12.7573V13.2855C9.17785 13.2855 10.5817 12.955 11.8386 12.3635L11.6137 11.8855ZM7.69756 12.7573C6.28209 12.7573 4.9419 12.4381 3.7444 11.868L3.51736 12.3449C4.78428 12.9481 6.20189 13.2855 7.69756 13.2855V12.7573ZM12.2621 10.6711C12.3498 11.1697 12.0828 11.6648 11.6137 11.8855L11.8386 12.3635C12.5122 12.0465 12.9134 11.3248 12.7823 10.5796L12.2621 10.6711ZM2.58115 10.5595C2.44814 11.3033 2.84611 12.0254 3.51736 12.3449L3.7444 11.868C3.2769 11.6455 3.01213 11.1501 3.10112 10.6525L2.58115 10.5595Z" fill="black"/>
458 <path fill-rule="evenodd" clip-rule="evenodd" d="M4.64674 11.4442C4.18843 11.2575 3.91656 10.7699 4.07537 10.3012C4.56513 8.8558 5.99378 7.80981 7.67991 7.80981C9.36604 7.80981 10.7947 8.8558 11.2845 10.3012C11.4433 10.7699 11.1714 11.2575 10.7131 11.4442C9.777 11.8254 8.75299 12.0355 7.67991 12.0355C6.60684 12.0355 5.58282 11.8254 4.64674 11.4442Z" fill="black"/>
459 <ellipse cx="8.895" cy="10.0634" rx="0.880351" ry="0.704281" fill="white"/>
460 <ellipse cx="6.37474" cy="10.0639" rx="0.880351" ry="0.704281" fill="white"/>
461 <path d="M25.3078 11.6284L24.3574 9.04272L23.4489 11.6284H25.3078ZM23.1274 5.99577H25.6712L29.2213 15.3882L26.7195 15.6398L26.0346 13.6271H22.75L22.0931 15.5H19.5633L23.1274 5.99577ZM32.463 15.5H29.9193V5.78612L32.463 5.63238V15.5ZM35.1432 15.5H33.8573V5.78612L36.4011 5.63238V14.2281L35.1432 15.5ZM35.5765 11.3629L34.8637 9.72758C35.0314 9.52259 35.2457 9.32691 35.5066 9.14055C35.7768 8.94488 36.075 8.78647 36.4011 8.66534C36.7272 8.54421 37.0627 8.48364 37.4074 8.48364C38.0783 8.48364 38.6747 8.60943 39.1965 8.86102C39.7183 9.1126 40.1283 9.49929 40.4264 10.0211C40.7339 10.5429 40.8877 11.2091 40.8877 12.0198C40.8877 12.8211 40.7339 13.492 40.4264 14.0324C40.1283 14.5729 39.709 14.9782 39.1685 15.2484C38.6374 15.5186 38.0131 15.6537 37.2956 15.6537C37.0161 15.6537 36.7366 15.6118 36.457 15.528C36.1868 15.4441 35.9166 15.3136 35.6464 15.1366C35.3855 14.9502 35.1246 14.708 34.8637 14.4098L35.5765 12.9143C35.8467 13.1659 36.1123 13.3615 36.3732 13.5013C36.6341 13.6318 36.8856 13.697 37.1279 13.697C37.3422 13.697 37.5332 13.6318 37.701 13.5013C37.8687 13.3709 38.0038 13.1799 38.1063 12.9283C38.2088 12.6767 38.26 12.3785 38.26 12.0338C38.26 11.689 38.2088 11.4001 38.1063 11.1672C38.0131 10.9249 37.8733 10.7432 37.687 10.6221C37.5099 10.501 37.2863 10.4404 37.0161 10.4404C36.7925 10.4404 36.5642 10.5243 36.3312 10.692C36.0983 10.8597 35.8467 11.0833 35.5765 11.3629ZM43.4036 15.528L43.4595 15.3742L41.0275 9.14055L43.3757 8.46967L44.7594 12.5509L46.0592 8.72125H48.589L45.6119 16.2967C45.4722 16.6601 45.2439 16.9955 44.9271 17.303C44.6103 17.6105 44.2422 17.8714 43.8229 18.0857C43.4036 18.3 42.9703 18.4584 42.5231 18.5609L41.6705 16.5902C41.8941 16.497 42.1271 16.3945 42.3693 16.2827C42.6209 16.1709 42.8445 16.0498 43.0402 15.9193C43.2359 15.7889 43.357 15.6584 43.4036 15.528Z" fill="currentColor"/>
462 </svg>
463 `));let cH,QRe=t=>t,uH=class extends Tr()(nr){render(){return Et(cH||(cH=QRe`<div>
464 <bc-navbar class="flex w-full" heading="About"></bc-navbar>
465 <div class="font-sans text-sm w-full">
466 <div class="px-8">
467 <div class="font-bold mb-1 ${0}">
468 How does it work?
469 </div>
470 <p class="mb-2 ${0}">
471 Bitcoin Connect is a way to connect to your lightning wallet from
472 any browser.
473 </p>
474 <div class="flex flex-col gap-3 ${0}">
475 <p>
476 💾 Your connection is saved in local storage, so next time you
477 visit the site will connect automatically.
478 </p>
479 <p>
480 💸 Make sure to set budgets and permissions for sites you do not
481 trust.
482 </p>
483 </div>
484 </div>
485
486 <div class="flex gap-4 w-full my-6 px-8">
487 <a
488 href="https://bitcoin-connect.com"
489 target="_blank"
490 class="${0} flex-1"
491 >
492 <bci-button>
493 <span class="${0}">Learn more</span>
494 ${0}
495 </bci-button>
496 </a>
497 <a
498 href="https://github.com/getAlby/bitcoin-connect"
499 target="_blank"
500 class="${0} flex-1"
501 >
502 <bci-button>
503 <span class="${0}">Use it</span>
504 ${0}
505 </bci-button>
506 </a>
507 </div>
508 ${0}
509 <div
510 class="flex w-full justify-center items-center mt-4 gap-1 font-sans"
511 >
512 <span class="block ${0}"
513 >Made with love by</span
514 >
515 <span class="${0}"> ${0} </span>
516 </div>
517 </div>
518 </div>`),Mo,Vn,Vn,v8,Mo,oH,v8,Mo,oH,Xoe(),tf,Yoe,ZRe)}};uH=Dt([Yn("bc-help")],uH);let fH,dH,JRe=t=>t,N9=class extends Tr()(nr){constructor(){super(...arguments),this._nwcUrl=""}render(){return Et(fH||(fH=JRe`<div class="w-full">
519 <bc-navbar class="flex w-full" heading="Nostr Wallet Connect"></bc-navbar>
520 <div class="font-sans text-sm w-full">
521 <div class="px-8 pt-4 w-full">
522 <div class="mb-1 ${0}">
523 Enter your
524 <a
525 href="https://nwc.getalby.com/about"
526 target="_blank"
527 class="font-bold"
528 >Connection Secret
529 </a>
530 below
531 </div>
532
533 <input
534 value=${0}
535 @change=${0}
536 placeholder="nostr+walletconnect://..."
537 type="password"
538 class="w-full mb-8 rounded-lg p-2 border-1 bg-transparent ${0}"
539 />
540 <bci-button variant="primary" @click=${0}>
541 Connect
542 </bci-button>
543 </div>
544 </div>
545 </div>`),Vn,this._nwcUrl,this.nwcUrlChanged,ch,this.onConnect)}nwcUrlChanged(t){this._nwcUrl=t.target.value}async onConnect(){this._nwcUrl?await $t.getState().connect({nwcUrl:this._nwcUrl,connectorName:WD,connectorType:"nwc.generic"}):$t.getState().setError("Please enter a URL")}};Dt([Xn()],N9.prototype,"_nwcUrl",void 0),N9=Dt([Yn("bc-nwc")],N9);const XRe=Er(dH||(dH=(t=>t)`<svg width="25" height="24" viewBox="0 0 25 24" fill="none" xmlns="http://www.w3.org/2000/svg">
546 <path d="M7.5 19C4.73858 19 2.5 16.7614 2.5 14C2.5 11.4673 4.38316 9.37436 6.82568 9.04508C7.63649 6.69118 9.87075 5 12.5 5C15.8137 5 18.5 7.68629 18.5 11C20.7091 11 22.5 12.7909 22.5 15C22.5 17.2091 20.7091 19 18.5 19H7.5Z" stroke="#196CE7" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
547 </svg>`));let pH;const eTe=Er(pH||(pH=(t=>t)`<svg xmlns="http://www.w3.org/2000/svg" width="25" height="24" fill="none"><path fill="#196CE7" d="M18.048 15.842a4.588 4.588 0 0 0-1.202-4.359l-1.35-1.356c-.25-.251-.582-.39-.936-.39h-.003c-.352 0-.683.136-.932.383l-.534.529a.126.126 0 0 1-.178 0l-1.519-1.516a.834.834 0 0 0-1.42.588c0 .222.086.431.243.588l1.514 1.511c.05.05.05.13 0 .18l-.97.963a.127.127 0 0 1-.178 0l-1.52-1.517a.834.834 0 0 0-1.42.588c0 .222.086.431.244.588L9.4 14.134c.05.05.05.13 0 .18l-.442.437c-.251.25-.39.58-.391.933-.001.353.135.685.385.935l1.35 1.357a4.597 4.597 0 0 0 2.247 1.245 4.64 4.64 0 0 0 2.17-.031l2.266 2.262c.367.367.856.568 1.377.568.52 0 1.007-.2 1.373-.565l.59-.586c.369-.366.572-.855.572-1.374.001-.52-.201-1.008-.57-1.376l-2.28-2.277Zm-1.405.948 2.508 2.505a.279.279 0 0 1 0 .397l-.59.585a.283.283 0 0 1-.398 0l-2.495-2.492a1.109 1.109 0 0 0-.79-.326c-.123 0-.246.02-.365.06-.514.172-1.065.2-1.595.08a2.934 2.934 0 0 1-1.434-.794l-.885-.89a.316.316 0 0 1 .002-.448l.655-.65.42-.418 1.576-1.565.334-.334.745-.737a.316.316 0 0 1 .447.001l.886.891a2.93 2.93 0 0 1 .709 2.992c-.133.406-.03.844.27 1.143Z"/><path fill="#196CE7" d="M14.96 21.397a.759.759 0 0 0-1.07-.001 1.829 1.829 0 0 1-2.584-.006L2.73 12.772a1.829 1.829 0 0 1 .006-2.583l6.295-6.271a1.814 1.814 0 0 1 1.288-.532h.004c.488 0 .946.192 1.29.538l7.538 7.544a.821.821 0 0 0 .585.242.827.827 0 0 0 .587-1.407l-7.658-7.72-.011-.011a3.51 3.51 0 0 0-2.432-.883 3.511 3.511 0 0 0-2.39 1.026L1.538 8.986A3.5 3.5 0 0 0 .5 11.476a3.501 3.501 0 0 0 1.026 2.493l8.576 8.618a3.502 3.502 0 0 0 2.49 1.038h.01c.938 0 1.82-.365 2.486-1.027a.752.752 0 0 0 .223-.535.752.752 0 0 0-.222-.537l-.13-.13Z"/><path fill="#196CE7" d="m24.286 10.688-2.928-8.631-.006-.019-.023-.05A2.731 2.731 0 0 0 20.482.93a2.79 2.79 0 0 0-2.469-.442c-.44.132-.832.368-1.162.7l-1.224 1.23a.844.844 0 0 0-.248.593.844.844 0 0 0 .24.596c.16.165.375.256.605.258h.005a.843.843 0 0 0 .602-.25l1.224-1.23c.25-.252.595-.361.945-.298.345.061.627.276.777.59l2.912 8.588.003.01.004.01c.07.183.105.375.105.571 0 .427-.166.828-.469 1.13l-2.006 1.997a.843.843 0 0 0-.25.6.847.847 0 0 0 1.449.602l2.006-1.997a3.276 3.276 0 0 0 .969-2.332c0-.4-.072-.794-.214-1.168Z"/></svg>`));let hH;const tTe=Er(hH||(hH=(t=>t)`<svg width="25" height="24" fill="none" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 25 24"><path fill-rule="evenodd" clip-rule="evenodd" d="M12.432 0h.136c1.702 0 3.074 0 4.153.143 1.12.15 2.063.468 2.812 1.209.75.74 1.071 1.673 1.222 2.781.145 1.067.145 2.424.145 4.107v7.52c0 1.683 0 3.04-.145 4.107-.15 1.107-.473 2.04-1.222 2.781-.749.74-1.692 1.06-2.812 1.209-1.08.143-2.45.143-4.153.143h-.136c-1.702 0-3.074 0-4.153-.143-1.12-.15-2.063-.468-2.812-1.209-.75-.74-1.071-1.674-1.222-2.781C4.1 18.8 4.1 17.443 4.1 15.76V8.24c0-1.683 0-3.04.145-4.107.15-1.108.473-2.04 1.222-2.781C6.216.612 7.159.292 8.279.143 9.358 0 10.73 0 12.432 0ZM6.787 2.657c.344-.34.828-.562 1.74-.684.94-.125 2.187-.127 3.973-.127s3.032.002 3.972.127c.913.122 1.397.344 1.741.684.345.34.57.82.692 1.722.126.93.128 2.162.128 3.929v7.384c0 1.767-.002 3-.128 3.929-.123.903-.347 1.381-.692 1.722-.344.34-.828.562-1.74.684-.94.125-2.187.127-3.973.127s-3.032-.002-3.972-.127c-.913-.122-1.397-.344-1.741-.684-.345-.34-.57-.82-.692-1.722-.126-.93-.128-2.162-.128-3.929V8.308c0-1.767.002-3 .128-3.929.123-.903.347-1.381.692-1.722Z" fill="#196CE7"/><path d="M9.078 19.361c0-.497.418-.9.933-.9h4.978c.515 0 .933.403.933.9s-.418.9-.933.9H10.01c-.515 0-.933-.403-.933-.9Z" fill="#196CE7"/></svg>`));let mH,gH,nTe=t=>t,yH=class extends Tr()(nr){render(){return Et(mH||(mH=nTe`<div class="w-full">
548 <bc-navbar
549 class="flex w-full"
550 heading=${0}
551 ></bc-navbar>
552 <div class="font-sans text-sm w-full">
553 <div
554 class="px-8 pt-4 w-full flex flex-col items-center justify-center gap-4"
555 >
556 <div class="mb-2 ${0}">
557 Choose how to connect
558 </div>
559
560 <bci-button @click=${0} class="w-full">
561 ${0}
562 <span class="${0}">Alby Cloud</span>
563 </bci-button>
564
565 <bci-button @click=${0} class="w-full">
566 ${0}
567 <span class="${0}">Alby Go</span>
568 </bci-button>
569
570 <bci-button @click=${0} class="w-full">
571 ${0}
572 <span class="${0}"
573 >Connection Secret</span
574 >
575 </bci-button>
576 </div>
577 </div>
578 </div>`),"Connect "+Qoe,Vn,this.onClickAlbyCloud,XRe,Mo,this.onClickAlbyGo,tTe,Mo,this.onClickConnectionSecret,eTe,Mo)}async onClickAlbyCloud(){try{var t;const e=$t.getState().bitcoinConnectConfig.providerConfig,n=await iS.NWCClient.fromAuthorizationUrl("https://my.albyhub.com/apps/new",Uu({},(e==null||(t=e.nwc)==null?void 0:t.authorizationUrlOptions)||{},{name:this._appName}));n.close(),await $t.getState().connect({nwcUrl:n.nostrWalletConnectUrl,connectorName:"Alby Hub",connectorType:"nwc.albyhub"})}catch(e){console.error(e),alert(""+e)}}async onClickConnectionSecret(){$t.getState().pushRoute("/nwc")}async onClickAlbyGo(){$t.getState().pushRoute("/alby-go")}};yH=Dt([Yn("bc-alby-hub")],yH);const GD=Er(gH||(gH=(t=>t)`<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
579 <path d="M11.4962 11.2367C11.7716 11.1782 12.0214 11.0339 12.2098 10.8247C12.424 10.5868 12.5206 10.2261 12.7139 9.50486L13.6802 5.89873C13.8734 5.17744 13.9701 4.81679 13.9035 4.50368C13.845 4.22827 13.7007 3.97845 13.4915 3.79004C13.2536 3.57585 12.893 3.47921 12.1717 3.28594L8.56554 2.31969C7.84425 2.12642 7.4836 2.02978 7.17049 2.09633C6.89507 2.15488 6.64525 2.29911 6.45684 2.50836C6.24265 2.74624 6.14602 3.10689 5.95275 3.82818L5.5 5.50024" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"/>
580 <path d="M11.0135 10.1009L10.0473 6.49473C9.85398 5.77344 9.75735 5.41279 9.54316 5.17491C9.35475 4.96566 9.10493 4.82142 8.82951 4.76288C8.5164 4.69633 8.15576 4.79296 7.43447 4.98623L3.82834 5.95249C3.10705 6.14576 2.7464 6.2424 2.50852 6.45659C2.29927 6.645 2.15504 6.89481 2.0965 7.17023C2.02994 7.48334 2.12658 7.84399 2.31985 8.56528L3.28611 12.1714C3.47938 12.8927 3.57601 13.2533 3.7902 13.4912C3.97861 13.7005 4.22843 13.8447 4.50385 13.9032C4.81696 13.9698 5.1776 13.8732 5.89889 13.6799L9.50502 12.7136C10.2263 12.5204 10.587 12.4237 10.8248 12.2095C11.0341 12.0211 11.1783 11.7713 11.2369 11.4959C11.3034 11.1828 11.2068 10.8221 11.0135 10.1009Z" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"/>
581 </svg>`));let vH;const qD=Er(vH||(vH=(t=>t)`<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
582 <path d="M5.33341 5.33341V4.80008C5.33341 4.05334 5.33341 3.67998 5.47874 3.39476C5.60657 3.14388 5.81054 2.9399 6.06143 2.81207C6.34664 2.66675 6.72001 2.66675 7.46675 2.66675H11.2001C11.9468 2.66675 12.3202 2.66675 12.6054 2.81207C12.8563 2.9399 13.0603 3.14388 13.1881 3.39476C13.3334 3.67998 13.3334 4.05334 13.3334 4.80008V8.53342C13.3334 9.28015 13.3334 9.65352 13.1881 9.93874C13.0603 10.1896 12.8563 10.3936 12.6054 10.5214C12.3202 10.6667 11.9468 10.6667 11.2001 10.6667H10.6667M10.6667 7.46675V11.2001C10.6667 11.9468 10.6667 12.3202 10.5214 12.6054C10.3936 12.8563 10.1896 13.0603 9.93874 13.1881C9.65352 13.3334 9.28015 13.3334 8.53342 13.3334H4.80008C4.05334 13.3334 3.67998 13.3334 3.39476 13.1881C3.14388 13.0603 2.9399 12.8563 2.81207 12.6054C2.66675 12.3202 2.66675 11.9468 2.66675 11.2001V7.46675C2.66675 6.72001 2.66675 6.34664 2.81207 6.06143C2.9399 5.81054 3.14388 5.60657 3.39476 5.47874C3.67998 5.33341 4.05334 5.33341 4.80008 5.33341H8.53342C9.28015 5.33341 9.65352 5.33341 9.93874 5.47874C10.1896 5.60657 10.3936 5.81054 10.5214 6.06143C10.6667 6.34664 10.6667 6.72001 10.6667 7.46675Z" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"/>
583 </svg>`));let wH,bH,xH=t=>t,g6=class extends Tr()(nr){constructor(){super(),this._hasCopiedAuthString=!1,this.initAlbyGo()}disconnectedCallback(){var t;super.disconnectedCallback(),(t=this._unsub)==null||t.call(this)}render(){return Et(wH||(wH=xH`<div class="w-full">
584 <bc-navbar class="flex w-full" heading="Connect Alby Hub with Alby Go"></bc-navbar>
585 <div class="font-sans text-sm w-full">
586 <div
587 class="px-8 pt-4 w-full flex flex-col items-center justify-center gap-4"
588 >
589 <div class="mb-2 text-center ${0}">
590 Scan with your camera, QR code scanner app, or from Alby Go -> Send
591 </div>
592
593 <div class="flex justify-center items-center">
594 ${0}
595 <p class="${0}">Waiting for connection</p>
596 </div>
597
598 ${0}
599
600 <bci-button
601 @click=${0}
602 class="
603 flex gap-1 w-full
604 mt-4
605 ${0} ${0} font-semibold text-xs"
606 >
607 ${0}
608 ${0}
609 </bci-button>
610 </div>
611 </div>
612 </div>
613 </div>`),Vn,kg(`w-7 h-7 ${Vn}`),Vn,this.renderQR(),this._copyAuthString,Mo,Ra,this._hasCopiedAuthString?GD:qD,this._hasCopiedAuthString?"Copied!":"Copy")}renderQR(){if(!this._authString)return null;const t=this._authString;return setTimeout(()=>{var e;const n=(e=this.shadowRoot)==null?void 0:e.getElementById("qr");if(!n)return void console.error("qr canvas not found");const r=n.getContext("2d");if(!r)return void console.error("could not get context for qr canvas");const o=MD(0,"L");o.addData(t),o.make();const s=o.getModuleCount();n.width=4*s,n.height=4*s,o.renderTo2dContext(r,4)},100),Et(bH||(bH=xH`
614 <!-- add margin only on dark mode because on dark mode the qr has a white border -->
615 <canvas id="qr" class="dark:bg-white dark:p-4"></canvas>
616 `))}_copyAuthString(){this._authString&&(navigator.clipboard.writeText(this._authString),this._hasCopiedAuthString=!0,setTimeout(()=>{this._hasCopiedAuthString=!1},2e3))}async initAlbyGo(){try{var t;const e=(t=$t.getState().bitcoinConnectConfig.providerConfig)==null||(t=t.nwc)==null?void 0:t.authorizationUrlOptions,n=e==null?void 0:e.expiresAt;let r=e==null?void 0:e.requestMethods;r||(r=["get_info","get_balance","get_budget","pay_invoice","list_transactions","lookup_invoice","make_invoice"]);const o=new iS.NWAClient({name:this._appName,icon:this._appIcon,relayUrl:"wss://relay.getalby.com/v1",requestMethods:r,notificationTypes:e==null?void 0:e.notificationTypes,maxAmount:e==null?void 0:e.maxAmount,budgetRenewal:e==null?void 0:e.budgetRenewal,expiresAt:n?Math.floor(n.getTime()/1e3):void 0,isolated:e==null?void 0:e.isolated,metadata:e==null?void 0:e.metadata,returnTo:e==null?void 0:e.returnTo});this._authString=o.getConnectionUri("alby"),window.location.href=this._authString;const{unsub:s}=await o.subscribe({onSuccess:async function(a){a.close(),$t.getState().connect({nwcUrl:a.nostrWalletConnectUrl,connectorName:"Alby Hub",connectorType:"nwc.albyhub"})}});this._unsub=s}catch(e){console.error(e),alert(""+e)}}};Dt([Xn()],g6.prototype,"_authString",void 0),Dt([Xn()],g6.prototype,"_hasCopiedAuthString",void 0),g6=Dt([Yn("bc-alby-go")],g6);let kH,jH,rTe=t=>t,y6=class extends Tr()(nr){constructor(){super(...arguments),this._lnbitsAdminKey="",this._lnbitsUrl=""}render(){return Et(kH||(kH=rTe`<div class="w-full">
617 <bc-navbar
618 class="flex w-full"
619 heading=${0}
620 ></bc-navbar>
621 <div class="font-sans text-sm w-full">
622 <div class="px-8 pt-4 w-full">
623 <div class="mb-4 ${0}">
624 In LNbits, choose the wallet you want to connect, open it, click on
625 API docs and copy the Admin Key. Paste it below:
626 </div>
627
628 <div class="mb-1 ${0}">
629 LNbits Admin Key
630 </div>
631 <input
632 value=${0}
633 @change=${0}
634 type="password"
635 placeholder="Your 32 digit admin key"
636 class="w-full mb-8 rounded-lg p-2 border-1 bg-transparent ${0}"
637 />
638 <div class="mb-1 ${0}">
639 LNbits URL
640 </div>
641
642 <input
643 value=${0}
644 @change=${0}
645 placeholder="https://legend.lnbits.com"
646 class="w-full mb-8 rounded-lg p-2 border-1 bg-transparent ${0}"
647 />
648 <bci-button variant="primary" @click=${0}>
649 Connect
650 </bci-button>
651 </div>
652 </div>
653 </div>`),x8,t2,Vn,this._lnbitsAdminKey,this._lnbitsAdminKeyChanged,ch,Vn,this._lnbitsUrl,this._lnbitsUrlChanged,ch,this.onConnect)}_lnbitsAdminKeyChanged(t){this._lnbitsAdminKey=t.target.value}_lnbitsUrlChanged(t){this._lnbitsUrl=t.target.value}async onConnect(){if(!this._lnbitsAdminKey)return void $t.getState().setError("Please enter your admin key");if(!this._lnbitsUrl)return void $t.getState().setError("Please enter your LNbits instance URL");let t=this._lnbitsUrl;t.endsWith("/")&&(t=t.substring(0,t.length-1)),await $t.getState().connect({lnbitsAdminKey:this._lnbitsAdminKey,lnbitsInstanceUrl:t,connectorName:x8,connectorType:"lnbits"})}};Dt([Xn()],y6.prototype,"_lnbitsAdminKey",void 0),Dt([Xn()],y6.prototype,"_lnbitsUrl",void 0),y6=Dt([Yn("bc-lnbits")],y6);const ese=Er(jH||(jH=(t=>t)`
654 <svg width="150" height="150" viewBox="0 0 150 150" version="1.1" xml:space="preserve"
655 xmlns:xlink="http://www.w3.org/1999/xlink"
656 xmlns="http://www.w3.org/2000/svg"
657 xmlns:svg="http://www.w3.org/2000/svg"
658 class="w-32 h-32 mt-4"
659 >
660 <circle id="ring" cx="75" cy="75" r="48.5" fill="none" stroke="currentColor" stroke-width="5" transform="rotate(-90 75 75)" stroke-dasharray="400 400" stroke-dashoffset="400">
661 <animate attributeName="stroke-dashoffset" begin="0.1s" dur="1.5s" values="500; 80; 0" fill="freeze" calcMode="spline" keyTimes="0; 0.99; 1" keySplines="0.28 0.4 0.38 1; 0 0 1 1"/>
662 <animate attributeName="r" begin="1.8s" dur=".8s" values="47; 65" fill="freeze"/>
663 <animate attributeName="stroke-width" begin="1.8s" dur=".8s" values="6; 0" fill="freeze"/>
664 </circle>
665 <circle id="circle" cx="75" cy="75" r="0" fill="currentColor" stroke="none">
666 <animate attributeName="r" begin="1.4s" dur=".5s" fill="freeze" calcMode="spline" values="0; 60; 50" keyTimes="0; 0.75; 1" keySplines="0.25 0.1 0.25 1; 0.25 0.1 0.25 1"/>
667 </circle>
668 <path id="check" d="M 51.749354,79.542286 63.437424,91.567026 98.46891,58.494402" fill="none" stroke="#ffffff" stroke-width="7" stroke-linecap="round" stroke-dasharray="65 65" stroke-dashoffset="65">
669 <animate attributeName="stroke-dashoffset" begin="1.8s" dur=".5s" values="65; 0" fill="freeze" calcMode="spline" keyTimes="0; 1" keySplines="0.42 0 0.58 1"/>
670 </path>
671 </svg>
672 `));let CH;const oTe=Er(CH||(CH=(t=>t)`<svg width="25" height="24" viewBox="0 0 25 24" fill="none" xmlns="http://www.w3.org/2000/svg">
673 <path d="M4.5 6.5V17C4.5 18.6569 5.84315 20 7.5 20H17.5C19.1569 20 20.5 18.6569 20.5 17V12C20.5 10.3431 19.1569 9 17.5 9H16.5M4.5 6.5C4.5 7.88071 5.61929 9 7 9H16.5M4.5 6.5C4.5 5.11929 5.61929 4 7 4H14.5C15.6046 4 16.5 4.89543 16.5 6V9" stroke="currentColor" stroke-width="2" stroke-linecap="square" stroke-linejoin="round"/>
674 <path d="M16 15.375C16.4832 15.375 16.875 14.9832 16.875 14.5C16.875 14.0168 16.4832 13.625 16 13.625C15.5168 13.625 15.125 14.0168 15.125 14.5C15.125 14.9832 15.5168 15.375 16 15.375Z" fill="white" stroke="currentColor" stroke-width="0.75"/>
675 </svg>`));let SH;const sTe=Er(SH||(SH=(t=>t)`<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
676 <path fill-rule="evenodd" clip-rule="evenodd" d="M3 6C3 4.34315 4.34315 3 6 3H8C9.65685 3 11 4.34315 11 6V8C11 9.65685 9.65685 11 8 11H6C4.34315 11 3 9.65685 3 8V6ZM6 5C5.44772 5 5 5.44772 5 6V8C5 8.55228 5.44772 9 6 9H8C8.55228 9 9 8.55228 9 8V6C9 5.44772 8.55228 5 8 5H6ZM13 6C13 4.34315 14.3431 3 16 3H18C19.6569 3 21 4.34315 21 6V8C21 9.65685 19.6569 11 18 11H16C14.3431 11 13 9.65685 13 8V6ZM16 5C15.4477 5 15 5.44772 15 6V8C15 8.55228 15.4477 9 16 9H18C18.5523 9 19 8.55228 19 8V6C19 5.44772 18.5523 5 18 5H16ZM3 16C3 14.3431 4.34315 13 6 13H8C9.65685 13 11 14.3431 11 16V18C11 19.6569 9.65685 21 8 21H6C4.34315 21 3 19.6569 3 18V16ZM6 15C5.44772 15 5 15.4477 5 16V18C5 18.5523 5.44772 19 6 19H8C8.55228 19 9 18.5523 9 18V16C9 15.4477 8.55228 15 8 15H6ZM14 13C14.5523 13 15 13.4477 15 14V15H16C16.5523 15 17 15.4477 17 16C17 16.5523 16.5523 17 16 17H14C13.4477 17 13 16.5523 13 16V14C13 13.4477 13.4477 13 14 13ZM17 14C17 13.4477 17.4477 13 18 13H20C20.5523 13 21 13.4477 21 14C21 14.5523 20.5523 15 20 15H18C17.4477 15 17 14.5523 17 14ZM17 18C17 17.4477 17.4477 17 18 17H20C20.5523 17 21 17.4477 21 18C21 18.5523 20.5523 19 20 19H19V20C19 20.5523 18.5523 21 18 21C17.4477 21 17 20.5523 17 20V18Z" fill="currentColor"/>
677 <path d="M15 20C15 20.5523 14.5523 21 14 21C13.4477 21 13 20.5523 13 20C13 19.4477 13.4477 19 14 19C14.5523 19 15 19.4477 15 20Z" fill="currentColor"/>
678 <path d="M8 17C8 17.5523 7.55228 18 7 18C6.44772 18 6 17.5523 6 17C6 16.4477 6.44772 16 7 16C7.55228 16 8 16.4477 8 17Z" fill="currentColor"/>
679 <path d="M8 7C8 7.55228 7.55228 8 7 8C6.44772 8 6 7.55228 6 7C6 6.44772 6.44772 6 7 6C7.55228 6 8 6.44772 8 7Z" fill="currentColor"/>
680 <path d="M18 7C18 7.55228 17.5523 8 17 8C16.4477 8 16 7.55228 16 7C16 6.44772 16.4477 6 17 6C17.5523 6 18 6.44772 18 7Z" fill="currentColor"/>
681 </svg>`));let EH,NH,IH,AH,_H,MH,RH,TH,DH,LH,PH,OH,zH,FH,BH,UH,$H,VH,Zs=t=>t,zf=class extends Tr()(nr){constructor(){super(...arguments),this._hasCopiedInvoice=!1,this._isPaying=!1,this._showQR=!1,this._qr=null,this.paymentMethods="all"}updated(t){super.updated(t),t.has("paid")&&this.paid&&setTimeout(()=>{HD()},3e3)}renderHeading(t){return Et(EH||(EH=Zs`
682 <h2 class="text-2xl mb-6 ${0}">
683 <span
684 class="font-bold font-mono text-4xl align-bottom ${0}"
685 >${0}</span
686 > sats
687 </h2>
688 `),Vn,Mo,t.satoshi.toLocaleString(void 0,{useGrouping:!0}))}renderPaidState(){return Et(NH||(NH=Zs`
689 <div
690 class="flex flex-col justify-center items-center ${0}"
691 >
692 <p class="font-bold">Paid!</p>
693 ${0}
694 </div>
695 `),Mo,ese)}renderPayingState(){return Et(IH||(IH=Zs`
696 <div class="flex flex-col justify-center items-center">
697 <p class="${0} mb-5">Paying...</p>
698 ${0}
699 </div>
700 `),Vn,kg(`w-48 h-48 ${Mo}`))}renderPaymentConfirmation(){return Et(AH||(AH=Zs`
701 <bci-button variant="primary" @click=${0}>
702 <span class="-ml-0.5">${0}</span>
703 Confirm Payment
704 </bci-button>
705 ${0}
706 `),this._payInvoice,Zw,YD(this._connectorName))}renderWaitingForPayment(){return Et(_H||(_H=Zs`
707 <div class="flex justify-center items-center">
708 ${0}
709 <p class="${0}">Waiting for payment</p>
710 </div>
711 `),kg(`w-7 h-7 ${Mo}`),Vn)}renderConnectWalletMobile(){let t=null,e=null,n=null;return this.paymentMethods!=="all"&&this.paymentMethods!=="internal"||(t=Et(MH||(MH=Zs`
712 <bci-button block @click=${0}>
713 <span class="-ml-0.5">${0}</span>Connect Wallet
714 </bci-button>
715 `),this._onClickConnectWallet,Zw)),this.paymentMethods!=="all"&&this.paymentMethods!=="external"||(e=Et(RH||(RH=Zs`
716 <bci-button block @click=${0}>
717 ${0} Copy & Display Invoice
718 </bci-button>
719 `),this._copyAndDisplayInvoice,sTe),this._showQR&&(n=this.renderQR())),Et(TH||(TH=Zs`
720 <div class="mt-8 w-full flex flex-col gap-4">
721 ${0}
722 ${0} ${0}
723 </div>
724 ${0}
725 `),this.paymentMethods==="all"||this.paymentMethods==="external"?Et(DH||(DH=Zs`<a href="lightning:${0}">
726 <bci-button variant="primary" block>
727 ${0} Open in a Bitcoin Wallet
728 </bci-button>
729 </a>`),this.invoice,oTe):null,t,e,n)}renderConnectWalletDesktop(){let t=null;this.paymentMethods!=="all"&&this.paymentMethods!=="internal"||(t=Et(LH||(LH=Zs`
730 <div class="${0}">
731 <bci-button variant="primary" @click=${0}>
732 <span class="-ml-0.5">${0}</span>
733 Connect Wallet to Pay
734 </bci-button>
735 </div>
736 `),this.paymentMethods!=="internal"?"mt-8":"",this._onClickConnectWallet,Zw));let e=null;this.paymentMethods==="all"&&(e=Et(PH||(PH=Zs` <div class="w-full py-8">${0}</div> `),Xoe("or")));let n=null;return this.paymentMethods!=="all"&&this.paymentMethods!=="external"||(n=Et(OH||(OH=Zs`
737 <div
738 class="flex flex-col items-center ${0}"
739 >
740 <p class="font-medium ${0}">
741 Scan to Pay
742 </p>
743 ${0}
744 </div>
745 `),this.paymentMethods==="external"?"mt-8":"",Vn,this.renderQR())),Et(zH||(zH=Zs` ${0} ${0} ${0} `),t,e,n)}renderQR(){if(!this._showQR||!this.invoice)return null;const t=this.invoice;return setTimeout(()=>{var e;const n=(e=this.shadowRoot)==null?void 0:e.getElementById("qr");if(!n)return void console.error("qr canvas not found");const r=n.getContext("2d");if(!r)return void console.error("could not get context for qr canvas");const o=MD(0,"L");o.addData(t),o.make();const s=o.getModuleCount();n.width=4*s,n.height=4*s,o.renderTo2dContext(r,4)},100),Et(FH||(FH=Zs`
746 <!-- add margin only on dark mode because on dark mode the qr has a white border -->
747 <a href="lightning:${0}" class="dark:mt-2">
748 <canvas id="qr" class="dark:bg-white dark:p-4"></canvas>
749 </a>
750 <a
751 @click=${0}
752 class="
753 flex gap-1
754 mt-4
755 ${0} ${0} font-semibold text-xs"
756 >
757 ${0}
758 ${0}
759 </a>
760 `),this.invoice,this._copyInvoice,Mo,Ra,this._hasCopiedInvoice?GD:qD,this._hasCopiedInvoice?"Copied!":"Copy Invoice")}renderMemo(t){return t.description?Et(BH||(BH=Zs`
761 <p class="text-center mb-6 ${0}">
762 ${0}
763 </p>
764 `),tf,t.description):null}render(){if(!this.invoice)return null;let t;try{t=new QC({pr:this.invoice})}catch(r){return console.error(r),$t.getState().setError(r.message),null}const e=window.innerWidth<600;let n;return e||(this._showQR=!0),n=this.paid?this.renderPaidState():this._isPaying?this.renderPayingState():this._connected?this.renderPaymentConfirmation():Et(UH||(UH=Zs`
765 ${0}
766 ${0}
767 `),this.paymentMethods!=="internal"?this.renderWaitingForPayment():null,e?this.renderConnectWalletMobile():this.renderConnectWalletDesktop()),Et($H||($H=Zs`
768 <div class="flex flex-col justify-center items-center font-sans w-full">
769 ${0} ${0}
770 ${0}
771 </div>
772 `),this.renderHeading(t),this.renderMemo(t),n)}_onClickConnectWallet(){this.dispatchEvent(new Event("onclickconnectwallet",{bubbles:!0,composed:!0}))}_copyAndDisplayInvoice(){this._copyInvoice(),this._showQR=!0}_copyInvoice(){this.invoice&&(navigator.clipboard.writeText(this.invoice),this._hasCopiedInvoice=!0,setTimeout(()=>{this._hasCopiedInvoice=!1},2e3))}async _payInvoice(){this._isPaying=!0;try{const t=$t.getState().provider;if(!t)throw new Error("No WebLN provider available");if(!this.invoice)throw new Error("No invoice to pay");const e=await t.sendPayment(this.invoice);if(!e.preimage)throw new Error("No preimage in result");this.dispatchEvent(new CustomEvent("bc:onpaid",{bubbles:!0,composed:!0,detail:e})),this.paid=!0}catch(t){console.error(t),$t.getState().setError(t.message)}this._isPaying=!1}};Dt([Xn()],zf.prototype,"_hasCopiedInvoice",void 0),Dt([Xn()],zf.prototype,"_isPaying",void 0),Dt([Xn()],zf.prototype,"_showQR",void 0),Dt([Xn()],zf.prototype,"_qr",void 0),Dt([Jo({type:String})],zf.prototype,"invoice",void 0),Dt([Jo({type:Boolean})],zf.prototype,"paid",void 0),Dt([Jo({type:String,attribute:"payment-methods"})],zf.prototype,"paymentMethods",void 0),zf=Dt([Yn("bc-send-payment")],zf);const aTe=Er(VH||(VH=(t=>t)`<svg class="w-full h-full" width="192" height="192" viewBox="0 0 192 192" fill="none" xmlns="http://www.w3.org/2000/svg">
773 <path d="M177.882 96.0013C177.882 114.714 162.712 129.884 144 129.884C125.287 129.884 110.117 114.714 110.117 96.0013C110.117 77.2886 125.287 62.1189 144 62.1189C162.712 62.1189 177.882 77.2886 177.882 96.0013Z" fill="white"/>
774 <path fill-rule="evenodd" clip-rule="evenodd" d="M144 64.2353C126.457 64.2353 112.235 78.4568 112.235 96C112.235 113.543 126.457 127.765 144 127.765C161.543 127.765 175.765 113.543 175.765 96C175.765 78.4568 161.543 64.2353 144 64.2353ZM108 96C108 76.1177 124.118 60 144 60C163.882 60 180 76.1177 180 96C180 115.882 163.882 132 144 132C124.118 132 108 115.882 108 96Z" fill="black"/>
775 <path fill-rule="evenodd" clip-rule="evenodd" d="M144 118.589C156.475 118.589 166.588 108.476 166.588 96.0011C166.588 83.5259 156.475 73.4128 144 73.4128C131.524 73.4128 121.411 83.5259 121.411 96.0011C121.411 108.476 131.524 118.589 144 118.589ZM144 114.001C153.941 114.001 162 105.942 162 96.0011C162 86.06 153.941 78.0011 144 78.0011C134.058 78.0011 126 86.06 126 96.0011C126 105.942 134.058 114.001 144 114.001Z" fill="black"/>
776 <path fill-rule="evenodd" clip-rule="evenodd" d="M144 82.8984C136.765 82.8984 130.899 88.764 130.899 95.9996C130.899 103.235 136.765 109.101 144 109.101L144 82.8984Z" fill="black"/>
777 <path d="M55.7364 131.166C53.2442 131.712 50.6554 132 47.9994 132C40.7095 132 33.9257 129.833 28.2569 126.108C26.8497 124.095 26.2183 122.987 25.7577 122.179C25.5295 121.778 25.3433 121.452 25.1253 121.125C22.9779 117.671 21.8543 113.235 21.6093 108.023C20.8504 91.8729 30.6653 81.56 40.6919 79.8672C47.0478 78.7942 52.0988 79.8809 55.9729 81.9526C52.5479 81 48.465 80.9425 43.8103 82.275C32.5268 85.912 28.7654 96.9708 30.3776 109.217C33.1913 124.562 48.2372 130.062 55.7364 131.166Z" fill="url(#paint0_linear_1428_3405)"/>
778 <path d="M23.5983 122.469C21.4995 118.742 19.5989 113.182 19.3614 108.129C18.5557 90.9843 29.0332 79.5543 40.317 77.6493C55.698 75.0526 64.2491 84.1583 67.197 90.9166C67.3202 90.8336 67.3704 90.669 67.3053 90.5274C62.4584 79.9882 52.4338 72.7507 40.854 72.7507C27.7055 72.7507 15.9732 82.1827 12 96.2003C12.0564 106.587 16.512 115.933 23.5983 122.469Z" fill="url(#paint1_linear_1428_3405)"/>
779 <path d="M68.2493 125.768C65.6525 127.538 62.8124 128.977 59.7892 130.025C58.3376 129.772 56.7293 129.457 55.597 129.235C55.0604 129.13 54.6305 129.046 54.3751 128.999C47.5271 127.749 35.2831 123.336 32.6008 108.867C31.8428 103.049 32.3857 97.6932 34.3078 93.4449C36.2015 89.2598 39.4695 86.0514 44.4537 84.4316C50.2465 82.8534 55.0469 83.6356 58.6125 85.5507C57.7348 85.3655 56.8276 85.2684 55.8993 85.2684C48.1838 85.2684 41.9291 91.9698 41.9291 100.236C41.9291 103.537 42.9263 106.588 44.6156 109.063C44.6156 109.063 49.4514 118.198 62.6156 117.381C74.3533 116.653 80.4488 106.125 81.1752 102.236C81.5528 100.215 81.7502 98.1303 81.7502 95.9997C81.7502 77.3603 66.6399 62.25 48.0004 62.25C33.896 62.25 21.8122 70.9021 16.7672 83.1884C15.0631 85.4082 13.5958 87.8694 12.4135 90.5306C15.0482 73.244 29.9777 60 48.0004 60C67.8826 60 84.0001 76.1176 84.0001 95.9997C84.0001 108.374 77.7573 119.289 68.2493 125.768Z" fill="url(#paint2_linear_1428_3405)"/>
780 <defs>
781 <linearGradient id="paint0_linear_1428_3405" x1="34.4824" y1="89.8251" x2="34.4273" y2="121.82" gradientUnits="userSpaceOnUse">
782 <stop offset="0.0297309" stop-color="#FA3C3C"/>
783 <stop offset="1" stop-color="#BC1870"/>
784 </linearGradient>
785 <linearGradient id="paint1_linear_1428_3405" x1="29.5809" y1="74.6307" x2="27.7982" y2="106.635" gradientUnits="userSpaceOnUse">
786 <stop stop-color="#FF9F2F"/>
787 <stop offset="1" stop-color="#FA3C3C"/>
788 </linearGradient>
789 <linearGradient id="paint2_linear_1428_3405" x1="54.75" y1="131.25" x2="54.8489" y2="94.125" gradientUnits="userSpaceOnUse">
790 <stop stop-color="#5B09AD"/>
791 <stop offset="1" stop-color="#BC1870"/>
792 </linearGradient>
793 </defs>
794 </svg>`));let HH,iTe=t=>t,WH=class extends Tr()(nr){render(){return Et(HH||(HH=iTe`<div>
795 <bc-navbar
796 class="flex w-full"
797 heading="Get a bitcoin lightning wallet"
798 ></bc-navbar>
799
800 <div class="flex flex-col gap-5 w-full my-6 px-8 font-sans text-sm">
801 <div class="flex flex-row justify-center items-center space-x-4">
802 <div class="w-20 h-20 flex items-center justify-center">
803 <div
804 class="p-2 bg-black drop-shadow rounded-xl flex items-center justify-center"
805 >
806 ${0}
807 </div>
808 </div>
809 <p class="flex-1 text-sm ${0}">
810 To get the best self-custodial bitcoin lightning wallet that can
811 connect to apps, try
812 <a
813 href="https://albyhub.com"
814 target="_blank"
815 class="no-underline font-bold ${0} ${0}"
816 >Alby Hub</a
817 >.
818 </p>
819 </div>
820 <div class="flex flex-row items-center space-x-4">
821 <div class="w-20 h-20">${0}</div>
822 <p class="flex-1 text-sm ${0}">
823 For a quick setup of a custodial wallet, you can choose between
824 <a
825 href="https://primal.net"
826 target="_blank"
827 class="no-underline font-bold ${0} ${0}"
828 >Primal</a
829 >
830 or
831 <a
832 href="https://coinos.io"
833 target="_blank"
834 class="no-underline font-bold ${0} ${0}"
835 >Coinos</a
836 >.
837 </p>
838 </div>
839 </div>
840 </div>`),Zoe,Vn,Ra,Mo,aTe,Vn,Ra,Mo,Ra,Mo)}};WH=Dt([Yn("bc-new-wallet")],WH);let YH,lTe=t=>t,I9=class extends Tr()(nr){constructor(){super(...arguments),this._nwcUrl=""}render(){return Et(YH||(YH=lTe`<div class="w-full">
841 <bc-navbar class="flex w-full" heading="LN Link"> </bc-navbar>
842 <div class="font-sans text-sm w-full">
843 <div class="px-8 pt-4 w-full">
844 <div class="mb-2 ${0}">
845 1. Add a new
846 <a
847 href="https://github.com/lnfi-network/ln-node/tree/main/LNLink"
848 target="_blank"
849 class="font-bold"
850 >Wallet Connection
851 </a>
852 from
853 <span class="${0}"
854 >LN Node => Generate NWC</span
855 >
856 and copy the Connection Secret.
857 </div>
858 <div class="mb-1 ${0}">
859 2. Paste the Connection Secret below:
860 </div>
861
862 <input
863 value=${0}
864 @change=${0}
865 placeholder="nostr+walletconnect://..."
866 type="password"
867 class="w-full mb-8 rounded-lg p-2 border-1 bg-transparent ${0}"
868 />
869 <bci-button variant="primary" @click=${0}>
870 Connect
871 </bci-button>
872 </div>
873 </div>
874 </div>`),Vn,tf,Vn,this._nwcUrl,this.nwcUrlChanged,ch,this.onConnect)}nwcUrlChanged(t){this._nwcUrl=t.target.value}async onConnect(){this._nwcUrl?await $t.getState().connect({nwcUrl:this._nwcUrl,connectorName:WD,connectorType:"nwc.generic"}):$t.getState().setError("Please enter a URL")}};Dt([Xn()],I9.prototype,"_nwcUrl",void 0),I9=Dt([Yn("bc-lnfi")],I9);let GH,cTe=t=>t,qH=class extends Tr()(nr){connectedCallback(){super.connectedCallback(),this._timeout=setTimeout(()=>{HD(),$t.setState({route:"/start"})},3e3)}disconnectedCallback(){super.disconnectedCallback(),this._timeout&&clearTimeout(this._timeout)}render(){return Et(GH||(GH=cTe`<div
875 class="flex flex-col justify-center items-center w-full mt-8 ${0}"
876 >
877 <p class="font-bold">Connected!</p>
878 ${0}
879 </div>`),Mo,ese)}};qH=Dt([Yn("bc-connected")],qH);let KH,ZH,QH=t=>t,v6=class extends Tr()(nr){constructor(){super(),this._hasCopiedAuthString=!1,this.initAlbyGo()}disconnectedCallback(){var t;super.disconnectedCallback(),(t=this._unsub)==null||t.call(this)}render(){return Et(KH||(KH=QH`<div class="w-full">
880 <bc-navbar class="flex w-full" heading="Connect Flash Wallet"></bc-navbar>
881 <div class="font-sans text-sm w-full">
882 <div
883 class="px-8 pt-4 w-full flex flex-col items-center justify-center gap-4"
884 >
885 <div class="mb-2 text-center ${0}">
886 Scan with your camera, or by clicking "Send" in the Flash Wallet
887 </div>
888
889 <div class="flex justify-center items-center">
890 ${0}
891 <p class="${0}">Waiting for connection</p>
892 </div>
893
894
895 ${0}
896
897
898 <bci-button
899 @click=${0}
900 class="
901 flex gap-1 w-full
902 mt-4
903 ${0} ${0} font-semibold text-xs"
904 >
905 ${0}
906 ${0}
907 </bci-button>
908 </div>
909
910 <div class="flex flex-col items-center w-full font-sans text-sm">
911 <h1 class="mt-8 ${0} text-center">
912 Don't have the Flash Wallet app?
913 <a
914 class="no-underline font-bold ${0} ${0}"
915 href="https://paywithflash.com/wallet" target="_blank"
916 >Download one here</a>
917 </h1>
918 </div>
919 </div>
920 </div>
921 </div>`),Vn,kg(`w-7 h-7 ${Vn}`),Vn,this.renderQR(),this._copyAuthString,Mo,Ra,this._hasCopiedAuthString?GD:qD,this._hasCopiedAuthString?"Copied!":"Copy",t2,Ra,Mo)}renderQR(){if(!this._authString)return null;const t=this._authString;return setTimeout(()=>{var e;const n=(e=this.shadowRoot)==null?void 0:e.getElementById("qr");if(!n)return void console.error("qr canvas not found");const r=n.getContext("2d");if(!r)return void console.error("could not get context for qr canvas");const o=MD(0,"L");o.addData(t),o.make();const s=o.getModuleCount();n.width=4*s,n.height=4*s,o.renderTo2dContext(r,4)},100),Et(ZH||(ZH=QH`
922 <!-- add margin only on dark mode because on dark mode the qr has a white border -->
923 <canvas id="qr" class="dark:bg-white dark:p-4"></canvas>
924 `))}_copyAuthString(){this._authString&&(navigator.clipboard.writeText(this._authString),this._hasCopiedAuthString=!0,setTimeout(()=>{this._hasCopiedAuthString=!1},2e3))}async initAlbyGo(){try{var t;const e=(t=$t.getState().bitcoinConnectConfig.providerConfig)==null||(t=t.nwc)==null?void 0:t.authorizationUrlOptions,n=e==null?void 0:e.expiresAt;let r=e==null?void 0:e.requestMethods;r||(r=["get_info","get_balance","get_budget","pay_invoice","list_transactions","lookup_invoice","make_invoice"]);const o=new iS.NWAClient({name:this._appName,icon:this._appIcon,relayUrl:"wss://nwclay.paywithflash.com",requestMethods:r,notificationTypes:e==null?void 0:e.notificationTypes,maxAmount:e==null?void 0:e.maxAmount,budgetRenewal:e==null?void 0:e.budgetRenewal,expiresAt:n?Math.floor(n.getTime()/1e3):void 0,isolated:e==null?void 0:e.isolated,metadata:e==null?void 0:e.metadata,returnTo:e==null?void 0:e.returnTo});this._authString=o.connectionUri,window.location.href=this._authString;const{unsub:s}=await o.subscribe({onSuccess:async function(a){a.close(),$t.getState().connect({nwcUrl:a.nostrWalletConnectUrl,connectorName:"Flash Wallet",connectorType:"nwc.flash"})}});this._unsub=s}catch(e){console.error(e),alert(""+e)}}};Dt([Xn()],v6.prototype,"_authString",void 0),Dt([Xn()],v6.prototype,"_hasCopiedAuthString",void 0),v6=Dt([Yn("bc-flash-wallet")],v6);let JH,uTe=t=>t,A9=class extends Tr()(nr){constructor(){super(...arguments),this._nwcUrl=""}render(){return Et(JH||(JH=uTe`<div class="w-full">
925 <bc-navbar
926 class="flex w-full"
927 heading=${0}
928 ></bc-navbar>
929 <div class="font-sans text-sm w-full">
930 <div class="px-8 pt-4 w-full">
931 <div class="mb-2 ${0}">
932 1. In LNBits, go to Plugins and enable the NWC plugin.
933 </div>
934 <div class="mb-1 ${0}">
935 2. Create a new connection and update the relay from "nostrclient"
936 to <span class="font-semibold">wss://relay.getalby.com/v1</span>,
937 then copy the connection secret.
938 </div>
939 <div class="mb-1 ${0}">
940 3. Paste the Connection Secret below.
941 </div>
942
943 <div class="px-8 pt-4 w-full">
944 <div class="mb-1 ${0}">
945 Enter your
946 <a
947 href="https://nwc.getalby.com/about"
948 target="_blank"
949 class="font-bold"
950 >Connection Secret
951 </a>
952 below
953 </div>
954
955 <input
956 value=${0}
957 @change=${0}
958 placeholder="nostr+walletconnect://..."
959 type="password"
960 class="w-full mb-8 rounded-lg p-2 border-1 bg-transparent ${0}"
961 />
962 <bci-button variant="primary" @click=${0}>
963 Connect
964 </bci-button>
965 </div>
966 </div>
967 </div>
968 </div>`),k8,Vn,Vn,Vn,Vn,this._nwcUrl,this.nwcUrlChanged,ch,this.onConnect)}nwcUrlChanged(t){this._nwcUrl=t.target.value}async onConnect(){this._nwcUrl?await $t.getState().connect({nwcUrl:this._nwcUrl,connectorName:k8,connectorType:"nwc.lnbits"}):$t.getState().setError("Please enter a URL")}};Dt([Xn()],A9.prototype,"_nwcUrl",void 0),A9=Dt([Yn("bc-lnbits-nwc")],A9);let XH,eW,fTe=t=>t,_9=class extends Tr()(nr){constructor(){super(...arguments),this._nwcUrl=""}render(){return Et(XH||(XH=fTe`<div class="w-full">
969 <bc-navbar
970 class="flex w-full"
971 heading=${0}
972 ></bc-navbar>
973 <div class="font-sans text-sm w-full">
974 <div class="px-8 pt-4 w-full">
975 <div class="mb-2 ${0}">
976 1. In Primal Mobile, click on
977 <span class="font-semibold">your profile image</span> on the top
978 left, then go to
979 <span class="font-semibold">Settings -> Wallet</span>. Ensure
980 <span class="font-semibold">Use Primal wallet</span>
981 is toggled on. Scroll to
982 <span class="font-semibold">Connected Apps</span>
983 at the bottom of the page, and click
984 <span class="font-semibold">create a new wallet connection</span>.
985 Enter a name, then press next, and press
986 <span class="font-semibold">create wallet connection</span>. Then
987 press <span class="font-semibold">the copy button</span>
988 </div>
989 <div class="mb-1 ${0}">
990 2. Paste the Connection Secret below.
991 </div>
992
993 <div class="px-8 pt-4 w-full">
994 <div class="mb-1 ${0}">
995 Enter your
996 <a
997 href="https://nwc.getalby.com/about"
998 target="_blank"
999 class="font-bold"
1000 >Connection Secret
1001 </a>
1002 below
1003 </div>
1004
1005 <input
1006 value=${0}
1007 @change=${0}
1008 placeholder="nostr+walletconnect://..."
1009 type="password"
1010 class="w-full mb-8 rounded-lg p-2 border-1 bg-transparent ${0}"
1011 />
1012 <bci-button variant="primary" @click=${0}>
1013 Connect
1014 </bci-button>
1015 </div>
1016 </div>
1017 </div>
1018 </div>`),j8,Vn,Vn,Vn,this._nwcUrl,this.nwcUrlChanged,ch,this.onConnect)}nwcUrlChanged(t){this._nwcUrl=t.target.value}async onConnect(){this._nwcUrl?await $t.getState().connect({nwcUrl:this._nwcUrl,connectorName:j8,connectorType:"nwc.primal"}):$t.getState().setError("Please enter a URL")}};Dt([Xn()],_9.prototype,"_nwcUrl",void 0),_9=Dt([Yn("bc-primal")],_9);const dTe=Er(eW||(eW=(t=>t)`<svg class="w-20 h-20" width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
1019 <rect width="17.2816" height="20" fill="url(#pattern0_6321_527)"/>
1020 <defs>
1021 <pattern id="pattern0_6321_527" patternContentUnits="objectBoundingBox" width="1" height="1">
1022 <use xlink:href="#image0_6321_527" transform="matrix(0.00248348 0 0 0.00214592 0.1 0.05)"/>
1023 </pattern>
1024 <image id="image0_6321_527" width="404" height="404" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAIAAAAiOjnJAAAI7ElEQVR4nOzdW4xUdwHH8XOZc+bGXrLscBnaRQKitEhECMEb2igVTUwk8cVYfJKl+mDCC4mgKcagMRF8NAs+SgwagSwPYGNMjKnRxuWlrdi6tNKWRdy1XPY+l3OMO80pgf0flpn5za3fz9PJ+e/M/Be+03P4z+mZxHM7X7SAenOaPQF0JsKCBGFBgrAgQViQICxIEBYkCAsShAUJwoIEYUGCsCBBWJAgLEgQFiQICxKEBYlEsyewGDuwq3+sbVf/YJUwtMIafqd21IphfeTpP3avfK26x65Yt3n5YxvrPaNaTU4kz3y3u9mzaCgOhZAgLEgQFiQICxKEBQnCggRhQYKwINGcBdLVT4wmUrdNo9nls36mp8qnDsLS9J3qZ6bh2t6Or/qm0VLBuTxsHG1TzQmrb+3f/ewbptFUd95PV7lObVtheW6yhqlJuE5iyxcyptH5aa/zwuJQCAnCggRhQYKwIEFYkCAsSBAWJFTrWF7KcszR2o5l29U23YrXHuN+qrDWf/qX6Z7/mkZ7+vMJ/wOmUScmScvq7upJpdM1TxBaHAohQViQICxIEBYkCAsShAUJwoIEYUGCsCBBWJAgLEgQFiQICxKEBQnCggRhQYKwINGKN7dtV+ZLpkPLKcwa/6iLcx34t9CBv1JT2Anf71lhGp2cSJ75DndNBmpGWJAgLEgQFiQICxKEBQnCggRhQUK1QPrr3780HbxlGvVTGdt1TaMLXzloXMX2fN91W25d13YcxzfeUaI451593TON9qfXfXz112RTaw7V39BfXn7rxuSo6Mk7zLqeHZ0XFodCSBAWJBp6stLf33/p0qXK9pUrV/bt21fZ3rt375EjRyrbQ0NDp06dquOLPv2pj35735ce3P/jod/+9fKrD+7fv3//gQMHKtvHjh07d+5cZfvEiRO7du2qbO/Zs2diYqKOk+w8DQ3L87xt27Y9uD+Xy0X78/l8fV+0r7dr84fWPri/u2vxr4rI5/PRZHK5XLR/w4YN0X7PM56Jo4JDISQICxKqQ+EPv7Xb79pa2f7G939T2bh582Z0pNu0adP169cr22fPno32Dw4ORvsPHTp0+vRp0QxNjh8/fvLkycr24cOHo8kcPHgwOve6ePFidJRcs2ZNFa/Snck9u+XdX83pxMstVb9SNuml0/d/o1UQBDdu3Khs5xdUtn3fj/bfe5qVzWZF04sxtSCaWDSZmZmZaJK5XK7Gc0HHdtNWb82TbV0cCiFBWJBoxNH9/E+/Xtm4O1uIzrdGRkaibwIYHBwMw7CyffTo0Wj/0NBQtH/79u0jIyNLfMXdn9n68x88G/8z9/7AVwaPvfzamw/+zIEFle3h4eELFy5UtvP5fHRYjGY4Njb20POt53a+uMRfod3xXyxIEBYkGvoPXce21z/WZ1mWm/DmC+VrY+9+KjI+Ph4d5sbGxqKfv3btWrR/eno6/slTSX/D2lWV7YHV/Y80sfUDq6LtRY+JlmWNjo5GkykWi9H+aOf4+PiiD1yZ/aBjGa8R6lS26Kj/4d0P+S6dq2/f+ub3flHHV9y8ceD8ySO1P8+Gzx6ox3Tec2jn8529srAoDoWQICxINO3DhGwm+cmPbVx8zLZiLk1OJDzXXeT9MJDP1WVin/vElsUHHNdJ3P9ZQmR+2v336OInUh35ic1DNe0cK+GnTKOO48R82WV3d29Tvq/Q9lJ+t/HfBDdH0xd+sqyxM2ppHAohQViQICxIEBYkCAsShAUJwoLE+3HtrkphGAaBadC2g9Qy47s0CKzCjPGxHYmwlioszRdujZlGe/v9Z07Mm0YnJ5JnDr+/7ppMWPVj/LAgdqhDcY4FCcKCBGFBgrAgQViQICxIEBYk2m8da25utlQqmkb9ZNL3k42dERbRfmEVCvOFgnGN23YcwmoFHAohQViQICxIEBYkCAsShAUJwoJE+61jtajYC5ctK0hmVe/h+ZnACkXPXT3Cqo+wXIy5cNl3E8/8zPhpQY1+dWjlzO2Wu6CesBrEfJeTzsQ5FiQICxKEBQnCggRhQYKwIEFYkOi0dazC/HzsCnichOelUprb5gbl0swd06DtuF1rNsc82nbKMf+T/tYvTxZny6bRl55Pzd59hJnWS6eFVSwWisVCdY9NpdOqsKywPDtpGnMSyUzfQMxjnUQxJqwnnxoJysZl/X/+OT17twmf+HAohARhQYKwIEFYkCAsSBAWJAgLErJ1rDBrhcbFlTCwg8C4phfz1V9L/IHqLFxdHHNfZMu2Je/D/79uKWbtLbSsuHWsMCjHrAn7aTuZNT64MBuEmotPVV8rF+/JLw772TdMo119q/xUxjQa/6VzOn4y2dvbJ3ryWlYw4/8svJ6VtuuZRod/1Dv+L+NoLTpt5b1NCd8oduxV0bIX5hwLEoQFCcKCBGFBgrAgQViQICxIsI61VKVSaWrSeJGv47qZTLaxM2pphLVUQbk8MzNtGvU8n7DuxaEQEoQFCcKCBGFBgrAgQViQICxINGkdK8xYYbdxMHBa8MLlePGXNTdRGDbnjsrNCeuVS5+PGd341O+yy/9hGl3Wm0tmukyj9oKaJ/jISqXixPjNxr/uQ63qzrnN+EvmUAgJwoIEYUGCsCBBWJAgLEgQFiQICxKteAXpO9eemJrIG4fXv13u/Y9p0Etl/GT1N6h1nPZ7pxVm7oTmmz+88oee0nzKNDp9yxXNqhXDmnj9cct63DSa6bllJW6bRm3H8Xzjn2O8pizZ1644NxWabxnz6p9Sk+PJxs7I4lAIFcKCBGFBgrAgQViQICxIEBYkWnEdK14YpuIuaw69mMua4zm205zLeGsTBstirj8Ow+YszrVfWFdf2GFZO0yjA9v+tnzdC9U9cyLh+r7kFsJSl8/vn51suSNPy00InYGwIEFYkCAsSBAWJAgLEoQFCcKCRPstkMZ7582BmdtVLnI6tu24qkt1dQpzrXjha6eFNTW+Ymp8RbNnAQ6F0CAsSBAWJAgLEoQFCcKCBGFBgrAgQViQICxIEBYkCAsShAUJwoIEYUGCsCBBWJAgLEj8LwAA///HwPpEhsXv3wAAAABJRU5ErkJggg=="/>
1025 </defs>
1026 </svg>
1027 `)),S8="Cashu.me";let tW=class extends lc{constructor(){super("nwc.cashume",S8,"#7f38ca",dTe)}async _onClick(){$t.getState().pushRoute("/cashu-me")}};tW=Dt([Yn("bc-cashu-me-connector")],tW);let nW,pTe=t=>t,M9=class extends Tr()(nr){constructor(){super(...arguments),this._nwcUrl=""}render(){return Et(nW||(nW=pTe`<div class="w-full">
1028 <bc-navbar
1029 class="flex w-full"
1030 heading=${0}
1031 ></bc-navbar>
1032 <div class="font-sans text-sm w-full">
1033 <div class="px-8 pt-4 w-full">
1034 <div class="mb-2 ${0}">
1035 1. Open
1036 <a href="https://wallet.cashu.me" target="_blank" class="font-bold"
1037 >Cashu.me
1038 </a>
1039 , click on the <span class="font-semibold">hamburger menu</span> on
1040 the top left, then click
1041 <span class="font-semibold">Settings</span>. Scroll down to
1042 <span class="font-semibold">Nostr Wallet Connect</span>
1043 and enable NWC, and then press the copy button.
1044 </div>
1045 <div class="mb-1 ${0}">
1046 2. Keep the Cashu.me browser tab open while using Bitcoin Connect.
1047 </div>
1048 <div class="mb-1 ${0}">
1049 3. Paste the Connection Secret below:
1050 </div>
1051
1052 <div class="px-8 pt-4 w-full">
1053 <div class="mb-1 ${0}">
1054 Enter your
1055 <a
1056 href="https://nwc.getalby.com/about"
1057 target="_blank"
1058 class="font-bold"
1059 >Connection Secret
1060 </a>
1061 below
1062 </div>
1063
1064 <input
1065 value=${0}
1066 @change=${0}
1067 placeholder="nostr+walletconnect://..."
1068 type="password"
1069 class="w-full mb-8 rounded-lg p-2 border-1 bg-transparent ${0}"
1070 />
1071 <bci-button variant="primary" @click=${0}>
1072 Connect
1073 </bci-button>
1074 </div>
1075 </div>
1076 </div>
1077 </div>`),S8,Vn,Vn,Vn,Vn,this._nwcUrl,this.nwcUrlChanged,ch,this.onConnect)}nwcUrlChanged(t){this._nwcUrl=t.target.value}async onConnect(){this._nwcUrl?await $t.getState().connect({nwcUrl:this._nwcUrl,connectorName:S8,connectorType:"nwc.cashume"}):$t.getState().setError("Please enter a URL")}};Dt([Xn()],M9.prototype,"_nwcUrl",void 0),M9=Dt([Yn("bc-cashu-me")],M9);let rW,hTe=t=>t,R9=class extends Tr()(nr){constructor(){super(...arguments),this._nwcUrl=""}render(){return Et(rW||(rW=hTe`<div class="w-full">
1078 <bc-navbar
1079 class="flex w-full"
1080 heading=${0}
1081 ></bc-navbar>
1082 <div class="font-sans text-sm w-full">
1083 <div class="px-8 pt-4 w-full">
1084 <div class="mb-2 ${0}">
1085 1. Open
1086 <a href="https://rizful.com/w" target="_blank" class="font-bold"
1087 >Rizful Wallet
1088 </a>
1089 </div>
1090 <div class="mb-2 ${0}">
1091 2. Click on
1092 <span class="semibold"
1093 >Hamburger Menu -> NWC -> Get NWC codes -> New Connection</span
1094 >. Then click <span class="semibold">Get Connection Code</span> and
1095 click
1096 <span class="semibold">Copy Connection Code</span>
1097 </div>
1098
1099 <div class="mb-1 ${0}">
1100 3. Paste the Connection Secret below:
1101 </div>
1102
1103 <div class="px-8 pt-4 w-full">
1104 <div class="mb-1 ${0}">
1105 Enter your
1106 <a
1107 href="https://nwc.getalby.com/about"
1108 target="_blank"
1109 class="font-bold"
1110 >Connection Secret
1111 </a>
1112 below
1113 </div>
1114
1115 <input
1116 value=${0}
1117 @change=${0}
1118 placeholder="nostr+walletconnect://..."
1119 type="password"
1120 class="w-full mb-8 rounded-lg p-2 border-1 bg-transparent ${0}"
1121 />
1122 <bci-button variant="primary" @click=${0}>
1123 Connect
1124 </bci-button>
1125 </div>
1126 </div>
1127 </div>
1128 </div>`),C8,Vn,Vn,Vn,Vn,this._nwcUrl,this.nwcUrlChanged,ch,this.onConnect)}nwcUrlChanged(t){this._nwcUrl=t.target.value}async onConnect(){this._nwcUrl?await $t.getState().connect({nwcUrl:this._nwcUrl,connectorName:C8,connectorType:"nwc.rizful"}):$t.getState().setError("Please enter a URL")}};Dt([Xn()],R9.prototype,"_nwcUrl",void 0),R9=Dt([Yn("bc-rizful")],R9);let oW,sW,aW,iW,lW,cW,uW,fW,dW,pW,hW,mW,gW,yW,vi=t=>t;const mTe={"/start":Et(oW||(oW=vi`<bc-start class="flex w-full"></bc-start>`)),"/help":Et(sW||(sW=vi`<bc-help class="flex w-full"></bc-help>`)),"/nwc":Et(aW||(aW=vi`<bc-nwc class="flex w-full"></bc-nwc>`)),"/lnfi":Et(iW||(iW=vi`<bc-lnfi class="flex w-full"></bc-lnfi>`)),"/alby-hub":Et(lW||(lW=vi`<bc-alby-hub class="flex w-full"></bc-alby-hub>`)),"/alby-go":Et(cW||(cW=vi`<bc-alby-go class="flex w-full"></bc-alby-go>`)),"/lnbits":Et(uW||(uW=vi`<bc-lnbits class="flex w-full"></bc-lnbits>`)),"/lnbits-nwc":Et(fW||(fW=vi`<bc-lnbits-nwc class="flex w-full"></bc-lnbits-nwc>`)),"/flash-wallet":Et(dW||(dW=vi`<bc-flash-wallet
1129 class="flex w-full"
1130 ></bc-flash-wallet>`)),"/primal":Et(pW||(pW=vi`<bc-primal class="flex w-full"></bc-primal>`)),"/cashu-me":Et(hW||(hW=vi`<bc-cashu-me class="flex w-full"></bc-cashu-me>`)),"/rizful":Et(mW||(mW=vi`<bc-rizful class="flex w-full"></bc-rizful>`)),"/new-wallet":Et(gW||(gW=vi`<bc-new-wallet class="flex w-full"></bc-new-wallet>`)),"/connected":Et(yW||(yW=vi`<bc-connected class="flex w-full"></bc-connected>`))};let vW,wW,gTe=t=>t,bW=class extends Tr()(nr){render(){return Et(vW||(vW=gTe`<div class="flex flex-col w-full">${0}</div>`),mTe[this._route])}};bW=Dt([Yn("bc-router-outlet")],bW);const yTe=Er(wW||(wW=(t=>t)`<svg width="25" height="24" viewBox="0 0 25 24" fill="none" xmlns="http://www.w3.org/2000/svg">
1131 <path d="M7.6665 7.16699L12.4998 12.0003M12.4998 12.0003L17.3332 16.8337M12.4998 12.0003L17.3332 7.16699M12.4998 12.0003L7.6665 16.8337" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"/>
1132 </svg>`));let xW;const vTe=Er(xW||(xW=(t=>t)`<svg width="25" height="24" viewBox="0 0 25 24" fill="none" xmlns="http://www.w3.org/2000/svg">
1133 <path d="M12.665 18.33C13.5404 18.3311 14.4074 18.1592 15.2162 17.8242C16.025 17.4892 16.7596 16.9977 17.3778 16.3778C17.9977 15.7596 18.4892 15.025 18.8242 14.2162C19.1592 13.4074 19.3311 12.5404 19.33 11.665C19.3311 10.7896 19.1592 9.92256 18.8242 9.11378C18.4892 8.305 17.9976 7.5704 17.3778 6.95218C16.7596 6.33235 16.025 5.84079 15.2162 5.50577C14.4074 5.17075 13.5404 4.99887 12.665 5.00001C11.7896 4.99889 10.9226 5.17078 10.1138 5.5058C9.305 5.84082 8.5704 6.33236 7.95218 6.95218C7.33236 7.5704 6.84082 8.305 6.5058 9.11378C6.17078 9.92256 5.99889 10.7896 6.00001 11.665C5.99887 12.5404 6.17075 13.4074 6.50577 14.2162C6.84079 15.025 7.33235 15.7596 7.95218 16.3778C8.5704 16.9976 9.305 17.4892 10.1138 17.8242C10.9226 18.1592 11.7896 18.3311 12.665 18.33Z" stroke="currentColor" stroke-width="1.5" stroke-linejoin="round"/>
1134 <path d="M12.6649 12.9149V11.9152C12.9615 11.9152 13.2515 11.8272 13.4981 11.6625C13.7447 11.4977 13.9369 11.2635 14.0504 10.9895C14.1639 10.7155 14.1936 10.4139 14.1357 10.123C14.0779 9.83215 13.935 9.56495 13.7253 9.35523C13.5156 9.14551 13.2484 9.00269 12.9575 8.94483C12.6666 8.88697 12.3651 8.91667 12.091 9.03017C11.817 9.14366 11.5828 9.33587 11.418 9.58247C11.2532 9.82908 11.1653 10.119 11.1653 10.4156" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
1135 <path fill-rule="evenodd" clip-rule="evenodd" d="M12.6653 15.7497C12.8642 15.7497 13.055 15.6707 13.1956 15.5301C13.3363 15.3895 13.4153 15.1987 13.4153 14.9999C13.4153 14.801 13.3363 14.6103 13.1956 14.4696C13.055 14.329 12.8642 14.25 12.6653 14.25C12.4664 14.25 12.2756 14.329 12.135 14.4696C11.9943 14.6103 11.9153 14.801 11.9153 14.9999C11.9153 15.1987 11.9943 15.3895 12.135 15.5301C12.2756 15.6707 12.4664 15.7497 12.6653 15.7497Z" fill="currentColor"/>
1136 </svg>
1137 `));let kW,jW,CW,T9=t=>t,w6=class extends Tr()(nr){render(){return Et(kW||(kW=T9`<div
1138 class="flex justify-center items-center gap-2 w-full relative"
1139 >
1140 <div
1141 class="absolute right-0 h-full flex items-center justify-center gap-2"
1142 >
1143 ${0}
1144 ${0}
1145 </div>
1146 <div class="flex items-center justify-center">
1147 <slot></slot>
1148 </div>
1149 </div>`),this.showHelp?Et(jW||(jW=T9`<div
1150 class="${0} ${0}"
1151 @click=${0}
1152 >
1153 ${0}
1154 </div>`),Ra,tf,()=>$t.getState().pushRoute("/help"),vTe):null,this.closable?Et(CW||(CW=T9`<div
1155 class="${0} ${0}"
1156 @click=${0}
1157 >
1158 ${0}
1159 </div>`),Ra,tf,this._handleClose,yTe):null)}_handleClose(){this.dispatchEvent(new Event("onclose",{bubbles:!0,composed:!0}))}};Dt([Jo({type:Boolean})],w6.prototype,"closable",void 0),Dt([Jo({type:Boolean,attribute:"show-help"})],w6.prototype,"showHelp",void 0),w6=Dt([Yn("bc-modal-header")],w6);let SW,wTe=t=>t,EW=class extends Tr()(nr){constructor(){super(...arguments),this._handleClose=()=>{HD()}}render(){return Et(SW||(SW=wTe` <div
1160 class="fixed top-0 left-0 w-full h-full flex justify-center items-end sm:items-center z-[21000]"
1161 >
1162 <div
1163 class="absolute top-0 left-0 w-full h-full -z-10 bg-black animate-darken"
1164 @click=${0}
1165 ></div>
1166 <div
1167 class="transition-all p-4 pt-6 pb-8 rounded-2xl shadow-2xl flex justify-center items-center w-full bg-white dark:bg-black max-w-md max-sm:rounded-b-none
1168 animate-fade-in max-sm:animate-slide-up"
1169 >
1170 <slot @onclose=${0}></slot>
1171 </div>
1172 </div>`),this._handleClose,this._handleClose)}};EW=Dt([Yn("bc-modal")],EW);let NW,IW,bTe=t=>t,AW=class extends Tr()($0){render(){return Et(NW||(NW=bTe`
1173 <div class="flex flex-col items-center justify-center w-full">
1174 ${0}
1175 <p class="text-center font-sans ${0}">
1176 Connecting to wallet...
1177 </p>
1178 ${0}
1179 </div>
1180 `),kg(`w-20 h-20 ${tf} mb-4`),Vn,YD(void 0))}};AW=Dt([Yn("bci-connecting")],AW);const xTe=Er(IW||(IW=(t=>t)`<svg width="116" height="14" viewBox="0 0 116 14" fill="none" xmlns="http://www.w3.org/2000/svg">
1181 <path d="M6.88623 4.23009C7.4526 4.23009 7.94227 4.33038 8.35525 4.53097C8.76823 4.73156 9.11041 5.00295 9.3818 5.34513C9.65319 5.68732 9.85378 6.0885 9.98357 6.54867C10.1134 7.00885 10.1783 7.50443 10.1783 8.0354C10.1783 8.84956 10.0249 9.62242 9.71809 10.354C9.4231 11.0737 9.01602 11.705 8.49685 12.2478C7.97767 12.7788 7.3641 13.2035 6.65614 13.5221C5.94817 13.8289 5.18121 13.9823 4.35525 13.9823C4.24905 13.9823 4.06026 13.9764 3.78888 13.9646C3.52929 13.9646 3.2284 13.941 2.88622 13.8938C2.54404 13.8466 2.17826 13.7758 1.78888 13.6814C1.41129 13.587 1.05141 13.4572 0.709229 13.292L3.77118 0.424778L6.51454 0L5.4172 4.56637C5.65318 4.46018 5.88917 4.37758 6.12516 4.31858C6.36115 4.25959 6.61484 4.23009 6.88623 4.23009ZM4.58534 11.8053C4.99832 11.8053 5.3877 11.705 5.75348 11.5044C6.11926 11.3038 6.43195 11.0384 6.69153 10.708C6.96292 10.3658 7.17531 9.9823 7.3287 9.55752C7.4821 9.13274 7.55879 8.69027 7.55879 8.23009C7.55879 7.66372 7.4644 7.22124 7.27561 6.90266C7.08681 6.58407 6.73873 6.42478 6.23136 6.42478C6.06616 6.42478 5.84788 6.45428 5.57649 6.51328C5.3169 6.57227 5.08091 6.69617 4.86852 6.88496L3.70038 11.7345C3.77118 11.7463 3.83018 11.7581 3.87737 11.7699C3.93637 11.7817 3.99537 11.7935 4.05436 11.8053C4.11336 11.8053 4.18416 11.8053 4.26675 11.8053C4.34935 11.8053 4.45554 11.8053 4.58534 11.8053Z" fill="currentColor"/>
1182 <path d="M13.1552 13.7345H10.5357L12.7481 4.42478H15.3853L13.1552 13.7345ZM14.4295 3.29204C14.0637 3.29204 13.7333 3.18584 13.4384 2.97345C13.1434 2.74926 12.9959 2.41298 12.9959 1.9646C12.9959 1.71681 13.0431 1.48673 13.1375 1.27434C13.2437 1.05015 13.3794 0.861357 13.5446 0.707964C13.7097 0.542772 13.8985 0.412979 14.1109 0.318584C14.3351 0.224189 14.5711 0.176991 14.8189 0.176991C15.1847 0.176991 15.5151 0.289086 15.81 0.513274C16.105 0.725664 16.2525 1.05605 16.2525 1.50442C16.2525 1.75221 16.1994 1.9882 16.0932 2.21239C15.9988 2.42478 15.869 2.61357 15.7038 2.77876C15.5387 2.93215 15.344 3.05605 15.1198 3.15044C14.9074 3.24484 14.6773 3.29204 14.4295 3.29204Z" fill="currentColor"/>
1183 <path d="M17.7251 2.1062L20.4685 1.68142L19.7959 4.42478H22.734L22.203 6.58407H19.2827L18.5039 9.84071C18.4331 10.1121 18.3859 10.3658 18.3623 10.6018C18.3505 10.8378 18.38 11.0443 18.4508 11.2212C18.5334 11.3864 18.6691 11.5162 18.8579 11.6106C19.0467 11.705 19.3063 11.7522 19.6367 11.7522C19.9198 11.7522 20.1912 11.7286 20.4508 11.6814C20.7222 11.6224 20.9936 11.5457 21.265 11.4513L21.4597 13.469C21.1057 13.5988 20.7222 13.7109 20.3092 13.8053C19.8962 13.8997 19.4066 13.9469 18.8402 13.9469C18.026 13.9469 17.3948 13.8289 16.9464 13.5929C16.498 13.3451 16.1794 13.0148 15.9906 12.6018C15.8018 12.177 15.7192 11.6932 15.7428 11.1504C15.7664 10.6077 15.849 10.0354 15.9906 9.43363L17.7251 2.1062Z" fill="currentColor"/>
1184 <path d="M22.475 10.0177C22.475 9.21534 22.6048 8.46018 22.8644 7.75221C23.124 7.04425 23.4957 6.42478 23.9794 5.89381C24.4632 5.36283 25.0473 4.94395 25.7316 4.63717C26.4278 4.33038 27.2007 4.17699 28.0502 4.17699C28.5812 4.17699 29.0532 4.23009 29.4662 4.33628C29.8909 4.43068 30.2744 4.56047 30.6166 4.72567L29.7139 6.77876C29.478 6.68437 29.2302 6.60177 28.9706 6.53097C28.7228 6.44838 28.416 6.40708 28.0502 6.40708C27.1653 6.40708 26.4691 6.70797 25.9617 7.30974C25.4544 7.89971 25.2007 8.70797 25.2007 9.73452C25.2007 10.3363 25.3305 10.826 25.5901 11.2035C25.8496 11.5693 26.3275 11.7522 27.0237 11.7522C27.3659 11.7522 27.6963 11.7168 28.0148 11.646C28.3334 11.5752 28.6166 11.4867 28.8644 11.3805L29.0591 13.4867C28.7287 13.6165 28.3629 13.7286 27.9617 13.823C27.5724 13.9292 27.0945 13.9823 26.5281 13.9823C25.7965 13.9823 25.1771 13.8761 24.6697 13.6637C24.1623 13.4513 23.7434 13.1681 23.4131 12.8142C23.0827 12.4484 22.8408 12.0236 22.6874 11.5398C22.5458 11.0561 22.475 10.5487 22.475 10.0177Z" fill="currentColor"/>
1185 <path d="M33.8569 13.9823C33.2316 13.9823 32.6888 13.8879 32.2286 13.6991C31.7684 13.5103 31.385 13.2448 31.0782 12.9027C30.7832 12.5605 30.559 12.1593 30.4056 11.6991C30.2522 11.2271 30.1755 10.708 30.1755 10.1416C30.1755 9.43363 30.2876 8.72567 30.5118 8.0177C30.7478 7.30974 31.09 6.67257 31.5383 6.1062C31.9867 5.53982 32.5354 5.07965 33.1844 4.72567C33.8333 4.35988 34.5767 4.17699 35.4145 4.17699C36.028 4.17699 36.5649 4.27139 37.0251 4.46018C37.4971 4.64897 37.8805 4.91445 38.1755 5.25664C38.4823 5.59882 38.7124 6.0059 38.8658 6.47788C39.0192 6.93805 39.0959 7.45133 39.0959 8.0177C39.0959 8.72567 38.9838 9.43363 38.7596 10.1416C38.5354 10.8496 38.205 11.4867 37.7684 12.0531C37.3319 12.6195 36.7832 13.0855 36.1224 13.4513C35.4735 13.8053 34.7183 13.9823 33.8569 13.9823ZM35.1667 6.40708C34.7773 6.40708 34.4351 6.51918 34.1401 6.74336C33.8451 6.96755 33.5973 7.25074 33.3968 7.59292C33.1962 7.9351 33.0428 8.31269 32.9366 8.72567C32.8422 9.12685 32.795 9.51033 32.795 9.87611C32.795 10.4779 32.8894 10.944 33.0782 11.2743C33.267 11.5929 33.6091 11.7522 34.1047 11.7522C34.4941 11.7522 34.8363 11.6401 35.1313 11.4159C35.4263 11.1917 35.674 10.9086 35.8746 10.5664C36.0752 10.2242 36.2227 9.85251 36.3171 9.45133C36.4233 9.03835 36.4764 8.64897 36.4764 8.28319C36.4764 7.68142 36.382 7.22124 36.1932 6.90266C36.0044 6.57227 35.6622 6.40708 35.1667 6.40708Z" fill="currentColor"/>
1186 <path d="M42.0732 13.7345H39.4537L41.6661 4.42478H44.3033L42.0732 13.7345ZM43.3475 3.29204C42.9818 3.29204 42.6514 3.18584 42.3564 2.97345C42.0614 2.74926 41.9139 2.41298 41.9139 1.9646C41.9139 1.71681 41.9611 1.48673 42.0555 1.27434C42.1617 1.05015 42.2974 0.861357 42.4626 0.707964C42.6278 0.542772 42.8166 0.412979 43.0289 0.318584C43.2531 0.224189 43.4891 0.176991 43.7369 0.176991C44.1027 0.176991 44.4331 0.289086 44.7281 0.513274C45.0231 0.725664 45.1705 1.05605 45.1705 1.50442C45.1705 1.75221 45.1174 1.9882 45.0113 2.21239C44.9169 2.42478 44.7871 2.61357 44.6219 2.77876C44.4567 2.93215 44.262 3.05605 44.0378 3.15044C43.8254 3.24484 43.5953 3.29204 43.3475 3.29204Z" fill="currentColor"/>
1187 <path d="M46.2538 4.84956C46.4544 4.79056 46.6727 4.72566 46.9087 4.65487C47.1564 4.57227 47.4278 4.50148 47.7228 4.44248C48.0296 4.37168 48.3659 4.31859 48.7317 4.28319C49.1092 4.23599 49.534 4.21239 50.006 4.21239C51.3983 4.21239 52.3541 4.61357 52.8733 5.41593C53.3924 6.21829 53.4809 7.31564 53.1387 8.70797L51.9352 13.7345H49.298L50.4662 8.81416C50.537 8.50738 50.5901 8.21239 50.6255 7.92921C50.6727 7.63422 50.6727 7.38053 50.6255 7.16814C50.5783 6.94395 50.4662 6.76696 50.2892 6.63717C50.124 6.49558 49.8644 6.42478 49.5104 6.42478C49.1682 6.42478 48.8202 6.46018 48.4662 6.53097L46.7494 13.7345H44.1122L46.2538 4.84956Z" fill="currentColor"/>
1188 <path d="M59.411 14C58.6441 14 57.9656 13.8879 57.3756 13.6637C56.7974 13.4395 56.3137 13.1209 55.9243 12.708C55.5349 12.295 55.2399 11.7994 55.0393 11.2212C54.8505 10.6313 54.7561 9.9705 54.7561 9.23894C54.7561 8.17699 54.9213 7.16224 55.2517 6.19469C55.5939 5.22714 56.0718 4.37168 56.6853 3.62832C57.3107 2.88496 58.06 2.29499 58.9331 1.85841C59.8063 1.41003 60.7798 1.18584 61.8535 1.18584C62.7739 1.18584 63.5054 1.28024 64.0482 1.46903C64.6028 1.65782 64.998 1.83481 65.234 2L64.5261 3.41593C64.2547 3.23894 63.883 3.07375 63.411 2.92035C62.9508 2.75516 62.4022 2.67257 61.765 2.67257C60.9508 2.67257 60.2193 2.86726 59.5703 3.25664C58.9213 3.63422 58.3727 4.1298 57.9243 4.74336C57.4759 5.34513 57.1337 6.0295 56.8977 6.79646C56.6617 7.55162 56.5438 8.30089 56.5438 9.04425C56.5438 11.3451 57.5408 12.4956 59.5349 12.4956C59.9597 12.4956 60.3373 12.4661 60.6677 12.4071C61.0098 12.3481 61.3107 12.2832 61.5703 12.2124C61.8299 12.1298 62.06 12.0413 62.2606 11.9469C62.4612 11.8525 62.6382 11.7699 62.7915 11.6991L63.0039 13.1858C62.8623 13.2684 62.6736 13.3569 62.4376 13.4513C62.2134 13.5457 61.9479 13.6342 61.6411 13.7168C61.3343 13.7994 60.9921 13.8643 60.6146 13.9115C60.237 13.9705 59.8358 14 59.411 14Z" fill="currentColor"/>
1189 <path d="M67.2379 13.9646C66.2703 13.9646 65.5093 13.6814 64.9547 13.115C64.4119 12.5369 64.1406 11.7463 64.1406 10.7434C64.1406 10.059 64.235 9.33924 64.4237 8.58407C64.6243 7.82891 64.937 7.13274 65.3618 6.49558C65.7866 5.85841 66.3352 5.33333 67.0078 4.92035C67.6804 4.50737 68.4945 4.30089 69.4503 4.30089C70.4178 4.30089 71.173 4.58997 71.7158 5.16814C72.2704 5.73451 72.5476 6.51918 72.5476 7.52213C72.5476 8.20649 72.4473 8.92626 72.2468 9.68142C72.058 10.4366 71.7512 11.1327 71.3264 11.7699C70.9016 12.4071 70.353 12.9322 69.6804 13.3451C69.0078 13.7581 68.1937 13.9646 67.2379 13.9646ZM67.5211 12.5664C68.0521 12.5664 68.524 12.413 68.937 12.1062C69.3618 11.7994 69.7158 11.41 69.999 10.9381C70.294 10.4543 70.5181 9.92331 70.6715 9.34513C70.8249 8.76696 70.9016 8.20649 70.9016 7.66372C70.9016 7.06195 70.7718 6.58407 70.5122 6.23009C70.2527 5.87611 69.8043 5.69912 69.1671 5.69912C68.6361 5.69912 68.1583 5.85251 67.7335 6.15929C67.3205 6.46608 66.9665 6.86136 66.6715 7.34513C66.3883 7.81711 66.1701 8.34219 66.0167 8.92036C65.8633 9.49853 65.7866 10.059 65.7866 10.6018C65.7866 11.2035 65.9164 11.6814 66.176 12.0354C66.4355 12.3894 66.8839 12.5664 67.5211 12.5664Z" fill="currentColor"/>
1190 <path d="M74.8253 13.7345H73.1793L75.3032 4.88496C75.8459 4.71977 76.43 4.58997 77.0554 4.49558C77.6926 4.38938 78.2589 4.33628 78.7545 4.33628C79.2855 4.33628 79.7398 4.41298 80.1173 4.56637C80.5067 4.70796 80.8194 4.90856 81.0554 5.16814C81.2914 5.41593 81.4625 5.72271 81.5687 6.0885C81.6867 6.44248 81.7457 6.83186 81.7457 7.25664C81.7457 7.52803 81.7221 7.81711 81.6749 8.1239C81.6277 8.41888 81.5687 8.71977 81.4979 9.02655L80.3651 13.7345H78.7191L79.7634 9.38053C79.8459 9.05015 79.9226 8.71387 79.9934 8.37168C80.076 8.0295 80.1173 7.70502 80.1173 7.39823C80.1173 6.92626 79.9875 6.53687 79.728 6.23009C79.4684 5.91151 78.9846 5.75221 78.2766 5.75221C77.9816 5.75221 77.6926 5.76991 77.4094 5.80531C77.1262 5.84071 76.8902 5.88791 76.7014 5.9469L74.8253 13.7345Z" fill="currentColor"/>
1191 <path d="M84.2197 13.7345H82.5736L84.6975 4.88496C85.2403 4.71977 85.8244 4.58997 86.4498 4.49558C87.0869 4.38938 87.6533 4.33628 88.1489 4.33628C88.6798 4.33628 89.1341 4.41298 89.5117 4.56637C89.9011 4.70796 90.2138 4.90856 90.4498 5.16814C90.6857 5.41593 90.8568 5.72271 90.963 6.0885C91.081 6.44248 91.14 6.83186 91.14 7.25664C91.14 7.52803 91.1164 7.81711 91.0692 8.1239C91.022 8.41888 90.963 8.71977 90.8922 9.02655L89.7595 13.7345H88.1135L89.1577 9.38053C89.2403 9.05015 89.317 8.71387 89.3878 8.37168C89.4704 8.0295 89.5117 7.70502 89.5117 7.39823C89.5117 6.92626 89.3819 6.53687 89.1223 6.23009C88.8627 5.91151 88.379 5.75221 87.671 5.75221C87.376 5.75221 87.0869 5.76991 86.8037 5.80531C86.5206 5.84071 86.2846 5.88791 86.0958 5.9469L84.2197 13.7345Z" fill="currentColor"/>
1192 <path d="M94.2335 8.90266C94.9179 8.87906 95.5432 8.83776 96.1096 8.77876C96.676 8.70797 97.1656 8.59587 97.5786 8.44248C97.9916 8.27729 98.3102 8.059 98.5344 7.78761C98.7704 7.51623 98.8884 7.16224 98.8884 6.72567C98.8884 6.61947 98.8648 6.50738 98.8176 6.38938C98.7822 6.27139 98.7114 6.16519 98.6052 6.0708C98.5108 5.9646 98.3751 5.88201 98.1981 5.82301C98.0211 5.75221 97.8028 5.71682 97.5432 5.71682C97.1302 5.71682 96.7409 5.80531 96.3751 5.9823C96.0211 6.15929 95.7025 6.39528 95.4193 6.69027C95.1361 6.97345 94.8943 7.30974 94.6937 7.69912C94.4931 8.0767 94.3397 8.47788 94.2335 8.90266ZM95.9149 13.9646C95.3131 13.9646 94.794 13.882 94.3574 13.7168C93.9208 13.5398 93.555 13.3038 93.26 13.0089C92.9651 12.7021 92.7468 12.3481 92.6052 11.9469C92.4636 11.5457 92.3928 11.1209 92.3928 10.6726C92.3928 9.84661 92.5167 9.05015 92.7645 8.28319C93.0123 7.51623 93.3662 6.83776 93.8264 6.24779C94.2866 5.65782 94.8471 5.19174 95.5078 4.84956C96.1686 4.49558 96.9179 4.31858 97.7556 4.31858C98.2394 4.31858 98.6524 4.38348 98.9946 4.51328C99.3485 4.63127 99.6317 4.79646 99.8441 5.00885C100.068 5.22124 100.234 5.46903 100.34 5.75221C100.446 6.0236 100.499 6.30679 100.499 6.60177C100.499 7.15634 100.399 7.62832 100.198 8.0177C99.9975 8.39528 99.732 8.71387 99.4016 8.97345C99.0713 9.23304 98.6819 9.43363 98.2335 9.57522C97.7969 9.71682 97.3367 9.82891 96.853 9.91151C96.381 9.9941 95.8972 10.0531 95.4016 10.0885C94.9179 10.1121 94.4577 10.1357 94.0211 10.1593C94.0093 10.2537 94.0034 10.3304 94.0034 10.3894C94.0034 10.4484 94.0034 10.4956 94.0034 10.531C94.0034 10.8024 94.0329 11.0619 94.0919 11.3097C94.1627 11.5457 94.2866 11.7581 94.4636 11.9469C94.6406 12.1239 94.8825 12.2655 95.1892 12.3717C95.5078 12.4779 95.9208 12.531 96.4282 12.531C96.6524 12.531 96.8825 12.5133 97.1185 12.4779C97.3662 12.4307 97.5963 12.3776 97.8087 12.3186C98.0329 12.2478 98.2276 12.1829 98.3928 12.1239C98.5698 12.0531 98.6937 11.9882 98.7645 11.9292L98.9061 13.3274C98.6701 13.4572 98.2866 13.5929 97.7556 13.7345C97.2364 13.8879 96.6229 13.9646 95.9149 13.9646Z" fill="currentColor"/>
1193 <path d="M101.199 10.4425C101.199 9.64012 101.317 8.86726 101.553 8.1239C101.801 7.38053 102.161 6.72567 102.633 6.15929C103.105 5.59292 103.683 5.14454 104.368 4.81416C105.052 4.47198 105.837 4.30089 106.722 4.30089C107.111 4.30089 107.483 4.33038 107.837 4.38938C108.191 4.43658 108.527 4.53687 108.846 4.69027L108.226 6.0708C108.037 5.9646 107.813 5.88201 107.553 5.82301C107.306 5.76401 106.981 5.73451 106.58 5.73451C106.002 5.73451 105.483 5.86431 105.022 6.1239C104.562 6.37168 104.167 6.70797 103.837 7.13274C103.518 7.54572 103.27 8.0295 103.093 8.58407C102.928 9.12685 102.846 9.69322 102.846 10.2832C102.846 10.59 102.875 10.8791 102.934 11.1504C103.005 11.4218 103.123 11.6637 103.288 11.8761C103.453 12.0767 103.671 12.236 103.943 12.354C104.226 12.472 104.58 12.531 105.005 12.531C105.217 12.531 105.441 12.5133 105.677 12.4779C105.913 12.4307 106.132 12.3776 106.332 12.3186C106.533 12.2596 106.71 12.2006 106.863 12.1416C107.028 12.0708 107.146 12.0059 107.217 11.9469L107.359 13.3451C107.135 13.4867 106.787 13.6224 106.315 13.7522C105.843 13.8938 105.306 13.9646 104.704 13.9646C104.138 13.9646 103.636 13.882 103.199 13.7168C102.763 13.5398 102.397 13.2979 102.102 12.9912C101.807 12.6726 101.583 12.3009 101.43 11.8761C101.276 11.4395 101.199 10.9617 101.199 10.4425Z" fill="currentColor"/>
1194 <path d="M111.557 13.9823C110.672 13.9823 110.023 13.7876 109.61 13.3982C109.197 13.0089 108.99 12.4425 108.99 11.6991C108.99 11.2153 109.073 10.5959 109.238 9.84071L111.132 1.9646L112.849 1.68142L112.158 4.53097H115.291L114.955 5.91151H111.822L110.849 9.9823C110.707 10.5369 110.636 11.0207 110.636 11.4336C110.636 11.823 110.742 12.1062 110.955 12.2832C111.167 12.4484 111.521 12.531 112.017 12.531C112.359 12.531 112.695 12.4779 113.026 12.3717C113.356 12.2537 113.61 12.1475 113.787 12.0531L113.91 13.4513C113.734 13.5575 113.433 13.6696 113.008 13.7876C112.583 13.9174 112.099 13.9823 111.557 13.9823Z" fill="currentColor"/>
1195 </svg>
1196
1197 `));let _W;const kTe=Er(_W||(_W=(t=>t)`<svg width="15" height="14" viewBox="0 0 15 14" fill="none" xmlns="http://www.w3.org/2000/svg">
1198 <path d="M14.4996 8.6934C13.5646 12.4434 9.76602 14.7256 6.01514 13.7905C2.26579 12.8555 -0.0166852 9.05718 0.918793 5.30739C1.8534 1.55695 5.65197 -0.725474 9.40176 0.209458C13.1524 1.14439 15.4347 4.94318 14.4996 8.6934Z" fill="currentColor"/>
1199 <path fill-rule="evenodd" clip-rule="evenodd" d="M9.52902 4.06707C10.5141 4.44605 11.2102 4.99957 11.0511 5.97269C10.9624 6.52101 10.7122 6.8585 10.3665 7.04603C10.236 7.1168 10.2072 7.33609 10.3231 7.42878C10.8196 7.82585 11.0179 8.38842 10.7056 9.24266C10.2505 10.4885 9.22882 10.6202 7.87222 10.3663C7.78904 10.3508 7.70726 10.4014 7.68566 10.4832L7.52414 11.0824C7.46306 11.3138 7.22603 11.4518 6.99467 11.3908C6.76319 11.3298 6.62506 11.0926 6.68618 10.8612L6.84101 10.2875C6.86324 10.2033 6.81295 10.1171 6.72884 10.0946C6.61038 10.0629 6.49041 10.0301 6.36863 9.99598C6.28341 9.9721 6.19494 10.0224 6.17237 10.108L6.01688 10.6851C5.95588 10.9163 5.71897 11.0543 5.48775 10.9932C5.25664 10.9322 5.11869 10.6955 5.17961 10.4643L5.33952 9.86967C5.36188 9.78479 5.31155 9.69775 5.22691 9.67449C5.1995 9.66696 5.17203 9.6594 5.1445 9.65182L5.1436 9.65157C5.02458 9.6188 4.90431 9.58569 4.78256 9.55341L4.50468 9.47686C4.19755 9.39585 4.03663 9.05848 4.16696 8.76881C4.27134 8.53681 4.52958 8.41694 4.77541 8.48242C4.77988 8.48361 4.7843 8.48479 4.78868 8.48595C4.84757 8.50157 4.84473 8.49023 4.90409 8.4765C5.02494 8.44855 5.08888 8.34885 5.11971 8.2752L5.69957 6.078L5.70108 6.07204L6.11095 4.51802C6.11349 4.5084 6.11518 4.49858 6.11565 4.48865C6.12282 4.33833 6.18991 4.18684 5.97081 4.08327C5.92336 4.06085 5.87669 4.03952 5.82597 4.02603C5.81758 4.0238 5.80892 4.02151 5.80003 4.01918C5.55193 3.954 5.40061 3.7018 5.46597 3.45375C5.53051 3.20887 5.78141 3.06273 6.02626 3.12741L6.51367 3.26409C6.63858 3.29693 6.76622 3.3287 6.89587 3.36037C6.97969 3.38084 7.06441 3.3303 7.08644 3.24687L7.22919 2.722C7.29025 2.49074 7.52721 2.35275 7.75848 2.41376C7.9898 2.47479 8.12784 2.71179 8.0668 2.94311L7.93196 3.43844C7.90985 3.52223 7.96087 3.6078 8.04506 3.62833C8.16859 3.65845 8.29203 3.6889 8.41417 3.72009C8.4966 3.74114 8.58086 3.69207 8.60256 3.60981L8.73588 3.11979C8.79692 2.88839 9.03398 2.75027 9.26539 2.81129C9.49683 2.87232 9.63496 3.10941 9.57392 3.34084L9.42905 3.87456C9.40794 3.95461 9.45175 4.03735 9.52902 4.06707ZM7.41985 5.36848L7.53445 4.93355C7.58781 4.73103 7.79524 4.61012 7.99776 4.66348C8.20028 4.71684 8.32119 4.92427 8.26783 5.12679L8.15323 5.56172L8.58812 5.67631C8.79064 5.72967 8.91155 5.9371 8.85819 6.13962C8.80483 6.34214 8.5974 6.46305 8.39488 6.40969L7.95999 6.2951L7.84539 6.73004C7.79203 6.93256 7.5846 7.05348 7.38208 7.00012C7.17956 6.94675 7.05865 6.73932 7.11201 6.53681L7.22661 6.10186L6.79163 5.98725C6.58911 5.93389 6.4682 5.72646 6.52156 5.52394C6.57492 5.32142 6.78235 5.20051 6.98487 5.25387L7.41985 5.36848ZM8.44291 7.37958L8.32831 7.81451L7.89332 7.6999C7.6908 7.64654 7.48337 7.76745 7.43001 7.96997C7.37665 8.17249 7.49757 8.37992 7.70008 8.43328L8.13507 8.54789L8.02046 8.98284C7.9671 9.18536 8.08802 9.39279 8.29054 9.44615C8.49305 9.49951 8.70048 9.37859 8.75385 9.17608L8.86845 8.74113L9.30334 8.85572C9.50585 8.90908 9.71328 8.78817 9.76665 8.58565C9.82001 8.38313 9.69909 8.1757 9.49658 8.12234L9.06169 8.00775L9.17629 7.57282C9.22965 7.3703 9.10873 7.16287 8.90621 7.10951C8.7037 7.05615 8.49627 7.17707 8.44291 7.37958Z" fill="white"/>
1200 </svg>`));let MW,D9,RW,TW,DW,LW,PW,yw=t=>t,L9=(D9=class extends(MW=Tr()(nr)){render(){return Et(RW||(RW=yw`<div class="w-full flex-col justify-center items-center">
1201 <bc-modal-header class="flex w-full" show-help ?closable=${0}>
1202 <div class="${0} mr-[2px]">
1203 ${0}
1204 </div>
1205 <div class="${0}">${0}</div>
1206 </bc-modal-header>
1207 <div class="flex w-full pt-8">
1208 ${0}
1209 </div>
1210 ${0}
1211 </div>`),this.closable,Mo,kTe,Yoe,xTe,Et(this._connecting?TW||(TW=yw`<bci-connecting class="flex w-full"></bci-connecting>`):DW||(DW=yw` <bc-router-outlet class="flex w-full"></bc-router-outlet>`)),this._error?Et(LW||(LW=yw`<p class="mt-4 text-center font-sans text-red-500">
1212 ${0}
1213 </p>`),this._error):null)}},D9.styles=[...MW.styles,uS(PW||(PW=yw`
1214 :host {
1215 display: flex;
1216 justify-content: center;
1217 width: 100%;
1218 }
1219 `))],D9);Dt([Jo({type:Boolean})],L9.prototype,"closable",void 0),L9=Dt([Yn("bc-connect")],L9);let OW,P9,zW,FW,BW,UW,b6=t=>t,hm=(P9=class extends(OW=Tr()(nr)){constructor(){super(),this.paymentMethods="all",this._showConnect=!1,$t.subscribe((t,e)=>{t.connected!==e.connected&&t.connected&&(this._showConnect=!1)})}render(){return this._showConnect&&!this.paid?Et(zW||(zW=b6` <bc-connect ?closable=${0}></bc-connect>`),!0):Et(FW||(FW=b6`<div class="w-full flex-col justify-center items-center">
1220 <bc-modal-header class="flex w-full" ?closable=${0}>
1221 <p
1222 class="font-sans font-medium ${0}"
1223 >
1224 Payment Request
1225 </p>
1226 </bc-modal-header>
1227 <div class="flex flex-col justify-center items-center w-full pt-8">
1228 <bc-send-payment
1229 .invoice=${0}
1230 .paymentMethods=${0}
1231 ?paid=${0}
1232 @onclickconnectwallet=${0}
1233 ></bc-send-payment>
1234 </div>
1235 ${0}
1236 </div>`),this.closable,Vn,this.invoice,this.paymentMethods,this.paid,this._onClickConnectWallet,this._error?Et(BW||(BW=b6`<p class="mt-4 text-center font-sans text-red-500">
1237 ${0}
1238 </p>`),this._error):null)}_onClickConnectWallet(){this._showConnect=!0}},P9.styles=[...OW.styles,uS(UW||(UW=b6`
1239 :host {
1240 display: flex;
1241 align-items: center;
1242 justify-content: center;
1243 width: 100%;
1244 }
1245 `))],P9);Dt([Jo({type:Boolean})],hm.prototype,"closable",void 0),Dt([Jo({type:String})],hm.prototype,"invoice",void 0),Dt([Jo({type:String,attribute:"payment-methods"})],hm.prototype,"paymentMethods",void 0),Dt([Jo({type:Boolean})],hm.prototype,"paid",void 0),Dt([Xn()],hm.prototype,"_showConnect",void 0),hm=Dt([Yn("bc-payment")],hm);const jTe={NostrWebLNProvider:Coe.NostrWebLNProvider};var W1=Symbol("verified"),CTe=t=>t instanceof Object;function STe(t){if(!CTe(t)||typeof t.kind!="number"||typeof t.content!="string"||typeof t.created_at!="number"||typeof t.pubkey!="string"||!t.pubkey.match(/^[a-f0-9]{64}$/)||!Array.isArray(t.tags))return!1;for(let e=0;e<t.tags.length;e++){let n=t.tags[e];if(!Array.isArray(n))return!1;for(let r=0;r<n.length;r++)if(typeof n[r]!="string")return!1}return!0}new TextDecoder("utf-8");var ETe=new TextEncoder,NTe=class{generateSecretKey(){return Ga.utils.randomPrivateKey()}getPublicKey(t){return Lr(Ga.getPublicKey(t))}finalizeEvent(t,e){const n=t;return n.pubkey=Lr(Ga.getPublicKey(e)),n.id=O9(n),n.sig=Lr(Ga.sign(O9(n),e)),n[W1]=!0,n}verifyEvent(t){if(typeof t[W1]=="boolean")return t[W1];const e=O9(t);if(e!==t.id)return t[W1]=!1,!1;try{const n=Ga.verify(t.sig,e,t.pubkey);return t[W1]=n,n}catch{return t[W1]=!1,!1}}};function ITe(t){if(!STe(t))throw new Error("can't serialize event with wrong or missing properties");return JSON.stringify([0,t.pubkey,t.created_at,t.kind,t.tags,t.content])}function O9(t){let e=ml(ETe.encode(ITe(t)));return Lr(e)}var dS=new NTe;dS.generateSecretKey;dS.getPublicKey;dS.finalizeEvent;dS.verifyEvent;function ATe(t){return[0,3].includes(t)||1e4<=t&&t<2e4}function _Te(t){return 3e4<=t&&t<4e4}var MTe;try{MTe=fetch}catch{}function RTe(t){let e={kind:9734,created_at:Math.round(Date.now()/1e3),content:t.comment||"",tags:[["p","pubkey"in t?t.pubkey:t.event.pubkey],["amount",t.amount.toString()],["relays",...t.relays]]};if("event"in t){if(e.tags.push(["e",t.event.id]),ATe(t.event.kind)){const n=["a",`${t.event.kind}:${t.event.pubkey}:`];e.tags.push(n)}else if(_Te(t.event.kind)){let n=t.event.tags.find(([o,s])=>o==="d"&&s);if(!n)throw new Error("d tag not found or is empty");const r=["a",`${t.event.kind}:${t.event.pubkey}:${n[1]}`];e.tags.push(r)}e.tags.push(["k",t.event.kind.toString()])}return e}var TTe=new TextDecoder("utf-8");new TextEncoder;const $W=[kC],k0=class k0{constructor(){je(this,"provider",null);je(this,"recentSupportersCache",null);je(this,"initialized",!1);return k0.instance||(k0.instance=this),k0.instance}initBitcoinConnect(){this.initialized||(this.initialized=!0,ARe({appName:"Smesh",showBalance:!1}))}async zap(e,n,r,o,s){if(!ze.signer)throw new Error("You need to be logged in to zap");const{recipient:a,event:i}=typeof n=="string"?{recipient:n}:{recipient:n.pubkey,event:n},[l,u,d]=await Promise.all([ze.fetchProfile(a),ze.fetchRelayList(a),e?ze.fetchRelayList(e):Promise.resolve({read:ze.currentRelays,write:ze.currentRelays})]);if(!l)throw new Error("Recipient not found");const f=await this.getZapEndpoint(l);if(!f)throw new Error("Recipient's lightning address is invalid");const{callback:m,lnurl:g}=f,w=r*1e3,b=RTe({...i?{event:i}:{pubkey:a},amount:w,relays:u.read.slice(0,4).concat(d.write.slice(0,3)).concat(ze.currentRelays),comment:o}),j=await ze.signer.signEvent(b),S=new URL(m);S.searchParams.append("amount",w.toString()),S.searchParams.append("nostr",JSON.stringify(j)),S.searchParams.append("lnurl",g);const N=await(await fetch(S.toString())).json();if(N.error)throw new Error(N.message);const{pr:M,verify:D,reason:O}=N;if(!M)throw new Error(O??"Failed to create invoice");if(this.provider){const{preimage:L}=await this.provider.sendPayment(M);return s==null||s(),{preimage:L,invoice:M}}return new Promise(L=>{s==null||s();let B,T;const{setPaid:R}=b8({invoice:M,onPaid:z=>{clearInterval(B),T==null||T.close(),L({preimage:z.preimage,invoice:M})},onCancelled:()=>{clearInterval(B),T==null||T.close(),L(null)}});if(D)B=setInterval(async()=>{const z=new QC({pr:M,verify:D});await z.verifyPayment()&&z.preimage&&R({preimage:z.preimage})},1e3);else{const z={kinds:[Ue.Zap],"#p":[a],since:Nn().subtract(1,"minute").unix()};i&&(z["#e"]=[i.id]),T=ze.subscribe(d.write.concat(ze.currentRelays).slice(0,4),z,{onevent:Y=>{const Q=Fk(Y);Q&&Q.invoice===M&&R({preimage:Q.preimage??""})}})}})}async payInvoice(e,n){if(this.provider){const{preimage:r}=await this.provider.sendPayment(e);return n==null||n(),{preimage:r,invoice:e}}return new Promise(r=>{n==null||n(),b8({invoice:e,onPaid:o=>{r({preimage:o.preimage,invoice:e})},onCancelled:()=>{r(null)}})})}async fetchRecentSupporters(){if(this.recentSupportersCache)return this.recentSupportersCache;const e=await ze.fetchRelayList(kC),n=await ze.fetchEvents(e.read.slice(0,4),{kinds:[Ue.Zap],"#p":$W,since:Nn().subtract(1,"month").unix()});n.sort((o,s)=>s.created_at-o.created_at);const r=new Map;return n.forEach(o=>{const s=Fk(o);if(!s||!s.senderPubkey||$W.includes(s.senderPubkey))return;const{amount:a,comment:i,senderPubkey:l}=s,u=r.get(l);u?(u.amount+=a,!u.comment&&i&&(u.comment=i)):r.set(l,{pubkey:l,amount:a,comment:i})}),this.recentSupportersCache=Array.from(r.values()).filter(o=>o.amount>=1e3).sort((o,s)=>s.amount-o.amount),this.recentSupportersCache}async getZapEndpoint(e){try{let n="";if(!e.lightningAddress)return console.warn("Profile has no lightning address",e),null;if(e.lightningAddress.includes("@")){const[s,a]=e.lightningAddress.split("@");n=new URL(`/.well-known/lnurlp/${s}`,`https://${a}`).toString()}else{const{words:s}=Pr.decode(e.lightningAddress,1e3),a=Pr.fromWords(s);n=TTe.decode(a)}const o=await(await fetch(n)).json();if(console.log("Zap endpoint:",o),o.allowsNostr!==!1&&o.callback)return{callback:o.callback,lnurl:n}}catch(n){console.error(n)}return null}};je(k0,"instance");let E8=k0;const Km=new E8;var x6={},z9={exports:{}},wi={},F9={exports:{}},B9={};/**
1246 * @license React
1247 * scheduler.production.min.js
1248 *
1249 * Copyright (c) Facebook, Inc. and its affiliates.
1250 *
1251 * This source code is licensed under the MIT license found in the
1252 * LICENSE file in the root directory of this source tree.
1253 */var VW;function DTe(){return VW||(VW=1,(function(t){function e(V,K){var G=V.length;V.push(K);e:for(;0<G;){var J=G-1>>>1,ne=V[J];if(0<o(ne,K))V[J]=K,V[G]=ne,G=J;else break e}}function n(V){return V.length===0?null:V[0]}function r(V){if(V.length===0)return null;var K=V[0],G=V.pop();if(G!==K){V[0]=G;e:for(var J=0,ne=V.length,re=ne>>>1;J<re;){var de=2*(J+1)-1,Ne=V[de],ve=de+1,xe=V[ve];if(0>o(Ne,G))ve<ne&&0>o(xe,Ne)?(V[J]=xe,V[ve]=G,J=ve):(V[J]=Ne,V[de]=G,J=de);else if(ve<ne&&0>o(xe,G))V[J]=xe,V[ve]=G,J=ve;else break e}}return K}function o(V,K){var G=V.sortIndex-K.sortIndex;return G!==0?G:V.id-K.id}if(typeof performance=="object"&&typeof performance.now=="function"){var s=performance;t.unstable_now=function(){return s.now()}}else{var a=Date,i=a.now();t.unstable_now=function(){return a.now()-i}}var l=[],u=[],d=1,f=null,m=3,g=!1,w=!1,b=!1,j=typeof setTimeout=="function"?setTimeout:null,S=typeof clearTimeout=="function"?clearTimeout:null,I=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function N(V){for(var K=n(u);K!==null;){if(K.callback===null)r(u);else if(K.startTime<=V)r(u),K.sortIndex=K.expirationTime,e(l,K);else break;K=n(u)}}function M(V){if(b=!1,N(V),!w)if(n(l)!==null)w=!0,X(D);else{var K=n(u);K!==null&&$(M,K.startTime-V)}}function D(V,K){w=!1,b&&(b=!1,S(B),B=-1),g=!0;var G=m;try{for(N(K),f=n(l);f!==null&&(!(f.expirationTime>K)||V&&!z());){var J=f.callback;if(typeof J=="function"){f.callback=null,m=f.priorityLevel;var ne=J(f.expirationTime<=K);K=t.unstable_now(),typeof ne=="function"?f.callback=ne:f===n(l)&&r(l),N(K)}else r(l);f=n(l)}if(f!==null)var re=!0;else{var de=n(u);de!==null&&$(M,de.startTime-K),re=!1}return re}finally{f=null,m=G,g=!1}}var O=!1,L=null,B=-1,T=5,R=-1;function z(){return!(t.unstable_now()-R<T)}function Y(){if(L!==null){var V=t.unstable_now();R=V;var K=!0;try{K=L(!0,V)}finally{K?Q():(O=!1,L=null)}}else O=!1}var Q;if(typeof I=="function")Q=function(){I(Y)};else if(typeof MessageChannel<"u"){var W=new MessageChannel,F=W.port2;W.port1.onmessage=Y,Q=function(){F.postMessage(null)}}else Q=function(){j(Y,0)};function X(V){L=V,O||(O=!0,Q())}function $(V,K){B=j(function(){V(t.unstable_now())},K)}t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function(V){V.callback=null},t.unstable_continueExecution=function(){w||g||(w=!0,X(D))},t.unstable_forceFrameRate=function(V){0>V||125<V?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):T=0<V?Math.floor(1e3/V):5},t.unstable_getCurrentPriorityLevel=function(){return m},t.unstable_getFirstCallbackNode=function(){return n(l)},t.unstable_next=function(V){switch(m){case 1:case 2:case 3:var K=3;break;default:K=m}var G=m;m=K;try{return V()}finally{m=G}},t.unstable_pauseExecution=function(){},t.unstable_requestPaint=function(){},t.unstable_runWithPriority=function(V,K){switch(V){case 1:case 2:case 3:case 4:case 5:break;default:V=3}var G=m;m=V;try{return K()}finally{m=G}},t.unstable_scheduleCallback=function(V,K,G){var J=t.unstable_now();switch(typeof G=="object"&&G!==null?(G=G.delay,G=typeof G=="number"&&0<G?J+G:J):G=J,V){case 1:var ne=-1;break;case 2:ne=250;break;case 5:ne=1073741823;break;case 4:ne=1e4;break;default:ne=5e3}return ne=G+ne,V={id:d++,callback:K,priorityLevel:V,startTime:G,expirationTime:ne,sortIndex:-1},G>J?(V.sortIndex=G,e(u,V),n(l)===null&&V===n(u)&&(b?(S(B),B=-1):b=!0,$(M,G-J))):(V.sortIndex=ne,e(l,V),w||g||(w=!0,X(D))),V},t.unstable_shouldYield=z,t.unstable_wrapCallback=function(V){var K=m;return function(){var G=m;m=K;try{return V.apply(this,arguments)}finally{m=G}}}})(B9)),B9}var HW;function LTe(){return HW||(HW=1,F9.exports=DTe()),F9.exports}/**
1254 * @license React
1255 * react-dom.production.min.js
1256 *
1257 * Copyright (c) Facebook, Inc. and its affiliates.
1258 *
1259 * This source code is licensed under the MIT license found in the
1260 * LICENSE file in the root directory of this source tree.
1261 */var WW;function PTe(){if(WW)return wi;WW=1;var t=FR(),e=LTe();function n(y){for(var k="https://reactjs.org/docs/error-decoder.html?invariant="+y,_=1;_<arguments.length;_++)k+="&args[]="+encodeURIComponent(arguments[_]);return"Minified React error #"+y+"; visit "+k+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var r=new Set,o={};function s(y,k){a(y,k),a(y+"Capture",k)}function a(y,k){for(o[y]=k,y=0;y<k.length;y++)r.add(k[y])}var i=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),l=Object.prototype.hasOwnProperty,u=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,d={},f={};function m(y){return l.call(f,y)?!0:l.call(d,y)?!1:u.test(y)?f[y]=!0:(d[y]=!0,!1)}function g(y,k,_,U){if(_!==null&&_.type===0)return!1;switch(typeof k){case"function":case"symbol":return!0;case"boolean":return U?!1:_!==null?!_.acceptsBooleans:(y=y.toLowerCase().slice(0,5),y!=="data-"&&y!=="aria-");default:return!1}}function w(y,k,_,U){if(k===null||typeof k>"u"||g(y,k,_,U))return!0;if(U)return!1;if(_!==null)switch(_.type){case 3:return!k;case 4:return k===!1;case 5:return isNaN(k);case 6:return isNaN(k)||1>k}return!1}function b(y,k,_,U,te,oe,ge){this.acceptsBooleans=k===2||k===3||k===4,this.attributeName=U,this.attributeNamespace=te,this.mustUseProperty=_,this.propertyName=y,this.type=k,this.sanitizeURL=oe,this.removeEmptyString=ge}var j={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(y){j[y]=new b(y,0,!1,y,null,!1,!1)}),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(y){var k=y[0];j[k]=new b(k,1,!1,y[1],null,!1,!1)}),["contentEditable","draggable","spellCheck","value"].forEach(function(y){j[y]=new b(y,2,!1,y.toLowerCase(),null,!1,!1)}),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(y){j[y]=new b(y,2,!1,y,null,!1,!1)}),"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(y){j[y]=new b(y,3,!1,y.toLowerCase(),null,!1,!1)}),["checked","multiple","muted","selected"].forEach(function(y){j[y]=new b(y,3,!0,y,null,!1,!1)}),["capture","download"].forEach(function(y){j[y]=new b(y,4,!1,y,null,!1,!1)}),["cols","rows","size","span"].forEach(function(y){j[y]=new b(y,6,!1,y,null,!1,!1)}),["rowSpan","start"].forEach(function(y){j[y]=new b(y,5,!1,y.toLowerCase(),null,!1,!1)});var S=/[\-:]([a-z])/g;function I(y){return y[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(y){var k=y.replace(S,I);j[k]=new b(k,1,!1,y,null,!1,!1)}),"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(y){var k=y.replace(S,I);j[k]=new b(k,1,!1,y,"http://www.w3.org/1999/xlink",!1,!1)}),["xml:base","xml:lang","xml:space"].forEach(function(y){var k=y.replace(S,I);j[k]=new b(k,1,!1,y,"http://www.w3.org/XML/1998/namespace",!1,!1)}),["tabIndex","crossOrigin"].forEach(function(y){j[y]=new b(y,1,!1,y.toLowerCase(),null,!1,!1)}),j.xlinkHref=new b("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1),["src","href","action","formAction"].forEach(function(y){j[y]=new b(y,1,!1,y.toLowerCase(),null,!0,!0)});function N(y,k,_,U){var te=j.hasOwnProperty(k)?j[k]:null;(te!==null?te.type!==0:U||!(2<k.length)||k[0]!=="o"&&k[0]!=="O"||k[1]!=="n"&&k[1]!=="N")&&(w(k,_,te,U)&&(_=null),U||te===null?m(k)&&(_===null?y.removeAttribute(k):y.setAttribute(k,""+_)):te.mustUseProperty?y[te.propertyName]=_===null?te.type===3?!1:"":_:(k=te.attributeName,U=te.attributeNamespace,_===null?y.removeAttribute(k):(te=te.type,_=te===3||te===4&&_===!0?"":""+_,U?y.setAttributeNS(U,k,_):y.setAttribute(k,_))))}var M=t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,D=Symbol.for("react.element"),O=Symbol.for("react.portal"),L=Symbol.for("react.fragment"),B=Symbol.for("react.strict_mode"),T=Symbol.for("react.profiler"),R=Symbol.for("react.provider"),z=Symbol.for("react.context"),Y=Symbol.for("react.forward_ref"),Q=Symbol.for("react.suspense"),W=Symbol.for("react.suspense_list"),F=Symbol.for("react.memo"),X=Symbol.for("react.lazy"),$=Symbol.for("react.offscreen"),V=Symbol.iterator;function K(y){return y===null||typeof y!="object"?null:(y=V&&y[V]||y["@@iterator"],typeof y=="function"?y:null)}var G=Object.assign,J;function ne(y){if(J===void 0)try{throw Error()}catch(_){var k=_.stack.trim().match(/\n( *(at )?)/);J=k&&k[1]||""}return`
1262 `+J+y}var re=!1;function de(y,k){if(!y||re)return"";re=!0;var _=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(k)if(k=function(){throw Error()},Object.defineProperty(k.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(k,[])}catch(ut){var U=ut}Reflect.construct(y,[],k)}else{try{k.call()}catch(ut){U=ut}y.call(k.prototype)}else{try{throw Error()}catch(ut){U=ut}y()}}catch(ut){if(ut&&U&&typeof ut.stack=="string"){for(var te=ut.stack.split(`
1263 `),oe=U.stack.split(`
1264 `),ge=te.length-1,Fe=oe.length-1;1<=ge&&0<=Fe&&te[ge]!==oe[Fe];)Fe--;for(;1<=ge&&0<=Fe;ge--,Fe--)if(te[ge]!==oe[Fe]){if(ge!==1||Fe!==1)do if(ge--,Fe--,0>Fe||te[ge]!==oe[Fe]){var Ye=`
1265 `+te[ge].replace(" at new "," at ");return y.displayName&&Ye.includes("<anonymous>")&&(Ye=Ye.replace("<anonymous>",y.displayName)),Ye}while(1<=ge&&0<=Fe);break}}}finally{re=!1,Error.prepareStackTrace=_}return(y=y?y.displayName||y.name:"")?ne(y):""}function Ne(y){switch(y.tag){case 5:return ne(y.type);case 16:return ne("Lazy");case 13:return ne("Suspense");case 19:return ne("SuspenseList");case 0:case 2:case 15:return y=de(y.type,!1),y;case 11:return y=de(y.type.render,!1),y;case 1:return y=de(y.type,!0),y;default:return""}}function ve(y){if(y==null)return null;if(typeof y=="function")return y.displayName||y.name||null;if(typeof y=="string")return y;switch(y){case L:return"Fragment";case O:return"Portal";case T:return"Profiler";case B:return"StrictMode";case Q:return"Suspense";case W:return"SuspenseList"}if(typeof y=="object")switch(y.$$typeof){case z:return(y.displayName||"Context")+".Consumer";case R:return(y._context.displayName||"Context")+".Provider";case Y:var k=y.render;return y=y.displayName,y||(y=k.displayName||k.name||"",y=y!==""?"ForwardRef("+y+")":"ForwardRef"),y;case F:return k=y.displayName||null,k!==null?k:ve(y.type)||"Memo";case X:k=y._payload,y=y._init;try{return ve(y(k))}catch{}}return null}function xe(y){var k=y.type;switch(y.tag){case 24:return"Cache";case 9:return(k.displayName||"Context")+".Consumer";case 10:return(k._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return y=k.render,y=y.displayName||y.name||"",k.displayName||(y!==""?"ForwardRef("+y+")":"ForwardRef");case 7:return"Fragment";case 5:return k;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return ve(k);case 8:return k===B?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof k=="function")return k.displayName||k.name||null;if(typeof k=="string")return k}return null}function ce(y){switch(typeof y){case"boolean":case"number":case"string":case"undefined":return y;case"object":return y;default:return""}}function pe(y){var k=y.type;return(y=y.nodeName)&&y.toLowerCase()==="input"&&(k==="checkbox"||k==="radio")}function me(y){var k=pe(y)?"checked":"value",_=Object.getOwnPropertyDescriptor(y.constructor.prototype,k),U=""+y[k];if(!y.hasOwnProperty(k)&&typeof _<"u"&&typeof _.get=="function"&&typeof _.set=="function"){var te=_.get,oe=_.set;return Object.defineProperty(y,k,{configurable:!0,get:function(){return te.call(this)},set:function(ge){U=""+ge,oe.call(this,ge)}}),Object.defineProperty(y,k,{enumerable:_.enumerable}),{getValue:function(){return U},setValue:function(ge){U=""+ge},stopTracking:function(){y._valueTracker=null,delete y[k]}}}}function ke(y){y._valueTracker||(y._valueTracker=me(y))}function le(y){if(!y)return!1;var k=y._valueTracker;if(!k)return!0;var _=k.getValue(),U="";return y&&(U=pe(y)?y.checked?"true":"false":y.value),y=U,y!==_?(k.setValue(y),!0):!1}function he(y){if(y=y||(typeof document<"u"?document:void 0),typeof y>"u")return null;try{return y.activeElement||y.body}catch{return y.body}}function we(y,k){var _=k.checked;return G({},k,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:_??y._wrapperState.initialChecked})}function Ae(y,k){var _=k.defaultValue==null?"":k.defaultValue,U=k.checked!=null?k.checked:k.defaultChecked;_=ce(k.value!=null?k.value:_),y._wrapperState={initialChecked:U,initialValue:_,controlled:k.type==="checkbox"||k.type==="radio"?k.checked!=null:k.value!=null}}function Ve(y,k){k=k.checked,k!=null&&N(y,"checked",k,!1)}function Ze(y,k){Ve(y,k);var _=ce(k.value),U=k.type;if(_!=null)U==="number"?(_===0&&y.value===""||y.value!=_)&&(y.value=""+_):y.value!==""+_&&(y.value=""+_);else if(U==="submit"||U==="reset"){y.removeAttribute("value");return}k.hasOwnProperty("value")?$e(y,k.type,_):k.hasOwnProperty("defaultValue")&&$e(y,k.type,ce(k.defaultValue)),k.checked==null&&k.defaultChecked!=null&&(y.defaultChecked=!!k.defaultChecked)}function nt(y,k,_){if(k.hasOwnProperty("value")||k.hasOwnProperty("defaultValue")){var U=k.type;if(!(U!=="submit"&&U!=="reset"||k.value!==void 0&&k.value!==null))return;k=""+y._wrapperState.initialValue,_||k===y.value||(y.value=k),y.defaultValue=k}_=y.name,_!==""&&(y.name=""),y.defaultChecked=!!y._wrapperState.initialChecked,_!==""&&(y.name=_)}function $e(y,k,_){(k!=="number"||he(y.ownerDocument)!==y)&&(_==null?y.defaultValue=""+y._wrapperState.initialValue:y.defaultValue!==""+_&&(y.defaultValue=""+_))}var Ke=Array.isArray;function Me(y,k,_,U){if(y=y.options,k){k={};for(var te=0;te<_.length;te++)k["$"+_[te]]=!0;for(_=0;_<y.length;_++)te=k.hasOwnProperty("$"+y[_].value),y[_].selected!==te&&(y[_].selected=te),te&&U&&(y[_].defaultSelected=!0)}else{for(_=""+ce(_),k=null,te=0;te<y.length;te++){if(y[te].value===_){y[te].selected=!0,U&&(y[te].defaultSelected=!0);return}k!==null||y[te].disabled||(k=y[te])}k!==null&&(k.selected=!0)}}function et(y,k){if(k.dangerouslySetInnerHTML!=null)throw Error(n(91));return G({},k,{value:void 0,defaultValue:void 0,children:""+y._wrapperState.initialValue})}function pt(y,k){var _=k.value;if(_==null){if(_=k.children,k=k.defaultValue,_!=null){if(k!=null)throw Error(n(92));if(Ke(_)){if(1<_.length)throw Error(n(93));_=_[0]}k=_}k==null&&(k=""),_=k}y._wrapperState={initialValue:ce(_)}}function ht(y,k){var _=ce(k.value),U=ce(k.defaultValue);_!=null&&(_=""+_,_!==y.value&&(y.value=_),k.defaultValue==null&&y.defaultValue!==_&&(y.defaultValue=_)),U!=null&&(y.defaultValue=""+U)}function st(y){var k=y.textContent;k===y._wrapperState.initialValue&&k!==""&&k!==null&&(y.value=k)}function De(y){switch(y){case"svg":return"http://www.w3.org/2000/svg";case"math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}function se(y,k){return y==null||y==="http://www.w3.org/1999/xhtml"?De(k):y==="http://www.w3.org/2000/svg"&&k==="foreignObject"?"http://www.w3.org/1999/xhtml":y}var q,Z=(function(y){return typeof MSApp<"u"&&MSApp.execUnsafeLocalFunction?function(k,_,U,te){MSApp.execUnsafeLocalFunction(function(){return y(k,_,U,te)})}:y})(function(y,k){if(y.namespaceURI!=="http://www.w3.org/2000/svg"||"innerHTML"in y)y.innerHTML=k;else{for(q=q||document.createElement("div"),q.innerHTML="<svg>"+k.valueOf().toString()+"</svg>",k=q.firstChild;y.firstChild;)y.removeChild(y.firstChild);for(;k.firstChild;)y.appendChild(k.firstChild)}});function ie(y,k){if(k){var _=y.firstChild;if(_&&_===y.lastChild&&_.nodeType===3){_.nodeValue=k;return}}y.textContent=k}var Ce={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},Te=["Webkit","ms","Moz","O"];Object.keys(Ce).forEach(function(y){Te.forEach(function(k){k=k+y.charAt(0).toUpperCase()+y.substring(1),Ce[k]=Ce[y]})});function Se(y,k,_){return k==null||typeof k=="boolean"||k===""?"":_||typeof k!="number"||k===0||Ce.hasOwnProperty(y)&&Ce[y]?(""+k).trim():k+"px"}function ye(y,k){y=y.style;for(var _ in k)if(k.hasOwnProperty(_)){var U=_.indexOf("--")===0,te=Se(_,k[_],U);_==="float"&&(_="cssFloat"),U?y.setProperty(_,te):y[_]=te}}var We=G({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function Ee(y,k){if(k){if(We[y]&&(k.children!=null||k.dangerouslySetInnerHTML!=null))throw Error(n(137,y));if(k.dangerouslySetInnerHTML!=null){if(k.children!=null)throw Error(n(60));if(typeof k.dangerouslySetInnerHTML!="object"||!("__html"in k.dangerouslySetInnerHTML))throw Error(n(61))}if(k.style!=null&&typeof k.style!="object")throw Error(n(62))}}function Pe(y,k){if(y.indexOf("-")===-1)return typeof k.is=="string";switch(y){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var Qe=null;function mt(y){return y=y.target||y.srcElement||window,y.correspondingUseElement&&(y=y.correspondingUseElement),y.nodeType===3?y.parentNode:y}var Rt=null,At=null,_t=null;function Ht(y){if(y=Fv(y)){if(typeof Rt!="function")throw Error(n(280));var k=y.stateNode;k&&(k=h4(k),Rt(y.stateNode,y.type,k))}}function dt(y){At?_t?_t.push(y):_t=[y]:At=y}function xt(){if(At){var y=At,k=_t;if(_t=At=null,Ht(y),k)for(y=0;y<k.length;y++)Ht(k[y])}}function vt(y,k){return y(k)}function yt(){}var Wt=!1;function qt(y,k,_){if(Wt)return y(k,_);Wt=!0;try{return vt(y,k,_)}finally{Wt=!1,(At!==null||_t!==null)&&(yt(),xt())}}function Ct(y,k){var _=y.stateNode;if(_===null)return null;var U=h4(_);if(U===null)return null;_=U[k];e:switch(k){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(U=!U.disabled)||(y=y.type,U=!(y==="button"||y==="input"||y==="select"||y==="textarea")),y=!U;break e;default:y=!1}if(y)return null;if(_&&typeof _!="function")throw Error(n(231,k,typeof _));return _}var sn=!1;if(i)try{var yn={};Object.defineProperty(yn,"passive",{get:function(){sn=!0}}),window.addEventListener("test",yn,yn),window.removeEventListener("test",yn,yn)}catch{sn=!1}function Jt(y,k,_,U,te,oe,ge,Fe,Ye){var ut=Array.prototype.slice.call(arguments,3);try{k.apply(_,ut)}catch(It){this.onError(It)}}var jr=!1,Vr=null,Or=!1,Zt=null,wl={onError:function(y){jr=!0,Vr=y}};function vv(y,k,_,U,te,oe,ge,Fe,Ye){jr=!1,Vr=null,Jt.apply(wl,arguments)}function pa(y,k,_,U,te,oe,ge,Fe,Ye){if(vv.apply(this,arguments),jr){if(jr){var ut=Vr;jr=!1,Vr=null}else throw Error(n(198));Or||(Or=!0,Zt=ut)}}function fi(y){var k=y,_=y;if(y.alternate)for(;k.return;)k=k.return;else{y=k;do k=y,(k.flags&4098)!==0&&(_=k.return),y=k.return;while(y)}return k.tag===3?_:null}function Uh(y){if(y.tag===13){var k=y.memoizedState;if(k===null&&(y=y.alternate,y!==null&&(k=y.memoizedState)),k!==null)return k.dehydrated}return null}function $h(y){if(fi(y)!==y)throw Error(n(188))}function bl(y){var k=y.alternate;if(!k){if(k=fi(y),k===null)throw Error(n(188));return k!==y?null:y}for(var _=y,U=k;;){var te=_.return;if(te===null)break;var oe=te.alternate;if(oe===null){if(U=te.return,U!==null){_=U;continue}break}if(te.child===oe.child){for(oe=te.child;oe;){if(oe===_)return $h(te),y;if(oe===U)return $h(te),k;oe=oe.sibling}throw Error(n(188))}if(_.return!==U.return)_=te,U=oe;else{for(var ge=!1,Fe=te.child;Fe;){if(Fe===_){ge=!0,_=te,U=oe;break}if(Fe===U){ge=!0,U=te,_=oe;break}Fe=Fe.sibling}if(!ge){for(Fe=oe.child;Fe;){if(Fe===_){ge=!0,_=oe,U=te;break}if(Fe===U){ge=!0,U=oe,_=te;break}Fe=Fe.sibling}if(!ge)throw Error(n(189))}}if(_.alternate!==U)throw Error(n(190))}if(_.tag!==3)throw Error(n(188));return _.stateNode.current===_?y:k}function Gx(y){return y=bl(y),y!==null?qx(y):null}function qx(y){if(y.tag===5||y.tag===6)return y;for(y=y.child;y!==null;){var k=qx(y);if(k!==null)return k;y=y.sibling}return null}var Oi=e.unstable_scheduleCallback,vs=e.unstable_cancelCallback,Hr=e.unstable_shouldYield,Kx=e.unstable_requestPaint,Nr=e.unstable_now,wv=e.unstable_getCurrentPriorityLevel,jt=e.unstable_ImmediatePriority,Zx=e.unstable_UserBlockingPriority,zr=e.unstable_NormalPriority,Nd=e.unstable_LowPriority,Qx=e.unstable_IdlePriority,ar=null,zn=null;function Jn(y){if(zn&&typeof zn.onCommitFiberRoot=="function")try{zn.onCommitFiberRoot(ar,y,void 0,(y.current.flags&128)===128)}catch{}}var Ua=Math.clz32?Math.clz32:Po,bv=Math.log,xv=Math.LN2;function Po(y){return y>>>=0,y===0?32:31-(bv(y)/xv|0)|0}var zi=64,c1=4194304;function Fr(y){switch(y&-y){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return y&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return y&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return y}}function Fi(y,k){var _=y.pendingLanes;if(_===0)return 0;var U=0,te=y.suspendedLanes,oe=y.pingedLanes,ge=_&268435455;if(ge!==0){var Fe=ge&~te;Fe!==0?U=Fr(Fe):(oe&=ge,oe!==0&&(U=Fr(oe)))}else ge=_&~te,ge!==0?U=Fr(ge):oe!==0&&(U=Fr(oe));if(U===0)return 0;if(k!==0&&k!==U&&(k&te)===0&&(te=U&-U,oe=k&-k,te>=oe||te===16&&(oe&4194240)!==0))return k;if((U&4)!==0&&(U|=_&16),k=y.entangledLanes,k!==0)for(y=y.entanglements,k&=U;0<k;)_=31-Ua(k),te=1<<_,U|=y[_],k&=~te;return U}function JE(y,k){switch(y){case 1:case 2:case 4:return k+250;case 8:case 16:case 32:case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return k+5e3;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return-1;case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function Id(y,k){for(var _=y.suspendedLanes,U=y.pingedLanes,te=y.expirationTimes,oe=y.pendingLanes;0<oe;){var ge=31-Ua(oe),Fe=1<<ge,Ye=te[ge];Ye===-1?((Fe&_)===0||(Fe&U)!==0)&&(te[ge]=JE(Fe,k)):Ye<=k&&(y.expiredLanes|=Fe),oe&=~Fe}}function Ir(y){return y=y.pendingLanes&-1073741825,y!==0?y:y&1073741824?1073741824:0}function rs(){var y=zi;return zi<<=1,(zi&4194240)===0&&(zi=64),y}function rt(y){for(var k=[],_=0;31>_;_++)k.push(y);return k}function Ie(y,k,_){y.pendingLanes|=k,k!==536870912&&(y.suspendedLanes=0,y.pingedLanes=0),y=y.eventTimes,k=31-Ua(k),y[k]=_}function hn(y,k){var _=y.pendingLanes&~k;y.pendingLanes=k,y.suspendedLanes=0,y.pingedLanes=0,y.expiredLanes&=k,y.mutableReadLanes&=k,y.entangledLanes&=k,k=y.entanglements;var U=y.eventTimes;for(y=y.expirationTimes;0<_;){var te=31-Ua(_),oe=1<<te;k[te]=0,U[te]=-1,y[te]=-1,_&=~oe}}function Eo(y,k){var _=y.entangledLanes|=k;for(y=y.entanglements;_;){var U=31-Ua(_),te=1<<U;te&k|y[U]&k&&(y[U]|=k),_&=~te}}var Fn=0;function Jx(y){return y&=-y,1<y?4<y?(y&268435455)!==0?16:536870912:4:1}var u1,ha,mn,Wr,kv,jv=!1,Ad=[],Bi=null,xl=null,pu=null,co=new Map,vc=new Map,Hs=[],jn="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit".split(" ");function Xx(y,k){switch(y){case"focusin":case"focusout":Bi=null;break;case"dragenter":case"dragleave":xl=null;break;case"mouseover":case"mouseout":pu=null;break;case"pointerover":case"pointerout":co.delete(k.pointerId);break;case"gotpointercapture":case"lostpointercapture":vc.delete(k.pointerId)}}function Mn(y,k,_,U,te,oe){return y===null||y.nativeEvent!==oe?(y={blockedOn:k,domEventName:_,eventSystemFlags:U,nativeEvent:oe,targetContainers:[te]},k!==null&&(k=Fv(k),k!==null&&ha(k)),y):(y.eventSystemFlags|=U,k=y.targetContainers,te!==null&&k.indexOf(te)===-1&&k.push(te),y)}function ss(y,k,_,U,te){switch(k){case"focusin":return Bi=Mn(Bi,y,k,_,U,te),!0;case"dragenter":return xl=Mn(xl,y,k,_,U,te),!0;case"mouseover":return pu=Mn(pu,y,k,_,U,te),!0;case"pointerover":var oe=te.pointerId;return co.set(oe,Mn(co.get(oe)||null,y,k,_,U,te)),!0;case"gotpointercapture":return oe=te.pointerId,vc.set(oe,Mn(vc.get(oe)||null,y,k,_,U,te)),!0}return!1}function e4(y){var k=Jh(y.target);if(k!==null){var _=fi(k);if(_!==null){if(k=_.tag,k===13){if(k=Uh(_),k!==null){y.blockedOn=k,kv(y.priority,function(){mn(_)});return}}else if(k===3&&_.stateNode.current.memoizedState.isDehydrated){y.blockedOn=_.tag===3?_.stateNode.containerInfo:null;return}}}y.blockedOn=null}function _d(y){if(y.blockedOn!==null)return!1;for(var k=y.targetContainers;0<k.length;){var _=f1(y.domEventName,y.eventSystemFlags,k[0],y.nativeEvent);if(_===null){_=y.nativeEvent;var U=new _.constructor(_.type,_);Qe=U,_.target.dispatchEvent(U),Qe=null}else return k=Fv(_),k!==null&&ha(k),y.blockedOn=_,!1;k.shift()}return!0}function Cv(y,k,_){_d(y)&&_.delete(k)}function jf(){jv=!1,Bi!==null&&_d(Bi)&&(Bi=null),xl!==null&&_d(xl)&&(xl=null),pu!==null&&_d(pu)&&(pu=null),co.forEach(Cv),vc.forEach(Cv)}function Vh(y,k){y.blockedOn===k&&(y.blockedOn=null,jv||(jv=!0,e.unstable_scheduleCallback(e.unstable_NormalPriority,jf)))}function wc(y){function k(te){return Vh(te,y)}if(0<Ad.length){Vh(Ad[0],y);for(var _=1;_<Ad.length;_++){var U=Ad[_];U.blockedOn===y&&(U.blockedOn=null)}}for(Bi!==null&&Vh(Bi,y),xl!==null&&Vh(xl,y),pu!==null&&Vh(pu,y),co.forEach(k),vc.forEach(k),_=0;_<Hs.length;_++)U=Hs[_],U.blockedOn===y&&(U.blockedOn=null);for(;0<Hs.length&&(_=Hs[0],_.blockedOn===null);)e4(_),_.blockedOn===null&&Hs.shift()}var kl=M.ReactCurrentBatchConfig,hu=!0;function t4(y,k,_,U){var te=Fn,oe=kl.transition;kl.transition=null;try{Fn=1,Cf(y,k,_,U)}finally{Fn=te,kl.transition=oe}}function Hh(y,k,_,U){var te=Fn,oe=kl.transition;kl.transition=null;try{Fn=4,Cf(y,k,_,U)}finally{Fn=te,kl.transition=oe}}function Cf(y,k,_,U){if(hu){var te=f1(y,k,_,U);if(te===null)lN(y,k,U,as,_),Xx(y,U);else if(ss(te,y,k,_,U))U.stopPropagation();else if(Xx(y,U),k&4&&-1<jn.indexOf(y)){for(;te!==null;){var oe=Fv(te);if(oe!==null&&u1(oe),oe=f1(y,k,_,U),oe===null&&lN(y,k,U,as,_),oe===te)break;te=oe}te!==null&&U.stopPropagation()}else lN(y,k,U,null,_)}}var as=null;function f1(y,k,_,U){if(as=null,y=mt(U),y=Jh(y),y!==null)if(k=fi(y),k===null)y=null;else if(_=k.tag,_===13){if(y=Uh(k),y!==null)return y;y=null}else if(_===3){if(k.stateNode.current.memoizedState.isDehydrated)return k.tag===3?k.stateNode.containerInfo:null;y=null}else k!==y&&(y=null);return as=y,null}function Sv(y){switch(y){case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 1;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"toggle":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 4;case"message":switch(wv()){case jt:return 1;case Zx:return 4;case zr:case Nd:return 16;case Qx:return 536870912;default:return 16}default:return 16}}var bc=null,Ev=null,d1=null;function n4(){if(d1)return d1;var y,k=Ev,_=k.length,U,te="value"in bc?bc.value:bc.textContent,oe=te.length;for(y=0;y<_&&k[y]===te[y];y++);var ge=_-y;for(U=1;U<=ge&&k[_-U]===te[oe-U];U++);return d1=te.slice(y,1<U?1-U:void 0)}function dr(y){var k=y.keyCode;return"charCode"in y?(y=y.charCode,y===0&&k===13&&(y=13)):y=k,y===10&&(y=13),32<=y||y===13?y:0}function Wh(){return!0}function Yh(){return!1}function No(y){function k(_,U,te,oe,ge){this._reactName=_,this._targetInst=te,this.type=U,this.nativeEvent=oe,this.target=ge,this.currentTarget=null;for(var Fe in y)y.hasOwnProperty(Fe)&&(_=y[Fe],this[Fe]=_?_(oe):oe[Fe]);return this.isDefaultPrevented=(oe.defaultPrevented!=null?oe.defaultPrevented:oe.returnValue===!1)?Wh:Yh,this.isPropagationStopped=Yh,this}return G(k.prototype,{preventDefault:function(){this.defaultPrevented=!0;var _=this.nativeEvent;_&&(_.preventDefault?_.preventDefault():typeof _.returnValue!="unknown"&&(_.returnValue=!1),this.isDefaultPrevented=Wh)},stopPropagation:function(){var _=this.nativeEvent;_&&(_.stopPropagation?_.stopPropagation():typeof _.cancelBubble!="unknown"&&(_.cancelBubble=!0),this.isPropagationStopped=Wh)},persist:function(){},isPersistent:Wh}),k}var Md={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(y){return y.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},ct=No(Md),Tn=G({},Md,{view:0,detail:0}),is=No(Tn),Rd,p1,Gh,h1=G({},Tn,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:qh,button:0,buttons:0,relatedTarget:function(y){return y.relatedTarget===void 0?y.fromElement===y.srcElement?y.toElement:y.fromElement:y.relatedTarget},movementX:function(y){return"movementX"in y?y.movementX:(y!==Gh&&(Gh&&y.type==="mousemove"?(Rd=y.screenX-Gh.screenX,p1=y.screenY-Gh.screenY):p1=Rd=0,Gh=y),Rd)},movementY:function(y){return"movementY"in y?y.movementY:p1}}),r4=No(h1),Nv=G({},h1,{dataTransfer:0}),Oo=No(Nv),Iv=G({},Tn,{relatedTarget:0}),Yr=No(Iv),m1=G({},Md,{animationName:0,elapsedTime:0,pseudoElement:0}),Sf=No(m1),Mr=G({},Md,{clipboardData:function(y){return"clipboardData"in y?y.clipboardData:window.clipboardData}}),vn=No(Mr),XE=G({},Md,{data:0}),Dr=No(XE),Ef={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},Td={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},eN={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function jl(y){var k=this.nativeEvent;return k.getModifierState?k.getModifierState(y):(y=eN[y])?!!k[y]:!1}function qh(){return jl}var o4=G({},Tn,{key:function(y){if(y.key){var k=Ef[y.key]||y.key;if(k!=="Unidentified")return k}return y.type==="keypress"?(y=dr(y),y===13?"Enter":String.fromCharCode(y)):y.type==="keydown"||y.type==="keyup"?Td[y.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:qh,charCode:function(y){return y.type==="keypress"?dr(y):0},keyCode:function(y){return y.type==="keydown"||y.type==="keyup"?y.keyCode:0},which:function(y){return y.type==="keypress"?dr(y):y.type==="keydown"||y.type==="keyup"?y.keyCode:0}}),Av=No(o4),s4=G({},h1,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),_v=No(s4),tN=G({},Tn,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:qh}),Dd=No(tN),Mv=G({},Md,{propertyName:0,elapsedTime:0,pseudoElement:0}),nN=No(Mv),Kh=G({},h1,{deltaX:function(y){return"deltaX"in y?y.deltaX:"wheelDeltaX"in y?-y.wheelDeltaX:0},deltaY:function(y){return"deltaY"in y?y.deltaY:"wheelDeltaY"in y?-y.wheelDeltaY:"wheelDelta"in y?-y.wheelDelta:0},deltaZ:0,deltaMode:0}),rN=No(Kh),mu=[9,13,27,32],Ld=i&&"CompositionEvent"in window,ws=null;i&&"documentMode"in document&&(ws=document.documentMode);var a4=i&&"TextEvent"in window&&!ws,Ui=i&&(!Ld||ws&&8<ws&&11>=ws),i4=" ",g1=!1;function l4(y,k){switch(y){case"keyup":return mu.indexOf(k.keyCode)!==-1;case"keydown":return k.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Rv(y){return y=y.detail,typeof y=="object"&&"data"in y?y.data:null}var Ws=!1;function oN(y,k){switch(y){case"compositionend":return Rv(k);case"keypress":return k.which!==32?null:(g1=!0,i4);case"textInput":return y=k.data,y===i4&&g1?null:y;default:return null}}function Tv(y,k){if(Ws)return y==="compositionend"||!Ld&&l4(y,k)?(y=n4(),d1=Ev=bc=null,Ws=!1,y):null;switch(y){case"paste":return null;case"keypress":if(!(k.ctrlKey||k.altKey||k.metaKey)||k.ctrlKey&&k.altKey){if(k.char&&1<k.char.length)return k.char;if(k.which)return String.fromCharCode(k.which)}return null;case"compositionend":return Ui&&k.locale!=="ko"?null:k.data;default:return null}}var Zh={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function tr(y){var k=y&&y.nodeName&&y.nodeName.toLowerCase();return k==="input"?!!Zh[y.type]:k==="textarea"}function Qh(y,k,_,U){dt(U),k=f4(k,"onChange"),0<k.length&&(_=new ct("onChange","change",null,_,U),y.push({event:_,listeners:k}))}var ue=null,p=null;function v(y){VO(y,0)}function x(y){var k=w1(y);if(le(k))return y}function C(y,k){if(y==="change")return k}var E=!1;if(i){var A;if(i){var P="oninput"in document;if(!P){var H=document.createElement("div");H.setAttribute("oninput","return;"),P=typeof H.oninput=="function"}A=P}else A=!1;E=A&&(!document.documentMode||9<document.documentMode)}function ee(){ue&&(ue.detachEvent("onpropertychange",ae),p=ue=null)}function ae(y){if(y.propertyName==="value"&&x(p)){var k=[];Qh(k,p,y,mt(y)),qt(v,k)}}function fe(y,k,_){y==="focusin"?(ee(),ue=k,p=_,ue.attachEvent("onpropertychange",ae)):y==="focusout"&&ee()}function be(y){if(y==="selectionchange"||y==="keyup"||y==="keydown")return x(p)}function _e(y,k){if(y==="click")return x(k)}function He(y,k){if(y==="input"||y==="change")return x(k)}function Ge(y,k){return y===k&&(y!==0||1/y===1/k)||y!==y&&k!==k}var tt=typeof Object.is=="function"?Object.is:Ge;function lt(y,k){if(tt(y,k))return!0;if(typeof y!="object"||y===null||typeof k!="object"||k===null)return!1;var _=Object.keys(y),U=Object.keys(k);if(_.length!==U.length)return!1;for(U=0;U<_.length;U++){var te=_[U];if(!l.call(k,te)||!tt(y[te],k[te]))return!1}return!0}function Lt(y){for(;y&&y.firstChild;)y=y.firstChild;return y}function zt(y,k){var _=Lt(y);y=0;for(var U;_;){if(_.nodeType===3){if(U=y+_.textContent.length,y<=k&&U>=k)return{node:_,offset:k-y};y=U}e:{for(;_;){if(_.nextSibling){_=_.nextSibling;break e}_=_.parentNode}_=void 0}_=Lt(_)}}function Nt(y,k){return y&&k?y===k?!0:y&&y.nodeType===3?!1:k&&k.nodeType===3?Nt(y,k.parentNode):"contains"in y?y.contains(k):y.compareDocumentPosition?!!(y.compareDocumentPosition(k)&16):!1:!1}function Gn(){for(var y=window,k=he();k instanceof y.HTMLIFrameElement;){try{var _=typeof k.contentWindow.location.href=="string"}catch{_=!1}if(_)y=k.contentWindow;else break;k=he(y.document)}return k}function Rn(y){var k=y&&y.nodeName&&y.nodeName.toLowerCase();return k&&(k==="input"&&(y.type==="text"||y.type==="search"||y.type==="tel"||y.type==="url"||y.type==="password")||k==="textarea"||y.contentEditable==="true")}function ma(y){var k=Gn(),_=y.focusedElem,U=y.selectionRange;if(k!==_&&_&&_.ownerDocument&&Nt(_.ownerDocument.documentElement,_)){if(U!==null&&Rn(_)){if(k=U.start,y=U.end,y===void 0&&(y=k),"selectionStart"in _)_.selectionStart=k,_.selectionEnd=Math.min(y,_.value.length);else if(y=(k=_.ownerDocument||document)&&k.defaultView||window,y.getSelection){y=y.getSelection();var te=_.textContent.length,oe=Math.min(U.start,te);U=U.end===void 0?oe:Math.min(U.end,te),!y.extend&&oe>U&&(te=U,U=oe,oe=te),te=zt(_,oe);var ge=zt(_,U);te&&ge&&(y.rangeCount!==1||y.anchorNode!==te.node||y.anchorOffset!==te.offset||y.focusNode!==ge.node||y.focusOffset!==ge.offset)&&(k=k.createRange(),k.setStart(te.node,te.offset),y.removeAllRanges(),oe>U?(y.addRange(k),y.extend(ge.node,ge.offset)):(k.setEnd(ge.node,ge.offset),y.addRange(k)))}}for(k=[],y=_;y=y.parentNode;)y.nodeType===1&&k.push({element:y,left:y.scrollLeft,top:y.scrollTop});for(typeof _.focus=="function"&&_.focus(),_=0;_<k.length;_++)y=k[_],y.element.scrollLeft=y.left,y.element.scrollTop=y.top}}var $i=i&&"documentMode"in document&&11>=document.documentMode,zo=null,Cr=null,yo=null,Ys=!1;function Nf(y,k,_){var U=_.window===_?_.document:_.nodeType===9?_:_.ownerDocument;Ys||zo==null||zo!==he(U)||(U=zo,"selectionStart"in U&&Rn(U)?U={start:U.selectionStart,end:U.selectionEnd}:(U=(U.ownerDocument&&U.ownerDocument.defaultView||window).getSelection(),U={anchorNode:U.anchorNode,anchorOffset:U.anchorOffset,focusNode:U.focusNode,focusOffset:U.focusOffset}),yo&<(yo,U)||(yo=U,U=f4(Cr,"onSelect"),0<U.length&&(k=new ct("onSelect","select",null,k,_),y.push({event:k,listeners:U}),k.target=zo)))}function xc(y,k){var _={};return _[y.toLowerCase()]=k.toLowerCase(),_["Webkit"+y]="webkit"+k,_["Moz"+y]="moz"+k,_}var Pd={animationend:xc("Animation","AnimationEnd"),animationiteration:xc("Animation","AnimationIteration"),animationstart:xc("Animation","AnimationStart"),transitionend:xc("Transition","TransitionEnd")},Dv={},LO={};i&&(LO=document.createElement("div").style,"AnimationEvent"in window||(delete Pd.animationend.animation,delete Pd.animationiteration.animation,delete Pd.animationstart.animation),"TransitionEvent"in window||delete Pd.transitionend.transition);function c4(y){if(Dv[y])return Dv[y];if(!Pd[y])return y;var k=Pd[y],_;for(_ in k)if(k.hasOwnProperty(_)&&_ in LO)return Dv[y]=k[_];return y}var PO=c4("animationend"),OO=c4("animationiteration"),zO=c4("animationstart"),FO=c4("transitionend"),BO=new Map,UO="abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");function Od(y,k){BO.set(y,k),s(k,[y])}for(var sN=0;sN<UO.length;sN++){var aN=UO[sN],Hve=aN.toLowerCase(),Wve=aN[0].toUpperCase()+aN.slice(1);Od(Hve,"on"+Wve)}Od(PO,"onAnimationEnd"),Od(OO,"onAnimationIteration"),Od(zO,"onAnimationStart"),Od("dblclick","onDoubleClick"),Od("focusin","onFocus"),Od("focusout","onBlur"),Od(FO,"onTransitionEnd"),a("onMouseEnter",["mouseout","mouseover"]),a("onMouseLeave",["mouseout","mouseover"]),a("onPointerEnter",["pointerout","pointerover"]),a("onPointerLeave",["pointerout","pointerover"]),s("onChange","change click focusin focusout input keydown keyup selectionchange".split(" ")),s("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")),s("onBeforeInput",["compositionend","keypress","textInput","paste"]),s("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" ")),s("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" ")),s("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var Lv="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),Yve=new Set("cancel close invalid load scroll toggle".split(" ").concat(Lv));function $O(y,k,_){var U=y.type||"unknown-event";y.currentTarget=_,pa(U,k,void 0,y),y.currentTarget=null}function VO(y,k){k=(k&4)!==0;for(var _=0;_<y.length;_++){var U=y[_],te=U.event;U=U.listeners;e:{var oe=void 0;if(k)for(var ge=U.length-1;0<=ge;ge--){var Fe=U[ge],Ye=Fe.instance,ut=Fe.currentTarget;if(Fe=Fe.listener,Ye!==oe&&te.isPropagationStopped())break e;$O(te,Fe,ut),oe=Ye}else for(ge=0;ge<U.length;ge++){if(Fe=U[ge],Ye=Fe.instance,ut=Fe.currentTarget,Fe=Fe.listener,Ye!==oe&&te.isPropagationStopped())break e;$O(te,Fe,ut),oe=Ye}}}if(Or)throw y=Zt,Or=!1,Zt=null,y}function Qr(y,k){var _=k[hN];_===void 0&&(_=k[hN]=new Set);var U=y+"__bubble";_.has(U)||(HO(k,y,2,!1),_.add(U))}function iN(y,k,_){var U=0;k&&(U|=4),HO(_,y,U,k)}var u4="_reactListening"+Math.random().toString(36).slice(2);function Pv(y){if(!y[u4]){y[u4]=!0,r.forEach(function(_){_!=="selectionchange"&&(Yve.has(_)||iN(_,!1,y),iN(_,!0,y))});var k=y.nodeType===9?y:y.ownerDocument;k===null||k[u4]||(k[u4]=!0,iN("selectionchange",!1,k))}}function HO(y,k,_,U){switch(Sv(k)){case 1:var te=t4;break;case 4:te=Hh;break;default:te=Cf}_=te.bind(null,k,_,y),te=void 0,!sn||k!=="touchstart"&&k!=="touchmove"&&k!=="wheel"||(te=!0),U?te!==void 0?y.addEventListener(k,_,{capture:!0,passive:te}):y.addEventListener(k,_,!0):te!==void 0?y.addEventListener(k,_,{passive:te}):y.addEventListener(k,_,!1)}function lN(y,k,_,U,te){var oe=U;if((k&1)===0&&(k&2)===0&&U!==null)e:for(;;){if(U===null)return;var ge=U.tag;if(ge===3||ge===4){var Fe=U.stateNode.containerInfo;if(Fe===te||Fe.nodeType===8&&Fe.parentNode===te)break;if(ge===4)for(ge=U.return;ge!==null;){var Ye=ge.tag;if((Ye===3||Ye===4)&&(Ye=ge.stateNode.containerInfo,Ye===te||Ye.nodeType===8&&Ye.parentNode===te))return;ge=ge.return}for(;Fe!==null;){if(ge=Jh(Fe),ge===null)return;if(Ye=ge.tag,Ye===5||Ye===6){U=oe=ge;continue e}Fe=Fe.parentNode}}U=U.return}qt(function(){var ut=oe,It=mt(_),Tt=[];e:{var St=BO.get(y);if(St!==void 0){var Xt=ct,ln=y;switch(y){case"keypress":if(dr(_)===0)break e;case"keydown":case"keyup":Xt=Av;break;case"focusin":ln="focus",Xt=Yr;break;case"focusout":ln="blur",Xt=Yr;break;case"beforeblur":case"afterblur":Xt=Yr;break;case"click":if(_.button===2)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":Xt=r4;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":Xt=Oo;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":Xt=Dd;break;case PO:case OO:case zO:Xt=Sf;break;case FO:Xt=nN;break;case"scroll":Xt=is;break;case"wheel":Xt=rN;break;case"copy":case"cut":case"paste":Xt=vn;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":Xt=_v}var un=(k&4)!==0,Fo=!un&&y==="scroll",ot=un?St!==null?St+"Capture":null:St;un=[];for(var Je=ut,it;Je!==null;){it=Je;var Bt=it.stateNode;if(it.tag===5&&Bt!==null&&(it=Bt,ot!==null&&(Bt=Ct(Je,ot),Bt!=null&&un.push(Ov(Je,Bt,it)))),Fo)break;Je=Je.return}0<un.length&&(St=new Xt(St,ln,null,_,It),Tt.push({event:St,listeners:un}))}}if((k&7)===0){e:{if(St=y==="mouseover"||y==="pointerover",Xt=y==="mouseout"||y==="pointerout",St&&_!==Qe&&(ln=_.relatedTarget||_.fromElement)&&(Jh(ln)||ln[If]))break e;if((Xt||St)&&(St=It.window===It?It:(St=It.ownerDocument)?St.defaultView||St.parentWindow:window,Xt?(ln=_.relatedTarget||_.toElement,Xt=ut,ln=ln?Jh(ln):null,ln!==null&&(Fo=fi(ln),ln!==Fo||ln.tag!==5&&ln.tag!==6)&&(ln=null)):(Xt=null,ln=ut),Xt!==ln)){if(un=r4,Bt="onMouseLeave",ot="onMouseEnter",Je="mouse",(y==="pointerout"||y==="pointerover")&&(un=_v,Bt="onPointerLeave",ot="onPointerEnter",Je="pointer"),Fo=Xt==null?St:w1(Xt),it=ln==null?St:w1(ln),St=new un(Bt,Je+"leave",Xt,_,It),St.target=Fo,St.relatedTarget=it,Bt=null,Jh(It)===ut&&(un=new un(ot,Je+"enter",ln,_,It),un.target=it,un.relatedTarget=Fo,Bt=un),Fo=Bt,Xt&&ln)t:{for(un=Xt,ot=ln,Je=0,it=un;it;it=y1(it))Je++;for(it=0,Bt=ot;Bt;Bt=y1(Bt))it++;for(;0<Je-it;)un=y1(un),Je--;for(;0<it-Je;)ot=y1(ot),it--;for(;Je--;){if(un===ot||ot!==null&&un===ot.alternate)break t;un=y1(un),ot=y1(ot)}un=null}else un=null;Xt!==null&&WO(Tt,St,Xt,un,!1),ln!==null&&Fo!==null&&WO(Tt,Fo,ln,un,!0)}}e:{if(St=ut?w1(ut):window,Xt=St.nodeName&&St.nodeName.toLowerCase(),Xt==="select"||Xt==="input"&&St.type==="file")var dn=C;else if(tr(St))if(E)dn=He;else{dn=be;var wn=fe}else(Xt=St.nodeName)&&Xt.toLowerCase()==="input"&&(St.type==="checkbox"||St.type==="radio")&&(dn=_e);if(dn&&(dn=dn(y,ut))){Qh(Tt,dn,_,It);break e}wn&&wn(y,St,ut),y==="focusout"&&(wn=St._wrapperState)&&wn.controlled&&St.type==="number"&&$e(St,"number",St.value)}switch(wn=ut?w1(ut):window,y){case"focusin":(tr(wn)||wn.contentEditable==="true")&&(zo=wn,Cr=ut,yo=null);break;case"focusout":yo=Cr=zo=null;break;case"mousedown":Ys=!0;break;case"contextmenu":case"mouseup":case"dragend":Ys=!1,Nf(Tt,_,It);break;case"selectionchange":if($i)break;case"keydown":case"keyup":Nf(Tt,_,It)}var bn;if(Ld)e:{switch(y){case"compositionstart":var _n="onCompositionStart";break e;case"compositionend":_n="onCompositionEnd";break e;case"compositionupdate":_n="onCompositionUpdate";break e}_n=void 0}else Ws?l4(y,_)&&(_n="onCompositionEnd"):y==="keydown"&&_.keyCode===229&&(_n="onCompositionStart");_n&&(Ui&&_.locale!=="ko"&&(Ws||_n!=="onCompositionStart"?_n==="onCompositionEnd"&&Ws&&(bn=n4()):(bc=It,Ev="value"in bc?bc.value:bc.textContent,Ws=!0)),wn=f4(ut,_n),0<wn.length&&(_n=new Dr(_n,y,null,_,It),Tt.push({event:_n,listeners:wn}),bn?_n.data=bn:(bn=Rv(_),bn!==null&&(_n.data=bn)))),(bn=a4?oN(y,_):Tv(y,_))&&(ut=f4(ut,"onBeforeInput"),0<ut.length&&(It=new Dr("onBeforeInput","beforeinput",null,_,It),Tt.push({event:It,listeners:ut}),It.data=bn))}VO(Tt,k)})}function Ov(y,k,_){return{instance:y,listener:k,currentTarget:_}}function f4(y,k){for(var _=k+"Capture",U=[];y!==null;){var te=y,oe=te.stateNode;te.tag===5&&oe!==null&&(te=oe,oe=Ct(y,_),oe!=null&&U.unshift(Ov(y,oe,te)),oe=Ct(y,k),oe!=null&&U.push(Ov(y,oe,te))),y=y.return}return U}function y1(y){if(y===null)return null;do y=y.return;while(y&&y.tag!==5);return y||null}function WO(y,k,_,U,te){for(var oe=k._reactName,ge=[];_!==null&&_!==U;){var Fe=_,Ye=Fe.alternate,ut=Fe.stateNode;if(Ye!==null&&Ye===U)break;Fe.tag===5&&ut!==null&&(Fe=ut,te?(Ye=Ct(_,oe),Ye!=null&&ge.unshift(Ov(_,Ye,Fe))):te||(Ye=Ct(_,oe),Ye!=null&&ge.push(Ov(_,Ye,Fe)))),_=_.return}ge.length!==0&&y.push({event:k,listeners:ge})}var Gve=/\r\n?/g,qve=/\u0000|\uFFFD/g;function YO(y){return(typeof y=="string"?y:""+y).replace(Gve,`
1266 `).replace(qve,"")}function d4(y,k,_){if(k=YO(k),YO(y)!==k&&_)throw Error(n(425))}function p4(){}var cN=null,uN=null;function fN(y,k){return y==="textarea"||y==="noscript"||typeof k.children=="string"||typeof k.children=="number"||typeof k.dangerouslySetInnerHTML=="object"&&k.dangerouslySetInnerHTML!==null&&k.dangerouslySetInnerHTML.__html!=null}var dN=typeof setTimeout=="function"?setTimeout:void 0,Kve=typeof clearTimeout=="function"?clearTimeout:void 0,GO=typeof Promise=="function"?Promise:void 0,Zve=typeof queueMicrotask=="function"?queueMicrotask:typeof GO<"u"?function(y){return GO.resolve(null).then(y).catch(Qve)}:dN;function Qve(y){setTimeout(function(){throw y})}function pN(y,k){var _=k,U=0;do{var te=_.nextSibling;if(y.removeChild(_),te&&te.nodeType===8)if(_=te.data,_==="/$"){if(U===0){y.removeChild(te),wc(k);return}U--}else _!=="$"&&_!=="$?"&&_!=="$!"||U++;_=te}while(_);wc(k)}function zd(y){for(;y!=null;y=y.nextSibling){var k=y.nodeType;if(k===1||k===3)break;if(k===8){if(k=y.data,k==="$"||k==="$!"||k==="$?")break;if(k==="/$")return null}}return y}function qO(y){y=y.previousSibling;for(var k=0;y;){if(y.nodeType===8){var _=y.data;if(_==="$"||_==="$!"||_==="$?"){if(k===0)return y;k--}else _==="/$"&&k++}y=y.previousSibling}return null}var v1=Math.random().toString(36).slice(2),gu="__reactFiber$"+v1,zv="__reactProps$"+v1,If="__reactContainer$"+v1,hN="__reactEvents$"+v1,Jve="__reactListeners$"+v1,Xve="__reactHandles$"+v1;function Jh(y){var k=y[gu];if(k)return k;for(var _=y.parentNode;_;){if(k=_[If]||_[gu]){if(_=k.alternate,k.child!==null||_!==null&&_.child!==null)for(y=qO(y);y!==null;){if(_=y[gu])return _;y=qO(y)}return k}y=_,_=y.parentNode}return null}function Fv(y){return y=y[gu]||y[If],!y||y.tag!==5&&y.tag!==6&&y.tag!==13&&y.tag!==3?null:y}function w1(y){if(y.tag===5||y.tag===6)return y.stateNode;throw Error(n(33))}function h4(y){return y[zv]||null}var mN=[],b1=-1;function Fd(y){return{current:y}}function Jr(y){0>b1||(y.current=mN[b1],mN[b1]=null,b1--)}function Gr(y,k){b1++,mN[b1]=y.current,y.current=k}var Bd={},ga=Fd(Bd),di=Fd(!1),Xh=Bd;function x1(y,k){var _=y.type.contextTypes;if(!_)return Bd;var U=y.stateNode;if(U&&U.__reactInternalMemoizedUnmaskedChildContext===k)return U.__reactInternalMemoizedMaskedChildContext;var te={},oe;for(oe in _)te[oe]=k[oe];return U&&(y=y.stateNode,y.__reactInternalMemoizedUnmaskedChildContext=k,y.__reactInternalMemoizedMaskedChildContext=te),te}function pi(y){return y=y.childContextTypes,y!=null}function m4(){Jr(di),Jr(ga)}function KO(y,k,_){if(ga.current!==Bd)throw Error(n(168));Gr(ga,k),Gr(di,_)}function ZO(y,k,_){var U=y.stateNode;if(k=k.childContextTypes,typeof U.getChildContext!="function")return _;U=U.getChildContext();for(var te in U)if(!(te in k))throw Error(n(108,xe(y)||"Unknown",te));return G({},_,U)}function g4(y){return y=(y=y.stateNode)&&y.__reactInternalMemoizedMergedChildContext||Bd,Xh=ga.current,Gr(ga,y),Gr(di,di.current),!0}function QO(y,k,_){var U=y.stateNode;if(!U)throw Error(n(169));_?(y=ZO(y,k,Xh),U.__reactInternalMemoizedMergedChildContext=y,Jr(di),Jr(ga),Gr(ga,y)):Jr(di),Gr(di,_)}var Af=null,y4=!1,gN=!1;function JO(y){Af===null?Af=[y]:Af.push(y)}function ewe(y){y4=!0,JO(y)}function Ud(){if(!gN&&Af!==null){gN=!0;var y=0,k=Fn;try{var _=Af;for(Fn=1;y<_.length;y++){var U=_[y];do U=U(!0);while(U!==null)}Af=null,y4=!1}catch(te){throw Af!==null&&(Af=Af.slice(y+1)),Oi(jt,Ud),te}finally{Fn=k,gN=!1}}return null}var k1=[],j1=0,v4=null,w4=0,Cl=[],Sl=0,em=null,_f=1,Mf="";function tm(y,k){k1[j1++]=w4,k1[j1++]=v4,v4=y,w4=k}function XO(y,k,_){Cl[Sl++]=_f,Cl[Sl++]=Mf,Cl[Sl++]=em,em=y;var U=_f;y=Mf;var te=32-Ua(U)-1;U&=~(1<<te),_+=1;var oe=32-Ua(k)+te;if(30<oe){var ge=te-te%5;oe=(U&(1<<ge)-1).toString(32),U>>=ge,te-=ge,_f=1<<32-Ua(k)+te|_<<te|U,Mf=oe+y}else _f=1<<oe|_<<te|U,Mf=y}function yN(y){y.return!==null&&(tm(y,1),XO(y,1,0))}function vN(y){for(;y===v4;)v4=k1[--j1],k1[j1]=null,w4=k1[--j1],k1[j1]=null;for(;y===em;)em=Cl[--Sl],Cl[Sl]=null,Mf=Cl[--Sl],Cl[Sl]=null,_f=Cl[--Sl],Cl[Sl]=null}var Vi=null,Hi=null,uo=!1,kc=null;function ez(y,k){var _=Al(5,null,null,0);_.elementType="DELETED",_.stateNode=k,_.return=y,k=y.deletions,k===null?(y.deletions=[_],y.flags|=16):k.push(_)}function tz(y,k){switch(y.tag){case 5:var _=y.type;return k=k.nodeType!==1||_.toLowerCase()!==k.nodeName.toLowerCase()?null:k,k!==null?(y.stateNode=k,Vi=y,Hi=zd(k.firstChild),!0):!1;case 6:return k=y.pendingProps===""||k.nodeType!==3?null:k,k!==null?(y.stateNode=k,Vi=y,Hi=null,!0):!1;case 13:return k=k.nodeType!==8?null:k,k!==null?(_=em!==null?{id:_f,overflow:Mf}:null,y.memoizedState={dehydrated:k,treeContext:_,retryLane:1073741824},_=Al(18,null,null,0),_.stateNode=k,_.return=y,y.child=_,Vi=y,Hi=null,!0):!1;default:return!1}}function wN(y){return(y.mode&1)!==0&&(y.flags&128)===0}function bN(y){if(uo){var k=Hi;if(k){var _=k;if(!tz(y,k)){if(wN(y))throw Error(n(418));k=zd(_.nextSibling);var U=Vi;k&&tz(y,k)?ez(U,_):(y.flags=y.flags&-4097|2,uo=!1,Vi=y)}}else{if(wN(y))throw Error(n(418));y.flags=y.flags&-4097|2,uo=!1,Vi=y}}}function nz(y){for(y=y.return;y!==null&&y.tag!==5&&y.tag!==3&&y.tag!==13;)y=y.return;Vi=y}function b4(y){if(y!==Vi)return!1;if(!uo)return nz(y),uo=!0,!1;var k;if((k=y.tag!==3)&&!(k=y.tag!==5)&&(k=y.type,k=k!=="head"&&k!=="body"&&!fN(y.type,y.memoizedProps)),k&&(k=Hi)){if(wN(y))throw rz(),Error(n(418));for(;k;)ez(y,k),k=zd(k.nextSibling)}if(nz(y),y.tag===13){if(y=y.memoizedState,y=y!==null?y.dehydrated:null,!y)throw Error(n(317));e:{for(y=y.nextSibling,k=0;y;){if(y.nodeType===8){var _=y.data;if(_==="/$"){if(k===0){Hi=zd(y.nextSibling);break e}k--}else _!=="$"&&_!=="$!"&&_!=="$?"||k++}y=y.nextSibling}Hi=null}}else Hi=Vi?zd(y.stateNode.nextSibling):null;return!0}function rz(){for(var y=Hi;y;)y=zd(y.nextSibling)}function C1(){Hi=Vi=null,uo=!1}function xN(y){kc===null?kc=[y]:kc.push(y)}var twe=M.ReactCurrentBatchConfig;function Bv(y,k,_){if(y=_.ref,y!==null&&typeof y!="function"&&typeof y!="object"){if(_._owner){if(_=_._owner,_){if(_.tag!==1)throw Error(n(309));var U=_.stateNode}if(!U)throw Error(n(147,y));var te=U,oe=""+y;return k!==null&&k.ref!==null&&typeof k.ref=="function"&&k.ref._stringRef===oe?k.ref:(k=function(ge){var Fe=te.refs;ge===null?delete Fe[oe]:Fe[oe]=ge},k._stringRef=oe,k)}if(typeof y!="string")throw Error(n(284));if(!_._owner)throw Error(n(290,y))}return y}function x4(y,k){throw y=Object.prototype.toString.call(k),Error(n(31,y==="[object Object]"?"object with keys {"+Object.keys(k).join(", ")+"}":y))}function oz(y){var k=y._init;return k(y._payload)}function sz(y){function k(ot,Je){if(y){var it=ot.deletions;it===null?(ot.deletions=[Je],ot.flags|=16):it.push(Je)}}function _(ot,Je){if(!y)return null;for(;Je!==null;)k(ot,Je),Je=Je.sibling;return null}function U(ot,Je){for(ot=new Map;Je!==null;)Je.key!==null?ot.set(Je.key,Je):ot.set(Je.index,Je),Je=Je.sibling;return ot}function te(ot,Je){return ot=Kd(ot,Je),ot.index=0,ot.sibling=null,ot}function oe(ot,Je,it){return ot.index=it,y?(it=ot.alternate,it!==null?(it=it.index,it<Je?(ot.flags|=2,Je):it):(ot.flags|=2,Je)):(ot.flags|=1048576,Je)}function ge(ot){return y&&ot.alternate===null&&(ot.flags|=2),ot}function Fe(ot,Je,it,Bt){return Je===null||Je.tag!==6?(Je=dI(it,ot.mode,Bt),Je.return=ot,Je):(Je=te(Je,it),Je.return=ot,Je)}function Ye(ot,Je,it,Bt){var dn=it.type;return dn===L?It(ot,Je,it.props.children,Bt,it.key):Je!==null&&(Je.elementType===dn||typeof dn=="object"&&dn!==null&&dn.$$typeof===X&&oz(dn)===Je.type)?(Bt=te(Je,it.props),Bt.ref=Bv(ot,Je,it),Bt.return=ot,Bt):(Bt=W4(it.type,it.key,it.props,null,ot.mode,Bt),Bt.ref=Bv(ot,Je,it),Bt.return=ot,Bt)}function ut(ot,Je,it,Bt){return Je===null||Je.tag!==4||Je.stateNode.containerInfo!==it.containerInfo||Je.stateNode.implementation!==it.implementation?(Je=pI(it,ot.mode,Bt),Je.return=ot,Je):(Je=te(Je,it.children||[]),Je.return=ot,Je)}function It(ot,Je,it,Bt,dn){return Je===null||Je.tag!==7?(Je=cm(it,ot.mode,Bt,dn),Je.return=ot,Je):(Je=te(Je,it),Je.return=ot,Je)}function Tt(ot,Je,it){if(typeof Je=="string"&&Je!==""||typeof Je=="number")return Je=dI(""+Je,ot.mode,it),Je.return=ot,Je;if(typeof Je=="object"&&Je!==null){switch(Je.$$typeof){case D:return it=W4(Je.type,Je.key,Je.props,null,ot.mode,it),it.ref=Bv(ot,null,Je),it.return=ot,it;case O:return Je=pI(Je,ot.mode,it),Je.return=ot,Je;case X:var Bt=Je._init;return Tt(ot,Bt(Je._payload),it)}if(Ke(Je)||K(Je))return Je=cm(Je,ot.mode,it,null),Je.return=ot,Je;x4(ot,Je)}return null}function St(ot,Je,it,Bt){var dn=Je!==null?Je.key:null;if(typeof it=="string"&&it!==""||typeof it=="number")return dn!==null?null:Fe(ot,Je,""+it,Bt);if(typeof it=="object"&&it!==null){switch(it.$$typeof){case D:return it.key===dn?Ye(ot,Je,it,Bt):null;case O:return it.key===dn?ut(ot,Je,it,Bt):null;case X:return dn=it._init,St(ot,Je,dn(it._payload),Bt)}if(Ke(it)||K(it))return dn!==null?null:It(ot,Je,it,Bt,null);x4(ot,it)}return null}function Xt(ot,Je,it,Bt,dn){if(typeof Bt=="string"&&Bt!==""||typeof Bt=="number")return ot=ot.get(it)||null,Fe(Je,ot,""+Bt,dn);if(typeof Bt=="object"&&Bt!==null){switch(Bt.$$typeof){case D:return ot=ot.get(Bt.key===null?it:Bt.key)||null,Ye(Je,ot,Bt,dn);case O:return ot=ot.get(Bt.key===null?it:Bt.key)||null,ut(Je,ot,Bt,dn);case X:var wn=Bt._init;return Xt(ot,Je,it,wn(Bt._payload),dn)}if(Ke(Bt)||K(Bt))return ot=ot.get(it)||null,It(Je,ot,Bt,dn,null);x4(Je,Bt)}return null}function ln(ot,Je,it,Bt){for(var dn=null,wn=null,bn=Je,_n=Je=0,ks=null;bn!==null&&_n<it.length;_n++){bn.index>_n?(ks=bn,bn=null):ks=bn.sibling;var wr=St(ot,bn,it[_n],Bt);if(wr===null){bn===null&&(bn=ks);break}y&&bn&&wr.alternate===null&&k(ot,bn),Je=oe(wr,Je,_n),wn===null?dn=wr:wn.sibling=wr,wn=wr,bn=ks}if(_n===it.length)return _(ot,bn),uo&&tm(ot,_n),dn;if(bn===null){for(;_n<it.length;_n++)bn=Tt(ot,it[_n],Bt),bn!==null&&(Je=oe(bn,Je,_n),wn===null?dn=bn:wn.sibling=bn,wn=bn);return uo&&tm(ot,_n),dn}for(bn=U(ot,bn);_n<it.length;_n++)ks=Xt(bn,ot,_n,it[_n],Bt),ks!==null&&(y&&ks.alternate!==null&&bn.delete(ks.key===null?_n:ks.key),Je=oe(ks,Je,_n),wn===null?dn=ks:wn.sibling=ks,wn=ks);return y&&bn.forEach(function(Zd){return k(ot,Zd)}),uo&&tm(ot,_n),dn}function un(ot,Je,it,Bt){var dn=K(it);if(typeof dn!="function")throw Error(n(150));if(it=dn.call(it),it==null)throw Error(n(151));for(var wn=dn=null,bn=Je,_n=Je=0,ks=null,wr=it.next();bn!==null&&!wr.done;_n++,wr=it.next()){bn.index>_n?(ks=bn,bn=null):ks=bn.sibling;var Zd=St(ot,bn,wr.value,Bt);if(Zd===null){bn===null&&(bn=ks);break}y&&bn&&Zd.alternate===null&&k(ot,bn),Je=oe(Zd,Je,_n),wn===null?dn=Zd:wn.sibling=Zd,wn=Zd,bn=ks}if(wr.done)return _(ot,bn),uo&&tm(ot,_n),dn;if(bn===null){for(;!wr.done;_n++,wr=it.next())wr=Tt(ot,wr.value,Bt),wr!==null&&(Je=oe(wr,Je,_n),wn===null?dn=wr:wn.sibling=wr,wn=wr);return uo&&tm(ot,_n),dn}for(bn=U(ot,bn);!wr.done;_n++,wr=it.next())wr=Xt(bn,ot,_n,wr.value,Bt),wr!==null&&(y&&wr.alternate!==null&&bn.delete(wr.key===null?_n:wr.key),Je=oe(wr,Je,_n),wn===null?dn=wr:wn.sibling=wr,wn=wr);return y&&bn.forEach(function(Dwe){return k(ot,Dwe)}),uo&&tm(ot,_n),dn}function Fo(ot,Je,it,Bt){if(typeof it=="object"&&it!==null&&it.type===L&&it.key===null&&(it=it.props.children),typeof it=="object"&&it!==null){switch(it.$$typeof){case D:e:{for(var dn=it.key,wn=Je;wn!==null;){if(wn.key===dn){if(dn=it.type,dn===L){if(wn.tag===7){_(ot,wn.sibling),Je=te(wn,it.props.children),Je.return=ot,ot=Je;break e}}else if(wn.elementType===dn||typeof dn=="object"&&dn!==null&&dn.$$typeof===X&&oz(dn)===wn.type){_(ot,wn.sibling),Je=te(wn,it.props),Je.ref=Bv(ot,wn,it),Je.return=ot,ot=Je;break e}_(ot,wn);break}else k(ot,wn);wn=wn.sibling}it.type===L?(Je=cm(it.props.children,ot.mode,Bt,it.key),Je.return=ot,ot=Je):(Bt=W4(it.type,it.key,it.props,null,ot.mode,Bt),Bt.ref=Bv(ot,Je,it),Bt.return=ot,ot=Bt)}return ge(ot);case O:e:{for(wn=it.key;Je!==null;){if(Je.key===wn)if(Je.tag===4&&Je.stateNode.containerInfo===it.containerInfo&&Je.stateNode.implementation===it.implementation){_(ot,Je.sibling),Je=te(Je,it.children||[]),Je.return=ot,ot=Je;break e}else{_(ot,Je);break}else k(ot,Je);Je=Je.sibling}Je=pI(it,ot.mode,Bt),Je.return=ot,ot=Je}return ge(ot);case X:return wn=it._init,Fo(ot,Je,wn(it._payload),Bt)}if(Ke(it))return ln(ot,Je,it,Bt);if(K(it))return un(ot,Je,it,Bt);x4(ot,it)}return typeof it=="string"&&it!==""||typeof it=="number"?(it=""+it,Je!==null&&Je.tag===6?(_(ot,Je.sibling),Je=te(Je,it),Je.return=ot,ot=Je):(_(ot,Je),Je=dI(it,ot.mode,Bt),Je.return=ot,ot=Je),ge(ot)):_(ot,Je)}return Fo}var S1=sz(!0),az=sz(!1),k4=Fd(null),j4=null,E1=null,kN=null;function jN(){kN=E1=j4=null}function CN(y){var k=k4.current;Jr(k4),y._currentValue=k}function SN(y,k,_){for(;y!==null;){var U=y.alternate;if((y.childLanes&k)!==k?(y.childLanes|=k,U!==null&&(U.childLanes|=k)):U!==null&&(U.childLanes&k)!==k&&(U.childLanes|=k),y===_)break;y=y.return}}function N1(y,k){j4=y,kN=E1=null,y=y.dependencies,y!==null&&y.firstContext!==null&&((y.lanes&k)!==0&&(hi=!0),y.firstContext=null)}function El(y){var k=y._currentValue;if(kN!==y)if(y={context:y,memoizedValue:k,next:null},E1===null){if(j4===null)throw Error(n(308));E1=y,j4.dependencies={lanes:0,firstContext:y}}else E1=E1.next=y;return k}var nm=null;function EN(y){nm===null?nm=[y]:nm.push(y)}function iz(y,k,_,U){var te=k.interleaved;return te===null?(_.next=_,EN(k)):(_.next=te.next,te.next=_),k.interleaved=_,Rf(y,U)}function Rf(y,k){y.lanes|=k;var _=y.alternate;for(_!==null&&(_.lanes|=k),_=y,y=y.return;y!==null;)y.childLanes|=k,_=y.alternate,_!==null&&(_.childLanes|=k),_=y,y=y.return;return _.tag===3?_.stateNode:null}var $d=!1;function NN(y){y.updateQueue={baseState:y.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function lz(y,k){y=y.updateQueue,k.updateQueue===y&&(k.updateQueue={baseState:y.baseState,firstBaseUpdate:y.firstBaseUpdate,lastBaseUpdate:y.lastBaseUpdate,shared:y.shared,effects:y.effects})}function Tf(y,k){return{eventTime:y,lane:k,tag:0,payload:null,callback:null,next:null}}function Vd(y,k,_){var U=y.updateQueue;if(U===null)return null;if(U=U.shared,(pr&2)!==0){var te=U.pending;return te===null?k.next=k:(k.next=te.next,te.next=k),U.pending=k,Rf(y,_)}return te=U.interleaved,te===null?(k.next=k,EN(U)):(k.next=te.next,te.next=k),U.interleaved=k,Rf(y,_)}function C4(y,k,_){if(k=k.updateQueue,k!==null&&(k=k.shared,(_&4194240)!==0)){var U=k.lanes;U&=y.pendingLanes,_|=U,k.lanes=_,Eo(y,_)}}function cz(y,k){var _=y.updateQueue,U=y.alternate;if(U!==null&&(U=U.updateQueue,_===U)){var te=null,oe=null;if(_=_.firstBaseUpdate,_!==null){do{var ge={eventTime:_.eventTime,lane:_.lane,tag:_.tag,payload:_.payload,callback:_.callback,next:null};oe===null?te=oe=ge:oe=oe.next=ge,_=_.next}while(_!==null);oe===null?te=oe=k:oe=oe.next=k}else te=oe=k;_={baseState:U.baseState,firstBaseUpdate:te,lastBaseUpdate:oe,shared:U.shared,effects:U.effects},y.updateQueue=_;return}y=_.lastBaseUpdate,y===null?_.firstBaseUpdate=k:y.next=k,_.lastBaseUpdate=k}function S4(y,k,_,U){var te=y.updateQueue;$d=!1;var oe=te.firstBaseUpdate,ge=te.lastBaseUpdate,Fe=te.shared.pending;if(Fe!==null){te.shared.pending=null;var Ye=Fe,ut=Ye.next;Ye.next=null,ge===null?oe=ut:ge.next=ut,ge=Ye;var It=y.alternate;It!==null&&(It=It.updateQueue,Fe=It.lastBaseUpdate,Fe!==ge&&(Fe===null?It.firstBaseUpdate=ut:Fe.next=ut,It.lastBaseUpdate=Ye))}if(oe!==null){var Tt=te.baseState;ge=0,It=ut=Ye=null,Fe=oe;do{var St=Fe.lane,Xt=Fe.eventTime;if((U&St)===St){It!==null&&(It=It.next={eventTime:Xt,lane:0,tag:Fe.tag,payload:Fe.payload,callback:Fe.callback,next:null});e:{var ln=y,un=Fe;switch(St=k,Xt=_,un.tag){case 1:if(ln=un.payload,typeof ln=="function"){Tt=ln.call(Xt,Tt,St);break e}Tt=ln;break e;case 3:ln.flags=ln.flags&-65537|128;case 0:if(ln=un.payload,St=typeof ln=="function"?ln.call(Xt,Tt,St):ln,St==null)break e;Tt=G({},Tt,St);break e;case 2:$d=!0}}Fe.callback!==null&&Fe.lane!==0&&(y.flags|=64,St=te.effects,St===null?te.effects=[Fe]:St.push(Fe))}else Xt={eventTime:Xt,lane:St,tag:Fe.tag,payload:Fe.payload,callback:Fe.callback,next:null},It===null?(ut=It=Xt,Ye=Tt):It=It.next=Xt,ge|=St;if(Fe=Fe.next,Fe===null){if(Fe=te.shared.pending,Fe===null)break;St=Fe,Fe=St.next,St.next=null,te.lastBaseUpdate=St,te.shared.pending=null}}while(!0);if(It===null&&(Ye=Tt),te.baseState=Ye,te.firstBaseUpdate=ut,te.lastBaseUpdate=It,k=te.shared.interleaved,k!==null){te=k;do ge|=te.lane,te=te.next;while(te!==k)}else oe===null&&(te.shared.lanes=0);sm|=ge,y.lanes=ge,y.memoizedState=Tt}}function uz(y,k,_){if(y=k.effects,k.effects=null,y!==null)for(k=0;k<y.length;k++){var U=y[k],te=U.callback;if(te!==null){if(U.callback=null,U=_,typeof te!="function")throw Error(n(191,te));te.call(U)}}}var Uv={},yu=Fd(Uv),$v=Fd(Uv),Vv=Fd(Uv);function rm(y){if(y===Uv)throw Error(n(174));return y}function IN(y,k){switch(Gr(Vv,k),Gr($v,y),Gr(yu,Uv),y=k.nodeType,y){case 9:case 11:k=(k=k.documentElement)?k.namespaceURI:se(null,"");break;default:y=y===8?k.parentNode:k,k=y.namespaceURI||null,y=y.tagName,k=se(k,y)}Jr(yu),Gr(yu,k)}function I1(){Jr(yu),Jr($v),Jr(Vv)}function fz(y){rm(Vv.current);var k=rm(yu.current),_=se(k,y.type);k!==_&&(Gr($v,y),Gr(yu,_))}function AN(y){$v.current===y&&(Jr(yu),Jr($v))}var vo=Fd(0);function E4(y){for(var k=y;k!==null;){if(k.tag===13){var _=k.memoizedState;if(_!==null&&(_=_.dehydrated,_===null||_.data==="$?"||_.data==="$!"))return k}else if(k.tag===19&&k.memoizedProps.revealOrder!==void 0){if((k.flags&128)!==0)return k}else if(k.child!==null){k.child.return=k,k=k.child;continue}if(k===y)break;for(;k.sibling===null;){if(k.return===null||k.return===y)return null;k=k.return}k.sibling.return=k.return,k=k.sibling}return null}var _N=[];function MN(){for(var y=0;y<_N.length;y++)_N[y]._workInProgressVersionPrimary=null;_N.length=0}var N4=M.ReactCurrentDispatcher,RN=M.ReactCurrentBatchConfig,om=0,wo=null,ls=null,bs=null,I4=!1,Hv=!1,Wv=0,nwe=0;function ya(){throw Error(n(321))}function TN(y,k){if(k===null)return!1;for(var _=0;_<k.length&&_<y.length;_++)if(!tt(y[_],k[_]))return!1;return!0}function DN(y,k,_,U,te,oe){if(om=oe,wo=k,k.memoizedState=null,k.updateQueue=null,k.lanes=0,N4.current=y===null||y.memoizedState===null?awe:iwe,y=_(U,te),Hv){oe=0;do{if(Hv=!1,Wv=0,25<=oe)throw Error(n(301));oe+=1,bs=ls=null,k.updateQueue=null,N4.current=lwe,y=_(U,te)}while(Hv)}if(N4.current=M4,k=ls!==null&&ls.next!==null,om=0,bs=ls=wo=null,I4=!1,k)throw Error(n(300));return y}function LN(){var y=Wv!==0;return Wv=0,y}function vu(){var y={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return bs===null?wo.memoizedState=bs=y:bs=bs.next=y,bs}function Nl(){if(ls===null){var y=wo.alternate;y=y!==null?y.memoizedState:null}else y=ls.next;var k=bs===null?wo.memoizedState:bs.next;if(k!==null)bs=k,ls=y;else{if(y===null)throw Error(n(310));ls=y,y={memoizedState:ls.memoizedState,baseState:ls.baseState,baseQueue:ls.baseQueue,queue:ls.queue,next:null},bs===null?wo.memoizedState=bs=y:bs=bs.next=y}return bs}function Yv(y,k){return typeof k=="function"?k(y):k}function PN(y){var k=Nl(),_=k.queue;if(_===null)throw Error(n(311));_.lastRenderedReducer=y;var U=ls,te=U.baseQueue,oe=_.pending;if(oe!==null){if(te!==null){var ge=te.next;te.next=oe.next,oe.next=ge}U.baseQueue=te=oe,_.pending=null}if(te!==null){oe=te.next,U=U.baseState;var Fe=ge=null,Ye=null,ut=oe;do{var It=ut.lane;if((om&It)===It)Ye!==null&&(Ye=Ye.next={lane:0,action:ut.action,hasEagerState:ut.hasEagerState,eagerState:ut.eagerState,next:null}),U=ut.hasEagerState?ut.eagerState:y(U,ut.action);else{var Tt={lane:It,action:ut.action,hasEagerState:ut.hasEagerState,eagerState:ut.eagerState,next:null};Ye===null?(Fe=Ye=Tt,ge=U):Ye=Ye.next=Tt,wo.lanes|=It,sm|=It}ut=ut.next}while(ut!==null&&ut!==oe);Ye===null?ge=U:Ye.next=Fe,tt(U,k.memoizedState)||(hi=!0),k.memoizedState=U,k.baseState=ge,k.baseQueue=Ye,_.lastRenderedState=U}if(y=_.interleaved,y!==null){te=y;do oe=te.lane,wo.lanes|=oe,sm|=oe,te=te.next;while(te!==y)}else te===null&&(_.lanes=0);return[k.memoizedState,_.dispatch]}function ON(y){var k=Nl(),_=k.queue;if(_===null)throw Error(n(311));_.lastRenderedReducer=y;var U=_.dispatch,te=_.pending,oe=k.memoizedState;if(te!==null){_.pending=null;var ge=te=te.next;do oe=y(oe,ge.action),ge=ge.next;while(ge!==te);tt(oe,k.memoizedState)||(hi=!0),k.memoizedState=oe,k.baseQueue===null&&(k.baseState=oe),_.lastRenderedState=oe}return[oe,U]}function dz(){}function pz(y,k){var _=wo,U=Nl(),te=k(),oe=!tt(U.memoizedState,te);if(oe&&(U.memoizedState=te,hi=!0),U=U.queue,zN(gz.bind(null,_,U,y),[y]),U.getSnapshot!==k||oe||bs!==null&&bs.memoizedState.tag&1){if(_.flags|=2048,Gv(9,mz.bind(null,_,U,te,k),void 0,null),xs===null)throw Error(n(349));(om&30)!==0||hz(_,k,te)}return te}function hz(y,k,_){y.flags|=16384,y={getSnapshot:k,value:_},k=wo.updateQueue,k===null?(k={lastEffect:null,stores:null},wo.updateQueue=k,k.stores=[y]):(_=k.stores,_===null?k.stores=[y]:_.push(y))}function mz(y,k,_,U){k.value=_,k.getSnapshot=U,yz(k)&&vz(y)}function gz(y,k,_){return _(function(){yz(k)&&vz(y)})}function yz(y){var k=y.getSnapshot;y=y.value;try{var _=k();return!tt(y,_)}catch{return!0}}function vz(y){var k=Rf(y,1);k!==null&&Ec(k,y,1,-1)}function wz(y){var k=vu();return typeof y=="function"&&(y=y()),k.memoizedState=k.baseState=y,y={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:Yv,lastRenderedState:y},k.queue=y,y=y.dispatch=swe.bind(null,wo,y),[k.memoizedState,y]}function Gv(y,k,_,U){return y={tag:y,create:k,destroy:_,deps:U,next:null},k=wo.updateQueue,k===null?(k={lastEffect:null,stores:null},wo.updateQueue=k,k.lastEffect=y.next=y):(_=k.lastEffect,_===null?k.lastEffect=y.next=y:(U=_.next,_.next=y,y.next=U,k.lastEffect=y)),y}function bz(){return Nl().memoizedState}function A4(y,k,_,U){var te=vu();wo.flags|=y,te.memoizedState=Gv(1|k,_,void 0,U===void 0?null:U)}function _4(y,k,_,U){var te=Nl();U=U===void 0?null:U;var oe=void 0;if(ls!==null){var ge=ls.memoizedState;if(oe=ge.destroy,U!==null&&TN(U,ge.deps)){te.memoizedState=Gv(k,_,oe,U);return}}wo.flags|=y,te.memoizedState=Gv(1|k,_,oe,U)}function xz(y,k){return A4(8390656,8,y,k)}function zN(y,k){return _4(2048,8,y,k)}function kz(y,k){return _4(4,2,y,k)}function jz(y,k){return _4(4,4,y,k)}function Cz(y,k){if(typeof k=="function")return y=y(),k(y),function(){k(null)};if(k!=null)return y=y(),k.current=y,function(){k.current=null}}function Sz(y,k,_){return _=_!=null?_.concat([y]):null,_4(4,4,Cz.bind(null,k,y),_)}function FN(){}function Ez(y,k){var _=Nl();k=k===void 0?null:k;var U=_.memoizedState;return U!==null&&k!==null&&TN(k,U[1])?U[0]:(_.memoizedState=[y,k],y)}function Nz(y,k){var _=Nl();k=k===void 0?null:k;var U=_.memoizedState;return U!==null&&k!==null&&TN(k,U[1])?U[0]:(y=y(),_.memoizedState=[y,k],y)}function Iz(y,k,_){return(om&21)===0?(y.baseState&&(y.baseState=!1,hi=!0),y.memoizedState=_):(tt(_,k)||(_=rs(),wo.lanes|=_,sm|=_,y.baseState=!0),k)}function rwe(y,k){var _=Fn;Fn=_!==0&&4>_?_:4,y(!0);var U=RN.transition;RN.transition={};try{y(!1),k()}finally{Fn=_,RN.transition=U}}function Az(){return Nl().memoizedState}function owe(y,k,_){var U=Gd(y);if(_={lane:U,action:_,hasEagerState:!1,eagerState:null,next:null},_z(y))Mz(k,_);else if(_=iz(y,k,_,U),_!==null){var te=Va();Ec(_,y,U,te),Rz(_,k,U)}}function swe(y,k,_){var U=Gd(y),te={lane:U,action:_,hasEagerState:!1,eagerState:null,next:null};if(_z(y))Mz(k,te);else{var oe=y.alternate;if(y.lanes===0&&(oe===null||oe.lanes===0)&&(oe=k.lastRenderedReducer,oe!==null))try{var ge=k.lastRenderedState,Fe=oe(ge,_);if(te.hasEagerState=!0,te.eagerState=Fe,tt(Fe,ge)){var Ye=k.interleaved;Ye===null?(te.next=te,EN(k)):(te.next=Ye.next,Ye.next=te),k.interleaved=te;return}}catch{}finally{}_=iz(y,k,te,U),_!==null&&(te=Va(),Ec(_,y,U,te),Rz(_,k,U))}}function _z(y){var k=y.alternate;return y===wo||k!==null&&k===wo}function Mz(y,k){Hv=I4=!0;var _=y.pending;_===null?k.next=k:(k.next=_.next,_.next=k),y.pending=k}function Rz(y,k,_){if((_&4194240)!==0){var U=k.lanes;U&=y.pendingLanes,_|=U,k.lanes=_,Eo(y,_)}}var M4={readContext:El,useCallback:ya,useContext:ya,useEffect:ya,useImperativeHandle:ya,useInsertionEffect:ya,useLayoutEffect:ya,useMemo:ya,useReducer:ya,useRef:ya,useState:ya,useDebugValue:ya,useDeferredValue:ya,useTransition:ya,useMutableSource:ya,useSyncExternalStore:ya,useId:ya,unstable_isNewReconciler:!1},awe={readContext:El,useCallback:function(y,k){return vu().memoizedState=[y,k===void 0?null:k],y},useContext:El,useEffect:xz,useImperativeHandle:function(y,k,_){return _=_!=null?_.concat([y]):null,A4(4194308,4,Cz.bind(null,k,y),_)},useLayoutEffect:function(y,k){return A4(4194308,4,y,k)},useInsertionEffect:function(y,k){return A4(4,2,y,k)},useMemo:function(y,k){var _=vu();return k=k===void 0?null:k,y=y(),_.memoizedState=[y,k],y},useReducer:function(y,k,_){var U=vu();return k=_!==void 0?_(k):k,U.memoizedState=U.baseState=k,y={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:y,lastRenderedState:k},U.queue=y,y=y.dispatch=owe.bind(null,wo,y),[U.memoizedState,y]},useRef:function(y){var k=vu();return y={current:y},k.memoizedState=y},useState:wz,useDebugValue:FN,useDeferredValue:function(y){return vu().memoizedState=y},useTransition:function(){var y=wz(!1),k=y[0];return y=rwe.bind(null,y[1]),vu().memoizedState=y,[k,y]},useMutableSource:function(){},useSyncExternalStore:function(y,k,_){var U=wo,te=vu();if(uo){if(_===void 0)throw Error(n(407));_=_()}else{if(_=k(),xs===null)throw Error(n(349));(om&30)!==0||hz(U,k,_)}te.memoizedState=_;var oe={value:_,getSnapshot:k};return te.queue=oe,xz(gz.bind(null,U,oe,y),[y]),U.flags|=2048,Gv(9,mz.bind(null,U,oe,_,k),void 0,null),_},useId:function(){var y=vu(),k=xs.identifierPrefix;if(uo){var _=Mf,U=_f;_=(U&~(1<<32-Ua(U)-1)).toString(32)+_,k=":"+k+"R"+_,_=Wv++,0<_&&(k+="H"+_.toString(32)),k+=":"}else _=nwe++,k=":"+k+"r"+_.toString(32)+":";return y.memoizedState=k},unstable_isNewReconciler:!1},iwe={readContext:El,useCallback:Ez,useContext:El,useEffect:zN,useImperativeHandle:Sz,useInsertionEffect:kz,useLayoutEffect:jz,useMemo:Nz,useReducer:PN,useRef:bz,useState:function(){return PN(Yv)},useDebugValue:FN,useDeferredValue:function(y){var k=Nl();return Iz(k,ls.memoizedState,y)},useTransition:function(){var y=PN(Yv)[0],k=Nl().memoizedState;return[y,k]},useMutableSource:dz,useSyncExternalStore:pz,useId:Az,unstable_isNewReconciler:!1},lwe={readContext:El,useCallback:Ez,useContext:El,useEffect:zN,useImperativeHandle:Sz,useInsertionEffect:kz,useLayoutEffect:jz,useMemo:Nz,useReducer:ON,useRef:bz,useState:function(){return ON(Yv)},useDebugValue:FN,useDeferredValue:function(y){var k=Nl();return ls===null?k.memoizedState=y:Iz(k,ls.memoizedState,y)},useTransition:function(){var y=ON(Yv)[0],k=Nl().memoizedState;return[y,k]},useMutableSource:dz,useSyncExternalStore:pz,useId:Az,unstable_isNewReconciler:!1};function jc(y,k){if(y&&y.defaultProps){k=G({},k),y=y.defaultProps;for(var _ in y)k[_]===void 0&&(k[_]=y[_]);return k}return k}function BN(y,k,_,U){k=y.memoizedState,_=_(U,k),_=_==null?k:G({},k,_),y.memoizedState=_,y.lanes===0&&(y.updateQueue.baseState=_)}var R4={isMounted:function(y){return(y=y._reactInternals)?fi(y)===y:!1},enqueueSetState:function(y,k,_){y=y._reactInternals;var U=Va(),te=Gd(y),oe=Tf(U,te);oe.payload=k,_!=null&&(oe.callback=_),k=Vd(y,oe,te),k!==null&&(Ec(k,y,te,U),C4(k,y,te))},enqueueReplaceState:function(y,k,_){y=y._reactInternals;var U=Va(),te=Gd(y),oe=Tf(U,te);oe.tag=1,oe.payload=k,_!=null&&(oe.callback=_),k=Vd(y,oe,te),k!==null&&(Ec(k,y,te,U),C4(k,y,te))},enqueueForceUpdate:function(y,k){y=y._reactInternals;var _=Va(),U=Gd(y),te=Tf(_,U);te.tag=2,k!=null&&(te.callback=k),k=Vd(y,te,U),k!==null&&(Ec(k,y,U,_),C4(k,y,U))}};function Tz(y,k,_,U,te,oe,ge){return y=y.stateNode,typeof y.shouldComponentUpdate=="function"?y.shouldComponentUpdate(U,oe,ge):k.prototype&&k.prototype.isPureReactComponent?!lt(_,U)||!lt(te,oe):!0}function Dz(y,k,_){var U=!1,te=Bd,oe=k.contextType;return typeof oe=="object"&&oe!==null?oe=El(oe):(te=pi(k)?Xh:ga.current,U=k.contextTypes,oe=(U=U!=null)?x1(y,te):Bd),k=new k(_,oe),y.memoizedState=k.state!==null&&k.state!==void 0?k.state:null,k.updater=R4,y.stateNode=k,k._reactInternals=y,U&&(y=y.stateNode,y.__reactInternalMemoizedUnmaskedChildContext=te,y.__reactInternalMemoizedMaskedChildContext=oe),k}function Lz(y,k,_,U){y=k.state,typeof k.componentWillReceiveProps=="function"&&k.componentWillReceiveProps(_,U),typeof k.UNSAFE_componentWillReceiveProps=="function"&&k.UNSAFE_componentWillReceiveProps(_,U),k.state!==y&&R4.enqueueReplaceState(k,k.state,null)}function UN(y,k,_,U){var te=y.stateNode;te.props=_,te.state=y.memoizedState,te.refs={},NN(y);var oe=k.contextType;typeof oe=="object"&&oe!==null?te.context=El(oe):(oe=pi(k)?Xh:ga.current,te.context=x1(y,oe)),te.state=y.memoizedState,oe=k.getDerivedStateFromProps,typeof oe=="function"&&(BN(y,k,oe,_),te.state=y.memoizedState),typeof k.getDerivedStateFromProps=="function"||typeof te.getSnapshotBeforeUpdate=="function"||typeof te.UNSAFE_componentWillMount!="function"&&typeof te.componentWillMount!="function"||(k=te.state,typeof te.componentWillMount=="function"&&te.componentWillMount(),typeof te.UNSAFE_componentWillMount=="function"&&te.UNSAFE_componentWillMount(),k!==te.state&&R4.enqueueReplaceState(te,te.state,null),S4(y,_,te,U),te.state=y.memoizedState),typeof te.componentDidMount=="function"&&(y.flags|=4194308)}function A1(y,k){try{var _="",U=k;do _+=Ne(U),U=U.return;while(U);var te=_}catch(oe){te=`
1267 Error generating stack: `+oe.message+`
1268 `+oe.stack}return{value:y,source:k,stack:te,digest:null}}function $N(y,k,_){return{value:y,source:null,stack:_??null,digest:k??null}}function VN(y,k){try{console.error(k.value)}catch(_){setTimeout(function(){throw _})}}var cwe=typeof WeakMap=="function"?WeakMap:Map;function Pz(y,k,_){_=Tf(-1,_),_.tag=3,_.payload={element:null};var U=k.value;return _.callback=function(){F4||(F4=!0,oI=U),VN(y,k)},_}function Oz(y,k,_){_=Tf(-1,_),_.tag=3;var U=y.type.getDerivedStateFromError;if(typeof U=="function"){var te=k.value;_.payload=function(){return U(te)},_.callback=function(){VN(y,k)}}var oe=y.stateNode;return oe!==null&&typeof oe.componentDidCatch=="function"&&(_.callback=function(){VN(y,k),typeof U!="function"&&(Wd===null?Wd=new Set([this]):Wd.add(this));var ge=k.stack;this.componentDidCatch(k.value,{componentStack:ge!==null?ge:""})}),_}function zz(y,k,_){var U=y.pingCache;if(U===null){U=y.pingCache=new cwe;var te=new Set;U.set(k,te)}else te=U.get(k),te===void 0&&(te=new Set,U.set(k,te));te.has(_)||(te.add(_),y=jwe.bind(null,y,k,_),k.then(y,y))}function Fz(y){do{var k;if((k=y.tag===13)&&(k=y.memoizedState,k=k!==null?k.dehydrated!==null:!0),k)return y;y=y.return}while(y!==null);return null}function Bz(y,k,_,U,te){return(y.mode&1)===0?(y===k?y.flags|=65536:(y.flags|=128,_.flags|=131072,_.flags&=-52805,_.tag===1&&(_.alternate===null?_.tag=17:(k=Tf(-1,1),k.tag=2,Vd(_,k,1))),_.lanes|=1),y):(y.flags|=65536,y.lanes=te,y)}var uwe=M.ReactCurrentOwner,hi=!1;function $a(y,k,_,U){k.child=y===null?az(k,null,_,U):S1(k,y.child,_,U)}function Uz(y,k,_,U,te){_=_.render;var oe=k.ref;return N1(k,te),U=DN(y,k,_,U,oe,te),_=LN(),y!==null&&!hi?(k.updateQueue=y.updateQueue,k.flags&=-2053,y.lanes&=~te,Df(y,k,te)):(uo&&_&&yN(k),k.flags|=1,$a(y,k,U,te),k.child)}function $z(y,k,_,U,te){if(y===null){var oe=_.type;return typeof oe=="function"&&!fI(oe)&&oe.defaultProps===void 0&&_.compare===null&&_.defaultProps===void 0?(k.tag=15,k.type=oe,Vz(y,k,oe,U,te)):(y=W4(_.type,null,U,k,k.mode,te),y.ref=k.ref,y.return=k,k.child=y)}if(oe=y.child,(y.lanes&te)===0){var ge=oe.memoizedProps;if(_=_.compare,_=_!==null?_:lt,_(ge,U)&&y.ref===k.ref)return Df(y,k,te)}return k.flags|=1,y=Kd(oe,U),y.ref=k.ref,y.return=k,k.child=y}function Vz(y,k,_,U,te){if(y!==null){var oe=y.memoizedProps;if(lt(oe,U)&&y.ref===k.ref)if(hi=!1,k.pendingProps=U=oe,(y.lanes&te)!==0)(y.flags&131072)!==0&&(hi=!0);else return k.lanes=y.lanes,Df(y,k,te)}return HN(y,k,_,U,te)}function Hz(y,k,_){var U=k.pendingProps,te=U.children,oe=y!==null?y.memoizedState:null;if(U.mode==="hidden")if((k.mode&1)===0)k.memoizedState={baseLanes:0,cachePool:null,transitions:null},Gr(M1,Wi),Wi|=_;else{if((_&1073741824)===0)return y=oe!==null?oe.baseLanes|_:_,k.lanes=k.childLanes=1073741824,k.memoizedState={baseLanes:y,cachePool:null,transitions:null},k.updateQueue=null,Gr(M1,Wi),Wi|=y,null;k.memoizedState={baseLanes:0,cachePool:null,transitions:null},U=oe!==null?oe.baseLanes:_,Gr(M1,Wi),Wi|=U}else oe!==null?(U=oe.baseLanes|_,k.memoizedState=null):U=_,Gr(M1,Wi),Wi|=U;return $a(y,k,te,_),k.child}function Wz(y,k){var _=k.ref;(y===null&&_!==null||y!==null&&y.ref!==_)&&(k.flags|=512,k.flags|=2097152)}function HN(y,k,_,U,te){var oe=pi(_)?Xh:ga.current;return oe=x1(k,oe),N1(k,te),_=DN(y,k,_,U,oe,te),U=LN(),y!==null&&!hi?(k.updateQueue=y.updateQueue,k.flags&=-2053,y.lanes&=~te,Df(y,k,te)):(uo&&U&&yN(k),k.flags|=1,$a(y,k,_,te),k.child)}function Yz(y,k,_,U,te){if(pi(_)){var oe=!0;g4(k)}else oe=!1;if(N1(k,te),k.stateNode===null)D4(y,k),Dz(k,_,U),UN(k,_,U,te),U=!0;else if(y===null){var ge=k.stateNode,Fe=k.memoizedProps;ge.props=Fe;var Ye=ge.context,ut=_.contextType;typeof ut=="object"&&ut!==null?ut=El(ut):(ut=pi(_)?Xh:ga.current,ut=x1(k,ut));var It=_.getDerivedStateFromProps,Tt=typeof It=="function"||typeof ge.getSnapshotBeforeUpdate=="function";Tt||typeof ge.UNSAFE_componentWillReceiveProps!="function"&&typeof ge.componentWillReceiveProps!="function"||(Fe!==U||Ye!==ut)&&Lz(k,ge,U,ut),$d=!1;var St=k.memoizedState;ge.state=St,S4(k,U,ge,te),Ye=k.memoizedState,Fe!==U||St!==Ye||di.current||$d?(typeof It=="function"&&(BN(k,_,It,U),Ye=k.memoizedState),(Fe=$d||Tz(k,_,Fe,U,St,Ye,ut))?(Tt||typeof ge.UNSAFE_componentWillMount!="function"&&typeof ge.componentWillMount!="function"||(typeof ge.componentWillMount=="function"&&ge.componentWillMount(),typeof ge.UNSAFE_componentWillMount=="function"&&ge.UNSAFE_componentWillMount()),typeof ge.componentDidMount=="function"&&(k.flags|=4194308)):(typeof ge.componentDidMount=="function"&&(k.flags|=4194308),k.memoizedProps=U,k.memoizedState=Ye),ge.props=U,ge.state=Ye,ge.context=ut,U=Fe):(typeof ge.componentDidMount=="function"&&(k.flags|=4194308),U=!1)}else{ge=k.stateNode,lz(y,k),Fe=k.memoizedProps,ut=k.type===k.elementType?Fe:jc(k.type,Fe),ge.props=ut,Tt=k.pendingProps,St=ge.context,Ye=_.contextType,typeof Ye=="object"&&Ye!==null?Ye=El(Ye):(Ye=pi(_)?Xh:ga.current,Ye=x1(k,Ye));var Xt=_.getDerivedStateFromProps;(It=typeof Xt=="function"||typeof ge.getSnapshotBeforeUpdate=="function")||typeof ge.UNSAFE_componentWillReceiveProps!="function"&&typeof ge.componentWillReceiveProps!="function"||(Fe!==Tt||St!==Ye)&&Lz(k,ge,U,Ye),$d=!1,St=k.memoizedState,ge.state=St,S4(k,U,ge,te);var ln=k.memoizedState;Fe!==Tt||St!==ln||di.current||$d?(typeof Xt=="function"&&(BN(k,_,Xt,U),ln=k.memoizedState),(ut=$d||Tz(k,_,ut,U,St,ln,Ye)||!1)?(It||typeof ge.UNSAFE_componentWillUpdate!="function"&&typeof ge.componentWillUpdate!="function"||(typeof ge.componentWillUpdate=="function"&&ge.componentWillUpdate(U,ln,Ye),typeof ge.UNSAFE_componentWillUpdate=="function"&&ge.UNSAFE_componentWillUpdate(U,ln,Ye)),typeof ge.componentDidUpdate=="function"&&(k.flags|=4),typeof ge.getSnapshotBeforeUpdate=="function"&&(k.flags|=1024)):(typeof ge.componentDidUpdate!="function"||Fe===y.memoizedProps&&St===y.memoizedState||(k.flags|=4),typeof ge.getSnapshotBeforeUpdate!="function"||Fe===y.memoizedProps&&St===y.memoizedState||(k.flags|=1024),k.memoizedProps=U,k.memoizedState=ln),ge.props=U,ge.state=ln,ge.context=Ye,U=ut):(typeof ge.componentDidUpdate!="function"||Fe===y.memoizedProps&&St===y.memoizedState||(k.flags|=4),typeof ge.getSnapshotBeforeUpdate!="function"||Fe===y.memoizedProps&&St===y.memoizedState||(k.flags|=1024),U=!1)}return WN(y,k,_,U,oe,te)}function WN(y,k,_,U,te,oe){Wz(y,k);var ge=(k.flags&128)!==0;if(!U&&!ge)return te&&QO(k,_,!1),Df(y,k,oe);U=k.stateNode,uwe.current=k;var Fe=ge&&typeof _.getDerivedStateFromError!="function"?null:U.render();return k.flags|=1,y!==null&&ge?(k.child=S1(k,y.child,null,oe),k.child=S1(k,null,Fe,oe)):$a(y,k,Fe,oe),k.memoizedState=U.state,te&&QO(k,_,!0),k.child}function Gz(y){var k=y.stateNode;k.pendingContext?KO(y,k.pendingContext,k.pendingContext!==k.context):k.context&&KO(y,k.context,!1),IN(y,k.containerInfo)}function qz(y,k,_,U,te){return C1(),xN(te),k.flags|=256,$a(y,k,_,U),k.child}var YN={dehydrated:null,treeContext:null,retryLane:0};function GN(y){return{baseLanes:y,cachePool:null,transitions:null}}function Kz(y,k,_){var U=k.pendingProps,te=vo.current,oe=!1,ge=(k.flags&128)!==0,Fe;if((Fe=ge)||(Fe=y!==null&&y.memoizedState===null?!1:(te&2)!==0),Fe?(oe=!0,k.flags&=-129):(y===null||y.memoizedState!==null)&&(te|=1),Gr(vo,te&1),y===null)return bN(k),y=k.memoizedState,y!==null&&(y=y.dehydrated,y!==null)?((k.mode&1)===0?k.lanes=1:y.data==="$!"?k.lanes=8:k.lanes=1073741824,null):(ge=U.children,y=U.fallback,oe?(U=k.mode,oe=k.child,ge={mode:"hidden",children:ge},(U&1)===0&&oe!==null?(oe.childLanes=0,oe.pendingProps=ge):oe=Y4(ge,U,0,null),y=cm(y,U,_,null),oe.return=k,y.return=k,oe.sibling=y,k.child=oe,k.child.memoizedState=GN(_),k.memoizedState=YN,y):qN(k,ge));if(te=y.memoizedState,te!==null&&(Fe=te.dehydrated,Fe!==null))return fwe(y,k,ge,U,Fe,te,_);if(oe){oe=U.fallback,ge=k.mode,te=y.child,Fe=te.sibling;var Ye={mode:"hidden",children:U.children};return(ge&1)===0&&k.child!==te?(U=k.child,U.childLanes=0,U.pendingProps=Ye,k.deletions=null):(U=Kd(te,Ye),U.subtreeFlags=te.subtreeFlags&14680064),Fe!==null?oe=Kd(Fe,oe):(oe=cm(oe,ge,_,null),oe.flags|=2),oe.return=k,U.return=k,U.sibling=oe,k.child=U,U=oe,oe=k.child,ge=y.child.memoizedState,ge=ge===null?GN(_):{baseLanes:ge.baseLanes|_,cachePool:null,transitions:ge.transitions},oe.memoizedState=ge,oe.childLanes=y.childLanes&~_,k.memoizedState=YN,U}return oe=y.child,y=oe.sibling,U=Kd(oe,{mode:"visible",children:U.children}),(k.mode&1)===0&&(U.lanes=_),U.return=k,U.sibling=null,y!==null&&(_=k.deletions,_===null?(k.deletions=[y],k.flags|=16):_.push(y)),k.child=U,k.memoizedState=null,U}function qN(y,k){return k=Y4({mode:"visible",children:k},y.mode,0,null),k.return=y,y.child=k}function T4(y,k,_,U){return U!==null&&xN(U),S1(k,y.child,null,_),y=qN(k,k.pendingProps.children),y.flags|=2,k.memoizedState=null,y}function fwe(y,k,_,U,te,oe,ge){if(_)return k.flags&256?(k.flags&=-257,U=$N(Error(n(422))),T4(y,k,ge,U)):k.memoizedState!==null?(k.child=y.child,k.flags|=128,null):(oe=U.fallback,te=k.mode,U=Y4({mode:"visible",children:U.children},te,0,null),oe=cm(oe,te,ge,null),oe.flags|=2,U.return=k,oe.return=k,U.sibling=oe,k.child=U,(k.mode&1)!==0&&S1(k,y.child,null,ge),k.child.memoizedState=GN(ge),k.memoizedState=YN,oe);if((k.mode&1)===0)return T4(y,k,ge,null);if(te.data==="$!"){if(U=te.nextSibling&&te.nextSibling.dataset,U)var Fe=U.dgst;return U=Fe,oe=Error(n(419)),U=$N(oe,U,void 0),T4(y,k,ge,U)}if(Fe=(ge&y.childLanes)!==0,hi||Fe){if(U=xs,U!==null){switch(ge&-ge){case 4:te=2;break;case 16:te=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:te=32;break;case 536870912:te=268435456;break;default:te=0}te=(te&(U.suspendedLanes|ge))!==0?0:te,te!==0&&te!==oe.retryLane&&(oe.retryLane=te,Rf(y,te),Ec(U,y,te,-1))}return uI(),U=$N(Error(n(421))),T4(y,k,ge,U)}return te.data==="$?"?(k.flags|=128,k.child=y.child,k=Cwe.bind(null,y),te._reactRetry=k,null):(y=oe.treeContext,Hi=zd(te.nextSibling),Vi=k,uo=!0,kc=null,y!==null&&(Cl[Sl++]=_f,Cl[Sl++]=Mf,Cl[Sl++]=em,_f=y.id,Mf=y.overflow,em=k),k=qN(k,U.children),k.flags|=4096,k)}function Zz(y,k,_){y.lanes|=k;var U=y.alternate;U!==null&&(U.lanes|=k),SN(y.return,k,_)}function KN(y,k,_,U,te){var oe=y.memoizedState;oe===null?y.memoizedState={isBackwards:k,rendering:null,renderingStartTime:0,last:U,tail:_,tailMode:te}:(oe.isBackwards=k,oe.rendering=null,oe.renderingStartTime=0,oe.last=U,oe.tail=_,oe.tailMode=te)}function Qz(y,k,_){var U=k.pendingProps,te=U.revealOrder,oe=U.tail;if($a(y,k,U.children,_),U=vo.current,(U&2)!==0)U=U&1|2,k.flags|=128;else{if(y!==null&&(y.flags&128)!==0)e:for(y=k.child;y!==null;){if(y.tag===13)y.memoizedState!==null&&Zz(y,_,k);else if(y.tag===19)Zz(y,_,k);else if(y.child!==null){y.child.return=y,y=y.child;continue}if(y===k)break e;for(;y.sibling===null;){if(y.return===null||y.return===k)break e;y=y.return}y.sibling.return=y.return,y=y.sibling}U&=1}if(Gr(vo,U),(k.mode&1)===0)k.memoizedState=null;else switch(te){case"forwards":for(_=k.child,te=null;_!==null;)y=_.alternate,y!==null&&E4(y)===null&&(te=_),_=_.sibling;_=te,_===null?(te=k.child,k.child=null):(te=_.sibling,_.sibling=null),KN(k,!1,te,_,oe);break;case"backwards":for(_=null,te=k.child,k.child=null;te!==null;){if(y=te.alternate,y!==null&&E4(y)===null){k.child=te;break}y=te.sibling,te.sibling=_,_=te,te=y}KN(k,!0,_,null,oe);break;case"together":KN(k,!1,null,null,void 0);break;default:k.memoizedState=null}return k.child}function D4(y,k){(k.mode&1)===0&&y!==null&&(y.alternate=null,k.alternate=null,k.flags|=2)}function Df(y,k,_){if(y!==null&&(k.dependencies=y.dependencies),sm|=k.lanes,(_&k.childLanes)===0)return null;if(y!==null&&k.child!==y.child)throw Error(n(153));if(k.child!==null){for(y=k.child,_=Kd(y,y.pendingProps),k.child=_,_.return=k;y.sibling!==null;)y=y.sibling,_=_.sibling=Kd(y,y.pendingProps),_.return=k;_.sibling=null}return k.child}function dwe(y,k,_){switch(k.tag){case 3:Gz(k),C1();break;case 5:fz(k);break;case 1:pi(k.type)&&g4(k);break;case 4:IN(k,k.stateNode.containerInfo);break;case 10:var U=k.type._context,te=k.memoizedProps.value;Gr(k4,U._currentValue),U._currentValue=te;break;case 13:if(U=k.memoizedState,U!==null)return U.dehydrated!==null?(Gr(vo,vo.current&1),k.flags|=128,null):(_&k.child.childLanes)!==0?Kz(y,k,_):(Gr(vo,vo.current&1),y=Df(y,k,_),y!==null?y.sibling:null);Gr(vo,vo.current&1);break;case 19:if(U=(_&k.childLanes)!==0,(y.flags&128)!==0){if(U)return Qz(y,k,_);k.flags|=128}if(te=k.memoizedState,te!==null&&(te.rendering=null,te.tail=null,te.lastEffect=null),Gr(vo,vo.current),U)break;return null;case 22:case 23:return k.lanes=0,Hz(y,k,_)}return Df(y,k,_)}var Jz,ZN,Xz,eF;Jz=function(y,k){for(var _=k.child;_!==null;){if(_.tag===5||_.tag===6)y.appendChild(_.stateNode);else if(_.tag!==4&&_.child!==null){_.child.return=_,_=_.child;continue}if(_===k)break;for(;_.sibling===null;){if(_.return===null||_.return===k)return;_=_.return}_.sibling.return=_.return,_=_.sibling}},ZN=function(){},Xz=function(y,k,_,U){var te=y.memoizedProps;if(te!==U){y=k.stateNode,rm(yu.current);var oe=null;switch(_){case"input":te=we(y,te),U=we(y,U),oe=[];break;case"select":te=G({},te,{value:void 0}),U=G({},U,{value:void 0}),oe=[];break;case"textarea":te=et(y,te),U=et(y,U),oe=[];break;default:typeof te.onClick!="function"&&typeof U.onClick=="function"&&(y.onclick=p4)}Ee(_,U);var ge;_=null;for(ut in te)if(!U.hasOwnProperty(ut)&&te.hasOwnProperty(ut)&&te[ut]!=null)if(ut==="style"){var Fe=te[ut];for(ge in Fe)Fe.hasOwnProperty(ge)&&(_||(_={}),_[ge]="")}else ut!=="dangerouslySetInnerHTML"&&ut!=="children"&&ut!=="suppressContentEditableWarning"&&ut!=="suppressHydrationWarning"&&ut!=="autoFocus"&&(o.hasOwnProperty(ut)?oe||(oe=[]):(oe=oe||[]).push(ut,null));for(ut in U){var Ye=U[ut];if(Fe=te!=null?te[ut]:void 0,U.hasOwnProperty(ut)&&Ye!==Fe&&(Ye!=null||Fe!=null))if(ut==="style")if(Fe){for(ge in Fe)!Fe.hasOwnProperty(ge)||Ye&&Ye.hasOwnProperty(ge)||(_||(_={}),_[ge]="");for(ge in Ye)Ye.hasOwnProperty(ge)&&Fe[ge]!==Ye[ge]&&(_||(_={}),_[ge]=Ye[ge])}else _||(oe||(oe=[]),oe.push(ut,_)),_=Ye;else ut==="dangerouslySetInnerHTML"?(Ye=Ye?Ye.__html:void 0,Fe=Fe?Fe.__html:void 0,Ye!=null&&Fe!==Ye&&(oe=oe||[]).push(ut,Ye)):ut==="children"?typeof Ye!="string"&&typeof Ye!="number"||(oe=oe||[]).push(ut,""+Ye):ut!=="suppressContentEditableWarning"&&ut!=="suppressHydrationWarning"&&(o.hasOwnProperty(ut)?(Ye!=null&&ut==="onScroll"&&Qr("scroll",y),oe||Fe===Ye||(oe=[])):(oe=oe||[]).push(ut,Ye))}_&&(oe=oe||[]).push("style",_);var ut=oe;(k.updateQueue=ut)&&(k.flags|=4)}},eF=function(y,k,_,U){_!==U&&(k.flags|=4)};function qv(y,k){if(!uo)switch(y.tailMode){case"hidden":k=y.tail;for(var _=null;k!==null;)k.alternate!==null&&(_=k),k=k.sibling;_===null?y.tail=null:_.sibling=null;break;case"collapsed":_=y.tail;for(var U=null;_!==null;)_.alternate!==null&&(U=_),_=_.sibling;U===null?k||y.tail===null?y.tail=null:y.tail.sibling=null:U.sibling=null}}function va(y){var k=y.alternate!==null&&y.alternate.child===y.child,_=0,U=0;if(k)for(var te=y.child;te!==null;)_|=te.lanes|te.childLanes,U|=te.subtreeFlags&14680064,U|=te.flags&14680064,te.return=y,te=te.sibling;else for(te=y.child;te!==null;)_|=te.lanes|te.childLanes,U|=te.subtreeFlags,U|=te.flags,te.return=y,te=te.sibling;return y.subtreeFlags|=U,y.childLanes=_,k}function pwe(y,k,_){var U=k.pendingProps;switch(vN(k),k.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return va(k),null;case 1:return pi(k.type)&&m4(),va(k),null;case 3:return U=k.stateNode,I1(),Jr(di),Jr(ga),MN(),U.pendingContext&&(U.context=U.pendingContext,U.pendingContext=null),(y===null||y.child===null)&&(b4(k)?k.flags|=4:y===null||y.memoizedState.isDehydrated&&(k.flags&256)===0||(k.flags|=1024,kc!==null&&(iI(kc),kc=null))),ZN(y,k),va(k),null;case 5:AN(k);var te=rm(Vv.current);if(_=k.type,y!==null&&k.stateNode!=null)Xz(y,k,_,U,te),y.ref!==k.ref&&(k.flags|=512,k.flags|=2097152);else{if(!U){if(k.stateNode===null)throw Error(n(166));return va(k),null}if(y=rm(yu.current),b4(k)){U=k.stateNode,_=k.type;var oe=k.memoizedProps;switch(U[gu]=k,U[zv]=oe,y=(k.mode&1)!==0,_){case"dialog":Qr("cancel",U),Qr("close",U);break;case"iframe":case"object":case"embed":Qr("load",U);break;case"video":case"audio":for(te=0;te<Lv.length;te++)Qr(Lv[te],U);break;case"source":Qr("error",U);break;case"img":case"image":case"link":Qr("error",U),Qr("load",U);break;case"details":Qr("toggle",U);break;case"input":Ae(U,oe),Qr("invalid",U);break;case"select":U._wrapperState={wasMultiple:!!oe.multiple},Qr("invalid",U);break;case"textarea":pt(U,oe),Qr("invalid",U)}Ee(_,oe),te=null;for(var ge in oe)if(oe.hasOwnProperty(ge)){var Fe=oe[ge];ge==="children"?typeof Fe=="string"?U.textContent!==Fe&&(oe.suppressHydrationWarning!==!0&&d4(U.textContent,Fe,y),te=["children",Fe]):typeof Fe=="number"&&U.textContent!==""+Fe&&(oe.suppressHydrationWarning!==!0&&d4(U.textContent,Fe,y),te=["children",""+Fe]):o.hasOwnProperty(ge)&&Fe!=null&&ge==="onScroll"&&Qr("scroll",U)}switch(_){case"input":ke(U),nt(U,oe,!0);break;case"textarea":ke(U),st(U);break;case"select":case"option":break;default:typeof oe.onClick=="function"&&(U.onclick=p4)}U=te,k.updateQueue=U,U!==null&&(k.flags|=4)}else{ge=te.nodeType===9?te:te.ownerDocument,y==="http://www.w3.org/1999/xhtml"&&(y=De(_)),y==="http://www.w3.org/1999/xhtml"?_==="script"?(y=ge.createElement("div"),y.innerHTML="<script><\/script>",y=y.removeChild(y.firstChild)):typeof U.is=="string"?y=ge.createElement(_,{is:U.is}):(y=ge.createElement(_),_==="select"&&(ge=y,U.multiple?ge.multiple=!0:U.size&&(ge.size=U.size))):y=ge.createElementNS(y,_),y[gu]=k,y[zv]=U,Jz(y,k,!1,!1),k.stateNode=y;e:{switch(ge=Pe(_,U),_){case"dialog":Qr("cancel",y),Qr("close",y),te=U;break;case"iframe":case"object":case"embed":Qr("load",y),te=U;break;case"video":case"audio":for(te=0;te<Lv.length;te++)Qr(Lv[te],y);te=U;break;case"source":Qr("error",y),te=U;break;case"img":case"image":case"link":Qr("error",y),Qr("load",y),te=U;break;case"details":Qr("toggle",y),te=U;break;case"input":Ae(y,U),te=we(y,U),Qr("invalid",y);break;case"option":te=U;break;case"select":y._wrapperState={wasMultiple:!!U.multiple},te=G({},U,{value:void 0}),Qr("invalid",y);break;case"textarea":pt(y,U),te=et(y,U),Qr("invalid",y);break;default:te=U}Ee(_,te),Fe=te;for(oe in Fe)if(Fe.hasOwnProperty(oe)){var Ye=Fe[oe];oe==="style"?ye(y,Ye):oe==="dangerouslySetInnerHTML"?(Ye=Ye?Ye.__html:void 0,Ye!=null&&Z(y,Ye)):oe==="children"?typeof Ye=="string"?(_!=="textarea"||Ye!=="")&&ie(y,Ye):typeof Ye=="number"&&ie(y,""+Ye):oe!=="suppressContentEditableWarning"&&oe!=="suppressHydrationWarning"&&oe!=="autoFocus"&&(o.hasOwnProperty(oe)?Ye!=null&&oe==="onScroll"&&Qr("scroll",y):Ye!=null&&N(y,oe,Ye,ge))}switch(_){case"input":ke(y),nt(y,U,!1);break;case"textarea":ke(y),st(y);break;case"option":U.value!=null&&y.setAttribute("value",""+ce(U.value));break;case"select":y.multiple=!!U.multiple,oe=U.value,oe!=null?Me(y,!!U.multiple,oe,!1):U.defaultValue!=null&&Me(y,!!U.multiple,U.defaultValue,!0);break;default:typeof te.onClick=="function"&&(y.onclick=p4)}switch(_){case"button":case"input":case"select":case"textarea":U=!!U.autoFocus;break e;case"img":U=!0;break e;default:U=!1}}U&&(k.flags|=4)}k.ref!==null&&(k.flags|=512,k.flags|=2097152)}return va(k),null;case 6:if(y&&k.stateNode!=null)eF(y,k,y.memoizedProps,U);else{if(typeof U!="string"&&k.stateNode===null)throw Error(n(166));if(_=rm(Vv.current),rm(yu.current),b4(k)){if(U=k.stateNode,_=k.memoizedProps,U[gu]=k,(oe=U.nodeValue!==_)&&(y=Vi,y!==null))switch(y.tag){case 3:d4(U.nodeValue,_,(y.mode&1)!==0);break;case 5:y.memoizedProps.suppressHydrationWarning!==!0&&d4(U.nodeValue,_,(y.mode&1)!==0)}oe&&(k.flags|=4)}else U=(_.nodeType===9?_:_.ownerDocument).createTextNode(U),U[gu]=k,k.stateNode=U}return va(k),null;case 13:if(Jr(vo),U=k.memoizedState,y===null||y.memoizedState!==null&&y.memoizedState.dehydrated!==null){if(uo&&Hi!==null&&(k.mode&1)!==0&&(k.flags&128)===0)rz(),C1(),k.flags|=98560,oe=!1;else if(oe=b4(k),U!==null&&U.dehydrated!==null){if(y===null){if(!oe)throw Error(n(318));if(oe=k.memoizedState,oe=oe!==null?oe.dehydrated:null,!oe)throw Error(n(317));oe[gu]=k}else C1(),(k.flags&128)===0&&(k.memoizedState=null),k.flags|=4;va(k),oe=!1}else kc!==null&&(iI(kc),kc=null),oe=!0;if(!oe)return k.flags&65536?k:null}return(k.flags&128)!==0?(k.lanes=_,k):(U=U!==null,U!==(y!==null&&y.memoizedState!==null)&&U&&(k.child.flags|=8192,(k.mode&1)!==0&&(y===null||(vo.current&1)!==0?cs===0&&(cs=3):uI())),k.updateQueue!==null&&(k.flags|=4),va(k),null);case 4:return I1(),ZN(y,k),y===null&&Pv(k.stateNode.containerInfo),va(k),null;case 10:return CN(k.type._context),va(k),null;case 17:return pi(k.type)&&m4(),va(k),null;case 19:if(Jr(vo),oe=k.memoizedState,oe===null)return va(k),null;if(U=(k.flags&128)!==0,ge=oe.rendering,ge===null)if(U)qv(oe,!1);else{if(cs!==0||y!==null&&(y.flags&128)!==0)for(y=k.child;y!==null;){if(ge=E4(y),ge!==null){for(k.flags|=128,qv(oe,!1),U=ge.updateQueue,U!==null&&(k.updateQueue=U,k.flags|=4),k.subtreeFlags=0,U=_,_=k.child;_!==null;)oe=_,y=U,oe.flags&=14680066,ge=oe.alternate,ge===null?(oe.childLanes=0,oe.lanes=y,oe.child=null,oe.subtreeFlags=0,oe.memoizedProps=null,oe.memoizedState=null,oe.updateQueue=null,oe.dependencies=null,oe.stateNode=null):(oe.childLanes=ge.childLanes,oe.lanes=ge.lanes,oe.child=ge.child,oe.subtreeFlags=0,oe.deletions=null,oe.memoizedProps=ge.memoizedProps,oe.memoizedState=ge.memoizedState,oe.updateQueue=ge.updateQueue,oe.type=ge.type,y=ge.dependencies,oe.dependencies=y===null?null:{lanes:y.lanes,firstContext:y.firstContext}),_=_.sibling;return Gr(vo,vo.current&1|2),k.child}y=y.sibling}oe.tail!==null&&Nr()>R1&&(k.flags|=128,U=!0,qv(oe,!1),k.lanes=4194304)}else{if(!U)if(y=E4(ge),y!==null){if(k.flags|=128,U=!0,_=y.updateQueue,_!==null&&(k.updateQueue=_,k.flags|=4),qv(oe,!0),oe.tail===null&&oe.tailMode==="hidden"&&!ge.alternate&&!uo)return va(k),null}else 2*Nr()-oe.renderingStartTime>R1&&_!==1073741824&&(k.flags|=128,U=!0,qv(oe,!1),k.lanes=4194304);oe.isBackwards?(ge.sibling=k.child,k.child=ge):(_=oe.last,_!==null?_.sibling=ge:k.child=ge,oe.last=ge)}return oe.tail!==null?(k=oe.tail,oe.rendering=k,oe.tail=k.sibling,oe.renderingStartTime=Nr(),k.sibling=null,_=vo.current,Gr(vo,U?_&1|2:_&1),k):(va(k),null);case 22:case 23:return cI(),U=k.memoizedState!==null,y!==null&&y.memoizedState!==null!==U&&(k.flags|=8192),U&&(k.mode&1)!==0?(Wi&1073741824)!==0&&(va(k),k.subtreeFlags&6&&(k.flags|=8192)):va(k),null;case 24:return null;case 25:return null}throw Error(n(156,k.tag))}function hwe(y,k){switch(vN(k),k.tag){case 1:return pi(k.type)&&m4(),y=k.flags,y&65536?(k.flags=y&-65537|128,k):null;case 3:return I1(),Jr(di),Jr(ga),MN(),y=k.flags,(y&65536)!==0&&(y&128)===0?(k.flags=y&-65537|128,k):null;case 5:return AN(k),null;case 13:if(Jr(vo),y=k.memoizedState,y!==null&&y.dehydrated!==null){if(k.alternate===null)throw Error(n(340));C1()}return y=k.flags,y&65536?(k.flags=y&-65537|128,k):null;case 19:return Jr(vo),null;case 4:return I1(),null;case 10:return CN(k.type._context),null;case 22:case 23:return cI(),null;case 24:return null;default:return null}}var L4=!1,wa=!1,mwe=typeof WeakSet=="function"?WeakSet:Set,rn=null;function _1(y,k){var _=y.ref;if(_!==null)if(typeof _=="function")try{_(null)}catch(U){Io(y,k,U)}else _.current=null}function QN(y,k,_){try{_()}catch(U){Io(y,k,U)}}var tF=!1;function gwe(y,k){if(cN=hu,y=Gn(),Rn(y)){if("selectionStart"in y)var _={start:y.selectionStart,end:y.selectionEnd};else e:{_=(_=y.ownerDocument)&&_.defaultView||window;var U=_.getSelection&&_.getSelection();if(U&&U.rangeCount!==0){_=U.anchorNode;var te=U.anchorOffset,oe=U.focusNode;U=U.focusOffset;try{_.nodeType,oe.nodeType}catch{_=null;break e}var ge=0,Fe=-1,Ye=-1,ut=0,It=0,Tt=y,St=null;t:for(;;){for(var Xt;Tt!==_||te!==0&&Tt.nodeType!==3||(Fe=ge+te),Tt!==oe||U!==0&&Tt.nodeType!==3||(Ye=ge+U),Tt.nodeType===3&&(ge+=Tt.nodeValue.length),(Xt=Tt.firstChild)!==null;)St=Tt,Tt=Xt;for(;;){if(Tt===y)break t;if(St===_&&++ut===te&&(Fe=ge),St===oe&&++It===U&&(Ye=ge),(Xt=Tt.nextSibling)!==null)break;Tt=St,St=Tt.parentNode}Tt=Xt}_=Fe===-1||Ye===-1?null:{start:Fe,end:Ye}}else _=null}_=_||{start:0,end:0}}else _=null;for(uN={focusedElem:y,selectionRange:_},hu=!1,rn=k;rn!==null;)if(k=rn,y=k.child,(k.subtreeFlags&1028)!==0&&y!==null)y.return=k,rn=y;else for(;rn!==null;){k=rn;try{var ln=k.alternate;if((k.flags&1024)!==0)switch(k.tag){case 0:case 11:case 15:break;case 1:if(ln!==null){var un=ln.memoizedProps,Fo=ln.memoizedState,ot=k.stateNode,Je=ot.getSnapshotBeforeUpdate(k.elementType===k.type?un:jc(k.type,un),Fo);ot.__reactInternalSnapshotBeforeUpdate=Je}break;case 3:var it=k.stateNode.containerInfo;it.nodeType===1?it.textContent="":it.nodeType===9&&it.documentElement&&it.removeChild(it.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(n(163))}}catch(Bt){Io(k,k.return,Bt)}if(y=k.sibling,y!==null){y.return=k.return,rn=y;break}rn=k.return}return ln=tF,tF=!1,ln}function Kv(y,k,_){var U=k.updateQueue;if(U=U!==null?U.lastEffect:null,U!==null){var te=U=U.next;do{if((te.tag&y)===y){var oe=te.destroy;te.destroy=void 0,oe!==void 0&&QN(k,_,oe)}te=te.next}while(te!==U)}}function P4(y,k){if(k=k.updateQueue,k=k!==null?k.lastEffect:null,k!==null){var _=k=k.next;do{if((_.tag&y)===y){var U=_.create;_.destroy=U()}_=_.next}while(_!==k)}}function JN(y){var k=y.ref;if(k!==null){var _=y.stateNode;switch(y.tag){case 5:y=_;break;default:y=_}typeof k=="function"?k(y):k.current=y}}function nF(y){var k=y.alternate;k!==null&&(y.alternate=null,nF(k)),y.child=null,y.deletions=null,y.sibling=null,y.tag===5&&(k=y.stateNode,k!==null&&(delete k[gu],delete k[zv],delete k[hN],delete k[Jve],delete k[Xve])),y.stateNode=null,y.return=null,y.dependencies=null,y.memoizedProps=null,y.memoizedState=null,y.pendingProps=null,y.stateNode=null,y.updateQueue=null}function rF(y){return y.tag===5||y.tag===3||y.tag===4}function oF(y){e:for(;;){for(;y.sibling===null;){if(y.return===null||rF(y.return))return null;y=y.return}for(y.sibling.return=y.return,y=y.sibling;y.tag!==5&&y.tag!==6&&y.tag!==18;){if(y.flags&2||y.child===null||y.tag===4)continue e;y.child.return=y,y=y.child}if(!(y.flags&2))return y.stateNode}}function XN(y,k,_){var U=y.tag;if(U===5||U===6)y=y.stateNode,k?_.nodeType===8?_.parentNode.insertBefore(y,k):_.insertBefore(y,k):(_.nodeType===8?(k=_.parentNode,k.insertBefore(y,_)):(k=_,k.appendChild(y)),_=_._reactRootContainer,_!=null||k.onclick!==null||(k.onclick=p4));else if(U!==4&&(y=y.child,y!==null))for(XN(y,k,_),y=y.sibling;y!==null;)XN(y,k,_),y=y.sibling}function eI(y,k,_){var U=y.tag;if(U===5||U===6)y=y.stateNode,k?_.insertBefore(y,k):_.appendChild(y);else if(U!==4&&(y=y.child,y!==null))for(eI(y,k,_),y=y.sibling;y!==null;)eI(y,k,_),y=y.sibling}var Gs=null,Cc=!1;function Hd(y,k,_){for(_=_.child;_!==null;)sF(y,k,_),_=_.sibling}function sF(y,k,_){if(zn&&typeof zn.onCommitFiberUnmount=="function")try{zn.onCommitFiberUnmount(ar,_)}catch{}switch(_.tag){case 5:wa||_1(_,k);case 6:var U=Gs,te=Cc;Gs=null,Hd(y,k,_),Gs=U,Cc=te,Gs!==null&&(Cc?(y=Gs,_=_.stateNode,y.nodeType===8?y.parentNode.removeChild(_):y.removeChild(_)):Gs.removeChild(_.stateNode));break;case 18:Gs!==null&&(Cc?(y=Gs,_=_.stateNode,y.nodeType===8?pN(y.parentNode,_):y.nodeType===1&&pN(y,_),wc(y)):pN(Gs,_.stateNode));break;case 4:U=Gs,te=Cc,Gs=_.stateNode.containerInfo,Cc=!0,Hd(y,k,_),Gs=U,Cc=te;break;case 0:case 11:case 14:case 15:if(!wa&&(U=_.updateQueue,U!==null&&(U=U.lastEffect,U!==null))){te=U=U.next;do{var oe=te,ge=oe.destroy;oe=oe.tag,ge!==void 0&&((oe&2)!==0||(oe&4)!==0)&&QN(_,k,ge),te=te.next}while(te!==U)}Hd(y,k,_);break;case 1:if(!wa&&(_1(_,k),U=_.stateNode,typeof U.componentWillUnmount=="function"))try{U.props=_.memoizedProps,U.state=_.memoizedState,U.componentWillUnmount()}catch(Fe){Io(_,k,Fe)}Hd(y,k,_);break;case 21:Hd(y,k,_);break;case 22:_.mode&1?(wa=(U=wa)||_.memoizedState!==null,Hd(y,k,_),wa=U):Hd(y,k,_);break;default:Hd(y,k,_)}}function aF(y){var k=y.updateQueue;if(k!==null){y.updateQueue=null;var _=y.stateNode;_===null&&(_=y.stateNode=new mwe),k.forEach(function(U){var te=Swe.bind(null,y,U);_.has(U)||(_.add(U),U.then(te,te))})}}function Sc(y,k){var _=k.deletions;if(_!==null)for(var U=0;U<_.length;U++){var te=_[U];try{var oe=y,ge=k,Fe=ge;e:for(;Fe!==null;){switch(Fe.tag){case 5:Gs=Fe.stateNode,Cc=!1;break e;case 3:Gs=Fe.stateNode.containerInfo,Cc=!0;break e;case 4:Gs=Fe.stateNode.containerInfo,Cc=!0;break e}Fe=Fe.return}if(Gs===null)throw Error(n(160));sF(oe,ge,te),Gs=null,Cc=!1;var Ye=te.alternate;Ye!==null&&(Ye.return=null),te.return=null}catch(ut){Io(te,k,ut)}}if(k.subtreeFlags&12854)for(k=k.child;k!==null;)iF(k,y),k=k.sibling}function iF(y,k){var _=y.alternate,U=y.flags;switch(y.tag){case 0:case 11:case 14:case 15:if(Sc(k,y),wu(y),U&4){try{Kv(3,y,y.return),P4(3,y)}catch(un){Io(y,y.return,un)}try{Kv(5,y,y.return)}catch(un){Io(y,y.return,un)}}break;case 1:Sc(k,y),wu(y),U&512&&_!==null&&_1(_,_.return);break;case 5:if(Sc(k,y),wu(y),U&512&&_!==null&&_1(_,_.return),y.flags&32){var te=y.stateNode;try{ie(te,"")}catch(un){Io(y,y.return,un)}}if(U&4&&(te=y.stateNode,te!=null)){var oe=y.memoizedProps,ge=_!==null?_.memoizedProps:oe,Fe=y.type,Ye=y.updateQueue;if(y.updateQueue=null,Ye!==null)try{Fe==="input"&&oe.type==="radio"&&oe.name!=null&&Ve(te,oe),Pe(Fe,ge);var ut=Pe(Fe,oe);for(ge=0;ge<Ye.length;ge+=2){var It=Ye[ge],Tt=Ye[ge+1];It==="style"?ye(te,Tt):It==="dangerouslySetInnerHTML"?Z(te,Tt):It==="children"?ie(te,Tt):N(te,It,Tt,ut)}switch(Fe){case"input":Ze(te,oe);break;case"textarea":ht(te,oe);break;case"select":var St=te._wrapperState.wasMultiple;te._wrapperState.wasMultiple=!!oe.multiple;var Xt=oe.value;Xt!=null?Me(te,!!oe.multiple,Xt,!1):St!==!!oe.multiple&&(oe.defaultValue!=null?Me(te,!!oe.multiple,oe.defaultValue,!0):Me(te,!!oe.multiple,oe.multiple?[]:"",!1))}te[zv]=oe}catch(un){Io(y,y.return,un)}}break;case 6:if(Sc(k,y),wu(y),U&4){if(y.stateNode===null)throw Error(n(162));te=y.stateNode,oe=y.memoizedProps;try{te.nodeValue=oe}catch(un){Io(y,y.return,un)}}break;case 3:if(Sc(k,y),wu(y),U&4&&_!==null&&_.memoizedState.isDehydrated)try{wc(k.containerInfo)}catch(un){Io(y,y.return,un)}break;case 4:Sc(k,y),wu(y);break;case 13:Sc(k,y),wu(y),te=y.child,te.flags&8192&&(oe=te.memoizedState!==null,te.stateNode.isHidden=oe,!oe||te.alternate!==null&&te.alternate.memoizedState!==null||(rI=Nr())),U&4&&aF(y);break;case 22:if(It=_!==null&&_.memoizedState!==null,y.mode&1?(wa=(ut=wa)||It,Sc(k,y),wa=ut):Sc(k,y),wu(y),U&8192){if(ut=y.memoizedState!==null,(y.stateNode.isHidden=ut)&&!It&&(y.mode&1)!==0)for(rn=y,It=y.child;It!==null;){for(Tt=rn=It;rn!==null;){switch(St=rn,Xt=St.child,St.tag){case 0:case 11:case 14:case 15:Kv(4,St,St.return);break;case 1:_1(St,St.return);var ln=St.stateNode;if(typeof ln.componentWillUnmount=="function"){U=St,_=St.return;try{k=U,ln.props=k.memoizedProps,ln.state=k.memoizedState,ln.componentWillUnmount()}catch(un){Io(U,_,un)}}break;case 5:_1(St,St.return);break;case 22:if(St.memoizedState!==null){uF(Tt);continue}}Xt!==null?(Xt.return=St,rn=Xt):uF(Tt)}It=It.sibling}e:for(It=null,Tt=y;;){if(Tt.tag===5){if(It===null){It=Tt;try{te=Tt.stateNode,ut?(oe=te.style,typeof oe.setProperty=="function"?oe.setProperty("display","none","important"):oe.display="none"):(Fe=Tt.stateNode,Ye=Tt.memoizedProps.style,ge=Ye!=null&&Ye.hasOwnProperty("display")?Ye.display:null,Fe.style.display=Se("display",ge))}catch(un){Io(y,y.return,un)}}}else if(Tt.tag===6){if(It===null)try{Tt.stateNode.nodeValue=ut?"":Tt.memoizedProps}catch(un){Io(y,y.return,un)}}else if((Tt.tag!==22&&Tt.tag!==23||Tt.memoizedState===null||Tt===y)&&Tt.child!==null){Tt.child.return=Tt,Tt=Tt.child;continue}if(Tt===y)break e;for(;Tt.sibling===null;){if(Tt.return===null||Tt.return===y)break e;It===Tt&&(It=null),Tt=Tt.return}It===Tt&&(It=null),Tt.sibling.return=Tt.return,Tt=Tt.sibling}}break;case 19:Sc(k,y),wu(y),U&4&&aF(y);break;case 21:break;default:Sc(k,y),wu(y)}}function wu(y){var k=y.flags;if(k&2){try{e:{for(var _=y.return;_!==null;){if(rF(_)){var U=_;break e}_=_.return}throw Error(n(160))}switch(U.tag){case 5:var te=U.stateNode;U.flags&32&&(ie(te,""),U.flags&=-33);var oe=oF(y);eI(y,oe,te);break;case 3:case 4:var ge=U.stateNode.containerInfo,Fe=oF(y);XN(y,Fe,ge);break;default:throw Error(n(161))}}catch(Ye){Io(y,y.return,Ye)}y.flags&=-3}k&4096&&(y.flags&=-4097)}function ywe(y,k,_){rn=y,lF(y)}function lF(y,k,_){for(var U=(y.mode&1)!==0;rn!==null;){var te=rn,oe=te.child;if(te.tag===22&&U){var ge=te.memoizedState!==null||L4;if(!ge){var Fe=te.alternate,Ye=Fe!==null&&Fe.memoizedState!==null||wa;Fe=L4;var ut=wa;if(L4=ge,(wa=Ye)&&!ut)for(rn=te;rn!==null;)ge=rn,Ye=ge.child,ge.tag===22&&ge.memoizedState!==null?fF(te):Ye!==null?(Ye.return=ge,rn=Ye):fF(te);for(;oe!==null;)rn=oe,lF(oe),oe=oe.sibling;rn=te,L4=Fe,wa=ut}cF(y)}else(te.subtreeFlags&8772)!==0&&oe!==null?(oe.return=te,rn=oe):cF(y)}}function cF(y){for(;rn!==null;){var k=rn;if((k.flags&8772)!==0){var _=k.alternate;try{if((k.flags&8772)!==0)switch(k.tag){case 0:case 11:case 15:wa||P4(5,k);break;case 1:var U=k.stateNode;if(k.flags&4&&!wa)if(_===null)U.componentDidMount();else{var te=k.elementType===k.type?_.memoizedProps:jc(k.type,_.memoizedProps);U.componentDidUpdate(te,_.memoizedState,U.__reactInternalSnapshotBeforeUpdate)}var oe=k.updateQueue;oe!==null&&uz(k,oe,U);break;case 3:var ge=k.updateQueue;if(ge!==null){if(_=null,k.child!==null)switch(k.child.tag){case 5:_=k.child.stateNode;break;case 1:_=k.child.stateNode}uz(k,ge,_)}break;case 5:var Fe=k.stateNode;if(_===null&&k.flags&4){_=Fe;var Ye=k.memoizedProps;switch(k.type){case"button":case"input":case"select":case"textarea":Ye.autoFocus&&_.focus();break;case"img":Ye.src&&(_.src=Ye.src)}}break;case 6:break;case 4:break;case 12:break;case 13:if(k.memoizedState===null){var ut=k.alternate;if(ut!==null){var It=ut.memoizedState;if(It!==null){var Tt=It.dehydrated;Tt!==null&&wc(Tt)}}}break;case 19:case 17:case 21:case 22:case 23:case 25:break;default:throw Error(n(163))}wa||k.flags&512&&JN(k)}catch(St){Io(k,k.return,St)}}if(k===y){rn=null;break}if(_=k.sibling,_!==null){_.return=k.return,rn=_;break}rn=k.return}}function uF(y){for(;rn!==null;){var k=rn;if(k===y){rn=null;break}var _=k.sibling;if(_!==null){_.return=k.return,rn=_;break}rn=k.return}}function fF(y){for(;rn!==null;){var k=rn;try{switch(k.tag){case 0:case 11:case 15:var _=k.return;try{P4(4,k)}catch(Ye){Io(k,_,Ye)}break;case 1:var U=k.stateNode;if(typeof U.componentDidMount=="function"){var te=k.return;try{U.componentDidMount()}catch(Ye){Io(k,te,Ye)}}var oe=k.return;try{JN(k)}catch(Ye){Io(k,oe,Ye)}break;case 5:var ge=k.return;try{JN(k)}catch(Ye){Io(k,ge,Ye)}}}catch(Ye){Io(k,k.return,Ye)}if(k===y){rn=null;break}var Fe=k.sibling;if(Fe!==null){Fe.return=k.return,rn=Fe;break}rn=k.return}}var vwe=Math.ceil,O4=M.ReactCurrentDispatcher,tI=M.ReactCurrentOwner,Il=M.ReactCurrentBatchConfig,pr=0,xs=null,Vo=null,qs=0,Wi=0,M1=Fd(0),cs=0,Zv=null,sm=0,z4=0,nI=0,Qv=null,mi=null,rI=0,R1=1/0,Lf=null,F4=!1,oI=null,Wd=null,B4=!1,Yd=null,U4=0,Jv=0,sI=null,$4=-1,V4=0;function Va(){return(pr&6)!==0?Nr():$4!==-1?$4:$4=Nr()}function Gd(y){return(y.mode&1)===0?1:(pr&2)!==0&&qs!==0?qs&-qs:twe.transition!==null?(V4===0&&(V4=rs()),V4):(y=Fn,y!==0||(y=window.event,y=y===void 0?16:Sv(y.type)),y)}function Ec(y,k,_,U){if(50<Jv)throw Jv=0,sI=null,Error(n(185));Ie(y,_,U),((pr&2)===0||y!==xs)&&(y===xs&&((pr&2)===0&&(z4|=_),cs===4&&qd(y,qs)),gi(y,U),_===1&&pr===0&&(k.mode&1)===0&&(R1=Nr()+500,y4&&Ud()))}function gi(y,k){var _=y.callbackNode;Id(y,k);var U=Fi(y,y===xs?qs:0);if(U===0)_!==null&&vs(_),y.callbackNode=null,y.callbackPriority=0;else if(k=U&-U,y.callbackPriority!==k){if(_!=null&&vs(_),k===1)y.tag===0?ewe(pF.bind(null,y)):JO(pF.bind(null,y)),Zve(function(){(pr&6)===0&&Ud()}),_=null;else{switch(Jx(U)){case 1:_=jt;break;case 4:_=Zx;break;case 16:_=zr;break;case 536870912:_=Qx;break;default:_=zr}_=xF(_,dF.bind(null,y))}y.callbackPriority=k,y.callbackNode=_}}function dF(y,k){if($4=-1,V4=0,(pr&6)!==0)throw Error(n(327));var _=y.callbackNode;if(T1()&&y.callbackNode!==_)return null;var U=Fi(y,y===xs?qs:0);if(U===0)return null;if((U&30)!==0||(U&y.expiredLanes)!==0||k)k=H4(y,U);else{k=U;var te=pr;pr|=2;var oe=mF();(xs!==y||qs!==k)&&(Lf=null,R1=Nr()+500,im(y,k));do try{xwe();break}catch(Fe){hF(y,Fe)}while(!0);jN(),O4.current=oe,pr=te,Vo!==null?k=0:(xs=null,qs=0,k=cs)}if(k!==0){if(k===2&&(te=Ir(y),te!==0&&(U=te,k=aI(y,te))),k===1)throw _=Zv,im(y,0),qd(y,U),gi(y,Nr()),_;if(k===6)qd(y,U);else{if(te=y.current.alternate,(U&30)===0&&!wwe(te)&&(k=H4(y,U),k===2&&(oe=Ir(y),oe!==0&&(U=oe,k=aI(y,oe))),k===1))throw _=Zv,im(y,0),qd(y,U),gi(y,Nr()),_;switch(y.finishedWork=te,y.finishedLanes=U,k){case 0:case 1:throw Error(n(345));case 2:lm(y,mi,Lf);break;case 3:if(qd(y,U),(U&130023424)===U&&(k=rI+500-Nr(),10<k)){if(Fi(y,0)!==0)break;if(te=y.suspendedLanes,(te&U)!==U){Va(),y.pingedLanes|=y.suspendedLanes&te;break}y.timeoutHandle=dN(lm.bind(null,y,mi,Lf),k);break}lm(y,mi,Lf);break;case 4:if(qd(y,U),(U&4194240)===U)break;for(k=y.eventTimes,te=-1;0<U;){var ge=31-Ua(U);oe=1<<ge,ge=k[ge],ge>te&&(te=ge),U&=~oe}if(U=te,U=Nr()-U,U=(120>U?120:480>U?480:1080>U?1080:1920>U?1920:3e3>U?3e3:4320>U?4320:1960*vwe(U/1960))-U,10<U){y.timeoutHandle=dN(lm.bind(null,y,mi,Lf),U);break}lm(y,mi,Lf);break;case 5:lm(y,mi,Lf);break;default:throw Error(n(329))}}}return gi(y,Nr()),y.callbackNode===_?dF.bind(null,y):null}function aI(y,k){var _=Qv;return y.current.memoizedState.isDehydrated&&(im(y,k).flags|=256),y=H4(y,k),y!==2&&(k=mi,mi=_,k!==null&&iI(k)),y}function iI(y){mi===null?mi=y:mi.push.apply(mi,y)}function wwe(y){for(var k=y;;){if(k.flags&16384){var _=k.updateQueue;if(_!==null&&(_=_.stores,_!==null))for(var U=0;U<_.length;U++){var te=_[U],oe=te.getSnapshot;te=te.value;try{if(!tt(oe(),te))return!1}catch{return!1}}}if(_=k.child,k.subtreeFlags&16384&&_!==null)_.return=k,k=_;else{if(k===y)break;for(;k.sibling===null;){if(k.return===null||k.return===y)return!0;k=k.return}k.sibling.return=k.return,k=k.sibling}}return!0}function qd(y,k){for(k&=~nI,k&=~z4,y.suspendedLanes|=k,y.pingedLanes&=~k,y=y.expirationTimes;0<k;){var _=31-Ua(k),U=1<<_;y[_]=-1,k&=~U}}function pF(y){if((pr&6)!==0)throw Error(n(327));T1();var k=Fi(y,0);if((k&1)===0)return gi(y,Nr()),null;var _=H4(y,k);if(y.tag!==0&&_===2){var U=Ir(y);U!==0&&(k=U,_=aI(y,U))}if(_===1)throw _=Zv,im(y,0),qd(y,k),gi(y,Nr()),_;if(_===6)throw Error(n(345));return y.finishedWork=y.current.alternate,y.finishedLanes=k,lm(y,mi,Lf),gi(y,Nr()),null}function lI(y,k){var _=pr;pr|=1;try{return y(k)}finally{pr=_,pr===0&&(R1=Nr()+500,y4&&Ud())}}function am(y){Yd!==null&&Yd.tag===0&&(pr&6)===0&&T1();var k=pr;pr|=1;var _=Il.transition,U=Fn;try{if(Il.transition=null,Fn=1,y)return y()}finally{Fn=U,Il.transition=_,pr=k,(pr&6)===0&&Ud()}}function cI(){Wi=M1.current,Jr(M1)}function im(y,k){y.finishedWork=null,y.finishedLanes=0;var _=y.timeoutHandle;if(_!==-1&&(y.timeoutHandle=-1,Kve(_)),Vo!==null)for(_=Vo.return;_!==null;){var U=_;switch(vN(U),U.tag){case 1:U=U.type.childContextTypes,U!=null&&m4();break;case 3:I1(),Jr(di),Jr(ga),MN();break;case 5:AN(U);break;case 4:I1();break;case 13:Jr(vo);break;case 19:Jr(vo);break;case 10:CN(U.type._context);break;case 22:case 23:cI()}_=_.return}if(xs=y,Vo=y=Kd(y.current,null),qs=Wi=k,cs=0,Zv=null,nI=z4=sm=0,mi=Qv=null,nm!==null){for(k=0;k<nm.length;k++)if(_=nm[k],U=_.interleaved,U!==null){_.interleaved=null;var te=U.next,oe=_.pending;if(oe!==null){var ge=oe.next;oe.next=te,U.next=ge}_.pending=U}nm=null}return y}function hF(y,k){do{var _=Vo;try{if(jN(),N4.current=M4,I4){for(var U=wo.memoizedState;U!==null;){var te=U.queue;te!==null&&(te.pending=null),U=U.next}I4=!1}if(om=0,bs=ls=wo=null,Hv=!1,Wv=0,tI.current=null,_===null||_.return===null){cs=1,Zv=k,Vo=null;break}e:{var oe=y,ge=_.return,Fe=_,Ye=k;if(k=qs,Fe.flags|=32768,Ye!==null&&typeof Ye=="object"&&typeof Ye.then=="function"){var ut=Ye,It=Fe,Tt=It.tag;if((It.mode&1)===0&&(Tt===0||Tt===11||Tt===15)){var St=It.alternate;St?(It.updateQueue=St.updateQueue,It.memoizedState=St.memoizedState,It.lanes=St.lanes):(It.updateQueue=null,It.memoizedState=null)}var Xt=Fz(ge);if(Xt!==null){Xt.flags&=-257,Bz(Xt,ge,Fe,oe,k),Xt.mode&1&&zz(oe,ut,k),k=Xt,Ye=ut;var ln=k.updateQueue;if(ln===null){var un=new Set;un.add(Ye),k.updateQueue=un}else ln.add(Ye);break e}else{if((k&1)===0){zz(oe,ut,k),uI();break e}Ye=Error(n(426))}}else if(uo&&Fe.mode&1){var Fo=Fz(ge);if(Fo!==null){(Fo.flags&65536)===0&&(Fo.flags|=256),Bz(Fo,ge,Fe,oe,k),xN(A1(Ye,Fe));break e}}oe=Ye=A1(Ye,Fe),cs!==4&&(cs=2),Qv===null?Qv=[oe]:Qv.push(oe),oe=ge;do{switch(oe.tag){case 3:oe.flags|=65536,k&=-k,oe.lanes|=k;var ot=Pz(oe,Ye,k);cz(oe,ot);break e;case 1:Fe=Ye;var Je=oe.type,it=oe.stateNode;if((oe.flags&128)===0&&(typeof Je.getDerivedStateFromError=="function"||it!==null&&typeof it.componentDidCatch=="function"&&(Wd===null||!Wd.has(it)))){oe.flags|=65536,k&=-k,oe.lanes|=k;var Bt=Oz(oe,Fe,k);cz(oe,Bt);break e}}oe=oe.return}while(oe!==null)}yF(_)}catch(dn){k=dn,Vo===_&&_!==null&&(Vo=_=_.return);continue}break}while(!0)}function mF(){var y=O4.current;return O4.current=M4,y===null?M4:y}function uI(){(cs===0||cs===3||cs===2)&&(cs=4),xs===null||(sm&268435455)===0&&(z4&268435455)===0||qd(xs,qs)}function H4(y,k){var _=pr;pr|=2;var U=mF();(xs!==y||qs!==k)&&(Lf=null,im(y,k));do try{bwe();break}catch(te){hF(y,te)}while(!0);if(jN(),pr=_,O4.current=U,Vo!==null)throw Error(n(261));return xs=null,qs=0,cs}function bwe(){for(;Vo!==null;)gF(Vo)}function xwe(){for(;Vo!==null&&!Hr();)gF(Vo)}function gF(y){var k=bF(y.alternate,y,Wi);y.memoizedProps=y.pendingProps,k===null?yF(y):Vo=k,tI.current=null}function yF(y){var k=y;do{var _=k.alternate;if(y=k.return,(k.flags&32768)===0){if(_=pwe(_,k,Wi),_!==null){Vo=_;return}}else{if(_=hwe(_,k),_!==null){_.flags&=32767,Vo=_;return}if(y!==null)y.flags|=32768,y.subtreeFlags=0,y.deletions=null;else{cs=6,Vo=null;return}}if(k=k.sibling,k!==null){Vo=k;return}Vo=k=y}while(k!==null);cs===0&&(cs=5)}function lm(y,k,_){var U=Fn,te=Il.transition;try{Il.transition=null,Fn=1,kwe(y,k,_,U)}finally{Il.transition=te,Fn=U}return null}function kwe(y,k,_,U){do T1();while(Yd!==null);if((pr&6)!==0)throw Error(n(327));_=y.finishedWork;var te=y.finishedLanes;if(_===null)return null;if(y.finishedWork=null,y.finishedLanes=0,_===y.current)throw Error(n(177));y.callbackNode=null,y.callbackPriority=0;var oe=_.lanes|_.childLanes;if(hn(y,oe),y===xs&&(Vo=xs=null,qs=0),(_.subtreeFlags&2064)===0&&(_.flags&2064)===0||B4||(B4=!0,xF(zr,function(){return T1(),null})),oe=(_.flags&15990)!==0,(_.subtreeFlags&15990)!==0||oe){oe=Il.transition,Il.transition=null;var ge=Fn;Fn=1;var Fe=pr;pr|=4,tI.current=null,gwe(y,_),iF(_,y),ma(uN),hu=!!cN,uN=cN=null,y.current=_,ywe(_),Kx(),pr=Fe,Fn=ge,Il.transition=oe}else y.current=_;if(B4&&(B4=!1,Yd=y,U4=te),oe=y.pendingLanes,oe===0&&(Wd=null),Jn(_.stateNode),gi(y,Nr()),k!==null)for(U=y.onRecoverableError,_=0;_<k.length;_++)te=k[_],U(te.value,{componentStack:te.stack,digest:te.digest});if(F4)throw F4=!1,y=oI,oI=null,y;return(U4&1)!==0&&y.tag!==0&&T1(),oe=y.pendingLanes,(oe&1)!==0?y===sI?Jv++:(Jv=0,sI=y):Jv=0,Ud(),null}function T1(){if(Yd!==null){var y=Jx(U4),k=Il.transition,_=Fn;try{if(Il.transition=null,Fn=16>y?16:y,Yd===null)var U=!1;else{if(y=Yd,Yd=null,U4=0,(pr&6)!==0)throw Error(n(331));var te=pr;for(pr|=4,rn=y.current;rn!==null;){var oe=rn,ge=oe.child;if((rn.flags&16)!==0){var Fe=oe.deletions;if(Fe!==null){for(var Ye=0;Ye<Fe.length;Ye++){var ut=Fe[Ye];for(rn=ut;rn!==null;){var It=rn;switch(It.tag){case 0:case 11:case 15:Kv(8,It,oe)}var Tt=It.child;if(Tt!==null)Tt.return=It,rn=Tt;else for(;rn!==null;){It=rn;var St=It.sibling,Xt=It.return;if(nF(It),It===ut){rn=null;break}if(St!==null){St.return=Xt,rn=St;break}rn=Xt}}}var ln=oe.alternate;if(ln!==null){var un=ln.child;if(un!==null){ln.child=null;do{var Fo=un.sibling;un.sibling=null,un=Fo}while(un!==null)}}rn=oe}}if((oe.subtreeFlags&2064)!==0&&ge!==null)ge.return=oe,rn=ge;else e:for(;rn!==null;){if(oe=rn,(oe.flags&2048)!==0)switch(oe.tag){case 0:case 11:case 15:Kv(9,oe,oe.return)}var ot=oe.sibling;if(ot!==null){ot.return=oe.return,rn=ot;break e}rn=oe.return}}var Je=y.current;for(rn=Je;rn!==null;){ge=rn;var it=ge.child;if((ge.subtreeFlags&2064)!==0&&it!==null)it.return=ge,rn=it;else e:for(ge=Je;rn!==null;){if(Fe=rn,(Fe.flags&2048)!==0)try{switch(Fe.tag){case 0:case 11:case 15:P4(9,Fe)}}catch(dn){Io(Fe,Fe.return,dn)}if(Fe===ge){rn=null;break e}var Bt=Fe.sibling;if(Bt!==null){Bt.return=Fe.return,rn=Bt;break e}rn=Fe.return}}if(pr=te,Ud(),zn&&typeof zn.onPostCommitFiberRoot=="function")try{zn.onPostCommitFiberRoot(ar,y)}catch{}U=!0}return U}finally{Fn=_,Il.transition=k}}return!1}function vF(y,k,_){k=A1(_,k),k=Pz(y,k,1),y=Vd(y,k,1),k=Va(),y!==null&&(Ie(y,1,k),gi(y,k))}function Io(y,k,_){if(y.tag===3)vF(y,y,_);else for(;k!==null;){if(k.tag===3){vF(k,y,_);break}else if(k.tag===1){var U=k.stateNode;if(typeof k.type.getDerivedStateFromError=="function"||typeof U.componentDidCatch=="function"&&(Wd===null||!Wd.has(U))){y=A1(_,y),y=Oz(k,y,1),k=Vd(k,y,1),y=Va(),k!==null&&(Ie(k,1,y),gi(k,y));break}}k=k.return}}function jwe(y,k,_){var U=y.pingCache;U!==null&&U.delete(k),k=Va(),y.pingedLanes|=y.suspendedLanes&_,xs===y&&(qs&_)===_&&(cs===4||cs===3&&(qs&130023424)===qs&&500>Nr()-rI?im(y,0):nI|=_),gi(y,k)}function wF(y,k){k===0&&((y.mode&1)===0?k=1:(k=c1,c1<<=1,(c1&130023424)===0&&(c1=4194304)));var _=Va();y=Rf(y,k),y!==null&&(Ie(y,k,_),gi(y,_))}function Cwe(y){var k=y.memoizedState,_=0;k!==null&&(_=k.retryLane),wF(y,_)}function Swe(y,k){var _=0;switch(y.tag){case 13:var U=y.stateNode,te=y.memoizedState;te!==null&&(_=te.retryLane);break;case 19:U=y.stateNode;break;default:throw Error(n(314))}U!==null&&U.delete(k),wF(y,_)}var bF;bF=function(y,k,_){if(y!==null)if(y.memoizedProps!==k.pendingProps||di.current)hi=!0;else{if((y.lanes&_)===0&&(k.flags&128)===0)return hi=!1,dwe(y,k,_);hi=(y.flags&131072)!==0}else hi=!1,uo&&(k.flags&1048576)!==0&&XO(k,w4,k.index);switch(k.lanes=0,k.tag){case 2:var U=k.type;D4(y,k),y=k.pendingProps;var te=x1(k,ga.current);N1(k,_),te=DN(null,k,U,y,te,_);var oe=LN();return k.flags|=1,typeof te=="object"&&te!==null&&typeof te.render=="function"&&te.$$typeof===void 0?(k.tag=1,k.memoizedState=null,k.updateQueue=null,pi(U)?(oe=!0,g4(k)):oe=!1,k.memoizedState=te.state!==null&&te.state!==void 0?te.state:null,NN(k),te.updater=R4,k.stateNode=te,te._reactInternals=k,UN(k,U,y,_),k=WN(null,k,U,!0,oe,_)):(k.tag=0,uo&&oe&&yN(k),$a(null,k,te,_),k=k.child),k;case 16:U=k.elementType;e:{switch(D4(y,k),y=k.pendingProps,te=U._init,U=te(U._payload),k.type=U,te=k.tag=Nwe(U),y=jc(U,y),te){case 0:k=HN(null,k,U,y,_);break e;case 1:k=Yz(null,k,U,y,_);break e;case 11:k=Uz(null,k,U,y,_);break e;case 14:k=$z(null,k,U,jc(U.type,y),_);break e}throw Error(n(306,U,""))}return k;case 0:return U=k.type,te=k.pendingProps,te=k.elementType===U?te:jc(U,te),HN(y,k,U,te,_);case 1:return U=k.type,te=k.pendingProps,te=k.elementType===U?te:jc(U,te),Yz(y,k,U,te,_);case 3:e:{if(Gz(k),y===null)throw Error(n(387));U=k.pendingProps,oe=k.memoizedState,te=oe.element,lz(y,k),S4(k,U,null,_);var ge=k.memoizedState;if(U=ge.element,oe.isDehydrated)if(oe={element:U,isDehydrated:!1,cache:ge.cache,pendingSuspenseBoundaries:ge.pendingSuspenseBoundaries,transitions:ge.transitions},k.updateQueue.baseState=oe,k.memoizedState=oe,k.flags&256){te=A1(Error(n(423)),k),k=qz(y,k,U,_,te);break e}else if(U!==te){te=A1(Error(n(424)),k),k=qz(y,k,U,_,te);break e}else for(Hi=zd(k.stateNode.containerInfo.firstChild),Vi=k,uo=!0,kc=null,_=az(k,null,U,_),k.child=_;_;)_.flags=_.flags&-3|4096,_=_.sibling;else{if(C1(),U===te){k=Df(y,k,_);break e}$a(y,k,U,_)}k=k.child}return k;case 5:return fz(k),y===null&&bN(k),U=k.type,te=k.pendingProps,oe=y!==null?y.memoizedProps:null,ge=te.children,fN(U,te)?ge=null:oe!==null&&fN(U,oe)&&(k.flags|=32),Wz(y,k),$a(y,k,ge,_),k.child;case 6:return y===null&&bN(k),null;case 13:return Kz(y,k,_);case 4:return IN(k,k.stateNode.containerInfo),U=k.pendingProps,y===null?k.child=S1(k,null,U,_):$a(y,k,U,_),k.child;case 11:return U=k.type,te=k.pendingProps,te=k.elementType===U?te:jc(U,te),Uz(y,k,U,te,_);case 7:return $a(y,k,k.pendingProps,_),k.child;case 8:return $a(y,k,k.pendingProps.children,_),k.child;case 12:return $a(y,k,k.pendingProps.children,_),k.child;case 10:e:{if(U=k.type._context,te=k.pendingProps,oe=k.memoizedProps,ge=te.value,Gr(k4,U._currentValue),U._currentValue=ge,oe!==null)if(tt(oe.value,ge)){if(oe.children===te.children&&!di.current){k=Df(y,k,_);break e}}else for(oe=k.child,oe!==null&&(oe.return=k);oe!==null;){var Fe=oe.dependencies;if(Fe!==null){ge=oe.child;for(var Ye=Fe.firstContext;Ye!==null;){if(Ye.context===U){if(oe.tag===1){Ye=Tf(-1,_&-_),Ye.tag=2;var ut=oe.updateQueue;if(ut!==null){ut=ut.shared;var It=ut.pending;It===null?Ye.next=Ye:(Ye.next=It.next,It.next=Ye),ut.pending=Ye}}oe.lanes|=_,Ye=oe.alternate,Ye!==null&&(Ye.lanes|=_),SN(oe.return,_,k),Fe.lanes|=_;break}Ye=Ye.next}}else if(oe.tag===10)ge=oe.type===k.type?null:oe.child;else if(oe.tag===18){if(ge=oe.return,ge===null)throw Error(n(341));ge.lanes|=_,Fe=ge.alternate,Fe!==null&&(Fe.lanes|=_),SN(ge,_,k),ge=oe.sibling}else ge=oe.child;if(ge!==null)ge.return=oe;else for(ge=oe;ge!==null;){if(ge===k){ge=null;break}if(oe=ge.sibling,oe!==null){oe.return=ge.return,ge=oe;break}ge=ge.return}oe=ge}$a(y,k,te.children,_),k=k.child}return k;case 9:return te=k.type,U=k.pendingProps.children,N1(k,_),te=El(te),U=U(te),k.flags|=1,$a(y,k,U,_),k.child;case 14:return U=k.type,te=jc(U,k.pendingProps),te=jc(U.type,te),$z(y,k,U,te,_);case 15:return Vz(y,k,k.type,k.pendingProps,_);case 17:return U=k.type,te=k.pendingProps,te=k.elementType===U?te:jc(U,te),D4(y,k),k.tag=1,pi(U)?(y=!0,g4(k)):y=!1,N1(k,_),Dz(k,U,te),UN(k,U,te,_),WN(null,k,U,!0,y,_);case 19:return Qz(y,k,_);case 22:return Hz(y,k,_)}throw Error(n(156,k.tag))};function xF(y,k){return Oi(y,k)}function Ewe(y,k,_,U){this.tag=y,this.key=_,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=k,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=U,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Al(y,k,_,U){return new Ewe(y,k,_,U)}function fI(y){return y=y.prototype,!(!y||!y.isReactComponent)}function Nwe(y){if(typeof y=="function")return fI(y)?1:0;if(y!=null){if(y=y.$$typeof,y===Y)return 11;if(y===F)return 14}return 2}function Kd(y,k){var _=y.alternate;return _===null?(_=Al(y.tag,k,y.key,y.mode),_.elementType=y.elementType,_.type=y.type,_.stateNode=y.stateNode,_.alternate=y,y.alternate=_):(_.pendingProps=k,_.type=y.type,_.flags=0,_.subtreeFlags=0,_.deletions=null),_.flags=y.flags&14680064,_.childLanes=y.childLanes,_.lanes=y.lanes,_.child=y.child,_.memoizedProps=y.memoizedProps,_.memoizedState=y.memoizedState,_.updateQueue=y.updateQueue,k=y.dependencies,_.dependencies=k===null?null:{lanes:k.lanes,firstContext:k.firstContext},_.sibling=y.sibling,_.index=y.index,_.ref=y.ref,_}function W4(y,k,_,U,te,oe){var ge=2;if(U=y,typeof y=="function")fI(y)&&(ge=1);else if(typeof y=="string")ge=5;else e:switch(y){case L:return cm(_.children,te,oe,k);case B:ge=8,te|=8;break;case T:return y=Al(12,_,k,te|2),y.elementType=T,y.lanes=oe,y;case Q:return y=Al(13,_,k,te),y.elementType=Q,y.lanes=oe,y;case W:return y=Al(19,_,k,te),y.elementType=W,y.lanes=oe,y;case $:return Y4(_,te,oe,k);default:if(typeof y=="object"&&y!==null)switch(y.$$typeof){case R:ge=10;break e;case z:ge=9;break e;case Y:ge=11;break e;case F:ge=14;break e;case X:ge=16,U=null;break e}throw Error(n(130,y==null?y:typeof y,""))}return k=Al(ge,_,k,te),k.elementType=y,k.type=U,k.lanes=oe,k}function cm(y,k,_,U){return y=Al(7,y,U,k),y.lanes=_,y}function Y4(y,k,_,U){return y=Al(22,y,U,k),y.elementType=$,y.lanes=_,y.stateNode={isHidden:!1},y}function dI(y,k,_){return y=Al(6,y,null,k),y.lanes=_,y}function pI(y,k,_){return k=Al(4,y.children!==null?y.children:[],y.key,k),k.lanes=_,k.stateNode={containerInfo:y.containerInfo,pendingChildren:null,implementation:y.implementation},k}function Iwe(y,k,_,U,te){this.tag=k,this.containerInfo=y,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=rt(0),this.expirationTimes=rt(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=rt(0),this.identifierPrefix=U,this.onRecoverableError=te,this.mutableSourceEagerHydrationData=null}function hI(y,k,_,U,te,oe,ge,Fe,Ye){return y=new Iwe(y,k,_,Fe,Ye),k===1?(k=1,oe===!0&&(k|=8)):k=0,oe=Al(3,null,null,k),y.current=oe,oe.stateNode=y,oe.memoizedState={element:U,isDehydrated:_,cache:null,transitions:null,pendingSuspenseBoundaries:null},NN(oe),y}function Awe(y,k,_){var U=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:O,key:U==null?null:""+U,children:y,containerInfo:k,implementation:_}}function kF(y){if(!y)return Bd;y=y._reactInternals;e:{if(fi(y)!==y||y.tag!==1)throw Error(n(170));var k=y;do{switch(k.tag){case 3:k=k.stateNode.context;break e;case 1:if(pi(k.type)){k=k.stateNode.__reactInternalMemoizedMergedChildContext;break e}}k=k.return}while(k!==null);throw Error(n(171))}if(y.tag===1){var _=y.type;if(pi(_))return ZO(y,_,k)}return k}function jF(y,k,_,U,te,oe,ge,Fe,Ye){return y=hI(_,U,!0,y,te,oe,ge,Fe,Ye),y.context=kF(null),_=y.current,U=Va(),te=Gd(_),oe=Tf(U,te),oe.callback=k??null,Vd(_,oe,te),y.current.lanes=te,Ie(y,te,U),gi(y,U),y}function G4(y,k,_,U){var te=k.current,oe=Va(),ge=Gd(te);return _=kF(_),k.context===null?k.context=_:k.pendingContext=_,k=Tf(oe,ge),k.payload={element:y},U=U===void 0?null:U,U!==null&&(k.callback=U),y=Vd(te,k,ge),y!==null&&(Ec(y,te,ge,oe),C4(y,te,ge)),ge}function q4(y){if(y=y.current,!y.child)return null;switch(y.child.tag){case 5:return y.child.stateNode;default:return y.child.stateNode}}function CF(y,k){if(y=y.memoizedState,y!==null&&y.dehydrated!==null){var _=y.retryLane;y.retryLane=_!==0&&_<k?_:k}}function mI(y,k){CF(y,k),(y=y.alternate)&&CF(y,k)}function _we(){return null}var SF=typeof reportError=="function"?reportError:function(y){console.error(y)};function gI(y){this._internalRoot=y}K4.prototype.render=gI.prototype.render=function(y){var k=this._internalRoot;if(k===null)throw Error(n(409));G4(y,k,null,null)},K4.prototype.unmount=gI.prototype.unmount=function(){var y=this._internalRoot;if(y!==null){this._internalRoot=null;var k=y.containerInfo;am(function(){G4(null,y,null,null)}),k[If]=null}};function K4(y){this._internalRoot=y}K4.prototype.unstable_scheduleHydration=function(y){if(y){var k=Wr();y={blockedOn:null,target:y,priority:k};for(var _=0;_<Hs.length&&k!==0&&k<Hs[_].priority;_++);Hs.splice(_,0,y),_===0&&e4(y)}};function yI(y){return!(!y||y.nodeType!==1&&y.nodeType!==9&&y.nodeType!==11)}function Z4(y){return!(!y||y.nodeType!==1&&y.nodeType!==9&&y.nodeType!==11&&(y.nodeType!==8||y.nodeValue!==" react-mount-point-unstable "))}function EF(){}function Mwe(y,k,_,U,te){if(te){if(typeof U=="function"){var oe=U;U=function(){var ut=q4(ge);oe.call(ut)}}var ge=jF(k,U,y,0,null,!1,!1,"",EF);return y._reactRootContainer=ge,y[If]=ge.current,Pv(y.nodeType===8?y.parentNode:y),am(),ge}for(;te=y.lastChild;)y.removeChild(te);if(typeof U=="function"){var Fe=U;U=function(){var ut=q4(Ye);Fe.call(ut)}}var Ye=hI(y,0,!1,null,null,!1,!1,"",EF);return y._reactRootContainer=Ye,y[If]=Ye.current,Pv(y.nodeType===8?y.parentNode:y),am(function(){G4(k,Ye,_,U)}),Ye}function Q4(y,k,_,U,te){var oe=_._reactRootContainer;if(oe){var ge=oe;if(typeof te=="function"){var Fe=te;te=function(){var Ye=q4(ge);Fe.call(Ye)}}G4(k,ge,y,te)}else ge=Mwe(_,k,y,te,U);return q4(ge)}u1=function(y){switch(y.tag){case 3:var k=y.stateNode;if(k.current.memoizedState.isDehydrated){var _=Fr(k.pendingLanes);_!==0&&(Eo(k,_|1),gi(k,Nr()),(pr&6)===0&&(R1=Nr()+500,Ud()))}break;case 13:am(function(){var U=Rf(y,1);if(U!==null){var te=Va();Ec(U,y,1,te)}}),mI(y,1)}},ha=function(y){if(y.tag===13){var k=Rf(y,134217728);if(k!==null){var _=Va();Ec(k,y,134217728,_)}mI(y,134217728)}},mn=function(y){if(y.tag===13){var k=Gd(y),_=Rf(y,k);if(_!==null){var U=Va();Ec(_,y,k,U)}mI(y,k)}},Wr=function(){return Fn},kv=function(y,k){var _=Fn;try{return Fn=y,k()}finally{Fn=_}},Rt=function(y,k,_){switch(k){case"input":if(Ze(y,_),k=_.name,_.type==="radio"&&k!=null){for(_=y;_.parentNode;)_=_.parentNode;for(_=_.querySelectorAll("input[name="+JSON.stringify(""+k)+'][type="radio"]'),k=0;k<_.length;k++){var U=_[k];if(U!==y&&U.form===y.form){var te=h4(U);if(!te)throw Error(n(90));le(U),Ze(U,te)}}}break;case"textarea":ht(y,_);break;case"select":k=_.value,k!=null&&Me(y,!!_.multiple,k,!1)}},vt=lI,yt=am;var Rwe={usingClientEntryPoint:!1,Events:[Fv,w1,h4,dt,xt,lI]},Xv={findFiberByHostInstance:Jh,bundleType:0,version:"18.3.1",rendererPackageName:"react-dom"},Twe={bundleType:Xv.bundleType,version:Xv.version,rendererPackageName:Xv.rendererPackageName,rendererConfig:Xv.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:M.ReactCurrentDispatcher,findHostInstanceByFiber:function(y){return y=Gx(y),y===null?null:y.stateNode},findFiberByHostInstance:Xv.findFiberByHostInstance||_we,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.3.1-next-f1338f8080-20240426"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"){var J4=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!J4.isDisabled&&J4.supportsFiber)try{ar=J4.inject(Twe),zn=J4}catch{}}return wi.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=Rwe,wi.createPortal=function(y,k){var _=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!yI(k))throw Error(n(200));return Awe(y,k,null,_)},wi.createRoot=function(y,k){if(!yI(y))throw Error(n(299));var _=!1,U="",te=SF;return k!=null&&(k.unstable_strictMode===!0&&(_=!0),k.identifierPrefix!==void 0&&(U=k.identifierPrefix),k.onRecoverableError!==void 0&&(te=k.onRecoverableError)),k=hI(y,1,!1,null,null,_,!1,U,te),y[If]=k.current,Pv(y.nodeType===8?y.parentNode:y),new gI(k)},wi.findDOMNode=function(y){if(y==null)return null;if(y.nodeType===1)return y;var k=y._reactInternals;if(k===void 0)throw typeof y.render=="function"?Error(n(188)):(y=Object.keys(y).join(","),Error(n(268,y)));return y=Gx(k),y=y===null?null:y.stateNode,y},wi.flushSync=function(y){return am(y)},wi.hydrate=function(y,k,_){if(!Z4(k))throw Error(n(200));return Q4(null,y,k,!0,_)},wi.hydrateRoot=function(y,k,_){if(!yI(y))throw Error(n(405));var U=_!=null&&_.hydratedSources||null,te=!1,oe="",ge=SF;if(_!=null&&(_.unstable_strictMode===!0&&(te=!0),_.identifierPrefix!==void 0&&(oe=_.identifierPrefix),_.onRecoverableError!==void 0&&(ge=_.onRecoverableError)),k=jF(k,null,y,1,_??null,te,!1,oe,ge),y[If]=k.current,Pv(y),U)for(y=0;y<U.length;y++)_=U[y],te=_._getVersion,te=te(_._source),k.mutableSourceEagerHydrationData==null?k.mutableSourceEagerHydrationData=[_,te]:k.mutableSourceEagerHydrationData.push(_,te);return new K4(k)},wi.render=function(y,k,_){if(!Z4(k))throw Error(n(200));return Q4(null,y,k,!1,_)},wi.unmountComponentAtNode=function(y){if(!Z4(y))throw Error(n(40));return y._reactRootContainer?(am(function(){Q4(null,null,y,!1,function(){y._reactRootContainer=null,y[If]=null})}),!0):!1},wi.unstable_batchedUpdates=lI,wi.unstable_renderSubtreeIntoContainer=function(y,k,_,U){if(!Z4(_))throw Error(n(200));if(y==null||y._reactInternals===void 0)throw Error(n(38));return Q4(y,k,_,!1,U)},wi.version="18.3.1-next-f1338f8080-20240426",wi}var YW;function tse(){if(YW)return z9.exports;YW=1;function t(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(t)}catch(e){console.error(e)}}return t(),z9.exports=PTe(),z9.exports}var GW;function OTe(){if(GW)return x6;GW=1;var t=tse();return x6.createRoot=t.createRoot,x6.hydrateRoot=t.hydrateRoot,x6}var zTe=OTe();const nse=h.createContext(void 0),FTe=(t,e)=>{const n=window.document.documentElement,r=vk[t]??vk.DEFAULT,o=e==="light"?r.light:r.dark;n.style.setProperty("--primary",o.primary),n.style.setProperty("--primary-hover",o["primary-hover"]),n.style.setProperty("--primary-foreground",o["primary-foreground"]),n.style.setProperty("--ring",o.ring)};function BTe(t){return t==="pure-black"?"dark":t==="light"||t==="dark"||t==="system"?t:"system"}function UTe({children:t}){const[e,n]=h.useState(BTe(localStorage.getItem(bt.THEME_SETTING))),[r,o]=h.useState("light"),[s,a]=h.useState(localStorage.getItem(bt.PRIMARY_COLOR)??"DEFAULT");h.useEffect(()=>{if(e!=="system"){o(e);return}const u=window.matchMedia("(prefers-color-scheme: dark)"),d=f=>{o(f.matches?"dark":"light")};return u.addEventListener("change",d),o(u.matches?"dark":"light"),()=>{u.removeEventListener("change",d)}},[e]),h.useEffect(()=>{const u=window.document.documentElement;u.classList.remove("light","dark"),u.classList.add(r),r==="dark"?u.classList.add("pure-black"):u.classList.remove("pure-black")},[r]),h.useEffect(()=>{FTe(s,r)},[r,s]);const i=u=>{Xe.setThemeSetting(u),n(u),kr()},l=u=>{Xe.setPrimaryColor(u),a(u),kr()};return c.jsx(nse.Provider,{value:{theme:r,themeSetting:e,setThemeSetting:i,primaryColor:s,setPrimaryColor:l},children:t})}const gf=()=>{const t=h.useContext(nse);if(t===void 0)throw new Error("useTheme must be used within a ThemeProvider");return t};var Ds=tse();const KD=rc(Ds);function $Te(t){if(typeof document>"u")return;let e=document.head||document.getElementsByTagName("head")[0],n=document.createElement("style");n.type="text/css",e.appendChild(n),n.styleSheet?n.styleSheet.cssText=t:n.appendChild(document.createTextNode(t))}const VTe=t=>{switch(t){case"success":return YTe;case"info":return qTe;case"warning":return GTe;case"error":return KTe;default:return null}},HTe=Array(12).fill(0),WTe=({visible:t,className:e})=>Be.createElement("div",{className:["sonner-loading-wrapper",e].filter(Boolean).join(" "),"data-visible":t},Be.createElement("div",{className:"sonner-spinner"},HTe.map((n,r)=>Be.createElement("div",{className:"sonner-loading-bar",key:`spinner-bar-${r}`})))),YTe=Be.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},Be.createElement("path",{fillRule:"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zm3.857-9.809a.75.75 0 00-1.214-.882l-3.483 4.79-1.88-1.88a.75.75 0 10-1.06 1.061l2.5 2.5a.75.75 0 001.137-.089l4-5.5z",clipRule:"evenodd"})),GTe=Be.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",height:"20",width:"20"},Be.createElement("path",{fillRule:"evenodd",d:"M9.401 3.003c1.155-2 4.043-2 5.197 0l7.355 12.748c1.154 2-.29 4.5-2.599 4.5H4.645c-2.309 0-3.752-2.5-2.598-4.5L9.4 3.003zM12 8.25a.75.75 0 01.75.75v3.75a.75.75 0 01-1.5 0V9a.75.75 0 01.75-.75zm0 8.25a.75.75 0 100-1.5.75.75 0 000 1.5z",clipRule:"evenodd"})),qTe=Be.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},Be.createElement("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a.75.75 0 000 1.5h.253a.25.25 0 01.244.304l-.459 2.066A1.75 1.75 0 0010.747 15H11a.75.75 0 000-1.5h-.253a.25.25 0 01-.244-.304l.459-2.066A1.75 1.75 0 009.253 9H9z",clipRule:"evenodd"})),KTe=Be.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},Be.createElement("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-8-5a.75.75 0 01.75.75v4.5a.75.75 0 01-1.5 0v-4.5A.75.75 0 0110 5zm0 10a1 1 0 100-2 1 1 0 000 2z",clipRule:"evenodd"})),ZTe=Be.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"},Be.createElement("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),Be.createElement("line",{x1:"6",y1:"6",x2:"18",y2:"18"})),QTe=()=>{const[t,e]=Be.useState(document.hidden);return Be.useEffect(()=>{const n=()=>{e(document.hidden)};return document.addEventListener("visibilitychange",n),()=>window.removeEventListener("visibilitychange",n)},[]),t};let N8=1;class JTe{constructor(){this.subscribe=e=>(this.subscribers.push(e),()=>{const n=this.subscribers.indexOf(e);this.subscribers.splice(n,1)}),this.publish=e=>{this.subscribers.forEach(n=>n(e))},this.addToast=e=>{this.publish(e),this.toasts=[...this.toasts,e]},this.create=e=>{var n;const{message:r,...o}=e,s=typeof(e==null?void 0:e.id)=="number"||((n=e.id)==null?void 0:n.length)>0?e.id:N8++,a=this.toasts.find(l=>l.id===s),i=e.dismissible===void 0?!0:e.dismissible;return this.dismissedToasts.has(s)&&this.dismissedToasts.delete(s),a?this.toasts=this.toasts.map(l=>l.id===s?(this.publish({...l,...e,id:s,title:r}),{...l,...e,id:s,dismissible:i,title:r}):l):this.addToast({title:r,...o,dismissible:i,id:s}),s},this.dismiss=e=>(e?(this.dismissedToasts.add(e),requestAnimationFrame(()=>this.subscribers.forEach(n=>n({id:e,dismiss:!0})))):this.toasts.forEach(n=>{this.subscribers.forEach(r=>r({id:n.id,dismiss:!0}))}),e),this.message=(e,n)=>this.create({...n,message:e}),this.error=(e,n)=>this.create({...n,message:e,type:"error"}),this.success=(e,n)=>this.create({...n,type:"success",message:e}),this.info=(e,n)=>this.create({...n,type:"info",message:e}),this.warning=(e,n)=>this.create({...n,type:"warning",message:e}),this.loading=(e,n)=>this.create({...n,type:"loading",message:e}),this.promise=(e,n)=>{if(!n)return;let r;n.loading!==void 0&&(r=this.create({...n,promise:e,type:"loading",message:n.loading,description:typeof n.description!="function"?n.description:void 0}));const o=Promise.resolve(e instanceof Function?e():e);let s=r!==void 0,a;const i=o.then(async u=>{if(a=["resolve",u],Be.isValidElement(u))s=!1,this.create({id:r,type:"default",message:u});else if(eDe(u)&&!u.ok){s=!1;const f=typeof n.error=="function"?await n.error(`HTTP error! status: ${u.status}`):n.error,m=typeof n.description=="function"?await n.description(`HTTP error! status: ${u.status}`):n.description,w=typeof f=="object"&&!Be.isValidElement(f)?f:{message:f};this.create({id:r,type:"error",description:m,...w})}else if(u instanceof Error){s=!1;const f=typeof n.error=="function"?await n.error(u):n.error,m=typeof n.description=="function"?await n.description(u):n.description,w=typeof f=="object"&&!Be.isValidElement(f)?f:{message:f};this.create({id:r,type:"error",description:m,...w})}else if(n.success!==void 0){s=!1;const f=typeof n.success=="function"?await n.success(u):n.success,m=typeof n.description=="function"?await n.description(u):n.description,w=typeof f=="object"&&!Be.isValidElement(f)?f:{message:f};this.create({id:r,type:"success",description:m,...w})}}).catch(async u=>{if(a=["reject",u],n.error!==void 0){s=!1;const d=typeof n.error=="function"?await n.error(u):n.error,f=typeof n.description=="function"?await n.description(u):n.description,g=typeof d=="object"&&!Be.isValidElement(d)?d:{message:d};this.create({id:r,type:"error",description:f,...g})}}).finally(()=>{s&&(this.dismiss(r),r=void 0),n.finally==null||n.finally.call(n)}),l=()=>new Promise((u,d)=>i.then(()=>a[0]==="reject"?d(a[1]):u(a[1])).catch(d));return typeof r!="string"&&typeof r!="number"?{unwrap:l}:Object.assign(r,{unwrap:l})},this.custom=(e,n)=>{const r=(n==null?void 0:n.id)||N8++;return this.create({jsx:e(r),id:r,...n}),r},this.getActiveToasts=()=>this.toasts.filter(e=>!this.dismissedToasts.has(e.id)),this.subscribers=[],this.toasts=[],this.dismissedToasts=new Set}}const xi=new JTe,XTe=(t,e)=>{const n=(e==null?void 0:e.id)||N8++;return xi.addToast({title:t,...e,id:n}),n},eDe=t=>t&&typeof t=="object"&&"ok"in t&&typeof t.ok=="boolean"&&"status"in t&&typeof t.status=="number",tDe=XTe,nDe=()=>xi.toasts,rDe=()=>xi.getActiveToasts(),on=Object.assign(tDe,{success:xi.success,info:xi.info,warning:xi.warning,error:xi.error,custom:xi.custom,message:xi.message,promise:xi.promise,dismiss:xi.dismiss,loading:xi.loading},{getHistory:nDe,getToasts:rDe});$Te("[data-sonner-toaster][dir=ltr],html[dir=ltr]{--toast-icon-margin-start:-3px;--toast-icon-margin-end:4px;--toast-svg-margin-start:-1px;--toast-svg-margin-end:0px;--toast-button-margin-start:auto;--toast-button-margin-end:0;--toast-close-button-start:0;--toast-close-button-end:unset;--toast-close-button-transform:translate(-35%, -35%)}[data-sonner-toaster][dir=rtl],html[dir=rtl]{--toast-icon-margin-start:4px;--toast-icon-margin-end:-3px;--toast-svg-margin-start:0px;--toast-svg-margin-end:-1px;--toast-button-margin-start:0;--toast-button-margin-end:auto;--toast-close-button-start:unset;--toast-close-button-end:0;--toast-close-button-transform:translate(35%, -35%)}[data-sonner-toaster]{position:fixed;width:var(--width);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;--gray1:hsl(0, 0%, 99%);--gray2:hsl(0, 0%, 97.3%);--gray3:hsl(0, 0%, 95.1%);--gray4:hsl(0, 0%, 93%);--gray5:hsl(0, 0%, 90.9%);--gray6:hsl(0, 0%, 88.7%);--gray7:hsl(0, 0%, 85.8%);--gray8:hsl(0, 0%, 78%);--gray9:hsl(0, 0%, 56.1%);--gray10:hsl(0, 0%, 52.3%);--gray11:hsl(0, 0%, 43.5%);--gray12:hsl(0, 0%, 9%);--border-radius:8px;box-sizing:border-box;padding:0;margin:0;list-style:none;outline:0;z-index:999999999;transition:transform .4s ease}@media (hover:none) and (pointer:coarse){[data-sonner-toaster][data-lifted=true]{transform:none}}[data-sonner-toaster][data-x-position=right]{right:var(--offset-right)}[data-sonner-toaster][data-x-position=left]{left:var(--offset-left)}[data-sonner-toaster][data-x-position=center]{left:50%;transform:translateX(-50%)}[data-sonner-toaster][data-y-position=top]{top:var(--offset-top)}[data-sonner-toaster][data-y-position=bottom]{bottom:var(--offset-bottom)}[data-sonner-toast]{--y:translateY(100%);--lift-amount:calc(var(--lift) * var(--gap));z-index:var(--z-index);position:absolute;opacity:0;transform:var(--y);touch-action:none;transition:transform .4s,opacity .4s,height .4s,box-shadow .2s;box-sizing:border-box;outline:0;overflow-wrap:anywhere}[data-sonner-toast][data-styled=true]{padding:16px;background:var(--normal-bg);border:1px solid var(--normal-border);color:var(--normal-text);border-radius:var(--border-radius);box-shadow:0 4px 12px rgba(0,0,0,.1);width:var(--width);font-size:13px;display:flex;align-items:center;gap:6px}[data-sonner-toast]:focus-visible{box-shadow:0 4px 12px rgba(0,0,0,.1),0 0 0 2px rgba(0,0,0,.2)}[data-sonner-toast][data-y-position=top]{top:0;--y:translateY(-100%);--lift:1;--lift-amount:calc(1 * var(--gap))}[data-sonner-toast][data-y-position=bottom]{bottom:0;--y:translateY(100%);--lift:-1;--lift-amount:calc(var(--lift) * var(--gap))}[data-sonner-toast][data-styled=true] [data-description]{font-weight:400;line-height:1.4;color:#3f3f3f}[data-rich-colors=true][data-sonner-toast][data-styled=true] [data-description]{color:inherit}[data-sonner-toaster][data-sonner-theme=dark] [data-description]{color:#e8e8e8}[data-sonner-toast][data-styled=true] [data-title]{font-weight:500;line-height:1.5;color:inherit}[data-sonner-toast][data-styled=true] [data-icon]{display:flex;height:16px;width:16px;position:relative;justify-content:flex-start;align-items:center;flex-shrink:0;margin-left:var(--toast-icon-margin-start);margin-right:var(--toast-icon-margin-end)}[data-sonner-toast][data-promise=true] [data-icon]>svg{opacity:0;transform:scale(.8);transform-origin:center;animation:sonner-fade-in .3s ease forwards}[data-sonner-toast][data-styled=true] [data-icon]>*{flex-shrink:0}[data-sonner-toast][data-styled=true] [data-icon] svg{margin-left:var(--toast-svg-margin-start);margin-right:var(--toast-svg-margin-end)}[data-sonner-toast][data-styled=true] [data-content]{display:flex;flex-direction:column;gap:2px}[data-sonner-toast][data-styled=true] [data-button]{border-radius:4px;padding-left:8px;padding-right:8px;height:24px;font-size:12px;color:var(--normal-bg);background:var(--normal-text);margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end);border:none;font-weight:500;cursor:pointer;outline:0;display:flex;align-items:center;flex-shrink:0;transition:opacity .4s,box-shadow .2s}[data-sonner-toast][data-styled=true] [data-button]:focus-visible{box-shadow:0 0 0 2px rgba(0,0,0,.4)}[data-sonner-toast][data-styled=true] [data-button]:first-of-type{margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end)}[data-sonner-toast][data-styled=true] [data-cancel]{color:var(--normal-text);background:rgba(0,0,0,.08)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast][data-styled=true] [data-cancel]{background:rgba(255,255,255,.3)}[data-sonner-toast][data-styled=true] [data-close-button]{position:absolute;left:var(--toast-close-button-start);right:var(--toast-close-button-end);top:0;height:20px;width:20px;display:flex;justify-content:center;align-items:center;padding:0;color:var(--gray12);background:var(--normal-bg);border:1px solid var(--gray4);transform:var(--toast-close-button-transform);border-radius:50%;cursor:pointer;z-index:1;transition:opacity .1s,background .2s,border-color .2s}[data-sonner-toast][data-styled=true] [data-close-button]:focus-visible{box-shadow:0 4px 12px rgba(0,0,0,.1),0 0 0 2px rgba(0,0,0,.2)}[data-sonner-toast][data-styled=true] [data-disabled=true]{cursor:not-allowed}[data-sonner-toast][data-styled=true]:hover [data-close-button]:hover{background:var(--gray2);border-color:var(--gray5)}[data-sonner-toast][data-swiping=true]::before{content:'';position:absolute;left:-100%;right:-100%;height:100%;z-index:-1}[data-sonner-toast][data-y-position=top][data-swiping=true]::before{bottom:50%;transform:scaleY(3) translateY(50%)}[data-sonner-toast][data-y-position=bottom][data-swiping=true]::before{top:50%;transform:scaleY(3) translateY(-50%)}[data-sonner-toast][data-swiping=false][data-removed=true]::before{content:'';position:absolute;inset:0;transform:scaleY(2)}[data-sonner-toast][data-expanded=true]::after{content:'';position:absolute;left:0;height:calc(var(--gap) + 1px);bottom:100%;width:100%}[data-sonner-toast][data-mounted=true]{--y:translateY(0);opacity:1}[data-sonner-toast][data-expanded=false][data-front=false]{--scale:var(--toasts-before) * 0.05 + 1;--y:translateY(calc(var(--lift-amount) * var(--toasts-before))) scale(calc(-1 * var(--scale)));height:var(--front-toast-height)}[data-sonner-toast]>*{transition:opacity .4s}[data-sonner-toast][data-x-position=right]{right:0}[data-sonner-toast][data-x-position=left]{left:0}[data-sonner-toast][data-expanded=false][data-front=false][data-styled=true]>*{opacity:0}[data-sonner-toast][data-visible=false]{opacity:0;pointer-events:none}[data-sonner-toast][data-mounted=true][data-expanded=true]{--y:translateY(calc(var(--lift) * var(--offset)));height:var(--initial-height)}[data-sonner-toast][data-removed=true][data-front=true][data-swipe-out=false]{--y:translateY(calc(var(--lift) * -100%));opacity:0}[data-sonner-toast][data-removed=true][data-front=false][data-swipe-out=false][data-expanded=true]{--y:translateY(calc(var(--lift) * var(--offset) + var(--lift) * -100%));opacity:0}[data-sonner-toast][data-removed=true][data-front=false][data-swipe-out=false][data-expanded=false]{--y:translateY(40%);opacity:0;transition:transform .5s,opacity .2s}[data-sonner-toast][data-removed=true][data-front=false]::before{height:calc(var(--initial-height) + 20%)}[data-sonner-toast][data-swiping=true]{transform:var(--y) translateY(var(--swipe-amount-y,0)) translateX(var(--swipe-amount-x,0));transition:none}[data-sonner-toast][data-swiped=true]{user-select:none}[data-sonner-toast][data-swipe-out=true][data-y-position=bottom],[data-sonner-toast][data-swipe-out=true][data-y-position=top]{animation-duration:.2s;animation-timing-function:ease-out;animation-fill-mode:forwards}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=left]{animation-name:swipe-out-left}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=right]{animation-name:swipe-out-right}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=up]{animation-name:swipe-out-up}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=down]{animation-name:swipe-out-down}@keyframes swipe-out-left{from{transform:var(--y) translateX(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translateX(calc(var(--swipe-amount-x) - 100%));opacity:0}}@keyframes swipe-out-right{from{transform:var(--y) translateX(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translateX(calc(var(--swipe-amount-x) + 100%));opacity:0}}@keyframes swipe-out-up{from{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) - 100%));opacity:0}}@keyframes swipe-out-down{from{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) + 100%));opacity:0}}@media (max-width:600px){[data-sonner-toaster]{position:fixed;right:var(--mobile-offset-right);left:var(--mobile-offset-left);width:100%}[data-sonner-toaster][dir=rtl]{left:calc(var(--mobile-offset-left) * -1)}[data-sonner-toaster] [data-sonner-toast]{left:0;right:0;width:calc(100% - var(--mobile-offset-left) * 2)}[data-sonner-toaster][data-x-position=left]{left:var(--mobile-offset-left)}[data-sonner-toaster][data-y-position=bottom]{bottom:var(--mobile-offset-bottom)}[data-sonner-toaster][data-y-position=top]{top:var(--mobile-offset-top)}[data-sonner-toaster][data-x-position=center]{left:var(--mobile-offset-left);right:var(--mobile-offset-right);transform:none}}[data-sonner-toaster][data-sonner-theme=light]{--normal-bg:#fff;--normal-border:var(--gray4);--normal-text:var(--gray12);--success-bg:hsl(143, 85%, 96%);--success-border:hsl(145, 92%, 87%);--success-text:hsl(140, 100%, 27%);--info-bg:hsl(208, 100%, 97%);--info-border:hsl(221, 91%, 93%);--info-text:hsl(210, 92%, 45%);--warning-bg:hsl(49, 100%, 97%);--warning-border:hsl(49, 91%, 84%);--warning-text:hsl(31, 92%, 45%);--error-bg:hsl(359, 100%, 97%);--error-border:hsl(359, 100%, 94%);--error-text:hsl(360, 100%, 45%)}[data-sonner-toaster][data-sonner-theme=light] [data-sonner-toast][data-invert=true]{--normal-bg:#000;--normal-border:hsl(0, 0%, 20%);--normal-text:var(--gray1)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast][data-invert=true]{--normal-bg:#fff;--normal-border:var(--gray3);--normal-text:var(--gray12)}[data-sonner-toaster][data-sonner-theme=dark]{--normal-bg:#000;--normal-bg-hover:hsl(0, 0%, 12%);--normal-border:hsl(0, 0%, 20%);--normal-border-hover:hsl(0, 0%, 25%);--normal-text:var(--gray1);--success-bg:hsl(150, 100%, 6%);--success-border:hsl(147, 100%, 12%);--success-text:hsl(150, 86%, 65%);--info-bg:hsl(215, 100%, 6%);--info-border:hsl(223, 43%, 17%);--info-text:hsl(216, 87%, 65%);--warning-bg:hsl(64, 100%, 6%);--warning-border:hsl(60, 100%, 9%);--warning-text:hsl(46, 87%, 65%);--error-bg:hsl(358, 76%, 10%);--error-border:hsl(357, 89%, 16%);--error-text:hsl(358, 100%, 81%)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast] [data-close-button]{background:var(--normal-bg);border-color:var(--normal-border);color:var(--normal-text)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast] [data-close-button]:hover{background:var(--normal-bg-hover);border-color:var(--normal-border-hover)}[data-rich-colors=true][data-sonner-toast][data-type=success]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true][data-sonner-toast][data-type=success] [data-close-button]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true][data-sonner-toast][data-type=info]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true][data-sonner-toast][data-type=info] [data-close-button]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true][data-sonner-toast][data-type=warning]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true][data-sonner-toast][data-type=warning] [data-close-button]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true][data-sonner-toast][data-type=error]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}[data-rich-colors=true][data-sonner-toast][data-type=error] [data-close-button]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}.sonner-loading-wrapper{--size:16px;height:var(--size);width:var(--size);position:absolute;inset:0;z-index:10}.sonner-loading-wrapper[data-visible=false]{transform-origin:center;animation:sonner-fade-out .2s ease forwards}.sonner-spinner{position:relative;top:50%;left:50%;height:var(--size);width:var(--size)}.sonner-loading-bar{animation:sonner-spin 1.2s linear infinite;background:var(--gray11);border-radius:6px;height:8%;left:-10%;position:absolute;top:-3.9%;width:24%}.sonner-loading-bar:first-child{animation-delay:-1.2s;transform:rotate(.0001deg) translate(146%)}.sonner-loading-bar:nth-child(2){animation-delay:-1.1s;transform:rotate(30deg) translate(146%)}.sonner-loading-bar:nth-child(3){animation-delay:-1s;transform:rotate(60deg) translate(146%)}.sonner-loading-bar:nth-child(4){animation-delay:-.9s;transform:rotate(90deg) translate(146%)}.sonner-loading-bar:nth-child(5){animation-delay:-.8s;transform:rotate(120deg) translate(146%)}.sonner-loading-bar:nth-child(6){animation-delay:-.7s;transform:rotate(150deg) translate(146%)}.sonner-loading-bar:nth-child(7){animation-delay:-.6s;transform:rotate(180deg) translate(146%)}.sonner-loading-bar:nth-child(8){animation-delay:-.5s;transform:rotate(210deg) translate(146%)}.sonner-loading-bar:nth-child(9){animation-delay:-.4s;transform:rotate(240deg) translate(146%)}.sonner-loading-bar:nth-child(10){animation-delay:-.3s;transform:rotate(270deg) translate(146%)}.sonner-loading-bar:nth-child(11){animation-delay:-.2s;transform:rotate(300deg) translate(146%)}.sonner-loading-bar:nth-child(12){animation-delay:-.1s;transform:rotate(330deg) translate(146%)}@keyframes sonner-fade-in{0%{opacity:0;transform:scale(.8)}100%{opacity:1;transform:scale(1)}}@keyframes sonner-fade-out{0%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(.8)}}@keyframes sonner-spin{0%{opacity:1}100%{opacity:.15}}@media (prefers-reduced-motion){.sonner-loading-bar,[data-sonner-toast],[data-sonner-toast]>*{transition:none!important;animation:none!important}}.sonner-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);transform-origin:center;transition:opacity .2s,transform .2s}.sonner-loader[data-visible=false]{opacity:0;transform:scale(.8) translate(-50%,-50%)}");function k6(t){return t.label!==void 0}const oDe=3,sDe="24px",aDe="16px",qW=4e3,iDe=356,lDe=14,cDe=45,uDe=200;function Eu(...t){return t.filter(Boolean).join(" ")}function fDe(t){const[e,n]=t.split("-"),r=[];return e&&r.push(e),n&&r.push(n),r}const dDe=t=>{var e,n,r,o,s,a,i,l,u;const{invert:d,toast:f,unstyled:m,interacting:g,setHeights:w,visibleToasts:b,heights:j,index:S,toasts:I,expanded:N,removeToast:M,defaultRichColors:D,closeButton:O,style:L,cancelButtonStyle:B,actionButtonStyle:T,className:R="",descriptionClassName:z="",duration:Y,position:Q,gap:W,expandByDefault:F,classNames:X,icons:$,closeButtonAriaLabel:V="Close toast"}=t,[K,G]=Be.useState(null),[J,ne]=Be.useState(null),[re,de]=Be.useState(!1),[Ne,ve]=Be.useState(!1),[xe,ce]=Be.useState(!1),[pe,me]=Be.useState(!1),[ke,le]=Be.useState(!1),[he,we]=Be.useState(0),[Ae,Ve]=Be.useState(0),Ze=Be.useRef(f.duration||Y||qW),nt=Be.useRef(null),$e=Be.useRef(null),Ke=S===0,Me=S+1<=b,et=f.type,pt=f.dismissible!==!1,ht=f.className||"",st=f.descriptionClassName||"",De=Be.useMemo(()=>j.findIndex(dt=>dt.toastId===f.id)||0,[j,f.id]),se=Be.useMemo(()=>{var dt;return(dt=f.closeButton)!=null?dt:O},[f.closeButton,O]),q=Be.useMemo(()=>f.duration||Y||qW,[f.duration,Y]),Z=Be.useRef(0),ie=Be.useRef(0),Ce=Be.useRef(0),Te=Be.useRef(null),[Se,ye]=Q.split("-"),We=Be.useMemo(()=>j.reduce((dt,xt,vt)=>vt>=De?dt:dt+xt.height,0),[j,De]),Ee=QTe(),Pe=f.invert||d,Qe=et==="loading";ie.current=Be.useMemo(()=>De*W+We,[De,We]),Be.useEffect(()=>{Ze.current=q},[q]),Be.useEffect(()=>{de(!0)},[]),Be.useEffect(()=>{const dt=$e.current;if(dt){const xt=dt.getBoundingClientRect().height;return Ve(xt),w(vt=>[{toastId:f.id,height:xt,position:f.position},...vt]),()=>w(vt=>vt.filter(yt=>yt.toastId!==f.id))}},[w,f.id]),Be.useLayoutEffect(()=>{if(!re)return;const dt=$e.current,xt=dt.style.height;dt.style.height="auto";const vt=dt.getBoundingClientRect().height;dt.style.height=xt,Ve(vt),w(yt=>yt.find(qt=>qt.toastId===f.id)?yt.map(qt=>qt.toastId===f.id?{...qt,height:vt}:qt):[{toastId:f.id,height:vt,position:f.position},...yt])},[re,f.title,f.description,w,f.id,f.jsx,f.action,f.cancel]);const mt=Be.useCallback(()=>{ve(!0),we(ie.current),w(dt=>dt.filter(xt=>xt.toastId!==f.id)),setTimeout(()=>{M(f)},uDe)},[f,M,w,ie]);Be.useEffect(()=>{if(f.promise&&et==="loading"||f.duration===1/0||f.type==="loading")return;let dt;return N||g||Ee?(()=>{if(Ce.current<Z.current){const yt=new Date().getTime()-Z.current;Ze.current=Ze.current-yt}Ce.current=new Date().getTime()})():(()=>{Ze.current!==1/0&&(Z.current=new Date().getTime(),dt=setTimeout(()=>{f.onAutoClose==null||f.onAutoClose.call(f,f),mt()},Ze.current))})(),()=>clearTimeout(dt)},[N,g,f,et,Ee,mt]),Be.useEffect(()=>{f.delete&&(mt(),f.onDismiss==null||f.onDismiss.call(f,f))},[mt,f.delete]);function Rt(){var dt;if($!=null&&$.loading){var xt;return Be.createElement("div",{className:Eu(X==null?void 0:X.loader,f==null||(xt=f.classNames)==null?void 0:xt.loader,"sonner-loader"),"data-visible":et==="loading"},$.loading)}return Be.createElement(WTe,{className:Eu(X==null?void 0:X.loader,f==null||(dt=f.classNames)==null?void 0:dt.loader),visible:et==="loading"})}const At=f.icon||($==null?void 0:$[et])||VTe(et);var _t,Ht;return Be.createElement("li",{tabIndex:0,ref:$e,className:Eu(R,ht,X==null?void 0:X.toast,f==null||(e=f.classNames)==null?void 0:e.toast,X==null?void 0:X.default,X==null?void 0:X[et],f==null||(n=f.classNames)==null?void 0:n[et]),"data-sonner-toast":"","data-rich-colors":(_t=f.richColors)!=null?_t:D,"data-styled":!(f.jsx||f.unstyled||m),"data-mounted":re,"data-promise":!!f.promise,"data-swiped":ke,"data-removed":Ne,"data-visible":Me,"data-y-position":Se,"data-x-position":ye,"data-index":S,"data-front":Ke,"data-swiping":xe,"data-dismissible":pt,"data-type":et,"data-invert":Pe,"data-swipe-out":pe,"data-swipe-direction":J,"data-expanded":!!(N||F&&re),style:{"--index":S,"--toasts-before":S,"--z-index":I.length-S,"--offset":`${Ne?he:ie.current}px`,"--initial-height":F?"auto":`${Ae}px`,...L,...f.style},onDragEnd:()=>{ce(!1),G(null),Te.current=null},onPointerDown:dt=>{Qe||!pt||(nt.current=new Date,we(ie.current),dt.target.setPointerCapture(dt.pointerId),dt.target.tagName!=="BUTTON"&&(ce(!0),Te.current={x:dt.clientX,y:dt.clientY}))},onPointerUp:()=>{var dt,xt,vt;if(pe||!pt)return;Te.current=null;const yt=Number(((dt=$e.current)==null?void 0:dt.style.getPropertyValue("--swipe-amount-x").replace("px",""))||0),Wt=Number(((xt=$e.current)==null?void 0:xt.style.getPropertyValue("--swipe-amount-y").replace("px",""))||0),qt=new Date().getTime()-((vt=nt.current)==null?void 0:vt.getTime()),Ct=K==="x"?yt:Wt,sn=Math.abs(Ct)/qt;if(Math.abs(Ct)>=cDe||sn>.11){we(ie.current),f.onDismiss==null||f.onDismiss.call(f,f),ne(K==="x"?yt>0?"right":"left":Wt>0?"down":"up"),mt(),me(!0);return}else{var yn,Jt;(yn=$e.current)==null||yn.style.setProperty("--swipe-amount-x","0px"),(Jt=$e.current)==null||Jt.style.setProperty("--swipe-amount-y","0px")}le(!1),ce(!1),G(null)},onPointerMove:dt=>{var xt,vt,yt;if(!Te.current||!pt||((xt=window.getSelection())==null?void 0:xt.toString().length)>0)return;const qt=dt.clientY-Te.current.y,Ct=dt.clientX-Te.current.x;var sn;const yn=(sn=t.swipeDirections)!=null?sn:fDe(Q);!K&&(Math.abs(Ct)>1||Math.abs(qt)>1)&&G(Math.abs(Ct)>Math.abs(qt)?"x":"y");let Jt={x:0,y:0};const jr=Vr=>1/(1.5+Math.abs(Vr)/20);if(K==="y"){if(yn.includes("top")||yn.includes("bottom"))if(yn.includes("top")&&qt<0||yn.includes("bottom")&&qt>0)Jt.y=qt;else{const Vr=qt*jr(qt);Jt.y=Math.abs(Vr)<Math.abs(qt)?Vr:qt}}else if(K==="x"&&(yn.includes("left")||yn.includes("right")))if(yn.includes("left")&&Ct<0||yn.includes("right")&&Ct>0)Jt.x=Ct;else{const Vr=Ct*jr(Ct);Jt.x=Math.abs(Vr)<Math.abs(Ct)?Vr:Ct}(Math.abs(Jt.x)>0||Math.abs(Jt.y)>0)&&le(!0),(vt=$e.current)==null||vt.style.setProperty("--swipe-amount-x",`${Jt.x}px`),(yt=$e.current)==null||yt.style.setProperty("--swipe-amount-y",`${Jt.y}px`)}},se&&!f.jsx&&et!=="loading"?Be.createElement("button",{"aria-label":V,"data-disabled":Qe,"data-close-button":!0,onClick:Qe||!pt?()=>{}:()=>{mt(),f.onDismiss==null||f.onDismiss.call(f,f)},className:Eu(X==null?void 0:X.closeButton,f==null||(r=f.classNames)==null?void 0:r.closeButton)},(Ht=$==null?void 0:$.close)!=null?Ht:ZTe):null,(et||f.icon||f.promise)&&f.icon!==null&&(($==null?void 0:$[et])!==null||f.icon)?Be.createElement("div",{"data-icon":"",className:Eu(X==null?void 0:X.icon,f==null||(o=f.classNames)==null?void 0:o.icon)},f.promise||f.type==="loading"&&!f.icon?f.icon||Rt():null,f.type!=="loading"?At:null):null,Be.createElement("div",{"data-content":"",className:Eu(X==null?void 0:X.content,f==null||(s=f.classNames)==null?void 0:s.content)},Be.createElement("div",{"data-title":"",className:Eu(X==null?void 0:X.title,f==null||(a=f.classNames)==null?void 0:a.title)},f.jsx?f.jsx:typeof f.title=="function"?f.title():f.title),f.description?Be.createElement("div",{"data-description":"",className:Eu(z,st,X==null?void 0:X.description,f==null||(i=f.classNames)==null?void 0:i.description)},typeof f.description=="function"?f.description():f.description):null),Be.isValidElement(f.cancel)?f.cancel:f.cancel&&k6(f.cancel)?Be.createElement("button",{"data-button":!0,"data-cancel":!0,style:f.cancelButtonStyle||B,onClick:dt=>{k6(f.cancel)&&pt&&(f.cancel.onClick==null||f.cancel.onClick.call(f.cancel,dt),mt())},className:Eu(X==null?void 0:X.cancelButton,f==null||(l=f.classNames)==null?void 0:l.cancelButton)},f.cancel.label):null,Be.isValidElement(f.action)?f.action:f.action&&k6(f.action)?Be.createElement("button",{"data-button":!0,"data-action":!0,style:f.actionButtonStyle||T,onClick:dt=>{k6(f.action)&&(f.action.onClick==null||f.action.onClick.call(f.action,dt),!dt.defaultPrevented&&mt())},className:Eu(X==null?void 0:X.actionButton,f==null||(u=f.classNames)==null?void 0:u.actionButton)},f.action.label):null)};function KW(){if(typeof window>"u"||typeof document>"u")return"ltr";const t=document.documentElement.getAttribute("dir");return t==="auto"||!t?window.getComputedStyle(document.documentElement).direction:t}function pDe(t,e){const n={};return[t,e].forEach((r,o)=>{const s=o===1,a=s?"--mobile-offset":"--offset",i=s?aDe:sDe;function l(u){["top","right","bottom","left"].forEach(d=>{n[`${a}-${d}`]=typeof u=="number"?`${u}px`:u})}typeof r=="number"||typeof r=="string"?l(r):typeof r=="object"?["top","right","bottom","left"].forEach(u=>{r[u]===void 0?n[`${a}-${u}`]=i:n[`${a}-${u}`]=typeof r[u]=="number"?`${r[u]}px`:r[u]}):l(i)}),n}const hDe=Be.forwardRef(function(e,n){const{invert:r,position:o="bottom-right",hotkey:s=["altKey","KeyT"],expand:a,closeButton:i,className:l,offset:u,mobileOffset:d,theme:f="light",richColors:m,duration:g,style:w,visibleToasts:b=oDe,toastOptions:j,dir:S=KW(),gap:I=lDe,icons:N,containerAriaLabel:M="Notifications"}=e,[D,O]=Be.useState([]),L=Be.useMemo(()=>Array.from(new Set([o].concat(D.filter(J=>J.position).map(J=>J.position)))),[D,o]),[B,T]=Be.useState([]),[R,z]=Be.useState(!1),[Y,Q]=Be.useState(!1),[W,F]=Be.useState(f!=="system"?f:typeof window<"u"&&window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"),X=Be.useRef(null),$=s.join("+").replace(/Key/g,"").replace(/Digit/g,""),V=Be.useRef(null),K=Be.useRef(!1),G=Be.useCallback(J=>{O(ne=>{var re;return(re=ne.find(de=>de.id===J.id))!=null&&re.delete||xi.dismiss(J.id),ne.filter(({id:de})=>de!==J.id)})},[]);return Be.useEffect(()=>xi.subscribe(J=>{if(J.dismiss){requestAnimationFrame(()=>{O(ne=>ne.map(re=>re.id===J.id?{...re,delete:!0}:re))});return}setTimeout(()=>{KD.flushSync(()=>{O(ne=>{const re=ne.findIndex(de=>de.id===J.id);return re!==-1?[...ne.slice(0,re),{...ne[re],...J},...ne.slice(re+1)]:[J,...ne]})})})}),[D]),Be.useEffect(()=>{if(f!=="system"){F(f);return}if(f==="system"&&(window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?F("dark"):F("light")),typeof window>"u")return;const J=window.matchMedia("(prefers-color-scheme: dark)");try{J.addEventListener("change",({matches:ne})=>{F(ne?"dark":"light")})}catch{J.addListener(({matches:re})=>{try{F(re?"dark":"light")}catch(de){console.error(de)}})}},[f]),Be.useEffect(()=>{D.length<=1&&z(!1)},[D]),Be.useEffect(()=>{const J=ne=>{var re;if(s.every(ve=>ne[ve]||ne.code===ve)){var Ne;z(!0),(Ne=X.current)==null||Ne.focus()}ne.code==="Escape"&&(document.activeElement===X.current||(re=X.current)!=null&&re.contains(document.activeElement))&&z(!1)};return document.addEventListener("keydown",J),()=>document.removeEventListener("keydown",J)},[s]),Be.useEffect(()=>{if(X.current)return()=>{V.current&&(V.current.focus({preventScroll:!0}),V.current=null,K.current=!1)}},[X.current]),Be.createElement("section",{ref:n,"aria-label":`${M} ${$}`,tabIndex:-1,"aria-live":"polite","aria-relevant":"additions text","aria-atomic":"false",suppressHydrationWarning:!0},L.map((J,ne)=>{var re;const[de,Ne]=J.split("-");return D.length?Be.createElement("ol",{key:J,dir:S==="auto"?KW():S,tabIndex:-1,ref:X,className:l,"data-sonner-toaster":!0,"data-sonner-theme":W,"data-y-position":de,"data-x-position":Ne,style:{"--front-toast-height":`${((re=B[0])==null?void 0:re.height)||0}px`,"--width":`${iDe}px`,"--gap":`${I}px`,...w,...pDe(u,d)},onBlur:ve=>{K.current&&!ve.currentTarget.contains(ve.relatedTarget)&&(K.current=!1,V.current&&(V.current.focus({preventScroll:!0}),V.current=null))},onFocus:ve=>{ve.target instanceof HTMLElement&&ve.target.dataset.dismissible==="false"||K.current||(K.current=!0,V.current=ve.relatedTarget)},onMouseEnter:()=>z(!0),onMouseMove:()=>z(!0),onMouseLeave:()=>{Y||z(!1)},onDragEnd:()=>z(!1),onPointerDown:ve=>{ve.target instanceof HTMLElement&&ve.target.dataset.dismissible==="false"||Q(!0)},onPointerUp:()=>Q(!1)},D.filter(ve=>!ve.position&&ne===0||ve.position===J).map((ve,xe)=>{var ce,pe;return Be.createElement(dDe,{key:ve.id,icons:N,index:xe,toast:ve,defaultRichColors:m,duration:(ce=j==null?void 0:j.duration)!=null?ce:g,className:j==null?void 0:j.className,descriptionClassName:j==null?void 0:j.descriptionClassName,invert:r,visibleToasts:b,closeButton:(pe=j==null?void 0:j.closeButton)!=null?pe:i,interacting:Y,position:J,style:j==null?void 0:j.style,unstyled:j==null?void 0:j.unstyled,classNames:j==null?void 0:j.classNames,cancelButtonStyle:j==null?void 0:j.cancelButtonStyle,actionButtonStyle:j==null?void 0:j.actionButtonStyle,closeButtonAriaLabel:j==null?void 0:j.closeButtonAriaLabel,removeToast:G,toasts:D.filter(me=>me.position==ve.position),heights:B.filter(me=>me.position==ve.position),setHeights:T,expandByDefault:a,gap:I,expanded:R,swipeDirections:e.swipeDirections})})):null}))}),mDe=({...t})=>{const{themeSetting:e}=gf();return c.jsx(hDe,{theme:e,className:"toaster group",richColors:!0,mobileOffset:64,toastOptions:{classNames:{toast:"group toast group-[.toaster]:bg-background group-[.toaster]:text-foreground group-[.toaster]:border-border group-[.toaster]:shadow-lg",description:"group-[.toast]:text-muted-foreground",actionButton:"group-[.toast]:bg-primary group-[.toast]:text-primary-foreground",cancelButton:"group-[.toast]:bg-muted group-[.toast]:text-muted-foreground"}},...t})};function Qw(t,e,{checkForDefaultPrevented:n=!0}={}){return function(o){if(t==null||t(o),n===!1||!o.defaultPrevented)return e==null?void 0:e(o)}}function ZW(t,e){if(typeof t=="function")return t(e);t!=null&&(t.current=e)}function rse(...t){return e=>{let n=!1;const r=t.map(o=>{const s=ZW(o,e);return!n&&typeof s=="function"&&(n=!0),s});if(n)return()=>{for(let o=0;o<r.length;o++){const s=r[o];typeof s=="function"?s():ZW(t[o],null)}}}}function pS(...t){return h.useCallback(rse(...t),t)}function gDe(t,e){const n=h.createContext(e),r=s=>{const{children:a,...i}=s,l=h.useMemo(()=>i,Object.values(i));return c.jsx(n.Provider,{value:l,children:a})};r.displayName=t+"Provider";function o(s){const a=h.useContext(n);if(a)return a;if(e!==void 0)return e;throw new Error(`\`${s}\` must be used within \`${t}\``)}return[r,o]}function yDe(t,e=[]){let n=[];function r(s,a){const i=h.createContext(a),l=n.length;n=[...n,a];const u=f=>{var S;const{scope:m,children:g,...w}=f,b=((S=m==null?void 0:m[t])==null?void 0:S[l])||i,j=h.useMemo(()=>w,Object.values(w));return c.jsx(b.Provider,{value:j,children:g})};u.displayName=s+"Provider";function d(f,m){var b;const g=((b=m==null?void 0:m[t])==null?void 0:b[l])||i,w=h.useContext(g);if(w)return w;if(a!==void 0)return a;throw new Error(`\`${f}\` must be used within \`${s}\``)}return[u,d]}const o=()=>{const s=n.map(a=>h.createContext(a));return function(i){const l=(i==null?void 0:i[t])||s;return h.useMemo(()=>({[`__scope${t}`]:{...i,[t]:l}}),[i,l])}};return o.scopeName=t,[r,vDe(o,...e)]}function vDe(...t){const e=t[0];if(t.length===1)return e;const n=()=>{const r=t.map(o=>({useScope:o(),scopeName:o.scopeName}));return function(s){const a=r.reduce((i,{useScope:l,scopeName:u})=>{const f=l(s)[`__scope${u}`];return{...i,...f}},{});return h.useMemo(()=>({[`__scope${e.scopeName}`]:a}),[a])}};return n.scopeName=e.scopeName,n}var fr=globalThis!=null&&globalThis.document?h.useLayoutEffect:()=>{},wDe=yh.useId||(()=>{}),bDe=0;function U9(t){const[e,n]=h.useState(wDe());return fr(()=>{n(r=>r??String(bDe++))},[t]),t||(e?`radix-${e}`:"")}function or(t){const e=h.useRef(t);return h.useEffect(()=>{e.current=t}),h.useMemo(()=>(...n)=>{var r;return(r=e.current)==null?void 0:r.call(e,...n)},[])}function xDe({prop:t,defaultProp:e,onChange:n=()=>{}}){const[r,o]=kDe({defaultProp:e,onChange:n}),s=t!==void 0,a=s?t:r,i=or(n),l=h.useCallback(u=>{if(s){const f=typeof u=="function"?u(t):u;f!==t&&i(f)}else o(u)},[s,t,o,i]);return[a,l]}function kDe({defaultProp:t,onChange:e}){const n=h.useState(t),[r]=n,o=h.useRef(r),s=or(e);return h.useEffect(()=>{o.current!==r&&(s(r),o.current=r)},[r,o,s]),n}function $9(t,e,{checkForDefaultPrevented:n=!0}={}){return function(o){if(t==null||t(o),n===!1||!o.defaultPrevented)return e==null?void 0:e(o)}}function QW(t,e){if(typeof t=="function")return t(e);t!=null&&(t.current=e)}function ose(...t){return e=>{let n=!1;const r=t.map(o=>{const s=QW(o,e);return!n&&typeof s=="function"&&(n=!0),s});if(n)return()=>{for(let o=0;o<r.length;o++){const s=r[o];typeof s=="function"?s():QW(t[o],null)}}}}function sse(...t){return h.useCallback(ose(...t),t)}var ase=h.forwardRef((t,e)=>{const{children:n,...r}=t,o=h.Children.toArray(n),s=o.find(CDe);if(s){const a=s.props.children,i=o.map(l=>l===s?h.Children.count(a)>1?h.Children.only(null):h.isValidElement(a)?a.props.children:null:l);return c.jsx(I8,{...r,ref:e,children:h.isValidElement(a)?h.cloneElement(a,void 0,i):null})}return c.jsx(I8,{...r,ref:e,children:n})});ase.displayName="Slot";var I8=h.forwardRef((t,e)=>{const{children:n,...r}=t;if(h.isValidElement(n)){const o=EDe(n);return h.cloneElement(n,{...SDe(r,n.props),ref:e?ose(e,o):o})}return h.Children.count(n)>1?h.Children.only(null):null});I8.displayName="SlotClone";var jDe=({children:t})=>c.jsx(c.Fragment,{children:t});function CDe(t){return h.isValidElement(t)&&t.type===jDe}function SDe(t,e){const n={...e};for(const r in e){const o=t[r],s=e[r];/^on[A-Z]/.test(r)?o&&s?n[r]=(...i)=>{s(...i),o(...i)}:o&&(n[r]=o):r==="style"?n[r]={...o,...s}:r==="className"&&(n[r]=[o,s].filter(Boolean).join(" "))}return{...t,...n}}function EDe(t){var r,o;let e=(r=Object.getOwnPropertyDescriptor(t.props,"ref"))==null?void 0:r.get,n=e&&"isReactWarning"in e&&e.isReactWarning;return n?t.ref:(e=(o=Object.getOwnPropertyDescriptor(t,"ref"))==null?void 0:o.get,n=e&&"isReactWarning"in e&&e.isReactWarning,n?t.props.ref:t.props.ref||t.ref)}var NDe=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","span","svg","ul"],ise=NDe.reduce((t,e)=>{const n=h.forwardRef((r,o)=>{const{asChild:s,...a}=r,i=s?ase:e;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),c.jsx(i,{...a,ref:o})});return n.displayName=`Primitive.${e}`,{...t,[e]:n}},{});function IDe(t,e){t&&Ds.flushSync(()=>t.dispatchEvent(e))}function ADe(t,e=globalThis==null?void 0:globalThis.document){const n=or(t);h.useEffect(()=>{const r=o=>{o.key==="Escape"&&n(o)};return e.addEventListener("keydown",r,{capture:!0}),()=>e.removeEventListener("keydown",r,{capture:!0})},[n,e])}var _De="DismissableLayer",A8="dismissableLayer.update",MDe="dismissableLayer.pointerDownOutside",RDe="dismissableLayer.focusOutside",JW,lse=h.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),Ky=h.forwardRef((t,e)=>{const{disableOutsidePointerEvents:n=!1,onEscapeKeyDown:r,onPointerDownOutside:o,onFocusOutside:s,onInteractOutside:a,onDismiss:i,...l}=t,u=h.useContext(lse),[d,f]=h.useState(null),m=(d==null?void 0:d.ownerDocument)??(globalThis==null?void 0:globalThis.document),[,g]=h.useState({}),w=sse(e,L=>f(L)),b=Array.from(u.layers),[j]=[...u.layersWithOutsidePointerEventsDisabled].slice(-1),S=b.indexOf(j),I=d?b.indexOf(d):-1,N=u.layersWithOutsidePointerEventsDisabled.size>0,M=I>=S,D=LDe(L=>{const B=L.target,T=[...u.branches].some(R=>R.contains(B));!M||T||(o==null||o(L),a==null||a(L),L.defaultPrevented||i==null||i())},m),O=PDe(L=>{const B=L.target;[...u.branches].some(R=>R.contains(B))||(s==null||s(L),a==null||a(L),L.defaultPrevented||i==null||i())},m);return ADe(L=>{I===u.layers.size-1&&(r==null||r(L),!L.defaultPrevented&&i&&(L.preventDefault(),i()))},m),h.useEffect(()=>{if(d)return n&&(u.layersWithOutsidePointerEventsDisabled.size===0&&(JW=m.body.style.pointerEvents,m.body.style.pointerEvents="none"),u.layersWithOutsidePointerEventsDisabled.add(d)),u.layers.add(d),XW(),()=>{n&&u.layersWithOutsidePointerEventsDisabled.size===1&&(m.body.style.pointerEvents=JW)}},[d,m,n,u]),h.useEffect(()=>()=>{d&&(u.layers.delete(d),u.layersWithOutsidePointerEventsDisabled.delete(d),XW())},[d,u]),h.useEffect(()=>{const L=()=>g({});return document.addEventListener(A8,L),()=>document.removeEventListener(A8,L)},[]),c.jsx(ise.div,{...l,ref:w,style:{pointerEvents:N?M?"auto":"none":void 0,...t.style},onFocusCapture:$9(t.onFocusCapture,O.onFocusCapture),onBlurCapture:$9(t.onBlurCapture,O.onBlurCapture),onPointerDownCapture:$9(t.onPointerDownCapture,D.onPointerDownCapture)})});Ky.displayName=_De;var TDe="DismissableLayerBranch",DDe=h.forwardRef((t,e)=>{const n=h.useContext(lse),r=h.useRef(null),o=sse(e,r);return h.useEffect(()=>{const s=r.current;if(s)return n.branches.add(s),()=>{n.branches.delete(s)}},[n.branches]),c.jsx(ise.div,{...t,ref:o})});DDe.displayName=TDe;function LDe(t,e=globalThis==null?void 0:globalThis.document){const n=or(t),r=h.useRef(!1),o=h.useRef(()=>{});return h.useEffect(()=>{const s=i=>{if(i.target&&!r.current){let l=function(){cse(MDe,n,u,{discrete:!0})};const u={originalEvent:i};i.pointerType==="touch"?(e.removeEventListener("click",o.current),o.current=l,e.addEventListener("click",o.current,{once:!0})):l()}else e.removeEventListener("click",o.current);r.current=!1},a=window.setTimeout(()=>{e.addEventListener("pointerdown",s)},0);return()=>{window.clearTimeout(a),e.removeEventListener("pointerdown",s),e.removeEventListener("click",o.current)}},[e,n]),{onPointerDownCapture:()=>r.current=!0}}function PDe(t,e=globalThis==null?void 0:globalThis.document){const n=or(t),r=h.useRef(!1);return h.useEffect(()=>{const o=s=>{s.target&&!r.current&&cse(RDe,n,{originalEvent:s},{discrete:!1})};return e.addEventListener("focusin",o),()=>e.removeEventListener("focusin",o)},[e,n]),{onFocusCapture:()=>r.current=!0,onBlurCapture:()=>r.current=!1}}function XW(){const t=new CustomEvent(A8);document.dispatchEvent(t)}function cse(t,e,n,{discrete:r}){const o=n.originalEvent.target,s=new CustomEvent(t,{bubbles:!1,cancelable:!0,detail:n});e&&o.addEventListener(t,e,{once:!0}),r?IDe(o,s):o.dispatchEvent(s)}function eY(t,e){if(typeof t=="function")return t(e);t!=null&&(t.current=e)}function use(...t){return e=>{let n=!1;const r=t.map(o=>{const s=eY(o,e);return!n&&typeof s=="function"&&(n=!0),s});if(n)return()=>{for(let o=0;o<r.length;o++){const s=r[o];typeof s=="function"?s():eY(t[o],null)}}}}function ODe(...t){return h.useCallback(use(...t),t)}var fse=h.forwardRef((t,e)=>{const{children:n,...r}=t,o=h.Children.toArray(n),s=o.find(FDe);if(s){const a=s.props.children,i=o.map(l=>l===s?h.Children.count(a)>1?h.Children.only(null):h.isValidElement(a)?a.props.children:null:l);return c.jsx(_8,{...r,ref:e,children:h.isValidElement(a)?h.cloneElement(a,void 0,i):null})}return c.jsx(_8,{...r,ref:e,children:n})});fse.displayName="Slot";var _8=h.forwardRef((t,e)=>{const{children:n,...r}=t;if(h.isValidElement(n)){const o=UDe(n);return h.cloneElement(n,{...BDe(r,n.props),ref:e?use(e,o):o})}return h.Children.count(n)>1?h.Children.only(null):null});_8.displayName="SlotClone";var zDe=({children:t})=>c.jsx(c.Fragment,{children:t});function FDe(t){return h.isValidElement(t)&&t.type===zDe}function BDe(t,e){const n={...e};for(const r in e){const o=t[r],s=e[r];/^on[A-Z]/.test(r)?o&&s?n[r]=(...i)=>{s(...i),o(...i)}:o&&(n[r]=o):r==="style"?n[r]={...o,...s}:r==="className"&&(n[r]=[o,s].filter(Boolean).join(" "))}return{...t,...n}}function UDe(t){var r,o;let e=(r=Object.getOwnPropertyDescriptor(t.props,"ref"))==null?void 0:r.get,n=e&&"isReactWarning"in e&&e.isReactWarning;return n?t.ref:(e=(o=Object.getOwnPropertyDescriptor(t,"ref"))==null?void 0:o.get,n=e&&"isReactWarning"in e&&e.isReactWarning,n?t.props.ref:t.props.ref||t.ref)}var $De=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","span","svg","ul"],VDe=$De.reduce((t,e)=>{const n=h.forwardRef((r,o)=>{const{asChild:s,...a}=r,i=s?fse:e;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),c.jsx(i,{...a,ref:o})});return n.displayName=`Primitive.${e}`,{...t,[e]:n}},{}),V9="focusScope.autoFocusOnMount",H9="focusScope.autoFocusOnUnmount",tY={bubbles:!1,cancelable:!0},HDe="FocusScope",K2=h.forwardRef((t,e)=>{const{loop:n=!1,trapped:r=!1,onMountAutoFocus:o,onUnmountAutoFocus:s,...a}=t,[i,l]=h.useState(null),u=or(o),d=or(s),f=h.useRef(null),m=ODe(e,b=>l(b)),g=h.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;h.useEffect(()=>{if(r){let b=function(N){if(g.paused||!i)return;const M=N.target;i.contains(M)?f.current=M:wp(f.current,{select:!0})},j=function(N){if(g.paused||!i)return;const M=N.relatedTarget;M!==null&&(i.contains(M)||wp(f.current,{select:!0}))},S=function(N){if(document.activeElement===document.body)for(const D of N)D.removedNodes.length>0&&wp(i)};document.addEventListener("focusin",b),document.addEventListener("focusout",j);const I=new MutationObserver(S);return i&&I.observe(i,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",b),document.removeEventListener("focusout",j),I.disconnect()}}},[r,i,g.paused]),h.useEffect(()=>{if(i){rY.add(g);const b=document.activeElement;if(!i.contains(b)){const S=new CustomEvent(V9,tY);i.addEventListener(V9,u),i.dispatchEvent(S),S.defaultPrevented||(WDe(ZDe(dse(i)),{select:!0}),document.activeElement===b&&wp(i))}return()=>{i.removeEventListener(V9,u),setTimeout(()=>{const S=new CustomEvent(H9,tY);i.addEventListener(H9,d),i.dispatchEvent(S),S.defaultPrevented||wp(b??document.body,{select:!0}),i.removeEventListener(H9,d),rY.remove(g)},0)}}},[i,u,d,g]);const w=h.useCallback(b=>{if(!n&&!r||g.paused)return;const j=b.key==="Tab"&&!b.altKey&&!b.ctrlKey&&!b.metaKey,S=document.activeElement;if(j&&S){const I=b.currentTarget,[N,M]=YDe(I);N&&M?!b.shiftKey&&S===M?(b.preventDefault(),n&&wp(N,{select:!0})):b.shiftKey&&S===N&&(b.preventDefault(),n&&wp(M,{select:!0})):S===I&&b.preventDefault()}},[n,r,g.paused]);return c.jsx(VDe.div,{tabIndex:-1,...a,ref:m,onKeyDown:w})});K2.displayName=HDe;function WDe(t,{select:e=!1}={}){const n=document.activeElement;for(const r of t)if(wp(r,{select:e}),document.activeElement!==n)return}function YDe(t){const e=dse(t),n=nY(e,t),r=nY(e.reverse(),t);return[n,r]}function dse(t){const e=[],n=document.createTreeWalker(t,NodeFilter.SHOW_ELEMENT,{acceptNode:r=>{const o=r.tagName==="INPUT"&&r.type==="hidden";return r.disabled||r.hidden||o?NodeFilter.FILTER_SKIP:r.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)e.push(n.currentNode);return e}function nY(t,e){for(const n of t)if(!GDe(n,{upTo:e}))return n}function GDe(t,{upTo:e}){if(getComputedStyle(t).visibility==="hidden")return!0;for(;t;){if(e!==void 0&&t===e)return!1;if(getComputedStyle(t).display==="none")return!0;t=t.parentElement}return!1}function qDe(t){return t instanceof HTMLInputElement&&"select"in t}function wp(t,{select:e=!1}={}){if(t&&t.focus){const n=document.activeElement;t.focus({preventScroll:!0}),t!==n&&qDe(t)&&e&&t.select()}}var rY=KDe();function KDe(){let t=[];return{add(e){const n=t[0];e!==n&&(n==null||n.pause()),t=oY(t,e),t.unshift(e)},remove(e){var n;t=oY(t,e),(n=t[0])==null||n.resume()}}}function oY(t,e){const n=[...t],r=n.indexOf(e);return r!==-1&&n.splice(r,1),n}function ZDe(t){return t.filter(e=>e.tagName!=="A")}function sY(t,e){if(typeof t=="function")return t(e);t!=null&&(t.current=e)}function QDe(...t){return e=>{let n=!1;const r=t.map(o=>{const s=sY(o,e);return!n&&typeof s=="function"&&(n=!0),s});if(n)return()=>{for(let o=0;o<r.length;o++){const s=r[o];typeof s=="function"?s():sY(t[o],null)}}}}var pse=h.forwardRef((t,e)=>{const{children:n,...r}=t,o=h.Children.toArray(n),s=o.find(XDe);if(s){const a=s.props.children,i=o.map(l=>l===s?h.Children.count(a)>1?h.Children.only(null):h.isValidElement(a)?a.props.children:null:l);return c.jsx(M8,{...r,ref:e,children:h.isValidElement(a)?h.cloneElement(a,void 0,i):null})}return c.jsx(M8,{...r,ref:e,children:n})});pse.displayName="Slot";var M8=h.forwardRef((t,e)=>{const{children:n,...r}=t;if(h.isValidElement(n)){const o=tLe(n);return h.cloneElement(n,{...eLe(r,n.props),ref:e?QDe(e,o):o})}return h.Children.count(n)>1?h.Children.only(null):null});M8.displayName="SlotClone";var JDe=({children:t})=>c.jsx(c.Fragment,{children:t});function XDe(t){return h.isValidElement(t)&&t.type===JDe}function eLe(t,e){const n={...e};for(const r in e){const o=t[r],s=e[r];/^on[A-Z]/.test(r)?o&&s?n[r]=(...i)=>{s(...i),o(...i)}:o&&(n[r]=o):r==="style"?n[r]={...o,...s}:r==="className"&&(n[r]=[o,s].filter(Boolean).join(" "))}return{...t,...n}}function tLe(t){var r,o;let e=(r=Object.getOwnPropertyDescriptor(t.props,"ref"))==null?void 0:r.get,n=e&&"isReactWarning"in e&&e.isReactWarning;return n?t.ref:(e=(o=Object.getOwnPropertyDescriptor(t,"ref"))==null?void 0:o.get,n=e&&"isReactWarning"in e&&e.isReactWarning,n?t.props.ref:t.props.ref||t.ref)}var nLe=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","span","svg","ul"],rLe=nLe.reduce((t,e)=>{const n=h.forwardRef((r,o)=>{const{asChild:s,...a}=r,i=s?pse:e;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),c.jsx(i,{...a,ref:o})});return n.displayName=`Primitive.${e}`,{...t,[e]:n}},{}),oLe="Portal",Z2=h.forwardRef((t,e)=>{var i;const{container:n,...r}=t,[o,s]=h.useState(!1);fr(()=>s(!0),[]);const a=n||o&&((i=globalThis==null?void 0:globalThis.document)==null?void 0:i.body);return a?KD.createPortal(c.jsx(rLe.div,{...r,ref:e}),a):null});Z2.displayName=oLe;function sLe(t,e){return h.useReducer((n,r)=>e[n][r]??n,t)}var hS=t=>{const{present:e,children:n}=t,r=aLe(e),o=typeof n=="function"?n({present:r.isPresent}):h.Children.only(n),s=pS(r.ref,iLe(o));return typeof n=="function"||r.isPresent?h.cloneElement(o,{ref:s}):null};hS.displayName="Presence";function aLe(t){const[e,n]=h.useState(),r=h.useRef({}),o=h.useRef(t),s=h.useRef("none"),a=t?"mounted":"unmounted",[i,l]=sLe(a,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return h.useEffect(()=>{const u=j6(r.current);s.current=i==="mounted"?u:"none"},[i]),fr(()=>{const u=r.current,d=o.current;if(d!==t){const m=s.current,g=j6(u);t?l("MOUNT"):g==="none"||(u==null?void 0:u.display)==="none"?l("UNMOUNT"):l(d&&m!==g?"ANIMATION_OUT":"UNMOUNT"),o.current=t}},[t,l]),fr(()=>{if(e){let u;const d=e.ownerDocument.defaultView??window,f=g=>{const b=j6(r.current).includes(g.animationName);if(g.target===e&&b&&(l("ANIMATION_END"),!o.current)){const j=e.style.animationFillMode;e.style.animationFillMode="forwards",u=d.setTimeout(()=>{e.style.animationFillMode==="forwards"&&(e.style.animationFillMode=j)})}},m=g=>{g.target===e&&(s.current=j6(r.current))};return e.addEventListener("animationstart",m),e.addEventListener("animationcancel",f),e.addEventListener("animationend",f),()=>{d.clearTimeout(u),e.removeEventListener("animationstart",m),e.removeEventListener("animationcancel",f),e.removeEventListener("animationend",f)}}else l("ANIMATION_END")},[e,l]),{isPresent:["mounted","unmountSuspended"].includes(i),ref:h.useCallback(u=>{u&&(r.current=getComputedStyle(u)),n(u)},[])}}function j6(t){return(t==null?void 0:t.animationName)||"none"}function iLe(t){var r,o;let e=(r=Object.getOwnPropertyDescriptor(t.props,"ref"))==null?void 0:r.get,n=e&&"isReactWarning"in e&&e.isReactWarning;return n?t.ref:(e=(o=Object.getOwnPropertyDescriptor(t,"ref"))==null?void 0:o.get,n=e&&"isReactWarning"in e&&e.isReactWarning,n?t.props.ref:t.props.ref||t.ref)}var ZD=h.forwardRef((t,e)=>{const{children:n,...r}=t,o=h.Children.toArray(n),s=o.find(cLe);if(s){const a=s.props.children,i=o.map(l=>l===s?h.Children.count(a)>1?h.Children.only(null):h.isValidElement(a)?a.props.children:null:l);return c.jsx(R8,{...r,ref:e,children:h.isValidElement(a)?h.cloneElement(a,void 0,i):null})}return c.jsx(R8,{...r,ref:e,children:n})});ZD.displayName="Slot";var R8=h.forwardRef((t,e)=>{const{children:n,...r}=t;if(h.isValidElement(n)){const o=fLe(n);return h.cloneElement(n,{...uLe(r,n.props),ref:e?rse(e,o):o})}return h.Children.count(n)>1?h.Children.only(null):null});R8.displayName="SlotClone";var lLe=({children:t})=>c.jsx(c.Fragment,{children:t});function cLe(t){return h.isValidElement(t)&&t.type===lLe}function uLe(t,e){const n={...e};for(const r in e){const o=t[r],s=e[r];/^on[A-Z]/.test(r)?o&&s?n[r]=(...i)=>{s(...i),o(...i)}:o&&(n[r]=o):r==="style"?n[r]={...o,...s}:r==="className"&&(n[r]=[o,s].filter(Boolean).join(" "))}return{...t,...n}}function fLe(t){var r,o;let e=(r=Object.getOwnPropertyDescriptor(t.props,"ref"))==null?void 0:r.get,n=e&&"isReactWarning"in e&&e.isReactWarning;return n?t.ref:(e=(o=Object.getOwnPropertyDescriptor(t,"ref"))==null?void 0:o.get,n=e&&"isReactWarning"in e&&e.isReactWarning,n?t.props.ref:t.props.ref||t.ref)}var dLe=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","span","svg","ul"],Q2=dLe.reduce((t,e)=>{const n=h.forwardRef((r,o)=>{const{asChild:s,...a}=r,i=s?ZD:e;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),c.jsx(i,{...a,ref:o})});return n.displayName=`Primitive.${e}`,{...t,[e]:n}},{}),W9=0;function mS(){h.useEffect(()=>{const t=document.querySelectorAll("[data-radix-focus-guard]");return document.body.insertAdjacentElement("afterbegin",t[0]??aY()),document.body.insertAdjacentElement("beforeend",t[1]??aY()),W9++,()=>{W9===1&&document.querySelectorAll("[data-radix-focus-guard]").forEach(e=>e.remove()),W9--}},[])}function aY(){const t=document.createElement("span");return t.setAttribute("data-radix-focus-guard",""),t.tabIndex=0,t.style.outline="none",t.style.opacity="0",t.style.position="fixed",t.style.pointerEvents="none",t}var Ou=function(){return Ou=Object.assign||function(e){for(var n,r=1,o=arguments.length;r<o;r++){n=arguments[r];for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(e[s]=n[s])}return e},Ou.apply(this,arguments)};function hse(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var o=0,r=Object.getOwnPropertySymbols(t);o<r.length;o++)e.indexOf(r[o])<0&&Object.prototype.propertyIsEnumerable.call(t,r[o])&&(n[r[o]]=t[r[o]]);return n}function pLe(t,e,n){if(n||arguments.length===2)for(var r=0,o=e.length,s;r<o;r++)(s||!(r in e))&&(s||(s=Array.prototype.slice.call(e,0,r)),s[r]=e[r]);return t.concat(s||Array.prototype.slice.call(e))}var B3="right-scroll-bar-position",U3="width-before-scroll-bar",hLe="with-scroll-bars-hidden",mLe="--removed-body-scroll-bar-size";function Y9(t,e){return typeof t=="function"?t(e):t&&(t.current=e),t}function gLe(t,e){var n=h.useState(function(){return{value:t,callback:e,facade:{get current(){return n.value},set current(r){var o=n.value;o!==r&&(n.value=r,n.callback(r,o))}}}})[0];return n.callback=e,n.facade}var yLe=typeof window<"u"?h.useLayoutEffect:h.useEffect,iY=new WeakMap;function vLe(t,e){var n=gLe(null,function(r){return t.forEach(function(o){return Y9(o,r)})});return yLe(function(){var r=iY.get(n);if(r){var o=new Set(r),s=new Set(t),a=n.current;o.forEach(function(i){s.has(i)||Y9(i,null)}),s.forEach(function(i){o.has(i)||Y9(i,a)})}iY.set(n,t)},[t]),n}function wLe(t){return t}function bLe(t,e){e===void 0&&(e=wLe);var n=[],r=!1,o={read:function(){if(r)throw new Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");return n.length?n[n.length-1]:t},useMedium:function(s){var a=e(s,r);return n.push(a),function(){n=n.filter(function(i){return i!==a})}},assignSyncMedium:function(s){for(r=!0;n.length;){var a=n;n=[],a.forEach(s)}n={push:function(i){return s(i)},filter:function(){return n}}},assignMedium:function(s){r=!0;var a=[];if(n.length){var i=n;n=[],i.forEach(s),a=n}var l=function(){var d=a;a=[],d.forEach(s)},u=function(){return Promise.resolve().then(l)};u(),n={push:function(d){a.push(d),u()},filter:function(d){return a=a.filter(d),n}}}};return o}function xLe(t){t===void 0&&(t={});var e=bLe(null);return e.options=Ou({async:!0,ssr:!1},t),e}var mse=function(t){var e=t.sideCar,n=hse(t,["sideCar"]);if(!e)throw new Error("Sidecar: please provide `sideCar` property to import the right car");var r=e.read();if(!r)throw new Error("Sidecar medium not found");return h.createElement(r,Ou({},n))};mse.isSideCarExport=!0;function kLe(t,e){return t.useMedium(e),mse}var gse=xLe(),G9=function(){},gS=h.forwardRef(function(t,e){var n=h.useRef(null),r=h.useState({onScrollCapture:G9,onWheelCapture:G9,onTouchMoveCapture:G9}),o=r[0],s=r[1],a=t.forwardProps,i=t.children,l=t.className,u=t.removeScrollBar,d=t.enabled,f=t.shards,m=t.sideCar,g=t.noIsolation,w=t.inert,b=t.allowPinchZoom,j=t.as,S=j===void 0?"div":j,I=t.gapMode,N=hse(t,["forwardProps","children","className","removeScrollBar","enabled","shards","sideCar","noIsolation","inert","allowPinchZoom","as","gapMode"]),M=m,D=vLe([n,e]),O=Ou(Ou({},N),o);return h.createElement(h.Fragment,null,d&&h.createElement(M,{sideCar:gse,removeScrollBar:u,shards:f,noIsolation:g,inert:w,setCallbacks:s,allowPinchZoom:!!b,lockRef:n,gapMode:I}),a?h.cloneElement(h.Children.only(i),Ou(Ou({},O),{ref:D})):h.createElement(S,Ou({},O,{className:l,ref:D}),i))});gS.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1};gS.classNames={fullWidth:U3,zeroRight:B3};var jLe=function(){if(typeof __webpack_nonce__<"u")return __webpack_nonce__};function CLe(){if(!document)return null;var t=document.createElement("style");t.type="text/css";var e=jLe();return e&&t.setAttribute("nonce",e),t}function SLe(t,e){t.styleSheet?t.styleSheet.cssText=e:t.appendChild(document.createTextNode(e))}function ELe(t){var e=document.head||document.getElementsByTagName("head")[0];e.appendChild(t)}var NLe=function(){var t=0,e=null;return{add:function(n){t==0&&(e=CLe())&&(SLe(e,n),ELe(e)),t++},remove:function(){t--,!t&&e&&(e.parentNode&&e.parentNode.removeChild(e),e=null)}}},ILe=function(){var t=NLe();return function(e,n){h.useEffect(function(){return t.add(e),function(){t.remove()}},[e&&n])}},yse=function(){var t=ILe(),e=function(n){var r=n.styles,o=n.dynamic;return t(r,o),null};return e},ALe={left:0,top:0,right:0,gap:0},q9=function(t){return parseInt(t||"",10)||0},_Le=function(t){var e=window.getComputedStyle(document.body),n=e[t==="padding"?"paddingLeft":"marginLeft"],r=e[t==="padding"?"paddingTop":"marginTop"],o=e[t==="padding"?"paddingRight":"marginRight"];return[q9(n),q9(r),q9(o)]},MLe=function(t){if(t===void 0&&(t="margin"),typeof window>"u")return ALe;var e=_Le(t),n=document.documentElement.clientWidth,r=window.innerWidth;return{left:e[0],top:e[1],right:e[2],gap:Math.max(0,r-n+e[2]-e[0])}},RLe=yse(),V0="data-scroll-locked",TLe=function(t,e,n,r){var o=t.left,s=t.top,a=t.right,i=t.gap;return n===void 0&&(n="margin"),`
1269 .`.concat(hLe,` {
1270 overflow: hidden `).concat(r,`;
1271 padding-right: `).concat(i,"px ").concat(r,`;
1272 }
1273 body[`).concat(V0,`] {
1274 overflow: hidden `).concat(r,`;
1275 overscroll-behavior: contain;
1276 `).concat([e&&"position: relative ".concat(r,";"),n==="margin"&&`
1277 padding-left: `.concat(o,`px;
1278 padding-top: `).concat(s,`px;
1279 padding-right: `).concat(a,`px;
1280 margin-left:0;
1281 margin-top:0;
1282 margin-right: `).concat(i,"px ").concat(r,`;
1283 `),n==="padding"&&"padding-right: ".concat(i,"px ").concat(r,";")].filter(Boolean).join(""),`
1284 }
1285
1286 .`).concat(B3,` {
1287 right: `).concat(i,"px ").concat(r,`;
1288 }
1289
1290 .`).concat(U3,` {
1291 margin-right: `).concat(i,"px ").concat(r,`;
1292 }
1293
1294 .`).concat(B3," .").concat(B3,` {
1295 right: 0 `).concat(r,`;
1296 }
1297
1298 .`).concat(U3," .").concat(U3,` {
1299 margin-right: 0 `).concat(r,`;
1300 }
1301
1302 body[`).concat(V0,`] {
1303 `).concat(mLe,": ").concat(i,`px;
1304 }
1305 `)},lY=function(){var t=parseInt(document.body.getAttribute(V0)||"0",10);return isFinite(t)?t:0},DLe=function(){h.useEffect(function(){return document.body.setAttribute(V0,(lY()+1).toString()),function(){var t=lY()-1;t<=0?document.body.removeAttribute(V0):document.body.setAttribute(V0,t.toString())}},[])},LLe=function(t){var e=t.noRelative,n=t.noImportant,r=t.gapMode,o=r===void 0?"margin":r;DLe();var s=h.useMemo(function(){return MLe(o)},[o]);return h.createElement(RLe,{styles:TLe(s,!e,o,n?"":"!important")})},T8=!1;if(typeof window<"u")try{var C6=Object.defineProperty({},"passive",{get:function(){return T8=!0,!0}});window.addEventListener("test",C6,C6),window.removeEventListener("test",C6,C6)}catch{T8=!1}var Y1=T8?{passive:!1}:!1,PLe=function(t){return t.tagName==="TEXTAREA"},vse=function(t,e){if(!(t instanceof Element))return!1;var n=window.getComputedStyle(t);return n[e]!=="hidden"&&!(n.overflowY===n.overflowX&&!PLe(t)&&n[e]==="visible")},OLe=function(t){return vse(t,"overflowY")},zLe=function(t){return vse(t,"overflowX")},cY=function(t,e){var n=e.ownerDocument,r=e;do{typeof ShadowRoot<"u"&&r instanceof ShadowRoot&&(r=r.host);var o=wse(t,r);if(o){var s=bse(t,r),a=s[1],i=s[2];if(a>i)return!0}r=r.parentNode}while(r&&r!==n.body);return!1},FLe=function(t){var e=t.scrollTop,n=t.scrollHeight,r=t.clientHeight;return[e,n,r]},BLe=function(t){var e=t.scrollLeft,n=t.scrollWidth,r=t.clientWidth;return[e,n,r]},wse=function(t,e){return t==="v"?OLe(e):zLe(e)},bse=function(t,e){return t==="v"?FLe(e):BLe(e)},ULe=function(t,e){return t==="h"&&e==="rtl"?-1:1},$Le=function(t,e,n,r,o){var s=ULe(t,window.getComputedStyle(e).direction),a=s*r,i=n.target,l=e.contains(i),u=!1,d=a>0,f=0,m=0;do{var g=bse(t,i),w=g[0],b=g[1],j=g[2],S=b-j-s*w;(w||S)&&wse(t,i)&&(f+=S,m+=w),i instanceof ShadowRoot?i=i.host:i=i.parentNode}while(!l&&i!==document.body||l&&(e.contains(i)||e===i));return(d&&Math.abs(f)<1||!d&&Math.abs(m)<1)&&(u=!0),u},S6=function(t){return"changedTouches"in t?[t.changedTouches[0].clientX,t.changedTouches[0].clientY]:[0,0]},uY=function(t){return[t.deltaX,t.deltaY]},fY=function(t){return t&&"current"in t?t.current:t},VLe=function(t,e){return t[0]===e[0]&&t[1]===e[1]},HLe=function(t){return`
1306 .block-interactivity-`.concat(t,` {pointer-events: none;}
1307 .allow-interactivity-`).concat(t,` {pointer-events: all;}
1308 `)},WLe=0,G1=[];function YLe(t){var e=h.useRef([]),n=h.useRef([0,0]),r=h.useRef(),o=h.useState(WLe++)[0],s=h.useState(yse)[0],a=h.useRef(t);h.useEffect(function(){a.current=t},[t]),h.useEffect(function(){if(t.inert){document.body.classList.add("block-interactivity-".concat(o));var b=pLe([t.lockRef.current],(t.shards||[]).map(fY),!0).filter(Boolean);return b.forEach(function(j){return j.classList.add("allow-interactivity-".concat(o))}),function(){document.body.classList.remove("block-interactivity-".concat(o)),b.forEach(function(j){return j.classList.remove("allow-interactivity-".concat(o))})}}},[t.inert,t.lockRef.current,t.shards]);var i=h.useCallback(function(b,j){if("touches"in b&&b.touches.length===2||b.type==="wheel"&&b.ctrlKey)return!a.current.allowPinchZoom;var S=S6(b),I=n.current,N="deltaX"in b?b.deltaX:I[0]-S[0],M="deltaY"in b?b.deltaY:I[1]-S[1],D,O=b.target,L=Math.abs(N)>Math.abs(M)?"h":"v";if("touches"in b&&L==="h"&&O.type==="range")return!1;var B=cY(L,O);if(!B)return!0;if(B?D=L:(D=L==="v"?"h":"v",B=cY(L,O)),!B)return!1;if(!r.current&&"changedTouches"in b&&(N||M)&&(r.current=D),!D)return!0;var T=r.current||D;return $Le(T,j,b,T==="h"?N:M)},[]),l=h.useCallback(function(b){var j=b;if(!(!G1.length||G1[G1.length-1]!==s)){var S="deltaY"in j?uY(j):S6(j),I=e.current.filter(function(D){return D.name===j.type&&(D.target===j.target||j.target===D.shadowParent)&&VLe(D.delta,S)})[0];if(I&&I.should){j.cancelable&&j.preventDefault();return}if(!I){var N=(a.current.shards||[]).map(fY).filter(Boolean).filter(function(D){return D.contains(j.target)}),M=N.length>0?i(j,N[0]):!a.current.noIsolation;M&&j.cancelable&&j.preventDefault()}}},[]),u=h.useCallback(function(b,j,S,I){var N={name:b,delta:j,target:S,should:I,shadowParent:GLe(S)};e.current.push(N),setTimeout(function(){e.current=e.current.filter(function(M){return M!==N})},1)},[]),d=h.useCallback(function(b){n.current=S6(b),r.current=void 0},[]),f=h.useCallback(function(b){u(b.type,uY(b),b.target,i(b,t.lockRef.current))},[]),m=h.useCallback(function(b){u(b.type,S6(b),b.target,i(b,t.lockRef.current))},[]);h.useEffect(function(){return G1.push(s),t.setCallbacks({onScrollCapture:f,onWheelCapture:f,onTouchMoveCapture:m}),document.addEventListener("wheel",l,Y1),document.addEventListener("touchmove",l,Y1),document.addEventListener("touchstart",d,Y1),function(){G1=G1.filter(function(b){return b!==s}),document.removeEventListener("wheel",l,Y1),document.removeEventListener("touchmove",l,Y1),document.removeEventListener("touchstart",d,Y1)}},[]);var g=t.removeScrollBar,w=t.inert;return h.createElement(h.Fragment,null,w?h.createElement(s,{styles:HLe(o)}):null,g?h.createElement(LLe,{gapMode:t.gapMode}):null)}function GLe(t){for(var e=null;t!==null;)t instanceof ShadowRoot&&(e=t.host,t=t.host),t=t.parentNode;return e}const qLe=kLe(gse,YLe);var J2=h.forwardRef(function(t,e){return h.createElement(gS,Ou({},t,{ref:e,sideCar:qLe}))});J2.classNames=gS.classNames;var KLe=function(t){if(typeof document>"u")return null;var e=Array.isArray(t)?t[0]:t;return e.ownerDocument.body},q1=new WeakMap,E6=new WeakMap,N6={},K9=0,xse=function(t){return t&&(t.host||xse(t.parentNode))},ZLe=function(t,e){return e.map(function(n){if(t.contains(n))return n;var r=xse(n);return r&&t.contains(r)?r:(console.error("aria-hidden",n,"in not contained inside",t,". Doing nothing"),null)}).filter(function(n){return!!n})},QLe=function(t,e,n,r){var o=ZLe(e,Array.isArray(t)?t:[t]);N6[n]||(N6[n]=new WeakMap);var s=N6[n],a=[],i=new Set,l=new Set(o),u=function(f){!f||i.has(f)||(i.add(f),u(f.parentNode))};o.forEach(u);var d=function(f){!f||l.has(f)||Array.prototype.forEach.call(f.children,function(m){if(i.has(m))d(m);else try{var g=m.getAttribute(r),w=g!==null&&g!=="false",b=(q1.get(m)||0)+1,j=(s.get(m)||0)+1;q1.set(m,b),s.set(m,j),a.push(m),b===1&&w&&E6.set(m,!0),j===1&&m.setAttribute(n,"true"),w||m.setAttribute(r,"true")}catch(S){console.error("aria-hidden: cannot operate on ",m,S)}})};return d(e),i.clear(),K9++,function(){a.forEach(function(f){var m=q1.get(f)-1,g=s.get(f)-1;q1.set(f,m),s.set(f,g),m||(E6.has(f)||f.removeAttribute(r),E6.delete(f)),g||f.removeAttribute(n)}),K9--,K9||(q1=new WeakMap,q1=new WeakMap,E6=new WeakMap,N6={})}},yS=function(t,e,n){n===void 0&&(n="data-aria-hidden");var r=Array.from(Array.isArray(t)?t:[t]),o=KLe(t);return o?(r.push.apply(r,Array.from(o.querySelectorAll("[aria-live]"))),QLe(r,o,n,"aria-hidden")):function(){return null}},QD="Dialog",[kse,jse]=yDe(QD),[JLe,uu]=kse(QD),Cse=t=>{const{__scopeDialog:e,children:n,open:r,defaultOpen:o,onOpenChange:s,modal:a=!0}=t,i=h.useRef(null),l=h.useRef(null),[u=!1,d]=xDe({prop:r,defaultProp:o,onChange:s});return c.jsx(JLe,{scope:e,triggerRef:i,contentRef:l,contentId:U9(),titleId:U9(),descriptionId:U9(),open:u,onOpenChange:d,onOpenToggle:h.useCallback(()=>d(f=>!f),[d]),modal:a,children:n})};Cse.displayName=QD;var Sse="DialogTrigger",Ese=h.forwardRef((t,e)=>{const{__scopeDialog:n,...r}=t,o=uu(Sse,n),s=pS(e,o.triggerRef);return c.jsx(Q2.button,{type:"button","aria-haspopup":"dialog","aria-expanded":o.open,"aria-controls":o.contentId,"data-state":eL(o.open),...r,ref:s,onClick:Qw(t.onClick,o.onOpenToggle)})});Ese.displayName=Sse;var JD="DialogPortal",[XLe,Nse]=kse(JD,{forceMount:void 0}),Ise=t=>{const{__scopeDialog:e,forceMount:n,children:r,container:o}=t,s=uu(JD,e);return c.jsx(XLe,{scope:e,forceMount:n,children:h.Children.map(r,a=>c.jsx(hS,{present:n||s.open,children:c.jsx(Z2,{asChild:!0,container:o,children:a})}))})};Ise.displayName=JD;var Qk="DialogOverlay",Ase=h.forwardRef((t,e)=>{const n=Nse(Qk,t.__scopeDialog),{forceMount:r=n.forceMount,...o}=t,s=uu(Qk,t.__scopeDialog);return s.modal?c.jsx(hS,{present:r||s.open,children:c.jsx(e7e,{...o,ref:e})}):null});Ase.displayName=Qk;var e7e=h.forwardRef((t,e)=>{const{__scopeDialog:n,...r}=t,o=uu(Qk,n);return c.jsx(J2,{as:ZD,allowPinchZoom:!0,shards:[o.contentRef],children:c.jsx(Q2.div,{"data-state":eL(o.open),...r,ref:e,style:{pointerEvents:"auto",...r.style}})})}),jg="DialogContent",_se=h.forwardRef((t,e)=>{const n=Nse(jg,t.__scopeDialog),{forceMount:r=n.forceMount,...o}=t,s=uu(jg,t.__scopeDialog);return c.jsx(hS,{present:r||s.open,children:s.modal?c.jsx(t7e,{...o,ref:e}):c.jsx(n7e,{...o,ref:e})})});_se.displayName=jg;var t7e=h.forwardRef((t,e)=>{const n=uu(jg,t.__scopeDialog),r=h.useRef(null),o=pS(e,n.contentRef,r);return h.useEffect(()=>{const s=r.current;if(s)return yS(s)},[]),c.jsx(Mse,{...t,ref:o,trapFocus:n.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:Qw(t.onCloseAutoFocus,s=>{var a;s.preventDefault(),(a=n.triggerRef.current)==null||a.focus()}),onPointerDownOutside:Qw(t.onPointerDownOutside,s=>{const a=s.detail.originalEvent,i=a.button===0&&a.ctrlKey===!0;(a.button===2||i)&&s.preventDefault()}),onFocusOutside:Qw(t.onFocusOutside,s=>s.preventDefault())})}),n7e=h.forwardRef((t,e)=>{const n=uu(jg,t.__scopeDialog),r=h.useRef(!1),o=h.useRef(!1);return c.jsx(Mse,{...t,ref:e,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:s=>{var a,i;(a=t.onCloseAutoFocus)==null||a.call(t,s),s.defaultPrevented||(r.current||(i=n.triggerRef.current)==null||i.focus(),s.preventDefault()),r.current=!1,o.current=!1},onInteractOutside:s=>{var l,u;(l=t.onInteractOutside)==null||l.call(t,s),s.defaultPrevented||(r.current=!0,s.detail.originalEvent.type==="pointerdown"&&(o.current=!0));const a=s.target;((u=n.triggerRef.current)==null?void 0:u.contains(a))&&s.preventDefault(),s.detail.originalEvent.type==="focusin"&&o.current&&s.preventDefault()}})}),Mse=h.forwardRef((t,e)=>{const{__scopeDialog:n,trapFocus:r,onOpenAutoFocus:o,onCloseAutoFocus:s,...a}=t,i=uu(jg,n),l=h.useRef(null),u=pS(e,l);return mS(),c.jsxs(c.Fragment,{children:[c.jsx(K2,{asChild:!0,loop:!0,trapped:r,onMountAutoFocus:o,onUnmountAutoFocus:s,children:c.jsx(Ky,{role:"dialog",id:i.contentId,"aria-describedby":i.descriptionId,"aria-labelledby":i.titleId,"data-state":eL(i.open),...a,ref:u,onDismiss:()=>i.onOpenChange(!1)})}),c.jsxs(c.Fragment,{children:[c.jsx(o7e,{titleId:i.titleId}),c.jsx(a7e,{contentRef:l,descriptionId:i.descriptionId})]})]})}),XD="DialogTitle",Rse=h.forwardRef((t,e)=>{const{__scopeDialog:n,...r}=t,o=uu(XD,n);return c.jsx(Q2.h2,{id:o.titleId,...r,ref:e})});Rse.displayName=XD;var Tse="DialogDescription",Dse=h.forwardRef((t,e)=>{const{__scopeDialog:n,...r}=t,o=uu(Tse,n);return c.jsx(Q2.p,{id:o.descriptionId,...r,ref:e})});Dse.displayName=Tse;var Lse="DialogClose",Pse=h.forwardRef((t,e)=>{const{__scopeDialog:n,...r}=t,o=uu(Lse,n);return c.jsx(Q2.button,{type:"button",...r,ref:e,onClick:Qw(t.onClick,()=>o.onOpenChange(!1))})});Pse.displayName=Lse;function eL(t){return t?"open":"closed"}var Ose="DialogTitleWarning",[r7e,zse]=gDe(Ose,{contentName:jg,titleName:XD,docsSlug:"dialog"}),o7e=({titleId:t})=>{const e=zse(Ose),n=`\`${e.contentName}\` requires a \`${e.titleName}\` for the component to be accessible for screen reader users.
1309
1310 If you want to hide the \`${e.titleName}\`, you can wrap it with our VisuallyHidden component.
1311
1312 For more information, see https://radix-ui.com/primitives/docs/components/${e.docsSlug}`;return h.useEffect(()=>{t&&(document.getElementById(t)||console.error(n))},[n,t]),null},s7e="DialogDescriptionWarning",a7e=({contentRef:t,descriptionId:e})=>{const r=`Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${zse(s7e).contentName}}.`;return h.useEffect(()=>{var s;const o=(s=t.current)==null?void 0:s.getAttribute("aria-describedby");e&&o&&(document.getElementById(e)||console.warn(r))},[r,t,e]),null},vS=Cse,tL=Ese,wS=Ise,Zy=Ase,Qy=_se,Jy=Rse,Xy=Dse,X2=Pse;/**
1313 * @license lucide-react v0.469.0 - ISC
1314 *
1315 * This source code is licensed under the ISC license.
1316 * See the LICENSE file in the root directory of this source tree.
1317 */const i7e=t=>t.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),Fse=(...t)=>t.filter((e,n,r)=>!!e&&e.trim()!==""&&r.indexOf(e)===n).join(" ").trim();/**
1318 * @license lucide-react v0.469.0 - ISC
1319 *
1320 * This source code is licensed under the ISC license.
1321 * See the LICENSE file in the root directory of this source tree.
1322 */var l7e={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};/**
1323 * @license lucide-react v0.469.0 - ISC
1324 *
1325 * This source code is licensed under the ISC license.
1326 * See the LICENSE file in the root directory of this source tree.
1327 */const c7e=h.forwardRef(({color:t="currentColor",size:e=24,strokeWidth:n=2,absoluteStrokeWidth:r,className:o="",children:s,iconNode:a,...i},l)=>h.createElement("svg",{ref:l,...l7e,width:e,height:e,stroke:t,strokeWidth:r?Number(n)*24/Number(e):n,className:Fse("lucide",o),...i},[...a.map(([u,d])=>h.createElement(u,d)),...Array.isArray(s)?s:[s]]));/**
1328 * @license lucide-react v0.469.0 - ISC
1329 *
1330 * This source code is licensed under the ISC license.
1331 * See the LICENSE file in the root directory of this source tree.
1332 */const ft=(t,e)=>{const n=h.forwardRef(({className:r,...o},s)=>h.createElement(c7e,{ref:s,iconNode:e,className:Fse(`lucide-${i7e(t)}`,r),...o}));return n.displayName=`${t}`,n};/**
1333 * @license lucide-react v0.469.0 - ISC
1334 *
1335 * This source code is licensed under the ISC license.
1336 * See the LICENSE file in the root directory of this source tree.
1337 */const Bse=ft("ArrowDownUp",[["path",{d:"m3 16 4 4 4-4",key:"1co6wj"}],["path",{d:"M7 20V4",key:"1yoxec"}],["path",{d:"m21 8-4-4-4 4",key:"1c9v7m"}],["path",{d:"M17 4v16",key:"7dpous"}]]);/**
1338 * @license lucide-react v0.469.0 - ISC
1339 *
1340 * This source code is licensed under the ISC license.
1341 * See the LICENSE file in the root directory of this source tree.
1342 */const Zm=ft("ArrowLeft",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]);/**
1343 * @license lucide-react v0.469.0 - ISC
1344 *
1345 * This source code is licensed under the ISC license.
1346 * See the LICENSE file in the root directory of this source tree.
1347 */const u7e=ft("ArrowRight",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]]);/**
1348 * @license lucide-react v0.469.0 - ISC
1349 *
1350 * This source code is licensed under the ISC license.
1351 * See the LICENSE file in the root directory of this source tree.
1352 */const f7e=ft("ArrowUpToLine",[["path",{d:"M5 3h14",key:"7usisc"}],["path",{d:"m18 13-6-6-6 6",key:"1kf1n9"}],["path",{d:"M12 7v14",key:"1akyts"}]]);/**
1353 * @license lucide-react v0.469.0 - ISC
1354 *
1355 * This source code is licensed under the ISC license.
1356 * See the LICENSE file in the root directory of this source tree.
1357 */const Use=ft("ArrowUp",[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]]);/**
1358 * @license lucide-react v0.469.0 - ISC
1359 *
1360 * This source code is licensed under the ISC license.
1361 * See the LICENSE file in the root directory of this source tree.
1362 */const d7e=ft("AtSign",[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M16 8v5a3 3 0 0 0 6 0v-1a10 10 0 1 0-4 8",key:"7n84p3"}]]);/**
1363 * @license lucide-react v0.469.0 - ISC
1364 *
1365 * This source code is licensed under the ISC license.
1366 * See the LICENSE file in the root directory of this source tree.
1367 */const p7e=ft("BadgeAlert",[["path",{d:"M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z",key:"3c2336"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]]);/**
1368 * @license lucide-react v0.469.0 - ISC
1369 *
1370 * This source code is licensed under the ISC license.
1371 * See the LICENSE file in the root directory of this source tree.
1372 */const h7e=ft("BadgeCheck",[["path",{d:"M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z",key:"3c2336"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);/**
1373 * @license lucide-react v0.469.0 - ISC
1374 *
1375 * This source code is licensed under the ISC license.
1376 * See the LICENSE file in the root directory of this source tree.
1377 */const $se=ft("Ban",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m4.9 4.9 14.2 14.2",key:"1m5liu"}]]);/**
1378 * @license lucide-react v0.469.0 - ISC
1379 *
1380 * This source code is licensed under the ISC license.
1381 * See the LICENSE file in the root directory of this source tree.
1382 */const $u=ft("BellOff",[["path",{d:"M10.268 21a2 2 0 0 0 3.464 0",key:"vwvbt9"}],["path",{d:"M17 17H4a1 1 0 0 1-.74-1.673C4.59 13.956 6 12.499 6 8a6 6 0 0 1 .258-1.742",key:"178tsu"}],["path",{d:"m2 2 20 20",key:"1ooewy"}],["path",{d:"M8.668 3.01A6 6 0 0 1 18 8c0 2.687.77 4.653 1.707 6.05",key:"1hqiys"}]]);/**
1383 * @license lucide-react v0.469.0 - ISC
1384 *
1385 * This source code is licensed under the ISC license.
1386 * See the LICENSE file in the root directory of this source tree.
1387 */const gy=ft("Bell",[["path",{d:"M10.268 21a2 2 0 0 0 3.464 0",key:"vwvbt9"}],["path",{d:"M3.262 15.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326",key:"11g9vi"}]]);/**
1388 * @license lucide-react v0.469.0 - ISC
1389 *
1390 * This source code is licensed under the ISC license.
1391 * See the LICENSE file in the root directory of this source tree.
1392 */const Vse=ft("Bookmark",[["path",{d:"m19 21-7-4-7 4V5a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v16z",key:"1fy3hk"}]]);/**
1393 * @license lucide-react v0.469.0 - ISC
1394 *
1395 * This source code is licensed under the ISC license.
1396 * See the LICENSE file in the root directory of this source tree.
1397 */const m7e=ft("Camera",[["path",{d:"M14.5 4h-5L7 7H4a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2h-3l-2.5-3z",key:"1tc9qg"}],["circle",{cx:"12",cy:"13",r:"3",key:"1vg3eu"}]]);/**
1398 * @license lucide-react v0.469.0 - ISC
1399 *
1400 * This source code is licensed under the ISC license.
1401 * See the LICENSE file in the root directory of this source tree.
1402 */const Zr=ft("Check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);/**
1403 * @license lucide-react v0.469.0 - ISC
1404 *
1405 * This source code is licensed under the ISC license.
1406 * See the LICENSE file in the root directory of this source tree.
1407 */const cc=ft("ChevronDown",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);/**
1408 * @license lucide-react v0.469.0 - ISC
1409 *
1410 * This source code is licensed under the ISC license.
1411 * See the LICENSE file in the root directory of this source tree.
1412 */const bS=ft("ChevronLeft",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]);/**
1413 * @license lucide-react v0.469.0 - ISC
1414 *
1415 * This source code is licensed under the ISC license.
1416 * See the LICENSE file in the root directory of this source tree.
1417 */const Hse=ft("ChevronRight",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);/**
1418 * @license lucide-react v0.469.0 - ISC
1419 *
1420 * This source code is licensed under the ISC license.
1421 * See the LICENSE file in the root directory of this source tree.
1422 */const bd=ft("ChevronUp",[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]]);/**
1423 * @license lucide-react v0.469.0 - ISC
1424 *
1425 * This source code is licensed under the ISC license.
1426 * See the LICENSE file in the root directory of this source tree.
1427 */const g7e=ft("ChevronsLeft",[["path",{d:"m11 17-5-5 5-5",key:"13zhaf"}],["path",{d:"m18 17-5-5 5-5",key:"h8a8et"}]]);/**
1428 * @license lucide-react v0.469.0 - ISC
1429 *
1430 * This source code is licensed under the ISC license.
1431 * See the LICENSE file in the root directory of this source tree.
1432 */const y7e=ft("ChevronsRight",[["path",{d:"m6 17 5-5-5-5",key:"xnjwq"}],["path",{d:"m13 17 5-5-5-5",key:"17xmmf"}]]);/**
1433 * @license lucide-react v0.469.0 - ISC
1434 *
1435 * This source code is licensed under the ISC license.
1436 * See the LICENSE file in the root directory of this source tree.
1437 */const Wse=ft("CircleAlert",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]]);/**
1438 * @license lucide-react v0.469.0 - ISC
1439 *
1440 * This source code is licensed under the ISC license.
1441 * See the LICENSE file in the root directory of this source tree.
1442 */const nL=ft("CircleCheck",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);/**
1443 * @license lucide-react v0.469.0 - ISC
1444 *
1445 * This source code is licensed under the ISC license.
1446 * See the LICENSE file in the root directory of this source tree.
1447 */const Yse=ft("CircleHelp",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3",key:"1u773s"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);/**
1448 * @license lucide-react v0.469.0 - ISC
1449 *
1450 * This source code is licensed under the ISC license.
1451 * See the LICENSE file in the root directory of this source tree.
1452 */const Gse=ft("CircleX",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]]);/**
1453 * @license lucide-react v0.469.0 - ISC
1454 *
1455 * This source code is licensed under the ISC license.
1456 * See the LICENSE file in the root directory of this source tree.
1457 */const qse=ft("Circle",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);/**
1458 * @license lucide-react v0.469.0 - ISC
1459 *
1460 * This source code is licensed under the ISC license.
1461 * See the LICENSE file in the root directory of this source tree.
1462 */const v7e=ft("Clock",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["polyline",{points:"12 6 12 12 16 14",key:"68esgv"}]]);/**
1463 * @license lucide-react v0.469.0 - ISC
1464 *
1465 * This source code is licensed under the ISC license.
1466 * See the LICENSE file in the root directory of this source tree.
1467 */const w7e=ft("CloudDownload",[["path",{d:"M12 13v8l-4-4",key:"1f5nwf"}],["path",{d:"m12 21 4-4",key:"1lfcce"}],["path",{d:"M4.393 15.269A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.436 8.284",key:"ui1hmy"}]]);/**
1468 * @license lucide-react v0.469.0 - ISC
1469 *
1470 * This source code is licensed under the ISC license.
1471 * See the LICENSE file in the root directory of this source tree.
1472 */const b7e=ft("CloudUpload",[["path",{d:"M12 13v8",key:"1l5pq0"}],["path",{d:"M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242",key:"1pljnt"}],["path",{d:"m8 17 4-4 4 4",key:"1quai1"}]]);/**
1473 * @license lucide-react v0.469.0 - ISC
1474 *
1475 * This source code is licensed under the ISC license.
1476 * See the LICENSE file in the root directory of this source tree.
1477 */const Kse=ft("Code",[["polyline",{points:"16 18 22 12 16 6",key:"z7tu5w"}],["polyline",{points:"8 6 2 12 8 18",key:"1eg1df"}]]);/**
1478 * @license lucide-react v0.469.0 - ISC
1479 *
1480 * This source code is licensed under the ISC license.
1481 * See the LICENSE file in the root directory of this source tree.
1482 */const x7e=ft("Cog",[["path",{d:"M12 20a8 8 0 1 0 0-16 8 8 0 0 0 0 16Z",key:"sobvz5"}],["path",{d:"M12 14a2 2 0 1 0 0-4 2 2 0 0 0 0 4Z",key:"11i496"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 22v-2",key:"1osdcq"}],["path",{d:"m17 20.66-1-1.73",key:"eq3orb"}],["path",{d:"M11 10.27 7 3.34",key:"16pf9h"}],["path",{d:"m20.66 17-1.73-1",key:"sg0v6f"}],["path",{d:"m3.34 7 1.73 1",key:"1ulond"}],["path",{d:"M14 12h8",key:"4f43i9"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"m20.66 7-1.73 1",key:"1ow05n"}],["path",{d:"m3.34 17 1.73-1",key:"nuk764"}],["path",{d:"m17 3.34-1 1.73",key:"2wel8s"}],["path",{d:"m11 13.73-4 6.93",key:"794ttg"}]]);/**
1483 * @license lucide-react v0.469.0 - ISC
1484 *
1485 * This source code is licensed under the ISC license.
1486 * See the LICENSE file in the root directory of this source tree.
1487 */const Jk=ft("Columns2",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M12 3v18",key:"108xh3"}]]);/**
1488 * @license lucide-react v0.469.0 - ISC
1489 *
1490 * This source code is licensed under the ISC license.
1491 * See the LICENSE file in the root directory of this source tree.
1492 */const Zse=ft("Compass",[["path",{d:"m16.24 7.76-1.804 5.411a2 2 0 0 1-1.265 1.265L7.76 16.24l1.804-5.411a2 2 0 0 1 1.265-1.265z",key:"9ktpf1"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);/**
1493 * @license lucide-react v0.469.0 - ISC
1494 *
1495 * This source code is licensed under the ISC license.
1496 * See the LICENSE file in the root directory of this source tree.
1497 */const Pa=ft("Copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]]);/**
1498 * @license lucide-react v0.469.0 - ISC
1499 *
1500 * This source code is licensed under the ISC license.
1501 * See the LICENSE file in the root directory of this source tree.
1502 */const k7e=ft("Crown",[["path",{d:"M11.562 3.266a.5.5 0 0 1 .876 0L15.39 8.87a1 1 0 0 0 1.516.294L21.183 5.5a.5.5 0 0 1 .798.519l-2.834 10.246a1 1 0 0 1-.956.734H5.81a1 1 0 0 1-.957-.734L2.02 6.02a.5.5 0 0 1 .798-.519l4.276 3.664a1 1 0 0 0 1.516-.294z",key:"1vdc57"}],["path",{d:"M5 21h14",key:"11awu3"}]]);/**
1503 * @license lucide-react v0.469.0 - ISC
1504 *
1505 * This source code is licensed under the ISC license.
1506 * See the LICENSE file in the root directory of this source tree.
1507 */const j7e=ft("Database",[["ellipse",{cx:"12",cy:"5",rx:"9",ry:"3",key:"msslwz"}],["path",{d:"M3 5V19A9 3 0 0 0 21 19V5",key:"1wlel7"}],["path",{d:"M3 12A9 3 0 0 0 21 12",key:"mv7ke4"}]]);/**
1508 * @license lucide-react v0.469.0 - ISC
1509 *
1510 * This source code is licensed under the ISC license.
1511 * See the LICENSE file in the root directory of this source tree.
1512 */const rL=ft("Download",[["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["polyline",{points:"7 10 12 15 17 10",key:"2ggqvy"}],["line",{x1:"12",x2:"12",y1:"15",y2:"3",key:"1vk2je"}]]);/**
1513 * @license lucide-react v0.469.0 - ISC
1514 *
1515 * This source code is licensed under the ISC license.
1516 * See the LICENSE file in the root directory of this source tree.
1517 */const xS=ft("EllipsisVertical",[["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}],["circle",{cx:"12",cy:"5",r:"1",key:"gxeob9"}],["circle",{cx:"12",cy:"19",r:"1",key:"lyex9k"}]]);/**
1518 * @license lucide-react v0.469.0 - ISC
1519 *
1520 * This source code is licensed under the ISC license.
1521 * See the LICENSE file in the root directory of this source tree.
1522 */const kS=ft("Ellipsis",[["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}],["circle",{cx:"19",cy:"12",r:"1",key:"1wjl8i"}],["circle",{cx:"5",cy:"12",r:"1",key:"1pcz8c"}]]);/**
1523 * @license lucide-react v0.469.0 - ISC
1524 *
1525 * This source code is licensed under the ISC license.
1526 * See the LICENSE file in the root directory of this source tree.
1527 */const C7e=ft("Eraser",[["path",{d:"m7 21-4.3-4.3c-1-1-1-2.5 0-3.4l9.6-9.6c1-1 2.5-1 3.4 0l5.6 5.6c1 1 1 2.5 0 3.4L13 21",key:"182aya"}],["path",{d:"M22 21H7",key:"t4ddhn"}],["path",{d:"m5 11 9 9",key:"1mo9qw"}]]);/**
1528 * @license lucide-react v0.469.0 - ISC
1529 *
1530 * This source code is licensed under the ISC license.
1531 * See the LICENSE file in the root directory of this source tree.
1532 */const nf=ft("ExternalLink",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]]);/**
1533 * @license lucide-react v0.469.0 - ISC
1534 *
1535 * This source code is licensed under the ISC license.
1536 * See the LICENSE file in the root directory of this source tree.
1537 */const S7e=ft("EyeOff",[["path",{d:"M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49",key:"ct8e1f"}],["path",{d:"M14.084 14.158a3 3 0 0 1-4.242-4.242",key:"151rxh"}],["path",{d:"M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151 1 1 0 0 1 0-.696 10.75 10.75 0 0 1 4.446-5.143",key:"13bj9a"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]]);/**
1538 * @license lucide-react v0.469.0 - ISC
1539 *
1540 * This source code is licensed under the ISC license.
1541 * See the LICENSE file in the root directory of this source tree.
1542 */const Qse=ft("Eye",[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);/**
1543 * @license lucide-react v0.469.0 - ISC
1544 *
1545 * This source code is licensed under the ISC license.
1546 * See the LICENSE file in the root directory of this source tree.
1547 */const Jse=ft("FolderClosed",[["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}],["path",{d:"M2 10h20",key:"1ir3d8"}]]);/**
1548 * @license lucide-react v0.469.0 - ISC
1549 *
1550 * This source code is licensed under the ISC license.
1551 * See the LICENSE file in the root directory of this source tree.
1552 */const dY=ft("FolderPlus",[["path",{d:"M12 10v6",key:"1bos4e"}],["path",{d:"M9 13h6",key:"1uhe8q"}],["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]]);/**
1553 * @license lucide-react v0.469.0 - ISC
1554 *
1555 * This source code is licensed under the ISC license.
1556 * See the LICENSE file in the root directory of this source tree.
1557 */const E7e=ft("GitBranch",[["line",{x1:"6",x2:"6",y1:"3",y2:"15",key:"17qcm7"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}],["path",{d:"M18 9a9 9 0 0 1-9 9",key:"n2h4wq"}]]);/**
1558 * @license lucide-react v0.469.0 - ISC
1559 *
1560 * This source code is licensed under the ISC license.
1561 * See the LICENSE file in the root directory of this source tree.
1562 */const Xse=ft("Globe",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20",key:"13o1zl"}],["path",{d:"M2 12h20",key:"9i4pu4"}]]);/**
1563 * @license lucide-react v0.469.0 - ISC
1564 *
1565 * This source code is licensed under the ISC license.
1566 * See the LICENSE file in the root directory of this source tree.
1567 */const oL=ft("GripVertical",[["circle",{cx:"9",cy:"12",r:"1",key:"1vctgf"}],["circle",{cx:"9",cy:"5",r:"1",key:"hp0tcf"}],["circle",{cx:"9",cy:"19",r:"1",key:"fkjjf6"}],["circle",{cx:"15",cy:"12",r:"1",key:"1tmaij"}],["circle",{cx:"15",cy:"5",r:"1",key:"19l28e"}],["circle",{cx:"15",cy:"19",r:"1",key:"f4zoj3"}]]);/**
1568 * @license lucide-react v0.469.0 - ISC
1569 *
1570 * This source code is licensed under the ISC license.
1571 * See the LICENSE file in the root directory of this source tree.
1572 */const n2=ft("Hash",[["line",{x1:"4",x2:"20",y1:"9",y2:"9",key:"4lhtct"}],["line",{x1:"4",x2:"20",y1:"15",y2:"15",key:"vyu0kd"}],["line",{x1:"10",x2:"8",y1:"3",y2:"21",key:"1ggp8o"}],["line",{x1:"16",x2:"14",y1:"3",y2:"21",key:"weycgp"}]]);/**
1573 * @license lucide-react v0.469.0 - ISC
1574 *
1575 * This source code is licensed under the ISC license.
1576 * See the LICENSE file in the root directory of this source tree.
1577 */const Xk=ft("Heart",[["path",{d:"M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2-1.5-1.5-2.74-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4.05 3 5.5l7 7Z",key:"c3ymky"}]]);/**
1578 * @license lucide-react v0.469.0 - ISC
1579 *
1580 * This source code is licensed under the ISC license.
1581 * See the LICENSE file in the root directory of this source tree.
1582 */const eae=ft("Highlighter",[["path",{d:"m9 11-6 6v3h9l3-3",key:"1a3l36"}],["path",{d:"m22 12-4.6 4.6a2 2 0 0 1-2.8 0l-5.2-5.2a2 2 0 0 1 0-2.8L14 4",key:"14a9rk"}]]);/**
1583 * @license lucide-react v0.469.0 - ISC
1584 *
1585 * This source code is licensed under the ISC license.
1586 * See the LICENSE file in the root directory of this source tree.
1587 */const N7e=ft("House",[["path",{d:"M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8",key:"5wwlr5"}],["path",{d:"M3 10a2 2 0 0 1 .709-1.528l7-5.999a2 2 0 0 1 2.582 0l7 5.999A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z",key:"1d0kgt"}]]);/**
1588 * @license lucide-react v0.469.0 - ISC
1589 *
1590 * This source code is licensed under the ISC license.
1591 * See the LICENSE file in the root directory of this source tree.
1592 */const I7e=ft("ImageOff",[["line",{x1:"2",x2:"22",y1:"2",y2:"22",key:"a6p6uj"}],["path",{d:"M10.41 10.41a2 2 0 1 1-2.83-2.83",key:"1bzlo9"}],["line",{x1:"13.5",x2:"6",y1:"13.5",y2:"21",key:"1q0aeu"}],["line",{x1:"18",x2:"21",y1:"12",y2:"15",key:"5mozeu"}],["path",{d:"M3.59 3.59A1.99 1.99 0 0 0 3 5v14a2 2 0 0 0 2 2h14c.55 0 1.052-.22 1.41-.59",key:"mmje98"}],["path",{d:"M21 15V5a2 2 0 0 0-2-2H9",key:"43el77"}]]);/**
1593 * @license lucide-react v0.469.0 - ISC
1594 *
1595 * This source code is licensed under the ISC license.
1596 * See the LICENSE file in the root directory of this source tree.
1597 */const A7e=ft("ImageUp",[["path",{d:"M10.3 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v10l-3.1-3.1a2 2 0 0 0-2.814.014L6 21",key:"9csbqa"}],["path",{d:"m14 19.5 3-3 3 3",key:"9vmjn0"}],["path",{d:"M17 22v-5.5",key:"1aa6fl"}],["circle",{cx:"9",cy:"9",r:"2",key:"af1f0g"}]]);/**
1598 * @license lucide-react v0.469.0 - ISC
1599 *
1600 * This source code is licensed under the ISC license.
1601 * See the LICENSE file in the root directory of this source tree.
1602 */const sL=ft("Info",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]]);/**
1603 * @license lucide-react v0.469.0 - ISC
1604 *
1605 * This source code is licensed under the ISC license.
1606 * See the LICENSE file in the root directory of this source tree.
1607 */const pY=ft("KeyRound",[["path",{d:"M2.586 17.414A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814a6.5 6.5 0 1 0-4-4z",key:"1s6t7t"}],["circle",{cx:"16.5",cy:"7.5",r:".5",fill:"currentColor",key:"w0ekpg"}]]);/**
1608 * @license lucide-react v0.469.0 - ISC
1609 *
1610 * This source code is licensed under the ISC license.
1611 * See the LICENSE file in the root directory of this source tree.
1612 */const tae=ft("Keyboard",[["path",{d:"M10 8h.01",key:"1r9ogq"}],["path",{d:"M12 12h.01",key:"1mp3jc"}],["path",{d:"M14 8h.01",key:"1primd"}],["path",{d:"M16 12h.01",key:"1l6xoz"}],["path",{d:"M18 8h.01",key:"emo2bl"}],["path",{d:"M6 8h.01",key:"x9i8wu"}],["path",{d:"M7 16h10",key:"wp8him"}],["path",{d:"M8 12h.01",key:"czm47f"}],["rect",{width:"20",height:"16",x:"2",y:"4",rx:"2",key:"18n3k1"}]]);/**
1613 * @license lucide-react v0.469.0 - ISC
1614 *
1615 * This source code is licensed under the ISC license.
1616 * See the LICENSE file in the root directory of this source tree.
1617 */const nae=ft("LayoutList",[["rect",{width:"7",height:"7",x:"3",y:"3",rx:"1",key:"1g98yp"}],["rect",{width:"7",height:"7",x:"3",y:"14",rx:"1",key:"1bb6yr"}],["path",{d:"M14 4h7",key:"3xa0d5"}],["path",{d:"M14 9h7",key:"1icrd9"}],["path",{d:"M14 15h7",key:"1mj8o2"}],["path",{d:"M14 20h7",key:"11slyb"}]]);/**
1618 * @license lucide-react v0.469.0 - ISC
1619 *
1620 * This source code is licensed under the ISC license.
1621 * See the LICENSE file in the root directory of this source tree.
1622 */const rae=ft("Library",[["path",{d:"m16 6 4 14",key:"ji33uf"}],["path",{d:"M12 6v14",key:"1n7gus"}],["path",{d:"M8 8v12",key:"1gg7y9"}],["path",{d:"M4 4v16",key:"6qkkli"}]]);/**
1623 * @license lucide-react v0.469.0 - ISC
1624 *
1625 * This source code is licensed under the ISC license.
1626 * See the LICENSE file in the root directory of this source tree.
1627 */const _7e=ft("Link2",[["path",{d:"M9 17H7A5 5 0 0 1 7 7h2",key:"8i5ue5"}],["path",{d:"M15 7h2a5 5 0 1 1 0 10h-2",key:"1b9ql8"}],["line",{x1:"8",x2:"16",y1:"12",y2:"12",key:"1jonct"}]]);/**
1628 * @license lucide-react v0.469.0 - ISC
1629 *
1630 * This source code is licensed under the ISC license.
1631 * See the LICENSE file in the root directory of this source tree.
1632 */const r2=ft("Link",[["path",{d:"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71",key:"1cjeqo"}],["path",{d:"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71",key:"19qd67"}]]);/**
1633 * @license lucide-react v0.469.0 - ISC
1634 *
1635 * This source code is licensed under the ISC license.
1636 * See the LICENSE file in the root directory of this source tree.
1637 */const M7e=ft("ListFilter",[["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M7 12h10",key:"b7w52i"}],["path",{d:"M10 18h4",key:"1ulq68"}]]);/**
1638 * @license lucide-react v0.469.0 - ISC
1639 *
1640 * This source code is licensed under the ISC license.
1641 * See the LICENSE file in the root directory of this source tree.
1642 */const R7e=ft("ListTodo",[["rect",{x:"3",y:"5",width:"6",height:"6",rx:"1",key:"1defrl"}],["path",{d:"m3 17 2 2 4-4",key:"1jhpwq"}],["path",{d:"M13 6h8",key:"15sg57"}],["path",{d:"M13 12h8",key:"h98zly"}],["path",{d:"M13 18h8",key:"oe0vm4"}]]);/**
1643 * @license lucide-react v0.469.0 - ISC
1644 *
1645 * This source code is licensed under the ISC license.
1646 * See the LICENSE file in the root directory of this source tree.
1647 */const oae=ft("List",[["path",{d:"M3 12h.01",key:"nlz23k"}],["path",{d:"M3 18h.01",key:"1tta3j"}],["path",{d:"M3 6h.01",key:"1rqtza"}],["path",{d:"M8 12h13",key:"1za7za"}],["path",{d:"M8 18h13",key:"1lx6n3"}],["path",{d:"M8 6h13",key:"ik3vkj"}]]);/**
1648 * @license lucide-react v0.469.0 - ISC
1649 *
1650 * This source code is licensed under the ISC license.
1651 * See the LICENSE file in the root directory of this source tree.
1652 */const so=ft("LoaderCircle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);/**
1653 * @license lucide-react v0.469.0 - ISC
1654 *
1655 * This source code is licensed under the ISC license.
1656 * See the LICENSE file in the root directory of this source tree.
1657 */const _r=ft("Loader",[["path",{d:"M12 2v4",key:"3427ic"}],["path",{d:"m16.2 7.8 2.9-2.9",key:"r700ao"}],["path",{d:"M18 12h4",key:"wj9ykh"}],["path",{d:"m16.2 16.2 2.9 2.9",key:"1bxg5t"}],["path",{d:"M12 18v4",key:"jadmvz"}],["path",{d:"m4.9 19.1 2.9-2.9",key:"bwix9q"}],["path",{d:"M2 12h4",key:"j09sii"}],["path",{d:"m4.9 4.9 2.9 2.9",key:"giyufr"}]]);/**
1658 * @license lucide-react v0.469.0 - ISC
1659 *
1660 * This source code is licensed under the ISC license.
1661 * See the LICENSE file in the root directory of this source tree.
1662 */const jS=ft("LockOpen",[["rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2",key:"1w4ew1"}],["path",{d:"M7 11V7a5 5 0 0 1 9.9-1",key:"1mm8w8"}]]);/**
1663 * @license lucide-react v0.469.0 - ISC
1664 *
1665 * This source code is licensed under the ISC license.
1666 * See the LICENSE file in the root directory of this source tree.
1667 */const uh=ft("Lock",[["rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2",key:"1w4ew1"}],["path",{d:"M7 11V7a5 5 0 0 1 10 0v4",key:"fwvmzm"}]]);/**
1668 * @license lucide-react v0.469.0 - ISC
1669 *
1670 * This source code is licensed under the ISC license.
1671 * See the LICENSE file in the root directory of this source tree.
1672 */const ex=ft("LogIn",[["path",{d:"M15 3h4a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-4",key:"u53s6r"}],["polyline",{points:"10 17 15 12 10 7",key:"1ail0h"}],["line",{x1:"15",x2:"3",y1:"12",y2:"12",key:"v6grx8"}]]);/**
1673 * @license lucide-react v0.469.0 - ISC
1674 *
1675 * This source code is licensed under the ISC license.
1676 * See the LICENSE file in the root directory of this source tree.
1677 */const CS=ft("LogOut",[["path",{d:"M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4",key:"1uf3rs"}],["polyline",{points:"16 17 21 12 16 7",key:"1gabdz"}],["line",{x1:"21",x2:"9",y1:"12",y2:"12",key:"1uyos4"}]]);/**
1678 * @license lucide-react v0.469.0 - ISC
1679 *
1680 * This source code is licensed under the ISC license.
1681 * See the LICENSE file in the root directory of this source tree.
1682 */const T7e=ft("MailX",[["path",{d:"M22 13V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v12c0 1.1.9 2 2 2h9",key:"1j9vog"}],["path",{d:"m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7",key:"1ocrg3"}],["path",{d:"m17 17 4 4",key:"1b3523"}],["path",{d:"m21 17-4 4",key:"uinynz"}]]);/**
1683 * @license lucide-react v0.469.0 - ISC
1684 *
1685 * This source code is licensed under the ISC license.
1686 * See the LICENSE file in the root directory of this source tree.
1687 */const tx=ft("Mail",[["rect",{width:"20",height:"16",x:"2",y:"4",rx:"2",key:"18n3k1"}],["path",{d:"m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7",key:"1ocrg3"}]]);/**
1688 * @license lucide-react v0.469.0 - ISC
1689 *
1690 * This source code is licensed under the ISC license.
1691 * See the LICENSE file in the root directory of this source tree.
1692 */const nx=ft("MessageCircle",[["path",{d:"M7.9 20A9 9 0 1 0 4 16.1L2 22Z",key:"vv11sd"}]]);/**
1693 * @license lucide-react v0.469.0 - ISC
1694 *
1695 * This source code is licensed under the ISC license.
1696 * See the LICENSE file in the root directory of this source tree.
1697 */const rf=ft("MessageSquare",[["path",{d:"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z",key:"1lielz"}]]);/**
1698 * @license lucide-react v0.469.0 - ISC
1699 *
1700 * This source code is licensed under the ISC license.
1701 * See the LICENSE file in the root directory of this source tree.
1702 */const D7e=ft("Minimize2",[["polyline",{points:"4 14 10 14 10 20",key:"11kfnr"}],["polyline",{points:"20 10 14 10 14 4",key:"rlmsce"}],["line",{x1:"14",x2:"21",y1:"10",y2:"3",key:"o5lafz"}],["line",{x1:"3",x2:"10",y1:"21",y2:"14",key:"1atl0r"}]]);/**
1703 * @license lucide-react v0.469.0 - ISC
1704 *
1705 * This source code is licensed under the ISC license.
1706 * See the LICENSE file in the root directory of this source tree.
1707 */const L7e=ft("Minus",[["path",{d:"M5 12h14",key:"1ays0h"}]]);/**
1708 * @license lucide-react v0.469.0 - ISC
1709 *
1710 * This source code is licensed under the ISC license.
1711 * See the LICENSE file in the root directory of this source tree.
1712 */const sae=ft("Monitor",[["rect",{width:"20",height:"14",x:"2",y:"3",rx:"2",key:"48i651"}],["line",{x1:"8",x2:"16",y1:"21",y2:"21",key:"1svkeh"}],["line",{x1:"12",x2:"12",y1:"17",y2:"21",key:"vw1qmm"}]]);/**
1713 * @license lucide-react v0.469.0 - ISC
1714 *
1715 * This source code is licensed under the ISC license.
1716 * See the LICENSE file in the root directory of this source tree.
1717 */const aae=ft("Moon",[["path",{d:"M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z",key:"a7tn18"}]]);/**
1718 * @license lucide-react v0.469.0 - ISC
1719 *
1720 * This source code is licensed under the ISC license.
1721 * See the LICENSE file in the root directory of this source tree.
1722 */const P7e=ft("Notebook",[["path",{d:"M2 6h4",key:"aawbzj"}],["path",{d:"M2 10h4",key:"l0bgd4"}],["path",{d:"M2 14h4",key:"1gsvsf"}],["path",{d:"M2 18h4",key:"1bu2t1"}],["rect",{width:"16",height:"20",x:"4",y:"2",rx:"2",key:"1nb95v"}],["path",{d:"M16 2v20",key:"rotuqe"}]]);/**
1723 * @license lucide-react v0.469.0 - ISC
1724 *
1725 * This source code is licensed under the ISC license.
1726 * See the LICENSE file in the root directory of this source tree.
1727 */const O7e=ft("Palette",[["circle",{cx:"13.5",cy:"6.5",r:".5",fill:"currentColor",key:"1okk4w"}],["circle",{cx:"17.5",cy:"10.5",r:".5",fill:"currentColor",key:"f64h9f"}],["circle",{cx:"8.5",cy:"7.5",r:".5",fill:"currentColor",key:"fotxhn"}],["circle",{cx:"6.5",cy:"12.5",r:".5",fill:"currentColor",key:"qy21gx"}],["path",{d:"M12 2C6.5 2 2 6.5 2 12s4.5 10 10 10c.926 0 1.648-.746 1.648-1.688 0-.437-.18-.835-.437-1.125-.29-.289-.438-.652-.438-1.125a1.64 1.64 0 0 1 1.668-1.668h1.996c3.051 0 5.555-2.503 5.555-5.554C21.965 6.012 17.461 2 12 2z",key:"12rzf8"}]]);/**
1728 * @license lucide-react v0.469.0 - ISC
1729 *
1730 * This source code is licensed under the ISC license.
1731 * See the LICENSE file in the root directory of this source tree.
1732 */const ej=ft("PanelLeft",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}]]);/**
1733 * @license lucide-react v0.469.0 - ISC
1734 *
1735 * This source code is licensed under the ISC license.
1736 * See the LICENSE file in the root directory of this source tree.
1737 */const z7e=ft("PanelsTopLeft",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M3 9h18",key:"1pudct"}],["path",{d:"M9 21V9",key:"1oto5p"}]]);/**
1738 * @license lucide-react v0.469.0 - ISC
1739 *
1740 * This source code is licensed under the ISC license.
1741 * See the LICENSE file in the root directory of this source tree.
1742 */const F7e=ft("Pause",[["rect",{x:"14",y:"4",width:"4",height:"16",rx:"1",key:"zuxfzm"}],["rect",{x:"6",y:"4",width:"4",height:"16",rx:"1",key:"1okwgv"}]]);/**
1743 * @license lucide-react v0.469.0 - ISC
1744 *
1745 * This source code is licensed under the ISC license.
1746 * See the LICENSE file in the root directory of this source tree.
1747 */const o2=ft("PencilLine",[["path",{d:"M12 20h9",key:"t2du7b"}],["path",{d:"M16.376 3.622a1 1 0 0 1 3.002 3.002L7.368 18.635a2 2 0 0 1-.855.506l-2.872.838a.5.5 0 0 1-.62-.62l.838-2.872a2 2 0 0 1 .506-.854z",key:"1ykcvy"}],["path",{d:"m15 5 3 3",key:"1w25hb"}]]);/**
1748 * @license lucide-react v0.469.0 - ISC
1749 *
1750 * This source code is licensed under the ISC license.
1751 * See the LICENSE file in the root directory of this source tree.
1752 */const B7e=ft("PinOff",[["path",{d:"M12 17v5",key:"bb1du9"}],["path",{d:"M15 9.34V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H7.89",key:"znwnzq"}],["path",{d:"m2 2 20 20",key:"1ooewy"}],["path",{d:"M9 9v1.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h11",key:"c9qhm2"}]]);/**
1753 * @license lucide-react v0.469.0 - ISC
1754 *
1755 * This source code is licensed under the ISC license.
1756 * See the LICENSE file in the root directory of this source tree.
1757 */const D8=ft("Pin",[["path",{d:"M12 17v5",key:"bb1du9"}],["path",{d:"M9 10.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-.76a2 2 0 0 0-1.11-1.79l-1.78-.9A2 2 0 0 1 15 10.76V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H8a2 2 0 0 0 0 4 1 1 0 0 1 1 1z",key:"1nkz8b"}]]);/**
1758 * @license lucide-react v0.469.0 - ISC
1759 *
1760 * This source code is licensed under the ISC license.
1761 * See the LICENSE file in the root directory of this source tree.
1762 */const aL=ft("Play",[["polygon",{points:"6 3 20 12 6 21 6 3",key:"1oa8hb"}]]);/**
1763 * @license lucide-react v0.469.0 - ISC
1764 *
1765 * This source code is licensed under the ISC license.
1766 * See the LICENSE file in the root directory of this source tree.
1767 */const Kl=ft("Plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);/**
1768 * @license lucide-react v0.469.0 - ISC
1769 *
1770 * This source code is licensed under the ISC license.
1771 * See the LICENSE file in the root directory of this source tree.
1772 */const s2=ft("QrCode",[["rect",{width:"5",height:"5",x:"3",y:"3",rx:"1",key:"1tu5fj"}],["rect",{width:"5",height:"5",x:"16",y:"3",rx:"1",key:"1v8r4q"}],["rect",{width:"5",height:"5",x:"3",y:"16",rx:"1",key:"1x03jg"}],["path",{d:"M21 16h-3a2 2 0 0 0-2 2v3",key:"177gqh"}],["path",{d:"M21 21v.01",key:"ents32"}],["path",{d:"M12 7v3a2 2 0 0 1-2 2H7",key:"8crl2c"}],["path",{d:"M3 12h.01",key:"nlz23k"}],["path",{d:"M12 3h.01",key:"n36tog"}],["path",{d:"M12 16v.01",key:"133mhm"}],["path",{d:"M16 12h1",key:"1slzba"}],["path",{d:"M21 12v.01",key:"1lwtk9"}],["path",{d:"M12 21v-1",key:"1880an"}]]);/**
1773 * @license lucide-react v0.469.0 - ISC
1774 *
1775 * This source code is licensed under the ISC license.
1776 * See the LICENSE file in the root directory of this source tree.
1777 */const iae=ft("Quote",[["path",{d:"M16 3a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2 1 1 0 0 1 1 1v1a2 2 0 0 1-2 2 1 1 0 0 0-1 1v2a1 1 0 0 0 1 1 6 6 0 0 0 6-6V5a2 2 0 0 0-2-2z",key:"rib7q0"}],["path",{d:"M5 3a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2 1 1 0 0 1 1 1v1a2 2 0 0 1-2 2 1 1 0 0 0-1 1v2a1 1 0 0 0 1 1 6 6 0 0 0 6-6V5a2 2 0 0 0-2-2z",key:"1ymkrd"}]]);/**
1778 * @license lucide-react v0.469.0 - ISC
1779 *
1780 * This source code is licensed under the ISC license.
1781 * See the LICENSE file in the root directory of this source tree.
1782 */const U7e=ft("Radio",[["path",{d:"M4.9 19.1C1 15.2 1 8.8 4.9 4.9",key:"1vaf9d"}],["path",{d:"M7.8 16.2c-2.3-2.3-2.3-6.1 0-8.5",key:"u1ii0m"}],["circle",{cx:"12",cy:"12",r:"2",key:"1c9p78"}],["path",{d:"M16.2 7.8c2.3 2.3 2.3 6.1 0 8.5",key:"1j5fej"}],["path",{d:"M19.1 4.9C23 8.8 23 15.1 19.1 19",key:"10b0cb"}]]);/**
1783 * @license lucide-react v0.469.0 - ISC
1784 *
1785 * This source code is licensed under the ISC license.
1786 * See the LICENSE file in the root directory of this source tree.
1787 */const lae=ft("RefreshCcw",[["path",{d:"M21 12a9 9 0 0 0-9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"14sxne"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}],["path",{d:"M3 12a9 9 0 0 0 9 9 9.75 9.75 0 0 0 6.74-2.74L21 16",key:"1hlbsb"}],["path",{d:"M16 16h5v5",key:"ccwih5"}]]);/**
1788 * @license lucide-react v0.469.0 - ISC
1789 *
1790 * This source code is licensed under the ISC license.
1791 * See the LICENSE file in the root directory of this source tree.
1792 */const Hl=ft("RefreshCw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]]);/**
1793 * @license lucide-react v0.469.0 - ISC
1794 *
1795 * This source code is licensed under the ISC license.
1796 * See the LICENSE file in the root directory of this source tree.
1797 */const cae=ft("Repeat2",[["path",{d:"m2 9 3-3 3 3",key:"1ltn5i"}],["path",{d:"M13 18H7a2 2 0 0 1-2-2V6",key:"1r6tfw"}],["path",{d:"m22 15-3 3-3-3",key:"4rnwn2"}],["path",{d:"M11 6h6a2 2 0 0 1 2 2v10",key:"2f72bc"}]]);/**
1798 * @license lucide-react v0.469.0 - ISC
1799 *
1800 * This source code is licensed under the ISC license.
1801 * See the LICENSE file in the root directory of this source tree.
1802 */const Jw=ft("Repeat",[["path",{d:"m17 2 4 4-4 4",key:"nntrym"}],["path",{d:"M3 11v-1a4 4 0 0 1 4-4h14",key:"84bu3i"}],["path",{d:"m7 22-4-4 4-4",key:"1wqhfi"}],["path",{d:"M21 13v1a4 4 0 0 1-4 4H3",key:"1rx37r"}]]);/**
1803 * @license lucide-react v0.469.0 - ISC
1804 *
1805 * This source code is licensed under the ISC license.
1806 * See the LICENSE file in the root directory of this source tree.
1807 */const uae=ft("RotateCcw",[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}]]);/**
1808 * @license lucide-react v0.469.0 - ISC
1809 *
1810 * This source code is licensed under the ISC license.
1811 * See the LICENSE file in the root directory of this source tree.
1812 */const $7e=ft("RotateCw",[["path",{d:"M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8",key:"1p45f6"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}]]);/**
1813 * @license lucide-react v0.469.0 - ISC
1814 *
1815 * This source code is licensed under the ISC license.
1816 * See the LICENSE file in the root directory of this source tree.
1817 */const V7e=ft("SatelliteDish",[["path",{d:"M4 10a7.31 7.31 0 0 0 10 10Z",key:"1fzpp3"}],["path",{d:"m9 15 3-3",key:"88sc13"}],["path",{d:"M17 13a6 6 0 0 0-6-6",key:"15cc6u"}],["path",{d:"M21 13A10 10 0 0 0 11 3",key:"11nf8s"}]]);/**
1818 * @license lucide-react v0.469.0 - ISC
1819 *
1820 * This source code is licensed under the ISC license.
1821 * See the LICENSE file in the root directory of this source tree.
1822 */const SS=ft("ScanLine",[["path",{d:"M3 7V5a2 2 0 0 1 2-2h2",key:"aa7l1z"}],["path",{d:"M17 3h2a2 2 0 0 1 2 2v2",key:"4qcy5o"}],["path",{d:"M21 17v2a2 2 0 0 1-2 2h-2",key:"6vwrx8"}],["path",{d:"M7 21H5a2 2 0 0 1-2-2v-2",key:"ioqczr"}],["path",{d:"M7 12h10",key:"b7w52i"}]]);/**
1823 * @license lucide-react v0.469.0 - ISC
1824 *
1825 * This source code is licensed under the ISC license.
1826 * See the LICENSE file in the root directory of this source tree.
1827 */const rx=ft("Search",[["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["path",{d:"m21 21-4.3-4.3",key:"1qie3q"}]]);/**
1828 * @license lucide-react v0.469.0 - ISC
1829 *
1830 * This source code is licensed under the ISC license.
1831 * See the LICENSE file in the root directory of this source tree.
1832 */const fae=ft("Send",[["path",{d:"M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z",key:"1ffxy3"}],["path",{d:"m21.854 2.147-10.94 10.939",key:"12cjpa"}]]);/**
1833 * @license lucide-react v0.469.0 - ISC
1834 *
1835 * This source code is licensed under the ISC license.
1836 * See the LICENSE file in the root directory of this source tree.
1837 */const ei=ft("Server",[["rect",{width:"20",height:"8",x:"2",y:"2",rx:"2",ry:"2",key:"ngkwjq"}],["rect",{width:"20",height:"8",x:"2",y:"14",rx:"2",ry:"2",key:"iecqi9"}],["line",{x1:"6",x2:"6.01",y1:"6",y2:"6",key:"16zg32"}],["line",{x1:"6",x2:"6.01",y1:"18",y2:"18",key:"nzw8ys"}]]);/**
1838 * @license lucide-react v0.469.0 - ISC
1839 *
1840 * This source code is licensed under the ISC license.
1841 * See the LICENSE file in the root directory of this source tree.
1842 */const iL=ft("Settings2",[["path",{d:"M20 7h-9",key:"3s1dr2"}],["path",{d:"M14 17H5",key:"gfn3mx"}],["circle",{cx:"17",cy:"17",r:"3",key:"18b49y"}],["circle",{cx:"7",cy:"7",r:"3",key:"dfmy0x"}]]);/**
1843 * @license lucide-react v0.469.0 - ISC
1844 *
1845 * This source code is licensed under the ISC license.
1846 * See the LICENSE file in the root directory of this source tree.
1847 */const Ch=ft("Settings",[["path",{d:"M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z",key:"1qme2f"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);/**
1848 * @license lucide-react v0.469.0 - ISC
1849 *
1850 * This source code is licensed under the ISC license.
1851 * See the LICENSE file in the root directory of this source tree.
1852 */const dae=ft("ShieldAlert",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"M12 8v4",key:"1got3b"}],["path",{d:"M12 16h.01",key:"1drbdi"}]]);/**
1853 * @license lucide-react v0.469.0 - ISC
1854 *
1855 * This source code is licensed under the ISC license.
1856 * See the LICENSE file in the root directory of this source tree.
1857 */const H7e=ft("ShieldCheck",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);/**
1858 * @license lucide-react v0.469.0 - ISC
1859 *
1860 * This source code is licensed under the ISC license.
1861 * See the LICENSE file in the root directory of this source tree.
1862 */const W7e=ft("ShieldMinus",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"M9 12h6",key:"1c52cq"}]]);/**
1863 * @license lucide-react v0.469.0 - ISC
1864 *
1865 * This source code is licensed under the ISC license.
1866 * See the LICENSE file in the root directory of this source tree.
1867 */const pae=ft("ShieldOff",[["path",{d:"m2 2 20 20",key:"1ooewy"}],["path",{d:"M5 5a1 1 0 0 0-1 1v7c0 5 3.5 7.5 7.67 8.94a1 1 0 0 0 .67.01c2.35-.82 4.48-1.97 5.9-3.71",key:"1jlk70"}],["path",{d:"M9.309 3.652A12.252 12.252 0 0 0 11.24 2.28a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1v7a9.784 9.784 0 0 1-.08 1.264",key:"18rp1v"}]]);/**
1868 * @license lucide-react v0.469.0 - ISC
1869 *
1870 * This source code is licensed under the ISC license.
1871 * See the LICENSE file in the root directory of this source tree.
1872 */const hae=ft("ShieldPlus",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"M9 12h6",key:"1c52cq"}],["path",{d:"M12 9v6",key:"199k2o"}]]);/**
1873 * @license lucide-react v0.469.0 - ISC
1874 *
1875 * This source code is licensed under the ISC license.
1876 * See the LICENSE file in the root directory of this source tree.
1877 */const ox=ft("Shield",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}]]);/**
1878 * @license lucide-react v0.469.0 - ISC
1879 *
1880 * This source code is licensed under the ISC license.
1881 * See the LICENSE file in the root directory of this source tree.
1882 */const Y7e=ft("Smartphone",[["rect",{width:"14",height:"20",x:"5",y:"2",rx:"2",ry:"2",key:"1yt0o3"}],["path",{d:"M12 18h.01",key:"mhygvu"}]]);/**
1883 * @license lucide-react v0.469.0 - ISC
1884 *
1885 * This source code is licensed under the ISC license.
1886 * See the LICENSE file in the root directory of this source tree.
1887 */const G7e=ft("SmilePlus",[["path",{d:"M22 11v1a10 10 0 1 1-9-10",key:"ew0xw9"}],["path",{d:"M8 14s1.5 2 4 2 4-2 4-2",key:"1y1vjs"}],["line",{x1:"9",x2:"9.01",y1:"9",y2:"9",key:"yxxnd0"}],["line",{x1:"15",x2:"15.01",y1:"9",y2:"9",key:"1p4y9e"}],["path",{d:"M16 5h6",key:"1vod17"}],["path",{d:"M19 2v6",key:"4bpg5p"}]]);/**
1888 * @license lucide-react v0.469.0 - ISC
1889 *
1890 * This source code is licensed under the ISC license.
1891 * See the LICENSE file in the root directory of this source tree.
1892 */const mae=ft("Smile",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M8 14s1.5 2 4 2 4-2 4-2",key:"1y1vjs"}],["line",{x1:"9",x2:"9.01",y1:"9",y2:"9",key:"yxxnd0"}],["line",{x1:"15",x2:"15.01",y1:"9",y2:"9",key:"1p4y9e"}]]);/**
1893 * @license lucide-react v0.469.0 - ISC
1894 *
1895 * This source code is licensed under the ISC license.
1896 * See the LICENSE file in the root directory of this source tree.
1897 */const q7e=ft("Sparkles",[["path",{d:"M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z",key:"4pj2yx"}],["path",{d:"M20 3v4",key:"1olli1"}],["path",{d:"M22 5h-4",key:"1gvqau"}],["path",{d:"M4 17v2",key:"vumght"}],["path",{d:"M5 18H3",key:"zchphs"}]]);/**
1898 * @license lucide-react v0.469.0 - ISC
1899 *
1900 * This source code is licensed under the ISC license.
1901 * See the LICENSE file in the root directory of this source tree.
1902 */const K7e=ft("SquareCode",[["path",{d:"M10 9.5 8 12l2 2.5",key:"3mjy60"}],["path",{d:"m14 9.5 2 2.5-2 2.5",key:"1bir2l"}],["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]]);/**
1903 * @license lucide-react v0.469.0 - ISC
1904 *
1905 * This source code is licensed under the ISC license.
1906 * See the LICENSE file in the root directory of this source tree.
1907 */const hY=ft("SquarePen",[["path",{d:"M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7",key:"1m0v6g"}],["path",{d:"M18.375 2.625a1 1 0 0 1 3 3l-9.013 9.014a2 2 0 0 1-.853.505l-2.873.84a.5.5 0 0 1-.62-.62l.84-2.873a2 2 0 0 1 .506-.852z",key:"ohrbg2"}]]);/**
1908 * @license lucide-react v0.469.0 - ISC
1909 *
1910 * This source code is licensed under the ISC license.
1911 * See the LICENSE file in the root directory of this source tree.
1912 */const Z7e=ft("Square",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]]);/**
1913 * @license lucide-react v0.469.0 - ISC
1914 *
1915 * This source code is licensed under the ISC license.
1916 * See the LICENSE file in the root directory of this source tree.
1917 */const cd=ft("Star",[["path",{d:"M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z",key:"r04s7s"}]]);/**
1918 * @license lucide-react v0.469.0 - ISC
1919 *
1920 * This source code is licensed under the ISC license.
1921 * See the LICENSE file in the root directory of this source tree.
1922 */const gae=ft("Sun",[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"m4.93 4.93 1.41 1.41",key:"149t6j"}],["path",{d:"m17.66 17.66 1.41 1.41",key:"ptbguv"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"m6.34 17.66-1.41 1.41",key:"1m8zz5"}],["path",{d:"m19.07 4.93-1.41 1.41",key:"1shlcs"}]]);/**
1923 * @license lucide-react v0.469.0 - ISC
1924 *
1925 * This source code is licensed under the ISC license.
1926 * See the LICENSE file in the root directory of this source tree.
1927 */const Q7e=ft("Terminal",[["polyline",{points:"4 17 10 11 4 5",key:"akl6gq"}],["line",{x1:"12",x2:"20",y1:"19",y2:"19",key:"q2wloq"}]]);/**
1928 * @license lucide-react v0.469.0 - ISC
1929 *
1930 * This source code is licensed under the ISC license.
1931 * See the LICENSE file in the root directory of this source tree.
1932 */const of=ft("Trash2",[["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6",key:"4alrt4"}],["path",{d:"M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2",key:"v07s0e"}],["line",{x1:"10",x2:"10",y1:"11",y2:"17",key:"1uufr5"}],["line",{x1:"14",x2:"14",y1:"11",y2:"17",key:"xtxkd"}]]);/**
1933 * @license lucide-react v0.469.0 - ISC
1934 *
1935 * This source code is licensed under the ISC license.
1936 * See the LICENSE file in the root directory of this source tree.
1937 */const lL=ft("TriangleAlert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);/**
1938 * @license lucide-react v0.469.0 - ISC
1939 *
1940 * This source code is licensed under the ISC license.
1941 * See the LICENSE file in the root directory of this source tree.
1942 */const J7e=ft("Type",[["polyline",{points:"4 7 4 4 20 4 20 7",key:"1nosan"}],["line",{x1:"9",x2:"15",y1:"20",y2:"20",key:"swin9y"}],["line",{x1:"12",x2:"12",y1:"4",y2:"20",key:"1tx1rr"}]]);/**
1943 * @license lucide-react v0.469.0 - ISC
1944 *
1945 * This source code is licensed under the ISC license.
1946 * See the LICENSE file in the root directory of this source tree.
1947 */const cL=ft("Undo2",[["path",{d:"M9 14 4 9l5-5",key:"102s5s"}],["path",{d:"M4 9h10.5a5.5 5.5 0 0 1 5.5 5.5a5.5 5.5 0 0 1-5.5 5.5H11",key:"f3b9sd"}]]);/**
1948 * @license lucide-react v0.469.0 - ISC
1949 *
1950 * This source code is licensed under the ISC license.
1951 * See the LICENSE file in the root directory of this source tree.
1952 */const mY=ft("Upload",[["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["polyline",{points:"17 8 12 3 7 8",key:"t8dd8p"}],["line",{x1:"12",x2:"12",y1:"3",y2:"15",key:"widbto"}]]);/**
1953 * @license lucide-react v0.469.0 - ISC
1954 *
1955 * This source code is licensed under the ISC license.
1956 * See the LICENSE file in the root directory of this source tree.
1957 */const Z9=ft("UserCheck",[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}],["polyline",{points:"16 11 18 13 22 9",key:"1pwet4"}]]);/**
1958 * @license lucide-react v0.469.0 - ISC
1959 *
1960 * This source code is licensed under the ISC license.
1961 * See the LICENSE file in the root directory of this source tree.
1962 */const yae=ft("UserMinus",[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}],["line",{x1:"22",x2:"16",y1:"11",y2:"11",key:"1shjgl"}]]);/**
1963 * @license lucide-react v0.469.0 - ISC
1964 *
1965 * This source code is licensed under the ISC license.
1966 * See the LICENSE file in the root directory of this source tree.
1967 */const vae=ft("UserPlus",[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}],["line",{x1:"19",x2:"19",y1:"8",y2:"14",key:"1bvyxn"}],["line",{x1:"22",x2:"16",y1:"11",y2:"11",key:"1shjgl"}]]);/**
1968 * @license lucide-react v0.469.0 - ISC
1969 *
1970 * This source code is licensed under the ISC license.
1971 * See the LICENSE file in the root directory of this source tree.
1972 */const X7e=ft("UserRoundCheck",[["path",{d:"M2 21a8 8 0 0 1 13.292-6",key:"bjp14o"}],["circle",{cx:"10",cy:"8",r:"5",key:"o932ke"}],["path",{d:"m16 19 2 2 4-4",key:"1b14m6"}]]);/**
1973 * @license lucide-react v0.469.0 - ISC
1974 *
1975 * This source code is licensed under the ISC license.
1976 * See the LICENSE file in the root directory of this source tree.
1977 */const ES=ft("UserRound",[["circle",{cx:"12",cy:"8",r:"5",key:"1hypcn"}],["path",{d:"M20 21a8 8 0 0 0-16 0",key:"rfgkzh"}]]);/**
1978 * @license lucide-react v0.469.0 - ISC
1979 *
1980 * This source code is licensed under the ISC license.
1981 * See the LICENSE file in the root directory of this source tree.
1982 */const ePe=ft("UserX",[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}],["line",{x1:"17",x2:"22",y1:"8",y2:"13",key:"3nzzx3"}],["line",{x1:"22",x2:"17",y1:"8",y2:"13",key:"1swrse"}]]);/**
1983 * @license lucide-react v0.469.0 - ISC
1984 *
1985 * This source code is licensed under the ISC license.
1986 * See the LICENSE file in the root directory of this source tree.
1987 */const L8=ft("User",[["path",{d:"M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2",key:"975kel"}],["circle",{cx:"12",cy:"7",r:"4",key:"17ys0d"}]]);/**
1988 * @license lucide-react v0.469.0 - ISC
1989 *
1990 * This source code is licensed under the ISC license.
1991 * See the LICENSE file in the root directory of this source tree.
1992 */const wae=ft("UsersRound",[["path",{d:"M18 21a8 8 0 0 0-16 0",key:"3ypg7q"}],["circle",{cx:"10",cy:"8",r:"5",key:"o932ke"}],["path",{d:"M22 20c0-3.37-2-6.5-4-8a5 5 0 0 0-.45-8.3",key:"10s06x"}]]);/**
1993 * @license lucide-react v0.469.0 - ISC
1994 *
1995 * This source code is licensed under the ISC license.
1996 * See the LICENSE file in the root directory of this source tree.
1997 */const Cg=ft("Users",[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}],["path",{d:"M22 21v-2a4 4 0 0 0-3-3.87",key:"kshegd"}],["path",{d:"M16 3.13a4 4 0 0 1 0 7.75",key:"1da9ce"}]]);/**
1998 * @license lucide-react v0.469.0 - ISC
1999 *
2000 * This source code is licensed under the ISC license.
2001 * See the LICENSE file in the root directory of this source tree.
2002 */const tPe=ft("Vote",[["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}],["path",{d:"M5 7c0-1.1.9-2 2-2h10a2 2 0 0 1 2 2v12H5V7Z",key:"1ezoue"}],["path",{d:"M22 19H2",key:"nuriw5"}]]);/**
2003 * @license lucide-react v0.469.0 - ISC
2004 *
2005 * This source code is licensed under the ISC license.
2006 * See the LICENSE file in the root directory of this source tree.
2007 */const uL=ft("Wallet",[["path",{d:"M19 7V4a1 1 0 0 0-1-1H5a2 2 0 0 0 0 4h15a1 1 0 0 1 1 1v4h-3a2 2 0 0 0 0 4h3a1 1 0 0 0 1-1v-2a1 1 0 0 0-1-1",key:"18etb6"}],["path",{d:"M3 5v14a2 2 0 0 0 2 2h15a1 1 0 0 0 1-1v-4",key:"xoc0q4"}]]);/**
2008 * @license lucide-react v0.469.0 - ISC
2009 *
2010 * This source code is licensed under the ISC license.
2011 * See the LICENSE file in the root directory of this source tree.
2012 */const nPe=ft("WifiOff",[["path",{d:"M12 20h.01",key:"zekei9"}],["path",{d:"M8.5 16.429a5 5 0 0 1 7 0",key:"1bycff"}],["path",{d:"M5 12.859a10 10 0 0 1 5.17-2.69",key:"1dl1wf"}],["path",{d:"M19 12.859a10 10 0 0 0-2.007-1.523",key:"4k23kn"}],["path",{d:"M2 8.82a15 15 0 0 1 4.177-2.643",key:"1grhjp"}],["path",{d:"M22 8.82a15 15 0 0 0-11.288-3.764",key:"z3jwby"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]]);/**
2013 * @license lucide-react v0.469.0 - ISC
2014 *
2015 * This source code is licensed under the ISC license.
2016 * See the LICENSE file in the root directory of this source tree.
2017 */const rPe=ft("Wifi",[["path",{d:"M12 20h.01",key:"zekei9"}],["path",{d:"M2 8.82a15 15 0 0 1 20 0",key:"dnpr2z"}],["path",{d:"M5 12.859a10 10 0 0 1 14 0",key:"1x1e6c"}],["path",{d:"M8.5 16.429a5 5 0 0 1 7 0",key:"1bycff"}]]);/**
2018 * @license lucide-react v0.469.0 - ISC
2019 *
2020 * This source code is licensed under the ISC license.
2021 * See the LICENSE file in the root directory of this source tree.
2022 */const oPe=ft("Wrench",[["path",{d:"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z",key:"cbrjhi"}]]);/**
2023 * @license lucide-react v0.469.0 - ISC
2024 *
2025 * This source code is licensed under the ISC license.
2026 * See the LICENSE file in the root directory of this source tree.
2027 */const Us=ft("X",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);/**
2028 * @license lucide-react v0.469.0 - ISC
2029 *
2030 * This source code is licensed under the ISC license.
2031 * See the LICENSE file in the root directory of this source tree.
2032 */const uc=ft("Zap",[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]]),j0=class j0{constructor(){je(this,"modals",[]);return j0.instance||(j0.instance=this),j0.instance}register(e,n){const r=this.modals.find(o=>o.id===e);if(r){r.cb=n;return}this.modals.push({id:e,cb:n})}unregister(e){const n=this.modals.find(r=>r.id===e);n&&(n.cb(),this.modals=this.modals.filter(r=>r.id!==e))}pop(){const e=this.modals.pop();return e?(e.cb(),!0):!1}hasOpenModal(){return this.modals.length>0}};je(j0,"instance");let P8=j0;const po=new P8,Ls=({children:t,open:e,onOpenChange:n,...r})=>{const[o,s]=h.useState(e??!1),a=h.useMemo(()=>`dialog-${vd()}`,[]);return h.useEffect(()=>{e?po.register(a,()=>{n==null||n(!1)}):po.unregister(a)},[e]),h.useEffect(()=>{e===void 0&&(o?po.register(a,()=>{s(!1)}):po.unregister(a))},[o]),c.jsx(vS,{open:e??o,onOpenChange:n??s,...r,children:t})},NS=tL,sPe=wS,bae=h.forwardRef(({className:t,...e},n)=>c.jsx(Zy,{ref:n,className:Re("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",t),...e}));bae.displayName=Zy.displayName;const ms=h.forwardRef(({className:t,children:e,withoutClose:n,...r},o)=>c.jsxs(sPe,{children:[c.jsx(bae,{}),c.jsxs(Qy,{ref:o,className:Re("fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 sm:border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-xl",t),...r,children:[e,!n&&c.jsxs(X2,{className:"absolute right-4 top-4 rounded-lg opacity-70 ring-offset-background transition-all hover:opacity-100 hover:bg-accent focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground p-1",children:[c.jsx(Us,{className:"h-4 w-4"}),c.jsx("span",{className:"sr-only",children:"Close"})]})]})]}));ms.displayName=Qy.displayName;const Za=({className:t,...e})=>c.jsx("div",{className:Re("flex flex-col space-y-1.5 text-center sm:text-left",t),...e});Za.displayName="DialogHeader";const zm=({className:t,...e})=>c.jsx("div",{className:Re("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",t),...e});zm.displayName="DialogFooter";const Qa=h.forwardRef(({className:t,...e},n)=>c.jsx(Jy,{ref:n,className:Re("text-lg font-semibold leading-none tracking-tight",t),...e}));Qa.displayName=Jy.displayName;const nl=h.forwardRef(({className:t,...e},n)=>c.jsx(Xy,{ref:n,className:Re("text-sm text-muted-foreground",t),...e}));nl.displayName=Xy.displayName;function aPe(t){if(typeof document>"u")return;let e=document.head||document.getElementsByTagName("head")[0],n=document.createElement("style");n.type="text/css",e.appendChild(n),n.styleSheet?n.styleSheet.cssText=t:n.appendChild(document.createTextNode(t))}const xae=Be.createContext({drawerRef:{current:null},overlayRef:{current:null},onPress:()=>{},onRelease:()=>{},onDrag:()=>{},onNestedDrag:()=>{},onNestedOpenChange:()=>{},onNestedRelease:()=>{},openProp:void 0,dismissible:!1,isOpen:!1,isDragging:!1,keyboardIsOpen:{current:!1},snapPointsOffset:null,snapPoints:null,handleOnly:!1,modal:!1,shouldFade:!1,activeSnapPoint:null,onOpenChange:()=>{},setActiveSnapPoint:()=>{},closeDrawer:()=>{},direction:"bottom",shouldAnimate:{current:!0},shouldScaleBackground:!1,setBackgroundColorOnScale:!0,noBodyStyles:!1,container:null,autoFocus:!1}),sx=()=>{const t=Be.useContext(xae);if(!t)throw new Error("useDrawerContext must be used within a Drawer.Root");return t};aPe(`[data-vaul-drawer]{touch-action:none;will-change:transform;transition:transform .5s cubic-bezier(.32, .72, 0, 1);animation-duration:.5s;animation-timing-function:cubic-bezier(0.32,0.72,0,1)}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=bottom][data-state=open]{animation-name:slideFromBottom}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=bottom][data-state=closed]{animation-name:slideToBottom}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=top][data-state=open]{animation-name:slideFromTop}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=top][data-state=closed]{animation-name:slideToTop}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=left][data-state=open]{animation-name:slideFromLeft}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=left][data-state=closed]{animation-name:slideToLeft}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=right][data-state=open]{animation-name:slideFromRight}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=right][data-state=closed]{animation-name:slideToRight}[data-vaul-drawer][data-vaul-snap-points=true][data-vaul-drawer-direction=bottom]{transform:translate3d(0,var(--initial-transform,100%),0)}[data-vaul-drawer][data-vaul-snap-points=true][data-vaul-drawer-direction=top]{transform:translate3d(0,calc(var(--initial-transform,100%) * -1),0)}[data-vaul-drawer][data-vaul-snap-points=true][data-vaul-drawer-direction=left]{transform:translate3d(calc(var(--initial-transform,100%) * -1),0,0)}[data-vaul-drawer][data-vaul-snap-points=true][data-vaul-drawer-direction=right]{transform:translate3d(var(--initial-transform,100%),0,0)}[data-vaul-drawer][data-vaul-delayed-snap-points=true][data-vaul-drawer-direction=top]{transform:translate3d(0,var(--snap-point-height,0),0)}[data-vaul-drawer][data-vaul-delayed-snap-points=true][data-vaul-drawer-direction=bottom]{transform:translate3d(0,var(--snap-point-height,0),0)}[data-vaul-drawer][data-vaul-delayed-snap-points=true][data-vaul-drawer-direction=left]{transform:translate3d(var(--snap-point-height,0),0,0)}[data-vaul-drawer][data-vaul-delayed-snap-points=true][data-vaul-drawer-direction=right]{transform:translate3d(var(--snap-point-height,0),0,0)}[data-vaul-overlay][data-vaul-snap-points=false]{animation-duration:.5s;animation-timing-function:cubic-bezier(0.32,0.72,0,1)}[data-vaul-overlay][data-vaul-snap-points=false][data-state=open]{animation-name:fadeIn}[data-vaul-overlay][data-state=closed]{animation-name:fadeOut}[data-vaul-animate=false]{animation:none!important}[data-vaul-overlay][data-vaul-snap-points=true]{opacity:0;transition:opacity .5s cubic-bezier(.32, .72, 0, 1)}[data-vaul-overlay][data-vaul-snap-points=true]{opacity:1}[data-vaul-drawer]:not([data-vaul-custom-container=true])::after{content:'';position:absolute;background:inherit;background-color:inherit}[data-vaul-drawer][data-vaul-drawer-direction=top]::after{top:initial;bottom:100%;left:0;right:0;height:200%}[data-vaul-drawer][data-vaul-drawer-direction=bottom]::after{top:100%;bottom:initial;left:0;right:0;height:200%}[data-vaul-drawer][data-vaul-drawer-direction=left]::after{left:initial;right:100%;top:0;bottom:0;width:200%}[data-vaul-drawer][data-vaul-drawer-direction=right]::after{left:100%;right:initial;top:0;bottom:0;width:200%}[data-vaul-overlay][data-vaul-snap-points=true]:not([data-vaul-snap-points-overlay=true]):not(
2033 [data-state=closed]
2034 ){opacity:0}[data-vaul-overlay][data-vaul-snap-points-overlay=true]{opacity:1}[data-vaul-handle]{display:block;position:relative;opacity:.7;background:#e2e2e4;margin-left:auto;margin-right:auto;height:5px;width:32px;border-radius:1rem;touch-action:pan-y}[data-vaul-handle]:active,[data-vaul-handle]:hover{opacity:1}[data-vaul-handle-hitarea]{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:max(100%,2.75rem);height:max(100%,2.75rem);touch-action:inherit}@media (hover:hover) and (pointer:fine){[data-vaul-drawer]{user-select:none}}@media (pointer:fine){[data-vaul-handle-hitarea]:{width:100%;height:100%}}@keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes fadeOut{to{opacity:0}}@keyframes slideFromBottom{from{transform:translate3d(0,var(--initial-transform,100%),0)}to{transform:translate3d(0,0,0)}}@keyframes slideToBottom{to{transform:translate3d(0,var(--initial-transform,100%),0)}}@keyframes slideFromTop{from{transform:translate3d(0,calc(var(--initial-transform,100%) * -1),0)}to{transform:translate3d(0,0,0)}}@keyframes slideToTop{to{transform:translate3d(0,calc(var(--initial-transform,100%) * -1),0)}}@keyframes slideFromLeft{from{transform:translate3d(calc(var(--initial-transform,100%) * -1),0,0)}to{transform:translate3d(0,0,0)}}@keyframes slideToLeft{to{transform:translate3d(calc(var(--initial-transform,100%) * -1),0,0)}}@keyframes slideFromRight{from{transform:translate3d(var(--initial-transform,100%),0,0)}to{transform:translate3d(0,0,0)}}@keyframes slideToRight{to{transform:translate3d(var(--initial-transform,100%),0,0)}}`);function iPe(){const t=navigator.userAgent;return typeof window<"u"&&(/Firefox/.test(t)&&/Mobile/.test(t)||/FxiOS/.test(t))}function lPe(){return fL(/^Mac/)}function cPe(){return fL(/^iPhone/)}function gY(){return/^((?!chrome|android).)*safari/i.test(navigator.userAgent)}function uPe(){return fL(/^iPad/)||lPe()&&navigator.maxTouchPoints>1}function kae(){return cPe()||uPe()}function fL(t){return typeof window<"u"&&window.navigator!=null?t.test(window.navigator.platform):void 0}const fPe=24,dPe=typeof window<"u"?h.useLayoutEffect:h.useEffect;function yY(...t){return(...e)=>{for(let n of t)typeof n=="function"&&n(...e)}}const Q9=typeof document<"u"&&window.visualViewport;function vY(t){let e=window.getComputedStyle(t);return/(auto|scroll)/.test(e.overflow+e.overflowX+e.overflowY)}function jae(t){for(vY(t)&&(t=t.parentElement);t&&!vY(t);)t=t.parentElement;return t||document.scrollingElement||document.documentElement}const pPe=new Set(["checkbox","radio","range","color","file","image","button","submit","reset"]);let I6=0,J9;function hPe(t={}){let{isDisabled:e}=t;dPe(()=>{if(!e)return I6++,I6===1&&kae()&&(J9=mPe()),()=>{I6--,I6===0&&(J9==null||J9())}},[e])}function mPe(){let t,e=0,n=f=>{t=jae(f.target),!(t===document.documentElement&&t===document.body)&&(e=f.changedTouches[0].pageY)},r=f=>{if(!t||t===document.documentElement||t===document.body){f.preventDefault();return}let m=f.changedTouches[0].pageY,g=t.scrollTop,w=t.scrollHeight-t.clientHeight;w!==0&&((g<=0&&m>e||g>=w&&m<e)&&f.preventDefault(),e=m)},o=f=>{let m=f.target;O8(m)&&m!==document.activeElement&&(f.preventDefault(),m.style.transform="translateY(-2000px)",m.focus(),requestAnimationFrame(()=>{m.style.transform=""}))},s=f=>{let m=f.target;O8(m)&&(m.style.transform="translateY(-2000px)",requestAnimationFrame(()=>{m.style.transform="",Q9&&(Q9.height<window.innerHeight?requestAnimationFrame(()=>{wY(m)}):Q9.addEventListener("resize",()=>wY(m),{once:!0}))}))},a=()=>{window.scrollTo(0,0)},i=window.pageXOffset,l=window.pageYOffset,u=yY(gPe(document.documentElement,"paddingRight",`${window.innerWidth-document.documentElement.clientWidth}px`));window.scrollTo(0,0);let d=yY(vw(document,"touchstart",n,{passive:!1,capture:!0}),vw(document,"touchmove",r,{passive:!1,capture:!0}),vw(document,"touchend",o,{passive:!1,capture:!0}),vw(document,"focus",s,!0),vw(window,"scroll",a));return()=>{u(),d(),window.scrollTo(i,l)}}function gPe(t,e,n){let r=t.style[e];return t.style[e]=n,()=>{t.style[e]=r}}function vw(t,e,n,r){return t.addEventListener(e,n,r),()=>{t.removeEventListener(e,n,r)}}function wY(t){let e=document.scrollingElement||document.documentElement;for(;t&&t!==e;){let n=jae(t);if(n!==document.documentElement&&n!==document.body&&n!==t){let r=n.getBoundingClientRect().top,o=t.getBoundingClientRect().top,s=t.getBoundingClientRect().bottom;const a=n.getBoundingClientRect().bottom+fPe;s>a&&(n.scrollTop+=o-r)}t=n.parentElement}}function O8(t){return t instanceof HTMLInputElement&&!pPe.has(t.type)||t instanceof HTMLTextAreaElement||t instanceof HTMLElement&&t.isContentEditable}function yPe(t,e){typeof t=="function"?t(e):t!=null&&(t.current=e)}function vPe(...t){return e=>t.forEach(n=>yPe(n,e))}function Cae(...t){return h.useCallback(vPe(...t),t)}const Sae=new WeakMap;function ds(t,e,n=!1){if(!t||!(t instanceof HTMLElement))return;let r={};Object.entries(e).forEach(([o,s])=>{if(o.startsWith("--")){t.style.setProperty(o,s);return}r[o]=t.style[o],t.style[o]=s}),!n&&Sae.set(t,r)}function wPe(t,e){if(!t||!(t instanceof HTMLElement))return;let n=Sae.get(t);n&&(t.style[e]=n[e])}const Yo=t=>{switch(t){case"top":case"bottom":return!0;case"left":case"right":return!1;default:return t}};function A6(t,e){if(!t)return null;const n=window.getComputedStyle(t),r=n.transform||n.webkitTransform||n.mozTransform;let o=r.match(/^matrix3d\((.+)\)$/);return o?parseFloat(o[1].split(", ")[Yo(e)?13:12]):(o=r.match(/^matrix\((.+)\)$/),o?parseFloat(o[1].split(", ")[Yo(e)?5:4]):null)}function bPe(t){return 8*(Math.log(t+1)-2)}function X9(t,e){if(!t)return()=>{};const n=t.style.cssText;return Object.assign(t.style,e),()=>{t.style.cssText=n}}function xPe(...t){return(...e)=>{for(const n of t)typeof n=="function"&&n(...e)}}const xo={DURATION:.5,EASE:[.32,.72,0,1]},Eae=.4,kPe=.25,jPe=100,Nae=8,mm=16,z8=26,eA="vaul-dragging";function Iae(t){const e=Be.useRef(t);return Be.useEffect(()=>{e.current=t}),Be.useMemo(()=>(...n)=>e.current==null?void 0:e.current.call(e,...n),[])}function CPe({defaultProp:t,onChange:e}){const n=Be.useState(t),[r]=n,o=Be.useRef(r),s=Iae(e);return Be.useEffect(()=>{o.current!==r&&(s(r),o.current=r)},[r,o,s]),n}function Aae({prop:t,defaultProp:e,onChange:n=()=>{}}){const[r,o]=CPe({defaultProp:e,onChange:n}),s=t!==void 0,a=s?t:r,i=Iae(n),l=Be.useCallback(u=>{if(s){const f=typeof u=="function"?u(t):u;f!==t&&i(f)}else o(u)},[s,t,o,i]);return[a,l]}function SPe({activeSnapPointProp:t,setActiveSnapPointProp:e,snapPoints:n,drawerRef:r,overlayRef:o,fadeFromIndex:s,onSnapPointChange:a,direction:i="bottom",container:l,snapToSequentialPoint:u}){const[d,f]=Aae({prop:t,defaultProp:n==null?void 0:n[0],onChange:e}),[m,g]=Be.useState(typeof window<"u"?{innerWidth:window.innerWidth,innerHeight:window.innerHeight}:void 0);Be.useEffect(()=>{function L(){g({innerWidth:window.innerWidth,innerHeight:window.innerHeight})}return window.addEventListener("resize",L),()=>window.removeEventListener("resize",L)},[]);const w=Be.useMemo(()=>d===(n==null?void 0:n[n.length-1])||null,[n,d]),b=Be.useMemo(()=>{var L;return(L=n==null?void 0:n.findIndex(B=>B===d))!=null?L:null},[n,d]),j=n&&n.length>0&&(s||s===0)&&!Number.isNaN(s)&&n[s]===d||!n,S=Be.useMemo(()=>{const L=l?{width:l.getBoundingClientRect().width,height:l.getBoundingClientRect().height}:typeof window<"u"?{width:window.innerWidth,height:window.innerHeight}:{width:0,height:0};var B;return(B=n==null?void 0:n.map(T=>{const R=typeof T=="string";let z=0;if(R&&(z=parseInt(T,10)),Yo(i)){const Q=R?z:m?T*L.height:0;return m?i==="bottom"?L.height-Q:-L.height+Q:Q}const Y=R?z:m?T*L.width:0;return m?i==="right"?L.width-Y:-L.width+Y:Y}))!=null?B:[]},[n,m,l]),I=Be.useMemo(()=>b!==null?S==null?void 0:S[b]:null,[S,b]),N=Be.useCallback(L=>{var B;const T=(B=S==null?void 0:S.findIndex(R=>R===L))!=null?B:null;a(T),ds(r.current,{transition:`transform ${xo.DURATION}s cubic-bezier(${xo.EASE.join(",")})`,transform:Yo(i)?`translate3d(0, ${L}px, 0)`:`translate3d(${L}px, 0, 0)`}),S&&T!==S.length-1&&s!==void 0&&T!==s&&T<s?ds(o.current,{transition:`opacity ${xo.DURATION}s cubic-bezier(${xo.EASE.join(",")})`,opacity:"0"}):ds(o.current,{transition:`opacity ${xo.DURATION}s cubic-bezier(${xo.EASE.join(",")})`,opacity:"1"}),f(n==null?void 0:n[Math.max(T,0)])},[r.current,n,S,s,o,f]);Be.useEffect(()=>{if(d||t){var L;const B=(L=n==null?void 0:n.findIndex(T=>T===t||T===d))!=null?L:-1;S&&B!==-1&&typeof S[B]=="number"&&N(S[B])}},[d,t,n,S,N]);function M({draggedDistance:L,closeDrawer:B,velocity:T,dismissible:R}){if(s===void 0)return;const z=i==="bottom"||i==="right"?(I??0)-L:(I??0)+L,Y=b===s-1,Q=b===0,W=L>0;if(Y&&ds(o.current,{transition:`opacity ${xo.DURATION}s cubic-bezier(${xo.EASE.join(",")})`}),!u&&T>2&&!W){R?B():N(S[0]);return}if(!u&&T>2&&W&&S&&n){N(S[n.length-1]);return}const F=S==null?void 0:S.reduce(($,V)=>typeof $!="number"||typeof V!="number"?$:Math.abs(V-z)<Math.abs($-z)?V:$),X=Yo(i)?window.innerHeight:window.innerWidth;if(T>Eae&&Math.abs(L)<X*.4){const $=W?1:-1;if($>0&&w&&n){N(S[n.length-1]);return}if(Q&&$<0&&R&&B(),b===null)return;N(S[b+$]);return}N(F)}function D({draggedDistance:L}){if(I===null)return;const B=i==="bottom"||i==="right"?I-L:I+L;(i==="bottom"||i==="right")&&B<S[S.length-1]||(i==="top"||i==="left")&&B>S[S.length-1]||ds(r.current,{transform:Yo(i)?`translate3d(0, ${B}px, 0)`:`translate3d(${B}px, 0, 0)`})}function O(L,B){if(!n||typeof b!="number"||!S||s===void 0)return null;const T=b===s-1;if(b>=s&&B)return 0;if(T&&!B)return 1;if(!j&&!T)return null;const z=T?b+1:b-1,Y=T?S[z]-S[z-1]:S[z+1]-S[z],Q=L/Math.abs(Y);return T?1-Q:Q}return{isLastSnapPoint:w,activeSnapPoint:d,shouldFade:j,getPercentageDragged:O,setActiveSnapPoint:f,activeSnapPointIndex:b,onRelease:M,onDrag:D,snapPointsOffset:S}}const EPe=()=>()=>{};function NPe(){const{direction:t,isOpen:e,shouldScaleBackground:n,setBackgroundColorOnScale:r,noBodyStyles:o}=sx(),s=Be.useRef(null),a=h.useMemo(()=>document.body.style.backgroundColor,[]);function i(){return(window.innerWidth-z8)/window.innerWidth}Be.useEffect(()=>{if(e&&n){s.current&&clearTimeout(s.current);const l=document.querySelector("[data-vaul-drawer-wrapper]")||document.querySelector("[vaul-drawer-wrapper]");if(!l)return;xPe(r&&!o?X9(document.body,{background:"black"}):EPe,X9(l,{transformOrigin:Yo(t)?"top":"left",transitionProperty:"transform, border-radius",transitionDuration:`${xo.DURATION}s`,transitionTimingFunction:`cubic-bezier(${xo.EASE.join(",")})`}));const u=X9(l,{borderRadius:`${Nae}px`,overflow:"hidden",...Yo(t)?{transform:`scale(${i()}) translate3d(0, calc(env(safe-area-inset-top) + 14px), 0)`}:{transform:`scale(${i()}) translate3d(calc(env(safe-area-inset-top) + 14px), 0, 0)`}});return()=>{u(),s.current=window.setTimeout(()=>{a?document.body.style.background=a:document.body.style.removeProperty("background")},xo.DURATION*1e3)}}},[e,n,a])}let ww=null;function IPe({isOpen:t,modal:e,nested:n,hasBeenOpened:r,preventScrollRestoration:o,noBodyStyles:s}){const[a,i]=Be.useState(()=>typeof window<"u"?window.location.href:""),l=Be.useRef(0),u=Be.useCallback(()=>{if(gY()&&ww===null&&t&&!s){ww={position:document.body.style.position,top:document.body.style.top,left:document.body.style.left,height:document.body.style.height,right:"unset"};const{scrollX:f,innerHeight:m}=window;document.body.style.setProperty("position","fixed","important"),Object.assign(document.body.style,{top:`${-l.current}px`,left:`${-f}px`,right:"0px",height:"auto"}),window.setTimeout(()=>window.requestAnimationFrame(()=>{const g=m-window.innerHeight;g&&l.current>=m&&(document.body.style.top=`${-(l.current+g)}px`)}),300)}},[t]),d=Be.useCallback(()=>{if(gY()&&ww!==null&&!s){const f=-parseInt(document.body.style.top,10),m=-parseInt(document.body.style.left,10);Object.assign(document.body.style,ww),window.requestAnimationFrame(()=>{if(o&&a!==window.location.href){i(window.location.href);return}window.scrollTo(m,f)}),ww=null}},[a]);return Be.useEffect(()=>{function f(){l.current=window.scrollY}return f(),window.addEventListener("scroll",f),()=>{window.removeEventListener("scroll",f)}},[]),Be.useEffect(()=>{if(e)return()=>{typeof document>"u"||document.querySelector("[data-vaul-drawer]")||d()}},[e,d]),Be.useEffect(()=>{n||!r||(t?(!window.matchMedia("(display-mode: standalone)").matches&&u(),e||window.setTimeout(()=>{d()},500)):d())},[t,r,a,e,n,u,d]),{restorePositionSetting:d}}function APe({open:t,onOpenChange:e,children:n,onDrag:r,onRelease:o,snapPoints:s,shouldScaleBackground:a=!1,setBackgroundColorOnScale:i=!0,closeThreshold:l=kPe,scrollLockTimeout:u=jPe,dismissible:d=!0,handleOnly:f=!1,fadeFromIndex:m=s&&s.length-1,activeSnapPoint:g,setActiveSnapPoint:w,fixed:b,modal:j=!0,onClose:S,nested:I,noBodyStyles:N=!1,direction:M="bottom",defaultOpen:D=!1,disablePreventScroll:O=!0,snapToSequentialPoint:L=!1,preventScrollRestoration:B=!1,repositionInputs:T=!0,onAnimationEnd:R,container:z,autoFocus:Y=!1}){var Q,W;const[F=!1,X]=Aae({defaultProp:D,prop:t,onChange:mt=>{e==null||e(mt),!mt&&!I&&se(),setTimeout(()=>{R==null||R(mt)},xo.DURATION*1e3),mt&&!j&&typeof window<"u"&&window.requestAnimationFrame(()=>{document.body.style.pointerEvents="auto"}),mt||(document.body.style.pointerEvents="auto")}}),[$,V]=Be.useState(!1),[K,G]=Be.useState(!1),[J,ne]=Be.useState(!1),re=Be.useRef(null),de=Be.useRef(null),Ne=Be.useRef(null),ve=Be.useRef(null),xe=Be.useRef(null),ce=Be.useRef(!1),pe=Be.useRef(null),me=Be.useRef(0),ke=Be.useRef(!1),le=Be.useRef(!D),he=Be.useRef(0),we=Be.useRef(null),Ae=Be.useRef(((Q=we.current)==null?void 0:Q.getBoundingClientRect().height)||0),Ve=Be.useRef(((W=we.current)==null?void 0:W.getBoundingClientRect().width)||0),Ze=Be.useRef(0),nt=Be.useCallback(mt=>{s&&mt===pt.length-1&&(de.current=new Date)},[]),{activeSnapPoint:$e,activeSnapPointIndex:Ke,setActiveSnapPoint:Me,onRelease:et,snapPointsOffset:pt,onDrag:ht,shouldFade:st,getPercentageDragged:De}=SPe({snapPoints:s,activeSnapPointProp:g,setActiveSnapPointProp:w,drawerRef:we,fadeFromIndex:m,overlayRef:re,onSnapPointChange:nt,direction:M,container:z,snapToSequentialPoint:L});hPe({isDisabled:!F||K||!j||J||!$||!T||!O});const{restorePositionSetting:se}=IPe({isOpen:F,modal:j,nested:I??!1,hasBeenOpened:$,preventScrollRestoration:B,noBodyStyles:N});function q(){return(window.innerWidth-z8)/window.innerWidth}function Z(mt){var Rt,At;!d&&!s||we.current&&!we.current.contains(mt.target)||(Ae.current=((Rt=we.current)==null?void 0:Rt.getBoundingClientRect().height)||0,Ve.current=((At=we.current)==null?void 0:At.getBoundingClientRect().width)||0,G(!0),Ne.current=new Date,kae()&&window.addEventListener("touchend",()=>ce.current=!1,{once:!0}),mt.target.setPointerCapture(mt.pointerId),me.current=Yo(M)?mt.pageY:mt.pageX)}function ie(mt,Rt){var At;let _t=mt;const Ht=(At=window.getSelection())==null?void 0:At.toString(),dt=we.current?A6(we.current,M):null,xt=new Date;if(_t.tagName==="SELECT"||_t.hasAttribute("data-vaul-no-drag")||_t.closest("[data-vaul-no-drag]"))return!1;if(M==="right"||M==="left")return!0;if(de.current&&xt.getTime()-de.current.getTime()<500)return!1;if(dt!==null&&(M==="bottom"?dt>0:dt<0))return!0;if(Ht&&Ht.length>0)return!1;if(xe.current&&xt.getTime()-xe.current.getTime()<u&&dt===0||Rt)return xe.current=xt,!1;for(;_t;){if(_t.scrollHeight>_t.clientHeight){if(_t.scrollTop!==0)return xe.current=new Date,!1;if(_t.getAttribute("role")==="dialog")return!0}_t=_t.parentNode}return!0}function Ce(mt){if(we.current&&K){const Rt=M==="bottom"||M==="right"?1:-1,At=(me.current-(Yo(M)?mt.pageY:mt.pageX))*Rt,_t=At>0,Ht=s&&!d&&!_t;if(Ht&&Ke===0)return;const dt=Math.abs(At),xt=document.querySelector("[data-vaul-drawer-wrapper]"),vt=M==="bottom"||M==="top"?Ae.current:Ve.current;let yt=dt/vt;const Wt=De(dt,_t);if(Wt!==null&&(yt=Wt),Ht&&yt>=1||!ce.current&&!ie(mt.target,_t))return;if(we.current.classList.add(eA),ce.current=!0,ds(we.current,{transition:"none"}),ds(re.current,{transition:"none"}),s&&ht({draggedDistance:At}),_t&&!s){const Ct=bPe(At),sn=Math.min(Ct*-1,0)*Rt;ds(we.current,{transform:Yo(M)?`translate3d(0, ${sn}px, 0)`:`translate3d(${sn}px, 0, 0)`});return}const qt=1-yt;if((st||m&&Ke===m-1)&&(r==null||r(mt,yt),ds(re.current,{opacity:`${qt}`,transition:"none"},!0)),xt&&re.current&&a){const Ct=Math.min(q()+yt*(1-q()),1),sn=8-yt*8,yn=Math.max(0,14-yt*14);ds(xt,{borderRadius:`${sn}px`,transform:Yo(M)?`scale(${Ct}) translate3d(0, ${yn}px, 0)`:`scale(${Ct}) translate3d(${yn}px, 0, 0)`,transition:"none"},!0)}if(!s){const Ct=dt*Rt;ds(we.current,{transform:Yo(M)?`translate3d(0, ${Ct}px, 0)`:`translate3d(${Ct}px, 0, 0)`})}}}Be.useEffect(()=>{window.requestAnimationFrame(()=>{le.current=!0})},[]),Be.useEffect(()=>{var mt;function Rt(){if(!we.current||!T)return;const At=document.activeElement;if(O8(At)||ke.current){var _t;const Ht=((_t=window.visualViewport)==null?void 0:_t.height)||0,dt=window.innerHeight;let xt=dt-Ht;const vt=we.current.getBoundingClientRect().height||0,yt=vt>dt*.8;Ze.current||(Ze.current=vt);const Wt=we.current.getBoundingClientRect().top;if(Math.abs(he.current-xt)>60&&(ke.current=!ke.current),s&&s.length>0&&pt&&Ke){const qt=pt[Ke]||0;xt+=qt}if(he.current=xt,vt>Ht||ke.current){const qt=we.current.getBoundingClientRect().height;let Ct=qt;qt>Ht&&(Ct=Ht-(yt?Wt:z8)),b?we.current.style.height=`${qt-Math.max(xt,0)}px`:we.current.style.height=`${Math.max(Ct,Ht-Wt)}px`}else iPe()||(we.current.style.height=`${Ze.current}px`);s&&s.length>0&&!ke.current?we.current.style.bottom="0px":we.current.style.bottom=`${Math.max(xt,0)}px`}}return(mt=window.visualViewport)==null||mt.addEventListener("resize",Rt),()=>{var At;return(At=window.visualViewport)==null?void 0:At.removeEventListener("resize",Rt)}},[Ke,s,pt]);function Te(mt){ye(),S==null||S(),mt||X(!1),setTimeout(()=>{s&&Me(s[0])},xo.DURATION*1e3)}function Se(){if(!we.current)return;const mt=document.querySelector("[data-vaul-drawer-wrapper]"),Rt=A6(we.current,M);ds(we.current,{transform:"translate3d(0, 0, 0)",transition:`transform ${xo.DURATION}s cubic-bezier(${xo.EASE.join(",")})`}),ds(re.current,{transition:`opacity ${xo.DURATION}s cubic-bezier(${xo.EASE.join(",")})`,opacity:"1"}),a&&Rt&&Rt>0&&F&&ds(mt,{borderRadius:`${Nae}px`,overflow:"hidden",...Yo(M)?{transform:`scale(${q()}) translate3d(0, calc(env(safe-area-inset-top) + 14px), 0)`,transformOrigin:"top"}:{transform:`scale(${q()}) translate3d(calc(env(safe-area-inset-top) + 14px), 0, 0)`,transformOrigin:"left"},transitionProperty:"transform, border-radius",transitionDuration:`${xo.DURATION}s`,transitionTimingFunction:`cubic-bezier(${xo.EASE.join(",")})`},!0)}function ye(){!K||!we.current||(we.current.classList.remove(eA),ce.current=!1,G(!1),ve.current=new Date)}function We(mt){if(!K||!we.current)return;we.current.classList.remove(eA),ce.current=!1,G(!1),ve.current=new Date;const Rt=A6(we.current,M);if(!mt||!ie(mt.target,!1)||!Rt||Number.isNaN(Rt)||Ne.current===null)return;const At=ve.current.getTime()-Ne.current.getTime(),_t=me.current-(Yo(M)?mt.pageY:mt.pageX),Ht=Math.abs(_t)/At;if(Ht>.05&&(ne(!0),setTimeout(()=>{ne(!1)},200)),s){et({draggedDistance:_t*(M==="bottom"||M==="right"?1:-1),closeDrawer:Te,velocity:Ht,dismissible:d}),o==null||o(mt,!0);return}if(M==="bottom"||M==="right"?_t>0:_t<0){Se(),o==null||o(mt,!0);return}if(Ht>Eae){Te(),o==null||o(mt,!1);return}var dt;const xt=Math.min((dt=we.current.getBoundingClientRect().height)!=null?dt:0,window.innerHeight);var vt;const yt=Math.min((vt=we.current.getBoundingClientRect().width)!=null?vt:0,window.innerWidth),Wt=M==="left"||M==="right";if(Math.abs(Rt)>=(Wt?yt:xt)*l){Te(),o==null||o(mt,!1);return}o==null||o(mt,!0),Se()}Be.useEffect(()=>(F&&(ds(document.documentElement,{scrollBehavior:"auto"}),de.current=new Date),()=>{wPe(document.documentElement,"scrollBehavior")}),[F]);function Ee(mt){const Rt=mt?(window.innerWidth-mm)/window.innerWidth:1,At=mt?-mm:0;pe.current&&window.clearTimeout(pe.current),ds(we.current,{transition:`transform ${xo.DURATION}s cubic-bezier(${xo.EASE.join(",")})`,transform:Yo(M)?`scale(${Rt}) translate3d(0, ${At}px, 0)`:`scale(${Rt}) translate3d(${At}px, 0, 0)`}),!mt&&we.current&&(pe.current=setTimeout(()=>{const _t=A6(we.current,M);ds(we.current,{transition:"none",transform:Yo(M)?`translate3d(0, ${_t}px, 0)`:`translate3d(${_t}px, 0, 0)`})},500))}function Pe(mt,Rt){if(Rt<0)return;const At=(window.innerWidth-mm)/window.innerWidth,_t=At+Rt*(1-At),Ht=-mm+Rt*mm;ds(we.current,{transform:Yo(M)?`scale(${_t}) translate3d(0, ${Ht}px, 0)`:`scale(${_t}) translate3d(${Ht}px, 0, 0)`,transition:"none"})}function Qe(mt,Rt){const At=Yo(M)?window.innerHeight:window.innerWidth,_t=Rt?(At-mm)/At:1,Ht=Rt?-mm:0;Rt&&ds(we.current,{transition:`transform ${xo.DURATION}s cubic-bezier(${xo.EASE.join(",")})`,transform:Yo(M)?`scale(${_t}) translate3d(0, ${Ht}px, 0)`:`scale(${_t}) translate3d(${Ht}px, 0, 0)`})}return Be.useEffect(()=>{j||window.requestAnimationFrame(()=>{document.body.style.pointerEvents="auto"})},[j]),Be.createElement(vS,{defaultOpen:D,onOpenChange:mt=>{!d&&!mt||(mt?V(!0):Te(!0),X(mt))},open:F},Be.createElement(xae.Provider,{value:{activeSnapPoint:$e,snapPoints:s,setActiveSnapPoint:Me,drawerRef:we,overlayRef:re,onOpenChange:e,onPress:Z,onRelease:We,onDrag:Ce,dismissible:d,shouldAnimate:le,handleOnly:f,isOpen:F,isDragging:K,shouldFade:st,closeDrawer:Te,onNestedDrag:Pe,onNestedOpenChange:Ee,onNestedRelease:Qe,keyboardIsOpen:ke,modal:j,snapPointsOffset:pt,activeSnapPointIndex:Ke,direction:M,shouldScaleBackground:a,setBackgroundColorOnScale:i,noBodyStyles:N,container:z,autoFocus:Y}},n))}const _ae=Be.forwardRef(function({...t},e){const{overlayRef:n,snapPoints:r,onRelease:o,shouldFade:s,isOpen:a,modal:i,shouldAnimate:l}=sx(),u=Cae(e,n),d=r&&r.length>0;if(!i)return null;const f=Be.useCallback(m=>o(m),[o]);return Be.createElement(Zy,{onMouseUp:f,ref:u,"data-vaul-overlay":"","data-vaul-snap-points":a&&d?"true":"false","data-vaul-snap-points-overlay":a&&s?"true":"false","data-vaul-animate":l!=null&&l.current?"true":"false",...t})});_ae.displayName="Drawer.Overlay";const Mae=Be.forwardRef(function({onPointerDownOutside:t,style:e,onOpenAutoFocus:n,...r},o){const{drawerRef:s,onPress:a,onRelease:i,onDrag:l,keyboardIsOpen:u,snapPointsOffset:d,activeSnapPointIndex:f,modal:m,isOpen:g,direction:w,snapPoints:b,container:j,handleOnly:S,shouldAnimate:I,autoFocus:N}=sx(),[M,D]=Be.useState(!1),O=Cae(o,s),L=Be.useRef(null),B=Be.useRef(null),T=Be.useRef(!1),R=b&&b.length>0;NPe();const z=(Q,W,F=0)=>{if(T.current)return!0;const X=Math.abs(Q.y),$=Math.abs(Q.x),V=$>X,K=["bottom","right"].includes(W)?1:-1;if(W==="left"||W==="right"){if(!(Q.x*K<0)&&$>=0&&$<=F)return V}else if(!(Q.y*K<0)&&X>=0&&X<=F)return!V;return T.current=!0,!0};Be.useEffect(()=>{R&&window.requestAnimationFrame(()=>{D(!0)})},[]);function Y(Q){L.current=null,T.current=!1,i(Q)}return Be.createElement(Qy,{"data-vaul-drawer-direction":w,"data-vaul-drawer":"","data-vaul-delayed-snap-points":M?"true":"false","data-vaul-snap-points":g&&R?"true":"false","data-vaul-custom-container":j?"true":"false","data-vaul-animate":I!=null&&I.current?"true":"false",...r,ref:O,style:d&&d.length>0?{"--snap-point-height":`${d[f??0]}px`,...e}:e,onPointerDown:Q=>{S||(r.onPointerDown==null||r.onPointerDown.call(r,Q),L.current={x:Q.pageX,y:Q.pageY},a(Q))},onOpenAutoFocus:Q=>{n==null||n(Q),N||Q.preventDefault()},onPointerDownOutside:Q=>{if(t==null||t(Q),!m||Q.defaultPrevented){Q.preventDefault();return}u.current&&(u.current=!1)},onFocusOutside:Q=>{if(!m){Q.preventDefault();return}},onPointerMove:Q=>{if(B.current=Q,S||(r.onPointerMove==null||r.onPointerMove.call(r,Q),!L.current))return;const W=Q.pageY-L.current.y,F=Q.pageX-L.current.x,X=Q.pointerType==="touch"?10:2;z({x:F,y:W},w,X)?l(Q):(Math.abs(F)>X||Math.abs(W)>X)&&(L.current=null)},onPointerUp:Q=>{r.onPointerUp==null||r.onPointerUp.call(r,Q),L.current=null,T.current=!1,i(Q)},onPointerOut:Q=>{r.onPointerOut==null||r.onPointerOut.call(r,Q),Y(B.current)},onContextMenu:Q=>{r.onContextMenu==null||r.onContextMenu.call(r,Q),B.current&&Y(B.current)}})});Mae.displayName="Drawer.Content";const _Pe=250,MPe=120,RPe=Be.forwardRef(function({preventCycle:t=!1,children:e,...n},r){const{closeDrawer:o,isDragging:s,snapPoints:a,activeSnapPoint:i,setActiveSnapPoint:l,dismissible:u,handleOnly:d,isOpen:f,onPress:m,onDrag:g}=sx(),w=Be.useRef(null),b=Be.useRef(!1);function j(){if(b.current){N();return}window.setTimeout(()=>{S()},MPe)}function S(){if(s||t||b.current){N();return}if(N(),!a||a.length===0){u||o();return}if(i===a[a.length-1]&&u){o();return}const D=a.findIndex(L=>L===i);if(D===-1)return;const O=a[D+1];l(O)}function I(){w.current=window.setTimeout(()=>{b.current=!0},_Pe)}function N(){w.current&&window.clearTimeout(w.current),b.current=!1}return Be.createElement("div",{onClick:j,onPointerCancel:N,onPointerDown:M=>{d&&m(M),I()},onPointerMove:M=>{d&&g(M)},ref:r,"data-vaul-drawer-visible":f?"true":"false","data-vaul-handle":"","aria-hidden":"true",...n},Be.createElement("span",{"data-vaul-handle-hitarea":"","aria-hidden":"true"},e))});RPe.displayName="Drawer.Handle";function TPe(t){const e=sx(),{container:n=e.container,...r}=t;return Be.createElement(wS,{container:n,...r})}const fu={Root:APe,Content:Mae,Overlay:_ae,Trigger:tL,Portal:TPe,Close:X2,Title:Jy,Description:Xy},ao=({shouldScaleBackground:t=!0,open:e,onOpenChange:n,...r})=>{const[o,s]=h.useState(e??!1),a=h.useMemo(()=>`drawer-${vd()}`,[]);return h.useEffect(()=>{e?po.register(a,()=>{n==null||n(!1)}):po.unregister(a)},[e]),h.useEffect(()=>{e===void 0&&(o?po.register(a,()=>{s(!1)}):po.unregister(a))},[o]),c.jsx(fu.Root,{shouldScaleBackground:t,open:e??o,onOpenChange:n??s,...r})};ao.displayName="Drawer";const Sh=fu.Trigger,DPe=fu.Portal,Rae=fu.Close,fc=h.forwardRef(({className:t,...e},n)=>c.jsx(fu.Overlay,{ref:n,className:Re("fixed inset-0 z-50 bg-black/80",t),...e}));fc.displayName=fu.Overlay.displayName;const io=h.forwardRef(({className:t,children:e,hideOverlay:n=!1,...r},o)=>c.jsxs(DPe,{children:[!n&&c.jsx(fc,{}),c.jsxs(fu.Content,{ref:o,className:Re("fixed inset-x-0 bottom-0 z-50 mt-24 flex h-auto flex-col rounded-t-2xl sm:border bg-background",t),style:{paddingBottom:"env(safe-area-inset-bottom)"},onOpenAutoFocus:s=>s.preventDefault(),...r,children:[c.jsx("div",{className:"mx-auto mt-4 pb-2 mb-2 h-2 w-[100px] rounded-full bg-muted"}),e]})]}));io.displayName="DrawerContent";const yf=({className:t,...e})=>c.jsx("div",{className:Re("grid gap-1.5 p-4 text-center sm:text-left",t),...e});yf.displayName="DrawerHeader";const IS=({className:t,...e})=>c.jsx("div",{className:Re("mt-auto flex flex-col gap-2 p-4",t),...e});IS.displayName="DrawerFooter";const xd=h.forwardRef(({className:t,...e},n)=>c.jsx(fu.Title,{ref:n,className:Re("text-lg font-semibold leading-none tracking-tight",t),...e}));xd.displayName=fu.Title.displayName;const Wg=h.forwardRef(({className:t,...e},n)=>c.jsx(fu.Description,{ref:n,className:Re("text-sm text-muted-foreground",t),...e}));Wg.displayName=fu.Description.displayName;const Tae=h.createContext(void 0),gn=()=>{const t=h.useContext(Tae);if(!t)throw new Error("useScreenSize must be used within a ScreenSizeProvider");return t};function LPe({children:t}){const[e,n]=h.useState(()=>window.innerWidth<=768),[r,o]=h.useState(()=>window.innerWidth>=480&&window.innerWidth<=768),[s,a]=h.useState(()=>window.innerWidth>768&&window.innerWidth<=1024),[i,l]=h.useState(()=>window.innerWidth>=1280),[u,d]=h.useState(()=>window.innerWidth>1024);return h.useEffect(()=>{const f=()=>{const m=window.innerWidth;n(m<=768),o(m>=480&&m<=768),a(m>768&&m<=1024),l(m>=1280),d(m>1024)};return window.addEventListener("resize",f),()=>window.removeEventListener("resize",f)},[]),c.jsx(Tae.Provider,{value:{isSmallScreen:e,isTabletScreen:r,isNarrowDesktop:s,isLargeScreen:i,canUseDoublePane:u},children:t})}function bY(t,e){if(typeof t=="function")return t(e);t!=null&&(t.current=e)}function Dae(...t){return e=>{let n=!1;const r=t.map(o=>{const s=bY(o,e);return!n&&typeof s=="function"&&(n=!0),s});if(n)return()=>{for(let o=0;o<r.length;o++){const s=r[o];typeof s=="function"?s():bY(t[o],null)}}}}function ca(...t){return h.useCallback(Dae(...t),t)}function tj(t){const e=OPe(t),n=h.forwardRef((r,o)=>{const{children:s,...a}=r,i=h.Children.toArray(s),l=i.find(FPe);if(l){const u=l.props.children,d=i.map(f=>f===l?h.Children.count(u)>1?h.Children.only(null):h.isValidElement(u)?u.props.children:null:f);return c.jsx(e,{...a,ref:o,children:h.isValidElement(u)?h.cloneElement(u,void 0,d):null})}return c.jsx(e,{...a,ref:o,children:s})});return n.displayName=`${t}.Slot`,n}var PPe=tj("Slot");function OPe(t){const e=h.forwardRef((n,r)=>{const{children:o,...s}=n;if(h.isValidElement(o)){const a=UPe(o),i=BPe(s,o.props);return o.type!==h.Fragment&&(i.ref=r?Dae(r,a):a),h.cloneElement(o,i)}return h.Children.count(o)>1?h.Children.only(null):null});return e.displayName=`${t}.SlotClone`,e}var zPe=Symbol("radix.slottable");function FPe(t){return h.isValidElement(t)&&typeof t.type=="function"&&"__radixId"in t.type&&t.type.__radixId===zPe}function BPe(t,e){const n={...e};for(const r in e){const o=t[r],s=e[r];/^on[A-Z]/.test(r)?o&&s?n[r]=(...i)=>{const l=s(...i);return o(...i),l}:o&&(n[r]=o):r==="style"?n[r]={...o,...s}:r==="className"&&(n[r]=[o,s].filter(Boolean).join(" "))}return{...t,...n}}function UPe(t){var r,o;let e=(r=Object.getOwnPropertyDescriptor(t.props,"ref"))==null?void 0:r.get,n=e&&"isReactWarning"in e&&e.isReactWarning;return n?t.ref:(e=(o=Object.getOwnPropertyDescriptor(t,"ref"))==null?void 0:o.get,n=e&&"isReactWarning"in e&&e.isReactWarning,n?t.props.ref:t.props.ref||t.ref)}const xY=t=>typeof t=="boolean"?`${t}`:t===0?"0":t,kY=Oee,AS=(t,e)=>n=>{var r;if((e==null?void 0:e.variants)==null)return kY(t,n==null?void 0:n.class,n==null?void 0:n.className);const{variants:o,defaultVariants:s}=e,a=Object.keys(o).map(u=>{const d=n==null?void 0:n[u],f=s==null?void 0:s[u];if(d===null)return null;const m=xY(d)||xY(f);return o[u][m]}),i=n&&Object.entries(n).reduce((u,d)=>{let[f,m]=d;return m===void 0||(u[f]=m),u},{}),l=e==null||(r=e.compoundVariants)===null||r===void 0?void 0:r.reduce((u,d)=>{let{class:f,className:m,...g}=d;return Object.entries(g).every(w=>{let[b,j]=w;return Array.isArray(j)?j.includes({...s,...i}[b]):{...s,...i}[b]===j})?[...u,f,m]:u},[]);return kY(t,a,l,n==null?void 0:n.class,n==null?void 0:n.className)},dL=AS("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-lg text-sm font-medium transition-all duration-200 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",{variants:{variant:{default:"bg-primary text-primary-foreground shadow-sm hover:bg-primary-hover",destructive:"bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90",outline:"border border-input bg-background hover:bg-accent/40 hover:border-accent-foreground/20",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80","secondary-2":"bg-secondary text-secondary-foreground hover:bg-primary hover:text-primary-foreground",ghost:"clickable hover:text-accent-foreground","ghost-destructive":"cursor-pointer hover:bg-destructive/20 text-destructive hover:text-destructive",link:"text-foreground underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2",sm:"h-8 rounded-md px-3 text-xs",lg:"h-10 rounded-lg px-8",icon:"h-9 w-9 shrink-0","titlebar-icon":"h-10 w-10 shrink-0 rounded-xl [&_svg]:size-5"}},defaultVariants:{variant:"default",size:"default"}}),Le=h.forwardRef(({className:t,variant:e,size:n,asChild:r=!1,...o},s)=>{const a=r?PPe:"button";return c.jsx(a,{className:Re(dL({variant:e,size:n,className:t})),ref:s,...o})});Le.displayName="Button";function jY(t,e){if(typeof t=="function")return t(e);t!=null&&(t.current=e)}function $Pe(...t){return e=>{let n=!1;const r=t.map(o=>{const s=jY(o,e);return!n&&typeof s=="function"&&(n=!0),s});if(n)return()=>{for(let o=0;o<r.length;o++){const s=r[o];typeof s=="function"?s():jY(t[o],null)}}}}var Lae=h.forwardRef((t,e)=>{const{children:n,...r}=t,o=h.Children.toArray(n),s=o.find(HPe);if(s){const a=s.props.children,i=o.map(l=>l===s?h.Children.count(a)>1?h.Children.only(null):h.isValidElement(a)?a.props.children:null:l);return c.jsx(F8,{...r,ref:e,children:h.isValidElement(a)?h.cloneElement(a,void 0,i):null})}return c.jsx(F8,{...r,ref:e,children:n})});Lae.displayName="Slot";var F8=h.forwardRef((t,e)=>{const{children:n,...r}=t;if(h.isValidElement(n)){const o=YPe(n);return h.cloneElement(n,{...WPe(r,n.props),ref:e?$Pe(e,o):o})}return h.Children.count(n)>1?h.Children.only(null):null});F8.displayName="SlotClone";var VPe=({children:t})=>c.jsx(c.Fragment,{children:t});function HPe(t){return h.isValidElement(t)&&t.type===VPe}function WPe(t,e){const n={...e};for(const r in e){const o=t[r],s=e[r];/^on[A-Z]/.test(r)?o&&s?n[r]=(...i)=>{s(...i),o(...i)}:o&&(n[r]=o):r==="style"?n[r]={...o,...s}:r==="className"&&(n[r]=[o,s].filter(Boolean).join(" "))}return{...t,...n}}function YPe(t){var r,o;let e=(r=Object.getOwnPropertyDescriptor(t.props,"ref"))==null?void 0:r.get,n=e&&"isReactWarning"in e&&e.isReactWarning;return n?t.ref:(e=(o=Object.getOwnPropertyDescriptor(t,"ref"))==null?void 0:o.get,n=e&&"isReactWarning"in e&&e.isReactWarning,n?t.props.ref:t.props.ref||t.ref)}var GPe=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","span","svg","ul"],qPe=GPe.reduce((t,e)=>{const n=h.forwardRef((r,o)=>{const{asChild:s,...a}=r,i=s?Lae:e;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),c.jsx(i,{...a,ref:o})});return n.displayName=`Primitive.${e}`,{...t,[e]:n}},{}),KPe="Separator",CY="horizontal",ZPe=["horizontal","vertical"],Pae=h.forwardRef((t,e)=>{const{decorative:n,orientation:r=CY,...o}=t,s=QPe(r)?r:CY,i=n?{role:"none"}:{"aria-orientation":s==="vertical"?s:void 0,role:"separator"};return c.jsx(qPe.div,{"data-orientation":s,...i,...o,ref:e})});Pae.displayName=KPe;function QPe(t){return ZPe.includes(t)}var Oae=Pae;const ri=h.forwardRef(({className:t,orientation:e="horizontal",decorative:n=!0,...r},o)=>c.jsx(Oae,{ref:o,decorative:n,orientation:e,className:Re("shrink-0 bg-border/60",e==="horizontal"?"h-[1px] w-full":"h-full w-[1px]",t),...r}));ri.displayName=Oae.displayName;const JPe=AS("inline-flex items-center rounded-lg border px-2.5 py-0.5 text-xs font-semibold transition-all duration-200 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground hover:bg-primary-hover",secondary:"border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80",destructive:"border-transparent bg-destructive text-destructive-foreground hover:bg-destructive/80",outline:"text-foreground hover:bg-accent"}},defaultVariants:{variant:"default"}});function Vl({className:t,variant:e,...n}){return c.jsx("div",{className:Re(JPe({variant:e}),t),...n})}function zae({signerType:t}){const{t:e}=qe();if(t==="nip-07")return c.jsx(Vl,{className:" bg-green-400 hover:bg-green-400 px-1 py-0",children:e("Extension")});if(t==="ncryptsec")return c.jsx(Vl,{className:"bg-violet-400 hover:bg-violet-400 px-1 py-0",children:e("Encrypted Key")});if(t==="nsec")return c.jsx(Vl,{className:" bg-orange-400 hover:bg-orange-400 px-1 py-0",children:e("Private Key")});if(t==="npub")return c.jsx(Vl,{className:" bg-yellow-400 hover:bg-yellow-400 px-1 py-0",children:"NPUB"})}function Zf(t,e,{checkForDefaultPrevented:n=!0}={}){return function(o){if(t==null||t(o),n===!1||!o.defaultPrevented)return e==null?void 0:e(o)}}function XPe(t,e=[]){let n=[];function r(s,a){const i=h.createContext(a),l=n.length;n=[...n,a];const u=f=>{var S;const{scope:m,children:g,...w}=f,b=((S=m==null?void 0:m[t])==null?void 0:S[l])||i,j=h.useMemo(()=>w,Object.values(w));return c.jsx(b.Provider,{value:j,children:g})};u.displayName=s+"Provider";function d(f,m){var b;const g=((b=m==null?void 0:m[t])==null?void 0:b[l])||i,w=h.useContext(g);if(w)return w;if(a!==void 0)return a;throw new Error(`\`${f}\` must be used within \`${s}\``)}return[u,d]}const o=()=>{const s=n.map(a=>h.createContext(a));return function(i){const l=(i==null?void 0:i[t])||s;return h.useMemo(()=>({[`__scope${t}`]:{...i,[t]:l}}),[i,l])}};return o.scopeName=t,[r,eOe(o,...e)]}function eOe(...t){const e=t[0];if(t.length===1)return e;const n=()=>{const r=t.map(o=>({useScope:o(),scopeName:o.scopeName}));return function(s){const a=r.reduce((i,{useScope:l,scopeName:u})=>{const f=l(s)[`__scope${u}`];return{...i,...f}},{});return h.useMemo(()=>({[`__scope${e.scopeName}`]:a}),[a])}};return n.scopeName=e.scopeName,n}function tOe({prop:t,defaultProp:e,onChange:n=()=>{}}){const[r,o]=nOe({defaultProp:e,onChange:n}),s=t!==void 0,a=s?t:r,i=or(n),l=h.useCallback(u=>{if(s){const f=typeof u=="function"?u(t):u;f!==t&&i(f)}else o(u)},[s,t,o,i]);return[a,l]}function nOe({defaultProp:t,onChange:e}){const n=h.useState(t),[r]=n,o=h.useRef(r),s=or(e);return h.useEffect(()=>{o.current!==r&&(s(r),o.current=r)},[r,o,s]),n}function SY(t,e){if(typeof t=="function")return t(e);t!=null&&(t.current=e)}function Fae(...t){return e=>{let n=!1;const r=t.map(o=>{const s=SY(o,e);return!n&&typeof s=="function"&&(n=!0),s});if(n)return()=>{for(let o=0;o<r.length;o++){const s=r[o];typeof s=="function"?s():SY(t[o],null)}}}}function Bae(...t){return h.useCallback(Fae(...t),t)}const rOe=["top","right","bottom","left"],fh=Math.min,el=Math.max,nj=Math.round,_6=Math.floor,Gu=t=>({x:t,y:t}),oOe={left:"right",right:"left",bottom:"top",top:"bottom"},sOe={start:"end",end:"start"};function B8(t,e,n){return el(t,fh(e,n))}function ud(t,e){return typeof t=="function"?t(e):t}function fd(t){return t.split("-")[0]}function ev(t){return t.split("-")[1]}function pL(t){return t==="x"?"y":"x"}function hL(t){return t==="y"?"height":"width"}function dh(t){return["top","bottom"].includes(fd(t))?"y":"x"}function mL(t){return pL(dh(t))}function aOe(t,e,n){n===void 0&&(n=!1);const r=ev(t),o=mL(t),s=hL(o);let a=o==="x"?r===(n?"end":"start")?"right":"left":r==="start"?"bottom":"top";return e.reference[s]>e.floating[s]&&(a=rj(a)),[a,rj(a)]}function iOe(t){const e=rj(t);return[U8(t),e,U8(e)]}function U8(t){return t.replace(/start|end/g,e=>sOe[e])}function lOe(t,e,n){const r=["left","right"],o=["right","left"],s=["top","bottom"],a=["bottom","top"];switch(t){case"top":case"bottom":return n?e?o:r:e?r:o;case"left":case"right":return e?s:a;default:return[]}}function cOe(t,e,n,r){const o=ev(t);let s=lOe(fd(t),n==="start",r);return o&&(s=s.map(a=>a+"-"+o),e&&(s=s.concat(s.map(U8)))),s}function rj(t){return t.replace(/left|right|bottom|top/g,e=>oOe[e])}function uOe(t){return{top:0,right:0,bottom:0,left:0,...t}}function Uae(t){return typeof t!="number"?uOe(t):{top:t,right:t,bottom:t,left:t}}function oj(t){const{x:e,y:n,width:r,height:o}=t;return{width:r,height:o,top:n,left:e,right:e+r,bottom:n+o,x:e,y:n}}function EY(t,e,n){let{reference:r,floating:o}=t;const s=dh(e),a=mL(e),i=hL(a),l=fd(e),u=s==="y",d=r.x+r.width/2-o.width/2,f=r.y+r.height/2-o.height/2,m=r[i]/2-o[i]/2;let g;switch(l){case"top":g={x:d,y:r.y-o.height};break;case"bottom":g={x:d,y:r.y+r.height};break;case"right":g={x:r.x+r.width,y:f};break;case"left":g={x:r.x-o.width,y:f};break;default:g={x:r.x,y:r.y}}switch(ev(e)){case"start":g[a]-=m*(n&&u?-1:1);break;case"end":g[a]+=m*(n&&u?-1:1);break}return g}const fOe=async(t,e,n)=>{const{placement:r="bottom",strategy:o="absolute",middleware:s=[],platform:a}=n,i=s.filter(Boolean),l=await(a.isRTL==null?void 0:a.isRTL(e));let u=await a.getElementRects({reference:t,floating:e,strategy:o}),{x:d,y:f}=EY(u,r,l),m=r,g={},w=0;for(let b=0;b<i.length;b++){const{name:j,fn:S}=i[b],{x:I,y:N,data:M,reset:D}=await S({x:d,y:f,initialPlacement:r,placement:m,strategy:o,middlewareData:g,rects:u,platform:a,elements:{reference:t,floating:e}});d=I??d,f=N??f,g={...g,[j]:{...g[j],...M}},D&&w<=50&&(w++,typeof D=="object"&&(D.placement&&(m=D.placement),D.rects&&(u=D.rects===!0?await a.getElementRects({reference:t,floating:e,strategy:o}):D.rects),{x:d,y:f}=EY(u,m,l)),b=-1)}return{x:d,y:f,placement:m,strategy:o,middlewareData:g}};async function a2(t,e){var n;e===void 0&&(e={});const{x:r,y:o,platform:s,rects:a,elements:i,strategy:l}=t,{boundary:u="clippingAncestors",rootBoundary:d="viewport",elementContext:f="floating",altBoundary:m=!1,padding:g=0}=ud(e,t),w=Uae(g),j=i[m?f==="floating"?"reference":"floating":f],S=oj(await s.getClippingRect({element:(n=await(s.isElement==null?void 0:s.isElement(j)))==null||n?j:j.contextElement||await(s.getDocumentElement==null?void 0:s.getDocumentElement(i.floating)),boundary:u,rootBoundary:d,strategy:l})),I=f==="floating"?{x:r,y:o,width:a.floating.width,height:a.floating.height}:a.reference,N=await(s.getOffsetParent==null?void 0:s.getOffsetParent(i.floating)),M=await(s.isElement==null?void 0:s.isElement(N))?await(s.getScale==null?void 0:s.getScale(N))||{x:1,y:1}:{x:1,y:1},D=oj(s.convertOffsetParentRelativeRectToViewportRelativeRect?await s.convertOffsetParentRelativeRectToViewportRelativeRect({elements:i,rect:I,offsetParent:N,strategy:l}):I);return{top:(S.top-D.top+w.top)/M.y,bottom:(D.bottom-S.bottom+w.bottom)/M.y,left:(S.left-D.left+w.left)/M.x,right:(D.right-S.right+w.right)/M.x}}const dOe=t=>({name:"arrow",options:t,async fn(e){const{x:n,y:r,placement:o,rects:s,platform:a,elements:i,middlewareData:l}=e,{element:u,padding:d=0}=ud(t,e)||{};if(u==null)return{};const f=Uae(d),m={x:n,y:r},g=mL(o),w=hL(g),b=await a.getDimensions(u),j=g==="y",S=j?"top":"left",I=j?"bottom":"right",N=j?"clientHeight":"clientWidth",M=s.reference[w]+s.reference[g]-m[g]-s.floating[w],D=m[g]-s.reference[g],O=await(a.getOffsetParent==null?void 0:a.getOffsetParent(u));let L=O?O[N]:0;(!L||!await(a.isElement==null?void 0:a.isElement(O)))&&(L=i.floating[N]||s.floating[w]);const B=M/2-D/2,T=L/2-b[w]/2-1,R=fh(f[S],T),z=fh(f[I],T),Y=R,Q=L-b[w]-z,W=L/2-b[w]/2+B,F=B8(Y,W,Q),X=!l.arrow&&ev(o)!=null&&W!==F&&s.reference[w]/2-(W<Y?R:z)-b[w]/2<0,$=X?W<Y?W-Y:W-Q:0;return{[g]:m[g]+$,data:{[g]:F,centerOffset:W-F-$,...X&&{alignmentOffset:$}},reset:X}}}),pOe=function(t){return t===void 0&&(t={}),{name:"flip",options:t,async fn(e){var n,r;const{placement:o,middlewareData:s,rects:a,initialPlacement:i,platform:l,elements:u}=e,{mainAxis:d=!0,crossAxis:f=!0,fallbackPlacements:m,fallbackStrategy:g="bestFit",fallbackAxisSideDirection:w="none",flipAlignment:b=!0,...j}=ud(t,e);if((n=s.arrow)!=null&&n.alignmentOffset)return{};const S=fd(o),I=dh(i),N=fd(i)===i,M=await(l.isRTL==null?void 0:l.isRTL(u.floating)),D=m||(N||!b?[rj(i)]:iOe(i)),O=w!=="none";!m&&O&&D.push(...cOe(i,b,w,M));const L=[i,...D],B=await a2(e,j),T=[];let R=((r=s.flip)==null?void 0:r.overflows)||[];if(d&&T.push(B[S]),f){const W=aOe(o,a,M);T.push(B[W[0]],B[W[1]])}if(R=[...R,{placement:o,overflows:T}],!T.every(W=>W<=0)){var z,Y;const W=(((z=s.flip)==null?void 0:z.index)||0)+1,F=L[W];if(F)return{data:{index:W,overflows:R},reset:{placement:F}};let X=(Y=R.filter($=>$.overflows[0]<=0).sort(($,V)=>$.overflows[1]-V.overflows[1])[0])==null?void 0:Y.placement;if(!X)switch(g){case"bestFit":{var Q;const $=(Q=R.filter(V=>{if(O){const K=dh(V.placement);return K===I||K==="y"}return!0}).map(V=>[V.placement,V.overflows.filter(K=>K>0).reduce((K,G)=>K+G,0)]).sort((V,K)=>V[1]-K[1])[0])==null?void 0:Q[0];$&&(X=$);break}case"initialPlacement":X=i;break}if(o!==X)return{reset:{placement:X}}}return{}}}};function NY(t,e){return{top:t.top-e.height,right:t.right-e.width,bottom:t.bottom-e.height,left:t.left-e.width}}function IY(t){return rOe.some(e=>t[e]>=0)}const hOe=function(t){return t===void 0&&(t={}),{name:"hide",options:t,async fn(e){const{rects:n}=e,{strategy:r="referenceHidden",...o}=ud(t,e);switch(r){case"referenceHidden":{const s=await a2(e,{...o,elementContext:"reference"}),a=NY(s,n.reference);return{data:{referenceHiddenOffsets:a,referenceHidden:IY(a)}}}case"escaped":{const s=await a2(e,{...o,altBoundary:!0}),a=NY(s,n.floating);return{data:{escapedOffsets:a,escaped:IY(a)}}}default:return{}}}}};async function mOe(t,e){const{placement:n,platform:r,elements:o}=t,s=await(r.isRTL==null?void 0:r.isRTL(o.floating)),a=fd(n),i=ev(n),l=dh(n)==="y",u=["left","top"].includes(a)?-1:1,d=s&&l?-1:1,f=ud(e,t);let{mainAxis:m,crossAxis:g,alignmentAxis:w}=typeof f=="number"?{mainAxis:f,crossAxis:0,alignmentAxis:null}:{mainAxis:f.mainAxis||0,crossAxis:f.crossAxis||0,alignmentAxis:f.alignmentAxis};return i&&typeof w=="number"&&(g=i==="end"?w*-1:w),l?{x:g*d,y:m*u}:{x:m*u,y:g*d}}const gOe=function(t){return t===void 0&&(t=0),{name:"offset",options:t,async fn(e){var n,r;const{x:o,y:s,placement:a,middlewareData:i}=e,l=await mOe(e,t);return a===((n=i.offset)==null?void 0:n.placement)&&(r=i.arrow)!=null&&r.alignmentOffset?{}:{x:o+l.x,y:s+l.y,data:{...l,placement:a}}}}},yOe=function(t){return t===void 0&&(t={}),{name:"shift",options:t,async fn(e){const{x:n,y:r,placement:o}=e,{mainAxis:s=!0,crossAxis:a=!1,limiter:i={fn:j=>{let{x:S,y:I}=j;return{x:S,y:I}}},...l}=ud(t,e),u={x:n,y:r},d=await a2(e,l),f=dh(fd(o)),m=pL(f);let g=u[m],w=u[f];if(s){const j=m==="y"?"top":"left",S=m==="y"?"bottom":"right",I=g+d[j],N=g-d[S];g=B8(I,g,N)}if(a){const j=f==="y"?"top":"left",S=f==="y"?"bottom":"right",I=w+d[j],N=w-d[S];w=B8(I,w,N)}const b=i.fn({...e,[m]:g,[f]:w});return{...b,data:{x:b.x-n,y:b.y-r,enabled:{[m]:s,[f]:a}}}}}},vOe=function(t){return t===void 0&&(t={}),{options:t,fn(e){const{x:n,y:r,placement:o,rects:s,middlewareData:a}=e,{offset:i=0,mainAxis:l=!0,crossAxis:u=!0}=ud(t,e),d={x:n,y:r},f=dh(o),m=pL(f);let g=d[m],w=d[f];const b=ud(i,e),j=typeof b=="number"?{mainAxis:b,crossAxis:0}:{mainAxis:0,crossAxis:0,...b};if(l){const N=m==="y"?"height":"width",M=s.reference[m]-s.floating[N]+j.mainAxis,D=s.reference[m]+s.reference[N]-j.mainAxis;g<M?g=M:g>D&&(g=D)}if(u){var S,I;const N=m==="y"?"width":"height",M=["top","left"].includes(fd(o)),D=s.reference[f]-s.floating[N]+(M&&((S=a.offset)==null?void 0:S[f])||0)+(M?0:j.crossAxis),O=s.reference[f]+s.reference[N]+(M?0:((I=a.offset)==null?void 0:I[f])||0)-(M?j.crossAxis:0);w<D?w=D:w>O&&(w=O)}return{[m]:g,[f]:w}}}},wOe=function(t){return t===void 0&&(t={}),{name:"size",options:t,async fn(e){var n,r;const{placement:o,rects:s,platform:a,elements:i}=e,{apply:l=()=>{},...u}=ud(t,e),d=await a2(e,u),f=fd(o),m=ev(o),g=dh(o)==="y",{width:w,height:b}=s.floating;let j,S;f==="top"||f==="bottom"?(j=f,S=m===(await(a.isRTL==null?void 0:a.isRTL(i.floating))?"start":"end")?"left":"right"):(S=f,j=m==="end"?"top":"bottom");const I=b-d.top-d.bottom,N=w-d.left-d.right,M=fh(b-d[j],I),D=fh(w-d[S],N),O=!e.middlewareData.shift;let L=M,B=D;if((n=e.middlewareData.shift)!=null&&n.enabled.x&&(B=N),(r=e.middlewareData.shift)!=null&&r.enabled.y&&(L=I),O&&!m){const R=el(d.left,0),z=el(d.right,0),Y=el(d.top,0),Q=el(d.bottom,0);g?B=w-2*(R!==0||z!==0?R+z:el(d.left,d.right)):L=b-2*(Y!==0||Q!==0?Y+Q:el(d.top,d.bottom))}await l({...e,availableWidth:B,availableHeight:L});const T=await a.getDimensions(i.floating);return w!==T.width||b!==T.height?{reset:{rects:!0}}:{}}}};function _S(){return typeof window<"u"}function tv(t){return $ae(t)?(t.nodeName||"").toLowerCase():"#document"}function il(t){var e;return(t==null||(e=t.ownerDocument)==null?void 0:e.defaultView)||window}function vf(t){var e;return(e=($ae(t)?t.ownerDocument:t.document)||window.document)==null?void 0:e.documentElement}function $ae(t){return _S()?t instanceof Node||t instanceof il(t).Node:!1}function eu(t){return _S()?t instanceof Element||t instanceof il(t).Element:!1}function sf(t){return _S()?t instanceof HTMLElement||t instanceof il(t).HTMLElement:!1}function AY(t){return!_S()||typeof ShadowRoot>"u"?!1:t instanceof ShadowRoot||t instanceof il(t).ShadowRoot}function ax(t){const{overflow:e,overflowX:n,overflowY:r,display:o}=tu(t);return/auto|scroll|overlay|hidden|clip/.test(e+r+n)&&!["inline","contents"].includes(o)}function bOe(t){return["table","td","th"].includes(tv(t))}function MS(t){return[":popover-open",":modal"].some(e=>{try{return t.matches(e)}catch{return!1}})}function gL(t){const e=yL(),n=eu(t)?tu(t):t;return n.transform!=="none"||n.perspective!=="none"||(n.containerType?n.containerType!=="normal":!1)||!e&&(n.backdropFilter?n.backdropFilter!=="none":!1)||!e&&(n.filter?n.filter!=="none":!1)||["transform","perspective","filter"].some(r=>(n.willChange||"").includes(r))||["paint","layout","strict","content"].some(r=>(n.contain||"").includes(r))}function xOe(t){let e=ph(t);for(;sf(e)&&!yy(e);){if(gL(e))return e;if(MS(e))return null;e=ph(e)}return null}function yL(){return typeof CSS>"u"||!CSS.supports?!1:CSS.supports("-webkit-backdrop-filter","none")}function yy(t){return["html","body","#document"].includes(tv(t))}function tu(t){return il(t).getComputedStyle(t)}function RS(t){return eu(t)?{scrollLeft:t.scrollLeft,scrollTop:t.scrollTop}:{scrollLeft:t.scrollX,scrollTop:t.scrollY}}function ph(t){if(tv(t)==="html")return t;const e=t.assignedSlot||t.parentNode||AY(t)&&t.host||vf(t);return AY(e)?e.host:e}function Vae(t){const e=ph(t);return yy(e)?t.ownerDocument?t.ownerDocument.body:t.body:sf(e)&&ax(e)?e:Vae(e)}function i2(t,e,n){var r;e===void 0&&(e=[]),n===void 0&&(n=!0);const o=Vae(t),s=o===((r=t.ownerDocument)==null?void 0:r.body),a=il(o);if(s){const i=$8(a);return e.concat(a,a.visualViewport||[],ax(o)?o:[],i&&n?i2(i):[])}return e.concat(o,i2(o,[],n))}function $8(t){return t.parent&&Object.getPrototypeOf(t.parent)?t.frameElement:null}function Hae(t){const e=tu(t);let n=parseFloat(e.width)||0,r=parseFloat(e.height)||0;const o=sf(t),s=o?t.offsetWidth:n,a=o?t.offsetHeight:r,i=nj(n)!==s||nj(r)!==a;return i&&(n=s,r=a),{width:n,height:r,$:i}}function vL(t){return eu(t)?t:t.contextElement}function H0(t){const e=vL(t);if(!sf(e))return Gu(1);const n=e.getBoundingClientRect(),{width:r,height:o,$:s}=Hae(e);let a=(s?nj(n.width):n.width)/r,i=(s?nj(n.height):n.height)/o;return(!a||!Number.isFinite(a))&&(a=1),(!i||!Number.isFinite(i))&&(i=1),{x:a,y:i}}const kOe=Gu(0);function Wae(t){const e=il(t);return!yL()||!e.visualViewport?kOe:{x:e.visualViewport.offsetLeft,y:e.visualViewport.offsetTop}}function jOe(t,e,n){return e===void 0&&(e=!1),!n||e&&n!==il(t)?!1:e}function Sg(t,e,n,r){e===void 0&&(e=!1),n===void 0&&(n=!1);const o=t.getBoundingClientRect(),s=vL(t);let a=Gu(1);e&&(r?eu(r)&&(a=H0(r)):a=H0(t));const i=jOe(s,n,r)?Wae(s):Gu(0);let l=(o.left+i.x)/a.x,u=(o.top+i.y)/a.y,d=o.width/a.x,f=o.height/a.y;if(s){const m=il(s),g=r&&eu(r)?il(r):r;let w=m,b=$8(w);for(;b&&r&&g!==w;){const j=H0(b),S=b.getBoundingClientRect(),I=tu(b),N=S.left+(b.clientLeft+parseFloat(I.paddingLeft))*j.x,M=S.top+(b.clientTop+parseFloat(I.paddingTop))*j.y;l*=j.x,u*=j.y,d*=j.x,f*=j.y,l+=N,u+=M,w=il(b),b=$8(w)}}return oj({width:d,height:f,x:l,y:u})}function wL(t,e){const n=RS(t).scrollLeft;return e?e.left+n:Sg(vf(t)).left+n}function Yae(t,e,n){n===void 0&&(n=!1);const r=t.getBoundingClientRect(),o=r.left+e.scrollLeft-(n?0:wL(t,r)),s=r.top+e.scrollTop;return{x:o,y:s}}function COe(t){let{elements:e,rect:n,offsetParent:r,strategy:o}=t;const s=o==="fixed",a=vf(r),i=e?MS(e.floating):!1;if(r===a||i&&s)return n;let l={scrollLeft:0,scrollTop:0},u=Gu(1);const d=Gu(0),f=sf(r);if((f||!f&&!s)&&((tv(r)!=="body"||ax(a))&&(l=RS(r)),sf(r))){const g=Sg(r);u=H0(r),d.x=g.x+r.clientLeft,d.y=g.y+r.clientTop}const m=a&&!f&&!s?Yae(a,l,!0):Gu(0);return{width:n.width*u.x,height:n.height*u.y,x:n.x*u.x-l.scrollLeft*u.x+d.x+m.x,y:n.y*u.y-l.scrollTop*u.y+d.y+m.y}}function SOe(t){return Array.from(t.getClientRects())}function EOe(t){const e=vf(t),n=RS(t),r=t.ownerDocument.body,o=el(e.scrollWidth,e.clientWidth,r.scrollWidth,r.clientWidth),s=el(e.scrollHeight,e.clientHeight,r.scrollHeight,r.clientHeight);let a=-n.scrollLeft+wL(t);const i=-n.scrollTop;return tu(r).direction==="rtl"&&(a+=el(e.clientWidth,r.clientWidth)-o),{width:o,height:s,x:a,y:i}}function NOe(t,e){const n=il(t),r=vf(t),o=n.visualViewport;let s=r.clientWidth,a=r.clientHeight,i=0,l=0;if(o){s=o.width,a=o.height;const u=yL();(!u||u&&e==="fixed")&&(i=o.offsetLeft,l=o.offsetTop)}return{width:s,height:a,x:i,y:l}}function IOe(t,e){const n=Sg(t,!0,e==="fixed"),r=n.top+t.clientTop,o=n.left+t.clientLeft,s=sf(t)?H0(t):Gu(1),a=t.clientWidth*s.x,i=t.clientHeight*s.y,l=o*s.x,u=r*s.y;return{width:a,height:i,x:l,y:u}}function _Y(t,e,n){let r;if(e==="viewport")r=NOe(t,n);else if(e==="document")r=EOe(vf(t));else if(eu(e))r=IOe(e,n);else{const o=Wae(t);r={x:e.x-o.x,y:e.y-o.y,width:e.width,height:e.height}}return oj(r)}function Gae(t,e){const n=ph(t);return n===e||!eu(n)||yy(n)?!1:tu(n).position==="fixed"||Gae(n,e)}function AOe(t,e){const n=e.get(t);if(n)return n;let r=i2(t,[],!1).filter(i=>eu(i)&&tv(i)!=="body"),o=null;const s=tu(t).position==="fixed";let a=s?ph(t):t;for(;eu(a)&&!yy(a);){const i=tu(a),l=gL(a);!l&&i.position==="fixed"&&(o=null),(s?!l&&!o:!l&&i.position==="static"&&!!o&&["absolute","fixed"].includes(o.position)||ax(a)&&!l&&Gae(t,a))?r=r.filter(d=>d!==a):o=i,a=ph(a)}return e.set(t,r),r}function _Oe(t){let{element:e,boundary:n,rootBoundary:r,strategy:o}=t;const a=[...n==="clippingAncestors"?MS(e)?[]:AOe(e,this._c):[].concat(n),r],i=a[0],l=a.reduce((u,d)=>{const f=_Y(e,d,o);return u.top=el(f.top,u.top),u.right=fh(f.right,u.right),u.bottom=fh(f.bottom,u.bottom),u.left=el(f.left,u.left),u},_Y(e,i,o));return{width:l.right-l.left,height:l.bottom-l.top,x:l.left,y:l.top}}function MOe(t){const{width:e,height:n}=Hae(t);return{width:e,height:n}}function ROe(t,e,n){const r=sf(e),o=vf(e),s=n==="fixed",a=Sg(t,!0,s,e);let i={scrollLeft:0,scrollTop:0};const l=Gu(0);if(r||!r&&!s)if((tv(e)!=="body"||ax(o))&&(i=RS(e)),r){const m=Sg(e,!0,s,e);l.x=m.x+e.clientLeft,l.y=m.y+e.clientTop}else o&&(l.x=wL(o));const u=o&&!r&&!s?Yae(o,i):Gu(0),d=a.left+i.scrollLeft-l.x-u.x,f=a.top+i.scrollTop-l.y-u.y;return{x:d,y:f,width:a.width,height:a.height}}function tA(t){return tu(t).position==="static"}function MY(t,e){if(!sf(t)||tu(t).position==="fixed")return null;if(e)return e(t);let n=t.offsetParent;return vf(t)===n&&(n=n.ownerDocument.body),n}function qae(t,e){const n=il(t);if(MS(t))return n;if(!sf(t)){let o=ph(t);for(;o&&!yy(o);){if(eu(o)&&!tA(o))return o;o=ph(o)}return n}let r=MY(t,e);for(;r&&bOe(r)&&tA(r);)r=MY(r,e);return r&&yy(r)&&tA(r)&&!gL(r)?n:r||xOe(t)||n}const TOe=async function(t){const e=this.getOffsetParent||qae,n=this.getDimensions,r=await n(t.floating);return{reference:ROe(t.reference,await e(t.floating),t.strategy),floating:{x:0,y:0,width:r.width,height:r.height}}};function DOe(t){return tu(t).direction==="rtl"}const LOe={convertOffsetParentRelativeRectToViewportRelativeRect:COe,getDocumentElement:vf,getClippingRect:_Oe,getOffsetParent:qae,getElementRects:TOe,getClientRects:SOe,getDimensions:MOe,getScale:H0,isElement:eu,isRTL:DOe};function POe(t,e){let n=null,r;const o=vf(t);function s(){var i;clearTimeout(r),(i=n)==null||i.disconnect(),n=null}function a(i,l){i===void 0&&(i=!1),l===void 0&&(l=1),s();const{left:u,top:d,width:f,height:m}=t.getBoundingClientRect();if(i||e(),!f||!m)return;const g=_6(d),w=_6(o.clientWidth-(u+f)),b=_6(o.clientHeight-(d+m)),j=_6(u),I={rootMargin:-g+"px "+-w+"px "+-b+"px "+-j+"px",threshold:el(0,fh(1,l))||1};let N=!0;function M(D){const O=D[0].intersectionRatio;if(O!==l){if(!N)return a();O?a(!1,O):r=setTimeout(()=>{a(!1,1e-7)},1e3)}N=!1}try{n=new IntersectionObserver(M,{...I,root:o.ownerDocument})}catch{n=new IntersectionObserver(M,I)}n.observe(t)}return a(!0),s}function OOe(t,e,n,r){r===void 0&&(r={});const{ancestorScroll:o=!0,ancestorResize:s=!0,elementResize:a=typeof ResizeObserver=="function",layoutShift:i=typeof IntersectionObserver=="function",animationFrame:l=!1}=r,u=vL(t),d=o||s?[...u?i2(u):[],...i2(e)]:[];d.forEach(S=>{o&&S.addEventListener("scroll",n,{passive:!0}),s&&S.addEventListener("resize",n)});const f=u&&i?POe(u,n):null;let m=-1,g=null;a&&(g=new ResizeObserver(S=>{let[I]=S;I&&I.target===u&&g&&(g.unobserve(e),cancelAnimationFrame(m),m=requestAnimationFrame(()=>{var N;(N=g)==null||N.observe(e)})),n()}),u&&!l&&g.observe(u),g.observe(e));let w,b=l?Sg(t):null;l&&j();function j(){const S=Sg(t);b&&(S.x!==b.x||S.y!==b.y||S.width!==b.width||S.height!==b.height)&&n(),b=S,w=requestAnimationFrame(j)}return n(),()=>{var S;d.forEach(I=>{o&&I.removeEventListener("scroll",n),s&&I.removeEventListener("resize",n)}),f==null||f(),(S=g)==null||S.disconnect(),g=null,l&&cancelAnimationFrame(w)}}const zOe=gOe,FOe=yOe,BOe=pOe,UOe=wOe,$Oe=hOe,RY=dOe,VOe=vOe,HOe=(t,e,n)=>{const r=new Map,o={platform:LOe,...n},s={...o.platform,_c:r};return fOe(t,e,{...o,platform:s})};var $3=typeof document<"u"?h.useLayoutEffect:h.useEffect;function sj(t,e){if(t===e)return!0;if(typeof t!=typeof e)return!1;if(typeof t=="function"&&t.toString()===e.toString())return!0;let n,r,o;if(t&&e&&typeof t=="object"){if(Array.isArray(t)){if(n=t.length,n!==e.length)return!1;for(r=n;r--!==0;)if(!sj(t[r],e[r]))return!1;return!0}if(o=Object.keys(t),n=o.length,n!==Object.keys(e).length)return!1;for(r=n;r--!==0;)if(!{}.hasOwnProperty.call(e,o[r]))return!1;for(r=n;r--!==0;){const s=o[r];if(!(s==="_owner"&&t.$$typeof)&&!sj(t[s],e[s]))return!1}return!0}return t!==t&&e!==e}function Kae(t){return typeof window>"u"?1:(t.ownerDocument.defaultView||window).devicePixelRatio||1}function TY(t,e){const n=Kae(t);return Math.round(e*n)/n}function nA(t){const e=h.useRef(t);return $3(()=>{e.current=t}),e}function WOe(t){t===void 0&&(t={});const{placement:e="bottom",strategy:n="absolute",middleware:r=[],platform:o,elements:{reference:s,floating:a}={},transform:i=!0,whileElementsMounted:l,open:u}=t,[d,f]=h.useState({x:0,y:0,strategy:n,placement:e,middlewareData:{},isPositioned:!1}),[m,g]=h.useState(r);sj(m,r)||g(r);const[w,b]=h.useState(null),[j,S]=h.useState(null),I=h.useCallback(V=>{V!==O.current&&(O.current=V,b(V))},[]),N=h.useCallback(V=>{V!==L.current&&(L.current=V,S(V))},[]),M=s||w,D=a||j,O=h.useRef(null),L=h.useRef(null),B=h.useRef(d),T=l!=null,R=nA(l),z=nA(o),Y=nA(u),Q=h.useCallback(()=>{if(!O.current||!L.current)return;const V={placement:e,strategy:n,middleware:m};z.current&&(V.platform=z.current),HOe(O.current,L.current,V).then(K=>{const G={...K,isPositioned:Y.current!==!1};W.current&&!sj(B.current,G)&&(B.current=G,Ds.flushSync(()=>{f(G)}))})},[m,e,n,z,Y]);$3(()=>{u===!1&&B.current.isPositioned&&(B.current.isPositioned=!1,f(V=>({...V,isPositioned:!1})))},[u]);const W=h.useRef(!1);$3(()=>(W.current=!0,()=>{W.current=!1}),[]),$3(()=>{if(M&&(O.current=M),D&&(L.current=D),M&&D){if(R.current)return R.current(M,D,Q);Q()}},[M,D,Q,R,T]);const F=h.useMemo(()=>({reference:O,floating:L,setReference:I,setFloating:N}),[I,N]),X=h.useMemo(()=>({reference:M,floating:D}),[M,D]),$=h.useMemo(()=>{const V={position:n,left:0,top:0};if(!X.floating)return V;const K=TY(X.floating,d.x),G=TY(X.floating,d.y);return i?{...V,transform:"translate("+K+"px, "+G+"px)",...Kae(X.floating)>=1.5&&{willChange:"transform"}}:{position:n,left:K,top:G}},[n,i,X.floating,d.x,d.y]);return h.useMemo(()=>({...d,update:Q,refs:F,elements:X,floatingStyles:$}),[d,Q,F,X,$])}const YOe=t=>{function e(n){return{}.hasOwnProperty.call(n,"current")}return{name:"arrow",options:t,fn(n){const{element:r,padding:o}=typeof t=="function"?t(n):t;return r&&e(r)?r.current!=null?RY({element:r.current,padding:o}).fn(n):{}:r?RY({element:r,padding:o}).fn(n):{}}}},GOe=(t,e)=>({...zOe(t),options:[t,e]}),qOe=(t,e)=>({...FOe(t),options:[t,e]}),KOe=(t,e)=>({...VOe(t),options:[t,e]}),ZOe=(t,e)=>({...BOe(t),options:[t,e]}),QOe=(t,e)=>({...UOe(t),options:[t,e]}),JOe=(t,e)=>({...$Oe(t),options:[t,e]}),XOe=(t,e)=>({...YOe(t),options:[t,e]});function DY(t,e){if(typeof t=="function")return t(e);t!=null&&(t.current=e)}function eze(...t){return e=>{let n=!1;const r=t.map(o=>{const s=DY(o,e);return!n&&typeof s=="function"&&(n=!0),s});if(n)return()=>{for(let o=0;o<r.length;o++){const s=r[o];typeof s=="function"?s():DY(t[o],null)}}}}var Zae=h.forwardRef((t,e)=>{const{children:n,...r}=t,o=h.Children.toArray(n),s=o.find(nze);if(s){const a=s.props.children,i=o.map(l=>l===s?h.Children.count(a)>1?h.Children.only(null):h.isValidElement(a)?a.props.children:null:l);return c.jsx(V8,{...r,ref:e,children:h.isValidElement(a)?h.cloneElement(a,void 0,i):null})}return c.jsx(V8,{...r,ref:e,children:n})});Zae.displayName="Slot";var V8=h.forwardRef((t,e)=>{const{children:n,...r}=t;if(h.isValidElement(n)){const o=oze(n);return h.cloneElement(n,{...rze(r,n.props),ref:e?eze(e,o):o})}return h.Children.count(n)>1?h.Children.only(null):null});V8.displayName="SlotClone";var tze=({children:t})=>c.jsx(c.Fragment,{children:t});function nze(t){return h.isValidElement(t)&&t.type===tze}function rze(t,e){const n={...e};for(const r in e){const o=t[r],s=e[r];/^on[A-Z]/.test(r)?o&&s?n[r]=(...i)=>{s(...i),o(...i)}:o&&(n[r]=o):r==="style"?n[r]={...o,...s}:r==="className"&&(n[r]=[o,s].filter(Boolean).join(" "))}return{...t,...n}}function oze(t){var r,o;let e=(r=Object.getOwnPropertyDescriptor(t.props,"ref"))==null?void 0:r.get,n=e&&"isReactWarning"in e&&e.isReactWarning;return n?t.ref:(e=(o=Object.getOwnPropertyDescriptor(t,"ref"))==null?void 0:o.get,n=e&&"isReactWarning"in e&&e.isReactWarning,n?t.props.ref:t.props.ref||t.ref)}var sze=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","span","svg","ul"],aze=sze.reduce((t,e)=>{const n=h.forwardRef((r,o)=>{const{asChild:s,...a}=r,i=s?Zae:e;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),c.jsx(i,{...a,ref:o})});return n.displayName=`Primitive.${e}`,{...t,[e]:n}},{}),ize="Arrow",Qae=h.forwardRef((t,e)=>{const{children:n,width:r=10,height:o=5,...s}=t;return c.jsx(aze.svg,{...s,ref:e,width:r,height:o,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:t.asChild?n:c.jsx("polygon",{points:"0,0 30,0 15,10"})})});Qae.displayName=ize;var lze=Qae;function LY(t,e){if(typeof t=="function")return t(e);t!=null&&(t.current=e)}function Jae(...t){return e=>{let n=!1;const r=t.map(o=>{const s=LY(o,e);return!n&&typeof s=="function"&&(n=!0),s});if(n)return()=>{for(let o=0;o<r.length;o++){const s=r[o];typeof s=="function"?s():LY(t[o],null)}}}}function Xae(...t){return h.useCallback(Jae(...t),t)}function cze(t,e=[]){let n=[];function r(s,a){const i=h.createContext(a),l=n.length;n=[...n,a];const u=f=>{var S;const{scope:m,children:g,...w}=f,b=((S=m==null?void 0:m[t])==null?void 0:S[l])||i,j=h.useMemo(()=>w,Object.values(w));return c.jsx(b.Provider,{value:j,children:g})};u.displayName=s+"Provider";function d(f,m){var b;const g=((b=m==null?void 0:m[t])==null?void 0:b[l])||i,w=h.useContext(g);if(w)return w;if(a!==void 0)return a;throw new Error(`\`${f}\` must be used within \`${s}\``)}return[u,d]}const o=()=>{const s=n.map(a=>h.createContext(a));return function(i){const l=(i==null?void 0:i[t])||s;return h.useMemo(()=>({[`__scope${t}`]:{...i,[t]:l}}),[i,l])}};return o.scopeName=t,[r,uze(o,...e)]}function uze(...t){const e=t[0];if(t.length===1)return e;const n=()=>{const r=t.map(o=>({useScope:o(),scopeName:o.scopeName}));return function(s){const a=r.reduce((i,{useScope:l,scopeName:u})=>{const f=l(s)[`__scope${u}`];return{...i,...f}},{});return h.useMemo(()=>({[`__scope${e.scopeName}`]:a}),[a])}};return n.scopeName=e.scopeName,n}var eie=h.forwardRef((t,e)=>{const{children:n,...r}=t,o=h.Children.toArray(n),s=o.find(dze);if(s){const a=s.props.children,i=o.map(l=>l===s?h.Children.count(a)>1?h.Children.only(null):h.isValidElement(a)?a.props.children:null:l);return c.jsx(H8,{...r,ref:e,children:h.isValidElement(a)?h.cloneElement(a,void 0,i):null})}return c.jsx(H8,{...r,ref:e,children:n})});eie.displayName="Slot";var H8=h.forwardRef((t,e)=>{const{children:n,...r}=t;if(h.isValidElement(n)){const o=hze(n);return h.cloneElement(n,{...pze(r,n.props),ref:e?Jae(e,o):o})}return h.Children.count(n)>1?h.Children.only(null):null});H8.displayName="SlotClone";var fze=({children:t})=>c.jsx(c.Fragment,{children:t});function dze(t){return h.isValidElement(t)&&t.type===fze}function pze(t,e){const n={...e};for(const r in e){const o=t[r],s=e[r];/^on[A-Z]/.test(r)?o&&s?n[r]=(...i)=>{s(...i),o(...i)}:o&&(n[r]=o):r==="style"?n[r]={...o,...s}:r==="className"&&(n[r]=[o,s].filter(Boolean).join(" "))}return{...t,...n}}function hze(t){var r,o;let e=(r=Object.getOwnPropertyDescriptor(t.props,"ref"))==null?void 0:r.get,n=e&&"isReactWarning"in e&&e.isReactWarning;return n?t.ref:(e=(o=Object.getOwnPropertyDescriptor(t,"ref"))==null?void 0:o.get,n=e&&"isReactWarning"in e&&e.isReactWarning,n?t.props.ref:t.props.ref||t.ref)}var mze=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","span","svg","ul"],tie=mze.reduce((t,e)=>{const n=h.forwardRef((r,o)=>{const{asChild:s,...a}=r,i=s?eie:e;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),c.jsx(i,{...a,ref:o})});return n.displayName=`Primitive.${e}`,{...t,[e]:n}},{});function gze(t){const[e,n]=h.useState(void 0);return fr(()=>{if(t){n({width:t.offsetWidth,height:t.offsetHeight});const r=new ResizeObserver(o=>{if(!Array.isArray(o)||!o.length)return;const s=o[0];let a,i;if("borderBoxSize"in s){const l=s.borderBoxSize,u=Array.isArray(l)?l[0]:l;a=u.inlineSize,i=u.blockSize}else a=t.offsetWidth,i=t.offsetHeight;n({width:a,height:i})});return r.observe(t,{box:"border-box"}),()=>r.unobserve(t)}else n(void 0)},[t]),e}var bL="Popper",[nie,Eh]=cze(bL),[yze,rie]=nie(bL),oie=t=>{const{__scopePopper:e,children:n}=t,[r,o]=h.useState(null);return c.jsx(yze,{scope:e,anchor:r,onAnchorChange:o,children:n})};oie.displayName=bL;var sie="PopperAnchor",aie=h.forwardRef((t,e)=>{const{__scopePopper:n,virtualRef:r,...o}=t,s=rie(sie,n),a=h.useRef(null),i=Xae(e,a);return h.useEffect(()=>{s.onAnchorChange((r==null?void 0:r.current)||a.current)}),r?null:c.jsx(tie.div,{...o,ref:i})});aie.displayName=sie;var xL="PopperContent",[vze,wze]=nie(xL),iie=h.forwardRef((t,e)=>{var xe,ce,pe,me,ke,le;const{__scopePopper:n,side:r="bottom",sideOffset:o=0,align:s="center",alignOffset:a=0,arrowPadding:i=0,avoidCollisions:l=!0,collisionBoundary:u=[],collisionPadding:d=0,sticky:f="partial",hideWhenDetached:m=!1,updatePositionStrategy:g="optimized",onPlaced:w,...b}=t,j=rie(xL,n),[S,I]=h.useState(null),N=Xae(e,he=>I(he)),[M,D]=h.useState(null),O=gze(M),L=(O==null?void 0:O.width)??0,B=(O==null?void 0:O.height)??0,T=r+(s!=="center"?"-"+s:""),R=typeof d=="number"?d:{top:0,right:0,bottom:0,left:0,...d},z=Array.isArray(u)?u:[u],Y=z.length>0,Q={padding:R,boundary:z.filter(xze),altBoundary:Y},{refs:W,floatingStyles:F,placement:X,isPositioned:$,middlewareData:V}=WOe({strategy:"fixed",placement:T,whileElementsMounted:(...he)=>OOe(...he,{animationFrame:g==="always"}),elements:{reference:j.anchor},middleware:[GOe({mainAxis:o+B,alignmentAxis:a}),l&&qOe({mainAxis:!0,crossAxis:!1,limiter:f==="partial"?KOe():void 0,...Q}),l&&ZOe({...Q}),QOe({...Q,apply:({elements:he,rects:we,availableWidth:Ae,availableHeight:Ve})=>{const{width:Ze,height:nt}=we.reference,$e=he.floating.style;$e.setProperty("--radix-popper-available-width",`${Ae}px`),$e.setProperty("--radix-popper-available-height",`${Ve}px`),$e.setProperty("--radix-popper-anchor-width",`${Ze}px`),$e.setProperty("--radix-popper-anchor-height",`${nt}px`)}}),M&&XOe({element:M,padding:i}),kze({arrowWidth:L,arrowHeight:B}),m&&JOe({strategy:"referenceHidden",...Q})]}),[K,G]=uie(X),J=or(w);fr(()=>{$&&(J==null||J())},[$,J]);const ne=(xe=V.arrow)==null?void 0:xe.x,re=(ce=V.arrow)==null?void 0:ce.y,de=((pe=V.arrow)==null?void 0:pe.centerOffset)!==0,[Ne,ve]=h.useState();return fr(()=>{S&&ve(window.getComputedStyle(S).zIndex)},[S]),c.jsx("div",{ref:W.setFloating,"data-radix-popper-content-wrapper":"",style:{...F,transform:$?F.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:Ne,"--radix-popper-transform-origin":[(me=V.transformOrigin)==null?void 0:me.x,(ke=V.transformOrigin)==null?void 0:ke.y].join(" "),...((le=V.hide)==null?void 0:le.referenceHidden)&&{visibility:"hidden",pointerEvents:"none"}},dir:t.dir,children:c.jsx(vze,{scope:n,placedSide:K,onArrowChange:D,arrowX:ne,arrowY:re,shouldHideArrow:de,children:c.jsx(tie.div,{"data-side":K,"data-align":G,...b,ref:N,style:{...b.style,animation:$?void 0:"none"}})})})});iie.displayName=xL;var lie="PopperArrow",bze={top:"bottom",right:"left",bottom:"top",left:"right"},cie=h.forwardRef(function(e,n){const{__scopePopper:r,...o}=e,s=wze(lie,r),a=bze[s.placedSide];return c.jsx("span",{ref:s.onArrowChange,style:{position:"absolute",left:s.arrowX,top:s.arrowY,[a]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[s.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[s.placedSide],visibility:s.shouldHideArrow?"hidden":void 0},children:c.jsx(lze,{...o,ref:n,style:{...o.style,display:"block"}})})});cie.displayName=lie;function xze(t){return t!==null}var kze=t=>({name:"transformOrigin",options:t,fn(e){var j,S,I;const{placement:n,rects:r,middlewareData:o}=e,a=((j=o.arrow)==null?void 0:j.centerOffset)!==0,i=a?0:t.arrowWidth,l=a?0:t.arrowHeight,[u,d]=uie(n),f={start:"0%",center:"50%",end:"100%"}[d],m=(((S=o.arrow)==null?void 0:S.x)??0)+i/2,g=(((I=o.arrow)==null?void 0:I.y)??0)+l/2;let w="",b="";return u==="bottom"?(w=a?f:`${m}px`,b=`${-l}px`):u==="top"?(w=a?f:`${m}px`,b=`${r.floating.height+l}px`):u==="right"?(w=`${-l}px`,b=a?f:`${g}px`):u==="left"&&(w=`${r.floating.width+l}px`,b=a?f:`${g}px`),{data:{x:w,y:b}}}});function uie(t){const[e,n="center"]=t.split("-");return[e,n]}var ix=oie,lx=aie,TS=iie,DS=cie;function jze(t,e){return h.useReducer((n,r)=>e[n][r]??n,t)}var fie=t=>{const{present:e,children:n}=t,r=Cze(e),o=typeof n=="function"?n({present:r.isPresent}):h.Children.only(n),s=Bae(r.ref,Sze(o));return typeof n=="function"||r.isPresent?h.cloneElement(o,{ref:s}):null};fie.displayName="Presence";function Cze(t){const[e,n]=h.useState(),r=h.useRef({}),o=h.useRef(t),s=h.useRef("none"),a=t?"mounted":"unmounted",[i,l]=jze(a,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return h.useEffect(()=>{const u=M6(r.current);s.current=i==="mounted"?u:"none"},[i]),fr(()=>{const u=r.current,d=o.current;if(d!==t){const m=s.current,g=M6(u);t?l("MOUNT"):g==="none"||(u==null?void 0:u.display)==="none"?l("UNMOUNT"):l(d&&m!==g?"ANIMATION_OUT":"UNMOUNT"),o.current=t}},[t,l]),fr(()=>{if(e){let u;const d=e.ownerDocument.defaultView??window,f=g=>{const b=M6(r.current).includes(g.animationName);if(g.target===e&&b&&(l("ANIMATION_END"),!o.current)){const j=e.style.animationFillMode;e.style.animationFillMode="forwards",u=d.setTimeout(()=>{e.style.animationFillMode==="forwards"&&(e.style.animationFillMode=j)})}},m=g=>{g.target===e&&(s.current=M6(r.current))};return e.addEventListener("animationstart",m),e.addEventListener("animationcancel",f),e.addEventListener("animationend",f),()=>{d.clearTimeout(u),e.removeEventListener("animationstart",m),e.removeEventListener("animationcancel",f),e.removeEventListener("animationend",f)}}else l("ANIMATION_END")},[e,l]),{isPresent:["mounted","unmountSuspended"].includes(i),ref:h.useCallback(u=>{u&&(r.current=getComputedStyle(u)),n(u)},[])}}function M6(t){return(t==null?void 0:t.animationName)||"none"}function Sze(t){var r,o;let e=(r=Object.getOwnPropertyDescriptor(t.props,"ref"))==null?void 0:r.get,n=e&&"isReactWarning"in e&&e.isReactWarning;return n?t.ref:(e=(o=Object.getOwnPropertyDescriptor(t,"ref"))==null?void 0:o.get,n=e&&"isReactWarning"in e&&e.isReactWarning,n?t.props.ref:t.props.ref||t.ref)}var die=h.forwardRef((t,e)=>{const{children:n,...r}=t,o=h.Children.toArray(n),s=o.find(Nze);if(s){const a=s.props.children,i=o.map(l=>l===s?h.Children.count(a)>1?h.Children.only(null):h.isValidElement(a)?a.props.children:null:l);return c.jsx(W8,{...r,ref:e,children:h.isValidElement(a)?h.cloneElement(a,void 0,i):null})}return c.jsx(W8,{...r,ref:e,children:n})});die.displayName="Slot";var W8=h.forwardRef((t,e)=>{const{children:n,...r}=t;if(h.isValidElement(n)){const o=Aze(n);return h.cloneElement(n,{...Ize(r,n.props),ref:e?Fae(e,o):o})}return h.Children.count(n)>1?h.Children.only(null):null});W8.displayName="SlotClone";var Eze=({children:t})=>c.jsx(c.Fragment,{children:t});function Nze(t){return h.isValidElement(t)&&t.type===Eze}function Ize(t,e){const n={...e};for(const r in e){const o=t[r],s=e[r];/^on[A-Z]/.test(r)?o&&s?n[r]=(...i)=>{s(...i),o(...i)}:o&&(n[r]=o):r==="style"?n[r]={...o,...s}:r==="className"&&(n[r]=[o,s].filter(Boolean).join(" "))}return{...t,...n}}function Aze(t){var r,o;let e=(r=Object.getOwnPropertyDescriptor(t.props,"ref"))==null?void 0:r.get,n=e&&"isReactWarning"in e&&e.isReactWarning;return n?t.ref:(e=(o=Object.getOwnPropertyDescriptor(t,"ref"))==null?void 0:o.get,n=e&&"isReactWarning"in e&&e.isReactWarning,n?t.props.ref:t.props.ref||t.ref)}var _ze=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","span","svg","ul"],Mze=_ze.reduce((t,e)=>{const n=h.forwardRef((r,o)=>{const{asChild:s,...a}=r,i=s?die:e;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),c.jsx(i,{...a,ref:o})});return n.displayName=`Primitive.${e}`,{...t,[e]:n}},{}),rA,kL="HoverCard",[pie]=XPe(kL,[Eh]),LS=Eh(),[Rze,jL]=pie(kL),hie=t=>{const{__scopeHoverCard:e,children:n,open:r,defaultOpen:o,onOpenChange:s,openDelay:a=700,closeDelay:i=300}=t,l=LS(e),u=h.useRef(0),d=h.useRef(0),f=h.useRef(!1),m=h.useRef(!1),[g=!1,w]=tOe({prop:r,defaultProp:o,onChange:s}),b=h.useCallback(()=>{clearTimeout(d.current),u.current=window.setTimeout(()=>w(!0),a)},[a,w]),j=h.useCallback(()=>{clearTimeout(u.current),!f.current&&!m.current&&(d.current=window.setTimeout(()=>w(!1),i))},[i,w]),S=h.useCallback(()=>w(!1),[w]);return h.useEffect(()=>()=>{clearTimeout(u.current),clearTimeout(d.current)},[]),c.jsx(Rze,{scope:e,open:g,onOpenChange:w,onOpen:b,onClose:j,onDismiss:S,hasSelectionRef:f,isPointerDownOnContentRef:m,children:c.jsx(ix,{...l,children:n})})};hie.displayName=kL;var mie="HoverCardTrigger",gie=h.forwardRef((t,e)=>{const{__scopeHoverCard:n,...r}=t,o=jL(mie,n),s=LS(n);return c.jsx(lx,{asChild:!0,...s,children:c.jsx(Mze.a,{"data-state":o.open?"open":"closed",...r,ref:e,onPointerEnter:Zf(t.onPointerEnter,ij(o.onOpen)),onPointerLeave:Zf(t.onPointerLeave,ij(o.onClose)),onFocus:Zf(t.onFocus,o.onOpen),onBlur:Zf(t.onBlur,o.onClose),onTouchStart:Zf(t.onTouchStart,a=>a.preventDefault())})})});gie.displayName=mie;var Tze="HoverCardPortal",[tvt,Dze]=pie(Tze,{forceMount:void 0}),aj="HoverCardContent",yie=h.forwardRef((t,e)=>{const n=Dze(aj,t.__scopeHoverCard),{forceMount:r=n.forceMount,...o}=t,s=jL(aj,t.__scopeHoverCard);return c.jsx(fie,{present:r||s.open,children:c.jsx(Lze,{"data-state":s.open?"open":"closed",...o,onPointerEnter:Zf(t.onPointerEnter,ij(s.onOpen)),onPointerLeave:Zf(t.onPointerLeave,ij(s.onClose)),ref:e})})});yie.displayName=aj;var Lze=h.forwardRef((t,e)=>{const{__scopeHoverCard:n,onEscapeKeyDown:r,onPointerDownOutside:o,onFocusOutside:s,onInteractOutside:a,...i}=t,l=jL(aj,n),u=LS(n),d=h.useRef(null),f=Bae(e,d),[m,g]=h.useState(!1);return h.useEffect(()=>{if(m){const w=document.body;return rA=w.style.userSelect||w.style.webkitUserSelect,w.style.userSelect="none",w.style.webkitUserSelect="none",()=>{w.style.userSelect=rA,w.style.webkitUserSelect=rA}}},[m]),h.useEffect(()=>{if(d.current){const w=()=>{g(!1),l.isPointerDownOnContentRef.current=!1,setTimeout(()=>{var j;((j=document.getSelection())==null?void 0:j.toString())!==""&&(l.hasSelectionRef.current=!0)})};return document.addEventListener("pointerup",w),()=>{document.removeEventListener("pointerup",w),l.hasSelectionRef.current=!1,l.isPointerDownOnContentRef.current=!1}}},[l.isPointerDownOnContentRef,l.hasSelectionRef]),h.useEffect(()=>{d.current&&zze(d.current).forEach(b=>b.setAttribute("tabindex","-1"))}),c.jsx(Ky,{asChild:!0,disableOutsidePointerEvents:!1,onInteractOutside:a,onEscapeKeyDown:r,onPointerDownOutside:o,onFocusOutside:Zf(s,w=>{w.preventDefault()}),onDismiss:l.onDismiss,children:c.jsx(TS,{...u,...i,onPointerDown:Zf(i.onPointerDown,w=>{w.currentTarget.contains(w.target)&&g(!0),l.hasSelectionRef.current=!1,l.isPointerDownOnContentRef.current=!0}),ref:f,style:{...i.style,userSelect:m?"text":void 0,WebkitUserSelect:m?"text":void 0,"--radix-hover-card-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-hover-card-content-available-width":"var(--radix-popper-available-width)","--radix-hover-card-content-available-height":"var(--radix-popper-available-height)","--radix-hover-card-trigger-width":"var(--radix-popper-anchor-width)","--radix-hover-card-trigger-height":"var(--radix-popper-anchor-height)"}})})}),Pze="HoverCardArrow",Oze=h.forwardRef((t,e)=>{const{__scopeHoverCard:n,...r}=t,o=LS(n);return c.jsx(DS,{...o,...r,ref:e})});Oze.displayName=Pze;function ij(t){return e=>e.pointerType==="touch"?void 0:t()}function zze(t){const e=[],n=document.createTreeWalker(t,NodeFilter.SHOW_ELEMENT,{acceptNode:r=>r.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP});for(;n.nextNode();)e.push(n.currentNode);return e}var Fze=hie,Bze=gie,vie=yie;const CL=Fze,SL=Bze,PS=h.forwardRef(({className:t,align:e="center",sideOffset:n=4,...r},o)=>c.jsx(vie,{ref:o,align:e,sideOffset:n,collisionPadding:10,className:Re("z-50 w-64 rounded-xl border bg-popover p-4 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",t),...r}));PS.displayName=vie.displayName;function Ln({className:t,...e}){return c.jsx("div",{className:Re("animate-pulse rounded-lg bg-primary/10",t),...e})}const wie=h.createContext(void 0),EL=()=>{const t=h.useContext(wie);if(!t)throw new Error("useDeletedEvent must be used within a DeletedEventProvider");return t};function Uze({children:t}){const[e,n]=h.useState(new Set),r=h.useCallback(s=>e.has(PY(s)),[e]),o=s=>{n(a=>new Set(a).add(PY(s)))};return c.jsx(wie.Provider,{value:{addDeletedEvent:o,isEventDeleted:r},children:t})}function PY(t){return Fs(t.kind)?ti(t):t.id}function ll(t){const{isEventDeleted:e}=EL(),[n,r]=h.useState(!0),[o,s]=h.useState(null),[a,i]=h.useState(void 0);return h.useEffect(()=>{(async()=>{if(r(!0),!t){r(!1),s(new Error("No id provided"));return}const u=await ze.fetchEvent(t);u&&!e(u)&&i(u)})().catch(u=>{console.error("Error fetching event in useFetchEvent:",t,u),s(u)}).finally(()=>{r(!1)})},[t]),h.useEffect(()=>{a&&e(a)&&i(void 0)},[e]),{isFetching:n,error:o,event:a}}function NL(t){const[e,n]=h.useState(null),[r,o]=h.useState([]),[s,a]=h.useState(!0);return h.useEffect(()=>{(async()=>{try{if(a(!0),!t)return;const l=await ze.fetchFollowListEvent(t);if(!l)return;n(l),o(Nee(l.tags))}finally{a(!1)}})()},[t]),{followings:r,followListEvent:e,isFetching:s}}const $ze=new Fy({max:1e3,fetchMethod:t=>{const{nip05:e,pubkey:n}=JSON.parse(t);return Vze(e,n)}});async function Vze(t,e){var s;const[n,r]=(t==null?void 0:t.split("@"))||[void 0,void 0],o={isVerified:!1,nip05Name:n,nip05Domain:r};if(!n||!r||!e)return o;try{if(((s=(await(await fetch(IL(r,n))).json()).names)==null?void 0:s[n])===e)return{...o,isVerified:!0}}catch{}return o}async function Hze(t,e){const n=await $ze.fetch(JSON.stringify({nip05:t,pubkey:e}));if(n)return n;const[r,o]=(t==null?void 0:t.split("@"))||[void 0,void 0];return{isVerified:!1,nip05Name:r,nip05Domain:o}}function IL(t,e){const n=new URL("/.well-known/nostr.json",`https://${t}`);return e&&n.searchParams.set("name",e),n.toString()}async function bie(t){try{const n=await(await fetch(IL(t))).json(),r=new Set;return Object.values(n.names||{}).filter(o=>typeof o!="string"||!Ut.isValidHex(o)||r.has(o)?!1:(r.add(o),!0))}catch(e){return console.error("Error fetching pubkeys from domain:",e),[]}}function Wze(t,e){const[n,r]=h.useState(!1),[o,s]=h.useState(""),[a,i]=h.useState(""),[l,u]=h.useState(!0);return h.useEffect(()=>{if(!t||!e){u(!1);return}Hze(t,e).then(({isVerified:d,nip05Name:f,nip05Domain:m})=>{r(d),s(f),i(m),u(!1)})},[t,e]),{nip05IsVerified:n,nip05Name:o,nip05Domain:a,isFetching:l}}function ua(t){const{profile:e}=wt(),[n,r]=h.useState(!0),[o,s]=h.useState(null),[a,i]=h.useState(null),[l,u]=h.useState(null);return h.useEffect(()=>{i(null),u(null),(async()=>{var f;r(!0);try{if(!t){r(!1),s(new Error("No id provided"));return}const m=((f=Ut.tryFromString(t))==null?void 0:f.hex)??t;u(m);const g=await ze.fetchProfile(t);g&&i(g)}catch(m){s(m)}finally{r(!1)}})()},[t]),h.useEffect(()=>{e&&l===e.pubkey&&i(e)},[e,l]),{isFetching:n,error:o,profile:a}}const _m=class _m{constructor(){je(this,"awesomeRelayCollections",null);je(this,"fetchDataloader",new Lu(async e=>(await Promise.allSettled(e.map(r=>this._getRelayInfo(r)))).map(r=>r.status==="fulfilled"?r.value:void 0),{maxBatchSize:1}))}static getInstance(){return _m.instance||(_m.instance=new _m),_m.instance}async getRelayInfos(e){return e.length===0?[]:(await this.fetchDataloader.loadMany(e)).map(r=>r instanceof Error?void 0:r)}async getRelayInfo(e){return this.fetchDataloader.load(e)}async getAwesomeRelayCollections(){return this.awesomeRelayCollections?this.awesomeRelayCollections:(this.awesomeRelayCollections=(async()=>{try{const e=await fetch("https://raw.githubusercontent.com/CodyTseng/awesome-nostr-relays/master/dist/collections.json");if(!e.ok)throw new Error("Failed to fetch awesome relay collections");return(await e.json()).collections}catch(e){return console.error("Error fetching awesome relay collections:",e),[]}})(),this.awesomeRelayCollections)}async _getRelayInfo(e){const n=async o=>{const a={...await this.fetchRelayNip11(e)??{},url:e,shortUrl:la(e)};return Array.isArray(a.supported_nips)||(a.supported_nips=[]),await kt.putRelayInfo(a),o&&(this.fetchDataloader.clear(e),this.fetchDataloader.prime(e,a)),a},r=await kt.getRelayInfo(e);return r?(n(!0),r):n(!1)}async fetchRelayNip11(e){try{return(await fetch(e.replace("ws://","http://").replace("wss://","https://"),{headers:{Accept:"application/nostr+json"}})).json()}catch{return}}};je(_m,"instance");let Y8=_m;const cx=Y8.getInstance();function OS(t){const[e,n]=h.useState(!0),[r,o]=h.useState(void 0);return h.useEffect(()=>{if(!t)return;(async()=>{n(!0);const a=setTimeout(()=>{n(!1)},5e3);try{const i=await cx.getRelayInfo(t);o(i)}catch(i){console.error(i)}finally{clearTimeout(a),n(!1)}})()},[t]),{relayInfo:r,isFetching:e}}function xie(t){return(t==null?void 0:t.software)==="https://github.com/bitvora/algo-relay"}function kie(t){var e;return((e=t==null?void 0:t.supported_nips)==null?void 0:e.includes(43))&&!!t.pubkey}function Yze(t){const[e,n]=h.useState(!0),[r,o]=h.useState([]),[s,a]=h.useState(!1),[i,l]=h.useState([]),u=JSON.stringify(t);return h.useEffect(()=>{(async()=>{if(n(!0),t.length===0)return n(!1);const f=setTimeout(()=>{n(!1)},5e3);try{const m=await cx.getRelayInfos(t);o(m),a(m.every(g=>xie(g))),l(m.map((g,w)=>{var b;return{url:t[w],searchable:(b=g==null?void 0:g.supported_nips)==null?void 0:b.includes(50)}}).filter(g=>g.searchable).map(g=>g.url))}catch(m){console.error(m)}finally{clearTimeout(f),n(!1)}})()},[u]),{relayInfos:r,isFetching:e,areAlgoRelays:s,searchableRelayUrls:i}}function jie(t){const[e,n]=h.useState({write:[],read:[],originalRelays:[]}),[r,o]=h.useState(!0);return h.useEffect(()=>{(async()=>{if(o(!0),!t){o(!1);return}try{const a=await ze.fetchRelayList(t);n(a)}catch(a){console.error(a)}finally{o(!1)}})()},[t]),{relayList:e,isFetching:r}}const Gze={root:null,rootMargin:"100px",threshold:0};function Cie({items:t,showAllInitially:e=!1,showCount:n=10,onLoadMore:r,initialLoading:o=!1,observerOptions:s=Gze}){const[a,i]=h.useState(!0),[l,u]=h.useState(e?1/0:n),[d,f]=h.useState(!1),m=h.useRef(null),g=h.useRef({loading:d,hasMore:a,showCount:l,itemsLength:t.length,initialLoading:o,onLoadMore:r});g.current={loading:d,hasMore:a,showCount:l,itemsLength:t.length,initialLoading:o,onLoadMore:r};const w=h.useCallback(async()=>{const{loading:I,hasMore:N,showCount:M,itemsLength:D,initialLoading:O,onLoadMore:L}=g.current;if(O||I||M<D&&(u(T=>T+n),D-M>n*2)||!N)return;f(!0);const B=await L();i(B),f(!1)},[n]),b=h.useRef(!1);h.useEffect(()=>{const I=m.current;if(!I)return;const N=new IntersectionObserver(M=>{b.current=M[0].isIntersecting,M[0].isIntersecting&&w()},s);return N.observe(I),()=>{N.disconnect()}},[]),h.useEffect(()=>{t.length>0&&i(!0),b.current&&w()},[t.length]);const j=h.useMemo(()=>e?t:t.slice(0,l),[t,e,l]),S=a||l<t.length||d;return{visibleItems:j,loading:d,hasMore:a,shouldShowLoadingIndicator:S,bottomRef:m,setHasMore:i,setLoading:f}}const Sie=h.createContext(void 0),fa=()=>{const t=h.useContext(Sie);if(!t)throw new Error("useFavoriteRelays must be used within a FavoriteRelaysProvider");return t};function qze({children:t}){const{favoriteRelaysEvent:e,updateFavoriteRelaysEvent:n,pubkey:r,relayList:o,publish:s}=wt(),[a,i]=h.useState([]),l=h.useMemo(()=>!e||!r?null:lke(e,a),[e,a,r]),u=h.useMemo(()=>{if(!l){const N=Xe.getRelaySets(),M=[];return N.forEach(({relayUrls:D})=>{D.forEach(O=>{M.includes(O)||M.push(O)})}),M.length===0&&Aw.defaultRelay,M}return l.getRelayUrls()},[l]),d=h.useMemo(()=>!l||!r?[]:l.getSets().map(N=>ake(N,r)),[l,r]);h.useEffect(()=>{if(!e||!r){i([]);return}(async()=>{const M=[];if(e.tags.forEach(([T,R])=>{if(T==="a"&&R){const[z,Y,Q]=R.split(":");if(z!==Ue.Relaysets.toString()||Y!==r||!Q||M.includes(Q))return;M.push(Q)}}),!M.length){i([]);return}const D=await Promise.all(M.map(T=>kt.getReplaceableEvent(r,Ue.Relaysets,T)));i(D.filter(Boolean));const O=await ze.fetchEvents(((o==null?void 0:o.write)??[]).concat(ze.currentRelays).slice(0,5),{kinds:[Ue.Relaysets],authors:[r],"#d":M}),L=new Map;O.forEach(T=>{var Y;const R=(Y=T.tags.find(Q=>Q[0]==="d"))==null?void 0:Y[1];if(!R)return;const z=L.get(R);(!z||z.created_at<T.created_at)&&L.set(R,T)});const B=M.map((T,R)=>L.get(T)||D[R]).filter(Boolean);i(B),await Promise.all(B.map(T=>kt.putReplaceableEvent(T)))})()},[e,r,o==null?void 0:o.write]);const f=async N=>{if(!r)return;const M=Ut.fromHex(r),D=l??$p.empty(M);if(N.map(T=>D.addRelayUrl(T)).filter(T=>T&&T.type!=="no_change").length===0)return;const L=D.toDraftEvent(r),B=await s(L);n(B)},m=async N=>{if(!r||!l||N.map(L=>{const B=Ko.tryCreate(L);return B?l.removeRelay(B):null}).filter(L=>L&&L.type!=="no_change").length===0)return;const D=l.toDraftEvent(r),O=await s(D);n(O)},g=async(N,M=[])=>{if(!r)return;const D=x_.createWithRelays(N,M),O=D.toDraftEvent(),L=await s(O);await kt.putReplaceableEvent(L);const B=Ut.fromHex(r),T=l??$p.empty(B);T.addSet(D);const R=T.toDraftEvent(r),z=await s(R);n(z)},w=async N=>{if(!r)return;const M=Ut.fromHex(r),D=l??$p.empty(M);for(const B of N){const T=yee(B);T&&D.addSet(T)}const O=D.toDraftEvent(r),L=await s(O);n(L)},b=async N=>{if(!r||!l||l.removeSet(N).type==="no_change")return;const D=l.toDraftEvent(r),O=await s(D);n(O)},j=async N=>{if(!r)return;const D=x_.createWithRelays(N.name,N.relayUrls,N.id).toDraftEvent(),O=await s(D);await kt.putReplaceableEvent(O),i(L=>L.map(B=>{var R;return((R=B.tags.find(z=>z[0]==="d"))==null?void 0:R[1])===N.id?O:B}))},S=async N=>{if(!r||!l)return;const M=N.map(L=>Ko.tryCreate(L)).filter(L=>L!==null);l.reorderRelays(M);const D=l.toDraftEvent(r),O=await s(D);n(O)},I=async N=>{if(!r||!l)return;const M=N.map(L=>l.getSet(L.id)).filter(L=>L!==void 0);l.reorderSets(M);const D=l.toDraftEvent(r),O=await s(D);n(O)};return c.jsx(Sie.Provider,{value:{favoriteRelays:u,addFavoriteRelays:f,deleteFavoriteRelays:m,reorderFavoriteRelays:S,relaySets:d,createRelaySet:g,addRelaySets:w,deleteRelaySet:b,updateRelaySet:j,reorderRelaySets:I},children:t})}class ps{constructor(e,n,r){this._value=e,this._relaySetId=n,this._relayUrl=r}static following(){return new ps("following",null,null)}static pinned(){return new ps("pinned",null,null)}static relays(e){if(!e||e.trim()==="")throw new Error("Relay set ID cannot be empty");return new ps("relays",e,null)}static relay(e){if(!e||e.trim()==="")throw new Error("Relay URL cannot be empty");return new ps("relay",null,e)}static tryFromString(e,n){switch(e){case"following":return ps.following();case"pinned":return ps.pinned();case"relays":return n?ps.relays(n):null;case"relay":return n?ps.relay(n):null;default:return null}}get value(){return this._value}get relaySetId(){return this._relaySetId}get relayUrl(){return this._relayUrl}get isSocialFeed(){return this._value==="following"||this._value==="pinned"}get isRelayFeed(){return this._value==="relays"||this._value==="relay"}equals(e){return!(this._value!==e._value||this._relaySetId!==e._relaySetId||this._relayUrl!==e._relayUrl)}toString(){switch(this._value){case"following":return"following";case"pinned":return"pinned";case"relays":return`relays:${this._relaySetId}`;case"relay":return`relay:${this._relayUrl}`}}}class na{constructor(e,n,r,o,s,a,i){this._hideMutedUsers=e,this._hideContentMentioningMuted=n,this._hideUntrustedUsers=r,this._hideReplies=o,this._hideReposts=s,this._allowedKinds=a,this._nsfwPolicy=i}static default(){return new na(!0,!0,!1,!1,!1,[],"hide_content")}static fromPreferences(e){return new na(e.hideMutedUsers??!0,e.hideContentMentioningMuted??!0,e.hideUntrustedUsers??!1,e.hideReplies??!1,e.hideReposts??!1,e.allowedKinds??[],e.nsfwPolicy??"hide_content")}get hideMutedUsers(){return this._hideMutedUsers}get hideContentMentioningMuted(){return this._hideContentMentioningMuted}get hideUntrustedUsers(){return this._hideUntrustedUsers}get hideReplies(){return this._hideReplies}get hideReposts(){return this._hideReposts}get allowedKinds(){return this._allowedKinds}get nsfwPolicy(){return this._nsfwPolicy}isKindAllowed(e){return this._allowedKinds.length===0?!0:this._allowedKinds.includes(e)}shouldShow(e,n){var r,o;if(!this.isKindAllowed(e.kind))return{shouldShow:!1,reason:"kind_not_allowed"};if((r=n.pinnedEventIds)!=null&&r.has(e.id))return{shouldShow:!0};if((o=n.deletedEventIds)!=null&&o.has(e.id))return{shouldShow:!1,reason:"deleted"};if(this._hideMutedUsers&&n.mutedPubkeys.has(e.pubkey))return{shouldShow:!1,reason:"muted_author"};if(this._hideContentMentioningMuted){const s=this.extractMentionedPubkeys(e);for(const a of s)if(n.mutedPubkeys.has(a))return{shouldShow:!1,reason:"mentions_muted_user"}}return this._hideUntrustedUsers&&n.trustedPubkeys&&!n.trustedPubkeys.has(e.pubkey)?{shouldShow:!1,reason:"untrusted_author"}:this._hideReplies&&this.isReply(e)?{shouldShow:!1,reason:"reply_filtered"}:this._hideReposts&&this.isRepost(e)?{shouldShow:!1,reason:"repost_filtered"}:{shouldShow:!0}}extractMentionedPubkeys(e){const n=[];for(const r of e.tags)r[0]==="p"&&r[1]&&n.push(r[1]);return n}isReply(e){for(const n of e.tags)if((n[0]==="e"||n[0]==="E")&&n[1])return n[3]==="reply"||n[3]==="root",!0;return!1}isRepost(e){return e.kind===6||e.kind===16}withHideMutedUsers(e){return new na(e,this._hideContentMentioningMuted,this._hideUntrustedUsers,this._hideReplies,this._hideReposts,this._allowedKinds,this._nsfwPolicy)}withHideContentMentioningMuted(e){return new na(this._hideMutedUsers,e,this._hideUntrustedUsers,this._hideReplies,this._hideReposts,this._allowedKinds,this._nsfwPolicy)}withHideUntrustedUsers(e){return new na(this._hideMutedUsers,this._hideContentMentioningMuted,e,this._hideReplies,this._hideReposts,this._allowedKinds,this._nsfwPolicy)}withHideReplies(e){return new na(this._hideMutedUsers,this._hideContentMentioningMuted,this._hideUntrustedUsers,e,this._hideReposts,this._allowedKinds,this._nsfwPolicy)}withHideReposts(e){return new na(this._hideMutedUsers,this._hideContentMentioningMuted,this._hideUntrustedUsers,this._hideReplies,e,this._allowedKinds,this._nsfwPolicy)}withAllowedKinds(e){return new na(this._hideMutedUsers,this._hideContentMentioningMuted,this._hideUntrustedUsers,this._hideReplies,this._hideReposts,[...e],this._nsfwPolicy)}withNsfwPolicy(e){return new na(this._hideMutedUsers,this._hideContentMentioningMuted,this._hideUntrustedUsers,this._hideReplies,this._hideReposts,this._allowedKinds,e)}equals(e){if(this._hideMutedUsers!==e._hideMutedUsers||this._hideContentMentioningMuted!==e._hideContentMentioningMuted||this._hideUntrustedUsers!==e._hideUntrustedUsers||this._hideReplies!==e._hideReplies||this._hideReposts!==e._hideReposts||this._nsfwPolicy!==e._nsfwPolicy||this._allowedKinds.length!==e._allowedKinds.length)return!1;for(let n=0;n<this._allowedKinds.length;n++)if(this._allowedKinds[n]!==e._allowedKinds[n])return!1;return!0}}class bo{constructor(e,n,r){this._type=e,this._relays=n,this._relaySetId=r}static userWriteRelays(){return new bo("user_write_relays",[],null)}static userReadRelays(){return new bo("user_read_relays",[],null)}static authorWriteRelays(){return new bo("author_write_relays",[],null)}static specific(e,n){if(e.length===0)throw new Error("Specific relay strategy requires at least one relay");return new bo("specific_relays",[...e],n??null)}static single(e){return new bo("single_relay",[e],null)}static bigRelays(){return new bo("big_relays",[],null)}static fromUrls(e,n){const r=e.map(o=>Ko.tryCreate(o)).filter(o=>o!==null);return r.length===0?bo.bigRelays():r.length===1?bo.single(r[0]):bo.specific(r,n)}get type(){return this._type}get relays(){return this._relays}get relaySetId(){return this._relaySetId}get hasStaticRelays(){return this._type==="specific_relays"||this._type==="single_relay"||this._type==="big_relays"}get requiresPerAuthorResolution(){return this._type==="author_write_relays"}async resolve(e,n){switch(this._type){case"specific_relays":case"single_relay":return[...this._relays];case"big_relays":return e.getBigRelays();case"user_write_relays":return n?e.getWriteRelays(n):e.getBigRelays();case"user_read_relays":return n?e.getReadRelays(n):e.getBigRelays();case"author_write_relays":return[]}}async resolveForAuthors(e,n){const r=new Map;if(this._type!=="author_write_relays"){const s=await this.resolve(e);for(const a of s)r.set(a.value,[...n]);return r}const o=e.getBigRelays();for(const s of n){let a=await e.getWriteRelays(s);a.length===0&&(a=o);for(const i of a){const l=r.get(i.value);l?l.push(s):r.set(i.value,[s])}}return r}equals(e){if(this._type!==e._type||this._relaySetId!==e._relaySetId||this._relays.length!==e._relays.length)return!1;for(let n=0;n<this._relays.length;n++)if(!this._relays[n].equals(e._relays[n]))return!1;return!0}toString(){var e;switch(this._type){case"user_write_relays":return"user_write_relays";case"user_read_relays":return"user_read_relays";case"author_write_relays":return"author_write_relays";case"big_relays":return"big_relays";case"single_relay":return`single:${(e=this._relays[0])==null?void 0:e.value}`;case"specific_relays":return this._relaySetId?`set:${this._relaySetId}`:`specific:[${this._relays.map(n=>n.value).join(",")}]`}}}const Kze=[1,6,16],Zze=50;class Ha{constructor(e,n,r,o,s,a,i,l,u){this._relays=e,this._authors=n,this._kinds=r,this._since=o,this._until=s,this._limit=a,this._hashtags=i,this._mentionedPubkeys=l,this._eventIds=u}static create(e){if(e.relays.length===0)throw new Error("TimelineQuery requires at least one relay");return new Ha([...e.relays],e.authors?[...e.authors]:[],e.kinds??Kze,e.since??null,e.until??null,e.limit??Zze,e.hashtags??[],e.mentionedPubkeys??[],e.eventIds??[])}static forAuthor(e,n,r){return Ha.create({relays:n,authors:[e],kinds:r==null?void 0:r.kinds,limit:r==null?void 0:r.limit})}static forAuthors(e,n,r){return Ha.create({relays:n,authors:e,kinds:r==null?void 0:r.kinds,limit:r==null?void 0:r.limit})}static forRelay(e,n){return Ha.create({relays:[e],kinds:n==null?void 0:n.kinds,limit:n==null?void 0:n.limit})}static forHashtag(e,n,r){return Ha.create({relays:n,hashtags:[e.replace(/^#/,"")],kinds:r==null?void 0:r.kinds,limit:r==null?void 0:r.limit})}get relays(){return this._relays}get authors(){return this._authors}get kinds(){return this._kinds}get since(){return this._since}get until(){return this._until}get limit(){return this._limit}get hashtags(){return this._hashtags}get mentionedPubkeys(){return this._mentionedPubkeys}get eventIds(){return this._eventIds}get hasAuthors(){return this._authors.length>0}get isGlobalQuery(){return this._authors.length===0&&this._hashtags.length===0}toNostrFilter(){const e={};return this._authors.length>0&&(e.authors=this._authors.map(n=>n.hex)),this._kinds.length>0&&(e.kinds=[...this._kinds]),this._since&&(e.since=this._since.unix),this._until&&(e.until=this._until.unix),this._limit>0&&(e.limit=this._limit),this._hashtags.length>0&&(e["#t"]=[...this._hashtags]),this._mentionedPubkeys.length>0&&(e["#p"]=this._mentionedPubkeys.map(n=>n.hex)),this._eventIds.length>0&&(e.ids=[...this._eventIds]),e}toSubRequests(){const e=this.toNostrFilter(),{since:n,until:r,...o}=e;return[{urls:this._relays.map(s=>s.value),filter:o}]}toSubRequestsPerRelay(){const e=this.toNostrFilter(),{since:n,until:r,...o}=e;return this._relays.map(s=>({urls:[s.value],filter:o}))}withRelays(e){return new Ha([...e],this._authors,this._kinds,this._since,this._until,this._limit,this._hashtags,this._mentionedPubkeys,this._eventIds)}withAuthors(e){return new Ha(this._relays,[...e],this._kinds,this._since,this._until,this._limit,this._hashtags,this._mentionedPubkeys,this._eventIds)}withKinds(e){return new Ha(this._relays,this._authors,[...e],this._since,this._until,this._limit,this._hashtags,this._mentionedPubkeys,this._eventIds)}withSince(e){return new Ha(this._relays,this._authors,this._kinds,e,this._until,this._limit,this._hashtags,this._mentionedPubkeys,this._eventIds)}withUntil(e){return new Ha(this._relays,this._authors,this._kinds,this._since,e,this._limit,this._hashtags,this._mentionedPubkeys,this._eventIds)}withLimit(e){if(e<=0)throw new Error("Limit must be positive");return new Ha(this._relays,this._authors,this._kinds,this._since,this._until,e,this._hashtags,this._mentionedPubkeys,this._eventIds)}withHashtags(e){return new Ha(this._relays,this._authors,this._kinds,this._since,this._until,this._limit,e.map(n=>n.replace(/^#/,"")),this._mentionedPubkeys,this._eventIds)}toCacheKey(){return[this._relays.map(n=>n.value).sort().join(","),this._authors.map(n=>n.hex).sort().join(","),[...this._kinds].sort().join(","),[...this._hashtags].sort().join(",")].join("|")}equals(e){if(this._limit!==e._limit||this._relays.length!==e._relays.length||this._authors.length!==e._authors.length||this._kinds.length!==e._kinds.length||this._hashtags.length!==e._hashtags.length)return!1;const n=new Set(this._relays.map(a=>a.value));for(const a of e._relays)if(!n.has(a.value))return!1;const r=new Set(this._authors.map(a=>a.hex));for(const a of e._authors)if(!r.has(a.hex))return!1;const o=new Set(this._kinds);for(const a of e._kinds)if(!o.has(a))return!1;const s=new Set(this._hashtags);for(const a of e._hashtags)if(!s.has(a))return!1;return!0}}class Eie extends mf{constructor(e,n,r,o){super(),this.owner=e,this.fromType=n,this.toType=r,this.relaySetId=o}get eventType(){return"feed.switched"}}class Qze extends mf{constructor(e,n,r){super(),this.owner=e,this.previousFilter=n,this.newFilter=r}get eventType(){return"feed.content_filter_updated"}}class Jze extends mf{constructor(e,n){super(),this.owner=e,this.feedType=n}get eventType(){return"feed.refreshed"}}let R6=class Uf{constructor(e,n,r,o,s,a){this._owner=e,this._feedType=n,this._relayStrategy=r,this._resolvedRelayUrls=o,this._contentFilter=s,this._lastRefreshedAt=a}static following(e){return new Uf(e,ps.following(),bo.authorWriteRelays(),[],na.default(),null)}static pinned(e){return new Uf(e,ps.pinned(),bo.authorWriteRelays(),[],na.default(),null)}static relays(e,n,r){return new Uf(e,ps.relays(n),bo.specific(r,n),r,na.default(),null)}static singleRelay(e){return new Uf(null,ps.relay(e.value),bo.single(e),[e],na.default(),null)}static empty(){return new Uf(null,ps.following(),bo.bigRelays(),[],na.default(),null)}static fromState(e,n){const r=ps.tryFromString(e.feedType,e.relaySetId??e.relayUrl);if(!r)return Uf.empty();const o=e.relayUrls.map(i=>Ko.tryCreate(i)).filter(i=>i!==null);let s;r.value==="relay"&&o.length>0?s=bo.single(o[0]):r.value==="relays"&&o.length>0?s=bo.specific(o,e.relaySetId):r.isSocialFeed?s=bo.authorWriteRelays():s=bo.bigRelays();const a=na.fromPreferences({hideMutedUsers:e.contentFilter.hideMutedUsers,hideContentMentioningMuted:e.contentFilter.hideContentMentioningMuted,hideUntrustedUsers:e.contentFilter.hideUntrustedUsers,hideReplies:e.contentFilter.hideReplies,hideReposts:e.contentFilter.hideReposts,allowedKinds:e.contentFilter.allowedKinds,nsfwPolicy:e.contentFilter.nsfwPolicy});return new Uf(n??null,r,s,o,a,e.lastRefreshedAt?_o.fromUnix(e.lastRefreshedAt):null)}get owner(){return this._owner}get type(){return this._feedType}get relayStrategy(){return this._relayStrategy}get relayUrls(){return this._resolvedRelayUrls}get contentFilter(){return this._contentFilter}get lastRefreshedAt(){return this._lastRefreshedAt}get isSocialFeed(){return this._feedType.isSocialFeed}get isRelayFeed(){return this._feedType.isRelayFeed}get hasRelayUrls(){return this._resolvedRelayUrls.length>0}get relayUrlStrings(){return this._resolvedRelayUrls.map(e=>e.value)}switchTo(e,n=[]){const r=this._feedType;return this._feedType=e,e.value==="relay"&&n.length>0?(this._relayStrategy=bo.single(n[0]),this._resolvedRelayUrls=[n[0]]):e.value==="relays"&&n.length>0?(this._relayStrategy=bo.specific(n,e.relaySetId??void 0),this._resolvedRelayUrls=n):e.isSocialFeed?(this._relayStrategy=bo.authorWriteRelays(),this._resolvedRelayUrls=[]):(this._relayStrategy=bo.bigRelays(),this._resolvedRelayUrls=[]),this._lastRefreshedAt=_o.now(),new Eie(this._owner,r,e,e.relaySetId??void 0)}setResolvedRelayUrls(e){this._resolvedRelayUrls=[...e]}updateContentFilter(e){const n=this._contentFilter;return this._contentFilter=e,new Qze(this._owner,n,e)}refresh(){return this._lastRefreshedAt=_o.now(),new Jze(this._owner,this._feedType)}buildTimelineQuery(e={}){return this._resolvedRelayUrls.length===0?null:this.isSocialFeed?!e.authors||e.authors.length===0?null:Ha.forAuthors(e.authors,this._resolvedRelayUrls,{kinds:e.kinds,limit:e.limit}):Ha.forRelay(this._resolvedRelayUrls[0],{kinds:e.kinds,limit:e.limit}).withRelays(this._resolvedRelayUrls)}toState(){var e;return{feedType:this._feedType.value,relaySetId:this._feedType.relaySetId??void 0,relayUrl:this._feedType.relayUrl??void 0,relayUrls:this._resolvedRelayUrls.map(n=>n.value),contentFilter:{hideMutedUsers:this._contentFilter.hideMutedUsers,hideContentMentioningMuted:this._contentFilter.hideContentMentioningMuted,hideUntrustedUsers:this._contentFilter.hideUntrustedUsers,hideReplies:this._contentFilter.hideReplies,hideReposts:this._contentFilter.hideReposts,allowedKinds:[...this._contentFilter.allowedKinds],nsfwPolicy:this._contentFilter.nsfwPolicy},lastRefreshedAt:(e=this._lastRefreshedAt)==null?void 0:e.unix}}withOwner(e){return new Uf(e,this._feedType,this._relayStrategy,[...this._resolvedRelayUrls],this._contentFilter,this._lastRefreshedAt)}equals(e){if(!this._feedType.equals(e._feedType)||this._resolvedRelayUrls.length!==e._resolvedRelayUrls.length)return!1;for(let n=0;n<this._resolvedRelayUrls.length;n++)if(!this._resolvedRelayUrls[n].equals(e._resolvedRelayUrls[n]))return!1;return this._contentFilter.equals(e._contentFilter)}};function OY(t){const e=t.type;return e.value==="following"||e.value==="pinned"?{feedType:e.value}:e.value==="relays"&&e.relaySetId?{feedType:"relays",id:e.relaySetId}:e.value==="relay"&&e.relayUrl?{feedType:"relay",id:e.relayUrl}:null}function Xze(t){return t.map(e=>Ko.tryCreate(e)).filter(e=>e!==null)}function eFe(t){return t.map(e=>e.value)}let pl={};function tFe(t){pl={...pl,...t}}function nFe(){pl={}}const Nie=async t=>{console.debug("[SocialEventHandler] User followed:",{actor:t.actor.formatted,followed:t.followed.formatted,petname:t.petname}),pl.onPrefetchProfile&&pl.onPrefetchProfile(t.followed.hex)},Iie=async t=>{console.debug("[SocialEventHandler] User unfollowed:",{actor:t.actor.formatted,unfollowed:t.unfollowed.formatted})},Aie=async t=>{console.debug("[SocialEventHandler] User muted:",{actor:t.actor.formatted,muted:t.muted.formatted,visibility:t.visibility}),pl.onRefilterNeeded&&pl.onRefilterNeeded()},_ie=async t=>{console.debug("[SocialEventHandler] User unmuted:",{actor:t.actor.formatted,unmuted:t.unmuted.formatted}),pl.onRefilterNeeded&&pl.onRefilterNeeded()},Mie=async t=>{console.debug("[SocialEventHandler] Mute visibility changed:",{actor:t.actor.formatted,target:t.target.formatted,from:t.from,to:t.to})},Rie=async t=>{console.debug("[SocialEventHandler] Follow list published:",{owner:t.owner.formatted,followingCount:t.followingCount}),pl.onFeedRefreshNeeded&&pl.onFeedRefreshNeeded()},Tie=async t=>{console.debug("[SocialEventHandler] Mute list published:",{owner:t.owner.formatted,publicMuteCount:t.publicMuteCount,privateMuteCount:t.privateMuteCount}),pl.onRefilterNeeded&&pl.onRefilterNeeded()};function rFe(){Vt.on("social.user_followed",Nie),Vt.on("social.user_unfollowed",Iie),Vt.on("social.user_muted",Aie),Vt.on("social.user_unmuted",_ie),Vt.on("social.mute_visibility_changed",Mie),Vt.on("social.follow_list_published",Rie),Vt.on("social.mute_list_published",Tie)}function oFe(){Vt.off("social.user_followed",Nie),Vt.off("social.user_unfollowed",Iie),Vt.off("social.user_muted",Aie),Vt.off("social.user_unmuted",_ie),Vt.off("social.mute_visibility_changed",Mie),Vt.off("social.follow_list_published",Rie),Vt.off("social.mute_list_published",Tie)}const Die=h.createContext(void 0),Yg=()=>{const t=h.useContext(Die);if(!t)throw new Error("useFeed must be used within a FeedProvider");return t};function sFe({children:t}){const{pubkey:e,isInitialized:n}=wt(),{relaySets:r}=fa(),[o,s]=h.useState(null),[a,i]=h.useState(na.default()),[l,u]=h.useState(!1),d=h.useRef(o),f=h.useMemo(()=>o?OY(o):null,[o]),m=h.useMemo(()=>o?eFe(o.relayUrls):[],[o]),g=h.useMemo(()=>e?Ut.tryFromString(e):null,[e]);h.useEffect(()=>{(async()=>{if(!n)return;let M=null;if(e&&(M=Xe.getFeedInfo(e)??null,M||(M={feedType:"following"})),(M==null?void 0:M.feedType)==="relays")return await w("relays",{activeRelaySetId:M.id});if((M==null?void 0:M.feedType)==="relay")return await w("relay",{relay:M.id});if((M==null?void 0:M.feedType)==="following"&&e)return await w("following",{pubkey:e});if((M==null?void 0:M.feedType)==="pinned"&&e)return await w("pinned",{pubkey:e});u(!0)})()},[e,n]),h.useEffect(()=>{if(!n||!e||!r.length)return;const N=Xe.getFeedInfo(e);(N==null?void 0:N.feedType)==="relays"&&!o&&w("relays",{activeRelaySetId:N.id})},[r,n,e,o]),h.useEffect(()=>{tFe({onFeedRefreshNeeded:()=>{if(o){const N=o.refresh();Vt.dispatch(N)}},onRefilterNeeded:()=>{i(N=>N)}})},[o]);const w=h.useCallback(async(N,M={})=>{const D=d.current;if(!N){s(null),d.current=null,u(!0);return}u(!1);let O=null,L=null;if(N==="relay"){const B=oo(M.relay??"");if(!B||!By(B)){u(!0);return}const T=Ko.tryCreate(B);if(!T){u(!0);return}O=R6.singleRelay(T),L=ps.relay(B)}else if(N==="relays"){const B=M.activeRelaySetId??(r.length>0?r[0].id:null);if(!B||!e||!g){u(!0);return}let T=r.find(R=>R.id===B)??(r.length>0?r[0]:null);if(!T){const R=await kt.getReplaceableEvent(e,Ue.Relaysets,B);R&&(T=a5e(R))}if(T){const R=Xze(T.relayUrls);O=R6.relays(g,T.id,R),L=ps.relays(T.id)}}else if(N==="following"){if(!M.pubkey||!g){u(!0);return}O=R6.following(g),L=ps.following()}else if(N==="pinned"){if(!M.pubkey||!g){u(!0);return}O=R6.pinned(g),L=ps.pinned()}if(O&&L){s(O),d.current=O;const B=OY(O);Xe.setFeedInfo(B,e);const T=new Eie(g,(D==null?void 0:D.type)??null,L,L.relaySetId??void 0);Vt.dispatch(T),u(!0)}else u(!0)},[e,g,r]),b=h.useCallback(()=>{u(!0)},[]),j=h.useCallback(N=>{if(i(N),o&&g){const M=o.updateContentFilter(N);Vt.dispatch(M)}},[o,g]),S=h.useCallback(()=>{if(o){const N=o.refresh();Vt.dispatch(N)}},[o]),I=h.useMemo(()=>({feedInfo:f,relayUrls:m,isReady:l,switchFeed:w,markFeedLoaded:b,feed:o,contentFilter:a,updateContentFilter:j,refresh:S}),[f,m,l,w,b,o,a,j,S]);return c.jsx(Die.Provider,{value:I,children:t})}function aFe(t,e){const{relayUrls:n}=Yg(),{searchableRelayUrls:r}=Yze(n),[o,s]=h.useState(!0),[a,i]=h.useState(null),[l,u]=h.useState([]);return h.useEffect(()=>{(async()=>{if(!t){u([]);return}s(!0),u([]);try{const f=await ze.searchProfilesFromLocal(t,e);if(u(f),f.length>=e)return;const m=new Set(f.map(w=>w.pubkey)),g=await ze.searchProfiles(r.concat(Xe.getSearchRelays()).slice(0,4),{search:t,limit:e});g.length&&(g.forEach(w=>{m.has(w.pubkey)||(m.add(w.pubkey),f.push(w))}),u([...f]))}catch(f){i(f)}finally{s(!1)}})()},[r,t,e]),{isFetching:o,error:a,profiles:l}}const yl=t=>typeof t=="string"?`/notes/${t}`:`/notes/${fg(t)}`,zS=({hashtag:t,search:e,domain:n,kinds:r})=>{const o="/notes",s=new URLSearchParams;return t&&s.set("t",t.toLowerCase()),r!=null&&r.length&&r.forEach(a=>s.append("k",a.toString())),e&&s.set("s",e),n&&s.set("d",n),`${o}?${s.toString()}`},wf=t=>t.startsWith("npub")||t.startsWith("nprofile")?`/users/${t}`:`/users/${yr.npubEncode(t)}`,iFe=({search:t,domain:e})=>{const n="/users",r=new URLSearchParams;return t&&r.set("s",t),e&&r.set("d",e),`${n}?${r.toString()}`},lFe=t=>`/users/${yr.npubEncode(t)}/following`,cFe=t=>`/users/${yr.npubEncode(t)}/relays`,uFe=t=>{if(!t)return"/search";const e=new URLSearchParams;return e.set("t",t.type),e.set("q",t.search),t.input&&e.set("i",t.input),`/search?${e.toString()}`},vy=t=>`/external-content?id=${encodeURIComponent(t)}`,Lie=()=>"/settings",fFe=()=>"/help",FS=t=>"/settings/relays"+(t?"#"+t:""),AL=()=>"/settings/wallet",dFe=()=>"/profile-editor",Eg=t=>`/relays/${encodeURIComponent(t)}`,Pie=t=>`/relays/${encodeURIComponent(t)}/reviews`,pFe=()=>"/mutes",hFe=()=>"/rizful",mFe=()=>"/bookmarks",gFe=t=>typeof t=="string"?`/follow-packs/${t}`:`/follow-packs/${fg(t)}`,yFe=(t,e)=>`https://chachi.chat/${t.replace(/^wss?:\/\//,"").replace(/\/$/,"")}/${e}`,vFe=t=>`https://njump.me/${t}`,wFe=t=>`/chat/${t}`,_L=t=>`/dm/${t.startsWith("npub")?t:yr.npubEncode(t)}`,oA=new Fy({max:1e3});function ux(t){if(oA.has(t))return oA.get(t);const e=t.padEnd(2,"0"),n=[],r=[];for(let i=0;i<11;i++){const l=e.slice(i*6,(i+1)*6);i<3?n.push(`#${l}`):r.push(l)}const o=r.map((i,l)=>{const u=parseInt(i.slice(0,2),16)%100,d=parseInt(i.slice(2,4),16)%100,f=parseInt(i.slice(4,6),16)%35+30,m=n[l%(n.length-1)];return`
2035 <radialGradient id="grad${l}-${t}" cx="${u}%" cy="${d}%" r="${f}%">
2036 <stop offset="0%" style="stop-color:${m};stop-opacity:1" />
2037 <stop offset="100%" style="stop-color:${m};stop-opacity:0" />
2038 </radialGradient>
2039 <rect width="100%" height="100%" fill="url(#grad${l}-${t})" />
2040 `}).join(""),s=`
2041 <svg width="100" height="100" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg">
2042 <rect width="100%" height="100%" fill="${n[2]}" fill-opacity="0.3" />
2043 ${o}
2044 </svg>
2045 `,a=`data:image/svg+xml;base64,${btoa(s)}`;return oA.set(t,a),a}const Oie=h.createContext(void 0),ts=()=>{const t=h.useContext(Oie);if(!t)throw new Error("useUserPreferences must be used within a UserPreferencesProvider");return t};function bFe({children:t}){const{canUseDoublePane:e}=gn(),[n,r]=h.useState(Xe.getNotificationListStyle()),[o,s]=h.useState(!0),[a,i]=h.useState(Xe.getSidebarCollapse()),[l,u]=h.useState(Xe.getEnableSingleColumnLayout()),[d,f]=h.useState(Xe.getAutoInsertNewNotes()),[m,g]=h.useState(Xe.getQuickReaction()),[w,b]=h.useState(Xe.getQuickReactionEmoji());h.useEffect(()=>{e&&l?document.documentElement.style.setProperty("overflow-y","scroll"):document.documentElement.style.removeProperty("overflow-y")},[l,e]);const j=O=>{r(O),Xe.setNotificationListStyle(O),kr()},S=O=>{i(O),Xe.setSidebarCollapse(O),kr()},I=O=>{u(O),Xe.setEnableSingleColumnLayout(O),kr()},N=O=>{f(O),Xe.setAutoInsertNewNotes(O),kr()},M=O=>{g(O),Xe.setQuickReaction(O),kr()},D=O=>{b(O),Xe.setQuickReactionEmoji(O),kr()};return c.jsx(Oie.Provider,{value:{notificationListStyle:n,updateNotificationListStyle:j,muteMedia:o,updateMuteMedia:s,sidebarCollapse:a,updateSidebarCollapse:S,enableSingleColumnLayout:e?l:!0,updateEnableSingleColumnLayout:I,autoInsertNewNotes:d,updateAutoInsertNewNotes:N,quickReaction:m,updateQuickReaction:M,quickReactionEmoji:w,updateQuickReactionEmoji:D},children:t})}const T6=["reply","repost","quote","react","zap"],zie=h.createContext(void 0);function ii(){const t=h.useContext(zie);if(!t)throw new Error("useKeyboardNavigation must be used within KeyboardNavigationProvider");return t}function xFe(t,e,n,r,o=[]){const{registerRegion:s,unregisterRegion:a}=ii();h.useEffect(()=>(s({id:t,priority:e,isActive:n,handleIntent:r}),()=>a(t)),[t,e,s,a,...o])}function kFe(){const t=document.activeElement;if(!t)return!1;const e=t.tagName.toLowerCase();return e==="input"||e==="textarea"||t.getAttribute("contenteditable")==="true"}function sA({children:t,secondaryStackLength:e,sidebarDrawerOpen:n,onBack:r,onCloseSecondary:o}){const{isSmallScreen:s}=gn(),{enableSingleColumnLayout:a}=ts(),[i,l]=h.useState(1),[u,d]=h.useState({0:0,1:0,2:0}),[f,m]=h.useState({active:!1,selectedAction:null,noteEvent:null}),[g,w]=h.useState(null),[b,j]=h.useState(!1),S=h.useRef([]),I=800,N=h.useRef(i),M=h.useRef(u),D=h.useCallback($e=>{N.current=$e,l($e)},[]),O=h.useCallback(()=>{j($e=>{const Ke=!$e;if(Ke){const Me=T.current[N.current];if(Me.size>0){const et=Array.from(Me.keys()).sort((pt,ht)=>pt-ht)[0];et!==void 0&&d(pt=>({...pt,[N.current]:et}))}}return Ke})},[]),L=h.useRef(new Map),B=h.useRef(()=>{}),T=h.useRef({0:new Map,1:new Map,2:new Map}),R=h.useRef({0:null,1:null,2:null}),z=h.useCallback($e=>{L.current.set($e.id,$e)},[]),Y=h.useCallback($e=>{L.current.delete($e)},[]),Q=h.useCallback($e=>{const Ke=Array.from(L.current.values()).filter(Me=>Me.isActive()).sort((Me,et)=>et.priority-Me.priority);for(const Me of Ke)if(Me.handleIntent($e))return;B.current($e)},[]),W=h.useCallback($e=>{let Ke=$e.parentElement;for(;Ke&&Ke!==document.body&&Ke!==document.documentElement;){const pt=window.getComputedStyle(Ke).overflowY;if((pt==="auto"||pt==="scroll")&&Ke.scrollHeight>Ke.clientHeight)break;Ke=Ke.parentElement}(!Ke||Ke===document.body||Ke===document.documentElement)&&(Ke=null);const Me=100;if(Ke){const et=Ke.getBoundingClientRect(),pt=$e.getBoundingClientRect(),ht=pt.top-et.top,st=pt.bottom-et.top,De=et.height,se=De-Me;if(pt.height>se){const Z=Ke.scrollTop+ht-Me;Ke.scrollTo({top:Math.max(0,Z),behavior:"instant"});return}if(!(ht>=Me&&st<=De-50)){const Z=ht+pt.height/2,ie=De/2,Ce=Z-ie,Te=Ke.scrollTop+Ce;Ke.scrollTo({top:Math.max(0,Te),behavior:"instant"})}}else{const et=$e.getBoundingClientRect(),pt=window.innerHeight,ht=pt-Me;if(et.height>ht){const De=window.scrollY+et.top-Me;window.scrollTo({top:Math.max(0,De),behavior:"instant"});return}if(!(et.top>=Me&&et.bottom<=pt-50)){const De=et.top+et.height/2,se=pt/2,q=De-se,Z=window.scrollY+q;window.scrollTo({top:Math.max(0,Z),behavior:"instant"})}}},[]),F=h.useCallback(($e,Ke)=>{M.current={...M.current,[$e]:Ke},d(Me=>({...Me,[$e]:Ke}))},[]),X=h.useCallback(()=>{F(1,0),D(1)},[F,D]),$=h.useCallback(($e,Ke)=>{d(Me=>{const et={...Me,[$e]:Math.max(0,Me[$e]+Ke)};return M.current=et,et})},[]),V=h.useCallback($e=>{T.current[$e].clear(),d(Ke=>({...Ke,[$e]:0}))},[]),K=h.useCallback(($e,Ke,Me,et)=>{T.current[$e].set(Ke,{ref:Me,meta:et})},[]),G=h.useCallback(($e,Ke)=>{T.current[$e].delete(Ke)},[]),J=h.useCallback($e=>T.current[$e].size,[]),ne=h.useCallback(($e,Ke)=>{R.current[$e]=Ke},[]),re=h.useCallback($e=>{R.current[$e]=null},[]),de=h.useCallback(($e,Ke)=>b&&i===$e&&u[$e]===Ke,[b,i,u]),Ne=h.useCallback(()=>s?n?[0]:e>0?[2]:[1]:a?e>0?[0,2]:[0,1]:e>0?[0,1,2]:[0,1],[s,a,n,e]),ve=h.useCallback($e=>{const Ke=Ne(),Me=N.current,et=Ke.indexOf(Me);if(et===-1){D(Ke[0]);return}const pt=Math.max(0,Math.min(Ke.length-1,et+$e)),ht=Ke[pt];if(ht===Me)return;D(ht);const st=T.current[ht],De=M.current[ht],se=st.get(De);if(se!=null&&se.ref.current)W(se.ref.current);else if(st.size>0){const q=Array.from(st.keys()).sort((Z,ie)=>Z-ie)[0];if(q!==void 0){F(ht,q);const Z=st.get(q);Z!=null&&Z.ref.current&&W(Z.ref.current)}}},[Ne,W,F,D]),xe=h.useCallback($e=>{const Ke=N.current,Me=T.current[Ke];if(Me.size===0)return;const et=Array.from(Me.keys()).sort((q,Z)=>q-Z);if(et.length===0)return;const pt=M.current[Ke];let ht=et.indexOf(pt);if(ht===-1){let q=0,Z=1/0;for(let ie=0;ie<et.length;ie++){const Ce=Math.abs(et[ie]-pt);Ce<Z&&(Z=Ce,q=ie)}ht=q}let st=ht+$e;if(st<0)st=et.length-1;else if(st>=et.length){const q=R.current[Ke];q&&q(),st=0}const De=et[st];if(De===void 0)return;F(Ke,De);const se=Me.get(De);se!=null&&se.ref.current&&W(se.ref.current)},[F,W]),ce=h.useCallback(()=>{let $e=N.current;T.current[$e].size===0&&(T.current[1].size>0?$e=1:T.current[2].size>0&&($e=2));const Ke=T.current[$e];if(Ke.size===0)return;const Me=Array.from(Ke.keys()).sort((ht,st)=>ht-st);if(Me.length===0)return;const et=Me[0];if(et===void 0)return;D($e),F($e,et),window.scrollTo({top:0,behavior:"smooth"});const pt=Ke.get(et);if(pt!=null&&pt.ref.current){let ht=pt.ref.current.parentElement;for(;ht&&ht!==document.body;){const st=window.getComputedStyle(ht);if((st.overflowY==="auto"||st.overflowY==="scroll")&&ht.scrollHeight>ht.clientHeight){ht.scrollTo({top:0,behavior:"smooth"});break}ht=ht.parentElement}}},[F,D]),pe=h.useCallback($e=>{m({active:!0,selectedAction:"reply",noteEvent:$e})},[]),me=h.useCallback(()=>{m({active:!1,selectedAction:null,noteEvent:null})},[]),ke=h.useCallback(($e=1)=>{m(Ke=>{var pt;if(!Ke.active){const ht=N.current,st=M.current[ht],De=T.current[ht].get(st);return((pt=De==null?void 0:De.meta)==null?void 0:pt.type)==="note"&&De.meta.event?{active:!0,selectedAction:"reply",noteEvent:De.meta.event}:Ke}const et=((Ke.selectedAction?T6.indexOf(Ke.selectedAction):0)+$e+T6.length)%T6.length;return{...Ke,selectedAction:T6[et]}})},[]),le=h.useCallback(()=>{var et,pt;const $e=N.current,Ke=M.current[$e];if(f.active){const ht=T.current[$e].get(Ke);if(ht!=null&&ht.ref.current&&f.selectedAction){const st=ht.ref.current.querySelector("[data-stuff-stats]"),De=st==null?void 0:st.querySelector(`[data-action="${f.selectedAction}"]`);De==null||De.click(),me()}return}const Me=T.current[$e].get(Ke);Me&&($e===0&&((et=Me.meta)==null?void 0:et.type)==="sidebar"&&(F(1,0),D(1)),(pt=Me.meta)!=null&&pt.onActivate?Me.meta.onActivate():Me.ref.current&&Me.ref.current.click())},[f,me,F,D]),he=h.useCallback(()=>{const $e=Date.now();if(S.current.push($e),S.current=S.current.filter(Me=>$e-Me<I),S.current.length>=3&&b){j(!1),S.current=[];return}if(f.active){me();return}if(g){w(null);return}if((s||a)&&e>0){r==null||r();return}const Ke=N.current;if(Ke===2&&e>0){o==null||o(),D(1);return}Ke!==0&&(D(0),F(0,0))},[f.active,me,g,s,a,e,r,o,F,D,b,I]),we=h.useCallback(()=>{const $e=N.current;if($e===2){e>0?s||a?r==null||r():(o==null||o(),D(1)):D(1);return}if($e===1){D(0);return}},[e,s,a,r,o,D]),Ae=h.useCallback($e=>{switch($e){case"up":xe(-1);break;case"down":xe(1);break;case"left":ve(-1);break;case"right":ve(1);break;case"pageUp":ce();break;case"activate":le();break;case"back":we();break;case"cancel":he();break;case"nextAction":ke(1);break;case"prevAction":ke(-1);break}},[xe,ve,ce,le,we,he,ke]);h.useEffect(()=>{B.current=Ae},[Ae]);const Ve=h.useCallback($e=>{var pt;const Ke=N.current,Me=M.current[Ke],et=T.current[Ke].get(Me);if(((pt=et==null?void 0:et.meta)==null?void 0:pt.type)==="note"&&et.ref.current){const ht=et.ref.current.querySelector("[data-stuff-stats]"),st=ht==null?void 0:ht.querySelector(`[data-action="${$e}"]`);st==null||st.click()}},[]);h.useEffect(()=>{if(cu())return;const $e=Ke=>{var pt;if(kFe()||(pt=po.hasOpenModal)!=null&&pt.call(po))return;let Me=null;const et=["ArrowUp","ArrowDown","j","k","Tab"].includes(Ke.key);switch(Ke.key){case"ArrowUp":case"k":Me="up";break;case"ArrowDown":case"j":Me="down";break;case"ArrowLeft":case"h":Me="back";break;case"ArrowRight":case"l":Me="right";break;case"Enter":Me="activate";break;case"PageUp":Me="pageUp";break;case"Escape":Me="cancel";break;case"Backspace":Me="back";break;case"Tab":Ke.preventDefault(),Me=Ke.shiftKey?"left":"right";break;case"r":if(b){Ke.preventDefault(),Ve("reply");return}break;case"R":if(b){Ke.preventDefault(),Ve("react");return}break;case"p":if(b){Ke.preventDefault(),Ve("repost");return}break;case"q":if(b){Ke.preventDefault(),Ve("quote");return}break;case"z":if(b){Ke.preventDefault(),Ve("zap");return}break;case"K":if(Ke.shiftKey){Ke.preventDefault(),O();return}break;case"M":if(Ke.shiftKey&&b){Ke.preventDefault();const ht=N.current,st=M.current[ht],De=T.current[ht].get(st);if(De!=null&&De.ref.current){const se=De.ref.current.querySelector("[data-collapsible-expand]");se&&(se.click(),setTimeout(()=>{De.ref.current&&W(De.ref.current)},50))}return}break}if(!b&&et){j(!0);const ht=Ne(),st=N.current,De=ht.includes(st)?st:ht[0],se=T.current[De];if(se.size>0){const q=Array.from(se.keys()).sort((Z,ie)=>Z-ie)[0];if(q!==void 0){F(De,q);const Z=se.get(q);Z!=null&&Z.ref.current&&W(Z.ref.current)}}}(Me&&b||Me&&et)&&(Ke.preventDefault(),Q(Me))};return window.addEventListener("keydown",$e),()=>window.removeEventListener("keydown",$e)},[b,Q,Ne,F,W,Ve,O]),h.useEffect(()=>{const $e=Ne();$e.includes(i)||(i===2&&$e.includes(1)?D(1):D($e[0]))},[Ne,i,D]);const Ze=h.useRef(e);h.useEffect(()=>{if(e>Ze.current&&b){D(2),F(2,0);const $e=T.current[2];if($e.size>0){const Me=Array.from($e.keys()).sort((et,pt)=>et-pt)[0];if(Me!==void 0){F(2,Me);const et=$e.get(Me);et!=null&&et.ref.current&&W(et.ref.current)}}}else e<Ze.current&&b&&N.current===2&&D(1);Ze.current=e},[e,b,F,W,D]);const nt=h.useMemo(()=>({emitIntent:Q,registerRegion:z,unregisterRegion:Y,activeColumn:i,setActiveColumn:D,selectedIndex:u,setSelectedIndex:F,resetPrimarySelection:X,offsetSelection:$,clearColumn:V,registerItem:K,unregisterItem:G,getItemCount:J,registerLoadMore:ne,unregisterLoadMore:re,actionMode:f,enterActionMode:pe,exitActionMode:me,cycleAction:ke,isItemSelected:de,openAccordionItem:g,setOpenAccordionItem:w,isEnabled:b,toggleKeyboardMode:O,scrollToCenter:W}),[Q,z,Y,i,u,F,X,$,V,K,G,J,ne,re,f,pe,me,ke,de,g,b,O,W]);return c.jsx(zie.Provider,{value:nt,children:t})}const jFe=[{type:"reply",icon:rf,label:"Reply"},{type:"repost",icon:cae,label:"Repost"},{type:"quote",icon:iae,label:"Quote"},{type:"react",icon:Xk,label:"React"},{type:"zap",icon:uc,label:"Zap"}];function aA(){const{actionMode:t,isEnabled:e}=ii();return!e||!t.active?null:c.jsxs("div",{className:"fixed bottom-20 left-1/2 -translate-x-1/2 z-50 pointer-events-none",children:[c.jsx("div",{className:"flex gap-1 bg-background/95 backdrop-blur-sm border rounded-full px-3 py-2 shadow-lg",children:jFe.map(({type:n,icon:r,label:o})=>c.jsx("div",{className:Re("flex flex-col items-center gap-1 p-2 rounded-full transition-all duration-150",t.selectedAction===n?"bg-primary text-primary-foreground scale-110":"text-muted-foreground"),title:o,children:c.jsx(r,{className:"size-5"})},n))}),c.jsx("div",{className:"text-center text-xs text-muted-foreground mt-2",children:"Tab to cycle, Enter to activate, Esc to cancel"})]})}const Fie=h.createContext({composeOpen:!1,openCompose:()=>{},closeCompose:()=>{}});function ML(){return h.useContext(Fie)}function CFe({children:t}){const[e,n]=h.useState(!1),r=h.useCallback(()=>n(!0),[]),o=h.useCallback(()=>n(!1),[]);return c.jsx(Fie.Provider,{value:{composeOpen:e,openCompose:r,closeCompose:o},children:t})}class Kn{constructor(e,n,r,o,s){this._legacyCanvasSize=Kn.DEFAULT_CANVAS_SIZE,this._preferredCamera="environment",this._maxScansPerSecond=25,this._lastScanTimestamp=-1,this._destroyed=this._flashOn=this._paused=this._active=!1,this.$video=e,this.$canvas=document.createElement("canvas"),r&&typeof r=="object"?this._onDecode=n:(console.warn(r||o||s?"You're using a deprecated version of the QrScanner constructor which will be removed in the future":"Note that the type of the scan result passed to onDecode will change in the future. To already switch to the new api today, you can pass returnDetailedScanResult: true."),this._legacyOnDecode=n),n=typeof r=="object"?r:{},this._onDecodeError=n.onDecodeError||(typeof r=="function"?r:this._onDecodeError),this._calculateScanRegion=n.calculateScanRegion||(typeof o=="function"?o:this._calculateScanRegion),this._preferredCamera=n.preferredCamera||s||this._preferredCamera,this._legacyCanvasSize=typeof r=="number"?r:typeof o=="number"?o:this._legacyCanvasSize,this._maxScansPerSecond=n.maxScansPerSecond||this._maxScansPerSecond,this._onPlay=this._onPlay.bind(this),this._onLoadedMetaData=this._onLoadedMetaData.bind(this),this._onVisibilityChange=this._onVisibilityChange.bind(this),this._updateOverlay=this._updateOverlay.bind(this),e.disablePictureInPicture=!0,e.playsInline=!0,e.muted=!0;let a=!1;if(e.hidden&&(e.hidden=!1,a=!0),document.body.contains(e)||(document.body.appendChild(e),a=!0),r=e.parentElement,n.highlightScanRegion||n.highlightCodeOutline){if(o=!!n.overlay,this.$overlay=n.overlay||document.createElement("div"),s=this.$overlay.style,s.position="absolute",s.display="none",s.pointerEvents="none",this.$overlay.classList.add("scan-region-highlight"),!o&&n.highlightScanRegion){this.$overlay.innerHTML='<svg class="scan-region-highlight-svg" viewBox="0 0 238 238" preserveAspectRatio="none" style="position:absolute;width:100%;height:100%;left:0;top:0;fill:none;stroke:#e9b213;stroke-width:4;stroke-linecap:round;stroke-linejoin:round"><path d="M31 2H10a8 8 0 0 0-8 8v21M207 2h21a8 8 0 0 1 8 8v21m0 176v21a8 8 0 0 1-8 8h-21m-176 0H10a8 8 0 0 1-8-8v-21"/></svg>';try{this.$overlay.firstElementChild.animate({transform:["scale(.98)","scale(1.01)"]},{duration:400,iterations:1/0,direction:"alternate",easing:"ease-in-out"})}catch{}r.insertBefore(this.$overlay,this.$video.nextSibling)}n.highlightCodeOutline&&(this.$overlay.insertAdjacentHTML("beforeend",'<svg class="code-outline-highlight" preserveAspectRatio="none" style="display:none;width:100%;height:100%;fill:none;stroke:#e9b213;stroke-width:5;stroke-dasharray:25;stroke-linecap:round;stroke-linejoin:round"><polygon/></svg>'),this.$codeOutlineHighlight=this.$overlay.lastElementChild)}this._scanRegion=this._calculateScanRegion(e),requestAnimationFrame(()=>{let i=window.getComputedStyle(e);i.display==="none"&&(e.style.setProperty("display","block","important"),a=!0),i.visibility!=="visible"&&(e.style.setProperty("visibility","visible","important"),a=!0),a&&(console.warn("QrScanner has overwritten the video hiding style to avoid Safari stopping the playback."),e.style.opacity="0",e.style.width="0",e.style.height="0",this.$overlay&&this.$overlay.parentElement&&this.$overlay.parentElement.removeChild(this.$overlay),delete this.$overlay,delete this.$codeOutlineHighlight),this.$overlay&&this._updateOverlay()}),e.addEventListener("play",this._onPlay),e.addEventListener("loadedmetadata",this._onLoadedMetaData),document.addEventListener("visibilitychange",this._onVisibilityChange),window.addEventListener("resize",this._updateOverlay),this._qrEnginePromise=Kn.createQrEngine()}static set WORKER_PATH(e){console.warn("Setting QrScanner.WORKER_PATH is not required and not supported anymore. Have a look at the README for new setup instructions.")}static async hasCamera(){try{return!!(await Kn.listCameras(!1)).length}catch{return!1}}static async listCameras(e=!1){if(!navigator.mediaDevices)return[];let n=async()=>(await navigator.mediaDevices.enumerateDevices()).filter(o=>o.kind==="videoinput"),r;try{e&&(await n()).every(o=>!o.label)&&(r=await navigator.mediaDevices.getUserMedia({audio:!1,video:!0}))}catch{}try{return(await n()).map((o,s)=>({id:o.deviceId,label:o.label||(s===0?"Default Camera":`Camera ${s+1}`)}))}finally{r&&(console.warn("Call listCameras after successfully starting a QR scanner to avoid creating a temporary video stream"),Kn._stopVideoStream(r))}}async hasFlash(){let e;try{if(this.$video.srcObject){if(!(this.$video.srcObject instanceof MediaStream))return!1;e=this.$video.srcObject}else e=(await this._getCameraStream()).stream;return"torch"in e.getVideoTracks()[0].getSettings()}catch{return!1}finally{e&&e!==this.$video.srcObject&&(console.warn("Call hasFlash after successfully starting the scanner to avoid creating a temporary video stream"),Kn._stopVideoStream(e))}}isFlashOn(){return this._flashOn}async toggleFlash(){this._flashOn?await this.turnFlashOff():await this.turnFlashOn()}async turnFlashOn(){if(!this._flashOn&&!this._destroyed&&(this._flashOn=!0,this._active&&!this._paused))try{if(!await this.hasFlash())throw"No flash available";await this.$video.srcObject.getVideoTracks()[0].applyConstraints({advanced:[{torch:!0}]})}catch(e){throw this._flashOn=!1,e}}async turnFlashOff(){this._flashOn&&(this._flashOn=!1,await this._restartVideoStream())}destroy(){this.$video.removeEventListener("loadedmetadata",this._onLoadedMetaData),this.$video.removeEventListener("play",this._onPlay),document.removeEventListener("visibilitychange",this._onVisibilityChange),window.removeEventListener("resize",this._updateOverlay),this._destroyed=!0,this._flashOn=!1,this.stop(),Kn._postWorkerMessage(this._qrEnginePromise,"close")}async start(){if(this._destroyed)throw Error("The QR scanner can not be started as it had been destroyed.");if((!this._active||this._paused)&&(window.location.protocol!=="https:"&&console.warn("The camera stream is only accessible if the page is transferred via https."),this._active=!0,!document.hidden))if(this._paused=!1,this.$video.srcObject)await this.$video.play();else try{let{stream:e,facingMode:n}=await this._getCameraStream();!this._active||this._paused?Kn._stopVideoStream(e):(this._setVideoMirror(n),this.$video.srcObject=e,await this.$video.play(),this._flashOn&&(this._flashOn=!1,this.turnFlashOn().catch(()=>{})))}catch(e){if(!this._paused)throw this._active=!1,e}}stop(){this.pause(),this._active=!1}async pause(e=!1){if(this._paused=!0,!this._active)return!0;this.$video.pause(),this.$overlay&&(this.$overlay.style.display="none");let n=()=>{this.$video.srcObject instanceof MediaStream&&(Kn._stopVideoStream(this.$video.srcObject),this.$video.srcObject=null)};return e?(n(),!0):(await new Promise(r=>setTimeout(r,300)),this._paused?(n(),!0):!1)}async setCamera(e){e!==this._preferredCamera&&(this._preferredCamera=e,await this._restartVideoStream())}static async scanImage(e,n,r,o,s=!1,a=!1){let i,l=!1;n&&("scanRegion"in n||"qrEngine"in n||"canvas"in n||"disallowCanvasResizing"in n||"alsoTryWithoutScanRegion"in n||"returnDetailedScanResult"in n)?(i=n.scanRegion,r=n.qrEngine,o=n.canvas,s=n.disallowCanvasResizing||!1,a=n.alsoTryWithoutScanRegion||!1,l=!0):console.warn(n||r||o||s||a?"You're using a deprecated api for scanImage which will be removed in the future.":"Note that the return type of scanImage will change in the future. To already switch to the new api today, you can pass returnDetailedScanResult: true."),n=!!r;try{let u,d;[r,u]=await Promise.all([r||Kn.createQrEngine(),Kn._loadImage(e)]),[o,d]=Kn._drawToCanvas(u,i,o,s);let f;if(r instanceof Worker){let m=r;n||Kn._postWorkerMessageSync(m,"inversionMode","both"),f=await new Promise((g,w)=>{let b,j,S,I=-1;j=M=>{M.data.id===I&&(m.removeEventListener("message",j),m.removeEventListener("error",S),clearTimeout(b),M.data.data!==null?g({data:M.data.data,cornerPoints:Kn._convertPoints(M.data.cornerPoints,i)}):w(Kn.NO_QR_CODE_FOUND))},S=M=>{m.removeEventListener("message",j),m.removeEventListener("error",S),clearTimeout(b),w("Scanner error: "+(M?M.message||M:"Unknown Error"))},m.addEventListener("message",j),m.addEventListener("error",S),b=setTimeout(()=>S("timeout"),1e4);let N=d.getImageData(0,0,o.width,o.height);I=Kn._postWorkerMessageSync(m,"decode",N,[N.data.buffer])})}else f=await Promise.race([new Promise((m,g)=>window.setTimeout(()=>g("Scanner error: timeout"),1e4)),(async()=>{try{var[m]=await r.detect(o);if(!m)throw Kn.NO_QR_CODE_FOUND;return{data:m.rawValue,cornerPoints:Kn._convertPoints(m.cornerPoints,i)}}catch(g){if(m=g.message||g,/not implemented|service unavailable/.test(m))return Kn._disableBarcodeDetector=!0,Kn.scanImage(e,{scanRegion:i,canvas:o,disallowCanvasResizing:s,alsoTryWithoutScanRegion:a});throw`Scanner error: ${m}`}})()]);return l?f:f.data}catch(u){if(!i||!a)throw u;let d=await Kn.scanImage(e,{qrEngine:r,canvas:o,disallowCanvasResizing:s});return l?d:d.data}finally{n||Kn._postWorkerMessage(r,"close")}}setGrayscaleWeights(e,n,r,o=!0){Kn._postWorkerMessage(this._qrEnginePromise,"grayscaleWeights",{red:e,green:n,blue:r,useIntegerApproximation:o})}setInversionMode(e){Kn._postWorkerMessage(this._qrEnginePromise,"inversionMode",e)}static async createQrEngine(e){if(e&&console.warn("Specifying a worker path is not required and not supported anymore."),e=()=>Bs(()=>import("./qr-scanner-worker.min-D85Z9gVD.js"),[]).then(r=>r.createWorker()),!(!Kn._disableBarcodeDetector&&"BarcodeDetector"in window&&BarcodeDetector.getSupportedFormats&&(await BarcodeDetector.getSupportedFormats()).includes("qr_code")))return e();let n=navigator.userAgentData;return n&&n.brands.some(({brand:r})=>/Chromium/i.test(r))&&/mac ?OS/i.test(n.platform)&&await n.getHighEntropyValues(["architecture","platformVersion"]).then(({architecture:r,platformVersion:o})=>/arm/i.test(r||"arm")&&13<=parseInt(o||"13")).catch(()=>!0)?e():new BarcodeDetector({formats:["qr_code"]})}_onPlay(){this._scanRegion=this._calculateScanRegion(this.$video),this._updateOverlay(),this.$overlay&&(this.$overlay.style.display=""),this._scanFrame()}_onLoadedMetaData(){this._scanRegion=this._calculateScanRegion(this.$video),this._updateOverlay()}_onVisibilityChange(){document.hidden?this.pause():this._active&&this.start()}_calculateScanRegion(e){let n=Math.round(.6666666666666666*Math.min(e.videoWidth,e.videoHeight));return{x:Math.round((e.videoWidth-n)/2),y:Math.round((e.videoHeight-n)/2),width:n,height:n,downScaledWidth:this._legacyCanvasSize,downScaledHeight:this._legacyCanvasSize}}_updateOverlay(){requestAnimationFrame(()=>{if(this.$overlay){var e=this.$video,n=e.videoWidth,r=e.videoHeight,o=e.offsetWidth,s=e.offsetHeight,a=e.offsetLeft,i=e.offsetTop,l=window.getComputedStyle(e),u=l.objectFit,d=n/r,f=o/s;switch(u){case"none":var m=n,g=r;break;case"fill":m=o,g=s;break;default:(u==="cover"?d>f:d<f)?(g=s,m=g*d):(m=o,g=m/d),u==="scale-down"&&(m=Math.min(m,n),g=Math.min(g,r))}var[w,b]=l.objectPosition.split(" ").map((S,I)=>{const N=parseFloat(S);return S.endsWith("%")?(I?s-g:o-m)*N/100:N});l=this._scanRegion.width||n,f=this._scanRegion.height||r,u=this._scanRegion.x||0;var j=this._scanRegion.y||0;d=this.$overlay.style,d.width=`${l/n*m}px`,d.height=`${f/r*g}px`,d.top=`${i+b+j/r*g}px`,r=/scaleX\(-1\)/.test(e.style.transform),d.left=`${a+(r?o-w-m:w)+(r?n-u-l:u)/n*m}px`,d.transform=e.style.transform}})}static _convertPoints(e,n){if(!n)return e;let r=n.x||0,o=n.y||0,s=n.width&&n.downScaledWidth?n.width/n.downScaledWidth:1;n=n.height&&n.downScaledHeight?n.height/n.downScaledHeight:1;for(let a of e)a.x=a.x*s+r,a.y=a.y*n+o;return e}_scanFrame(){!this._active||this.$video.paused||this.$video.ended||("requestVideoFrameCallback"in this.$video?this.$video.requestVideoFrameCallback.bind(this.$video):requestAnimationFrame)(async()=>{if(!(1>=this.$video.readyState)){var e=Date.now()-this._lastScanTimestamp,n=1e3/this._maxScansPerSecond;e<n&&await new Promise(o=>setTimeout(o,n-e)),this._lastScanTimestamp=Date.now();try{var r=await Kn.scanImage(this.$video,{scanRegion:this._scanRegion,qrEngine:this._qrEnginePromise,canvas:this.$canvas})}catch(o){if(!this._active)return;this._onDecodeError(o)}!Kn._disableBarcodeDetector||await this._qrEnginePromise instanceof Worker||(this._qrEnginePromise=Kn.createQrEngine()),r?(this._onDecode?this._onDecode(r):this._legacyOnDecode&&this._legacyOnDecode(r.data),this.$codeOutlineHighlight&&(clearTimeout(this._codeOutlineHighlightRemovalTimeout),this._codeOutlineHighlightRemovalTimeout=void 0,this.$codeOutlineHighlight.setAttribute("viewBox",`${this._scanRegion.x||0} ${this._scanRegion.y||0} ${this._scanRegion.width||this.$video.videoWidth} ${this._scanRegion.height||this.$video.videoHeight}`),this.$codeOutlineHighlight.firstElementChild.setAttribute("points",r.cornerPoints.map(({x:o,y:s})=>`${o},${s}`).join(" ")),this.$codeOutlineHighlight.style.display="")):this.$codeOutlineHighlight&&!this._codeOutlineHighlightRemovalTimeout&&(this._codeOutlineHighlightRemovalTimeout=setTimeout(()=>this.$codeOutlineHighlight.style.display="none",100))}this._scanFrame()})}_onDecodeError(e){e!==Kn.NO_QR_CODE_FOUND&&console.log(e)}async _getCameraStream(){if(!navigator.mediaDevices)throw"Camera not found.";let e=/^(environment|user)$/.test(this._preferredCamera)?"facingMode":"deviceId",n=[{width:{min:1024}},{width:{min:768}},{}],r=n.map(o=>Object.assign({},o,{[e]:{exact:this._preferredCamera}}));for(let o of[...r,...n])try{let s=await navigator.mediaDevices.getUserMedia({video:o,audio:!1}),a=this._getFacingMode(s)||(o.facingMode?this._preferredCamera:this._preferredCamera==="environment"?"user":"environment");return{stream:s,facingMode:a}}catch{}throw"Camera not found."}async _restartVideoStream(){let e=this._paused;await this.pause(!0)&&!e&&this._active&&await this.start()}static _stopVideoStream(e){for(let n of e.getTracks())n.stop(),e.removeTrack(n)}_setVideoMirror(e){this.$video.style.transform="scaleX("+(e==="user"?-1:1)+")"}_getFacingMode(e){return(e=e.getVideoTracks()[0])?/rear|back|environment/i.test(e.label)?"environment":/front|user|face/i.test(e.label)?"user":null:null}static _drawToCanvas(e,n,r,o=!1){r=r||document.createElement("canvas");let s=n&&n.x?n.x:0,a=n&&n.y?n.y:0,i=n&&n.width?n.width:e.videoWidth||e.width,l=n&&n.height?n.height:e.videoHeight||e.height;return o||(o=n&&n.downScaledWidth?n.downScaledWidth:i,n=n&&n.downScaledHeight?n.downScaledHeight:l,r.width!==o&&(r.width=o),r.height!==n&&(r.height=n)),n=r.getContext("2d",{alpha:!1}),n.imageSmoothingEnabled=!1,n.drawImage(e,s,a,i,l,0,0,r.width,r.height),[r,n]}static async _loadImage(e){if(e instanceof Image)return await Kn._awaitImageLoad(e),e;if(e instanceof HTMLVideoElement||e instanceof HTMLCanvasElement||e instanceof SVGImageElement||"OffscreenCanvas"in window&&e instanceof OffscreenCanvas||"ImageBitmap"in window&&e instanceof ImageBitmap)return e;if(e instanceof File||e instanceof Blob||e instanceof URL||typeof e=="string"){let n=new Image;n.src=e instanceof File||e instanceof Blob?URL.createObjectURL(e):e.toString();try{return await Kn._awaitImageLoad(n),n}finally{(e instanceof File||e instanceof Blob)&&URL.revokeObjectURL(n.src)}}else throw"Unsupported image type."}static async _awaitImageLoad(e){e.complete&&e.naturalWidth!==0||await new Promise((n,r)=>{let o=s=>{e.removeEventListener("load",o),e.removeEventListener("error",o),s instanceof ErrorEvent?r("Image load error"):n()};e.addEventListener("load",o),e.addEventListener("error",o)})}static async _postWorkerMessage(e,n,r,o){return Kn._postWorkerMessageSync(await e,n,r,o)}static _postWorkerMessageSync(e,n,r,o){if(!(e instanceof Worker))return-1;let s=Kn._workerMessageId++;return e.postMessage({id:s,type:n,data:r},o),s}}Kn.DEFAULT_CANVAS_SIZE=400;Kn.NO_QR_CODE_FOUND="No QR code found";Kn._disableBarcodeDetector=!1;Kn._workerMessageId=0;function fx({onScan:t,onClose:e}){const{t:n}=qe(),r=h.useRef(null),o=h.useRef(null),[s,a]=h.useState(null),i=h.useCallback(l=>{t(l.data),e()},[t,e]);return h.useEffect(()=>{if(!r.current)return;const l=new Kn(r.current,i,{preferredCamera:"environment",highlightScanRegion:!0,highlightCodeOutline:!0});return o.current=l,l.start().catch(()=>{a(n("Failed to access camera"))}),()=>{l.destroy()}},[i,n]),c.jsx("div",{className:"fixed inset-0 z-50 bg-black/80 flex items-center justify-center",children:c.jsxs("div",{className:"relative w-full max-w-sm mx-4",children:[c.jsx(Le,{variant:"ghost",size:"icon",className:"absolute -top-12 right-0 text-white hover:bg-white/20",onClick:e,children:c.jsx(Us,{className:"h-6 w-6"})}),c.jsx("div",{className:"rounded-lg overflow-hidden bg-black",children:s?c.jsx("div",{className:"p-8 text-center text-destructive",children:s}):c.jsx("video",{ref:r,className:"w-full"})}),c.jsx("p",{className:"text-center text-white/70 text-sm mt-4",children:n("Point camera at QR code")})]})})}const BS=h.forwardRef(({value:t,onChange:e,className:n,onQrScan:r,...o},s)=>{const[a,i]=h.useState(!1),[l,u]=h.useState(null),[d,f]=h.useState(!1);h.useEffect(()=>{i(!!t)},[t]);function m(w){u(w),typeof s=="function"?s(w):s&&(s.current=w)}const g=w=>{const b=w.startsWith("nostr:")?w.slice(6):w;r==null||r(b)};return c.jsxs(c.Fragment,{children:[c.jsxs("div",{tabIndex:0,className:Re("flex h-9 w-full items-center rounded-xl border border-input bg-transparent px-3 py-1 text-base shadow-sm transition-all duration-200 md:text-sm [&:has(:focus-visible)]:ring-ring [&:has(:focus-visible)]:ring-2 [&:has(:focus-visible)]:outline-none hover:border-ring/50",n),children:[c.jsx(rx,{className:"size-4 shrink-0 opacity-50",onClick:()=>l==null?void 0:l.focus()}),c.jsx("input",{...o,name:"search-input",ref:m,value:t,onChange:e,className:"size-full mx-2 border-none bg-transparent focus:outline-none placeholder:text-muted-foreground"}),r&&c.jsx("button",{type:"button",className:"text-muted-foreground hover:text-foreground transition-colors size-5 shrink-0 flex items-center justify-center mr-1",onMouseDown:w=>w.preventDefault(),onClick:()=>f(!0),children:c.jsx(s2,{className:"size-4"})}),a&&c.jsx("button",{type:"button",className:"rounded-full bg-foreground/40 hover:bg-foreground transition-opacity size-5 shrink-0 flex flex-col items-center justify-center",onMouseDown:w=>w.preventDefault(),onClick:()=>e==null?void 0:e({target:{value:""}}),children:c.jsx(Us,{className:"!size-3 shrink-0 text-background",strokeWidth:4})})]}),d&&c.jsx(fx,{onScan:g,onClose:()=>f(!1)})]})});BS.displayName="SearchInput";var D6=new TextDecoder("utf-8");new TextEncoder;var Bie=5e3;function Uie(t){var o,s,a,i,l,u,d;let{prefix:e,words:n}=Pr.decode(t,Bie),r=new Uint8Array(Pr.fromWords(n));switch(e){case"nprofile":{let f=iA(r);if(!((o=f[0])!=null&&o[0]))throw new Error("missing TLV 0 for nprofile");if(f[0][0].length!==32)throw new Error("TLV 0 should be 32 bytes");return{type:"nprofile",data:{pubkey:Lr(f[0][0]),relays:f[1]?f[1].map(m=>D6.decode(m)):[]}}}case"nevent":{let f=iA(r);if(!((s=f[0])!=null&&s[0]))throw new Error("missing TLV 0 for nevent");if(f[0][0].length!==32)throw new Error("TLV 0 should be 32 bytes");if(f[2]&&f[2][0].length!==32)throw new Error("TLV 2 should be 32 bytes");if(f[3]&&f[3][0].length!==4)throw new Error("TLV 3 should be 4 bytes");return{type:"nevent",data:{id:Lr(f[0][0]),relays:f[1]?f[1].map(m=>D6.decode(m)):[],author:(a=f[2])!=null&&a[0]?Lr(f[2][0]):void 0,kind:(i=f[3])!=null&&i[0]?parseInt(Lr(f[3][0]),16):void 0}}}case"naddr":{let f=iA(r);if(!((l=f[0])!=null&&l[0]))throw new Error("missing TLV 0 for naddr");if(!((u=f[2])!=null&&u[0]))throw new Error("missing TLV 2 for naddr");if(f[2][0].length!==32)throw new Error("TLV 2 should be 32 bytes");if(!((d=f[3])!=null&&d[0]))throw new Error("missing TLV 3 for naddr");if(f[3][0].length!==4)throw new Error("TLV 3 should be 4 bytes");return{type:"naddr",data:{identifier:D6.decode(f[0][0]),pubkey:Lr(f[2][0]),kind:parseInt(Lr(f[3][0]),16),relays:f[1]?f[1].map(m=>D6.decode(m)):[]}}}case"nsec":return{type:e,data:r};case"npub":case"note":return{type:e,data:Lr(r)};default:throw new Error(`unknown prefix ${e}`)}}function iA(t){let e={},n=t;for(;n.length>0;){let r=n[0],o=n[1],s=n.slice(2,2+o);if(n=n.slice(2+o),s.length<o)throw new Error(`not enough data to read on TLV ${r}`);e[r]=e[r]||[],e[r].push(s)}return e}function SFe(t){return NFe("nsec",t)}function EFe(t,e){let n=Pr.toWords(e);return Pr.encode(t,n,Bie)}function NFe(t,e){return EFe(t,e)}function IFe(t){return t.startsWith("nak req ")||t.startsWith("req ")}function $ie(t){const e=t.trim();if(!IFe(e))return null;const n=e.startsWith("nak")?e.slice(8).trim():e.slice(3).trim();if(!n)return{filter:{},urls:[]};const r=AFe(n),o={},s=[];let a=0;for(;a<r.length;){const i=r[a];if(i==="--author"||i==="-a"){const l=r[++a],u=l?zY(l):null;u&&(o.authors||(o.authors=[]),o.authors.includes(u)||o.authors.push(u))}else if(i==="--id"||i==="-i"){const l=r[++a],u=l?zY(l):null;u&&(o.ids||(o.ids=[]),o.ids.includes(u)||o.ids.push(u))}else if(i==="--kind"||i==="-k"){const l=r[++a];if(l&&/^\d+$/.test(l)){const u=parseInt(l,10);o.kinds||(o.kinds=[]),o.kinds.includes(u)||o.kinds.push(u)}}else if(i==="--search"){const l=r[++a];l&&(o.search=l)}else if(i==="--tag"||i==="-t"){const l=r[++a];if(l){const[u,d]=_Fe(l);if(u&&d){const f=`#${u}`,m=o;m[f]||(m[f]=[]),m[f].includes(d)||m[f].push(d)}}}else if(i==="-d"){const l=r[++a];l&&(o["#d"]||(o["#d"]=[]),o["#d"].includes(l)||o["#d"].push(l))}else if(i==="-e"){const l=r[++a];l&&G8(l)&&(o["#e"]||(o["#e"]=[]),o["#e"].includes(l)||o["#e"].push(l))}else if(i==="-p"){const l=r[++a];l&&G8(l)&&(o["#p"]||(o["#p"]=[]),o["#p"].includes(l)||o["#p"].push(l))}else if(!i.startsWith("-"))try{const l=oo(i);(l.startsWith("wss://")||l.startsWith("ws://"))&&(s.includes(l)||s.push(l))}catch{}a++}return{filter:o,urls:s}}function AFe(t){const e=[];let n="",r=null;for(let o=0;o<t.length;o++){const s=t[o];r?s===r?r=null:n+=s:s==='"'||s==="'"?r=s:s===" "||s===" "?n&&(e.push(n),n=""):n+=s}return n&&e.push(n),e}function _Fe(t){const e=t.indexOf("=");return e===-1?[null,null]:[t.slice(0,e),t.slice(e+1)]}function G8(t){return new RegExp("^[0-9a-fA-F]{64}$").test(t)}function zY(t){if(G8(t))return t;if(["nevent","note","npub","nprofile"].every(e=>!t.startsWith(e)))return null;try{const{type:e,data:n}=Uie(t);return e==="nevent"?n.id:e==="note"||e==="npub"?n:e==="nprofile"?n.pubkey:null}catch{return null}}function MFe(t){var n,r,o;const e=[];(n=t.filter.kinds)!=null&&n.length&&e.push(`kinds: ${t.filter.kinds.join(", ")}`),(r=t.filter.authors)!=null&&r.length&&e.push(`authors: ${t.filter.authors.length}`),(o=t.filter.ids)!=null&&o.length&&e.push(`ids: ${t.filter.ids.length}`),t.filter.search&&e.push(`search: "${t.filter.search}"`);for(const s of Object.keys(t.filter))if(s.startsWith("#")){const a=t.filter[s];a!=null&&a.length&&e.push(`${s}: ${a.length}`)}return t.urls.length&&e.push(`relays: ${t.urls.length}`),e.join(" | ")||"No filters"}function RFe(t,e=[]){let n=[];function r(s,a){const i=h.createContext(a),l=n.length;n=[...n,a];const u=f=>{var S;const{scope:m,children:g,...w}=f,b=((S=m==null?void 0:m[t])==null?void 0:S[l])||i,j=h.useMemo(()=>w,Object.values(w));return c.jsx(b.Provider,{value:j,children:g})};u.displayName=s+"Provider";function d(f,m){var b;const g=((b=m==null?void 0:m[t])==null?void 0:b[l])||i,w=h.useContext(g);if(w)return w;if(a!==void 0)return a;throw new Error(`\`${f}\` must be used within \`${s}\``)}return[u,d]}const o=()=>{const s=n.map(a=>h.createContext(a));return function(i){const l=(i==null?void 0:i[t])||s;return h.useMemo(()=>({[`__scope${t}`]:{...i,[t]:l}}),[i,l])}};return o.scopeName=t,[r,TFe(o,...e)]}function TFe(...t){const e=t[0];if(t.length===1)return e;const n=()=>{const r=t.map(o=>({useScope:o(),scopeName:o.scopeName}));return function(s){const a=r.reduce((i,{useScope:l,scopeName:u})=>{const f=l(s)[`__scope${u}`];return{...i,...f}},{});return h.useMemo(()=>({[`__scope${e.scopeName}`]:a}),[a])}};return n.scopeName=e.scopeName,n}function FY(t,e){if(typeof t=="function")return t(e);t!=null&&(t.current=e)}function Vie(...t){return e=>{let n=!1;const r=t.map(o=>{const s=FY(o,e);return!n&&typeof s=="function"&&(n=!0),s});if(n)return()=>{for(let o=0;o<r.length;o++){const s=r[o];typeof s=="function"?s():FY(t[o],null)}}}}function Hie(...t){return h.useCallback(Vie(...t),t)}function DFe(t,e,{checkForDefaultPrevented:n=!0}={}){return function(o){if(t==null||t(o),n===!1||!o.defaultPrevented)return e==null?void 0:e(o)}}var LFe=h.forwardRef((t,e)=>{const{children:n,...r}=t,o=h.Children.toArray(n),s=o.find(PFe);if(s){const a=s.props.children,i=o.map(l=>l===s?h.Children.count(a)>1?h.Children.only(null):h.isValidElement(a)?a.props.children:null:l);return c.jsx(q8,{...r,ref:e,children:h.isValidElement(a)?h.cloneElement(a,void 0,i):null})}return c.jsx(q8,{...r,ref:e,children:n})});LFe.displayName="Slot";var q8=h.forwardRef((t,e)=>{const{children:n,...r}=t;if(h.isValidElement(n)){const o=zFe(n);return h.cloneElement(n,{...OFe(r,n.props),ref:e?Vie(e,o):o})}return h.Children.count(n)>1?h.Children.only(null):null});q8.displayName="SlotClone";var Wie=({children:t})=>c.jsx(c.Fragment,{children:t});function PFe(t){return h.isValidElement(t)&&t.type===Wie}function OFe(t,e){const n={...e};for(const r in e){const o=t[r],s=e[r];/^on[A-Z]/.test(r)?o&&s?n[r]=(...i)=>{s(...i),o(...i)}:o&&(n[r]=o):r==="style"?n[r]={...o,...s}:r==="className"&&(n[r]=[o,s].filter(Boolean).join(" "))}return{...t,...n}}function zFe(t){var r,o;let e=(r=Object.getOwnPropertyDescriptor(t.props,"ref"))==null?void 0:r.get,n=e&&"isReactWarning"in e&&e.isReactWarning;return n?t.ref:(e=(o=Object.getOwnPropertyDescriptor(t,"ref"))==null?void 0:o.get,n=e&&"isReactWarning"in e&&e.isReactWarning,n?t.props.ref:t.props.ref||t.ref)}var Yie="AlertDialog",[FFe]=RFe(Yie,[jse]),kd=jse(),Gie=t=>{const{__scopeAlertDialog:e,...n}=t,r=kd(e);return c.jsx(vS,{...r,...n,modal:!0})};Gie.displayName=Yie;var BFe="AlertDialogTrigger",qie=h.forwardRef((t,e)=>{const{__scopeAlertDialog:n,...r}=t,o=kd(n);return c.jsx(tL,{...o,...r,ref:e})});qie.displayName=BFe;var UFe="AlertDialogPortal",Kie=t=>{const{__scopeAlertDialog:e,...n}=t,r=kd(e);return c.jsx(wS,{...r,...n})};Kie.displayName=UFe;var $Fe="AlertDialogOverlay",Zie=h.forwardRef((t,e)=>{const{__scopeAlertDialog:n,...r}=t,o=kd(n);return c.jsx(Zy,{...o,...r,ref:e})});Zie.displayName=$Fe;var W0="AlertDialogContent",[VFe,HFe]=FFe(W0),Qie=h.forwardRef((t,e)=>{const{__scopeAlertDialog:n,children:r,...o}=t,s=kd(n),a=h.useRef(null),i=Hie(e,a),l=h.useRef(null);return c.jsx(r7e,{contentName:W0,titleName:Jie,docsSlug:"alert-dialog",children:c.jsx(VFe,{scope:n,cancelRef:l,children:c.jsxs(Qy,{role:"alertdialog",...s,...o,ref:i,onOpenAutoFocus:DFe(o.onOpenAutoFocus,u=>{var d;u.preventDefault(),(d=l.current)==null||d.focus({preventScroll:!0})}),onPointerDownOutside:u=>u.preventDefault(),onInteractOutside:u=>u.preventDefault(),children:[c.jsx(Wie,{children:r}),c.jsx(YFe,{contentRef:a})]})})})});Qie.displayName=W0;var Jie="AlertDialogTitle",Xie=h.forwardRef((t,e)=>{const{__scopeAlertDialog:n,...r}=t,o=kd(n);return c.jsx(Jy,{...o,...r,ref:e})});Xie.displayName=Jie;var ele="AlertDialogDescription",tle=h.forwardRef((t,e)=>{const{__scopeAlertDialog:n,...r}=t,o=kd(n);return c.jsx(Xy,{...o,...r,ref:e})});tle.displayName=ele;var WFe="AlertDialogAction",nle=h.forwardRef((t,e)=>{const{__scopeAlertDialog:n,...r}=t,o=kd(n);return c.jsx(X2,{...o,...r,ref:e})});nle.displayName=WFe;var rle="AlertDialogCancel",ole=h.forwardRef((t,e)=>{const{__scopeAlertDialog:n,...r}=t,{cancelRef:o}=HFe(rle,n),s=kd(n),a=Hie(e,o);return c.jsx(X2,{...s,...r,ref:a})});ole.displayName=rle;var YFe=({contentRef:t})=>{const e=`\`${W0}\` requires a description for the component to be accessible for screen reader users.
2046
2047 You can add a description to the \`${W0}\` by passing a \`${ele}\` component as a child, which also benefits sighted users by adding visible context to the dialog.
2048
2049 Alternatively, you can use your own component as a description by assigning it an \`id\` and passing the same value to the \`aria-describedby\` prop in \`${W0}\`. If the description is confusing or duplicative for sighted users, you can use the \`@radix-ui/react-visually-hidden\` primitive as a wrapper around your description component.
2050
2051 For more information, see https://radix-ui.com/primitives/docs/components/alert-dialog`;return h.useEffect(()=>{var r;document.getElementById((r=t.current)==null?void 0:r.getAttribute("aria-describedby"))||console.warn(e)},[e,t]),null},GFe=Gie,qFe=qie,KFe=Kie,sle=Zie,ale=Qie,ile=nle,lle=ole,cle=Xie,ule=tle;const af=GFe,Ng=qFe,ZFe=KFe,fle=h.forwardRef(({className:t,...e},n)=>c.jsx(sle,{className:Re("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",t),...e,ref:n}));fle.displayName=sle.displayName;const nu=h.forwardRef(({className:t,...e},n)=>c.jsxs(ZFe,{children:[c.jsx(fle,{}),c.jsx(ale,{ref:n,className:Re("fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg",t),...e})]}));nu.displayName=ale.displayName;const ru=({className:t,...e})=>c.jsx("div",{className:Re("flex flex-col space-y-2 text-center sm:text-left",t),...e});ru.displayName="AlertDialogHeader";const ou=({className:t,...e})=>c.jsx("div",{className:Re("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",t),...e});ou.displayName="AlertDialogFooter";const su=h.forwardRef(({className:t,...e},n)=>c.jsx(cle,{ref:n,className:Re("text-lg font-semibold",t),...e}));su.displayName=cle.displayName;const au=h.forwardRef(({className:t,...e},n)=>c.jsx(ule,{ref:n,className:Re("text-sm text-muted-foreground",t),...e}));au.displayName=ule.displayName;const lf=h.forwardRef(({className:t,variant:e,size:n,...r},o)=>c.jsx(ile,{ref:o,className:Re(dL({variant:e,size:n,className:t})),...r}));lf.displayName=ile.displayName;const cf=h.forwardRef(({className:t,...e},n)=>c.jsx(lle,{ref:n,className:Re(dL({variant:"outline"}),"mt-2 sm:mt-0",t),...e}));cf.displayName=lle.displayName;class dle{constructor(e){this.deps=e}async findByOwner(e){const n=await kt.getReplaceableEvent(e.hex,Ue.Contacts);if(n){const o=bB(n);if(o)return o}const r=await ze.fetchFollowListEvent(e.hex,!0);return r?bB(r):null}async save(e){const n=e.toDraftEvent(),r=await this.deps.publish(n);await kt.putReplaceableEvent(r),await ze.updateFollowListCache(r)}async saveAndGetEvent(e){const n=e.toDraftEvent(),r=await this.deps.publish(n);return await kt.putReplaceableEvent(r),await ze.updateFollowListCache(r),r}}class ple{constructor(e){this.deps=e}async findByOwner(e){let r=await kt.getReplaceableEvent(e.hex,Ue.Mutelist);if(r||(r=await ze.fetchMuteListEvent(e.hex)),!r)return null;let o=[];if(r.pubkey===this.deps.currentUserPubkey&&r.content)try{const s=`mute:${r.id}`;let a=await kt.getDecryptedContent(s);a||(a=await this.deps.decrypt(r.content,r.pubkey),await kt.putDecryptedContent(s,a)),o=JSON.parse(a)}catch{}return nke(r,o)}async save(e){const n=e.toPrivateTags();let r="";if(n.length>0){const a=JSON.stringify(n);r=await this.deps.encrypt(a,this.deps.currentUserPubkey)}const o=e.toDraftEvent(r),s=await this.deps.publish(o);if(await kt.putReplaceableEvent(s),r){const a=`mute:${s.id}`;await kt.putDecryptedContent(a,JSON.stringify(n))}}}class hle{constructor(e){this.deps=e}async findByOwner(e){let r=await kt.getReplaceableEvent(e.hex,gt.PINNED_USERS);if(r||(r=await ze.fetchPinnedUsersList(e.hex)),!r)return null;const o=eke(r);if(!o)return null;if(r.pubkey===this.deps.currentUserPubkey&&r.content)try{const s=`pinned:${r.id}`;let a=await kt.getDecryptedContent(s);a||(a=await this.deps.decrypt(r.content,r.pubkey),await kt.putDecryptedContent(s,a));const i=JSON.parse(a);o.setPrivatePins(i)}catch{}return o}async save(e){const n=e.toPrivateTags();let r="";if(n.length>0){const a=JSON.stringify(n);r=await this.deps.encrypt(a,this.deps.currentUserPubkey)}e.setEncryptedContent(r);const o=e.toDraftEvent(),s=await this.deps.publish(o);if(await kt.putReplaceableEvent(s),r){const a=`pinned:${s.id}`;await kt.putDecryptedContent(a,JSON.stringify(n))}}async saveAndGetEvent(e){const n=e.toPrivateTags();let r="";if(n.length>0){const a=JSON.stringify(n);r=await this.deps.encrypt(a,this.deps.currentUserPubkey)}e.setEncryptedContent(r);const o=e.toDraftEvent(),s=await this.deps.publish(o);if(await kt.putReplaceableEvent(s),r){const a=`pinned:${s.id}`;await kt.putDecryptedContent(a,JSON.stringify(n))}return{event:s,privateTags:n}}}const mle=h.createContext(void 0),Gg=()=>{const t=h.useContext(mle);if(!t)throw new Error("useFollowList must be used within a FollowListProvider");return t};function QFe({children:t}){const{t:e}=qe(),{pubkey:n,publish:r}=wt(),[o,s]=h.useState(null),[a,i]=h.useState(!1),l=h.useMemo(()=>r?new dle({publish:r}):null,[r]),u=h.useMemo(()=>o?tke(o):new Set,[o]);h.useEffect(()=>{(async()=>{if(!n||!l){s(null);return}i(!0);try{const g=Ut.tryFromString(n);if(!g){s(null);return}const w=await l.findByOwner(g);s(w)}catch(g){console.error("Failed to load follow list:",g),s(null)}finally{i(!1)}})()},[n,l]);const d=h.useCallback(async m=>{if(!n||!l)return;const g=Ut.tryFromString(n),w=Ut.tryFromString(m);if(!(!g||!w))try{const b=await l.findByOwner(g);if(!b&&!confirm(e("FollowListNotFoundConfirmation")))return;const j=b??L0.empty(g);if(j.follow(w).type==="no_change")return;await l.save(j),s(j)}catch(b){if(b instanceof gee)return;throw console.error("Failed to follow:",b),b}},[n,l,e]),f=h.useCallback(async m=>{if(!n||!l)return;const g=Ut.tryFromString(n),w=Ut.tryFromString(m);if(!(!g||!w))try{const b=await l.findByOwner(g);if(!b||b.unfollow(w).type==="no_change")return;await l.save(b),s(b)}catch(b){throw console.error("Failed to unfollow:",b),b}},[n,l]);return c.jsx(mle.Provider,{value:{followingSet:u,followList:o,isLoading:a,follow:d,unfollow:f},children:t})}function RL({pubkey:t}){const{t:e}=qe(),{pubkey:n,checkLogin:r}=wt(),{followingSet:o,follow:s,unfollow:a}=Gg(),[i,l]=h.useState(!1),[u,d]=h.useState(!1),f=h.useMemo(()=>o.has(t),[o,t]);if(!n||t&&t===n)return null;const m=async w=>{w.stopPropagation(),r(async()=>{if(!f){l(!0);try{await s(t)}catch(b){on.error(e("Follow failed")+": "+b.message)}finally{l(!1)}}})},g=async w=>{w.stopPropagation(),r(async()=>{if(f){l(!0);try{await a(t)}catch(b){on.error(e("Unfollow failed")+": "+b.message)}finally{l(!1)}}})};return f?c.jsx("div",{onClick:w=>w.stopPropagation(),children:c.jsxs(af,{children:[c.jsx(Ng,{asChild:!0,children:c.jsx(Le,{className:"rounded-full min-w-28",variant:u?"destructive":"secondary",disabled:i,onMouseEnter:()=>d(!0),onMouseLeave:()=>d(!1),children:i?c.jsx(_r,{className:"animate-spin"}):e(u?"Unfollow":"buttonFollowing")})}),c.jsxs(nu,{children:[c.jsxs(ru,{children:[c.jsxs(su,{children:[e("Unfollow"),"?"]}),c.jsx(au,{children:e("Are you sure you want to unfollow this user?")})]}),c.jsxs(ou,{children:[c.jsx(cf,{children:e("Cancel")}),c.jsx(lf,{onClick:g,variant:"destructive",children:e("Unfollow")})]})]})]})}):c.jsx(Le,{className:"rounded-full min-w-28",onClick:m,disabled:i,children:i?c.jsx(_r,{className:"animate-spin"}):e("Follow")})}var V3={exports:{}},JFe=V3.exports,BY;function XFe(){return BY||(BY=1,(function(t){(function(e,n){t.exports?t.exports=n():e.UriTemplate=n()})(JFe,function(){var e={"+":!0,"#":!0,".":!0,"/":!0,";":!0,"?":!0,"&":!0},n={"*":!0};function r(i){return encodeURI(i).replace(/%25[0-9][0-9]/g,function(l){return"%"+l.substring(3)})}function o(i){return i=i.replace(/%../g,""),encodeURIComponent(i)===i}function s(i){var l="";e[i.charAt(0)]&&(l=i.charAt(0),i=i.substring(1));var u="",d="",f=!0,m=!1,g=!1;l=="+"?f=!1:l=="."?(d=".",u="."):l=="/"?(d="/",u="/"):l=="#"?(d="#",f=!1):l==";"?(d=";",u=";",m=!0,g=!0):l=="?"?(d="?",u="&",m=!0):l=="&"&&(d="&",u="&",m=!0);for(var w=[],b=i.split(","),j=[],S={},I=0;I<b.length;I++){var N=b[I],M=null;if(N.indexOf(":")!=-1){var D=N.split(":");N=D[0],M=parseInt(D[1])}for(var O={};n[N.charAt(N.length-1)];)O[N.charAt(N.length-1)]=!0,N=N.substring(0,N.length-1);var L={truncate:M,name:N,suffices:O};j.push(L),S[N]=L,w.push(N)}var B=function(R){for(var z="",Y=0,Q=0;Q<j.length;Q++){var W=j[Q],F=R(W.name);if(F==null||Array.isArray(F)&&F.length==0||typeof F=="object"&&Object.keys(F).length==0){Y++;continue}if(Q==Y?z+=d:z+=u||",",Array.isArray(F)){m&&(z+=W.name+"=");for(var X=0;X<F.length;X++)X>0&&(z+=W.suffices["*"]&&u||",",W.suffices["*"]&&m&&(z+=W.name+"=")),z+=f?encodeURIComponent(F[X]).replace(/!/g,"%21"):r(F[X])}else if(typeof F=="object"){m&&!W.suffices["*"]&&(z+=W.name+"=");var $=!0;for(var V in F)$||(z+=W.suffices["*"]&&u||","),$=!1,z+=f?encodeURIComponent(V).replace(/!/g,"%21"):r(V),z+=W.suffices["*"]?"=":",",z+=f?encodeURIComponent(F[V]).replace(/!/g,"%21"):r(F[V])}else m&&(z+=W.name,(!g||F!="")&&(z+="=")),W.truncate!=null&&(F=F.substring(0,W.truncate)),z+=f?encodeURIComponent(F).replace(/!/g,"%21"):r(F)}return z},T=function(R,z,Y){if(d&&(R=R.substring(d.length)),j.length==1&&j[0].suffices["*"]){for(var Q=j[0],W=Q.name,F=Q.suffices["*"]?R.split(u||","):[R],X=f&&R.indexOf("=")!=-1,$=1;$<F.length;$++){var R=F[$];X&&R.indexOf("=")==-1&&(F[$-1]+=(u||",")+R,F.splice($,1),$--)}for(var $=0;$<F.length;$++){var R=F[$];f&&R.indexOf("=")!=-1&&(X=!0);var V=R.split(",");V.length==1?F[$]=V[0]:F[$]=V}if(m||X){for(var K=z[W]||{},G=0;G<F.length;G++){var J=R;if(!(m&&!J)){if(typeof F[G]=="string"){var R=F[G],ne=R.split("=",1)[0],R=R.substring(ne.length+1);if(f){if(Y&&!o(R))return;R=decodeURIComponent(R)}J=R}else{var R=F[G][0],ne=R.split("=",1)[0],R=R.substring(ne.length+1);if(f){if(Y&&!o(R))return;R=decodeURIComponent(R)}F[G][0]=R,J=F[G]}if(f){if(Y&&!o(ne))return;ne=decodeURIComponent(ne)}K[ne]!==void 0?Array.isArray(K[ne])?K[ne].push(J):K[ne]=[K[ne],J]:K[ne]=J}}Object.keys(K).length==1&&K[W]!==void 0?z[W]=K[W]:z[W]=K}else{if(f)for(var G=0;G<F.length;G++){var V=F[G];if(Array.isArray(V))for(var re=0;re<V.length;re++){if(Y&&!o(V[re]))return;V[re]=decodeURIComponent(V[re])}else{if(Y&&!o(V))return;F[G]=decodeURIComponent(V)}}z[W]!==void 0?Array.isArray(z[W])?z[W]=z[W].concat(F):z[W]=[z[W]].concat(F):F.length==1&&!Q.suffices["*"]?z[W]=F[0]:z[W]=F}}else{for(var F=j.length==1?[R]:R.split(u||","),de={},$=0;$<F.length;$++){for(var Ne=0;Ne<j.length-1&&Ne<$&&!j[Ne].suffices["*"];Ne++);if(Ne==$){de[$]=$;continue}else{for(var ve=j.length-1;ve>0&&j.length-ve<F.length-$&&!j[ve].suffices["*"];ve--);if(j.length-ve==F.length-$){de[$]=ve;continue}}de[$]=Ne}for(var $=0;$<F.length;$++){var R=F[$];if(!(!R&&m)){var V=R.split(","),X=!1;if(m){var R=V[0],W=R.split("=",1)[0],R=R.substring(W.length+1);V[0]=R;var Q=S[W]||j[0]}else var Q=j[de[$]],W=Q.name;for(var G=0;G<V.length;G++)if(f){if(Y&&!o(V[G]))return;V[G]=decodeURIComponent(V[G])}(m||Q.suffices["*"])&&z[W]!==void 0?Array.isArray(z[W])?z[W]=z[W].concat(V):z[W]=[z[W]].concat(V):V.length==1&&!Q.suffices["*"]?z[W]=V[0]:z[W]=V}}}return 1};return{varNames:w,prefix:d,substitution:B,unSubstitution:T}}function a(i){if(!(this instanceof a))return new a(i);for(var l=i.split("{"),u=[l.shift()],d=[],f=[],m=[],g=[];l.length>0;){var w=l.shift(),b=w.split("}")[0],j=w.substring(b.length+1),S=s(b);f.push(S.substitution),m.push(S.unSubstitution),d.push(S.prefix),u.push(j),g=g.concat(S.varNames)}this.fill=function(I){if(I&&typeof I!="function"){var N=I;I=function(L){return N[L]}}for(var M=u[0],D=0;D<f.length;D++){var O=f[D];M+=O(I),M+=u[D+1]}return M},this.fromUri=function(I,N){N=N||{};for(var M={},D=0;D<u.length;D++){var O=u[D];if(I.substring(0,O.length)!==O)return;if(I=I.substring(O.length),D>=u.length-1){if(I=="")break;return}var L=d[D];if(!(L&&I.substring(0,L.length)!==L)){for(var B=u[D+1],T=D;;){if(T==u.length-2){var R=I.substring(I.length-B.length);if(R!==B)return;var z=I.substring(0,I.length-B.length);I=R}else if(B){var Y=I.indexOf(B),z=I.substring(0,Y);I=I.substring(Y)}else if(d[T+1]){var Y=I.indexOf(d[T+1]);Y===-1&&(Y=I.length);var z=I.substring(0,Y);I=I.substring(Y)}else if(u.length>T+2){T++,B=u[T+1];continue}else{var z=I;I=""}break}if(!m[D](z,M,N.strict))return}}return M},this.varNames=g,this.template=i}return a.prototype={toString:function(){return this.template},fillFromObject:function(i){return this.fill(i)},test:function(i,l){return!!this.fromUri(i,l)}},a})})(V3)),V3.exports}var eBe=XFe();const tBe=rc(eBe);function nBe(t,e){const n=new URL(e);return tBe(t).fill({href:n.href,origin:n.origin,protocol:n.protocol,username:n.username,password:n.password,host:n.host,hostname:n.hostname,port:n.port,pathname:n.pathname,hash:n.hash,search:n.search})}const gle=h.createContext(void 0),lo=()=>{const t=h.useContext(gle);if(!t)throw new Error("useContentPolicy must be used within an ContentPolicyProvider");return t};function rBe({children:t}){var O;const[e,n]=h.useState(Xe.getNsfwDisplayPolicy()),[r,o]=h.useState(Xe.getHideContentMentioningMutedUsers()),[s,a]=h.useState(Xe.getMediaAutoLoadPolicy()),[i,l]=h.useState(Xe.getFaviconUrlTemplate()),[u,d]=h.useState(Xe.getVerboseLogging()),[f,m]=h.useState(Xe.getEnableMarkdown()),[g,w]=h.useState((O=navigator.connection)==null?void 0:O.type);h.useEffect(()=>{const L=navigator.connection;if(!L){w(void 0);return}const B=()=>{w(L.type)};return L.addEventListener("change",B),()=>{L.removeEventListener("change",B)}},[]);const b=h.useMemo(()=>s===Hu.ALWAYS?!0:s===Hu.NEVER?!1:g==="wifi"||g==="ethernet",[s,g]),j=L=>{Xe.setNsfwDisplayPolicy(L),n(L),kr()},S=L=>{Xe.setHideContentMentioningMutedUsers(L),o(L),kr()},I=L=>{Xe.setMediaAutoLoadPolicy(L),a(L),kr()},N=L=>{Xe.setFaviconUrlTemplate(L),l(L),kr()},M=L=>{Xe.setVerboseLogging(L),d(L),kr()},D=L=>{Xe.setEnableMarkdown(L),m(L),kr()};return c.jsx(gle.Provider,{value:{nsfwDisplayPolicy:e,setNsfwDisplayPolicy:j,hideContentMentioningMutedUsers:r,setHideContentMentioningMutedUsers:S,autoLoadMedia:b,mediaAutoLoadPolicy:s,setMediaAutoLoadPolicy:I,faviconUrlTemplate:i,setFaviconUrlTemplate:N,verboseLogging:u,setVerboseLogging:M,enableMarkdown:f,setEnableMarkdown:D},children:t})}function TL({domain:t,className:e,fallback:n=null}){const{faviconUrlTemplate:r}=lo(),[o,s]=h.useState(!0),[a,i]=h.useState(!1);if(a)return n;const l=nBe(r,`https://${t}`);return c.jsxs("div",{className:Re("relative",e),children:[o&&c.jsx("div",{className:Re("absolute inset-0",e),children:n}),c.jsx("img",{src:l,alt:t,className:Re("absolute inset-0",o&&"opacity-0",e),onError:()=>i(!0),onLoad:()=>s(!1)})]})}function dc({pubkey:t,append:e}){const{profile:n}=ua(t),{nip05IsVerified:r,nip05Name:o,nip05Domain:s,isFetching:a}=Wze(n==null?void 0:n.nip05,t);return a?c.jsx("div",{className:"flex items-center py-1",children:c.jsx(Ln,{className:"h-3 w-16"})}):!(n!=null&&n.nip05)||!o||!s?null:c.jsxs("div",{className:"flex items-center gap-1 truncate [&_svg]:!size-3.5 [&_svg]:shrink-0",onClick:i=>i.stopPropagation(),children:[o!=="_"?c.jsxs("span",{className:"text-sm text-muted-foreground truncate",children:["@",o]}):null,r?c.jsx(TL,{domain:s,className:"w-3.5 h-3.5 rounded-full",fallback:c.jsx(h7e,{className:"text-primary"})}):c.jsx(p7e,{className:"text-muted-foreground"}),c.jsx(tc,{to:zS({domain:s}),className:`hover:underline truncate text-sm ${r?"text-primary":"text-muted-foreground"}`,children:s}),e&&c.jsx("span",{className:"text-sm text-muted-foreground truncate",children:e})]})}var H3={exports:{}},oBe=H3.exports,UY;function sBe(){return UY||(UY=1,(function(t,e){(function(n,r){t.exports=r()})(oBe,(()=>(()=>{var n={873:(a,i)=>{var l,u,d=(function(){var f=function(W,F){var X=W,$=S[F],V=null,K=0,G=null,J=[],ne={},re=function(le,he){V=(function(we){for(var Ae=new Array(we),Ve=0;Ve<we;Ve+=1){Ae[Ve]=new Array(we);for(var Ze=0;Ze<we;Ze+=1)Ae[Ve][Ze]=null}return Ae})(K=4*X+17),de(0,0),de(K-7,0),de(0,K-7),ve(),Ne(),ce(le,he),X>=7&&xe(le),G==null&&(G=me(X,$,J)),pe(G,he)},de=function(le,he){for(var we=-1;we<=7;we+=1)if(!(le+we<=-1||K<=le+we))for(var Ae=-1;Ae<=7;Ae+=1)he+Ae<=-1||K<=he+Ae||(V[le+we][he+Ae]=0<=we&&we<=6&&(Ae==0||Ae==6)||0<=Ae&&Ae<=6&&(we==0||we==6)||2<=we&&we<=4&&2<=Ae&&Ae<=4)},Ne=function(){for(var le=8;le<K-8;le+=1)V[le][6]==null&&(V[le][6]=le%2==0);for(var he=8;he<K-8;he+=1)V[6][he]==null&&(V[6][he]=he%2==0)},ve=function(){for(var le=I.getPatternPosition(X),he=0;he<le.length;he+=1)for(var we=0;we<le.length;we+=1){var Ae=le[he],Ve=le[we];if(V[Ae][Ve]==null)for(var Ze=-2;Ze<=2;Ze+=1)for(var nt=-2;nt<=2;nt+=1)V[Ae+Ze][Ve+nt]=Ze==-2||Ze==2||nt==-2||nt==2||Ze==0&&nt==0}},xe=function(le){for(var he=I.getBCHTypeNumber(X),we=0;we<18;we+=1){var Ae=!le&&(he>>we&1)==1;V[Math.floor(we/3)][we%3+K-8-3]=Ae}for(we=0;we<18;we+=1)Ae=!le&&(he>>we&1)==1,V[we%3+K-8-3][Math.floor(we/3)]=Ae},ce=function(le,he){for(var we=$<<3|he,Ae=I.getBCHTypeInfo(we),Ve=0;Ve<15;Ve+=1){var Ze=!le&&(Ae>>Ve&1)==1;Ve<6?V[Ve][8]=Ze:Ve<8?V[Ve+1][8]=Ze:V[K-15+Ve][8]=Ze}for(Ve=0;Ve<15;Ve+=1)Ze=!le&&(Ae>>Ve&1)==1,Ve<8?V[8][K-Ve-1]=Ze:Ve<9?V[8][15-Ve-1+1]=Ze:V[8][15-Ve-1]=Ze;V[K-8][8]=!le},pe=function(le,he){for(var we=-1,Ae=K-1,Ve=7,Ze=0,nt=I.getMaskFunction(he),$e=K-1;$e>0;$e-=2)for($e==6&&($e-=1);;){for(var Ke=0;Ke<2;Ke+=1)if(V[Ae][$e-Ke]==null){var Me=!1;Ze<le.length&&(Me=(le[Ze]>>>Ve&1)==1),nt(Ae,$e-Ke)&&(Me=!Me),V[Ae][$e-Ke]=Me,(Ve-=1)==-1&&(Ze+=1,Ve=7)}if((Ae+=we)<0||K<=Ae){Ae-=we,we=-we;break}}},me=function(le,he,we){for(var Ae=D.getRSBlocks(le,he),Ve=O(),Ze=0;Ze<we.length;Ze+=1){var nt=we[Ze];Ve.put(nt.getMode(),4),Ve.put(nt.getLength(),I.getLengthInBits(nt.getMode(),le)),nt.write(Ve)}var $e=0;for(Ze=0;Ze<Ae.length;Ze+=1)$e+=Ae[Ze].dataCount;if(Ve.getLengthInBits()>8*$e)throw"code length overflow. ("+Ve.getLengthInBits()+">"+8*$e+")";for(Ve.getLengthInBits()+4<=8*$e&&Ve.put(0,4);Ve.getLengthInBits()%8!=0;)Ve.putBit(!1);for(;!(Ve.getLengthInBits()>=8*$e||(Ve.put(236,8),Ve.getLengthInBits()>=8*$e));)Ve.put(17,8);return(function(Ke,Me){for(var et=0,pt=0,ht=0,st=new Array(Me.length),De=new Array(Me.length),se=0;se<Me.length;se+=1){var q=Me[se].dataCount,Z=Me[se].totalCount-q;pt=Math.max(pt,q),ht=Math.max(ht,Z),st[se]=new Array(q);for(var ie=0;ie<st[se].length;ie+=1)st[se][ie]=255&Ke.getBuffer()[ie+et];et+=q;var Ce=I.getErrorCorrectPolynomial(Z),Te=M(st[se],Ce.getLength()-1).mod(Ce);for(De[se]=new Array(Ce.getLength()-1),ie=0;ie<De[se].length;ie+=1){var Se=ie+Te.getLength()-De[se].length;De[se][ie]=Se>=0?Te.getAt(Se):0}}var ye=0;for(ie=0;ie<Me.length;ie+=1)ye+=Me[ie].totalCount;var We=new Array(ye),Ee=0;for(ie=0;ie<pt;ie+=1)for(se=0;se<Me.length;se+=1)ie<st[se].length&&(We[Ee]=st[se][ie],Ee+=1);for(ie=0;ie<ht;ie+=1)for(se=0;se<Me.length;se+=1)ie<De[se].length&&(We[Ee]=De[se][ie],Ee+=1);return We})(Ve,Ae)};ne.addData=function(le,he){var we=null;switch(he=he||"Byte"){case"Numeric":we=L(le);break;case"Alphanumeric":we=B(le);break;case"Byte":we=T(le);break;case"Kanji":we=R(le);break;default:throw"mode:"+he}J.push(we),G=null},ne.isDark=function(le,he){if(le<0||K<=le||he<0||K<=he)throw le+","+he;return V[le][he]},ne.getModuleCount=function(){return K},ne.make=function(){if(X<1){for(var le=1;le<40;le++){for(var he=D.getRSBlocks(le,$),we=O(),Ae=0;Ae<J.length;Ae++){var Ve=J[Ae];we.put(Ve.getMode(),4),we.put(Ve.getLength(),I.getLengthInBits(Ve.getMode(),le)),Ve.write(we)}var Ze=0;for(Ae=0;Ae<he.length;Ae++)Ze+=he[Ae].dataCount;if(we.getLengthInBits()<=8*Ze)break}X=le}re(!1,(function(){for(var nt=0,$e=0,Ke=0;Ke<8;Ke+=1){re(!0,Ke);var Me=I.getLostPoint(ne);(Ke==0||nt>Me)&&(nt=Me,$e=Ke)}return $e})())},ne.createTableTag=function(le,he){le=le||2;var we="";we+='<table style="',we+=" border-width: 0px; border-style: none;",we+=" border-collapse: collapse;",we+=" padding: 0px; margin: "+(he=he===void 0?4*le:he)+"px;",we+='">',we+="<tbody>";for(var Ae=0;Ae<ne.getModuleCount();Ae+=1){we+="<tr>";for(var Ve=0;Ve<ne.getModuleCount();Ve+=1)we+='<td style="',we+=" border-width: 0px; border-style: none;",we+=" border-collapse: collapse;",we+=" padding: 0px; margin: 0px;",we+=" width: "+le+"px;",we+=" height: "+le+"px;",we+=" background-color: ",we+=ne.isDark(Ae,Ve)?"#000000":"#ffffff",we+=";",we+='"/>';we+="</tr>"}return(we+="</tbody>")+"</table>"},ne.createSvgTag=function(le,he,we,Ae){var Ve={};typeof arguments[0]=="object"&&(le=(Ve=arguments[0]).cellSize,he=Ve.margin,we=Ve.alt,Ae=Ve.title),le=le||2,he=he===void 0?4*le:he,(we=typeof we=="string"?{text:we}:we||{}).text=we.text||null,we.id=we.text?we.id||"qrcode-description":null,(Ae=typeof Ae=="string"?{text:Ae}:Ae||{}).text=Ae.text||null,Ae.id=Ae.text?Ae.id||"qrcode-title":null;var Ze,nt,$e,Ke,Me=ne.getModuleCount()*le+2*he,et="";for(Ke="l"+le+",0 0,"+le+" -"+le+",0 0,-"+le+"z ",et+='<svg version="1.1" xmlns="http://www.w3.org/2000/svg"',et+=Ve.scalable?"":' width="'+Me+'px" height="'+Me+'px"',et+=' viewBox="0 0 '+Me+" "+Me+'" ',et+=' preserveAspectRatio="xMinYMin meet"',et+=Ae.text||we.text?' role="img" aria-labelledby="'+ke([Ae.id,we.id].join(" ").trim())+'"':"",et+=">",et+=Ae.text?'<title id="'+ke(Ae.id)+'">'+ke(Ae.text)+"</title>":"",et+=we.text?'<description id="'+ke(we.id)+'">'+ke(we.text)+"</description>":"",et+='<rect width="100%" height="100%" fill="white" cx="0" cy="0"/>',et+='<path d="',nt=0;nt<ne.getModuleCount();nt+=1)for($e=nt*le+he,Ze=0;Ze<ne.getModuleCount();Ze+=1)ne.isDark(nt,Ze)&&(et+="M"+(Ze*le+he)+","+$e+Ke);return(et+='" stroke="transparent" fill="black"/>')+"</svg>"},ne.createDataURL=function(le,he){le=le||2,he=he===void 0?4*le:he;var we=ne.getModuleCount()*le+2*he,Ae=he,Ve=we-he;return Q(we,we,(function(Ze,nt){if(Ae<=Ze&&Ze<Ve&&Ae<=nt&&nt<Ve){var $e=Math.floor((Ze-Ae)/le),Ke=Math.floor((nt-Ae)/le);return ne.isDark(Ke,$e)?0:1}return 1}))},ne.createImgTag=function(le,he,we){le=le||2,he=he===void 0?4*le:he;var Ae=ne.getModuleCount()*le+2*he,Ve="";return Ve+="<img",Ve+=' src="',Ve+=ne.createDataURL(le,he),Ve+='"',Ve+=' width="',Ve+=Ae,Ve+='"',Ve+=' height="',Ve+=Ae,Ve+='"',we&&(Ve+=' alt="',Ve+=ke(we),Ve+='"'),Ve+"/>"};var ke=function(le){for(var he="",we=0;we<le.length;we+=1){var Ae=le.charAt(we);switch(Ae){case"<":he+="<";break;case">":he+=">";break;case"&":he+="&";break;case'"':he+=""";break;default:he+=Ae}}return he};return ne.createASCII=function(le,he){if((le=le||1)<2)return(function(st){st=st===void 0?2:st;var De,se,q,Z,ie,Ce=1*ne.getModuleCount()+2*st,Te=st,Se=Ce-st,ye={"██":"█","█ ":"▀"," █":"▄"," ":" "},We={"██":"▀","█ ":"▀"," █":" "," ":" "},Ee="";for(De=0;De<Ce;De+=2){for(q=Math.floor((De-Te)/1),Z=Math.floor((De+1-Te)/1),se=0;se<Ce;se+=1)ie="█",Te<=se&&se<Se&&Te<=De&&De<Se&&ne.isDark(q,Math.floor((se-Te)/1))&&(ie=" "),Te<=se&&se<Se&&Te<=De+1&&De+1<Se&&ne.isDark(Z,Math.floor((se-Te)/1))?ie+=" ":ie+="█",Ee+=st<1&&De+1>=Se?We[ie]:ye[ie];Ee+=`
2052 `}return Ce%2&&st>0?Ee.substring(0,Ee.length-Ce-1)+Array(Ce+1).join("▀"):Ee.substring(0,Ee.length-1)})(he);le-=1,he=he===void 0?2*le:he;var we,Ae,Ve,Ze,nt=ne.getModuleCount()*le+2*he,$e=he,Ke=nt-he,Me=Array(le+1).join("██"),et=Array(le+1).join(" "),pt="",ht="";for(we=0;we<nt;we+=1){for(Ve=Math.floor((we-$e)/le),ht="",Ae=0;Ae<nt;Ae+=1)Ze=1,$e<=Ae&&Ae<Ke&&$e<=we&&we<Ke&&ne.isDark(Ve,Math.floor((Ae-$e)/le))&&(Ze=0),ht+=Ze?Me:et;for(Ve=0;Ve<le;Ve+=1)pt+=ht+`
2053 `}return pt.substring(0,pt.length-1)},ne.renderTo2dContext=function(le,he){he=he||2;for(var we=ne.getModuleCount(),Ae=0;Ae<we;Ae++)for(var Ve=0;Ve<we;Ve++)le.fillStyle=ne.isDark(Ae,Ve)?"black":"white",le.fillRect(Ae*he,Ve*he,he,he)},ne};f.stringToBytes=(f.stringToBytesFuncs={default:function(W){for(var F=[],X=0;X<W.length;X+=1){var $=W.charCodeAt(X);F.push(255&$)}return F}}).default,f.createStringToBytes=function(W,F){var X=(function(){for(var V=Y(W),K=function(){var Ne=V.read();if(Ne==-1)throw"eof";return Ne},G=0,J={};;){var ne=V.read();if(ne==-1)break;var re=K(),de=K()<<8|K();J[String.fromCharCode(ne<<8|re)]=de,G+=1}if(G!=F)throw G+" != "+F;return J})(),$=63;return function(V){for(var K=[],G=0;G<V.length;G+=1){var J=V.charCodeAt(G);if(J<128)K.push(J);else{var ne=X[V.charAt(G)];typeof ne=="number"?(255&ne)==ne?K.push(ne):(K.push(ne>>>8),K.push(255&ne)):K.push($)}}return K}};var m,g,w,b,j,S={L:1,M:0,Q:3,H:2},I=(m=[[],[6,18],[6,22],[6,26],[6,30],[6,34],[6,22,38],[6,24,42],[6,26,46],[6,28,50],[6,30,54],[6,32,58],[6,34,62],[6,26,46,66],[6,26,48,70],[6,26,50,74],[6,30,54,78],[6,30,56,82],[6,30,58,86],[6,34,62,90],[6,28,50,72,94],[6,26,50,74,98],[6,30,54,78,102],[6,28,54,80,106],[6,32,58,84,110],[6,30,58,86,114],[6,34,62,90,118],[6,26,50,74,98,122],[6,30,54,78,102,126],[6,26,52,78,104,130],[6,30,56,82,108,134],[6,34,60,86,112,138],[6,30,58,86,114,142],[6,34,62,90,118,146],[6,30,54,78,102,126,150],[6,24,50,76,102,128,154],[6,28,54,80,106,132,158],[6,32,58,84,110,136,162],[6,26,54,82,110,138,166],[6,30,58,86,114,142,170]],g=1335,w=7973,j=function(W){for(var F=0;W!=0;)F+=1,W>>>=1;return F},(b={}).getBCHTypeInfo=function(W){for(var F=W<<10;j(F)-j(g)>=0;)F^=g<<j(F)-j(g);return 21522^(W<<10|F)},b.getBCHTypeNumber=function(W){for(var F=W<<12;j(F)-j(w)>=0;)F^=w<<j(F)-j(w);return W<<12|F},b.getPatternPosition=function(W){return m[W-1]},b.getMaskFunction=function(W){switch(W){case 0:return function(F,X){return(F+X)%2==0};case 1:return function(F,X){return F%2==0};case 2:return function(F,X){return X%3==0};case 3:return function(F,X){return(F+X)%3==0};case 4:return function(F,X){return(Math.floor(F/2)+Math.floor(X/3))%2==0};case 5:return function(F,X){return F*X%2+F*X%3==0};case 6:return function(F,X){return(F*X%2+F*X%3)%2==0};case 7:return function(F,X){return(F*X%3+(F+X)%2)%2==0};default:throw"bad maskPattern:"+W}},b.getErrorCorrectPolynomial=function(W){for(var F=M([1],0),X=0;X<W;X+=1)F=F.multiply(M([1,N.gexp(X)],0));return F},b.getLengthInBits=function(W,F){if(1<=F&&F<10)switch(W){case 1:return 10;case 2:return 9;case 4:case 8:return 8;default:throw"mode:"+W}else if(F<27)switch(W){case 1:return 12;case 2:return 11;case 4:return 16;case 8:return 10;default:throw"mode:"+W}else{if(!(F<41))throw"type:"+F;switch(W){case 1:return 14;case 2:return 13;case 4:return 16;case 8:return 12;default:throw"mode:"+W}}},b.getLostPoint=function(W){for(var F=W.getModuleCount(),X=0,$=0;$<F;$+=1)for(var V=0;V<F;V+=1){for(var K=0,G=W.isDark($,V),J=-1;J<=1;J+=1)if(!($+J<0||F<=$+J))for(var ne=-1;ne<=1;ne+=1)V+ne<0||F<=V+ne||J==0&&ne==0||G==W.isDark($+J,V+ne)&&(K+=1);K>5&&(X+=3+K-5)}for($=0;$<F-1;$+=1)for(V=0;V<F-1;V+=1){var re=0;W.isDark($,V)&&(re+=1),W.isDark($+1,V)&&(re+=1),W.isDark($,V+1)&&(re+=1),W.isDark($+1,V+1)&&(re+=1),re!=0&&re!=4||(X+=3)}for($=0;$<F;$+=1)for(V=0;V<F-6;V+=1)W.isDark($,V)&&!W.isDark($,V+1)&&W.isDark($,V+2)&&W.isDark($,V+3)&&W.isDark($,V+4)&&!W.isDark($,V+5)&&W.isDark($,V+6)&&(X+=40);for(V=0;V<F;V+=1)for($=0;$<F-6;$+=1)W.isDark($,V)&&!W.isDark($+1,V)&&W.isDark($+2,V)&&W.isDark($+3,V)&&W.isDark($+4,V)&&!W.isDark($+5,V)&&W.isDark($+6,V)&&(X+=40);var de=0;for(V=0;V<F;V+=1)for($=0;$<F;$+=1)W.isDark($,V)&&(de+=1);return X+Math.abs(100*de/F/F-50)/5*10},b),N=(function(){for(var W=new Array(256),F=new Array(256),X=0;X<8;X+=1)W[X]=1<<X;for(X=8;X<256;X+=1)W[X]=W[X-4]^W[X-5]^W[X-6]^W[X-8];for(X=0;X<255;X+=1)F[W[X]]=X;return{glog:function($){if($<1)throw"glog("+$+")";return F[$]},gexp:function($){for(;$<0;)$+=255;for(;$>=256;)$-=255;return W[$]}}})();function M(W,F){if(W.length===void 0)throw W.length+"/"+F;var X=(function(){for(var V=0;V<W.length&&W[V]==0;)V+=1;for(var K=new Array(W.length-V+F),G=0;G<W.length-V;G+=1)K[G]=W[G+V];return K})(),$={getAt:function(V){return X[V]},getLength:function(){return X.length},multiply:function(V){for(var K=new Array($.getLength()+V.getLength()-1),G=0;G<$.getLength();G+=1)for(var J=0;J<V.getLength();J+=1)K[G+J]^=N.gexp(N.glog($.getAt(G))+N.glog(V.getAt(J)));return M(K,0)},mod:function(V){if($.getLength()-V.getLength()<0)return $;for(var K=N.glog($.getAt(0))-N.glog(V.getAt(0)),G=new Array($.getLength()),J=0;J<$.getLength();J+=1)G[J]=$.getAt(J);for(J=0;J<V.getLength();J+=1)G[J]^=N.gexp(N.glog(V.getAt(J))+K);return M(G,0).mod(V)}};return $}var D=(function(){var W=[[1,26,19],[1,26,16],[1,26,13],[1,26,9],[1,44,34],[1,44,28],[1,44,22],[1,44,16],[1,70,55],[1,70,44],[2,35,17],[2,35,13],[1,100,80],[2,50,32],[2,50,24],[4,25,9],[1,134,108],[2,67,43],[2,33,15,2,34,16],[2,33,11,2,34,12],[2,86,68],[4,43,27],[4,43,19],[4,43,15],[2,98,78],[4,49,31],[2,32,14,4,33,15],[4,39,13,1,40,14],[2,121,97],[2,60,38,2,61,39],[4,40,18,2,41,19],[4,40,14,2,41,15],[2,146,116],[3,58,36,2,59,37],[4,36,16,4,37,17],[4,36,12,4,37,13],[2,86,68,2,87,69],[4,69,43,1,70,44],[6,43,19,2,44,20],[6,43,15,2,44,16],[4,101,81],[1,80,50,4,81,51],[4,50,22,4,51,23],[3,36,12,8,37,13],[2,116,92,2,117,93],[6,58,36,2,59,37],[4,46,20,6,47,21],[7,42,14,4,43,15],[4,133,107],[8,59,37,1,60,38],[8,44,20,4,45,21],[12,33,11,4,34,12],[3,145,115,1,146,116],[4,64,40,5,65,41],[11,36,16,5,37,17],[11,36,12,5,37,13],[5,109,87,1,110,88],[5,65,41,5,66,42],[5,54,24,7,55,25],[11,36,12,7,37,13],[5,122,98,1,123,99],[7,73,45,3,74,46],[15,43,19,2,44,20],[3,45,15,13,46,16],[1,135,107,5,136,108],[10,74,46,1,75,47],[1,50,22,15,51,23],[2,42,14,17,43,15],[5,150,120,1,151,121],[9,69,43,4,70,44],[17,50,22,1,51,23],[2,42,14,19,43,15],[3,141,113,4,142,114],[3,70,44,11,71,45],[17,47,21,4,48,22],[9,39,13,16,40,14],[3,135,107,5,136,108],[3,67,41,13,68,42],[15,54,24,5,55,25],[15,43,15,10,44,16],[4,144,116,4,145,117],[17,68,42],[17,50,22,6,51,23],[19,46,16,6,47,17],[2,139,111,7,140,112],[17,74,46],[7,54,24,16,55,25],[34,37,13],[4,151,121,5,152,122],[4,75,47,14,76,48],[11,54,24,14,55,25],[16,45,15,14,46,16],[6,147,117,4,148,118],[6,73,45,14,74,46],[11,54,24,16,55,25],[30,46,16,2,47,17],[8,132,106,4,133,107],[8,75,47,13,76,48],[7,54,24,22,55,25],[22,45,15,13,46,16],[10,142,114,2,143,115],[19,74,46,4,75,47],[28,50,22,6,51,23],[33,46,16,4,47,17],[8,152,122,4,153,123],[22,73,45,3,74,46],[8,53,23,26,54,24],[12,45,15,28,46,16],[3,147,117,10,148,118],[3,73,45,23,74,46],[4,54,24,31,55,25],[11,45,15,31,46,16],[7,146,116,7,147,117],[21,73,45,7,74,46],[1,53,23,37,54,24],[19,45,15,26,46,16],[5,145,115,10,146,116],[19,75,47,10,76,48],[15,54,24,25,55,25],[23,45,15,25,46,16],[13,145,115,3,146,116],[2,74,46,29,75,47],[42,54,24,1,55,25],[23,45,15,28,46,16],[17,145,115],[10,74,46,23,75,47],[10,54,24,35,55,25],[19,45,15,35,46,16],[17,145,115,1,146,116],[14,74,46,21,75,47],[29,54,24,19,55,25],[11,45,15,46,46,16],[13,145,115,6,146,116],[14,74,46,23,75,47],[44,54,24,7,55,25],[59,46,16,1,47,17],[12,151,121,7,152,122],[12,75,47,26,76,48],[39,54,24,14,55,25],[22,45,15,41,46,16],[6,151,121,14,152,122],[6,75,47,34,76,48],[46,54,24,10,55,25],[2,45,15,64,46,16],[17,152,122,4,153,123],[29,74,46,14,75,47],[49,54,24,10,55,25],[24,45,15,46,46,16],[4,152,122,18,153,123],[13,74,46,32,75,47],[48,54,24,14,55,25],[42,45,15,32,46,16],[20,147,117,4,148,118],[40,75,47,7,76,48],[43,54,24,22,55,25],[10,45,15,67,46,16],[19,148,118,6,149,119],[18,75,47,31,76,48],[34,54,24,34,55,25],[20,45,15,61,46,16]],F=function($,V){var K={};return K.totalCount=$,K.dataCount=V,K},X={getRSBlocks:function($,V){var K=(function(xe,ce){switch(ce){case S.L:return W[4*(xe-1)+0];case S.M:return W[4*(xe-1)+1];case S.Q:return W[4*(xe-1)+2];case S.H:return W[4*(xe-1)+3];default:return}})($,V);if(K===void 0)throw"bad rs block @ typeNumber:"+$+"/errorCorrectionLevel:"+V;for(var G=K.length/3,J=[],ne=0;ne<G;ne+=1)for(var re=K[3*ne+0],de=K[3*ne+1],Ne=K[3*ne+2],ve=0;ve<re;ve+=1)J.push(F(de,Ne));return J}};return X})(),O=function(){var W=[],F=0,X={getBuffer:function(){return W},getAt:function($){var V=Math.floor($/8);return(W[V]>>>7-$%8&1)==1},put:function($,V){for(var K=0;K<V;K+=1)X.putBit(($>>>V-K-1&1)==1)},getLengthInBits:function(){return F},putBit:function($){var V=Math.floor(F/8);W.length<=V&&W.push(0),$&&(W[V]|=128>>>F%8),F+=1}};return X},L=function(W){var F=W,X={getMode:function(){return 1},getLength:function(K){return F.length},write:function(K){for(var G=F,J=0;J+2<G.length;)K.put($(G.substring(J,J+3)),10),J+=3;J<G.length&&(G.length-J==1?K.put($(G.substring(J,J+1)),4):G.length-J==2&&K.put($(G.substring(J,J+2)),7))}},$=function(K){for(var G=0,J=0;J<K.length;J+=1)G=10*G+V(K.charAt(J));return G},V=function(K){if("0"<=K&&K<="9")return K.charCodeAt(0)-48;throw"illegal char :"+K};return X},B=function(W){var F=W,X={getMode:function(){return 2},getLength:function(V){return F.length},write:function(V){for(var K=F,G=0;G+1<K.length;)V.put(45*$(K.charAt(G))+$(K.charAt(G+1)),11),G+=2;G<K.length&&V.put($(K.charAt(G)),6)}},$=function(V){if("0"<=V&&V<="9")return V.charCodeAt(0)-48;if("A"<=V&&V<="Z")return V.charCodeAt(0)-65+10;switch(V){case" ":return 36;case"$":return 37;case"%":return 38;case"*":return 39;case"+":return 40;case"-":return 41;case".":return 42;case"/":return 43;case":":return 44;default:throw"illegal char :"+V}};return X},T=function(W){var F=f.stringToBytes(W);return{getMode:function(){return 4},getLength:function(X){return F.length},write:function(X){for(var $=0;$<F.length;$+=1)X.put(F[$],8)}}},R=function(W){var F=f.stringToBytesFuncs.SJIS;if(!F)throw"sjis not supported.";(function(){var V=F("友");if(V.length!=2||(V[0]<<8|V[1])!=38726)throw"sjis not supported."})();var X=F(W),$={getMode:function(){return 8},getLength:function(V){return~~(X.length/2)},write:function(V){for(var K=X,G=0;G+1<K.length;){var J=(255&K[G])<<8|255&K[G+1];if(33088<=J&&J<=40956)J-=33088;else{if(!(57408<=J&&J<=60351))throw"illegal char at "+(G+1)+"/"+J;J-=49472}J=192*(J>>>8&255)+(255&J),V.put(J,13),G+=2}if(G<K.length)throw"illegal char at "+(G+1)}};return $},z=function(){var W=[],F={writeByte:function(X){W.push(255&X)},writeShort:function(X){F.writeByte(X),F.writeByte(X>>>8)},writeBytes:function(X,$,V){$=$||0,V=V||X.length;for(var K=0;K<V;K+=1)F.writeByte(X[K+$])},writeString:function(X){for(var $=0;$<X.length;$+=1)F.writeByte(X.charCodeAt($))},toByteArray:function(){return W},toString:function(){var X="";X+="[";for(var $=0;$<W.length;$+=1)$>0&&(X+=","),X+=W[$];return X+"]"}};return F},Y=function(W){var F=W,X=0,$=0,V=0,K={read:function(){for(;V<8;){if(X>=F.length){if(V==0)return-1;throw"unexpected end of file./"+V}var J=F.charAt(X);if(X+=1,J=="=")return V=0,-1;J.match(/^\s$/)||($=$<<6|G(J.charCodeAt(0)),V+=6)}var ne=$>>>V-8&255;return V-=8,ne}},G=function(J){if(65<=J&&J<=90)return J-65;if(97<=J&&J<=122)return J-97+26;if(48<=J&&J<=57)return J-48+52;if(J==43)return 62;if(J==47)return 63;throw"c:"+J};return K},Q=function(W,F,X){for(var $=(function(de,Ne){var ve=de,xe=Ne,ce=new Array(de*Ne),pe={setPixel:function(le,he,we){ce[he*ve+le]=we},write:function(le){le.writeString("GIF87a"),le.writeShort(ve),le.writeShort(xe),le.writeByte(128),le.writeByte(0),le.writeByte(0),le.writeByte(0),le.writeByte(0),le.writeByte(0),le.writeByte(255),le.writeByte(255),le.writeByte(255),le.writeString(","),le.writeShort(0),le.writeShort(0),le.writeShort(ve),le.writeShort(xe),le.writeByte(0);var he=me(2);le.writeByte(2);for(var we=0;he.length-we>255;)le.writeByte(255),le.writeBytes(he,we,255),we+=255;le.writeByte(he.length-we),le.writeBytes(he,we,he.length-we),le.writeByte(0),le.writeString(";")}},me=function(le){for(var he=1<<le,we=1+(1<<le),Ae=le+1,Ve=ke(),Ze=0;Ze<he;Ze+=1)Ve.add(String.fromCharCode(Ze));Ve.add(String.fromCharCode(he)),Ve.add(String.fromCharCode(we));var nt,$e,Ke,Me=z(),et=(nt=Me,$e=0,Ke=0,{write:function(De,se){if(De>>>se)throw"length over";for(;$e+se>=8;)nt.writeByte(255&(De<<$e|Ke)),se-=8-$e,De>>>=8-$e,Ke=0,$e=0;Ke|=De<<$e,$e+=se},flush:function(){$e>0&&nt.writeByte(Ke)}});et.write(he,Ae);var pt=0,ht=String.fromCharCode(ce[pt]);for(pt+=1;pt<ce.length;){var st=String.fromCharCode(ce[pt]);pt+=1,Ve.contains(ht+st)?ht+=st:(et.write(Ve.indexOf(ht),Ae),Ve.size()<4095&&(Ve.size()==1<<Ae&&(Ae+=1),Ve.add(ht+st)),ht=st)}return et.write(Ve.indexOf(ht),Ae),et.write(we,Ae),et.flush(),Me.toByteArray()},ke=function(){var le={},he=0,we={add:function(Ae){if(we.contains(Ae))throw"dup key:"+Ae;le[Ae]=he,he+=1},size:function(){return he},indexOf:function(Ae){return le[Ae]},contains:function(Ae){return le[Ae]!==void 0}};return we};return pe})(W,F),V=0;V<F;V+=1)for(var K=0;K<W;K+=1)$.setPixel(K,V,X(K,V));var G=z();$.write(G);for(var J=(function(){var de=0,Ne=0,ve=0,xe="",ce={},pe=function(ke){xe+=String.fromCharCode(me(63&ke))},me=function(ke){if(!(ke<0)){if(ke<26)return 65+ke;if(ke<52)return ke-26+97;if(ke<62)return ke-52+48;if(ke==62)return 43;if(ke==63)return 47}throw"n:"+ke};return ce.writeByte=function(ke){for(de=de<<8|255&ke,Ne+=8,ve+=1;Ne>=6;)pe(de>>>Ne-6),Ne-=6},ce.flush=function(){if(Ne>0&&(pe(de<<6-Ne),de=0,Ne=0),ve%3!=0)for(var ke=3-ve%3,le=0;le<ke;le+=1)xe+="="},ce.toString=function(){return xe},ce})(),ne=G.toByteArray(),re=0;re<ne.length;re+=1)J.writeByte(ne[re]);return J.flush(),"data:image/gif;base64,"+J};return f})();d.stringToBytesFuncs["UTF-8"]=function(f){return(function(m){for(var g=[],w=0;w<m.length;w++){var b=m.charCodeAt(w);b<128?g.push(b):b<2048?g.push(192|b>>6,128|63&b):b<55296||b>=57344?g.push(224|b>>12,128|b>>6&63,128|63&b):(w++,b=65536+((1023&b)<<10|1023&m.charCodeAt(w)),g.push(240|b>>18,128|b>>12&63,128|b>>6&63,128|63&b))}return g})(f)},(u=typeof(l=function(){return d})=="function"?l.apply(i,[]):l)===void 0||(a.exports=u)}},r={};function o(a){var i=r[a];if(i!==void 0)return i.exports;var l=r[a]={exports:{}};return n[a](l,l.exports,o),l.exports}o.n=a=>{var i=a&&a.__esModule?()=>a.default:()=>a;return o.d(i,{a:i}),i},o.d=(a,i)=>{for(var l in i)o.o(i,l)&&!o.o(a,l)&&Object.defineProperty(a,l,{enumerable:!0,get:i[l]})},o.o=(a,i)=>Object.prototype.hasOwnProperty.call(a,i);var s={};return(()=>{o.d(s,{default:()=>F});const a=X=>!!X&&typeof X=="object"&&!Array.isArray(X);function i(X,...$){if(!$.length)return X;const V=$.shift();return V!==void 0&&a(X)&&a(V)?(X=Object.assign({},X),Object.keys(V).forEach((K=>{const G=X[K],J=V[K];Array.isArray(G)&&Array.isArray(J)?X[K]=J:a(G)&&a(J)?X[K]=i(Object.assign({},G),J):X[K]=J})),i(X,...$)):X}function l(X,$){const V=document.createElement("a");V.download=$,V.href=X,document.body.appendChild(V),V.click(),document.body.removeChild(V)}const u={L:.07,M:.15,Q:.25,H:.3};class d{constructor({svg:$,type:V,window:K}){this._svg=$,this._type=V,this._window=K}draw($,V,K,G){let J;switch(this._type){case"dots":J=this._drawDot;break;case"classy":J=this._drawClassy;break;case"classy-rounded":J=this._drawClassyRounded;break;case"rounded":J=this._drawRounded;break;case"extra-rounded":J=this._drawExtraRounded;break;default:J=this._drawSquare}J.call(this,{x:$,y:V,size:K,getNeighbor:G})}_rotateFigure({x:$,y:V,size:K,rotation:G=0,draw:J}){var ne;const re=$+K/2,de=V+K/2;J(),(ne=this._element)===null||ne===void 0||ne.setAttribute("transform",`rotate(${180*G/Math.PI},${re},${de})`)}_basicDot($){const{size:V,x:K,y:G}=$;this._rotateFigure(Object.assign(Object.assign({},$),{draw:()=>{this._element=this._window.document.createElementNS("http://www.w3.org/2000/svg","circle"),this._element.setAttribute("cx",String(K+V/2)),this._element.setAttribute("cy",String(G+V/2)),this._element.setAttribute("r",String(V/2))}}))}_basicSquare($){const{size:V,x:K,y:G}=$;this._rotateFigure(Object.assign(Object.assign({},$),{draw:()=>{this._element=this._window.document.createElementNS("http://www.w3.org/2000/svg","rect"),this._element.setAttribute("x",String(K)),this._element.setAttribute("y",String(G)),this._element.setAttribute("width",String(V)),this._element.setAttribute("height",String(V))}}))}_basicSideRounded($){const{size:V,x:K,y:G}=$;this._rotateFigure(Object.assign(Object.assign({},$),{draw:()=>{this._element=this._window.document.createElementNS("http://www.w3.org/2000/svg","path"),this._element.setAttribute("d",`M ${K} ${G}v ${V}h `+V/2+`a ${V/2} ${V/2}, 0, 0, 0, 0 ${-V}`)}}))}_basicCornerRounded($){const{size:V,x:K,y:G}=$;this._rotateFigure(Object.assign(Object.assign({},$),{draw:()=>{this._element=this._window.document.createElementNS("http://www.w3.org/2000/svg","path"),this._element.setAttribute("d",`M ${K} ${G}v ${V}h ${V}v `+-V/2+`a ${V/2} ${V/2}, 0, 0, 0, ${-V/2} ${-V/2}`)}}))}_basicCornerExtraRounded($){const{size:V,x:K,y:G}=$;this._rotateFigure(Object.assign(Object.assign({},$),{draw:()=>{this._element=this._window.document.createElementNS("http://www.w3.org/2000/svg","path"),this._element.setAttribute("d",`M ${K} ${G}v ${V}h ${V}a ${V} ${V}, 0, 0, 0, ${-V} ${-V}`)}}))}_basicCornersRounded($){const{size:V,x:K,y:G}=$;this._rotateFigure(Object.assign(Object.assign({},$),{draw:()=>{this._element=this._window.document.createElementNS("http://www.w3.org/2000/svg","path"),this._element.setAttribute("d",`M ${K} ${G}v `+V/2+`a ${V/2} ${V/2}, 0, 0, 0, ${V/2} ${V/2}h `+V/2+"v "+-V/2+`a ${V/2} ${V/2}, 0, 0, 0, ${-V/2} ${-V/2}`)}}))}_drawDot({x:$,y:V,size:K}){this._basicDot({x:$,y:V,size:K,rotation:0})}_drawSquare({x:$,y:V,size:K}){this._basicSquare({x:$,y:V,size:K,rotation:0})}_drawRounded({x:$,y:V,size:K,getNeighbor:G}){const J=G?+G(-1,0):0,ne=G?+G(1,0):0,re=G?+G(0,-1):0,de=G?+G(0,1):0,Ne=J+ne+re+de;if(Ne!==0)if(Ne>2||J&&ne||re&&de)this._basicSquare({x:$,y:V,size:K,rotation:0});else{if(Ne===2){let ve=0;return J&&re?ve=Math.PI/2:re&&ne?ve=Math.PI:ne&&de&&(ve=-Math.PI/2),void this._basicCornerRounded({x:$,y:V,size:K,rotation:ve})}if(Ne===1){let ve=0;return re?ve=Math.PI/2:ne?ve=Math.PI:de&&(ve=-Math.PI/2),void this._basicSideRounded({x:$,y:V,size:K,rotation:ve})}}else this._basicDot({x:$,y:V,size:K,rotation:0})}_drawExtraRounded({x:$,y:V,size:K,getNeighbor:G}){const J=G?+G(-1,0):0,ne=G?+G(1,0):0,re=G?+G(0,-1):0,de=G?+G(0,1):0,Ne=J+ne+re+de;if(Ne!==0)if(Ne>2||J&&ne||re&&de)this._basicSquare({x:$,y:V,size:K,rotation:0});else{if(Ne===2){let ve=0;return J&&re?ve=Math.PI/2:re&&ne?ve=Math.PI:ne&&de&&(ve=-Math.PI/2),void this._basicCornerExtraRounded({x:$,y:V,size:K,rotation:ve})}if(Ne===1){let ve=0;return re?ve=Math.PI/2:ne?ve=Math.PI:de&&(ve=-Math.PI/2),void this._basicSideRounded({x:$,y:V,size:K,rotation:ve})}}else this._basicDot({x:$,y:V,size:K,rotation:0})}_drawClassy({x:$,y:V,size:K,getNeighbor:G}){const J=G?+G(-1,0):0,ne=G?+G(1,0):0,re=G?+G(0,-1):0,de=G?+G(0,1):0;J+ne+re+de!==0?J||re?ne||de?this._basicSquare({x:$,y:V,size:K,rotation:0}):this._basicCornerRounded({x:$,y:V,size:K,rotation:Math.PI/2}):this._basicCornerRounded({x:$,y:V,size:K,rotation:-Math.PI/2}):this._basicCornersRounded({x:$,y:V,size:K,rotation:Math.PI/2})}_drawClassyRounded({x:$,y:V,size:K,getNeighbor:G}){const J=G?+G(-1,0):0,ne=G?+G(1,0):0,re=G?+G(0,-1):0,de=G?+G(0,1):0;J+ne+re+de!==0?J||re?ne||de?this._basicSquare({x:$,y:V,size:K,rotation:0}):this._basicCornerExtraRounded({x:$,y:V,size:K,rotation:Math.PI/2}):this._basicCornerExtraRounded({x:$,y:V,size:K,rotation:-Math.PI/2}):this._basicCornersRounded({x:$,y:V,size:K,rotation:Math.PI/2})}}const f={dot:"dot",square:"square",extraRounded:"extra-rounded"},m=Object.values(f);class g{constructor({svg:$,type:V,window:K}){this._svg=$,this._type=V,this._window=K}draw($,V,K,G){let J;switch(this._type){case f.square:J=this._drawSquare;break;case f.extraRounded:J=this._drawExtraRounded;break;default:J=this._drawDot}J.call(this,{x:$,y:V,size:K,rotation:G})}_rotateFigure({x:$,y:V,size:K,rotation:G=0,draw:J}){var ne;const re=$+K/2,de=V+K/2;J(),(ne=this._element)===null||ne===void 0||ne.setAttribute("transform",`rotate(${180*G/Math.PI},${re},${de})`)}_basicDot($){const{size:V,x:K,y:G}=$,J=V/7;this._rotateFigure(Object.assign(Object.assign({},$),{draw:()=>{this._element=this._window.document.createElementNS("http://www.w3.org/2000/svg","path"),this._element.setAttribute("clip-rule","evenodd"),this._element.setAttribute("d",`M ${K+V/2} ${G}a ${V/2} ${V/2} 0 1 0 0.1 0zm 0 ${J}a ${V/2-J} ${V/2-J} 0 1 1 -0.1 0Z`)}}))}_basicSquare($){const{size:V,x:K,y:G}=$,J=V/7;this._rotateFigure(Object.assign(Object.assign({},$),{draw:()=>{this._element=this._window.document.createElementNS("http://www.w3.org/2000/svg","path"),this._element.setAttribute("clip-rule","evenodd"),this._element.setAttribute("d",`M ${K} ${G}v ${V}h ${V}v `+-V+`zM ${K+J} ${G+J}h `+(V-2*J)+"v "+(V-2*J)+"h "+(2*J-V)+"z")}}))}_basicExtraRounded($){const{size:V,x:K,y:G}=$,J=V/7;this._rotateFigure(Object.assign(Object.assign({},$),{draw:()=>{this._element=this._window.document.createElementNS("http://www.w3.org/2000/svg","path"),this._element.setAttribute("clip-rule","evenodd"),this._element.setAttribute("d",`M ${K} ${G+2.5*J}v `+2*J+`a ${2.5*J} ${2.5*J}, 0, 0, 0, ${2.5*J} ${2.5*J}h `+2*J+`a ${2.5*J} ${2.5*J}, 0, 0, 0, ${2.5*J} ${2.5*-J}v `+-2*J+`a ${2.5*J} ${2.5*J}, 0, 0, 0, ${2.5*-J} ${2.5*-J}h `+-2*J+`a ${2.5*J} ${2.5*J}, 0, 0, 0, ${2.5*-J} ${2.5*J}M ${K+2.5*J} ${G+J}h `+2*J+`a ${1.5*J} ${1.5*J}, 0, 0, 1, ${1.5*J} ${1.5*J}v `+2*J+`a ${1.5*J} ${1.5*J}, 0, 0, 1, ${1.5*-J} ${1.5*J}h `+-2*J+`a ${1.5*J} ${1.5*J}, 0, 0, 1, ${1.5*-J} ${1.5*-J}v `+-2*J+`a ${1.5*J} ${1.5*J}, 0, 0, 1, ${1.5*J} ${1.5*-J}`)}}))}_drawDot({x:$,y:V,size:K,rotation:G}){this._basicDot({x:$,y:V,size:K,rotation:G})}_drawSquare({x:$,y:V,size:K,rotation:G}){this._basicSquare({x:$,y:V,size:K,rotation:G})}_drawExtraRounded({x:$,y:V,size:K,rotation:G}){this._basicExtraRounded({x:$,y:V,size:K,rotation:G})}}const w={dot:"dot",square:"square"},b=Object.values(w);class j{constructor({svg:$,type:V,window:K}){this._svg=$,this._type=V,this._window=K}draw($,V,K,G){let J;J=this._type===w.square?this._drawSquare:this._drawDot,J.call(this,{x:$,y:V,size:K,rotation:G})}_rotateFigure({x:$,y:V,size:K,rotation:G=0,draw:J}){var ne;const re=$+K/2,de=V+K/2;J(),(ne=this._element)===null||ne===void 0||ne.setAttribute("transform",`rotate(${180*G/Math.PI},${re},${de})`)}_basicDot($){const{size:V,x:K,y:G}=$;this._rotateFigure(Object.assign(Object.assign({},$),{draw:()=>{this._element=this._window.document.createElementNS("http://www.w3.org/2000/svg","circle"),this._element.setAttribute("cx",String(K+V/2)),this._element.setAttribute("cy",String(G+V/2)),this._element.setAttribute("r",String(V/2))}}))}_basicSquare($){const{size:V,x:K,y:G}=$;this._rotateFigure(Object.assign(Object.assign({},$),{draw:()=>{this._element=this._window.document.createElementNS("http://www.w3.org/2000/svg","rect"),this._element.setAttribute("x",String(K)),this._element.setAttribute("y",String(G)),this._element.setAttribute("width",String(V)),this._element.setAttribute("height",String(V))}}))}_drawDot({x:$,y:V,size:K,rotation:G}){this._basicDot({x:$,y:V,size:K,rotation:G})}_drawSquare({x:$,y:V,size:K,rotation:G}){this._basicSquare({x:$,y:V,size:K,rotation:G})}}const S="circle",I=[[1,1,1,1,1,1,1],[1,0,0,0,0,0,1],[1,0,0,0,0,0,1],[1,0,0,0,0,0,1],[1,0,0,0,0,0,1],[1,0,0,0,0,0,1],[1,1,1,1,1,1,1]],N=[[0,0,0,0,0,0,0],[0,0,0,0,0,0,0],[0,0,1,1,1,0,0],[0,0,1,1,1,0,0],[0,0,1,1,1,0,0],[0,0,0,0,0,0,0],[0,0,0,0,0,0,0]];class M{constructor($,V){this._roundSize=K=>this._options.dotsOptions.roundSize?Math.floor(K):K,this._window=V,this._element=this._window.document.createElementNS("http://www.w3.org/2000/svg","svg"),this._element.setAttribute("width",String($.width)),this._element.setAttribute("height",String($.height)),this._element.setAttribute("xmlns:xlink","http://www.w3.org/1999/xlink"),$.dotsOptions.roundSize||this._element.setAttribute("shape-rendering","crispEdges"),this._element.setAttribute("viewBox",`0 0 ${$.width} ${$.height}`),this._defs=this._window.document.createElementNS("http://www.w3.org/2000/svg","defs"),this._element.appendChild(this._defs),this._imageUri=$.image,this._instanceId=M.instanceCount++,this._options=$}get width(){return this._options.width}get height(){return this._options.height}getElement(){return this._element}async drawQR($){const V=$.getModuleCount(),K=Math.min(this._options.width,this._options.height)-2*this._options.margin,G=this._options.shape===S?K/Math.sqrt(2):K,J=this._roundSize(G/V);let ne={hideXDots:0,hideYDots:0,width:0,height:0};if(this._qr=$,this._options.image){if(await this.loadImage(),!this._image)return;const{imageOptions:re,qrOptions:de}=this._options,Ne=re.imageSize*u[de.errorCorrectionLevel],ve=Math.floor(Ne*V*V);ne=(function({originalHeight:xe,originalWidth:ce,maxHiddenDots:pe,maxHiddenAxisDots:me,dotSize:ke}){const le={x:0,y:0},he={x:0,y:0};if(xe<=0||ce<=0||pe<=0||ke<=0)return{height:0,width:0,hideYDots:0,hideXDots:0};const we=xe/ce;return le.x=Math.floor(Math.sqrt(pe/we)),le.x<=0&&(le.x=1),me&&me<le.x&&(le.x=me),le.x%2==0&&le.x--,he.x=le.x*ke,le.y=1+2*Math.ceil((le.x*we-1)/2),he.y=Math.round(he.x*we),(le.y*le.x>pe||me&&me<le.y)&&(me&&me<le.y?(le.y=me,le.y%2==0&&le.x--):le.y-=2,he.y=le.y*ke,le.x=1+2*Math.ceil((le.y/we-1)/2),he.x=Math.round(he.y/we)),{height:he.y,width:he.x,hideYDots:le.y,hideXDots:le.x}})({originalWidth:this._image.width,originalHeight:this._image.height,maxHiddenDots:ve,maxHiddenAxisDots:V-14,dotSize:J})}this.drawBackground(),this.drawDots(((re,de)=>{var Ne,ve,xe,ce,pe,me;return!(this._options.imageOptions.hideBackgroundDots&&re>=(V-ne.hideYDots)/2&&re<(V+ne.hideYDots)/2&&de>=(V-ne.hideXDots)/2&&de<(V+ne.hideXDots)/2||!((Ne=I[re])===null||Ne===void 0)&&Ne[de]||!((ve=I[re-V+7])===null||ve===void 0)&&ve[de]||!((xe=I[re])===null||xe===void 0)&&xe[de-V+7]||!((ce=N[re])===null||ce===void 0)&&ce[de]||!((pe=N[re-V+7])===null||pe===void 0)&&pe[de]||!((me=N[re])===null||me===void 0)&&me[de-V+7])})),this.drawCorners(),this._options.image&&await this.drawImage({width:ne.width,height:ne.height,count:V,dotSize:J})}drawBackground(){var $,V,K;const G=this._element,J=this._options;if(G){const ne=($=J.backgroundOptions)===null||$===void 0?void 0:$.gradient,re=(V=J.backgroundOptions)===null||V===void 0?void 0:V.color;let de=J.height,Ne=J.width;if(ne||re){const ve=this._window.document.createElementNS("http://www.w3.org/2000/svg","rect");this._backgroundClipPath=this._window.document.createElementNS("http://www.w3.org/2000/svg","clipPath"),this._backgroundClipPath.setAttribute("id",`clip-path-background-color-${this._instanceId}`),this._defs.appendChild(this._backgroundClipPath),!((K=J.backgroundOptions)===null||K===void 0)&&K.round&&(de=Ne=Math.min(J.width,J.height),ve.setAttribute("rx",String(de/2*J.backgroundOptions.round))),ve.setAttribute("x",String(this._roundSize((J.width-Ne)/2))),ve.setAttribute("y",String(this._roundSize((J.height-de)/2))),ve.setAttribute("width",String(Ne)),ve.setAttribute("height",String(de)),this._backgroundClipPath.appendChild(ve),this._createColor({options:ne,color:re,additionalRotation:0,x:0,y:0,height:J.height,width:J.width,name:`background-color-${this._instanceId}`})}}}drawDots($){var V,K;if(!this._qr)throw"QR code is not defined";const G=this._options,J=this._qr.getModuleCount();if(J>G.width||J>G.height)throw"The canvas is too small.";const ne=Math.min(G.width,G.height)-2*G.margin,re=G.shape===S?ne/Math.sqrt(2):ne,de=this._roundSize(re/J),Ne=this._roundSize((G.width-J*de)/2),ve=this._roundSize((G.height-J*de)/2),xe=new d({svg:this._element,type:G.dotsOptions.type,window:this._window});this._dotsClipPath=this._window.document.createElementNS("http://www.w3.org/2000/svg","clipPath"),this._dotsClipPath.setAttribute("id",`clip-path-dot-color-${this._instanceId}`),this._defs.appendChild(this._dotsClipPath),this._createColor({options:(V=G.dotsOptions)===null||V===void 0?void 0:V.gradient,color:G.dotsOptions.color,additionalRotation:0,x:0,y:0,height:G.height,width:G.width,name:`dot-color-${this._instanceId}`});for(let ce=0;ce<J;ce++)for(let pe=0;pe<J;pe++)$&&!$(ce,pe)||!((K=this._qr)===null||K===void 0)&&K.isDark(ce,pe)&&(xe.draw(Ne+pe*de,ve+ce*de,de,((me,ke)=>!(pe+me<0||ce+ke<0||pe+me>=J||ce+ke>=J)&&!($&&!$(ce+ke,pe+me))&&!!this._qr&&this._qr.isDark(ce+ke,pe+me))),xe._element&&this._dotsClipPath&&this._dotsClipPath.appendChild(xe._element));if(G.shape===S){const ce=this._roundSize((ne/de-J)/2),pe=J+2*ce,me=Ne-ce*de,ke=ve-ce*de,le=[],he=this._roundSize(pe/2);for(let we=0;we<pe;we++){le[we]=[];for(let Ae=0;Ae<pe;Ae++)we>=ce-1&&we<=pe-ce&&Ae>=ce-1&&Ae<=pe-ce||Math.sqrt((we-he)*(we-he)+(Ae-he)*(Ae-he))>he?le[we][Ae]=0:le[we][Ae]=this._qr.isDark(Ae-2*ce<0?Ae:Ae>=J?Ae-2*ce:Ae-ce,we-2*ce<0?we:we>=J?we-2*ce:we-ce)?1:0}for(let we=0;we<pe;we++)for(let Ae=0;Ae<pe;Ae++)le[we][Ae]&&(xe.draw(me+Ae*de,ke+we*de,de,((Ve,Ze)=>{var nt;return!!(!((nt=le[we+Ze])===null||nt===void 0)&&nt[Ae+Ve])})),xe._element&&this._dotsClipPath&&this._dotsClipPath.appendChild(xe._element))}}drawCorners(){if(!this._qr)throw"QR code is not defined";const $=this._element,V=this._options;if(!$)throw"Element code is not defined";const K=this._qr.getModuleCount(),G=Math.min(V.width,V.height)-2*V.margin,J=V.shape===S?G/Math.sqrt(2):G,ne=this._roundSize(J/K),re=7*ne,de=3*ne,Ne=this._roundSize((V.width-K*ne)/2),ve=this._roundSize((V.height-K*ne)/2);[[0,0,0],[1,0,Math.PI/2],[0,1,-Math.PI/2]].forEach((([xe,ce,pe])=>{var me,ke,le,he,we,Ae,Ve,Ze,nt,$e,Ke,Me,et,pt;const ht=Ne+xe*ne*(K-7),st=ve+ce*ne*(K-7);let De=this._dotsClipPath,se=this._dotsClipPath;if((!((me=V.cornersSquareOptions)===null||me===void 0)&&me.gradient||!((ke=V.cornersSquareOptions)===null||ke===void 0)&&ke.color)&&(De=this._window.document.createElementNS("http://www.w3.org/2000/svg","clipPath"),De.setAttribute("id",`clip-path-corners-square-color-${xe}-${ce}-${this._instanceId}`),this._defs.appendChild(De),this._cornersSquareClipPath=this._cornersDotClipPath=se=De,this._createColor({options:(le=V.cornersSquareOptions)===null||le===void 0?void 0:le.gradient,color:(he=V.cornersSquareOptions)===null||he===void 0?void 0:he.color,additionalRotation:pe,x:ht,y:st,height:re,width:re,name:`corners-square-color-${xe}-${ce}-${this._instanceId}`})),((we=V.cornersSquareOptions)===null||we===void 0?void 0:we.type)&&m.includes(V.cornersSquareOptions.type)){const q=new g({svg:this._element,type:V.cornersSquareOptions.type,window:this._window});q.draw(ht,st,re,pe),q._element&&De&&De.appendChild(q._element)}else{const q=new d({svg:this._element,type:((Ae=V.cornersSquareOptions)===null||Ae===void 0?void 0:Ae.type)||V.dotsOptions.type,window:this._window});for(let Z=0;Z<I.length;Z++)for(let ie=0;ie<I[Z].length;ie++)!((Ve=I[Z])===null||Ve===void 0)&&Ve[ie]&&(q.draw(ht+ie*ne,st+Z*ne,ne,((Ce,Te)=>{var Se;return!!(!((Se=I[Z+Te])===null||Se===void 0)&&Se[ie+Ce])})),q._element&&De&&De.appendChild(q._element))}if((!((Ze=V.cornersDotOptions)===null||Ze===void 0)&&Ze.gradient||!((nt=V.cornersDotOptions)===null||nt===void 0)&&nt.color)&&(se=this._window.document.createElementNS("http://www.w3.org/2000/svg","clipPath"),se.setAttribute("id",`clip-path-corners-dot-color-${xe}-${ce}-${this._instanceId}`),this._defs.appendChild(se),this._cornersDotClipPath=se,this._createColor({options:($e=V.cornersDotOptions)===null||$e===void 0?void 0:$e.gradient,color:(Ke=V.cornersDotOptions)===null||Ke===void 0?void 0:Ke.color,additionalRotation:pe,x:ht+2*ne,y:st+2*ne,height:de,width:de,name:`corners-dot-color-${xe}-${ce}-${this._instanceId}`})),((Me=V.cornersDotOptions)===null||Me===void 0?void 0:Me.type)&&b.includes(V.cornersDotOptions.type)){const q=new j({svg:this._element,type:V.cornersDotOptions.type,window:this._window});q.draw(ht+2*ne,st+2*ne,de,pe),q._element&&se&&se.appendChild(q._element)}else{const q=new d({svg:this._element,type:((et=V.cornersDotOptions)===null||et===void 0?void 0:et.type)||V.dotsOptions.type,window:this._window});for(let Z=0;Z<N.length;Z++)for(let ie=0;ie<N[Z].length;ie++)!((pt=N[Z])===null||pt===void 0)&&pt[ie]&&(q.draw(ht+ie*ne,st+Z*ne,ne,((Ce,Te)=>{var Se;return!!(!((Se=N[Z+Te])===null||Se===void 0)&&Se[ie+Ce])})),q._element&&se&&se.appendChild(q._element))}}))}loadImage(){return new Promise((($,V)=>{var K;const G=this._options;if(!G.image)return V("Image is not defined");if(!((K=G.nodeCanvas)===null||K===void 0)&&K.loadImage)G.nodeCanvas.loadImage(G.image).then((J=>{var ne,re;if(this._image=J,this._options.imageOptions.saveAsBlob){const de=(ne=G.nodeCanvas)===null||ne===void 0?void 0:ne.createCanvas(this._image.width,this._image.height);(re=de==null?void 0:de.getContext("2d"))===null||re===void 0||re.drawImage(J,0,0),this._imageUri=de==null?void 0:de.toDataURL()}$()})).catch(V);else{const J=new this._window.Image;typeof G.imageOptions.crossOrigin=="string"&&(J.crossOrigin=G.imageOptions.crossOrigin),this._image=J,J.onload=async()=>{this._options.imageOptions.saveAsBlob&&(this._imageUri=await(async function(ne,re){return new Promise((de=>{const Ne=new re.XMLHttpRequest;Ne.onload=function(){const ve=new re.FileReader;ve.onloadend=function(){de(ve.result)},ve.readAsDataURL(Ne.response)},Ne.open("GET",ne),Ne.responseType="blob",Ne.send()}))})(G.image||"",this._window)),$()},J.src=G.image}}))}async drawImage({width:$,height:V,count:K,dotSize:G}){const J=this._options,ne=this._roundSize((J.width-K*G)/2),re=this._roundSize((J.height-K*G)/2),de=ne+this._roundSize(J.imageOptions.margin+(K*G-$)/2),Ne=re+this._roundSize(J.imageOptions.margin+(K*G-V)/2),ve=$-2*J.imageOptions.margin,xe=V-2*J.imageOptions.margin,ce=this._window.document.createElementNS("http://www.w3.org/2000/svg","image");ce.setAttribute("href",this._imageUri||""),ce.setAttribute("xlink:href",this._imageUri||""),ce.setAttribute("x",String(de)),ce.setAttribute("y",String(Ne)),ce.setAttribute("width",`${ve}px`),ce.setAttribute("height",`${xe}px`),this._element.appendChild(ce)}_createColor({options:$,color:V,additionalRotation:K,x:G,y:J,height:ne,width:re,name:de}){const Ne=re>ne?re:ne,ve=this._window.document.createElementNS("http://www.w3.org/2000/svg","rect");if(ve.setAttribute("x",String(G)),ve.setAttribute("y",String(J)),ve.setAttribute("height",String(ne)),ve.setAttribute("width",String(re)),ve.setAttribute("clip-path",`url('#clip-path-${de}')`),$){let xe;if($.type==="radial")xe=this._window.document.createElementNS("http://www.w3.org/2000/svg","radialGradient"),xe.setAttribute("id",de),xe.setAttribute("gradientUnits","userSpaceOnUse"),xe.setAttribute("fx",String(G+re/2)),xe.setAttribute("fy",String(J+ne/2)),xe.setAttribute("cx",String(G+re/2)),xe.setAttribute("cy",String(J+ne/2)),xe.setAttribute("r",String(Ne/2));else{const ce=(($.rotation||0)+K)%(2*Math.PI),pe=(ce+2*Math.PI)%(2*Math.PI);let me=G+re/2,ke=J+ne/2,le=G+re/2,he=J+ne/2;pe>=0&&pe<=.25*Math.PI||pe>1.75*Math.PI&&pe<=2*Math.PI?(me-=re/2,ke-=ne/2*Math.tan(ce),le+=re/2,he+=ne/2*Math.tan(ce)):pe>.25*Math.PI&&pe<=.75*Math.PI?(ke-=ne/2,me-=re/2/Math.tan(ce),he+=ne/2,le+=re/2/Math.tan(ce)):pe>.75*Math.PI&&pe<=1.25*Math.PI?(me+=re/2,ke+=ne/2*Math.tan(ce),le-=re/2,he-=ne/2*Math.tan(ce)):pe>1.25*Math.PI&&pe<=1.75*Math.PI&&(ke+=ne/2,me+=re/2/Math.tan(ce),he-=ne/2,le-=re/2/Math.tan(ce)),xe=this._window.document.createElementNS("http://www.w3.org/2000/svg","linearGradient"),xe.setAttribute("id",de),xe.setAttribute("gradientUnits","userSpaceOnUse"),xe.setAttribute("x1",String(Math.round(me))),xe.setAttribute("y1",String(Math.round(ke))),xe.setAttribute("x2",String(Math.round(le))),xe.setAttribute("y2",String(Math.round(he)))}$.colorStops.forEach((({offset:ce,color:pe})=>{const me=this._window.document.createElementNS("http://www.w3.org/2000/svg","stop");me.setAttribute("offset",100*ce+"%"),me.setAttribute("stop-color",pe),xe.appendChild(me)})),ve.setAttribute("fill",`url('#${de}')`),this._defs.appendChild(xe)}else V&&ve.setAttribute("fill",V);this._element.appendChild(ve)}}M.instanceCount=0;const D=M,O="canvas",L={};for(let X=0;X<=40;X++)L[X]=X;const B={type:O,shape:"square",width:300,height:300,data:"",margin:0,qrOptions:{typeNumber:L[0],mode:void 0,errorCorrectionLevel:"Q"},imageOptions:{saveAsBlob:!0,hideBackgroundDots:!0,imageSize:.4,crossOrigin:void 0,margin:0},dotsOptions:{type:"square",color:"#000",roundSize:!0},backgroundOptions:{round:0,color:"#fff"}};function T(X){const $=Object.assign({},X);if(!$.colorStops||!$.colorStops.length)throw"Field 'colorStops' is required in gradient";return $.rotation?$.rotation=Number($.rotation):$.rotation=0,$.colorStops=$.colorStops.map((V=>Object.assign(Object.assign({},V),{offset:Number(V.offset)}))),$}function R(X){const $=Object.assign({},X);return $.width=Number($.width),$.height=Number($.height),$.margin=Number($.margin),$.imageOptions=Object.assign(Object.assign({},$.imageOptions),{hideBackgroundDots:!!$.imageOptions.hideBackgroundDots,imageSize:Number($.imageOptions.imageSize),margin:Number($.imageOptions.margin)}),$.margin>Math.min($.width,$.height)&&($.margin=Math.min($.width,$.height)),$.dotsOptions=Object.assign({},$.dotsOptions),$.dotsOptions.gradient&&($.dotsOptions.gradient=T($.dotsOptions.gradient)),$.cornersSquareOptions&&($.cornersSquareOptions=Object.assign({},$.cornersSquareOptions),$.cornersSquareOptions.gradient&&($.cornersSquareOptions.gradient=T($.cornersSquareOptions.gradient))),$.cornersDotOptions&&($.cornersDotOptions=Object.assign({},$.cornersDotOptions),$.cornersDotOptions.gradient&&($.cornersDotOptions.gradient=T($.cornersDotOptions.gradient))),$.backgroundOptions&&($.backgroundOptions=Object.assign({},$.backgroundOptions),$.backgroundOptions.gradient&&($.backgroundOptions.gradient=T($.backgroundOptions.gradient))),$}var z=o(873),Y=o.n(z);function Q(X){if(!X)throw new Error("Extension must be defined");X[0]==="."&&(X=X.substring(1));const $={bmp:"image/bmp",gif:"image/gif",ico:"image/vnd.microsoft.icon",jpeg:"image/jpeg",jpg:"image/jpeg",png:"image/png",svg:"image/svg+xml",tif:"image/tiff",tiff:"image/tiff",webp:"image/webp",pdf:"application/pdf"}[X.toLowerCase()];if(!$)throw new Error(`Extension "${X}" is not supported`);return $}class W{constructor($){$!=null&&$.jsdom?this._window=new $.jsdom("",{resources:"usable"}).window:this._window=window,this._options=$?R(i(B,$)):B,this.update()}static _clearContainer($){$&&($.innerHTML="")}_setupSvg(){if(!this._qr)return;const $=new D(this._options,this._window);this._svg=$.getElement(),this._svgDrawingPromise=$.drawQR(this._qr).then((()=>{var V;this._svg&&((V=this._extension)===null||V===void 0||V.call(this,$.getElement(),this._options))}))}_setupCanvas(){var $,V;this._qr&&(!(($=this._options.nodeCanvas)===null||$===void 0)&&$.createCanvas?(this._nodeCanvas=this._options.nodeCanvas.createCanvas(this._options.width,this._options.height),this._nodeCanvas.width=this._options.width,this._nodeCanvas.height=this._options.height):(this._domCanvas=document.createElement("canvas"),this._domCanvas.width=this._options.width,this._domCanvas.height=this._options.height),this._setupSvg(),this._canvasDrawingPromise=(V=this._svgDrawingPromise)===null||V===void 0?void 0:V.then((()=>{var K;if(!this._svg)return;const G=this._svg,J=new this._window.XMLSerializer().serializeToString(G),ne=btoa(J),re=`data:${Q("svg")};base64,${ne}`;if(!((K=this._options.nodeCanvas)===null||K===void 0)&&K.loadImage)return this._options.nodeCanvas.loadImage(re).then((de=>{var Ne,ve;de.width=this._options.width,de.height=this._options.height,(ve=(Ne=this._nodeCanvas)===null||Ne===void 0?void 0:Ne.getContext("2d"))===null||ve===void 0||ve.drawImage(de,0,0)}));{const de=new this._window.Image;return new Promise((Ne=>{de.onload=()=>{var ve,xe;(xe=(ve=this._domCanvas)===null||ve===void 0?void 0:ve.getContext("2d"))===null||xe===void 0||xe.drawImage(de,0,0),Ne()},de.src=re}))}})))}async _getElement($="png"){if(!this._qr)throw"QR code is empty";return $.toLowerCase()==="svg"?(this._svg&&this._svgDrawingPromise||this._setupSvg(),await this._svgDrawingPromise,this._svg):((this._domCanvas||this._nodeCanvas)&&this._canvasDrawingPromise||this._setupCanvas(),await this._canvasDrawingPromise,this._domCanvas||this._nodeCanvas)}update($){W._clearContainer(this._container),this._options=$?R(i(this._options,$)):this._options,this._options.data&&(this._qr=Y()(this._options.qrOptions.typeNumber,this._options.qrOptions.errorCorrectionLevel),this._qr.addData(this._options.data,this._options.qrOptions.mode||(function(V){switch(!0){case/^[0-9]*$/.test(V):return"Numeric";case/^[0-9A-Z $%*+\-./:]*$/.test(V):return"Alphanumeric";default:return"Byte"}})(this._options.data)),this._qr.make(),this._options.type===O?this._setupCanvas():this._setupSvg(),this.append(this._container))}append($){if($){if(typeof $.appendChild!="function")throw"Container should be a single DOM node";this._options.type===O?this._domCanvas&&$.appendChild(this._domCanvas):this._svg&&$.appendChild(this._svg),this._container=$}}applyExtension($){if(!$)throw"Extension function should be defined.";this._extension=$,this.update()}deleteExtension(){this._extension=void 0,this.update()}async getRawData($="png"){if(!this._qr)throw"QR code is empty";const V=await this._getElement($),K=Q($);if(!V)return null;if($.toLowerCase()==="svg"){const G=`<?xml version="1.0" standalone="no"?>\r
2054 ${new this._window.XMLSerializer().serializeToString(V)}`;return typeof Blob>"u"||this._options.jsdom?Buffer.from(G):new Blob([G],{type:K})}return new Promise((G=>{const J=V;if("toBuffer"in J)if(K==="image/png")G(J.toBuffer(K));else if(K==="image/jpeg")G(J.toBuffer(K));else{if(K!=="application/pdf")throw Error("Unsupported extension");G(J.toBuffer(K))}else"toBlob"in J&&J.toBlob(G,K,1)}))}async download($){if(!this._qr)throw"QR code is empty";if(typeof Blob>"u")throw"Cannot download in Node.js, call getRawData instead.";let V="png",K="qr";typeof $=="string"?(V=$,console.warn("Extension is deprecated as argument for 'download' method, please pass object { name: '...', extension: '...' } as argument")):typeof $=="object"&&$!==null&&($.name&&(K=$.name),$.extension&&(V=$.extension));const G=await this._getElement(V);if(G)if(V.toLowerCase()==="svg"){let J=new XMLSerializer().serializeToString(G);J=`<?xml version="1.0" standalone="no"?>\r
2055 `+J,l(`data:${Q(V)};charset=utf-8,${encodeURIComponent(J)}`,`${K}.svg`)}else l(G.toDataURL(Q(V)),`${K}.${V}`)}}const F=W})(),s.default})()))})(H3)),H3.exports}var aBe=sBe();const iBe=rc(aBe),DL="/assets/smeshicondark-BEV431uX.png";function lBe({value:t,size:e=180}){const n=h.useRef(null);return h.useEffect(()=>(setTimeout(()=>{const r=window.devicePixelRatio||2,o=new iBe({qrOptions:{errorCorrectionLevel:"M"},image:DL,width:e*r,height:e*r,data:t,dotsOptions:{type:"extra-rounded"},cornersDotOptions:{type:"extra-rounded"},cornersSquareOptions:{type:"extra-rounded"}});if(n.current){n.current.innerHTML="",o.append(n.current);const s=n.current.querySelector("canvas");s&&(s.style.width=`${e}px`,s.style.height=`${e}px`,s.style.maxWidth="100%",s.style.height="auto")}},0),()=>{n.current&&(n.current.innerHTML="")}),[t,e]),c.jsx("div",{className:"rounded-2xl overflow-hidden p-2 bg-white",children:c.jsx("div",{ref:n})})}function US({pubkey:t}){const{t:e}=qe(),{isSmallScreen:n}=gn(),[r,o]=h.useState(!1),s=h.useMemo(()=>{if(!t||!/^[0-9a-f]{64}$/i.test(t))return"";try{return yr.npubEncode(t)}catch{return""}},[t]),a=h.useCallback(()=>{navigator.clipboard.writeText(s),on.success(e("Copied npub to clipboard")),o(!1)},[s,e]);if(!s)return null;const i=c.jsx("button",{className:"bg-muted rounded-full h-5 w-5 flex flex-col items-center justify-center text-muted-foreground hover:text-foreground",onClick:u=>u.stopPropagation(),children:c.jsx(s2,{size:14})}),l=c.jsxs("div",{className:"w-full flex flex-col items-center gap-4 p-8",children:[c.jsxs("div",{className:"flex items-center w-full gap-2 pointer-events-none px-1",children:[c.jsx(Ro,{size:"big",userId:t}),c.jsxs("div",{className:"flex-1 w-0",children:[c.jsx(zs,{userId:t,className:"text-2xl font-semibold truncate",showQrCode:!1}),c.jsx(dc,{pubkey:t})]})]}),c.jsx("button",{onClick:a,className:"cursor-pointer hover:opacity-90 transition-opacity",title:e("Click to copy npub"),children:c.jsx(lBe,{size:512,value:`nostr:${s}`})}),c.jsx("div",{className:"text-sm text-muted-foreground",children:e("Click QR code to copy npub")})]});return n?c.jsxs(ao,{open:r,onOpenChange:o,children:[c.jsx(Sh,{asChild:!0,children:i}),c.jsx(io,{children:l})]}):c.jsxs(Ls,{open:r,onOpenChange:o,children:[c.jsx(NS,{asChild:!0,children:i}),c.jsx(ms,{className:"w-80 p-0 m-0",onOpenAutoFocus:u=>u.preventDefault(),children:l})]})}const $S={type:"hashtag",regex:H3e},dx={type:"mention",regex:hee},VS={type:"event",regex:pee},LL={type:"websocket-url",regex:$3e},px={type:"emoji",regex:V3e},cBe={type:"invoice",regex:W3e},nv=t=>{const e=t.matchAll(U3e),n=[];let r=0;for(const o of e){const s=o.index;s>r&&n.push({type:"text",data:t.slice(r,s)});const a=o[0];let i="url";Eke(a)?i="image":Nke(a)?i="media":a.match(Y3e)?i="youtube":a.match(G3e)&&(i="x-post"),n.push({type:i,data:a}),r=s+a.length}return r<t.length&&n.push({type:"text",data:t.slice(r)}),n};function qg(t,e){if(!t)return[];let n=[{type:"text",data:t.trim()}];return e.forEach(r=>{n=n.flatMap(o=>{if(o.type!=="text")return[o];if(typeof r=="function")return r(o.data);const s=o.data.matchAll(r.regex),a=[];let i=0;for(const l of s){const u=l.index;u>i&&a.push({type:"text",data:o.data.slice(i,u)}),a.push({type:r.type,data:l[0]}),i=u+l[0].length}return i<o.data.length&&a.push({type:"text",data:o.data.slice(i)}),a}).filter(o=>o.data!=="")}),n=uBe(n),n=fBe(n),n=dBe(n),n}function uBe(t){const e=[];let n="";return t.forEach(r=>{r.type==="text"?n+=r.data:(n&&(e.push({type:"text",data:n}),n=""),e.push(r))}),n&&e.push({type:"text",data:n}),e}function fBe(t){const e=[];return t.forEach((n,r)=>{if(n.type==="image"){const o=e[e.length-1];o&&o.type==="images"?o.data.push(n.data):e.push({type:"images",data:[n.data]})}else if(n.type==="text"&&n.data.trim()===""){const o=e[e.length-1],s=t[r+1];if(o&&o.type==="images"&&s&&s.type==="image")return;e.push(n)}else e.push(n)}),e}function dBe(t){const e=r=>["image","images","video","event"].includes(r.type),n=[];return t.forEach((r,o)=>{if(e(r)){n.push(r);return}const s=t[o-1],a=t[o+1];let i=r.data;s&&e(s)&&(i=i.replace(/^[ ]*\n/,"")),a&&e(a)&&(i=i.replace(/\n[ ]*$/,"")),n.push({type:r.type,data:i})}),n}function HS({hashtag:t}){return c.jsx(tc,{className:"text-primary hover:underline",to:zS({hashtag:t.replace("#","")}),onClick:e=>e.stopPropagation(),children:t})}function yle({invoice:t,className:e}){const{t:n}=qe(),{checkLogin:r,pubkey:o}=wt(),[s,a]=h.useState(!1),{amount:i,description:l}=h.useMemo(()=>s5e(t),[t]),u=async()=>{try{if(!o)throw new Error("You need to be logged in to zap");if(a(!0),!await Km.payInvoice(t))return}catch(f){on.error(n("Lightning payment failed")+": "+f.message)}finally{a(!1)}},d=f=>{f.stopPropagation(),r(()=>u())};return c.jsxs("div",{className:Re("p-3 border rounded-lg cursor-default flex flex-col gap-3 max-w-sm",e),onClick:f=>f.stopPropagation(),children:[c.jsxs("div",{className:"flex items-center gap-2",children:[c.jsx(uc,{className:"w-5 h-5 text-yellow-400"}),c.jsx("div",{className:"font-semibold text-sm",children:n("Lightning Invoice")})]}),l&&c.jsx("div",{className:"text-sm text-muted-foreground break-words",children:l}),c.jsxs("div",{className:"text-lg font-bold",children:[G2(i)," ",n("sats")]}),c.jsxs(Le,{onClick:d,children:[s&&c.jsx(_r,{className:"w-4 h-4 animate-spin"}),n("Pay")]})]})}function WS({userId:t,className:e}){return c.jsx(zs,{userId:t,showAt:!0,className:Re("text-primary font-normal inline",e),withoutSkeleton:!0})}function pBe({userId:t,className:e}){return c.jsx(sd,{userId:t,showAt:!0,className:Re("inline",e),withoutSkeleton:!0})}const hBe={nosta:{name:"Nosta",getUrl:t=>`https://nosta.me/${t}`},snort:{name:"Snort",getUrl:t=>`https://snort.social/${t}`},olas:{name:"Olas",getUrl:t=>`https://olas.app/e/${t}`},primal:{name:"Primal",getUrl:t=>`https://primal.net/e/${t}`},nostrudel:{name:"Nostrudel",getUrl:t=>`https://nostrudel.ninja/l/${t}`},nostter:{name:"Nostter",getUrl:t=>`https://nostter.app/${t}`},coracle:{name:"Coracle",getUrl:t=>`https://coracle.social/${t}`},iris:{name:"Iris",getUrl:t=>`https://iris.to/${t}`},lumilumi:{name:"Lumilumi",getUrl:t=>`https://lumilumi.app/${t}`},zapStream:{name:"zap.stream",getUrl:t=>`https://zap.stream/${t}`},yakihonne:{name:"YakiHonne",getUrl:t=>`https://yakihonne.com/${t}`},habla:{name:"Habla",getUrl:t=>`https://habla.news/a/${t}`},pareto:{name:"Pareto",getUrl:t=>`https://pareto.space/a/${t}`},njump:{name:"Njump",getUrl:t=>`https://njump.me/${t}`}};function Ig({event:t,originalNoteId:e,...n}){const{isSmallScreen:r}=gn(),[o,s]=h.useState(!1),{t:a}=qe(),i=h.useMemo(()=>{let d;if(t)d=t.kind;else if(e)try{const f=yr.decode(e);f.type==="naddr"&&(d=f.data.kind)}catch(f){return console.error("Failed to decode NIP-19 pointer:",f),["njump"]}if(!d)return["njump"];switch(d){case Ue.LongFormArticle:case Ue.DraftLong:return["yakihonne","coracle","habla","lumilumi","pareto","njump"];case Ue.LiveEvent:return["zapStream","nostrudel","njump"];case Ue.Date:case Ue.Time:return["coracle","njump"];case Ue.CommunityDefinition:return["coracle","snort","njump"];default:return["njump"]}},[t]);if(!e&&!t)return null;const l=c.jsxs("div",{className:"space-y-2",children:[(t==null?void 0:t.kind)===gt.GROUP_METADATA?c.jsx(mBe,{event:t,originalNoteId:e,setOpen:s}):i.map(d=>{const f=hBe[d];return f?c.jsx(vle,{onClick:()=>s(!1),href:f.getUrl(e??fg(t)),name:f.name},d):null}),c.jsx(ri,{}),c.jsx(Le,{variant:"ghost",className:"w-full py-6 font-semibold",onClick:()=>{navigator.clipboard.writeText(e??fg(t)),s(!1)},children:a("Copy event ID")})]}),u=c.jsxs(Le,{variant:"outline",...n,children:[c.jsx(nf,{})," ",a("Open in another client")]});return r?c.jsx("div",{onClick:d=>d.stopPropagation(),children:c.jsxs(ao,{open:o,onOpenChange:s,children:[c.jsx(Sh,{asChild:!0,children:u}),c.jsx(fc,{onClick:d=>{d.stopPropagation(),s(!1)}}),c.jsx(io,{hideOverlay:!0,children:l})]})}):c.jsx("div",{onClick:d=>d.stopPropagation(),children:c.jsxs(Ls,{open:o,onOpenChange:s,children:[c.jsx(NS,{asChild:!0,children:u}),c.jsx(ms,{className:"px-8",onOpenAutoFocus:d=>d.preventDefault(),children:l})]})})}function mBe({event:t,originalNoteId:e,setOpen:n}){const{relay:r,id:o}=h.useMemo(()=>{var a;let s;if(e){const i=yr.decode(e);i.type==="naddr"&&((a=i.data.relays)!=null&&a.length)&&(s=i.data.relays[0])}return s||(s=ze.getEventHint(t.id)),{relay:s,id:Uy(t)}},[t,e]);return c.jsx(vle,{onClick:()=>n(!1),href:yFe(r,o),name:"Chachi Chat"})}function vle({onClick:t,href:e,name:n}){return c.jsx(Le,{asChild:!0,variant:"ghost",className:"w-full py-6 font-semibold",onClick:t,children:c.jsx("a",{href:e,target:"_blank",rel:"noopener noreferrer",children:n})})}const wle=({children:t,open:e,onOpenChange:n,...r})=>{const[o,s]=h.useState(e??!1),a=h.useMemo(()=>`sheet-${vd()}`,[]);return h.useEffect(()=>{e?po.register(a,()=>{n==null||n(!1)}):po.unregister(a)},[e]),h.useEffect(()=>{e===void 0&&(o?po.register(a,()=>{s(!1)}):po.unregister(a))},[o]),c.jsx(vS,{open:e??o,onOpenChange:n??s,...r,children:t})},gBe=wS,ble=h.forwardRef(({className:t,...e},n)=>c.jsx(Zy,{className:Re("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",t),...e,ref:n}));ble.displayName=Zy.displayName;const yBe=AS("fixed z-50 gap-4 bg-background p-6 shadow-lg transition ease-in-out data-[state=closed]:duration-300 data-[state=open]:duration-500 data-[state=open]:animate-in data-[state=closed]:animate-out",{variants:{side:{top:"inset-x-0 top-0 border-b rounded-b-xl data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top",bottom:"inset-x-0 bottom-0 border-t rounded-t-xl data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom",left:"inset-y-0 left-0 h-full w-3/4 border-r rounded-r-xl data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left sm:max-w-sm",right:"inset-y-0 right-0 h-full w-3/4 border-l rounded-l-xl data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right sm:max-w-sm"}},defaultVariants:{side:"right"}}),PL=h.forwardRef(({side:t="right",className:e,children:n,hideClose:r=!1,...o},s)=>c.jsxs(gBe,{children:[c.jsx(ble,{}),c.jsxs(Qy,{ref:s,className:Re(yBe({side:t}),e),...o,children:[!r&&c.jsxs(X2,{className:"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-secondary",children:[c.jsx(Us,{className:"h-4 w-4"}),c.jsx("span",{className:"sr-only",children:"Close"})]}),n]})]}));PL.displayName=Qy.displayName;const xle=({className:t,...e})=>c.jsx("div",{className:Re("flex flex-col space-y-2 text-center sm:text-left",t),...e});xle.displayName="SheetHeader";const OL=h.forwardRef(({className:t,...e},n)=>c.jsx(Jy,{ref:n,className:Re("text-lg font-semibold text-foreground",t),...e}));OL.displayName=Jy.displayName;const zL=h.forwardRef(({className:t,...e},n)=>c.jsx(Xy,{ref:n,className:Re("text-sm text-muted-foreground",t),...e}));zL.displayName=Xy.displayName;function vBe(){const[t,e]=h.useState(()=>{var r;return((r=window.visualViewport)==null?void 0:r.height)??window.innerHeight}),n=h.useRef(0);return h.useEffect(()=>{const r=window.visualViewport;if(!r)return;const o=()=>{cancelAnimationFrame(n.current),n.current=requestAnimationFrame(()=>{e(r.height)})};return r.addEventListener("resize",o),o(),()=>{r.removeEventListener("resize",o),cancelAnimationFrame(n.current)}},[]),t}const C0=class C0 extends EventTarget{constructor(){super();je(this,"isSuggestionPopupOpen",!1);return C0.instance||(C0.instance=this),C0.instance}closeSuggestionPopup(){this.isSuggestionPopupOpen&&(this.isSuggestionPopupOpen=!1,this.dispatchEvent(new CustomEvent("closeSuggestionPopup")))}};je(C0,"instance");let K8=C0;const Ea=new K8;function W3(t){return t?!!(t.startsWith("nirc:request:")||t.startsWith("nirc:")):!1}const m0=new Map,wBe=1e3;function $Y(t){return m0.get(t)}function L6(t,e){m0.size>=wBe&&Array.from(m0.keys()).slice(0,100).forEach(r=>m0.delete(r)),m0.set(t,e)}function bBe(){m0.clear()}async function xBe(t,e,n,r=10,o){const s=[];t.length;for(let a=0;a<t.length;a+=r){const i=t.slice(a,a+r),u=(await Promise.all(i.map(d=>Dl.decryptMessage(d,e,n)))).filter(d=>d!==null);s.push(...u),a+r<t.length&&await new Promise(d=>setTimeout(d,0))}return s}const up=Ue.EncryptedDirectMessage,VY=gt.PRIVATE_DM,lA=gt.SEAL,K1=gt.GIFT_WRAP,kBe=Ue.Reaction,Z1=15e3;function Q1(t,e){const n=new Promise(o=>{setTimeout(()=>o([]),e)}),r=t.catch(()=>[]);return Promise.race([r,n])}class jBe{async fetchDMEvents(e,n,r=500){const o=[...new Set(n)],s={kinds:[up],limit:r},[a,i,l]=await Promise.all([Q1(ze.fetchEvents(o,{...s,"#p":[e]}),Z1),Q1(ze.fetchEvents(o,{...s,authors:[e]}),Z1),Q1(ze.fetchEvents(o,{kinds:[K1],"#p":[e],limit:r}),Z1)]),u=[...a,...i,...l];return await Promise.all(u.map(d=>kt.putDMEvent(d))),u}async fetchRecentDMEvents(e,n){return this.fetchDMEvents(e,n,100)}async fetchConversationEvents(e,n,r){const o=[...new Set(r)],s=await this.fetchPartnerInboxRelays(n),a=[...new Set([...r,...s])],[i,l,u]=await Promise.all([Q1(ze.fetchEvents(o,{kinds:[up],authors:[n],"#p":[e],limit:500}),Z1),Q1(ze.fetchEvents(o,{kinds:[up],authors:[e],"#p":[n],limit:500}),Z1),Q1(ze.fetchEvents(a,{kinds:[K1],"#p":[e],limit:500}),Z1)]),d=[...i,...l,...u];return await Promise.all(d.map(f=>kt.putDMEvent(f))),d}async decryptMessage(e,n,r){try{if(e.kind===up){const o=$Y(e.id);if(o)return this.buildDirectMessage(e,o,r,"nip04");const s=await kt.getDecryptedContent(e.id);if(s)return L6(e.id,s),this.buildDirectMessage(e,s,r,"nip04");const a=this.getOtherPartyPubkey(e,r);if(!a)return null;let i;try{i=await n.nip04Decrypt(a,e.content)}catch{if(n.nip44Decrypt)i=await n.nip44Decrypt(a,e.content);else throw new Error("NIP-04 decrypt failed and no NIP-44 support")}return L6(e.id,i),kt.putDecryptedContent(e.id,i).catch(()=>{}),this.buildDirectMessage(e,i,r,"nip04")}else if(e.kind===K1){const o=$Y(e.id);if(o)try{const f=JSON.parse(o);if(f.r==="__reaction__")return null;const m=ze.getSeenEventRelayUrls(e.id);return{id:e.id,innerEventId:f.i,senderPubkey:f.s,recipientPubkey:f.r,content:f.c,createdAt:f.t??e.created_at,encryptionType:"nip17",event:e,decryptedContent:f.c,seenOnRelays:m.length>0?m:void 0}}catch{}const s=await kt.getUnwrappedGiftWrap(e.id);if(s){if(s.recipientPubkey==="__reaction__")return null;L6(e.id,JSON.stringify({s:s.pubkey,r:s.recipientPubkey,c:s.content,t:s.createdAt,i:s.innerEventId}));const f=ze.getSeenEventRelayUrls(e.id);return{id:e.id,innerEventId:s.innerEventId,senderPubkey:s.pubkey,recipientPubkey:s.recipientPubkey,content:s.content,createdAt:s.createdAt,encryptionType:"nip17",event:e,decryptedContent:s.content,seenOnRelays:f.length>0?f:void 0}}const a=await this.unwrapGiftWrap(e,n);if(!a)return null;const i=a.innerEvent;if(i.tags||(i.tags=[]),a.type==="reaction")return kt.putUnwrappedGiftWrap(e.id,{pubkey:i.pubkey,recipientPubkey:"__reaction__",content:a.content,createdAt:i.created_at}).catch(()=>{}),null;const l=this.getRecipientFromTags(i.tags)||r,u=i.id;L6(e.id,JSON.stringify({s:i.pubkey,r:l,c:a.content,t:i.created_at,i:u})),kt.putUnwrappedGiftWrap(e.id,{pubkey:i.pubkey,recipientPubkey:l,content:a.content,createdAt:i.created_at,innerEventId:u}).catch(()=>{});const d=ze.getSeenEventRelayUrls(e.id);return{id:e.id,innerEventId:u,senderPubkey:i.pubkey,recipientPubkey:l,content:a.content,createdAt:i.created_at,encryptionType:"nip17",event:e,decryptedContent:a.content,seenOnRelays:d.length>0?d:void 0}}else return null}catch(o){return console.warn("[DM] decryptMessage failed:",e.id,o instanceof Error?o.message:"Unknown error"),null}}async unwrapGiftWrap(e,n){try{if(!n.nip44Decrypt)return null;const r=await n.nip44Decrypt(e.pubkey,e.content),o=JSON.parse(r);if(o.kind!==lA)return null;const s=await n.nip44Decrypt(o.pubkey,o.content),a=JSON.parse(s);return a.kind===VY?{content:a.content,innerEvent:a,type:"dm"}:a.kind===kBe?{content:a.content,innerEvent:a,type:"reaction"}:null}catch(r){return console.warn("[DM] unwrapGiftWrap failed:",e.id,r instanceof Error?r.message:"Unknown error"),null}}buildDirectMessage(e,n,r,o="nip04"){const s=this.getRecipientFromTags(e.tags),a=e.pubkey===r,i=ze.getSeenEventRelayUrls(e.id);return{id:e.id,senderPubkey:e.pubkey,recipientPubkey:s||(a?"":r),content:n,createdAt:e.created_at,encryptionType:o,event:e,decryptedContent:n,seenOnRelays:i.length>0?i:void 0}}async sendDM(e,n,r,o,s,a,i=0){const l=[],[u,d]=await Promise.all([this.fetchPartnerInboxRelays(e),this.fetchPartnerRelays(e)]),f=[...new Set([...o,...d])],m=u.length>0?u:o;if(console.log("[DM] sendDM to",e.slice(0,8)+"..."),console.log("[DM] existingEncryption:",a),console.log("[DM] user relays:",o),console.log("[DM] recipient inbox relays:",u),console.log("[DM] recipient write relays:",d),console.log("[DM] merged allRelays (NIP-04):",f),console.log("[DM] inboxRelays (NIP-17):",m),a===null)if(r.nip44Encrypt)try{const g=await this.createAndPublishNip17DM(e,n,r,m,o,i);l.push(g)}catch(g){throw console.error("Failed to send NIP-17 DM:",g),g}else try{const g=await this.createAndPublishNip04DM(e,n,r,f,i);l.push(g)}catch(g){throw console.error("Failed to send NIP-04 DM:",g),g}else if(a==="nip04")try{const g=await this.createAndPublishNip04DM(e,n,r,f,i);l.push(g)}catch(g){throw console.error("Failed to send NIP-04 DM:",g),g}else if(a==="nip17"){if(!r.nip44Encrypt)throw new Error("Encryption does not support NIP-44");try{const g=await this.createAndPublishNip17DM(e,n,r,m,o,i);l.push(g)}catch(g){throw console.error("Failed to send NIP-17 DM:",g),g}}return l}async createAndPublishNip04DM(e,n,r,o,s=0){const a=await r.nip04Encrypt(e,n),i=Math.floor(Date.now()/1e3),l=[["p",e]];s>0&&l.push(["expiration",String(i+s)]);const u={kind:up,created_at:i,content:a,tags:l},d=await r.signEvent(u);return await ze.publishEvent(o,d),await kt.putDMEvent(d),await kt.putDecryptedContent(d.id,n),d}async createAndPublishNip17DM(e,n,r,o,s,a=0){if(!r.nip44Encrypt)throw new Error("Encryption does not support NIP-44");const i=r.getPublicKey(),l=Math.floor(Date.now()/1e3),u=a>0?["expiration",String(l+a)]:null,d=[["p",e]];u&&d.push(u);const f={kind:VY,created_at:l,content:n,tags:d},m=await r.signEvent(f),g=JSON.stringify(m),w=await r.nip44Encrypt(e,g),b={kind:lA,created_at:this.randomizeTimestamp(m.created_at),content:w,tags:[]},j=await r.signEvent(b),S=await r.nip44Encrypt(e,JSON.stringify(j)),I=[["p",e]];u&&I.push(u);const N={kind:K1,created_at:this.randomizeTimestamp(j.created_at),content:S,tags:I},M=await r.signEvent(N),D=await r.nip44Encrypt(i,g),O={kind:lA,created_at:this.randomizeTimestamp(m.created_at),content:D,tags:[]},L=await r.signEvent(O),B=await r.nip44Encrypt(i,JSON.stringify(L)),T=[["p",i]];u&&T.push(u);const R={kind:K1,created_at:this.randomizeTimestamp(L.created_at),content:B,tags:T},z=await r.signEvent(R);await ze.publishEvent(o,M),await ze.publishEvent(s,z);const Y=m.id;return await kt.putDMEvent(M),await kt.putDecryptedContent(M.id,n),await kt.putUnwrappedGiftWrap(M.id,{pubkey:i,recipientPubkey:e,content:n,createdAt:l,innerEventId:Y}),await kt.putDMEvent(z),await kt.putDecryptedContent(z.id,n),await kt.putUnwrappedGiftWrap(z.id,{pubkey:i,recipientPubkey:e,content:n,createdAt:l,innerEventId:Y}),M._innerEventId=Y,M}randomizeTimestamp(e){const n=-Math.floor(Math.random()*2*24*60*60);return e+n}async fetchPartnerRelays(e){try{const n=await kt.getReplaceableEvent(e,Ue.RelayList);if(n)return this.parseWriteRelays(n);const r=ze.currentRelays.length>0?ze.currentRelays:[];if(r.length===0)return[];const o=await ze.fetchEvents(r,{kinds:[Ue.RelayList],authors:[e],limit:1});if(o.length>0){const s=o[0];return await kt.putReplaceableEvent(s),this.parseWriteRelays(s)}return[]}catch{return[]}}async fetchPartnerInboxRelays(e){try{const n=await kt.getReplaceableEvent(e,Ue.DirectMessageRelaysList);if(n){const l=this.parseDMInboxRelays(n);if(l.length>0)return l}const r=await kt.getReplaceableEvent(e,Ue.RelayList);if(r){const l=this.parseInboxRelays(r);if(l.length>0)return l}const o=ze.currentRelays.length>0?ze.currentRelays:[];if(o.length===0)return ze.currentRelays;const s=await ze.fetchEvents(o,{kinds:[Ue.DirectMessageRelaysList,Ue.RelayList],authors:[e],limit:2});let a=[],i=[];for(const l of s)await kt.putReplaceableEvent(l),l.kind===Ue.DirectMessageRelaysList?a=this.parseDMInboxRelays(l):l.kind===Ue.RelayList&&(i=this.parseInboxRelays(l));return a.length>0?a:i.length>0?i:ze.currentRelays}catch{return ze.currentRelays}}parseWriteRelays(e){const n=[];for(const r of e.tags)if(r[0]==="r"){const o=r[1],s=r[2];(!s||s==="write")&&n.push(o)}return n}parseDMInboxRelays(e){const n=[];for(const r of e.tags)r[0]==="relay"&&r[1]&&n.push(r[1]);return n}parseInboxRelays(e){const n=[];for(const r of e.tags)if(r[0]==="r"){const o=r[1],s=r[2];(!s||s==="read")&&n.push(o)}return n.length>0?n:ze.currentRelays}async checkOtherRelaysForEvent(e,n){const r=new Set(n.map(a=>a.replace(/\/$/,""))),o=ze.currentRelays.filter(a=>!r.has(a.replace(/\/$/,""))),s=[];return await Promise.all(o.map(async a=>{try{(await ze.fetchEvents([a],{ids:[e],limit:1})).length>0&&(s.push(a),ze.trackEventSeenOn(e,{url:a}))}catch{}})),s}groupMessagesIntoConversations(e,n){const r=new Map;for(const o of e){if(W3(o.content??""))continue;const s=o.senderPubkey===n?o.recipientPubkey:o.senderPubkey;if(!s)continue;const a=r.get(s);(!a||o.createdAt>a.lastMessageAt)&&r.set(s,{partnerPubkey:s,lastMessageAt:o.createdAt,lastMessagePreview:(o.content??"").substring(0,100),unreadCount:0,preferredEncryption:o.encryptionType})}return r}groupEventsIntoConversations(e,n){const r=new Map;for(const o of e){if(o.kind!==up)continue;const s=this.getRecipientFromTags(o.tags),a=o.pubkey===n?s:o.pubkey;if(!a)continue;const i=r.get(a);(!i||o.created_at>i.lastMessageAt)&&r.set(a,{partnerPubkey:a,lastMessageAt:o.created_at,lastMessagePreview:"",unreadCount:0,preferredEncryption:"nip04"})}return r}getMessagesForConversation(e,n,r){return e.filter(o=>o.senderPubkey===n&&o.recipientPubkey===r||o.senderPubkey===r&&o.recipientPubkey===n).sort((o,s)=>o.createdAt-s.createdAt)}getOtherPartyPubkey(e,n){return e.pubkey===n?this.getRecipientFromTags(e.tags):e.pubkey}getRecipientFromTags(e){if(!e)return null;const n=e.find(r=>r[0]==="p");return n?n[1]:null}subscribeToDMs(e,n,r,o){const s=[...new Set(n)],a=o??Math.floor(Date.now()/1e3)-300,i=ze.subscribe(s,[{kinds:[up],"#p":[e],since:a},{kinds:[up],authors:[e],since:a}],{onevent:d=>{kt.putDMEvent(d).catch(()=>{}),r(d)}}),l=a-4320*60,u=ze.subscribe(s,{kinds:[K1],"#p":[e],since:l},{onevent:d=>{kt.putDMEvent(d).catch(()=>{}),r(d)}});return{close:async()=>{const[d,f]=await Promise.all([i,u]);d.close(),f.close()}}}}const Dl=new jBe;function HY(t,e,n,r){if(!r)return!1;if(r.deletedIds.includes(t))return!0;const o=r.deletedRanges[e];if(o){for(const s of o)if(n>=s.start&&n<=s.end)return!0}return!1}function P6(t,e,n){if(!n)return!1;const r=n.deletedRanges[t];if(!r||r.length===0)return!1;for(const o of r)if(e>=o.start&&e<=o.end)return!0;return!1}function WY(t){if(!t)return 0;let e=0;for(const n of Object.values(t.deletedRanges))for(const r of n)r.start===0&&r.end>e&&(e=r.end);return e}const kle=h.createContext(void 0),bf=()=>{const t=h.useContext(kle);if(!t)throw new Error("useDM must be used within a DMProvider");return t};function CBe(t,e){const n=new Set(t.map(s=>s.id)),r=new Set(t.map(s=>s.innerEventId).filter(Boolean)),o=[...t];for(const s of e)n.has(s.id)||s.innerEventId&&r.has(s.innerEventId)||(o.push(s),n.add(s.id),s.innerEventId&&r.add(s.innerEventId));return o.sort((s,a)=>s.createdAt-a.createdAt)}function SBe({children:t}){const{pubkey:e,relayList:n,nip04Encrypt:r,nip04Decrypt:o,nip44Encrypt:s,nip44Decrypt:a,hasNip44Support:i,signEvent:l}=wt(),[u,d]=h.useState([]),[f,m]=h.useState([]),[g,w]=h.useState(null),[b,j]=h.useState([]),[S,I]=h.useState(!1),[N,M]=h.useState(!1),[D,O]=h.useState(null),[L,B]=h.useState(()=>Xe.getPreferNip44()),[T,R]=h.useState(!1),[z,Y]=h.useState(!1),[Q,W]=h.useState(null),[F,X]=h.useState(null),[$,V]=h.useState(new Set),[K,G]=h.useState(!1),[J,ne]=h.useState(()=>e?Xe.getDMLastSeenTimestamp(e):0),[re,de]=h.useState(0),[Ne,ve]=h.useState(0),xe=100,ce=h.useRef(null),pe=h.useRef(!1),me=h.useRef(null),ke=h.useRef(null),le=h.useRef(null);h.useEffect(()=>{le.current=g},[g]);const he=h.useMemo(()=>e?{nip04Encrypt:r,nip04Decrypt:o,nip44Encrypt:i?s:void 0,nip44Decrypt:i?a:void 0,signEvent:l,getPublicKey:()=>e}:null,[e,r,o,s,a,i,l]);h.useEffect(()=>{if(e&&he){if(pe.current&&me.current===e)return;pe.current=!0,me.current=e;const Ee=Xe.getDMLastSeenTimestamp(e);Ee>0&&ne(Ee),(async()=>{let Qe={deletedIds:[],deletedRanges:{}};const mt=await kt.getDeletedMessagesState(e);mt?(Qe=mt,X(mt)):X(Qe);try{const Ht=n!=null&&n.read.length?n.read:ze.currentRelays,dt=await ze.fetchEvents(Ht,{kinds:[Ue.Application],authors:[e],"#d":[Xp.DM_DELETED_MESSAGES],limit:1});if(dt.length>0)try{const xt=JSON.parse(dt[0].content);Qe=xt,X(xt),await kt.putDeletedMessagesState(e,xt)}catch{}}catch{}const Rt=await kt.getDMConversations(e);if(Rt.length>0){const Ht=Rt.filter(dt=>dt.partnerPubkey&&typeof dt.partnerPubkey=="string").filter(dt=>!P6(dt.partnerPubkey,dt.lastMessageAt,Qe)).map(dt=>({partnerPubkey:dt.partnerPubkey,lastMessageAt:dt.lastMessageAt,lastMessagePreview:dt.lastMessagePreview||"",unreadCount:0,preferredEncryption:dt.encryptionType}));m(Ht),d(Ht.slice(0,xe)),R(Ht.length>xe)}we(),ke.current&&ke.current.close();const At=(n==null?void 0:n.read)||[],_t=Rt.length>0?Math.max(...Rt.map(Ht=>Ht.lastMessageAt)):void 0;ke.current=Dl.subscribeToDMs(e,At,async Ht=>{if(de(Ht.created_at),he)try{const dt=await Dl.decryptMessage(Ht,he,e);if(dt&&dt.senderPubkey&&dt.recipientPubkey){const xt=dt.senderPubkey===e?dt.recipientPubkey:dt.senderPubkey,vt=le.current;vt&&xt===vt&&j(qt=>qt.some(Ct=>Ct.id===dt.id)||dt.innerEventId&&qt.some(Ct=>Ct.innerEventId===dt.innerEventId)?qt:[...qt,dt].sort((Ct,sn)=>Ct.createdAt-sn.createdAt));const yt=(dt.content??"").substring(0,100),Wt=qt=>{const Ct=qt.find(sn=>sn.partnerPubkey===xt);return Ct?dt.createdAt<=Ct.lastMessageAt?qt:qt.map(sn=>sn.partnerPubkey===xt?{...sn,lastMessageAt:dt.createdAt,lastMessagePreview:yt,unreadCount:xt!==vt?sn.unreadCount+1:sn.unreadCount}:sn).sort((sn,yn)=>yn.lastMessageAt-sn.lastMessageAt):[{partnerPubkey:xt,lastMessageAt:dt.createdAt,lastMessagePreview:yt,unreadCount:1,preferredEncryption:dt.encryptionType},...qt]};d(Wt),m(Wt),kt.putDMConversation(e,xt,dt.createdAt,yt,dt.encryptionType).catch(()=>{})}}catch{}},_t)})()}else d([]),m([]),j([]),w(null),X(null),V(new Set),G(!1),bBe(),ke.current&&(ke.current.close(),ke.current=null),pe.current=!1,me.current=null},[e,he,n]),h.useEffect(()=>{if(!g||!e||!he){j([]),ce.current=null;return}const Ee=g;ce.current=Ee,(async()=>{M(!0);try{const Qe=await kt.getConversationMessages(e,Ee);if(Qe&&Qe.length>0&&ce.current===Ee){const Ct=Qe.filter(sn=>!HY(sn.id,Ee,sn.createdAt,F)).map(sn=>({id:sn.id,senderPubkey:sn.senderPubkey,recipientPubkey:sn.recipientPubkey,content:sn.content,createdAt:sn.createdAt,encryptionType:sn.encryptionType,event:{},decryptedContent:sn.content,seenOnRelays:sn.seenOnRelays}));j(Ct)}const mt=(n==null?void 0:n.read)||[],Rt=await Dl.fetchConversationEvents(e,Ee,mt);if(ce.current!==Ee)return;const At=WY(F),_t=At>0?At-4320*60:0,Ht=_t>0?Rt.filter(Ct=>Ct.kind!==1059||Ct.created_at>_t):Rt,dt=await xBe(Ht,he,e,10);if(ce.current!==Ee)return;const xt=new Set,vt=new Set,yt=dt.filter(Ct=>xt.has(Ct.id)||Ct.innerEventId&&vt.has(Ct.innerEventId)||W3(Ct.content??"")||(Ct.senderPubkey===e?Ct.recipientPubkey:Ct.senderPubkey)!==Ee||HY(Ct.id,Ee,Ct.createdAt,F)?!1:(xt.add(Ct.id),Ct.innerEventId&&vt.add(Ct.innerEventId),!0));j(Ct=>CBe(Ct,yt));const Wt=yt.map(Ct=>({id:Ct.id,senderPubkey:Ct.senderPubkey,recipientPubkey:Ct.recipientPubkey,content:Ct.decryptedContent||Ct.content,createdAt:Ct.createdAt,encryptionType:Ct.encryptionType,seenOnRelays:Ct.seenOnRelays})),qt=await kt.getConversationMessages(e,Ee);if(qt&&qt.length>0&&Wt.length>0){const Ct=new Set(Wt.map(yn=>yn.id)),sn=[...Wt];for(const yn of qt)Ct.has(yn.id)||(sn.push(yn),Ct.add(yn.id));sn.sort((yn,Jt)=>yn.createdAt-Jt.createdAt),await kt.putConversationMessages(e,Ee,sn)}else Wt.length>0&&await kt.putConversationMessages(e,Ee,Wt)}catch{}finally{ce.current===Ee&&M(!1)}})()},[g,e,he,n,F,Ne]);const we=h.useCallback(async()=>{if(!(!e||!he))try{const Ee=(n==null?void 0:n.read)||[],Pe=await Dl.fetchRecentDMEvents(e,Ee),Qe=Pe.filter(vt=>vt.kind===4),mt=Pe.filter(vt=>vt.kind===1059),Rt=new Map;f.forEach(vt=>Rt.set(vt.partnerPubkey,vt)),Dl.groupEventsIntoConversations(Qe,e).forEach((vt,yt)=>{const Wt=Rt.get(yt);(!Wt||vt.lastMessageAt>Wt.lastMessageAt)&&Rt.set(yt,vt)});const _t=()=>{const yt=Array.from(Rt.values()).filter(Wt=>Wt.partnerPubkey&&typeof Wt.partnerPubkey=="string").filter(Wt=>!P6(Wt.partnerPubkey,Wt.lastMessageAt,F)).sort((Wt,qt)=>qt.lastMessageAt-Wt.lastMessageAt);m(yt),d(yt.slice(0,xe)),R(yt.length>xe)};_t();const Ht=mt.sort((vt,yt)=>yt.created_at-vt.created_at),dt=WY(F);for(const vt of Ht)if(!(dt>0&&vt.created_at<=dt))try{const yt=await Dl.decryptMessage(vt,he,e);if(yt&&yt.senderPubkey&&yt.recipientPubkey){const Wt=yt.senderPubkey===e?yt.recipientPubkey:yt.senderPubkey;if(!Wt||Wt==="__reaction__"||W3(yt.content??""))continue;const qt=Rt.get(Wt);(!qt||yt.createdAt>qt.lastMessageAt)&&(Rt.set(Wt,{partnerPubkey:Wt,lastMessageAt:yt.createdAt,lastMessagePreview:(yt.content??"").substring(0,100),unreadCount:0,preferredEncryption:"nip17"}),_t()),kt.putDMConversation(e,Wt,yt.createdAt,(yt.content??"").substring(0,100),"nip17").catch(()=>{})}}catch{}_t();const xt=Array.from(Rt.values());Promise.all(xt.map(vt=>kt.putDMConversation(e,vt.partnerPubkey,vt.lastMessageAt,vt.lastMessagePreview,vt.preferredEncryption))).catch(()=>{})}catch{}},[e,he,n,F,f]),Ae=h.useCallback(async()=>{if(!(!e||!he)){I(!0),O(null);try{const Ee=(n==null?void 0:n.read)||[],Pe=await Dl.fetchRecentDMEvents(e,Ee),Qe=Pe.filter(xt=>xt.kind===4),mt=Pe.filter(xt=>xt.kind===1059),Rt=new Map;f.forEach(xt=>Rt.set(xt.partnerPubkey,xt)),Dl.groupEventsIntoConversations(Qe,e).forEach((xt,vt)=>{const yt=Rt.get(vt);(!yt||xt.lastMessageAt>yt.lastMessageAt)&&Rt.set(vt,xt)});const _t=()=>{const vt=Array.from(Rt.values()).filter(yt=>yt.partnerPubkey&&typeof yt.partnerPubkey=="string").filter(yt=>!P6(yt.partnerPubkey,yt.lastMessageAt,F)).sort((yt,Wt)=>Wt.lastMessageAt-yt.lastMessageAt);m(vt),d(vt.slice(0,xe)),R(vt.length>xe)};_t(),I(!1);const Ht=mt.sort((xt,vt)=>vt.created_at-xt.created_at);for(const xt of Ht)try{const vt=await Dl.decryptMessage(xt,he,e);if(vt&&vt.senderPubkey&&vt.recipientPubkey){const yt=vt.senderPubkey===e?vt.recipientPubkey:vt.senderPubkey;if(!yt||yt==="__reaction__"||W3(vt.content??""))continue;const Wt=Rt.get(yt);(!Wt||vt.createdAt>Wt.lastMessageAt)&&(Rt.set(yt,{partnerPubkey:yt,lastMessageAt:vt.createdAt,lastMessagePreview:(vt.content??"").substring(0,100),unreadCount:0,preferredEncryption:"nip17"}),_t()),kt.putDMConversation(e,yt,vt.createdAt,(vt.content??"").substring(0,100),"nip17").catch(()=>{})}}catch{}_t();const dt=Array.from(Rt.values());Promise.all(dt.map(xt=>kt.putDMConversation(e,xt.partnerPubkey,xt.lastMessageAt,xt.lastMessagePreview,xt.preferredEncryption))).catch(()=>{})}catch{O("Failed to load conversations"),I(!1)}}},[e,he,n,F,f]),Ve=h.useCallback(async()=>{if(!T)return;const Ee=u.length,Pe=f.slice(Ee,Ee+xe);d(Qe=>[...Qe,...Pe]),R(Ee+Pe.length<f.length)},[u.length,f,T]),Ze=h.useCallback(Ee=>{Ee!==g&&j([]),w(Ee)},[g]),nt=h.useCallback(Ee=>{if(!f.find(Qe=>Qe.partnerPubkey===Ee)){Y(!0),W(Ee);const Qe={partnerPubkey:Ee,lastMessageAt:Math.floor(Date.now()/1e3),lastMessagePreview:"",unreadCount:0,preferredEncryption:"nip17"};m(mt=>[Qe,...mt]),d(mt=>[Qe,...mt])}j([]),w(Ee)},[f]),$e=h.useCallback(()=>{Y(!1)},[]),Ke=h.useCallback(()=>{Q&&(m(Ee=>Ee.filter(Pe=>Pe.partnerPubkey!==Q)),d(Ee=>Ee.filter(Pe=>Pe.partnerPubkey!==Q)),W(null),Y(!1),g===Q&&(w(null),j([])))},[Q,g]),Me=h.useCallback(()=>{g&&(j([]),ve(Ee=>Ee+1))},[g]),et=h.useCallback(async(Ee,Pe,Qe)=>{if(!e||!he||!g)throw new Error("Cannot send message: not logged in or no conversation selected");const mt=Pe&&Pe.length>0?Pe:(n==null?void 0:n.write)||[],Rt=u.find(sn=>sn.partnerPubkey===g),At=(Rt==null?void 0:Rt.preferredEncryption)??null,_t=await kt.getConversationEncryptionPreference(e,g);let Ht=At;_t==="nip04"?Ht="nip04":_t==="nip17"&&(Ht="nip17");let dt=Qe??0;dt===0&&(dt=await kt.getConversationExpirationPreference(e,g));const xt=await Dl.sendDM(g,Ee,he,mt,L,Ht,dt),vt=Math.floor(Date.now()/1e3),yt=Ht||(L?"nip17":"nip04"),Wt=xt[0],qt=Wt==null?void 0:Wt._innerEventId,Ct={id:(Wt==null?void 0:Wt.id)||`local-${vt}`,innerEventId:qt,senderPubkey:e,recipientPubkey:g,content:Ee,createdAt:vt,encryptionType:yt,event:Wt||{},decryptedContent:Ee};j(sn=>[...sn,Ct]),d(sn=>sn.find(Jt=>Jt.partnerPubkey===g)?sn.map(Jt=>Jt.partnerPubkey===g?{...Jt,lastMessageAt:vt,lastMessagePreview:Ee.substring(0,100),preferredEncryption:yt}:Jt):[{partnerPubkey:g,lastMessageAt:vt,lastMessagePreview:Ee.substring(0,100),unreadCount:0,preferredEncryption:yt},...sn]),Q===g&&(W(null),Y(!1))},[e,he,g,n,u,L,Q]),pt=h.useCallback(Ee=>{B(Ee),Xe.setPreferNip44(Ee),kr()},[]),ht=h.useCallback(Ee=>{V(Pe=>{const Qe=new Set(Pe);return Qe.has(Ee)?(Qe.delete(Ee),Qe.size===0&&G(!1)):(Qe.add(Ee),K||G(!0)),Qe})},[K]),st=h.useCallback(()=>{const Ee=new Set(b.map(Pe=>Pe.id));V(Ee),G(!0)},[b]),De=h.useCallback(()=>{V(new Set),G(!1)},[]),se=h.useCallback(async Ee=>{if(!e||!he)return;await kt.putDeletedMessagesState(e,Ee);const Pe=n!=null&&n.write.length?n.write:ze.currentRelays,Qe=EAe(Ee),mt=await he.signEvent(Qe);await ze.publishEvent(Pe,mt)},[e,he,n]),q=h.useCallback(async()=>{if(!e||$.size===0)return;const Ee=Array.from($),Pe={deletedIds:[...(F==null?void 0:F.deletedIds)||[],...Ee],deletedRanges:(F==null?void 0:F.deletedRanges)||{}};X(Pe),j(Qe=>Qe.filter(mt=>!$.has(mt.id))),V(new Set),G(!1),await se(Pe)},[e,$,F,se]),Z=h.useCallback(async()=>{if(!e||!g)return;const Ee=Math.floor(Date.now()/1e3),Pe={deletedIds:(F==null?void 0:F.deletedIds)||[],deletedRanges:{...(F==null?void 0:F.deletedRanges)||{},[g]:[...(F==null?void 0:F.deletedRanges[g])||[],{start:0,end:Ee}]}};X(Pe),j([]),d(Qe=>Qe.filter(mt=>mt.partnerPubkey!==g)),m(Qe=>Qe.filter(mt=>mt.partnerPubkey!==g)),V(new Set),G(!1),w(null),await se(Pe)},[e,g,F,se]),ie=h.useCallback(async()=>{if(!e||!g)return;const Ee={deletedIds:(F==null?void 0:F.deletedIds)||[],deletedRanges:{...(F==null?void 0:F.deletedRanges)||{},[g]:[]}};X(Ee),j([]),ve(Pe=>Pe+1),await se(Ee),await we()},[e,g,F,se,we]),Ce=h.useMemo(()=>F?u.filter(Ee=>!P6(Ee.partnerPubkey,Ee.lastMessageAt,F)):u,[u,F]),Te=h.useMemo(()=>Ce.reduce((Ee,Pe)=>Ee+Pe.unreadCount,0),[Ce]),Se=h.useMemo(()=>{const Ee=Ce.length===0?0:Math.max(...Ce.map(Pe=>Pe.lastMessageAt));return Math.max(Ee,re)},[Ce,re]),ye=J>0?Se>J:re>0,We=h.useCallback(()=>{e&&(de(0),Se>0&&(ne(Se),Xe.setDMLastSeenTimestamp(e,Se)))},[e,Se]);return c.jsx(kle.Provider,{value:{conversations:Ce,currentConversation:g,messages:b,isLoading:S,isLoadingConversation:N,error:D,selectConversation:Ze,startConversation:nt,sendMessage:et,refreshConversations:Ae,reloadConversation:Me,loadMoreConversations:Ve,hasMoreConversations:T,preferNip44:L,setPreferNip44:pt,isNewConversation:z,clearNewConversationFlag:$e,dismissProvisionalConversation:Ke,totalUnreadCount:Te,hasNewMessages:ye,markInboxAsSeen:We,selectedMessages:$,isSelectionMode:K,toggleMessageSelection:ht,selectAllMessages:st,clearSelection:De,deleteSelectedMessages:q,deleteAllInConversation:Z,undeleteAllInConversation:ie},children:t})}const jle=h.createContext(void 0),ns=()=>{const t=h.useContext(jle);if(!t)throw new Error("useMuteList must be used within a MuteListProvider");return t};function EBe({children:t}){const{t:e}=qe(),{pubkey:n,publish:r,nip04Decrypt:o,nip04Encrypt:s}=wt(),[a,i]=h.useState(null),[l,u]=h.useState(!1),[d,f]=h.useState(!1),m=h.useRef(r),g=h.useRef(o),w=h.useRef(s);m.current=r,g.current=o,w.current=s;const b=h.useMemo(()=>n?new ple({publish:B=>m.current(B),currentUserPubkey:n,decrypt:async(B,T)=>g.current(T,B),encrypt:async(B,T)=>w.current(T,B)}):null,[n]),j=h.useMemo(()=>a?rke(a):new Set,[a]);h.useEffect(()=>{let B=!1;return(async()=>{if(!n||!b){B||i(null);return}B||u(!0);try{const R=Ut.tryFromString(n);if(!R){B||i(null);return}const z=await b.findByOwner(R);B||i(z)}catch(R){console.error("Failed to load mute list:",R),B||i(null)}finally{B||u(!1)}})(),()=>{B=!0}},[n,b]);const S=h.useCallback(()=>Array.from(j),[j]),I=h.useCallback(B=>{if(!a)return null;const T=Ut.tryFromString(B);return T?a.getMuteVisibility(T):null},[a]),N=h.useCallback(async B=>{if(!(!n||!b||d)){f(!0);try{const T=Ut.fromHex(n),R=Ut.tryFromString(B);if(!R)return;const z=await b.findByOwner(T);if(!z&&!confirm(e("MuteListNotFoundConfirmation")))return;const Y=z??ry.empty(T);try{if(Y.mutePublicly(R).type==="no_change")return;await b.save(Y),i(Y),on.success(e("Successfully updated mute list"))}catch(Q){if(Q instanceof wk)return;throw Q}}catch(T){on.error(e("Failed to mute user publicly")+": "+T.message)}finally{f(!1)}}},[n,b,d,e]),M=h.useCallback(async B=>{if(!(!n||!b||d)){f(!0);try{const T=Ut.fromHex(n),R=Ut.tryFromString(B);if(!R)return;const z=await b.findByOwner(T);if(!z&&!confirm(e("MuteListNotFoundConfirmation")))return;const Y=z??ry.empty(T);try{if(Y.mutePrivately(R).type==="no_change")return;await b.save(Y),i(Y),on.success(e("Successfully updated mute list"))}catch(Q){if(Q instanceof wk)return;throw Q}}catch(T){on.error(e("Failed to mute user privately")+": "+T.message)}finally{f(!1)}}},[n,b,d,e]),D=h.useCallback(async B=>{if(!(!n||!b||d)){f(!0);try{const T=Ut.fromHex(n),R=Ut.tryFromString(B);if(!R)return;const z=await b.findByOwner(T);if(!z||z.unmute(R).type==="no_change")return;await b.save(z),i(z),on.success(e("Successfully updated mute list"))}catch(T){on.error(e("Failed to unmute user")+": "+T.message)}finally{f(!1)}}},[n,b,d,e]),O=h.useCallback(async B=>{if(!(!n||!b||d)){f(!0);try{const T=Ut.fromHex(n),R=Ut.tryFromString(B);if(!R)return;const z=await b.findByOwner(T);if(!z||z.switchToPublic(R).type==="no_change")return;await b.save(z),i(z),on.success(e("Successfully updated mute list"))}catch(T){on.error(e("Failed to switch mute visibility")+": "+T.message)}finally{f(!1)}}},[n,b,d,e]),L=h.useCallback(async B=>{if(!(!n||!b||d)){f(!0);try{const T=Ut.fromHex(n),R=Ut.tryFromString(B);if(!R)return;const z=await b.findByOwner(T);if(!z||z.switchToPrivate(R).type==="no_change")return;await b.save(z),i(z),on.success(e("Successfully updated mute list"))}catch(T){on.error(e("Failed to switch mute visibility")+": "+T.message)}finally{f(!1)}}},[n,b,d,e]);return c.jsx(jle.Provider,{value:{mutePubkeySet:j,muteList:a,isLoading:l,changing:d,getMutePubkeys:S,getMuteType:I,mutePubkeyPublicly:N,mutePubkeyPrivately:M,unmutePubkey:D,switchToPublicMute:O,switchToPrivateMute:L},children:t})}function Cle(t,[e,n]){return Math.min(n,Math.max(e,t))}function g0(t,e,{checkForDefaultPrevented:n=!0}={}){return function(o){if(t==null||t(o),n===!1||!o.defaultPrevented)return e==null?void 0:e(o)}}function Nh(t,e=[]){let n=[];function r(s,a){const i=h.createContext(a),l=n.length;n=[...n,a];const u=f=>{var S;const{scope:m,children:g,...w}=f,b=((S=m==null?void 0:m[t])==null?void 0:S[l])||i,j=h.useMemo(()=>w,Object.values(w));return c.jsx(b.Provider,{value:j,children:g})};u.displayName=s+"Provider";function d(f,m){var b;const g=((b=m==null?void 0:m[t])==null?void 0:b[l])||i,w=h.useContext(g);if(w)return w;if(a!==void 0)return a;throw new Error(`\`${f}\` must be used within \`${s}\``)}return[u,d]}const o=()=>{const s=n.map(a=>h.createContext(a));return function(i){const l=(i==null?void 0:i[t])||s;return h.useMemo(()=>({[`__scope${t}`]:{...i,[t]:l}}),[i,l])}};return o.scopeName=t,[r,NBe(o,...e)]}function NBe(...t){const e=t[0];if(t.length===1)return e;const n=()=>{const r=t.map(o=>({useScope:o(),scopeName:o.scopeName}));return function(s){const a=r.reduce((i,{useScope:l,scopeName:u})=>{const f=l(s)[`__scope${u}`];return{...i,...f}},{});return h.useMemo(()=>({[`__scope${e.scopeName}`]:a}),[a])}};return n.scopeName=e.scopeName,n}var IBe=globalThis!=null&&globalThis.document?h.useLayoutEffect:()=>{},ABe=yh[" useInsertionEffect ".trim().toString()]||IBe;function Kg({prop:t,defaultProp:e,onChange:n=()=>{},caller:r}){const[o,s,a]=_Be({defaultProp:e,onChange:n}),i=t!==void 0,l=i?t:o;{const d=h.useRef(t!==void 0);h.useEffect(()=>{const f=d.current;f!==i&&console.warn(`${r} is changing from ${f?"controlled":"uncontrolled"} to ${i?"controlled":"uncontrolled"}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`),d.current=i},[i,r])}const u=h.useCallback(d=>{var f;if(i){const m=MBe(d)?d(t):d;m!==t&&((f=a.current)==null||f.call(a,m))}else s(d)},[i,t,s,a]);return[l,u]}function _Be({defaultProp:t,onChange:e}){const[n,r]=h.useState(t),o=h.useRef(n),s=h.useRef(e);return ABe(()=>{s.current=e},[e]),h.useEffect(()=>{var a;o.current!==n&&((a=s.current)==null||a.call(s,n),o.current=n)},[n,o]),[n,r,s]}function MBe(t){return typeof t=="function"}var RBe=h.createContext(void 0);function YS(t){const e=h.useContext(RBe);return t||e||"ltr"}function FL(t){const e=h.useRef({value:t,previous:t});return h.useMemo(()=>(e.current.value!==t&&(e.current.previous=e.current.value,e.current.value=t),e.current.previous),[t])}var TBe=globalThis!=null&&globalThis.document?h.useLayoutEffect:()=>{};function BL(t){const[e,n]=h.useState(void 0);return TBe(()=>{if(t){n({width:t.offsetWidth,height:t.offsetHeight});const r=new ResizeObserver(o=>{if(!Array.isArray(o)||!o.length)return;const s=o[0];let a,i;if("borderBoxSize"in s){const l=s.borderBoxSize,u=Array.isArray(l)?l[0]:l;a=u.inlineSize,i=u.blockSize}else a=t.offsetWidth,i=t.offsetHeight;n({width:a,height:i})});return r.observe(t,{box:"border-box"}),()=>r.unobserve(t)}else n(void 0)},[t]),e}var DBe=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],ys=DBe.reduce((t,e)=>{const n=tj(`Primitive.${e}`),r=h.forwardRef((o,s)=>{const{asChild:a,...i}=o,l=a?n:e;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),c.jsx(l,{...i,ref:s})});return r.displayName=`Primitive.${e}`,{...t,[e]:r}},{});function UL(t){const e=t+"CollectionProvider",[n,r]=Nh(e),[o,s]=n(e,{collectionRef:{current:null},itemMap:new Map}),a=b=>{const{scope:j,children:S}=b,I=Be.useRef(null),N=Be.useRef(new Map).current;return c.jsx(o,{scope:j,itemMap:N,collectionRef:I,children:S})};a.displayName=e;const i=t+"CollectionSlot",l=tj(i),u=Be.forwardRef((b,j)=>{const{scope:S,children:I}=b,N=s(i,S),M=ca(j,N.collectionRef);return c.jsx(l,{ref:M,children:I})});u.displayName=i;const d=t+"CollectionItemSlot",f="data-radix-collection-item",m=tj(d),g=Be.forwardRef((b,j)=>{const{scope:S,children:I,...N}=b,M=Be.useRef(null),D=ca(j,M),O=s(d,S);return Be.useEffect(()=>(O.itemMap.set(M,{ref:M,...N}),()=>void O.itemMap.delete(M))),c.jsx(m,{[f]:"",ref:D,children:I})});g.displayName=d;function w(b){const j=s(t+"CollectionConsumer",b);return Be.useCallback(()=>{const I=j.collectionRef.current;if(!I)return[];const N=Array.from(I.querySelectorAll(`[${f}]`));return Array.from(j.itemMap.values()).sort((O,L)=>N.indexOf(O.ref.current)-N.indexOf(L.ref.current))},[j.collectionRef,j.itemMap])}return[{Provider:a,Slot:u,ItemSlot:g},w,r]}var Sle=["PageUp","PageDown"],Ele=["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"],Nle={"from-left":["Home","PageDown","ArrowDown","ArrowLeft"],"from-right":["Home","PageDown","ArrowDown","ArrowRight"],"from-bottom":["Home","PageDown","ArrowDown","ArrowLeft"],"from-top":["Home","PageDown","ArrowUp","ArrowLeft"]},rv="Slider",[Z8,LBe,PBe]=UL(rv),[Ile]=Nh(rv,[PBe]),[OBe,GS]=Ile(rv),Ale=h.forwardRef((t,e)=>{const{name:n,min:r=0,max:o=100,step:s=1,orientation:a="horizontal",disabled:i=!1,minStepsBetweenThumbs:l=0,defaultValue:u=[r],value:d,onValueChange:f=()=>{},onValueCommit:m=()=>{},inverted:g=!1,form:w,...b}=t,j=h.useRef(new Set),S=h.useRef(0),N=a==="horizontal"?zBe:FBe,[M=[],D]=Kg({prop:d,defaultProp:u,onChange:z=>{var Q;(Q=[...j.current][S.current])==null||Q.focus(),f(z)}}),O=h.useRef(M);function L(z){const Y=HBe(M,z);R(z,Y)}function B(z){R(z,S.current)}function T(){const z=O.current[S.current];M[S.current]!==z&&m(M)}function R(z,Y,{commit:Q}={commit:!1}){const W=qBe(s),F=KBe(Math.round((z-r)/s)*s+r,W),X=Cle(F,[r,o]);D(($=[])=>{const V=$Be($,X,Y);if(GBe(V,l*s)){S.current=V.indexOf(X);const K=String(V)!==String($);return K&&Q&&m(V),K?V:$}else return $})}return c.jsx(OBe,{scope:t.__scopeSlider,name:n,disabled:i,min:r,max:o,valueIndexToChangeRef:S,thumbs:j.current,values:M,orientation:a,form:w,children:c.jsx(Z8.Provider,{scope:t.__scopeSlider,children:c.jsx(Z8.Slot,{scope:t.__scopeSlider,children:c.jsx(N,{"aria-disabled":i,"data-disabled":i?"":void 0,...b,ref:e,onPointerDown:g0(b.onPointerDown,()=>{i||(O.current=M)}),min:r,max:o,inverted:g,onSlideStart:i?void 0:L,onSlideMove:i?void 0:B,onSlideEnd:i?void 0:T,onHomeKeyDown:()=>!i&&R(r,0,{commit:!0}),onEndKeyDown:()=>!i&&R(o,M.length-1,{commit:!0}),onStepKeyDown:({event:z,direction:Y})=>{if(!i){const F=Sle.includes(z.key)||z.shiftKey&&Ele.includes(z.key)?10:1,X=S.current,$=M[X],V=s*F*Y;R($+V,X,{commit:!0})}}})})})})});Ale.displayName=rv;var[_le,Mle]=Ile(rv,{startEdge:"left",endEdge:"right",size:"width",direction:1}),zBe=h.forwardRef((t,e)=>{const{min:n,max:r,dir:o,inverted:s,onSlideStart:a,onSlideMove:i,onSlideEnd:l,onStepKeyDown:u,...d}=t,[f,m]=h.useState(null),g=ca(e,N=>m(N)),w=h.useRef(void 0),b=YS(o),j=b==="ltr",S=j&&!s||!j&&s;function I(N){const M=w.current||f.getBoundingClientRect(),D=[0,M.width],L=$L(D,S?[n,r]:[r,n]);return w.current=M,L(N-M.left)}return c.jsx(_le,{scope:t.__scopeSlider,startEdge:S?"left":"right",endEdge:S?"right":"left",direction:S?1:-1,size:"width",children:c.jsx(Rle,{dir:b,"data-orientation":"horizontal",...d,ref:g,style:{...d.style,"--radix-slider-thumb-transform":"translateX(-50%)"},onSlideStart:N=>{const M=I(N.clientX);a==null||a(M)},onSlideMove:N=>{const M=I(N.clientX);i==null||i(M)},onSlideEnd:()=>{w.current=void 0,l==null||l()},onStepKeyDown:N=>{const D=Nle[S?"from-left":"from-right"].includes(N.key);u==null||u({event:N,direction:D?-1:1})}})})}),FBe=h.forwardRef((t,e)=>{const{min:n,max:r,inverted:o,onSlideStart:s,onSlideMove:a,onSlideEnd:i,onStepKeyDown:l,...u}=t,d=h.useRef(null),f=ca(e,d),m=h.useRef(void 0),g=!o;function w(b){const j=m.current||d.current.getBoundingClientRect(),S=[0,j.height],N=$L(S,g?[r,n]:[n,r]);return m.current=j,N(b-j.top)}return c.jsx(_le,{scope:t.__scopeSlider,startEdge:g?"bottom":"top",endEdge:g?"top":"bottom",size:"height",direction:g?1:-1,children:c.jsx(Rle,{"data-orientation":"vertical",...u,ref:f,style:{...u.style,"--radix-slider-thumb-transform":"translateY(50%)"},onSlideStart:b=>{const j=w(b.clientY);s==null||s(j)},onSlideMove:b=>{const j=w(b.clientY);a==null||a(j)},onSlideEnd:()=>{m.current=void 0,i==null||i()},onStepKeyDown:b=>{const S=Nle[g?"from-bottom":"from-top"].includes(b.key);l==null||l({event:b,direction:S?-1:1})}})})}),Rle=h.forwardRef((t,e)=>{const{__scopeSlider:n,onSlideStart:r,onSlideMove:o,onSlideEnd:s,onHomeKeyDown:a,onEndKeyDown:i,onStepKeyDown:l,...u}=t,d=GS(rv,n);return c.jsx(ys.span,{...u,ref:e,onKeyDown:g0(t.onKeyDown,f=>{f.key==="Home"?(a(f),f.preventDefault()):f.key==="End"?(i(f),f.preventDefault()):Sle.concat(Ele).includes(f.key)&&(l(f),f.preventDefault())}),onPointerDown:g0(t.onPointerDown,f=>{const m=f.target;m.setPointerCapture(f.pointerId),f.preventDefault(),d.thumbs.has(m)?m.focus():r(f)}),onPointerMove:g0(t.onPointerMove,f=>{f.target.hasPointerCapture(f.pointerId)&&o(f)}),onPointerUp:g0(t.onPointerUp,f=>{const m=f.target;m.hasPointerCapture(f.pointerId)&&(m.releasePointerCapture(f.pointerId),s(f))})})}),Tle="SliderTrack",Dle=h.forwardRef((t,e)=>{const{__scopeSlider:n,...r}=t,o=GS(Tle,n);return c.jsx(ys.span,{"data-disabled":o.disabled?"":void 0,"data-orientation":o.orientation,...r,ref:e})});Dle.displayName=Tle;var Q8="SliderRange",Lle=h.forwardRef((t,e)=>{const{__scopeSlider:n,...r}=t,o=GS(Q8,n),s=Mle(Q8,n),a=h.useRef(null),i=ca(e,a),l=o.values.length,u=o.values.map(m=>zle(m,o.min,o.max)),d=l>1?Math.min(...u):0,f=100-Math.max(...u);return c.jsx(ys.span,{"data-orientation":o.orientation,"data-disabled":o.disabled?"":void 0,...r,ref:i,style:{...t.style,[s.startEdge]:d+"%",[s.endEdge]:f+"%"}})});Lle.displayName=Q8;var J8="SliderThumb",Ple=h.forwardRef((t,e)=>{const n=LBe(t.__scopeSlider),[r,o]=h.useState(null),s=ca(e,i=>o(i)),a=h.useMemo(()=>r?n().findIndex(i=>i.ref.current===r):-1,[n,r]);return c.jsx(BBe,{...t,ref:s,index:a})}),BBe=h.forwardRef((t,e)=>{const{__scopeSlider:n,index:r,name:o,...s}=t,a=GS(J8,n),i=Mle(J8,n),[l,u]=h.useState(null),d=ca(e,I=>u(I)),f=l?a.form||!!l.closest("form"):!0,m=BL(l),g=a.values[r],w=g===void 0?0:zle(g,a.min,a.max),b=VBe(r,a.values.length),j=m==null?void 0:m[i.size],S=j?WBe(j,w,i.direction):0;return h.useEffect(()=>{if(l)return a.thumbs.add(l),()=>{a.thumbs.delete(l)}},[l,a.thumbs]),c.jsxs("span",{style:{transform:"var(--radix-slider-thumb-transform)",position:"absolute",[i.startEdge]:`calc(${w}% + ${S}px)`},children:[c.jsx(Z8.ItemSlot,{scope:t.__scopeSlider,children:c.jsx(ys.span,{role:"slider","aria-label":t["aria-label"]||b,"aria-valuemin":a.min,"aria-valuenow":g,"aria-valuemax":a.max,"aria-orientation":a.orientation,"data-orientation":a.orientation,"data-disabled":a.disabled?"":void 0,tabIndex:a.disabled?void 0:0,...s,ref:d,style:g===void 0?{display:"none"}:t.style,onFocus:g0(t.onFocus,()=>{a.valueIndexToChangeRef.current=r})})}),f&&c.jsx(Ole,{name:o??(a.name?a.name+(a.values.length>1?"[]":""):void 0),form:a.form,value:g},r)]})});Ple.displayName=J8;var UBe="RadioBubbleInput",Ole=h.forwardRef(({__scopeSlider:t,value:e,...n},r)=>{const o=h.useRef(null),s=ca(o,r),a=FL(e);return h.useEffect(()=>{const i=o.current;if(!i)return;const l=window.HTMLInputElement.prototype,d=Object.getOwnPropertyDescriptor(l,"value").set;if(a!==e&&d){const f=new Event("input",{bubbles:!0});d.call(i,e),i.dispatchEvent(f)}},[a,e]),c.jsx(ys.input,{style:{display:"none"},...n,ref:s,defaultValue:e})});Ole.displayName=UBe;function $Be(t=[],e,n){const r=[...t];return r[n]=e,r.sort((o,s)=>o-s)}function zle(t,e,n){const s=100/(n-e)*(t-e);return Cle(s,[0,100])}function VBe(t,e){return e>2?`Value ${t+1} of ${e}`:e===2?["Minimum","Maximum"][t]:void 0}function HBe(t,e){if(t.length===1)return 0;const n=t.map(o=>Math.abs(o-e)),r=Math.min(...n);return n.indexOf(r)}function WBe(t,e,n){const r=t/2,s=$L([0,50],[0,r]);return(r-s(e)*n)*n}function YBe(t){return t.slice(0,-1).map((e,n)=>t[n+1]-e)}function GBe(t,e){if(e>0){const n=YBe(t);return Math.min(...n)>=e}return!0}function $L(t,e){return n=>{if(t[0]===t[1]||e[0]===e[1])return e[0];const r=(e[1]-e[0])/(t[1]-t[0]);return e[0]+r*(n-t[0])}}function qBe(t){return(String(t).split(".")[1]||"").length}function KBe(t,e){const n=Math.pow(10,e);return Math.round(t*n)/n}var Fle=Ale,ZBe=Dle,QBe=Lle,JBe=Ple;const qS=h.forwardRef(({className:t,hideThumb:e,enableHoverAnimation:n,...r},o)=>{const[s,a]=h.useState(!1);return c.jsxs(Fle,{ref:o,className:Re("relative flex w-full touch-none select-none items-center",t),...r,onMouseEnter:()=>a(!0),onMouseLeave:()=>a(!1),onTouchStart:()=>a(!0),onTouchEnd:()=>a(!1),children:[c.jsx(ZBe,{className:Re("relative w-full grow overflow-hidden rounded-full bg-primary/20 cursor-pointer transition-all",s&&n?"h-3":"h-1.5"),children:c.jsx(QBe,{className:"absolute h-full bg-primary disabled:bg-primary/30 rounded-full"})}),!e&&c.jsx(JBe,{className:Re("block h-4 w-4 rounded-full border-2 border-primary bg-background transition-all duration-200 cursor-pointer focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50")})]})});qS.displayName=Fle.displayName;const wy={};function Ble(t){return"init"in t}function X8(t){return!!t.write}function YY(t){return"v"in t||"e"in t}function lj(t){if("e"in t)throw t.e;if((wy?"production":void 0)!=="production"&&!("v"in t))throw new Error("[Bug] atom state is not initialized");return t.v}const cj=new WeakMap;function Ule(t){var e;return uj(t)&&!!((e=cj.get(t))!=null&&e[0])}function XBe(t){const e=cj.get(t);e!=null&&e[0]&&(e[0]=!1,e[1].forEach(n=>n()))}function eM(t,e){let n=cj.get(t);if(!n){n=[!0,new Set],cj.set(t,n);const r=()=>{n[0]=!1};t.then(r,r)}n[1].add(e)}function uj(t){return typeof(t==null?void 0:t.then)=="function"}function $le(t,e,n){if(!n.p.has(t)){n.p.add(t);const r=()=>n.p.delete(t);e.then(r,r)}}function Vle(t,e,n){var r;const o=new Set;for(const s of((r=n.get(t))==null?void 0:r.t)||[])n.has(s)&&o.add(s);for(const s of e.p)o.add(s);return o}const eUe=(t,e,...n)=>e.read(...n),tUe=(t,e,...n)=>e.write(...n),nUe=(t,e)=>{var n;return(n=e.unstable_onInit)==null?void 0:n.call(e,t)},rUe=(t,e,n)=>{var r;return(r=e.onMount)==null?void 0:r.call(e,n)},oUe=(t,e)=>{const n=Ta(t),r=n[0],o=n[9];if((wy?"production":void 0)!=="production"&&!e)throw new Error("Atom is undefined or null");let s=r.get(e);return s||(s={d:new Map,p:new Set,n:0},r.set(e,s),o==null||o(t,e)),s},sUe=t=>{const e=Ta(t),n=e[1],r=e[3],o=e[4],s=e[5],a=e[6],i=e[13],l=[],u=d=>{try{d()}catch(f){l.push(f)}};do{a.f&&u(a.f);const d=new Set,f=d.add.bind(d);r.forEach(m=>{var g;return(g=n.get(m))==null?void 0:g.l.forEach(f)}),r.clear(),s.forEach(f),s.clear(),o.forEach(f),o.clear(),d.forEach(u),r.size&&i(t)}while(r.size||s.size||o.size);if(l.length)throw new AggregateError(l)},aUe=t=>{const e=Ta(t),n=e[1],r=e[2],o=e[3],s=e[11],a=e[14],i=e[17],l=[],u=new WeakSet,d=new WeakSet,f=Array.from(o);for(;f.length;){const m=f[f.length-1],g=s(t,m);if(d.has(m)){f.pop();continue}if(u.has(m)){if(r.get(m)===g.n)l.push([m,g]);else if((wy?"production":void 0)!=="production"&&r.has(m))throw new Error("[Bug] invalidated atom exists");d.add(m),f.pop();continue}u.add(m);for(const w of Vle(m,g,n))u.has(w)||f.push(w)}for(let m=l.length-1;m>=0;--m){const[g,w]=l[m];let b=!1;for(const j of w.d.keys())if(j!==g&&o.has(j)){b=!0;break}b&&(a(t,g),i(t,g)),r.delete(g)}},iUe=(t,e)=>{var n,r;const o=Ta(t),s=o[1],a=o[2],i=o[3],l=o[6],u=o[7],d=o[11],f=o[12],m=o[13],g=o[14],w=o[16],b=o[17],j=d(t,e);if(YY(j)&&(s.has(e)&&a.get(e)!==j.n||Array.from(j.d).every(([B,T])=>g(t,B).n===T)))return j;j.d.clear();let S=!0;function I(){s.has(e)&&(b(t,e),m(t),f(t))}function N(B){var T;if(B===e){const z=d(t,B);if(!YY(z))if(Ble(B))fj(t,B,B.init);else throw new Error("no atom init");return lj(z)}const R=g(t,B);try{return lj(R)}finally{j.d.set(B,R.n),Ule(j.v)&&$le(e,j.v,R),(T=s.get(B))==null||T.t.add(e),S||I()}}let M,D;const O={get signal(){return M||(M=new AbortController),M.signal},get setSelf(){return(wy?"production":void 0)!=="production"&&!X8(e)&&console.warn("setSelf function cannot be used with read-only atom"),!D&&X8(e)&&(D=(...B)=>{if((wy?"production":void 0)!=="production"&&S&&console.warn("setSelf function cannot be called in sync"),!S)try{return w(t,e,...B)}finally{m(t),f(t)}}),D}},L=j.n;try{const B=u(t,e,N,O);return fj(t,e,B),uj(B)&&(eM(B,()=>M==null?void 0:M.abort()),B.then(I,I)),(n=l.r)==null||n.call(l,e),j}catch(B){return delete j.v,j.e=B,++j.n,j}finally{S=!1,L!==j.n&&a.get(e)===L&&(a.set(e,j.n),i.add(e),(r=l.c)==null||r.call(l,e))}},lUe=(t,e)=>{const n=Ta(t),r=n[1],o=n[2],s=n[11],a=[e];for(;a.length;){const i=a.pop(),l=s(t,i);for(const u of Vle(i,l,r)){const d=s(t,u);o.set(u,d.n),a.push(u)}}},Hle=(t,e,...n)=>{const r=Ta(t),o=r[3],s=r[6],a=r[8],i=r[11],l=r[12],u=r[13],d=r[14],f=r[15],m=r[17];let g=!0;const w=j=>lj(d(t,j)),b=(j,...S)=>{var I;const N=i(t,j);try{if(j===e){if(!Ble(j))throw new Error("atom not writable");const M=N.n,D=S[0];fj(t,j,D),m(t,j),M!==N.n&&(o.add(j),(I=s.c)==null||I.call(s,j),f(t,j));return}else return Hle(t,j,...S)}finally{g||(u(t),l(t))}};try{return a(t,e,w,b,...n)}finally{g=!1}},cUe=(t,e)=>{var n;const r=Ta(t),o=r[1],s=r[3],a=r[6],i=r[11],l=r[15],u=r[18],d=r[19],f=i(t,e),m=o.get(e);if(m&&!Ule(f.v)){for(const[g,w]of f.d)if(!m.d.has(g)){const b=i(t,g);u(t,g).t.add(e),m.d.add(g),w!==b.n&&(s.add(g),(n=a.c)==null||n.call(a,g),l(t,g))}for(const g of m.d||[])if(!f.d.has(g)){m.d.delete(g);const w=d(t,g);w==null||w.t.delete(e)}}},Wle=(t,e)=>{var n;const r=Ta(t),o=r[1],s=r[4],a=r[6],i=r[10],l=r[11],u=r[12],d=r[13],f=r[14],m=r[16],g=l(t,e);let w=o.get(e);if(!w){f(t,e);for(const b of g.d.keys())Wle(t,b).t.add(e);if(w={l:new Set,d:new Set(g.d.keys()),t:new Set},o.set(e,w),(n=a.m)==null||n.call(a,e),X8(e)){const b=()=>{let j=!0;const S=(...I)=>{try{return m(t,e,...I)}finally{j||(d(t),u(t))}};try{const I=i(t,e,S);I&&(w.u=()=>{j=!0;try{I()}finally{j=!1}})}finally{j=!1}};s.add(b)}}return w},uUe=(t,e)=>{var n;const r=Ta(t),o=r[1],s=r[5],a=r[6],i=r[11],l=r[19],u=i(t,e);let d=o.get(e);if(d&&!d.l.size&&!Array.from(d.t).some(f=>{var m;return(m=o.get(f))==null?void 0:m.d.has(e)})){d.u&&s.add(d.u),d=void 0,o.delete(e),(n=a.u)==null||n.call(a,e);for(const f of u.d.keys()){const m=l(t,f);m==null||m.t.delete(e)}return}return d},fj=(t,e,n)=>{const r=Ta(t)[11],o=r(t,e),s="v"in o,a=o.v;if(uj(n))for(const i of o.d.keys())$le(e,n,r(t,i));o.v=n,delete o.e,(!s||!Object.is(a,o.v))&&(++o.n,uj(a)&&XBe(a))},fUe=(t,e)=>{const n=Ta(t)[14];return lj(n(t,e))},dUe=(t,e,...n)=>{const r=Ta(t),o=r[12],s=r[13],a=r[16];try{return a(t,e,...n)}finally{s(t),o(t)}},pUe=(t,e,n)=>{const r=Ta(t),o=r[12],s=r[18],a=r[19],l=s(t,e).l;return l.add(n),o(t),()=>{l.delete(n),a(t,e),o(t)}},Yle=new WeakMap,Ta=t=>{const e=Yle.get(t);if((wy?"production":void 0)!=="production"&&!e)throw new Error("Store must be created by buildStore to read its building blocks");return e};function hUe(...t){const e={get(r){const o=Ta(e)[21];return o(e,r)},set(r,...o){const s=Ta(e)[22];return s(e,r,...o)},sub(r,o){const s=Ta(e)[23];return s(e,r,o)}},n=[new WeakMap,new WeakMap,new WeakMap,new Set,new Set,new Set,{},eUe,tUe,nUe,rUe,oUe,sUe,aUe,iUe,lUe,Hle,cUe,Wle,uUe,fj,fUe,dUe,pUe,void 0].map((r,o)=>t[o]||r);return Yle.set(e,Object.freeze(n)),e}const Gle={};let mUe=0;function gUe(t,e){const n=`atom${++mUe}`,r={toString(){return(Gle?"production":void 0)!=="production"&&this.debugLabel?n+":"+this.debugLabel:n}};return r.init=t,r.read=yUe,r.write=vUe,r}function yUe(t){return t(this)}function vUe(t,e,n){return e(this,typeof n=="function"?n(t(this)):n)}function wUe(){return hUe()}let bw;function qle(){return bw||(bw=wUe(),(Gle?"production":void 0)!=="production"&&(globalThis.__JOTAI_DEFAULT_STORE__||(globalThis.__JOTAI_DEFAULT_STORE__=bw),globalThis.__JOTAI_DEFAULT_STORE__!==bw&&console.warn("Detected multiple Jotai instances. It may cause unexpected behavior with the default store. https://github.com/pmndrs/jotai/discussions/2044"))),bw}const bUe=h.createContext(void 0);function xUe(t){return h.useContext(bUe)||qle()}const tM=t=>typeof(t==null?void 0:t.then)=="function",nM=t=>{t.status||(t.status="pending",t.then(e=>{t.status="fulfilled",t.value=e},e=>{t.status="rejected",t.reason=e}))},kUe=Be.use||(t=>{if(t.status==="pending")throw t;if(t.status==="fulfilled")return t.value;throw t.status==="rejected"?t.reason:(nM(t),t)}),cA=new WeakMap,GY=(t,e)=>{let n=cA.get(t);return n||(n=new Promise((r,o)=>{let s=t;const a=u=>d=>{s===u&&r(d)},i=u=>d=>{s===u&&o(d)},l=()=>{try{const u=e();tM(u)?(cA.set(u,n),s=u,u.then(a(u),i(u)),eM(u,l)):r(u)}catch(u){o(u)}};t.then(a(t),i(t)),eM(t,l)}),cA.set(t,n)),n};function Kle(t,e){const{delay:n,unstable_promiseStatus:r=!Be.use}={},o=xUe(),[[s,a,i],l]=h.useReducer(d=>{const f=o.get(t);return Object.is(d[0],f)&&d[1]===o&&d[2]===t?d:[f,o,t]},void 0,()=>[o.get(t),o,t]);let u=s;if((a!==o||i!==t)&&(l(),u=o.get(t)),h.useEffect(()=>{const d=o.sub(t,()=>{if(r)try{const f=o.get(t);tM(f)&&nM(GY(f,()=>o.get(t)))}catch{}if(typeof n=="number"){setTimeout(l,n);return}l()});return l(),d},[o,t,n,r]),h.useDebugValue(u),tM(u)){const d=GY(u,()=>o.get(t));return r&&nM(d),kUe(d)}return u}const Xw=gUe(!1),uA=qle(),Mm=class Mm extends EventTarget{constructor(){super();je(this,"currentMedia",null)}static getInstance(){return Mm.instance||(Mm.instance=new Mm),Mm.instance}pause(n){n&&(jUe(n)||(this.currentMedia===n&&(this.currentMedia=null),n.pause()))}autoPlay(n){document.pictureInPictureElement&&fA(document.pictureInPictureElement)||uA.get(Xw)&&this.currentMedia&&fA(this.currentMedia)||this.play(n)}play(n){n&&(document.pictureInPictureElement&&document.pictureInPictureElement!==n&&document.pictureInPictureElement.pause(),this.currentMedia&&this.currentMedia!==n&&this.currentMedia.pause(),this.currentMedia=n,!fA(n)&&this.currentMedia.play().catch(r=>{console.error("Error playing media:",r),this.currentMedia=null}))}playAudioBackground(n,r=0){this.dispatchEvent(new CustomEvent("playAudioBackground",{detail:{src:n,time:r}})),uA.set(Xw,!0)}stopAudioBackground(){this.dispatchEvent(new Event("stopAudioBackground")),uA.set(Xw,!1)}};je(Mm,"instance");let rM=Mm;const Pp=rM.getInstance();function fA(t){return t.currentTime>0&&!t.paused&&!t.ended&&t.readyState>=2}function jUe(t){return document.pictureInPictureElement===t?!0:t.webkitPresentationMode==="picture-in-picture"}function dj(t,e,{checkForDefaultPrevented:n=!0}={}){return function(o){if(t==null||t(o),n===!1||!o.defaultPrevented)return e==null?void 0:e(o)}}function qY(t,e){if(typeof t=="function")return t(e);t!=null&&(t.current=e)}function Zle(...t){return e=>{let n=!1;const r=t.map(o=>{const s=qY(o,e);return!n&&typeof s=="function"&&(n=!0),s});if(n)return()=>{for(let o=0;o<r.length;o++){const s=r[o];typeof s=="function"?s():qY(t[o],null)}}}}function CUe(t,e=[]){let n=[];function r(s,a){const i=h.createContext(a),l=n.length;n=[...n,a];const u=f=>{var S;const{scope:m,children:g,...w}=f,b=((S=m==null?void 0:m[t])==null?void 0:S[l])||i,j=h.useMemo(()=>w,Object.values(w));return c.jsx(b.Provider,{value:j,children:g})};u.displayName=s+"Provider";function d(f,m){var b;const g=((b=m==null?void 0:m[t])==null?void 0:b[l])||i,w=h.useContext(g);if(w)return w;if(a!==void 0)return a;throw new Error(`\`${f}\` must be used within \`${s}\``)}return[u,d]}const o=()=>{const s=n.map(a=>h.createContext(a));return function(i){const l=(i==null?void 0:i[t])||s;return h.useMemo(()=>({[`__scope${t}`]:{...i,[t]:l}}),[i,l])}};return o.scopeName=t,[r,SUe(o,...e)]}function SUe(...t){const e=t[0];if(t.length===1)return e;const n=()=>{const r=t.map(o=>({useScope:o(),scopeName:o.scopeName}));return function(s){const a=r.reduce((i,{useScope:l,scopeName:u})=>{const f=l(s)[`__scope${u}`];return{...i,...f}},{});return h.useMemo(()=>({[`__scope${e.scopeName}`]:a}),[a])}};return n.scopeName=e.scopeName,n}function Qle({prop:t,defaultProp:e,onChange:n=()=>{}}){const[r,o]=EUe({defaultProp:e,onChange:n}),s=t!==void 0,a=s?t:r,i=or(n),l=h.useCallback(u=>{if(s){const f=typeof u=="function"?u(t):u;f!==t&&i(f)}else o(u)},[s,t,o,i]);return[a,l]}function EUe({defaultProp:t,onChange:e}){const n=h.useState(t),[r]=n,o=h.useRef(r),s=or(e);return h.useEffect(()=>{o.current!==r&&(s(r),o.current=r)},[r,o,s]),n}var Jle=h.forwardRef((t,e)=>{const{children:n,...r}=t,o=h.Children.toArray(n),s=o.find(IUe);if(s){const a=s.props.children,i=o.map(l=>l===s?h.Children.count(a)>1?h.Children.only(null):h.isValidElement(a)?a.props.children:null:l);return c.jsx(oM,{...r,ref:e,children:h.isValidElement(a)?h.cloneElement(a,void 0,i):null})}return c.jsx(oM,{...r,ref:e,children:n})});Jle.displayName="Slot";var oM=h.forwardRef((t,e)=>{const{children:n,...r}=t;if(h.isValidElement(n)){const o=_Ue(n);return h.cloneElement(n,{...AUe(r,n.props),ref:e?Zle(e,o):o})}return h.Children.count(n)>1?h.Children.only(null):null});oM.displayName="SlotClone";var NUe=({children:t})=>c.jsx(c.Fragment,{children:t});function IUe(t){return h.isValidElement(t)&&t.type===NUe}function AUe(t,e){const n={...e};for(const r in e){const o=t[r],s=e[r];/^on[A-Z]/.test(r)?o&&s?n[r]=(...i)=>{s(...i),o(...i)}:o&&(n[r]=o):r==="style"?n[r]={...o,...s}:r==="className"&&(n[r]=[o,s].filter(Boolean).join(" "))}return{...t,...n}}function _Ue(t){var r,o;let e=(r=Object.getOwnPropertyDescriptor(t.props,"ref"))==null?void 0:r.get,n=e&&"isReactWarning"in e&&e.isReactWarning;return n?t.ref:(e=(o=Object.getOwnPropertyDescriptor(t,"ref"))==null?void 0:o.get,n=e&&"isReactWarning"in e&&e.isReactWarning,n?t.props.ref:t.props.ref||t.ref)}var MUe=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","span","svg","ul"],RUe=MUe.reduce((t,e)=>{const n=h.forwardRef((r,o)=>{const{asChild:s,...a}=r,i=s?Jle:e;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),c.jsx(i,{...a,ref:o})});return n.displayName=`Primitive.${e}`,{...t,[e]:n}},{});function Br(t,e,{checkForDefaultPrevented:n=!0}={}){return function(o){if(t==null||t(o),n===!1||!o.defaultPrevented)return e==null?void 0:e(o)}}function VL(t,e=[]){let n=[];function r(s,a){const i=h.createContext(a),l=n.length;n=[...n,a];const u=f=>{var S;const{scope:m,children:g,...w}=f,b=((S=m==null?void 0:m[t])==null?void 0:S[l])||i,j=h.useMemo(()=>w,Object.values(w));return c.jsx(b.Provider,{value:j,children:g})};u.displayName=s+"Provider";function d(f,m){var b;const g=((b=m==null?void 0:m[t])==null?void 0:b[l])||i,w=h.useContext(g);if(w)return w;if(a!==void 0)return a;throw new Error(`\`${f}\` must be used within \`${s}\``)}return[u,d]}const o=()=>{const s=n.map(a=>h.createContext(a));return function(i){const l=(i==null?void 0:i[t])||s;return h.useMemo(()=>({[`__scope${t}`]:{...i,[t]:l}}),[i,l])}};return o.scopeName=t,[r,TUe(o,...e)]}function TUe(...t){const e=t[0];if(t.length===1)return e;const n=()=>{const r=t.map(o=>({useScope:o(),scopeName:o.scopeName}));return function(s){const a=r.reduce((i,{useScope:l,scopeName:u})=>{const f=l(s)[`__scope${u}`];return{...i,...f}},{});return h.useMemo(()=>({[`__scope${e.scopeName}`]:a}),[a])}};return n.scopeName=e.scopeName,n}function KY(t,e){if(typeof t=="function")return t(e);t!=null&&(t.current=e)}function HL(...t){return e=>{let n=!1;const r=t.map(o=>{const s=KY(o,e);return!n&&typeof s=="function"&&(n=!0),s});if(n)return()=>{for(let o=0;o<r.length;o++){const s=r[o];typeof s=="function"?s():KY(t[o],null)}}}}function dd(...t){return h.useCallback(HL(...t),t)}var l2=h.forwardRef((t,e)=>{const{children:n,...r}=t,o=h.Children.toArray(n),s=o.find(LUe);if(s){const a=s.props.children,i=o.map(l=>l===s?h.Children.count(a)>1?h.Children.only(null):h.isValidElement(a)?a.props.children:null:l);return c.jsx(sM,{...r,ref:e,children:h.isValidElement(a)?h.cloneElement(a,void 0,i):null})}return c.jsx(sM,{...r,ref:e,children:n})});l2.displayName="Slot";var sM=h.forwardRef((t,e)=>{const{children:n,...r}=t;if(h.isValidElement(n)){const o=OUe(n);return h.cloneElement(n,{...PUe(r,n.props),ref:e?HL(e,o):o})}return h.Children.count(n)>1?h.Children.only(null):null});sM.displayName="SlotClone";var DUe=({children:t})=>c.jsx(c.Fragment,{children:t});function LUe(t){return h.isValidElement(t)&&t.type===DUe}function PUe(t,e){const n={...e};for(const r in e){const o=t[r],s=e[r];/^on[A-Z]/.test(r)?o&&s?n[r]=(...i)=>{s(...i),o(...i)}:o&&(n[r]=o):r==="style"?n[r]={...o,...s}:r==="className"&&(n[r]=[o,s].filter(Boolean).join(" "))}return{...t,...n}}function OUe(t){var r,o;let e=(r=Object.getOwnPropertyDescriptor(t.props,"ref"))==null?void 0:r.get,n=e&&"isReactWarning"in e&&e.isReactWarning;return n?t.ref:(e=(o=Object.getOwnPropertyDescriptor(t,"ref"))==null?void 0:o.get,n=e&&"isReactWarning"in e&&e.isReactWarning,n?t.props.ref:t.props.ref||t.ref)}function Xle(t){const e=t+"CollectionProvider",[n,r]=VL(e),[o,s]=n(e,{collectionRef:{current:null},itemMap:new Map}),a=g=>{const{scope:w,children:b}=g,j=Be.useRef(null),S=Be.useRef(new Map).current;return c.jsx(o,{scope:w,itemMap:S,collectionRef:j,children:b})};a.displayName=e;const i=t+"CollectionSlot",l=Be.forwardRef((g,w)=>{const{scope:b,children:j}=g,S=s(i,b),I=dd(w,S.collectionRef);return c.jsx(l2,{ref:I,children:j})});l.displayName=i;const u=t+"CollectionItemSlot",d="data-radix-collection-item",f=Be.forwardRef((g,w)=>{const{scope:b,children:j,...S}=g,I=Be.useRef(null),N=dd(w,I),M=s(u,b);return Be.useEffect(()=>(M.itemMap.set(I,{ref:I,...S}),()=>void M.itemMap.delete(I))),c.jsx(l2,{[d]:"",ref:N,children:j})});f.displayName=u;function m(g){const w=s(t+"CollectionConsumer",g);return Be.useCallback(()=>{const j=w.collectionRef.current;if(!j)return[];const S=Array.from(j.querySelectorAll(`[${d}]`));return Array.from(w.itemMap.values()).sort((M,D)=>S.indexOf(M.ref.current)-S.indexOf(D.ref.current))},[w.collectionRef,w.itemMap])}return[{Provider:a,Slot:l,ItemSlot:f},m,r]}var zUe=h.createContext(void 0);function ece(t){const e=h.useContext(zUe);return t||e||"ltr"}var FUe=yh.useId||(()=>{}),BUe=0;function aM(t){const[e,n]=h.useState(FUe());return fr(()=>{n(r=>r??String(BUe++))},[t]),e?`radix-${e}`:""}function UUe(t,e){return h.useReducer((n,r)=>e[n][r]??n,t)}var hx=t=>{const{present:e,children:n}=t,r=$Ue(e),o=typeof n=="function"?n({present:r.isPresent}):h.Children.only(n),s=dd(r.ref,VUe(o));return typeof n=="function"||r.isPresent?h.cloneElement(o,{ref:s}):null};hx.displayName="Presence";function $Ue(t){const[e,n]=h.useState(),r=h.useRef({}),o=h.useRef(t),s=h.useRef("none"),a=t?"mounted":"unmounted",[i,l]=UUe(a,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return h.useEffect(()=>{const u=O6(r.current);s.current=i==="mounted"?u:"none"},[i]),fr(()=>{const u=r.current,d=o.current;if(d!==t){const m=s.current,g=O6(u);t?l("MOUNT"):g==="none"||(u==null?void 0:u.display)==="none"?l("UNMOUNT"):l(d&&m!==g?"ANIMATION_OUT":"UNMOUNT"),o.current=t}},[t,l]),fr(()=>{if(e){let u;const d=e.ownerDocument.defaultView??window,f=g=>{const b=O6(r.current).includes(g.animationName);if(g.target===e&&b&&(l("ANIMATION_END"),!o.current)){const j=e.style.animationFillMode;e.style.animationFillMode="forwards",u=d.setTimeout(()=>{e.style.animationFillMode==="forwards"&&(e.style.animationFillMode=j)})}},m=g=>{g.target===e&&(s.current=O6(r.current))};return e.addEventListener("animationstart",m),e.addEventListener("animationcancel",f),e.addEventListener("animationend",f),()=>{d.clearTimeout(u),e.removeEventListener("animationstart",m),e.removeEventListener("animationcancel",f),e.removeEventListener("animationend",f)}}else l("ANIMATION_END")},[e,l]),{isPresent:["mounted","unmountSuspended"].includes(i),ref:h.useCallback(u=>{u&&(r.current=getComputedStyle(u)),n(u)},[])}}function O6(t){return(t==null?void 0:t.animationName)||"none"}function VUe(t){var r,o;let e=(r=Object.getOwnPropertyDescriptor(t.props,"ref"))==null?void 0:r.get,n=e&&"isReactWarning"in e&&e.isReactWarning;return n?t.ref:(e=(o=Object.getOwnPropertyDescriptor(t,"ref"))==null?void 0:o.get,n=e&&"isReactWarning"in e&&e.isReactWarning,n?t.props.ref:t.props.ref||t.ref)}var HUe=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","span","svg","ul"],Zg=HUe.reduce((t,e)=>{const n=h.forwardRef((r,o)=>{const{asChild:s,...a}=r,i=s?l2:e;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),c.jsx(i,{...a,ref:o})});return n.displayName=`Primitive.${e}`,{...t,[e]:n}},{});function WUe(t,e){t&&Ds.flushSync(()=>t.dispatchEvent(e))}function YUe({prop:t,defaultProp:e,onChange:n=()=>{}}){const[r,o]=GUe({defaultProp:e,onChange:n}),s=t!==void 0,a=s?t:r,i=or(n),l=h.useCallback(u=>{if(s){const f=typeof u=="function"?u(t):u;f!==t&&i(f)}else o(u)},[s,t,o,i]);return[a,l]}function GUe({defaultProp:t,onChange:e}){const n=h.useState(t),[r]=n,o=h.useRef(r),s=or(e);return h.useEffect(()=>{o.current!==r&&(s(r),o.current=r)},[r,o,s]),n}var dA="rovingFocusGroup.onEntryFocus",qUe={bubbles:!1,cancelable:!0},KS="RovingFocusGroup",[iM,tce,KUe]=Xle(KS),[ZUe,nce]=VL(KS,[KUe]),[QUe,JUe]=ZUe(KS),rce=h.forwardRef((t,e)=>c.jsx(iM.Provider,{scope:t.__scopeRovingFocusGroup,children:c.jsx(iM.Slot,{scope:t.__scopeRovingFocusGroup,children:c.jsx(XUe,{...t,ref:e})})}));rce.displayName=KS;var XUe=h.forwardRef((t,e)=>{const{__scopeRovingFocusGroup:n,orientation:r,loop:o=!1,dir:s,currentTabStopId:a,defaultCurrentTabStopId:i,onCurrentTabStopIdChange:l,onEntryFocus:u,preventScrollOnEntryFocus:d=!1,...f}=t,m=h.useRef(null),g=dd(e,m),w=ece(s),[b=null,j]=YUe({prop:a,defaultProp:i,onChange:l}),[S,I]=h.useState(!1),N=or(u),M=tce(n),D=h.useRef(!1),[O,L]=h.useState(0);return h.useEffect(()=>{const B=m.current;if(B)return B.addEventListener(dA,N),()=>B.removeEventListener(dA,N)},[N]),c.jsx(QUe,{scope:n,orientation:r,dir:w,loop:o,currentTabStopId:b,onItemFocus:h.useCallback(B=>j(B),[j]),onItemShiftTab:h.useCallback(()=>I(!0),[]),onFocusableItemAdd:h.useCallback(()=>L(B=>B+1),[]),onFocusableItemRemove:h.useCallback(()=>L(B=>B-1),[]),children:c.jsx(Zg.div,{tabIndex:S||O===0?-1:0,"data-orientation":r,...f,ref:g,style:{outline:"none",...t.style},onMouseDown:Br(t.onMouseDown,()=>{D.current=!0}),onFocus:Br(t.onFocus,B=>{const T=!D.current;if(B.target===B.currentTarget&&T&&!S){const R=new CustomEvent(dA,qUe);if(B.currentTarget.dispatchEvent(R),!R.defaultPrevented){const z=M().filter(X=>X.focusable),Y=z.find(X=>X.active),Q=z.find(X=>X.id===b),F=[Y,Q,...z].filter(Boolean).map(X=>X.ref.current);ace(F,d)}}D.current=!1}),onBlur:Br(t.onBlur,()=>I(!1))})})}),oce="RovingFocusGroupItem",sce=h.forwardRef((t,e)=>{const{__scopeRovingFocusGroup:n,focusable:r=!0,active:o=!1,tabStopId:s,...a}=t,i=aM(),l=s||i,u=JUe(oce,n),d=u.currentTabStopId===l,f=tce(n),{onFocusableItemAdd:m,onFocusableItemRemove:g}=u;return h.useEffect(()=>{if(r)return m(),()=>g()},[r,m,g]),c.jsx(iM.ItemSlot,{scope:n,id:l,focusable:r,active:o,children:c.jsx(Zg.span,{tabIndex:d?0:-1,"data-orientation":u.orientation,...a,ref:e,onMouseDown:Br(t.onMouseDown,w=>{r?u.onItemFocus(l):w.preventDefault()}),onFocus:Br(t.onFocus,()=>u.onItemFocus(l)),onKeyDown:Br(t.onKeyDown,w=>{if(w.key==="Tab"&&w.shiftKey){u.onItemShiftTab();return}if(w.target!==w.currentTarget)return;const b=n$e(w,u.orientation,u.dir);if(b!==void 0){if(w.metaKey||w.ctrlKey||w.altKey||w.shiftKey)return;w.preventDefault();let S=f().filter(I=>I.focusable).map(I=>I.ref.current);if(b==="last")S.reverse();else if(b==="prev"||b==="next"){b==="prev"&&S.reverse();const I=S.indexOf(w.currentTarget);S=u.loop?r$e(S,I+1):S.slice(I+1)}setTimeout(()=>ace(S))}})})})});sce.displayName=oce;var e$e={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function t$e(t,e){return e!=="rtl"?t:t==="ArrowLeft"?"ArrowRight":t==="ArrowRight"?"ArrowLeft":t}function n$e(t,e,n){const r=t$e(t.key,n);if(!(e==="vertical"&&["ArrowLeft","ArrowRight"].includes(r))&&!(e==="horizontal"&&["ArrowUp","ArrowDown"].includes(r)))return e$e[r]}function ace(t,e=!1){const n=document.activeElement;for(const r of t)if(r===n||(r.focus({preventScroll:e}),document.activeElement!==n))return}function r$e(t,e){return t.map((n,r)=>t[(e+r)%t.length])}var o$e=rce,s$e=sce,lM=["Enter"," "],a$e=["ArrowDown","PageUp","Home"],ice=["ArrowUp","PageDown","End"],i$e=[...a$e,...ice],l$e={ltr:[...lM,"ArrowRight"],rtl:[...lM,"ArrowLeft"]},c$e={ltr:["ArrowLeft"],rtl:["ArrowRight"]},mx="Menu",[c2,u$e,f$e]=Xle(mx),[Qg,lce]=VL(mx,[f$e,Eh,nce]),gx=Eh(),cce=nce(),[uce,Ih]=Qg(mx),[d$e,yx]=Qg(mx),fce=t=>{const{__scopeMenu:e,open:n=!1,children:r,dir:o,onOpenChange:s,modal:a=!0}=t,i=gx(e),[l,u]=h.useState(null),d=h.useRef(!1),f=or(s),m=ece(o);return h.useEffect(()=>{const g=()=>{d.current=!0,document.addEventListener("pointerdown",w,{capture:!0,once:!0}),document.addEventListener("pointermove",w,{capture:!0,once:!0})},w=()=>d.current=!1;return document.addEventListener("keydown",g,{capture:!0}),()=>{document.removeEventListener("keydown",g,{capture:!0}),document.removeEventListener("pointerdown",w,{capture:!0}),document.removeEventListener("pointermove",w,{capture:!0})}},[]),c.jsx(ix,{...i,children:c.jsx(uce,{scope:e,open:n,onOpenChange:f,content:l,onContentChange:u,children:c.jsx(d$e,{scope:e,onClose:h.useCallback(()=>f(!1),[f]),isUsingKeyboardRef:d,dir:m,modal:a,children:r})})})};fce.displayName=mx;var p$e="MenuAnchor",WL=h.forwardRef((t,e)=>{const{__scopeMenu:n,...r}=t,o=gx(n);return c.jsx(lx,{...o,...r,ref:e})});WL.displayName=p$e;var YL="MenuPortal",[h$e,dce]=Qg(YL,{forceMount:void 0}),pce=t=>{const{__scopeMenu:e,forceMount:n,children:r,container:o}=t,s=Ih(YL,e);return c.jsx(h$e,{scope:e,forceMount:n,children:c.jsx(hx,{present:n||s.open,children:c.jsx(Z2,{asChild:!0,container:o,children:r})})})};pce.displayName=YL;var Wl="MenuContent",[m$e,GL]=Qg(Wl),hce=h.forwardRef((t,e)=>{const n=dce(Wl,t.__scopeMenu),{forceMount:r=n.forceMount,...o}=t,s=Ih(Wl,t.__scopeMenu),a=yx(Wl,t.__scopeMenu);return c.jsx(c2.Provider,{scope:t.__scopeMenu,children:c.jsx(hx,{present:r||s.open,children:c.jsx(c2.Slot,{scope:t.__scopeMenu,children:a.modal?c.jsx(g$e,{...o,ref:e}):c.jsx(y$e,{...o,ref:e})})})})}),g$e=h.forwardRef((t,e)=>{const n=Ih(Wl,t.__scopeMenu),r=h.useRef(null),o=dd(e,r);return h.useEffect(()=>{const s=r.current;if(s)return yS(s)},[]),c.jsx(qL,{...t,ref:o,trapFocus:n.open,disableOutsidePointerEvents:n.open,disableOutsideScroll:!0,onFocusOutside:Br(t.onFocusOutside,s=>s.preventDefault(),{checkForDefaultPrevented:!1}),onDismiss:()=>n.onOpenChange(!1)})}),y$e=h.forwardRef((t,e)=>{const n=Ih(Wl,t.__scopeMenu);return c.jsx(qL,{...t,ref:e,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>n.onOpenChange(!1)})}),qL=h.forwardRef((t,e)=>{const{__scopeMenu:n,loop:r=!1,trapFocus:o,onOpenAutoFocus:s,onCloseAutoFocus:a,disableOutsidePointerEvents:i,onEntryFocus:l,onEscapeKeyDown:u,onPointerDownOutside:d,onFocusOutside:f,onInteractOutside:m,onDismiss:g,disableOutsideScroll:w,...b}=t,j=Ih(Wl,n),S=yx(Wl,n),I=gx(n),N=cce(n),M=u$e(n),[D,O]=h.useState(null),L=h.useRef(null),B=dd(e,L,j.onContentChange),T=h.useRef(0),R=h.useRef(""),z=h.useRef(0),Y=h.useRef(null),Q=h.useRef("right"),W=h.useRef(0),F=w?J2:h.Fragment,X=w?{as:l2,allowPinchZoom:!0}:void 0,$=K=>{var xe,ce;const G=R.current+K,J=M().filter(pe=>!pe.disabled),ne=document.activeElement,re=(xe=J.find(pe=>pe.ref.current===ne))==null?void 0:xe.textValue,de=J.map(pe=>pe.textValue),Ne=A$e(de,G,re),ve=(ce=J.find(pe=>pe.textValue===Ne))==null?void 0:ce.ref.current;(function pe(me){R.current=me,window.clearTimeout(T.current),me!==""&&(T.current=window.setTimeout(()=>pe(""),1e3))})(G),ve&&setTimeout(()=>ve.focus())};h.useEffect(()=>()=>window.clearTimeout(T.current),[]),mS();const V=h.useCallback(K=>{var J,ne;return Q.current===((J=Y.current)==null?void 0:J.side)&&M$e(K,(ne=Y.current)==null?void 0:ne.area)},[]);return c.jsx(m$e,{scope:n,searchRef:R,onItemEnter:h.useCallback(K=>{V(K)&&K.preventDefault()},[V]),onItemLeave:h.useCallback(K=>{var G;V(K)||((G=L.current)==null||G.focus(),O(null))},[V]),onTriggerLeave:h.useCallback(K=>{V(K)&&K.preventDefault()},[V]),pointerGraceTimerRef:z,onPointerGraceIntentChange:h.useCallback(K=>{Y.current=K},[]),children:c.jsx(F,{...X,children:c.jsx(K2,{asChild:!0,trapped:o,onMountAutoFocus:Br(s,K=>{var G;K.preventDefault(),(G=L.current)==null||G.focus({preventScroll:!0})}),onUnmountAutoFocus:a,children:c.jsx(Ky,{asChild:!0,disableOutsidePointerEvents:i,onEscapeKeyDown:u,onPointerDownOutside:d,onFocusOutside:f,onInteractOutside:m,onDismiss:g,children:c.jsx(o$e,{asChild:!0,...N,dir:S.dir,orientation:"vertical",loop:r,currentTabStopId:D,onCurrentTabStopIdChange:O,onEntryFocus:Br(l,K=>{S.isUsingKeyboardRef.current||K.preventDefault()}),preventScrollOnEntryFocus:!0,children:c.jsx(TS,{role:"menu","aria-orientation":"vertical","data-state":Mce(j.open),"data-radix-menu-content":"",dir:S.dir,...I,...b,ref:B,style:{outline:"none",...b.style},onKeyDown:Br(b.onKeyDown,K=>{const J=K.target.closest("[data-radix-menu-content]")===K.currentTarget,ne=K.ctrlKey||K.altKey||K.metaKey,re=K.key.length===1;J&&(K.key==="Tab"&&K.preventDefault(),!ne&&re&&$(K.key));const de=L.current;if(K.target!==de||!i$e.includes(K.key))return;K.preventDefault();const ve=M().filter(xe=>!xe.disabled).map(xe=>xe.ref.current);ice.includes(K.key)&&ve.reverse(),N$e(ve)}),onBlur:Br(t.onBlur,K=>{K.currentTarget.contains(K.target)||(window.clearTimeout(T.current),R.current="")}),onPointerMove:Br(t.onPointerMove,u2(K=>{const G=K.target,J=W.current!==K.clientX;if(K.currentTarget.contains(G)&&J){const ne=K.clientX>W.current?"right":"left";Q.current=ne,W.current=K.clientX}}))})})})})})})});hce.displayName=Wl;var v$e="MenuGroup",KL=h.forwardRef((t,e)=>{const{__scopeMenu:n,...r}=t;return c.jsx(Zg.div,{role:"group",...r,ref:e})});KL.displayName=v$e;var w$e="MenuLabel",mce=h.forwardRef((t,e)=>{const{__scopeMenu:n,...r}=t;return c.jsx(Zg.div,{...r,ref:e})});mce.displayName=w$e;var pj="MenuItem",ZY="menu.itemSelect",ZS=h.forwardRef((t,e)=>{const{disabled:n=!1,onSelect:r,...o}=t,s=h.useRef(null),a=yx(pj,t.__scopeMenu),i=GL(pj,t.__scopeMenu),l=dd(e,s),u=h.useRef(!1),d=()=>{const f=s.current;if(!n&&f){const m=new CustomEvent(ZY,{bubbles:!0,cancelable:!0});f.addEventListener(ZY,g=>r==null?void 0:r(g),{once:!0}),WUe(f,m),m.defaultPrevented?u.current=!1:a.onClose()}};return c.jsx(gce,{...o,ref:l,disabled:n,onClick:Br(t.onClick,d),onPointerDown:f=>{var m;(m=t.onPointerDown)==null||m.call(t,f),u.current=!0},onPointerUp:Br(t.onPointerUp,f=>{var m;u.current||(m=f.currentTarget)==null||m.click()}),onKeyDown:Br(t.onKeyDown,f=>{const m=i.searchRef.current!=="";n||m&&f.key===" "||lM.includes(f.key)&&(f.currentTarget.click(),f.preventDefault())})})});ZS.displayName=pj;var gce=h.forwardRef((t,e)=>{const{__scopeMenu:n,disabled:r=!1,textValue:o,...s}=t,a=GL(pj,n),i=cce(n),l=h.useRef(null),u=dd(e,l),[d,f]=h.useState(!1),[m,g]=h.useState("");return h.useEffect(()=>{const w=l.current;w&&g((w.textContent??"").trim())},[s.children]),c.jsx(c2.ItemSlot,{scope:n,disabled:r,textValue:o??m,children:c.jsx(s$e,{asChild:!0,...i,focusable:!r,children:c.jsx(Zg.div,{role:"menuitem","data-highlighted":d?"":void 0,"aria-disabled":r||void 0,"data-disabled":r?"":void 0,...s,ref:u,onPointerMove:Br(t.onPointerMove,u2(w=>{r?a.onItemLeave(w):(a.onItemEnter(w),w.defaultPrevented||w.currentTarget.focus({preventScroll:!0}))})),onPointerLeave:Br(t.onPointerLeave,u2(w=>a.onItemLeave(w))),onFocus:Br(t.onFocus,()=>f(!0)),onBlur:Br(t.onBlur,()=>f(!1))})})})}),b$e="MenuCheckboxItem",yce=h.forwardRef((t,e)=>{const{checked:n=!1,onCheckedChange:r,...o}=t;return c.jsx(kce,{scope:t.__scopeMenu,checked:n,children:c.jsx(ZS,{role:"menuitemcheckbox","aria-checked":hj(n)?"mixed":n,...o,ref:e,"data-state":JL(n),onSelect:Br(o.onSelect,()=>r==null?void 0:r(hj(n)?!0:!n),{checkForDefaultPrevented:!1})})})});yce.displayName=b$e;var vce="MenuRadioGroup",[x$e,k$e]=Qg(vce,{value:void 0,onValueChange:()=>{}}),wce=h.forwardRef((t,e)=>{const{value:n,onValueChange:r,...o}=t,s=or(r);return c.jsx(x$e,{scope:t.__scopeMenu,value:n,onValueChange:s,children:c.jsx(KL,{...o,ref:e})})});wce.displayName=vce;var bce="MenuRadioItem",xce=h.forwardRef((t,e)=>{const{value:n,...r}=t,o=k$e(bce,t.__scopeMenu),s=n===o.value;return c.jsx(kce,{scope:t.__scopeMenu,checked:s,children:c.jsx(ZS,{role:"menuitemradio","aria-checked":s,...r,ref:e,"data-state":JL(s),onSelect:Br(r.onSelect,()=>{var a;return(a=o.onValueChange)==null?void 0:a.call(o,n)},{checkForDefaultPrevented:!1})})})});xce.displayName=bce;var ZL="MenuItemIndicator",[kce,j$e]=Qg(ZL,{checked:!1}),jce=h.forwardRef((t,e)=>{const{__scopeMenu:n,forceMount:r,...o}=t,s=j$e(ZL,n);return c.jsx(hx,{present:r||hj(s.checked)||s.checked===!0,children:c.jsx(Zg.span,{...o,ref:e,"data-state":JL(s.checked)})})});jce.displayName=ZL;var C$e="MenuSeparator",Cce=h.forwardRef((t,e)=>{const{__scopeMenu:n,...r}=t;return c.jsx(Zg.div,{role:"separator","aria-orientation":"horizontal",...r,ref:e})});Cce.displayName=C$e;var S$e="MenuArrow",Sce=h.forwardRef((t,e)=>{const{__scopeMenu:n,...r}=t,o=gx(n);return c.jsx(DS,{...o,...r,ref:e})});Sce.displayName=S$e;var QL="MenuSub",[E$e,Ece]=Qg(QL),Nce=t=>{const{__scopeMenu:e,children:n,open:r=!1,onOpenChange:o}=t,s=Ih(QL,e),a=gx(e),[i,l]=h.useState(null),[u,d]=h.useState(null),f=or(o);return h.useEffect(()=>(s.open===!1&&f(!1),()=>f(!1)),[s.open,f]),c.jsx(ix,{...a,children:c.jsx(uce,{scope:e,open:r,onOpenChange:f,content:u,onContentChange:d,children:c.jsx(E$e,{scope:e,contentId:aM(),triggerId:aM(),trigger:i,onTriggerChange:l,children:n})})})};Nce.displayName=QL;var Pw="MenuSubTrigger",Ice=h.forwardRef((t,e)=>{const n=Ih(Pw,t.__scopeMenu),r=yx(Pw,t.__scopeMenu),o=Ece(Pw,t.__scopeMenu),s=GL(Pw,t.__scopeMenu),a=h.useRef(null),{pointerGraceTimerRef:i,onPointerGraceIntentChange:l}=s,u={__scopeMenu:t.__scopeMenu},d=h.useCallback(()=>{a.current&&window.clearTimeout(a.current),a.current=null},[]);return h.useEffect(()=>d,[d]),h.useEffect(()=>{const f=i.current;return()=>{window.clearTimeout(f),l(null)}},[i,l]),c.jsx(WL,{asChild:!0,...u,children:c.jsx(gce,{id:o.triggerId,"aria-haspopup":"menu","aria-expanded":n.open,"aria-controls":o.contentId,"data-state":Mce(n.open),...t,ref:HL(e,o.onTriggerChange),onClick:f=>{var m;(m=t.onClick)==null||m.call(t,f),!(t.disabled||f.defaultPrevented)&&(f.currentTarget.focus(),n.open||n.onOpenChange(!0))},onPointerMove:Br(t.onPointerMove,u2(f=>{s.onItemEnter(f),!f.defaultPrevented&&!t.disabled&&!n.open&&!a.current&&(s.onPointerGraceIntentChange(null),a.current=window.setTimeout(()=>{n.onOpenChange(!0),d()},100))})),onPointerLeave:Br(t.onPointerLeave,u2(f=>{var g,w;d();const m=(g=n.content)==null?void 0:g.getBoundingClientRect();if(m){const b=(w=n.content)==null?void 0:w.dataset.side,j=b==="right",S=j?-5:5,I=m[j?"left":"right"],N=m[j?"right":"left"];s.onPointerGraceIntentChange({area:[{x:f.clientX+S,y:f.clientY},{x:I,y:m.top},{x:N,y:m.top},{x:N,y:m.bottom},{x:I,y:m.bottom}],side:b}),window.clearTimeout(i.current),i.current=window.setTimeout(()=>s.onPointerGraceIntentChange(null),300)}else{if(s.onTriggerLeave(f),f.defaultPrevented)return;s.onPointerGraceIntentChange(null)}})),onKeyDown:Br(t.onKeyDown,f=>{var g;const m=s.searchRef.current!=="";t.disabled||m&&f.key===" "||l$e[r.dir].includes(f.key)&&(n.onOpenChange(!0),(g=n.content)==null||g.focus(),f.preventDefault())})})})});Ice.displayName=Pw;var Ace="MenuSubContent",_ce=h.forwardRef((t,e)=>{const n=dce(Wl,t.__scopeMenu),{forceMount:r=n.forceMount,...o}=t,s=Ih(Wl,t.__scopeMenu),a=yx(Wl,t.__scopeMenu),i=Ece(Ace,t.__scopeMenu),l=h.useRef(null),u=dd(e,l);return c.jsx(c2.Provider,{scope:t.__scopeMenu,children:c.jsx(hx,{present:r||s.open,children:c.jsx(c2.Slot,{scope:t.__scopeMenu,children:c.jsx(qL,{id:i.contentId,"aria-labelledby":i.triggerId,...o,ref:u,align:"start",side:a.dir==="rtl"?"left":"right",disableOutsidePointerEvents:!1,disableOutsideScroll:!1,trapFocus:!1,onOpenAutoFocus:d=>{var f;a.isUsingKeyboardRef.current&&((f=l.current)==null||f.focus()),d.preventDefault()},onCloseAutoFocus:d=>d.preventDefault(),onFocusOutside:Br(t.onFocusOutside,d=>{d.target!==i.trigger&&s.onOpenChange(!1)}),onEscapeKeyDown:Br(t.onEscapeKeyDown,d=>{a.onClose(),d.preventDefault()}),onKeyDown:Br(t.onKeyDown,d=>{var g;const f=d.currentTarget.contains(d.target),m=c$e[a.dir].includes(d.key);f&&m&&(s.onOpenChange(!1),(g=i.trigger)==null||g.focus(),d.preventDefault())})})})})})});_ce.displayName=Ace;function Mce(t){return t?"open":"closed"}function hj(t){return t==="indeterminate"}function JL(t){return hj(t)?"indeterminate":t?"checked":"unchecked"}function N$e(t){const e=document.activeElement;for(const n of t)if(n===e||(n.focus(),document.activeElement!==e))return}function I$e(t,e){return t.map((n,r)=>t[(e+r)%t.length])}function A$e(t,e,n){const o=e.length>1&&Array.from(e).every(u=>u===e[0])?e[0]:e,s=n?t.indexOf(n):-1;let a=I$e(t,Math.max(s,0));o.length===1&&(a=a.filter(u=>u!==n));const l=a.find(u=>u.toLowerCase().startsWith(o.toLowerCase()));return l!==n?l:void 0}function _$e(t,e){const{x:n,y:r}=t;let o=!1;for(let s=0,a=e.length-1;s<e.length;a=s++){const i=e[s].x,l=e[s].y,u=e[a].x,d=e[a].y;l>r!=d>r&&n<(u-i)*(r-l)/(d-l)+i&&(o=!o)}return o}function M$e(t,e){if(!e)return!1;const n={x:t.clientX,y:t.clientY};return _$e(n,e)}function u2(t){return e=>e.pointerType==="mouse"?t(e):void 0}var R$e=fce,T$e=WL,D$e=pce,L$e=hce,P$e=KL,O$e=mce,z$e=ZS,F$e=yce,B$e=wce,U$e=xce,$$e=jce,V$e=Cce,H$e=Sce,W$e=Nce,Y$e=Ice,G$e=_ce,q$e=yh.useId||(()=>{}),K$e=0;function QY(t){const[e,n]=h.useState(q$e());return fr(()=>{n(r=>r??String(K$e++))},[t]),t||(e?`radix-${e}`:"")}var XL="DropdownMenu",[Z$e]=CUe(XL,[lce]),Oa=lce(),[Q$e,Rce]=Z$e(XL),Tce=t=>{const{__scopeDropdownMenu:e,children:n,dir:r,open:o,defaultOpen:s,onOpenChange:a,modal:i=!0}=t,l=Oa(e),u=h.useRef(null),[d=!1,f]=Qle({prop:o,defaultProp:s,onChange:a});return c.jsx(Q$e,{scope:e,triggerId:QY(),triggerRef:u,contentId:QY(),open:d,onOpenChange:f,onOpenToggle:h.useCallback(()=>f(m=>!m),[f]),modal:i,children:c.jsx(R$e,{...l,open:d,onOpenChange:f,dir:r,modal:i,children:n})})};Tce.displayName=XL;var Dce="DropdownMenuTrigger",Lce=h.forwardRef((t,e)=>{const{__scopeDropdownMenu:n,disabled:r=!1,...o}=t,s=Rce(Dce,n),a=Oa(n);return c.jsx(T$e,{asChild:!0,...a,children:c.jsx(RUe.button,{type:"button",id:s.triggerId,"aria-haspopup":"menu","aria-expanded":s.open,"aria-controls":s.open?s.contentId:void 0,"data-state":s.open?"open":"closed","data-disabled":r?"":void 0,disabled:r,...o,ref:Zle(e,s.triggerRef),onPointerDown:dj(t.onPointerDown,i=>{!r&&i.button===0&&i.ctrlKey===!1&&(s.onOpenToggle(),s.open||i.preventDefault())}),onKeyDown:dj(t.onKeyDown,i=>{r||(["Enter"," "].includes(i.key)&&s.onOpenToggle(),i.key==="ArrowDown"&&s.onOpenChange(!0),["Enter"," ","ArrowDown"].includes(i.key)&&i.preventDefault())})})})});Lce.displayName=Dce;var J$e="DropdownMenuPortal",Pce=t=>{const{__scopeDropdownMenu:e,...n}=t,r=Oa(e);return c.jsx(D$e,{...r,...n})};Pce.displayName=J$e;var Oce="DropdownMenuContent",zce=h.forwardRef((t,e)=>{const{__scopeDropdownMenu:n,...r}=t,o=Rce(Oce,n),s=Oa(n),a=h.useRef(!1);return c.jsx(L$e,{id:o.contentId,"aria-labelledby":o.triggerId,...s,...r,ref:e,onCloseAutoFocus:dj(t.onCloseAutoFocus,i=>{var l;a.current||(l=o.triggerRef.current)==null||l.focus(),a.current=!1,i.preventDefault()}),onInteractOutside:dj(t.onInteractOutside,i=>{const l=i.detail.originalEvent,u=l.button===0&&l.ctrlKey===!0,d=l.button===2||u;(!o.modal||d)&&(a.current=!0)}),style:{...t.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});zce.displayName=Oce;var X$e="DropdownMenuGroup",eVe=h.forwardRef((t,e)=>{const{__scopeDropdownMenu:n,...r}=t,o=Oa(n);return c.jsx(P$e,{...o,...r,ref:e})});eVe.displayName=X$e;var tVe="DropdownMenuLabel",Fce=h.forwardRef((t,e)=>{const{__scopeDropdownMenu:n,...r}=t,o=Oa(n);return c.jsx(O$e,{...o,...r,ref:e})});Fce.displayName=tVe;var nVe="DropdownMenuItem",Bce=h.forwardRef((t,e)=>{const{__scopeDropdownMenu:n,...r}=t,o=Oa(n);return c.jsx(z$e,{...o,...r,ref:e})});Bce.displayName=nVe;var rVe="DropdownMenuCheckboxItem",Uce=h.forwardRef((t,e)=>{const{__scopeDropdownMenu:n,...r}=t,o=Oa(n);return c.jsx(F$e,{...o,...r,ref:e})});Uce.displayName=rVe;var oVe="DropdownMenuRadioGroup",sVe=h.forwardRef((t,e)=>{const{__scopeDropdownMenu:n,...r}=t,o=Oa(n);return c.jsx(B$e,{...o,...r,ref:e})});sVe.displayName=oVe;var aVe="DropdownMenuRadioItem",$ce=h.forwardRef((t,e)=>{const{__scopeDropdownMenu:n,...r}=t,o=Oa(n);return c.jsx(U$e,{...o,...r,ref:e})});$ce.displayName=aVe;var iVe="DropdownMenuItemIndicator",Vce=h.forwardRef((t,e)=>{const{__scopeDropdownMenu:n,...r}=t,o=Oa(n);return c.jsx($$e,{...o,...r,ref:e})});Vce.displayName=iVe;var lVe="DropdownMenuSeparator",Hce=h.forwardRef((t,e)=>{const{__scopeDropdownMenu:n,...r}=t,o=Oa(n);return c.jsx(V$e,{...o,...r,ref:e})});Hce.displayName=lVe;var cVe="DropdownMenuArrow",uVe=h.forwardRef((t,e)=>{const{__scopeDropdownMenu:n,...r}=t,o=Oa(n);return c.jsx(H$e,{...o,...r,ref:e})});uVe.displayName=cVe;var fVe=t=>{const{__scopeDropdownMenu:e,children:n,open:r,onOpenChange:o,defaultOpen:s}=t,a=Oa(e),[i=!1,l]=Qle({prop:r,defaultProp:s,onChange:o});return c.jsx(W$e,{...a,open:i,onOpenChange:l,children:n})},dVe="DropdownMenuSubTrigger",Wce=h.forwardRef((t,e)=>{const{__scopeDropdownMenu:n,...r}=t,o=Oa(n);return c.jsx(Y$e,{...o,...r,ref:e})});Wce.displayName=dVe;var pVe="DropdownMenuSubContent",Yce=h.forwardRef((t,e)=>{const{__scopeDropdownMenu:n,...r}=t,o=Oa(n);return c.jsx(G$e,{...o,...r,ref:e,style:{...t.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});Yce.displayName=pVe;var hVe=Tce,mVe=Lce,Gce=Pce,qce=zce,Kce=Fce,Zce=Bce,Qce=Uce,Jce=$ce,Xce=Vce,eue=Hce,gVe=fVe,tue=Wce,nue=Yce;const li=({open:t,onOpenChange:e,...n})=>{const[r,o]=h.useState(!1),s=t!==void 0,a=s?t:r,i=h.useRef(null),l=h.useCallback(u=>{s||o(u),e==null||e(u)},[s,e]);return h.useEffect(()=>{if(a){const u=document.body.style.overflow;return document.body.style.overflow="hidden",()=>{document.body.style.overflow=u}}},[a]),c.jsxs(c.Fragment,{children:[a&&Ds.createPortal(c.jsx("div",{ref:i,className:"fixed inset-0 z-50 pointer-events-auto",onClick:u=>{u.stopPropagation(),l(!1)}}),document.body),c.jsx(hVe,{...n,open:a,onOpenChange:l,modal:!1})]})};li.displayName="DropdownMenu";const Ti=mVe,yVe=gVe,rue=h.forwardRef(({className:t,inset:e,children:n,...r},o)=>c.jsxs(tue,{ref:o,className:Re("flex cursor-default gap-2 select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent data-[state=open]:bg-accent [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",e&&"pl-8",t),...r,children:[n,c.jsx(Hse,{className:"ml-auto"})]}));rue.displayName=tue.displayName;const oue=h.forwardRef(({className:t,showScrollButtons:e=!0,...n},r)=>{const[o,s]=h.useState(!1),[a,i]=h.useState(!1),l=h.useRef(null),u=h.useRef(null);h.useImperativeHandle(r,()=>l.current);const d=h.useCallback(()=>{requestAnimationFrame(()=>{const g=u.current;g&&(s(g.scrollTop>0),i(g.scrollTop<g.scrollHeight-g.clientHeight))})},[]),f=()=>{var g;(g=u.current)==null||g.scroll({top:0,behavior:"smooth"})},m=()=>{var g;(g=u.current)==null||g.scroll({top:u.current.scrollHeight,behavior:"smooth"})};return c.jsx(Gce,{children:c.jsxs(nue,{ref:l,className:Re("relative z-50 min-w-52 overflow-hidden rounded-xl border bg-popover text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2"),onAnimationEnd:()=>{e&&d()},collisionPadding:10,...n,children:[e&&o&&c.jsx("div",{className:"absolute top-0 inset-x-0 z-10 flex items-center justify-center bg-popover",children:c.jsx("button",{onClick:f,onMouseEnter:f,className:"flex items-center justify-center w-full h-6 hover:bg-accent rounded-sm transition-colors",type:"button",children:c.jsx(bd,{className:"h-4 w-4"})})}),c.jsx("div",{ref:u,className:Re("p-1 overflow-y-auto scrollbar-hide",t),onScroll:d,children:n.children}),e&&a&&c.jsx("div",{className:"absolute bottom-0 inset-x-0 flex items-center justify-center bg-popover",children:c.jsx("button",{onClick:m,onMouseEnter:m,className:"flex items-center justify-center w-full h-6 hover:bg-accent rounded-sm transition-colors",type:"button",children:c.jsx(cc,{className:"h-4 w-4"})})})]})})});oue.displayName=nue.displayName;const ci=h.forwardRef(({className:t,sideOffset:e=4,showScrollButtons:n=!1,...r},o)=>{const[s,a]=h.useState(!1),[i,l]=h.useState(!1),u=h.useRef(null),d=h.useRef(null);h.useImperativeHandle(o,()=>u.current);const f=h.useCallback(()=>{requestAnimationFrame(()=>{const w=d.current;w&&(a(w.scrollTop>0),l(w.scrollTop<w.scrollHeight-w.clientHeight))})},[]),m=()=>{var w;(w=d.current)==null||w.scroll({top:0,behavior:"smooth"})},g=()=>{var w;(w=d.current)==null||w.scroll({top:d.current.scrollHeight,behavior:"smooth"})};return c.jsx(Gce,{children:c.jsxs(qce,{ref:u,sideOffset:e,className:Re("relative z-50 min-w-52 overflow-hidden rounded-lg border bg-popover text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2"),onAnimationEnd:()=>{n&&f()},collisionPadding:10,...r,children:[n&&s&&c.jsx("div",{className:"absolute top-0 inset-x-0 z-10 flex items-center justify-center bg-popover",children:c.jsx("button",{onClick:m,onMouseEnter:m,className:"flex items-center justify-center w-full h-6 hover:bg-accent rounded-sm transition-colors",type:"button",children:c.jsx(bd,{className:"h-4 w-4"})})}),c.jsx("div",{ref:d,className:Re("p-1 overflow-y-auto scrollbar-hide",t),onScroll:f,onWheel:w=>w.stopPropagation(),children:r.children}),n&&i&&c.jsx("div",{className:"absolute bottom-0 inset-x-0 flex items-center justify-center bg-popover",children:c.jsx("button",{onClick:g,onMouseEnter:g,className:"flex items-center justify-center w-full h-6 hover:bg-accent rounded-sm transition-colors",type:"button",children:c.jsx(cc,{className:"h-4 w-4"})})})]})})});ci.displayName=qce.displayName;const Sr=h.forwardRef(({className:t,inset:e,...n},r)=>c.jsx(Zce,{ref:r,className:Re("relative flex cursor-pointer select-none items-center gap-2 px-2 py-1.5 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 rounded-md",e&&"pl-8",t),...n}));Sr.displayName=Zce.displayName;const sue=h.forwardRef(({className:t,children:e,checked:n,...r},o)=>c.jsxs(Qce,{ref:o,className:Re("relative flex cursor-pointer select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",t),checked:n,...r,children:[c.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:c.jsx(Xce,{children:c.jsx(Zr,{className:"h-4 w-4"})})}),e]}));sue.displayName=Qce.displayName;const vVe=h.forwardRef(({className:t,children:e,...n},r)=>c.jsxs(Jce,{ref:r,className:Re("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",t),...n,children:[c.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:c.jsx(Xce,{children:c.jsx(qse,{className:"h-2 w-2 fill-current"})})}),e]}));vVe.displayName=Jce.displayName;const QS=h.forwardRef(({className:t,inset:e,...n},r)=>c.jsx(Kce,{ref:r,className:Re("px-2 py-1.5 text-sm font-semibold",e&&"pl-8",t),...n}));QS.displayName=Kce.displayName;const hh=h.forwardRef(({className:t,...e},n)=>c.jsx(eue,{ref:n,className:Re("-mx-1 my-1 h-px bg-muted",t),...e}));hh.displayName=eue.displayName;function jd({url:t,className:e,justOpenLink:n}){const{t:r}=qe(),{isSmallScreen:o}=gn(),{push:s}=kn(),[a,i]=h.useState(!1),l=h.useMemo(()=>jb(t),[t]),u=m=>{m.stopPropagation(),o&&i(!1),window.open(t,"_blank","noreferrer")},d=m=>{if(m.stopPropagation(),o){i(!1),setTimeout(()=>s(vy(t)),100);return}s(vy(t))};if(n)return c.jsx("a",{href:t,target:"_blank",rel:"noreferrer",className:Re("cursor-pointer text-primary hover:underline",e),onClick:m=>m.stopPropagation(),children:l});const f=c.jsx("span",{className:Re("cursor-pointer text-primary hover:underline",e),onClick:m=>{m.stopPropagation(),o&&i(!0)},title:t,children:l});return o?c.jsxs(c.Fragment,{children:[f,c.jsxs(ao,{open:a,onOpenChange:i,children:[c.jsx(fc,{onClick:m=>{m.stopPropagation(),i(!1)}}),c.jsx(io,{hideOverlay:!0,children:c.jsxs("div",{className:"py-2",children:[c.jsxs(Le,{onClick:u,className:"w-full p-6 justify-start text-lg gap-4 [&_svg]:size-5",variant:"ghost",children:[c.jsx(nf,{}),r("Open link")]}),c.jsxs(Le,{onClick:d,className:"w-full p-6 justify-start text-lg gap-4 [&_svg]:size-5",variant:"ghost",children:[c.jsx(rf,{}),r("View Nostr discussions")]})]})})]})]}):c.jsxs(li,{children:[c.jsx(Ti,{children:c.jsx("span",{className:Re("cursor-pointer text-primary hover:underline",e),title:t,children:l})}),c.jsxs(ci,{align:"start",onClick:m=>m.stopPropagation(),children:[c.jsxs(Sr,{onClick:u,children:[c.jsx(nf,{}),r("Open link")]}),c.jsxs(Sr,{onClick:d,children:[c.jsx(rf,{}),r("View Nostr discussions")]})]})]})}function e7({src:t,autoPlay:e=!1,startTime:n,isMinimized:r=!1,className:o}){const s=h.useRef(null),[a,i]=h.useState(!1),[l,u]=h.useState(0),[d,f]=h.useState(0),[m,g]=h.useState(!1),w=h.useRef(),b=h.useRef(!1),j=h.useRef(null);h.useEffect(()=>{const N=s.current;if(!N)return;n&&(u(n),N.currentTime=n),e&&S();const M=()=>{b.current||u(N.currentTime)},D=()=>f(N.duration),O=()=>i(!1),L=()=>i(!1),B=()=>i(!0);return N.addEventListener("timeupdate",M),N.addEventListener("loadedmetadata",D),N.addEventListener("ended",O),N.addEventListener("pause",L),N.addEventListener("play",B),()=>{N.removeEventListener("timeupdate",M),N.removeEventListener("loadedmetadata",D),N.removeEventListener("ended",O),N.removeEventListener("pause",L),N.removeEventListener("play",B)}},[]),h.useEffect(()=>{const N=s.current,M=j.current;if(!N||!M)return;const D=new IntersectionObserver(([O])=>{O.isIntersecting||N.pause()},{threshold:1});return D.observe(M),()=>{D.unobserve(M)}},[]);const S=()=>{const N=s.current;N&&(a?(N.pause(),i(!1)):(N.play(),i(!0),Pp.play(N)))},I=N=>{const M=s.current;M&&(b.current=!0,u(N[0]),w.current&&clearTimeout(w.current),w.current=setTimeout(()=>{M.currentTime=N[0],b.current=!1},300))};return m?c.jsx(jd,{url:t}):c.jsxs("div",{ref:j,className:Re("flex items-center gap-3 py-2 px-2 border rounded-full max-w-md bg-background",o),onClick:N=>N.stopPropagation(),children:[c.jsx("audio",{ref:s,src:t,preload:"metadata",onError:()=>g(!1)}),c.jsx(Le,{size:"icon",className:"rounded-full shrink-0",onClick:S,children:a?c.jsx(F7e,{fill:"currentColor"}):c.jsx(aL,{fill:"currentColor"})}),c.jsx("div",{className:"flex-1 relative",children:c.jsx(qS,{value:[l],max:d||100,step:1,onValueChange:I,hideThumb:!0,enableHoverAnimation:!0})}),c.jsx("div",{className:"text-sm font-mono text-muted-foreground",children:wVe(Math.max(d-l,0))}),r?c.jsx(Le,{variant:"ghost",size:"icon",className:"rounded-full shrink-0 text-muted-foreground",onClick:()=>Pp.stopAudioBackground(),children:c.jsx(Us,{})}):c.jsx(Le,{variant:"ghost",size:"icon",className:"rounded-full shrink-0 text-muted-foreground",onClick:()=>{var N;return Pp.playAudioBackground(t,((N=s.current)==null?void 0:N.currentTime)||0)},children:c.jsx(D7e,{})})]})}const wVe=t=>{if(t===1/0||isNaN(t))return"-:--";const e=Math.floor(t/60),n=Math.floor(t%60);return`${e}:${n.toString().padStart(2,"0")}`};function t7({event:t}){const{t:e}=qe(),n=h.useMemo(()=>Tke(t),[t]);return n?c.jsx("span",{className:"text-sm text-muted-foreground shrink-0",children:e("via {{client}}",{client:n})}):null}function Mi({emoji:t,classNames:e}){const[n,r]=h.useState(!1);return typeof t=="string"?t==="+"?c.jsx(Xk,{className:Re("size-5 text-red-400 fill-red-400",e==null?void 0:e.img)}):c.jsx("span",{className:Re("whitespace-nowrap",e==null?void 0:e.text),children:t}):n?c.jsx("span",{className:Re("whitespace-nowrap",e==null?void 0:e.text),children:`:${t.shortcode}:`}):c.jsx("img",{src:t.url,alt:t.shortcode,draggable:!1,className:Re("inline-block size-5 rounded-sm pointer-events-none",e==null?void 0:e.img),onLoad:()=>{r(!1)},onError:()=>{r(!0)}})}function aue({onHighlight:t,containerRef:e}){const{t:n}=qe(),[r,o]=h.useState(null),[s,a]=h.useState(""),i=h.useRef(null);return h.useEffect(()=>{const l=()=>{setTimeout(()=>{const u=window.getSelection(),d=u==null?void 0:u.toString().trim();if(!d||d.length===0){o(null),a("");return}if(e!=null&&e.current){const b=u==null?void 0:u.getRangeAt(0);if(b&&!e.current.contains(b.commonAncestorContainer)){o(null),a("");return}}const f=u==null?void 0:u.getRangeAt(0);if(!f)return;const m=f.getBoundingClientRect(),g=window.pageYOffset||document.documentElement.scrollTop,w=window.pageXOffset||document.documentElement.scrollLeft;o({top:m.top+g-48,left:m.left+w+m.width/2}),a(d)},10)};return document.addEventListener("mouseup",l),document.addEventListener("touchend",l),()=>{document.removeEventListener("mouseup",l),document.removeEventListener("touchend",l)}},[e]),h.useEffect(()=>{const l=u=>{if(i.current&&!i.current.contains(u.target)){const d=window.getSelection();d!=null&&d.toString().trim()||(o(null),a(""))}};return document.addEventListener("mousedown",l),()=>{document.removeEventListener("mousedown",l)}},[]),!r||!s?null:c.jsx("div",{className:"fixed z-50 animate-in fade-in-0 slide-in-from-bottom-4 duration-200",style:{top:`${r.top}px`,left:`${r.left}px`},children:c.jsxs(Le,{ref:i,size:"sm",variant:"default",className:"shadow-lg gap-2 -translate-x-1/2",onClick:l=>{var u;l.stopPropagation(),t(s),(u=window.getSelection())==null||u.removeAllRanges(),o(null),a("")},children:[c.jsx(eae,{className:"h-4 w-4"}),n("Highlight")]})})}const z6=2e3,bVe=1500,S0=class S0{constructor(){je(this,"cacheMap",new Map);return S0.instance||(S0.instance=this),S0.instance}async validateUrl(e,n=z6){const r=new AbortController,o=setTimeout(()=>r.abort(),n);try{const s=await fetch(e,{method:"HEAD",signal:r.signal,mode:"cors"});return clearTimeout(o),s.ok}catch{return clearTimeout(o),!1}}buildBlobUrl(e,n,r){try{const o=new URL(e);return o.pathname="/"+n+(r||""),o.toString()}catch{return e+"/"+n+(r||"")}}async getBlossomServers(e){const r=[...await ze.fetchBlossomServerList(e)];for(const o of gk)try{const s=new URL(o);r.some(a=>new URL(a).hostname===s.hostname)||r.push(o)}catch{}return r}async raceUrls(e,n){return e.length===0?null:new Promise(r=>{let o=!1,s=e.length;const a=async i=>{await this.validateUrl(i,n)&&!o?(o=!0,r(i)):(s--,s===0&&!o&&r(null))};e.forEach(i=>a(i))})}async getValidUrl(e,n){const r=this.cacheMap.get(e);if(r!=null&&r.validUrl)return r.validUrl;if(r!=null&&r.promise&&r.validating)return r.promise;let o=null,s=null;try{const u=new URL(e);o=ZI(u);const d=u.pathname.match(/\.\w+$/i);s=d?d[0]:null}catch{return e}if(!o)return e;let a;const i=new Promise(u=>{a=u}),l={pubkey:n,resolve:a,promise:i,tried:new Set,validating:!0};return this.cacheMap.set(e,l),this.validateAndFindBestUrl(e,n,o,s,l),i}async validateAndFindBestUrl(e,n,r,o,s){const a=new URL(e).hostname;s.tried.add(a);const i=this.validateUrl(e,z6),l=new Promise(w=>setTimeout(()=>w("timeout"),bVe)),u=await Promise.race([i.then(w=>({type:"original",valid:w})),l.then(()=>({type:"timeout"}))]);if(u.type==="original"&&u.valid){s.validUrl=e,s.validating=!1,s.resolve(e);return}const m=[...(await this.getBlossomServers(n)).map(w=>{try{const b=new URL(w).hostname;return s.tried.has(b)?null:(s.tried.add(b),this.buildBlobUrl(w,r,o))}catch{return null}}).filter(w=>w!==null)];if(u.type==="timeout"&&await i){s.validUrl=e,s.validating=!1,s.resolve(e);return}const g=await this.raceUrls(m,z6);if(g){s.validUrl=g,s.validating=!1,s.resolve(g);return}s.validUrl=e,s.validating=!1,s.resolve(e)}async tryNextUrl(e){const n=this.cacheMap.get(e);if(!n)return null;if(n.validUrl&&n.validUrl!==e)return n.validUrl;const{pubkey:r,tried:o,resolve:s}=n;let a=null,i=null;try{const d=new URL(e);a=ZI(d);const f=d.pathname.match(/\.\w+$/i);i=f?f[0]:null}catch{return s(e),null}if(!r||!a)return s(e),null;const u=(await this.getBlossomServers(r)).map(d=>{try{const f=new URL(d);return o.has(f.hostname)?null:(o.add(f.hostname),this.buildBlobUrl(d,a,i))}catch{return null}}).filter(d=>d!==null);for(const d of u)if(await this.validateUrl(d,z6))return n.validUrl=d,s(d),d;return s(e),null}markAsSuccess(e,n){const r=this.cacheMap.get(e);if(!r){this.cacheMap.set(e,{resolve:()=>{},promise:Promise.resolve(n),tried:new Set,validUrl:n,validating:!1});return}r.resolve(n),r.validUrl=n,r.validating=!1}isValidBlobHash(e){return/^[a-f0-9]{64}$/i.test(e)}async queryBindingEvent(e){if(!this.isValidBlobHash(e))return null;const n=e.toLowerCase();try{const r=Array.from(new Set([...ze.currentRelays,...dee])),o=await ze.fetchEvents(r,{kinds:[Ak],"#x":[n],limit:1});if(o.length===0)return null;const s=o[0],a=Dne(s);return a.length>0?a:null}catch{return null}}extractHashFromUrl(e){try{const n=ZI(new URL(e));return n&&this.isValidBlobHash(n)?n.toLowerCase():null}catch{return null}}};je(S0,"instance");let cM=S0;const td=new cM,Y3=new Map,pA=new Map,xVe=1063;function iue(t){try{const r=new URL(t).pathname.split("/").filter(Boolean);if(r.length===0)return null;const s=r[r.length-1].replace(/\.[^.]+$/,"");return/^[a-fA-F0-9]{64}$/.test(s)?s.toLowerCase():null}catch{return null}}async function n7(t){if(Y3.has(t))return Y3.get(t)??null;const e=pA.get(t);if(e)return e;const n=IVe(t);pA.set(t,n);try{const r=await n;return Y3.set(t,r),r}finally{pA.delete(t)}}async function kVe(t){const e=iue(t);return e?n7(e):null}function jVe(t,e,n=1){if(t.length===0)return null;const r=e*n,o=[...t].sort((s,a)=>s.width-a.width);for(const s of o)if(s.width>=r)return s;return o[o.length-1]}function CVe(t){const e=t.find(n=>n.variant==="original");return e||(t.length===0?null:t.reduce((n,r)=>n.width>r.width?n:r))}function SVe(t){return t.find(e=>e.variant==="thumb")??null}function EVe(){Y3.clear()}async function NVe(t){await Promise.all(t.map(e=>n7(e)))}async function IVe(t){try{const e=Array.from(new Set([...ze.currentRelays,...dee])),n=await ze.fetchEvents(e,{kinds:[xVe],"#x":[t],limit:5});if(!n||n.length===0)return null;const o=Array.from(n).reduce((s,a)=>s.created_at>a.created_at?s:a);try{const s=Dne({kind:o.kind,tags:o.tags});return s.length>0?s:null}catch{return null}}catch(e){return console.warn("Failed to lookup responsive variants:",e),null}}const F6={extractSha256FromUrl:iue,getVariantsForHash:n7,getVariantsForUrl:kVe,selectVariant:jVe,getOriginalVariant:CVe,getThumbnailVariant:SVe,clearCache:EVe,prefetchVariants:NVe},lue="carousel",cue="controller",AVe="navigation",_Ve="no-scroll",r7="portal",MVe="root",uue="toolbar",JY="zoom",hA="loading",mA="error",gA="complete",RVe="placeholder",TVe=t=>`active-slide-${t}`,DVe="fullsize",o7="flex_center",LVe="no_scroll",fue="no_scroll_padding",due="slide_wrapper",PVe="slide_wrapper_interactive",Cm="prev",Sm="next",XY="swipe",by="close",pue="onPointerDown",hue="onPointerMove",mue="onPointerUp",gue="onPointerLeave",yue="onPointerCancel",s7="onKeyDown",OVe="onKeyUp",a7="onWheel",zVe="Escape",FVe="ArrowLeft",BVe="ArrowRight",UVe="button",uM="icon",vue="contain",eG="cover",wue="Unknown action type",bue="yarl__";function qu(...t){return[...t].filter(Boolean).join(" ")}function gr(t){return`${bue}${t}`}function ji(t){return`--${bue}${t}`}function vx(t,e){return`${t}${e?`_${e}`:""}`}function i7(t){return e=>vx(t,e)}function $Ve(t,e){var n;return(n=t==null?void 0:t[e])!==null&&n!==void 0?n:e}function l7(...t){return()=>{t.forEach(e=>{e()})}}function Ah(t,e,n){return()=>{const r=h.useContext(n);if(!r)throw new Error(`${t} must be used within a ${e}.Provider`);return r}}function c7(){return typeof window<"u"}function u7(t,e=0){const n=10**e;return Math.round((t+Number.EPSILON)*n)/n}function ov(t){return t.type===void 0||t.type==="image"}function f7(t,e){return t.imageFit===eG||t.imageFit!==vue&&e===eG}function JS(t){return typeof t=="string"?Number.parseInt(t,10):t}function mj(t){if(typeof t=="number")return{pixel:t};if(typeof t=="string"){const e=JS(t);return t.endsWith("%")?{percent:e}:{pixel:e}}return{pixel:0}}function VVe(t,e){const n=mj(e),r=n.percent!==void 0?t.width/100*n.percent:n.pixel;return{width:Math.max(t.width-2*r,0),height:Math.max(t.height-2*r,0)}}function HVe(){return(c7()?window==null?void 0:window.devicePixelRatio:void 0)||1}function xue(t,e){return e>0?(t%e+e)%e:0}function kue(t){return t.length>0}function jue(t,e){return t[xue(e,t.length)]}function fM(t,e){return kue(t)?jue(t,e):void 0}function WVe(t){return ov(t)?t.src:void 0}function YVe(t,e,n){if(!n)return t;const{buttons:r,...o}=t,s=r.findIndex(i=>i===e),a=h.isValidElement(n)?h.cloneElement(n,{key:e},null):n;if(s>=0){const i=[...r];return i.splice(s,1,a),{buttons:i,...o}}return{buttons:[a,...r],...o}}function GVe(t,e,n=0){return Math.min(t.preload,Math.max(t.finite?e.length-1:Math.floor(e.length/2),n))}const qVe=Number(h.version.split(".")[0])>=19;function KVe(t){return{inert:qVe?t:t?"":void 0}}const dM={open:!1,close:()=>{},index:0,slides:[],render:{},plugins:[],toolbar:{buttons:[by]},labels:{},animation:{fade:250,swipe:500,easing:{fade:"ease",swipe:"ease-out",navigation:"ease-in-out"}},carousel:{finite:!1,preload:2,padding:"16px",spacing:"30%",imageFit:vue,imageProps:{}},controller:{ref:null,focus:!0,aria:!1,touchAction:"none",closeOnPullUp:!1,closeOnPullDown:!1,closeOnBackdropClick:!1,preventDefaultWheelX:!0,preventDefaultWheelY:!1},portal:{},noScroll:{disabled:!1},on:{},styles:{},className:""};function _h(t,e){return{name:t,component:e}}function Is(t,e){return{module:t,children:e}}function Cue(t,e,n){return t.module.name===e?n(t):t.children?[Is(t.module,t.children.flatMap(r=>{var o;return(o=Cue(r,e,n))!==null&&o!==void 0?o:[]}))]:[t]}function J1(t,e,n){return t.flatMap(r=>{var o;return(o=Cue(r,e,n))!==null&&o!==void 0?o:[]})}function ZVe(t,e=[],n=[]){let r=t;const o=g=>{const w=[...r];for(;w.length>0;){const b=w.pop();if((b==null?void 0:b.module.name)===g)return!0;b!=null&&b.children&&w.push(...b.children)}return!1},s=(g,w)=>{if(g===""){r=[Is(w,r)];return}r=J1(r,g,b=>[Is(w,[b])])},a=(g,w)=>{r=J1(r,g,b=>[Is(b.module,[Is(w,b.children)])])},i=(g,w,b)=>{r=J1(r,g,j=>{var S;return[Is(j.module,[...b?[Is(w)]:[],...(S=j.children)!==null&&S!==void 0?S:[],...b?[]:[Is(w)]])]})},l=(g,w,b)=>{r=J1(r,g,j=>[...b?[Is(w)]:[],j,...b?[]:[Is(w)]])},u=g=>{a(cue,g)},d=(g,w)=>{r=J1(r,g,b=>[Is(w,b.children)])},f=g=>{r=J1(r,g,w=>w.children)},m=g=>{n.push(g)};return e.forEach(g=>{g({contains:o,addParent:s,append:a,addChild:i,addSibling:l,addModule:u,replace:d,remove:f,augment:m})}),{config:r,augmentation:g=>n.reduce((w,b)=>b(w),g)}}const Sue=h.createContext(null),XS=Ah("useDocument","DocumentContext",Sue);function QVe({nodeRef:t,children:e}){const n=h.useMemo(()=>{const r=s=>{var a;return((a=s||t.current)===null||a===void 0?void 0:a.ownerDocument)||document};return{getOwnerDocument:r,getOwnerWindow:s=>{var a;return((a=r(s))===null||a===void 0?void 0:a.defaultView)||window}}},[t]);return h.createElement(Sue.Provider,{value:n},e)}const Eue=h.createContext(null),eE=Ah("useEvents","EventsContext",Eue);function JVe({children:t}){const[e]=h.useState({});h.useEffect(()=>()=>{Object.keys(e).forEach(r=>delete e[r])},[e]);const n=h.useMemo(()=>{const r=(a,i)=>{var l;(l=e[a])===null||l===void 0||l.splice(0,e[a].length,...e[a].filter(u=>u!==i))};return{publish:(...[a,i])=>{var l;(l=e[a])===null||l===void 0||l.forEach(u=>u(i))},subscribe:(a,i)=>(e[a]||(e[a]=[]),e[a].push(i),()=>r(a,i)),unsubscribe:r}},[e]);return h.createElement(Eue.Provider,{value:n},t)}const Nue=h.createContext(null),pc=Ah("useLightboxProps","LightboxPropsContext",Nue);function XVe({children:t,...e}){return h.createElement(Nue.Provider,{value:e},t)}const Iue=h.createContext(null),Mh=Ah("useLightboxState","LightboxStateContext",Iue),Aue=h.createContext(null),eHe=Ah("useLightboxDispatch","LightboxDispatchContext",Aue);function tHe(t,e){switch(e.type){case"swipe":{const{slides:n}=t,r=(e==null?void 0:e.increment)||0,o=t.globalIndex+r,s=xue(o,n.length),a=fM(n,s),i=r||e.duration?{increment:r,duration:e.duration,easing:e.easing}:void 0;return{slides:n,currentIndex:s,globalIndex:o,currentSlide:a,animation:i}}case"update":return e.slides!==t.slides||e.index!==t.currentIndex?{slides:e.slides,currentIndex:e.index,globalIndex:e.index,currentSlide:fM(e.slides,e.index)}:t;default:throw new Error(wue)}}function nHe({slides:t,index:e,children:n}){const[r,o]=h.useReducer(tHe,{slides:t,currentIndex:e,globalIndex:e,currentSlide:fM(t,e)});h.useEffect(()=>{o({type:"update",slides:t,index:e})},[t,e]);const s=h.useMemo(()=>({...r,state:r,dispatch:o}),[r,o]);return h.createElement(Aue.Provider,{value:o},h.createElement(Iue.Provider,{value:s},n))}const _ue=h.createContext(null),tE=Ah("useTimeouts","TimeoutsContext",_ue);function rHe({children:t}){const[e]=h.useState([]);h.useEffect(()=>()=>{e.forEach(r=>window.clearTimeout(r)),e.splice(0,e.length)},[e]);const n=h.useMemo(()=>{const r=a=>{e.splice(0,e.length,...e.filter(i=>i!==a))};return{setTimeout:(a,i)=>{const l=window.setTimeout(()=>{r(l),a()},i);return e.push(l),l},clearTimeout:a=>{a!==void 0&&(r(a),window.clearTimeout(a))}}},[e]);return h.createElement(_ue.Provider,{value:n},t)}const d7=h.forwardRef(function({label:e,className:n,icon:r,renderIcon:o,onClick:s,style:a,...i},l){const{styles:u,labels:d}=pc(),f=$Ve(d,e);return h.createElement("button",{ref:l,type:"button",title:f,"aria-label":f,className:qu(gr(UVe),n),onClick:s,style:{...a,...u.button},...i},o?o():h.createElement(r,{className:gr(uM),style:u.icon}))});function oHe(t,e){const n=r=>h.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"24",height:"24","aria-hidden":"true",focusable:"false",...r},e);return n.displayName=t,n}function Jg(t,e){return oHe(t,h.createElement("g",{fill:"currentColor"},h.createElement("path",{d:"M0 0h24v24H0z",fill:"none"}),e))}const sHe=Jg("Close",h.createElement("path",{d:"M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"})),aHe=Jg("Previous",h.createElement("path",{d:"M15.41 7.41L14 6l-6 6 6 6 1.41-1.41L10.83 12z"})),iHe=Jg("Next",h.createElement("path",{d:"M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z"})),lHe=Jg("Loading",h.createElement(h.Fragment,null,Array.from({length:8}).map((t,e,n)=>h.createElement("line",{key:e,x1:"12",y1:"6.5",x2:"12",y2:"1.8",strokeLinecap:"round",strokeWidth:"2.6",stroke:"currentColor",strokeOpacity:1/n.length*(e+1),transform:`rotate(${360/n.length*e}, 12, 12)`})))),cHe=Jg("Error",h.createElement("path",{d:"M21.9,21.9l-8.49-8.49l0,0L3.59,3.59l0,0L2.1,2.1L0.69,3.51L3,5.83V19c0,1.1,0.9,2,2,2h13.17l2.31,2.31L21.9,21.9z M5,18 l3.5-4.5l2.5,3.01L12.17,15l3,3H5z M21,18.17L5.83,3H19c1.1,0,2,0.9,2,2V18.17z"})),uf=c7()?h.useLayoutEffect:h.useEffect;function p7(){const[t,e]=h.useState(!1);return h.useEffect(()=>{var n,r;const o=(n=window.matchMedia)===null||n===void 0?void 0:n.call(window,"(prefers-reduced-motion: reduce)");e(o==null?void 0:o.matches);const s=a=>e(a.matches);return(r=o==null?void 0:o.addEventListener)===null||r===void 0||r.call(o,"change",s),()=>{var a;return(a=o==null?void 0:o.removeEventListener)===null||a===void 0?void 0:a.call(o,"change",s)}},[]),t}function uHe(t){let e=0,n=0,r=0;const s=window.getComputedStyle(t).transform.match(/matrix.*\((.+)\)/);if(s){const a=s[1].split(",").map(JS);a.length===6?(e=a[4],n=a[5]):a.length===16&&(e=a[12],n=a[13],r=a[14])}return{x:e,y:n,z:r}}function tG(t,e){const n=h.useRef(),r=h.useRef(),o=p7();return uf(()=>{var s,a,i;if(t.current&&n.current!==void 0&&!o){const{keyframes:l,duration:u,easing:d,onfinish:f}=e(n.current,t.current.getBoundingClientRect(),uHe(t.current))||{};if(l&&u){(s=r.current)===null||s===void 0||s.cancel(),r.current=void 0;try{r.current=(i=(a=t.current).animate)===null||i===void 0?void 0:i.call(a,l,{duration:u,easing:d})}catch(m){console.error(m)}r.current&&(r.current.onfinish=()=>{r.current=void 0,f==null||f()})}}n.current=void 0}),{prepareAnimation:s=>{n.current=s},isAnimationPlaying:()=>{var s;return((s=r.current)===null||s===void 0?void 0:s.playState)==="running"}}}function Mue(){const t=h.useRef(null),e=h.useRef(),[n,r]=h.useState();return{setContainerRef:h.useCallback(s=>{t.current=s,e.current&&(e.current.disconnect(),e.current=void 0);const a=()=>{if(s){const i=window.getComputedStyle(s),l=u=>parseFloat(u)||0;r({width:Math.round(s.clientWidth-l(i.paddingLeft)-l(i.paddingRight)),height:Math.round(s.clientHeight-l(i.paddingTop)-l(i.paddingBottom))})}else r(void 0)};a(),s&&typeof ResizeObserver<"u"&&(e.current=new ResizeObserver(a),e.current.observe(s))},[]),containerRef:t,containerRect:n}}function G3(){const t=h.useRef(),{setTimeout:e,clearTimeout:n}=tE();return h.useCallback((r,o)=>{n(t.current),t.current=e(r,o>0?o:0)},[e,n])}function Rr(t){const e=h.useRef(t);return uf(()=>{e.current=t}),h.useCallback((...n)=>{var r;return(r=e.current)===null||r===void 0?void 0:r.call(e,...n)},[])}function nG(t,e){typeof t=="function"?t(e):t&&(t.current=e)}function pM(t,e){return h.useMemo(()=>t==null&&e==null?null:n=>{nG(t,n),nG(e,n)},[t,e])}function fHe(t,e=!1){const n=h.useRef();uf(()=>{e&&n.current&&(n.current=!1,t())},[e,t]);const r=h.useCallback(()=>{n.current=!0},[]),o=h.useCallback(()=>{n.current=!1},[]);return{onFocus:r,onBlur:o}}function h7(){const[t,e]=h.useState(!1);return uf(()=>{e(window.getComputedStyle(window.document.documentElement).direction==="rtl")},[]),t}function dHe(){const[t]=h.useState({}),e=h.useCallback((o,s)=>{var a;(a=t[o])===null||a===void 0||a.forEach(i=>{s.isPropagationStopped()||i(s)})},[t]),n=h.useMemo(()=>({onPointerDown:o=>e(pue,o),onPointerMove:o=>e(hue,o),onPointerUp:o=>e(mue,o),onPointerLeave:o=>e(gue,o),onPointerCancel:o=>e(yue,o),onKeyDown:o=>e(s7,o),onKeyUp:o=>e(OVe,o),onWheel:o=>e(a7,o)}),[e]),r=h.useCallback((o,s)=>(t[o]||(t[o]=[]),t[o].unshift(s),()=>{const a=t[o];a&&a.splice(0,a.length,...a.filter(i=>i!==s))}),[t]);return{registerSensors:n,subscribeSensors:r}}function rG(t,e){const n=h.useRef(0),r=G3(),o=Rr((...s)=>{n.current=Date.now(),t(s)});return h.useCallback((...s)=>{r(()=>{o(s)},e-(Date.now()-n.current))},[e,o,r])}const yA=i7("slide"),vA=i7("slide_image");function gj({slide:t,offset:e,render:n,rect:r,imageFit:o,imageProps:s,onClick:a,onLoad:i,onError:l,style:u}){var d,f,m,g,w,b,j;const[S,I]=h.useState(hA),{publish:N}=eE(),{setTimeout:M}=tE(),D=h.useRef(null);h.useEffect(()=>{e===0&&N(TVe(S))},[e,S,N]);const O=Rr(J=>{("decode"in J?J.decode():Promise.resolve()).catch(()=>{}).then(()=>{J.parentNode&&(I(gA),M(()=>{i==null||i(J)},0))})}),L=h.useCallback(J=>{D.current=J,J!=null&&J.complete&&O(J)},[O]),B=h.useCallback(J=>{O(J.currentTarget)},[O]),T=Rr(()=>{I(mA),l==null||l()}),R=f7(t,o),z=(J,ne)=>Number.isFinite(J)?J:ne,Y=z(Math.max(...((f=(d=t.srcSet)===null||d===void 0?void 0:d.map(J=>J.width))!==null&&f!==void 0?f:[]).concat(t.width?[t.width]:[]).filter(Boolean)),((m=D.current)===null||m===void 0?void 0:m.naturalWidth)||0),Q=z(Math.max(...((w=(g=t.srcSet)===null||g===void 0?void 0:g.map(J=>J.height))!==null&&w!==void 0?w:[]).concat(t.height?[t.height]:[]).filter(Boolean)),((b=D.current)===null||b===void 0?void 0:b.naturalHeight)||0),W=Y&&Q?{maxWidth:`min(${Y}px, 100%)`,maxHeight:`min(${Q}px, 100%)`}:{maxWidth:"100%",maxHeight:"100%"},F=(j=t.srcSet)===null||j===void 0?void 0:j.sort((J,ne)=>J.width-ne.width).map(J=>`${J.src} ${J.width}w`).join(", "),X=()=>r&&!R&&t.width&&t.height?r.height/t.height*t.width:Number.MAX_VALUE,$=F&&r&&c7()?`${Math.round(Math.min(X(),r.width))}px`:void 0,{style:V,className:K,...G}=s||{};return h.createElement(h.Fragment,null,h.createElement("img",{ref:L,onLoad:B,onError:T,onClick:a,draggable:!1,className:qu(gr(vA()),R&&gr(vA("cover")),S!==gA&&gr(vA("loading")),K),style:{...W,...u,...V},...G,alt:t.alt,sizes:$,srcSet:F,src:t.src}),S!==gA&&h.createElement("div",{className:gr(yA(RVe))},S===hA&&(n!=null&&n.iconLoading?n.iconLoading():h.createElement(lHe,{className:qu(gr(uM),gr(yA(hA)))})),S===mA&&(n!=null&&n.iconError?n.iconError():h.createElement(cHe,{className:qu(gr(uM),gr(yA(mA)))}))))}const pHe=h.forwardRef(function({className:e,children:n,...r},o){const s=h.useRef(null);return h.createElement(QVe,{nodeRef:s},h.createElement("div",{ref:pM(o,s),className:qu(gr("root"),e),...r},n))});var ka;(function(t){t[t.NONE=0]="NONE",t[t.SWIPE=1]="SWIPE",t[t.PULL=2]="PULL",t[t.ANIMATION=3]="ANIMATION"})(ka||(ka={}));function Rue(t,e,n,r,o){h.useEffect(()=>o?()=>{}:l7(t(pue,e),t(hue,n),t(mue,r),t(gue,r),t(yue,r)),[t,e,n,r,o])}var Mc;(function(t){t[t.NONE=0]="NONE",t[t.SWIPE=1]="SWIPE",t[t.PULL=2]="PULL"})(Mc||(Mc={}));const wA=30;function hHe(t,e,n,r,o,s,a,i,l,u,d,f,m,g){const w=h.useRef(0),b=h.useRef([]),j=h.useRef(),S=h.useRef(0),I=h.useRef(Mc.NONE),N=h.useCallback(T=>{j.current===T.pointerId&&(j.current=void 0,I.current=Mc.NONE);const R=b.current;R.splice(0,R.length,...R.filter(z=>z.pointerId!==T.pointerId))},[]),M=h.useCallback(T=>{N(T),T.persist(),b.current.push(T)},[N]),D=Rr(T=>{M(T)}),O=(T,R)=>u&&T>R||l&&T<-R,L=Rr(T=>{if(b.current.find(R=>R.pointerId===T.pointerId)&&j.current===T.pointerId){const R=Date.now()-S.current,z=w.current;I.current===Mc.SWIPE?Math.abs(z)>.3*n||Math.abs(z)>5&&R<r?a(z,R):i(z):I.current===Mc.PULL&&(O(z,2*wA)?m(z,R):g(z)),w.current=0,I.current=Mc.NONE}N(T)}),B=Rr(T=>{const R=b.current.find(z=>z.pointerId===T.pointerId);if(R){const z=j.current===T.pointerId;if(T.buttons===0){z&&w.current!==0?L(T):N(R);return}const Y=T.clientX-R.clientX,Q=T.clientY-R.clientY;if(j.current===void 0){const W=F=>{M(T),j.current=T.pointerId,S.current=Date.now(),I.current=F};Math.abs(Y)>Math.abs(Q)&&Math.abs(Y)>wA&&e(Y)?(W(Mc.SWIPE),o()):Math.abs(Q)>Math.abs(Y)&&O(Q,wA)&&(W(Mc.PULL),d())}else z&&(I.current===Mc.SWIPE?(w.current=Y,s(Y)):I.current===Mc.PULL&&(w.current=Q,f(Q)))}});Rue(t,D,B,L)}function mHe({preventDefaultWheelX:t,preventDefaultWheelY:e}){const n=h.useRef(null),r=Rr(o=>{const s=Math.abs(o.deltaX)>Math.abs(o.deltaY);(s&&t||!s&&e||o.ctrlKey)&&o.preventDefault()});return h.useCallback(o=>{var s;o?o.addEventListener("wheel",r,{passive:!1}):(s=n.current)===null||s===void 0||s.removeEventListener("wheel",r),n.current=o},[r])}function gHe(t,e,n,r,o,s,a,i,l){const u=h.useRef(0),d=h.useRef(0),f=h.useRef(),m=h.useRef(),g=h.useRef(0),w=h.useRef(),b=h.useRef(0),{setTimeout:j,clearTimeout:S}=tE(),I=h.useCallback(()=>{f.current&&(S(f.current),f.current=void 0)},[S]),N=h.useCallback(()=>{m.current&&(S(m.current),m.current=void 0)},[S]),M=Rr(()=>{t!==ka.SWIPE&&(u.current=0,b.current=0,I(),N())});h.useEffect(M,[t,M]);const D=Rr(L=>{m.current=void 0,u.current===L&&l(u.current)}),O=Rr(L=>{if(L.ctrlKey||Math.abs(L.deltaY)>Math.abs(L.deltaX))return;const B=T=>{g.current=T,S(w.current),w.current=T>0?j(()=>{g.current=0,w.current=void 0},300):void 0};if(t===ka.NONE){if(Math.abs(L.deltaX)<=1.2*Math.abs(g.current)){B(L.deltaX);return}if(!n(-L.deltaX))return;if(d.current+=L.deltaX,I(),Math.abs(d.current)>30)d.current=0,B(0),b.current=Date.now(),s();else{const T=d.current;f.current=j(()=>{f.current=void 0,T===d.current&&(d.current=0)},o)}}else if(t===ka.SWIPE){let T=u.current-L.deltaX;if(T=Math.min(Math.abs(T),r)*Math.sign(T),u.current=T,a(T),N(),Math.abs(T)>.2*r){B(L.deltaX),i(T,Date.now()-b.current);return}m.current=j(()=>D(T),2*o)}else B(L.deltaX)});h.useEffect(()=>e(a7,O),[e,O])}const oG=i7("container"),Tue=h.createContext(null),Cd=Ah("useController","ControllerContext",Tue);function yHe({children:t,...e}){var n;const{carousel:r,animation:o,controller:s,on:a,styles:i,render:l}=e,{closeOnPullUp:u,closeOnPullDown:d,preventDefaultWheelX:f,preventDefaultWheelY:m}=s,[g,w]=h.useState(),b=Mh(),j=eHe(),[S,I]=h.useState(ka.NONE),N=h.useRef(0),M=h.useRef(0),D=h.useRef(1),{registerSensors:O,subscribeSensors:L}=dHe(),{subscribe:B,publish:T}=eE(),R=G3(),z=G3(),Y=G3(),{containerRef:Q,setContainerRef:W,containerRect:F}=Mue(),X=pM(mHe({preventDefaultWheelX:f,preventDefaultWheelY:m}),W),$=h.useRef(null),V=pM($,void 0),{getOwnerDocument:K}=XS(),G=h7(),J=Me=>(G?-1:1)*(typeof Me=="number"?Me:1),ne=Rr(()=>{var Me;return(Me=Q.current)===null||Me===void 0?void 0:Me.focus()}),re=Rr(()=>e),de=Rr(()=>b),Ne=h.useCallback(Me=>T(Cm,Me),[T]),ve=h.useCallback(Me=>T(Sm,Me),[T]),xe=h.useCallback(()=>T(by),[T]),ce=Me=>!(r.finite&&(J(Me)>0&&b.currentIndex===0||J(Me)<0&&b.currentIndex===b.slides.length-1)),pe=Me=>{var et;N.current=Me,(et=Q.current)===null||et===void 0||et.style.setProperty(ji("swipe_offset"),`${Math.round(Me)}px`)},me=Me=>{var et,pt;M.current=Me,D.current=(()=>{const De=d&&Me>0?Me:u&&Me<0?-Me:0;return Math.min(Math.max(u7(1-De/60*(1-.5),2),.5),1)})(),(et=Q.current)===null||et===void 0||et.style.setProperty(ji("pull_offset"),`${Math.round(Me)}px`),(pt=Q.current)===null||pt===void 0||pt.style.setProperty(ji("pull_opacity"),`${D.current}`)},{prepareAnimation:ke}=tG($,(Me,et,pt)=>{if($.current&&F)return{keyframes:[{transform:`translate(0, ${Me.rect.y-et.y+pt.y}px)`,opacity:Me.opacity},{transform:"translate(0, 0)",opacity:1}],duration:Me.duration,easing:o.easing.fade}}),le=(Me,et)=>{if(u||d){me(Me);let pt=0;$.current&&(pt=o.fade*(et?2:1),ke({rect:$.current.getBoundingClientRect(),opacity:D.current,duration:pt})),Y(()=>{me(0),I(ka.NONE)},pt),I(ka.ANIMATION),et||xe()}},{prepareAnimation:he,isAnimationPlaying:we}=tG($,(Me,et,pt)=>{var ht;if($.current&&F&&(!((ht=b.animation)===null||ht===void 0)&&ht.duration)){const st=mj(r.spacing),De=(st.percent?st.percent*F.width/100:st.pixel)||0;return{keyframes:[{transform:`translate(${J(b.globalIndex-Me.index)*(F.width+De)+Me.rect.x-et.x+pt.x}px, 0)`},{transform:"translate(0, 0)"}],duration:b.animation.duration,easing:b.animation.easing}}}),Ae=Rr(Me=>{var et,pt;const ht=Me.offset||0,st=ht?o.swipe:(et=o.navigation)!==null&&et!==void 0?et:o.swipe,De=!ht&&!we()?o.easing.navigation:o.easing.swipe;let{direction:se}=Me;const q=(pt=Me.count)!==null&&pt!==void 0?pt:1;let Z=ka.ANIMATION,ie=st*q;if(!se){const Te=F==null?void 0:F.width,Se=Me.duration||0,ye=Te?st/Te*Math.abs(ht):st;q!==0?(Se<ye?ie=ie/ye*Math.max(Se,ye/5):Te&&(ie=st/Te*(Te-Math.abs(ht))),se=J(ht)>0?Cm:Sm):ie=st/2}let Ce=0;se===Cm?ce(J(1))?Ce=-q:(Z=ka.NONE,ie=st):se===Sm&&(ce(J(-1))?Ce=q:(Z=ka.NONE,ie=st)),ie=Math.round(ie),z(()=>{pe(0),I(ka.NONE)},ie),$.current&&he({rect:$.current.getBoundingClientRect(),index:b.globalIndex}),I(Z),T(XY,{type:"swipe",increment:Ce,duration:ie,easing:De})});h.useEffect(()=>{var Me,et;!((Me=b.animation)===null||Me===void 0)&&Me.increment&&(!((et=b.animation)===null||et===void 0)&&et.duration)&&R(()=>j({type:"swipe",increment:0}),b.animation.duration)},[b.animation,j,R]);const Ve=[L,ce,(F==null?void 0:F.width)||0,o.swipe,()=>I(ka.SWIPE),Me=>pe(Me),(Me,et)=>Ae({offset:Me,duration:et,count:1}),Me=>Ae({offset:Me,count:0})],Ze=[()=>{d&&I(ka.PULL)},Me=>me(Me),Me=>le(Me),Me=>le(Me,!0)];hHe(...Ve,u,d,...Ze),gHe(S,...Ve);const nt=Rr(()=>{s.focus&&K().querySelector(`.${gr(r7)} .${gr(oG())}`)&&ne()});h.useEffect(nt,[nt]);const $e=Rr(()=>{var Me;(Me=a.view)===null||Me===void 0||Me.call(a,{index:b.currentIndex})});h.useEffect($e,[b.globalIndex,$e]),h.useEffect(()=>l7(B(Cm,Me=>Ae({direction:Cm,...Me})),B(Sm,Me=>Ae({direction:Sm,...Me})),B(XY,Me=>j(Me))),[B,Ae,j]);const Ke=h.useMemo(()=>({prev:Ne,next:ve,close:xe,focus:ne,slideRect:F?VVe(F,r.padding):{width:0,height:0},containerRect:F||{width:0,height:0},subscribeSensors:L,containerRef:Q,setCarouselRef:V,toolbarWidth:g,setToolbarWidth:w}),[Ne,ve,xe,ne,L,F,Q,V,g,w,r.padding]);return h.useImperativeHandle(s.ref,()=>({prev:Ne,next:ve,close:xe,focus:ne,getLightboxProps:re,getLightboxState:de}),[Ne,ve,xe,ne,re,de]),h.createElement("div",{ref:X,className:qu(gr(oG()),gr(o7)),style:{...S===ka.SWIPE?{[ji("swipe_offset")]:`${Math.round(N.current)}px`}:null,...S===ka.PULL?{[ji("pull_offset")]:`${Math.round(M.current)}px`,[ji("pull_opacity")]:`${D.current}`}:null,...s.touchAction!=="none"?{[ji("controller_touch_action")]:s.touchAction}:null,...i.container},...s.aria?{role:"presentation","aria-live":"polite"}:null,tabIndex:-1,...O},F&&h.createElement(Tue.Provider,{value:Ke},t,(n=l.controls)===null||n===void 0?void 0:n.call(l)))}const vHe=_h(cue,yHe);function gm(t){return vx(lue,t)}function sG(t){return vx("slide",t)}function wHe({slide:t,offset:e}){const n=h.useRef(null),{currentIndex:r}=Mh(),{slideRect:o,close:s,focus:a}=Cd(),{render:i,carousel:{imageFit:l,imageProps:u},on:{click:d},controller:{closeOnBackdropClick:f},styles:{slide:m}}=pc(),{getOwnerDocument:g}=XS(),w=e!==0;h.useEffect(()=>{var S;w&&(!((S=n.current)===null||S===void 0)&&S.contains(g().activeElement))&&a()},[w,a,g]);const b=()=>{var S,I,N,M;let D=(S=i.slide)===null||S===void 0?void 0:S.call(i,{slide:t,offset:e,rect:o});return!D&&ov(t)&&(D=h.createElement(gj,{slide:t,offset:e,render:i,rect:o,imageFit:l,imageProps:u,onClick:w?void 0:()=>d==null?void 0:d({index:r})})),D?h.createElement(h.Fragment,null,(I=i.slideHeader)===null||I===void 0?void 0:I.call(i,{slide:t}),((N=i.slideContainer)!==null&&N!==void 0?N:(({children:O})=>O))({slide:t,children:D}),(M=i.slideFooter)===null||M===void 0?void 0:M.call(i,{slide:t})):null},j=S=>{const I=n.current,N=S.target instanceof HTMLElement?S.target:void 0;f&&N&&I&&(N===I||Array.from(I.children).find(M=>M===N)&&N.classList.contains(gr(due)))&&s()};return h.createElement("div",{ref:n,className:qu(gr(sG()),!w&&gr(sG("current")),gr(o7)),...KVe(w),onClick:j,style:m},b())}function bHe(){const t=pc().styles.slide;return h.createElement("div",{className:gr("slide"),style:t})}function xHe({carousel:t}){const{slides:e,currentIndex:n,globalIndex:r}=Mh(),{setCarouselRef:o}=Cd(),s=mj(t.spacing),a=mj(t.padding),i=GVe(t,e,1),l=[];if(kue(e))for(let u=n-i;u<=n+i;u+=1){const d=jue(e,u),f=r-n+u,m=t.finite&&(u<0||u>e.length-1);l.push(m?{key:f}:{key:[`${f}`,WVe(d)].filter(Boolean).join("|"),offset:u-n,slide:d})}return h.createElement("div",{ref:o,className:qu(gr(gm()),l.length>0&&gr(gm("with_slides"))),style:{[`${ji(gm("slides_count"))}`]:l.length,[`${ji(gm("spacing_px"))}`]:s.pixel||0,[`${ji(gm("spacing_percent"))}`]:s.percent||0,[`${ji(gm("padding_px"))}`]:a.pixel||0,[`${ji(gm("padding_percent"))}`]:a.percent||0}},l.map(({key:u,slide:d,offset:f})=>d?h.createElement(wHe,{key:u,slide:d,offset:f}):h.createElement(bHe,{key:u})))}const kHe=_h(lue,xHe);function Due(){const{carousel:t}=pc(),{slides:e,currentIndex:n}=Mh(),r=e.length===0||t.finite&&n===0,o=e.length===0||t.finite&&n===e.length-1;return{prevDisabled:r,nextDisabled:o}}function jHe(t){var e;const n=h7(),{publish:r}=eE(),{animation:o}=pc(),{prevDisabled:s,nextDisabled:a}=Due(),i=((e=o.navigation)!==null&&e!==void 0?e:o.swipe)/2,l=rG(()=>r(Cm),i),u=rG(()=>r(Sm),i),d=Rr(f=>{switch(f.key){case zVe:r(by);break;case FVe:(n?a:s)||(n?u:l)();break;case BVe:(n?s:a)||(n?l:u)();break}});h.useEffect(()=>t(s7,d),[t,d])}function aG({label:t,icon:e,renderIcon:n,action:r,onClick:o,disabled:s,style:a}){return h.createElement(d7,{label:t,icon:e,renderIcon:n,className:gr(`navigation_${r}`),disabled:s,onClick:o,style:a,...fHe(Cd().focus,s)})}function CHe({render:{buttonPrev:t,buttonNext:e,iconPrev:n,iconNext:r},styles:o}){const{prev:s,next:a,subscribeSensors:i}=Cd(),{prevDisabled:l,nextDisabled:u}=Due();return jHe(i),h.createElement(h.Fragment,null,t?t():h.createElement(aG,{label:"Previous",action:Cm,icon:aHe,renderIcon:n,style:o.navigationPrev,disabled:l,onClick:s}),e?e():h.createElement(aG,{label:"Next",action:Sm,icon:iHe,renderIcon:r,style:o.navigationNext,disabled:u,onClick:a}))}const SHe=_h(AVe,CHe),iG=gr(LVe),EHe=gr(fue);function NHe(t){return"style"in t}function lG(t,e,n){const r=window.getComputedStyle(t),o=n?"padding-left":"padding-right",s=n?r.paddingLeft:r.paddingRight,a=t.style.getPropertyValue(o);return t.style.setProperty(o,`${(JS(s)||0)+e}px`),()=>{a?t.style.setProperty(o,a):t.style.removeProperty(o)}}function IHe({noScroll:{disabled:t},children:e}){const n=h7(),{getOwnerDocument:r,getOwnerWindow:o}=XS();return h.useEffect(()=>{if(t)return()=>{};const s=[],a=o(),{body:i,documentElement:l}=r(),u=Math.round(a.innerWidth-l.clientWidth);if(u>0){s.push(lG(i,u,n));const d=i.getElementsByTagName("*");for(let f=0;f<d.length;f+=1){const m=d[f];NHe(m)&&a.getComputedStyle(m).getPropertyValue("position")==="fixed"&&!m.classList.contains(EHe)&&s.push(lG(m,u,n))}}return i.classList.add(iG),()=>{i.classList.remove(iG),s.forEach(d=>d())}},[n,t,r,o]),h.createElement(h.Fragment,null,e)}const AHe=_h(_Ve,IHe);function cG(t){return vx(r7,t)}function uG(t,e,n){const r=t.getAttribute(e);return t.setAttribute(e,n),()=>{r?t.setAttribute(e,r):t.removeAttribute(e)}}function _He({children:t,animation:e,styles:n,className:r,on:o,portal:s,close:a}){const[i,l]=h.useState(!1),[u,d]=h.useState(!1),f=h.useRef([]),m=h.useRef(null),{setTimeout:g}=tE(),{subscribe:w}=eE(),j=p7()?0:e.fade;h.useEffect(()=>(l(!0),()=>{l(!1),d(!1)}),[]);const S=Rr(()=>{f.current.forEach(D=>D()),f.current=[]}),I=Rr(()=>{var D;d(!1),S(),(D=o.exiting)===null||D===void 0||D.call(o),g(()=>{var O;(O=o.exited)===null||O===void 0||O.call(o),a()},j)});h.useEffect(()=>w(by,I),[w,I]);const N=Rr(D=>{var O,L,B;D.scrollTop,d(!0),(O=o.entering)===null||O===void 0||O.call(o);const T=(B=(L=D.parentNode)===null||L===void 0?void 0:L.children)!==null&&B!==void 0?B:[];for(let R=0;R<T.length;R+=1){const z=T[R];["TEMPLATE","SCRIPT","STYLE"].indexOf(z.tagName)===-1&&z!==D&&(f.current.push(uG(z,"inert","")),f.current.push(uG(z,"aria-hidden","true")))}f.current.push(()=>{var R,z;(z=(R=m.current)===null||R===void 0?void 0:R.focus)===null||z===void 0||z.call(R)}),g(()=>{var R;(R=o.entered)===null||R===void 0||R.call(o)},j)}),M=h.useCallback(D=>{D?N(D):S()},[N,S]);return i?Ds.createPortal(h.createElement(pHe,{ref:M,className:qu(r,gr(cG()),gr(fue),u&&gr(cG("open"))),role:"presentation","aria-live":"polite",style:{...e.fade!==dM.animation.fade?{[ji("fade_animation_duration")]:`${j}ms`}:null,...e.easing.fade!==dM.animation.easing.fade?{[ji("fade_animation_timing_function")]:e.easing.fade}:null,...n.root},onFocus:D=>{m.current||(m.current=D.relatedTarget)}},t),s.root||document.body):null}const MHe=_h(r7,_He);function RHe({children:t}){return h.createElement(h.Fragment,null,t)}const THe=_h(MVe,RHe);function DHe(t){return vx(uue,t)}function LHe({toolbar:{buttons:t},render:{buttonClose:e,iconClose:n},styles:r}){const{close:o,setToolbarWidth:s}=Cd(),{setContainerRef:a,containerRect:i}=Mue();uf(()=>{s(i==null?void 0:i.width)},[s,i==null?void 0:i.width]);const l=()=>e?e():h.createElement(d7,{key:by,label:"Close",icon:sHe,renderIcon:n,onClick:o});return h.createElement("div",{ref:a,style:r.toolbar,className:gr(DHe())},t==null?void 0:t.map(u=>u===by?l():u))}const PHe=_h(uue,LHe);function Lue(t,e){var n;return h.createElement(t.module.component,{key:t.module.name,...e},(n=t.children)===null||n===void 0?void 0:n.map(r=>Lue(r,e)))}function OHe(t,e={}){const{easing:n,...r}=t,{easing:o,...s}=e;return{easing:{...n,...o},...r,...s}}function m7({carousel:t,animation:e,render:n,toolbar:r,controller:o,noScroll:s,on:a,plugins:i,slides:l,index:u,...d}){const{animation:f,carousel:m,render:g,toolbar:w,controller:b,noScroll:j,on:S,slides:I,index:N,plugins:M,...D}=dM,{config:O,augmentation:L}=ZVe([Is(MHe,[Is(AHe,[Is(vHe,[Is(kHe),Is(PHe),Is(SHe)])])])],i||M),B=L({animation:OHe(f,e),carousel:{...m,...t},render:{...g,...n},toolbar:{...w,...r},controller:{...b,...o},noScroll:{...j,...s},on:{...S,...a},...D,...d});return B.open?h.createElement(XVe,{...B},h.createElement(nHe,{slides:l||I,index:JS(u||N)},h.createElement(rHe,null,h.createElement(JVe,null,Lue(Is(THe,O),B))))):null}const zHe={maxZoomPixelRatio:1,zoomInMultiplier:2,doubleTapDelay:300,doubleClickDelay:500,doubleClickMaxStops:2,keyboardMoveDistance:50,wheelZoomDistanceFactor:100,pinchZoomDistanceFactor:100,scrollToZoom:!1},Pue=t=>({...zHe,...t});function FHe(t,e,n,r){const o=h.useRef(),s=h.useRef(),{zoom:a}=pc().animation,i=p7(),l=Rr(()=>{var u,d,f;if((u=o.current)===null||u===void 0||u.cancel(),o.current=void 0,s.current&&(r!=null&&r.current)){try{o.current=(f=(d=r.current).animate)===null||f===void 0?void 0:f.call(d,[{transform:s.current},{transform:`scale(${t}) translateX(${e}px) translateY(${n}px)`}],{duration:i?0:a??500,easing:o.current?"ease-out":"ease-in-out"})}catch(m){console.error(m)}s.current=void 0,o.current&&(o.current.onfinish=()=>{o.current=void 0})}});return uf(l,[t,e,n,l]),h.useCallback(()=>{s.current=r!=null&&r.current?window.getComputedStyle(r.current).transform:void 0},[r])}function BHe(t,e){const{on:n}=pc(),r=Rr(()=>{var o;e||(o=n.zoom)===null||o===void 0||o.call(n,{zoom:t})});h.useEffect(r,[t,r])}function nE(){const{zoom:t}=pc();return Pue(t)}function UHe(t,e){var n,r;let o={width:0,height:0},s={width:0,height:0};const{currentSlide:a}=Mh(),{imageFit:i}=pc().carousel,{maxZoomPixelRatio:l}=nE();if(t&&a){const d={...a,...e};if(ov(d)){const f=f7(d,i),m=Math.max(...(((n=d.srcSet)===null||n===void 0?void 0:n.map(w=>w.width))||[]).concat(d.width?[d.width]:[])),g=Math.max(...(((r=d.srcSet)===null||r===void 0?void 0:r.map(w=>w.height))||[]).concat(d.height?[d.height]:[]));m>0&&g>0&&t.width>0&&t.height>0&&(s=f?{width:Math.round(Math.min(m,t.width/t.height*g)),height:Math.round(Math.min(g,t.height/t.width*m))}:{width:m,height:g},s={width:s.width*l,height:s.height*l},o=f?{width:Math.min(t.width,s.width,m),height:Math.min(t.height,s.height,g)}:{width:Math.round(Math.min(t.width,t.height/g*m,m)),height:Math.round(Math.min(t.height,t.width/m*g,g))})}}const u=o.width?Math.max(u7(s.width/o.width,5),1):1;return{imageRect:o,maxZoom:u}}function fG(t,e){return((t.clientX-e.clientX)**2+(t.clientY-e.clientY)**2)**.5}function dG(t,e,n=100,r=2){return t*Math.min(1+Math.abs(e/n),r)**Math.sign(e)}function $He(t,e,n,r,o,s){const a=h.useRef([]),i=h.useRef(0),l=h.useRef(),{globalIndex:u}=Mh(),{getOwnerWindow:d}=XS(),{containerRef:f,subscribeSensors:m}=Cd(),{keyboardMoveDistance:g,zoomInMultiplier:w,wheelZoomDistanceFactor:b,scrollToZoom:j,doubleTapDelay:S,doubleClickDelay:I,doubleClickMaxStops:N,pinchZoomDistanceFactor:M}=nE(),D=h.useCallback(W=>{if(f.current){const{pageX:F,pageY:X}=W,{scrollX:$,scrollY:V}=d(),{left:K,top:G,width:J,height:ne}=f.current.getBoundingClientRect();return[F-K-$-J/2,X-G-V-ne/2]}return[]},[f,d]),O=Rr(W=>{const F=()=>{W.preventDefault(),W.stopPropagation()};if(t>1){const V=(K,G)=>{F(),o(K,G)};W.key==="ArrowDown"?V(0,g):W.key==="ArrowUp"?V(0,-g):W.key==="ArrowLeft"?V(-g,0):W.key==="ArrowRight"&&V(g,0)}const X=V=>{F(),r(V)},$=()=>W.getModifierState("Meta");W.key==="+"||W.key==="="&&$()?X(t*w):W.key==="-"||W.key==="_"&&$()?X(t/w):W.key==="0"&&$()&&X(1)}),L=Rr(W=>{if((W.ctrlKey||j)&&Math.abs(W.deltaY)>Math.abs(W.deltaX)){W.stopPropagation(),r(dG(t,-W.deltaY,b),!0,...D(W));return}t>1&&(W.stopPropagation(),j||o(W.deltaX,W.deltaY))}),B=h.useCallback(W=>{const F=a.current;F.splice(0,F.length,...F.filter(X=>X.pointerId!==W.pointerId))},[]),T=h.useCallback(W=>{B(W),W.persist(),a.current.push(W)},[B]),R=Rr(W=>{var F;const X=a.current;if(W.pointerType==="mouse"&&W.buttons>1||!(!((F=s==null?void 0:s.current)===null||F===void 0)&&F.contains(W.target)))return;t>1&&W.stopPropagation();const{timeStamp:$}=W;X.length===0&&$-i.current<(W.pointerType==="touch"?S:I)?(i.current=0,r(t!==e?t*Math.max(e**(1/N),w):1,!1,...D(W))):i.current=$,T(W),X.length===2&&(l.current=fG(X[0],X[1]))}),z=Rr(W=>{const F=a.current,X=F.find($=>$.pointerId===W.pointerId);if(F.length===2&&l.current){W.stopPropagation(),T(W);const $=fG(F[0],F[1]),V=$-l.current;Math.abs(V)>0&&(r(dG(t,V,M),!0,...F.map(K=>D(K)).reduce((K,G)=>G.map((J,ne)=>K[ne]+J/2))),l.current=$);return}t>1&&(W.stopPropagation(),X&&(F.length===1&&o((X.clientX-W.clientX)/t,(X.clientY-W.clientY)/t),T(W)))}),Y=h.useCallback(W=>{const F=a.current;F.length===2&&F.find(X=>X.pointerId===W.pointerId)&&(l.current=void 0),B(W)},[B]),Q=h.useCallback(()=>{const W=a.current;W.splice(0,W.length),i.current=0,l.current=void 0},[]);Rue(m,R,z,Y,n),h.useEffect(Q,[u,Q]),h.useEffect(()=>n?()=>{}:l7(Q,m(s7,O),m(a7,L)),[n,m,Q,O,L])}function VHe(t,e,n){const[r,o]=h.useState(1),[s,a]=h.useState(0),[i,l]=h.useState(0),u=FHe(r,s,i,n),{currentSlide:d,globalIndex:f}=Mh(),{containerRect:m,slideRect:g}=Cd(),{zoomInMultiplier:w}=nE(),b=d&&ov(d)?d.src:void 0,j=!b||!(n!=null&&n.current);uf(()=>{o(1),a(0),l(0)},[f,b]);const S=h.useCallback((O,L,B)=>{const T=B||r,R=s-(O||0),z=i-(L||0),Y=(t.width*T-g.width)/2/T,Q=(t.height*T-g.height)/2/T;a(Math.min(Math.abs(R),Math.max(Y,0))*Math.sign(R)),l(Math.min(Math.abs(z),Math.max(Q,0))*Math.sign(z))},[r,s,i,g,t.width,t.height]),I=h.useCallback((O,L,B,T)=>{const R=u7(Math.min(Math.max(O+.001<e?O:e,1),e),5);R!==r&&(L||u(),S(B?B*(1/r-1/R):0,T?T*(1/r-1/R):0,R),o(R))},[r,e,S,u]),N=Rr(()=>{r>1&&(r>e&&I(e,!0),S())});uf(N,[m.width,m.height,N]);const M=h.useCallback(()=>I(r*w),[r,w,I]),D=h.useCallback(()=>I(r/w),[r,w,I]);return{zoom:r,offsetX:s,offsetY:i,disabled:j,changeOffsets:S,changeZoom:I,zoomIn:M,zoomOut:D}}const Oue=h.createContext(null),g7=Ah("useZoom","ZoomControllerContext",Oue);function HHe({children:t}){const[e,n]=h.useState(),{slideRect:r}=Cd(),{imageRect:o,maxZoom:s}=UHe(r,e==null?void 0:e.imageDimensions),{zoom:a,offsetX:i,offsetY:l,disabled:u,changeZoom:d,changeOffsets:f,zoomIn:m,zoomOut:g}=VHe(o,s,e==null?void 0:e.zoomWrapperRef);BHe(a,u),$He(a,s,u,d,f,e==null?void 0:e.zoomWrapperRef);const w=h.useMemo(()=>({zoom:a,maxZoom:s,offsetX:i,offsetY:l,disabled:u,zoomIn:m,zoomOut:g,changeZoom:d}),[a,s,i,l,u,m,g,d]);h.useImperativeHandle(nE().ref,()=>w,[w]);const b=h.useMemo(()=>({...w,setZoomWrapper:n}),[w,n]);return h.createElement(Oue.Provider,{value:b},t)}const WHe=Jg("ZoomIn",h.createElement(h.Fragment,null,h.createElement("path",{d:"M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"}),h.createElement("path",{d:"M12 10h-2v2H9v-2H7V9h2V7h1v2h2v1z"}))),YHe=Jg("ZoomOut",h.createElement("path",{d:"M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14zM7 9h5v1H7z"})),pG=h.forwardRef(function({zoomIn:e,onLoseFocus:n},r){const o=h.useRef(!1),s=h.useRef(!1),{zoom:a,maxZoom:i,zoomIn:l,zoomOut:u,disabled:d}=g7(),{render:f}=pc(),m=d||(e?a>=i:a<=1);return h.useEffect(()=>{m&&o.current&&s.current&&n(),m||(o.current=!0)},[m,n]),h.createElement(d7,{ref:r,disabled:m,label:e?"Zoom in":"Zoom out",icon:e?WHe:YHe,renderIcon:e?f.iconZoomIn:f.iconZoomOut,onClick:e?l:u,onFocus:()=>{s.current=!0},onBlur:()=>{s.current=!1}})});function GHe(){const t=h.useRef(null),e=h.useRef(null),{focus:n}=Cd(),r=h.useCallback(a=>{var i,l;!((i=a.current)===null||i===void 0)&&i.disabled?n():(l=a.current)===null||l===void 0||l.focus()},[n]),o=h.useCallback(()=>r(t),[r]),s=h.useCallback(()=>r(e),[r]);return h.createElement(h.Fragment,null,h.createElement(pG,{zoomIn:!0,ref:t,onLoseFocus:s}),h.createElement(pG,{ref:e,onLoseFocus:o}))}function qHe(){const{render:t}=pc(),e=g7();return t.buttonZoom?h.createElement(h.Fragment,null,t.buttonZoom(e)):h.createElement(GHe,null)}function KHe(t){var e;return(((e=t.srcSet)===null||e===void 0?void 0:e.length)||0)>0}function ZHe({current:t,preload:e},{type:n,source:r}){switch(n){case"fetch":return t?{current:t,preload:r}:{current:r};case"done":return r===e?{current:r}:{current:t,preload:e};default:throw new Error(wue)}}function QHe(t){var e,n;const[{current:r,preload:o},s]=h.useReducer(ZHe,{}),{slide:a,rect:i,imageFit:l,render:u,interactive:d}=t,f=a.srcSet.sort((D,O)=>D.width-O.width),m=(e=a.width)!==null&&e!==void 0?e:f[f.length-1].width,g=(n=a.height)!==null&&n!==void 0?n:f[f.length-1].height,w=f7(a,l),b=Math.max(...f.map(D=>D.width)),j=Math.min((w?Math.max:Math.min)(i.width,m*(i.height/g)),b),S=HVe(),I=Rr(()=>{var D;const O=(D=f.find(L=>L.width>=j*S))!==null&&D!==void 0?D:f[f.length-1];(!r||f.findIndex(L=>L.src===r)<f.findIndex(L=>L===O))&&s({type:"fetch",source:O.src})});uf(I,[i.width,i.height,S,I]);const N=Rr(D=>s({type:"done",source:D})),M={WebkitTransform:d?"initial":"translateZ(0)"};return w||Object.assign(M,i.width/i.height<m/g?{width:"100%",height:"auto"}:{width:"auto",height:"100%"}),h.createElement(h.Fragment,null,o&&o!==r&&h.createElement(gj,{key:"preload",...t,slide:{...a,src:o,srcSet:void 0},style:{position:"absolute",visibility:"hidden",...M},onLoad:()=>N(o),render:{...u,iconLoading:()=>null,iconError:()=>null}}),r&&h.createElement(gj,{key:"current",...t,slide:{...a,src:r,srcSet:void 0},style:M}))}function JHe({render:t,slide:e,offset:n,rect:r}){var o;const[s,a]=h.useState(),i=h.useRef(null),{zoom:l,maxZoom:u,offsetX:d,offsetY:f,setZoomWrapper:m}=g7(),g=l>1,{carousel:w,on:b}=pc(),{currentIndex:j}=Mh();uf(()=>n===0?(m({zoomWrapperRef:i,imageDimensions:s}),()=>m(void 0)):()=>{},[n,s,m]);let S=(o=t.slide)===null||o===void 0?void 0:o.call(t,{slide:e,offset:n,rect:r,zoom:l,maxZoom:u});if(!S&&ov(e)){const I={slide:e,offset:n,rect:r,render:t,imageFit:w.imageFit,imageProps:w.imageProps,onClick:n===0?()=>{var N;return(N=b.click)===null||N===void 0?void 0:N.call(b,{index:j})}:void 0};S=KHe(e)?h.createElement(QHe,{...I,slide:e,interactive:g,rect:n===0?{width:r.width*l,height:r.height*l}:r}):h.createElement(gj,{onLoad:N=>a({width:N.naturalWidth,height:N.naturalHeight}),...I})}return S?h.createElement("div",{ref:i,className:qu(gr(DVe),gr(o7),gr(due),g&&gr(PVe)),style:n===0?{transform:`scale(${l}) translateX(${d}px) translateY(${f}px)`}:void 0},S):null}const y7=({augment:t,addModule:e})=>{t(({zoom:n,toolbar:r,render:o,controller:s,...a})=>{const i=Pue(n);return{zoom:i,toolbar:YVe(r,JY,h.createElement(qHe,null)),render:{...o,slide:l=>{var u;return ov(l.slide)?h.createElement(JHe,{render:o,...l}):(u=o.slide)===null||u===void 0?void 0:u.call(o,l)}},controller:{...s,preventDefaultWheelY:i.scrollToZoom},...a}}),e(_h(JY,HHe))};function XHe(t){let{PI:e,min:n,max:r,cos:o,round:s}=Math,a=t[0]|t[1]<<8|t[2]<<16,i=t[3]|t[4]<<8,l=(a&63)/63,u=(a>>6&63)/31.5-1,d=(a>>12&63)/31.5-1,f=(a>>18&31)/31,m=a>>23,g=(i>>3&63)/63,w=(i>>9&63)/63,b=i>>15,j=r(3,b?m?5:7:i&7),S=r(3,b?i&7:m?5:7),I=m?(t[5]&15)/15:1,N=(t[5]>>4)/15,M=m?6:5,D=0,O=($,V,K)=>{let G=[];for(let J=0;J<V;J++)for(let ne=J?0:1;ne*V<$*(V-J);ne++)G.push(((t[M+(D>>1)]>>((D++&1)<<2)&15)/7.5-1)*K);return G},L=O(j,S,f),B=O(3,3,g*1.25),T=O(3,3,w*1.25),R=m&&O(5,5,N),z=eWe(t),Y=s(z>1?32:32*z),Q=s(z>1?32/z:32),W=new Uint8Array(Y*Q*4),F=[],X=[];for(let $=0,V=0;$<Q;$++)for(let K=0;K<Y;K++,V+=4){let G=l,J=u,ne=d,re=I;for(let xe=0,ce=r(j,m?5:3);xe<ce;xe++)F[xe]=o(e/Y*(K+.5)*xe);for(let xe=0,ce=r(S,m?5:3);xe<ce;xe++)X[xe]=o(e/Q*($+.5)*xe);for(let xe=0,ce=0;xe<S;xe++)for(let pe=xe?0:1,me=X[xe]*2;pe*S<j*(S-xe);pe++,ce++)G+=L[ce]*F[pe]*me;for(let xe=0,ce=0;xe<3;xe++)for(let pe=xe?0:1,me=X[xe]*2;pe<3-xe;pe++,ce++){let ke=F[pe]*me;J+=B[ce]*ke,ne+=T[ce]*ke}if(m)for(let xe=0,ce=0;xe<5;xe++)for(let pe=xe?0:1,me=X[xe]*2;pe<5-xe;pe++,ce++)re+=R[ce]*F[pe]*me;let de=G-2/3*J,Ne=(3*G-de+ne)/2,ve=Ne-ne;W[V]=r(0,255*n(1,Ne)),W[V+1]=r(0,255*n(1,ve)),W[V+2]=r(0,255*n(1,de)),W[V+3]=r(0,255*n(1,re))}return{w:Y,h:Q,rgba:W}}function eWe(t){let e=t[3],n=t[2]&128,r=t[4]&128,o=r?n?5:7:e&7,s=r?e&7:n?5:7;return o/s}function tWe(t,e,n){let r=t*4+1,o=6+e*(5+r),s=[137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,t>>8,t&255,0,0,e>>8,e&255,8,6,0,0,0,0,0,0,0,o>>>24,o>>16&255,o>>8&255,o&255,73,68,65,84,120,1],a=[0,498536548,997073096,651767980,1994146192,1802195444,1303535960,1342533948,-306674912,-267414716,-690576408,-882789492,-1687895376,-2032938284,-1609899400,-1111625188],i=1,l=0;for(let u=0,d=0,f=r-1;u<e;u++,f+=r-1)for(s.push(u+1<e?0:1,r&255,r>>8,~r&255,r>>8^255,0),l=(l+i)%65521;d<f;d++){let m=n[d]&255;s.push(m),i=(i+m)%65521,l=(l+i)%65521}s.push(l>>8,l&255,i>>8,i&255,0,0,0,0,0,0,0,0,73,69,78,68,174,66,96,130);for(let[u,d]of[[12,29],[37,41+o]]){let f=-1;for(let m=u;m<d;m++)f^=s[m],f=f>>>4^a[f&15],f=f>>>4^a[f&15];f=~f,s[d++]=f>>>24,s[d++]=f>>16&255,s[d++]=f>>8&255,s[d++]=f&255}return"data:image/png;base64,"+btoa(String.fromCharCode(...s))}function nWe(t){let e=XHe(t);return tWe(e.w,e.h,e.rgba)}function $o({image:{url:t,blurHash:e,thumbHash:n,pubkey:r,dim:o,variant:s,sha256:a},alt:i,className:l="",classNames:u={},hideIfError:d=!1,errorPlaceholder:f=c.jsx(I7e,{}),originalUrl:m,...g}){const[w,b]=h.useState(!0),[j,S]=h.useState(!0),[I,N]=h.useState(!1),[M,D]=h.useState(),[O,L]=h.useState(null),[B,T]=h.useState(!1),R=h.useRef(null);if(h.useEffect(()=>(b(!0),N(!1),S(!0),r?(td.getValidUrl(t,r).then(Q=>{D(Q),R.current&&(clearTimeout(R.current),R.current=null)}),R.current=setTimeout(()=>{M||D(t)},3e3)):D(t),()=>{R.current&&(clearTimeout(R.current),R.current=null)}),[t]),d&&I)return null;const z=async()=>{const Q=await td.tryNextUrl(t);Q?D(Q):(b(!1),N(!0))},Y=Q=>{const W=Q.currentTarget;L({width:W.naturalWidth,height:W.naturalHeight}),b(!1),N(!1),setTimeout(()=>S(!1),600),td.markAsSuccess(t,M||t)};return c.jsxs("div",{className:Re("relative overflow-hidden rounded-xl group/imgdebug",u.wrapper),onMouseEnter:()=>T(!0),onMouseLeave:()=>T(!1),...g,children:[B&&!w&&!I&&c.jsx("div",{className:"absolute top-2 left-2 z-50 max-w-[90%] pointer-events-none",children:c.jsxs("div",{className:"bg-black/85 text-white text-xs rounded-lg px-3 py-2 shadow-lg backdrop-blur-sm space-y-1 font-mono",children:[s&&c.jsxs("div",{className:"flex items-center gap-1.5",children:[c.jsx("span",{className:"inline-block bg-blue-500 text-white text-[10px] font-bold px-1.5 py-0.5 rounded uppercase tracking-wide",children:"variant"}),c.jsx("span",{className:"text-blue-300",children:s})]}),c.jsxs("div",{className:"truncate",children:[c.jsx("span",{className:"text-gray-400",children:"url: "}),c.jsx("span",{className:"text-green-300",children:M||t})]}),O&&c.jsxs("div",{children:[c.jsx("span",{className:"text-gray-400",children:"rendered: "}),c.jsxs("span",{className:"text-yellow-300",children:[O.width,"x",O.height]})]}),o&&c.jsxs("div",{children:[c.jsx("span",{className:"text-gray-400",children:"declared: "}),c.jsxs("span",{className:"text-yellow-300",children:[o.width,"x",o.height]})]}),s&&m&&c.jsxs("div",{className:"truncate",children:[c.jsx("span",{className:"text-gray-400",children:"original: "}),c.jsx("span",{className:"text-orange-300",children:m})]}),a&&c.jsxs("div",{className:"truncate",children:[c.jsx("span",{className:"text-gray-400",children:"sha256: "}),c.jsx("span",{className:"text-purple-300",children:a})]})]})}),w&&(o==null?void 0:o.width)&&(o==null?void 0:o.height)&&c.jsx("img",{src:`data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='${o.width}' height='${o.height}'%3E%3C/svg%3E`,className:Re("object-cover transition-opacity pointer-events-none w-full h-full",l),alt:""}),j&&c.jsx("div",{className:"absolute inset-0 z-10",children:n?c.jsx(oWe,{thumbHash:n,className:Re("w-full h-full transition-opacity",w?"opacity-100":"opacity-0")}):e?c.jsx(rWe,{blurHash:e,className:Re("w-full h-full transition-opacity",w?"opacity-100":"opacity-0")}):c.jsx(Ln,{className:Re("w-full h-full transition-opacity",w?"opacity-100":"opacity-0",u.skeleton)})}),!I&&c.jsx("img",{src:M,alt:i,decoding:"async",draggable:!1,...g,onLoad:Y,onError:z,className:Re("object-cover transition-opacity pointer-events-none w-full h-full",w?"opacity-0 absolute inset-0":"",l)}),I&&(typeof f=="string"?c.jsx("img",{src:f,alt:i,decoding:"async",loading:"lazy",className:Re("object-cover w-full h-full transition-opacity",l)}):c.jsx("div",{className:Re("object-cover flex flex-col items-center justify-center w-full h-full bg-muted",l,u.errorPlaceholder),children:f}))]})}const bA=32,xA=32;function rWe({blurHash:t,className:e=""}){const n=h.useRef(null),r=h.useMemo(()=>{if(!t)return null;try{return Cke(t,bA,xA)}catch(o){return console.warn("Failed to decode blurhash:",o),null}},[t]);return h.useEffect(()=>{if(!r||!n.current)return;const s=n.current.getContext("2d");if(!s)return;const a=s.createImageData(bA,xA);a.data.set(r),s.putImageData(a,0,0)},[r]),t?c.jsx("canvas",{ref:n,width:bA,height:xA,className:Re("w-full h-full object-cover rounded-xl",e),style:{imageRendering:"auto",filter:"blur(0.5px)"}}):null}function oWe({thumbHash:t,className:e=""}){const n=h.useMemo(()=>{if(!t)return null;try{return nWe(t)}catch(r){return console.warn("failed to decode thumbhash:",r),null}},[t]);return n?c.jsx("div",{className:Re("w-full h-full object-cover rounded-lg",e),style:{backgroundImage:`url(${n})`,backgroundSize:"cover",backgroundPosition:"center",filter:"blur(1px)"}}):null}function Ag({image:t,className:e,classNames:n={},errorPlaceholder:r,ignoreAutoLoadPolicy:o=!1}){const s=h.useMemo(()=>`image-with-lightbox-${vd()}`,[]),{t:a}=qe(),{autoLoadMedia:i}=lo(),[l,u]=h.useState(o?!0:i),[d,f]=h.useState(-1);if(h.useEffect(()=>{d>=0?po.register(s,()=>{f(-1)}):po.unregister(s)},[d]),!l)return c.jsxs("div",{className:"text-primary hover:underline truncate w-fit cursor-pointer",onClick:g=>{g.stopPropagation(),u(!0)},children:["[",a("Click to load image"),"]"]});const m=g=>{g.stopPropagation(),g.preventDefault(),f(0)};return c.jsxs("div",{children:[c.jsx($o,{className:e,classNames:{wrapper:Re("border cursor-zoom-in",n.wrapper),errorPlaceholder:"aspect-square h-[30vh]",skeleton:n.skeleton},image:t,onClick:g=>m(g),errorPlaceholder:r},0),d>=0&&Ds.createPortal(c.jsx("div",{onClick:g=>g.stopPropagation(),children:c.jsx(m7,{index:d,slides:[{src:t.url}],plugins:[y7],open:d>=0,close:()=>f(-1),controller:{closeOnBackdropClick:!0,closeOnPullUp:!0,closeOnPullDown:!0},styles:{toolbar:{paddingTop:"2.25rem"}}})}),document.body)]})}function sWe({className:t,images:e,start:n=0,end:r=e.length,mustLoad:o=!1}){const s=h.useMemo(()=>`responsive-image-gallery-${vd()}`,[]),{autoLoadMedia:a}=lo(),[i,l]=h.useState(-1),[u,d]=h.useState([]),[f,m]=h.useState([]),g=h.useRef(null),[w,b]=h.useState(0);h.useEffect(()=>{if(!g.current)return;const N=new ResizeObserver(M=>{for(const D of M)b(D.contentRect.width)});return N.observe(g.current),b(g.current.offsetWidth),()=>N.disconnect()},[]),h.useEffect(()=>{i>=0?po.register(s,()=>l(-1)):po.unregister(s)},[i]),h.useEffect(()=>{(async()=>{const M=await Promise.all(e.map(async D=>{const O=D.sha256??F6.extractSha256FromUrl(D.url);if(!O)return{...D,displayInfo:D,originalUrl:D.url,variants:[]};const L=await F6.getVariantsForHash(O);if(!L||L.length===0)return{...D,displayInfo:D,originalUrl:D.url,variants:[]};const B=w>0?w:400,T=typeof window<"u"?window.devicePixelRatio:1,R=F6.selectVariant(L,B,T),z=F6.getOriginalVariant(L),Y=R?{url:R.url,sha256:R.sha256,blurHash:R.blurhash??D.blurHash,thumbHash:D.thumbHash,dim:{width:R.width,height:R.height},pubkey:D.pubkey,variant:R.variant}:D;return{...D,displayInfo:Y,originalUrl:(z==null?void 0:z.url)??D.url,variants:L}}));d(M)})()},[e,w]),h.useEffect(()=>{const N=async()=>{const M=await Promise.all(u.map(({originalUrl:D,pubkey:O})=>new Promise(L=>{const B=new window.Image;let T=D;B.onload=()=>{td.markAsSuccess(D,T),L({src:T})},B.onerror=()=>{td.tryNextUrl(D).then(R=>{R?(T=R,L({src:T})):L({src:D})})},O?td.getValidUrl(D,O).then(R=>{T=R,B.src=T}).catch(()=>L({src:D})):B.src=D})));m(M)};u.length>0&&N()},[u]);const j=(N,M)=>{N.stopPropagation(),N.preventDefault(),l(n+M)},S=u.slice(n,r);if(!o&&!a)return c.jsx(c.Fragment,{children:S.map((N,M)=>c.jsx(Ag,{image:N.displayInfo,className:"max-h-[80vh] sm:max-h-[50vh] object-contain",classNames:{wrapper:Re("w-fit max-w-full border",t)}},M))});let I=null;return S.length===1?I=c.jsx($o,{className:"max-h-[80vh] sm:max-h-[50vh] object-contain",classNames:{errorPlaceholder:"aspect-square h-[30vh]",wrapper:"cursor-zoom-in border"},image:S[0].displayInfo,originalUrl:S[0].originalUrl,onClick:N=>j(N,0)},0):S.length===2||S.length===4?I=c.jsx("div",{className:"grid grid-cols-2 gap-2 w-full",children:S.map((N,M)=>c.jsx($o,{className:"aspect-square w-full",classNames:{wrapper:"cursor-zoom-in border"},image:N.displayInfo,originalUrl:N.originalUrl,onClick:D=>j(D,M)},M))}):I=c.jsx("div",{className:"grid grid-cols-3 gap-2 w-full",children:S.map((N,M)=>c.jsx($o,{className:"aspect-square w-full",classNames:{wrapper:"cursor-zoom-in border"},image:N.displayInfo,originalUrl:N.originalUrl,onClick:D=>j(D,M)},M))}),c.jsxs("div",{ref:g,className:Re(S.length===1?"w-fit max-w-full":"w-full",t),children:[I,i>=0&&Ds.createPortal(c.jsx("div",{onClick:N=>N.stopPropagation(),children:c.jsx(m7,{index:i,slides:f,plugins:[y7],open:i>=0,close:()=>l(-1),controller:{closeOnBackdropClick:!0,closeOnPullUp:!0,closeOnPullDown:!0},styles:{toolbar:{paddingTop:"2.25rem"}}})}),document.body)]})}function aWe({src:t,className:e}){const{muteMedia:n,updateMuteMedia:r}=ts(),[o,s]=h.useState(!1),a=h.useRef(null);return h.useEffect(()=>{if(!a.current)return;const i=a.current,l=()=>{r(i.muted)};return i.addEventListener("volumechange",l),()=>{i.removeEventListener("volumechange",l)}},[]),h.useEffect(()=>{const i=a.current;!i||i.muted===n||(n?i.muted=!0:i.muted=!1)},[n]),o?c.jsx(jd,{url:t}):c.jsx("div",{children:c.jsx("video",{ref:a,controls:!0,playsInline:!0,className:Re("rounded-xl max-h-[80vh] sm:max-h-[60vh] border",e),src:t,onClick:i=>i.stopPropagation(),onPlay:i=>{Pp.play(i.currentTarget)},muted:n,onError:()=>s(!0)})})}function v7({src:t,className:e,mustLoad:n=!1}){const{t:r}=qe(),{autoLoadMedia:o}=lo(),[s,a]=h.useState(o),[i,l]=h.useState(null),[u,d]=h.useState(!1);return h.useEffect(()=>{a(!!o)},[o]),h.useEffect(()=>{var w;if(!n&&!s){l(null);return}if(!t){l(null);return}const m=(w=new URL(t).pathname.split(".").pop())==null?void 0:w.toLowerCase();if(m&&["mp3","wav","flac","aac","m4a","opus","wma"].includes(m)){l("audio");return}const g=document.createElement("video");return g.src=t,g.preload="metadata",g.crossOrigin="anonymous",g.onloadedmetadata=()=>{d(!1),l(g.videoWidth>0||g.videoHeight>0?"video":"audio")},g.onerror=()=>{d(!0)},()=>{g.src=""}},[t,s,n]),u?c.jsx(jd,{url:t}):!n&&!s?c.jsxs("div",{className:"text-primary hover:underline truncate w-fit cursor-pointer",onClick:f=>{f.stopPropagation(),a(!0)},children:["[",r("Click to load media"),"]"]}):i?i==="video"?c.jsx(aWe,{src:t,className:e}):c.jsx(e7,{src:t,className:e}):null}const E0=class E0{constructor(){je(this,"webMetadataDataLoader",new Lu(async e=>await Promise.all(e.map(async n=>{var r,o,s,a,i;try{const u=await(await fetch(this.proxyUrl(n))).text(),f=new DOMParser().parseFromString(u,"text/html"),m=((r=f.querySelector('meta[property="og:title"]'))==null?void 0:r.getAttribute("content"))||((o=f.querySelector("title"))==null?void 0:o.textContent),g=((s=f.querySelector('meta[property="og:description"]'))==null?void 0:s.getAttribute("content"))||((a=f.querySelector('meta[name="description"]'))==null?void 0:a.content),w=(i=f.querySelector('meta[property="og:image"]'))==null?void 0:i.content;return{title:m,description:g,image:w}}catch{return{}}})),{maxBatchSize:1}));return E0.instance||(E0.instance=this),E0.instance}proxyUrl(e){return e}async fetchWebMetadata(e){return await this.webMetadataDataLoader.load(e)}};je(E0,"instance");let hM=E0;const iWe=new hM;function lWe(t){const[e,n]=h.useState({});return h.useEffect(()=>{iWe.fetchWebMetadata(t).then(r=>n(r))},[t]),e}function zue({url:t,className:e,mustLoad:n}){const{autoLoadMedia:r}=lo(),{isSmallScreen:o}=gn(),{title:s,description:a,image:i}=lWe(t),l=h.useMemo(()=>{try{return new URL(t).hostname}catch{return""}},[t]);return!r&&!n?null:s?o&&i?c.jsxs("div",{className:"rounded-xl border mt-2 overflow-hidden",onClick:u=>{u.stopPropagation(),window.open(t,"_blank")},children:[c.jsx($o,{image:{url:i},className:"w-full h-44 rounded-none",hideIfError:!0}),c.jsxs("div",{className:"bg-muted p-2 w-full",children:[c.jsx("div",{className:"text-xs text-muted-foreground",children:l}),c.jsx("div",{className:"font-semibold line-clamp-1",children:s})]})]}):c.jsxs("div",{className:Re("p-0 clickable flex w-full border rounded-xl overflow-hidden",e),onClick:u=>{u.stopPropagation(),window.open(t,"_blank")},children:[i&&c.jsx($o,{image:{url:i},className:"aspect-[4/3] xl:aspect-video bg-foreground h-44",classNames:{wrapper:"rounded-none border-r"},hideIfError:!0}),c.jsxs("div",{className:"flex-1 w-0 p-2",children:[c.jsx("div",{className:"text-xs text-muted-foreground",children:l}),c.jsx("div",{className:"font-semibold line-clamp-2",children:s}),c.jsx("div",{className:"text-xs text-muted-foreground line-clamp-5",children:a})]})]}):n?c.jsx(jd,{url:t,justOpenLink:!0}):null}const Fue=h.memo(({tweetId:t,url:e,className:n})=>{const r=e.match(/(?:twitter\.com|x\.com)\/([^/]+)\/status/i),o=r?r[1]:null;return c.jsxs("a",{href:e,target:"_blank",rel:"noopener noreferrer",onClick:s=>s.stopPropagation(),className:Re("block rounded-xl border overflow-hidden cursor-pointer group","bg-card hover:bg-accent/50 transition-colors","p-4 flex items-center gap-4",n),style:{maxWidth:"550px"},children:[c.jsx("div",{className:"flex-shrink-0 bg-black dark:bg-white rounded-full p-3",children:c.jsx("svg",{viewBox:"0 0 24 24",className:"size-6 text-white dark:text-black",fill:"currentColor",children:c.jsx("path",{d:"M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z"})})}),c.jsxs("div",{className:"flex-1 min-w-0",children:[c.jsx("div",{className:"flex items-center gap-2",children:c.jsx("span",{className:"font-semibold text-foreground",children:o?`@${o}`:"X Post"})}),c.jsxs("div",{className:"text-sm text-muted-foreground truncate",children:["Post ID: ",t]})]}),c.jsx("div",{className:"flex-shrink-0 opacity-60 group-hover:opacity-100 transition-opacity",children:c.jsx(nf,{className:"size-5"})})]})});Fue.displayName="XPost";function Bue({url:t,className:e,embedded:n=!0}){const{tweetId:r}=h.useMemo(()=>cWe(t),[t]);return r?c.jsx(Fue,{tweetId:r,url:t,className:e,embedded:n}):c.jsx(jd,{url:t})}function cWe(t){const e=/(?:twitter\.com|x\.com)\/(?:#!\/)?(?:\w+)\/status(?:es)?\/(\d+)/i,n=t.match(e);return{tweetId:n?n[1]:null}}const Uue=h.memo(({videoId:t,isShort:e,className:n})=>{const[r,o]=h.useState(!1),s=r?`https://i.ytimg.com/vi/${t}/hqdefault.jpg`:`https://i.ytimg.com/vi/${t}/maxresdefault.jpg`,a=e?`https://www.youtube.com/shorts/${t}`:`https://www.youtube.com/watch?v=${t}`;return c.jsxs("a",{href:a,target:"_blank",rel:"noopener noreferrer",onClick:i=>i.stopPropagation(),className:Re("block rounded-xl border overflow-hidden cursor-pointer relative group",e?"aspect-[9/16] max-h-[80vh] sm:max-h-[60vh]":"aspect-video max-h-[60vh]",n),children:[c.jsx("img",{src:s,alt:"YouTube video thumbnail",className:"w-full h-full object-cover",loading:"lazy",onError:()=>!r&&o(!0)}),c.jsx("div",{className:"absolute inset-0 flex items-center justify-center bg-black/20 group-hover:bg-black/40 transition-colors",children:c.jsx("div",{className:"bg-red-600 rounded-full p-4 group-hover:scale-110 transition-transform shadow-lg",children:c.jsx(aL,{className:"size-8 text-white fill-white"})})}),c.jsxs("div",{className:"absolute top-2 right-2 bg-black/60 rounded-md px-2 py-1 flex items-center gap-1 text-white text-xs opacity-0 group-hover:opacity-100 transition-opacity",children:[c.jsx(nf,{className:"size-3"}),c.jsx("span",{children:"YouTube"})]})]})});Uue.displayName="YoutubePlayer";function $ue({url:t,className:e}){const{videoId:n,isShort:r}=h.useMemo(()=>uWe(t),[t]);return n?c.jsx(Uue,{videoId:n,isShort:r,className:e}):c.jsx(jd,{url:t})}function uWe(t){const e=[/(?:youtube\.com\/watch\?v=|youtu\.be\/|youtube\.com\/embed\/)([^&\n?#]+)/,/youtube\.com\/watch\?.*v=([^&\n?#]+)/,/youtube\.com\/shorts\/([^&\n?#]+)/,/youtube\.com\/live\/([^&\n?#]+)/];let n=null,r=!1;for(const[o,s]of e.entries()){const a=t.match(s);if(a){n=a[1].trim(),r=o===2;break}}return{videoId:n,isShort:r}}function fWe(t,e){const n={};return(t[t.length-1]===""?[...t,""]:t).join((n.padRight?" ":"")+","+(n.padLeft===!1?"":" ")).trim()}const dWe=/^[$_\p{ID_Start}][$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,pWe=/^[$_\p{ID_Start}][-$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,hWe={};function hG(t,e){return(hWe.jsx?pWe:dWe).test(t)}const mWe=/[ \t\n\f\r]/g;function gWe(t){return typeof t=="object"?t.type==="text"?mG(t.value):!1:mG(t)}function mG(t){return t.replace(mWe,"")===""}let wx=class{constructor(e,n,r){this.normal=n,this.property=e,r&&(this.space=r)}};wx.prototype.normal={};wx.prototype.property={};wx.prototype.space=void 0;function Vue(t,e){const n={},r={};for(const o of t)Object.assign(n,o.property),Object.assign(r,o.normal);return new wx(n,r,e)}function mM(t){return t.toLowerCase()}class Di{constructor(e,n){this.attribute=n,this.property=e}}Di.prototype.attribute="";Di.prototype.booleanish=!1;Di.prototype.boolean=!1;Di.prototype.commaOrSpaceSeparated=!1;Di.prototype.commaSeparated=!1;Di.prototype.defined=!1;Di.prototype.mustUseProperty=!1;Di.prototype.number=!1;Di.prototype.overloadedBoolean=!1;Di.prototype.property="";Di.prototype.spaceSeparated=!1;Di.prototype.space=void 0;let yWe=0;const $n=Xg(),Wo=Xg(),gM=Xg(),Ft=Xg(),Kr=Xg(),Y0=Xg(),qi=Xg();function Xg(){return 2**++yWe}const yM=Object.freeze(Object.defineProperty({__proto__:null,boolean:$n,booleanish:Wo,commaOrSpaceSeparated:qi,commaSeparated:Y0,number:Ft,overloadedBoolean:gM,spaceSeparated:Kr},Symbol.toStringTag,{value:"Module"})),kA=Object.keys(yM);class w7 extends Di{constructor(e,n,r,o){let s=-1;if(super(e,n),gG(this,"space",o),typeof r=="number")for(;++s<kA.length;){const a=kA[s];gG(this,kA[s],(r&yM[a])===yM[a])}}}w7.prototype.defined=!0;function gG(t,e,n){n&&(t[e]=n)}function sv(t){const e={},n={};for(const[r,o]of Object.entries(t.properties)){const s=new w7(r,t.transform(t.attributes||{},r),o,t.space);t.mustUseProperty&&t.mustUseProperty.includes(r)&&(s.mustUseProperty=!0),e[r]=s,n[mM(r)]=r,n[mM(s.attribute)]=r}return new wx(e,n,t.space)}const Hue=sv({properties:{ariaActiveDescendant:null,ariaAtomic:Wo,ariaAutoComplete:null,ariaBusy:Wo,ariaChecked:Wo,ariaColCount:Ft,ariaColIndex:Ft,ariaColSpan:Ft,ariaControls:Kr,ariaCurrent:null,ariaDescribedBy:Kr,ariaDetails:null,ariaDisabled:Wo,ariaDropEffect:Kr,ariaErrorMessage:null,ariaExpanded:Wo,ariaFlowTo:Kr,ariaGrabbed:Wo,ariaHasPopup:null,ariaHidden:Wo,ariaInvalid:null,ariaKeyShortcuts:null,ariaLabel:null,ariaLabelledBy:Kr,ariaLevel:Ft,ariaLive:null,ariaModal:Wo,ariaMultiLine:Wo,ariaMultiSelectable:Wo,ariaOrientation:null,ariaOwns:Kr,ariaPlaceholder:null,ariaPosInSet:Ft,ariaPressed:Wo,ariaReadOnly:Wo,ariaRelevant:null,ariaRequired:Wo,ariaRoleDescription:Kr,ariaRowCount:Ft,ariaRowIndex:Ft,ariaRowSpan:Ft,ariaSelected:Wo,ariaSetSize:Ft,ariaSort:null,ariaValueMax:Ft,ariaValueMin:Ft,ariaValueNow:Ft,ariaValueText:null,role:null},transform(t,e){return e==="role"?e:"aria-"+e.slice(4).toLowerCase()}});function Wue(t,e){return e in t?t[e]:e}function Yue(t,e){return Wue(t,e.toLowerCase())}const vWe=sv({attributes:{acceptcharset:"accept-charset",classname:"class",htmlfor:"for",httpequiv:"http-equiv"},mustUseProperty:["checked","multiple","muted","selected"],properties:{abbr:null,accept:Y0,acceptCharset:Kr,accessKey:Kr,action:null,allow:null,allowFullScreen:$n,allowPaymentRequest:$n,allowUserMedia:$n,alt:null,as:null,async:$n,autoCapitalize:null,autoComplete:Kr,autoFocus:$n,autoPlay:$n,blocking:Kr,capture:null,charSet:null,checked:$n,cite:null,className:Kr,cols:Ft,colSpan:null,content:null,contentEditable:Wo,controls:$n,controlsList:Kr,coords:Ft|Y0,crossOrigin:null,data:null,dateTime:null,decoding:null,default:$n,defer:$n,dir:null,dirName:null,disabled:$n,download:gM,draggable:Wo,encType:null,enterKeyHint:null,fetchPriority:null,form:null,formAction:null,formEncType:null,formMethod:null,formNoValidate:$n,formTarget:null,headers:Kr,height:Ft,hidden:gM,high:Ft,href:null,hrefLang:null,htmlFor:Kr,httpEquiv:Kr,id:null,imageSizes:null,imageSrcSet:null,inert:$n,inputMode:null,integrity:null,is:null,isMap:$n,itemId:null,itemProp:Kr,itemRef:Kr,itemScope:$n,itemType:Kr,kind:null,label:null,lang:null,language:null,list:null,loading:null,loop:$n,low:Ft,manifest:null,max:null,maxLength:Ft,media:null,method:null,min:null,minLength:Ft,multiple:$n,muted:$n,name:null,nonce:null,noModule:$n,noValidate:$n,onAbort:null,onAfterPrint:null,onAuxClick:null,onBeforeMatch:null,onBeforePrint:null,onBeforeToggle:null,onBeforeUnload:null,onBlur:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onContextLost:null,onContextMenu:null,onContextRestored:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnded:null,onError:null,onFocus:null,onFormData:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLanguageChange:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadEnd:null,onLoadStart:null,onMessage:null,onMessageError:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRejectionHandled:null,onReset:null,onResize:null,onScroll:null,onScrollEnd:null,onSecurityPolicyViolation:null,onSeeked:null,onSeeking:null,onSelect:null,onSlotChange:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnhandledRejection:null,onUnload:null,onVolumeChange:null,onWaiting:null,onWheel:null,open:$n,optimum:Ft,pattern:null,ping:Kr,placeholder:null,playsInline:$n,popover:null,popoverTarget:null,popoverTargetAction:null,poster:null,preload:null,readOnly:$n,referrerPolicy:null,rel:Kr,required:$n,reversed:$n,rows:Ft,rowSpan:Ft,sandbox:Kr,scope:null,scoped:$n,seamless:$n,selected:$n,shadowRootClonable:$n,shadowRootDelegatesFocus:$n,shadowRootMode:null,shape:null,size:Ft,sizes:null,slot:null,span:Ft,spellCheck:Wo,src:null,srcDoc:null,srcLang:null,srcSet:null,start:Ft,step:null,style:null,tabIndex:Ft,target:null,title:null,translate:null,type:null,typeMustMatch:$n,useMap:null,value:Wo,width:Ft,wrap:null,writingSuggestions:null,align:null,aLink:null,archive:Kr,axis:null,background:null,bgColor:null,border:Ft,borderColor:null,bottomMargin:Ft,cellPadding:null,cellSpacing:null,char:null,charOff:null,classId:null,clear:null,code:null,codeBase:null,codeType:null,color:null,compact:$n,declare:$n,event:null,face:null,frame:null,frameBorder:null,hSpace:Ft,leftMargin:Ft,link:null,longDesc:null,lowSrc:null,marginHeight:Ft,marginWidth:Ft,noResize:$n,noHref:$n,noShade:$n,noWrap:$n,object:null,profile:null,prompt:null,rev:null,rightMargin:Ft,rules:null,scheme:null,scrolling:Wo,standby:null,summary:null,text:null,topMargin:Ft,valueType:null,version:null,vAlign:null,vLink:null,vSpace:Ft,allowTransparency:null,autoCorrect:null,autoSave:null,disablePictureInPicture:$n,disableRemotePlayback:$n,prefix:null,property:null,results:Ft,security:null,unselectable:null},space:"html",transform:Yue}),wWe=sv({attributes:{accentHeight:"accent-height",alignmentBaseline:"alignment-baseline",arabicForm:"arabic-form",baselineShift:"baseline-shift",capHeight:"cap-height",className:"class",clipPath:"clip-path",clipRule:"clip-rule",colorInterpolation:"color-interpolation",colorInterpolationFilters:"color-interpolation-filters",colorProfile:"color-profile",colorRendering:"color-rendering",crossOrigin:"crossorigin",dataType:"datatype",dominantBaseline:"dominant-baseline",enableBackground:"enable-background",fillOpacity:"fill-opacity",fillRule:"fill-rule",floodColor:"flood-color",floodOpacity:"flood-opacity",fontFamily:"font-family",fontSize:"font-size",fontSizeAdjust:"font-size-adjust",fontStretch:"font-stretch",fontStyle:"font-style",fontVariant:"font-variant",fontWeight:"font-weight",glyphName:"glyph-name",glyphOrientationHorizontal:"glyph-orientation-horizontal",glyphOrientationVertical:"glyph-orientation-vertical",hrefLang:"hreflang",horizAdvX:"horiz-adv-x",horizOriginX:"horiz-origin-x",horizOriginY:"horiz-origin-y",imageRendering:"image-rendering",letterSpacing:"letter-spacing",lightingColor:"lighting-color",markerEnd:"marker-end",markerMid:"marker-mid",markerStart:"marker-start",navDown:"nav-down",navDownLeft:"nav-down-left",navDownRight:"nav-down-right",navLeft:"nav-left",navNext:"nav-next",navPrev:"nav-prev",navRight:"nav-right",navUp:"nav-up",navUpLeft:"nav-up-left",navUpRight:"nav-up-right",onAbort:"onabort",onActivate:"onactivate",onAfterPrint:"onafterprint",onBeforePrint:"onbeforeprint",onBegin:"onbegin",onCancel:"oncancel",onCanPlay:"oncanplay",onCanPlayThrough:"oncanplaythrough",onChange:"onchange",onClick:"onclick",onClose:"onclose",onCopy:"oncopy",onCueChange:"oncuechange",onCut:"oncut",onDblClick:"ondblclick",onDrag:"ondrag",onDragEnd:"ondragend",onDragEnter:"ondragenter",onDragExit:"ondragexit",onDragLeave:"ondragleave",onDragOver:"ondragover",onDragStart:"ondragstart",onDrop:"ondrop",onDurationChange:"ondurationchange",onEmptied:"onemptied",onEnd:"onend",onEnded:"onended",onError:"onerror",onFocus:"onfocus",onFocusIn:"onfocusin",onFocusOut:"onfocusout",onHashChange:"onhashchange",onInput:"oninput",onInvalid:"oninvalid",onKeyDown:"onkeydown",onKeyPress:"onkeypress",onKeyUp:"onkeyup",onLoad:"onload",onLoadedData:"onloadeddata",onLoadedMetadata:"onloadedmetadata",onLoadStart:"onloadstart",onMessage:"onmessage",onMouseDown:"onmousedown",onMouseEnter:"onmouseenter",onMouseLeave:"onmouseleave",onMouseMove:"onmousemove",onMouseOut:"onmouseout",onMouseOver:"onmouseover",onMouseUp:"onmouseup",onMouseWheel:"onmousewheel",onOffline:"onoffline",onOnline:"ononline",onPageHide:"onpagehide",onPageShow:"onpageshow",onPaste:"onpaste",onPause:"onpause",onPlay:"onplay",onPlaying:"onplaying",onPopState:"onpopstate",onProgress:"onprogress",onRateChange:"onratechange",onRepeat:"onrepeat",onReset:"onreset",onResize:"onresize",onScroll:"onscroll",onSeeked:"onseeked",onSeeking:"onseeking",onSelect:"onselect",onShow:"onshow",onStalled:"onstalled",onStorage:"onstorage",onSubmit:"onsubmit",onSuspend:"onsuspend",onTimeUpdate:"ontimeupdate",onToggle:"ontoggle",onUnload:"onunload",onVolumeChange:"onvolumechange",onWaiting:"onwaiting",onZoom:"onzoom",overlinePosition:"overline-position",overlineThickness:"overline-thickness",paintOrder:"paint-order",panose1:"panose-1",pointerEvents:"pointer-events",referrerPolicy:"referrerpolicy",renderingIntent:"rendering-intent",shapeRendering:"shape-rendering",stopColor:"stop-color",stopOpacity:"stop-opacity",strikethroughPosition:"strikethrough-position",strikethroughThickness:"strikethrough-thickness",strokeDashArray:"stroke-dasharray",strokeDashOffset:"stroke-dashoffset",strokeLineCap:"stroke-linecap",strokeLineJoin:"stroke-linejoin",strokeMiterLimit:"stroke-miterlimit",strokeOpacity:"stroke-opacity",strokeWidth:"stroke-width",tabIndex:"tabindex",textAnchor:"text-anchor",textDecoration:"text-decoration",textRendering:"text-rendering",transformOrigin:"transform-origin",typeOf:"typeof",underlinePosition:"underline-position",underlineThickness:"underline-thickness",unicodeBidi:"unicode-bidi",unicodeRange:"unicode-range",unitsPerEm:"units-per-em",vAlphabetic:"v-alphabetic",vHanging:"v-hanging",vIdeographic:"v-ideographic",vMathematical:"v-mathematical",vectorEffect:"vector-effect",vertAdvY:"vert-adv-y",vertOriginX:"vert-origin-x",vertOriginY:"vert-origin-y",wordSpacing:"word-spacing",writingMode:"writing-mode",xHeight:"x-height",playbackOrder:"playbackorder",timelineBegin:"timelinebegin"},properties:{about:qi,accentHeight:Ft,accumulate:null,additive:null,alignmentBaseline:null,alphabetic:Ft,amplitude:Ft,arabicForm:null,ascent:Ft,attributeName:null,attributeType:null,azimuth:Ft,bandwidth:null,baselineShift:null,baseFrequency:null,baseProfile:null,bbox:null,begin:null,bias:Ft,by:null,calcMode:null,capHeight:Ft,className:Kr,clip:null,clipPath:null,clipPathUnits:null,clipRule:null,color:null,colorInterpolation:null,colorInterpolationFilters:null,colorProfile:null,colorRendering:null,content:null,contentScriptType:null,contentStyleType:null,crossOrigin:null,cursor:null,cx:null,cy:null,d:null,dataType:null,defaultAction:null,descent:Ft,diffuseConstant:Ft,direction:null,display:null,dur:null,divisor:Ft,dominantBaseline:null,download:$n,dx:null,dy:null,edgeMode:null,editable:null,elevation:Ft,enableBackground:null,end:null,event:null,exponent:Ft,externalResourcesRequired:null,fill:null,fillOpacity:Ft,fillRule:null,filter:null,filterRes:null,filterUnits:null,floodColor:null,floodOpacity:null,focusable:null,focusHighlight:null,fontFamily:null,fontSize:null,fontSizeAdjust:null,fontStretch:null,fontStyle:null,fontVariant:null,fontWeight:null,format:null,fr:null,from:null,fx:null,fy:null,g1:Y0,g2:Y0,glyphName:Y0,glyphOrientationHorizontal:null,glyphOrientationVertical:null,glyphRef:null,gradientTransform:null,gradientUnits:null,handler:null,hanging:Ft,hatchContentUnits:null,hatchUnits:null,height:null,href:null,hrefLang:null,horizAdvX:Ft,horizOriginX:Ft,horizOriginY:Ft,id:null,ideographic:Ft,imageRendering:null,initialVisibility:null,in:null,in2:null,intercept:Ft,k:Ft,k1:Ft,k2:Ft,k3:Ft,k4:Ft,kernelMatrix:qi,kernelUnitLength:null,keyPoints:null,keySplines:null,keyTimes:null,kerning:null,lang:null,lengthAdjust:null,letterSpacing:null,lightingColor:null,limitingConeAngle:Ft,local:null,markerEnd:null,markerMid:null,markerStart:null,markerHeight:null,markerUnits:null,markerWidth:null,mask:null,maskContentUnits:null,maskUnits:null,mathematical:null,max:null,media:null,mediaCharacterEncoding:null,mediaContentEncodings:null,mediaSize:Ft,mediaTime:null,method:null,min:null,mode:null,name:null,navDown:null,navDownLeft:null,navDownRight:null,navLeft:null,navNext:null,navPrev:null,navRight:null,navUp:null,navUpLeft:null,navUpRight:null,numOctaves:null,observer:null,offset:null,onAbort:null,onActivate:null,onAfterPrint:null,onBeforePrint:null,onBegin:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnd:null,onEnded:null,onError:null,onFocus:null,onFocusIn:null,onFocusOut:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadStart:null,onMessage:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onMouseWheel:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRepeat:null,onReset:null,onResize:null,onScroll:null,onSeeked:null,onSeeking:null,onSelect:null,onShow:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnload:null,onVolumeChange:null,onWaiting:null,onZoom:null,opacity:null,operator:null,order:null,orient:null,orientation:null,origin:null,overflow:null,overlay:null,overlinePosition:Ft,overlineThickness:Ft,paintOrder:null,panose1:null,path:null,pathLength:Ft,patternContentUnits:null,patternTransform:null,patternUnits:null,phase:null,ping:Kr,pitch:null,playbackOrder:null,pointerEvents:null,points:null,pointsAtX:Ft,pointsAtY:Ft,pointsAtZ:Ft,preserveAlpha:null,preserveAspectRatio:null,primitiveUnits:null,propagate:null,property:qi,r:null,radius:null,referrerPolicy:null,refX:null,refY:null,rel:qi,rev:qi,renderingIntent:null,repeatCount:null,repeatDur:null,requiredExtensions:qi,requiredFeatures:qi,requiredFonts:qi,requiredFormats:qi,resource:null,restart:null,result:null,rotate:null,rx:null,ry:null,scale:null,seed:null,shapeRendering:null,side:null,slope:null,snapshotTime:null,specularConstant:Ft,specularExponent:Ft,spreadMethod:null,spacing:null,startOffset:null,stdDeviation:null,stemh:null,stemv:null,stitchTiles:null,stopColor:null,stopOpacity:null,strikethroughPosition:Ft,strikethroughThickness:Ft,string:null,stroke:null,strokeDashArray:qi,strokeDashOffset:null,strokeLineCap:null,strokeLineJoin:null,strokeMiterLimit:Ft,strokeOpacity:Ft,strokeWidth:null,style:null,surfaceScale:Ft,syncBehavior:null,syncBehaviorDefault:null,syncMaster:null,syncTolerance:null,syncToleranceDefault:null,systemLanguage:qi,tabIndex:Ft,tableValues:null,target:null,targetX:Ft,targetY:Ft,textAnchor:null,textDecoration:null,textRendering:null,textLength:null,timelineBegin:null,title:null,transformBehavior:null,type:null,typeOf:qi,to:null,transform:null,transformOrigin:null,u1:null,u2:null,underlinePosition:Ft,underlineThickness:Ft,unicode:null,unicodeBidi:null,unicodeRange:null,unitsPerEm:Ft,values:null,vAlphabetic:Ft,vMathematical:Ft,vectorEffect:null,vHanging:Ft,vIdeographic:Ft,version:null,vertAdvY:Ft,vertOriginX:Ft,vertOriginY:Ft,viewBox:null,viewTarget:null,visibility:null,width:null,widths:null,wordSpacing:null,writingMode:null,x:null,x1:null,x2:null,xChannelSelector:null,xHeight:Ft,y:null,y1:null,y2:null,yChannelSelector:null,z:null,zoomAndPan:null},space:"svg",transform:Wue}),Gue=sv({properties:{xLinkActuate:null,xLinkArcRole:null,xLinkHref:null,xLinkRole:null,xLinkShow:null,xLinkTitle:null,xLinkType:null},space:"xlink",transform(t,e){return"xlink:"+e.slice(5).toLowerCase()}}),que=sv({attributes:{xmlnsxlink:"xmlns:xlink"},properties:{xmlnsXLink:null,xmlns:null},space:"xmlns",transform:Yue}),Kue=sv({properties:{xmlBase:null,xmlLang:null,xmlSpace:null},space:"xml",transform(t,e){return"xml:"+e.slice(3).toLowerCase()}}),bWe={classId:"classID",dataType:"datatype",itemId:"itemID",strokeDashArray:"strokeDasharray",strokeDashOffset:"strokeDashoffset",strokeLineCap:"strokeLinecap",strokeLineJoin:"strokeLinejoin",strokeMiterLimit:"strokeMiterlimit",typeOf:"typeof",xLinkActuate:"xlinkActuate",xLinkArcRole:"xlinkArcrole",xLinkHref:"xlinkHref",xLinkRole:"xlinkRole",xLinkShow:"xlinkShow",xLinkTitle:"xlinkTitle",xLinkType:"xlinkType",xmlnsXLink:"xmlnsXlink"},xWe=/[A-Z]/g,yG=/-[a-z]/g,kWe=/^data[-\w.:]+$/i;function jWe(t,e){const n=mM(e);let r=e,o=Di;if(n in t.normal)return t.property[t.normal[n]];if(n.length>4&&n.slice(0,4)==="data"&&kWe.test(e)){if(e.charAt(4)==="-"){const s=e.slice(5).replace(yG,SWe);r="data"+s.charAt(0).toUpperCase()+s.slice(1)}else{const s=e.slice(4);if(!yG.test(s)){let a=s.replace(xWe,CWe);a.charAt(0)!=="-"&&(a="-"+a),e="data"+a}}o=w7}return new o(r,e)}function CWe(t){return"-"+t.toLowerCase()}function SWe(t){return t.charAt(1).toUpperCase()}const EWe=Vue([Hue,vWe,Gue,que,Kue],"html"),b7=Vue([Hue,wWe,Gue,que,Kue],"svg");function NWe(t){return t.join(" ").trim()}var X1={},jA,vG;function IWe(){if(vG)return jA;vG=1;var t=/\/\*[^*]*\*+([^/*][^*]*\*+)*\//g,e=/\n/g,n=/^\s*/,r=/^(\*?[-#/*\\\w]+(\[[0-9a-z_-]+\])?)\s*/,o=/^:\s*/,s=/^((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^)]*?\)|[^};])+)/,a=/^[;\s]*/,i=/^\s+|\s+$/g,l=`
2056 `,u="/",d="*",f="",m="comment",g="declaration";jA=function(b,j){if(typeof b!="string")throw new TypeError("First argument must be a string");if(!b)return[];j=j||{};var S=1,I=1;function N(Q){var W=Q.match(e);W&&(S+=W.length);var F=Q.lastIndexOf(l);I=~F?Q.length-F:I+Q.length}function M(){var Q={line:S,column:I};return function(W){return W.position=new D(Q),B(),W}}function D(Q){this.start=Q,this.end={line:S,column:I},this.source=j.source}D.prototype.content=b;function O(Q){var W=new Error(j.source+":"+S+":"+I+": "+Q);if(W.reason=Q,W.filename=j.source,W.line=S,W.column=I,W.source=b,!j.silent)throw W}function L(Q){var W=Q.exec(b);if(W){var F=W[0];return N(F),b=b.slice(F.length),W}}function B(){L(n)}function T(Q){var W;for(Q=Q||[];W=R();)W!==!1&&Q.push(W);return Q}function R(){var Q=M();if(!(u!=b.charAt(0)||d!=b.charAt(1))){for(var W=2;f!=b.charAt(W)&&(d!=b.charAt(W)||u!=b.charAt(W+1));)++W;if(W+=2,f===b.charAt(W-1))return O("End of comment missing");var F=b.slice(2,W-2);return I+=2,N(F),b=b.slice(W),I+=2,Q({type:m,comment:F})}}function z(){var Q=M(),W=L(r);if(W){if(R(),!L(o))return O("property missing ':'");var F=L(s),X=Q({type:g,property:w(W[0].replace(t,f)),value:F?w(F[0].replace(t,f)):f});return L(a),X}}function Y(){var Q=[];T(Q);for(var W;W=z();)W!==!1&&(Q.push(W),T(Q));return Q}return B(),Y()};function w(b){return b?b.replace(i,f):f}return jA}var wG;function AWe(){if(wG)return X1;wG=1;var t=X1&&X1.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(X1,"__esModule",{value:!0}),X1.default=n;var e=t(IWe());function n(r,o){var s=null;if(!r||typeof r!="string")return s;var a=(0,e.default)(r),i=typeof o=="function";return a.forEach(function(l){if(l.type==="declaration"){var u=l.property,d=l.value;i?o(u,d,l):d&&(s=s||{},s[u]=d)}}),s}return X1}var xw={},bG;function _We(){if(bG)return xw;bG=1,Object.defineProperty(xw,"__esModule",{value:!0}),xw.camelCase=void 0;var t=/^--[a-zA-Z0-9_-]+$/,e=/-([a-z])/g,n=/^[^-]+$/,r=/^-(webkit|moz|ms|o|khtml)-/,o=/^-(ms)-/,s=function(u){return!u||n.test(u)||t.test(u)},a=function(u,d){return d.toUpperCase()},i=function(u,d){return"".concat(d,"-")},l=function(u,d){return d===void 0&&(d={}),s(u)?u:(u=u.toLowerCase(),d.reactCompat?u=u.replace(o,i):u=u.replace(r,i),u.replace(e,a))};return xw.camelCase=l,xw}var kw,xG;function MWe(){if(xG)return kw;xG=1;var t=kw&&kw.__importDefault||function(o){return o&&o.__esModule?o:{default:o}},e=t(AWe()),n=_We();function r(o,s){var a={};return!o||typeof o!="string"||(0,e.default)(o,function(i,l){i&&l&&(a[(0,n.camelCase)(i,s)]=l)}),a}return r.default=r,kw=r,kw}var RWe=MWe();const TWe=rc(RWe),Zue=Que("end"),x7=Que("start");function Que(t){return e;function e(n){const r=n&&n.position&&n.position[t]||{};if(typeof r.line=="number"&&r.line>0&&typeof r.column=="number"&&r.column>0)return{line:r.line,column:r.column,offset:typeof r.offset=="number"&&r.offset>-1?r.offset:void 0}}}function DWe(t){const e=x7(t),n=Zue(t);if(e&&n)return{start:e,end:n}}function eb(t){return!t||typeof t!="object"?"":"position"in t||"type"in t?kG(t.position):"start"in t||"end"in t?kG(t):"line"in t||"column"in t?vM(t):""}function vM(t){return jG(t&&t.line)+":"+jG(t&&t.column)}function kG(t){return vM(t&&t.start)+"-"+vM(t&&t.end)}function jG(t){return t&&typeof t=="number"?t:1}class za extends Error{constructor(e,n,r){super(),typeof n=="string"&&(r=n,n=void 0);let o="",s={},a=!1;if(n&&("line"in n&&"column"in n?s={place:n}:"start"in n&&"end"in n?s={place:n}:"type"in n?s={ancestors:[n],place:n.position}:s={...n}),typeof e=="string"?o=e:!s.cause&&e&&(a=!0,o=e.message,s.cause=e),!s.ruleId&&!s.source&&typeof r=="string"){const l=r.indexOf(":");l===-1?s.ruleId=r:(s.source=r.slice(0,l),s.ruleId=r.slice(l+1))}if(!s.place&&s.ancestors&&s.ancestors){const l=s.ancestors[s.ancestors.length-1];l&&(s.place=l.position)}const i=s.place&&"start"in s.place?s.place.start:s.place;this.ancestors=s.ancestors||void 0,this.cause=s.cause||void 0,this.column=i?i.column:void 0,this.fatal=void 0,this.file="",this.message=o,this.line=i?i.line:void 0,this.name=eb(s.place)||"1:1",this.place=s.place||void 0,this.reason=this.message,this.ruleId=s.ruleId||void 0,this.source=s.source||void 0,this.stack=a&&s.cause&&typeof s.cause.stack=="string"?s.cause.stack:"",this.actual=void 0,this.expected=void 0,this.note=void 0,this.url=void 0}}za.prototype.file="";za.prototype.name="";za.prototype.reason="";za.prototype.message="";za.prototype.stack="";za.prototype.column=void 0;za.prototype.line=void 0;za.prototype.ancestors=void 0;za.prototype.cause=void 0;za.prototype.fatal=void 0;za.prototype.place=void 0;za.prototype.ruleId=void 0;za.prototype.source=void 0;const k7={}.hasOwnProperty,LWe=new Map,PWe=/[A-Z]/g,OWe=new Set(["table","tbody","thead","tfoot","tr"]),zWe=new Set(["td","th"]),Jue="https://github.com/syntax-tree/hast-util-to-jsx-runtime";function FWe(t,e){if(!e||e.Fragment===void 0)throw new TypeError("Expected `Fragment` in options");const n=e.filePath||void 0;let r;if(e.development){if(typeof e.jsxDEV!="function")throw new TypeError("Expected `jsxDEV` in options when `development: true`");r=GWe(n,e.jsxDEV)}else{if(typeof e.jsx!="function")throw new TypeError("Expected `jsx` in production options");if(typeof e.jsxs!="function")throw new TypeError("Expected `jsxs` in production options");r=YWe(n,e.jsx,e.jsxs)}const o={Fragment:e.Fragment,ancestors:[],components:e.components||{},create:r,elementAttributeNameCase:e.elementAttributeNameCase||"react",evaluater:e.createEvaluater?e.createEvaluater():void 0,filePath:n,ignoreInvalidStyle:e.ignoreInvalidStyle||!1,passKeys:e.passKeys!==!1,passNode:e.passNode||!1,schema:e.space==="svg"?b7:EWe,stylePropertyNameCase:e.stylePropertyNameCase||"dom",tableCellAlignToStyle:e.tableCellAlignToStyle!==!1},s=Xue(o,t,void 0);return s&&typeof s!="string"?s:o.create(t,o.Fragment,{children:s||void 0},void 0)}function Xue(t,e,n){if(e.type==="element")return BWe(t,e,n);if(e.type==="mdxFlowExpression"||e.type==="mdxTextExpression")return UWe(t,e);if(e.type==="mdxJsxFlowElement"||e.type==="mdxJsxTextElement")return VWe(t,e,n);if(e.type==="mdxjsEsm")return $We(t,e);if(e.type==="root")return HWe(t,e,n);if(e.type==="text")return WWe(t,e)}function BWe(t,e,n){const r=t.schema;let o=r;e.tagName.toLowerCase()==="svg"&&r.space==="html"&&(o=b7,t.schema=o),t.ancestors.push(e);const s=tfe(t,e.tagName,!1),a=qWe(t,e);let i=C7(t,e);return OWe.has(e.tagName)&&(i=i.filter(function(l){return typeof l=="string"?!gWe(l):!0})),efe(t,a,s,e),j7(a,i),t.ancestors.pop(),t.schema=r,t.create(e,s,a,n)}function UWe(t,e){if(e.data&&e.data.estree&&t.evaluater){const r=e.data.estree.body[0];return r.type,t.evaluater.evaluateExpression(r.expression)}f2(t,e.position)}function $We(t,e){if(e.data&&e.data.estree&&t.evaluater)return t.evaluater.evaluateProgram(e.data.estree);f2(t,e.position)}function VWe(t,e,n){const r=t.schema;let o=r;e.name==="svg"&&r.space==="html"&&(o=b7,t.schema=o),t.ancestors.push(e);const s=e.name===null?t.Fragment:tfe(t,e.name,!0),a=KWe(t,e),i=C7(t,e);return efe(t,a,s,e),j7(a,i),t.ancestors.pop(),t.schema=r,t.create(e,s,a,n)}function HWe(t,e,n){const r={};return j7(r,C7(t,e)),t.create(e,t.Fragment,r,n)}function WWe(t,e){return e.value}function efe(t,e,n,r){typeof n!="string"&&n!==t.Fragment&&t.passNode&&(e.node=r)}function j7(t,e){if(e.length>0){const n=e.length>1?e:e[0];n&&(t.children=n)}}function YWe(t,e,n){return r;function r(o,s,a,i){const u=Array.isArray(a.children)?n:e;return i?u(s,a,i):u(s,a)}}function GWe(t,e){return n;function n(r,o,s,a){const i=Array.isArray(s.children),l=x7(r);return e(o,s,a,i,{columnNumber:l?l.column-1:void 0,fileName:t,lineNumber:l?l.line:void 0},void 0)}}function qWe(t,e){const n={};let r,o;for(o in e.properties)if(o!=="children"&&k7.call(e.properties,o)){const s=ZWe(t,o,e.properties[o]);if(s){const[a,i]=s;t.tableCellAlignToStyle&&a==="align"&&typeof i=="string"&&zWe.has(e.tagName)?r=i:n[a]=i}}if(r){const s=n.style||(n.style={});s[t.stylePropertyNameCase==="css"?"text-align":"textAlign"]=r}return n}function KWe(t,e){const n={};for(const r of e.attributes)if(r.type==="mdxJsxExpressionAttribute")if(r.data&&r.data.estree&&t.evaluater){const s=r.data.estree.body[0];s.type;const a=s.expression;a.type;const i=a.properties[0];i.type,Object.assign(n,t.evaluater.evaluateExpression(i.argument))}else f2(t,e.position);else{const o=r.name;let s;if(r.value&&typeof r.value=="object")if(r.value.data&&r.value.data.estree&&t.evaluater){const i=r.value.data.estree.body[0];i.type,s=t.evaluater.evaluateExpression(i.expression)}else f2(t,e.position);else s=r.value===null?!0:r.value;n[o]=s}return n}function C7(t,e){const n=[];let r=-1;const o=t.passKeys?new Map:LWe;for(;++r<e.children.length;){const s=e.children[r];let a;if(t.passKeys){const l=s.type==="element"?s.tagName:s.type==="mdxJsxFlowElement"||s.type==="mdxJsxTextElement"?s.name:void 0;if(l){const u=o.get(l)||0;a=l+"-"+u,o.set(l,u+1)}}const i=Xue(t,s,a);i!==void 0&&n.push(i)}return n}function ZWe(t,e,n){const r=jWe(t.schema,e);if(!(n==null||typeof n=="number"&&Number.isNaN(n))){if(Array.isArray(n)&&(n=r.commaSeparated?fWe(n):NWe(n)),r.property==="style"){let o=typeof n=="object"?n:QWe(t,String(n));return t.stylePropertyNameCase==="css"&&(o=JWe(o)),["style",o]}return[t.elementAttributeNameCase==="react"&&r.space?bWe[r.property]||r.property:r.attribute,n]}}function QWe(t,e){try{return TWe(e,{reactCompat:!0})}catch(n){if(t.ignoreInvalidStyle)return{};const r=n,o=new za("Cannot parse `style` attribute",{ancestors:t.ancestors,cause:r,ruleId:"style",source:"hast-util-to-jsx-runtime"});throw o.file=t.filePath||void 0,o.url=Jue+"#cannot-parse-style-attribute",o}}function tfe(t,e,n){let r;if(!n)r={type:"Literal",value:e};else if(e.includes(".")){const o=e.split(".");let s=-1,a;for(;++s<o.length;){const i=hG(o[s])?{type:"Identifier",name:o[s]}:{type:"Literal",value:o[s]};a=a?{type:"MemberExpression",object:a,property:i,computed:!!(s&&i.type==="Literal"),optional:!1}:i}r=a}else r=hG(e)&&!/^[a-z]/.test(e)?{type:"Identifier",name:e}:{type:"Literal",value:e};if(r.type==="Literal"){const o=r.value;return k7.call(t.components,o)?t.components[o]:o}if(t.evaluater)return t.evaluater.evaluateExpression(r);f2(t)}function f2(t,e){const n=new za("Cannot handle MDX estrees without `createEvaluater`",{ancestors:t.ancestors,place:e,ruleId:"mdx-estree",source:"hast-util-to-jsx-runtime"});throw n.file=t.filePath||void 0,n.url=Jue+"#cannot-handle-mdx-estrees-without-createevaluater",n}function JWe(t){const e={};let n;for(n in t)k7.call(t,n)&&(e[XWe(n)]=t[n]);return e}function XWe(t){let e=t.replace(PWe,eYe);return e.slice(0,3)==="ms-"&&(e="-"+e),e}function eYe(t){return"-"+t.toLowerCase()}const CA={action:["form"],cite:["blockquote","del","ins","q"],data:["object"],formAction:["button","input"],href:["a","area","base","link"],icon:["menuitem"],itemId:null,manifest:["html"],ping:["a","area"],poster:["video"],src:["audio","embed","iframe","img","input","script","source","track","video"]},tYe={};function S7(t,e){const n=tYe,r=typeof n.includeImageAlt=="boolean"?n.includeImageAlt:!0,o=typeof n.includeHtml=="boolean"?n.includeHtml:!0;return nfe(t,r,o)}function nfe(t,e,n){if(nYe(t)){if("value"in t)return t.type==="html"&&!n?"":t.value;if(e&&"alt"in t&&t.alt)return t.alt;if("children"in t)return CG(t.children,e,n)}return Array.isArray(t)?CG(t,e,n):""}function CG(t,e,n){const r=[];let o=-1;for(;++o<t.length;)r[o]=nfe(t[o],e,n);return r.join("")}function nYe(t){return!!(t&&typeof t=="object")}const SG=document.createElement("i");function E7(t){const e="&"+t+";";SG.innerHTML=e;const n=SG.textContent;return n.charCodeAt(n.length-1)===59&&t!=="semi"||n===e?!1:n}function cl(t,e,n,r){const o=t.length;let s=0,a;if(e<0?e=-e>o?0:o+e:e=e>o?o:e,n=n>0?n:0,r.length<1e4)a=Array.from(r),a.unshift(e,n),t.splice(...a);else for(n&&t.splice(e,n);s<r.length;)a=r.slice(s,s+1e4),a.unshift(e,0),t.splice(...a),s+=1e4,e+=1e4}function Fl(t,e){return t.length>0?(cl(t,t.length,0,e),t):e}const EG={}.hasOwnProperty;function rfe(t){const e={};let n=-1;for(;++n<t.length;)rYe(e,t[n]);return e}function rYe(t,e){let n;for(n in e){const o=(EG.call(t,n)?t[n]:void 0)||(t[n]={}),s=e[n];let a;if(s)for(a in s){EG.call(o,a)||(o[a]=[]);const i=s[a];oYe(o[a],Array.isArray(i)?i:i?[i]:[])}}}function oYe(t,e){let n=-1;const r=[];for(;++n<e.length;)(e[n].add==="after"?t:r).push(e[n]);cl(t,0,0,r)}function ofe(t,e){const n=Number.parseInt(t,e);return n<9||n===11||n>13&&n<32||n>126&&n<160||n>55295&&n<57344||n>64975&&n<65008||(n&65535)===65535||(n&65535)===65534||n>1114111?"�":String.fromCodePoint(n)}function Yc(t){return t.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}const qa=Rh(/[A-Za-z]/),Aa=Rh(/[\dA-Za-z]/),sYe=Rh(/[#-'*+\--9=?A-Z^-~]/);function yj(t){return t!==null&&(t<32||t===127)}const wM=Rh(/\d/),aYe=Rh(/[\dA-Fa-f]/),iYe=Rh(/[!-/:-@[-`{-~]/);function xn(t){return t!==null&&t<-2}function $r(t){return t!==null&&(t<0||t===32)}function er(t){return t===-2||t===-1||t===32}const rE=Rh(new RegExp("\\p{P}|\\p{S}","u")),_g=Rh(/\s/);function Rh(t){return e;function e(n){return n!==null&&n>-1&&t.test(String.fromCharCode(n))}}function av(t){const e=[];let n=-1,r=0,o=0;for(;++n<t.length;){const s=t.charCodeAt(n);let a="";if(s===37&&Aa(t.charCodeAt(n+1))&&Aa(t.charCodeAt(n+2)))o=2;else if(s<128)/[!#$&-;=?-Z_a-z~]/.test(String.fromCharCode(s))||(a=String.fromCharCode(s));else if(s>55295&&s<57344){const i=t.charCodeAt(n+1);s<56320&&i>56319&&i<57344?(a=String.fromCharCode(s,i),o=1):a="�"}else a=String.fromCharCode(s);a&&(e.push(t.slice(r,n),encodeURIComponent(a)),r=n+o+1,a=""),o&&(n+=o,o=0)}return e.join("")+t.slice(r)}function ur(t,e,n,r){const o=r?r-1:Number.POSITIVE_INFINITY;let s=0;return a;function a(l){return er(l)?(t.enter(n),i(l)):e(l)}function i(l){return er(l)&&s++<o?(t.consume(l),i):(t.exit(n),e(l))}}const lYe={tokenize:cYe};function cYe(t){const e=t.attempt(this.parser.constructs.contentInitial,r,o);let n;return e;function r(i){if(i===null){t.consume(i);return}return t.enter("lineEnding"),t.consume(i),t.exit("lineEnding"),ur(t,e,"linePrefix")}function o(i){return t.enter("paragraph"),s(i)}function s(i){const l=t.enter("chunkText",{contentType:"text",previous:n});return n&&(n.next=l),n=l,a(i)}function a(i){if(i===null){t.exit("chunkText"),t.exit("paragraph"),t.consume(i);return}return xn(i)?(t.consume(i),t.exit("chunkText"),s):(t.consume(i),a)}}const uYe={tokenize:fYe},NG={tokenize:dYe};function fYe(t){const e=this,n=[];let r=0,o,s,a;return i;function i(N){if(r<n.length){const M=n[r];return e.containerState=M[1],t.attempt(M[0].continuation,l,u)(N)}return u(N)}function l(N){if(r++,e.containerState._closeFlow){e.containerState._closeFlow=void 0,o&&I();const M=e.events.length;let D=M,O;for(;D--;)if(e.events[D][0]==="exit"&&e.events[D][1].type==="chunkFlow"){O=e.events[D][1].end;break}S(r);let L=M;for(;L<e.events.length;)e.events[L][1].end={...O},L++;return cl(e.events,D+1,0,e.events.slice(M)),e.events.length=L,u(N)}return i(N)}function u(N){if(r===n.length){if(!o)return m(N);if(o.currentConstruct&&o.currentConstruct.concrete)return w(N);e.interrupt=!!(o.currentConstruct&&!o._gfmTableDynamicInterruptHack)}return e.containerState={},t.check(NG,d,f)(N)}function d(N){return o&&I(),S(r),m(N)}function f(N){return e.parser.lazy[e.now().line]=r!==n.length,a=e.now().offset,w(N)}function m(N){return e.containerState={},t.attempt(NG,g,w)(N)}function g(N){return r++,n.push([e.currentConstruct,e.containerState]),m(N)}function w(N){if(N===null){o&&I(),S(0),t.consume(N);return}return o=o||e.parser.flow(e.now()),t.enter("chunkFlow",{_tokenizer:o,contentType:"flow",previous:s}),b(N)}function b(N){if(N===null){j(t.exit("chunkFlow"),!0),S(0),t.consume(N);return}return xn(N)?(t.consume(N),j(t.exit("chunkFlow")),r=0,e.interrupt=void 0,i):(t.consume(N),b)}function j(N,M){const D=e.sliceStream(N);if(M&&D.push(null),N.previous=s,s&&(s.next=N),s=N,o.defineSkip(N.start),o.write(D),e.parser.lazy[N.start.line]){let O=o.events.length;for(;O--;)if(o.events[O][1].start.offset<a&&(!o.events[O][1].end||o.events[O][1].end.offset>a))return;const L=e.events.length;let B=L,T,R;for(;B--;)if(e.events[B][0]==="exit"&&e.events[B][1].type==="chunkFlow"){if(T){R=e.events[B][1].end;break}T=!0}for(S(r),O=L;O<e.events.length;)e.events[O][1].end={...R},O++;cl(e.events,B+1,0,e.events.slice(L)),e.events.length=O}}function S(N){let M=n.length;for(;M-- >N;){const D=n[M];e.containerState=D[1],D[0].exit.call(e,t)}n.length=N}function I(){o.write([null]),s=void 0,o=void 0,e.containerState._closeFlow=void 0}}function dYe(t,e,n){return ur(t,t.attempt(this.parser.constructs.document,e,n),"linePrefix",this.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}function xy(t){if(t===null||$r(t)||_g(t))return 1;if(rE(t))return 2}function oE(t,e,n){const r=[];let o=-1;for(;++o<t.length;){const s=t[o].resolveAll;s&&!r.includes(s)&&(e=s(e,n),r.push(s))}return e}const bM={name:"attention",resolveAll:pYe,tokenize:hYe};function pYe(t,e){let n=-1,r,o,s,a,i,l,u,d;for(;++n<t.length;)if(t[n][0]==="enter"&&t[n][1].type==="attentionSequence"&&t[n][1]._close){for(r=n;r--;)if(t[r][0]==="exit"&&t[r][1].type==="attentionSequence"&&t[r][1]._open&&e.sliceSerialize(t[r][1]).charCodeAt(0)===e.sliceSerialize(t[n][1]).charCodeAt(0)){if((t[r][1]._close||t[n][1]._open)&&(t[n][1].end.offset-t[n][1].start.offset)%3&&!((t[r][1].end.offset-t[r][1].start.offset+t[n][1].end.offset-t[n][1].start.offset)%3))continue;l=t[r][1].end.offset-t[r][1].start.offset>1&&t[n][1].end.offset-t[n][1].start.offset>1?2:1;const f={...t[r][1].end},m={...t[n][1].start};IG(f,-l),IG(m,l),a={type:l>1?"strongSequence":"emphasisSequence",start:f,end:{...t[r][1].end}},i={type:l>1?"strongSequence":"emphasisSequence",start:{...t[n][1].start},end:m},s={type:l>1?"strongText":"emphasisText",start:{...t[r][1].end},end:{...t[n][1].start}},o={type:l>1?"strong":"emphasis",start:{...a.start},end:{...i.end}},t[r][1].end={...a.start},t[n][1].start={...i.end},u=[],t[r][1].end.offset-t[r][1].start.offset&&(u=Fl(u,[["enter",t[r][1],e],["exit",t[r][1],e]])),u=Fl(u,[["enter",o,e],["enter",a,e],["exit",a,e],["enter",s,e]]),u=Fl(u,oE(e.parser.constructs.insideSpan.null,t.slice(r+1,n),e)),u=Fl(u,[["exit",s,e],["enter",i,e],["exit",i,e],["exit",o,e]]),t[n][1].end.offset-t[n][1].start.offset?(d=2,u=Fl(u,[["enter",t[n][1],e],["exit",t[n][1],e]])):d=0,cl(t,r-1,n-r+3,u),n=r+u.length-d-2;break}}for(n=-1;++n<t.length;)t[n][1].type==="attentionSequence"&&(t[n][1].type="data");return t}function hYe(t,e){const n=this.parser.constructs.attentionMarkers.null,r=this.previous,o=xy(r);let s;return a;function a(l){return s=l,t.enter("attentionSequence"),i(l)}function i(l){if(l===s)return t.consume(l),i;const u=t.exit("attentionSequence"),d=xy(l),f=!d||d===2&&o||n.includes(l),m=!o||o===2&&d||n.includes(r);return u._open=!!(s===42?f:f&&(o||!m)),u._close=!!(s===42?m:m&&(d||!f)),e(l)}}function IG(t,e){t.column+=e,t.offset+=e,t._bufferIndex+=e}const mYe={name:"autolink",tokenize:gYe};function gYe(t,e,n){let r=0;return o;function o(g){return t.enter("autolink"),t.enter("autolinkMarker"),t.consume(g),t.exit("autolinkMarker"),t.enter("autolinkProtocol"),s}function s(g){return qa(g)?(t.consume(g),a):g===64?n(g):u(g)}function a(g){return g===43||g===45||g===46||Aa(g)?(r=1,i(g)):u(g)}function i(g){return g===58?(t.consume(g),r=0,l):(g===43||g===45||g===46||Aa(g))&&r++<32?(t.consume(g),i):(r=0,u(g))}function l(g){return g===62?(t.exit("autolinkProtocol"),t.enter("autolinkMarker"),t.consume(g),t.exit("autolinkMarker"),t.exit("autolink"),e):g===null||g===32||g===60||yj(g)?n(g):(t.consume(g),l)}function u(g){return g===64?(t.consume(g),d):sYe(g)?(t.consume(g),u):n(g)}function d(g){return Aa(g)?f(g):n(g)}function f(g){return g===46?(t.consume(g),r=0,d):g===62?(t.exit("autolinkProtocol").type="autolinkEmail",t.enter("autolinkMarker"),t.consume(g),t.exit("autolinkMarker"),t.exit("autolink"),e):m(g)}function m(g){if((g===45||Aa(g))&&r++<63){const w=g===45?m:f;return t.consume(g),w}return n(g)}}const bx={partial:!0,tokenize:yYe};function yYe(t,e,n){return r;function r(s){return er(s)?ur(t,o,"linePrefix")(s):o(s)}function o(s){return s===null||xn(s)?e(s):n(s)}}const sfe={continuation:{tokenize:wYe},exit:bYe,name:"blockQuote",tokenize:vYe};function vYe(t,e,n){const r=this;return o;function o(a){if(a===62){const i=r.containerState;return i.open||(t.enter("blockQuote",{_container:!0}),i.open=!0),t.enter("blockQuotePrefix"),t.enter("blockQuoteMarker"),t.consume(a),t.exit("blockQuoteMarker"),s}return n(a)}function s(a){return er(a)?(t.enter("blockQuotePrefixWhitespace"),t.consume(a),t.exit("blockQuotePrefixWhitespace"),t.exit("blockQuotePrefix"),e):(t.exit("blockQuotePrefix"),e(a))}}function wYe(t,e,n){const r=this;return o;function o(a){return er(a)?ur(t,s,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(a):s(a)}function s(a){return t.attempt(sfe,e,n)(a)}}function bYe(t){t.exit("blockQuote")}const afe={name:"characterEscape",tokenize:xYe};function xYe(t,e,n){return r;function r(s){return t.enter("characterEscape"),t.enter("escapeMarker"),t.consume(s),t.exit("escapeMarker"),o}function o(s){return iYe(s)?(t.enter("characterEscapeValue"),t.consume(s),t.exit("characterEscapeValue"),t.exit("characterEscape"),e):n(s)}}const ife={name:"characterReference",tokenize:kYe};function kYe(t,e,n){const r=this;let o=0,s,a;return i;function i(f){return t.enter("characterReference"),t.enter("characterReferenceMarker"),t.consume(f),t.exit("characterReferenceMarker"),l}function l(f){return f===35?(t.enter("characterReferenceMarkerNumeric"),t.consume(f),t.exit("characterReferenceMarkerNumeric"),u):(t.enter("characterReferenceValue"),s=31,a=Aa,d(f))}function u(f){return f===88||f===120?(t.enter("characterReferenceMarkerHexadecimal"),t.consume(f),t.exit("characterReferenceMarkerHexadecimal"),t.enter("characterReferenceValue"),s=6,a=aYe,d):(t.enter("characterReferenceValue"),s=7,a=wM,d(f))}function d(f){if(f===59&&o){const m=t.exit("characterReferenceValue");return a===Aa&&!E7(r.sliceSerialize(m))?n(f):(t.enter("characterReferenceMarker"),t.consume(f),t.exit("characterReferenceMarker"),t.exit("characterReference"),e)}return a(f)&&o++<s?(t.consume(f),d):n(f)}}const AG={partial:!0,tokenize:CYe},_G={concrete:!0,name:"codeFenced",tokenize:jYe};function jYe(t,e,n){const r=this,o={partial:!0,tokenize:D};let s=0,a=0,i;return l;function l(O){return u(O)}function u(O){const L=r.events[r.events.length-1];return s=L&&L[1].type==="linePrefix"?L[2].sliceSerialize(L[1],!0).length:0,i=O,t.enter("codeFenced"),t.enter("codeFencedFence"),t.enter("codeFencedFenceSequence"),d(O)}function d(O){return O===i?(a++,t.consume(O),d):a<3?n(O):(t.exit("codeFencedFenceSequence"),er(O)?ur(t,f,"whitespace")(O):f(O))}function f(O){return O===null||xn(O)?(t.exit("codeFencedFence"),r.interrupt?e(O):t.check(AG,b,M)(O)):(t.enter("codeFencedFenceInfo"),t.enter("chunkString",{contentType:"string"}),m(O))}function m(O){return O===null||xn(O)?(t.exit("chunkString"),t.exit("codeFencedFenceInfo"),f(O)):er(O)?(t.exit("chunkString"),t.exit("codeFencedFenceInfo"),ur(t,g,"whitespace")(O)):O===96&&O===i?n(O):(t.consume(O),m)}function g(O){return O===null||xn(O)?f(O):(t.enter("codeFencedFenceMeta"),t.enter("chunkString",{contentType:"string"}),w(O))}function w(O){return O===null||xn(O)?(t.exit("chunkString"),t.exit("codeFencedFenceMeta"),f(O)):O===96&&O===i?n(O):(t.consume(O),w)}function b(O){return t.attempt(o,M,j)(O)}function j(O){return t.enter("lineEnding"),t.consume(O),t.exit("lineEnding"),S}function S(O){return s>0&&er(O)?ur(t,I,"linePrefix",s+1)(O):I(O)}function I(O){return O===null||xn(O)?t.check(AG,b,M)(O):(t.enter("codeFlowValue"),N(O))}function N(O){return O===null||xn(O)?(t.exit("codeFlowValue"),I(O)):(t.consume(O),N)}function M(O){return t.exit("codeFenced"),e(O)}function D(O,L,B){let T=0;return R;function R(F){return O.enter("lineEnding"),O.consume(F),O.exit("lineEnding"),z}function z(F){return O.enter("codeFencedFence"),er(F)?ur(O,Y,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(F):Y(F)}function Y(F){return F===i?(O.enter("codeFencedFenceSequence"),Q(F)):B(F)}function Q(F){return F===i?(T++,O.consume(F),Q):T>=a?(O.exit("codeFencedFenceSequence"),er(F)?ur(O,W,"whitespace")(F):W(F)):B(F)}function W(F){return F===null||xn(F)?(O.exit("codeFencedFence"),L(F)):B(F)}}}function CYe(t,e,n){const r=this;return o;function o(a){return a===null?n(a):(t.enter("lineEnding"),t.consume(a),t.exit("lineEnding"),s)}function s(a){return r.parser.lazy[r.now().line]?n(a):e(a)}}const SA={name:"codeIndented",tokenize:EYe},SYe={partial:!0,tokenize:NYe};function EYe(t,e,n){const r=this;return o;function o(u){return t.enter("codeIndented"),ur(t,s,"linePrefix",5)(u)}function s(u){const d=r.events[r.events.length-1];return d&&d[1].type==="linePrefix"&&d[2].sliceSerialize(d[1],!0).length>=4?a(u):n(u)}function a(u){return u===null?l(u):xn(u)?t.attempt(SYe,a,l)(u):(t.enter("codeFlowValue"),i(u))}function i(u){return u===null||xn(u)?(t.exit("codeFlowValue"),a(u)):(t.consume(u),i)}function l(u){return t.exit("codeIndented"),e(u)}}function NYe(t,e,n){const r=this;return o;function o(a){return r.parser.lazy[r.now().line]?n(a):xn(a)?(t.enter("lineEnding"),t.consume(a),t.exit("lineEnding"),o):ur(t,s,"linePrefix",5)(a)}function s(a){const i=r.events[r.events.length-1];return i&&i[1].type==="linePrefix"&&i[2].sliceSerialize(i[1],!0).length>=4?e(a):xn(a)?o(a):n(a)}}const IYe={name:"codeText",previous:_Ye,resolve:AYe,tokenize:MYe};function AYe(t){let e=t.length-4,n=3,r,o;if((t[n][1].type==="lineEnding"||t[n][1].type==="space")&&(t[e][1].type==="lineEnding"||t[e][1].type==="space")){for(r=n;++r<e;)if(t[r][1].type==="codeTextData"){t[n][1].type="codeTextPadding",t[e][1].type="codeTextPadding",n+=2,e-=2;break}}for(r=n-1,e++;++r<=e;)o===void 0?r!==e&&t[r][1].type!=="lineEnding"&&(o=r):(r===e||t[r][1].type==="lineEnding")&&(t[o][1].type="codeTextData",r!==o+2&&(t[o][1].end=t[r-1][1].end,t.splice(o+2,r-o-2),e-=r-o-2,r=o+2),o=void 0);return t}function _Ye(t){return t!==96||this.events[this.events.length-1][1].type==="characterEscape"}function MYe(t,e,n){let r=0,o,s;return a;function a(f){return t.enter("codeText"),t.enter("codeTextSequence"),i(f)}function i(f){return f===96?(t.consume(f),r++,i):(t.exit("codeTextSequence"),l(f))}function l(f){return f===null?n(f):f===32?(t.enter("space"),t.consume(f),t.exit("space"),l):f===96?(s=t.enter("codeTextSequence"),o=0,d(f)):xn(f)?(t.enter("lineEnding"),t.consume(f),t.exit("lineEnding"),l):(t.enter("codeTextData"),u(f))}function u(f){return f===null||f===32||f===96||xn(f)?(t.exit("codeTextData"),l(f)):(t.consume(f),u)}function d(f){return f===96?(t.consume(f),o++,d):o===r?(t.exit("codeTextSequence"),t.exit("codeText"),e(f)):(s.type="codeTextData",u(f))}}class RYe{constructor(e){this.left=e?[...e]:[],this.right=[]}get(e){if(e<0||e>=this.left.length+this.right.length)throw new RangeError("Cannot access index `"+e+"` in a splice buffer of size `"+(this.left.length+this.right.length)+"`");return e<this.left.length?this.left[e]:this.right[this.right.length-e+this.left.length-1]}get length(){return this.left.length+this.right.length}shift(){return this.setCursor(0),this.right.pop()}slice(e,n){const r=n??Number.POSITIVE_INFINITY;return r<this.left.length?this.left.slice(e,r):e>this.left.length?this.right.slice(this.right.length-r+this.left.length,this.right.length-e+this.left.length).reverse():this.left.slice(e).concat(this.right.slice(this.right.length-r+this.left.length).reverse())}splice(e,n,r){const o=n||0;this.setCursor(Math.trunc(e));const s=this.right.splice(this.right.length-o,Number.POSITIVE_INFINITY);return r&&jw(this.left,r),s.reverse()}pop(){return this.setCursor(Number.POSITIVE_INFINITY),this.left.pop()}push(e){this.setCursor(Number.POSITIVE_INFINITY),this.left.push(e)}pushMany(e){this.setCursor(Number.POSITIVE_INFINITY),jw(this.left,e)}unshift(e){this.setCursor(0),this.right.push(e)}unshiftMany(e){this.setCursor(0),jw(this.right,e.reverse())}setCursor(e){if(!(e===this.left.length||e>this.left.length&&this.right.length===0||e<0&&this.left.length===0))if(e<this.left.length){const n=this.left.splice(e,Number.POSITIVE_INFINITY);jw(this.right,n.reverse())}else{const n=this.right.splice(this.left.length+this.right.length-e,Number.POSITIVE_INFINITY);jw(this.left,n.reverse())}}}function jw(t,e){let n=0;if(e.length<1e4)t.push(...e);else for(;n<e.length;)t.push(...e.slice(n,n+1e4)),n+=1e4}function lfe(t){const e={};let n=-1,r,o,s,a,i,l,u;const d=new RYe(t);for(;++n<d.length;){for(;n in e;)n=e[n];if(r=d.get(n),n&&r[1].type==="chunkFlow"&&d.get(n-1)[1].type==="listItemPrefix"&&(l=r[1]._tokenizer.events,s=0,s<l.length&&l[s][1].type==="lineEndingBlank"&&(s+=2),s<l.length&&l[s][1].type==="content"))for(;++s<l.length&&l[s][1].type!=="content";)l[s][1].type==="chunkText"&&(l[s][1]._isInFirstContentOfListItem=!0,s++);if(r[0]==="enter")r[1].contentType&&(Object.assign(e,TYe(d,n)),n=e[n],u=!0);else if(r[1]._container){for(s=n,o=void 0;s--;)if(a=d.get(s),a[1].type==="lineEnding"||a[1].type==="lineEndingBlank")a[0]==="enter"&&(o&&(d.get(o)[1].type="lineEndingBlank"),a[1].type="lineEnding",o=s);else if(!(a[1].type==="linePrefix"||a[1].type==="listItemIndent"))break;o&&(r[1].end={...d.get(o)[1].start},i=d.slice(o,n),i.unshift(r),d.splice(o,n-o+1,i))}}return cl(t,0,Number.POSITIVE_INFINITY,d.slice(0)),!u}function TYe(t,e){const n=t.get(e)[1],r=t.get(e)[2];let o=e-1;const s=[];let a=n._tokenizer;a||(a=r.parser[n.contentType](n.start),n._contentTypeTextTrailing&&(a._contentTypeTextTrailing=!0));const i=a.events,l=[],u={};let d,f,m=-1,g=n,w=0,b=0;const j=[b];for(;g;){for(;t.get(++o)[1]!==g;);s.push(o),g._tokenizer||(d=r.sliceStream(g),g.next||d.push(null),f&&a.defineSkip(g.start),g._isInFirstContentOfListItem&&(a._gfmTasklistFirstContentOfListItem=!0),a.write(d),g._isInFirstContentOfListItem&&(a._gfmTasklistFirstContentOfListItem=void 0)),f=g,g=g.next}for(g=n;++m<i.length;)i[m][0]==="exit"&&i[m-1][0]==="enter"&&i[m][1].type===i[m-1][1].type&&i[m][1].start.line!==i[m][1].end.line&&(b=m+1,j.push(b),g._tokenizer=void 0,g.previous=void 0,g=g.next);for(a.events=[],g?(g._tokenizer=void 0,g.previous=void 0):j.pop(),m=j.length;m--;){const S=i.slice(j[m],j[m+1]),I=s.pop();l.push([I,I+S.length-1]),t.splice(I,2,S)}for(l.reverse(),m=-1;++m<l.length;)u[w+l[m][0]]=w+l[m][1],w+=l[m][1]-l[m][0]-1;return u}const DYe={resolve:PYe,tokenize:OYe},LYe={partial:!0,tokenize:zYe};function PYe(t){return lfe(t),t}function OYe(t,e){let n;return r;function r(i){return t.enter("content"),n=t.enter("chunkContent",{contentType:"content"}),o(i)}function o(i){return i===null?s(i):xn(i)?t.check(LYe,a,s)(i):(t.consume(i),o)}function s(i){return t.exit("chunkContent"),t.exit("content"),e(i)}function a(i){return t.consume(i),t.exit("chunkContent"),n.next=t.enter("chunkContent",{contentType:"content",previous:n}),n=n.next,o}}function zYe(t,e,n){const r=this;return o;function o(a){return t.exit("chunkContent"),t.enter("lineEnding"),t.consume(a),t.exit("lineEnding"),ur(t,s,"linePrefix")}function s(a){if(a===null||xn(a))return n(a);const i=r.events[r.events.length-1];return!r.parser.constructs.disable.null.includes("codeIndented")&&i&&i[1].type==="linePrefix"&&i[2].sliceSerialize(i[1],!0).length>=4?e(a):t.interrupt(r.parser.constructs.flow,n,e)(a)}}function cfe(t,e,n,r,o,s,a,i,l){const u=l||Number.POSITIVE_INFINITY;let d=0;return f;function f(S){return S===60?(t.enter(r),t.enter(o),t.enter(s),t.consume(S),t.exit(s),m):S===null||S===32||S===41||yj(S)?n(S):(t.enter(r),t.enter(a),t.enter(i),t.enter("chunkString",{contentType:"string"}),b(S))}function m(S){return S===62?(t.enter(s),t.consume(S),t.exit(s),t.exit(o),t.exit(r),e):(t.enter(i),t.enter("chunkString",{contentType:"string"}),g(S))}function g(S){return S===62?(t.exit("chunkString"),t.exit(i),m(S)):S===null||S===60||xn(S)?n(S):(t.consume(S),S===92?w:g)}function w(S){return S===60||S===62||S===92?(t.consume(S),g):g(S)}function b(S){return!d&&(S===null||S===41||$r(S))?(t.exit("chunkString"),t.exit(i),t.exit(a),t.exit(r),e(S)):d<u&&S===40?(t.consume(S),d++,b):S===41?(t.consume(S),d--,b):S===null||S===32||S===40||yj(S)?n(S):(t.consume(S),S===92?j:b)}function j(S){return S===40||S===41||S===92?(t.consume(S),b):b(S)}}function ufe(t,e,n,r,o,s){const a=this;let i=0,l;return u;function u(g){return t.enter(r),t.enter(o),t.consume(g),t.exit(o),t.enter(s),d}function d(g){return i>999||g===null||g===91||g===93&&!l||g===94&&!i&&"_hiddenFootnoteSupport"in a.parser.constructs?n(g):g===93?(t.exit(s),t.enter(o),t.consume(g),t.exit(o),t.exit(r),e):xn(g)?(t.enter("lineEnding"),t.consume(g),t.exit("lineEnding"),d):(t.enter("chunkString",{contentType:"string"}),f(g))}function f(g){return g===null||g===91||g===93||xn(g)||i++>999?(t.exit("chunkString"),d(g)):(t.consume(g),l||(l=!er(g)),g===92?m:f)}function m(g){return g===91||g===92||g===93?(t.consume(g),i++,f):f(g)}}function ffe(t,e,n,r,o,s){let a;return i;function i(m){return m===34||m===39||m===40?(t.enter(r),t.enter(o),t.consume(m),t.exit(o),a=m===40?41:m,l):n(m)}function l(m){return m===a?(t.enter(o),t.consume(m),t.exit(o),t.exit(r),e):(t.enter(s),u(m))}function u(m){return m===a?(t.exit(s),l(a)):m===null?n(m):xn(m)?(t.enter("lineEnding"),t.consume(m),t.exit("lineEnding"),ur(t,u,"linePrefix")):(t.enter("chunkString",{contentType:"string"}),d(m))}function d(m){return m===a||m===null||xn(m)?(t.exit("chunkString"),u(m)):(t.consume(m),m===92?f:d)}function f(m){return m===a||m===92?(t.consume(m),d):d(m)}}function tb(t,e){let n;return r;function r(o){return xn(o)?(t.enter("lineEnding"),t.consume(o),t.exit("lineEnding"),n=!0,r):er(o)?ur(t,r,n?"linePrefix":"lineSuffix")(o):e(o)}}const FYe={name:"definition",tokenize:UYe},BYe={partial:!0,tokenize:$Ye};function UYe(t,e,n){const r=this;let o;return s;function s(g){return t.enter("definition"),a(g)}function a(g){return ufe.call(r,t,i,n,"definitionLabel","definitionLabelMarker","definitionLabelString")(g)}function i(g){return o=Yc(r.sliceSerialize(r.events[r.events.length-1][1]).slice(1,-1)),g===58?(t.enter("definitionMarker"),t.consume(g),t.exit("definitionMarker"),l):n(g)}function l(g){return $r(g)?tb(t,u)(g):u(g)}function u(g){return cfe(t,d,n,"definitionDestination","definitionDestinationLiteral","definitionDestinationLiteralMarker","definitionDestinationRaw","definitionDestinationString")(g)}function d(g){return t.attempt(BYe,f,f)(g)}function f(g){return er(g)?ur(t,m,"whitespace")(g):m(g)}function m(g){return g===null||xn(g)?(t.exit("definition"),r.parser.defined.push(o),e(g)):n(g)}}function $Ye(t,e,n){return r;function r(i){return $r(i)?tb(t,o)(i):n(i)}function o(i){return ffe(t,s,n,"definitionTitle","definitionTitleMarker","definitionTitleString")(i)}function s(i){return er(i)?ur(t,a,"whitespace")(i):a(i)}function a(i){return i===null||xn(i)?e(i):n(i)}}const VYe={name:"hardBreakEscape",tokenize:HYe};function HYe(t,e,n){return r;function r(s){return t.enter("hardBreakEscape"),t.consume(s),o}function o(s){return xn(s)?(t.exit("hardBreakEscape"),e(s)):n(s)}}const WYe={name:"headingAtx",resolve:YYe,tokenize:GYe};function YYe(t,e){let n=t.length-2,r=3,o,s;return t[r][1].type==="whitespace"&&(r+=2),n-2>r&&t[n][1].type==="whitespace"&&(n-=2),t[n][1].type==="atxHeadingSequence"&&(r===n-1||n-4>r&&t[n-2][1].type==="whitespace")&&(n-=r+1===n?2:4),n>r&&(o={type:"atxHeadingText",start:t[r][1].start,end:t[n][1].end},s={type:"chunkText",start:t[r][1].start,end:t[n][1].end,contentType:"text"},cl(t,r,n-r+1,[["enter",o,e],["enter",s,e],["exit",s,e],["exit",o,e]])),t}function GYe(t,e,n){let r=0;return o;function o(d){return t.enter("atxHeading"),s(d)}function s(d){return t.enter("atxHeadingSequence"),a(d)}function a(d){return d===35&&r++<6?(t.consume(d),a):d===null||$r(d)?(t.exit("atxHeadingSequence"),i(d)):n(d)}function i(d){return d===35?(t.enter("atxHeadingSequence"),l(d)):d===null||xn(d)?(t.exit("atxHeading"),e(d)):er(d)?ur(t,i,"whitespace")(d):(t.enter("atxHeadingText"),u(d))}function l(d){return d===35?(t.consume(d),l):(t.exit("atxHeadingSequence"),i(d))}function u(d){return d===null||d===35||$r(d)?(t.exit("atxHeadingText"),i(d)):(t.consume(d),u)}}const qYe=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","search","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],MG=["pre","script","style","textarea"],KYe={concrete:!0,name:"htmlFlow",resolveTo:JYe,tokenize:XYe},ZYe={partial:!0,tokenize:tGe},QYe={partial:!0,tokenize:eGe};function JYe(t){let e=t.length;for(;e--&&!(t[e][0]==="enter"&&t[e][1].type==="htmlFlow"););return e>1&&t[e-2][1].type==="linePrefix"&&(t[e][1].start=t[e-2][1].start,t[e+1][1].start=t[e-2][1].start,t.splice(e-2,2)),t}function XYe(t,e,n){const r=this;let o,s,a,i,l;return u;function u(re){return d(re)}function d(re){return t.enter("htmlFlow"),t.enter("htmlFlowData"),t.consume(re),f}function f(re){return re===33?(t.consume(re),m):re===47?(t.consume(re),s=!0,b):re===63?(t.consume(re),o=3,r.interrupt?e:G):qa(re)?(t.consume(re),a=String.fromCharCode(re),j):n(re)}function m(re){return re===45?(t.consume(re),o=2,g):re===91?(t.consume(re),o=5,i=0,w):qa(re)?(t.consume(re),o=4,r.interrupt?e:G):n(re)}function g(re){return re===45?(t.consume(re),r.interrupt?e:G):n(re)}function w(re){const de="CDATA[";return re===de.charCodeAt(i++)?(t.consume(re),i===de.length?r.interrupt?e:Y:w):n(re)}function b(re){return qa(re)?(t.consume(re),a=String.fromCharCode(re),j):n(re)}function j(re){if(re===null||re===47||re===62||$r(re)){const de=re===47,Ne=a.toLowerCase();return!de&&!s&&MG.includes(Ne)?(o=1,r.interrupt?e(re):Y(re)):qYe.includes(a.toLowerCase())?(o=6,de?(t.consume(re),S):r.interrupt?e(re):Y(re)):(o=7,r.interrupt&&!r.parser.lazy[r.now().line]?n(re):s?I(re):N(re))}return re===45||Aa(re)?(t.consume(re),a+=String.fromCharCode(re),j):n(re)}function S(re){return re===62?(t.consume(re),r.interrupt?e:Y):n(re)}function I(re){return er(re)?(t.consume(re),I):R(re)}function N(re){return re===47?(t.consume(re),R):re===58||re===95||qa(re)?(t.consume(re),M):er(re)?(t.consume(re),N):R(re)}function M(re){return re===45||re===46||re===58||re===95||Aa(re)?(t.consume(re),M):D(re)}function D(re){return re===61?(t.consume(re),O):er(re)?(t.consume(re),D):N(re)}function O(re){return re===null||re===60||re===61||re===62||re===96?n(re):re===34||re===39?(t.consume(re),l=re,L):er(re)?(t.consume(re),O):B(re)}function L(re){return re===l?(t.consume(re),l=null,T):re===null||xn(re)?n(re):(t.consume(re),L)}function B(re){return re===null||re===34||re===39||re===47||re===60||re===61||re===62||re===96||$r(re)?D(re):(t.consume(re),B)}function T(re){return re===47||re===62||er(re)?N(re):n(re)}function R(re){return re===62?(t.consume(re),z):n(re)}function z(re){return re===null||xn(re)?Y(re):er(re)?(t.consume(re),z):n(re)}function Y(re){return re===45&&o===2?(t.consume(re),X):re===60&&o===1?(t.consume(re),$):re===62&&o===4?(t.consume(re),J):re===63&&o===3?(t.consume(re),G):re===93&&o===5?(t.consume(re),K):xn(re)&&(o===6||o===7)?(t.exit("htmlFlowData"),t.check(ZYe,ne,Q)(re)):re===null||xn(re)?(t.exit("htmlFlowData"),Q(re)):(t.consume(re),Y)}function Q(re){return t.check(QYe,W,ne)(re)}function W(re){return t.enter("lineEnding"),t.consume(re),t.exit("lineEnding"),F}function F(re){return re===null||xn(re)?Q(re):(t.enter("htmlFlowData"),Y(re))}function X(re){return re===45?(t.consume(re),G):Y(re)}function $(re){return re===47?(t.consume(re),a="",V):Y(re)}function V(re){if(re===62){const de=a.toLowerCase();return MG.includes(de)?(t.consume(re),J):Y(re)}return qa(re)&&a.length<8?(t.consume(re),a+=String.fromCharCode(re),V):Y(re)}function K(re){return re===93?(t.consume(re),G):Y(re)}function G(re){return re===62?(t.consume(re),J):re===45&&o===2?(t.consume(re),G):Y(re)}function J(re){return re===null||xn(re)?(t.exit("htmlFlowData"),ne(re)):(t.consume(re),J)}function ne(re){return t.exit("htmlFlow"),e(re)}}function eGe(t,e,n){const r=this;return o;function o(a){return xn(a)?(t.enter("lineEnding"),t.consume(a),t.exit("lineEnding"),s):n(a)}function s(a){return r.parser.lazy[r.now().line]?n(a):e(a)}}function tGe(t,e,n){return r;function r(o){return t.enter("lineEnding"),t.consume(o),t.exit("lineEnding"),t.attempt(bx,e,n)}}const nGe={name:"htmlText",tokenize:rGe};function rGe(t,e,n){const r=this;let o,s,a;return i;function i(G){return t.enter("htmlText"),t.enter("htmlTextData"),t.consume(G),l}function l(G){return G===33?(t.consume(G),u):G===47?(t.consume(G),D):G===63?(t.consume(G),N):qa(G)?(t.consume(G),B):n(G)}function u(G){return G===45?(t.consume(G),d):G===91?(t.consume(G),s=0,w):qa(G)?(t.consume(G),I):n(G)}function d(G){return G===45?(t.consume(G),g):n(G)}function f(G){return G===null?n(G):G===45?(t.consume(G),m):xn(G)?(a=f,$(G)):(t.consume(G),f)}function m(G){return G===45?(t.consume(G),g):f(G)}function g(G){return G===62?X(G):G===45?m(G):f(G)}function w(G){const J="CDATA[";return G===J.charCodeAt(s++)?(t.consume(G),s===J.length?b:w):n(G)}function b(G){return G===null?n(G):G===93?(t.consume(G),j):xn(G)?(a=b,$(G)):(t.consume(G),b)}function j(G){return G===93?(t.consume(G),S):b(G)}function S(G){return G===62?X(G):G===93?(t.consume(G),S):b(G)}function I(G){return G===null||G===62?X(G):xn(G)?(a=I,$(G)):(t.consume(G),I)}function N(G){return G===null?n(G):G===63?(t.consume(G),M):xn(G)?(a=N,$(G)):(t.consume(G),N)}function M(G){return G===62?X(G):N(G)}function D(G){return qa(G)?(t.consume(G),O):n(G)}function O(G){return G===45||Aa(G)?(t.consume(G),O):L(G)}function L(G){return xn(G)?(a=L,$(G)):er(G)?(t.consume(G),L):X(G)}function B(G){return G===45||Aa(G)?(t.consume(G),B):G===47||G===62||$r(G)?T(G):n(G)}function T(G){return G===47?(t.consume(G),X):G===58||G===95||qa(G)?(t.consume(G),R):xn(G)?(a=T,$(G)):er(G)?(t.consume(G),T):X(G)}function R(G){return G===45||G===46||G===58||G===95||Aa(G)?(t.consume(G),R):z(G)}function z(G){return G===61?(t.consume(G),Y):xn(G)?(a=z,$(G)):er(G)?(t.consume(G),z):T(G)}function Y(G){return G===null||G===60||G===61||G===62||G===96?n(G):G===34||G===39?(t.consume(G),o=G,Q):xn(G)?(a=Y,$(G)):er(G)?(t.consume(G),Y):(t.consume(G),W)}function Q(G){return G===o?(t.consume(G),o=void 0,F):G===null?n(G):xn(G)?(a=Q,$(G)):(t.consume(G),Q)}function W(G){return G===null||G===34||G===39||G===60||G===61||G===96?n(G):G===47||G===62||$r(G)?T(G):(t.consume(G),W)}function F(G){return G===47||G===62||$r(G)?T(G):n(G)}function X(G){return G===62?(t.consume(G),t.exit("htmlTextData"),t.exit("htmlText"),e):n(G)}function $(G){return t.exit("htmlTextData"),t.enter("lineEnding"),t.consume(G),t.exit("lineEnding"),V}function V(G){return er(G)?ur(t,K,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(G):K(G)}function K(G){return t.enter("htmlTextData"),a(G)}}const N7={name:"labelEnd",resolveAll:iGe,resolveTo:lGe,tokenize:cGe},oGe={tokenize:uGe},sGe={tokenize:fGe},aGe={tokenize:dGe};function iGe(t){let e=-1;const n=[];for(;++e<t.length;){const r=t[e][1];if(n.push(t[e]),r.type==="labelImage"||r.type==="labelLink"||r.type==="labelEnd"){const o=r.type==="labelImage"?4:2;r.type="data",e+=o}}return t.length!==n.length&&cl(t,0,t.length,n),t}function lGe(t,e){let n=t.length,r=0,o,s,a,i;for(;n--;)if(o=t[n][1],s){if(o.type==="link"||o.type==="labelLink"&&o._inactive)break;t[n][0]==="enter"&&o.type==="labelLink"&&(o._inactive=!0)}else if(a){if(t[n][0]==="enter"&&(o.type==="labelImage"||o.type==="labelLink")&&!o._balanced&&(s=n,o.type!=="labelLink")){r=2;break}}else o.type==="labelEnd"&&(a=n);const l={type:t[s][1].type==="labelLink"?"link":"image",start:{...t[s][1].start},end:{...t[t.length-1][1].end}},u={type:"label",start:{...t[s][1].start},end:{...t[a][1].end}},d={type:"labelText",start:{...t[s+r+2][1].end},end:{...t[a-2][1].start}};return i=[["enter",l,e],["enter",u,e]],i=Fl(i,t.slice(s+1,s+r+3)),i=Fl(i,[["enter",d,e]]),i=Fl(i,oE(e.parser.constructs.insideSpan.null,t.slice(s+r+4,a-3),e)),i=Fl(i,[["exit",d,e],t[a-2],t[a-1],["exit",u,e]]),i=Fl(i,t.slice(a+1)),i=Fl(i,[["exit",l,e]]),cl(t,s,t.length,i),t}function cGe(t,e,n){const r=this;let o=r.events.length,s,a;for(;o--;)if((r.events[o][1].type==="labelImage"||r.events[o][1].type==="labelLink")&&!r.events[o][1]._balanced){s=r.events[o][1];break}return i;function i(m){return s?s._inactive?f(m):(a=r.parser.defined.includes(Yc(r.sliceSerialize({start:s.end,end:r.now()}))),t.enter("labelEnd"),t.enter("labelMarker"),t.consume(m),t.exit("labelMarker"),t.exit("labelEnd"),l):n(m)}function l(m){return m===40?t.attempt(oGe,d,a?d:f)(m):m===91?t.attempt(sGe,d,a?u:f)(m):a?d(m):f(m)}function u(m){return t.attempt(aGe,d,f)(m)}function d(m){return e(m)}function f(m){return s._balanced=!0,n(m)}}function uGe(t,e,n){return r;function r(f){return t.enter("resource"),t.enter("resourceMarker"),t.consume(f),t.exit("resourceMarker"),o}function o(f){return $r(f)?tb(t,s)(f):s(f)}function s(f){return f===41?d(f):cfe(t,a,i,"resourceDestination","resourceDestinationLiteral","resourceDestinationLiteralMarker","resourceDestinationRaw","resourceDestinationString",32)(f)}function a(f){return $r(f)?tb(t,l)(f):d(f)}function i(f){return n(f)}function l(f){return f===34||f===39||f===40?ffe(t,u,n,"resourceTitle","resourceTitleMarker","resourceTitleString")(f):d(f)}function u(f){return $r(f)?tb(t,d)(f):d(f)}function d(f){return f===41?(t.enter("resourceMarker"),t.consume(f),t.exit("resourceMarker"),t.exit("resource"),e):n(f)}}function fGe(t,e,n){const r=this;return o;function o(i){return ufe.call(r,t,s,a,"reference","referenceMarker","referenceString")(i)}function s(i){return r.parser.defined.includes(Yc(r.sliceSerialize(r.events[r.events.length-1][1]).slice(1,-1)))?e(i):n(i)}function a(i){return n(i)}}function dGe(t,e,n){return r;function r(s){return t.enter("reference"),t.enter("referenceMarker"),t.consume(s),t.exit("referenceMarker"),o}function o(s){return s===93?(t.enter("referenceMarker"),t.consume(s),t.exit("referenceMarker"),t.exit("reference"),e):n(s)}}const pGe={name:"labelStartImage",resolveAll:N7.resolveAll,tokenize:hGe};function hGe(t,e,n){const r=this;return o;function o(i){return t.enter("labelImage"),t.enter("labelImageMarker"),t.consume(i),t.exit("labelImageMarker"),s}function s(i){return i===91?(t.enter("labelMarker"),t.consume(i),t.exit("labelMarker"),t.exit("labelImage"),a):n(i)}function a(i){return i===94&&"_hiddenFootnoteSupport"in r.parser.constructs?n(i):e(i)}}const mGe={name:"labelStartLink",resolveAll:N7.resolveAll,tokenize:gGe};function gGe(t,e,n){const r=this;return o;function o(a){return t.enter("labelLink"),t.enter("labelMarker"),t.consume(a),t.exit("labelMarker"),t.exit("labelLink"),s}function s(a){return a===94&&"_hiddenFootnoteSupport"in r.parser.constructs?n(a):e(a)}}const EA={name:"lineEnding",tokenize:yGe};function yGe(t,e){return n;function n(r){return t.enter("lineEnding"),t.consume(r),t.exit("lineEnding"),ur(t,e,"linePrefix")}}const q3={name:"thematicBreak",tokenize:vGe};function vGe(t,e,n){let r=0,o;return s;function s(u){return t.enter("thematicBreak"),a(u)}function a(u){return o=u,i(u)}function i(u){return u===o?(t.enter("thematicBreakSequence"),l(u)):r>=3&&(u===null||xn(u))?(t.exit("thematicBreak"),e(u)):n(u)}function l(u){return u===o?(t.consume(u),r++,l):(t.exit("thematicBreakSequence"),er(u)?ur(t,i,"whitespace")(u):i(u))}}const bi={continuation:{tokenize:kGe},exit:CGe,name:"list",tokenize:xGe},wGe={partial:!0,tokenize:SGe},bGe={partial:!0,tokenize:jGe};function xGe(t,e,n){const r=this,o=r.events[r.events.length-1];let s=o&&o[1].type==="linePrefix"?o[2].sliceSerialize(o[1],!0).length:0,a=0;return i;function i(g){const w=r.containerState.type||(g===42||g===43||g===45?"listUnordered":"listOrdered");if(w==="listUnordered"?!r.containerState.marker||g===r.containerState.marker:wM(g)){if(r.containerState.type||(r.containerState.type=w,t.enter(w,{_container:!0})),w==="listUnordered")return t.enter("listItemPrefix"),g===42||g===45?t.check(q3,n,u)(g):u(g);if(!r.interrupt||g===49)return t.enter("listItemPrefix"),t.enter("listItemValue"),l(g)}return n(g)}function l(g){return wM(g)&&++a<10?(t.consume(g),l):(!r.interrupt||a<2)&&(r.containerState.marker?g===r.containerState.marker:g===41||g===46)?(t.exit("listItemValue"),u(g)):n(g)}function u(g){return t.enter("listItemMarker"),t.consume(g),t.exit("listItemMarker"),r.containerState.marker=r.containerState.marker||g,t.check(bx,r.interrupt?n:d,t.attempt(wGe,m,f))}function d(g){return r.containerState.initialBlankLine=!0,s++,m(g)}function f(g){return er(g)?(t.enter("listItemPrefixWhitespace"),t.consume(g),t.exit("listItemPrefixWhitespace"),m):n(g)}function m(g){return r.containerState.size=s+r.sliceSerialize(t.exit("listItemPrefix"),!0).length,e(g)}}function kGe(t,e,n){const r=this;return r.containerState._closeFlow=void 0,t.check(bx,o,s);function o(i){return r.containerState.furtherBlankLines=r.containerState.furtherBlankLines||r.containerState.initialBlankLine,ur(t,e,"listItemIndent",r.containerState.size+1)(i)}function s(i){return r.containerState.furtherBlankLines||!er(i)?(r.containerState.furtherBlankLines=void 0,r.containerState.initialBlankLine=void 0,a(i)):(r.containerState.furtherBlankLines=void 0,r.containerState.initialBlankLine=void 0,t.attempt(bGe,e,a)(i))}function a(i){return r.containerState._closeFlow=!0,r.interrupt=void 0,ur(t,t.attempt(bi,e,n),"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(i)}}function jGe(t,e,n){const r=this;return ur(t,o,"listItemIndent",r.containerState.size+1);function o(s){const a=r.events[r.events.length-1];return a&&a[1].type==="listItemIndent"&&a[2].sliceSerialize(a[1],!0).length===r.containerState.size?e(s):n(s)}}function CGe(t){t.exit(this.containerState.type)}function SGe(t,e,n){const r=this;return ur(t,o,"listItemPrefixWhitespace",r.parser.constructs.disable.null.includes("codeIndented")?void 0:5);function o(s){const a=r.events[r.events.length-1];return!er(s)&&a&&a[1].type==="listItemPrefixWhitespace"?e(s):n(s)}}const RG={name:"setextUnderline",resolveTo:EGe,tokenize:NGe};function EGe(t,e){let n=t.length,r,o,s;for(;n--;)if(t[n][0]==="enter"){if(t[n][1].type==="content"){r=n;break}t[n][1].type==="paragraph"&&(o=n)}else t[n][1].type==="content"&&t.splice(n,1),!s&&t[n][1].type==="definition"&&(s=n);const a={type:"setextHeading",start:{...t[r][1].start},end:{...t[t.length-1][1].end}};return t[o][1].type="setextHeadingText",s?(t.splice(o,0,["enter",a,e]),t.splice(s+1,0,["exit",t[r][1],e]),t[r][1].end={...t[s][1].end}):t[r][1]=a,t.push(["exit",a,e]),t}function NGe(t,e,n){const r=this;let o;return s;function s(u){let d=r.events.length,f;for(;d--;)if(r.events[d][1].type!=="lineEnding"&&r.events[d][1].type!=="linePrefix"&&r.events[d][1].type!=="content"){f=r.events[d][1].type==="paragraph";break}return!r.parser.lazy[r.now().line]&&(r.interrupt||f)?(t.enter("setextHeadingLine"),o=u,a(u)):n(u)}function a(u){return t.enter("setextHeadingLineSequence"),i(u)}function i(u){return u===o?(t.consume(u),i):(t.exit("setextHeadingLineSequence"),er(u)?ur(t,l,"lineSuffix")(u):l(u))}function l(u){return u===null||xn(u)?(t.exit("setextHeadingLine"),e(u)):n(u)}}const IGe={tokenize:AGe};function AGe(t){const e=this,n=t.attempt(bx,r,t.attempt(this.parser.constructs.flowInitial,o,ur(t,t.attempt(this.parser.constructs.flow,o,t.attempt(DYe,o)),"linePrefix")));return n;function r(s){if(s===null){t.consume(s);return}return t.enter("lineEndingBlank"),t.consume(s),t.exit("lineEndingBlank"),e.currentConstruct=void 0,n}function o(s){if(s===null){t.consume(s);return}return t.enter("lineEnding"),t.consume(s),t.exit("lineEnding"),e.currentConstruct=void 0,n}}const _Ge={resolveAll:pfe()},MGe=dfe("string"),RGe=dfe("text");function dfe(t){return{resolveAll:pfe(t==="text"?TGe:void 0),tokenize:e};function e(n){const r=this,o=this.parser.constructs[t],s=n.attempt(o,a,i);return a;function a(d){return u(d)?s(d):i(d)}function i(d){if(d===null){n.consume(d);return}return n.enter("data"),n.consume(d),l}function l(d){return u(d)?(n.exit("data"),s(d)):(n.consume(d),l)}function u(d){if(d===null)return!0;const f=o[d];let m=-1;if(f)for(;++m<f.length;){const g=f[m];if(!g.previous||g.previous.call(r,r.previous))return!0}return!1}}}function pfe(t){return e;function e(n,r){let o=-1,s;for(;++o<=n.length;)s===void 0?n[o]&&n[o][1].type==="data"&&(s=o,o++):(!n[o]||n[o][1].type!=="data")&&(o!==s+2&&(n[s][1].end=n[o-1][1].end,n.splice(s+2,o-s-2),o=s+2),s=void 0);return t?t(n,r):n}}function TGe(t,e){let n=0;for(;++n<=t.length;)if((n===t.length||t[n][1].type==="lineEnding")&&t[n-1][1].type==="data"){const r=t[n-1][1],o=e.sliceStream(r);let s=o.length,a=-1,i=0,l;for(;s--;){const u=o[s];if(typeof u=="string"){for(a=u.length;u.charCodeAt(a-1)===32;)i++,a--;if(a)break;a=-1}else if(u===-2)l=!0,i++;else if(u!==-1){s++;break}}if(e._contentTypeTextTrailing&&n===t.length&&(i=0),i){const u={type:n===t.length||l||i<2?"lineSuffix":"hardBreakTrailing",start:{_bufferIndex:s?a:r.start._bufferIndex+a,_index:r.start._index+s,line:r.end.line,column:r.end.column-i,offset:r.end.offset-i},end:{...r.end}};r.end={...u.start},r.start.offset===r.end.offset?Object.assign(r,u):(t.splice(n,0,["enter",u,e],["exit",u,e]),n+=2)}n++}return t}const DGe={42:bi,43:bi,45:bi,48:bi,49:bi,50:bi,51:bi,52:bi,53:bi,54:bi,55:bi,56:bi,57:bi,62:sfe},LGe={91:FYe},PGe={[-2]:SA,[-1]:SA,32:SA},OGe={35:WYe,42:q3,45:[RG,q3],60:KYe,61:RG,95:q3,96:_G,126:_G},zGe={38:ife,92:afe},FGe={[-5]:EA,[-4]:EA,[-3]:EA,33:pGe,38:ife,42:bM,60:[mYe,nGe],91:mGe,92:[VYe,afe],93:N7,95:bM,96:IYe},BGe={null:[bM,_Ge]},UGe={null:[42,95]},$Ge={null:[]},VGe=Object.freeze(Object.defineProperty({__proto__:null,attentionMarkers:UGe,contentInitial:LGe,disable:$Ge,document:DGe,flow:OGe,flowInitial:PGe,insideSpan:BGe,string:zGe,text:FGe},Symbol.toStringTag,{value:"Module"}));function HGe(t,e,n){let r={_bufferIndex:-1,_index:0,line:n&&n.line||1,column:n&&n.column||1,offset:n&&n.offset||0};const o={},s=[];let a=[],i=[];const l={attempt:L(D),check:L(O),consume:I,enter:N,exit:M,interrupt:L(O,{interrupt:!0})},u={code:null,containerState:{},defineSkip:b,events:[],now:w,parser:t,previous:null,sliceSerialize:m,sliceStream:g,write:f};let d=e.tokenize.call(u,l);return e.resolveAll&&s.push(e),u;function f(z){return a=Fl(a,z),j(),a[a.length-1]!==null?[]:(B(e,0),u.events=oE(s,u.events,u),u.events)}function m(z,Y){return YGe(g(z),Y)}function g(z){return WGe(a,z)}function w(){const{_bufferIndex:z,_index:Y,line:Q,column:W,offset:F}=r;return{_bufferIndex:z,_index:Y,line:Q,column:W,offset:F}}function b(z){o[z.line]=z.column,R()}function j(){let z;for(;r._index<a.length;){const Y=a[r._index];if(typeof Y=="string")for(z=r._index,r._bufferIndex<0&&(r._bufferIndex=0);r._index===z&&r._bufferIndex<Y.length;)S(Y.charCodeAt(r._bufferIndex));else S(Y)}}function S(z){d=d(z)}function I(z){xn(z)?(r.line++,r.column=1,r.offset+=z===-3?2:1,R()):z!==-1&&(r.column++,r.offset++),r._bufferIndex<0?r._index++:(r._bufferIndex++,r._bufferIndex===a[r._index].length&&(r._bufferIndex=-1,r._index++)),u.previous=z}function N(z,Y){const Q=Y||{};return Q.type=z,Q.start=w(),u.events.push(["enter",Q,u]),i.push(Q),Q}function M(z){const Y=i.pop();return Y.end=w(),u.events.push(["exit",Y,u]),Y}function D(z,Y){B(z,Y.from)}function O(z,Y){Y.restore()}function L(z,Y){return Q;function Q(W,F,X){let $,V,K,G;return Array.isArray(W)?ne(W):"tokenize"in W?ne([W]):J(W);function J(ve){return xe;function xe(ce){const pe=ce!==null&&ve[ce],me=ce!==null&&ve.null,ke=[...Array.isArray(pe)?pe:pe?[pe]:[],...Array.isArray(me)?me:me?[me]:[]];return ne(ke)(ce)}}function ne(ve){return $=ve,V=0,ve.length===0?X:re(ve[V])}function re(ve){return xe;function xe(ce){return G=T(),K=ve,ve.partial||(u.currentConstruct=ve),ve.name&&u.parser.constructs.disable.null.includes(ve.name)?Ne():ve.tokenize.call(Y?Object.assign(Object.create(u),Y):u,l,de,Ne)(ce)}}function de(ve){return z(K,G),F}function Ne(ve){return G.restore(),++V<$.length?re($[V]):X}}}function B(z,Y){z.resolveAll&&!s.includes(z)&&s.push(z),z.resolve&&cl(u.events,Y,u.events.length-Y,z.resolve(u.events.slice(Y),u)),z.resolveTo&&(u.events=z.resolveTo(u.events,u))}function T(){const z=w(),Y=u.previous,Q=u.currentConstruct,W=u.events.length,F=Array.from(i);return{from:W,restore:X};function X(){r=z,u.previous=Y,u.currentConstruct=Q,u.events.length=W,i=F,R()}}function R(){r.line in o&&r.column<2&&(r.column=o[r.line],r.offset+=o[r.line]-1)}}function WGe(t,e){const n=e.start._index,r=e.start._bufferIndex,o=e.end._index,s=e.end._bufferIndex;let a;if(n===o)a=[t[n].slice(r,s)];else{if(a=t.slice(n,o),r>-1){const i=a[0];typeof i=="string"?a[0]=i.slice(r):a.shift()}s>0&&a.push(t[o].slice(0,s))}return a}function YGe(t,e){let n=-1;const r=[];let o;for(;++n<t.length;){const s=t[n];let a;if(typeof s=="string")a=s;else switch(s){case-5:{a="\r";break}case-4:{a=`
2057 `;break}case-3:{a=`\r
2058 `;break}case-2:{a=e?" ":" ";break}case-1:{if(!e&&o)continue;a=" ";break}default:a=String.fromCharCode(s)}o=s===-2,r.push(a)}return r.join("")}function GGe(t){const r={constructs:rfe([VGe,...(t||{}).extensions||[]]),content:o(lYe),defined:[],document:o(uYe),flow:o(IGe),lazy:{},string:o(MGe),text:o(RGe)};return r;function o(s){return a;function a(i){return HGe(r,s,i)}}}function qGe(t){for(;!lfe(t););return t}const TG=/[\0\t\n\r]/g;function KGe(){let t=1,e="",n=!0,r;return o;function o(s,a,i){const l=[];let u,d,f,m,g;for(s=e+(typeof s=="string"?s.toString():new TextDecoder(a||void 0).decode(s)),f=0,e="",n&&(s.charCodeAt(0)===65279&&f++,n=void 0);f<s.length;){if(TG.lastIndex=f,u=TG.exec(s),m=u&&u.index!==void 0?u.index:s.length,g=s.charCodeAt(m),!u){e=s.slice(f);break}if(g===10&&f===m&&r)l.push(-3),r=void 0;else switch(r&&(l.push(-5),r=void 0),f<m&&(l.push(s.slice(f,m)),t+=m-f),g){case 0:{l.push(65533),t++;break}case 9:{for(d=Math.ceil(t/4)*4,l.push(-2);t++<d;)l.push(-1);break}case 10:{l.push(-4),t=1;break}default:r=!0,t=1}f=m+1}return i&&(r&&l.push(-5),e&&l.push(e),l.push(null)),l}}const ZGe=/\\([!-/:-@[-`{-~])|&(#(?:\d{1,7}|x[\da-f]{1,6})|[\da-z]{1,31});/gi;function QGe(t){return t.replace(ZGe,JGe)}function JGe(t,e,n){if(e)return e;if(n.charCodeAt(0)===35){const o=n.charCodeAt(1),s=o===120||o===88;return ofe(n.slice(s?2:1),s?16:10)}return E7(n)||t}const hfe={}.hasOwnProperty;function XGe(t,e,n){return typeof e!="string"&&(n=e,e=void 0),eqe(n)(qGe(GGe(n).document().write(KGe()(t,e,!0))))}function eqe(t){const e={transforms:[],canContainEols:["emphasis","fragment","heading","paragraph","strong"],enter:{autolink:s($e),autolinkProtocol:T,autolinkEmail:T,atxHeading:s(Ae),blockQuote:s(me),characterEscape:T,characterReference:T,codeFenced:s(ke),codeFencedFenceInfo:a,codeFencedFenceMeta:a,codeIndented:s(ke,a),codeText:s(le,a),codeTextData:T,data:T,codeFlowValue:T,definition:s(he),definitionDestinationString:a,definitionLabelString:a,definitionTitleString:a,emphasis:s(we),hardBreakEscape:s(Ve),hardBreakTrailing:s(Ve),htmlFlow:s(Ze,a),htmlFlowData:T,htmlText:s(Ze,a),htmlTextData:T,image:s(nt),label:a,link:s($e),listItem:s(Me),listItemValue:m,listOrdered:s(Ke,f),listUnordered:s(Ke),paragraph:s(et),reference:re,referenceString:a,resourceDestinationString:a,resourceTitleString:a,setextHeading:s(Ae),strong:s(pt),thematicBreak:s(st)},exit:{atxHeading:l(),atxHeadingSequence:D,autolink:l(),autolinkEmail:pe,autolinkProtocol:ce,blockQuote:l(),characterEscapeValue:R,characterReferenceMarkerHexadecimal:Ne,characterReferenceMarkerNumeric:Ne,characterReferenceValue:ve,characterReference:xe,codeFenced:l(j),codeFencedFence:b,codeFencedFenceInfo:g,codeFencedFenceMeta:w,codeFlowValue:R,codeIndented:l(S),codeText:l(F),codeTextData:R,data:R,definition:l(),definitionDestinationString:M,definitionLabelString:I,definitionTitleString:N,emphasis:l(),hardBreakEscape:l(Y),hardBreakTrailing:l(Y),htmlFlow:l(Q),htmlFlowData:R,htmlText:l(W),htmlTextData:R,image:l($),label:K,labelText:V,lineEnding:z,link:l(X),listItem:l(),listOrdered:l(),listUnordered:l(),paragraph:l(),referenceString:de,resourceDestinationString:G,resourceTitleString:J,resource:ne,setextHeading:l(B),setextHeadingLineSequence:L,setextHeadingText:O,strong:l(),thematicBreak:l()}};mfe(e,(t||{}).mdastExtensions||[]);const n={};return r;function r(De){let se={type:"root",children:[]};const q={stack:[se],tokenStack:[],config:e,enter:i,exit:u,buffer:a,resume:d,data:n},Z=[];let ie=-1;for(;++ie<De.length;)if(De[ie][1].type==="listOrdered"||De[ie][1].type==="listUnordered")if(De[ie][0]==="enter")Z.push(ie);else{const Ce=Z.pop();ie=o(De,Ce,ie)}for(ie=-1;++ie<De.length;){const Ce=e[De[ie][0]];hfe.call(Ce,De[ie][1].type)&&Ce[De[ie][1].type].call(Object.assign({sliceSerialize:De[ie][2].sliceSerialize},q),De[ie][1])}if(q.tokenStack.length>0){const Ce=q.tokenStack[q.tokenStack.length-1];(Ce[1]||DG).call(q,void 0,Ce[0])}for(se.position={start:fp(De.length>0?De[0][1].start:{line:1,column:1,offset:0}),end:fp(De.length>0?De[De.length-2][1].end:{line:1,column:1,offset:0})},ie=-1;++ie<e.transforms.length;)se=e.transforms[ie](se)||se;return se}function o(De,se,q){let Z=se-1,ie=-1,Ce=!1,Te,Se,ye,We;for(;++Z<=q;){const Ee=De[Z];switch(Ee[1].type){case"listUnordered":case"listOrdered":case"blockQuote":{Ee[0]==="enter"?ie++:ie--,We=void 0;break}case"lineEndingBlank":{Ee[0]==="enter"&&(Te&&!We&&!ie&&!ye&&(ye=Z),We=void 0);break}case"linePrefix":case"listItemValue":case"listItemMarker":case"listItemPrefix":case"listItemPrefixWhitespace":break;default:We=void 0}if(!ie&&Ee[0]==="enter"&&Ee[1].type==="listItemPrefix"||ie===-1&&Ee[0]==="exit"&&(Ee[1].type==="listUnordered"||Ee[1].type==="listOrdered")){if(Te){let Pe=Z;for(Se=void 0;Pe--;){const Qe=De[Pe];if(Qe[1].type==="lineEnding"||Qe[1].type==="lineEndingBlank"){if(Qe[0]==="exit")continue;Se&&(De[Se][1].type="lineEndingBlank",Ce=!0),Qe[1].type="lineEnding",Se=Pe}else if(!(Qe[1].type==="linePrefix"||Qe[1].type==="blockQuotePrefix"||Qe[1].type==="blockQuotePrefixWhitespace"||Qe[1].type==="blockQuoteMarker"||Qe[1].type==="listItemIndent"))break}ye&&(!Se||ye<Se)&&(Te._spread=!0),Te.end=Object.assign({},Se?De[Se][1].start:Ee[1].end),De.splice(Se||Z,0,["exit",Te,Ee[2]]),Z++,q++}if(Ee[1].type==="listItemPrefix"){const Pe={type:"listItem",_spread:!1,start:Object.assign({},Ee[1].start),end:void 0};Te=Pe,De.splice(Z,0,["enter",Pe,Ee[2]]),Z++,q++,ye=void 0,We=!0}}}return De[se][1]._spread=Ce,q}function s(De,se){return q;function q(Z){i.call(this,De(Z),Z),se&&se.call(this,Z)}}function a(){this.stack.push({type:"fragment",children:[]})}function i(De,se,q){this.stack[this.stack.length-1].children.push(De),this.stack.push(De),this.tokenStack.push([se,q||void 0]),De.position={start:fp(se.start),end:void 0}}function l(De){return se;function se(q){De&&De.call(this,q),u.call(this,q)}}function u(De,se){const q=this.stack.pop(),Z=this.tokenStack.pop();if(Z)Z[0].type!==De.type&&(se?se.call(this,De,Z[0]):(Z[1]||DG).call(this,De,Z[0]));else throw new Error("Cannot close `"+De.type+"` ("+eb({start:De.start,end:De.end})+"): it’s not open");q.position.end=fp(De.end)}function d(){return S7(this.stack.pop())}function f(){this.data.expectingFirstListItemValue=!0}function m(De){if(this.data.expectingFirstListItemValue){const se=this.stack[this.stack.length-2];se.start=Number.parseInt(this.sliceSerialize(De),10),this.data.expectingFirstListItemValue=void 0}}function g(){const De=this.resume(),se=this.stack[this.stack.length-1];se.lang=De}function w(){const De=this.resume(),se=this.stack[this.stack.length-1];se.meta=De}function b(){this.data.flowCodeInside||(this.buffer(),this.data.flowCodeInside=!0)}function j(){const De=this.resume(),se=this.stack[this.stack.length-1];se.value=De.replace(/^(\r?\n|\r)|(\r?\n|\r)$/g,""),this.data.flowCodeInside=void 0}function S(){const De=this.resume(),se=this.stack[this.stack.length-1];se.value=De.replace(/(\r?\n|\r)$/g,"")}function I(De){const se=this.resume(),q=this.stack[this.stack.length-1];q.label=se,q.identifier=Yc(this.sliceSerialize(De)).toLowerCase()}function N(){const De=this.resume(),se=this.stack[this.stack.length-1];se.title=De}function M(){const De=this.resume(),se=this.stack[this.stack.length-1];se.url=De}function D(De){const se=this.stack[this.stack.length-1];if(!se.depth){const q=this.sliceSerialize(De).length;se.depth=q}}function O(){this.data.setextHeadingSlurpLineEnding=!0}function L(De){const se=this.stack[this.stack.length-1];se.depth=this.sliceSerialize(De).codePointAt(0)===61?1:2}function B(){this.data.setextHeadingSlurpLineEnding=void 0}function T(De){const q=this.stack[this.stack.length-1].children;let Z=q[q.length-1];(!Z||Z.type!=="text")&&(Z=ht(),Z.position={start:fp(De.start),end:void 0},q.push(Z)),this.stack.push(Z)}function R(De){const se=this.stack.pop();se.value+=this.sliceSerialize(De),se.position.end=fp(De.end)}function z(De){const se=this.stack[this.stack.length-1];if(this.data.atHardBreak){const q=se.children[se.children.length-1];q.position.end=fp(De.end),this.data.atHardBreak=void 0;return}!this.data.setextHeadingSlurpLineEnding&&e.canContainEols.includes(se.type)&&(T.call(this,De),R.call(this,De))}function Y(){this.data.atHardBreak=!0}function Q(){const De=this.resume(),se=this.stack[this.stack.length-1];se.value=De}function W(){const De=this.resume(),se=this.stack[this.stack.length-1];se.value=De}function F(){const De=this.resume(),se=this.stack[this.stack.length-1];se.value=De}function X(){const De=this.stack[this.stack.length-1];if(this.data.inReference){const se=this.data.referenceType||"shortcut";De.type+="Reference",De.referenceType=se,delete De.url,delete De.title}else delete De.identifier,delete De.label;this.data.referenceType=void 0}function $(){const De=this.stack[this.stack.length-1];if(this.data.inReference){const se=this.data.referenceType||"shortcut";De.type+="Reference",De.referenceType=se,delete De.url,delete De.title}else delete De.identifier,delete De.label;this.data.referenceType=void 0}function V(De){const se=this.sliceSerialize(De),q=this.stack[this.stack.length-2];q.label=QGe(se),q.identifier=Yc(se).toLowerCase()}function K(){const De=this.stack[this.stack.length-1],se=this.resume(),q=this.stack[this.stack.length-1];if(this.data.inReference=!0,q.type==="link"){const Z=De.children;q.children=Z}else q.alt=se}function G(){const De=this.resume(),se=this.stack[this.stack.length-1];se.url=De}function J(){const De=this.resume(),se=this.stack[this.stack.length-1];se.title=De}function ne(){this.data.inReference=void 0}function re(){this.data.referenceType="collapsed"}function de(De){const se=this.resume(),q=this.stack[this.stack.length-1];q.label=se,q.identifier=Yc(this.sliceSerialize(De)).toLowerCase(),this.data.referenceType="full"}function Ne(De){this.data.characterReferenceType=De.type}function ve(De){const se=this.sliceSerialize(De),q=this.data.characterReferenceType;let Z;q?(Z=ofe(se,q==="characterReferenceMarkerNumeric"?10:16),this.data.characterReferenceType=void 0):Z=E7(se);const ie=this.stack[this.stack.length-1];ie.value+=Z}function xe(De){const se=this.stack.pop();se.position.end=fp(De.end)}function ce(De){R.call(this,De);const se=this.stack[this.stack.length-1];se.url=this.sliceSerialize(De)}function pe(De){R.call(this,De);const se=this.stack[this.stack.length-1];se.url="mailto:"+this.sliceSerialize(De)}function me(){return{type:"blockquote",children:[]}}function ke(){return{type:"code",lang:null,meta:null,value:""}}function le(){return{type:"inlineCode",value:""}}function he(){return{type:"definition",identifier:"",label:null,title:null,url:""}}function we(){return{type:"emphasis",children:[]}}function Ae(){return{type:"heading",depth:0,children:[]}}function Ve(){return{type:"break"}}function Ze(){return{type:"html",value:""}}function nt(){return{type:"image",title:null,url:"",alt:null}}function $e(){return{type:"link",title:null,url:"",children:[]}}function Ke(De){return{type:"list",ordered:De.type==="listOrdered",start:null,spread:De._spread,children:[]}}function Me(De){return{type:"listItem",spread:De._spread,checked:null,children:[]}}function et(){return{type:"paragraph",children:[]}}function pt(){return{type:"strong",children:[]}}function ht(){return{type:"text",value:""}}function st(){return{type:"thematicBreak"}}}function fp(t){return{line:t.line,column:t.column,offset:t.offset}}function mfe(t,e){let n=-1;for(;++n<e.length;){const r=e[n];Array.isArray(r)?mfe(t,r):tqe(t,r)}}function tqe(t,e){let n;for(n in e)if(hfe.call(e,n))switch(n){case"canContainEols":{const r=e[n];r&&t[n].push(...r);break}case"transforms":{const r=e[n];r&&t[n].push(...r);break}case"enter":case"exit":{const r=e[n];r&&Object.assign(t[n],r);break}}}function DG(t,e){throw t?new Error("Cannot close `"+t.type+"` ("+eb({start:t.start,end:t.end})+"): a different token (`"+e.type+"`, "+eb({start:e.start,end:e.end})+") is open"):new Error("Cannot close document, a token (`"+e.type+"`, "+eb({start:e.start,end:e.end})+") is still open")}function nqe(t){const e=this;e.parser=n;function n(r){return XGe(r,{...e.data("settings"),...t,extensions:e.data("micromarkExtensions")||[],mdastExtensions:e.data("fromMarkdownExtensions")||[]})}}function rqe(t,e){const n={type:"element",tagName:"blockquote",properties:{},children:t.wrap(t.all(e),!0)};return t.patch(e,n),t.applyData(e,n)}function oqe(t,e){const n={type:"element",tagName:"br",properties:{},children:[]};return t.patch(e,n),[t.applyData(e,n),{type:"text",value:`
2059 `}]}function sqe(t,e){const n=e.value?e.value+`
2060 `:"",r={},o=e.lang?e.lang.split(/\s+/):[];o.length>0&&(r.className=["language-"+o[0]]);let s={type:"element",tagName:"code",properties:r,children:[{type:"text",value:n}]};return e.meta&&(s.data={meta:e.meta}),t.patch(e,s),s=t.applyData(e,s),s={type:"element",tagName:"pre",properties:{},children:[s]},t.patch(e,s),s}function aqe(t,e){const n={type:"element",tagName:"del",properties:{},children:t.all(e)};return t.patch(e,n),t.applyData(e,n)}function iqe(t,e){const n={type:"element",tagName:"em",properties:{},children:t.all(e)};return t.patch(e,n),t.applyData(e,n)}function lqe(t,e){const n=typeof t.options.clobberPrefix=="string"?t.options.clobberPrefix:"user-content-",r=String(e.identifier).toUpperCase(),o=av(r.toLowerCase()),s=t.footnoteOrder.indexOf(r);let a,i=t.footnoteCounts.get(r);i===void 0?(i=0,t.footnoteOrder.push(r),a=t.footnoteOrder.length):a=s+1,i+=1,t.footnoteCounts.set(r,i);const l={type:"element",tagName:"a",properties:{href:"#"+n+"fn-"+o,id:n+"fnref-"+o+(i>1?"-"+i:""),dataFootnoteRef:!0,ariaDescribedBy:["footnote-label"]},children:[{type:"text",value:String(a)}]};t.patch(e,l);const u={type:"element",tagName:"sup",properties:{},children:[l]};return t.patch(e,u),t.applyData(e,u)}function cqe(t,e){const n={type:"element",tagName:"h"+e.depth,properties:{},children:t.all(e)};return t.patch(e,n),t.applyData(e,n)}function uqe(t,e){if(t.options.allowDangerousHtml){const n={type:"raw",value:e.value};return t.patch(e,n),t.applyData(e,n)}}function gfe(t,e){const n=e.referenceType;let r="]";if(n==="collapsed"?r+="[]":n==="full"&&(r+="["+(e.label||e.identifier)+"]"),e.type==="imageReference")return[{type:"text",value:"!["+e.alt+r}];const o=t.all(e),s=o[0];s&&s.type==="text"?s.value="["+s.value:o.unshift({type:"text",value:"["});const a=o[o.length-1];return a&&a.type==="text"?a.value+=r:o.push({type:"text",value:r}),o}function fqe(t,e){const n=String(e.identifier).toUpperCase(),r=t.definitionById.get(n);if(!r)return gfe(t,e);const o={src:av(r.url||""),alt:e.alt};r.title!==null&&r.title!==void 0&&(o.title=r.title);const s={type:"element",tagName:"img",properties:o,children:[]};return t.patch(e,s),t.applyData(e,s)}function dqe(t,e){const n={src:av(e.url)};e.alt!==null&&e.alt!==void 0&&(n.alt=e.alt),e.title!==null&&e.title!==void 0&&(n.title=e.title);const r={type:"element",tagName:"img",properties:n,children:[]};return t.patch(e,r),t.applyData(e,r)}function pqe(t,e){const n={type:"text",value:e.value.replace(/\r?\n|\r/g," ")};t.patch(e,n);const r={type:"element",tagName:"code",properties:{},children:[n]};return t.patch(e,r),t.applyData(e,r)}function hqe(t,e){const n=String(e.identifier).toUpperCase(),r=t.definitionById.get(n);if(!r)return gfe(t,e);const o={href:av(r.url||"")};r.title!==null&&r.title!==void 0&&(o.title=r.title);const s={type:"element",tagName:"a",properties:o,children:t.all(e)};return t.patch(e,s),t.applyData(e,s)}function mqe(t,e){const n={href:av(e.url)};e.title!==null&&e.title!==void 0&&(n.title=e.title);const r={type:"element",tagName:"a",properties:n,children:t.all(e)};return t.patch(e,r),t.applyData(e,r)}function gqe(t,e,n){const r=t.all(e),o=n?yqe(n):yfe(e),s={},a=[];if(typeof e.checked=="boolean"){const d=r[0];let f;d&&d.type==="element"&&d.tagName==="p"?f=d:(f={type:"element",tagName:"p",properties:{},children:[]},r.unshift(f)),f.children.length>0&&f.children.unshift({type:"text",value:" "}),f.children.unshift({type:"element",tagName:"input",properties:{type:"checkbox",checked:e.checked,disabled:!0},children:[]}),s.className=["task-list-item"]}let i=-1;for(;++i<r.length;){const d=r[i];(o||i!==0||d.type!=="element"||d.tagName!=="p")&&a.push({type:"text",value:`
2061 `}),d.type==="element"&&d.tagName==="p"&&!o?a.push(...d.children):a.push(d)}const l=r[r.length-1];l&&(o||l.type!=="element"||l.tagName!=="p")&&a.push({type:"text",value:`
2062 `});const u={type:"element",tagName:"li",properties:s,children:a};return t.patch(e,u),t.applyData(e,u)}function yqe(t){let e=!1;if(t.type==="list"){e=t.spread||!1;const n=t.children;let r=-1;for(;!e&&++r<n.length;)e=yfe(n[r])}return e}function yfe(t){const e=t.spread;return e??t.children.length>1}function vqe(t,e){const n={},r=t.all(e);let o=-1;for(typeof e.start=="number"&&e.start!==1&&(n.start=e.start);++o<r.length;){const a=r[o];if(a.type==="element"&&a.tagName==="li"&&a.properties&&Array.isArray(a.properties.className)&&a.properties.className.includes("task-list-item")){n.className=["contains-task-list"];break}}const s={type:"element",tagName:e.ordered?"ol":"ul",properties:n,children:t.wrap(r,!0)};return t.patch(e,s),t.applyData(e,s)}function wqe(t,e){const n={type:"element",tagName:"p",properties:{},children:t.all(e)};return t.patch(e,n),t.applyData(e,n)}function bqe(t,e){const n={type:"root",children:t.wrap(t.all(e))};return t.patch(e,n),t.applyData(e,n)}function xqe(t,e){const n={type:"element",tagName:"strong",properties:{},children:t.all(e)};return t.patch(e,n),t.applyData(e,n)}function kqe(t,e){const n=t.all(e),r=n.shift(),o=[];if(r){const a={type:"element",tagName:"thead",properties:{},children:t.wrap([r],!0)};t.patch(e.children[0],a),o.push(a)}if(n.length>0){const a={type:"element",tagName:"tbody",properties:{},children:t.wrap(n,!0)},i=x7(e.children[1]),l=Zue(e.children[e.children.length-1]);i&&l&&(a.position={start:i,end:l}),o.push(a)}const s={type:"element",tagName:"table",properties:{},children:t.wrap(o,!0)};return t.patch(e,s),t.applyData(e,s)}function jqe(t,e,n){const r=n?n.children:void 0,s=(r?r.indexOf(e):1)===0?"th":"td",a=n&&n.type==="table"?n.align:void 0,i=a?a.length:e.children.length;let l=-1;const u=[];for(;++l<i;){const f=e.children[l],m={},g=a?a[l]:void 0;g&&(m.align=g);let w={type:"element",tagName:s,properties:m,children:[]};f&&(w.children=t.all(f),t.patch(f,w),w=t.applyData(f,w)),u.push(w)}const d={type:"element",tagName:"tr",properties:{},children:t.wrap(u,!0)};return t.patch(e,d),t.applyData(e,d)}function Cqe(t,e){const n={type:"element",tagName:"td",properties:{},children:t.all(e)};return t.patch(e,n),t.applyData(e,n)}const LG=9,PG=32;function Sqe(t){const e=String(t),n=/\r?\n|\r/g;let r=n.exec(e),o=0;const s=[];for(;r;)s.push(OG(e.slice(o,r.index),o>0,!0),r[0]),o=r.index+r[0].length,r=n.exec(e);return s.push(OG(e.slice(o),o>0,!1)),s.join("")}function OG(t,e,n){let r=0,o=t.length;if(e){let s=t.codePointAt(r);for(;s===LG||s===PG;)r++,s=t.codePointAt(r)}if(n){let s=t.codePointAt(o-1);for(;s===LG||s===PG;)o--,s=t.codePointAt(o-1)}return o>r?t.slice(r,o):""}function Eqe(t,e){const n={type:"text",value:Sqe(String(e.value))};return t.patch(e,n),t.applyData(e,n)}function Nqe(t,e){const n={type:"element",tagName:"hr",properties:{},children:[]};return t.patch(e,n),t.applyData(e,n)}const Iqe={blockquote:rqe,break:oqe,code:sqe,delete:aqe,emphasis:iqe,footnoteReference:lqe,heading:cqe,html:uqe,imageReference:fqe,image:dqe,inlineCode:pqe,linkReference:hqe,link:mqe,listItem:gqe,list:vqe,paragraph:wqe,root:bqe,strong:xqe,table:kqe,tableCell:Cqe,tableRow:jqe,text:Eqe,thematicBreak:Nqe,toml:B6,yaml:B6,definition:B6,footnoteDefinition:B6};function B6(){}const vfe=-1,sE=0,nb=1,vj=2,I7=3,A7=4,_7=5,M7=6,wfe=7,bfe=8,zG=typeof self=="object"?self:globalThis,Aqe=(t,e)=>{const n=(o,s)=>(t.set(s,o),o),r=o=>{if(t.has(o))return t.get(o);const[s,a]=e[o];switch(s){case sE:case vfe:return n(a,o);case nb:{const i=n([],o);for(const l of a)i.push(r(l));return i}case vj:{const i=n({},o);for(const[l,u]of a)i[r(l)]=r(u);return i}case I7:return n(new Date(a),o);case A7:{const{source:i,flags:l}=a;return n(new RegExp(i,l),o)}case _7:{const i=n(new Map,o);for(const[l,u]of a)i.set(r(l),r(u));return i}case M7:{const i=n(new Set,o);for(const l of a)i.add(r(l));return i}case wfe:{const{name:i,message:l}=a;return n(new zG[i](l),o)}case bfe:return n(BigInt(a),o);case"BigInt":return n(Object(BigInt(a)),o);case"ArrayBuffer":return n(new Uint8Array(a).buffer,a);case"DataView":{const{buffer:i}=new Uint8Array(a);return n(new DataView(i),a)}}return n(new zG[s](a),o)};return r},FG=t=>Aqe(new Map,t)(0),e0="",{toString:_qe}={},{keys:Mqe}=Object,Cw=t=>{const e=typeof t;if(e!=="object"||!t)return[sE,e];const n=_qe.call(t).slice(8,-1);switch(n){case"Array":return[nb,e0];case"Object":return[vj,e0];case"Date":return[I7,e0];case"RegExp":return[A7,e0];case"Map":return[_7,e0];case"Set":return[M7,e0];case"DataView":return[nb,n]}return n.includes("Array")?[nb,n]:n.includes("Error")?[wfe,n]:[vj,n]},U6=([t,e])=>t===sE&&(e==="function"||e==="symbol"),Rqe=(t,e,n,r)=>{const o=(a,i)=>{const l=r.push(a)-1;return n.set(i,l),l},s=a=>{if(n.has(a))return n.get(a);let[i,l]=Cw(a);switch(i){case sE:{let d=a;switch(l){case"bigint":i=bfe,d=a.toString();break;case"function":case"symbol":if(t)throw new TypeError("unable to serialize "+l);d=null;break;case"undefined":return o([vfe],a)}return o([i,d],a)}case nb:{if(l){let m=a;return l==="DataView"?m=new Uint8Array(a.buffer):l==="ArrayBuffer"&&(m=new Uint8Array(a)),o([l,[...m]],a)}const d=[],f=o([i,d],a);for(const m of a)d.push(s(m));return f}case vj:{if(l)switch(l){case"BigInt":return o([l,a.toString()],a);case"Boolean":case"Number":case"String":return o([l,a.valueOf()],a)}if(e&&"toJSON"in a)return s(a.toJSON());const d=[],f=o([i,d],a);for(const m of Mqe(a))(t||!U6(Cw(a[m])))&&d.push([s(m),s(a[m])]);return f}case I7:return o([i,a.toISOString()],a);case A7:{const{source:d,flags:f}=a;return o([i,{source:d,flags:f}],a)}case _7:{const d=[],f=o([i,d],a);for(const[m,g]of a)(t||!(U6(Cw(m))||U6(Cw(g))))&&d.push([s(m),s(g)]);return f}case M7:{const d=[],f=o([i,d],a);for(const m of a)(t||!U6(Cw(m)))&&d.push(s(m));return f}}const{message:u}=a;return o([i,{name:l,message:u}],a)};return s},BG=(t,{json:e,lossy:n}={})=>{const r=[];return Rqe(!(e||n),!!e,new Map,r)(t),r},wj=typeof structuredClone=="function"?(t,e)=>e&&("json"in e||"lossy"in e)?FG(BG(t,e)):structuredClone(t):(t,e)=>FG(BG(t,e));function Tqe(t,e){const n=[{type:"text",value:"↩"}];return e>1&&n.push({type:"element",tagName:"sup",properties:{},children:[{type:"text",value:String(e)}]}),n}function Dqe(t,e){return"Back to reference "+(t+1)+(e>1?"-"+e:"")}function Lqe(t){const e=typeof t.options.clobberPrefix=="string"?t.options.clobberPrefix:"user-content-",n=t.options.footnoteBackContent||Tqe,r=t.options.footnoteBackLabel||Dqe,o=t.options.footnoteLabel||"Footnotes",s=t.options.footnoteLabelTagName||"h2",a=t.options.footnoteLabelProperties||{className:["sr-only"]},i=[];let l=-1;for(;++l<t.footnoteOrder.length;){const u=t.footnoteById.get(t.footnoteOrder[l]);if(!u)continue;const d=t.all(u),f=String(u.identifier).toUpperCase(),m=av(f.toLowerCase());let g=0;const w=[],b=t.footnoteCounts.get(f);for(;b!==void 0&&++g<=b;){w.length>0&&w.push({type:"text",value:" "});let I=typeof n=="string"?n:n(l,g);typeof I=="string"&&(I={type:"text",value:I}),w.push({type:"element",tagName:"a",properties:{href:"#"+e+"fnref-"+m+(g>1?"-"+g:""),dataFootnoteBackref:"",ariaLabel:typeof r=="string"?r:r(l,g),className:["data-footnote-backref"]},children:Array.isArray(I)?I:[I]})}const j=d[d.length-1];if(j&&j.type==="element"&&j.tagName==="p"){const I=j.children[j.children.length-1];I&&I.type==="text"?I.value+=" ":j.children.push({type:"text",value:" "}),j.children.push(...w)}else d.push(...w);const S={type:"element",tagName:"li",properties:{id:e+"fn-"+m},children:t.wrap(d,!0)};t.patch(u,S),i.push(S)}if(i.length!==0)return{type:"element",tagName:"section",properties:{dataFootnotes:!0,className:["footnotes"]},children:[{type:"element",tagName:s,properties:{...wj(a),id:"footnote-label"},children:[{type:"text",value:o}]},{type:"text",value:`
2063 `},{type:"element",tagName:"ol",properties:{},children:t.wrap(i,!0)},{type:"text",value:`
2064 `}]}}const aE=(function(t){if(t==null)return Fqe;if(typeof t=="function")return iE(t);if(typeof t=="object")return Array.isArray(t)?Pqe(t):Oqe(t);if(typeof t=="string")return zqe(t);throw new Error("Expected function, string, or object as test")});function Pqe(t){const e=[];let n=-1;for(;++n<t.length;)e[n]=aE(t[n]);return iE(r);function r(...o){let s=-1;for(;++s<e.length;)if(e[s].apply(this,o))return!0;return!1}}function Oqe(t){const e=t;return iE(n);function n(r){const o=r;let s;for(s in t)if(o[s]!==e[s])return!1;return!0}}function zqe(t){return iE(e);function e(n){return n&&n.type===t}}function iE(t){return e;function e(n,r,o){return!!(Bqe(n)&&t.call(this,n,typeof r=="number"?r:void 0,o||void 0))}}function Fqe(){return!0}function Bqe(t){return t!==null&&typeof t=="object"&&"type"in t}const xfe=[],Uqe=!0,xM=!1,$qe="skip";function kfe(t,e,n,r){let o;typeof e=="function"&&typeof n!="function"?(r=n,n=e):o=e;const s=aE(o),a=r?-1:1;i(t,void 0,[])();function i(l,u,d){const f=l&&typeof l=="object"?l:{};if(typeof f.type=="string"){const g=typeof f.tagName=="string"?f.tagName:typeof f.name=="string"?f.name:void 0;Object.defineProperty(m,"name",{value:"node ("+(l.type+(g?"<"+g+">":""))+")"})}return m;function m(){let g=xfe,w,b,j;if((!e||s(l,u,d[d.length-1]||void 0))&&(g=Vqe(n(l,d)),g[0]===xM))return g;if("children"in l&&l.children){const S=l;if(S.children&&g[0]!==$qe)for(b=(r?S.children.length:-1)+a,j=d.concat(S);b>-1&&b<S.children.length;){const I=S.children[b];if(w=i(I,b,j)(),w[0]===xM)return w;b=typeof w[1]=="number"?w[1]:b+a}}return g}}}function Vqe(t){return Array.isArray(t)?t:typeof t=="number"?[Uqe,t]:t==null?xfe:[t]}function lE(t,e,n,r){let o,s,a;typeof e=="function"&&typeof n!="function"?(s=void 0,a=e,o=n):(s=e,a=n,o=r),kfe(t,s,i,o);function i(l,u){const d=u[u.length-1],f=d?d.children.indexOf(l):void 0;return a(l,f,d)}}const kM={}.hasOwnProperty,Hqe={};function Wqe(t,e){const n=e||Hqe,r=new Map,o=new Map,s=new Map,a={...Iqe,...n.handlers},i={all:u,applyData:Gqe,definitionById:r,footnoteById:o,footnoteCounts:s,footnoteOrder:[],handlers:a,one:l,options:n,patch:Yqe,wrap:Kqe};return lE(t,function(d){if(d.type==="definition"||d.type==="footnoteDefinition"){const f=d.type==="definition"?r:o,m=String(d.identifier).toUpperCase();f.has(m)||f.set(m,d)}}),i;function l(d,f){const m=d.type,g=i.handlers[m];if(kM.call(i.handlers,m)&&g)return g(i,d,f);if(i.options.passThrough&&i.options.passThrough.includes(m)){if("children"in d){const{children:b,...j}=d,S=wj(j);return S.children=i.all(d),S}return wj(d)}return(i.options.unknownHandler||qqe)(i,d,f)}function u(d){const f=[];if("children"in d){const m=d.children;let g=-1;for(;++g<m.length;){const w=i.one(m[g],d);if(w){if(g&&m[g-1].type==="break"&&(!Array.isArray(w)&&w.type==="text"&&(w.value=UG(w.value)),!Array.isArray(w)&&w.type==="element")){const b=w.children[0];b&&b.type==="text"&&(b.value=UG(b.value))}Array.isArray(w)?f.push(...w):f.push(w)}}}return f}}function Yqe(t,e){t.position&&(e.position=DWe(t))}function Gqe(t,e){let n=e;if(t&&t.data){const r=t.data.hName,o=t.data.hChildren,s=t.data.hProperties;if(typeof r=="string")if(n.type==="element")n.tagName=r;else{const a="children"in n?n.children:[n];n={type:"element",tagName:r,properties:{},children:a}}n.type==="element"&&s&&Object.assign(n.properties,wj(s)),"children"in n&&n.children&&o!==null&&o!==void 0&&(n.children=o)}return n}function qqe(t,e){const n=e.data||{},r="value"in e&&!(kM.call(n,"hProperties")||kM.call(n,"hChildren"))?{type:"text",value:e.value}:{type:"element",tagName:"div",properties:{},children:t.all(e)};return t.patch(e,r),t.applyData(e,r)}function Kqe(t,e){const n=[];let r=-1;for(e&&n.push({type:"text",value:`
2065 `});++r<t.length;)r&&n.push({type:"text",value:`
2066 `}),n.push(t[r]);return e&&t.length>0&&n.push({type:"text",value:`
2067 `}),n}function UG(t){let e=0,n=t.charCodeAt(e);for(;n===9||n===32;)e++,n=t.charCodeAt(e);return t.slice(e)}function $G(t,e){const n=Wqe(t,e),r=n.one(t,void 0),o=Lqe(n),s=Array.isArray(r)?{type:"root",children:r}:r||{type:"root",children:[]};return o&&s.children.push({type:"text",value:`
2068 `},o),s}function Zqe(t,e){return t&&"run"in t?async function(n,r){const o=$G(n,{file:r,...e});await t.run(o,r)}:function(n,r){return $G(n,{file:r,...t||e})}}function VG(t){if(t)throw t}var NA,HG;function Qqe(){if(HG)return NA;HG=1;var t=Object.prototype.hasOwnProperty,e=Object.prototype.toString,n=Object.defineProperty,r=Object.getOwnPropertyDescriptor,o=function(u){return typeof Array.isArray=="function"?Array.isArray(u):e.call(u)==="[object Array]"},s=function(u){if(!u||e.call(u)!=="[object Object]")return!1;var d=t.call(u,"constructor"),f=u.constructor&&u.constructor.prototype&&t.call(u.constructor.prototype,"isPrototypeOf");if(u.constructor&&!d&&!f)return!1;var m;for(m in u);return typeof m>"u"||t.call(u,m)},a=function(u,d){n&&d.name==="__proto__"?n(u,d.name,{enumerable:!0,configurable:!0,value:d.newValue,writable:!0}):u[d.name]=d.newValue},i=function(u,d){if(d==="__proto__")if(t.call(u,d)){if(r)return r(u,d).value}else return;return u[d]};return NA=function l(){var u,d,f,m,g,w,b=arguments[0],j=1,S=arguments.length,I=!1;for(typeof b=="boolean"&&(I=b,b=arguments[1]||{},j=2),(b==null||typeof b!="object"&&typeof b!="function")&&(b={});j<S;++j)if(u=arguments[j],u!=null)for(d in u)f=i(b,d),m=i(u,d),b!==m&&(I&&m&&(s(m)||(g=o(m)))?(g?(g=!1,w=f&&o(f)?f:[]):w=f&&s(f)?f:{},a(b,{name:d,newValue:l(I,w,m)})):typeof m<"u"&&a(b,{name:d,newValue:m}));return b},NA}var Jqe=Qqe();const IA=rc(Jqe);function jM(t){if(typeof t!="object"||t===null)return!1;const e=Object.getPrototypeOf(t);return(e===null||e===Object.prototype||Object.getPrototypeOf(e)===null)&&!(Symbol.toStringTag in t)&&!(Symbol.iterator in t)}function Xqe(){const t=[],e={run:n,use:r};return e;function n(...o){let s=-1;const a=o.pop();if(typeof a!="function")throw new TypeError("Expected function as last argument, not "+a);i(null,...o);function i(l,...u){const d=t[++s];let f=-1;if(l){a(l);return}for(;++f<o.length;)(u[f]===null||u[f]===void 0)&&(u[f]=o[f]);o=u,d?eKe(d,i)(...u):a(null,...u)}}function r(o){if(typeof o!="function")throw new TypeError("Expected `middelware` to be a function, not "+o);return t.push(o),e}}function eKe(t,e){let n;return r;function r(...a){const i=t.length>a.length;let l;i&&a.push(o);try{l=t.apply(this,a)}catch(u){const d=u;if(i&&n)throw d;return o(d)}i||(l&&l.then&&typeof l.then=="function"?l.then(s,o):l instanceof Error?o(l):s(l))}function o(a,...i){n||(n=!0,e(a,...i))}function s(a){o(null,a)}}const _u={basename:tKe,dirname:nKe,extname:rKe,join:oKe,sep:"/"};function tKe(t,e){if(e!==void 0&&typeof e!="string")throw new TypeError('"ext" argument must be a string');xx(t);let n=0,r=-1,o=t.length,s;if(e===void 0||e.length===0||e.length>t.length){for(;o--;)if(t.codePointAt(o)===47){if(s){n=o+1;break}}else r<0&&(s=!0,r=o+1);return r<0?"":t.slice(n,r)}if(e===t)return"";let a=-1,i=e.length-1;for(;o--;)if(t.codePointAt(o)===47){if(s){n=o+1;break}}else a<0&&(s=!0,a=o+1),i>-1&&(t.codePointAt(o)===e.codePointAt(i--)?i<0&&(r=o):(i=-1,r=a));return n===r?r=a:r<0&&(r=t.length),t.slice(n,r)}function nKe(t){if(xx(t),t.length===0)return".";let e=-1,n=t.length,r;for(;--n;)if(t.codePointAt(n)===47){if(r){e=n;break}}else r||(r=!0);return e<0?t.codePointAt(0)===47?"/":".":e===1&&t.codePointAt(0)===47?"//":t.slice(0,e)}function rKe(t){xx(t);let e=t.length,n=-1,r=0,o=-1,s=0,a;for(;e--;){const i=t.codePointAt(e);if(i===47){if(a){r=e+1;break}continue}n<0&&(a=!0,n=e+1),i===46?o<0?o=e:s!==1&&(s=1):o>-1&&(s=-1)}return o<0||n<0||s===0||s===1&&o===n-1&&o===r+1?"":t.slice(o,n)}function oKe(...t){let e=-1,n;for(;++e<t.length;)xx(t[e]),t[e]&&(n=n===void 0?t[e]:n+"/"+t[e]);return n===void 0?".":sKe(n)}function sKe(t){xx(t);const e=t.codePointAt(0)===47;let n=aKe(t,!e);return n.length===0&&!e&&(n="."),n.length>0&&t.codePointAt(t.length-1)===47&&(n+="/"),e?"/"+n:n}function aKe(t,e){let n="",r=0,o=-1,s=0,a=-1,i,l;for(;++a<=t.length;){if(a<t.length)i=t.codePointAt(a);else{if(i===47)break;i=47}if(i===47){if(!(o===a-1||s===1))if(o!==a-1&&s===2){if(n.length<2||r!==2||n.codePointAt(n.length-1)!==46||n.codePointAt(n.length-2)!==46){if(n.length>2){if(l=n.lastIndexOf("/"),l!==n.length-1){l<0?(n="",r=0):(n=n.slice(0,l),r=n.length-1-n.lastIndexOf("/")),o=a,s=0;continue}}else if(n.length>0){n="",r=0,o=a,s=0;continue}}e&&(n=n.length>0?n+"/..":"..",r=2)}else n.length>0?n+="/"+t.slice(o+1,a):n=t.slice(o+1,a),r=a-o-1;o=a,s=0}else i===46&&s>-1?s++:s=-1}return n}function xx(t){if(typeof t!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(t))}const iKe={cwd:lKe};function lKe(){return"/"}function CM(t){return!!(t!==null&&typeof t=="object"&&"href"in t&&t.href&&"protocol"in t&&t.protocol&&t.auth===void 0)}function cKe(t){if(typeof t=="string")t=new URL(t);else if(!CM(t)){const e=new TypeError('The "path" argument must be of type string or an instance of URL. Received `'+t+"`");throw e.code="ERR_INVALID_ARG_TYPE",e}if(t.protocol!=="file:"){const e=new TypeError("The URL must be of scheme file");throw e.code="ERR_INVALID_URL_SCHEME",e}return uKe(t)}function uKe(t){if(t.hostname!==""){const r=new TypeError('File URL host must be "localhost" or empty on darwin');throw r.code="ERR_INVALID_FILE_URL_HOST",r}const e=t.pathname;let n=-1;for(;++n<e.length;)if(e.codePointAt(n)===37&&e.codePointAt(n+1)===50){const r=e.codePointAt(n+2);if(r===70||r===102){const o=new TypeError("File URL path must not include encoded / characters");throw o.code="ERR_INVALID_FILE_URL_PATH",o}}return decodeURIComponent(e)}const AA=["history","path","basename","stem","extname","dirname"];class jfe{constructor(e){let n;e?CM(e)?n={path:e}:typeof e=="string"||fKe(e)?n={value:e}:n=e:n={},this.cwd="cwd"in n?"":iKe.cwd(),this.data={},this.history=[],this.messages=[],this.value,this.map,this.result,this.stored;let r=-1;for(;++r<AA.length;){const s=AA[r];s in n&&n[s]!==void 0&&n[s]!==null&&(this[s]=s==="history"?[...n[s]]:n[s])}let o;for(o in n)AA.includes(o)||(this[o]=n[o])}get basename(){return typeof this.path=="string"?_u.basename(this.path):void 0}set basename(e){MA(e,"basename"),_A(e,"basename"),this.path=_u.join(this.dirname||"",e)}get dirname(){return typeof this.path=="string"?_u.dirname(this.path):void 0}set dirname(e){WG(this.basename,"dirname"),this.path=_u.join(e||"",this.basename)}get extname(){return typeof this.path=="string"?_u.extname(this.path):void 0}set extname(e){if(_A(e,"extname"),WG(this.dirname,"extname"),e){if(e.codePointAt(0)!==46)throw new Error("`extname` must start with `.`");if(e.includes(".",1))throw new Error("`extname` cannot contain multiple dots")}this.path=_u.join(this.dirname,this.stem+(e||""))}get path(){return this.history[this.history.length-1]}set path(e){CM(e)&&(e=cKe(e)),MA(e,"path"),this.path!==e&&this.history.push(e)}get stem(){return typeof this.path=="string"?_u.basename(this.path,this.extname):void 0}set stem(e){MA(e,"stem"),_A(e,"stem"),this.path=_u.join(this.dirname||"",e+(this.extname||""))}fail(e,n,r){const o=this.message(e,n,r);throw o.fatal=!0,o}info(e,n,r){const o=this.message(e,n,r);return o.fatal=void 0,o}message(e,n,r){const o=new za(e,n,r);return this.path&&(o.name=this.path+":"+o.name,o.file=this.path),o.fatal=!1,this.messages.push(o),o}toString(e){return this.value===void 0?"":typeof this.value=="string"?this.value:new TextDecoder(e||void 0).decode(this.value)}}function _A(t,e){if(t&&t.includes(_u.sep))throw new Error("`"+e+"` cannot be a path: did not expect `"+_u.sep+"`")}function MA(t,e){if(!t)throw new Error("`"+e+"` cannot be empty")}function WG(t,e){if(!t)throw new Error("Setting `"+e+"` requires `path` to be set too")}function fKe(t){return!!(t&&typeof t=="object"&&"byteLength"in t&&"byteOffset"in t)}const dKe=(function(t){const r=this.constructor.prototype,o=r[t],s=function(){return o.apply(s,arguments)};return Object.setPrototypeOf(s,r),s}),pKe={}.hasOwnProperty;class R7 extends dKe{constructor(){super("copy"),this.Compiler=void 0,this.Parser=void 0,this.attachers=[],this.compiler=void 0,this.freezeIndex=-1,this.frozen=void 0,this.namespace={},this.parser=void 0,this.transformers=Xqe()}copy(){const e=new R7;let n=-1;for(;++n<this.attachers.length;){const r=this.attachers[n];e.use(...r)}return e.data(IA(!0,{},this.namespace)),e}data(e,n){return typeof e=="string"?arguments.length===2?(DA("data",this.frozen),this.namespace[e]=n,this):pKe.call(this.namespace,e)&&this.namespace[e]||void 0:e?(DA("data",this.frozen),this.namespace=e,this):this.namespace}freeze(){if(this.frozen)return this;const e=this;for(;++this.freezeIndex<this.attachers.length;){const[n,...r]=this.attachers[this.freezeIndex];if(r[0]===!1)continue;r[0]===!0&&(r[0]=void 0);const o=n.call(e,...r);typeof o=="function"&&this.transformers.use(o)}return this.frozen=!0,this.freezeIndex=Number.POSITIVE_INFINITY,this}parse(e){this.freeze();const n=$6(e),r=this.parser||this.Parser;return RA("parse",r),r(String(n),n)}process(e,n){const r=this;return this.freeze(),RA("process",this.parser||this.Parser),TA("process",this.compiler||this.Compiler),n?o(void 0,n):new Promise(o);function o(s,a){const i=$6(e),l=r.parse(i);r.run(l,i,function(d,f,m){if(d||!f||!m)return u(d);const g=f,w=r.stringify(g,m);gKe(w)?m.value=w:m.result=w,u(d,m)});function u(d,f){d||!f?a(d):s?s(f):n(void 0,f)}}}processSync(e){let n=!1,r;return this.freeze(),RA("processSync",this.parser||this.Parser),TA("processSync",this.compiler||this.Compiler),this.process(e,o),GG("processSync","process",n),r;function o(s,a){n=!0,VG(s),r=a}}run(e,n,r){YG(e),this.freeze();const o=this.transformers;return!r&&typeof n=="function"&&(r=n,n=void 0),r?s(void 0,r):new Promise(s);function s(a,i){const l=$6(n);o.run(e,l,u);function u(d,f,m){const g=f||e;d?i(d):a?a(g):r(void 0,g,m)}}}runSync(e,n){let r=!1,o;return this.run(e,n,s),GG("runSync","run",r),o;function s(a,i){VG(a),o=i,r=!0}}stringify(e,n){this.freeze();const r=$6(n),o=this.compiler||this.Compiler;return TA("stringify",o),YG(e),o(e,r)}use(e,...n){const r=this.attachers,o=this.namespace;if(DA("use",this.frozen),e!=null)if(typeof e=="function")l(e,n);else if(typeof e=="object")Array.isArray(e)?i(e):a(e);else throw new TypeError("Expected usable value, not `"+e+"`");return this;function s(u){if(typeof u=="function")l(u,[]);else if(typeof u=="object")if(Array.isArray(u)){const[d,...f]=u;l(d,f)}else a(u);else throw new TypeError("Expected usable value, not `"+u+"`")}function a(u){if(!("plugins"in u)&&!("settings"in u))throw new Error("Expected usable value but received an empty preset, which is probably a mistake: presets typically come with `plugins` and sometimes with `settings`, but this has neither");i(u.plugins),u.settings&&(o.settings=IA(!0,o.settings,u.settings))}function i(u){let d=-1;if(u!=null)if(Array.isArray(u))for(;++d<u.length;){const f=u[d];s(f)}else throw new TypeError("Expected a list of plugins, not `"+u+"`")}function l(u,d){let f=-1,m=-1;for(;++f<r.length;)if(r[f][0]===u){m=f;break}if(m===-1)r.push([u,...d]);else if(d.length>0){let[g,...w]=d;const b=r[m][1];jM(b)&&jM(g)&&(g=IA(!0,b,g)),r[m]=[u,g,...w]}}}}const hKe=new R7().freeze();function RA(t,e){if(typeof e!="function")throw new TypeError("Cannot `"+t+"` without `parser`")}function TA(t,e){if(typeof e!="function")throw new TypeError("Cannot `"+t+"` without `compiler`")}function DA(t,e){if(e)throw new Error("Cannot call `"+t+"` on a frozen processor.\nCreate a new processor first, by calling it: use `processor()` instead of `processor`.")}function YG(t){if(!jM(t)||typeof t.type!="string")throw new TypeError("Expected node, got `"+t+"`")}function GG(t,e,n){if(!n)throw new Error("`"+t+"` finished async. Use `"+e+"` instead")}function $6(t){return mKe(t)?t:new jfe(t)}function mKe(t){return!!(t&&typeof t=="object"&&"message"in t&&"messages"in t)}function gKe(t){return typeof t=="string"||yKe(t)}function yKe(t){return!!(t&&typeof t=="object"&&"byteLength"in t&&"byteOffset"in t)}const vKe="https://github.com/remarkjs/react-markdown/blob/main/changelog.md",qG=[],KG={allowDangerousHtml:!0},wKe=/^(https?|ircs?|mailto|xmpp)$/i,bKe=[{from:"astPlugins",id:"remove-buggy-html-in-markdown-parser"},{from:"allowDangerousHtml",id:"remove-buggy-html-in-markdown-parser"},{from:"allowNode",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"allowElement"},{from:"allowedTypes",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"allowedElements"},{from:"className",id:"remove-classname"},{from:"disallowedTypes",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"disallowedElements"},{from:"escapeHtml",id:"remove-buggy-html-in-markdown-parser"},{from:"includeElementIndex",id:"#remove-includeelementindex"},{from:"includeNodeIndex",id:"change-includenodeindex-to-includeelementindex"},{from:"linkTarget",id:"remove-linktarget"},{from:"plugins",id:"change-plugins-to-remarkplugins",to:"remarkPlugins"},{from:"rawSourcePos",id:"#remove-rawsourcepos"},{from:"renderers",id:"change-renderers-to-components",to:"components"},{from:"source",id:"change-source-to-children",to:"children"},{from:"sourcePos",id:"#remove-sourcepos"},{from:"transformImageUri",id:"#add-urltransform",to:"urlTransform"},{from:"transformLinkUri",id:"#add-urltransform",to:"urlTransform"}];function Cfe(t){const e=xKe(t),n=kKe(t);return jKe(e.runSync(e.parse(n),n),t)}function xKe(t){const e=t.rehypePlugins||qG,n=t.remarkPlugins||qG,r=t.remarkRehypeOptions?{...t.remarkRehypeOptions,...KG}:KG;return hKe().use(nqe).use(n).use(Zqe,r).use(e)}function kKe(t){const e=t.children||"",n=new jfe;return typeof e=="string"&&(n.value=e),n}function jKe(t,e){const n=e.allowedElements,r=e.allowElement,o=e.components,s=e.disallowedElements,a=e.skipHtml,i=e.unwrapDisallowed,l=e.urlTransform||CKe;for(const d of bKe)Object.hasOwn(e,d.from)&&(""+d.from+(d.to?"use `"+d.to+"` instead":"remove it")+vKe+d.id,void 0);return lE(t,u),FWe(t,{Fragment:c.Fragment,components:o,ignoreInvalidStyle:!0,jsx:c.jsx,jsxs:c.jsxs,passKeys:!0,passNode:!0});function u(d,f,m){if(d.type==="raw"&&m&&typeof f=="number")return a?m.children.splice(f,1):m.children[f]={type:"text",value:d.value},f;if(d.type==="element"){let g;for(g in CA)if(Object.hasOwn(CA,g)&&Object.hasOwn(d.properties,g)){const w=d.properties[g],b=CA[g];(b===null||b.includes(d.tagName))&&(d.properties[g]=l(String(w||""),g,d))}}if(d.type==="element"){let g=n?!n.includes(d.tagName):s?s.includes(d.tagName):!1;if(!g&&r&&typeof f=="number"&&(g=!r(d,f,m)),g&&m&&typeof f=="number")return i&&d.children?m.children.splice(f,1,...d.children):m.children.splice(f,1),f}}}function CKe(t){const e=t.indexOf(":"),n=t.indexOf("?"),r=t.indexOf("#"),o=t.indexOf("/");return e===-1||o!==-1&&e>o||n!==-1&&e>n||r!==-1&&e>r||wKe.test(t.slice(0,e))?t:""}function ZG(t,e){const n=String(t);if(typeof e!="string")throw new TypeError("Expected character");let r=0,o=n.indexOf(e);for(;o!==-1;)r++,o=n.indexOf(e,o+e.length);return r}function SKe(t){if(typeof t!="string")throw new TypeError("Expected a string");return t.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")}function Sfe(t,e,n){const o=aE((n||{}).ignore||[]),s=EKe(e);let a=-1;for(;++a<s.length;)kfe(t,"text",i);function i(u,d){let f=-1,m;for(;++f<d.length;){const g=d[f],w=m?m.children:void 0;if(o(g,w?w.indexOf(g):void 0,m))return;m=g}if(m)return l(u,d)}function l(u,d){const f=d[d.length-1],m=s[a][0],g=s[a][1];let w=0;const j=f.children.indexOf(u);let S=!1,I=[];m.lastIndex=0;let N=m.exec(u.value);for(;N;){const M=N.index,D={index:N.index,input:N.input,stack:[...d,u]};let O=g(...N,D);if(typeof O=="string"&&(O=O.length>0?{type:"text",value:O}:void 0),O===!1?m.lastIndex=M+1:(w!==M&&I.push({type:"text",value:u.value.slice(w,M)}),Array.isArray(O)?I.push(...O):O&&I.push(O),w=M+N[0].length,S=!0),!m.global)break;N=m.exec(u.value)}return S?(w<u.value.length&&I.push({type:"text",value:u.value.slice(w)}),f.children.splice(j,1,...I)):I=[u],j+I.length}}function EKe(t){const e=[];if(!Array.isArray(t))throw new TypeError("Expected find and replace tuple or list of tuples");const n=!t[0]||Array.isArray(t[0])?t:[t];let r=-1;for(;++r<n.length;){const o=n[r];e.push([NKe(o[0]),IKe(o[1])])}return e}function NKe(t){return typeof t=="string"?new RegExp(SKe(t),"g"):t}function IKe(t){return typeof t=="function"?t:function(){return t}}const LA="phrasing",PA=["autolink","link","image","label"];function AKe(){return{transforms:[PKe],enter:{literalAutolink:MKe,literalAutolinkEmail:OA,literalAutolinkHttp:OA,literalAutolinkWww:OA},exit:{literalAutolink:LKe,literalAutolinkEmail:DKe,literalAutolinkHttp:RKe,literalAutolinkWww:TKe}}}function _Ke(){return{unsafe:[{character:"@",before:"[+\\-.\\w]",after:"[\\-.\\w]",inConstruct:LA,notInConstruct:PA},{character:".",before:"[Ww]",after:"[\\-.\\w]",inConstruct:LA,notInConstruct:PA},{character:":",before:"[ps]",after:"\\/",inConstruct:LA,notInConstruct:PA}]}}function MKe(t){this.enter({type:"link",title:null,url:"",children:[]},t)}function OA(t){this.config.enter.autolinkProtocol.call(this,t)}function RKe(t){this.config.exit.autolinkProtocol.call(this,t)}function TKe(t){this.config.exit.data.call(this,t);const e=this.stack[this.stack.length-1];e.type,e.url="http://"+this.sliceSerialize(t)}function DKe(t){this.config.exit.autolinkEmail.call(this,t)}function LKe(t){this.exit(t)}function PKe(t){Sfe(t,[[/(https?:\/\/|www(?=\.))([-.\w]+)([^ \t\r\n]*)/gi,OKe],[new RegExp("(?<=^|\\s|\\p{P}|\\p{S})([-.\\w+]+)@([-\\w]+(?:\\.[-\\w]+)+)","gu"),zKe]],{ignore:["link","linkReference"]})}function OKe(t,e,n,r,o){let s="";if(!Efe(o)||(/^w/i.test(e)&&(n=e+n,e="",s="http://"),!FKe(n)))return!1;const a=BKe(n+r);if(!a[0])return!1;const i={type:"link",title:null,url:s+e+a[0],children:[{type:"text",value:e+a[0]}]};return a[1]?[i,{type:"text",value:a[1]}]:i}function zKe(t,e,n,r){return!Efe(r,!0)||/[-\d_]$/.test(n)?!1:{type:"link",title:null,url:"mailto:"+e+"@"+n,children:[{type:"text",value:e+"@"+n}]}}function FKe(t){const e=t.split(".");return!(e.length<2||e[e.length-1]&&(/_/.test(e[e.length-1])||!/[a-zA-Z\d]/.test(e[e.length-1]))||e[e.length-2]&&(/_/.test(e[e.length-2])||!/[a-zA-Z\d]/.test(e[e.length-2])))}function BKe(t){const e=/[!"&'),.:;<>?\]}]+$/.exec(t);if(!e)return[t,void 0];t=t.slice(0,e.index);let n=e[0],r=n.indexOf(")");const o=ZG(t,"(");let s=ZG(t,")");for(;r!==-1&&o>s;)t+=n.slice(0,r+1),n=n.slice(r+1),r=n.indexOf(")"),s++;return[t,n]}function Efe(t,e){const n=t.input.charCodeAt(t.index-1);return(t.index===0||_g(n)||rE(n))&&(!e||n!==47)}Nfe.peek=KKe;function UKe(){this.buffer()}function $Ke(t){this.enter({type:"footnoteReference",identifier:"",label:""},t)}function VKe(){this.buffer()}function HKe(t){this.enter({type:"footnoteDefinition",identifier:"",label:"",children:[]},t)}function WKe(t){const e=this.resume(),n=this.stack[this.stack.length-1];n.type,n.identifier=Yc(this.sliceSerialize(t)).toLowerCase(),n.label=e}function YKe(t){this.exit(t)}function GKe(t){const e=this.resume(),n=this.stack[this.stack.length-1];n.type,n.identifier=Yc(this.sliceSerialize(t)).toLowerCase(),n.label=e}function qKe(t){this.exit(t)}function KKe(){return"["}function Nfe(t,e,n,r){const o=n.createTracker(r);let s=o.move("[^");const a=n.enter("footnoteReference"),i=n.enter("reference");return s+=o.move(n.safe(n.associationId(t),{after:"]",before:s})),i(),a(),s+=o.move("]"),s}function ZKe(){return{enter:{gfmFootnoteCallString:UKe,gfmFootnoteCall:$Ke,gfmFootnoteDefinitionLabelString:VKe,gfmFootnoteDefinition:HKe},exit:{gfmFootnoteCallString:WKe,gfmFootnoteCall:YKe,gfmFootnoteDefinitionLabelString:GKe,gfmFootnoteDefinition:qKe}}}function QKe(t){let e=!1;return t&&t.firstLineBlank&&(e=!0),{handlers:{footnoteDefinition:n,footnoteReference:Nfe},unsafe:[{character:"[",inConstruct:["label","phrasing","reference"]}]};function n(r,o,s,a){const i=s.createTracker(a);let l=i.move("[^");const u=s.enter("footnoteDefinition"),d=s.enter("label");return l+=i.move(s.safe(s.associationId(r),{before:l,after:"]"})),d(),l+=i.move("]:"),r.children&&r.children.length>0&&(i.shift(4),l+=i.move((e?`
2069 `:" ")+s.indentLines(s.containerFlow(r,i.current()),e?Ife:JKe))),u(),l}}function JKe(t,e,n){return e===0?t:Ife(t,e,n)}function Ife(t,e,n){return(n?"":" ")+t}const XKe=["autolink","destinationLiteral","destinationRaw","reference","titleQuote","titleApostrophe"];Afe.peek=oZe;function eZe(){return{canContainEols:["delete"],enter:{strikethrough:nZe},exit:{strikethrough:rZe}}}function tZe(){return{unsafe:[{character:"~",inConstruct:"phrasing",notInConstruct:XKe}],handlers:{delete:Afe}}}function nZe(t){this.enter({type:"delete",children:[]},t)}function rZe(t){this.exit(t)}function Afe(t,e,n,r){const o=n.createTracker(r),s=n.enter("strikethrough");let a=o.move("~~");return a+=n.containerPhrasing(t,{...o.current(),before:a,after:"~"}),a+=o.move("~~"),s(),a}function oZe(){return"~"}function sZe(t){return t.length}function aZe(t,e){const n=e||{},r=(n.align||[]).concat(),o=n.stringLength||sZe,s=[],a=[],i=[],l=[];let u=0,d=-1;for(;++d<t.length;){const b=[],j=[];let S=-1;for(t[d].length>u&&(u=t[d].length);++S<t[d].length;){const I=iZe(t[d][S]);if(n.alignDelimiters!==!1){const N=o(I);j[S]=N,(l[S]===void 0||N>l[S])&&(l[S]=N)}b.push(I)}a[d]=b,i[d]=j}let f=-1;if(typeof r=="object"&&"length"in r)for(;++f<u;)s[f]=QG(r[f]);else{const b=QG(r);for(;++f<u;)s[f]=b}f=-1;const m=[],g=[];for(;++f<u;){const b=s[f];let j="",S="";b===99?(j=":",S=":"):b===108?j=":":b===114&&(S=":");let I=n.alignDelimiters===!1?1:Math.max(1,l[f]-j.length-S.length);const N=j+"-".repeat(I)+S;n.alignDelimiters!==!1&&(I=j.length+I+S.length,I>l[f]&&(l[f]=I),g[f]=I),m[f]=N}a.splice(1,0,m),i.splice(1,0,g),d=-1;const w=[];for(;++d<a.length;){const b=a[d],j=i[d];f=-1;const S=[];for(;++f<u;){const I=b[f]||"";let N="",M="";if(n.alignDelimiters!==!1){const D=l[f]-(j[f]||0),O=s[f];O===114?N=" ".repeat(D):O===99?D%2?(N=" ".repeat(D/2+.5),M=" ".repeat(D/2-.5)):(N=" ".repeat(D/2),M=N):M=" ".repeat(D)}n.delimiterStart!==!1&&!f&&S.push("|"),n.padding!==!1&&!(n.alignDelimiters===!1&&I==="")&&(n.delimiterStart!==!1||f)&&S.push(" "),n.alignDelimiters!==!1&&S.push(N),S.push(I),n.alignDelimiters!==!1&&S.push(M),n.padding!==!1&&S.push(" "),(n.delimiterEnd!==!1||f!==u-1)&&S.push("|")}w.push(n.delimiterEnd===!1?S.join("").replace(/ +$/,""):S.join(""))}return w.join(`
2070 `)}function iZe(t){return t==null?"":String(t)}function QG(t){const e=typeof t=="string"?t.codePointAt(0):0;return e===67||e===99?99:e===76||e===108?108:e===82||e===114?114:0}function lZe(t,e,n,r){const o=n.enter("blockquote"),s=n.createTracker(r);s.move("> "),s.shift(2);const a=n.indentLines(n.containerFlow(t,s.current()),cZe);return o(),a}function cZe(t,e,n){return">"+(n?"":" ")+t}function uZe(t,e){return JG(t,e.inConstruct,!0)&&!JG(t,e.notInConstruct,!1)}function JG(t,e,n){if(typeof e=="string"&&(e=[e]),!e||e.length===0)return n;let r=-1;for(;++r<e.length;)if(t.includes(e[r]))return!0;return!1}function XG(t,e,n,r){let o=-1;for(;++o<n.unsafe.length;)if(n.unsafe[o].character===`
2071 `&&uZe(n.stack,n.unsafe[o]))return/[ \t]/.test(r.before)?"":" ";return`\\
2072 `}function fZe(t,e){const n=String(t);let r=n.indexOf(e),o=r,s=0,a=0;if(typeof e!="string")throw new TypeError("Expected substring");for(;r!==-1;)r===o?++s>a&&(a=s):s=1,o=r+e.length,r=n.indexOf(e,o);return a}function dZe(t,e){return!!(e.options.fences===!1&&t.value&&!t.lang&&/[^ \r\n]/.test(t.value)&&!/^[\t ]*(?:[\r\n]|$)|(?:^|[\r\n])[\t ]*$/.test(t.value))}function pZe(t){const e=t.options.fence||"`";if(e!=="`"&&e!=="~")throw new Error("Cannot serialize code with `"+e+"` for `options.fence`, expected `` ` `` or `~`");return e}function hZe(t,e,n,r){const o=pZe(n),s=t.value||"",a=o==="`"?"GraveAccent":"Tilde";if(dZe(t,n)){const f=n.enter("codeIndented"),m=n.indentLines(s,mZe);return f(),m}const i=n.createTracker(r),l=o.repeat(Math.max(fZe(s,o)+1,3)),u=n.enter("codeFenced");let d=i.move(l);if(t.lang){const f=n.enter(`codeFencedLang${a}`);d+=i.move(n.safe(t.lang,{before:d,after:" ",encode:["`"],...i.current()})),f()}if(t.lang&&t.meta){const f=n.enter(`codeFencedMeta${a}`);d+=i.move(" "),d+=i.move(n.safe(t.meta,{before:d,after:`
2073 `,encode:["`"],...i.current()})),f()}return d+=i.move(`
2074 `),s&&(d+=i.move(s+`
2075 `)),d+=i.move(l),u(),d}function mZe(t,e,n){return(n?"":" ")+t}function T7(t){const e=t.options.quote||'"';if(e!=='"'&&e!=="'")throw new Error("Cannot serialize title with `"+e+"` for `options.quote`, expected `\"`, or `'`");return e}function gZe(t,e,n,r){const o=T7(n),s=o==='"'?"Quote":"Apostrophe",a=n.enter("definition");let i=n.enter("label");const l=n.createTracker(r);let u=l.move("[");return u+=l.move(n.safe(n.associationId(t),{before:u,after:"]",...l.current()})),u+=l.move("]: "),i(),!t.url||/[\0- \u007F]/.test(t.url)?(i=n.enter("destinationLiteral"),u+=l.move("<"),u+=l.move(n.safe(t.url,{before:u,after:">",...l.current()})),u+=l.move(">")):(i=n.enter("destinationRaw"),u+=l.move(n.safe(t.url,{before:u,after:t.title?" ":`
2076 `,...l.current()}))),i(),t.title&&(i=n.enter(`title${s}`),u+=l.move(" "+o),u+=l.move(n.safe(t.title,{before:u,after:o,...l.current()})),u+=l.move(o),i()),a(),u}function yZe(t){const e=t.options.emphasis||"*";if(e!=="*"&&e!=="_")throw new Error("Cannot serialize emphasis with `"+e+"` for `options.emphasis`, expected `*`, or `_`");return e}function d2(t){return"&#x"+t.toString(16).toUpperCase()+";"}function bj(t,e,n){const r=xy(t),o=xy(e);return r===void 0?o===void 0?n==="_"?{inside:!0,outside:!0}:{inside:!1,outside:!1}:o===1?{inside:!0,outside:!0}:{inside:!1,outside:!0}:r===1?o===void 0?{inside:!1,outside:!1}:o===1?{inside:!0,outside:!0}:{inside:!1,outside:!1}:o===void 0?{inside:!1,outside:!1}:o===1?{inside:!0,outside:!1}:{inside:!1,outside:!1}}_fe.peek=vZe;function _fe(t,e,n,r){const o=yZe(n),s=n.enter("emphasis"),a=n.createTracker(r),i=a.move(o);let l=a.move(n.containerPhrasing(t,{after:o,before:i,...a.current()}));const u=l.charCodeAt(0),d=bj(r.before.charCodeAt(r.before.length-1),u,o);d.inside&&(l=d2(u)+l.slice(1));const f=l.charCodeAt(l.length-1),m=bj(r.after.charCodeAt(0),f,o);m.inside&&(l=l.slice(0,-1)+d2(f));const g=a.move(o);return s(),n.attentionEncodeSurroundingInfo={after:m.outside,before:d.outside},i+l+g}function vZe(t,e,n){return n.options.emphasis||"*"}function wZe(t,e){let n=!1;return lE(t,function(r){if("value"in r&&/\r?\n|\r/.test(r.value)||r.type==="break")return n=!0,xM}),!!((!t.depth||t.depth<3)&&S7(t)&&(e.options.setext||n))}function bZe(t,e,n,r){const o=Math.max(Math.min(6,t.depth||1),1),s=n.createTracker(r);if(wZe(t,n)){const d=n.enter("headingSetext"),f=n.enter("phrasing"),m=n.containerPhrasing(t,{...s.current(),before:`
2077 `,after:`
2078 `});return f(),d(),m+`
2079 `+(o===1?"=":"-").repeat(m.length-(Math.max(m.lastIndexOf("\r"),m.lastIndexOf(`
2080 `))+1))}const a="#".repeat(o),i=n.enter("headingAtx"),l=n.enter("phrasing");s.move(a+" ");let u=n.containerPhrasing(t,{before:"# ",after:`
2081 `,...s.current()});return/^[\t ]/.test(u)&&(u=d2(u.charCodeAt(0))+u.slice(1)),u=u?a+" "+u:a,n.options.closeAtx&&(u+=" "+a),l(),i(),u}Mfe.peek=xZe;function Mfe(t){return t.value||""}function xZe(){return"<"}Rfe.peek=kZe;function Rfe(t,e,n,r){const o=T7(n),s=o==='"'?"Quote":"Apostrophe",a=n.enter("image");let i=n.enter("label");const l=n.createTracker(r);let u=l.move("![");return u+=l.move(n.safe(t.alt,{before:u,after:"]",...l.current()})),u+=l.move("]("),i(),!t.url&&t.title||/[\0- \u007F]/.test(t.url)?(i=n.enter("destinationLiteral"),u+=l.move("<"),u+=l.move(n.safe(t.url,{before:u,after:">",...l.current()})),u+=l.move(">")):(i=n.enter("destinationRaw"),u+=l.move(n.safe(t.url,{before:u,after:t.title?" ":")",...l.current()}))),i(),t.title&&(i=n.enter(`title${s}`),u+=l.move(" "+o),u+=l.move(n.safe(t.title,{before:u,after:o,...l.current()})),u+=l.move(o),i()),u+=l.move(")"),a(),u}function kZe(){return"!"}Tfe.peek=jZe;function Tfe(t,e,n,r){const o=t.referenceType,s=n.enter("imageReference");let a=n.enter("label");const i=n.createTracker(r);let l=i.move("![");const u=n.safe(t.alt,{before:l,after:"]",...i.current()});l+=i.move(u+"]["),a();const d=n.stack;n.stack=[],a=n.enter("reference");const f=n.safe(n.associationId(t),{before:l,after:"]",...i.current()});return a(),n.stack=d,s(),o==="full"||!u||u!==f?l+=i.move(f+"]"):o==="shortcut"?l=l.slice(0,-1):l+=i.move("]"),l}function jZe(){return"!"}Dfe.peek=CZe;function Dfe(t,e,n){let r=t.value||"",o="`",s=-1;for(;new RegExp("(^|[^`])"+o+"([^`]|$)").test(r);)o+="`";for(/[^ \r\n]/.test(r)&&(/^[ \r\n]/.test(r)&&/[ \r\n]$/.test(r)||/^`|`$/.test(r))&&(r=" "+r+" ");++s<n.unsafe.length;){const a=n.unsafe[s],i=n.compilePattern(a);let l;if(a.atBreak)for(;l=i.exec(r);){let u=l.index;r.charCodeAt(u)===10&&r.charCodeAt(u-1)===13&&u--,r=r.slice(0,u)+" "+r.slice(l.index+1)}}return o+r+o}function CZe(){return"`"}function Lfe(t,e){const n=S7(t);return!!(!e.options.resourceLink&&t.url&&!t.title&&t.children&&t.children.length===1&&t.children[0].type==="text"&&(n===t.url||"mailto:"+n===t.url)&&/^[a-z][a-z+.-]+:/i.test(t.url)&&!/[\0- <>\u007F]/.test(t.url))}Pfe.peek=SZe;function Pfe(t,e,n,r){const o=T7(n),s=o==='"'?"Quote":"Apostrophe",a=n.createTracker(r);let i,l;if(Lfe(t,n)){const d=n.stack;n.stack=[],i=n.enter("autolink");let f=a.move("<");return f+=a.move(n.containerPhrasing(t,{before:f,after:">",...a.current()})),f+=a.move(">"),i(),n.stack=d,f}i=n.enter("link"),l=n.enter("label");let u=a.move("[");return u+=a.move(n.containerPhrasing(t,{before:u,after:"](",...a.current()})),u+=a.move("]("),l(),!t.url&&t.title||/[\0- \u007F]/.test(t.url)?(l=n.enter("destinationLiteral"),u+=a.move("<"),u+=a.move(n.safe(t.url,{before:u,after:">",...a.current()})),u+=a.move(">")):(l=n.enter("destinationRaw"),u+=a.move(n.safe(t.url,{before:u,after:t.title?" ":")",...a.current()}))),l(),t.title&&(l=n.enter(`title${s}`),u+=a.move(" "+o),u+=a.move(n.safe(t.title,{before:u,after:o,...a.current()})),u+=a.move(o),l()),u+=a.move(")"),i(),u}function SZe(t,e,n){return Lfe(t,n)?"<":"["}Ofe.peek=EZe;function Ofe(t,e,n,r){const o=t.referenceType,s=n.enter("linkReference");let a=n.enter("label");const i=n.createTracker(r);let l=i.move("[");const u=n.containerPhrasing(t,{before:l,after:"]",...i.current()});l+=i.move(u+"]["),a();const d=n.stack;n.stack=[],a=n.enter("reference");const f=n.safe(n.associationId(t),{before:l,after:"]",...i.current()});return a(),n.stack=d,s(),o==="full"||!u||u!==f?l+=i.move(f+"]"):o==="shortcut"?l=l.slice(0,-1):l+=i.move("]"),l}function EZe(){return"["}function D7(t){const e=t.options.bullet||"*";if(e!=="*"&&e!=="+"&&e!=="-")throw new Error("Cannot serialize items with `"+e+"` for `options.bullet`, expected `*`, `+`, or `-`");return e}function NZe(t){const e=D7(t),n=t.options.bulletOther;if(!n)return e==="*"?"-":"*";if(n!=="*"&&n!=="+"&&n!=="-")throw new Error("Cannot serialize items with `"+n+"` for `options.bulletOther`, expected `*`, `+`, or `-`");if(n===e)throw new Error("Expected `bullet` (`"+e+"`) and `bulletOther` (`"+n+"`) to be different");return n}function IZe(t){const e=t.options.bulletOrdered||".";if(e!=="."&&e!==")")throw new Error("Cannot serialize items with `"+e+"` for `options.bulletOrdered`, expected `.` or `)`");return e}function zfe(t){const e=t.options.rule||"*";if(e!=="*"&&e!=="-"&&e!=="_")throw new Error("Cannot serialize rules with `"+e+"` for `options.rule`, expected `*`, `-`, or `_`");return e}function AZe(t,e,n,r){const o=n.enter("list"),s=n.bulletCurrent;let a=t.ordered?IZe(n):D7(n);const i=t.ordered?a==="."?")":".":NZe(n);let l=e&&n.bulletLastUsed?a===n.bulletLastUsed:!1;if(!t.ordered){const d=t.children?t.children[0]:void 0;if((a==="*"||a==="-")&&d&&(!d.children||!d.children[0])&&n.stack[n.stack.length-1]==="list"&&n.stack[n.stack.length-2]==="listItem"&&n.stack[n.stack.length-3]==="list"&&n.stack[n.stack.length-4]==="listItem"&&n.indexStack[n.indexStack.length-1]===0&&n.indexStack[n.indexStack.length-2]===0&&n.indexStack[n.indexStack.length-3]===0&&(l=!0),zfe(n)===a&&d){let f=-1;for(;++f<t.children.length;){const m=t.children[f];if(m&&m.type==="listItem"&&m.children&&m.children[0]&&m.children[0].type==="thematicBreak"){l=!0;break}}}}l&&(a=i),n.bulletCurrent=a;const u=n.containerFlow(t,r);return n.bulletLastUsed=a,n.bulletCurrent=s,o(),u}function _Ze(t){const e=t.options.listItemIndent||"one";if(e!=="tab"&&e!=="one"&&e!=="mixed")throw new Error("Cannot serialize items with `"+e+"` for `options.listItemIndent`, expected `tab`, `one`, or `mixed`");return e}function MZe(t,e,n,r){const o=_Ze(n);let s=n.bulletCurrent||D7(n);e&&e.type==="list"&&e.ordered&&(s=(typeof e.start=="number"&&e.start>-1?e.start:1)+(n.options.incrementListMarker===!1?0:e.children.indexOf(t))+s);let a=s.length+1;(o==="tab"||o==="mixed"&&(e&&e.type==="list"&&e.spread||t.spread))&&(a=Math.ceil(a/4)*4);const i=n.createTracker(r);i.move(s+" ".repeat(a-s.length)),i.shift(a);const l=n.enter("listItem"),u=n.indentLines(n.containerFlow(t,i.current()),d);return l(),u;function d(f,m,g){return m?(g?"":" ".repeat(a))+f:(g?s:s+" ".repeat(a-s.length))+f}}function RZe(t,e,n,r){const o=n.enter("paragraph"),s=n.enter("phrasing"),a=n.containerPhrasing(t,r);return s(),o(),a}const TZe=aE(["break","delete","emphasis","footnote","footnoteReference","image","imageReference","inlineCode","inlineMath","link","linkReference","mdxJsxTextElement","mdxTextExpression","strong","text","textDirective"]);function DZe(t,e,n,r){return(t.children.some(function(a){return TZe(a)})?n.containerPhrasing:n.containerFlow).call(n,t,r)}function LZe(t){const e=t.options.strong||"*";if(e!=="*"&&e!=="_")throw new Error("Cannot serialize strong with `"+e+"` for `options.strong`, expected `*`, or `_`");return e}Ffe.peek=PZe;function Ffe(t,e,n,r){const o=LZe(n),s=n.enter("strong"),a=n.createTracker(r),i=a.move(o+o);let l=a.move(n.containerPhrasing(t,{after:o,before:i,...a.current()}));const u=l.charCodeAt(0),d=bj(r.before.charCodeAt(r.before.length-1),u,o);d.inside&&(l=d2(u)+l.slice(1));const f=l.charCodeAt(l.length-1),m=bj(r.after.charCodeAt(0),f,o);m.inside&&(l=l.slice(0,-1)+d2(f));const g=a.move(o+o);return s(),n.attentionEncodeSurroundingInfo={after:m.outside,before:d.outside},i+l+g}function PZe(t,e,n){return n.options.strong||"*"}function OZe(t,e,n,r){return n.safe(t.value,r)}function zZe(t){const e=t.options.ruleRepetition||3;if(e<3)throw new Error("Cannot serialize rules with repetition `"+e+"` for `options.ruleRepetition`, expected `3` or more");return e}function FZe(t,e,n){const r=(zfe(n)+(n.options.ruleSpaces?" ":"")).repeat(zZe(n));return n.options.ruleSpaces?r.slice(0,-1):r}const Bfe={blockquote:lZe,break:XG,code:hZe,definition:gZe,emphasis:_fe,hardBreak:XG,heading:bZe,html:Mfe,image:Rfe,imageReference:Tfe,inlineCode:Dfe,link:Pfe,linkReference:Ofe,list:AZe,listItem:MZe,paragraph:RZe,root:DZe,strong:Ffe,text:OZe,thematicBreak:FZe};function BZe(){return{enter:{table:UZe,tableData:eq,tableHeader:eq,tableRow:VZe},exit:{codeText:HZe,table:$Ze,tableData:zA,tableHeader:zA,tableRow:zA}}}function UZe(t){const e=t._align;this.enter({type:"table",align:e.map(function(n){return n==="none"?null:n}),children:[]},t),this.data.inTable=!0}function $Ze(t){this.exit(t),this.data.inTable=void 0}function VZe(t){this.enter({type:"tableRow",children:[]},t)}function zA(t){this.exit(t)}function eq(t){this.enter({type:"tableCell",children:[]},t)}function HZe(t){let e=this.resume();this.data.inTable&&(e=e.replace(/\\([\\|])/g,WZe));const n=this.stack[this.stack.length-1];n.type,n.value=e,this.exit(t)}function WZe(t,e){return e==="|"?e:t}function YZe(t){const e=t||{},n=e.tableCellPadding,r=e.tablePipeAlign,o=e.stringLength,s=n?" ":"|";return{unsafe:[{character:"\r",inConstruct:"tableCell"},{character:`
2082 `,inConstruct:"tableCell"},{atBreak:!0,character:"|",after:"[ :-]"},{character:"|",inConstruct:"tableCell"},{atBreak:!0,character:":",after:"-"},{atBreak:!0,character:"-",after:"[:|-]"}],handlers:{inlineCode:m,table:a,tableCell:l,tableRow:i}};function a(g,w,b,j){return u(d(g,b,j),g.align)}function i(g,w,b,j){const S=f(g,b,j),I=u([S]);return I.slice(0,I.indexOf(`
2083 `))}function l(g,w,b,j){const S=b.enter("tableCell"),I=b.enter("phrasing"),N=b.containerPhrasing(g,{...j,before:s,after:s});return I(),S(),N}function u(g,w){return aZe(g,{align:w,alignDelimiters:r,padding:n,stringLength:o})}function d(g,w,b){const j=g.children;let S=-1;const I=[],N=w.enter("table");for(;++S<j.length;)I[S]=f(j[S],w,b);return N(),I}function f(g,w,b){const j=g.children;let S=-1;const I=[],N=w.enter("tableRow");for(;++S<j.length;)I[S]=l(j[S],g,w,b);return N(),I}function m(g,w,b){let j=Bfe.inlineCode(g,w,b);return b.stack.includes("tableCell")&&(j=j.replace(/\|/g,"\\$&")),j}}function GZe(){return{exit:{taskListCheckValueChecked:tq,taskListCheckValueUnchecked:tq,paragraph:KZe}}}function qZe(){return{unsafe:[{atBreak:!0,character:"-",after:"[:|-]"}],handlers:{listItem:ZZe}}}function tq(t){const e=this.stack[this.stack.length-2];e.type,e.checked=t.type==="taskListCheckValueChecked"}function KZe(t){const e=this.stack[this.stack.length-2];if(e&&e.type==="listItem"&&typeof e.checked=="boolean"){const n=this.stack[this.stack.length-1];n.type;const r=n.children[0];if(r&&r.type==="text"){const o=e.children;let s=-1,a;for(;++s<o.length;){const i=o[s];if(i.type==="paragraph"){a=i;break}}a===n&&(r.value=r.value.slice(1),r.value.length===0?n.children.shift():n.position&&r.position&&typeof r.position.start.offset=="number"&&(r.position.start.column++,r.position.start.offset++,n.position.start=Object.assign({},r.position.start)))}}this.exit(t)}function ZZe(t,e,n,r){const o=t.children[0],s=typeof t.checked=="boolean"&&o&&o.type==="paragraph",a="["+(t.checked?"x":" ")+"] ",i=n.createTracker(r);s&&i.move(a);let l=Bfe.listItem(t,e,n,{...r,...i.current()});return s&&(l=l.replace(/^(?:[*+-]|\d+\.)([\r\n]| {1,3})/,u)),l;function u(d){return d+a}}function QZe(){return[AKe(),ZKe(),eZe(),BZe(),GZe()]}function JZe(t){return{extensions:[_Ke(),QKe(t),tZe(),YZe(t),qZe()]}}const XZe={tokenize:sQe,partial:!0},Ufe={tokenize:aQe,partial:!0},$fe={tokenize:iQe,partial:!0},Vfe={tokenize:lQe,partial:!0},eQe={tokenize:cQe,partial:!0},Hfe={name:"wwwAutolink",tokenize:rQe,previous:Yfe},Wfe={name:"protocolAutolink",tokenize:oQe,previous:Gfe},Sd={name:"emailAutolink",tokenize:nQe,previous:qfe},xf={};function tQe(){return{text:xf}}let ym=48;for(;ym<123;)xf[ym]=Sd,ym++,ym===58?ym=65:ym===91&&(ym=97);xf[43]=Sd;xf[45]=Sd;xf[46]=Sd;xf[95]=Sd;xf[72]=[Sd,Wfe];xf[104]=[Sd,Wfe];xf[87]=[Sd,Hfe];xf[119]=[Sd,Hfe];function nQe(t,e,n){const r=this;let o,s;return a;function a(f){return!SM(f)||!qfe.call(r,r.previous)||L7(r.events)?n(f):(t.enter("literalAutolink"),t.enter("literalAutolinkEmail"),i(f))}function i(f){return SM(f)?(t.consume(f),i):f===64?(t.consume(f),l):n(f)}function l(f){return f===46?t.check(eQe,d,u)(f):f===45||f===95||Aa(f)?(s=!0,t.consume(f),l):d(f)}function u(f){return t.consume(f),o=!0,l}function d(f){return s&&o&&qa(r.previous)?(t.exit("literalAutolinkEmail"),t.exit("literalAutolink"),e(f)):n(f)}}function rQe(t,e,n){const r=this;return o;function o(a){return a!==87&&a!==119||!Yfe.call(r,r.previous)||L7(r.events)?n(a):(t.enter("literalAutolink"),t.enter("literalAutolinkWww"),t.check(XZe,t.attempt(Ufe,t.attempt($fe,s),n),n)(a))}function s(a){return t.exit("literalAutolinkWww"),t.exit("literalAutolink"),e(a)}}function oQe(t,e,n){const r=this;let o="",s=!1;return a;function a(f){return(f===72||f===104)&&Gfe.call(r,r.previous)&&!L7(r.events)?(t.enter("literalAutolink"),t.enter("literalAutolinkHttp"),o+=String.fromCodePoint(f),t.consume(f),i):n(f)}function i(f){if(qa(f)&&o.length<5)return o+=String.fromCodePoint(f),t.consume(f),i;if(f===58){const m=o.toLowerCase();if(m==="http"||m==="https")return t.consume(f),l}return n(f)}function l(f){return f===47?(t.consume(f),s?u:(s=!0,l)):n(f)}function u(f){return f===null||yj(f)||$r(f)||_g(f)||rE(f)?n(f):t.attempt(Ufe,t.attempt($fe,d),n)(f)}function d(f){return t.exit("literalAutolinkHttp"),t.exit("literalAutolink"),e(f)}}function sQe(t,e,n){let r=0;return o;function o(a){return(a===87||a===119)&&r<3?(r++,t.consume(a),o):a===46&&r===3?(t.consume(a),s):n(a)}function s(a){return a===null?n(a):e(a)}}function aQe(t,e,n){let r,o,s;return a;function a(u){return u===46||u===95?t.check(Vfe,l,i)(u):u===null||$r(u)||_g(u)||u!==45&&rE(u)?l(u):(s=!0,t.consume(u),a)}function i(u){return u===95?r=!0:(o=r,r=void 0),t.consume(u),a}function l(u){return o||r||!s?n(u):e(u)}}function iQe(t,e){let n=0,r=0;return o;function o(a){return a===40?(n++,t.consume(a),o):a===41&&r<n?s(a):a===33||a===34||a===38||a===39||a===41||a===42||a===44||a===46||a===58||a===59||a===60||a===63||a===93||a===95||a===126?t.check(Vfe,e,s)(a):a===null||$r(a)||_g(a)?e(a):(t.consume(a),o)}function s(a){return a===41&&r++,t.consume(a),o}}function lQe(t,e,n){return r;function r(i){return i===33||i===34||i===39||i===41||i===42||i===44||i===46||i===58||i===59||i===63||i===95||i===126?(t.consume(i),r):i===38?(t.consume(i),s):i===93?(t.consume(i),o):i===60||i===null||$r(i)||_g(i)?e(i):n(i)}function o(i){return i===null||i===40||i===91||$r(i)||_g(i)?e(i):r(i)}function s(i){return qa(i)?a(i):n(i)}function a(i){return i===59?(t.consume(i),r):qa(i)?(t.consume(i),a):n(i)}}function cQe(t,e,n){return r;function r(s){return t.consume(s),o}function o(s){return Aa(s)?n(s):e(s)}}function Yfe(t){return t===null||t===40||t===42||t===95||t===91||t===93||t===126||$r(t)}function Gfe(t){return!qa(t)}function qfe(t){return!(t===47||SM(t))}function SM(t){return t===43||t===45||t===46||t===95||Aa(t)}function L7(t){let e=t.length,n=!1;for(;e--;){const r=t[e][1];if((r.type==="labelLink"||r.type==="labelImage")&&!r._balanced){n=!0;break}if(r._gfmAutolinkLiteralWalkedInto){n=!1;break}}return t.length>0&&!n&&(t[t.length-1][1]._gfmAutolinkLiteralWalkedInto=!0),n}const uQe={tokenize:vQe,partial:!0};function fQe(){return{document:{91:{name:"gfmFootnoteDefinition",tokenize:mQe,continuation:{tokenize:gQe},exit:yQe}},text:{91:{name:"gfmFootnoteCall",tokenize:hQe},93:{name:"gfmPotentialFootnoteCall",add:"after",tokenize:dQe,resolveTo:pQe}}}}function dQe(t,e,n){const r=this;let o=r.events.length;const s=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]);let a;for(;o--;){const l=r.events[o][1];if(l.type==="labelImage"){a=l;break}if(l.type==="gfmFootnoteCall"||l.type==="labelLink"||l.type==="label"||l.type==="image"||l.type==="link")break}return i;function i(l){if(!a||!a._balanced)return n(l);const u=Yc(r.sliceSerialize({start:a.end,end:r.now()}));return u.codePointAt(0)!==94||!s.includes(u.slice(1))?n(l):(t.enter("gfmFootnoteCallLabelMarker"),t.consume(l),t.exit("gfmFootnoteCallLabelMarker"),e(l))}}function pQe(t,e){let n=t.length;for(;n--;)if(t[n][1].type==="labelImage"&&t[n][0]==="enter"){t[n][1];break}t[n+1][1].type="data",t[n+3][1].type="gfmFootnoteCallLabelMarker";const r={type:"gfmFootnoteCall",start:Object.assign({},t[n+3][1].start),end:Object.assign({},t[t.length-1][1].end)},o={type:"gfmFootnoteCallMarker",start:Object.assign({},t[n+3][1].end),end:Object.assign({},t[n+3][1].end)};o.end.column++,o.end.offset++,o.end._bufferIndex++;const s={type:"gfmFootnoteCallString",start:Object.assign({},o.end),end:Object.assign({},t[t.length-1][1].start)},a={type:"chunkString",contentType:"string",start:Object.assign({},s.start),end:Object.assign({},s.end)},i=[t[n+1],t[n+2],["enter",r,e],t[n+3],t[n+4],["enter",o,e],["exit",o,e],["enter",s,e],["enter",a,e],["exit",a,e],["exit",s,e],t[t.length-2],t[t.length-1],["exit",r,e]];return t.splice(n,t.length-n+1,...i),t}function hQe(t,e,n){const r=this,o=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]);let s=0,a;return i;function i(f){return t.enter("gfmFootnoteCall"),t.enter("gfmFootnoteCallLabelMarker"),t.consume(f),t.exit("gfmFootnoteCallLabelMarker"),l}function l(f){return f!==94?n(f):(t.enter("gfmFootnoteCallMarker"),t.consume(f),t.exit("gfmFootnoteCallMarker"),t.enter("gfmFootnoteCallString"),t.enter("chunkString").contentType="string",u)}function u(f){if(s>999||f===93&&!a||f===null||f===91||$r(f))return n(f);if(f===93){t.exit("chunkString");const m=t.exit("gfmFootnoteCallString");return o.includes(Yc(r.sliceSerialize(m)))?(t.enter("gfmFootnoteCallLabelMarker"),t.consume(f),t.exit("gfmFootnoteCallLabelMarker"),t.exit("gfmFootnoteCall"),e):n(f)}return $r(f)||(a=!0),s++,t.consume(f),f===92?d:u}function d(f){return f===91||f===92||f===93?(t.consume(f),s++,u):u(f)}}function mQe(t,e,n){const r=this,o=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]);let s,a=0,i;return l;function l(w){return t.enter("gfmFootnoteDefinition")._container=!0,t.enter("gfmFootnoteDefinitionLabel"),t.enter("gfmFootnoteDefinitionLabelMarker"),t.consume(w),t.exit("gfmFootnoteDefinitionLabelMarker"),u}function u(w){return w===94?(t.enter("gfmFootnoteDefinitionMarker"),t.consume(w),t.exit("gfmFootnoteDefinitionMarker"),t.enter("gfmFootnoteDefinitionLabelString"),t.enter("chunkString").contentType="string",d):n(w)}function d(w){if(a>999||w===93&&!i||w===null||w===91||$r(w))return n(w);if(w===93){t.exit("chunkString");const b=t.exit("gfmFootnoteDefinitionLabelString");return s=Yc(r.sliceSerialize(b)),t.enter("gfmFootnoteDefinitionLabelMarker"),t.consume(w),t.exit("gfmFootnoteDefinitionLabelMarker"),t.exit("gfmFootnoteDefinitionLabel"),m}return $r(w)||(i=!0),a++,t.consume(w),w===92?f:d}function f(w){return w===91||w===92||w===93?(t.consume(w),a++,d):d(w)}function m(w){return w===58?(t.enter("definitionMarker"),t.consume(w),t.exit("definitionMarker"),o.includes(s)||o.push(s),ur(t,g,"gfmFootnoteDefinitionWhitespace")):n(w)}function g(w){return e(w)}}function gQe(t,e,n){return t.check(bx,e,t.attempt(uQe,e,n))}function yQe(t){t.exit("gfmFootnoteDefinition")}function vQe(t,e,n){const r=this;return ur(t,o,"gfmFootnoteDefinitionIndent",5);function o(s){const a=r.events[r.events.length-1];return a&&a[1].type==="gfmFootnoteDefinitionIndent"&&a[2].sliceSerialize(a[1],!0).length===4?e(s):n(s)}}function wQe(t){let n=(t||{}).singleTilde;const r={name:"strikethrough",tokenize:s,resolveAll:o};return n==null&&(n=!0),{text:{126:r},insideSpan:{null:[r]},attentionMarkers:{null:[126]}};function o(a,i){let l=-1;for(;++l<a.length;)if(a[l][0]==="enter"&&a[l][1].type==="strikethroughSequenceTemporary"&&a[l][1]._close){let u=l;for(;u--;)if(a[u][0]==="exit"&&a[u][1].type==="strikethroughSequenceTemporary"&&a[u][1]._open&&a[l][1].end.offset-a[l][1].start.offset===a[u][1].end.offset-a[u][1].start.offset){a[l][1].type="strikethroughSequence",a[u][1].type="strikethroughSequence";const d={type:"strikethrough",start:Object.assign({},a[u][1].start),end:Object.assign({},a[l][1].end)},f={type:"strikethroughText",start:Object.assign({},a[u][1].end),end:Object.assign({},a[l][1].start)},m=[["enter",d,i],["enter",a[u][1],i],["exit",a[u][1],i],["enter",f,i]],g=i.parser.constructs.insideSpan.null;g&&cl(m,m.length,0,oE(g,a.slice(u+1,l),i)),cl(m,m.length,0,[["exit",f,i],["enter",a[l][1],i],["exit",a[l][1],i],["exit",d,i]]),cl(a,u-1,l-u+3,m),l=u+m.length-2;break}}for(l=-1;++l<a.length;)a[l][1].type==="strikethroughSequenceTemporary"&&(a[l][1].type="data");return a}function s(a,i,l){const u=this.previous,d=this.events;let f=0;return m;function m(w){return u===126&&d[d.length-1][1].type!=="characterEscape"?l(w):(a.enter("strikethroughSequenceTemporary"),g(w))}function g(w){const b=xy(u);if(w===126)return f>1?l(w):(a.consume(w),f++,g);if(f<2&&!n)return l(w);const j=a.exit("strikethroughSequenceTemporary"),S=xy(w);return j._open=!S||S===2&&!!b,j._close=!b||b===2&&!!S,i(w)}}}class bQe{constructor(){this.map=[]}add(e,n,r){xQe(this,e,n,r)}consume(e){if(this.map.sort(function(s,a){return s[0]-a[0]}),this.map.length===0)return;let n=this.map.length;const r=[];for(;n>0;)n-=1,r.push(e.slice(this.map[n][0]+this.map[n][1]),this.map[n][2]),e.length=this.map[n][0];r.push(e.slice()),e.length=0;let o=r.pop();for(;o;){for(const s of o)e.push(s);o=r.pop()}this.map.length=0}}function xQe(t,e,n,r){let o=0;if(!(n===0&&r.length===0)){for(;o<t.map.length;){if(t.map[o][0]===e){t.map[o][1]+=n,t.map[o][2].push(...r);return}o+=1}t.map.push([e,n,r])}}function kQe(t,e){let n=!1;const r=[];for(;e<t.length;){const o=t[e];if(n){if(o[0]==="enter")o[1].type==="tableContent"&&r.push(t[e+1][1].type==="tableDelimiterMarker"?"left":"none");else if(o[1].type==="tableContent"){if(t[e-1][1].type==="tableDelimiterMarker"){const s=r.length-1;r[s]=r[s]==="left"?"center":"right"}}else if(o[1].type==="tableDelimiterRow")break}else o[0]==="enter"&&o[1].type==="tableDelimiterRow"&&(n=!0);e+=1}return r}function jQe(){return{flow:{null:{name:"table",tokenize:CQe,resolveAll:SQe}}}}function CQe(t,e,n){const r=this;let o=0,s=0,a;return i;function i(R){let z=r.events.length-1;for(;z>-1;){const W=r.events[z][1].type;if(W==="lineEnding"||W==="linePrefix")z--;else break}const Y=z>-1?r.events[z][1].type:null,Q=Y==="tableHead"||Y==="tableRow"?O:l;return Q===O&&r.parser.lazy[r.now().line]?n(R):Q(R)}function l(R){return t.enter("tableHead"),t.enter("tableRow"),u(R)}function u(R){return R===124||(a=!0,s+=1),d(R)}function d(R){return R===null?n(R):xn(R)?s>1?(s=0,r.interrupt=!0,t.exit("tableRow"),t.enter("lineEnding"),t.consume(R),t.exit("lineEnding"),g):n(R):er(R)?ur(t,d,"whitespace")(R):(s+=1,a&&(a=!1,o+=1),R===124?(t.enter("tableCellDivider"),t.consume(R),t.exit("tableCellDivider"),a=!0,d):(t.enter("data"),f(R)))}function f(R){return R===null||R===124||$r(R)?(t.exit("data"),d(R)):(t.consume(R),R===92?m:f)}function m(R){return R===92||R===124?(t.consume(R),f):f(R)}function g(R){return r.interrupt=!1,r.parser.lazy[r.now().line]?n(R):(t.enter("tableDelimiterRow"),a=!1,er(R)?ur(t,w,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(R):w(R))}function w(R){return R===45||R===58?j(R):R===124?(a=!0,t.enter("tableCellDivider"),t.consume(R),t.exit("tableCellDivider"),b):D(R)}function b(R){return er(R)?ur(t,j,"whitespace")(R):j(R)}function j(R){return R===58?(s+=1,a=!0,t.enter("tableDelimiterMarker"),t.consume(R),t.exit("tableDelimiterMarker"),S):R===45?(s+=1,S(R)):R===null||xn(R)?M(R):D(R)}function S(R){return R===45?(t.enter("tableDelimiterFiller"),I(R)):D(R)}function I(R){return R===45?(t.consume(R),I):R===58?(a=!0,t.exit("tableDelimiterFiller"),t.enter("tableDelimiterMarker"),t.consume(R),t.exit("tableDelimiterMarker"),N):(t.exit("tableDelimiterFiller"),N(R))}function N(R){return er(R)?ur(t,M,"whitespace")(R):M(R)}function M(R){return R===124?w(R):R===null||xn(R)?!a||o!==s?D(R):(t.exit("tableDelimiterRow"),t.exit("tableHead"),e(R)):D(R)}function D(R){return n(R)}function O(R){return t.enter("tableRow"),L(R)}function L(R){return R===124?(t.enter("tableCellDivider"),t.consume(R),t.exit("tableCellDivider"),L):R===null||xn(R)?(t.exit("tableRow"),e(R)):er(R)?ur(t,L,"whitespace")(R):(t.enter("data"),B(R))}function B(R){return R===null||R===124||$r(R)?(t.exit("data"),L(R)):(t.consume(R),R===92?T:B)}function T(R){return R===92||R===124?(t.consume(R),B):B(R)}}function SQe(t,e){let n=-1,r=!0,o=0,s=[0,0,0,0],a=[0,0,0,0],i=!1,l=0,u,d,f;const m=new bQe;for(;++n<t.length;){const g=t[n],w=g[1];g[0]==="enter"?w.type==="tableHead"?(i=!1,l!==0&&(nq(m,e,l,u,d),d=void 0,l=0),u={type:"table",start:Object.assign({},w.start),end:Object.assign({},w.end)},m.add(n,0,[["enter",u,e]])):w.type==="tableRow"||w.type==="tableDelimiterRow"?(r=!0,f=void 0,s=[0,0,0,0],a=[0,n+1,0,0],i&&(i=!1,d={type:"tableBody",start:Object.assign({},w.start),end:Object.assign({},w.end)},m.add(n,0,[["enter",d,e]])),o=w.type==="tableDelimiterRow"?2:d?3:1):o&&(w.type==="data"||w.type==="tableDelimiterMarker"||w.type==="tableDelimiterFiller")?(r=!1,a[2]===0&&(s[1]!==0&&(a[0]=a[1],f=V6(m,e,s,o,void 0,f),s=[0,0,0,0]),a[2]=n)):w.type==="tableCellDivider"&&(r?r=!1:(s[1]!==0&&(a[0]=a[1],f=V6(m,e,s,o,void 0,f)),s=a,a=[s[1],n,0,0])):w.type==="tableHead"?(i=!0,l=n):w.type==="tableRow"||w.type==="tableDelimiterRow"?(l=n,s[1]!==0?(a[0]=a[1],f=V6(m,e,s,o,n,f)):a[1]!==0&&(f=V6(m,e,a,o,n,f)),o=0):o&&(w.type==="data"||w.type==="tableDelimiterMarker"||w.type==="tableDelimiterFiller")&&(a[3]=n)}for(l!==0&&nq(m,e,l,u,d),m.consume(e.events),n=-1;++n<e.events.length;){const g=e.events[n];g[0]==="enter"&&g[1].type==="table"&&(g[1]._align=kQe(e.events,n))}return t}function V6(t,e,n,r,o,s){const a=r===1?"tableHeader":r===2?"tableDelimiter":"tableData",i="tableContent";n[0]!==0&&(s.end=Object.assign({},c0(e.events,n[0])),t.add(n[0],0,[["exit",s,e]]));const l=c0(e.events,n[1]);if(s={type:a,start:Object.assign({},l),end:Object.assign({},l)},t.add(n[1],0,[["enter",s,e]]),n[2]!==0){const u=c0(e.events,n[2]),d=c0(e.events,n[3]),f={type:i,start:Object.assign({},u),end:Object.assign({},d)};if(t.add(n[2],0,[["enter",f,e]]),r!==2){const m=e.events[n[2]],g=e.events[n[3]];if(m[1].end=Object.assign({},g[1].end),m[1].type="chunkText",m[1].contentType="text",n[3]>n[2]+1){const w=n[2]+1,b=n[3]-n[2]-1;t.add(w,b,[])}}t.add(n[3]+1,0,[["exit",f,e]])}return o!==void 0&&(s.end=Object.assign({},c0(e.events,o)),t.add(o,0,[["exit",s,e]]),s=void 0),s}function nq(t,e,n,r,o){const s=[],a=c0(e.events,n);o&&(o.end=Object.assign({},a),s.push(["exit",o,e])),r.end=Object.assign({},a),s.push(["exit",r,e]),t.add(n+1,0,s)}function c0(t,e){const n=t[e],r=n[0]==="enter"?"start":"end";return n[1][r]}const EQe={name:"tasklistCheck",tokenize:IQe};function NQe(){return{text:{91:EQe}}}function IQe(t,e,n){const r=this;return o;function o(l){return r.previous!==null||!r._gfmTasklistFirstContentOfListItem?n(l):(t.enter("taskListCheck"),t.enter("taskListCheckMarker"),t.consume(l),t.exit("taskListCheckMarker"),s)}function s(l){return $r(l)?(t.enter("taskListCheckValueUnchecked"),t.consume(l),t.exit("taskListCheckValueUnchecked"),a):l===88||l===120?(t.enter("taskListCheckValueChecked"),t.consume(l),t.exit("taskListCheckValueChecked"),a):n(l)}function a(l){return l===93?(t.enter("taskListCheckMarker"),t.consume(l),t.exit("taskListCheckMarker"),t.exit("taskListCheck"),i):n(l)}function i(l){return xn(l)?e(l):er(l)?t.check({tokenize:AQe},e,n)(l):n(l)}}function AQe(t,e,n){return ur(t,r,"whitespace");function r(o){return o===null?n(o):e(o)}}function _Qe(t){return rfe([tQe(),fQe(),wQe(t),jQe(),NQe()])}const MQe={};function Kfe(t){const e=this,n=t||MQe,r=e.data(),o=r.micromarkExtensions||(r.micromarkExtensions=[]),s=r.fromMarkdownExtensions||(r.fromMarkdownExtensions=[]),a=r.toMarkdownExtensions||(r.toMarkdownExtensions=[]);o.push(_Qe(n)),s.push(QZe()),a.push(JZe(n))}function RQe(t){Sfe(t,[/\r?\n|\r/g,TQe])}function TQe(){return{type:"break"}}function DQe(){return function(t){RQe(t)}}const LQe=h.memo(function({text:e}){return c.jsx(Cfe,{remarkPlugins:[Kfe,DQe],components:{a:({href:n,children:r,...o})=>c.jsxs("a",{...o,href:n,target:"_blank",rel:"noreferrer noopener",className:"break-words inline-flex items-baseline gap-1 underline text-foreground",children:[r," ",c.jsx(nf,{className:"size-3"})]}),p:({children:n,...r})=>c.jsx("span",{...r,className:"break-words",children:n}),code:({className:n,children:r,...o})=>(n==null?void 0:n.startsWith("language-"))?c.jsx("code",{...o,className:`${n??""} break-words whitespace-pre-wrap`,children:r}):c.jsx("code",{...o,className:"bg-muted px-1 py-0.5 rounded text-sm break-words",children:r}),pre:n=>c.jsx("pre",{...n,className:"bg-muted rounded-md p-3 overflow-x-auto my-2 text-sm whitespace-pre-wrap"}),img:n=>c.jsx("img",{...n,className:"max-w-full max-h-[50vh] object-contain rounded-md my-2",loading:"lazy"})},children:e})});function pd({event:t,content:e,className:n,mustLoadMedia:r,enableHighlight:o=!1,enableMarkdown:s}){const{enableMarkdown:a}=lo(),i=s??a,l=h.useRef(null),[u,d]=h.useState(!1),[f,m]=h.useState(""),{nodes:g,allImages:w,lastNormalUrl:b,emojiInfos:j}=h.useMemo(()=>{const N=(t==null?void 0:t.content)??e;if(!N)return{};const M=qg(N,[VS,dx,nv,cBe,LL,$S,px]),D=t?xT(t):[],O=M.map(R=>{if(R.type==="image"){const z=D.find(Q=>Q.url===R.data);if(z)return z;const Y=lh.getImetaTagByUrl(R.data);return Y?Eee(Y,t==null?void 0:t.pubkey):{url:R.data,pubkey:t==null?void 0:t.pubkey}}return R.type==="images"?(Array.isArray(R.data)?R.data:[R.data]).map(Y=>D.find(W=>W.url===Y)??{url:Y,pubkey:t==null?void 0:t.pubkey}):null}).filter(Boolean).flat(),L=th(t==null?void 0:t.tags),B=M.findLast(R=>R.type==="url"),T=typeof(B==null?void 0:B.data)=="string"?B.data:void 0;return{nodes:M,allImages:O,emojiInfos:L,lastNormalUrl:T}},[t,e]);if(!g||g.length===0)return null;const S=N=>{m(N),d(!0)};let I=0;return c.jsxs(c.Fragment,{children:[c.jsxs("div",{ref:l,className:Re("text-wrap break-words prose prose-zinc dark:prose-invert max-w-none prose-p:mt-0 prose-p:mb-2 prose-headings:my-2 prose-ul:my-1 prose-ol:my-1 prose-pre:my-2 prose-blockquote:my-2",n),children:[g.map((N,M)=>{if(N.type==="text"){if(!i)return c.jsx("span",{className:"whitespace-pre-wrap",children:N.data},M);const D=N.data.split(/\n\s*\n/);return c.jsx("span",{children:D.map((O,L)=>{var z,Y;const B=((z=O.match(/^(\s+)/))==null?void 0:z[1])??"",T=((Y=O.match(/(\s+)$/))==null?void 0:Y[1])??"",R=O.slice(B.length,O.length-T.length);return c.jsxs("span",{children:[L>0&&c.jsx("span",{className:"block mb-2"}),B,R?c.jsx(LQe,{text:R}):null,T]},L)})},M)}if(N.type==="image"||N.type==="images"){const D=I,O=I+(Array.isArray(N.data)?N.data.length:1);return I=O,c.jsx(sWe,{className:"mt-2",images:w,start:D,end:O,mustLoad:r},M)}if(N.type==="media")return c.jsx(v7,{className:"mt-2",src:N.data,mustLoad:r},M);if(N.type==="url")return c.jsx(jd,{url:N.data},M);if(N.type==="invoice")return c.jsx(yle,{invoice:N.data,className:"mt-2"},M);if(N.type==="websocket-url")return c.jsx(FP,{url:N.data},M);if(N.type==="event"){const D=N.data.split(":")[1];return D?c.jsx(ige,{noteId:D,className:"mt-2"},M):c.jsx("span",{children:N.data},M)}if(N.type==="mention"){const D=N.data.split(":")[1];return D?c.jsx(WS,{userId:D},M):c.jsx("span",{children:N.data},M)}if(N.type==="hashtag")return c.jsx(HS,{hashtag:N.data},M);if(N.type==="emoji"){const D=N.data.split(":")[1],O=j.find(L=>L.shortcode===D);return O?c.jsx(Mi,{classNames:{img:"mb-1"},emoji:O},M):N.data}return N.type==="youtube"?c.jsx($ue,{url:N.data,className:"mt-2",mustLoad:r},M):N.type==="x-post"?c.jsx(Bue,{url:N.data,className:"mt-2",mustLoad:r},M):null}),b&&c.jsx(zue,{className:"mt-2",url:b})]}),o&&c.jsx(aue,{onHighlight:S,containerRef:l}),o&&c.jsx(r1,{highlightedText:f,parentStuff:t,open:u,setOpen:d})]})}function P7({pubkey:t,userId:e}){const{t:n}=qe(),{followingSet:r}=Gg();return h.useMemo(()=>{var s;return t?r.has(t):e?r.has(((s=Ut.tryFromString(e))==null?void 0:s.hex)??e):!1},[r,t,e])?c.jsx("div",{className:"rounded-full bg-muted px-2 py-0.5 flex items-center",title:n("Following"),children:c.jsx(X7e,{className:"!size-3"})}):null}function mh({timestamp:t,short:e=!1,className:n}){return c.jsx("span",{className:n,children:c.jsx(PQe,{timestamp:t,short:e})})}function PQe({timestamp:t,short:e=!1}){const{t:n}=qe(),r=Nn(t*1e3),o=Nn();if(o.diff(r,"month")>=2)return n("date",{timestamp:r.valueOf()});const a=o.diff(r,"day");if(a>=1)return e?n("n d",{n:a}):n("day ago",{count:a});const i=o.diff(r,"hour");if(i>=1)return e?n("n h",{n:i}):n("hour ago",{count:i});const l=o.diff(r,"minute");return l>=1?e?n("n m",{n:l}):n("minute ago",{count:l}):n("just now")}function OQe({menuActions:t,trigger:e}){return c.jsxs(li,{children:[c.jsx(Ti,{asChild:!0,children:e}),c.jsx(ci,{className:"max-h-[50vh] overflow-y-auto",children:t.map((n,r)=>{const o=n.icon;return c.jsxs("div",{children:[n.separator&&r>0&&c.jsx(hh,{}),n.subMenu?c.jsxs(yVe,{children:[c.jsxs(rue,{className:n.className,children:[c.jsx(o,{}),n.label]}),c.jsx(oue,{className:"max-h-[50vh] overflow-y-auto",showScrollButtons:!0,children:n.subMenu.map((s,a)=>c.jsxs("div",{children:[s.separator&&a>0&&c.jsx(hh,{}),c.jsx(Sr,{onClick:s.onClick,className:Re("w-64",s.className),children:s.label})]},a))})]}):c.jsxs(Sr,{onClick:n.onClick,className:n.className,children:[c.jsx(o,{}),n.label]})]},r)})})]})}function zQe({menuActions:t,trigger:e,isDrawerOpen:n,setIsDrawerOpen:r,showSubMenu:o,activeSubMenu:s,subMenuTitle:a,closeDrawer:i,goBackToMainMenu:l}){return c.jsxs(c.Fragment,{children:[e,c.jsxs(ao,{open:n,onOpenChange:r,children:[c.jsx(fc,{onClick:i}),c.jsx(io,{hideOverlay:!0,className:"max-h-[80vh]",children:c.jsx("div",{className:"overflow-y-auto overscroll-contain py-2",style:{touchAction:"pan-y"},children:o?c.jsxs(c.Fragment,{children:[c.jsxs(Le,{onClick:l,className:"w-full p-6 justify-start text-lg gap-4 [&_svg]:size-5 mb-2",variant:"ghost",children:[c.jsx(Zm,{}),a]}),c.jsx("div",{className:"border-t border-border mb-2"}),s.map((u,d)=>c.jsx(Le,{onClick:u.onClick,className:`w-full p-6 justify-start text-lg gap-4 ${u.className||""}`,variant:"ghost",children:u.label},d))]}):t.map((u,d)=>{const f=u.icon;return c.jsxs(Le,{onClick:u.onClick,className:`w-full p-6 justify-start text-lg gap-4 [&_svg]:size-5 ${u.className||""}`,variant:"ghost",children:[c.jsx(f,{}),u.label]},d)})})})]})]})}function FQe(t,e){typeof t=="function"?t(e):t!=null&&(t.current=e)}function Zfe(...t){return e=>t.forEach(n=>FQe(n,e))}function e1(...t){return h.useCallback(Zfe(...t),t)}var Qfe=h.forwardRef((t,e)=>{const{children:n,...r}=t,o=h.Children.toArray(n),s=o.find(UQe);if(s){const a=s.props.children,i=o.map(l=>l===s?h.Children.count(a)>1?h.Children.only(null):h.isValidElement(a)?a.props.children:null:l);return c.jsx(EM,{...r,ref:e,children:h.isValidElement(a)?h.cloneElement(a,void 0,i):null})}return c.jsx(EM,{...r,ref:e,children:n})});Qfe.displayName="Slot";var EM=h.forwardRef((t,e)=>{const{children:n,...r}=t;if(h.isValidElement(n)){const o=VQe(n);return h.cloneElement(n,{...$Qe(r,n.props),ref:e?Zfe(e,o):o})}return h.Children.count(n)>1?h.Children.only(null):null});EM.displayName="SlotClone";var BQe=({children:t})=>c.jsx(c.Fragment,{children:t});function UQe(t){return h.isValidElement(t)&&t.type===BQe}function $Qe(t,e){const n={...e};for(const r in e){const o=t[r],s=e[r];/^on[A-Z]/.test(r)?o&&s?n[r]=(...i)=>{s(...i),o(...i)}:o&&(n[r]=o):r==="style"?n[r]={...o,...s}:r==="className"&&(n[r]=[o,s].filter(Boolean).join(" "))}return{...t,...n}}function VQe(t){var r,o;let e=(r=Object.getOwnPropertyDescriptor(t.props,"ref"))==null?void 0:r.get,n=e&&"isReactWarning"in e&&e.isReactWarning;return n?t.ref:(e=(o=Object.getOwnPropertyDescriptor(t,"ref"))==null?void 0:o.get,n=e&&"isReactWarning"in e&&e.isReactWarning,n?t.props.ref:t.props.ref||t.ref)}var HQe=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","span","svg","ul"],kx=HQe.reduce((t,e)=>{const n=h.forwardRef((r,o)=>{const{asChild:s,...a}=r,i=s?Qfe:e;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),c.jsx(i,{...a,ref:o})});return n.displayName=`Primitive.${e}`,{...t,[e]:n}},{});function WQe(t,e){return h.useReducer((n,r)=>e[n][r]??n,t)}var jx=t=>{const{present:e,children:n}=t,r=YQe(e),o=typeof n=="function"?n({present:r.isPresent}):h.Children.only(n),s=e1(r.ref,GQe(o));return typeof n=="function"||r.isPresent?h.cloneElement(o,{ref:s}):null};jx.displayName="Presence";function YQe(t){const[e,n]=h.useState(),r=h.useRef({}),o=h.useRef(t),s=h.useRef("none"),a=t?"mounted":"unmounted",[i,l]=WQe(a,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return h.useEffect(()=>{const u=H6(r.current);s.current=i==="mounted"?u:"none"},[i]),fr(()=>{const u=r.current,d=o.current;if(d!==t){const m=s.current,g=H6(u);t?l("MOUNT"):g==="none"||(u==null?void 0:u.display)==="none"?l("UNMOUNT"):l(d&&m!==g?"ANIMATION_OUT":"UNMOUNT"),o.current=t}},[t,l]),fr(()=>{if(e){let u;const d=e.ownerDocument.defaultView??window,f=g=>{const b=H6(r.current).includes(g.animationName);if(g.target===e&&b&&(l("ANIMATION_END"),!o.current)){const j=e.style.animationFillMode;e.style.animationFillMode="forwards",u=d.setTimeout(()=>{e.style.animationFillMode==="forwards"&&(e.style.animationFillMode=j)})}},m=g=>{g.target===e&&(s.current=H6(r.current))};return e.addEventListener("animationstart",m),e.addEventListener("animationcancel",f),e.addEventListener("animationend",f),()=>{d.clearTimeout(u),e.removeEventListener("animationstart",m),e.removeEventListener("animationcancel",f),e.removeEventListener("animationend",f)}}else l("ANIMATION_END")},[e,l]),{isPresent:["mounted","unmountSuspended"].includes(i),ref:h.useCallback(u=>{u&&(r.current=getComputedStyle(u)),n(u)},[])}}function H6(t){return(t==null?void 0:t.animationName)||"none"}function GQe(t){var r,o;let e=(r=Object.getOwnPropertyDescriptor(t.props,"ref"))==null?void 0:r.get,n=e&&"isReactWarning"in e&&e.isReactWarning;return n?t.ref:(e=(o=Object.getOwnPropertyDescriptor(t,"ref"))==null?void 0:o.get,n=e&&"isReactWarning"in e&&e.isReactWarning,n?t.props.ref:t.props.ref||t.ref)}function qQe(t,e=[]){let n=[];function r(s,a){const i=h.createContext(a),l=n.length;n=[...n,a];const u=f=>{var S;const{scope:m,children:g,...w}=f,b=((S=m==null?void 0:m[t])==null?void 0:S[l])||i,j=h.useMemo(()=>w,Object.values(w));return c.jsx(b.Provider,{value:j,children:g})};u.displayName=s+"Provider";function d(f,m){var b;const g=((b=m==null?void 0:m[t])==null?void 0:b[l])||i,w=h.useContext(g);if(w)return w;if(a!==void 0)return a;throw new Error(`\`${f}\` must be used within \`${s}\``)}return[u,d]}const o=()=>{const s=n.map(a=>h.createContext(a));return function(i){const l=(i==null?void 0:i[t])||s;return h.useMemo(()=>({[`__scope${t}`]:{...i,[t]:l}}),[i,l])}};return o.scopeName=t,[r,KQe(o,...e)]}function KQe(...t){const e=t[0];if(t.length===1)return e;const n=()=>{const r=t.map(o=>({useScope:o(),scopeName:o.scopeName}));return function(s){const a=r.reduce((i,{useScope:l,scopeName:u})=>{const f=l(s)[`__scope${u}`];return{...i,...f}},{});return h.useMemo(()=>({[`__scope${e.scopeName}`]:a}),[a])}};return n.scopeName=e.scopeName,n}var ZQe=h.createContext(void 0);function QQe(t){const e=h.useContext(ZQe);return t||e||"ltr"}function NM(t,[e,n]){return Math.min(n,Math.max(e,t))}function Qm(t,e,{checkForDefaultPrevented:n=!0}={}){return function(o){if(t==null||t(o),n===!1||!o.defaultPrevented)return e==null?void 0:e(o)}}function JQe(t,e){return h.useReducer((n,r)=>e[n][r]??n,t)}var O7="ScrollArea",[Jfe]=qQe(O7),[XQe,hc]=Jfe(O7),Xfe=h.forwardRef((t,e)=>{const{__scopeScrollArea:n,type:r="hover",dir:o,scrollHideDelay:s=600,...a}=t,[i,l]=h.useState(null),[u,d]=h.useState(null),[f,m]=h.useState(null),[g,w]=h.useState(null),[b,j]=h.useState(null),[S,I]=h.useState(0),[N,M]=h.useState(0),[D,O]=h.useState(!1),[L,B]=h.useState(!1),T=e1(e,z=>l(z)),R=QQe(o);return c.jsx(XQe,{scope:n,type:r,dir:R,scrollHideDelay:s,scrollArea:i,viewport:u,onViewportChange:d,content:f,onContentChange:m,scrollbarX:g,onScrollbarXChange:w,scrollbarXEnabled:D,onScrollbarXEnabledChange:O,scrollbarY:b,onScrollbarYChange:j,scrollbarYEnabled:L,onScrollbarYEnabledChange:B,onCornerWidthChange:I,onCornerHeightChange:M,children:c.jsx(kx.div,{dir:R,...a,ref:T,style:{position:"relative","--radix-scroll-area-corner-width":S+"px","--radix-scroll-area-corner-height":N+"px",...t.style}})})});Xfe.displayName=O7;var ede="ScrollAreaViewport",tde=h.forwardRef((t,e)=>{const{__scopeScrollArea:n,children:r,asChild:o,nonce:s,...a}=t,i=hc(ede,n),l=h.useRef(null),u=e1(e,l,i.onViewportChange);return c.jsxs(c.Fragment,{children:[c.jsx("style",{dangerouslySetInnerHTML:{__html:`
2084 [data-radix-scroll-area-viewport] {
2085 scrollbar-width: none;
2086 -ms-overflow-style: none;
2087 -webkit-overflow-scrolling: touch;
2088 }
2089 [data-radix-scroll-area-viewport]::-webkit-scrollbar {
2090 display: none;
2091 }
2092 :where([data-radix-scroll-area-viewport]) {
2093 display: flex;
2094 flex-direction: column;
2095 align-items: stretch;
2096 }
2097 :where([data-radix-scroll-area-content]) {
2098 flex-grow: 1;
2099 }
2100 `},nonce:s}),c.jsx(kx.div,{"data-radix-scroll-area-viewport":"",...a,asChild:o,ref:u,style:{overflowX:i.scrollbarXEnabled?"scroll":"hidden",overflowY:i.scrollbarYEnabled?"scroll":"hidden",...t.style},children:cJe({asChild:o,children:r},d=>c.jsx("div",{"data-radix-scroll-area-content":"",ref:i.onContentChange,style:{minWidth:i.scrollbarXEnabled?"fit-content":void 0},children:d}))})]})});tde.displayName=ede;var kf="ScrollAreaScrollbar",z7=h.forwardRef((t,e)=>{const{forceMount:n,...r}=t,o=hc(kf,t.__scopeScrollArea),{onScrollbarXEnabledChange:s,onScrollbarYEnabledChange:a}=o,i=t.orientation==="horizontal";return h.useEffect(()=>(i?s(!0):a(!0),()=>{i?s(!1):a(!1)}),[i,s,a]),o.type==="hover"?c.jsx(eJe,{...r,ref:e,forceMount:n}):o.type==="scroll"?c.jsx(tJe,{...r,ref:e,forceMount:n}):o.type==="auto"?c.jsx(nde,{...r,ref:e,forceMount:n}):o.type==="always"?c.jsx(F7,{...r,ref:e}):null});z7.displayName=kf;var eJe=h.forwardRef((t,e)=>{const{forceMount:n,...r}=t,o=hc(kf,t.__scopeScrollArea),[s,a]=h.useState(!1);return h.useEffect(()=>{const i=o.scrollArea;let l=0;if(i){const u=()=>{window.clearTimeout(l),a(!0)},d=()=>{l=window.setTimeout(()=>a(!1),o.scrollHideDelay)};return i.addEventListener("pointerenter",u),i.addEventListener("pointerleave",d),()=>{window.clearTimeout(l),i.removeEventListener("pointerenter",u),i.removeEventListener("pointerleave",d)}}},[o.scrollArea,o.scrollHideDelay]),c.jsx(jx,{present:n||s,children:c.jsx(nde,{"data-state":s?"visible":"hidden",...r,ref:e})})}),tJe=h.forwardRef((t,e)=>{const{forceMount:n,...r}=t,o=hc(kf,t.__scopeScrollArea),s=t.orientation==="horizontal",a=uE(()=>l("SCROLL_END"),100),[i,l]=JQe("hidden",{hidden:{SCROLL:"scrolling"},scrolling:{SCROLL_END:"idle",POINTER_ENTER:"interacting"},interacting:{SCROLL:"interacting",POINTER_LEAVE:"idle"},idle:{HIDE:"hidden",SCROLL:"scrolling",POINTER_ENTER:"interacting"}});return h.useEffect(()=>{if(i==="idle"){const u=window.setTimeout(()=>l("HIDE"),o.scrollHideDelay);return()=>window.clearTimeout(u)}},[i,o.scrollHideDelay,l]),h.useEffect(()=>{const u=o.viewport,d=s?"scrollLeft":"scrollTop";if(u){let f=u[d];const m=()=>{const g=u[d];f!==g&&(l("SCROLL"),a()),f=g};return u.addEventListener("scroll",m),()=>u.removeEventListener("scroll",m)}},[o.viewport,s,l,a]),c.jsx(jx,{present:n||i!=="hidden",children:c.jsx(F7,{"data-state":i==="hidden"?"hidden":"visible",...r,ref:e,onPointerEnter:Qm(t.onPointerEnter,()=>l("POINTER_ENTER")),onPointerLeave:Qm(t.onPointerLeave,()=>l("POINTER_LEAVE"))})})}),nde=h.forwardRef((t,e)=>{const n=hc(kf,t.__scopeScrollArea),{forceMount:r,...o}=t,[s,a]=h.useState(!1),i=t.orientation==="horizontal",l=uE(()=>{if(n.viewport){const u=n.viewport.offsetWidth<n.viewport.scrollWidth,d=n.viewport.offsetHeight<n.viewport.scrollHeight;a(i?u:d)}},10);return ky(n.viewport,l),ky(n.content,l),c.jsx(jx,{present:r||s,children:c.jsx(F7,{"data-state":s?"visible":"hidden",...o,ref:e})})}),F7=h.forwardRef((t,e)=>{const{orientation:n="vertical",...r}=t,o=hc(kf,t.__scopeScrollArea),s=h.useRef(null),a=h.useRef(0),[i,l]=h.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),u=ide(i.viewport,i.content),d={...r,sizes:i,onSizesChange:l,hasThumb:u>0&&u<1,onThumbChange:m=>s.current=m,onThumbPointerUp:()=>a.current=0,onThumbPointerDown:m=>a.current=m};function f(m,g){return iJe(m,a.current,i,g)}return n==="horizontal"?c.jsx(nJe,{...d,ref:e,onThumbPositionChange:()=>{if(o.viewport&&s.current){const m=o.viewport.scrollLeft,g=rq(m,i,o.dir);s.current.style.transform=`translate3d(${g}px, 0, 0)`}},onWheelScroll:m=>{o.viewport&&(o.viewport.scrollLeft=m)},onDragScroll:m=>{o.viewport&&(o.viewport.scrollLeft=f(m,o.dir))}}):n==="vertical"?c.jsx(rJe,{...d,ref:e,onThumbPositionChange:()=>{if(o.viewport&&s.current){const m=o.viewport.scrollTop,g=rq(m,i);s.current.style.transform=`translate3d(0, ${g}px, 0)`}},onWheelScroll:m=>{o.viewport&&(o.viewport.scrollTop=m)},onDragScroll:m=>{o.viewport&&(o.viewport.scrollTop=f(m))}}):null}),nJe=h.forwardRef((t,e)=>{const{sizes:n,onSizesChange:r,...o}=t,s=hc(kf,t.__scopeScrollArea),[a,i]=h.useState(),l=h.useRef(null),u=e1(e,l,s.onScrollbarXChange);return h.useEffect(()=>{l.current&&i(getComputedStyle(l.current))},[l]),c.jsx(ode,{"data-orientation":"horizontal",...o,ref:u,sizes:n,style:{bottom:0,left:s.dir==="rtl"?"var(--radix-scroll-area-corner-width)":0,right:s.dir==="ltr"?"var(--radix-scroll-area-corner-width)":0,"--radix-scroll-area-thumb-width":cE(n)+"px",...t.style},onThumbPointerDown:d=>t.onThumbPointerDown(d.x),onDragScroll:d=>t.onDragScroll(d.x),onWheelScroll:(d,f)=>{if(s.viewport){const m=s.viewport.scrollLeft+d.deltaX;t.onWheelScroll(m),cde(m,f)&&d.preventDefault()}},onResize:()=>{l.current&&s.viewport&&a&&r({content:s.viewport.scrollWidth,viewport:s.viewport.offsetWidth,scrollbar:{size:l.current.clientWidth,paddingStart:kj(a.paddingLeft),paddingEnd:kj(a.paddingRight)}})}})}),rJe=h.forwardRef((t,e)=>{const{sizes:n,onSizesChange:r,...o}=t,s=hc(kf,t.__scopeScrollArea),[a,i]=h.useState(),l=h.useRef(null),u=e1(e,l,s.onScrollbarYChange);return h.useEffect(()=>{l.current&&i(getComputedStyle(l.current))},[l]),c.jsx(ode,{"data-orientation":"vertical",...o,ref:u,sizes:n,style:{top:0,right:s.dir==="ltr"?0:void 0,left:s.dir==="rtl"?0:void 0,bottom:"var(--radix-scroll-area-corner-height)","--radix-scroll-area-thumb-height":cE(n)+"px",...t.style},onThumbPointerDown:d=>t.onThumbPointerDown(d.y),onDragScroll:d=>t.onDragScroll(d.y),onWheelScroll:(d,f)=>{if(s.viewport){const m=s.viewport.scrollTop+d.deltaY;t.onWheelScroll(m),cde(m,f)&&d.preventDefault()}},onResize:()=>{l.current&&s.viewport&&a&&r({content:s.viewport.scrollHeight,viewport:s.viewport.offsetHeight,scrollbar:{size:l.current.clientHeight,paddingStart:kj(a.paddingTop),paddingEnd:kj(a.paddingBottom)}})}})}),[oJe,rde]=Jfe(kf),ode=h.forwardRef((t,e)=>{const{__scopeScrollArea:n,sizes:r,hasThumb:o,onThumbChange:s,onThumbPointerUp:a,onThumbPointerDown:i,onThumbPositionChange:l,onDragScroll:u,onWheelScroll:d,onResize:f,...m}=t,g=hc(kf,n),[w,b]=h.useState(null),j=e1(e,T=>b(T)),S=h.useRef(null),I=h.useRef(""),N=g.viewport,M=r.content-r.viewport,D=or(d),O=or(l),L=uE(f,10);function B(T){if(S.current){const R=T.clientX-S.current.left,z=T.clientY-S.current.top;u({x:R,y:z})}}return h.useEffect(()=>{const T=R=>{const z=R.target;(w==null?void 0:w.contains(z))&&D(R,M)};return document.addEventListener("wheel",T,{passive:!1}),()=>document.removeEventListener("wheel",T,{passive:!1})},[N,w,M,D]),h.useEffect(O,[r,O]),ky(w,L),ky(g.content,L),c.jsx(oJe,{scope:n,scrollbar:w,hasThumb:o,onThumbChange:or(s),onThumbPointerUp:or(a),onThumbPositionChange:O,onThumbPointerDown:or(i),children:c.jsx(kx.div,{...m,ref:j,style:{position:"absolute",...m.style},onPointerDown:Qm(t.onPointerDown,T=>{T.button===0&&(T.target.setPointerCapture(T.pointerId),S.current=w.getBoundingClientRect(),I.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect="none",g.viewport&&(g.viewport.style.scrollBehavior="auto"),B(T))}),onPointerMove:Qm(t.onPointerMove,B),onPointerUp:Qm(t.onPointerUp,T=>{const R=T.target;R.hasPointerCapture(T.pointerId)&&R.releasePointerCapture(T.pointerId),document.body.style.webkitUserSelect=I.current,g.viewport&&(g.viewport.style.scrollBehavior=""),S.current=null})})})}),xj="ScrollAreaThumb",sde=h.forwardRef((t,e)=>{const{forceMount:n,...r}=t,o=rde(xj,t.__scopeScrollArea);return c.jsx(jx,{present:n||o.hasThumb,children:c.jsx(sJe,{ref:e,...r})})}),sJe=h.forwardRef((t,e)=>{const{__scopeScrollArea:n,style:r,...o}=t,s=hc(xj,n),a=rde(xj,n),{onThumbPositionChange:i}=a,l=e1(e,f=>a.onThumbChange(f)),u=h.useRef(),d=uE(()=>{u.current&&(u.current(),u.current=void 0)},100);return h.useEffect(()=>{const f=s.viewport;if(f){const m=()=>{if(d(),!u.current){const g=lJe(f,i);u.current=g,i()}};return i(),f.addEventListener("scroll",m),()=>f.removeEventListener("scroll",m)}},[s.viewport,d,i]),c.jsx(kx.div,{"data-state":a.hasThumb?"visible":"hidden",...o,ref:l,style:{width:"var(--radix-scroll-area-thumb-width)",height:"var(--radix-scroll-area-thumb-height)",...r},onPointerDownCapture:Qm(t.onPointerDownCapture,f=>{const g=f.target.getBoundingClientRect(),w=f.clientX-g.left,b=f.clientY-g.top;a.onThumbPointerDown({x:w,y:b})}),onPointerUp:Qm(t.onPointerUp,a.onThumbPointerUp)})});sde.displayName=xj;var B7="ScrollAreaCorner",ade=h.forwardRef((t,e)=>{const n=hc(B7,t.__scopeScrollArea),r=!!(n.scrollbarX&&n.scrollbarY);return n.type!=="scroll"&&r?c.jsx(aJe,{...t,ref:e}):null});ade.displayName=B7;var aJe=h.forwardRef((t,e)=>{const{__scopeScrollArea:n,...r}=t,o=hc(B7,n),[s,a]=h.useState(0),[i,l]=h.useState(0),u=!!(s&&i);return ky(o.scrollbarX,()=>{var f;const d=((f=o.scrollbarX)==null?void 0:f.offsetHeight)||0;o.onCornerHeightChange(d),l(d)}),ky(o.scrollbarY,()=>{var f;const d=((f=o.scrollbarY)==null?void 0:f.offsetWidth)||0;o.onCornerWidthChange(d),a(d)}),u?c.jsx(kx.div,{...r,ref:e,style:{width:s,height:i,position:"absolute",right:o.dir==="ltr"?0:void 0,left:o.dir==="rtl"?0:void 0,bottom:0,...t.style}}):null});function kj(t){return t?parseInt(t,10):0}function ide(t,e){const n=t/e;return isNaN(n)?0:n}function cE(t){const e=ide(t.viewport,t.content),n=t.scrollbar.paddingStart+t.scrollbar.paddingEnd,r=(t.scrollbar.size-n)*e;return Math.max(r,18)}function iJe(t,e,n,r="ltr"){const o=cE(n),s=o/2,a=e||s,i=o-a,l=n.scrollbar.paddingStart+a,u=n.scrollbar.size-n.scrollbar.paddingEnd-i,d=n.content-n.viewport,f=r==="ltr"?[0,d]:[d*-1,0];return lde([l,u],f)(t)}function rq(t,e,n="ltr"){const r=cE(e),o=e.scrollbar.paddingStart+e.scrollbar.paddingEnd,s=e.scrollbar.size-o,a=e.content-e.viewport,i=s-r,l=n==="ltr"?[0,a]:[a*-1,0],u=NM(t,l);return lde([0,a],[0,i])(u)}function lde(t,e){return n=>{if(t[0]===t[1]||e[0]===e[1])return e[0];const r=(e[1]-e[0])/(t[1]-t[0]);return e[0]+r*(n-t[0])}}function cde(t,e){return t>0&&t<e}var lJe=(t,e=()=>{})=>{let n={left:t.scrollLeft,top:t.scrollTop},r=0;return(function o(){const s={left:t.scrollLeft,top:t.scrollTop},a=n.left!==s.left,i=n.top!==s.top;(a||i)&&e(),n=s,r=window.requestAnimationFrame(o)})(),()=>window.cancelAnimationFrame(r)};function uE(t,e){const n=or(t),r=h.useRef(0);return h.useEffect(()=>()=>window.clearTimeout(r.current),[]),h.useCallback(()=>{window.clearTimeout(r.current),r.current=window.setTimeout(n,e)},[n,e])}function ky(t,e){const n=or(e);fr(()=>{let r=0;if(t){const o=new ResizeObserver(()=>{cancelAnimationFrame(r),r=window.requestAnimationFrame(n)});return o.observe(t),()=>{window.cancelAnimationFrame(r),o.unobserve(t)}}},[t,n])}function cJe(t,e){const{asChild:n,children:r}=t;if(!n)return typeof e=="function"?e(r):e;const o=h.Children.only(r);return h.cloneElement(o,{children:typeof e=="function"?e(o.props.children):e})}var ude=Xfe,uJe=tde,fJe=ade;const Fa=h.forwardRef(({className:t,scrollBarClassName:e,children:n,...r},o)=>c.jsxs(ude,{className:Re("relative overflow-hidden",t),...r,children:[c.jsx(uJe,{ref:o,className:"h-full w-full rounded-[inherit] *:!block",children:n}),c.jsx(Ed,{className:e}),c.jsx(fJe,{})]}));Fa.displayName=ude.displayName;const Ed=h.forwardRef(({className:t,orientation:e="vertical",...n},r)=>c.jsx(z7,{ref:r,orientation:e,className:Re("flex touch-none select-none transition-colors",e==="vertical"&&"h-full w-2.5 border-l border-l-transparent p-[1px]",e==="horizontal"&&"h-2.5 flex-col border-t border-t-transparent p-[1px]",t),...n,children:c.jsx(sde,{className:"relative flex-1 rounded-full bg-border"})}));Ed.displayName=z7.displayName;function dJe({event:t,isOpen:e,onClose:n}){return c.jsx(Ls,{open:e,onOpenChange:n,children:c.jsxs(ms,{className:"h-[60vh]",children:[c.jsxs(Za,{children:[c.jsx(Qa,{children:"Raw Event"}),c.jsx(nl,{className:"hidden"})]}),c.jsxs(Fa,{className:"h-full",children:[c.jsx("pre",{className:"text-sm text-muted-foreground select-text",children:JSON.stringify(t,null,2)}),c.jsx(Ed,{orientation:"horizontal"})]})]})})}function oq(t,e){if(typeof t=="function")return t(e);t!=null&&(t.current=e)}function pJe(...t){return e=>{let n=!1;const r=t.map(o=>{const s=oq(o,e);return!n&&typeof s=="function"&&(n=!0),s});if(n)return()=>{for(let o=0;o<r.length;o++){const s=r[o];typeof s=="function"?s():oq(t[o],null)}}}}var fde=h.forwardRef((t,e)=>{const{children:n,...r}=t,o=h.Children.toArray(n),s=o.find(mJe);if(s){const a=s.props.children,i=o.map(l=>l===s?h.Children.count(a)>1?h.Children.only(null):h.isValidElement(a)?a.props.children:null:l);return c.jsx(IM,{...r,ref:e,children:h.isValidElement(a)?h.cloneElement(a,void 0,i):null})}return c.jsx(IM,{...r,ref:e,children:n})});fde.displayName="Slot";var IM=h.forwardRef((t,e)=>{const{children:n,...r}=t;if(h.isValidElement(n)){const o=yJe(n);return h.cloneElement(n,{...gJe(r,n.props),ref:e?pJe(e,o):o})}return h.Children.count(n)>1?h.Children.only(null):null});IM.displayName="SlotClone";var hJe=({children:t})=>c.jsx(c.Fragment,{children:t});function mJe(t){return h.isValidElement(t)&&t.type===hJe}function gJe(t,e){const n={...e};for(const r in e){const o=t[r],s=e[r];/^on[A-Z]/.test(r)?o&&s?n[r]=(...i)=>{s(...i),o(...i)}:o&&(n[r]=o):r==="style"?n[r]={...o,...s}:r==="className"&&(n[r]=[o,s].filter(Boolean).join(" "))}return{...t,...n}}function yJe(t){var r,o;let e=(r=Object.getOwnPropertyDescriptor(t.props,"ref"))==null?void 0:r.get,n=e&&"isReactWarning"in e&&e.isReactWarning;return n?t.ref:(e=(o=Object.getOwnPropertyDescriptor(t,"ref"))==null?void 0:o.get,n=e&&"isReactWarning"in e&&e.isReactWarning,n?t.props.ref:t.props.ref||t.ref)}var vJe=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","span","svg","ul"],wJe=vJe.reduce((t,e)=>{const n=h.forwardRef((r,o)=>{const{asChild:s,...a}=r,i=s?fde:e;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),c.jsx(i,{...a,ref:o})});return n.displayName=`Primitive.${e}`,{...t,[e]:n}},{}),bJe="Label",dde=h.forwardRef((t,e)=>c.jsx(wJe.label,{...t,ref:e,onMouseDown:n=>{var o;n.target.closest("button, input, select, textarea")||((o=t.onMouseDown)==null||o.call(t,n),!n.defaultPrevented&&n.detail>1&&n.preventDefault())}}));dde.displayName=bJe;var pde=dde;const xJe=AS("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"),Ot=h.forwardRef(({className:t,...e},n)=>c.jsx(pde,{ref:n,className:Re(xJe(),t),...e}));Ot.displayName=pde.displayName;function ul(t,e,{checkForDefaultPrevented:n=!0}={}){return function(o){if(t==null||t(o),n===!1||!o.defaultPrevented)return e==null?void 0:e(o)}}var kJe=globalThis!=null&&globalThis.document?h.useLayoutEffect:()=>{},jJe=yh[" useId ".trim().toString()]||(()=>{}),CJe=0;function U7(t){const[e,n]=h.useState(jJe());return kJe(()=>{n(r=>r??String(CJe++))},[t]),e?`radix-${e}`:""}function SJe(t){const e=h.useRef(t);return h.useEffect(()=>{e.current=t}),h.useMemo(()=>(...n)=>{var r;return(r=e.current)==null?void 0:r.call(e,...n)},[])}var FA="rovingFocusGroup.onEntryFocus",EJe={bubbles:!1,cancelable:!0},Cx="RovingFocusGroup",[AM,hde,NJe]=UL(Cx),[IJe,mde]=Nh(Cx,[NJe]),[AJe,_Je]=IJe(Cx),gde=h.forwardRef((t,e)=>c.jsx(AM.Provider,{scope:t.__scopeRovingFocusGroup,children:c.jsx(AM.Slot,{scope:t.__scopeRovingFocusGroup,children:c.jsx(MJe,{...t,ref:e})})}));gde.displayName=Cx;var MJe=h.forwardRef((t,e)=>{const{__scopeRovingFocusGroup:n,orientation:r,loop:o=!1,dir:s,currentTabStopId:a,defaultCurrentTabStopId:i,onCurrentTabStopIdChange:l,onEntryFocus:u,preventScrollOnEntryFocus:d=!1,...f}=t,m=h.useRef(null),g=ca(e,m),w=YS(s),[b,j]=Kg({prop:a,defaultProp:i??null,onChange:l,caller:Cx}),[S,I]=h.useState(!1),N=SJe(u),M=hde(n),D=h.useRef(!1),[O,L]=h.useState(0);return h.useEffect(()=>{const B=m.current;if(B)return B.addEventListener(FA,N),()=>B.removeEventListener(FA,N)},[N]),c.jsx(AJe,{scope:n,orientation:r,dir:w,loop:o,currentTabStopId:b,onItemFocus:h.useCallback(B=>j(B),[j]),onItemShiftTab:h.useCallback(()=>I(!0),[]),onFocusableItemAdd:h.useCallback(()=>L(B=>B+1),[]),onFocusableItemRemove:h.useCallback(()=>L(B=>B-1),[]),children:c.jsx(ys.div,{tabIndex:S||O===0?-1:0,"data-orientation":r,...f,ref:g,style:{outline:"none",...t.style},onMouseDown:ul(t.onMouseDown,()=>{D.current=!0}),onFocus:ul(t.onFocus,B=>{const T=!D.current;if(B.target===B.currentTarget&&T&&!S){const R=new CustomEvent(FA,EJe);if(B.currentTarget.dispatchEvent(R),!R.defaultPrevented){const z=M().filter(X=>X.focusable),Y=z.find(X=>X.active),Q=z.find(X=>X.id===b),F=[Y,Q,...z].filter(Boolean).map(X=>X.ref.current);wde(F,d)}}D.current=!1}),onBlur:ul(t.onBlur,()=>I(!1))})})}),yde="RovingFocusGroupItem",vde=h.forwardRef((t,e)=>{const{__scopeRovingFocusGroup:n,focusable:r=!0,active:o=!1,tabStopId:s,children:a,...i}=t,l=U7(),u=s||l,d=_Je(yde,n),f=d.currentTabStopId===u,m=hde(n),{onFocusableItemAdd:g,onFocusableItemRemove:w,currentTabStopId:b}=d;return h.useEffect(()=>{if(r)return g(),()=>w()},[r,g,w]),c.jsx(AM.ItemSlot,{scope:n,id:u,focusable:r,active:o,children:c.jsx(ys.span,{tabIndex:f?0:-1,"data-orientation":d.orientation,...i,ref:e,onMouseDown:ul(t.onMouseDown,j=>{r?d.onItemFocus(u):j.preventDefault()}),onFocus:ul(t.onFocus,()=>d.onItemFocus(u)),onKeyDown:ul(t.onKeyDown,j=>{if(j.key==="Tab"&&j.shiftKey){d.onItemShiftTab();return}if(j.target!==j.currentTarget)return;const S=DJe(j,d.orientation,d.dir);if(S!==void 0){if(j.metaKey||j.ctrlKey||j.altKey||j.shiftKey)return;j.preventDefault();let N=m().filter(M=>M.focusable).map(M=>M.ref.current);if(S==="last")N.reverse();else if(S==="prev"||S==="next"){S==="prev"&&N.reverse();const M=N.indexOf(j.currentTarget);N=d.loop?LJe(N,M+1):N.slice(M+1)}setTimeout(()=>wde(N))}}),children:typeof a=="function"?a({isCurrentTabStop:f,hasTabStop:b!=null}):a})})});vde.displayName=yde;var RJe={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function TJe(t,e){return e!=="rtl"?t:t==="ArrowLeft"?"ArrowRight":t==="ArrowRight"?"ArrowLeft":t}function DJe(t,e,n){const r=TJe(t.key,n);if(!(e==="vertical"&&["ArrowLeft","ArrowRight"].includes(r))&&!(e==="horizontal"&&["ArrowUp","ArrowDown"].includes(r)))return RJe[r]}function wde(t,e=!1){const n=document.activeElement;for(const r of t)if(r===n||(r.focus({preventScroll:e}),document.activeElement!==n))return}function LJe(t,e){return t.map((n,r)=>t[(e+r)%t.length])}var PJe=gde,OJe=vde,sq=globalThis!=null&&globalThis.document?h.useLayoutEffect:()=>{};function zJe(t,e){return h.useReducer((n,r)=>e[n][r]??n,t)}var fE=t=>{const{present:e,children:n}=t,r=FJe(e),o=typeof n=="function"?n({present:r.isPresent}):h.Children.only(n),s=ca(r.ref,BJe(o));return typeof n=="function"||r.isPresent?h.cloneElement(o,{ref:s}):null};fE.displayName="Presence";function FJe(t){const[e,n]=h.useState(),r=h.useRef(null),o=h.useRef(t),s=h.useRef("none"),a=t?"mounted":"unmounted",[i,l]=zJe(a,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return h.useEffect(()=>{const u=W6(r.current);s.current=i==="mounted"?u:"none"},[i]),sq(()=>{const u=r.current,d=o.current;if(d!==t){const m=s.current,g=W6(u);t?l("MOUNT"):g==="none"||(u==null?void 0:u.display)==="none"?l("UNMOUNT"):l(d&&m!==g?"ANIMATION_OUT":"UNMOUNT"),o.current=t}},[t,l]),sq(()=>{if(e){let u;const d=e.ownerDocument.defaultView??window,f=g=>{const b=W6(r.current).includes(CSS.escape(g.animationName));if(g.target===e&&b&&(l("ANIMATION_END"),!o.current)){const j=e.style.animationFillMode;e.style.animationFillMode="forwards",u=d.setTimeout(()=>{e.style.animationFillMode==="forwards"&&(e.style.animationFillMode=j)})}},m=g=>{g.target===e&&(s.current=W6(r.current))};return e.addEventListener("animationstart",m),e.addEventListener("animationcancel",f),e.addEventListener("animationend",f),()=>{d.clearTimeout(u),e.removeEventListener("animationstart",m),e.removeEventListener("animationcancel",f),e.removeEventListener("animationend",f)}}else l("ANIMATION_END")},[e,l]),{isPresent:["mounted","unmountSuspended"].includes(i),ref:h.useCallback(u=>{r.current=u?getComputedStyle(u):null,n(u)},[])}}function W6(t){return(t==null?void 0:t.animationName)||"none"}function BJe(t){var r,o;let e=(r=Object.getOwnPropertyDescriptor(t.props,"ref"))==null?void 0:r.get,n=e&&"isReactWarning"in e&&e.isReactWarning;return n?t.ref:(e=(o=Object.getOwnPropertyDescriptor(t,"ref"))==null?void 0:o.get,n=e&&"isReactWarning"in e&&e.isReactWarning,n?t.props.ref:t.props.ref||t.ref)}var $7="Radio",[UJe,bde]=Nh($7),[$Je,VJe]=UJe($7),xde=h.forwardRef((t,e)=>{const{__scopeRadio:n,name:r,checked:o=!1,required:s,disabled:a,value:i="on",onCheck:l,form:u,...d}=t,[f,m]=h.useState(null),g=ca(e,j=>m(j)),w=h.useRef(!1),b=f?u||!!f.closest("form"):!0;return c.jsxs($Je,{scope:n,checked:o,disabled:a,children:[c.jsx(ys.button,{type:"button",role:"radio","aria-checked":o,"data-state":Sde(o),"data-disabled":a?"":void 0,disabled:a,value:i,...d,ref:g,onClick:ul(t.onClick,j=>{o||l==null||l(),b&&(w.current=j.isPropagationStopped(),w.current||j.stopPropagation())})}),b&&c.jsx(Cde,{control:f,bubbles:!w.current,name:r,value:i,checked:o,required:s,disabled:a,form:u,style:{transform:"translateX(-100%)"}})]})});xde.displayName=$7;var kde="RadioIndicator",jde=h.forwardRef((t,e)=>{const{__scopeRadio:n,forceMount:r,...o}=t,s=VJe(kde,n);return c.jsx(fE,{present:r||s.checked,children:c.jsx(ys.span,{"data-state":Sde(s.checked),"data-disabled":s.disabled?"":void 0,...o,ref:e})})});jde.displayName=kde;var HJe="RadioBubbleInput",Cde=h.forwardRef(({__scopeRadio:t,control:e,checked:n,bubbles:r=!0,...o},s)=>{const a=h.useRef(null),i=ca(a,s),l=FL(n),u=BL(e);return h.useEffect(()=>{const d=a.current;if(!d)return;const f=window.HTMLInputElement.prototype,g=Object.getOwnPropertyDescriptor(f,"checked").set;if(l!==n&&g){const w=new Event("click",{bubbles:r});g.call(d,n),d.dispatchEvent(w)}},[l,n,r]),c.jsx(ys.input,{type:"radio","aria-hidden":!0,defaultChecked:n,...o,tabIndex:-1,ref:i,style:{...o.style,...u,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})});Cde.displayName=HJe;function Sde(t){return t?"checked":"unchecked"}var WJe=["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"],dE="RadioGroup",[YJe]=Nh(dE,[mde,bde]),Ede=mde(),Nde=bde(),[GJe,qJe]=YJe(dE),Ide=h.forwardRef((t,e)=>{const{__scopeRadioGroup:n,name:r,defaultValue:o,value:s,required:a=!1,disabled:i=!1,orientation:l,dir:u,loop:d=!0,onValueChange:f,...m}=t,g=Ede(n),w=YS(u),[b,j]=Kg({prop:s,defaultProp:o??null,onChange:f,caller:dE});return c.jsx(GJe,{scope:n,name:r,required:a,disabled:i,value:b,onValueChange:j,children:c.jsx(PJe,{asChild:!0,...g,orientation:l,dir:w,loop:d,children:c.jsx(ys.div,{role:"radiogroup","aria-required":a,"aria-orientation":l,"data-disabled":i?"":void 0,dir:w,...m,ref:e})})})});Ide.displayName=dE;var Ade="RadioGroupItem",_de=h.forwardRef((t,e)=>{const{__scopeRadioGroup:n,disabled:r,...o}=t,s=qJe(Ade,n),a=s.disabled||r,i=Ede(n),l=Nde(n),u=h.useRef(null),d=ca(e,u),f=s.value===o.value,m=h.useRef(!1);return h.useEffect(()=>{const g=b=>{WJe.includes(b.key)&&(m.current=!0)},w=()=>m.current=!1;return document.addEventListener("keydown",g),document.addEventListener("keyup",w),()=>{document.removeEventListener("keydown",g),document.removeEventListener("keyup",w)}},[]),c.jsx(OJe,{asChild:!0,...i,focusable:!a,active:f,children:c.jsx(xde,{disabled:a,required:s.required,checked:f,...l,...o,name:s.name,ref:d,onCheck:()=>s.onValueChange(o.value),onKeyDown:ul(g=>{g.key==="Enter"&&g.preventDefault()}),onFocus:ul(o.onFocus,()=>{var g;m.current&&((g=u.current)==null||g.click())})})})});_de.displayName=Ade;var KJe="RadioGroupIndicator",Mde=h.forwardRef((t,e)=>{const{__scopeRadioGroup:n,...r}=t,o=Nde(n);return c.jsx(jde,{...o,...r,ref:e})});Mde.displayName=KJe;var Rde=Ide,Tde=_de,ZJe=Mde;const V7=h.forwardRef(({className:t,...e},n)=>c.jsx(Rde,{className:Re("grid gap-2",t),...e,ref:n}));V7.displayName=Rde.displayName;const rb=h.forwardRef(({className:t,...e},n)=>c.jsx(Tde,{ref:n,className:Re("aspect-square h-4 w-4 rounded-full border focus:outline-none focus-visible:ring-1 focus-visible:ring-foreground disabled:cursor-not-allowed disabled:opacity-50",t),...e,children:c.jsx(ZJe,{className:"flex items-center justify-center",children:c.jsx(qse,{className:"h-2.5 w-2.5 fill-foreground"})})}));rb.displayName=Tde.displayName;function QJe({event:t,isOpen:e,closeDialog:n}){const{isSmallScreen:r}=gn();return r?c.jsx(ao,{open:e,onOpenChange:o=>{o||n()},children:c.jsxs(io,{children:[c.jsxs(yf,{children:[c.jsx(xd,{className:"hidden"}),c.jsx(Wg,{className:"hidden"})]}),c.jsx("div",{className:"p-4",children:c.jsx(aq,{event:t,closeDialog:n})})]})}):c.jsx(Ls,{open:e,onOpenChange:o=>{o||n()},children:c.jsxs(ms,{children:[c.jsxs(Za,{children:[c.jsx(Qa,{className:"hidden"}),c.jsx(nl,{className:"hidden"})]}),c.jsx(aq,{event:t,closeDialog:n})]})})}function aq({event:t,closeDialog:e}){const{t:n}=qe(),{pubkey:r,publish:o}=wt(),[s,a]=h.useState(null),[i,l]=h.useState(!1),u=async()=>{if(!(!s||!r))try{l(!0);const d=_Ae(t,s);await o(d),on.success(n("Successfully report")),e()}catch(d){(d instanceof AggregateError?d.errors:[d]).forEach(m=>{on.error(`${n("Failed to report")}: ${m instanceof Error?m.message:String(m)}`,{duration:1e4}),console.error(m)});return}finally{l(!1)}};return c.jsxs("div",{className:"w-full space-y-4",children:[c.jsx(V7,{value:s,onValueChange:a,className:"space-y-2",children:["nudity","malware","profanity","illegal","spam","other"].map(d=>c.jsxs("div",{className:"flex items-center space-x-2",children:[c.jsx(rb,{value:d,id:d}),c.jsx(Ot,{htmlFor:d,className:"text-base",children:n(d)})]},d))}),c.jsxs(Le,{variant:"destructive",className:"w-full",disabled:!s||i,onClick:d=>{d.stopPropagation(),u()},children:[i&&c.jsx(_r,{className:"animate-spin"}),n("Report")]})]})}const Dde=h.createContext(void 0),H7=()=>{const t=h.useContext(Dde);if(!t)throw new Error("useCurrentRelays must be used within a CurrentRelaysProvider");return t};function BA({children:t}){const[e,n]=h.useState({}),r=h.useMemo(()=>Object.keys(e),[e]);h.useEffect(()=>{ze.currentRelays=r},[r]);const o=h.useCallback(a=>{n(i=>{const l={...i};return a.forEach(u=>{l[u]=(l[u]||0)+1}),l})},[]),s=h.useCallback(a=>{n(i=>{const l={...i};return a.forEach(u=>{l[u]&&(l[u]-=1,l[u]<=0&&delete l[u])}),l})},[]);return c.jsx(Dde.Provider,{value:{relayUrls:r,addRelayUrls:o,removeRelayUrls:s},children:t})}const Lde=h.createContext(void 0),Pde=()=>{const t=h.useContext(Lde);if(!t)throw new Error("usePinList must be used within a PinListProvider");return t};function JJe({children:t}){const{t:e}=qe(),{pubkey:n,pinListEvent:r,publish:o,updatePinListEvent:s}=wt(),a=h.useMemo(()=>{const u=TI(r);return(u==null?void 0:u.getEventIdSet())??new Set},[r]),i=async u=>{if(!n)return;const d=async()=>{const m=await ze.fetchPinListEvent(n),g=Ut.fromHex(n),w=TI(m)??P0.empty(g),b=w.pin(u);if(b.type==="no_change")return;const j=w.toDraftEvent(),S=await o(j);if(await s(S),b.type==="pinned")await Vt.dispatch(new SB(g,b.entry.eventId));else if(b.type==="limit_exceeded"){const I=b.removed.map(M=>M.eventId.hex);await Vt.dispatch(new pke(g,I));const N=w.getEntries()[w.count-1];N&&await Vt.dispatch(new SB(g,N.eventId))}await Vt.dispatch(new EB(g,w.count))},{unwrap:f}=on.promise(d,{loading:e("Pinning..."),success:e("Pinned!"),error:m=>m instanceof wee?e("Can only pin your own notes"):m instanceof bee?e("Can only pin short text notes"):e("Failed to pin: {{error}}",{error:m.message})});await f()},l=async u=>{if(!n)return;const d=async()=>{const m=await ze.fetchPinListEvent(n);if(!m)return;const g=TI(m);if(!g)return;const w=g.owner,b=g.unpinEvent(u);if(b.type==="no_change")return;const j=g.toDraftEvent(),S=await o(j);await s(S),b.type==="unpinned"&&(await Vt.dispatch(new dke(w,b.eventId)),await Vt.dispatch(new EB(w,g.count)))},{unwrap:f}=on.promise(d,{loading:e("Unpinning..."),success:e("Unpinned!"),error:m=>e("Failed to unpin: {{error}}",{error:m.message})});await f()};return c.jsx(Lde.Provider,{value:{pinnedEventHexIdSet:a,pin:i,unpin:l},children:t})}function Zl({url:t,className:e,classNames:n}){const{relayInfo:r}=OS(t),o=h.useMemo(()=>{if(r!=null&&r.icon)return r.icon;if(!t)return;const a=new URL(t);return`${a.protocol==="wss:"?"https:":"http:"}//${a.host}/favicon.ico`},[t,r]),s=c.jsx(ei,{className:Re("size-5 bg-transparent",n==null?void 0:n.fallback)});return o?c.jsx($o,{image:{url:o,dim:{width:20,height:20}},className:Re("size-6 rounded-full",e),classNames:{skeleton:Re("size-6 rounded-full",e),errorPlaceholder:"bg-transparent rounded-none shrink-0"},errorPlaceholder:s}):s}function XJe({event:t,closeDrawer:e,showSubMenuActions:n,setIsRawEventDialogOpen:r,setIsReportDialogOpen:o,isSmallScreen:s}){const{t:a}=qe(),{pubkey:i,attemptDelete:l}=wt(),{relayUrls:u}=H7(),{relaySets:d,favoriteRelays:f}=fa(),m=h.useMemo(()=>Array.from(new Set(u.concat(f))),[u,f]),{mutePubkeyPublicly:g,mutePubkeyPrivately:w,unmutePubkey:b,mutePubkeySet:j}=ns(),{pinnedEventHexIdSet:S,pin:I,unpin:N}=Pde(),M=h.useMemo(()=>j.has(t.pubkey),[j,t]),D=h.useMemo(()=>{const L=[];return i&&t.pubkey===i&&L.push({label:c.jsxs("div",{className:"text-left",children:[" ",a("Optimal relays")]}),onClick:async()=>{e();const B=async()=>{const T=await ze.determineTargetRelays(t);T!=null&&T.length&&await ze.publishEvent(T,t)};on.promise(B,{loading:a("Republishing..."),success:()=>a("Successfully republish to optimal relays (your write relays and mentioned users' read relays)"),error:T=>a("Failed to republish to optimal relays: {{error}}",{error:T.message})})}}),d.length&&L.push(...d.filter(B=>B.relayUrls.length).map((B,T)=>({label:c.jsx("div",{className:"text-left truncate",children:B.name}),onClick:async()=>{e();const R=ze.publishEvent(B.relayUrls,t);on.promise(R,{loading:a("Republishing..."),success:()=>a("Successfully republish to relay set: {{name}}",{name:B.name}),error:z=>a("Failed to republish to relay set: {{name}}. Error: {{error}}",{name:B.name,error:z.message})})},separator:T===0}))),m.length&&L.push(...m.map((B,T)=>({label:c.jsxs("div",{className:"flex items-center gap-2 w-full",children:[c.jsx(Zl,{url:B}),c.jsx("div",{className:"flex-1 truncate text-left",children:la(B)})]}),onClick:async()=>{e();const R=ze.publishEvent([B],t);on.promise(R,{loading:a("Republishing..."),success:()=>a("Successfully republish to relay: {{url}}",{url:la(B)}),error:z=>a("Failed to republish to relay: {{url}}. Error: {{error}}",{url:la(B),error:z.message})})},separator:T===0}))),L},[i,m,d]);return h.useMemo(()=>{const L=[{icon:Pa,label:a("Copy event ID"),onClick:()=>{navigator.clipboard.writeText(fg(t)),e()}},{icon:Pa,label:a("Copy user ID"),onClick:()=>{var T;navigator.clipboard.writeText(((T=Ut.tryFromString(t.pubkey))==null?void 0:T.npub)??""),e()}},{icon:r2,label:a("Copy share link"),onClick:()=>{navigator.clipboard.writeText(vFe(fg(t))),e()}},{icon:Kse,label:a("View raw event"),onClick:()=>{e(),r(!0)},separator:!0}];if((!vT(t)||t.pubkey===i)&&L.push({icon:V7e,label:a("Republish to ..."),onClick:s?()=>n(D,a("Republish to ...")):void 0,subMenu:s?void 0:D,separator:!0}),t.pubkey===i&&t.kind===Ue.ShortTextNote){const T=S.has(t.id);L.push({icon:T?B7e:D8,label:a(T?"Unpin from profile":"Pin to profile"),onClick:async()=>{e(),await(T?N(t):I(t))}})}return i&&t.pubkey!==i&&L.push({icon:lL,label:a("Report"),className:"text-destructive focus:text-destructive",onClick:()=>{e(),o(!0)},separator:!0}),i&&t.pubkey!==i&&(M?L.push({icon:gy,label:a("Unmute user"),onClick:()=>{e(),b(t.pubkey)},className:"text-destructive focus:text-destructive",separator:!0}):L.push({icon:$u,label:a("Mute user privately"),onClick:()=>{e(),w(t.pubkey)},className:"text-destructive focus:text-destructive",separator:!0},{icon:$u,label:a("Mute user publicly"),onClick:()=>{e(),g(t.pubkey)},className:"text-destructive focus:text-destructive"})),i&&t.pubkey===i&&L.push({icon:of,label:a("Try deleting this note"),onClick:()=>{e(),l(t)},className:"text-destructive focus:text-destructive",separator:!0}),L},[a,t,i,M,s,D,S,e,n,r,w,g,b])}function Ode({event:t,className:e}){const{isSmallScreen:n}=gn(),[r,o]=h.useState(!1),[s,a]=h.useState(!1),[i,l]=h.useState(!1),[u,d]=h.useState(!1),[f,m]=h.useState([]),[g,w]=h.useState(""),b=()=>{l(!1),d(!1)},j=()=>{d(!1)},I=XJe({event:t,closeDrawer:b,showSubMenuActions:(M,D)=>{m(M),w(D),d(!0)},setIsRawEventDialogOpen:o,setIsReportDialogOpen:a,isSmallScreen:n}),N=c.jsx("button",{className:"flex items-center text-muted-foreground hover:text-foreground pl-2 h-full",onClick:()=>l(!0),children:c.jsx(kS,{})});return c.jsxs("div",{className:e,onClick:M=>M.stopPropagation(),children:[n?c.jsx(zQe,{menuActions:I,trigger:N,isDrawerOpen:i,setIsDrawerOpen:l,showSubMenu:u,activeSubMenu:f,subMenuTitle:g,closeDrawer:b,goBackToMainMenu:j}):c.jsx(OQe,{menuActions:I,trigger:N}),c.jsx(dJe,{event:t,isOpen:r,onClose:()=>o(!1)}),c.jsx(QJe,{event:t,isOpen:s,closeDialog:()=>a(!1)})]})}function eXe({event:t,className:e}){const{t:n}=qe(),r=h.useMemo(()=>hre(t),[t]);return c.jsxs("div",{className:Re("pointer-events-none",e),children:["[",n("Community"),"] ",c.jsx("span",{className:"italic pr-0.5",children:r.name})]})}function tXe({event:t,className:e}){const{t:n}=qe(),{title:r,emojis:o}=h.useMemo(()=>sD(t),[t]);return c.jsxs("div",{className:Re("pointer-events-none",e),children:["[",n("Emoji Pack"),"] ",c.jsx("span",{className:"italic pr-0.5",children:r}),o.length>0&&c.jsxs("span",{children:["(",o.length,")"]})]})}function nXe({event:t,className:e}){const{t:n}=qe(),{title:r}=h.useMemo(()=>aD(t),[t]);return c.jsxs("div",{className:Re("truncate",e),children:["[",n("Follow Pack"),"] ",c.jsx("span",{className:"italic pr-0.5",children:r})]})}function rXe({event:t,className:e}){const{t:n}=qe(),r=h.useMemo(()=>pre(t),[t]);return c.jsxs("div",{className:Re("pointer-events-none",e),children:["[",n("Group"),"] ",c.jsx("span",{className:"italic pr-0.5",children:r.name})]})}function W7({content:t,className:e,emojiInfos:n}){const{t:r}=qe(),o=h.useMemo(()=>qg(t,[VS,dx,nv,px]),[t]);return c.jsx("span",{className:Re("pointer-events-none",e),children:o.map((s,a)=>{if(s.type==="image"||s.type==="images")return a>0?` [${r("Image")}]`:`[${r("Image")}]`;if(s.type==="media")return a>0?` [${r("Media")}]`:`[${r("Media")}]`;if(s.type==="event")return a>0?` [${r("Note")}]`:`[${r("Note")}]`;if(s.type==="mention")return c.jsx(pBe,{userId:s.data.split(":")[1]},a);if(s.type==="emoji"){const i=s.data.split(":")[1],l=n==null?void 0:n.find(u=>u.shortcode===i);return l?c.jsx(Mi,{emoji:l,classNames:{img:"size-4"}},a):s.data}return s.data})})}function oXe({event:t,className:e}){const{t:n}=qe(),r=h.useMemo(()=>th(t.tags),[t]);return c.jsxs("div",{className:Re("pointer-events-none",e),children:["[",n("Highlight"),"]"," ",c.jsx(W7,{content:t.content,emojiInfos:r,className:"italic pr-0.5"})]})}function sXe({event:t,className:e}){const{t:n}=qe(),r=h.useMemo(()=>dre(t),[t]);return c.jsxs("div",{className:Re("pointer-events-none",e),children:["[",n("Live event"),"] ",c.jsx("span",{className:"italic pr-0.5",children:r.title})]})}function aXe({event:t,className:e}){const{t:n}=qe(),r=h.useMemo(()=>oD(t),[t]);return c.jsxs("div",{className:Re("pointer-events-none",e),children:["[",n("Article"),"] ",c.jsx("span",{className:"italic pr-0.5",children:r.title})]})}function iXe({event:t,className:e}){const n=h.useMemo(()=>th(t==null?void 0:t.tags),[t]);return c.jsx(W7,{content:t.content,className:e,emojiInfos:n})}function lXe({event:t,className:e}){const{t:n}=qe();return c.jsxs("div",{className:Re("pointer-events-none",e),children:["[",n("Image"),"] ",c.jsx("span",{className:"italic pr-0.5",children:t.content})]})}function cXe({event:t,className:e}){const{t:n}=qe(),r=h.useMemo(()=>th(t.tags),[t]);return c.jsxs("div",{className:Re("pointer-events-none",e),children:["[",n("Poll"),"]"," ",c.jsx(W7,{content:t.content,emojiInfos:r,className:"italic pr-0.5"})]})}function uXe({event:t,className:e}){const{t:n}=qe();return c.jsxs("div",{className:Re("pointer-events-none",e),children:["[",n("Media"),"] ",c.jsx("span",{className:"italic pr-0.5",children:t.content})]})}function jy({event:t,className:e}){const{t:n}=qe(),{mutePubkeySet:r}=ns(),{hideContentMentioningMutedUsers:o}=lo(),s=h.useMemo(()=>t?r.has(t.pubkey):!1,[r,t]),a=h.useMemo(()=>o&&t?Qu(t,r):!1,[t,r]);return t?s?c.jsxs("div",{className:Re("pointer-events-none",e),children:["[",n("This user has been muted"),"]"]}):a?c.jsxs("div",{className:Re("pointer-events-none",e),children:["[",n("This note mentions a user you muted"),"]"]}):[Ue.ShortTextNote,gt.COMMENT,gt.VOICE,gt.VOICE_COMMENT,gt.RELAY_REVIEW].includes(t.kind)?c.jsx(iXe,{event:t,className:e}):t.kind===Ue.Highlights?c.jsx(oXe,{event:t,className:e}):t.kind===gt.POLL?c.jsx(cXe,{event:t,className:e}):t.kind===Ue.LongFormArticle?c.jsx(aXe,{event:t,className:e}):t.kind===gt.VIDEO||t.kind===gt.SHORT_VIDEO?c.jsx(uXe,{event:t,className:e}):t.kind===gt.PICTURE?c.jsx(lXe,{event:t,className:e}):t.kind===gt.GROUP_METADATA?c.jsx(rXe,{event:t,className:e}):t.kind===Ue.CommunityDefinition?c.jsx(eXe,{event:t,className:e}):t.kind===Ue.LiveEvent?c.jsx(sXe,{event:t,className:e}):t.kind===Ue.Emojisets?c.jsx(tXe,{event:t,className:e}):t.kind===gt.FOLLOW_PACK?c.jsx(nXe,{event:t,className:e}):c.jsxs("div",{className:e,children:["[",n("Cannot handle event of kind k",{k:t.kind}),"]"]}):c.jsx("div",{className:Re("pointer-events-none",e),children:`[${n("Note not found")}]`})}function Y7({eventId:t,externalContent:e,className:n,onClick:r}){const{t:o}=qe(),{event:s,isFetching:a}=ll(t);return e?c.jsxs("div",{className:Re("flex gap-1 items-center text-sm rounded-full px-2 bg-muted w-fit max-w-full text-muted-foreground hover:text-foreground cursor-pointer",n),onClick:r,children:[c.jsx("div",{className:"shrink-0",children:o("reply to")}),c.jsx("div",{className:"truncate",children:e})]}):t?a?c.jsxs("div",{className:Re("flex gap-1 items-center text-sm rounded-full px-2 bg-muted w-44 max-w-full text-muted-foreground",n),children:[c.jsx("div",{className:"shrink-0",children:o("reply to")}),c.jsx(Ln,{className:"w-4 h-4 rounded-full"}),c.jsx("div",{className:"py-1 flex-1",children:c.jsx(Ln,{className:"h-3"})})]}):c.jsxs("div",{className:Re("flex gap-1 items-center text-sm rounded-full px-2 bg-muted w-fit max-w-full text-muted-foreground",s&&"hover:text-foreground cursor-pointer",n),onClick:s?r:void 0,children:[c.jsx("div",{className:"shrink-0",children:o("reply to")}),s&&c.jsx(Ro,{className:"shrink-0",userId:s.pubkey,size:"tiny"}),c.jsx(jy,{className:"truncate",event:s})]}):null}const N0=class N0{constructor(){je(this,"userPercentileDataLoader",new Lu(async e=>{try{const n=await fetch("https://fayan.smesh.social/users",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({pubkeys:e})});if(!n.ok)return new Array(e.length).fill(null);const r=await n.json();return e.map(o=>r[o]??0)}catch{return new Array(e.length).fill(null)}},{maxBatchSize:50}));return N0.instance||(N0.instance=this),N0.instance}async fetchUserPercentile(e){return await this.userPercentileDataLoader.load(e)}};je(N0,"instance");let _M=N0;const zde=new _M,Fde=h.createContext(void 0),da=()=>{const t=h.useContext(Fde);if(!t)throw new Error("useUserTrust must be used within a UserTrustProvider");return t},UA=new Set;function fXe({children:t}){const{pubkey:e}=wt(),n=!1,r=!1,o=!1;h.useEffect(()=>{if(!e)return;(async()=>{const f=await ze.fetchFollowings(e,!1);f.forEach(g=>UA.add(g));const m=20;for(let g=0;g<f.length;g+=m){const w=f.slice(g,g+m);await Promise.allSettled(w.map(async b=>{(await ze.fetchFollowings(b,!1)).forEach(S=>{UA.add(S)})})),await new Promise(b=>setTimeout(b,200))}})()},[e]);const s=h.useCallback(d=>!e||d===e?!0:UA.has(d),[e]),a=h.useCallback(async d=>{if(s(d))return!1;const f=await zde.fetchUserPercentile(d);return f===null?!1:f<60},[s]),i=d=>{},l=d=>{},u=d=>{};return c.jsx(Fde.Provider,{value:{hideUntrustedInteractions:n,hideUntrustedNotifications:o,hideUntrustedNotes:r,updateHideUntrustedInteractions:i,updateHideUntrustedNotifications:l,updateHideUntrustedNotes:u,isUserTrusted:s,isSpammer:a},children:t})}function Sx({pubkey:t,className:e}){const{t:n}=qe(),{isUserTrusted:r}=da(),{pubkey:o}=wt(),[s,a]=h.useState(null),[i,l]=h.useState(!0);return h.useEffect(()=>{if(o===t){l(!1),a(null);return}if(r(t)){l(!1),a(null);return}(async()=>{try{const d=await zde.fetchUserPercentile(t);d!==null&&a(d)}catch(d){console.error("Failed to fetch trust score:",d)}finally{l(!1)}})()},[t,o,r]),i||s===null?null:s<40?c.jsx("div",{title:n("Likely spam account (Trust score: {{percentile}}%)",{percentile:s}),children:c.jsx(dae,{className:Re("!size-4 text-red-500",e)})}):s<60?c.jsx("div",{title:n("Suspicious account (Trust score: {{percentile}}%)",{percentile:s}),children:c.jsx(lL,{className:Re("!size-4 text-yellow-600 dark:text-yellow-500",e)})}):null}function dXe({event:t,className:e}){const{autoLoadMedia:n}=lo(),r=h.useMemo(()=>hre(t),[t]),o=c.jsx("div",{className:"text-xl font-semibold line-clamp-1",children:r.name}),s=r.description&&c.jsx("div",{className:"text-sm text-muted-foreground line-clamp-2",children:r.description});return c.jsxs("div",{className:e,children:[c.jsxs("div",{className:"flex gap-4",children:[r.image&&n&&c.jsx($o,{image:{url:r.image,pubkey:t.pubkey},className:"aspect-square bg-foreground h-20",hideIfError:!0}),c.jsxs("div",{className:"flex-1 w-0 space-y-1",children:[o,s]})]}),c.jsx(Ig,{className:"w-full mt-2",event:t})]})}const Bde=h.createContext(void 0),pXe=()=>{const t=h.useContext(Bde);if(!t)throw new Error("useEmojiPack must be used within a EmojiPackProvider");return t};function hXe({children:t}){const{pubkey:e,userEmojiListEvent:n,publish:r,updateUserEmojiListEvent:o}=wt(),s=h.useMemo(()=>{const l=new Set;return n==null||n.tags.forEach(u=>{u[0]==="a"&&l.add(u[1])}),l},[n]),a=async l=>{if(!e||l.kind!==Ue.Emojisets)return;const u=await ze.fetchUserEmojiListEvent(e),d=(u==null?void 0:u.tags)||[],f=ti(l);if(d.some(w=>w[0]==="a"&&w[1]===f))return;const m=FU([...d,Hg(l)],u==null?void 0:u.content),g=await r(m);await o(g)},i=async l=>{if(!e)return;const u=await ze.fetchUserEmojiListEvent(e);if(!u)return;const d=ti(l),f=u.tags.filter(w=>w[0]!=="a"||w[1]!==d);if(f.length===u.tags.length)return;const m=FU(f,u.content),g=await r(m);await o(g)};return c.jsx(Bde.Provider,{value:{emojiPackCoordinateSet:s,addEmojiPack:a,removeEmojiPack:i},children:t})}function mXe({event:t,className:e}){const{t:n}=qe(),{pubkey:r,checkLogin:o}=wt(),{emojiPackCoordinateSet:s,addEmojiPack:a,removeEmojiPack:i}=pXe(),[l,u]=h.useState(!1),{title:d,emojis:f}=h.useMemo(()=>sD(t),[t]),m=h.useMemo(()=>ti(t),[t]),g=h.useMemo(()=>s.has(m),[s,m]),w=async j=>{j.stopPropagation(),o(async()=>{if(!g){u(!0);try{await a(t),on.success(n("Emoji pack added"))}catch(S){on.error(n("Add emoji pack failed")+": "+S.message)}finally{u(!1)}}})},b=async j=>{j.stopPropagation(),o(async()=>{if(g){u(!0);try{await i(t),on.success(n("Emoji pack removed"))}catch(S){on.error(n("Remove emoji pack failed")+": "+S.message)}finally{u(!1)}}})};return c.jsxs("div",{className:e,children:[c.jsxs("div",{className:"flex items-center justify-between mb-2",children:[c.jsx("h3",{className:"text-2xl font-semibold",children:d}),r&&c.jsxs(Le,{variant:g?"secondary":"outline",size:"sm",onClick:g?b:w,disabled:l,className:"shrink-0",children:[l?c.jsx(_r,{className:"animate-spin mr-1"}):g?c.jsx(Zr,{}):c.jsx(Kl,{}),n(l?g?"Removing...":"Adding...":g?"Added":"Add")]})]}),c.jsx("div",{className:"flex flex-wrap gap-1",children:f.map((j,S)=>c.jsx($o,{image:{url:j.url,pubkey:t.pubkey},className:"size-14 object-contain",classNames:{wrapper:"size-14 flex items-center justify-center p-1",errorPlaceholder:"size-14"},hideIfError:!0},`emoji-${S}`))})]})}function gXe({event:t,className:e}){const{t:n}=qe(),{push:r}=kn(),{title:o,description:s,image:a,pubkeys:i}=h.useMemo(()=>aD(t),[t]),l=u=>{u.stopPropagation(),r(gFe(t))};return c.jsxs("div",{className:e,children:[c.jsxs("div",{className:"flex items-start gap-2 mb-2",children:[a&&c.jsx($o,{image:{url:a,pubkey:t.pubkey},className:"w-24 h-20 object-cover",classNames:{wrapper:"w-24 h-20 flex-shrink-0",errorPlaceholder:"w-24 h-20"},hideIfError:!0}),c.jsxs("div",{className:"flex-1 min-w-0",children:[c.jsxs("div",{className:"flex items-center gap-2",children:[c.jsx("h3",{className:"text-xl font-semibold mb-1 truncate",children:o}),c.jsx("span",{className:"text-xs text-muted-foreground shrink-0",children:n("n users",{count:i.length})})]}),s&&c.jsx("p",{className:"text-sm text-muted-foreground line-clamp-2",children:s})]})]}),c.jsx(Le,{onClick:l,variant:"outline",className:"w-full",children:n("View Details")})]})}function yXe({event:t,originalNoteId:e,className:n}){const{autoLoadMedia:r}=lo(),o=h.useMemo(()=>pre(t),[t]),s=c.jsx("div",{className:"text-xl font-semibold line-clamp-1",children:o.name}),a=o.about&&c.jsx("div",{className:"text-sm text-muted-foreground line-clamp-2",children:o.about});return c.jsxs("div",{className:n,children:[c.jsxs("div",{className:"flex gap-4",children:[o.picture&&r&&c.jsx($o,{image:{url:o.picture,pubkey:t.pubkey},className:"aspect-square bg-foreground h-20",hideIfError:!0}),c.jsxs("div",{className:"flex-1 w-0 space-y-1",children:[s,a]})]}),c.jsx(Ig,{className:"w-full mt-2",event:t,originalNoteId:e})]})}function vXe({event:t,className:e}){const n=h.useMemo(()=>{var r;return(r=t.tags.find(o=>o[0]==="comment"))==null?void 0:r[1]},[t]);return c.jsxs("div",{className:Re("text-wrap break-words whitespace-pre-wrap space-y-4",e),children:[n&&c.jsx(pd,{event:Lee({content:n,tags:t.tags})}),c.jsxs("div",{className:"flex gap-4",children:[c.jsx("div",{className:"w-1 flex-shrink-0 my-1 bg-primary/60 rounded-md"}),c.jsx("div",{className:"italic whitespace-pre-line",style:{overflowWrap:"anywhere"},children:t.content})]}),c.jsx(wXe,{event:t})]})}function wXe({event:t}){const{t:e}=qe(),{push:n}=kn(),r=h.useMemo(()=>{let i;for(const l of t.tags){if(l[2]==="source"){i=l;break}if(l[0]==="e"){i=l;continue}if(l[0]==="a"&&(!i||i[0]!=="e")){i=l;continue}if(l[0]==="r"&&(!i||i[0]==="r")){i=l;continue}}return i},[t]),{event:o}=ll(r?r[0]==="e"?oc(r):r[0]==="a"?eh(r):void 0:void 0),s=h.useMemo(()=>{if(!(!r||r[0]==="r")){if(r[0]==="e")return r[1];if(r[0]==="a")return eh(r)}},[r]),a=h.useMemo(()=>{if(o)return o.pubkey;if(r&&r[0]==="a"){const[,i]=r[1].split(":");if(Ut.isValidHex(i))return i}},[r,o]);return r?r[0]==="r"?c.jsxs("div",{className:"truncate text-muted-foreground",children:[e("From")," ",c.jsx(jd,{url:r[1],className:"underline italic text-muted-foreground hover:text-foreground"})]}):c.jsxs("div",{className:"flex items-center gap-2 text-muted-foreground",children:[c.jsx("div",{className:"shrink-0",children:e("From")}),a&&c.jsx(Ro,{userId:a,size:"xSmall",className:"cursor-pointer"}),s&&c.jsx("div",{className:"truncate underline pointer-events-auto cursor-pointer hover:text-foreground",onClick:i=>{i.stopPropagation(),n(yl(o??s))},children:o?c.jsx(jy,{event:o}):s})]}):null}function bXe({event:t,className:e}){const{isSmallScreen:n}=gn(),{autoLoadMedia:r}=lo(),o=h.useMemo(()=>dre(t),[t]),s=o.status&&(o.status==="live"?c.jsx(Vl,{className:"bg-green-400 hover:bg-green-400",children:"live"}):o.status==="ended"?c.jsx(Vl,{variant:"destructive",children:"ended"}):c.jsx(Vl,{variant:"secondary",children:o.status})),a=c.jsx("div",{className:"text-xl font-semibold line-clamp-1",children:o.title}),i=o.summary&&c.jsx("div",{className:"text-sm text-muted-foreground line-clamp-4",children:o.summary}),l=o.tags.length>0&&c.jsx("div",{className:"flex gap-1 flex-wrap",children:o.tags.map(u=>c.jsx(Vl,{variant:"secondary",children:u},u))});return n?c.jsxs("div",{className:e,children:[o.image&&r&&c.jsx($o,{image:{url:o.image,pubkey:t.pubkey},className:"w-full aspect-video",hideIfError:!0}),c.jsxs("div",{className:"space-y-1",children:[a,s,i,l,c.jsx(Ig,{className:"w-full mt-2",event:t})]})]}):c.jsxs("div",{className:e,children:[c.jsxs("div",{className:"flex gap-4",children:[o.image&&r&&c.jsx($o,{image:{url:o.image,pubkey:t.pubkey},className:"aspect-[4/3] xl:aspect-video bg-foreground h-44",hideIfError:!0}),c.jsxs("div",{className:"flex-1 w-0 space-y-1",children:[a,s,i,l]})]}),c.jsx(Ig,{className:"w-full mt-2",event:t})]})}function xXe({rawText:t,bech32Id:e}){const{type:n,id:r}=h.useMemo(()=>{if(!e)return{type:"invalid",id:""};try{const{type:o}=yr.decode(e);if(o==="npub")return{type:"mention",id:e};if(o==="nevent"||o==="naddr"||o==="note")return{type:"note",id:e}}catch(o){console.error("Invalid bech32 ID:",e,o)}return{type:"invalid",id:""}},[e]);return n==="invalid"?t:n==="mention"?c.jsx(WS,{userId:r,className:"not-prose"}):c.jsx(ige,{noteId:r,className:"not-prose"})}const kXe=/nostr:(npub1[a-z0-9]{58}|nprofile1[a-z0-9]+|note1[a-z0-9]{58}|nevent1[a-z0-9]+|naddr1[a-z0-9]+)/g,jXe=/\[[^\]]+\]\[(nostr:(npub1[a-z0-9]{58}|nprofile1[a-z0-9]+|note1[a-z0-9]{58}|nevent1[a-z0-9]+|naddr1[a-z0-9]+))\]/g,CXe=()=>t=>{lE(t,"text",(e,n,r)=>{if(!r||typeof n!="number")return;const o=e.value,s=Array.from(o.matchAll(jXe)),a=Array.from(o.matchAll(kXe)).filter(d=>!s.some(f=>d.index>=f.index&&d.index<f.index+f[0].length)),i=[...s.map(d=>({...d,type:"reference",bech32Id:d[2],rawText:d[0]})),...a.map(d=>({...d,type:"direct",bech32Id:d[1],rawText:d[0]}))].sort((d,f)=>d.index-f.index);if(i.length===0)return;const l=[];let u=0;i.forEach(d=>{const f=d.index,m=f+d[0].length;f>u&&l.push({type:"text",value:o.slice(u,f)});const g={type:"nostr",data:{hName:"nostr",hProperties:{bech32Id:d.bech32Id,rawText:d.rawText}}};l.push(g),u=m}),u<o.length&&l.push({type:"text",value:o.slice(u)}),r.children.splice(n,1,...l)})};function SXe({event:t,className:e}){const{push:n}=kn(),r=h.useMemo(()=>oD(t),[t]),o=h.useRef(null),[s,a]=h.useState(!1),[i,l]=h.useState(""),u=f=>{l(f),a(!0)},d=h.useMemo(()=>({nostr:({rawText:f,bech32Id:m})=>c.jsx(xXe,{rawText:f,bech32Id:m}),a:({href:f,children:m,...g})=>f?f.startsWith("note1")||f.startsWith("nevent1")||f.startsWith("naddr1")?c.jsx(tc,{to:yl(f),className:"break-words underline text-foreground",children:m}):f.startsWith("npub1")||f.startsWith("nprofile1")?c.jsx(tc,{to:wf(f),className:"break-words underline text-foreground",children:m}):c.jsxs("a",{...g,href:f,target:"_blank",rel:"noreferrer noopener",className:"break-words inline-flex items-baseline gap-1",children:[m," ",c.jsx(nf,{className:"size-3"})]}):c.jsx("span",{...g,className:"break-words"}),p:f=>c.jsx("p",{...f,className:"break-words"}),div:f=>c.jsx("div",{...f,className:"break-words"}),code:f=>c.jsx("code",{...f,className:"break-words whitespace-pre-wrap"}),img:f=>c.jsx(Ag,{image:{url:f.src||"",pubkey:t.pubkey},className:"max-h-[80vh] sm:max-h-[50vh] object-contain my-0",classNames:{wrapper:"w-fit max-w-full"}})}),[t.pubkey]);return c.jsxs(c.Fragment,{children:[c.jsxs("div",{ref:o,className:`prose prose-zinc max-w-none dark:prose-invert break-words overflow-wrap-anywhere ${e||""}`,children:[c.jsx("h1",{className:"break-words",children:r.title}),r.summary&&c.jsx("blockquote",{children:c.jsx("p",{className:"break-words",children:r.summary})}),r.image&&c.jsx(Ag,{image:{url:r.image,pubkey:t.pubkey},className:"w-full aspect-[3/1] object-cover my-0"}),c.jsx(Cfe,{remarkPlugins:[Kfe,CXe],urlTransform:f=>f.startsWith("nostr:")?f.slice(6):f,components:d,children:t.content}),r.tags.length>0&&c.jsx("div",{className:"flex gap-2 flex-wrap pb-2",children:r.tags.map(f=>c.jsxs("div",{title:f,className:"flex items-center rounded-full px-3 bg-muted text-muted-foreground max-w-44 cursor-pointer hover:bg-accent hover:text-accent-foreground",onClick:m=>{m.stopPropagation(),n(zS({hashtag:f,kinds:[Ue.LongFormArticle]}))},children:["#",c.jsx("span",{className:"truncate",children:f})]},f))})]}),c.jsx(aue,{onHighlight:u,containerRef:o}),c.jsx(r1,{highlightedText:i,parentStuff:t,open:s,setOpen:a})]})}function EXe({event:t,className:e}){const{isSmallScreen:n}=gn(),{push:r}=kn(),{autoLoadMedia:o}=lo(),s=h.useMemo(()=>oD(t),[t]),a=c.jsx("div",{className:"text-xl font-semibold line-clamp-2",children:s.title}),i=s.tags.length>0&&c.jsx("div",{className:"flex gap-1 flex-wrap",children:s.tags.map(u=>c.jsxs("div",{className:"flex items-center rounded-full text-xs px-2.5 py-0.5 bg-muted text-muted-foreground max-w-32 cursor-pointer hover:bg-accent hover:text-accent-foreground",onClick:d=>{d.stopPropagation(),r(zS({hashtag:u,kinds:[Ue.LongFormArticle]}))},children:["#",c.jsx("span",{className:"truncate",children:u})]},u))}),l=s.summary&&c.jsx("div",{className:"text-sm text-muted-foreground line-clamp-4",children:s.summary});return n?c.jsxs("div",{className:e,children:[s.image&&o&&c.jsx($o,{image:{url:s.image,pubkey:t.pubkey},className:"w-full aspect-video",hideIfError:!0}),c.jsxs("div",{className:"space-y-1",children:[a,l,i]})]}):c.jsx("div",{className:e,children:c.jsxs("div",{className:"flex gap-4",children:[s.image&&o&&c.jsx($o,{image:{url:s.image,pubkey:t.pubkey},className:"aspect-[4/3] xl:aspect-video object-cover bg-foreground h-44",hideIfError:!0}),c.jsxs("div",{className:"flex-1 w-0 space-y-1",children:[a,l,i]})]})})}function NXe({show:t}){const{t:e}=qe();return c.jsxs("div",{className:"flex flex-col gap-2 items-center text-muted-foreground font-medium my-4",children:[c.jsx("div",{children:e("This user has been muted")}),c.jsxs(Le,{onClick:n=>{n.stopPropagation(),t()},variant:"outline",children:[c.jsx(Qse,{}),e("Temporarily display this note")]})]})}function IXe({show:t}){const{t:e}=qe();return c.jsxs("div",{className:"flex flex-col gap-2 items-center text-muted-foreground font-medium my-4",children:[c.jsx("div",{children:e("🔞 NSFW 🔞")}),c.jsxs(Le,{onClick:n=>{n.stopPropagation(),t()},variant:"outline",children:[c.jsx(Qse,{}),e("Temporarily display this note")]})]})}function Ude({className:t,images:e,start:n=0,end:r=e.length,mustLoad:o=!1}){const s=h.useMemo(()=>`image-gallery-${vd()}`,[]),{autoLoadMedia:a}=lo(),[i,l]=h.useState(-1),[u,d]=h.useState(e.map(({url:w})=>({src:w})));h.useEffect(()=>{i>=0?po.register(s,()=>{l(-1)}):po.unregister(s)},[i]),h.useEffect(()=>{(async()=>{const b=await Promise.all(e.map(({url:j,pubkey:S})=>new Promise(I=>{const N=new window.Image;let M=j;N.onload=()=>{td.markAsSuccess(j,M),I({src:M})},N.onerror=()=>{td.tryNextUrl(j).then(D=>{D?(M=D,I({src:M})):I({src:j})})},S?td.getValidUrl(j,S).then(D=>{M=D,N.src=M}).catch(()=>{I({src:j})}):N.src=j})));d(b)})()},[e]);const f=(w,b)=>{w.stopPropagation(),w.preventDefault(),l(n+b)},m=e.slice(n,r);if(!o&&!a)return m.map((w,b)=>c.jsx(Ag,{image:w,className:"max-h-[80vh] sm:max-h-[50vh] object-contain",classNames:{wrapper:Re("w-fit max-w-full border",t)}},b));let g=null;return m.length===1?g=c.jsx($o,{className:"max-h-[80vh] sm:max-h-[50vh] object-contain",classNames:{errorPlaceholder:"aspect-square h-[30vh]",wrapper:"cursor-zoom-in border"},image:m[0],onClick:w=>f(w,0)},0):m.length===2||m.length===4?g=c.jsx("div",{className:"grid grid-cols-2 gap-2 w-full",children:m.map((w,b)=>c.jsx($o,{className:"aspect-square w-full",classNames:{wrapper:"cursor-zoom-in border"},image:w,onClick:j=>f(j,b)},b))}):g=c.jsx("div",{className:"grid grid-cols-3 gap-2 w-full",children:m.map((w,b)=>c.jsx($o,{className:"aspect-square w-full",classNames:{wrapper:"cursor-zoom-in border"},image:w,onClick:j=>f(j,b)},b))}),c.jsxs("div",{className:Re(m.length===1?"w-fit max-w-full":"w-full",t),children:[g,i>=0&&Ds.createPortal(c.jsx("div",{onClick:w=>w.stopPropagation(),children:c.jsx(m7,{index:i,slides:u,plugins:[y7],open:i>=0,close:()=>l(-1),controller:{closeOnBackdropClick:!0,closeOnPullUp:!0,closeOnPullDown:!0},styles:{toolbar:{paddingTop:"2.25rem"}}})}),document.body)]})}function AXe({event:t,className:e}){const n=h.useMemo(()=>xT(t),[t]);return c.jsxs("div",{className:e,children:[c.jsx(pd,{event:t}),n.length>0&&c.jsx(Ude,{images:n})]})}const I0=class I0{constructor(){je(this,"pollResultsMap",new Map);je(this,"pollResultsSubscribers",new Map);je(this,"loader",new Lu(async e=>{const n=new Map;e.forEach(({pollEventId:s,relays:a,validPollOptionIds:i,isMultipleChoice:l,endsAt:u})=>{n.has(s)||n.set(s,{relays:a,validPollOptionIds:i,isMultipleChoice:l,endsAt:u})});const r=await Promise.allSettled(Array.from(n).map(async([s,a])=>{const i=await this._fetchResults(s,a.relays,a.validPollOptionIds,a.isMultipleChoice,a.endsAt);return{pollEventId:s,result:i}})),o=new Map;return r.forEach(s=>{s.status==="fulfilled"&&s.value.result&&o.set(s.value.pollEventId,s.value.result)}),e.map(({pollEventId:s})=>o.get(s))},{cache:!1}));return I0.instance||(I0.instance=this),I0.instance}async fetchResults(e,n,r,o,s){return this.loader.load({pollEventId:e,relays:n,validPollOptionIds:r,isMultipleChoice:o,endsAt:s})}async _fetchResults(e,n,r,o,s){const a={kinds:[gt.POLL_RESPONSE],"#e":[e],limit:1e3};s&&(a.until=s);let i=this.pollResultsMap.get(e);if(i){if(s&&i.updatedAt>=s)return i;a.since=i.updatedAt}else i={totalVotes:0,results:r.reduce((d,f)=>(d[f]=new Set,d),{}),voters:new Set,updatedAt:0};const l=await ze.fetchEvents(n,a);return i.updatedAt=Nn().unix(),l.map(d=>l5e(d,r,o)).filter(d=>d!==null).sort((d,f)=>f.created_at-d.created_at).forEach(d=>{i&&i.voters.has(d.pubkey)||(i.voters.add(d.pubkey),i.totalVotes+=d.selectedOptionIds.length,d.selectedOptionIds.forEach(f=>{i.results[f]&&i.results[f].add(d.pubkey)}))}),this.pollResultsMap.set(e,{...i}),l.length&&this.notifyPollResults(e),i}subscribePollResults(e,n){let r=this.pollResultsSubscribers.get(e);return r||(r=new Set,this.pollResultsSubscribers.set(e,r)),r.add(n),()=>{r==null||r.delete(n),(r==null?void 0:r.size)===0&&this.pollResultsSubscribers.delete(e)}}notifyPollResults(e){const n=this.pollResultsSubscribers.get(e);n&&n.forEach(r=>r())}getPollResults(e){return this.pollResultsMap.get(e)}addPollResponse(e,n,r){const o=this.pollResultsMap.get(e);o&&(o.voters.has(n)||(o.voters.add(n),o.totalVotes+=r.length,r.forEach(s=>{o.results[s]&&o.results[s].add(n)}),this.pollResultsMap.set(e,{...o}),this.notifyPollResults(e)))}};je(I0,"instance");let MM=I0;const jj=new MM;function _Xe(t){return h.useSyncExternalStore(e=>jj.subscribePollResults(t,e),()=>jj.getPollResults(t))}function MXe({event:t,className:e}){const{t:n}=qe(),{pubkey:r,publish:o,startLogin:s}=wt(),[a,i]=h.useState(!1),[l,u]=h.useState([]),d=_Xe(t.id),[f,m]=h.useState(!1),g=h.useMemo(()=>i5e(t),[t]),w=h.useMemo(()=>!d||!r?[]:Object.entries(d.results).filter(([,T])=>T.has(r)).map(([T])=>T),[d,r]),b=h.useMemo(()=>(g==null?void 0:g.options.map(T=>T.id))||[],[g]),j=h.useMemo(()=>(g==null?void 0:g.endsAt)&&Nn().unix()>g.endsAt,[g]),S=h.useMemo(()=>(g==null?void 0:g.pollType)===Wm.MULTIPLE_CHOICE,[g]),I=h.useMemo(()=>!j&&!w.length,[j,w]),N=h.useMemo(()=>t.pubkey===r||!I,[t,r,I]),[M,D]=h.useState(null);if(h.useEffect(()=>{if(d||f||!M)return;const T=new IntersectionObserver(([R])=>{R.isIntersecting&&setTimeout(()=>{wje(M)&&O()},200)},{threshold:.1});return T.observe(M),()=>{T.unobserve(M)}},[d,f,M]),!g)return null;const O=async()=>{m(!0);try{const T=await iq(t.pubkey,g);return await jj.fetchResults(t.id,T,b,S,g.endsAt)}catch(T){console.error("Failed to fetch poll results:",T),on.error("Failed to fetch poll results: "+T.message)}finally{m(!1)}},L=T=>{j||u(S?R=>R.includes(T)?R.filter(z=>z!==T):[...R,T]:R=>R.includes(T)?[]:[T])},B=async()=>{if(l.length!==0){if(!r){s();return}i(!0);try{if(!d){const z=await O();if(z&&z.voters.has(r))return}const T=await iq(t.pubkey,g),R=IAe(t,l);await o(R,{additionalRelayUrls:T}),u([]),jj.addPollResponse(t.id,r,l)}catch(T){console.error("Failed to vote:",T),on.error("Failed to vote: "+T.message)}finally{i(!1)}}};return c.jsx("div",{className:e,ref:D,children:c.jsxs("div",{className:"space-y-2",children:[c.jsxs("div",{className:"text-sm text-muted-foreground",children:[c.jsx("p",{children:g.pollType===Wm.MULTIPLE_CHOICE&&n("Multiple choice (select one or more)")}),c.jsx("p",{children:!!g.endsAt&&(j?n("Poll has ended"):n("Poll ends at {{time}}",{time:new Date(g.endsAt*1e3).toLocaleString()}))})]}),c.jsx("div",{className:"grid gap-2",children:g.options.map(T=>{var W,F;const R=((F=(W=d==null?void 0:d.results)==null?void 0:W[T.id])==null?void 0:F.size)??0,z=(d==null?void 0:d.totalVotes)??0,Y=N&&z>0?R/z*100:0,Q=d&&d.totalVotes>0&&N?Object.values(d.results).every(X=>X.size<=R):!1;return c.jsxs("button",{title:T.label,className:Re("relative w-full px-4 py-3 rounded-lg border transition-all flex items-center gap-2 overflow-hidden",I?"cursor-pointer":"cursor-not-allowed",I&&(l.includes(T.id)?"border-primary bg-primary/20":"hover:border-primary/40 hover:bg-primary/5")),onClick:X=>{X.stopPropagation(),L(T.id)},disabled:!I,children:[c.jsxs("div",{className:"flex items-center gap-2 flex-1 w-0 z-10",children:[c.jsx("div",{className:Re("line-clamp-2 text-left",Q?"font-semibold":""),children:T.label}),w.includes(T.id)&&c.jsx(nL,{className:"size-4 shrink-0"})]}),N&&c.jsxs("div",{className:Re("text-muted-foreground shrink-0 z-10",Q?"font-semibold text-foreground":""),children:[Y.toFixed(1),"%"]}),c.jsx("div",{className:Re("absolute inset-0 rounded-r-sm transition-all duration-700 ease-out",Q?"bg-primary/60":"bg-muted/90"),style:{width:`${Y}%`}})]},T.id)})}),c.jsxs("div",{className:"flex justify-between items-center text-sm text-muted-foreground",children:[c.jsx("div",{children:n("{{number}} votes",{number:(d==null?void 0:d.totalVotes)??0})}),f&&n("Loading..."),!f&&N&&c.jsx("div",{className:"hover:underline cursor-pointer",onClick:T=>{T.stopPropagation(),O()},children:n(d?"Refresh results":"Load results")})]}),I&&!!l.length&&c.jsxs(Le,{onClick:T=>{T.stopPropagation(),l.length!==0&&B()},disabled:!l.length||a,className:"w-full",children:[a&&c.jsx(so,{className:"animate-spin"}),n("Vote")]})]})})}async function iq(t,e){const n=e.relayUrls.slice(0,4);if(!n.length){const r=await ze.fetchRelayList(t);n.push(...r.read.slice(0,4))}return n}function G7({stars:t,className:e}){const n=h.useMemo(()=>Math.round(t),[t]);return c.jsx("div",{className:Re("flex items-center gap-1",e),children:Array.from({length:5}).map((r,o)=>o<n?c.jsx(cd,{className:"size-4 text-foreground fill-foreground"},o):c.jsx(cd,{className:"size-4 text-muted-foreground"},o))})}function RXe({event:t,className:e}){const{push:n}=kn(),r=h.useMemo(()=>Bk(t),[t]),o=h.useMemo(()=>Uy(t),[t]),s=h.useMemo(()=>la(o),[o]);return c.jsxs("div",{className:e,children:[c.jsxs("div",{className:"mt-2 flex items-center gap-2",children:[c.jsx(G7,{stars:r}),c.jsx("span",{className:"text-sm text-muted-foreground",children:"→"}),c.jsx("div",{className:"text-sm text-muted-foreground hover:text-foreground hover:underline cursor-pointer truncate",onClick:a=>{a.stopPropagation(),n(Eg(o))},children:s})]}),c.jsx(pd,{event:t,className:"mt-2"})]})}function TXe({event:t,className:e}){const{t:n}=qe();return c.jsxs("div",{className:Re("flex flex-col gap-2 items-center text-muted-foreground font-medium my-4",e),children:[c.jsx("div",{children:n("Cannot handle event of kind k",{k:t.kind})}),c.jsx(Ig,{event:t})]})}function DXe({event:t,className:e}){const n=h.useMemo(()=>xT(t),[t]);return c.jsxs("div",{className:e,children:[c.jsx(pd,{event:t}),n.map(r=>c.jsx(v7,{src:r.url,className:"mt-2"},r.url))]})}function q7({event:t,originalNoteId:e,size:n="normal",className:r,hideParentNotePreview:o=!1,showFull:s=!1}){const{push:a}=kn(),{navigate:i}=Lo(),{isSmallScreen:l}=gn(),{pubkey:u}=wt(),{startConversation:d}=bf(),{parentEventId:f,parentExternalContent:m}=h.useMemo(()=>Tee(t),[t]),{nsfwDisplayPolicy:g,enableMarkdown:w}=lo(),[b,j]=h.useState(!1),{mutePubkeySet:S}=ns(),[I,N]=h.useState(!1),[M,D]=h.useState(null),O=M??w,L=R=>{R.stopPropagation(),d(t.pubkey),i("inbox")},B=h.useMemo(()=>g===Ul.SHOW?!1:Aee(t),[t,g]);let T;return[...B3e,Ue.CommunityDefinition,Ue.LiveEvent,gt.GROUP_METADATA].includes(t.kind)?S.has(t.pubkey)&&!I?T=c.jsx(NXe,{show:()=>N(!0)}):B&&!b?T=c.jsx(IXe,{show:()=>j(!0)}):t.kind===Ue.Highlights?T=c.jsx(vXe,{className:"mt-2",event:t}):t.kind===Ue.LongFormArticle?T=s?c.jsx(SXe,{className:"mt-2",event:t}):c.jsx(EXe,{className:"mt-2",event:t}):t.kind===Ue.LiveEvent?T=c.jsx(bXe,{className:"mt-2",event:t}):t.kind===gt.GROUP_METADATA?T=c.jsx(yXe,{className:"mt-2",event:t,originalNoteId:e}):t.kind===Ue.CommunityDefinition?T=c.jsx(dXe,{className:"mt-2",event:t}):t.kind===gt.POLL?T=c.jsxs(c.Fragment,{children:[c.jsx(pd,{className:"mt-2",event:t,enableMarkdown:O}),c.jsx(MXe,{className:"mt-2",event:t})]}):t.kind===gt.VOICE||t.kind===gt.VOICE_COMMENT?T=c.jsx(e7,{className:"mt-2",src:t.content}):t.kind===gt.PICTURE?T=c.jsx(AXe,{className:"mt-2",event:t}):t.kind===gt.VIDEO||t.kind===gt.SHORT_VIDEO||t.kind===gt.ADDRESSABLE_NORMAL_VIDEO||t.kind===gt.ADDRESSABLE_SHORT_VIDEO?T=c.jsx(DXe,{className:"mt-2",event:t}):t.kind===gt.RELAY_REVIEW?T=c.jsx(RXe,{className:"mt-2",event:t}):t.kind===Ue.Emojisets?T=c.jsx(mXe,{className:"mt-2",event:t}):t.kind===gt.FOLLOW_PACK?T=c.jsx(gXe,{className:"mt-2",event:t}):T=c.jsx(pd,{className:"mt-2",event:t,enableHighlight:!0,enableMarkdown:O}):T=c.jsx(TXe,{className:"mt-2",event:t}),c.jsxs("div",{className:r,children:[c.jsxs("div",{className:"flex justify-between items-start gap-2",children:[c.jsxs("div",{className:"flex items-center space-x-2 flex-1",children:[c.jsx(Ro,{userId:t.pubkey,size:n==="small"?"medium":"normal"}),c.jsxs("div",{className:"flex-1 w-0",children:[c.jsxs("div",{className:"flex gap-2 items-center",children:[c.jsx(zs,{userId:t.pubkey,className:`font-semibold flex truncate ${n==="small"?"text-sm":""}`,skeletonClassName:n==="small"?"h-3":"h-4"}),c.jsx(P7,{pubkey:t.pubkey}),c.jsx(Sx,{pubkey:t.pubkey}),c.jsx(t7,{event:t}),u&&u!==t.pubkey&&c.jsx("button",{onClick:L,className:"p-1 rounded hover:bg-accent text-muted-foreground hover:text-foreground transition-colors",title:"Start conversation",children:c.jsx(tx,{className:"size-3.5"})})]}),c.jsxs("div",{className:"flex items-center gap-1 text-sm text-muted-foreground",children:[c.jsx(dc,{pubkey:t.pubkey,append:"·"}),c.jsx(mh,{timestamp:t.created_at,className:"shrink-0",short:l})]})]})]}),n==="normal"&&c.jsxs("div",{className:"flex items-center shrink-0",children:[c.jsx("button",{onClick:R=>{R.stopPropagation(),D(z=>z===null?!w:null)},className:`p-1 rounded hover:bg-accent transition-colors ${M!==null?"text-foreground":"text-muted-foreground"}`,title:O?"Show plain text":"Show markdown",children:O?c.jsx(J7e,{className:"size-4"}):c.jsx(Kse,{className:"size-4"})}),c.jsx(Ode,{event:t,className:"py-1 [&_svg]:size-5"})]})]}),!o&&c.jsx(Y7,{eventId:f,externalContent:m,className:"mt-2",onClick:R=>{R.stopPropagation(),m?a(vy(m)):f&&a(yl(f))}}),T]})}const A0=class A0{constructor(){je(this,"postContentCache",new Map);je(this,"postSettingsCache",new Map);return A0.instance||(A0.instance=this),A0.instance}getPostContentCache({defaultContent:e,parentStuff:n}={}){return this.postContentCache.get(this.generateCacheKey(e,n))??e}setPostContentCache({defaultContent:e,parentStuff:n},r){this.postContentCache.set(this.generateCacheKey(e,n),r)}getPostSettingsCache({defaultContent:e,parentStuff:n}={}){return this.postSettingsCache.get(this.generateCacheKey(e,n))}setPostSettingsCache({defaultContent:e,parentStuff:n},r){this.postSettingsCache.set(this.generateCacheKey(e,n),r)}clearPostCache({defaultContent:e,parentStuff:n}){const r=this.generateCacheKey(e,n);this.postContentCache.delete(r),this.postSettingsCache.delete(r)}generateCacheKey(e="",n){return n?typeof n=="string"?n:n.id:e}};je(A0,"instance");let RM=A0;const G0=new RM,Y6={FOLLOWS:39e3,MENTIONS:39001,THREAD:39002},Rm=class Rm{constructor(){je(this,"pool");je(this,"capabilityCache",new Map);je(this,"capabilityFetchPromises",new Map);this.pool=new LX}static getInstance(){return Rm.instance||(Rm.instance=new Rm),Rm.instance}isEnabled(){return Xe.getGraphQueriesEnabled()}async getRelayCapability(e){const n=oo(e);if(this.capabilityCache.has(n))return this.capabilityCache.get(n)??null;const r=this.capabilityFetchPromises.get(n);if(r)return r;const o=this._fetchRelayCapability(n);this.capabilityFetchPromises.set(n,o);try{const s=await o;return this.capabilityCache.set(n,s),s}finally{this.capabilityFetchPromises.delete(n)}}async _fetchRelayCapability(e){var n;try{const r=await cx.getRelayInfo(e);return(n=r==null?void 0:r.graph_query)!=null&&n.enabled?r.graph_query:null}catch{return null}}async supportsMethod(e,n){const r=await this.getRelayCapability(e);return r!=null&&r.enabled?r.methods.includes(n):!1}async findGraphCapableRelay(e,n){return this.isEnabled()?(await Promise.all(e.map(async o=>{const s=await this.getRelayCapability(o);return!(s!=null&&s.enabled)||n&&!s.methods.includes(n)?null:o}))).find(o=>o!==null)??null:null}async executeQuery(e,n){if(!this.isEnabled())return null;const r=await this.getRelayCapability(e);if(!(r!=null&&r.enabled))return console.warn(`Relay ${e} does not support graph queries`),null;if(!r.methods.includes(n.method))return console.warn(`Relay ${e} does not support method: ${n.method}`),null;const o=n.depth??1;o>r.max_depth&&(console.warn(`Requested depth ${o} exceeds relay max ${r.max_depth}`),n={...n,depth:r.max_depth});const s={_graph:n},a=this.getExpectedResponseKind(n.method);return new Promise(async i=>{let l=!1;const u=setTimeout(()=>{l||(l=!0,i(null))},3e4);try{const f=(await this.pool.ensureRelay(e,{connectionTimeout:5e3})).subscribe([s],{onevent:m=>{if(m.kind===a){if(!Oy(m)){console.warn("Invalid signature on graph response");return}try{const g=JSON.parse(m.content);l||(l=!0,clearTimeout(u),f.close(),i(g))}catch(g){console.error("Failed to parse graph response:",g)}}},oneose:()=>{l||(l=!0,clearTimeout(u),f.close(),i(null))}})}catch(d){console.error("Failed to connect to relay for graph query:",d),l||(l=!0,clearTimeout(u),i(null))}})}getExpectedResponseKind(e){switch(e){case"follows":case"followers":return Y6.FOLLOWS;case"mentions":return Y6.MENTIONS;case"thread":return Y6.THREAD;default:return Y6.FOLLOWS}}async queryFollowGraph(e,n,r=1){const o=await this.findGraphCapableRelay(e,"follows");return o?this.executeQuery(o,{method:"follows",seed:n,depth:r}):null}async queryFollowerGraph(e,n,r=1){const o=await this.findGraphCapableRelay(e,"followers");return o?this.executeQuery(o,{method:"followers",seed:n,depth:r}):null}async queryThread(e,n,r=10,o){var i,l;const s=await this.findGraphCapableRelay(e,"thread");if(!s)return null;const a={method:"thread",seed:n,depth:r};return(i=o==null?void 0:o.inboundRefKinds)!=null&&i.length&&(a.inbound_refs=[{kinds:o.inboundRefKinds,from_depth:0}]),(l=o==null?void 0:o.outboundRefKinds)!=null&&l.length&&(a.outbound_refs=[{kinds:o.outboundRefKinds,from_depth:0}]),this.executeQuery(s,a)}async queryMentions(e,n,r){var a;const o=await this.findGraphCapableRelay(e,"mentions");if(!o)return null;const s={method:"mentions",seed:n};return(a=r==null?void 0:r.inboundRefKinds)!=null&&a.length&&(s.inbound_refs=[{kinds:r.inboundRefKinds,from_depth:0}]),this.executeQuery(o,s)}clearCapabilityCache(e){if(e){const n=oo(e);this.capabilityCache.delete(n)}else this.capabilityCache.clear()}};je(Rm,"instance");let TM=Rm;const Cj=TM.getInstance(),_0=class _0{constructor(){je(this,"rootInfoCache",new Map);je(this,"subscriptions",new Map);je(this,"threadMap",new Map);je(this,"processedReplyKeys",new Set);je(this,"parentKeyMap",new Map);je(this,"descendantCache",new Map);je(this,"threadListeners",new Map);je(this,"allDescendantThreadsListeners",new Map);je(this,"EMPTY_ARRAY",[]);je(this,"EMPTY_MAP",new Map);return _0.instance||(_0.instance=this),_0.instance}async subscribe(e,n=100){const{event:r}=this.resolveStuff(e),o=await this.parseRootInfo(e);if(!o)return;const s=this.subscriptions.get(o.id);if(s){s.count+=1;return}if(o.type==="E"&&await this.tryGraphQueryThread(o.id)){this.subscriptions.set(o.id,{promise:Promise.resolve({closer:()=>{},timelineKey:""}),count:1,until:void 0});return}const i=(async()=>{const l=new Set,u=o.pubkey??(r==null?void 0:r.pubkey);o.type==="A"&&o.relay&&l.add(o.relay),r&&ze.getSeenEventRelayUrls(r.id).forEach(S=>l.add(S)),u&&(await ze.fetchRelayList(u)).read.slice(0,4).forEach(S=>l.add(S)),l.size===0&&ze.currentRelays.forEach(j=>l.add(j));let d=Array.from(l).slice(0,8);const f=[];o.type==="E"?(f.push({"#e":[o.id],kinds:[Ue.ShortTextNote],limit:n}),(r==null?void 0:r.kind)!==Ue.ShortTextNote&&f.push({"#E":[o.id],kinds:[gt.COMMENT,gt.VOICE_COMMENT],limit:n})):o.type==="A"?f.push({"#a":[o.id],kinds:[Ue.ShortTextNote],limit:n},{"#A":[o.id],kinds:[gt.COMMENT,gt.VOICE_COMMENT],limit:n}):f.push({"#I":[o.id],kinds:[gt.COMMENT,gt.VOICE_COMMENT],limit:n});let m;const g=new Promise(j=>{m=j}),{closer:w,timelineKey:b}=await ze.subscribeTimeline(f.map(j=>({urls:d.slice(0,8),filter:j})),{onEvents:(j,S)=>{if(j.length>0&&this.addRepliesToThread(j),S){const I=this.subscriptions.get(o.id);I&&j.length>0&&(I.until=j[j.length-1].created_at-1),m()}},onNew:j=>{this.addRepliesToThread([j])}});return await g,{closer:w,timelineKey:b}})();this.subscriptions.set(o.id,{promise:i,count:1,until:Nn().unix()}),await i}async unsubscribe(e){const n=await this.parseRootInfo(e);if(!n)return;const r=this.subscriptions.get(n.id);r&&setTimeout(()=>{r.count-=1,r.count<=0&&(this.subscriptions.delete(n.id),r.promise.then(({closer:o})=>{o()}))},2e3)}async loadMore(e,n=100){const r=await this.parseRootInfo(e);if(!r)return!1;const o=this.subscriptions.get(r.id);if(!o)return!1;const{timelineKey:s}=await o.promise;if(!s||!o.until)return!1;const a=await ze.loadMoreTimeline(s,o.until,n);this.addRepliesToThread(a);const{event:i}=this.resolveStuff(e);let l=a.length?a[a.length-1].created_at-1:void 0;return l&&i&&!Fs(i.kind)&&l<i.created_at&&(l=void 0),o.until=l,!!l}addRepliesToThread(e){const n=new Map;if(e.forEach(r=>{const o=Qo(r);if(this.processedReplyKeys.has(o)||(this.processedReplyKeys.add(o),!I_(r)))return;const s=O2(r);if(s){const a=jC(s.tag);if(a){const i=n.get(a)??[];i.push(r),n.set(a,i),this.parentKeyMap.set(o,a)}}}),n.size!==0){for(const[r,o]of n.entries()){const s=this.threadMap.get(r)??[];s.push(...o),this.threadMap.set(r,s)}this.descendantCache.clear();for(const r of n.keys())this.notifyThreadUpdate(r),this.notifyAllDescendantThreadsUpdate(r)}}getThread(e){return this.threadMap.get(e)??this.EMPTY_ARRAY}getAllDescendantThreads(e){const n=this.descendantCache.get(e);if(n)return n;const o=(()=>{const s=this.threadMap.get(e);if(!s||s.length===0)return this.EMPTY_MAP;const a=new Map,i=[e];for(;i.length>0;){const l=i.pop(),u=this.threadMap.get(l)??[];u.length>0&&(a.set(l,u),u.forEach(d=>{const f=Qo(d);i.push(f)}))}return a})();return this.descendantCache.set(e,o),o}listenThread(e,n){let r=this.threadListeners.get(e);return r||(r=new Set,this.threadListeners.set(e,r)),r.add(n),()=>{r==null||r.delete(n),(r==null?void 0:r.size)===0&&this.threadListeners.delete(e)}}notifyThreadUpdate(e){const n=this.threadListeners.get(e);n&&n.forEach(r=>r())}listenAllDescendantThreads(e,n){let r=this.allDescendantThreadsListeners.get(e);return r||(r=new Set,this.allDescendantThreadsListeners.set(e,r)),r.add(n),()=>{r==null||r.delete(n),(r==null?void 0:r.size)===0&&this.allDescendantThreadsListeners.delete(e)}}notifyAllDescendantThreadsUpdate(e){const n=o=>{const s=this.allDescendantThreadsListeners.get(o);s&&s.forEach(a=>a())};n(e);let r=this.parentKeyMap.get(e);for(;r;)n(r),r=this.parentKeyMap.get(r)}async parseRootInfo(e){const{event:n,externalContent:r}=this.resolveStuff(e);if(!n&&!r)return;const o=n?Qo(n):r,s=this.rootInfoCache.get(o);if(s)return s;const i=(async()=>{let l=n?Fs(n.kind)?{type:"A",id:ti(n),pubkey:n.pubkey,relay:ze.getEventHint(n.id)}:{type:"E",id:n.id,pubkey:n.pubkey}:{type:"I",id:r};const u=wT(n);if((u==null?void 0:u.type)==="e"){const[,d,,,f]=u.tag;if(d&&f)l={type:"E",id:d,pubkey:f};else{const m=oc(u.tag);if(m){const g=await ze.fetchEvent(m);g&&(l={type:"E",id:g.id,pubkey:g.pubkey})}}}else if((u==null?void 0:u.type)==="a"){const[,d,f]=u.tag,[,m]=d.split(":");l={type:"A",id:d,pubkey:m,relay:f}}else(u==null?void 0:u.type)==="i"&&(l={type:"I",id:u.tag[1]});return l})();return this.rootInfoCache.set(o,i),i}async tryGraphQueryThread(e){var n;try{const r=ze.currentRelays.length>0?ze.currentRelays:[];if(r.length===0)return!1;const o=await Cj.queryThread(r,e,10,{inboundRefKinds:[7,9735]});if(!((n=o==null?void 0:o.events_by_depth)!=null&&n.length))return!1;const s=o.events_by_depth.flat();if(s.length===0)return!1;const a=await ze.fetchEvents(r,{ids:s.slice(0,500),limit:s.length});return a.length>0?(this.addRepliesToThread(a),!0):!1}catch(r){return console.error("Graph query for thread failed:",r),!1}}resolveStuff(e){return typeof e=="string"?{event:void 0,externalContent:e,stuffKey:e}:{event:e,externalContent:void 0,stuffKey:Qo(e)}}};je(_0,"instance");let DM=_0;const fl=new DM,LXe="https://api.anthropic.com/v1/messages",PXe="https://api.anthropic.com/v1/models",$de="2023-06-01",Vde="claude-sonnet-4-20250514",OXe=4096,lq=new Map,zXe=1800*1e3;async function FXe(t){const e=lq.get(t);if(e&&Date.now()-e.timestamp<zXe)return e.models;const n=[];let r;do{const o=new URL(PXe);o.searchParams.set("limit","100"),r&&o.searchParams.set("after_id",r);const s=await fetch(o.toString(),{headers:{"x-api-key":t,"anthropic-version":$de,"anthropic-dangerous-direct-browser-access":"true"}});if(!s.ok){const l=await s.text();throw console.error("[LLM] Failed to fetch models:",s.status,l),new Error(`Failed to fetch models (${s.status})`)}const a=await s.json(),i=a.data??[];n.push(...i),r=a.has_more?a.last_id:void 0}while(r);return lq.set(t,{models:n,timestamp:Date.now()}),n}async function cq(t,e,n,r){var l;const o={model:r||Vde,max_tokens:OXe,system:e+`
2101
2102 IMPORTANT: Output ONLY the rewritten text. Do not include any commentary, explanations, notes, or preamble. Your entire response must be the rewritten text and nothing else.`,messages:[{role:"user",content:n}]};console.debug("[LLM] Sending request:",{model:o.model,systemPrompt:o.system});const s=await fetch(LXe,{method:"POST",headers:{"x-api-key":t,"anthropic-version":$de,"content-type":"application/json","anthropic-dangerous-direct-browser-access":"true"},body:JSON.stringify(o)});if(!s.ok){const u=await s.text();throw console.error("[LLM] API error:",s.status,u),new Error(`Anthropic API error (${s.status}): ${u}`)}const a=await s.json();console.debug("[LLM] Response received:",{stopReason:a.stop_reason,model:a.model});const i=(l=a.content)==null?void 0:l.find(u=>u.type==="text");if(!(i!=null&&i.text))throw new Error("No text content in API response");return i.text}function Sj({onEmojiClick:t}){const{themeSetting:e}=gf(),{isSmallScreen:n}=gn();return c.jsx(cIe,{theme:e==="system"?Vp.AUTO:e==="dark"?Vp.DARK:Vp.LIGHT,width:n?"100%":350,autoFocusSearch:!1,emojiStyle:Ci.NATIVE,skinTonePickerLocation:hg.PREVIEW,style:{"--epr-bg-color":"hsl(var(--background))","--epr-category-label-bg-color":"hsl(var(--background))","--epr-text-color":"hsl(var(--foreground))","--epr-hover-bg-color":"hsl(var(--muted) / 0.5)","--epr-picker-border-color":"transparent","--epr-search-input-bg-color":"hsl(var(--muted) / 0.5)"},suggestedEmojisMode:ay.FREQUENT,onEmojiClick:(r,o)=>{const s=jT(r.unified);t(s,o)},customEmojis:Ju.getAllCustomEmojisForPicker()})}function K7({children:t,onEmojiClick:e}){const{isSmallScreen:n}=gn(),[r,o]=h.useState(!1);return n?c.jsxs(ao,{open:r,onOpenChange:o,children:[c.jsx(Sh,{asChild:!0,children:t}),c.jsx(io,{children:c.jsx(Sj,{onEmojiClick:(s,a)=>{a.stopPropagation(),o(!1),e==null||e(s)}})})]}):c.jsxs(li,{open:r,onOpenChange:o,children:[c.jsx(Ti,{asChild:!0,children:t}),c.jsx(ci,{side:"top",className:"p-0 w-fit",children:c.jsx(Sj,{onEmojiClick:(s,a)=>{a.stopPropagation(),o(!1),e==null||e(s)}})})]})}function BXe({content:t,mentions:e,setMentions:n,parentEvent:r}){const{t:o}=qe(),{isSmallScreen:s}=gn(),[a,i]=h.useState(!1),{pubkey:l}=wt(),{mutePubkeySet:u}=ns(),[d,f]=h.useState([]),[m,g]=h.useState(),[w,b]=h.useState([]);h.useEffect(()=>{$Xe(t,r).then(({pubkeys:S,relatedPubkeys:I,parentEventPubkey:N})=>{const M=N!==l?N:void 0;g(M);const D=[...S,...I].filter(O=>O!==l);M&&D.push(M),f(D),b(O=>Array.from(new Set(O.filter(L=>D.includes(L)).concat(D.filter(L=>u.has(L)&&L!==M)))))})},[t,r,l,u]),h.useEffect(()=>{const S=d.filter(I=>!w.includes(I));n(S)},[d,w]);const j=h.useMemo(()=>d.map((S,I)=>{const N=d[d.length-1-I],M=N===m;return c.jsxs(UXe,{checked:M?!0:e.includes(N),onCheckedChange:D=>{M||b(D?O=>O.filter(L=>L!==N):O=>[...O,N])},disabled:M,children:[c.jsx(nc,{userId:N,size:"small"}),c.jsx(sd,{userId:N,className:"font-semibold text-sm truncate",skeletonClassName:"h-3"})]},`${N}-${I}`)}),[d,m,e]);return s?c.jsxs(c.Fragment,{children:[c.jsxs(Le,{className:"px-3",variant:"ghost",disabled:d.length===0,onClick:()=>i(!0),children:[o("Mentions")," ",d.length>0&&`(${e.length}/${d.length})`]}),c.jsxs(ao,{open:a,onOpenChange:i,children:[c.jsx(fc,{onClick:()=>i(!1)}),c.jsx(io,{className:"max-h-[80vh]",hideOverlay:!0,children:c.jsx("div",{className:"overflow-y-auto overscroll-contain py-2",style:{touchAction:"pan-y"},children:j})})]})]}):c.jsxs(li,{children:[c.jsx(Ti,{asChild:!0,children:c.jsxs(Le,{className:"px-3",variant:"ghost",disabled:d.length===0,onClick:S=>S.stopPropagation(),children:[o("Mentions")," ",d.length>0&&`(${e.length}/${d.length})`]})}),c.jsx(ci,{align:"start",className:"max-w-96 max-h-[50vh]",showScrollButtons:!0,children:j})]})}function UXe({children:t,checked:e,disabled:n,onCheckedChange:r}){const{isSmallScreen:o}=gn();return o?c.jsxs("div",{onClick:()=>{n||r(!e)},className:Re("flex items-center gap-2 px-4 py-3 clickable",n?"opacity-50 pointer-events-none":""),children:[c.jsx("div",{className:"flex items-center justify-center size-4 shrink-0",children:e&&c.jsx(Zr,{className:"size-4"})}),t]}):c.jsx(sue,{checked:e,disabled:n,onSelect:s=>s.preventDefault(),onCheckedChange:r,className:"flex items-center gap-2",children:t})}async function $Xe(t,e){const n=e?e.pubkey:void 0,r=[],o=[],s=t.match(/nostr:(npub1[a-z0-9]{58}|nprofile1[a-z0-9]+|note1[a-z0-9]{58}|nevent1[a-z0-9]+)/g),a=(i,l)=>{l!==n&&(i.includes(l)||i.push(l))};for(const i of s||[])try{const l=i.split(":")[1],{type:u,data:d}=yr.decode(l);if(u==="nprofile")a(r,d.pubkey);else if(u==="npub")a(r,d);else if(["nevent","note"].includes(u)){const f=await ze.fetchEvent(l);f&&a(r,f.pubkey)}}catch(l){console.error(l)}return e&&e.tags.forEach(([i,l])=>{["p","P"].includes(i)&&l&&a(o,l)}),{pubkeys:r,relatedPubkeys:o.filter(i=>!r.includes(i)),parentEventPubkey:n}}const On=h.forwardRef(({className:t,type:e,...n},r)=>c.jsx("input",{type:e,className:Re("flex h-10 w-full rounded-lg border border-input bg-background px-3 py-2 text-base transition-all duration-200 file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:border-ring disabled:cursor-not-allowed disabled:opacity-50 md:text-sm hover:border-ring/50",t),ref:r,...n}));On.displayName="Input";function VXe(t,e,{checkForDefaultPrevented:n=!0}={}){return function(o){if(t==null||t(o),n===!1||!o.defaultPrevented)return e==null?void 0:e(o)}}function uq(t,e){if(typeof t=="function")return t(e);t!=null&&(t.current=e)}function Hde(...t){return e=>{let n=!1;const r=t.map(o=>{const s=uq(o,e);return!n&&typeof s=="function"&&(n=!0),s});if(n)return()=>{for(let o=0;o<r.length;o++){const s=r[o];typeof s=="function"?s():uq(t[o],null)}}}}function HXe(...t){return h.useCallback(Hde(...t),t)}function WXe(t,e=[]){let n=[];function r(s,a){const i=h.createContext(a),l=n.length;n=[...n,a];const u=f=>{var S;const{scope:m,children:g,...w}=f,b=((S=m==null?void 0:m[t])==null?void 0:S[l])||i,j=h.useMemo(()=>w,Object.values(w));return c.jsx(b.Provider,{value:j,children:g})};u.displayName=s+"Provider";function d(f,m){var b;const g=((b=m==null?void 0:m[t])==null?void 0:b[l])||i,w=h.useContext(g);if(w)return w;if(a!==void 0)return a;throw new Error(`\`${f}\` must be used within \`${s}\``)}return[u,d]}const o=()=>{const s=n.map(a=>h.createContext(a));return function(i){const l=(i==null?void 0:i[t])||s;return h.useMemo(()=>({[`__scope${t}`]:{...i,[t]:l}}),[i,l])}};return o.scopeName=t,[r,YXe(o,...e)]}function YXe(...t){const e=t[0];if(t.length===1)return e;const n=()=>{const r=t.map(o=>({useScope:o(),scopeName:o.scopeName}));return function(s){const a=r.reduce((i,{useScope:l,scopeName:u})=>{const f=l(s)[`__scope${u}`];return{...i,...f}},{});return h.useMemo(()=>({[`__scope${e.scopeName}`]:a}),[a])}};return n.scopeName=e.scopeName,n}function GXe({prop:t,defaultProp:e,onChange:n=()=>{}}){const[r,o]=qXe({defaultProp:e,onChange:n}),s=t!==void 0,a=s?t:r,i=or(n),l=h.useCallback(u=>{if(s){const f=typeof u=="function"?u(t):u;f!==t&&i(f)}else o(u)},[s,t,o,i]);return[a,l]}function qXe({defaultProp:t,onChange:e}){const n=h.useState(t),[r]=n,o=h.useRef(r),s=or(e);return h.useEffect(()=>{o.current!==r&&(s(r),o.current=r)},[r,o,s]),n}function KXe(t){const e=h.useRef({value:t,previous:t});return h.useMemo(()=>(e.current.value!==t&&(e.current.previous=e.current.value,e.current.value=t),e.current.previous),[t])}function ZXe(t){const[e,n]=h.useState(void 0);return fr(()=>{if(t){n({width:t.offsetWidth,height:t.offsetHeight});const r=new ResizeObserver(o=>{if(!Array.isArray(o)||!o.length)return;const s=o[0];let a,i;if("borderBoxSize"in s){const l=s.borderBoxSize,u=Array.isArray(l)?l[0]:l;a=u.inlineSize,i=u.blockSize}else a=t.offsetWidth,i=t.offsetHeight;n({width:a,height:i})});return r.observe(t,{box:"border-box"}),()=>r.unobserve(t)}else n(void 0)},[t]),e}var Wde=h.forwardRef((t,e)=>{const{children:n,...r}=t,o=h.Children.toArray(n),s=o.find(JXe);if(s){const a=s.props.children,i=o.map(l=>l===s?h.Children.count(a)>1?h.Children.only(null):h.isValidElement(a)?a.props.children:null:l);return c.jsx(LM,{...r,ref:e,children:h.isValidElement(a)?h.cloneElement(a,void 0,i):null})}return c.jsx(LM,{...r,ref:e,children:n})});Wde.displayName="Slot";var LM=h.forwardRef((t,e)=>{const{children:n,...r}=t;if(h.isValidElement(n)){const o=eet(n);return h.cloneElement(n,{...XXe(r,n.props),ref:e?Hde(e,o):o})}return h.Children.count(n)>1?h.Children.only(null):null});LM.displayName="SlotClone";var QXe=({children:t})=>c.jsx(c.Fragment,{children:t});function JXe(t){return h.isValidElement(t)&&t.type===QXe}function XXe(t,e){const n={...e};for(const r in e){const o=t[r],s=e[r];/^on[A-Z]/.test(r)?o&&s?n[r]=(...i)=>{s(...i),o(...i)}:o&&(n[r]=o):r==="style"?n[r]={...o,...s}:r==="className"&&(n[r]=[o,s].filter(Boolean).join(" "))}return{...t,...n}}function eet(t){var r,o;let e=(r=Object.getOwnPropertyDescriptor(t.props,"ref"))==null?void 0:r.get,n=e&&"isReactWarning"in e&&e.isReactWarning;return n?t.ref:(e=(o=Object.getOwnPropertyDescriptor(t,"ref"))==null?void 0:o.get,n=e&&"isReactWarning"in e&&e.isReactWarning,n?t.props.ref:t.props.ref||t.ref)}var tet=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","span","svg","ul"],Yde=tet.reduce((t,e)=>{const n=h.forwardRef((r,o)=>{const{asChild:s,...a}=r,i=s?Wde:e;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),c.jsx(i,{...a,ref:o})});return n.displayName=`Primitive.${e}`,{...t,[e]:n}},{}),Z7="Switch",[net]=WXe(Z7),[ret,oet]=net(Z7),Gde=h.forwardRef((t,e)=>{const{__scopeSwitch:n,name:r,checked:o,defaultChecked:s,required:a,disabled:i,value:l="on",onCheckedChange:u,form:d,...f}=t,[m,g]=h.useState(null),w=HXe(e,N=>g(N)),b=h.useRef(!1),j=m?d||!!m.closest("form"):!0,[S=!1,I]=GXe({prop:o,defaultProp:s,onChange:u});return c.jsxs(ret,{scope:n,checked:S,disabled:i,children:[c.jsx(Yde.button,{type:"button",role:"switch","aria-checked":S,"aria-required":a,"data-state":Zde(S),"data-disabled":i?"":void 0,disabled:i,value:l,...f,ref:w,onClick:VXe(t.onClick,N=>{I(M=>!M),j&&(b.current=N.isPropagationStopped(),b.current||N.stopPropagation())})}),j&&c.jsx(set,{control:m,bubbles:!b.current,name:r,value:l,checked:S,required:a,disabled:i,form:d,style:{transform:"translateX(-100%)"}})]})});Gde.displayName=Z7;var qde="SwitchThumb",Kde=h.forwardRef((t,e)=>{const{__scopeSwitch:n,...r}=t,o=oet(qde,n);return c.jsx(Yde.span,{"data-state":Zde(o.checked),"data-disabled":o.disabled?"":void 0,...r,ref:e})});Kde.displayName=qde;var set=t=>{const{control:e,checked:n,bubbles:r=!0,...o}=t,s=h.useRef(null),a=KXe(n),i=ZXe(e);return h.useEffect(()=>{const l=s.current,u=window.HTMLInputElement.prototype,f=Object.getOwnPropertyDescriptor(u,"checked").set;if(a!==n&&f){const m=new Event("click",{bubbles:r});f.call(l,n),l.dispatchEvent(m)}},[a,n,r]),c.jsx("input",{type:"checkbox","aria-hidden":!0,defaultChecked:n,...o,tabIndex:-1,ref:s,style:{...t.style,...i,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})};function Zde(t){return t?"checked":"unchecked"}var Qde=Gde,aet=Kde;const Ar=h.forwardRef(({className:t,...e},n)=>c.jsx(Qde,{className:Re("peer inline-flex h-5 w-9 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent transition-all duration-200 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=unchecked]:bg-foreground/30",t),...e,ref:n,children:c.jsx(aet,{className:Re("pointer-events-none block h-4 w-4 rounded-full bg-background ring-0 transition-all duration-200 data-[state=checked]:translate-x-4 data-[state=unchecked]:translate-x-0")})}));Ar.displayName=Qde.displayName;const iet={info:c.jsx(sL,{}),success:c.jsx(nL,{}),alert:c.jsx(lL,{})},cet={info:"bg-blue-100/20 dark:bg-blue-950/20 border border-blue-500 text-blue-500",success:"bg-green-100/20 dark:bg-green-950/20 border border-green-500 text-green-500",alert:"bg-amber-100/20 dark:bg-amber-950/20 border border-amber-500 text-amber-500"};function Ej({title:t,content:e,icon:n,variant:r="info"}){return c.jsxs("div",{className:Re("p-3 rounded-lg text-sm [&_svg]:size-4",cet[r]),children:[c.jsxs("div",{className:"flex items-center gap-2",children:[n??iet[r],c.jsx("div",{className:"font-medium",children:t})]}),e&&c.jsx("div",{className:"pl-6",children:e})]})}function uet({pollCreateData:t,setPollCreateData:e,setIsPoll:n}){const{t:r}=qe(),[o,s]=h.useState(t.isMultipleChoice),[a,i]=h.useState(t.options),[l,u]=h.useState(t.endsAt?Nn(t.endsAt*1e3).format("YYYY-MM-DDTHH:mm"):""),[d,f]=h.useState(t.relays.join(", "));h.useEffect(()=>{e({isMultipleChoice:o,options:a,endsAt:l?Nn(l).startOf("minute").unix():void 0,relays:d?d.split(",").map(b=>oo(b.trim())).filter(Boolean):[]})},[o,a,l,d]);const m=()=>{i([...a,""])},g=b=>{a.length>2&&i(a.filter((j,S)=>S!==b))},w=(b,j)=>{const S=[...a];S[b]=j,i(S)};return c.jsxs("div",{className:"space-y-4 border rounded-lg p-3",children:[c.jsxs("div",{className:"space-y-2",children:[a.map((b,j)=>c.jsxs("div",{className:"flex gap-2",children:[c.jsx(On,{value:b,onChange:S=>w(j,S.target.value),placeholder:r("Option {{number}}",{number:j+1})}),c.jsx(Le,{type:"button",variant:"ghost-destructive",size:"icon",onClick:()=>g(j),disabled:a.length<=2,children:c.jsx(Us,{})})]},j)),c.jsx(Le,{type:"button",variant:"outline",onClick:m,children:r("Add Option")})]}),c.jsxs("div",{className:"flex items-center space-x-2",children:[c.jsx(Ot,{htmlFor:"multiple-choice",children:r("Allow multiple choices")}),c.jsx(Ar,{id:"multiple-choice",checked:o,onCheckedChange:s})]}),c.jsxs("div",{className:"grid gap-2",children:[c.jsx(Ot,{htmlFor:"ends-at",children:r("End Date (optional)")}),c.jsxs("div",{className:"flex items-center gap-2",children:[c.jsx(On,{id:"ends-at",type:"datetime-local",value:l,onChange:b=>u(b.target.value)}),c.jsx(Le,{type:"button",variant:"ghost-destructive",size:"icon",onClick:()=>u(""),disabled:!l,title:r("Clear end date"),children:c.jsx(C7e,{})})]})]}),c.jsxs("div",{className:"grid gap-2",children:[c.jsx(Ot,{htmlFor:"relay-urls",children:r("Relay URLs (optional, comma-separated)")}),c.jsx(On,{id:"relay-urls",value:d,onChange:b=>f(b.target.value),placeholder:"wss://relay1.com, wss://relay2.com"})]}),c.jsxs("div",{className:"grid gap-2",children:[c.jsx(Ej,{variant:"alert",title:r("This is a poll note."),content:r("Unlike regular notes, polls are not widely supported and may not display on other clients.")}),c.jsx(Le,{variant:"ghost-destructive",className:"w-full",onClick:()=>n(!1),children:r("Remove poll")})]})]})}function fet({posting:t,show:e,addClientTag:n,setAddClientTag:r,isNsfw:o,setIsNsfw:s,minPow:a,setMinPow:i}){const{t:l}=qe();if(h.useEffect(()=>{r(window.localStorage.getItem(bt.ADD_CLIENT_TAG)==="true")},[]),!e)return null;const u=f=>{r(f),window.localStorage.setItem(bt.ADD_CLIENT_TAG,f.toString())},d=f=>{s(f)};return c.jsxs("div",{className:"space-y-4",children:[c.jsxs("div",{className:"space-y-2",children:[c.jsxs("div",{className:"flex items-center space-x-2",children:[c.jsx(Ot,{htmlFor:"add-client-tag",children:l("Add client tag")}),c.jsx(Ar,{id:"add-client-tag",checked:n,onCheckedChange:u,disabled:t})]}),c.jsx("div",{className:"text-muted-foreground text-xs",children:l("Show others this was sent via Smesh")})]}),c.jsxs("div",{className:"flex items-center space-x-2",children:[c.jsx(Ot,{htmlFor:"add-nsfw-tag",children:l("NSFW")}),c.jsx(Ar,{id:"add-nsfw-tag",checked:o,onCheckedChange:d,disabled:t})]}),c.jsxs("div",{className:"grid gap-4 pb-4",children:[c.jsx(Ot,{children:l("Proof of Work (difficulty {{minPow}})",{minPow:a})}),c.jsx(qS,{defaultValue:[0],value:[a],onValueChange:([f])=>i(f),max:28,step:1,disabled:t})]})]})}function nd(t,e,{checkForDefaultPrevented:n=!0}={}){return function(o){if(t==null||t(o),n===!1||!o.defaultPrevented)return e==null?void 0:e(o)}}function Q7(t,e=[]){let n=[];function r(s,a){const i=h.createContext(a),l=n.length;n=[...n,a];const u=f=>{var S;const{scope:m,children:g,...w}=f,b=((S=m==null?void 0:m[t])==null?void 0:S[l])||i,j=h.useMemo(()=>w,Object.values(w));return c.jsx(b.Provider,{value:j,children:g})};u.displayName=s+"Provider";function d(f,m){var b;const g=((b=m==null?void 0:m[t])==null?void 0:b[l])||i,w=h.useContext(g);if(w)return w;if(a!==void 0)return a;throw new Error(`\`${f}\` must be used within \`${s}\``)}return[u,d]}const o=()=>{const s=n.map(a=>h.createContext(a));return function(i){const l=(i==null?void 0:i[t])||s;return h.useMemo(()=>({[`__scope${t}`]:{...i,[t]:l}}),[i,l])}};return o.scopeName=t,[r,det(o,...e)]}function det(...t){const e=t[0];if(t.length===1)return e;const n=()=>{const r=t.map(o=>({useScope:o(),scopeName:o.scopeName}));return function(s){const a=r.reduce((i,{useScope:l,scopeName:u})=>{const f=l(s)[`__scope${u}`];return{...i,...f}},{});return h.useMemo(()=>({[`__scope${e.scopeName}`]:a}),[a])}};return n.scopeName=e.scopeName,n}function fq(t,e){if(typeof t=="function")return t(e);t!=null&&(t.current=e)}function Jde(...t){return e=>{let n=!1;const r=t.map(o=>{const s=fq(o,e);return!n&&typeof s=="function"&&(n=!0),s});if(n)return()=>{for(let o=0;o<r.length;o++){const s=r[o];typeof s=="function"?s():fq(t[o],null)}}}}function PM(...t){return h.useCallback(Jde(...t),t)}var OM=h.forwardRef((t,e)=>{const{children:n,...r}=t,o=h.Children.toArray(n),s=o.find(het);if(s){const a=s.props.children,i=o.map(l=>l===s?h.Children.count(a)>1?h.Children.only(null):h.isValidElement(a)?a.props.children:null:l);return c.jsx(zM,{...r,ref:e,children:h.isValidElement(a)?h.cloneElement(a,void 0,i):null})}return c.jsx(zM,{...r,ref:e,children:n})});OM.displayName="Slot";var zM=h.forwardRef((t,e)=>{const{children:n,...r}=t;if(h.isValidElement(n)){const o=get(n);return h.cloneElement(n,{...met(r,n.props),ref:e?Jde(e,o):o})}return h.Children.count(n)>1?h.Children.only(null):null});zM.displayName="SlotClone";var pet=({children:t})=>c.jsx(c.Fragment,{children:t});function het(t){return h.isValidElement(t)&&t.type===pet}function met(t,e){const n={...e};for(const r in e){const o=t[r],s=e[r];/^on[A-Z]/.test(r)?o&&s?n[r]=(...i)=>{s(...i),o(...i)}:o&&(n[r]=o):r==="style"?n[r]={...o,...s}:r==="className"&&(n[r]=[o,s].filter(Boolean).join(" "))}return{...t,...n}}function get(t){var r,o;let e=(r=Object.getOwnPropertyDescriptor(t.props,"ref"))==null?void 0:r.get,n=e&&"isReactWarning"in e&&e.isReactWarning;return n?t.ref:(e=(o=Object.getOwnPropertyDescriptor(t,"ref"))==null?void 0:o.get,n=e&&"isReactWarning"in e&&e.isReactWarning,n?t.props.ref:t.props.ref||t.ref)}function yet(t){const e=t+"CollectionProvider",[n,r]=Q7(e),[o,s]=n(e,{collectionRef:{current:null},itemMap:new Map}),a=g=>{const{scope:w,children:b}=g,j=Be.useRef(null),S=Be.useRef(new Map).current;return c.jsx(o,{scope:w,itemMap:S,collectionRef:j,children:b})};a.displayName=e;const i=t+"CollectionSlot",l=Be.forwardRef((g,w)=>{const{scope:b,children:j}=g,S=s(i,b),I=PM(w,S.collectionRef);return c.jsx(OM,{ref:I,children:j})});l.displayName=i;const u=t+"CollectionItemSlot",d="data-radix-collection-item",f=Be.forwardRef((g,w)=>{const{scope:b,children:j,...S}=g,I=Be.useRef(null),N=PM(w,I),M=s(u,b);return Be.useEffect(()=>(M.itemMap.set(I,{ref:I,...S}),()=>void M.itemMap.delete(I))),c.jsx(OM,{[d]:"",ref:N,children:j})});f.displayName=u;function m(g){const w=s(t+"CollectionConsumer",g);return Be.useCallback(()=>{const j=w.collectionRef.current;if(!j)return[];const S=Array.from(j.querySelectorAll(`[${d}]`));return Array.from(w.itemMap.values()).sort((M,D)=>S.indexOf(M.ref.current)-S.indexOf(D.ref.current))},[w.collectionRef,w.itemMap])}return[{Provider:a,Slot:l,ItemSlot:f},m,r]}var vet=yh.useId||(()=>{}),wet=0;function Xde(t){const[e,n]=h.useState(vet());return fr(()=>{n(r=>r??String(wet++))},[t]),e?`radix-${e}`:""}function dq(t,e){if(typeof t=="function")return t(e);t!=null&&(t.current=e)}function bet(...t){return e=>{let n=!1;const r=t.map(o=>{const s=dq(o,e);return!n&&typeof s=="function"&&(n=!0),s});if(n)return()=>{for(let o=0;o<r.length;o++){const s=r[o];typeof s=="function"?s():dq(t[o],null)}}}}var epe=h.forwardRef((t,e)=>{const{children:n,...r}=t,o=h.Children.toArray(n),s=o.find(ket);if(s){const a=s.props.children,i=o.map(l=>l===s?h.Children.count(a)>1?h.Children.only(null):h.isValidElement(a)?a.props.children:null:l);return c.jsx(FM,{...r,ref:e,children:h.isValidElement(a)?h.cloneElement(a,void 0,i):null})}return c.jsx(FM,{...r,ref:e,children:n})});epe.displayName="Slot";var FM=h.forwardRef((t,e)=>{const{children:n,...r}=t;if(h.isValidElement(n)){const o=Cet(n);return h.cloneElement(n,{...jet(r,n.props),ref:e?bet(e,o):o})}return h.Children.count(n)>1?h.Children.only(null):null});FM.displayName="SlotClone";var xet=({children:t})=>c.jsx(c.Fragment,{children:t});function ket(t){return h.isValidElement(t)&&t.type===xet}function jet(t,e){const n={...e};for(const r in e){const o=t[r],s=e[r];/^on[A-Z]/.test(r)?o&&s?n[r]=(...i)=>{s(...i),o(...i)}:o&&(n[r]=o):r==="style"?n[r]={...o,...s}:r==="className"&&(n[r]=[o,s].filter(Boolean).join(" "))}return{...t,...n}}function Cet(t){var r,o;let e=(r=Object.getOwnPropertyDescriptor(t.props,"ref"))==null?void 0:r.get,n=e&&"isReactWarning"in e&&e.isReactWarning;return n?t.ref:(e=(o=Object.getOwnPropertyDescriptor(t,"ref"))==null?void 0:o.get,n=e&&"isReactWarning"in e&&e.isReactWarning,n?t.props.ref:t.props.ref||t.ref)}var Eet=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","span","svg","ul"],iv=Eet.reduce((t,e)=>{const n=h.forwardRef((r,o)=>{const{asChild:s,...a}=r,i=s?epe:e;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),c.jsx(i,{...a,ref:o})});return n.displayName=`Primitive.${e}`,{...t,[e]:n}},{});function tpe({prop:t,defaultProp:e,onChange:n=()=>{}}){const[r,o]=Net({defaultProp:e,onChange:n}),s=t!==void 0,a=s?t:r,i=or(n),l=h.useCallback(u=>{if(s){const f=typeof u=="function"?u(t):u;f!==t&&i(f)}else o(u)},[s,t,o,i]);return[a,l]}function Net({defaultProp:t,onChange:e}){const n=h.useState(t),[r]=n,o=h.useRef(r),s=or(e);return h.useEffect(()=>{o.current!==r&&(s(r),o.current=r)},[r,o,s]),n}var Iet=h.createContext(void 0);function npe(t){const e=h.useContext(Iet);return t||e||"ltr"}var $A="rovingFocusGroup.onEntryFocus",Aet={bubbles:!1,cancelable:!0},pE="RovingFocusGroup",[BM,rpe,_et]=yet(pE),[Met,ope]=Q7(pE,[_et]),[Ret,Tet]=Met(pE),spe=h.forwardRef((t,e)=>c.jsx(BM.Provider,{scope:t.__scopeRovingFocusGroup,children:c.jsx(BM.Slot,{scope:t.__scopeRovingFocusGroup,children:c.jsx(Det,{...t,ref:e})})}));spe.displayName=pE;var Det=h.forwardRef((t,e)=>{const{__scopeRovingFocusGroup:n,orientation:r,loop:o=!1,dir:s,currentTabStopId:a,defaultCurrentTabStopId:i,onCurrentTabStopIdChange:l,onEntryFocus:u,preventScrollOnEntryFocus:d=!1,...f}=t,m=h.useRef(null),g=PM(e,m),w=npe(s),[b=null,j]=tpe({prop:a,defaultProp:i,onChange:l}),[S,I]=h.useState(!1),N=or(u),M=rpe(n),D=h.useRef(!1),[O,L]=h.useState(0);return h.useEffect(()=>{const B=m.current;if(B)return B.addEventListener($A,N),()=>B.removeEventListener($A,N)},[N]),c.jsx(Ret,{scope:n,orientation:r,dir:w,loop:o,currentTabStopId:b,onItemFocus:h.useCallback(B=>j(B),[j]),onItemShiftTab:h.useCallback(()=>I(!0),[]),onFocusableItemAdd:h.useCallback(()=>L(B=>B+1),[]),onFocusableItemRemove:h.useCallback(()=>L(B=>B-1),[]),children:c.jsx(iv.div,{tabIndex:S||O===0?-1:0,"data-orientation":r,...f,ref:g,style:{outline:"none",...t.style},onMouseDown:nd(t.onMouseDown,()=>{D.current=!0}),onFocus:nd(t.onFocus,B=>{const T=!D.current;if(B.target===B.currentTarget&&T&&!S){const R=new CustomEvent($A,Aet);if(B.currentTarget.dispatchEvent(R),!R.defaultPrevented){const z=M().filter(X=>X.focusable),Y=z.find(X=>X.active),Q=z.find(X=>X.id===b),F=[Y,Q,...z].filter(Boolean).map(X=>X.ref.current);lpe(F,d)}}D.current=!1}),onBlur:nd(t.onBlur,()=>I(!1))})})}),ape="RovingFocusGroupItem",ipe=h.forwardRef((t,e)=>{const{__scopeRovingFocusGroup:n,focusable:r=!0,active:o=!1,tabStopId:s,...a}=t,i=Xde(),l=s||i,u=Tet(ape,n),d=u.currentTabStopId===l,f=rpe(n),{onFocusableItemAdd:m,onFocusableItemRemove:g}=u;return h.useEffect(()=>{if(r)return m(),()=>g()},[r,m,g]),c.jsx(BM.ItemSlot,{scope:n,id:l,focusable:r,active:o,children:c.jsx(iv.span,{tabIndex:d?0:-1,"data-orientation":u.orientation,...a,ref:e,onMouseDown:nd(t.onMouseDown,w=>{r?u.onItemFocus(l):w.preventDefault()}),onFocus:nd(t.onFocus,()=>u.onItemFocus(l)),onKeyDown:nd(t.onKeyDown,w=>{if(w.key==="Tab"&&w.shiftKey){u.onItemShiftTab();return}if(w.target!==w.currentTarget)return;const b=Oet(w,u.orientation,u.dir);if(b!==void 0){if(w.metaKey||w.ctrlKey||w.altKey||w.shiftKey)return;w.preventDefault();let S=f().filter(I=>I.focusable).map(I=>I.ref.current);if(b==="last")S.reverse();else if(b==="prev"||b==="next"){b==="prev"&&S.reverse();const I=S.indexOf(w.currentTarget);S=u.loop?zet(S,I+1):S.slice(I+1)}setTimeout(()=>lpe(S))}})})})});ipe.displayName=ape;var Let={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function Pet(t,e){return e!=="rtl"?t:t==="ArrowLeft"?"ArrowRight":t==="ArrowRight"?"ArrowLeft":t}function Oet(t,e,n){const r=Pet(t.key,n);if(!(e==="vertical"&&["ArrowLeft","ArrowRight"].includes(r))&&!(e==="horizontal"&&["ArrowUp","ArrowDown"].includes(r)))return Let[r]}function lpe(t,e=!1){const n=document.activeElement;for(const r of t)if(r===n||(r.focus({preventScroll:e}),document.activeElement!==n))return}function zet(t,e){return t.map((n,r)=>t[(e+r)%t.length])}var Fet=spe,Bet=ipe;function pq(t,e){if(typeof t=="function")return t(e);t!=null&&(t.current=e)}function Uet(...t){return e=>{let n=!1;const r=t.map(o=>{const s=pq(o,e);return!n&&typeof s=="function"&&(n=!0),s});if(n)return()=>{for(let o=0;o<r.length;o++){const s=r[o];typeof s=="function"?s():pq(t[o],null)}}}}function $et(...t){return h.useCallback(Uet(...t),t)}function Vet(t,e){return h.useReducer((n,r)=>e[n][r]??n,t)}var cpe=t=>{const{present:e,children:n}=t,r=Het(e),o=typeof n=="function"?n({present:r.isPresent}):h.Children.only(n),s=$et(r.ref,Wet(o));return typeof n=="function"||r.isPresent?h.cloneElement(o,{ref:s}):null};cpe.displayName="Presence";function Het(t){const[e,n]=h.useState(),r=h.useRef({}),o=h.useRef(t),s=h.useRef("none"),a=t?"mounted":"unmounted",[i,l]=Vet(a,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return h.useEffect(()=>{const u=G6(r.current);s.current=i==="mounted"?u:"none"},[i]),fr(()=>{const u=r.current,d=o.current;if(d!==t){const m=s.current,g=G6(u);t?l("MOUNT"):g==="none"||(u==null?void 0:u.display)==="none"?l("UNMOUNT"):l(d&&m!==g?"ANIMATION_OUT":"UNMOUNT"),o.current=t}},[t,l]),fr(()=>{if(e){let u;const d=e.ownerDocument.defaultView??window,f=g=>{const b=G6(r.current).includes(g.animationName);if(g.target===e&&b&&(l("ANIMATION_END"),!o.current)){const j=e.style.animationFillMode;e.style.animationFillMode="forwards",u=d.setTimeout(()=>{e.style.animationFillMode==="forwards"&&(e.style.animationFillMode=j)})}},m=g=>{g.target===e&&(s.current=G6(r.current))};return e.addEventListener("animationstart",m),e.addEventListener("animationcancel",f),e.addEventListener("animationend",f),()=>{d.clearTimeout(u),e.removeEventListener("animationstart",m),e.removeEventListener("animationcancel",f),e.removeEventListener("animationend",f)}}else l("ANIMATION_END")},[e,l]),{isPresent:["mounted","unmountSuspended"].includes(i),ref:h.useCallback(u=>{u&&(r.current=getComputedStyle(u)),n(u)},[])}}function G6(t){return(t==null?void 0:t.animationName)||"none"}function Wet(t){var r,o;let e=(r=Object.getOwnPropertyDescriptor(t.props,"ref"))==null?void 0:r.get,n=e&&"isReactWarning"in e&&e.isReactWarning;return n?t.ref:(e=(o=Object.getOwnPropertyDescriptor(t,"ref"))==null?void 0:o.get,n=e&&"isReactWarning"in e&&e.isReactWarning,n?t.props.ref:t.props.ref||t.ref)}var J7="Tabs",[Yet]=Q7(J7,[ope]),upe=ope(),[Get,X7]=Yet(J7),fpe=h.forwardRef((t,e)=>{const{__scopeTabs:n,value:r,onValueChange:o,defaultValue:s,orientation:a="horizontal",dir:i,activationMode:l="automatic",...u}=t,d=npe(i),[f,m]=tpe({prop:r,onChange:o,defaultProp:s});return c.jsx(Get,{scope:n,baseId:Xde(),value:f,onValueChange:m,orientation:a,dir:d,activationMode:l,children:c.jsx(iv.div,{dir:d,"data-orientation":a,...u,ref:e})})});fpe.displayName=J7;var dpe="TabsList",ppe=h.forwardRef((t,e)=>{const{__scopeTabs:n,loop:r=!0,...o}=t,s=X7(dpe,n),a=upe(n);return c.jsx(Fet,{asChild:!0,...a,orientation:s.orientation,dir:s.dir,loop:r,children:c.jsx(iv.div,{role:"tablist","aria-orientation":s.orientation,...o,ref:e})})});ppe.displayName=dpe;var hpe="TabsTrigger",mpe=h.forwardRef((t,e)=>{const{__scopeTabs:n,value:r,disabled:o=!1,...s}=t,a=X7(hpe,n),i=upe(n),l=vpe(a.baseId,r),u=wpe(a.baseId,r),d=r===a.value;return c.jsx(Bet,{asChild:!0,...i,focusable:!o,active:d,children:c.jsx(iv.button,{type:"button",role:"tab","aria-selected":d,"aria-controls":u,"data-state":d?"active":"inactive","data-disabled":o?"":void 0,disabled:o,id:l,...s,ref:e,onMouseDown:nd(t.onMouseDown,f=>{!o&&f.button===0&&f.ctrlKey===!1?a.onValueChange(r):f.preventDefault()}),onKeyDown:nd(t.onKeyDown,f=>{[" ","Enter"].includes(f.key)&&a.onValueChange(r)}),onFocus:nd(t.onFocus,()=>{const f=a.activationMode!=="manual";!d&&!o&&f&&a.onValueChange(r)})})})});mpe.displayName=hpe;var gpe="TabsContent",ype=h.forwardRef((t,e)=>{const{__scopeTabs:n,value:r,forceMount:o,children:s,...a}=t,i=X7(gpe,n),l=vpe(i.baseId,r),u=wpe(i.baseId,r),d=r===i.value,f=h.useRef(d);return h.useEffect(()=>{const m=requestAnimationFrame(()=>f.current=!1);return()=>cancelAnimationFrame(m)},[]),c.jsx(cpe,{present:o||d,children:({present:m})=>c.jsx(iv.div,{"data-state":d?"active":"inactive","data-orientation":i.orientation,role:"tabpanel","aria-labelledby":l,hidden:!m,id:u,tabIndex:0,...a,ref:e,style:{...t.style,animationDuration:f.current?"0s":void 0},children:m&&s})})});ype.displayName=gpe;function vpe(t,e){return`${t}-trigger-${e}`}function wpe(t,e){return`${t}-content-${e}`}var qet=fpe,bpe=ppe,xpe=mpe,kpe=ype;const Ex=qet,lv=h.forwardRef(({className:t,...e},n)=>c.jsx(bpe,{ref:n,className:Re("inline-flex h-9 items-center justify-center rounded-lg bg-muted p-1 text-muted-foreground",t),...e}));lv.displayName=bpe.displayName;const rl=h.forwardRef(({className:t,...e},n)=>c.jsx(xpe,{ref:n,className:Re("inline-flex items-center justify-center whitespace-nowrap rounded-md px-3 py-1 text-sm font-medium ring-offset-background transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow",t),...e}));rl.displayName=xpe.displayName;const ol=h.forwardRef(({className:t,...e},n)=>c.jsx(kpe,{ref:n,className:Re("mt-2 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",t),...e}));ol.displayName=kpe.displayName;function Qs(t){this.content=t}Qs.prototype={constructor:Qs,find:function(t){for(var e=0;e<this.content.length;e+=2)if(this.content[e]===t)return e;return-1},get:function(t){var e=this.find(t);return e==-1?void 0:this.content[e+1]},update:function(t,e,n){var r=n&&n!=t?this.remove(n):this,o=r.find(t),s=r.content.slice();return o==-1?s.push(n||t,e):(s[o+1]=e,n&&(s[o]=n)),new Qs(s)},remove:function(t){var e=this.find(t);if(e==-1)return this;var n=this.content.slice();return n.splice(e,2),new Qs(n)},addToStart:function(t,e){return new Qs([t,e].concat(this.remove(t).content))},addToEnd:function(t,e){var n=this.remove(t).content.slice();return n.push(t,e),new Qs(n)},addBefore:function(t,e,n){var r=this.remove(e),o=r.content.slice(),s=r.find(t);return o.splice(s==-1?o.length:s,0,e,n),new Qs(o)},forEach:function(t){for(var e=0;e<this.content.length;e+=2)t(this.content[e],this.content[e+1])},prepend:function(t){return t=Qs.from(t),t.size?new Qs(t.content.concat(this.subtract(t).content)):this},append:function(t){return t=Qs.from(t),t.size?new Qs(this.subtract(t).content.concat(t.content)):this},subtract:function(t){var e=this;t=Qs.from(t);for(var n=0;n<t.content.length;n+=2)e=e.remove(t.content[n]);return e},toObject:function(){var t={};return this.forEach(function(e,n){t[e]=n}),t},get size(){return this.content.length>>1}};Qs.from=function(t){if(t instanceof Qs)return t;var e=[];if(t)for(var n in t)e.push(n,t[n]);return new Qs(e)};function jpe(t,e,n){for(let r=0;;r++){if(r==t.childCount||r==e.childCount)return t.childCount==e.childCount?null:n;let o=t.child(r),s=e.child(r);if(o==s){n+=o.nodeSize;continue}if(!o.sameMarkup(s))return n;if(o.isText&&o.text!=s.text){for(let a=0;o.text[a]==s.text[a];a++)n++;return n}if(o.content.size||s.content.size){let a=jpe(o.content,s.content,n+1);if(a!=null)return a}n+=o.nodeSize}}function Cpe(t,e,n,r){for(let o=t.childCount,s=e.childCount;;){if(o==0||s==0)return o==s?null:{a:n,b:r};let a=t.child(--o),i=e.child(--s),l=a.nodeSize;if(a==i){n-=l,r-=l;continue}if(!a.sameMarkup(i))return{a:n,b:r};if(a.isText&&a.text!=i.text){let u=0,d=Math.min(a.text.length,i.text.length);for(;u<d&&a.text[a.text.length-u-1]==i.text[i.text.length-u-1];)u++,n--,r--;return{a:n,b:r}}if(a.content.size||i.content.size){let u=Cpe(a.content,i.content,n-1,r-1);if(u)return u}n-=l,r-=l}}class Mt{constructor(e,n){if(this.content=e,this.size=n||0,n==null)for(let r=0;r<e.length;r++)this.size+=e[r].nodeSize}nodesBetween(e,n,r,o=0,s){for(let a=0,i=0;i<n;a++){let l=this.content[a],u=i+l.nodeSize;if(u>e&&r(l,o+i,s||null,a)!==!1&&l.content.size){let d=i+1;l.nodesBetween(Math.max(0,e-d),Math.min(l.content.size,n-d),r,o+d)}i=u}}descendants(e){this.nodesBetween(0,this.size,e)}textBetween(e,n,r,o){let s="",a=!0;return this.nodesBetween(e,n,(i,l)=>{let u=i.isText?i.text.slice(Math.max(e,l)-l,n-l):i.isLeaf?o?typeof o=="function"?o(i):o:i.type.spec.leafText?i.type.spec.leafText(i):"":"";i.isBlock&&(i.isLeaf&&u||i.isTextblock)&&r&&(a?a=!1:s+=r),s+=u},0),s}append(e){if(!e.size)return this;if(!this.size)return e;let n=this.lastChild,r=e.firstChild,o=this.content.slice(),s=0;for(n.isText&&n.sameMarkup(r)&&(o[o.length-1]=n.withText(n.text+r.text),s=1);s<e.content.length;s++)o.push(e.content[s]);return new Mt(o,this.size+e.size)}cut(e,n=this.size){if(e==0&&n==this.size)return this;let r=[],o=0;if(n>e)for(let s=0,a=0;a<n;s++){let i=this.content[s],l=a+i.nodeSize;l>e&&((a<e||l>n)&&(i.isText?i=i.cut(Math.max(0,e-a),Math.min(i.text.length,n-a)):i=i.cut(Math.max(0,e-a-1),Math.min(i.content.size,n-a-1))),r.push(i),o+=i.nodeSize),a=l}return new Mt(r,o)}cutByIndex(e,n){return e==n?Mt.empty:e==0&&n==this.content.length?this:new Mt(this.content.slice(e,n))}replaceChild(e,n){let r=this.content[e];if(r==n)return this;let o=this.content.slice(),s=this.size+n.nodeSize-r.nodeSize;return o[e]=n,new Mt(o,s)}addToStart(e){return new Mt([e].concat(this.content),this.size+e.nodeSize)}addToEnd(e){return new Mt(this.content.concat(e),this.size+e.nodeSize)}eq(e){if(this.content.length!=e.content.length)return!1;for(let n=0;n<this.content.length;n++)if(!this.content[n].eq(e.content[n]))return!1;return!0}get firstChild(){return this.content.length?this.content[0]:null}get lastChild(){return this.content.length?this.content[this.content.length-1]:null}get childCount(){return this.content.length}child(e){let n=this.content[e];if(!n)throw new RangeError("Index "+e+" out of range for "+this);return n}maybeChild(e){return this.content[e]||null}forEach(e){for(let n=0,r=0;n<this.content.length;n++){let o=this.content[n];e(o,r,n),r+=o.nodeSize}}findDiffStart(e,n=0){return jpe(this,e,n)}findDiffEnd(e,n=this.size,r=e.size){return Cpe(this,e,n,r)}findIndex(e,n=-1){if(e==0)return q6(0,e);if(e==this.size)return q6(this.content.length,e);if(e>this.size||e<0)throw new RangeError(`Position ${e} outside of fragment (${this})`);for(let r=0,o=0;;r++){let s=this.child(r),a=o+s.nodeSize;if(a>=e)return a==e||n>0?q6(r+1,a):q6(r,o);o=a}}toString(){return"<"+this.toStringInner()+">"}toStringInner(){return this.content.join(", ")}toJSON(){return this.content.length?this.content.map(e=>e.toJSON()):null}static fromJSON(e,n){if(!n)return Mt.empty;if(!Array.isArray(n))throw new RangeError("Invalid input for Fragment.fromJSON");return new Mt(n.map(e.nodeFromJSON))}static fromArray(e){if(!e.length)return Mt.empty;let n,r=0;for(let o=0;o<e.length;o++){let s=e[o];r+=s.nodeSize,o&&s.isText&&e[o-1].sameMarkup(s)?(n||(n=e.slice(0,o)),n[n.length-1]=s.withText(n[n.length-1].text+s.text)):n&&n.push(s)}return new Mt(n||e,r)}static from(e){if(!e)return Mt.empty;if(e instanceof Mt)return e;if(Array.isArray(e))return this.fromArray(e);if(e.attrs)return new Mt([e],e.nodeSize);throw new RangeError("Can not convert "+e+" to a Fragment"+(e.nodesBetween?" (looks like multiple versions of prosemirror-model were loaded)":""))}}Mt.empty=new Mt([],0);const VA={index:0,offset:0};function q6(t,e){return VA.index=t,VA.offset=e,VA}function Nj(t,e){if(t===e)return!0;if(!(t&&typeof t=="object")||!(e&&typeof e=="object"))return!1;let n=Array.isArray(t);if(Array.isArray(e)!=n)return!1;if(n){if(t.length!=e.length)return!1;for(let r=0;r<t.length;r++)if(!Nj(t[r],e[r]))return!1}else{for(let r in t)if(!(r in e)||!Nj(t[r],e[r]))return!1;for(let r in e)if(!(r in t))return!1}return!0}let Ur=class UM{constructor(e,n){this.type=e,this.attrs=n}addToSet(e){let n,r=!1;for(let o=0;o<e.length;o++){let s=e[o];if(this.eq(s))return e;if(this.type.excludes(s.type))n||(n=e.slice(0,o));else{if(s.type.excludes(this.type))return e;!r&&s.type.rank>this.type.rank&&(n||(n=e.slice(0,o)),n.push(this),r=!0),n&&n.push(s)}}return n||(n=e.slice()),r||n.push(this),n}removeFromSet(e){for(let n=0;n<e.length;n++)if(this.eq(e[n]))return e.slice(0,n).concat(e.slice(n+1));return e}isInSet(e){for(let n=0;n<e.length;n++)if(this.eq(e[n]))return!0;return!1}eq(e){return this==e||this.type==e.type&&Nj(this.attrs,e.attrs)}toJSON(){let e={type:this.type.name};for(let n in this.attrs){e.attrs=this.attrs;break}return e}static fromJSON(e,n){if(!n)throw new RangeError("Invalid input for Mark.fromJSON");let r=e.marks[n.type];if(!r)throw new RangeError(`There is no mark type ${n.type} in this schema`);let o=r.create(n.attrs);return r.checkAttrs(o.attrs),o}static sameSet(e,n){if(e==n)return!0;if(e.length!=n.length)return!1;for(let r=0;r<e.length;r++)if(!e[r].eq(n[r]))return!1;return!0}static setFrom(e){if(!e||Array.isArray(e)&&e.length==0)return UM.none;if(e instanceof UM)return[e];let n=e.slice();return n.sort((r,o)=>r.type.rank-o.type.rank),n}};Ur.none=[];class Ij extends Error{}class tn{constructor(e,n,r){this.content=e,this.openStart=n,this.openEnd=r}get size(){return this.content.size-this.openStart-this.openEnd}insertAt(e,n){let r=Epe(this.content,e+this.openStart,n);return r&&new tn(r,this.openStart,this.openEnd)}removeBetween(e,n){return new tn(Spe(this.content,e+this.openStart,n+this.openStart),this.openStart,this.openEnd)}eq(e){return this.content.eq(e.content)&&this.openStart==e.openStart&&this.openEnd==e.openEnd}toString(){return this.content+"("+this.openStart+","+this.openEnd+")"}toJSON(){if(!this.content.size)return null;let e={content:this.content.toJSON()};return this.openStart>0&&(e.openStart=this.openStart),this.openEnd>0&&(e.openEnd=this.openEnd),e}static fromJSON(e,n){if(!n)return tn.empty;let r=n.openStart||0,o=n.openEnd||0;if(typeof r!="number"||typeof o!="number")throw new RangeError("Invalid input for Slice.fromJSON");return new tn(Mt.fromJSON(e,n.content),r,o)}static maxOpen(e,n=!0){let r=0,o=0;for(let s=e.firstChild;s&&!s.isLeaf&&(n||!s.type.spec.isolating);s=s.firstChild)r++;for(let s=e.lastChild;s&&!s.isLeaf&&(n||!s.type.spec.isolating);s=s.lastChild)o++;return new tn(e,r,o)}}tn.empty=new tn(Mt.empty,0,0);function Spe(t,e,n){let{index:r,offset:o}=t.findIndex(e),s=t.maybeChild(r),{index:a,offset:i}=t.findIndex(n);if(o==e||s.isText){if(i!=n&&!t.child(a).isText)throw new RangeError("Removing non-flat range");return t.cut(0,e).append(t.cut(n))}if(r!=a)throw new RangeError("Removing non-flat range");return t.replaceChild(r,s.copy(Spe(s.content,e-o-1,n-o-1)))}function Epe(t,e,n,r){let{index:o,offset:s}=t.findIndex(e),a=t.maybeChild(o);if(s==e||a.isText)return t.cut(0,e).append(n).append(t.cut(e));let i=Epe(a.content,e-s-1,n);return i&&t.replaceChild(o,a.copy(i))}function Ket(t,e,n){if(n.openStart>t.depth)throw new Ij("Inserted content deeper than insertion position");if(t.depth-n.openStart!=e.depth-n.openEnd)throw new Ij("Inconsistent open depths");return Npe(t,e,n,0)}function Npe(t,e,n,r){let o=t.index(r),s=t.node(r);if(o==e.index(r)&&r<t.depth-n.openStart){let a=Npe(t,e,n,r+1);return s.copy(s.content.replaceChild(o,a))}else if(n.content.size)if(!n.openStart&&!n.openEnd&&t.depth==r&&e.depth==r){let a=t.parent,i=a.content;return Xm(a,i.cut(0,t.parentOffset).append(n.content).append(i.cut(e.parentOffset)))}else{let{start:a,end:i}=Zet(n,t);return Xm(s,Ape(t,a,i,e,r))}else return Xm(s,Aj(t,e,r))}function Ipe(t,e){if(!e.type.compatibleContent(t.type))throw new Ij("Cannot join "+e.type.name+" onto "+t.type.name)}function $M(t,e,n){let r=t.node(n);return Ipe(r,e.node(n)),r}function Jm(t,e){let n=e.length-1;n>=0&&t.isText&&t.sameMarkup(e[n])?e[n]=t.withText(e[n].text+t.text):e.push(t)}function ob(t,e,n,r){let o=(e||t).node(n),s=0,a=e?e.index(n):o.childCount;t&&(s=t.index(n),t.depth>n?s++:t.textOffset&&(Jm(t.nodeAfter,r),s++));for(let i=s;i<a;i++)Jm(o.child(i),r);e&&e.depth==n&&e.textOffset&&Jm(e.nodeBefore,r)}function Xm(t,e){return t.type.checkContent(e),t.copy(e)}function Ape(t,e,n,r,o){let s=t.depth>o&&$M(t,e,o+1),a=r.depth>o&&$M(n,r,o+1),i=[];return ob(null,t,o,i),s&&a&&e.index(o)==n.index(o)?(Ipe(s,a),Jm(Xm(s,Ape(t,e,n,r,o+1)),i)):(s&&Jm(Xm(s,Aj(t,e,o+1)),i),ob(e,n,o,i),a&&Jm(Xm(a,Aj(n,r,o+1)),i)),ob(r,null,o,i),new Mt(i)}function Aj(t,e,n){let r=[];if(ob(null,t,n,r),t.depth>n){let o=$M(t,e,n+1);Jm(Xm(o,Aj(t,e,n+1)),r)}return ob(e,null,n,r),new Mt(r)}function Zet(t,e){let n=e.depth-t.openStart,o=e.node(n).copy(t.content);for(let s=n-1;s>=0;s--)o=e.node(s).copy(Mt.from(o));return{start:o.resolveNoCache(t.openStart+n),end:o.resolveNoCache(o.content.size-t.openEnd-n)}}class p2{constructor(e,n,r){this.pos=e,this.path=n,this.parentOffset=r,this.depth=n.length/3-1}resolveDepth(e){return e==null?this.depth:e<0?this.depth+e:e}get parent(){return this.node(this.depth)}get doc(){return this.node(0)}node(e){return this.path[this.resolveDepth(e)*3]}index(e){return this.path[this.resolveDepth(e)*3+1]}indexAfter(e){return e=this.resolveDepth(e),this.index(e)+(e==this.depth&&!this.textOffset?0:1)}start(e){return e=this.resolveDepth(e),e==0?0:this.path[e*3-1]+1}end(e){return e=this.resolveDepth(e),this.start(e)+this.node(e).content.size}before(e){if(e=this.resolveDepth(e),!e)throw new RangeError("There is no position before the top-level node");return e==this.depth+1?this.pos:this.path[e*3-1]}after(e){if(e=this.resolveDepth(e),!e)throw new RangeError("There is no position after the top-level node");return e==this.depth+1?this.pos:this.path[e*3-1]+this.path[e*3].nodeSize}get textOffset(){return this.pos-this.path[this.path.length-1]}get nodeAfter(){let e=this.parent,n=this.index(this.depth);if(n==e.childCount)return null;let r=this.pos-this.path[this.path.length-1],o=e.child(n);return r?e.child(n).cut(r):o}get nodeBefore(){let e=this.index(this.depth),n=this.pos-this.path[this.path.length-1];return n?this.parent.child(e).cut(0,n):e==0?null:this.parent.child(e-1)}posAtIndex(e,n){n=this.resolveDepth(n);let r=this.path[n*3],o=n==0?0:this.path[n*3-1]+1;for(let s=0;s<e;s++)o+=r.child(s).nodeSize;return o}marks(){let e=this.parent,n=this.index();if(e.content.size==0)return Ur.none;if(this.textOffset)return e.child(n).marks;let r=e.maybeChild(n-1),o=e.maybeChild(n);if(!r){let i=r;r=o,o=i}let s=r.marks;for(var a=0;a<s.length;a++)s[a].type.spec.inclusive===!1&&(!o||!s[a].isInSet(o.marks))&&(s=s[a--].removeFromSet(s));return s}marksAcross(e){let n=this.parent.maybeChild(this.index());if(!n||!n.isInline)return null;let r=n.marks,o=e.parent.maybeChild(e.index());for(var s=0;s<r.length;s++)r[s].type.spec.inclusive===!1&&(!o||!r[s].isInSet(o.marks))&&(r=r[s--].removeFromSet(r));return r}sharedDepth(e){for(let n=this.depth;n>0;n--)if(this.start(n)<=e&&this.end(n)>=e)return n;return 0}blockRange(e=this,n){if(e.pos<this.pos)return e.blockRange(this);for(let r=this.depth-(this.parent.inlineContent||this.pos==e.pos?1:0);r>=0;r--)if(e.pos<=this.end(r)&&(!n||n(this.node(r))))return new _j(this,e,r);return null}sameParent(e){return this.pos-this.parentOffset==e.pos-e.parentOffset}max(e){return e.pos>this.pos?e:this}min(e){return e.pos<this.pos?e:this}toString(){let e="";for(let n=1;n<=this.depth;n++)e+=(e?"/":"")+this.node(n).type.name+"_"+this.index(n-1);return e+":"+this.parentOffset}static resolve(e,n){if(!(n>=0&&n<=e.content.size))throw new RangeError("Position "+n+" out of range");let r=[],o=0,s=n;for(let a=e;;){let{index:i,offset:l}=a.content.findIndex(s),u=s-l;if(r.push(a,i,o+l),!u||(a=a.child(i),a.isText))break;s=u-1,o+=l+1}return new p2(n,r,s)}static resolveCached(e,n){let r=hq.get(e);if(r)for(let s=0;s<r.elts.length;s++){let a=r.elts[s];if(a.pos==n)return a}else hq.set(e,r=new Qet);let o=r.elts[r.i]=p2.resolve(e,n);return r.i=(r.i+1)%Jet,o}}class Qet{constructor(){this.elts=[],this.i=0}}const Jet=12,hq=new WeakMap;class _j{constructor(e,n,r){this.$from=e,this.$to=n,this.depth=r}get start(){return this.$from.before(this.depth+1)}get end(){return this.$to.after(this.depth+1)}get parent(){return this.$from.node(this.depth)}get startIndex(){return this.$from.index(this.depth)}get endIndex(){return this.$to.indexAfter(this.depth)}}const Xet=Object.create(null);let Gp=class VM{constructor(e,n,r,o=Ur.none){this.type=e,this.attrs=n,this.marks=o,this.content=r||Mt.empty}get children(){return this.content.content}get nodeSize(){return this.isLeaf?1:2+this.content.size}get childCount(){return this.content.childCount}child(e){return this.content.child(e)}maybeChild(e){return this.content.maybeChild(e)}forEach(e){this.content.forEach(e)}nodesBetween(e,n,r,o=0){this.content.nodesBetween(e,n,r,o,this)}descendants(e){this.nodesBetween(0,this.content.size,e)}get textContent(){return this.isLeaf&&this.type.spec.leafText?this.type.spec.leafText(this):this.textBetween(0,this.content.size,"")}textBetween(e,n,r,o){return this.content.textBetween(e,n,r,o)}get firstChild(){return this.content.firstChild}get lastChild(){return this.content.lastChild}eq(e){return this==e||this.sameMarkup(e)&&this.content.eq(e.content)}sameMarkup(e){return this.hasMarkup(e.type,e.attrs,e.marks)}hasMarkup(e,n,r){return this.type==e&&Nj(this.attrs,n||e.defaultAttrs||Xet)&&Ur.sameSet(this.marks,r||Ur.none)}copy(e=null){return e==this.content?this:new VM(this.type,this.attrs,e,this.marks)}mark(e){return e==this.marks?this:new VM(this.type,this.attrs,this.content,e)}cut(e,n=this.content.size){return e==0&&n==this.content.size?this:this.copy(this.content.cut(e,n))}slice(e,n=this.content.size,r=!1){if(e==n)return tn.empty;let o=this.resolve(e),s=this.resolve(n),a=r?0:o.sharedDepth(n),i=o.start(a),u=o.node(a).content.cut(o.pos-i,s.pos-i);return new tn(u,o.depth-a,s.depth-a)}replace(e,n,r){return Ket(this.resolve(e),this.resolve(n),r)}nodeAt(e){for(let n=this;;){let{index:r,offset:o}=n.content.findIndex(e);if(n=n.maybeChild(r),!n)return null;if(o==e||n.isText)return n;e-=o+1}}childAfter(e){let{index:n,offset:r}=this.content.findIndex(e);return{node:this.content.maybeChild(n),index:n,offset:r}}childBefore(e){if(e==0)return{node:null,index:0,offset:0};let{index:n,offset:r}=this.content.findIndex(e);if(r<e)return{node:this.content.child(n),index:n,offset:r};let o=this.content.child(n-1);return{node:o,index:n-1,offset:r-o.nodeSize}}resolve(e){return p2.resolveCached(this,e)}resolveNoCache(e){return p2.resolve(this,e)}rangeHasMark(e,n,r){let o=!1;return n>e&&this.nodesBetween(e,n,s=>(r.isInSet(s.marks)&&(o=!0),!o)),o}get isBlock(){return this.type.isBlock}get isTextblock(){return this.type.isTextblock}get inlineContent(){return this.type.inlineContent}get isInline(){return this.type.isInline}get isText(){return this.type.isText}get isLeaf(){return this.type.isLeaf}get isAtom(){return this.type.isAtom}toString(){if(this.type.spec.toDebugString)return this.type.spec.toDebugString(this);let e=this.type.name;return this.content.size&&(e+="("+this.content.toStringInner()+")"),_pe(this.marks,e)}contentMatchAt(e){let n=this.type.contentMatch.matchFragment(this.content,0,e);if(!n)throw new Error("Called contentMatchAt on a node with invalid content");return n}canReplace(e,n,r=Mt.empty,o=0,s=r.childCount){let a=this.contentMatchAt(e).matchFragment(r,o,s),i=a&&a.matchFragment(this.content,n);if(!i||!i.validEnd)return!1;for(let l=o;l<s;l++)if(!this.type.allowsMarks(r.child(l).marks))return!1;return!0}canReplaceWith(e,n,r,o){if(o&&!this.type.allowsMarks(o))return!1;let s=this.contentMatchAt(e).matchType(r),a=s&&s.matchFragment(this.content,n);return a?a.validEnd:!1}canAppend(e){return e.content.size?this.canReplace(this.childCount,this.childCount,e.content):this.type.compatibleContent(e.type)}check(){this.type.checkContent(this.content),this.type.checkAttrs(this.attrs);let e=Ur.none;for(let n=0;n<this.marks.length;n++){let r=this.marks[n];r.type.checkAttrs(r.attrs),e=r.addToSet(e)}if(!Ur.sameSet(e,this.marks))throw new RangeError(`Invalid collection of marks for node ${this.type.name}: ${this.marks.map(n=>n.type.name)}`);this.content.forEach(n=>n.check())}toJSON(){let e={type:this.type.name};for(let n in this.attrs){e.attrs=this.attrs;break}return this.content.size&&(e.content=this.content.toJSON()),this.marks.length&&(e.marks=this.marks.map(n=>n.toJSON())),e}static fromJSON(e,n){if(!n)throw new RangeError("Invalid input for Node.fromJSON");let r;if(n.marks){if(!Array.isArray(n.marks))throw new RangeError("Invalid mark data for Node.fromJSON");r=n.marks.map(e.markFromJSON)}if(n.type=="text"){if(typeof n.text!="string")throw new RangeError("Invalid text node in JSON");return e.text(n.text,r)}let o=Mt.fromJSON(e,n.content),s=e.nodeType(n.type).create(n.attrs,o,r);return s.type.checkAttrs(s.attrs),s}};Gp.prototype.text=void 0;class Mj extends Gp{constructor(e,n,r,o){if(super(e,n,null,o),!r)throw new RangeError("Empty text nodes are not allowed");this.text=r}toString(){return this.type.spec.toDebugString?this.type.spec.toDebugString(this):_pe(this.marks,JSON.stringify(this.text))}get textContent(){return this.text}textBetween(e,n){return this.text.slice(e,n)}get nodeSize(){return this.text.length}mark(e){return e==this.marks?this:new Mj(this.type,this.attrs,this.text,e)}withText(e){return e==this.text?this:new Mj(this.type,this.attrs,e,this.marks)}cut(e=0,n=this.text.length){return e==0&&n==this.text.length?this:this.withText(this.text.slice(e,n))}eq(e){return this.sameMarkup(e)&&this.text==e.text}toJSON(){let e=super.toJSON();return e.text=this.text,e}}function _pe(t,e){for(let n=t.length-1;n>=0;n--)e=t[n].type.name+"("+e+")";return e}class Mg{constructor(e){this.validEnd=e,this.next=[],this.wrapCache=[]}static parse(e,n){let r=new ett(e,n);if(r.next==null)return Mg.empty;let o=Mpe(r);r.next&&r.err("Unexpected trailing text");let s=itt(att(o));return ltt(s,r),s}matchType(e){for(let n=0;n<this.next.length;n++)if(this.next[n].type==e)return this.next[n].next;return null}matchFragment(e,n=0,r=e.childCount){let o=this;for(let s=n;o&&s<r;s++)o=o.matchType(e.child(s).type);return o}get inlineContent(){return this.next.length!=0&&this.next[0].type.isInline}get defaultType(){for(let e=0;e<this.next.length;e++){let{type:n}=this.next[e];if(!(n.isText||n.hasRequiredAttrs()))return n}return null}compatible(e){for(let n=0;n<this.next.length;n++)for(let r=0;r<e.next.length;r++)if(this.next[n].type==e.next[r].type)return!0;return!1}fillBefore(e,n=!1,r=0){let o=[this];function s(a,i){let l=a.matchFragment(e,r);if(l&&(!n||l.validEnd))return Mt.from(i.map(u=>u.createAndFill()));for(let u=0;u<a.next.length;u++){let{type:d,next:f}=a.next[u];if(!(d.isText||d.hasRequiredAttrs())&&o.indexOf(f)==-1){o.push(f);let m=s(f,i.concat(d));if(m)return m}}return null}return s(this,[])}findWrapping(e){for(let r=0;r<this.wrapCache.length;r+=2)if(this.wrapCache[r]==e)return this.wrapCache[r+1];let n=this.computeWrapping(e);return this.wrapCache.push(e,n),n}computeWrapping(e){let n=Object.create(null),r=[{match:this,type:null,via:null}];for(;r.length;){let o=r.shift(),s=o.match;if(s.matchType(e)){let a=[];for(let i=o;i.type;i=i.via)a.push(i.type);return a.reverse()}for(let a=0;a<s.next.length;a++){let{type:i,next:l}=s.next[a];!i.isLeaf&&!i.hasRequiredAttrs()&&!(i.name in n)&&(!o.type||l.validEnd)&&(r.push({match:i.contentMatch,type:i,via:o}),n[i.name]=!0)}}return null}get edgeCount(){return this.next.length}edge(e){if(e>=this.next.length)throw new RangeError(`There's no ${e}th edge in this content match`);return this.next[e]}toString(){let e=[];function n(r){e.push(r);for(let o=0;o<r.next.length;o++)e.indexOf(r.next[o].next)==-1&&n(r.next[o].next)}return n(this),e.map((r,o)=>{let s=o+(r.validEnd?"*":" ")+" ";for(let a=0;a<r.next.length;a++)s+=(a?", ":"")+r.next[a].type.name+"->"+e.indexOf(r.next[a].next);return s}).join(`
2103 `)}}Mg.empty=new Mg(!0);class ett{constructor(e,n){this.string=e,this.nodeTypes=n,this.inline=null,this.pos=0,this.tokens=e.split(/\s*(?=\b|\W|$)/),this.tokens[this.tokens.length-1]==""&&this.tokens.pop(),this.tokens[0]==""&&this.tokens.shift()}get next(){return this.tokens[this.pos]}eat(e){return this.next==e&&(this.pos++||!0)}err(e){throw new SyntaxError(e+" (in content expression '"+this.string+"')")}}function Mpe(t){let e=[];do e.push(ttt(t));while(t.eat("|"));return e.length==1?e[0]:{type:"choice",exprs:e}}function ttt(t){let e=[];do e.push(ntt(t));while(t.next&&t.next!=")"&&t.next!="|");return e.length==1?e[0]:{type:"seq",exprs:e}}function ntt(t){let e=stt(t);for(;;)if(t.eat("+"))e={type:"plus",expr:e};else if(t.eat("*"))e={type:"star",expr:e};else if(t.eat("?"))e={type:"opt",expr:e};else if(t.eat("{"))e=rtt(t,e);else break;return e}function mq(t){/\D/.test(t.next)&&t.err("Expected number, got '"+t.next+"'");let e=Number(t.next);return t.pos++,e}function rtt(t,e){let n=mq(t),r=n;return t.eat(",")&&(t.next!="}"?r=mq(t):r=-1),t.eat("}")||t.err("Unclosed braced range"),{type:"range",min:n,max:r,expr:e}}function ott(t,e){let n=t.nodeTypes,r=n[e];if(r)return[r];let o=[];for(let s in n){let a=n[s];a.isInGroup(e)&&o.push(a)}return o.length==0&&t.err("No node type or group '"+e+"' found"),o}function stt(t){if(t.eat("(")){let e=Mpe(t);return t.eat(")")||t.err("Missing closing paren"),e}else if(/\W/.test(t.next))t.err("Unexpected token '"+t.next+"'");else{let e=ott(t,t.next).map(n=>(t.inline==null?t.inline=n.isInline:t.inline!=n.isInline&&t.err("Mixing inline and block content"),{type:"name",value:n}));return t.pos++,e.length==1?e[0]:{type:"choice",exprs:e}}}function att(t){let e=[[]];return o(s(t,0),n()),e;function n(){return e.push([])-1}function r(a,i,l){let u={term:l,to:i};return e[a].push(u),u}function o(a,i){a.forEach(l=>l.to=i)}function s(a,i){if(a.type=="choice")return a.exprs.reduce((l,u)=>l.concat(s(u,i)),[]);if(a.type=="seq")for(let l=0;;l++){let u=s(a.exprs[l],i);if(l==a.exprs.length-1)return u;o(u,i=n())}else if(a.type=="star"){let l=n();return r(i,l),o(s(a.expr,l),l),[r(l)]}else if(a.type=="plus"){let l=n();return o(s(a.expr,i),l),o(s(a.expr,l),l),[r(l)]}else{if(a.type=="opt")return[r(i)].concat(s(a.expr,i));if(a.type=="range"){let l=i;for(let u=0;u<a.min;u++){let d=n();o(s(a.expr,l),d),l=d}if(a.max==-1)o(s(a.expr,l),l);else for(let u=a.min;u<a.max;u++){let d=n();r(l,d),o(s(a.expr,l),d),l=d}return[r(l)]}else{if(a.type=="name")return[r(i,void 0,a.value)];throw new Error("Unknown expr type")}}}}function Rpe(t,e){return e-t}function gq(t,e){let n=[];return r(e),n.sort(Rpe);function r(o){let s=t[o];if(s.length==1&&!s[0].term)return r(s[0].to);n.push(o);for(let a=0;a<s.length;a++){let{term:i,to:l}=s[a];!i&&n.indexOf(l)==-1&&r(l)}}}function itt(t){let e=Object.create(null);return n(gq(t,0));function n(r){let o=[];r.forEach(a=>{t[a].forEach(({term:i,to:l})=>{if(!i)return;let u;for(let d=0;d<o.length;d++)o[d][0]==i&&(u=o[d][1]);gq(t,l).forEach(d=>{u||o.push([i,u=[]]),u.indexOf(d)==-1&&u.push(d)})})});let s=e[r.join(",")]=new Mg(r.indexOf(t.length-1)>-1);for(let a=0;a<o.length;a++){let i=o[a][1].sort(Rpe);s.next.push({type:o[a][0],next:e[i.join(",")]||n(i)})}return s}}function ltt(t,e){for(let n=0,r=[t];n<r.length;n++){let o=r[n],s=!o.validEnd,a=[];for(let i=0;i<o.next.length;i++){let{type:l,next:u}=o.next[i];a.push(l.name),s&&!(l.isText||l.hasRequiredAttrs())&&(s=!1),r.indexOf(u)==-1&&r.push(u)}s&&e.err("Only non-generatable nodes ("+a.join(", ")+") in a required position (see https://prosemirror.net/docs/guide/#generatable)")}}function Tpe(t){let e=Object.create(null);for(let n in t){let r=t[n];if(!r.hasDefault)return null;e[n]=r.default}return e}function Dpe(t,e){let n=Object.create(null);for(let r in t){let o=e&&e[r];if(o===void 0){let s=t[r];if(s.hasDefault)o=s.default;else throw new RangeError("No value supplied for attribute "+r)}n[r]=o}return n}function Lpe(t,e,n,r){for(let o in e)if(!(o in t))throw new RangeError(`Unsupported attribute ${o} for ${n} of type ${o}`);for(let o in t){let s=t[o];s.validate&&s.validate(e[o])}}function Ppe(t,e){let n=Object.create(null);if(e)for(let r in e)n[r]=new utt(t,r,e[r]);return n}let yq=class Ope{constructor(e,n,r){this.name=e,this.schema=n,this.spec=r,this.markSet=null,this.groups=r.group?r.group.split(" "):[],this.attrs=Ppe(e,r.attrs),this.defaultAttrs=Tpe(this.attrs),this.contentMatch=null,this.inlineContent=null,this.isBlock=!(r.inline||e=="text"),this.isText=e=="text"}get isInline(){return!this.isBlock}get isTextblock(){return this.isBlock&&this.inlineContent}get isLeaf(){return this.contentMatch==Mg.empty}get isAtom(){return this.isLeaf||!!this.spec.atom}isInGroup(e){return this.groups.indexOf(e)>-1}get whitespace(){return this.spec.whitespace||(this.spec.code?"pre":"normal")}hasRequiredAttrs(){for(let e in this.attrs)if(this.attrs[e].isRequired)return!0;return!1}compatibleContent(e){return this==e||this.contentMatch.compatible(e.contentMatch)}computeAttrs(e){return!e&&this.defaultAttrs?this.defaultAttrs:Dpe(this.attrs,e)}create(e=null,n,r){if(this.isText)throw new Error("NodeType.create can't construct text nodes");return new Gp(this,this.computeAttrs(e),Mt.from(n),Ur.setFrom(r))}createChecked(e=null,n,r){return n=Mt.from(n),this.checkContent(n),new Gp(this,this.computeAttrs(e),n,Ur.setFrom(r))}createAndFill(e=null,n,r){if(e=this.computeAttrs(e),n=Mt.from(n),n.size){let a=this.contentMatch.fillBefore(n);if(!a)return null;n=a.append(n)}let o=this.contentMatch.matchFragment(n),s=o&&o.fillBefore(Mt.empty,!0);return s?new Gp(this,e,n.append(s),Ur.setFrom(r)):null}validContent(e){let n=this.contentMatch.matchFragment(e);if(!n||!n.validEnd)return!1;for(let r=0;r<e.childCount;r++)if(!this.allowsMarks(e.child(r).marks))return!1;return!0}checkContent(e){if(!this.validContent(e))throw new RangeError(`Invalid content for node ${this.name}: ${e.toString().slice(0,50)}`)}checkAttrs(e){Lpe(this.attrs,e,"node",this.name)}allowsMarkType(e){return this.markSet==null||this.markSet.indexOf(e)>-1}allowsMarks(e){if(this.markSet==null)return!0;for(let n=0;n<e.length;n++)if(!this.allowsMarkType(e[n].type))return!1;return!0}allowedMarks(e){if(this.markSet==null)return e;let n;for(let r=0;r<e.length;r++)this.allowsMarkType(e[r].type)?n&&n.push(e[r]):n||(n=e.slice(0,r));return n?n.length?n:Ur.none:e}static compile(e,n){let r=Object.create(null);e.forEach((s,a)=>r[s]=new Ope(s,n,a));let o=n.spec.topNode||"doc";if(!r[o])throw new RangeError("Schema is missing its top node type ('"+o+"')");if(!r.text)throw new RangeError("Every schema needs a 'text' type");for(let s in r.text.attrs)throw new RangeError("The text node type should not have attributes");return r}};function ctt(t,e,n){let r=n.split("|");return o=>{let s=o===null?"null":typeof o;if(r.indexOf(s)<0)throw new RangeError(`Expected value of type ${r} for attribute ${e} on type ${t}, got ${s}`)}}class utt{constructor(e,n,r){this.hasDefault=Object.prototype.hasOwnProperty.call(r,"default"),this.default=r.default,this.validate=typeof r.validate=="string"?ctt(e,n,r.validate):r.validate}get isRequired(){return!this.hasDefault}}class hE{constructor(e,n,r,o){this.name=e,this.rank=n,this.schema=r,this.spec=o,this.attrs=Ppe(e,o.attrs),this.excluded=null;let s=Tpe(this.attrs);this.instance=s?new Ur(this,s):null}create(e=null){return!e&&this.instance?this.instance:new Ur(this,Dpe(this.attrs,e))}static compile(e,n){let r=Object.create(null),o=0;return e.forEach((s,a)=>r[s]=new hE(s,o++,n,a)),r}removeFromSet(e){for(var n=0;n<e.length;n++)e[n].type==this&&(e=e.slice(0,n).concat(e.slice(n+1)),n--);return e}isInSet(e){for(let n=0;n<e.length;n++)if(e[n].type==this)return e[n]}checkAttrs(e){Lpe(this.attrs,e,"mark",this.name)}excludes(e){return this.excluded.indexOf(e)>-1}}class zpe{constructor(e){this.linebreakReplacement=null,this.cached=Object.create(null);let n=this.spec={};for(let o in e)n[o]=e[o];n.nodes=Qs.from(e.nodes),n.marks=Qs.from(e.marks||{}),this.nodes=yq.compile(this.spec.nodes,this),this.marks=hE.compile(this.spec.marks,this);let r=Object.create(null);for(let o in this.nodes){if(o in this.marks)throw new RangeError(o+" can not be both a node and a mark");let s=this.nodes[o],a=s.spec.content||"",i=s.spec.marks;if(s.contentMatch=r[a]||(r[a]=Mg.parse(a,this.nodes)),s.inlineContent=s.contentMatch.inlineContent,s.spec.linebreakReplacement){if(this.linebreakReplacement)throw new RangeError("Multiple linebreak nodes defined");if(!s.isInline||!s.isLeaf)throw new RangeError("Linebreak replacement nodes must be inline leaf nodes");this.linebreakReplacement=s}s.markSet=i=="_"?null:i?vq(this,i.split(" ")):i==""||!s.inlineContent?[]:null}for(let o in this.marks){let s=this.marks[o],a=s.spec.excludes;s.excluded=a==null?[s]:a==""?[]:vq(this,a.split(" "))}this.nodeFromJSON=this.nodeFromJSON.bind(this),this.markFromJSON=this.markFromJSON.bind(this),this.topNodeType=this.nodes[this.spec.topNode||"doc"],this.cached.wrappings=Object.create(null)}node(e,n=null,r,o){if(typeof e=="string")e=this.nodeType(e);else if(e instanceof yq){if(e.schema!=this)throw new RangeError("Node type from different schema used ("+e.name+")")}else throw new RangeError("Invalid node type: "+e);return e.createChecked(n,r,o)}text(e,n){let r=this.nodes.text;return new Mj(r,r.defaultAttrs,e,Ur.setFrom(n))}mark(e,n){return typeof e=="string"&&(e=this.marks[e]),e.create(n)}nodeFromJSON(e){return Gp.fromJSON(this,e)}markFromJSON(e){return Ur.fromJSON(this,e)}nodeType(e){let n=this.nodes[e];if(!n)throw new RangeError("Unknown node type: "+e);return n}}function vq(t,e){let n=[];for(let r=0;r<e.length;r++){let o=e[r],s=t.marks[o],a=s;if(s)n.push(s);else for(let i in t.marks){let l=t.marks[i];(o=="_"||l.spec.group&&l.spec.group.split(" ").indexOf(o)>-1)&&n.push(a=l)}if(!a)throw new SyntaxError("Unknown mark type: '"+e[r]+"'")}return n}function ftt(t){return t.tag!=null}function dtt(t){return t.style!=null}let sb=class HM{constructor(e,n){this.schema=e,this.rules=n,this.tags=[],this.styles=[];let r=this.matchedStyles=[];n.forEach(o=>{if(ftt(o))this.tags.push(o);else if(dtt(o)){let s=/[^=]*/.exec(o.style)[0];r.indexOf(s)<0&&r.push(s),this.styles.push(o)}}),this.normalizeLists=!this.tags.some(o=>{if(!/^(ul|ol)\b/.test(o.tag)||!o.node)return!1;let s=e.nodes[o.node];return s.contentMatch.matchType(s)})}parse(e,n={}){let r=new bq(this,n,!1);return r.addAll(e,Ur.none,n.from,n.to),r.finish()}parseSlice(e,n={}){let r=new bq(this,n,!0);return r.addAll(e,Ur.none,n.from,n.to),tn.maxOpen(r.finish())}matchTag(e,n,r){for(let o=r?this.tags.indexOf(r)+1:0;o<this.tags.length;o++){let s=this.tags[o];if(mtt(e,s.tag)&&(s.namespace===void 0||e.namespaceURI==s.namespace)&&(!s.context||n.matchesContext(s.context))){if(s.getAttrs){let a=s.getAttrs(e);if(a===!1)continue;s.attrs=a||void 0}return s}}}matchStyle(e,n,r,o){for(let s=o?this.styles.indexOf(o)+1:0;s<this.styles.length;s++){let a=this.styles[s],i=a.style;if(!(i.indexOf(e)!=0||a.context&&!r.matchesContext(a.context)||i.length>e.length&&(i.charCodeAt(e.length)!=61||i.slice(e.length+1)!=n))){if(a.getAttrs){let l=a.getAttrs(n);if(l===!1)continue;a.attrs=l||void 0}return a}}}static schemaRules(e){let n=[];function r(o){let s=o.priority==null?50:o.priority,a=0;for(;a<n.length;a++){let i=n[a];if((i.priority==null?50:i.priority)<s)break}n.splice(a,0,o)}for(let o in e.marks){let s=e.marks[o].spec.parseDOM;s&&s.forEach(a=>{r(a=xq(a)),a.mark||a.ignore||a.clearMark||(a.mark=o)})}for(let o in e.nodes){let s=e.nodes[o].spec.parseDOM;s&&s.forEach(a=>{r(a=xq(a)),a.node||a.ignore||a.mark||(a.node=o)})}return n}static fromSchema(e){return e.cached.domParser||(e.cached.domParser=new HM(e,HM.schemaRules(e)))}};const Fpe={address:!0,article:!0,aside:!0,blockquote:!0,canvas:!0,dd:!0,div:!0,dl:!0,fieldset:!0,figcaption:!0,figure:!0,footer:!0,form:!0,h1:!0,h2:!0,h3:!0,h4:!0,h5:!0,h6:!0,header:!0,hgroup:!0,hr:!0,li:!0,noscript:!0,ol:!0,output:!0,p:!0,pre:!0,section:!0,table:!0,tfoot:!0,ul:!0},ptt={head:!0,noscript:!0,object:!0,script:!0,style:!0,title:!0},Bpe={ol:!0,ul:!0},h2=1,WM=2,ab=4;function wq(t,e,n){return e!=null?(e?h2:0)|(e==="full"?WM:0):t&&t.whitespace=="pre"?h2|WM:n&~ab}class K6{constructor(e,n,r,o,s,a){this.type=e,this.attrs=n,this.marks=r,this.solid=o,this.options=a,this.content=[],this.activeMarks=Ur.none,this.match=s||(a&ab?null:e.contentMatch)}findWrapping(e){if(!this.match){if(!this.type)return[];let n=this.type.contentMatch.fillBefore(Mt.from(e));if(n)this.match=this.type.contentMatch.matchFragment(n);else{let r=this.type.contentMatch,o;return(o=r.findWrapping(e.type))?(this.match=r,o):null}}return this.match.findWrapping(e.type)}finish(e){if(!(this.options&h2)){let r=this.content[this.content.length-1],o;if(r&&r.isText&&(o=/[ \t\r\n\u000c]+$/.exec(r.text))){let s=r;r.text.length==o[0].length?this.content.pop():this.content[this.content.length-1]=s.withText(s.text.slice(0,s.text.length-o[0].length))}}let n=Mt.from(this.content);return!e&&this.match&&(n=n.append(this.match.fillBefore(Mt.empty,!0))),this.type?this.type.create(this.attrs,n,this.marks):n}inlineContext(e){return this.type?this.type.inlineContent:this.content.length?this.content[0].isInline:e.parentNode&&!Fpe.hasOwnProperty(e.parentNode.nodeName.toLowerCase())}}class bq{constructor(e,n,r){this.parser=e,this.options=n,this.isOpen=r,this.open=0,this.localPreserveWS=!1;let o=n.topNode,s,a=wq(null,n.preserveWhitespace,0)|(r?ab:0);o?s=new K6(o.type,o.attrs,Ur.none,!0,n.topMatch||o.type.contentMatch,a):r?s=new K6(null,null,Ur.none,!0,null,a):s=new K6(e.schema.topNodeType,null,Ur.none,!0,null,a),this.nodes=[s],this.find=n.findPositions,this.needsBlock=!1}get top(){return this.nodes[this.open]}addDOM(e,n){e.nodeType==3?this.addTextNode(e,n):e.nodeType==1&&this.addElement(e,n)}addTextNode(e,n){let r=e.nodeValue,o=this.top,s=o.options&WM?"full":this.localPreserveWS||(o.options&h2)>0;if(s==="full"||o.inlineContext(e)||/[^ \t\r\n\u000c]/.test(r)){if(s)s!=="full"?r=r.replace(/\r?\n|\r/g," "):r=r.replace(/\r\n?/g,`
2104 `);else if(r=r.replace(/[ \t\r\n\u000c]+/g," "),/^[ \t\r\n\u000c]/.test(r)&&this.open==this.nodes.length-1){let a=o.content[o.content.length-1],i=e.previousSibling;(!a||i&&i.nodeName=="BR"||a.isText&&/[ \t\r\n\u000c]$/.test(a.text))&&(r=r.slice(1))}r&&this.insertNode(this.parser.schema.text(r),n,!/\S/.test(r)),this.findInText(e)}else this.findInside(e)}addElement(e,n,r){let o=this.localPreserveWS,s=this.top;(e.tagName=="PRE"||/pre/.test(e.style&&e.style.whiteSpace))&&(this.localPreserveWS=!0);let a=e.nodeName.toLowerCase(),i;Bpe.hasOwnProperty(a)&&this.parser.normalizeLists&&htt(e);let l=this.options.ruleFromNode&&this.options.ruleFromNode(e)||(i=this.parser.matchTag(e,this,r));e:if(l?l.ignore:ptt.hasOwnProperty(a))this.findInside(e),this.ignoreFallback(e,n);else if(!l||l.skip||l.closeParent){l&&l.closeParent?this.open=Math.max(0,this.open-1):l&&l.skip.nodeType&&(e=l.skip);let u,d=this.needsBlock;if(Fpe.hasOwnProperty(a))s.content.length&&s.content[0].isInline&&this.open&&(this.open--,s=this.top),u=!0,s.type||(this.needsBlock=!0);else if(!e.firstChild){this.leafFallback(e,n);break e}let f=l&&l.skip?n:this.readStyles(e,n);f&&this.addAll(e,f),u&&this.sync(s),this.needsBlock=d}else{let u=this.readStyles(e,n);u&&this.addElementByRule(e,l,u,l.consuming===!1?i:void 0)}this.localPreserveWS=o}leafFallback(e,n){e.nodeName=="BR"&&this.top.type&&this.top.type.inlineContent&&this.addTextNode(e.ownerDocument.createTextNode(`
2105 `),n)}ignoreFallback(e,n){e.nodeName=="BR"&&(!this.top.type||!this.top.type.inlineContent)&&this.findPlace(this.parser.schema.text("-"),n,!0)}readStyles(e,n){let r=e.style;if(r&&r.length)for(let o=0;o<this.parser.matchedStyles.length;o++){let s=this.parser.matchedStyles[o],a=r.getPropertyValue(s);if(a)for(let i=void 0;;){let l=this.parser.matchStyle(s,a,this,i);if(!l)break;if(l.ignore)return null;if(l.clearMark?n=n.filter(u=>!l.clearMark(u)):n=n.concat(this.parser.schema.marks[l.mark].create(l.attrs)),l.consuming===!1)i=l;else break}}return n}addElementByRule(e,n,r,o){let s,a;if(n.node)if(a=this.parser.schema.nodes[n.node],a.isLeaf)this.insertNode(a.create(n.attrs),r,e.nodeName=="BR")||this.leafFallback(e,r);else{let l=this.enter(a,n.attrs||null,r,n.preserveWhitespace);l&&(s=!0,r=l)}else{let l=this.parser.schema.marks[n.mark];r=r.concat(l.create(n.attrs))}let i=this.top;if(a&&a.isLeaf)this.findInside(e);else if(o)this.addElement(e,r,o);else if(n.getContent)this.findInside(e),n.getContent(e,this.parser.schema).forEach(l=>this.insertNode(l,r,!1));else{let l=e;typeof n.contentElement=="string"?l=e.querySelector(n.contentElement):typeof n.contentElement=="function"?l=n.contentElement(e):n.contentElement&&(l=n.contentElement),this.findAround(e,l,!0),this.addAll(l,r),this.findAround(e,l,!1)}s&&this.sync(i)&&this.open--}addAll(e,n,r,o){let s=r||0;for(let a=r?e.childNodes[r]:e.firstChild,i=o==null?null:e.childNodes[o];a!=i;a=a.nextSibling,++s)this.findAtPoint(e,s),this.addDOM(a,n);this.findAtPoint(e,s)}findPlace(e,n,r){let o,s;for(let a=this.open,i=0;a>=0;a--){let l=this.nodes[a],u=l.findWrapping(e);if(u&&(!o||o.length>u.length+i)&&(o=u,s=l,!u.length))break;if(l.solid){if(r)break;i+=2}}if(!o)return null;this.sync(s);for(let a=0;a<o.length;a++)n=this.enterInner(o[a],null,n,!1);return n}insertNode(e,n,r){if(e.isInline&&this.needsBlock&&!this.top.type){let s=this.textblockFromContext();s&&(n=this.enterInner(s,null,n))}let o=this.findPlace(e,n,r);if(o){this.closeExtra();let s=this.top;s.match&&(s.match=s.match.matchType(e.type));let a=Ur.none;for(let i of o.concat(e.marks))(s.type?s.type.allowsMarkType(i.type):kq(i.type,e.type))&&(a=i.addToSet(a));return s.content.push(e.mark(a)),!0}return!1}enter(e,n,r,o){let s=this.findPlace(e.create(n),r,!1);return s&&(s=this.enterInner(e,n,r,!0,o)),s}enterInner(e,n,r,o=!1,s){this.closeExtra();let a=this.top;a.match=a.match&&a.match.matchType(e);let i=wq(e,s,a.options);a.options&ab&&a.content.length==0&&(i|=ab);let l=Ur.none;return r=r.filter(u=>(a.type?a.type.allowsMarkType(u.type):kq(u.type,e))?(l=u.addToSet(l),!1):!0),this.nodes.push(new K6(e,n,l,o,null,i)),this.open++,r}closeExtra(e=!1){let n=this.nodes.length-1;if(n>this.open){for(;n>this.open;n--)this.nodes[n-1].content.push(this.nodes[n].finish(e));this.nodes.length=this.open+1}}finish(){return this.open=0,this.closeExtra(this.isOpen),this.nodes[0].finish(!!(this.isOpen||this.options.topOpen))}sync(e){for(let n=this.open;n>=0;n--){if(this.nodes[n]==e)return this.open=n,!0;this.localPreserveWS&&(this.nodes[n].options|=h2)}return!1}get currentPos(){this.closeExtra();let e=0;for(let n=this.open;n>=0;n--){let r=this.nodes[n].content;for(let o=r.length-1;o>=0;o--)e+=r[o].nodeSize;n&&e++}return e}findAtPoint(e,n){if(this.find)for(let r=0;r<this.find.length;r++)this.find[r].node==e&&this.find[r].offset==n&&(this.find[r].pos=this.currentPos)}findInside(e){if(this.find)for(let n=0;n<this.find.length;n++)this.find[n].pos==null&&e.nodeType==1&&e.contains(this.find[n].node)&&(this.find[n].pos=this.currentPos)}findAround(e,n,r){if(e!=n&&this.find)for(let o=0;o<this.find.length;o++)this.find[o].pos==null&&e.nodeType==1&&e.contains(this.find[o].node)&&n.compareDocumentPosition(this.find[o].node)&(r?2:4)&&(this.find[o].pos=this.currentPos)}findInText(e){if(this.find)for(let n=0;n<this.find.length;n++)this.find[n].node==e&&(this.find[n].pos=this.currentPos-(e.nodeValue.length-this.find[n].offset))}matchesContext(e){if(e.indexOf("|")>-1)return e.split(/\s*\|\s*/).some(this.matchesContext,this);let n=e.split("/"),r=this.options.context,o=!this.isOpen&&(!r||r.parent.type==this.nodes[0].type),s=-(r?r.depth+1:0)+(o?0:1),a=(i,l)=>{for(;i>=0;i--){let u=n[i];if(u==""){if(i==n.length-1||i==0)continue;for(;l>=s;l--)if(a(i-1,l))return!0;return!1}else{let d=l>0||l==0&&o?this.nodes[l].type:r&&l>=s?r.node(l-s).type:null;if(!d||d.name!=u&&!d.isInGroup(u))return!1;l--}}return!0};return a(n.length-1,this.open)}textblockFromContext(){let e=this.options.context;if(e)for(let n=e.depth;n>=0;n--){let r=e.node(n).contentMatchAt(e.indexAfter(n)).defaultType;if(r&&r.isTextblock&&r.defaultAttrs)return r}for(let n in this.parser.schema.nodes){let r=this.parser.schema.nodes[n];if(r.isTextblock&&r.defaultAttrs)return r}}}function htt(t){for(let e=t.firstChild,n=null;e;e=e.nextSibling){let r=e.nodeType==1?e.nodeName.toLowerCase():null;r&&Bpe.hasOwnProperty(r)&&n?(n.appendChild(e),e=n):r=="li"?n=e:r&&(n=null)}}function mtt(t,e){return(t.matches||t.msMatchesSelector||t.webkitMatchesSelector||t.mozMatchesSelector).call(t,e)}function xq(t){let e={};for(let n in t)e[n]=t[n];return e}function kq(t,e){let n=e.schema.nodes;for(let r in n){let o=n[r];if(!o.allowsMarkType(t))continue;let s=[],a=i=>{s.push(i);for(let l=0;l<i.edgeCount;l++){let{type:u,next:d}=i.edge(l);if(u==e||s.indexOf(d)<0&&a(d))return!0}};if(a(o.contentMatch))return!0}}class t1{constructor(e,n){this.nodes=e,this.marks=n}serializeFragment(e,n={},r){r||(r=HA(n).createDocumentFragment());let o=r,s=[];return e.forEach(a=>{if(s.length||a.marks.length){let i=0,l=0;for(;i<s.length&&l<a.marks.length;){let u=a.marks[l];if(!this.marks[u.type.name]){l++;continue}if(!u.eq(s[i][0])||u.type.spec.spanning===!1)break;i++,l++}for(;i<s.length;)o=s.pop()[1];for(;l<a.marks.length;){let u=a.marks[l++],d=this.serializeMark(u,a.isInline,n);d&&(s.push([u,o]),o.appendChild(d.dom),o=d.contentDOM||d.dom)}}o.appendChild(this.serializeNodeInner(a,n))}),r}serializeNodeInner(e,n){let{dom:r,contentDOM:o}=K3(HA(n),this.nodes[e.type.name](e),null,e.attrs);if(o){if(e.isLeaf)throw new RangeError("Content hole not allowed in a leaf node spec");this.serializeFragment(e.content,n,o)}return r}serializeNode(e,n={}){let r=this.serializeNodeInner(e,n);for(let o=e.marks.length-1;o>=0;o--){let s=this.serializeMark(e.marks[o],e.isInline,n);s&&((s.contentDOM||s.dom).appendChild(r),r=s.dom)}return r}serializeMark(e,n,r={}){let o=this.marks[e.type.name];return o&&K3(HA(r),o(e,n),null,e.attrs)}static renderSpec(e,n,r=null,o){return K3(e,n,r,o)}static fromSchema(e){return e.cached.domSerializer||(e.cached.domSerializer=new t1(this.nodesFromSchema(e),this.marksFromSchema(e)))}static nodesFromSchema(e){let n=jq(e.nodes);return n.text||(n.text=r=>r.text),n}static marksFromSchema(e){return jq(e.marks)}}function jq(t){let e={};for(let n in t){let r=t[n].spec.toDOM;r&&(e[n]=r)}return e}function HA(t){return t.document||window.document}const Cq=new WeakMap;function gtt(t){let e=Cq.get(t);return e===void 0&&Cq.set(t,e=ytt(t)),e}function ytt(t){let e=null;function n(r){if(r&&typeof r=="object")if(Array.isArray(r))if(typeof r[0]=="string")e||(e=[]),e.push(r);else for(let o=0;o<r.length;o++)n(r[o]);else for(let o in r)n(r[o])}return n(t),e}function K3(t,e,n,r){if(typeof e=="string")return{dom:t.createTextNode(e)};if(e.nodeType!=null)return{dom:e};if(e.dom&&e.dom.nodeType!=null)return e;let o=e[0],s;if(typeof o!="string")throw new RangeError("Invalid array passed to renderSpec");if(r&&(s=gtt(r))&&s.indexOf(e)>-1)throw new RangeError("Using an array from an attribute object as a DOM spec. This may be an attempted cross site scripting attack.");let a=o.indexOf(" ");a>0&&(n=o.slice(0,a),o=o.slice(a+1));let i,l=n?t.createElementNS(n,o):t.createElement(o),u=e[1],d=1;if(u&&typeof u=="object"&&u.nodeType==null&&!Array.isArray(u)){d=2;for(let f in u)if(u[f]!=null){let m=f.indexOf(" ");m>0?l.setAttributeNS(f.slice(0,m),f.slice(m+1),u[f]):l.setAttribute(f,u[f])}}for(let f=d;f<e.length;f++){let m=e[f];if(m===0){if(f<e.length-1||f>d)throw new RangeError("Content hole must be the only child of its parent node");return{dom:l,contentDOM:l}}else{let{dom:g,contentDOM:w}=K3(t,m,n,r);if(l.appendChild(g),w){if(i)throw new RangeError("Multiple content holes");i=w}}}return{dom:l,contentDOM:i}}const Upe=65535,$pe=Math.pow(2,16);function vtt(t,e){return t+e*$pe}function Sq(t){return t&Upe}function wtt(t){return(t-(t&Upe))/$pe}const Vpe=1,Hpe=2,Z3=4,Wpe=8;class YM{constructor(e,n,r){this.pos=e,this.delInfo=n,this.recover=r}get deleted(){return(this.delInfo&Wpe)>0}get deletedBefore(){return(this.delInfo&(Vpe|Z3))>0}get deletedAfter(){return(this.delInfo&(Hpe|Z3))>0}get deletedAcross(){return(this.delInfo&Z3)>0}}class tl{constructor(e,n=!1){if(this.ranges=e,this.inverted=n,!e.length&&tl.empty)return tl.empty}recover(e){let n=0,r=Sq(e);if(!this.inverted)for(let o=0;o<r;o++)n+=this.ranges[o*3+2]-this.ranges[o*3+1];return this.ranges[r*3]+n+wtt(e)}mapResult(e,n=1){return this._map(e,n,!1)}map(e,n=1){return this._map(e,n,!0)}_map(e,n,r){let o=0,s=this.inverted?2:1,a=this.inverted?1:2;for(let i=0;i<this.ranges.length;i+=3){let l=this.ranges[i]-(this.inverted?o:0);if(l>e)break;let u=this.ranges[i+s],d=this.ranges[i+a],f=l+u;if(e<=f){let m=u?e==l?-1:e==f?1:n:n,g=l+o+(m<0?0:d);if(r)return g;let w=e==(n<0?l:f)?null:vtt(i/3,e-l),b=e==l?Hpe:e==f?Vpe:Z3;return(n<0?e!=l:e!=f)&&(b|=Wpe),new YM(g,b,w)}o+=d-u}return r?e+o:new YM(e+o,0,null)}touches(e,n){let r=0,o=Sq(n),s=this.inverted?2:1,a=this.inverted?1:2;for(let i=0;i<this.ranges.length;i+=3){let l=this.ranges[i]-(this.inverted?r:0);if(l>e)break;let u=this.ranges[i+s],d=l+u;if(e<=d&&i==o*3)return!0;r+=this.ranges[i+a]-u}return!1}forEach(e){let n=this.inverted?2:1,r=this.inverted?1:2;for(let o=0,s=0;o<this.ranges.length;o+=3){let a=this.ranges[o],i=a-(this.inverted?s:0),l=a+(this.inverted?0:s),u=this.ranges[o+n],d=this.ranges[o+r];e(i,i+u,l,l+d),s+=d-u}}invert(){return new tl(this.ranges,!this.inverted)}toString(){return(this.inverted?"-":"")+JSON.stringify(this.ranges)}static offset(e){return e==0?tl.empty:new tl(e<0?[0,-e,0]:[0,0,e])}}tl.empty=new tl([]);class m2{constructor(e,n,r=0,o=e?e.length:0){this.mirror=n,this.from=r,this.to=o,this._maps=e||[],this.ownData=!(e||n)}get maps(){return this._maps}slice(e=0,n=this.maps.length){return new m2(this._maps,this.mirror,e,n)}appendMap(e,n){this.ownData||(this._maps=this._maps.slice(),this.mirror=this.mirror&&this.mirror.slice(),this.ownData=!0),this.to=this._maps.push(e),n!=null&&this.setMirror(this._maps.length-1,n)}appendMapping(e){for(let n=0,r=this._maps.length;n<e._maps.length;n++){let o=e.getMirror(n);this.appendMap(e._maps[n],o!=null&&o<n?r+o:void 0)}}getMirror(e){if(this.mirror){for(let n=0;n<this.mirror.length;n++)if(this.mirror[n]==e)return this.mirror[n+(n%2?-1:1)]}}setMirror(e,n){this.mirror||(this.mirror=[]),this.mirror.push(e,n)}appendMappingInverted(e){for(let n=e.maps.length-1,r=this._maps.length+e._maps.length;n>=0;n--){let o=e.getMirror(n);this.appendMap(e._maps[n].invert(),o!=null&&o>n?r-o-1:void 0)}}invert(){let e=new m2;return e.appendMappingInverted(this),e}map(e,n=1){if(this.mirror)return this._map(e,n,!0);for(let r=this.from;r<this.to;r++)e=this._maps[r].map(e,n);return e}mapResult(e,n=1){return this._map(e,n,!1)}_map(e,n,r){let o=0;for(let s=this.from;s<this.to;s++){let a=this._maps[s],i=a.mapResult(e,n);if(i.recover!=null){let l=this.getMirror(s);if(l!=null&&l>s&&l<this.to){s=l,e=this._maps[l].recover(i.recover);continue}}o|=i.delInfo,e=i.pos}return r?e:new YM(e,o,null)}}const WA=Object.create(null);class Ba{getMap(){return tl.empty}merge(e){return null}static fromJSON(e,n){if(!n||!n.stepType)throw new RangeError("Invalid input for Step.fromJSON");let r=WA[n.stepType];if(!r)throw new RangeError(`No step type ${n.stepType} defined`);return r.fromJSON(e,n)}static jsonID(e,n){if(e in WA)throw new RangeError("Duplicate use of step JSON ID "+e);return WA[e]=n,n.prototype.jsonID=e,n}}class Xo{constructor(e,n){this.doc=e,this.failed=n}static ok(e){return new Xo(e,null)}static fail(e){return new Xo(null,e)}static fromReplace(e,n,r,o){try{return Xo.ok(e.replace(n,r,o))}catch(s){if(s instanceof Ij)return Xo.fail(s.message);throw s}}}function eP(t,e,n){let r=[];for(let o=0;o<t.childCount;o++){let s=t.child(o);s.content.size&&(s=s.copy(eP(s.content,e,s))),s.isInline&&(s=e(s,n,o)),r.push(s)}return Mt.fromArray(r)}class Op extends Ba{constructor(e,n,r){super(),this.from=e,this.to=n,this.mark=r}apply(e){let n=e.slice(this.from,this.to),r=e.resolve(this.from),o=r.node(r.sharedDepth(this.to)),s=new tn(eP(n.content,(a,i)=>!a.isAtom||!i.type.allowsMarkType(this.mark.type)?a:a.mark(this.mark.addToSet(a.marks)),o),n.openStart,n.openEnd);return Xo.fromReplace(e,this.from,this.to,s)}invert(){return new Vu(this.from,this.to,this.mark)}map(e){let n=e.mapResult(this.from,1),r=e.mapResult(this.to,-1);return n.deleted&&r.deleted||n.pos>=r.pos?null:new Op(n.pos,r.pos,this.mark)}merge(e){return e instanceof Op&&e.mark.eq(this.mark)&&this.from<=e.to&&this.to>=e.from?new Op(Math.min(this.from,e.from),Math.max(this.to,e.to),this.mark):null}toJSON(){return{stepType:"addMark",mark:this.mark.toJSON(),from:this.from,to:this.to}}static fromJSON(e,n){if(typeof n.from!="number"||typeof n.to!="number")throw new RangeError("Invalid input for AddMarkStep.fromJSON");return new Op(n.from,n.to,e.markFromJSON(n.mark))}}Ba.jsonID("addMark",Op);class Vu extends Ba{constructor(e,n,r){super(),this.from=e,this.to=n,this.mark=r}apply(e){let n=e.slice(this.from,this.to),r=new tn(eP(n.content,o=>o.mark(this.mark.removeFromSet(o.marks)),e),n.openStart,n.openEnd);return Xo.fromReplace(e,this.from,this.to,r)}invert(){return new Op(this.from,this.to,this.mark)}map(e){let n=e.mapResult(this.from,1),r=e.mapResult(this.to,-1);return n.deleted&&r.deleted||n.pos>=r.pos?null:new Vu(n.pos,r.pos,this.mark)}merge(e){return e instanceof Vu&&e.mark.eq(this.mark)&&this.from<=e.to&&this.to>=e.from?new Vu(Math.min(this.from,e.from),Math.max(this.to,e.to),this.mark):null}toJSON(){return{stepType:"removeMark",mark:this.mark.toJSON(),from:this.from,to:this.to}}static fromJSON(e,n){if(typeof n.from!="number"||typeof n.to!="number")throw new RangeError("Invalid input for RemoveMarkStep.fromJSON");return new Vu(n.from,n.to,e.markFromJSON(n.mark))}}Ba.jsonID("removeMark",Vu);class zp extends Ba{constructor(e,n){super(),this.pos=e,this.mark=n}apply(e){let n=e.nodeAt(this.pos);if(!n)return Xo.fail("No node at mark step's position");let r=n.type.create(n.attrs,null,this.mark.addToSet(n.marks));return Xo.fromReplace(e,this.pos,this.pos+1,new tn(Mt.from(r),0,n.isLeaf?0:1))}invert(e){let n=e.nodeAt(this.pos);if(n){let r=this.mark.addToSet(n.marks);if(r.length==n.marks.length){for(let o=0;o<n.marks.length;o++)if(!n.marks[o].isInSet(r))return new zp(this.pos,n.marks[o]);return new zp(this.pos,this.mark)}}return new Rg(this.pos,this.mark)}map(e){let n=e.mapResult(this.pos,1);return n.deletedAfter?null:new zp(n.pos,this.mark)}toJSON(){return{stepType:"addNodeMark",pos:this.pos,mark:this.mark.toJSON()}}static fromJSON(e,n){if(typeof n.pos!="number")throw new RangeError("Invalid input for AddNodeMarkStep.fromJSON");return new zp(n.pos,e.markFromJSON(n.mark))}}Ba.jsonID("addNodeMark",zp);class Rg extends Ba{constructor(e,n){super(),this.pos=e,this.mark=n}apply(e){let n=e.nodeAt(this.pos);if(!n)return Xo.fail("No node at mark step's position");let r=n.type.create(n.attrs,null,this.mark.removeFromSet(n.marks));return Xo.fromReplace(e,this.pos,this.pos+1,new tn(Mt.from(r),0,n.isLeaf?0:1))}invert(e){let n=e.nodeAt(this.pos);return!n||!this.mark.isInSet(n.marks)?this:new zp(this.pos,this.mark)}map(e){let n=e.mapResult(this.pos,1);return n.deletedAfter?null:new Rg(n.pos,this.mark)}toJSON(){return{stepType:"removeNodeMark",pos:this.pos,mark:this.mark.toJSON()}}static fromJSON(e,n){if(typeof n.pos!="number")throw new RangeError("Invalid input for RemoveNodeMarkStep.fromJSON");return new Rg(n.pos,e.markFromJSON(n.mark))}}Ba.jsonID("removeNodeMark",Rg);class Rs extends Ba{constructor(e,n,r,o=!1){super(),this.from=e,this.to=n,this.slice=r,this.structure=o}apply(e){return this.structure&&GM(e,this.from,this.to)?Xo.fail("Structure replace would overwrite content"):Xo.fromReplace(e,this.from,this.to,this.slice)}getMap(){return new tl([this.from,this.to-this.from,this.slice.size])}invert(e){return new Rs(this.from,this.from+this.slice.size,e.slice(this.from,this.to))}map(e){let n=e.mapResult(this.from,1),r=e.mapResult(this.to,-1);return n.deletedAcross&&r.deletedAcross?null:new Rs(n.pos,Math.max(n.pos,r.pos),this.slice,this.structure)}merge(e){if(!(e instanceof Rs)||e.structure||this.structure)return null;if(this.from+this.slice.size==e.from&&!this.slice.openEnd&&!e.slice.openStart){let n=this.slice.size+e.slice.size==0?tn.empty:new tn(this.slice.content.append(e.slice.content),this.slice.openStart,e.slice.openEnd);return new Rs(this.from,this.to+(e.to-e.from),n,this.structure)}else if(e.to==this.from&&!this.slice.openStart&&!e.slice.openEnd){let n=this.slice.size+e.slice.size==0?tn.empty:new tn(e.slice.content.append(this.slice.content),e.slice.openStart,this.slice.openEnd);return new Rs(e.from,this.to,n,this.structure)}else return null}toJSON(){let e={stepType:"replace",from:this.from,to:this.to};return this.slice.size&&(e.slice=this.slice.toJSON()),this.structure&&(e.structure=!0),e}static fromJSON(e,n){if(typeof n.from!="number"||typeof n.to!="number")throw new RangeError("Invalid input for ReplaceStep.fromJSON");return new Rs(n.from,n.to,tn.fromJSON(e,n.slice),!!n.structure)}}Ba.jsonID("replace",Rs);class Ps extends Ba{constructor(e,n,r,o,s,a,i=!1){super(),this.from=e,this.to=n,this.gapFrom=r,this.gapTo=o,this.slice=s,this.insert=a,this.structure=i}apply(e){if(this.structure&&(GM(e,this.from,this.gapFrom)||GM(e,this.gapTo,this.to)))return Xo.fail("Structure gap-replace would overwrite content");let n=e.slice(this.gapFrom,this.gapTo);if(n.openStart||n.openEnd)return Xo.fail("Gap is not a flat range");let r=this.slice.insertAt(this.insert,n.content);return r?Xo.fromReplace(e,this.from,this.to,r):Xo.fail("Content does not fit in gap")}getMap(){return new tl([this.from,this.gapFrom-this.from,this.insert,this.gapTo,this.to-this.gapTo,this.slice.size-this.insert])}invert(e){let n=this.gapTo-this.gapFrom;return new Ps(this.from,this.from+this.slice.size+n,this.from+this.insert,this.from+this.insert+n,e.slice(this.from,this.to).removeBetween(this.gapFrom-this.from,this.gapTo-this.from),this.gapFrom-this.from,this.structure)}map(e){let n=e.mapResult(this.from,1),r=e.mapResult(this.to,-1),o=this.from==this.gapFrom?n.pos:e.map(this.gapFrom,-1),s=this.to==this.gapTo?r.pos:e.map(this.gapTo,1);return n.deletedAcross&&r.deletedAcross||o<n.pos||s>r.pos?null:new Ps(n.pos,r.pos,o,s,this.slice,this.insert,this.structure)}toJSON(){let e={stepType:"replaceAround",from:this.from,to:this.to,gapFrom:this.gapFrom,gapTo:this.gapTo,insert:this.insert};return this.slice.size&&(e.slice=this.slice.toJSON()),this.structure&&(e.structure=!0),e}static fromJSON(e,n){if(typeof n.from!="number"||typeof n.to!="number"||typeof n.gapFrom!="number"||typeof n.gapTo!="number"||typeof n.insert!="number")throw new RangeError("Invalid input for ReplaceAroundStep.fromJSON");return new Ps(n.from,n.to,n.gapFrom,n.gapTo,tn.fromJSON(e,n.slice),n.insert,!!n.structure)}}Ba.jsonID("replaceAround",Ps);function GM(t,e,n){let r=t.resolve(e),o=n-e,s=r.depth;for(;o>0&&s>0&&r.indexAfter(s)==r.node(s).childCount;)s--,o--;if(o>0){let a=r.node(s).maybeChild(r.indexAfter(s));for(;o>0;){if(!a||a.isLeaf)return!0;a=a.firstChild,o--}}return!1}function btt(t,e,n,r){let o=[],s=[],a,i;t.doc.nodesBetween(e,n,(l,u,d)=>{if(!l.isInline)return;let f=l.marks;if(!r.isInSet(f)&&d.type.allowsMarkType(r.type)){let m=Math.max(u,e),g=Math.min(u+l.nodeSize,n),w=r.addToSet(f);for(let b=0;b<f.length;b++)f[b].isInSet(w)||(a&&a.to==m&&a.mark.eq(f[b])?a.to=g:o.push(a=new Vu(m,g,f[b])));i&&i.to==m?i.to=g:s.push(i=new Op(m,g,r))}}),o.forEach(l=>t.step(l)),s.forEach(l=>t.step(l))}function xtt(t,e,n,r){let o=[],s=0;t.doc.nodesBetween(e,n,(a,i)=>{if(!a.isInline)return;s++;let l=null;if(r instanceof hE){let u=a.marks,d;for(;d=r.isInSet(u);)(l||(l=[])).push(d),u=d.removeFromSet(u)}else r?r.isInSet(a.marks)&&(l=[r]):l=a.marks;if(l&&l.length){let u=Math.min(i+a.nodeSize,n);for(let d=0;d<l.length;d++){let f=l[d],m;for(let g=0;g<o.length;g++){let w=o[g];w.step==s-1&&f.eq(o[g].style)&&(m=w)}m?(m.to=u,m.step=s):o.push({style:f,from:Math.max(i,e),to:u,step:s})}}}),o.forEach(a=>t.step(new Vu(a.from,a.to,a.style)))}function tP(t,e,n,r=n.contentMatch,o=!0){let s=t.doc.nodeAt(e),a=[],i=e+1;for(let l=0;l<s.childCount;l++){let u=s.child(l),d=i+u.nodeSize,f=r.matchType(u.type);if(!f)a.push(new Rs(i,d,tn.empty));else{r=f;for(let m=0;m<u.marks.length;m++)n.allowsMarkType(u.marks[m].type)||t.step(new Vu(i,d,u.marks[m]));if(o&&u.isText&&n.whitespace!="pre"){let m,g=/\r?\n|\r/g,w;for(;m=g.exec(u.text);)w||(w=new tn(Mt.from(n.schema.text(" ",n.allowedMarks(u.marks))),0,0)),a.push(new Rs(i+m.index,i+m.index+m[0].length,w))}}i=d}if(!r.validEnd){let l=r.fillBefore(Mt.empty,!0);t.replace(i,i,new tn(l,0,0))}for(let l=a.length-1;l>=0;l--)t.step(a[l])}function ktt(t,e,n){return(e==0||t.canReplace(e,t.childCount))&&(n==t.childCount||t.canReplace(0,n))}function cv(t){let n=t.parent.content.cutByIndex(t.startIndex,t.endIndex);for(let r=t.depth;;--r){let o=t.$from.node(r),s=t.$from.index(r),a=t.$to.indexAfter(r);if(r<t.depth&&o.canReplace(s,a,n))return r;if(r==0||o.type.spec.isolating||!ktt(o,s,a))break}return null}function jtt(t,e,n){let{$from:r,$to:o,depth:s}=e,a=r.before(s+1),i=o.after(s+1),l=a,u=i,d=Mt.empty,f=0;for(let w=s,b=!1;w>n;w--)b||r.index(w)>0?(b=!0,d=Mt.from(r.node(w).copy(d)),f++):l--;let m=Mt.empty,g=0;for(let w=s,b=!1;w>n;w--)b||o.after(w+1)<o.end(w)?(b=!0,m=Mt.from(o.node(w).copy(m)),g++):u++;t.step(new Ps(l,u,a,i,new tn(d.append(m),f,g),d.size-f,!0))}function Ype(t,e,n=null,r=t){let o=Ctt(t,e),s=o&&Stt(r,e);return s?o.map(Eq).concat({type:e,attrs:n}).concat(s.map(Eq)):null}function Eq(t){return{type:t,attrs:null}}function Ctt(t,e){let{parent:n,startIndex:r,endIndex:o}=t,s=n.contentMatchAt(r).findWrapping(e);if(!s)return null;let a=s.length?s[0]:e;return n.canReplaceWith(r,o,a)?s:null}function Stt(t,e){let{parent:n,startIndex:r,endIndex:o}=t,s=n.child(r),a=e.contentMatch.findWrapping(s.type);if(!a)return null;let l=(a.length?a[a.length-1]:e).contentMatch;for(let u=r;l&&u<o;u++)l=l.matchType(n.child(u).type);return!l||!l.validEnd?null:a}function Ett(t,e,n){let r=Mt.empty;for(let a=n.length-1;a>=0;a--){if(r.size){let i=n[a].type.contentMatch.matchFragment(r);if(!i||!i.validEnd)throw new RangeError("Wrapper type given to Transform.wrap does not form valid content of its parent wrapper")}r=Mt.from(n[a].type.create(n[a].attrs,r))}let o=e.start,s=e.end;t.step(new Ps(o,s,o,s,new tn(r,0,0),n.length,!0))}function Ntt(t,e,n,r,o){if(!r.isTextblock)throw new RangeError("Type given to setBlockType should be a textblock");let s=t.steps.length;t.doc.nodesBetween(e,n,(a,i)=>{let l=typeof o=="function"?o(a):o;if(a.isTextblock&&!a.hasMarkup(r,l)&&Itt(t.doc,t.mapping.slice(s).map(i),r)){let u=null;if(r.schema.linebreakReplacement){let g=r.whitespace=="pre",w=!!r.contentMatch.matchType(r.schema.linebreakReplacement);g&&!w?u=!1:!g&&w&&(u=!0)}u===!1&&qpe(t,a,i,s),tP(t,t.mapping.slice(s).map(i,1),r,void 0,u===null);let d=t.mapping.slice(s),f=d.map(i,1),m=d.map(i+a.nodeSize,1);return t.step(new Ps(f,m,f+1,m-1,new tn(Mt.from(r.create(l,null,a.marks)),0,0),1,!0)),u===!0&&Gpe(t,a,i,s),!1}})}function Gpe(t,e,n,r){e.forEach((o,s)=>{if(o.isText){let a,i=/\r?\n|\r/g;for(;a=i.exec(o.text);){let l=t.mapping.slice(r).map(n+1+s+a.index);t.replaceWith(l,l+1,e.type.schema.linebreakReplacement.create())}}})}function qpe(t,e,n,r){e.forEach((o,s)=>{if(o.type==o.type.schema.linebreakReplacement){let a=t.mapping.slice(r).map(n+1+s);t.replaceWith(a,a+1,e.type.schema.text(`
2106 `))}})}function Itt(t,e,n){let r=t.resolve(e),o=r.index();return r.parent.canReplaceWith(o,o+1,n)}function Att(t,e,n,r,o){let s=t.doc.nodeAt(e);if(!s)throw new RangeError("No node at given position");n||(n=s.type);let a=n.create(r,null,o||s.marks);if(s.isLeaf)return t.replaceWith(e,e+s.nodeSize,a);if(!n.validContent(s.content))throw new RangeError("Invalid content for node type "+n.name);t.step(new Ps(e,e+s.nodeSize,e+1,e+s.nodeSize-1,new tn(Mt.from(a),0,0),1,!0))}function rd(t,e,n=1,r){let o=t.resolve(e),s=o.depth-n,a=r&&r[r.length-1]||o.parent;if(s<0||o.parent.type.spec.isolating||!o.parent.canReplace(o.index(),o.parent.childCount)||!a.type.validContent(o.parent.content.cutByIndex(o.index(),o.parent.childCount)))return!1;for(let u=o.depth-1,d=n-2;u>s;u--,d--){let f=o.node(u),m=o.index(u);if(f.type.spec.isolating)return!1;let g=f.content.cutByIndex(m,f.childCount),w=r&&r[d+1];w&&(g=g.replaceChild(0,w.type.create(w.attrs)));let b=r&&r[d]||f;if(!f.canReplace(m+1,f.childCount)||!b.type.validContent(g))return!1}let i=o.indexAfter(s),l=r&&r[0];return o.node(s).canReplaceWith(i,i,l?l.type:o.node(s+1).type)}function _tt(t,e,n=1,r){let o=t.doc.resolve(e),s=Mt.empty,a=Mt.empty;for(let i=o.depth,l=o.depth-n,u=n-1;i>l;i--,u--){s=Mt.from(o.node(i).copy(s));let d=r&&r[u];a=Mt.from(d?d.type.create(d.attrs,a):o.node(i).copy(a))}t.step(new Rs(e,e,new tn(s.append(a),n,n),!0))}function n1(t,e){let n=t.resolve(e),r=n.index();return Kpe(n.nodeBefore,n.nodeAfter)&&n.parent.canReplace(r,r+1)}function Mtt(t,e){e.content.size||t.type.compatibleContent(e.type);let n=t.contentMatchAt(t.childCount),{linebreakReplacement:r}=t.type.schema;for(let o=0;o<e.childCount;o++){let s=e.child(o),a=s.type==r?t.type.schema.nodes.text:s.type;if(n=n.matchType(a),!n||!t.type.allowsMarks(s.marks))return!1}return n.validEnd}function Kpe(t,e){return!!(t&&e&&!t.isLeaf&&Mtt(t,e))}function mE(t,e,n=-1){let r=t.resolve(e);for(let o=r.depth;;o--){let s,a,i=r.index(o);if(o==r.depth?(s=r.nodeBefore,a=r.nodeAfter):n>0?(s=r.node(o+1),i++,a=r.node(o).maybeChild(i)):(s=r.node(o).maybeChild(i-1),a=r.node(o+1)),s&&!s.isTextblock&&Kpe(s,a)&&r.node(o).canReplace(i,i+1))return e;if(o==0)break;e=n<0?r.before(o):r.after(o)}}function Rtt(t,e,n){let r=null,{linebreakReplacement:o}=t.doc.type.schema,s=t.doc.resolve(e-n),a=s.node().type;if(o&&a.inlineContent){let d=a.whitespace=="pre",f=!!a.contentMatch.matchType(o);d&&!f?r=!1:!d&&f&&(r=!0)}let i=t.steps.length;if(r===!1){let d=t.doc.resolve(e+n);qpe(t,d.node(),d.before(),i)}a.inlineContent&&tP(t,e+n-1,a,s.node().contentMatchAt(s.index()),r==null);let l=t.mapping.slice(i),u=l.map(e-n);if(t.step(new Rs(u,l.map(e+n,-1),tn.empty,!0)),r===!0){let d=t.doc.resolve(u);Gpe(t,d.node(),d.before(),t.steps.length)}return t}function Ttt(t,e,n){let r=t.resolve(e);if(r.parent.canReplaceWith(r.index(),r.index(),n))return e;if(r.parentOffset==0)for(let o=r.depth-1;o>=0;o--){let s=r.index(o);if(r.node(o).canReplaceWith(s,s,n))return r.before(o+1);if(s>0)return null}if(r.parentOffset==r.parent.content.size)for(let o=r.depth-1;o>=0;o--){let s=r.indexAfter(o);if(r.node(o).canReplaceWith(s,s,n))return r.after(o+1);if(s<r.node(o).childCount)return null}return null}function Dtt(t,e,n){let r=t.resolve(e);if(!n.content.size)return e;let o=n.content;for(let s=0;s<n.openStart;s++)o=o.firstChild.content;for(let s=1;s<=(n.openStart==0&&n.size?2:1);s++)for(let a=r.depth;a>=0;a--){let i=a==r.depth?0:r.pos<=(r.start(a+1)+r.end(a+1))/2?-1:1,l=r.index(a)+(i>0?1:0),u=r.node(a),d=!1;if(s==1)d=u.canReplace(l,l,o);else{let f=u.contentMatchAt(l).findWrapping(o.firstChild.type);d=f&&u.canReplaceWith(l,l,f[0])}if(d)return i==0?r.pos:i<0?r.before(a+1):r.after(a+1)}return null}function gE(t,e,n=e,r=tn.empty){if(e==n&&!r.size)return null;let o=t.resolve(e),s=t.resolve(n);return Zpe(o,s,r)?new Rs(e,n,r):new Ltt(o,s,r).fit()}function Zpe(t,e,n){return!n.openStart&&!n.openEnd&&t.start()==e.start()&&t.parent.canReplace(t.index(),e.index(),n.content)}class Ltt{constructor(e,n,r){this.$from=e,this.$to=n,this.unplaced=r,this.frontier=[],this.placed=Mt.empty;for(let o=0;o<=e.depth;o++){let s=e.node(o);this.frontier.push({type:s.type,match:s.contentMatchAt(e.indexAfter(o))})}for(let o=e.depth;o>0;o--)this.placed=Mt.from(e.node(o).copy(this.placed))}get depth(){return this.frontier.length-1}fit(){for(;this.unplaced.size;){let u=this.findFittable();u?this.placeNodes(u):this.openMore()||this.dropNode()}let e=this.mustMoveInline(),n=this.placed.size-this.depth-this.$from.depth,r=this.$from,o=this.close(e<0?this.$to:r.doc.resolve(e));if(!o)return null;let s=this.placed,a=r.depth,i=o.depth;for(;a&&i&&s.childCount==1;)s=s.firstChild.content,a--,i--;let l=new tn(s,a,i);return e>-1?new Ps(r.pos,e,this.$to.pos,this.$to.end(),l,n):l.size||r.pos!=this.$to.pos?new Rs(r.pos,o.pos,l):null}findFittable(){let e=this.unplaced.openStart;for(let n=this.unplaced.content,r=0,o=this.unplaced.openEnd;r<e;r++){let s=n.firstChild;if(n.childCount>1&&(o=0),s.type.spec.isolating&&o<=r){e=r;break}n=s.content}for(let n=1;n<=2;n++)for(let r=n==1?e:this.unplaced.openStart;r>=0;r--){let o,s=null;r?(s=YA(this.unplaced.content,r-1).firstChild,o=s.content):o=this.unplaced.content;let a=o.firstChild;for(let i=this.depth;i>=0;i--){let{type:l,match:u}=this.frontier[i],d,f=null;if(n==1&&(a?u.matchType(a.type)||(f=u.fillBefore(Mt.from(a),!1)):s&&l.compatibleContent(s.type)))return{sliceDepth:r,frontierDepth:i,parent:s,inject:f};if(n==2&&a&&(d=u.findWrapping(a.type)))return{sliceDepth:r,frontierDepth:i,parent:s,wrap:d};if(s&&u.matchType(s.type))break}}}openMore(){let{content:e,openStart:n,openEnd:r}=this.unplaced,o=YA(e,n);return!o.childCount||o.firstChild.isLeaf?!1:(this.unplaced=new tn(e,n+1,Math.max(r,o.size+n>=e.size-r?n+1:0)),!0)}dropNode(){let{content:e,openStart:n,openEnd:r}=this.unplaced,o=YA(e,n);if(o.childCount<=1&&n>0){let s=e.size-n<=n+o.size;this.unplaced=new tn(Ow(e,n-1,1),n-1,s?n-1:r)}else this.unplaced=new tn(Ow(e,n,1),n,r)}placeNodes({sliceDepth:e,frontierDepth:n,parent:r,inject:o,wrap:s}){for(;this.depth>n;)this.closeFrontierNode();if(s)for(let b=0;b<s.length;b++)this.openFrontierNode(s[b]);let a=this.unplaced,i=r?r.content:a.content,l=a.openStart-e,u=0,d=[],{match:f,type:m}=this.frontier[n];if(o){for(let b=0;b<o.childCount;b++)d.push(o.child(b));f=f.matchFragment(o)}let g=i.size+e-(a.content.size-a.openEnd);for(;u<i.childCount;){let b=i.child(u),j=f.matchType(b.type);if(!j)break;u++,(u>1||l==0||b.content.size)&&(f=j,d.push(Qpe(b.mark(m.allowedMarks(b.marks)),u==1?l:0,u==i.childCount?g:-1)))}let w=u==i.childCount;w||(g=-1),this.placed=zw(this.placed,n,Mt.from(d)),this.frontier[n].match=f,w&&g<0&&r&&r.type==this.frontier[this.depth].type&&this.frontier.length>1&&this.closeFrontierNode();for(let b=0,j=i;b<g;b++){let S=j.lastChild;this.frontier.push({type:S.type,match:S.contentMatchAt(S.childCount)}),j=S.content}this.unplaced=w?e==0?tn.empty:new tn(Ow(a.content,e-1,1),e-1,g<0?a.openEnd:e-1):new tn(Ow(a.content,e,u),a.openStart,a.openEnd)}mustMoveInline(){if(!this.$to.parent.isTextblock)return-1;let e=this.frontier[this.depth],n;if(!e.type.isTextblock||!GA(this.$to,this.$to.depth,e.type,e.match,!1)||this.$to.depth==this.depth&&(n=this.findCloseLevel(this.$to))&&n.depth==this.depth)return-1;let{depth:r}=this.$to,o=this.$to.after(r);for(;r>1&&o==this.$to.end(--r);)++o;return o}findCloseLevel(e){e:for(let n=Math.min(this.depth,e.depth);n>=0;n--){let{match:r,type:o}=this.frontier[n],s=n<e.depth&&e.end(n+1)==e.pos+(e.depth-(n+1)),a=GA(e,n,o,r,s);if(a){for(let i=n-1;i>=0;i--){let{match:l,type:u}=this.frontier[i],d=GA(e,i,u,l,!0);if(!d||d.childCount)continue e}return{depth:n,fit:a,move:s?e.doc.resolve(e.after(n+1)):e}}}}close(e){let n=this.findCloseLevel(e);if(!n)return null;for(;this.depth>n.depth;)this.closeFrontierNode();n.fit.childCount&&(this.placed=zw(this.placed,n.depth,n.fit)),e=n.move;for(let r=n.depth+1;r<=e.depth;r++){let o=e.node(r),s=o.type.contentMatch.fillBefore(o.content,!0,e.index(r));this.openFrontierNode(o.type,o.attrs,s)}return e}openFrontierNode(e,n=null,r){let o=this.frontier[this.depth];o.match=o.match.matchType(e),this.placed=zw(this.placed,this.depth,Mt.from(e.create(n,r))),this.frontier.push({type:e,match:e.contentMatch})}closeFrontierNode(){let n=this.frontier.pop().match.fillBefore(Mt.empty,!0);n.childCount&&(this.placed=zw(this.placed,this.frontier.length,n))}}function Ow(t,e,n){return e==0?t.cutByIndex(n,t.childCount):t.replaceChild(0,t.firstChild.copy(Ow(t.firstChild.content,e-1,n)))}function zw(t,e,n){return e==0?t.append(n):t.replaceChild(t.childCount-1,t.lastChild.copy(zw(t.lastChild.content,e-1,n)))}function YA(t,e){for(let n=0;n<e;n++)t=t.firstChild.content;return t}function Qpe(t,e,n){if(e<=0)return t;let r=t.content;return e>1&&(r=r.replaceChild(0,Qpe(r.firstChild,e-1,r.childCount==1?n-1:0))),e>0&&(r=t.type.contentMatch.fillBefore(r).append(r),n<=0&&(r=r.append(t.type.contentMatch.matchFragment(r).fillBefore(Mt.empty,!0)))),t.copy(r)}function GA(t,e,n,r,o){let s=t.node(e),a=o?t.indexAfter(e):t.index(e);if(a==s.childCount&&!n.compatibleContent(s.type))return null;let i=r.fillBefore(s.content,!0,a);return i&&!Ptt(n,s.content,a)?i:null}function Ptt(t,e,n){for(let r=n;r<e.childCount;r++)if(!t.allowsMarks(e.child(r).marks))return!0;return!1}function Ott(t){return t.spec.defining||t.spec.definingForContent}function ztt(t,e,n,r){if(!r.size)return t.deleteRange(e,n);let o=t.doc.resolve(e),s=t.doc.resolve(n);if(Zpe(o,s,r))return t.step(new Rs(e,n,r));let a=Xpe(o,t.doc.resolve(n));a[a.length-1]==0&&a.pop();let i=-(o.depth+1);a.unshift(i);for(let m=o.depth,g=o.pos-1;m>0;m--,g--){let w=o.node(m).type.spec;if(w.defining||w.definingAsContext||w.isolating)break;a.indexOf(m)>-1?i=m:o.before(m)==g&&a.splice(1,0,-m)}let l=a.indexOf(i),u=[],d=r.openStart;for(let m=r.content,g=0;;g++){let w=m.firstChild;if(u.push(w),g==r.openStart)break;m=w.content}for(let m=d-1;m>=0;m--){let g=u[m],w=Ott(g.type);if(w&&!g.sameMarkup(o.node(Math.abs(i)-1)))d=m;else if(w||!g.type.isTextblock)break}for(let m=r.openStart;m>=0;m--){let g=(m+d+1)%(r.openStart+1),w=u[g];if(w)for(let b=0;b<a.length;b++){let j=a[(b+l)%a.length],S=!0;j<0&&(S=!1,j=-j);let I=o.node(j-1),N=o.index(j-1);if(I.canReplaceWith(N,N,w.type,w.marks))return t.replace(o.before(j),S?s.after(j):n,new tn(Jpe(r.content,0,r.openStart,g),g,r.openEnd))}}let f=t.steps.length;for(let m=a.length-1;m>=0&&(t.replace(e,n,r),!(t.steps.length>f));m--){let g=a[m];g<0||(e=o.before(g),n=s.after(g))}}function Jpe(t,e,n,r,o){if(e<n){let s=t.firstChild;t=t.replaceChild(0,s.copy(Jpe(s.content,e+1,n,r,s)))}if(e>r){let s=o.contentMatchAt(0),a=s.fillBefore(t).append(t);t=a.append(s.matchFragment(a).fillBefore(Mt.empty,!0))}return t}function Ftt(t,e,n,r){if(!r.isInline&&e==n&&t.doc.resolve(e).parent.content.size){let o=Ttt(t.doc,e,r.type);o!=null&&(e=n=o)}t.replaceRange(e,n,new tn(Mt.from(r),0,0))}function Btt(t,e,n){let r=t.doc.resolve(e),o=t.doc.resolve(n),s=Xpe(r,o);for(let a=0;a<s.length;a++){let i=s[a],l=a==s.length-1;if(l&&i==0||r.node(i).type.contentMatch.validEnd)return t.delete(r.start(i),o.end(i));if(i>0&&(l||r.node(i-1).canReplace(r.index(i-1),o.indexAfter(i-1))))return t.delete(r.before(i),o.after(i))}for(let a=1;a<=r.depth&&a<=o.depth;a++)if(e-r.start(a)==r.depth-a&&n>r.end(a)&&o.end(a)-n!=o.depth-a&&r.start(a-1)==o.start(a-1)&&r.node(a-1).canReplace(r.index(a-1),o.index(a-1)))return t.delete(r.before(a),n);t.delete(e,n)}function Xpe(t,e){let n=[],r=Math.min(t.depth,e.depth);for(let o=r;o>=0;o--){let s=t.start(o);if(s<t.pos-(t.depth-o)||e.end(o)>e.pos+(e.depth-o)||t.node(o).type.spec.isolating||e.node(o).type.spec.isolating)break;(s==e.start(o)||o==t.depth&&o==e.depth&&t.parent.inlineContent&&e.parent.inlineContent&&o&&e.start(o-1)==s-1)&&n.push(o)}return n}class q0 extends Ba{constructor(e,n,r){super(),this.pos=e,this.attr=n,this.value=r}apply(e){let n=e.nodeAt(this.pos);if(!n)return Xo.fail("No node at attribute step's position");let r=Object.create(null);for(let s in n.attrs)r[s]=n.attrs[s];r[this.attr]=this.value;let o=n.type.create(r,null,n.marks);return Xo.fromReplace(e,this.pos,this.pos+1,new tn(Mt.from(o),0,n.isLeaf?0:1))}getMap(){return tl.empty}invert(e){return new q0(this.pos,this.attr,e.nodeAt(this.pos).attrs[this.attr])}map(e){let n=e.mapResult(this.pos,1);return n.deletedAfter?null:new q0(n.pos,this.attr,this.value)}toJSON(){return{stepType:"attr",pos:this.pos,attr:this.attr,value:this.value}}static fromJSON(e,n){if(typeof n.pos!="number"||typeof n.attr!="string")throw new RangeError("Invalid input for AttrStep.fromJSON");return new q0(n.pos,n.attr,n.value)}}Ba.jsonID("attr",q0);class g2 extends Ba{constructor(e,n){super(),this.attr=e,this.value=n}apply(e){let n=Object.create(null);for(let o in e.attrs)n[o]=e.attrs[o];n[this.attr]=this.value;let r=e.type.create(n,e.content,e.marks);return Xo.ok(r)}getMap(){return tl.empty}invert(e){return new g2(this.attr,e.attrs[this.attr])}map(e){return this}toJSON(){return{stepType:"docAttr",attr:this.attr,value:this.value}}static fromJSON(e,n){if(typeof n.attr!="string")throw new RangeError("Invalid input for DocAttrStep.fromJSON");return new g2(n.attr,n.value)}}Ba.jsonID("docAttr",g2);let Cy=class extends Error{};Cy=function t(e){let n=Error.call(this,e);return n.__proto__=t.prototype,n};Cy.prototype=Object.create(Error.prototype);Cy.prototype.constructor=Cy;Cy.prototype.name="TransformError";class ehe{constructor(e){this.doc=e,this.steps=[],this.docs=[],this.mapping=new m2}get before(){return this.docs.length?this.docs[0]:this.doc}step(e){let n=this.maybeStep(e);if(n.failed)throw new Cy(n.failed);return this}maybeStep(e){let n=e.apply(this.doc);return n.failed||this.addStep(e,n.doc),n}get docChanged(){return this.steps.length>0}addStep(e,n){this.docs.push(this.doc),this.steps.push(e),this.mapping.appendMap(e.getMap()),this.doc=n}replace(e,n=e,r=tn.empty){let o=gE(this.doc,e,n,r);return o&&this.step(o),this}replaceWith(e,n,r){return this.replace(e,n,new tn(Mt.from(r),0,0))}delete(e,n){return this.replace(e,n,tn.empty)}insert(e,n){return this.replaceWith(e,e,n)}replaceRange(e,n,r){return ztt(this,e,n,r),this}replaceRangeWith(e,n,r){return Ftt(this,e,n,r),this}deleteRange(e,n){return Btt(this,e,n),this}lift(e,n){return jtt(this,e,n),this}join(e,n=1){return Rtt(this,e,n),this}wrap(e,n){return Ett(this,e,n),this}setBlockType(e,n=e,r,o=null){return Ntt(this,e,n,r,o),this}setNodeMarkup(e,n,r=null,o){return Att(this,e,n,r,o),this}setNodeAttribute(e,n,r){return this.step(new q0(e,n,r)),this}setDocAttribute(e,n){return this.step(new g2(e,n)),this}addNodeMark(e,n){return this.step(new zp(e,n)),this}removeNodeMark(e,n){let r=this.doc.nodeAt(e);if(!r)throw new RangeError("No node at position "+e);if(n instanceof Ur)n.isInSet(r.marks)&&this.step(new Rg(e,n));else{let o=r.marks,s,a=[];for(;s=n.isInSet(o);)a.push(new Rg(e,s)),o=s.removeFromSet(o);for(let i=a.length-1;i>=0;i--)this.step(a[i])}return this}split(e,n=1,r){return _tt(this,e,n,r),this}addMark(e,n,r){return btt(this,e,n,r),this}removeMark(e,n,r){return xtt(this,e,n,r),this}clearIncompatible(e,n,r){return tP(this,e,n,r),this}}const qA=Object.create(null);class rr{constructor(e,n,r){this.$anchor=e,this.$head=n,this.ranges=r||[new Utt(e.min(n),e.max(n))]}get anchor(){return this.$anchor.pos}get head(){return this.$head.pos}get from(){return this.$from.pos}get to(){return this.$to.pos}get $from(){return this.ranges[0].$from}get $to(){return this.ranges[0].$to}get empty(){let e=this.ranges;for(let n=0;n<e.length;n++)if(e[n].$from.pos!=e[n].$to.pos)return!1;return!0}content(){return this.$from.doc.slice(this.from,this.to,!0)}replace(e,n=tn.empty){let r=n.content.lastChild,o=null;for(let i=0;i<n.openEnd;i++)o=r,r=r.lastChild;let s=e.steps.length,a=this.ranges;for(let i=0;i<a.length;i++){let{$from:l,$to:u}=a[i],d=e.mapping.slice(s);e.replaceRange(d.map(l.pos),d.map(u.pos),i?tn.empty:n),i==0&&Aq(e,s,(r?r.isInline:o&&o.isTextblock)?-1:1)}}replaceWith(e,n){let r=e.steps.length,o=this.ranges;for(let s=0;s<o.length;s++){let{$from:a,$to:i}=o[s],l=e.mapping.slice(r),u=l.map(a.pos),d=l.map(i.pos);s?e.deleteRange(u,d):(e.replaceRangeWith(u,d,n),Aq(e,r,n.isInline?-1:1))}}static findFrom(e,n,r=!1){let o=e.parent.inlineContent?new Hn(e):u0(e.node(0),e.parent,e.pos,e.index(),n,r);if(o)return o;for(let s=e.depth-1;s>=0;s--){let a=n<0?u0(e.node(0),e.node(s),e.before(s+1),e.index(s),n,r):u0(e.node(0),e.node(s),e.after(s+1),e.index(s)+1,n,r);if(a)return a}return null}static near(e,n=1){return this.findFrom(e,n)||this.findFrom(e,-n)||new dl(e.node(0))}static atStart(e){return u0(e,e,0,0,1)||new dl(e)}static atEnd(e){return u0(e,e,e.content.size,e.childCount,-1)||new dl(e)}static fromJSON(e,n){if(!n||!n.type)throw new RangeError("Invalid input for Selection.fromJSON");let r=qA[n.type];if(!r)throw new RangeError(`No selection type ${n.type} defined`);return r.fromJSON(e,n)}static jsonID(e,n){if(e in qA)throw new RangeError("Duplicate use of selection JSON ID "+e);return qA[e]=n,n.prototype.jsonID=e,n}getBookmark(){return Hn.between(this.$anchor,this.$head).getBookmark()}}rr.prototype.visible=!0;class Utt{constructor(e,n){this.$from=e,this.$to=n}}let Nq=!1;function Iq(t){!Nq&&!t.parent.inlineContent&&(Nq=!0,console.warn("TextSelection endpoint not pointing into a node with inline content ("+t.parent.type.name+")"))}class Hn extends rr{constructor(e,n=e){Iq(e),Iq(n),super(e,n)}get $cursor(){return this.$anchor.pos==this.$head.pos?this.$head:null}map(e,n){let r=e.resolve(n.map(this.head));if(!r.parent.inlineContent)return rr.near(r);let o=e.resolve(n.map(this.anchor));return new Hn(o.parent.inlineContent?o:r,r)}replace(e,n=tn.empty){if(super.replace(e,n),n==tn.empty){let r=this.$from.marksAcross(this.$to);r&&e.ensureMarks(r)}}eq(e){return e instanceof Hn&&e.anchor==this.anchor&&e.head==this.head}getBookmark(){return new yE(this.anchor,this.head)}toJSON(){return{type:"text",anchor:this.anchor,head:this.head}}static fromJSON(e,n){if(typeof n.anchor!="number"||typeof n.head!="number")throw new RangeError("Invalid input for TextSelection.fromJSON");return new Hn(e.resolve(n.anchor),e.resolve(n.head))}static create(e,n,r=n){let o=e.resolve(n);return new this(o,r==n?o:e.resolve(r))}static between(e,n,r){let o=e.pos-n.pos;if((!r||o)&&(r=o>=0?1:-1),!n.parent.inlineContent){let s=rr.findFrom(n,r,!0)||rr.findFrom(n,-r,!0);if(s)n=s.$head;else return rr.near(n,r)}return e.parent.inlineContent||(o==0?e=n:(e=(rr.findFrom(e,-r,!0)||rr.findFrom(e,r,!0)).$anchor,e.pos<n.pos!=o<0&&(e=n))),new Hn(e,n)}}rr.jsonID("text",Hn);class yE{constructor(e,n){this.anchor=e,this.head=n}map(e){return new yE(e.map(this.anchor),e.map(this.head))}resolve(e){return Hn.between(e.resolve(this.anchor),e.resolve(this.head))}}class Sn extends rr{constructor(e){let n=e.nodeAfter,r=e.node(0).resolve(e.pos+n.nodeSize);super(e,r),this.node=n}map(e,n){let{deleted:r,pos:o}=n.mapResult(this.anchor),s=e.resolve(o);return r?rr.near(s):new Sn(s)}content(){return new tn(Mt.from(this.node),0,0)}eq(e){return e instanceof Sn&&e.anchor==this.anchor}toJSON(){return{type:"node",anchor:this.anchor}}getBookmark(){return new nP(this.anchor)}static fromJSON(e,n){if(typeof n.anchor!="number")throw new RangeError("Invalid input for NodeSelection.fromJSON");return new Sn(e.resolve(n.anchor))}static create(e,n){return new Sn(e.resolve(n))}static isSelectable(e){return!e.isText&&e.type.spec.selectable!==!1}}Sn.prototype.visible=!1;rr.jsonID("node",Sn);class nP{constructor(e){this.anchor=e}map(e){let{deleted:n,pos:r}=e.mapResult(this.anchor);return n?new yE(r,r):new nP(r)}resolve(e){let n=e.resolve(this.anchor),r=n.nodeAfter;return r&&Sn.isSelectable(r)?new Sn(n):rr.near(n)}}class dl extends rr{constructor(e){super(e.resolve(0),e.resolve(e.content.size))}replace(e,n=tn.empty){if(n==tn.empty){e.delete(0,e.doc.content.size);let r=rr.atStart(e.doc);r.eq(e.selection)||e.setSelection(r)}else super.replace(e,n)}toJSON(){return{type:"all"}}static fromJSON(e){return new dl(e)}map(e){return new dl(e)}eq(e){return e instanceof dl}getBookmark(){return $tt}}rr.jsonID("all",dl);const $tt={map(){return this},resolve(t){return new dl(t)}};function u0(t,e,n,r,o,s=!1){if(e.inlineContent)return Hn.create(t,n);for(let a=r-(o>0?0:1);o>0?a<e.childCount:a>=0;a+=o){let i=e.child(a);if(i.isAtom){if(!s&&Sn.isSelectable(i))return Sn.create(t,n-(o<0?i.nodeSize:0))}else{let l=u0(t,i,n+o,o<0?i.childCount:0,o,s);if(l)return l}n+=i.nodeSize*o}return null}function Aq(t,e,n){let r=t.steps.length-1;if(r<e)return;let o=t.steps[r];if(!(o instanceof Rs||o instanceof Ps))return;let s=t.mapping.maps[r],a;s.forEach((i,l,u,d)=>{a==null&&(a=d)}),t.setSelection(rr.near(t.doc.resolve(a),n))}const _q=1,Z6=2,Mq=4;class Vtt extends ehe{constructor(e){super(e.doc),this.curSelectionFor=0,this.updated=0,this.meta=Object.create(null),this.time=Date.now(),this.curSelection=e.selection,this.storedMarks=e.storedMarks}get selection(){return this.curSelectionFor<this.steps.length&&(this.curSelection=this.curSelection.map(this.doc,this.mapping.slice(this.curSelectionFor)),this.curSelectionFor=this.steps.length),this.curSelection}setSelection(e){if(e.$from.doc!=this.doc)throw new RangeError("Selection passed to setSelection must point at the current document");return this.curSelection=e,this.curSelectionFor=this.steps.length,this.updated=(this.updated|_q)&~Z6,this.storedMarks=null,this}get selectionSet(){return(this.updated&_q)>0}setStoredMarks(e){return this.storedMarks=e,this.updated|=Z6,this}ensureMarks(e){return Ur.sameSet(this.storedMarks||this.selection.$from.marks(),e)||this.setStoredMarks(e),this}addStoredMark(e){return this.ensureMarks(e.addToSet(this.storedMarks||this.selection.$head.marks()))}removeStoredMark(e){return this.ensureMarks(e.removeFromSet(this.storedMarks||this.selection.$head.marks()))}get storedMarksSet(){return(this.updated&Z6)>0}addStep(e,n){super.addStep(e,n),this.updated=this.updated&~Z6,this.storedMarks=null}setTime(e){return this.time=e,this}replaceSelection(e){return this.selection.replace(this,e),this}replaceSelectionWith(e,n=!0){let r=this.selection;return n&&(e=e.mark(this.storedMarks||(r.empty?r.$from.marks():r.$from.marksAcross(r.$to)||Ur.none))),r.replaceWith(this,e),this}deleteSelection(){return this.selection.replace(this),this}insertText(e,n,r){let o=this.doc.type.schema;if(n==null)return e?this.replaceSelectionWith(o.text(e),!0):this.deleteSelection();{if(r==null&&(r=n),r=r??n,!e)return this.deleteRange(n,r);let s=this.storedMarks;if(!s){let a=this.doc.resolve(n);s=r==n?a.marks():a.marksAcross(this.doc.resolve(r))}return this.replaceRangeWith(n,r,o.text(e,s)),this.selection.empty||this.setSelection(rr.near(this.selection.$to)),this}}setMeta(e,n){return this.meta[typeof e=="string"?e:e.key]=n,this}getMeta(e){return this.meta[typeof e=="string"?e:e.key]}get isGeneric(){for(let e in this.meta)return!1;return!0}scrollIntoView(){return this.updated|=Mq,this}get scrolledIntoView(){return(this.updated&Mq)>0}}function Rq(t,e){return!e||!t?t:t.bind(e)}class Fw{constructor(e,n,r){this.name=e,this.init=Rq(n.init,r),this.apply=Rq(n.apply,r)}}const Htt=[new Fw("doc",{init(t){return t.doc||t.schema.topNodeType.createAndFill()},apply(t){return t.doc}}),new Fw("selection",{init(t,e){return t.selection||rr.atStart(e.doc)},apply(t){return t.selection}}),new Fw("storedMarks",{init(t){return t.storedMarks||null},apply(t,e,n,r){return r.selection.$cursor?t.storedMarks:null}}),new Fw("scrollToSelection",{init(){return 0},apply(t,e){return t.scrolledIntoView?e+1:e}})];class KA{constructor(e,n){this.schema=e,this.plugins=[],this.pluginsByKey=Object.create(null),this.fields=Htt.slice(),n&&n.forEach(r=>{if(this.pluginsByKey[r.key])throw new RangeError("Adding different instances of a keyed plugin ("+r.key+")");this.plugins.push(r),this.pluginsByKey[r.key]=r,r.spec.state&&this.fields.push(new Fw(r.key,r.spec.state,r))})}}class y0{constructor(e){this.config=e}get schema(){return this.config.schema}get plugins(){return this.config.plugins}apply(e){return this.applyTransaction(e).state}filterTransaction(e,n=-1){for(let r=0;r<this.config.plugins.length;r++)if(r!=n){let o=this.config.plugins[r];if(o.spec.filterTransaction&&!o.spec.filterTransaction.call(o,e,this))return!1}return!0}applyTransaction(e){if(!this.filterTransaction(e))return{state:this,transactions:[]};let n=[e],r=this.applyInner(e),o=null;for(;;){let s=!1;for(let a=0;a<this.config.plugins.length;a++){let i=this.config.plugins[a];if(i.spec.appendTransaction){let l=o?o[a].n:0,u=o?o[a].state:this,d=l<n.length&&i.spec.appendTransaction.call(i,l?n.slice(l):n,u,r);if(d&&r.filterTransaction(d,a)){if(d.setMeta("appendedTransaction",e),!o){o=[];for(let f=0;f<this.config.plugins.length;f++)o.push(f<a?{state:r,n:n.length}:{state:this,n:0})}n.push(d),r=r.applyInner(d),s=!0}o&&(o[a]={state:r,n:n.length})}}if(!s)return{state:r,transactions:n}}}applyInner(e){if(!e.before.eq(this.doc))throw new RangeError("Applying a mismatched transaction");let n=new y0(this.config),r=this.config.fields;for(let o=0;o<r.length;o++){let s=r[o];n[s.name]=s.apply(e,this[s.name],this,n)}return n}get tr(){return new Vtt(this)}static create(e){let n=new KA(e.doc?e.doc.type.schema:e.schema,e.plugins),r=new y0(n);for(let o=0;o<n.fields.length;o++)r[n.fields[o].name]=n.fields[o].init(e,r);return r}reconfigure(e){let n=new KA(this.schema,e.plugins),r=n.fields,o=new y0(n);for(let s=0;s<r.length;s++){let a=r[s].name;o[a]=this.hasOwnProperty(a)?this[a]:r[s].init(e,o)}return o}toJSON(e){let n={doc:this.doc.toJSON(),selection:this.selection.toJSON()};if(this.storedMarks&&(n.storedMarks=this.storedMarks.map(r=>r.toJSON())),e&&typeof e=="object")for(let r in e){if(r=="doc"||r=="selection")throw new RangeError("The JSON fields `doc` and `selection` are reserved");let o=e[r],s=o.spec.state;s&&s.toJSON&&(n[r]=s.toJSON.call(o,this[o.key]))}return n}static fromJSON(e,n,r){if(!n)throw new RangeError("Invalid input for EditorState.fromJSON");if(!e.schema)throw new RangeError("Required config field 'schema' missing");let o=new KA(e.schema,e.plugins),s=new y0(o);return o.fields.forEach(a=>{if(a.name=="doc")s.doc=Gp.fromJSON(e.schema,n.doc);else if(a.name=="selection")s.selection=rr.fromJSON(s.doc,n.selection);else if(a.name=="storedMarks")n.storedMarks&&(s.storedMarks=n.storedMarks.map(e.schema.markFromJSON));else{if(r)for(let i in r){let l=r[i],u=l.spec.state;if(l.key==a.name&&u&&u.fromJSON&&Object.prototype.hasOwnProperty.call(n,i)){s[a.name]=u.fromJSON.call(l,e,n[i],s);return}}s[a.name]=a.init(e,s)}}),s}}function the(t,e,n){for(let r in t){let o=t[r];o instanceof Function?o=o.bind(e):r=="handleDOMEvents"&&(o=the(o,e,{})),n[r]=o}return n}class ui{constructor(e){this.spec=e,this.props={},e.props&&the(e.props,this,this.props),this.key=e.key?e.key.key:nhe("plugin")}getState(e){return e[this.key]}}const ZA=Object.create(null);function nhe(t){return t in ZA?t+"$"+ ++ZA[t]:(ZA[t]=0,t+"$")}class Li{constructor(e="key"){this.key=nhe(e)}get(e){return e.config.pluginsByKey[this.key]}getState(e){return e[this.key]}}const sa=function(t){for(var e=0;;e++)if(t=t.previousSibling,!t)return e},Sy=function(t){let e=t.assignedSlot||t.parentNode;return e&&e.nodeType==11?e.host:e};let qM=null;const Hf=function(t,e,n){let r=qM||(qM=document.createRange());return r.setEnd(t,n??t.nodeValue.length),r.setStart(t,e||0),r},Wtt=function(){qM=null},Tg=function(t,e,n,r){return n&&(Tq(t,e,n,r,-1)||Tq(t,e,n,r,1))},Ytt=/^(img|br|input|textarea|hr)$/i;function Tq(t,e,n,r,o){for(;;){if(t==n&&e==r)return!0;if(e==(o<0?0:Bl(t))){let s=t.parentNode;if(!s||s.nodeType!=1||Nx(t)||Ytt.test(t.nodeName)||t.contentEditable=="false")return!1;e=sa(t)+(o<0?0:1),t=s}else if(t.nodeType==1){if(t=t.childNodes[e+(o<0?-1:0)],t.contentEditable=="false")return!1;e=o<0?Bl(t):0}else return!1}}function Bl(t){return t.nodeType==3?t.nodeValue.length:t.childNodes.length}function Gtt(t,e){for(;;){if(t.nodeType==3&&e)return t;if(t.nodeType==1&&e>0){if(t.contentEditable=="false")return null;t=t.childNodes[e-1],e=Bl(t)}else if(t.parentNode&&!Nx(t))e=sa(t),t=t.parentNode;else return null}}function qtt(t,e){for(;;){if(t.nodeType==3&&e<t.nodeValue.length)return t;if(t.nodeType==1&&e<t.childNodes.length){if(t.contentEditable=="false")return null;t=t.childNodes[e],e=0}else if(t.parentNode&&!Nx(t))e=sa(t)+1,t=t.parentNode;else return null}}function Ktt(t,e,n){for(let r=e==0,o=e==Bl(t);r||o;){if(t==n)return!0;let s=sa(t);if(t=t.parentNode,!t)return!1;r=r&&s==0,o=o&&s==Bl(t)}}function Nx(t){let e;for(let n=t;n&&!(e=n.pmViewDesc);n=n.parentNode);return e&&e.node&&e.node.isBlock&&(e.dom==t||e.contentDOM==t)}const vE=function(t){return t.focusNode&&Tg(t.focusNode,t.focusOffset,t.anchorNode,t.anchorOffset)};function Em(t,e){let n=document.createEvent("Event");return n.initEvent("keydown",!0,!0),n.keyCode=t,n.key=n.code=e,n}function Ztt(t){let e=t.activeElement;for(;e&&e.shadowRoot;)e=e.shadowRoot.activeElement;return e}function Qtt(t,e,n){if(t.caretPositionFromPoint)try{let r=t.caretPositionFromPoint(e,n);if(r)return{node:r.offsetNode,offset:Math.min(Bl(r.offsetNode),r.offset)}}catch{}if(t.caretRangeFromPoint){let r=t.caretRangeFromPoint(e,n);if(r)return{node:r.startContainer,offset:Math.min(Bl(r.startContainer),r.startOffset)}}}const ff=typeof navigator<"u"?navigator:null,Dq=typeof document<"u"?document:null,Th=ff&&ff.userAgent||"",KM=/Edge\/(\d+)/.exec(Th),rhe=/MSIE \d/.exec(Th),ZM=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(Th),Ei=!!(rhe||ZM||KM),qp=rhe?document.documentMode:ZM?+ZM[1]:KM?+KM[1]:0,iu=!Ei&&/gecko\/(\d+)/i.test(Th);iu&&+(/Firefox\/(\d+)/.exec(Th)||[0,0])[1];const QM=!Ei&&/Chrome\/(\d+)/.exec(Th),_a=!!QM,ohe=QM?+QM[1]:0,oi=!Ei&&!!ff&&/Apple Computer/.test(ff.vendor),Ey=oi&&(/Mobile\/\w+/.test(Th)||!!ff&&ff.maxTouchPoints>2),Pl=Ey||(ff?/Mac/.test(ff.platform):!1),Jtt=ff?/Win/.test(ff.platform):!1,ed=/Android \d/.test(Th),Ix=!!Dq&&"webkitFontSmoothing"in Dq.documentElement.style,Xtt=Ix?+(/\bAppleWebKit\/(\d+)/.exec(navigator.userAgent)||[0,0])[1]:0;function ent(t){let e=t.defaultView&&t.defaultView.visualViewport;return e?{left:0,right:e.width,top:0,bottom:e.height}:{left:0,right:t.documentElement.clientWidth,top:0,bottom:t.documentElement.clientHeight}}function Ff(t,e){return typeof t=="number"?t:t[e]}function tnt(t){let e=t.getBoundingClientRect(),n=e.width/t.offsetWidth||1,r=e.height/t.offsetHeight||1;return{left:e.left,right:e.left+t.clientWidth*n,top:e.top,bottom:e.top+t.clientHeight*r}}function Lq(t,e,n){let r=t.someProp("scrollThreshold")||0,o=t.someProp("scrollMargin")||5,s=t.dom.ownerDocument;for(let a=n||t.dom;a;){if(a.nodeType!=1){a=Sy(a);continue}let i=a,l=i==s.body,u=l?ent(s):tnt(i),d=0,f=0;if(e.top<u.top+Ff(r,"top")?f=-(u.top-e.top+Ff(o,"top")):e.bottom>u.bottom-Ff(r,"bottom")&&(f=e.bottom-e.top>u.bottom-u.top?e.top+Ff(o,"top")-u.top:e.bottom-u.bottom+Ff(o,"bottom")),e.left<u.left+Ff(r,"left")?d=-(u.left-e.left+Ff(o,"left")):e.right>u.right-Ff(r,"right")&&(d=e.right-u.right+Ff(o,"right")),d||f)if(l)s.defaultView.scrollBy(d,f);else{let g=i.scrollLeft,w=i.scrollTop;f&&(i.scrollTop+=f),d&&(i.scrollLeft+=d);let b=i.scrollLeft-g,j=i.scrollTop-w;e={left:e.left-b,top:e.top-j,right:e.right-b,bottom:e.bottom-j}}let m=l?"fixed":getComputedStyle(a).position;if(/^(fixed|sticky)$/.test(m))break;a=m=="absolute"?a.offsetParent:Sy(a)}}function nnt(t){let e=t.dom.getBoundingClientRect(),n=Math.max(0,e.top),r,o;for(let s=(e.left+e.right)/2,a=n+1;a<Math.min(innerHeight,e.bottom);a+=5){let i=t.root.elementFromPoint(s,a);if(!i||i==t.dom||!t.dom.contains(i))continue;let l=i.getBoundingClientRect();if(l.top>=n-20){r=i,o=l.top;break}}return{refDOM:r,refTop:o,stack:she(t.dom)}}function she(t){let e=[],n=t.ownerDocument;for(let r=t;r&&(e.push({dom:r,top:r.scrollTop,left:r.scrollLeft}),t!=n);r=Sy(r));return e}function rnt({refDOM:t,refTop:e,stack:n}){let r=t?t.getBoundingClientRect().top:0;ahe(n,r==0?0:r-e)}function ahe(t,e){for(let n=0;n<t.length;n++){let{dom:r,top:o,left:s}=t[n];r.scrollTop!=o+e&&(r.scrollTop=o+e),r.scrollLeft!=s&&(r.scrollLeft=s)}}let t0=null;function ont(t){if(t.setActive)return t.setActive();if(t0)return t.focus(t0);let e=she(t);t.focus(t0==null?{get preventScroll(){return t0={preventScroll:!0},!0}}:void 0),t0||(t0=!1,ahe(e,0))}function ihe(t,e){let n,r=2e8,o,s=0,a=e.top,i=e.top,l,u;for(let d=t.firstChild,f=0;d;d=d.nextSibling,f++){let m;if(d.nodeType==1)m=d.getClientRects();else if(d.nodeType==3)m=Hf(d).getClientRects();else continue;for(let g=0;g<m.length;g++){let w=m[g];if(w.top<=a&&w.bottom>=i){a=Math.max(w.bottom,a),i=Math.min(w.top,i);let b=w.left>e.left?w.left-e.left:w.right<e.left?e.left-w.right:0;if(b<r){n=d,r=b,o=b&&n.nodeType==3?{left:w.right<e.left?w.right:w.left,top:e.top}:e,d.nodeType==1&&b&&(s=f+(e.left>=(w.left+w.right)/2?1:0));continue}}else w.top>e.top&&!l&&w.left<=e.left&&w.right>=e.left&&(l=d,u={left:Math.max(w.left,Math.min(w.right,e.left)),top:w.top});!n&&(e.left>=w.right&&e.top>=w.top||e.left>=w.left&&e.top>=w.bottom)&&(s=f+1)}}return!n&&l&&(n=l,o=u,r=0),n&&n.nodeType==3?snt(n,o):!n||r&&n.nodeType==1?{node:t,offset:s}:ihe(n,o)}function snt(t,e){let n=t.nodeValue.length,r=document.createRange();for(let o=0;o<n;o++){r.setEnd(t,o+1),r.setStart(t,o);let s=bp(r,1);if(s.top!=s.bottom&&rP(e,s))return{node:t,offset:o+(e.left>=(s.left+s.right)/2?1:0)}}return{node:t,offset:0}}function rP(t,e){return t.left>=e.left-1&&t.left<=e.right+1&&t.top>=e.top-1&&t.top<=e.bottom+1}function ant(t,e){let n=t.parentNode;return n&&/^li$/i.test(n.nodeName)&&e.left<t.getBoundingClientRect().left?n:t}function int(t,e,n){let{node:r,offset:o}=ihe(e,n),s=-1;if(r.nodeType==1&&!r.firstChild){let a=r.getBoundingClientRect();s=a.left!=a.right&&n.left>(a.left+a.right)/2?1:-1}return t.docView.posFromDOM(r,o,s)}function lnt(t,e,n,r){let o=-1;for(let s=e,a=!1;s!=t.dom;){let i=t.docView.nearestDesc(s,!0),l;if(!i)return null;if(i.dom.nodeType==1&&(i.node.isBlock&&i.parent||!i.contentDOM)&&((l=i.dom.getBoundingClientRect()).width||l.height)&&(i.node.isBlock&&i.parent&&(!a&&l.left>r.left||l.top>r.top?o=i.posBefore:(!a&&l.right<r.left||l.bottom<r.top)&&(o=i.posAfter),a=!0),!i.contentDOM&&o<0&&!i.node.isText))return(i.node.isBlock?r.top<(l.top+l.bottom)/2:r.left<(l.left+l.right)/2)?i.posBefore:i.posAfter;s=i.dom.parentNode}return o>-1?o:t.docView.posFromDOM(e,n,-1)}function lhe(t,e,n){let r=t.childNodes.length;if(r&&n.top<n.bottom)for(let o=Math.max(0,Math.min(r-1,Math.floor(r*(e.top-n.top)/(n.bottom-n.top))-2)),s=o;;){let a=t.childNodes[s];if(a.nodeType==1){let i=a.getClientRects();for(let l=0;l<i.length;l++){let u=i[l];if(rP(e,u))return lhe(a,e,u)}}if((s=(s+1)%r)==o)break}return t}function cnt(t,e){let n=t.dom.ownerDocument,r,o=0,s=Qtt(n,e.left,e.top);s&&({node:r,offset:o}=s);let a=(t.root.elementFromPoint?t.root:n).elementFromPoint(e.left,e.top),i;if(!a||!t.dom.contains(a.nodeType!=1?a.parentNode:a)){let u=t.dom.getBoundingClientRect();if(!rP(e,u)||(a=lhe(t.dom,e,u),!a))return null}if(oi)for(let u=a;r&&u;u=Sy(u))u.draggable&&(r=void 0);if(a=ant(a,e),r){if(iu&&r.nodeType==1&&(o=Math.min(o,r.childNodes.length),o<r.childNodes.length)){let d=r.childNodes[o],f;d.nodeName=="IMG"&&(f=d.getBoundingClientRect()).right<=e.left&&f.bottom>e.top&&o++}let u;Ix&&o&&r.nodeType==1&&(u=r.childNodes[o-1]).nodeType==1&&u.contentEditable=="false"&&u.getBoundingClientRect().top>=e.top&&o--,r==t.dom&&o==r.childNodes.length-1&&r.lastChild.nodeType==1&&e.top>r.lastChild.getBoundingClientRect().bottom?i=t.state.doc.content.size:(o==0||r.nodeType!=1||r.childNodes[o-1].nodeName!="BR")&&(i=lnt(t,r,o,e))}i==null&&(i=int(t,a,e));let l=t.docView.nearestDesc(a,!0);return{pos:i,inside:l?l.posAtStart-l.border:-1}}function Pq(t){return t.top<t.bottom||t.left<t.right}function bp(t,e){let n=t.getClientRects();if(n.length){let r=n[e<0?0:n.length-1];if(Pq(r))return r}return Array.prototype.find.call(n,Pq)||t.getBoundingClientRect()}const unt=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac]/;function che(t,e,n){let{node:r,offset:o,atom:s}=t.docView.domFromPos(e,n<0?-1:1),a=Ix||iu;if(r.nodeType==3)if(a&&(unt.test(r.nodeValue)||(n<0?!o:o==r.nodeValue.length))){let l=bp(Hf(r,o,o),n);if(iu&&o&&/\s/.test(r.nodeValue[o-1])&&o<r.nodeValue.length){let u=bp(Hf(r,o-1,o-1),-1);if(u.top==l.top){let d=bp(Hf(r,o,o+1),-1);if(d.top!=l.top)return Sw(d,d.left<u.left)}}return l}else{let l=o,u=o,d=n<0?1:-1;return n<0&&!o?(u++,d=-1):n>=0&&o==r.nodeValue.length?(l--,d=1):n<0?l--:u++,Sw(bp(Hf(r,l,u),d),d<0)}if(!t.state.doc.resolve(e-(s||0)).parent.inlineContent){if(s==null&&o&&(n<0||o==Bl(r))){let l=r.childNodes[o-1];if(l.nodeType==1)return QA(l.getBoundingClientRect(),!1)}if(s==null&&o<Bl(r)){let l=r.childNodes[o];if(l.nodeType==1)return QA(l.getBoundingClientRect(),!0)}return QA(r.getBoundingClientRect(),n>=0)}if(s==null&&o&&(n<0||o==Bl(r))){let l=r.childNodes[o-1],u=l.nodeType==3?Hf(l,Bl(l)-(a?0:1)):l.nodeType==1&&(l.nodeName!="BR"||!l.nextSibling)?l:null;if(u)return Sw(bp(u,1),!1)}if(s==null&&o<Bl(r)){let l=r.childNodes[o];for(;l.pmViewDesc&&l.pmViewDesc.ignoreForCoords;)l=l.nextSibling;let u=l?l.nodeType==3?Hf(l,0,a?0:1):l.nodeType==1?l:null:null;if(u)return Sw(bp(u,-1),!0)}return Sw(bp(r.nodeType==3?Hf(r):r,-n),n>=0)}function Sw(t,e){if(t.width==0)return t;let n=e?t.left:t.right;return{top:t.top,bottom:t.bottom,left:n,right:n}}function QA(t,e){if(t.height==0)return t;let n=e?t.top:t.bottom;return{top:n,bottom:n,left:t.left,right:t.right}}function uhe(t,e,n){let r=t.state,o=t.root.activeElement;r!=e&&t.updateState(e),o!=t.dom&&t.focus();try{return n()}finally{r!=e&&t.updateState(r),o!=t.dom&&o&&o.focus()}}function fnt(t,e,n){let r=e.selection,o=n=="up"?r.$from:r.$to;return uhe(t,e,()=>{let{node:s}=t.docView.domFromPos(o.pos,n=="up"?-1:1);for(;;){let i=t.docView.nearestDesc(s,!0);if(!i)break;if(i.node.isBlock){s=i.contentDOM||i.dom;break}s=i.dom.parentNode}let a=che(t,o.pos,1);for(let i=s.firstChild;i;i=i.nextSibling){let l;if(i.nodeType==1)l=i.getClientRects();else if(i.nodeType==3)l=Hf(i,0,i.nodeValue.length).getClientRects();else continue;for(let u=0;u<l.length;u++){let d=l[u];if(d.bottom>d.top+1&&(n=="up"?a.top-d.top>(d.bottom-a.top)*2:d.bottom-a.bottom>(a.bottom-d.top)*2))return!1}}return!0})}const dnt=/[\u0590-\u08ac]/;function pnt(t,e,n){let{$head:r}=e.selection;if(!r.parent.isTextblock)return!1;let o=r.parentOffset,s=!o,a=o==r.parent.content.size,i=t.domSelection();return i?!dnt.test(r.parent.textContent)||!i.modify?n=="left"||n=="backward"?s:a:uhe(t,e,()=>{let{focusNode:l,focusOffset:u,anchorNode:d,anchorOffset:f}=t.domSelectionRange(),m=i.caretBidiLevel;i.modify("move",n,"character");let g=r.depth?t.docView.domAfterPos(r.before()):t.dom,{focusNode:w,focusOffset:b}=t.domSelectionRange(),j=w&&!g.contains(w.nodeType==1?w:w.parentNode)||l==w&&u==b;try{i.collapse(d,f),l&&(l!=d||u!=f)&&i.extend&&i.extend(l,u)}catch{}return m!=null&&(i.caretBidiLevel=m),j}):r.pos==r.start()||r.pos==r.end()}let Oq=null,zq=null,Fq=!1;function hnt(t,e,n){return Oq==e&&zq==n?Fq:(Oq=e,zq=n,Fq=n=="up"||n=="down"?fnt(t,e,n):pnt(t,e,n))}const Yl=0,Bq=1,Fm=2,df=3;class Ax{constructor(e,n,r,o){this.parent=e,this.children=n,this.dom=r,this.contentDOM=o,this.dirty=Yl,r.pmViewDesc=this}matchesWidget(e){return!1}matchesMark(e){return!1}matchesNode(e,n,r){return!1}matchesHack(e){return!1}parseRule(){return null}stopEvent(e){return!1}get size(){let e=0;for(let n=0;n<this.children.length;n++)e+=this.children[n].size;return e}get border(){return 0}destroy(){this.parent=void 0,this.dom.pmViewDesc==this&&(this.dom.pmViewDesc=void 0);for(let e=0;e<this.children.length;e++)this.children[e].destroy()}posBeforeChild(e){for(let n=0,r=this.posAtStart;;n++){let o=this.children[n];if(o==e)return r;r+=o.size}}get posBefore(){return this.parent.posBeforeChild(this)}get posAtStart(){return this.parent?this.parent.posBeforeChild(this)+this.border:0}get posAfter(){return this.posBefore+this.size}get posAtEnd(){return this.posAtStart+this.size-2*this.border}localPosFromDOM(e,n,r){if(this.contentDOM&&this.contentDOM.contains(e.nodeType==1?e:e.parentNode))if(r<0){let s,a;if(e==this.contentDOM)s=e.childNodes[n-1];else{for(;e.parentNode!=this.contentDOM;)e=e.parentNode;s=e.previousSibling}for(;s&&!((a=s.pmViewDesc)&&a.parent==this);)s=s.previousSibling;return s?this.posBeforeChild(a)+a.size:this.posAtStart}else{let s,a;if(e==this.contentDOM)s=e.childNodes[n];else{for(;e.parentNode!=this.contentDOM;)e=e.parentNode;s=e.nextSibling}for(;s&&!((a=s.pmViewDesc)&&a.parent==this);)s=s.nextSibling;return s?this.posBeforeChild(a):this.posAtEnd}let o;if(e==this.dom&&this.contentDOM)o=n>sa(this.contentDOM);else if(this.contentDOM&&this.contentDOM!=this.dom&&this.dom.contains(this.contentDOM))o=e.compareDocumentPosition(this.contentDOM)&2;else if(this.dom.firstChild){if(n==0)for(let s=e;;s=s.parentNode){if(s==this.dom){o=!1;break}if(s.previousSibling)break}if(o==null&&n==e.childNodes.length)for(let s=e;;s=s.parentNode){if(s==this.dom){o=!0;break}if(s.nextSibling)break}}return o??r>0?this.posAtEnd:this.posAtStart}nearestDesc(e,n=!1){for(let r=!0,o=e;o;o=o.parentNode){let s=this.getDesc(o),a;if(s&&(!n||s.node))if(r&&(a=s.nodeDOM)&&!(a.nodeType==1?a.contains(e.nodeType==1?e:e.parentNode):a==e))r=!1;else return s}}getDesc(e){let n=e.pmViewDesc;for(let r=n;r;r=r.parent)if(r==this)return n}posFromDOM(e,n,r){for(let o=e;o;o=o.parentNode){let s=this.getDesc(o);if(s)return s.localPosFromDOM(e,n,r)}return-1}descAt(e){for(let n=0,r=0;n<this.children.length;n++){let o=this.children[n],s=r+o.size;if(r==e&&s!=r){for(;!o.border&&o.children.length;)for(let a=0;a<o.children.length;a++){let i=o.children[a];if(i.size){o=i;break}}return o}if(e<s)return o.descAt(e-r-o.border);r=s}}domFromPos(e,n){if(!this.contentDOM)return{node:this.dom,offset:0,atom:e+1};let r=0,o=0;for(let s=0;r<this.children.length;r++){let a=this.children[r],i=s+a.size;if(i>e||a instanceof dhe){o=e-s;break}s=i}if(o)return this.children[r].domFromPos(o-this.children[r].border,n);for(let s;r&&!(s=this.children[r-1]).size&&s instanceof fhe&&s.side>=0;r--);if(n<=0){let s,a=!0;for(;s=r?this.children[r-1]:null,!(!s||s.dom.parentNode==this.contentDOM);r--,a=!1);return s&&n&&a&&!s.border&&!s.domAtom?s.domFromPos(s.size,n):{node:this.contentDOM,offset:s?sa(s.dom)+1:0}}else{let s,a=!0;for(;s=r<this.children.length?this.children[r]:null,!(!s||s.dom.parentNode==this.contentDOM);r++,a=!1);return s&&a&&!s.border&&!s.domAtom?s.domFromPos(0,n):{node:this.contentDOM,offset:s?sa(s.dom):this.contentDOM.childNodes.length}}}parseRange(e,n,r=0){if(this.children.length==0)return{node:this.contentDOM,from:e,to:n,fromOffset:0,toOffset:this.contentDOM.childNodes.length};let o=-1,s=-1;for(let a=r,i=0;;i++){let l=this.children[i],u=a+l.size;if(o==-1&&e<=u){let d=a+l.border;if(e>=d&&n<=u-l.border&&l.node&&l.contentDOM&&this.contentDOM.contains(l.contentDOM))return l.parseRange(e,n,d);e=a;for(let f=i;f>0;f--){let m=this.children[f-1];if(m.size&&m.dom.parentNode==this.contentDOM&&!m.emptyChildAt(1)){o=sa(m.dom)+1;break}e-=m.size}o==-1&&(o=0)}if(o>-1&&(u>n||i==this.children.length-1)){n=u;for(let d=i+1;d<this.children.length;d++){let f=this.children[d];if(f.size&&f.dom.parentNode==this.contentDOM&&!f.emptyChildAt(-1)){s=sa(f.dom);break}n+=f.size}s==-1&&(s=this.contentDOM.childNodes.length);break}a=u}return{node:this.contentDOM,from:e,to:n,fromOffset:o,toOffset:s}}emptyChildAt(e){if(this.border||!this.contentDOM||!this.children.length)return!1;let n=this.children[e<0?0:this.children.length-1];return n.size==0||n.emptyChildAt(e)}domAfterPos(e){let{node:n,offset:r}=this.domFromPos(e,0);if(n.nodeType!=1||r==n.childNodes.length)throw new RangeError("No node after pos "+e);return n.childNodes[r]}setSelection(e,n,r,o=!1){let s=Math.min(e,n),a=Math.max(e,n);for(let g=0,w=0;g<this.children.length;g++){let b=this.children[g],j=w+b.size;if(s>w&&a<j)return b.setSelection(e-w-b.border,n-w-b.border,r,o);w=j}let i=this.domFromPos(e,e?-1:1),l=n==e?i:this.domFromPos(n,n?-1:1),u=r.root.getSelection(),d=r.domSelectionRange(),f=!1;if((iu||oi)&&e==n){let{node:g,offset:w}=i;if(g.nodeType==3){if(f=!!(w&&g.nodeValue[w-1]==`
2107 `),f&&w==g.nodeValue.length)for(let b=g,j;b;b=b.parentNode){if(j=b.nextSibling){j.nodeName=="BR"&&(i=l={node:j.parentNode,offset:sa(j)+1});break}let S=b.pmViewDesc;if(S&&S.node&&S.node.isBlock)break}}else{let b=g.childNodes[w-1];f=b&&(b.nodeName=="BR"||b.contentEditable=="false")}}if(iu&&d.focusNode&&d.focusNode!=l.node&&d.focusNode.nodeType==1){let g=d.focusNode.childNodes[d.focusOffset];g&&g.contentEditable=="false"&&(o=!0)}if(!(o||f&&oi)&&Tg(i.node,i.offset,d.anchorNode,d.anchorOffset)&&Tg(l.node,l.offset,d.focusNode,d.focusOffset))return;let m=!1;if((u.extend||e==n)&&!f){u.collapse(i.node,i.offset);try{e!=n&&u.extend(l.node,l.offset),m=!0}catch{}}if(!m){if(e>n){let w=i;i=l,l=w}let g=document.createRange();g.setEnd(l.node,l.offset),g.setStart(i.node,i.offset),u.removeAllRanges(),u.addRange(g)}}ignoreMutation(e){return!this.contentDOM&&e.type!="selection"}get contentLost(){return this.contentDOM&&this.contentDOM!=this.dom&&!this.dom.contains(this.contentDOM)}markDirty(e,n){for(let r=0,o=0;o<this.children.length;o++){let s=this.children[o],a=r+s.size;if(r==a?e<=a&&n>=r:e<a&&n>r){let i=r+s.border,l=a-s.border;if(e>=i&&n<=l){this.dirty=e==r||n==a?Fm:Bq,e==i&&n==l&&(s.contentLost||s.dom.parentNode!=this.contentDOM)?s.dirty=df:s.markDirty(e-i,n-i);return}else s.dirty=s.dom==s.contentDOM&&s.dom.parentNode==this.contentDOM&&!s.children.length?Fm:df}r=a}this.dirty=Fm}markParentsDirty(){let e=1;for(let n=this.parent;n;n=n.parent,e++){let r=e==1?Fm:Bq;n.dirty<r&&(n.dirty=r)}}get domAtom(){return!1}get ignoreForCoords(){return!1}isText(e){return!1}}class fhe extends Ax{constructor(e,n,r,o){let s,a=n.type.toDOM;if(typeof a=="function"&&(a=a(r,()=>{if(!s)return o;if(s.parent)return s.parent.posBeforeChild(s)})),!n.type.spec.raw){if(a.nodeType!=1){let i=document.createElement("span");i.appendChild(a),a=i}a.contentEditable="false",a.classList.add("ProseMirror-widget")}super(e,[],a,null),this.widget=n,this.widget=n,s=this}matchesWidget(e){return this.dirty==Yl&&e.type.eq(this.widget.type)}parseRule(){return{ignore:!0}}stopEvent(e){let n=this.widget.spec.stopEvent;return n?n(e):!1}ignoreMutation(e){return e.type!="selection"||this.widget.spec.ignoreSelection}destroy(){this.widget.type.destroy(this.dom),super.destroy()}get domAtom(){return!0}get side(){return this.widget.type.side}}class mnt extends Ax{constructor(e,n,r,o){super(e,[],n,null),this.textDOM=r,this.text=o}get size(){return this.text.length}localPosFromDOM(e,n){return e!=this.textDOM?this.posAtStart+(n?this.size:0):this.posAtStart+n}domFromPos(e){return{node:this.textDOM,offset:e}}ignoreMutation(e){return e.type==="characterData"&&e.target.nodeValue==e.oldValue}}class Dg extends Ax{constructor(e,n,r,o,s){super(e,[],r,o),this.mark=n,this.spec=s}static create(e,n,r,o){let s=o.nodeViews[n.type.name],a=s&&s(n,o,r);return(!a||!a.dom)&&(a=t1.renderSpec(document,n.type.spec.toDOM(n,r),null,n.attrs)),new Dg(e,n,a.dom,a.contentDOM||a.dom,a)}parseRule(){return this.dirty&df||this.mark.type.spec.reparseInView?null:{mark:this.mark.type.name,attrs:this.mark.attrs,contentElement:this.contentDOM}}matchesMark(e){return this.dirty!=df&&this.mark.eq(e)}markDirty(e,n){if(super.markDirty(e,n),this.dirty!=Yl){let r=this.parent;for(;!r.node;)r=r.parent;r.dirty<this.dirty&&(r.dirty=this.dirty),this.dirty=Yl}}slice(e,n,r){let o=Dg.create(this.parent,this.mark,!0,r),s=this.children,a=this.size;n<a&&(s=XM(s,n,a,r)),e>0&&(s=XM(s,0,e,r));for(let i=0;i<s.length;i++)s[i].parent=o;return o.children=s,o}ignoreMutation(e){return this.spec.ignoreMutation?this.spec.ignoreMutation(e):super.ignoreMutation(e)}destroy(){this.spec.destroy&&this.spec.destroy(),super.destroy()}}class Kp extends Ax{constructor(e,n,r,o,s,a,i,l,u){super(e,[],s,a),this.node=n,this.outerDeco=r,this.innerDeco=o,this.nodeDOM=i}static create(e,n,r,o,s,a){let i=s.nodeViews[n.type.name],l,u=i&&i(n,s,()=>{if(!l)return a;if(l.parent)return l.parent.posBeforeChild(l)},r,o),d=u&&u.dom,f=u&&u.contentDOM;if(n.isText){if(!d)d=document.createTextNode(n.text);else if(d.nodeType!=3)throw new RangeError("Text must be rendered as a DOM text node")}else d||({dom:d,contentDOM:f}=t1.renderSpec(document,n.type.spec.toDOM(n),null,n.attrs));!f&&!n.isText&&d.nodeName!="BR"&&(d.hasAttribute("contenteditable")||(d.contentEditable="false"),n.type.spec.draggable&&(d.draggable=!0));let m=d;return d=mhe(d,r,n),u?l=new gnt(e,n,r,o,d,f||null,m,u,s,a+1):n.isText?new wE(e,n,r,o,d,m,s):new Kp(e,n,r,o,d,f||null,m,s,a+1)}parseRule(){if(this.node.type.spec.reparseInView)return null;let e={node:this.node.type.name,attrs:this.node.attrs};if(this.node.type.whitespace=="pre"&&(e.preserveWhitespace="full"),!this.contentDOM)e.getContent=()=>this.node.content;else if(!this.contentLost)e.contentElement=this.contentDOM;else{for(let n=this.children.length-1;n>=0;n--){let r=this.children[n];if(this.dom.contains(r.dom.parentNode)){e.contentElement=r.dom.parentNode;break}}e.contentElement||(e.getContent=()=>Mt.empty)}return e}matchesNode(e,n,r){return this.dirty==Yl&&e.eq(this.node)&&Rj(n,this.outerDeco)&&r.eq(this.innerDeco)}get size(){return this.node.nodeSize}get border(){return this.node.isLeaf?0:1}updateChildren(e,n){let r=this.node.inlineContent,o=n,s=e.composing?this.localCompositionInfo(e,n):null,a=s&&s.pos>-1?s:null,i=s&&s.pos<0,l=new vnt(this,a&&a.node,e);xnt(this.node,this.innerDeco,(u,d,f)=>{u.spec.marks?l.syncToMarks(u.spec.marks,r,e):u.type.side>=0&&!f&&l.syncToMarks(d==this.node.childCount?Ur.none:this.node.child(d).marks,r,e),l.placeWidget(u,e,o)},(u,d,f,m)=>{l.syncToMarks(u.marks,r,e);let g;l.findNodeMatch(u,d,f,m)||i&&e.state.selection.from>o&&e.state.selection.to<o+u.nodeSize&&(g=l.findIndexWithChild(s.node))>-1&&l.updateNodeAt(u,d,f,g,e)||l.updateNextNode(u,d,f,e,m,o)||l.addNode(u,d,f,e,o),o+=u.nodeSize}),l.syncToMarks([],r,e),this.node.isTextblock&&l.addTextblockHacks(),l.destroyRest(),(l.changed||this.dirty==Fm)&&(a&&this.protectLocalComposition(e,a),phe(this.contentDOM,this.children,e),Ey&&knt(this.dom))}localCompositionInfo(e,n){let{from:r,to:o}=e.state.selection;if(!(e.state.selection instanceof Hn)||r<n||o>n+this.node.content.size)return null;let s=e.input.compositionNode;if(!s||!this.dom.contains(s.parentNode))return null;if(this.node.inlineContent){let a=s.nodeValue,i=jnt(this.node.content,a,r-n,o-n);return i<0?null:{node:s,pos:i,text:a}}else return{node:s,pos:-1,text:""}}protectLocalComposition(e,{node:n,pos:r,text:o}){if(this.getDesc(n))return;let s=n;for(;s.parentNode!=this.contentDOM;s=s.parentNode){for(;s.previousSibling;)s.parentNode.removeChild(s.previousSibling);for(;s.nextSibling;)s.parentNode.removeChild(s.nextSibling);s.pmViewDesc&&(s.pmViewDesc=void 0)}let a=new mnt(this,s,n,o);e.input.compositionNodes.push(a),this.children=XM(this.children,r,r+o.length,e,a)}update(e,n,r,o){return this.dirty==df||!e.sameMarkup(this.node)?!1:(this.updateInner(e,n,r,o),!0)}updateInner(e,n,r,o){this.updateOuterDeco(n),this.node=e,this.innerDeco=r,this.contentDOM&&this.updateChildren(o,this.posAtStart),this.dirty=Yl}updateOuterDeco(e){if(Rj(e,this.outerDeco))return;let n=this.nodeDOM.nodeType!=1,r=this.dom;this.dom=hhe(this.dom,this.nodeDOM,JM(this.outerDeco,this.node,n),JM(e,this.node,n)),this.dom!=r&&(r.pmViewDesc=void 0,this.dom.pmViewDesc=this),this.outerDeco=e}selectNode(){this.nodeDOM.nodeType==1&&this.nodeDOM.classList.add("ProseMirror-selectednode"),(this.contentDOM||!this.node.type.spec.draggable)&&(this.dom.draggable=!0)}deselectNode(){this.nodeDOM.nodeType==1&&(this.nodeDOM.classList.remove("ProseMirror-selectednode"),(this.contentDOM||!this.node.type.spec.draggable)&&this.dom.removeAttribute("draggable"))}get domAtom(){return this.node.isAtom}}function Uq(t,e,n,r,o){mhe(r,e,t);let s=new Kp(void 0,t,e,n,r,r,r,o,0);return s.contentDOM&&s.updateChildren(o,0),s}class wE extends Kp{constructor(e,n,r,o,s,a,i){super(e,n,r,o,s,null,a,i,0)}parseRule(){let e=this.nodeDOM.parentNode;for(;e&&e!=this.dom&&!e.pmIsDeco;)e=e.parentNode;return{skip:e||!0}}update(e,n,r,o){return this.dirty==df||this.dirty!=Yl&&!this.inParent()||!e.sameMarkup(this.node)?!1:(this.updateOuterDeco(n),(this.dirty!=Yl||e.text!=this.node.text)&&e.text!=this.nodeDOM.nodeValue&&(this.nodeDOM.nodeValue=e.text,o.trackWrites==this.nodeDOM&&(o.trackWrites=null)),this.node=e,this.dirty=Yl,!0)}inParent(){let e=this.parent.contentDOM;for(let n=this.nodeDOM;n;n=n.parentNode)if(n==e)return!0;return!1}domFromPos(e){return{node:this.nodeDOM,offset:e}}localPosFromDOM(e,n,r){return e==this.nodeDOM?this.posAtStart+Math.min(n,this.node.text.length):super.localPosFromDOM(e,n,r)}ignoreMutation(e){return e.type!="characterData"&&e.type!="selection"}slice(e,n,r){let o=this.node.cut(e,n),s=document.createTextNode(o.text);return new wE(this.parent,o,this.outerDeco,this.innerDeco,s,s,r)}markDirty(e,n){super.markDirty(e,n),this.dom!=this.nodeDOM&&(e==0||n==this.nodeDOM.nodeValue.length)&&(this.dirty=df)}get domAtom(){return!1}isText(e){return this.node.text==e}}class dhe extends Ax{parseRule(){return{ignore:!0}}matchesHack(e){return this.dirty==Yl&&this.dom.nodeName==e}get domAtom(){return!0}get ignoreForCoords(){return this.dom.nodeName=="IMG"}}class gnt extends Kp{constructor(e,n,r,o,s,a,i,l,u,d){super(e,n,r,o,s,a,i,u,d),this.spec=l}update(e,n,r,o){if(this.dirty==df)return!1;if(this.spec.update&&(this.node.type==e.type||this.spec.multiType)){let s=this.spec.update(e,n,r);return s&&this.updateInner(e,n,r,o),s}else return!this.contentDOM&&!e.isLeaf?!1:super.update(e,n,r,o)}selectNode(){this.spec.selectNode?this.spec.selectNode():super.selectNode()}deselectNode(){this.spec.deselectNode?this.spec.deselectNode():super.deselectNode()}setSelection(e,n,r,o){this.spec.setSelection?this.spec.setSelection(e,n,r.root):super.setSelection(e,n,r,o)}destroy(){this.spec.destroy&&this.spec.destroy(),super.destroy()}stopEvent(e){return this.spec.stopEvent?this.spec.stopEvent(e):!1}ignoreMutation(e){return this.spec.ignoreMutation?this.spec.ignoreMutation(e):super.ignoreMutation(e)}}function phe(t,e,n){let r=t.firstChild,o=!1;for(let s=0;s<e.length;s++){let a=e[s],i=a.dom;if(i.parentNode==t){for(;i!=r;)r=$q(r),o=!0;r=r.nextSibling}else o=!0,t.insertBefore(i,r);if(a instanceof Dg){let l=r?r.previousSibling:t.lastChild;phe(a.contentDOM,a.children,n),r=l?l.nextSibling:t.firstChild}}for(;r;)r=$q(r),o=!0;o&&n.trackWrites==t&&(n.trackWrites=null)}const ib=function(t){t&&(this.nodeName=t)};ib.prototype=Object.create(null);const Bm=[new ib];function JM(t,e,n){if(t.length==0)return Bm;let r=n?Bm[0]:new ib,o=[r];for(let s=0;s<t.length;s++){let a=t[s].type.attrs;if(a){a.nodeName&&o.push(r=new ib(a.nodeName));for(let i in a){let l=a[i];l!=null&&(n&&o.length==1&&o.push(r=new ib(e.isInline?"span":"div")),i=="class"?r.class=(r.class?r.class+" ":"")+l:i=="style"?r.style=(r.style?r.style+";":"")+l:i!="nodeName"&&(r[i]=l))}}}return o}function hhe(t,e,n,r){if(n==Bm&&r==Bm)return e;let o=e;for(let s=0;s<r.length;s++){let a=r[s],i=n[s];if(s){let l;i&&i.nodeName==a.nodeName&&o!=t&&(l=o.parentNode)&&l.nodeName.toLowerCase()==a.nodeName||(l=document.createElement(a.nodeName),l.pmIsDeco=!0,l.appendChild(o),i=Bm[0]),o=l}ynt(o,i||Bm[0],a)}return o}function ynt(t,e,n){for(let r in e)r!="class"&&r!="style"&&r!="nodeName"&&!(r in n)&&t.removeAttribute(r);for(let r in n)r!="class"&&r!="style"&&r!="nodeName"&&n[r]!=e[r]&&t.setAttribute(r,n[r]);if(e.class!=n.class){let r=e.class?e.class.split(" ").filter(Boolean):[],o=n.class?n.class.split(" ").filter(Boolean):[];for(let s=0;s<r.length;s++)o.indexOf(r[s])==-1&&t.classList.remove(r[s]);for(let s=0;s<o.length;s++)r.indexOf(o[s])==-1&&t.classList.add(o[s]);t.classList.length==0&&t.removeAttribute("class")}if(e.style!=n.style){if(e.style){let r=/\s*([\w\-\xa1-\uffff]+)\s*:(?:"(?:\\.|[^"])*"|'(?:\\.|[^'])*'|\(.*?\)|[^;])*/g,o;for(;o=r.exec(e.style);)t.style.removeProperty(o[1])}n.style&&(t.style.cssText+=n.style)}}function mhe(t,e,n){return hhe(t,t,Bm,JM(e,n,t.nodeType!=1))}function Rj(t,e){if(t.length!=e.length)return!1;for(let n=0;n<t.length;n++)if(!t[n].type.eq(e[n].type))return!1;return!0}function $q(t){let e=t.nextSibling;return t.parentNode.removeChild(t),e}class vnt{constructor(e,n,r){this.lock=n,this.view=r,this.index=0,this.stack=[],this.changed=!1,this.top=e,this.preMatch=wnt(e.node.content,e)}destroyBetween(e,n){if(e!=n){for(let r=e;r<n;r++)this.top.children[r].destroy();this.top.children.splice(e,n-e),this.changed=!0}}destroyRest(){this.destroyBetween(this.index,this.top.children.length)}syncToMarks(e,n,r){let o=0,s=this.stack.length>>1,a=Math.min(s,e.length);for(;o<a&&(o==s-1?this.top:this.stack[o+1<<1]).matchesMark(e[o])&&e[o].type.spec.spanning!==!1;)o++;for(;o<s;)this.destroyRest(),this.top.dirty=Yl,this.index=this.stack.pop(),this.top=this.stack.pop(),s--;for(;s<e.length;){this.stack.push(this.top,this.index+1);let i=-1;for(let l=this.index;l<Math.min(this.index+3,this.top.children.length);l++){let u=this.top.children[l];if(u.matchesMark(e[s])&&!this.isLocked(u.dom)){i=l;break}}if(i>-1)i>this.index&&(this.changed=!0,this.destroyBetween(this.index,i)),this.top=this.top.children[this.index];else{let l=Dg.create(this.top,e[s],n,r);this.top.children.splice(this.index,0,l),this.top=l,this.changed=!0}this.index=0,s++}}findNodeMatch(e,n,r,o){let s=-1,a;if(o>=this.preMatch.index&&(a=this.preMatch.matches[o-this.preMatch.index]).parent==this.top&&a.matchesNode(e,n,r))s=this.top.children.indexOf(a,this.index);else for(let i=this.index,l=Math.min(this.top.children.length,i+5);i<l;i++){let u=this.top.children[i];if(u.matchesNode(e,n,r)&&!this.preMatch.matched.has(u)){s=i;break}}return s<0?!1:(this.destroyBetween(this.index,s),this.index++,!0)}updateNodeAt(e,n,r,o,s){let a=this.top.children[o];return a.dirty==df&&a.dom==a.contentDOM&&(a.dirty=Fm),a.update(e,n,r,s)?(this.destroyBetween(this.index,o),this.index++,!0):!1}findIndexWithChild(e){for(;;){let n=e.parentNode;if(!n)return-1;if(n==this.top.contentDOM){let r=e.pmViewDesc;if(r){for(let o=this.index;o<this.top.children.length;o++)if(this.top.children[o]==r)return o}return-1}e=n}}updateNextNode(e,n,r,o,s,a){for(let i=this.index;i<this.top.children.length;i++){let l=this.top.children[i];if(l instanceof Kp){let u=this.preMatch.matched.get(l);if(u!=null&&u!=s)return!1;let d=l.dom,f,m=this.isLocked(d)&&!(e.isText&&l.node&&l.node.isText&&l.nodeDOM.nodeValue==e.text&&l.dirty!=df&&Rj(n,l.outerDeco));if(!m&&l.update(e,n,r,o))return this.destroyBetween(this.index,i),l.dom!=d&&(this.changed=!0),this.index++,!0;if(!m&&(f=this.recreateWrapper(l,e,n,r,o,a)))return this.destroyBetween(this.index,i),this.top.children[this.index]=f,f.contentDOM&&(f.dirty=Fm,f.updateChildren(o,a+1),f.dirty=Yl),this.changed=!0,this.index++,!0;break}}return!1}recreateWrapper(e,n,r,o,s,a){if(e.dirty||n.isAtom||!e.children.length||!e.node.content.eq(n.content)||!Rj(r,e.outerDeco)||!o.eq(e.innerDeco))return null;let i=Kp.create(this.top,n,r,o,s,a);if(i.contentDOM){i.children=e.children,e.children=[];for(let l of i.children)l.parent=i}return e.destroy(),i}addNode(e,n,r,o,s){let a=Kp.create(this.top,e,n,r,o,s);a.contentDOM&&a.updateChildren(o,s+1),this.top.children.splice(this.index++,0,a),this.changed=!0}placeWidget(e,n,r){let o=this.index<this.top.children.length?this.top.children[this.index]:null;if(o&&o.matchesWidget(e)&&(e==o.widget||!o.widget.type.toDOM.parentNode))this.index++;else{let s=new fhe(this.top,e,n,r);this.top.children.splice(this.index++,0,s),this.changed=!0}}addTextblockHacks(){let e=this.top.children[this.index-1],n=this.top;for(;e instanceof Dg;)n=e,e=n.children[n.children.length-1];(!e||!(e instanceof wE)||/\n$/.test(e.node.text)||this.view.requiresGeckoHackNode&&/\s$/.test(e.node.text))&&((oi||_a)&&e&&e.dom.contentEditable=="false"&&this.addHackNode("IMG",n),this.addHackNode("BR",this.top))}addHackNode(e,n){if(n==this.top&&this.index<n.children.length&&n.children[this.index].matchesHack(e))this.index++;else{let r=document.createElement(e);e=="IMG"&&(r.className="ProseMirror-separator",r.alt=""),e=="BR"&&(r.className="ProseMirror-trailingBreak");let o=new dhe(this.top,[],r,null);n!=this.top?n.children.push(o):n.children.splice(this.index++,0,o),this.changed=!0}}isLocked(e){return this.lock&&(e==this.lock||e.nodeType==1&&e.contains(this.lock.parentNode))}}function wnt(t,e){let n=e,r=n.children.length,o=t.childCount,s=new Map,a=[];e:for(;o>0;){let i;for(;;)if(r){let u=n.children[r-1];if(u instanceof Dg)n=u,r=u.children.length;else{i=u,r--;break}}else{if(n==e)break e;r=n.parent.children.indexOf(n),n=n.parent}let l=i.node;if(l){if(l!=t.child(o-1))break;--o,s.set(i,o),a.push(i)}}return{index:o,matched:s,matches:a.reverse()}}function bnt(t,e){return t.type.side-e.type.side}function xnt(t,e,n,r){let o=e.locals(t),s=0;if(o.length==0){for(let u=0;u<t.childCount;u++){let d=t.child(u);r(d,o,e.forChild(s,d),u),s+=d.nodeSize}return}let a=0,i=[],l=null;for(let u=0;;){let d,f;for(;a<o.length&&o[a].to==s;){let j=o[a++];j.widget&&(d?(f||(f=[d])).push(j):d=j)}if(d)if(f){f.sort(bnt);for(let j=0;j<f.length;j++)n(f[j],u,!!l)}else n(d,u,!!l);let m,g;if(l)g=-1,m=l,l=null;else if(u<t.childCount)g=u,m=t.child(u++);else break;for(let j=0;j<i.length;j++)i[j].to<=s&&i.splice(j--,1);for(;a<o.length&&o[a].from<=s&&o[a].to>s;)i.push(o[a++]);let w=s+m.nodeSize;if(m.isText){let j=w;a<o.length&&o[a].from<j&&(j=o[a].from);for(let S=0;S<i.length;S++)i[S].to<j&&(j=i[S].to);j<w&&(l=m.cut(j-s),m=m.cut(0,j-s),w=j,g=-1)}else for(;a<o.length&&o[a].to<w;)a++;let b=m.isInline&&!m.isLeaf?i.filter(j=>!j.inline):i.slice();r(m,b,e.forChild(s,m),g),s=w}}function knt(t){if(t.nodeName=="UL"||t.nodeName=="OL"){let e=t.style.cssText;t.style.cssText=e+"; list-style: square !important",window.getComputedStyle(t).listStyle,t.style.cssText=e}}function jnt(t,e,n,r){for(let o=0,s=0;o<t.childCount&&s<=r;){let a=t.child(o++),i=s;if(s+=a.nodeSize,!a.isText)continue;let l=a.text;for(;o<t.childCount;){let u=t.child(o++);if(s+=u.nodeSize,!u.isText)break;l+=u.text}if(s>=n){if(s>=r&&l.slice(r-e.length-i,r-i)==e)return r-e.length;let u=i<r?l.lastIndexOf(e,r-i-1):-1;if(u>=0&&u+e.length+i>=n)return i+u;if(n==r&&l.length>=r+e.length-i&&l.slice(r-i,r-i+e.length)==e)return r}}return-1}function XM(t,e,n,r,o){let s=[];for(let a=0,i=0;a<t.length;a++){let l=t[a],u=i,d=i+=l.size;u>=n||d<=e?s.push(l):(u<e&&s.push(l.slice(0,e-u,r)),o&&(s.push(o),o=void 0),d>n&&s.push(l.slice(n-u,l.size,r)))}return s}function oP(t,e=null){let n=t.domSelectionRange(),r=t.state.doc;if(!n.focusNode)return null;let o=t.docView.nearestDesc(n.focusNode),s=o&&o.size==0,a=t.docView.posFromDOM(n.focusNode,n.focusOffset,1);if(a<0)return null;let i=r.resolve(a),l,u;if(vE(n)){for(l=a;o&&!o.node;)o=o.parent;let f=o.node;if(o&&f.isAtom&&Sn.isSelectable(f)&&o.parent&&!(f.isInline&&Ktt(n.focusNode,n.focusOffset,o.dom))){let m=o.posBefore;u=new Sn(a==m?i:r.resolve(m))}}else{if(n instanceof t.dom.ownerDocument.defaultView.Selection&&n.rangeCount>1){let f=a,m=a;for(let g=0;g<n.rangeCount;g++){let w=n.getRangeAt(g);f=Math.min(f,t.docView.posFromDOM(w.startContainer,w.startOffset,1)),m=Math.max(m,t.docView.posFromDOM(w.endContainer,w.endOffset,-1))}if(f<0)return null;[l,a]=m==t.state.selection.anchor?[m,f]:[f,m],i=r.resolve(a)}else l=t.docView.posFromDOM(n.anchorNode,n.anchorOffset,1);if(l<0)return null}let d=r.resolve(l);if(!u){let f=e=="pointer"||t.state.selection.head<i.pos&&!s?1:-1;u=sP(t,d,i,f)}return u}function ghe(t){return t.editable?t.hasFocus():vhe(t)&&document.activeElement&&document.activeElement.contains(t.dom)}function od(t,e=!1){let n=t.state.selection;if(yhe(t,n),!!ghe(t)){if(!e&&t.input.mouseDown&&t.input.mouseDown.allowDefault&&_a){let r=t.domSelectionRange(),o=t.domObserver.currentSelection;if(r.anchorNode&&o.anchorNode&&Tg(r.anchorNode,r.anchorOffset,o.anchorNode,o.anchorOffset)){t.input.mouseDown.delayedSelectionSync=!0,t.domObserver.setCurSelection();return}}if(t.domObserver.disconnectSelection(),t.cursorWrapper)Snt(t);else{let{anchor:r,head:o}=n,s,a;Vq&&!(n instanceof Hn)&&(n.$from.parent.inlineContent||(s=Hq(t,n.from)),!n.empty&&!n.$from.parent.inlineContent&&(a=Hq(t,n.to))),t.docView.setSelection(r,o,t,e),Vq&&(s&&Wq(s),a&&Wq(a)),n.visible?t.dom.classList.remove("ProseMirror-hideselection"):(t.dom.classList.add("ProseMirror-hideselection"),"onselectionchange"in document&&Cnt(t))}t.domObserver.setCurSelection(),t.domObserver.connectSelection()}}const Vq=oi||_a&&ohe<63;function Hq(t,e){let{node:n,offset:r}=t.docView.domFromPos(e,0),o=r<n.childNodes.length?n.childNodes[r]:null,s=r?n.childNodes[r-1]:null;if(oi&&o&&o.contentEditable=="false")return JA(o);if((!o||o.contentEditable=="false")&&(!s||s.contentEditable=="false")){if(o)return JA(o);if(s)return JA(s)}}function JA(t){return t.contentEditable="true",oi&&t.draggable&&(t.draggable=!1,t.wasDraggable=!0),t}function Wq(t){t.contentEditable="false",t.wasDraggable&&(t.draggable=!0,t.wasDraggable=null)}function Cnt(t){let e=t.dom.ownerDocument;e.removeEventListener("selectionchange",t.input.hideSelectionGuard);let n=t.domSelectionRange(),r=n.anchorNode,o=n.anchorOffset;e.addEventListener("selectionchange",t.input.hideSelectionGuard=()=>{(n.anchorNode!=r||n.anchorOffset!=o)&&(e.removeEventListener("selectionchange",t.input.hideSelectionGuard),setTimeout(()=>{(!ghe(t)||t.state.selection.visible)&&t.dom.classList.remove("ProseMirror-hideselection")},20))})}function Snt(t){let e=t.domSelection(),n=document.createRange();if(!e)return;let r=t.cursorWrapper.dom,o=r.nodeName=="IMG";o?n.setStart(r.parentNode,sa(r)+1):n.setStart(r,0),n.collapse(!0),e.removeAllRanges(),e.addRange(n),!o&&!t.state.selection.visible&&Ei&&qp<=11&&(r.disabled=!0,r.disabled=!1)}function yhe(t,e){if(e instanceof Sn){let n=t.docView.descAt(e.from);n!=t.lastSelectedViewDesc&&(Yq(t),n&&n.selectNode(),t.lastSelectedViewDesc=n)}else Yq(t)}function Yq(t){t.lastSelectedViewDesc&&(t.lastSelectedViewDesc.parent&&t.lastSelectedViewDesc.deselectNode(),t.lastSelectedViewDesc=void 0)}function sP(t,e,n,r){return t.someProp("createSelectionBetween",o=>o(t,e,n))||Hn.between(e,n,r)}function Gq(t){return t.editable&&!t.hasFocus()?!1:vhe(t)}function vhe(t){let e=t.domSelectionRange();if(!e.anchorNode)return!1;try{return t.dom.contains(e.anchorNode.nodeType==3?e.anchorNode.parentNode:e.anchorNode)&&(t.editable||t.dom.contains(e.focusNode.nodeType==3?e.focusNode.parentNode:e.focusNode))}catch{return!1}}function Ent(t){let e=t.docView.domFromPos(t.state.selection.anchor,0),n=t.domSelectionRange();return Tg(e.node,e.offset,n.anchorNode,n.anchorOffset)}function eR(t,e){let{$anchor:n,$head:r}=t.selection,o=e>0?n.max(r):n.min(r),s=o.parent.inlineContent?o.depth?t.doc.resolve(e>0?o.after():o.before()):null:o;return s&&rr.findFrom(s,e)}function Cp(t,e){return t.dispatch(t.state.tr.setSelection(e).scrollIntoView()),!0}function qq(t,e,n){let r=t.state.selection;if(r instanceof Hn)if(n.indexOf("s")>-1){let{$head:o}=r,s=o.textOffset?null:e<0?o.nodeBefore:o.nodeAfter;if(!s||s.isText||!s.isLeaf)return!1;let a=t.state.doc.resolve(o.pos+s.nodeSize*(e<0?-1:1));return Cp(t,new Hn(r.$anchor,a))}else if(r.empty){if(t.endOfTextblock(e>0?"forward":"backward")){let o=eR(t.state,e);return o&&o instanceof Sn?Cp(t,o):!1}else if(!(Pl&&n.indexOf("m")>-1)){let o=r.$head,s=o.textOffset?null:e<0?o.nodeBefore:o.nodeAfter,a;if(!s||s.isText)return!1;let i=e<0?o.pos-s.nodeSize:o.pos;return s.isAtom||(a=t.docView.descAt(i))&&!a.contentDOM?Sn.isSelectable(s)?Cp(t,new Sn(e<0?t.state.doc.resolve(o.pos-s.nodeSize):o)):Ix?Cp(t,new Hn(t.state.doc.resolve(e<0?i:i+s.nodeSize))):!1:!1}}else return!1;else{if(r instanceof Sn&&r.node.isInline)return Cp(t,new Hn(e>0?r.$to:r.$from));{let o=eR(t.state,e);return o?Cp(t,o):!1}}}function Tj(t){return t.nodeType==3?t.nodeValue.length:t.childNodes.length}function lb(t,e){let n=t.pmViewDesc;return n&&n.size==0&&(e<0||t.nextSibling||t.nodeName!="BR")}function n0(t,e){return e<0?Nnt(t):Int(t)}function Nnt(t){let e=t.domSelectionRange(),n=e.focusNode,r=e.focusOffset;if(!n)return;let o,s,a=!1;for(iu&&n.nodeType==1&&r<Tj(n)&&lb(n.childNodes[r],-1)&&(a=!0);;)if(r>0){if(n.nodeType!=1)break;{let i=n.childNodes[r-1];if(lb(i,-1))o=n,s=--r;else if(i.nodeType==3)n=i,r=n.nodeValue.length;else break}}else{if(whe(n))break;{let i=n.previousSibling;for(;i&&lb(i,-1);)o=n.parentNode,s=sa(i),i=i.previousSibling;if(i)n=i,r=Tj(n);else{if(n=n.parentNode,n==t.dom)break;r=0}}}a?tR(t,n,r):o&&tR(t,o,s)}function Int(t){let e=t.domSelectionRange(),n=e.focusNode,r=e.focusOffset;if(!n)return;let o=Tj(n),s,a;for(;;)if(r<o){if(n.nodeType!=1)break;let i=n.childNodes[r];if(lb(i,1))s=n,a=++r;else break}else{if(whe(n))break;{let i=n.nextSibling;for(;i&&lb(i,1);)s=i.parentNode,a=sa(i)+1,i=i.nextSibling;if(i)n=i,r=0,o=Tj(n);else{if(n=n.parentNode,n==t.dom)break;r=o=0}}}s&&tR(t,s,a)}function whe(t){let e=t.pmViewDesc;return e&&e.node&&e.node.isBlock}function Ant(t,e){for(;t&&e==t.childNodes.length&&!Nx(t);)e=sa(t)+1,t=t.parentNode;for(;t&&e<t.childNodes.length;){let n=t.childNodes[e];if(n.nodeType==3)return n;if(n.nodeType==1&&n.contentEditable=="false")break;t=n,e=0}}function _nt(t,e){for(;t&&!e&&!Nx(t);)e=sa(t),t=t.parentNode;for(;t&&e;){let n=t.childNodes[e-1];if(n.nodeType==3)return n;if(n.nodeType==1&&n.contentEditable=="false")break;t=n,e=t.childNodes.length}}function tR(t,e,n){if(e.nodeType!=3){let s,a;(a=Ant(e,n))?(e=a,n=0):(s=_nt(e,n))&&(e=s,n=s.nodeValue.length)}let r=t.domSelection();if(!r)return;if(vE(r)){let s=document.createRange();s.setEnd(e,n),s.setStart(e,n),r.removeAllRanges(),r.addRange(s)}else r.extend&&r.extend(e,n);t.domObserver.setCurSelection();let{state:o}=t;setTimeout(()=>{t.state==o&&od(t)},50)}function Kq(t,e){let n=t.state.doc.resolve(e);if(!(_a||Jtt)&&n.parent.inlineContent){let o=t.coordsAtPos(e);if(e>n.start()){let s=t.coordsAtPos(e-1),a=(s.top+s.bottom)/2;if(a>o.top&&a<o.bottom&&Math.abs(s.left-o.left)>1)return s.left<o.left?"ltr":"rtl"}if(e<n.end()){let s=t.coordsAtPos(e+1),a=(s.top+s.bottom)/2;if(a>o.top&&a<o.bottom&&Math.abs(s.left-o.left)>1)return s.left>o.left?"ltr":"rtl"}}return getComputedStyle(t.dom).direction=="rtl"?"rtl":"ltr"}function Zq(t,e,n){let r=t.state.selection;if(r instanceof Hn&&!r.empty||n.indexOf("s")>-1||Pl&&n.indexOf("m")>-1)return!1;let{$from:o,$to:s}=r;if(!o.parent.inlineContent||t.endOfTextblock(e<0?"up":"down")){let a=eR(t.state,e);if(a&&a instanceof Sn)return Cp(t,a)}if(!o.parent.inlineContent){let a=e<0?o:s,i=r instanceof dl?rr.near(a,e):rr.findFrom(a,e);return i?Cp(t,i):!1}return!1}function Qq(t,e){if(!(t.state.selection instanceof Hn))return!0;let{$head:n,$anchor:r,empty:o}=t.state.selection;if(!n.sameParent(r))return!0;if(!o)return!1;if(t.endOfTextblock(e>0?"forward":"backward"))return!0;let s=!n.textOffset&&(e<0?n.nodeBefore:n.nodeAfter);if(s&&!s.isText){let a=t.state.tr;return e<0?a.delete(n.pos-s.nodeSize,n.pos):a.delete(n.pos,n.pos+s.nodeSize),t.dispatch(a),!0}return!1}function Jq(t,e,n){t.domObserver.stop(),e.contentEditable=n,t.domObserver.start()}function Mnt(t){if(!oi||t.state.selection.$head.parentOffset>0)return!1;let{focusNode:e,focusOffset:n}=t.domSelectionRange();if(e&&e.nodeType==1&&n==0&&e.firstChild&&e.firstChild.contentEditable=="false"){let r=e.firstChild;Jq(t,r,"true"),setTimeout(()=>Jq(t,r,"false"),20)}return!1}function Rnt(t){let e="";return t.ctrlKey&&(e+="c"),t.metaKey&&(e+="m"),t.altKey&&(e+="a"),t.shiftKey&&(e+="s"),e}function Tnt(t,e){let n=e.keyCode,r=Rnt(e);if(n==8||Pl&&n==72&&r=="c")return Qq(t,-1)||n0(t,-1);if(n==46&&!e.shiftKey||Pl&&n==68&&r=="c")return Qq(t,1)||n0(t,1);if(n==13||n==27)return!0;if(n==37||Pl&&n==66&&r=="c"){let o=n==37?Kq(t,t.state.selection.from)=="ltr"?-1:1:-1;return qq(t,o,r)||n0(t,o)}else if(n==39||Pl&&n==70&&r=="c"){let o=n==39?Kq(t,t.state.selection.from)=="ltr"?1:-1:1;return qq(t,o,r)||n0(t,o)}else{if(n==38||Pl&&n==80&&r=="c")return Zq(t,-1,r)||n0(t,-1);if(n==40||Pl&&n==78&&r=="c")return Mnt(t)||Zq(t,1,r)||n0(t,1);if(r==(Pl?"m":"c")&&(n==66||n==73||n==89||n==90))return!0}return!1}function aP(t,e){t.someProp("transformCopied",g=>{e=g(e,t)});let n=[],{content:r,openStart:o,openEnd:s}=e;for(;o>1&&s>1&&r.childCount==1&&r.firstChild.childCount==1;){o--,s--;let g=r.firstChild;n.push(g.type.name,g.attrs!=g.type.defaultAttrs?g.attrs:null),r=g.content}let a=t.someProp("clipboardSerializer")||t1.fromSchema(t.state.schema),i=She(),l=i.createElement("div");l.appendChild(a.serializeFragment(r,{document:i}));let u=l.firstChild,d,f=0;for(;u&&u.nodeType==1&&(d=Che[u.nodeName.toLowerCase()]);){for(let g=d.length-1;g>=0;g--){let w=i.createElement(d[g]);for(;l.firstChild;)w.appendChild(l.firstChild);l.appendChild(w),f++}u=l.firstChild}u&&u.nodeType==1&&u.setAttribute("data-pm-slice",`${o} ${s}${f?` -${f}`:""} ${JSON.stringify(n)}`);let m=t.someProp("clipboardTextSerializer",g=>g(e,t))||e.content.textBetween(0,e.content.size,`
2108
2109 `);return{dom:l,text:m,slice:e}}function bhe(t,e,n,r,o){let s=o.parent.type.spec.code,a,i;if(!n&&!e)return null;let l=e&&(r||s||!n);if(l){if(t.someProp("transformPastedText",m=>{e=m(e,s||r,t)}),s)return e?new tn(Mt.from(t.state.schema.text(e.replace(/\r\n?/g,`
2110 `))),0,0):tn.empty;let f=t.someProp("clipboardTextParser",m=>m(e,o,r,t));if(f)i=f;else{let m=o.marks(),{schema:g}=t.state,w=t1.fromSchema(g);a=document.createElement("div"),e.split(/(?:\r\n?|\n)+/).forEach(b=>{let j=a.appendChild(document.createElement("p"));b&&j.appendChild(w.serializeNode(g.text(b,m)))})}}else t.someProp("transformPastedHTML",f=>{n=f(n,t)}),a=Ont(n),Ix&&znt(a);let u=a&&a.querySelector("[data-pm-slice]"),d=u&&/^(\d+) (\d+)(?: -(\d+))? (.*)/.exec(u.getAttribute("data-pm-slice")||"");if(d&&d[3])for(let f=+d[3];f>0;f--){let m=a.firstChild;for(;m&&m.nodeType!=1;)m=m.nextSibling;if(!m)break;a=m}if(i||(i=(t.someProp("clipboardParser")||t.someProp("domParser")||sb.fromSchema(t.state.schema)).parseSlice(a,{preserveWhitespace:!!(l||d),context:o,ruleFromNode(m){return m.nodeName=="BR"&&!m.nextSibling&&m.parentNode&&!Dnt.test(m.parentNode.nodeName)?{ignore:!0}:null}})),d)i=Fnt(Xq(i,+d[1],+d[2]),d[4]);else if(i=tn.maxOpen(Lnt(i.content,o),!0),i.openStart||i.openEnd){let f=0,m=0;for(let g=i.content.firstChild;f<i.openStart&&!g.type.spec.isolating;f++,g=g.firstChild);for(let g=i.content.lastChild;m<i.openEnd&&!g.type.spec.isolating;m++,g=g.lastChild);i=Xq(i,f,m)}return t.someProp("transformPasted",f=>{i=f(i,t)}),i}const Dnt=/^(a|abbr|acronym|b|cite|code|del|em|i|ins|kbd|label|output|q|ruby|s|samp|span|strong|sub|sup|time|u|tt|var)$/i;function Lnt(t,e){if(t.childCount<2)return t;for(let n=e.depth;n>=0;n--){let o=e.node(n).contentMatchAt(e.index(n)),s,a=[];if(t.forEach(i=>{if(!a)return;let l=o.findWrapping(i.type),u;if(!l)return a=null;if(u=a.length&&s.length&&khe(l,s,i,a[a.length-1],0))a[a.length-1]=u;else{a.length&&(a[a.length-1]=jhe(a[a.length-1],s.length));let d=xhe(i,l);a.push(d),o=o.matchType(d.type),s=l}}),a)return Mt.from(a)}return t}function xhe(t,e,n=0){for(let r=e.length-1;r>=n;r--)t=e[r].create(null,Mt.from(t));return t}function khe(t,e,n,r,o){if(o<t.length&&o<e.length&&t[o]==e[o]){let s=khe(t,e,n,r.lastChild,o+1);if(s)return r.copy(r.content.replaceChild(r.childCount-1,s));if(r.contentMatchAt(r.childCount).matchType(o==t.length-1?n.type:t[o+1]))return r.copy(r.content.append(Mt.from(xhe(n,t,o+1))))}}function jhe(t,e){if(e==0)return t;let n=t.content.replaceChild(t.childCount-1,jhe(t.lastChild,e-1)),r=t.contentMatchAt(t.childCount).fillBefore(Mt.empty,!0);return t.copy(n.append(r))}function nR(t,e,n,r,o,s){let a=e<0?t.firstChild:t.lastChild,i=a.content;return t.childCount>1&&(s=0),o<r-1&&(i=nR(i,e,n,r,o+1,s)),o>=n&&(i=e<0?a.contentMatchAt(0).fillBefore(i,s<=o).append(i):i.append(a.contentMatchAt(a.childCount).fillBefore(Mt.empty,!0))),t.replaceChild(e<0?0:t.childCount-1,a.copy(i))}function Xq(t,e,n){return e<t.openStart&&(t=new tn(nR(t.content,-1,e,t.openStart,0,t.openEnd),e,t.openEnd)),n<t.openEnd&&(t=new tn(nR(t.content,1,n,t.openEnd,0,0),t.openStart,n)),t}const Che={thead:["table"],tbody:["table"],tfoot:["table"],caption:["table"],colgroup:["table"],col:["table","colgroup"],tr:["table","tbody"],td:["table","tbody","tr"],th:["table","tbody","tr"]};let eK=null;function She(){return eK||(eK=document.implementation.createHTMLDocument("title"))}let XA=null;function Pnt(t){let e=window.trustedTypes;return e?(XA||(XA=e.defaultPolicy||e.createPolicy("ProseMirrorClipboard",{createHTML:n=>n})),XA.createHTML(t)):t}function Ont(t){let e=/^(\s*<meta [^>]*>)*/.exec(t);e&&(t=t.slice(e[0].length));let n=She().createElement("div"),r=/<([a-z][^>\s]+)/i.exec(t),o;if((o=r&&Che[r[1].toLowerCase()])&&(t=o.map(s=>"<"+s+">").join("")+t+o.map(s=>"</"+s+">").reverse().join("")),n.innerHTML=Pnt(t),o)for(let s=0;s<o.length;s++)n=n.querySelector(o[s])||n;return n}function znt(t){let e=t.querySelectorAll(_a?"span:not([class]):not([style])":"span.Apple-converted-space");for(let n=0;n<e.length;n++){let r=e[n];r.childNodes.length==1&&r.textContent==" "&&r.parentNode&&r.parentNode.replaceChild(t.ownerDocument.createTextNode(" "),r)}}function Fnt(t,e){if(!t.size)return t;let n=t.content.firstChild.type.schema,r;try{r=JSON.parse(e)}catch{return t}let{content:o,openStart:s,openEnd:a}=t;for(let i=r.length-2;i>=0;i-=2){let l=n.nodes[r[i]];if(!l||l.hasRequiredAttrs())break;o=Mt.from(l.create(r[i+1],o)),s++,a++}return new tn(o,s,a)}const si={},ai={},Bnt={touchstart:!0,touchmove:!0};class Unt{constructor(){this.shiftKey=!1,this.mouseDown=null,this.lastKeyCode=null,this.lastKeyCodeTime=0,this.lastClick={time:0,x:0,y:0,type:""},this.lastSelectionOrigin=null,this.lastSelectionTime=0,this.lastIOSEnter=0,this.lastIOSEnterFallbackTimeout=-1,this.lastFocus=0,this.lastTouch=0,this.lastChromeDelete=0,this.composing=!1,this.compositionNode=null,this.composingTimeout=-1,this.compositionNodes=[],this.compositionEndedAt=-2e8,this.compositionID=1,this.compositionPendingChanges=0,this.domChangeCount=0,this.eventHandlers=Object.create(null),this.hideSelectionGuard=null}}function $nt(t){for(let e in si){let n=si[e];t.dom.addEventListener(e,t.input.eventHandlers[e]=r=>{Hnt(t,r)&&!iP(t,r)&&(t.editable||!(r.type in ai))&&n(t,r)},Bnt[e]?{passive:!0}:void 0)}oi&&t.dom.addEventListener("input",()=>null),rR(t)}function Fp(t,e){t.input.lastSelectionOrigin=e,t.input.lastSelectionTime=Date.now()}function Vnt(t){t.domObserver.stop();for(let e in t.input.eventHandlers)t.dom.removeEventListener(e,t.input.eventHandlers[e]);clearTimeout(t.input.composingTimeout),clearTimeout(t.input.lastIOSEnterFallbackTimeout)}function rR(t){t.someProp("handleDOMEvents",e=>{for(let n in e)t.input.eventHandlers[n]||t.dom.addEventListener(n,t.input.eventHandlers[n]=r=>iP(t,r))})}function iP(t,e){return t.someProp("handleDOMEvents",n=>{let r=n[e.type];return r?r(t,e)||e.defaultPrevented:!1})}function Hnt(t,e){if(!e.bubbles)return!0;if(e.defaultPrevented)return!1;for(let n=e.target;n!=t.dom;n=n.parentNode)if(!n||n.nodeType==11||n.pmViewDesc&&n.pmViewDesc.stopEvent(e))return!1;return!0}function Wnt(t,e){!iP(t,e)&&si[e.type]&&(t.editable||!(e.type in ai))&&si[e.type](t,e)}ai.keydown=(t,e)=>{let n=e;if(t.input.shiftKey=n.keyCode==16||n.shiftKey,!Nhe(t,n)&&(t.input.lastKeyCode=n.keyCode,t.input.lastKeyCodeTime=Date.now(),!(ed&&_a&&n.keyCode==13)))if(n.keyCode!=229&&t.domObserver.forceFlush(),Ey&&n.keyCode==13&&!n.ctrlKey&&!n.altKey&&!n.metaKey){let r=Date.now();t.input.lastIOSEnter=r,t.input.lastIOSEnterFallbackTimeout=setTimeout(()=>{t.input.lastIOSEnter==r&&(t.someProp("handleKeyDown",o=>o(t,Em(13,"Enter"))),t.input.lastIOSEnter=0)},200)}else t.someProp("handleKeyDown",r=>r(t,n))||Tnt(t,n)?n.preventDefault():Fp(t,"key")};ai.keyup=(t,e)=>{e.keyCode==16&&(t.input.shiftKey=!1)};ai.keypress=(t,e)=>{let n=e;if(Nhe(t,n)||!n.charCode||n.ctrlKey&&!n.altKey||Pl&&n.metaKey)return;if(t.someProp("handleKeyPress",o=>o(t,n))){n.preventDefault();return}let r=t.state.selection;if(!(r instanceof Hn)||!r.$from.sameParent(r.$to)){let o=String.fromCharCode(n.charCode);!/[\r\n]/.test(o)&&!t.someProp("handleTextInput",s=>s(t,r.$from.pos,r.$to.pos,o))&&t.dispatch(t.state.tr.insertText(o).scrollIntoView()),n.preventDefault()}};function bE(t){return{left:t.clientX,top:t.clientY}}function Ynt(t,e){let n=e.x-t.clientX,r=e.y-t.clientY;return n*n+r*r<100}function lP(t,e,n,r,o){if(r==-1)return!1;let s=t.state.doc.resolve(r);for(let a=s.depth+1;a>0;a--)if(t.someProp(e,i=>a>s.depth?i(t,n,s.nodeAfter,s.before(a),o,!0):i(t,n,s.node(a),s.before(a),o,!1)))return!0;return!1}function K0(t,e,n){if(t.focused||t.focus(),t.state.selection.eq(e))return;let r=t.state.tr.setSelection(e);r.setMeta("pointer",!0),t.dispatch(r)}function Gnt(t,e){if(e==-1)return!1;let n=t.state.doc.resolve(e),r=n.nodeAfter;return r&&r.isAtom&&Sn.isSelectable(r)?(K0(t,new Sn(n)),!0):!1}function qnt(t,e){if(e==-1)return!1;let n=t.state.selection,r,o;n instanceof Sn&&(r=n.node);let s=t.state.doc.resolve(e);for(let a=s.depth+1;a>0;a--){let i=a>s.depth?s.nodeAfter:s.node(a);if(Sn.isSelectable(i)){r&&n.$from.depth>0&&a>=n.$from.depth&&s.before(n.$from.depth+1)==n.$from.pos?o=s.before(n.$from.depth):o=s.before(a);break}}return o!=null?(K0(t,Sn.create(t.state.doc,o)),!0):!1}function Knt(t,e,n,r,o){return lP(t,"handleClickOn",e,n,r)||t.someProp("handleClick",s=>s(t,e,r))||(o?qnt(t,n):Gnt(t,n))}function Znt(t,e,n,r){return lP(t,"handleDoubleClickOn",e,n,r)||t.someProp("handleDoubleClick",o=>o(t,e,r))}function Qnt(t,e,n,r){return lP(t,"handleTripleClickOn",e,n,r)||t.someProp("handleTripleClick",o=>o(t,e,r))||Jnt(t,n,r)}function Jnt(t,e,n){if(n.button!=0)return!1;let r=t.state.doc;if(e==-1)return r.inlineContent?(K0(t,Hn.create(r,0,r.content.size)),!0):!1;let o=r.resolve(e);for(let s=o.depth+1;s>0;s--){let a=s>o.depth?o.nodeAfter:o.node(s),i=o.before(s);if(a.inlineContent)K0(t,Hn.create(r,i+1,i+1+a.content.size));else if(Sn.isSelectable(a))K0(t,Sn.create(r,i));else continue;return!0}}function cP(t){return Dj(t)}const Ehe=Pl?"metaKey":"ctrlKey";si.mousedown=(t,e)=>{let n=e;t.input.shiftKey=n.shiftKey;let r=cP(t),o=Date.now(),s="singleClick";o-t.input.lastClick.time<500&&Ynt(n,t.input.lastClick)&&!n[Ehe]&&(t.input.lastClick.type=="singleClick"?s="doubleClick":t.input.lastClick.type=="doubleClick"&&(s="tripleClick")),t.input.lastClick={time:o,x:n.clientX,y:n.clientY,type:s};let a=t.posAtCoords(bE(n));a&&(s=="singleClick"?(t.input.mouseDown&&t.input.mouseDown.done(),t.input.mouseDown=new Xnt(t,a,n,!!r)):(s=="doubleClick"?Znt:Qnt)(t,a.pos,a.inside,n)?n.preventDefault():Fp(t,"pointer"))};class Xnt{constructor(e,n,r,o){this.view=e,this.pos=n,this.event=r,this.flushed=o,this.delayedSelectionSync=!1,this.mightDrag=null,this.startDoc=e.state.doc,this.selectNode=!!r[Ehe],this.allowDefault=r.shiftKey;let s,a;if(n.inside>-1)s=e.state.doc.nodeAt(n.inside),a=n.inside;else{let d=e.state.doc.resolve(n.pos);s=d.parent,a=d.depth?d.before():0}const i=o?null:r.target,l=i?e.docView.nearestDesc(i,!0):null;this.target=l&&l.dom.nodeType==1?l.dom:null;let{selection:u}=e.state;(r.button==0&&s.type.spec.draggable&&s.type.spec.selectable!==!1||u instanceof Sn&&u.from<=a&&u.to>a)&&(this.mightDrag={node:s,pos:a,addAttr:!!(this.target&&!this.target.draggable),setUneditable:!!(this.target&&iu&&!this.target.hasAttribute("contentEditable"))}),this.target&&this.mightDrag&&(this.mightDrag.addAttr||this.mightDrag.setUneditable)&&(this.view.domObserver.stop(),this.mightDrag.addAttr&&(this.target.draggable=!0),this.mightDrag.setUneditable&&setTimeout(()=>{this.view.input.mouseDown==this&&this.target.setAttribute("contentEditable","false")},20),this.view.domObserver.start()),e.root.addEventListener("mouseup",this.up=this.up.bind(this)),e.root.addEventListener("mousemove",this.move=this.move.bind(this)),Fp(e,"pointer")}done(){this.view.root.removeEventListener("mouseup",this.up),this.view.root.removeEventListener("mousemove",this.move),this.mightDrag&&this.target&&(this.view.domObserver.stop(),this.mightDrag.addAttr&&this.target.removeAttribute("draggable"),this.mightDrag.setUneditable&&this.target.removeAttribute("contentEditable"),this.view.domObserver.start()),this.delayedSelectionSync&&setTimeout(()=>od(this.view)),this.view.input.mouseDown=null}up(e){if(this.done(),!this.view.dom.contains(e.target))return;let n=this.pos;this.view.state.doc!=this.startDoc&&(n=this.view.posAtCoords(bE(e))),this.updateAllowDefault(e),this.allowDefault||!n?Fp(this.view,"pointer"):Knt(this.view,n.pos,n.inside,e,this.selectNode)?e.preventDefault():e.button==0&&(this.flushed||oi&&this.mightDrag&&!this.mightDrag.node.isAtom||_a&&!this.view.state.selection.visible&&Math.min(Math.abs(n.pos-this.view.state.selection.from),Math.abs(n.pos-this.view.state.selection.to))<=2)?(K0(this.view,rr.near(this.view.state.doc.resolve(n.pos))),e.preventDefault()):Fp(this.view,"pointer")}move(e){this.updateAllowDefault(e),Fp(this.view,"pointer"),e.buttons==0&&this.done()}updateAllowDefault(e){!this.allowDefault&&(Math.abs(this.event.x-e.clientX)>4||Math.abs(this.event.y-e.clientY)>4)&&(this.allowDefault=!0)}}si.touchstart=t=>{t.input.lastTouch=Date.now(),cP(t),Fp(t,"pointer")};si.touchmove=t=>{t.input.lastTouch=Date.now(),Fp(t,"pointer")};si.contextmenu=t=>cP(t);function Nhe(t,e){return t.composing?!0:oi&&Math.abs(e.timeStamp-t.input.compositionEndedAt)<500?(t.input.compositionEndedAt=-2e8,!0):!1}const ert=ed?5e3:-1;ai.compositionstart=ai.compositionupdate=t=>{if(!t.composing){t.domObserver.flush();let{state:e}=t,n=e.selection.$to;if(e.selection instanceof Hn&&(e.storedMarks||!n.textOffset&&n.parentOffset&&n.nodeBefore.marks.some(r=>r.type.spec.inclusive===!1)))t.markCursor=t.state.storedMarks||n.marks(),Dj(t,!0),t.markCursor=null;else if(Dj(t,!e.selection.empty),iu&&e.selection.empty&&n.parentOffset&&!n.textOffset&&n.nodeBefore.marks.length){let r=t.domSelectionRange();for(let o=r.focusNode,s=r.focusOffset;o&&o.nodeType==1&&s!=0;){let a=s<0?o.lastChild:o.childNodes[s-1];if(!a)break;if(a.nodeType==3){let i=t.domSelection();i&&i.collapse(a,a.nodeValue.length);break}else o=a,s=-1}}t.input.composing=!0}Ihe(t,ert)};ai.compositionend=(t,e)=>{t.composing&&(t.input.composing=!1,t.input.compositionEndedAt=e.timeStamp,t.input.compositionPendingChanges=t.domObserver.pendingRecords().length?t.input.compositionID:0,t.input.compositionNode=null,t.input.compositionPendingChanges&&Promise.resolve().then(()=>t.domObserver.flush()),t.input.compositionID++,Ihe(t,20))};function Ihe(t,e){clearTimeout(t.input.composingTimeout),e>-1&&(t.input.composingTimeout=setTimeout(()=>Dj(t),e))}function Ahe(t){for(t.composing&&(t.input.composing=!1,t.input.compositionEndedAt=nrt());t.input.compositionNodes.length>0;)t.input.compositionNodes.pop().markParentsDirty()}function trt(t){let e=t.domSelectionRange();if(!e.focusNode)return null;let n=Gtt(e.focusNode,e.focusOffset),r=qtt(e.focusNode,e.focusOffset);if(n&&r&&n!=r){let o=r.pmViewDesc,s=t.domObserver.lastChangedTextNode;if(n==s||r==s)return s;if(!o||!o.isText(r.nodeValue))return r;if(t.input.compositionNode==r){let a=n.pmViewDesc;if(!(!a||!a.isText(n.nodeValue)))return r}}return n||r}function nrt(){let t=document.createEvent("Event");return t.initEvent("event",!0,!0),t.timeStamp}function Dj(t,e=!1){if(!(ed&&t.domObserver.flushingSoon>=0)){if(t.domObserver.forceFlush(),Ahe(t),e||t.docView&&t.docView.dirty){let n=oP(t);return n&&!n.eq(t.state.selection)?t.dispatch(t.state.tr.setSelection(n)):(t.markCursor||e)&&!t.state.selection.empty?t.dispatch(t.state.tr.deleteSelection()):t.updateState(t.state),!0}return!1}}function rrt(t,e){if(!t.dom.parentNode)return;let n=t.dom.parentNode.appendChild(document.createElement("div"));n.appendChild(e),n.style.cssText="position: fixed; left: -10000px; top: 10px";let r=getSelection(),o=document.createRange();o.selectNodeContents(e),t.dom.blur(),r.removeAllRanges(),r.addRange(o),setTimeout(()=>{n.parentNode&&n.parentNode.removeChild(n),t.focus()},50)}const y2=Ei&&qp<15||Ey&&Xtt<604;si.copy=ai.cut=(t,e)=>{let n=e,r=t.state.selection,o=n.type=="cut";if(r.empty)return;let s=y2?null:n.clipboardData,a=r.content(),{dom:i,text:l}=aP(t,a);s?(n.preventDefault(),s.clearData(),s.setData("text/html",i.innerHTML),s.setData("text/plain",l)):rrt(t,i),o&&t.dispatch(t.state.tr.deleteSelection().scrollIntoView().setMeta("uiEvent","cut"))};function ort(t){return t.openStart==0&&t.openEnd==0&&t.content.childCount==1?t.content.firstChild:null}function srt(t,e){if(!t.dom.parentNode)return;let n=t.input.shiftKey||t.state.selection.$from.parent.type.spec.code,r=t.dom.parentNode.appendChild(document.createElement(n?"textarea":"div"));n||(r.contentEditable="true"),r.style.cssText="position: fixed; left: -10000px; top: 10px",r.focus();let o=t.input.shiftKey&&t.input.lastKeyCode!=45;setTimeout(()=>{t.focus(),r.parentNode&&r.parentNode.removeChild(r),n?v2(t,r.value,null,o,e):v2(t,r.textContent,r.innerHTML,o,e)},50)}function v2(t,e,n,r,o){let s=bhe(t,e,n,r,t.state.selection.$from);if(t.someProp("handlePaste",l=>l(t,o,s||tn.empty)))return!0;if(!s)return!1;let a=ort(s),i=a?t.state.tr.replaceSelectionWith(a,r):t.state.tr.replaceSelection(s);return t.dispatch(i.scrollIntoView().setMeta("paste",!0).setMeta("uiEvent","paste")),!0}function _he(t){let e=t.getData("text/plain")||t.getData("Text");if(e)return e;let n=t.getData("text/uri-list");return n?n.replace(/\r?\n/g," "):""}ai.paste=(t,e)=>{let n=e;if(t.composing&&!ed)return;let r=y2?null:n.clipboardData,o=t.input.shiftKey&&t.input.lastKeyCode!=45;r&&v2(t,_he(r),r.getData("text/html"),o,n)?n.preventDefault():srt(t,n)};class Mhe{constructor(e,n,r){this.slice=e,this.move=n,this.node=r}}const art=Pl?"altKey":"ctrlKey";function Rhe(t,e){let n=t.someProp("dragCopies",r=>!r(e));return n??!e[art]}si.dragstart=(t,e)=>{let n=e,r=t.input.mouseDown;if(r&&r.done(),!n.dataTransfer)return;let o=t.state.selection,s=o.empty?null:t.posAtCoords(bE(n)),a;if(!(s&&s.pos>=o.from&&s.pos<=(o instanceof Sn?o.to-1:o.to))){if(r&&r.mightDrag)a=Sn.create(t.state.doc,r.mightDrag.pos);else if(n.target&&n.target.nodeType==1){let f=t.docView.nearestDesc(n.target,!0);f&&f.node.type.spec.draggable&&f!=t.docView&&(a=Sn.create(t.state.doc,f.posBefore))}}let i=(a||t.state.selection).content(),{dom:l,text:u,slice:d}=aP(t,i);(!n.dataTransfer.files.length||!_a||ohe>120)&&n.dataTransfer.clearData(),n.dataTransfer.setData(y2?"Text":"text/html",l.innerHTML),n.dataTransfer.effectAllowed="copyMove",y2||n.dataTransfer.setData("text/plain",u),t.dragging=new Mhe(d,Rhe(t,n),a)};si.dragend=t=>{let e=t.dragging;window.setTimeout(()=>{t.dragging==e&&(t.dragging=null)},50)};ai.dragover=ai.dragenter=(t,e)=>e.preventDefault();ai.drop=(t,e)=>{let n=e,r=t.dragging;if(t.dragging=null,!n.dataTransfer)return;let o=t.posAtCoords(bE(n));if(!o)return;let s=t.state.doc.resolve(o.pos),a=r&&r.slice;a?t.someProp("transformPasted",w=>{a=w(a,t)}):a=bhe(t,_he(n.dataTransfer),y2?null:n.dataTransfer.getData("text/html"),!1,s);let i=!!(r&&Rhe(t,n));if(t.someProp("handleDrop",w=>w(t,n,a||tn.empty,i))){n.preventDefault();return}if(!a)return;n.preventDefault();let l=a?Dtt(t.state.doc,s.pos,a):s.pos;l==null&&(l=s.pos);let u=t.state.tr;if(i){let{node:w}=r;w?w.replace(u):u.deleteSelection()}let d=u.mapping.map(l),f=a.openStart==0&&a.openEnd==0&&a.content.childCount==1,m=u.doc;if(f?u.replaceRangeWith(d,d,a.content.firstChild):u.replaceRange(d,d,a),u.doc.eq(m))return;let g=u.doc.resolve(d);if(f&&Sn.isSelectable(a.content.firstChild)&&g.nodeAfter&&g.nodeAfter.sameMarkup(a.content.firstChild))u.setSelection(new Sn(g));else{let w=u.mapping.map(l);u.mapping.maps[u.mapping.maps.length-1].forEach((b,j,S,I)=>w=I),u.setSelection(sP(t,g,u.doc.resolve(w)))}t.focus(),t.dispatch(u.setMeta("uiEvent","drop"))};si.focus=t=>{t.input.lastFocus=Date.now(),t.focused||(t.domObserver.stop(),t.dom.classList.add("ProseMirror-focused"),t.domObserver.start(),t.focused=!0,setTimeout(()=>{t.docView&&t.hasFocus()&&!t.domObserver.currentSelection.eq(t.domSelectionRange())&&od(t)},20))};si.blur=(t,e)=>{let n=e;t.focused&&(t.domObserver.stop(),t.dom.classList.remove("ProseMirror-focused"),t.domObserver.start(),n.relatedTarget&&t.dom.contains(n.relatedTarget)&&t.domObserver.currentSelection.clear(),t.focused=!1)};si.beforeinput=(t,e)=>{if(_a&&ed&&e.inputType=="deleteContentBackward"){t.domObserver.flushSoon();let{domChangeCount:r}=t.input;setTimeout(()=>{if(t.input.domChangeCount!=r||(t.dom.blur(),t.focus(),t.someProp("handleKeyDown",s=>s(t,Em(8,"Backspace")))))return;let{$cursor:o}=t.state.selection;o&&o.pos>0&&t.dispatch(t.state.tr.delete(o.pos-1,o.pos).scrollIntoView())},50)}};for(let t in ai)si[t]=ai[t];function w2(t,e){if(t==e)return!0;for(let n in t)if(t[n]!==e[n])return!1;for(let n in e)if(!(n in t))return!1;return!0}class Lj{constructor(e,n){this.toDOM=e,this.spec=n||eg,this.side=this.spec.side||0}map(e,n,r,o){let{pos:s,deleted:a}=e.mapResult(n.from+o,this.side<0?-1:1);return a?null:new sl(s-r,s-r,this)}valid(){return!0}eq(e){return this==e||e instanceof Lj&&(this.spec.key&&this.spec.key==e.spec.key||this.toDOM==e.toDOM&&w2(this.spec,e.spec))}destroy(e){this.spec.destroy&&this.spec.destroy(e)}}class Zp{constructor(e,n){this.attrs=e,this.spec=n||eg}map(e,n,r,o){let s=e.map(n.from+o,this.spec.inclusiveStart?-1:1)-r,a=e.map(n.to+o,this.spec.inclusiveEnd?1:-1)-r;return s>=a?null:new sl(s,a,this)}valid(e,n){return n.from<n.to}eq(e){return this==e||e instanceof Zp&&w2(this.attrs,e.attrs)&&w2(this.spec,e.spec)}static is(e){return e.type instanceof Zp}destroy(){}}class uP{constructor(e,n){this.attrs=e,this.spec=n||eg}map(e,n,r,o){let s=e.mapResult(n.from+o,1);if(s.deleted)return null;let a=e.mapResult(n.to+o,-1);return a.deleted||a.pos<=s.pos?null:new sl(s.pos-r,a.pos-r,this)}valid(e,n){let{index:r,offset:o}=e.content.findIndex(n.from),s;return o==n.from&&!(s=e.child(r)).isText&&o+s.nodeSize==n.to}eq(e){return this==e||e instanceof uP&&w2(this.attrs,e.attrs)&&w2(this.spec,e.spec)}destroy(){}}class sl{constructor(e,n,r){this.from=e,this.to=n,this.type=r}copy(e,n){return new sl(e,n,this.type)}eq(e,n=0){return this.type.eq(e.type)&&this.from+n==e.from&&this.to+n==e.to}map(e,n,r){return this.type.map(e,this,n,r)}static widget(e,n,r){return new sl(e,e,new Lj(n,r))}static inline(e,n,r,o){return new sl(e,n,new Zp(r,o))}static node(e,n,r,o){return new sl(e,n,new uP(r,o))}get spec(){return this.type.spec}get inline(){return this.type instanceof Zp}get widget(){return this.type instanceof Lj}}const f0=[],eg={};class Go{constructor(e,n){this.local=e.length?e:f0,this.children=n.length?n:f0}static create(e,n){return n.length?Pj(n,e,0,eg):ja}find(e,n,r){let o=[];return this.findInner(e??0,n??1e9,o,0,r),o}findInner(e,n,r,o,s){for(let a=0;a<this.local.length;a++){let i=this.local[a];i.from<=n&&i.to>=e&&(!s||s(i.spec))&&r.push(i.copy(i.from+o,i.to+o))}for(let a=0;a<this.children.length;a+=3)if(this.children[a]<n&&this.children[a+1]>e){let i=this.children[a]+1;this.children[a+2].findInner(e-i,n-i,r,o+i,s)}}map(e,n,r){return this==ja||e.maps.length==0?this:this.mapInner(e,n,0,0,r||eg)}mapInner(e,n,r,o,s){let a;for(let i=0;i<this.local.length;i++){let l=this.local[i].map(e,r,o);l&&l.type.valid(n,l)?(a||(a=[])).push(l):s.onRemove&&s.onRemove(this.local[i].spec)}return this.children.length?irt(this.children,a||[],e,n,r,o,s):a?new Go(a.sort(tg),f0):ja}add(e,n){return n.length?this==ja?Go.create(e,n):this.addInner(e,n,0):this}addInner(e,n,r){let o,s=0;e.forEach((i,l)=>{let u=l+r,d;if(d=Dhe(n,i,u)){for(o||(o=this.children.slice());s<o.length&&o[s]<l;)s+=3;o[s]==l?o[s+2]=o[s+2].addInner(i,d,u+1):o.splice(s,0,l,l+i.nodeSize,Pj(d,i,u+1,eg)),s+=3}});let a=The(s?Lhe(n):n,-r);for(let i=0;i<a.length;i++)a[i].type.valid(e,a[i])||a.splice(i--,1);return new Go(a.length?this.local.concat(a).sort(tg):this.local,o||this.children)}remove(e){return e.length==0||this==ja?this:this.removeInner(e,0)}removeInner(e,n){let r=this.children,o=this.local;for(let s=0;s<r.length;s+=3){let a,i=r[s]+n,l=r[s+1]+n;for(let d=0,f;d<e.length;d++)(f=e[d])&&f.from>i&&f.to<l&&(e[d]=null,(a||(a=[])).push(f));if(!a)continue;r==this.children&&(r=this.children.slice());let u=r[s+2].removeInner(a,i+1);u!=ja?r[s+2]=u:(r.splice(s,3),s-=3)}if(o.length){for(let s=0,a;s<e.length;s++)if(a=e[s])for(let i=0;i<o.length;i++)o[i].eq(a,n)&&(o==this.local&&(o=this.local.slice()),o.splice(i--,1))}return r==this.children&&o==this.local?this:o.length||r.length?new Go(o,r):ja}forChild(e,n){if(this==ja)return this;if(n.isLeaf)return Go.empty;let r,o;for(let i=0;i<this.children.length;i+=3)if(this.children[i]>=e){this.children[i]==e&&(r=this.children[i+2]);break}let s=e+1,a=s+n.content.size;for(let i=0;i<this.local.length;i++){let l=this.local[i];if(l.from<a&&l.to>s&&l.type instanceof Zp){let u=Math.max(s,l.from)-s,d=Math.min(a,l.to)-s;u<d&&(o||(o=[])).push(l.copy(u,d))}}if(o){let i=new Go(o.sort(tg),f0);return r?new _p([i,r]):i}return r||ja}eq(e){if(this==e)return!0;if(!(e instanceof Go)||this.local.length!=e.local.length||this.children.length!=e.children.length)return!1;for(let n=0;n<this.local.length;n++)if(!this.local[n].eq(e.local[n]))return!1;for(let n=0;n<this.children.length;n+=3)if(this.children[n]!=e.children[n]||this.children[n+1]!=e.children[n+1]||!this.children[n+2].eq(e.children[n+2]))return!1;return!0}locals(e){return fP(this.localsInner(e))}localsInner(e){if(this==ja)return f0;if(e.inlineContent||!this.local.some(Zp.is))return this.local;let n=[];for(let r=0;r<this.local.length;r++)this.local[r].type instanceof Zp||n.push(this.local[r]);return n}forEachSet(e){e(this)}}Go.empty=new Go([],[]);Go.removeOverlap=fP;const ja=Go.empty;class _p{constructor(e){this.members=e}map(e,n){const r=this.members.map(o=>o.map(e,n,eg));return _p.from(r)}forChild(e,n){if(n.isLeaf)return Go.empty;let r=[];for(let o=0;o<this.members.length;o++){let s=this.members[o].forChild(e,n);s!=ja&&(s instanceof _p?r=r.concat(s.members):r.push(s))}return _p.from(r)}eq(e){if(!(e instanceof _p)||e.members.length!=this.members.length)return!1;for(let n=0;n<this.members.length;n++)if(!this.members[n].eq(e.members[n]))return!1;return!0}locals(e){let n,r=!0;for(let o=0;o<this.members.length;o++){let s=this.members[o].localsInner(e);if(s.length)if(!n)n=s;else{r&&(n=n.slice(),r=!1);for(let a=0;a<s.length;a++)n.push(s[a])}}return n?fP(r?n:n.sort(tg)):f0}static from(e){switch(e.length){case 0:return ja;case 1:return e[0];default:return new _p(e.every(n=>n instanceof Go)?e:e.reduce((n,r)=>n.concat(r instanceof Go?r:r.members),[]))}}forEachSet(e){for(let n=0;n<this.members.length;n++)this.members[n].forEachSet(e)}}function irt(t,e,n,r,o,s,a){let i=t.slice();for(let u=0,d=s;u<n.maps.length;u++){let f=0;n.maps[u].forEach((m,g,w,b)=>{let j=b-w-(g-m);for(let S=0;S<i.length;S+=3){let I=i[S+1];if(I<0||m>I+d-f)continue;let N=i[S]+d-f;g>=N?i[S+1]=m<=N?-2:-1:m>=d&&j&&(i[S]+=j,i[S+1]+=j)}f+=j}),d=n.maps[u].map(d,-1)}let l=!1;for(let u=0;u<i.length;u+=3)if(i[u+1]<0){if(i[u+1]==-2){l=!0,i[u+1]=-1;continue}let d=n.map(t[u]+s),f=d-o;if(f<0||f>=r.content.size){l=!0;continue}let m=n.map(t[u+1]+s,-1),g=m-o,{index:w,offset:b}=r.content.findIndex(f),j=r.maybeChild(w);if(j&&b==f&&b+j.nodeSize==g){let S=i[u+2].mapInner(n,j,d+1,t[u]+s+1,a);S!=ja?(i[u]=f,i[u+1]=g,i[u+2]=S):(i[u+1]=-2,l=!0)}else l=!0}if(l){let u=lrt(i,t,e,n,o,s,a),d=Pj(u,r,0,a);e=d.local;for(let f=0;f<i.length;f+=3)i[f+1]<0&&(i.splice(f,3),f-=3);for(let f=0,m=0;f<d.children.length;f+=3){let g=d.children[f];for(;m<i.length&&i[m]<g;)m+=3;i.splice(m,0,d.children[f],d.children[f+1],d.children[f+2])}}return new Go(e.sort(tg),i)}function The(t,e){if(!e||!t.length)return t;let n=[];for(let r=0;r<t.length;r++){let o=t[r];n.push(new sl(o.from+e,o.to+e,o.type))}return n}function lrt(t,e,n,r,o,s,a){function i(l,u){for(let d=0;d<l.local.length;d++){let f=l.local[d].map(r,o,u);f?n.push(f):a.onRemove&&a.onRemove(l.local[d].spec)}for(let d=0;d<l.children.length;d+=3)i(l.children[d+2],l.children[d]+u+1)}for(let l=0;l<t.length;l+=3)t[l+1]==-1&&i(t[l+2],e[l]+s+1);return n}function Dhe(t,e,n){if(e.isLeaf)return null;let r=n+e.nodeSize,o=null;for(let s=0,a;s<t.length;s++)(a=t[s])&&a.from>n&&a.to<r&&((o||(o=[])).push(a),t[s]=null);return o}function Lhe(t){let e=[];for(let n=0;n<t.length;n++)t[n]!=null&&e.push(t[n]);return e}function Pj(t,e,n,r){let o=[],s=!1;e.forEach((i,l)=>{let u=Dhe(t,i,l+n);if(u){s=!0;let d=Pj(u,i,n+l+1,r);d!=ja&&o.push(l,l+i.nodeSize,d)}});let a=The(s?Lhe(t):t,-n).sort(tg);for(let i=0;i<a.length;i++)a[i].type.valid(e,a[i])||(r.onRemove&&r.onRemove(a[i].spec),a.splice(i--,1));return a.length||o.length?new Go(a,o):ja}function tg(t,e){return t.from-e.from||t.to-e.to}function fP(t){let e=t;for(let n=0;n<e.length-1;n++){let r=e[n];if(r.from!=r.to)for(let o=n+1;o<e.length;o++){let s=e[o];if(s.from==r.from){s.to!=r.to&&(e==t&&(e=t.slice()),e[o]=s.copy(s.from,r.to),tK(e,o+1,s.copy(r.to,s.to)));continue}else{s.from<r.to&&(e==t&&(e=t.slice()),e[n]=r.copy(r.from,s.from),tK(e,o,r.copy(s.from,r.to)));break}}}return e}function tK(t,e,n){for(;e<t.length&&tg(n,t[e])>0;)e++;t.splice(e,0,n)}function e5(t){let e=[];return t.someProp("decorations",n=>{let r=n(t.state);r&&r!=ja&&e.push(r)}),t.cursorWrapper&&e.push(Go.create(t.state.doc,[t.cursorWrapper.deco])),_p.from(e)}const crt={childList:!0,characterData:!0,characterDataOldValue:!0,attributes:!0,attributeOldValue:!0,subtree:!0},urt=Ei&&qp<=11;class frt{constructor(){this.anchorNode=null,this.anchorOffset=0,this.focusNode=null,this.focusOffset=0}set(e){this.anchorNode=e.anchorNode,this.anchorOffset=e.anchorOffset,this.focusNode=e.focusNode,this.focusOffset=e.focusOffset}clear(){this.anchorNode=this.focusNode=null}eq(e){return e.anchorNode==this.anchorNode&&e.anchorOffset==this.anchorOffset&&e.focusNode==this.focusNode&&e.focusOffset==this.focusOffset}}class drt{constructor(e,n){this.view=e,this.handleDOMChange=n,this.queue=[],this.flushingSoon=-1,this.observer=null,this.currentSelection=new frt,this.onCharData=null,this.suppressingSelectionUpdates=!1,this.lastChangedTextNode=null,this.observer=window.MutationObserver&&new window.MutationObserver(r=>{for(let o=0;o<r.length;o++)this.queue.push(r[o]);Ei&&qp<=11&&r.some(o=>o.type=="childList"&&o.removedNodes.length||o.type=="characterData"&&o.oldValue.length>o.target.nodeValue.length)?this.flushSoon():this.flush()}),urt&&(this.onCharData=r=>{this.queue.push({target:r.target,type:"characterData",oldValue:r.prevValue}),this.flushSoon()}),this.onSelectionChange=this.onSelectionChange.bind(this)}flushSoon(){this.flushingSoon<0&&(this.flushingSoon=window.setTimeout(()=>{this.flushingSoon=-1,this.flush()},20))}forceFlush(){this.flushingSoon>-1&&(window.clearTimeout(this.flushingSoon),this.flushingSoon=-1,this.flush())}start(){this.observer&&(this.observer.takeRecords(),this.observer.observe(this.view.dom,crt)),this.onCharData&&this.view.dom.addEventListener("DOMCharacterDataModified",this.onCharData),this.connectSelection()}stop(){if(this.observer){let e=this.observer.takeRecords();if(e.length){for(let n=0;n<e.length;n++)this.queue.push(e[n]);window.setTimeout(()=>this.flush(),20)}this.observer.disconnect()}this.onCharData&&this.view.dom.removeEventListener("DOMCharacterDataModified",this.onCharData),this.disconnectSelection()}connectSelection(){this.view.dom.ownerDocument.addEventListener("selectionchange",this.onSelectionChange)}disconnectSelection(){this.view.dom.ownerDocument.removeEventListener("selectionchange",this.onSelectionChange)}suppressSelectionUpdates(){this.suppressingSelectionUpdates=!0,setTimeout(()=>this.suppressingSelectionUpdates=!1,50)}onSelectionChange(){if(Gq(this.view)){if(this.suppressingSelectionUpdates)return od(this.view);if(Ei&&qp<=11&&!this.view.state.selection.empty){let e=this.view.domSelectionRange();if(e.focusNode&&Tg(e.focusNode,e.focusOffset,e.anchorNode,e.anchorOffset))return this.flushSoon()}this.flush()}}setCurSelection(){this.currentSelection.set(this.view.domSelectionRange())}ignoreSelectionChange(e){if(!e.focusNode)return!0;let n=new Set,r;for(let s=e.focusNode;s;s=Sy(s))n.add(s);for(let s=e.anchorNode;s;s=Sy(s))if(n.has(s)){r=s;break}let o=r&&this.view.docView.nearestDesc(r);if(o&&o.ignoreMutation({type:"selection",target:r.nodeType==3?r.parentNode:r}))return this.setCurSelection(),!0}pendingRecords(){if(this.observer)for(let e of this.observer.takeRecords())this.queue.push(e);return this.queue}flush(){let{view:e}=this;if(!e.docView||this.flushingSoon>-1)return;let n=this.pendingRecords();n.length&&(this.queue=[]);let r=e.domSelectionRange(),o=!this.suppressingSelectionUpdates&&!this.currentSelection.eq(r)&&Gq(e)&&!this.ignoreSelectionChange(r),s=-1,a=-1,i=!1,l=[];if(e.editable)for(let d=0;d<n.length;d++){let f=this.registerMutation(n[d],l);f&&(s=s<0?f.from:Math.min(f.from,s),a=a<0?f.to:Math.max(f.to,a),f.typeOver&&(i=!0))}if(iu&&l.length){let d=l.filter(f=>f.nodeName=="BR");if(d.length==2){let[f,m]=d;f.parentNode&&f.parentNode.parentNode==m.parentNode?m.remove():f.remove()}else{let{focusNode:f}=this.currentSelection;for(let m of d){let g=m.parentNode;g&&g.nodeName=="LI"&&(!f||mrt(e,f)!=g)&&m.remove()}}}let u=null;s<0&&o&&e.input.lastFocus>Date.now()-200&&Math.max(e.input.lastTouch,e.input.lastClick.time)<Date.now()-300&&vE(r)&&(u=oP(e))&&u.eq(rr.near(e.state.doc.resolve(0),1))?(e.input.lastFocus=0,od(e),this.currentSelection.set(r),e.scrollToSelection()):(s>-1||o)&&(s>-1&&(e.docView.markDirty(s,a),prt(e)),this.handleDOMChange(s,a,i,l),e.docView&&e.docView.dirty?e.updateState(e.state):this.currentSelection.eq(r)||od(e),this.currentSelection.set(r))}registerMutation(e,n){if(n.indexOf(e.target)>-1)return null;let r=this.view.docView.nearestDesc(e.target);if(e.type=="attributes"&&(r==this.view.docView||e.attributeName=="contenteditable"||e.attributeName=="style"&&!e.oldValue&&!e.target.getAttribute("style"))||!r||r.ignoreMutation(e))return null;if(e.type=="childList"){for(let d=0;d<e.addedNodes.length;d++){let f=e.addedNodes[d];n.push(f),f.nodeType==3&&(this.lastChangedTextNode=f)}if(r.contentDOM&&r.contentDOM!=r.dom&&!r.contentDOM.contains(e.target))return{from:r.posBefore,to:r.posAfter};let o=e.previousSibling,s=e.nextSibling;if(Ei&&qp<=11&&e.addedNodes.length)for(let d=0;d<e.addedNodes.length;d++){let{previousSibling:f,nextSibling:m}=e.addedNodes[d];(!f||Array.prototype.indexOf.call(e.addedNodes,f)<0)&&(o=f),(!m||Array.prototype.indexOf.call(e.addedNodes,m)<0)&&(s=m)}let a=o&&o.parentNode==e.target?sa(o)+1:0,i=r.localPosFromDOM(e.target,a,-1),l=s&&s.parentNode==e.target?sa(s):e.target.childNodes.length,u=r.localPosFromDOM(e.target,l,1);return{from:i,to:u}}else return e.type=="attributes"?{from:r.posAtStart-r.border,to:r.posAtEnd+r.border}:(this.lastChangedTextNode=e.target,{from:r.posAtStart,to:r.posAtEnd,typeOver:e.target.nodeValue==e.oldValue})}}let nK=new WeakMap,rK=!1;function prt(t){if(!nK.has(t)&&(nK.set(t,null),["normal","nowrap","pre-line"].indexOf(getComputedStyle(t.dom).whiteSpace)!==-1)){if(t.requiresGeckoHackNode=iu,rK)return;console.warn("ProseMirror expects the CSS white-space property to be set, preferably to 'pre-wrap'. It is recommended to load style/prosemirror.css from the prosemirror-view package."),rK=!0}}function oK(t,e){let n=e.startContainer,r=e.startOffset,o=e.endContainer,s=e.endOffset,a=t.domAtPos(t.state.selection.anchor);return Tg(a.node,a.offset,o,s)&&([n,r,o,s]=[o,s,n,r]),{anchorNode:n,anchorOffset:r,focusNode:o,focusOffset:s}}function hrt(t,e){if(e.getComposedRanges){let o=e.getComposedRanges(t.root)[0];if(o)return oK(t,o)}let n;function r(o){o.preventDefault(),o.stopImmediatePropagation(),n=o.getTargetRanges()[0]}return t.dom.addEventListener("beforeinput",r,!0),document.execCommand("indent"),t.dom.removeEventListener("beforeinput",r,!0),n?oK(t,n):null}function mrt(t,e){for(let n=e.parentNode;n&&n!=t.dom;n=n.parentNode){let r=t.docView.nearestDesc(n,!0);if(r&&r.node.isBlock)return n}return null}function grt(t,e,n){let{node:r,fromOffset:o,toOffset:s,from:a,to:i}=t.docView.parseRange(e,n),l=t.domSelectionRange(),u,d=l.anchorNode;if(d&&t.dom.contains(d.nodeType==1?d:d.parentNode)&&(u=[{node:d,offset:l.anchorOffset}],vE(l)||u.push({node:l.focusNode,offset:l.focusOffset})),_a&&t.input.lastKeyCode===8)for(let j=s;j>o;j--){let S=r.childNodes[j-1],I=S.pmViewDesc;if(S.nodeName=="BR"&&!I){s=j;break}if(!I||I.size)break}let f=t.state.doc,m=t.someProp("domParser")||sb.fromSchema(t.state.schema),g=f.resolve(a),w=null,b=m.parse(r,{topNode:g.parent,topMatch:g.parent.contentMatchAt(g.index()),topOpen:!0,from:o,to:s,preserveWhitespace:g.parent.type.whitespace=="pre"?"full":!0,findPositions:u,ruleFromNode:yrt,context:g});if(u&&u[0].pos!=null){let j=u[0].pos,S=u[1]&&u[1].pos;S==null&&(S=j),w={anchor:j+a,head:S+a}}return{doc:b,sel:w,from:a,to:i}}function yrt(t){let e=t.pmViewDesc;if(e)return e.parseRule();if(t.nodeName=="BR"&&t.parentNode){if(oi&&/^(ul|ol)$/i.test(t.parentNode.nodeName)){let n=document.createElement("div");return n.appendChild(document.createElement("li")),{skip:n}}else if(t.parentNode.lastChild==t||oi&&/^(tr|table)$/i.test(t.parentNode.nodeName))return{ignore:!0}}else if(t.nodeName=="IMG"&&t.getAttribute("mark-placeholder"))return{ignore:!0};return null}const vrt=/^(a|abbr|acronym|b|bd[io]|big|br|button|cite|code|data(list)?|del|dfn|em|i|ins|kbd|label|map|mark|meter|output|q|ruby|s|samp|small|span|strong|su[bp]|time|u|tt|var)$/i;function wrt(t,e,n,r,o){let s=t.input.compositionPendingChanges||(t.composing?t.input.compositionID:0);if(t.input.compositionPendingChanges=0,e<0){let T=t.input.lastSelectionTime>Date.now()-50?t.input.lastSelectionOrigin:null,R=oP(t,T);if(R&&!t.state.selection.eq(R)){if(_a&&ed&&t.input.lastKeyCode===13&&Date.now()-100<t.input.lastKeyCodeTime&&t.someProp("handleKeyDown",Y=>Y(t,Em(13,"Enter"))))return;let z=t.state.tr.setSelection(R);T=="pointer"?z.setMeta("pointer",!0):T=="key"&&z.scrollIntoView(),s&&z.setMeta("composition",s),t.dispatch(z)}return}let a=t.state.doc.resolve(e),i=a.sharedDepth(n);e=a.before(i+1),n=t.state.doc.resolve(n).after(i+1);let l=t.state.selection,u=grt(t,e,n),d=t.state.doc,f=d.slice(u.from,u.to),m,g;t.input.lastKeyCode===8&&Date.now()-100<t.input.lastKeyCodeTime?(m=t.state.selection.to,g="end"):(m=t.state.selection.from,g="start"),t.input.lastKeyCode=null;let w=krt(f.content,u.doc.content,u.from,m,g);if(w&&t.input.domChangeCount++,(Ey&&t.input.lastIOSEnter>Date.now()-225||ed)&&o.some(T=>T.nodeType==1&&!vrt.test(T.nodeName))&&(!w||w.endA>=w.endB)&&t.someProp("handleKeyDown",T=>T(t,Em(13,"Enter")))){t.input.lastIOSEnter=0;return}if(!w)if(r&&l instanceof Hn&&!l.empty&&l.$head.sameParent(l.$anchor)&&!t.composing&&!(u.sel&&u.sel.anchor!=u.sel.head))w={start:l.from,endA:l.to,endB:l.to};else{if(u.sel){let T=sK(t,t.state.doc,u.sel);if(T&&!T.eq(t.state.selection)){let R=t.state.tr.setSelection(T);s&&R.setMeta("composition",s),t.dispatch(R)}}return}t.state.selection.from<t.state.selection.to&&w.start==w.endB&&t.state.selection instanceof Hn&&(w.start>t.state.selection.from&&w.start<=t.state.selection.from+2&&t.state.selection.from>=u.from?w.start=t.state.selection.from:w.endA<t.state.selection.to&&w.endA>=t.state.selection.to-2&&t.state.selection.to<=u.to&&(w.endB+=t.state.selection.to-w.endA,w.endA=t.state.selection.to)),Ei&&qp<=11&&w.endB==w.start+1&&w.endA==w.start&&w.start>u.from&&u.doc.textBetween(w.start-u.from-1,w.start-u.from+1)==" "&&(w.start--,w.endA--,w.endB--);let b=u.doc.resolveNoCache(w.start-u.from),j=u.doc.resolveNoCache(w.endB-u.from),S=d.resolve(w.start),I=b.sameParent(j)&&b.parent.inlineContent&&S.end()>=w.endA,N;if((Ey&&t.input.lastIOSEnter>Date.now()-225&&(!I||o.some(T=>T.nodeName=="DIV"||T.nodeName=="P"))||!I&&b.pos<u.doc.content.size&&(!b.sameParent(j)||!b.parent.inlineContent)&&!/\S/.test(u.doc.textBetween(b.pos,j.pos,"",""))&&(N=rr.findFrom(u.doc.resolve(b.pos+1),1,!0))&&N.head>b.pos)&&t.someProp("handleKeyDown",T=>T(t,Em(13,"Enter")))){t.input.lastIOSEnter=0;return}if(t.state.selection.anchor>w.start&&xrt(d,w.start,w.endA,b,j)&&t.someProp("handleKeyDown",T=>T(t,Em(8,"Backspace")))){ed&&_a&&t.domObserver.suppressSelectionUpdates();return}_a&&w.endB==w.start&&(t.input.lastChromeDelete=Date.now()),ed&&!I&&b.start()!=j.start()&&j.parentOffset==0&&b.depth==j.depth&&u.sel&&u.sel.anchor==u.sel.head&&u.sel.head==w.endA&&(w.endB-=2,j=u.doc.resolveNoCache(w.endB-u.from),setTimeout(()=>{t.someProp("handleKeyDown",function(T){return T(t,Em(13,"Enter"))})},20));let M=w.start,D=w.endA,O,L,B;if(I){if(b.pos==j.pos)Ei&&qp<=11&&b.parentOffset==0&&(t.domObserver.suppressSelectionUpdates(),setTimeout(()=>od(t),20)),O=t.state.tr.delete(M,D),L=d.resolve(w.start).marksAcross(d.resolve(w.endA));else if(w.endA==w.endB&&(B=brt(b.parent.content.cut(b.parentOffset,j.parentOffset),S.parent.content.cut(S.parentOffset,w.endA-S.start()))))O=t.state.tr,B.type=="add"?O.addMark(M,D,B.mark):O.removeMark(M,D,B.mark);else if(b.parent.child(b.index()).isText&&b.index()==j.index()-(j.textOffset?0:1)){let T=b.parent.textBetween(b.parentOffset,j.parentOffset);if(t.someProp("handleTextInput",R=>R(t,M,D,T)))return;O=t.state.tr.insertText(T,M,D)}}if(O||(O=t.state.tr.replace(M,D,u.doc.slice(w.start-u.from,w.endB-u.from))),u.sel){let T=sK(t,O.doc,u.sel);T&&!(_a&&t.composing&&T.empty&&(w.start!=w.endB||t.input.lastChromeDelete<Date.now()-100)&&(T.head==M||T.head==O.mapping.map(D)-1)||Ei&&T.empty&&T.head==M)&&O.setSelection(T)}L&&O.ensureMarks(L),s&&O.setMeta("composition",s),t.dispatch(O.scrollIntoView())}function sK(t,e,n){return Math.max(n.anchor,n.head)>e.content.size?null:sP(t,e.resolve(n.anchor),e.resolve(n.head))}function brt(t,e){let n=t.firstChild.marks,r=e.firstChild.marks,o=n,s=r,a,i,l;for(let d=0;d<r.length;d++)o=r[d].removeFromSet(o);for(let d=0;d<n.length;d++)s=n[d].removeFromSet(s);if(o.length==1&&s.length==0)i=o[0],a="add",l=d=>d.mark(i.addToSet(d.marks));else if(o.length==0&&s.length==1)i=s[0],a="remove",l=d=>d.mark(i.removeFromSet(d.marks));else return null;let u=[];for(let d=0;d<e.childCount;d++)u.push(l(e.child(d)));if(Mt.from(u).eq(t))return{mark:i,type:a}}function xrt(t,e,n,r,o){if(n-e<=o.pos-r.pos||t5(r,!0,!1)<o.pos)return!1;let s=t.resolve(e);if(!r.parent.isTextblock){let i=s.nodeAfter;return i!=null&&n==e+i.nodeSize}if(s.parentOffset<s.parent.content.size||!s.parent.isTextblock)return!1;let a=t.resolve(t5(s,!0,!0));return!a.parent.isTextblock||a.pos>n||t5(a,!0,!1)<n?!1:r.parent.content.cut(r.parentOffset).eq(a.parent.content)}function t5(t,e,n){let r=t.depth,o=e?t.end():t.pos;for(;r>0&&(e||t.indexAfter(r)==t.node(r).childCount);)r--,o++,e=!1;if(n){let s=t.node(r).maybeChild(t.indexAfter(r));for(;s&&!s.isLeaf;)s=s.firstChild,o++}return o}function krt(t,e,n,r,o){let s=t.findDiffStart(e,n);if(s==null)return null;let{a,b:i}=t.findDiffEnd(e,n+t.size,n+e.size);if(o=="end"){let l=Math.max(0,s-Math.min(a,i));r-=a+l-s}if(a<s&&t.size<e.size){let l=r<=s&&r>=a?s-r:0;s-=l,s&&s<e.size&&aK(e.textBetween(s-1,s+1))&&(s+=l?1:-1),i=s+(i-a),a=s}else if(i<s){let l=r<=s&&r>=i?s-r:0;s-=l,s&&s<t.size&&aK(t.textBetween(s-1,s+1))&&(s+=l?1:-1),a=s+(a-i),i=s}return{start:s,endA:a,endB:i}}function aK(t){if(t.length!=2)return!1;let e=t.charCodeAt(0),n=t.charCodeAt(1);return e>=56320&&e<=57343&&n>=55296&&n<=56319}class jrt{constructor(e,n){this._root=null,this.focused=!1,this.trackWrites=null,this.mounted=!1,this.markCursor=null,this.cursorWrapper=null,this.lastSelectedViewDesc=void 0,this.input=new Unt,this.prevDirectPlugins=[],this.pluginViews=[],this.requiresGeckoHackNode=!1,this.dragging=null,this._props=n,this.state=n.state,this.directPlugins=n.plugins||[],this.directPlugins.forEach(fK),this.dispatch=this.dispatch.bind(this),this.dom=e&&e.mount||document.createElement("div"),e&&(e.appendChild?e.appendChild(this.dom):typeof e=="function"?e(this.dom):e.mount&&(this.mounted=!0)),this.editable=cK(this),lK(this),this.nodeViews=uK(this),this.docView=Uq(this.state.doc,iK(this),e5(this),this.dom,this),this.domObserver=new drt(this,(r,o,s,a)=>wrt(this,r,o,s,a)),this.domObserver.start(),$nt(this),this.updatePluginViews()}get composing(){return this.input.composing}get props(){if(this._props.state!=this.state){let e=this._props;this._props={};for(let n in e)this._props[n]=e[n];this._props.state=this.state}return this._props}update(e){e.handleDOMEvents!=this._props.handleDOMEvents&&rR(this);let n=this._props;this._props=e,e.plugins&&(e.plugins.forEach(fK),this.directPlugins=e.plugins),this.updateStateInner(e.state,n)}setProps(e){let n={};for(let r in this._props)n[r]=this._props[r];n.state=this.state;for(let r in e)n[r]=e[r];this.update(n)}updateState(e){this.updateStateInner(e,this._props)}updateStateInner(e,n){var r;let o=this.state,s=!1,a=!1;e.storedMarks&&this.composing&&(Ahe(this),a=!0),this.state=e;let i=o.plugins!=e.plugins||this._props.plugins!=n.plugins;if(i||this._props.plugins!=n.plugins||this._props.nodeViews!=n.nodeViews){let g=uK(this);Srt(g,this.nodeViews)&&(this.nodeViews=g,s=!0)}(i||n.handleDOMEvents!=this._props.handleDOMEvents)&&rR(this),this.editable=cK(this),lK(this);let l=e5(this),u=iK(this),d=o.plugins!=e.plugins&&!o.doc.eq(e.doc)?"reset":e.scrollToSelection>o.scrollToSelection?"to selection":"preserve",f=s||!this.docView.matchesNode(e.doc,u,l);(f||!e.selection.eq(o.selection))&&(a=!0);let m=d=="preserve"&&a&&this.dom.style.overflowAnchor==null&&nnt(this);if(a){this.domObserver.stop();let g=f&&(Ei||_a)&&!this.composing&&!o.selection.empty&&!e.selection.empty&&Crt(o.selection,e.selection);if(f){let w=_a?this.trackWrites=this.domSelectionRange().focusNode:null;this.composing&&(this.input.compositionNode=trt(this)),(s||!this.docView.update(e.doc,u,l,this))&&(this.docView.updateOuterDeco(u),this.docView.destroy(),this.docView=Uq(e.doc,u,l,this.dom,this)),w&&!this.trackWrites&&(g=!0)}g||!(this.input.mouseDown&&this.domObserver.currentSelection.eq(this.domSelectionRange())&&Ent(this))?od(this,g):(yhe(this,e.selection),this.domObserver.setCurSelection()),this.domObserver.start()}this.updatePluginViews(o),!((r=this.dragging)===null||r===void 0)&&r.node&&!o.doc.eq(e.doc)&&this.updateDraggedNode(this.dragging,o),d=="reset"?this.dom.scrollTop=0:d=="to selection"?this.scrollToSelection():m&&rnt(m)}scrollToSelection(){let e=this.domSelectionRange().focusNode;if(!(!e||!this.dom.contains(e.nodeType==1?e:e.parentNode))){if(!this.someProp("handleScrollToSelection",n=>n(this)))if(this.state.selection instanceof Sn){let n=this.docView.domAfterPos(this.state.selection.from);n.nodeType==1&&Lq(this,n.getBoundingClientRect(),e)}else Lq(this,this.coordsAtPos(this.state.selection.head,1),e)}}destroyPluginViews(){let e;for(;e=this.pluginViews.pop();)e.destroy&&e.destroy()}updatePluginViews(e){if(!e||e.plugins!=this.state.plugins||this.directPlugins!=this.prevDirectPlugins){this.prevDirectPlugins=this.directPlugins,this.destroyPluginViews();for(let n=0;n<this.directPlugins.length;n++){let r=this.directPlugins[n];r.spec.view&&this.pluginViews.push(r.spec.view(this))}for(let n=0;n<this.state.plugins.length;n++){let r=this.state.plugins[n];r.spec.view&&this.pluginViews.push(r.spec.view(this))}}else for(let n=0;n<this.pluginViews.length;n++){let r=this.pluginViews[n];r.update&&r.update(this,e)}}updateDraggedNode(e,n){let r=e.node,o=-1;if(this.state.doc.nodeAt(r.from)==r.node)o=r.from;else{let s=r.from+(this.state.doc.content.size-n.doc.content.size);(s>0&&this.state.doc.nodeAt(s))==r.node&&(o=s)}this.dragging=new Mhe(e.slice,e.move,o<0?void 0:Sn.create(this.state.doc,o))}someProp(e,n){let r=this._props&&this._props[e],o;if(r!=null&&(o=n?n(r):r))return o;for(let a=0;a<this.directPlugins.length;a++){let i=this.directPlugins[a].props[e];if(i!=null&&(o=n?n(i):i))return o}let s=this.state.plugins;if(s)for(let a=0;a<s.length;a++){let i=s[a].props[e];if(i!=null&&(o=n?n(i):i))return o}}hasFocus(){if(Ei){let e=this.root.activeElement;if(e==this.dom)return!0;if(!e||!this.dom.contains(e))return!1;for(;e&&this.dom!=e&&this.dom.contains(e);){if(e.contentEditable=="false")return!1;e=e.parentElement}return!0}return this.root.activeElement==this.dom}focus(){this.domObserver.stop(),this.editable&&ont(this.dom),od(this),this.domObserver.start()}get root(){let e=this._root;if(e==null){for(let n=this.dom.parentNode;n;n=n.parentNode)if(n.nodeType==9||n.nodeType==11&&n.host)return n.getSelection||(Object.getPrototypeOf(n).getSelection=()=>n.ownerDocument.getSelection()),this._root=n}return e||document}updateRoot(){this._root=null}posAtCoords(e){return cnt(this,e)}coordsAtPos(e,n=1){return che(this,e,n)}domAtPos(e,n=0){return this.docView.domFromPos(e,n)}nodeDOM(e){let n=this.docView.descAt(e);return n?n.nodeDOM:null}posAtDOM(e,n,r=-1){let o=this.docView.posFromDOM(e,n,r);if(o==null)throw new RangeError("DOM position not inside the editor");return o}endOfTextblock(e,n){return hnt(this,n||this.state,e)}pasteHTML(e,n){return v2(this,"",e,!1,n||new ClipboardEvent("paste"))}pasteText(e,n){return v2(this,e,null,!0,n||new ClipboardEvent("paste"))}serializeForClipboard(e){return aP(this,e)}destroy(){this.docView&&(Vnt(this),this.destroyPluginViews(),this.mounted?(this.docView.update(this.state.doc,[],e5(this),this),this.dom.textContent=""):this.dom.parentNode&&this.dom.parentNode.removeChild(this.dom),this.docView.destroy(),this.docView=null,Wtt())}get isDestroyed(){return this.docView==null}dispatchEvent(e){return Wnt(this,e)}dispatch(e){let n=this._props.dispatchTransaction;n?n.call(this,e):this.updateState(this.state.apply(e))}domSelectionRange(){let e=this.domSelection();return e?oi&&this.root.nodeType===11&&Ztt(this.dom.ownerDocument)==this.dom&&hrt(this,e)||e:{focusNode:null,focusOffset:0,anchorNode:null,anchorOffset:0}}domSelection(){return this.root.getSelection()}}function iK(t){let e=Object.create(null);return e.class="ProseMirror",e.contenteditable=String(t.editable),t.someProp("attributes",n=>{if(typeof n=="function"&&(n=n(t.state)),n)for(let r in n)r=="class"?e.class+=" "+n[r]:r=="style"?e.style=(e.style?e.style+";":"")+n[r]:!e[r]&&r!="contenteditable"&&r!="nodeName"&&(e[r]=String(n[r]))}),e.translate||(e.translate="no"),[sl.node(0,t.state.doc.content.size,e)]}function lK(t){if(t.markCursor){let e=document.createElement("img");e.className="ProseMirror-separator",e.setAttribute("mark-placeholder","true"),e.setAttribute("alt",""),t.cursorWrapper={dom:e,deco:sl.widget(t.state.selection.from,e,{raw:!0,marks:t.markCursor})}}else t.cursorWrapper=null}function cK(t){return!t.someProp("editable",e=>e(t.state)===!1)}function Crt(t,e){let n=Math.min(t.$anchor.sharedDepth(t.head),e.$anchor.sharedDepth(e.head));return t.$anchor.start(n)!=e.$anchor.start(n)}function uK(t){let e=Object.create(null);function n(r){for(let o in r)Object.prototype.hasOwnProperty.call(e,o)||(e[o]=r[o])}return t.someProp("nodeViews",n),t.someProp("markViews",n),e}function Srt(t,e){let n=0,r=0;for(let o in t){if(t[o]!=e[o])return!0;n++}for(let o in e)r++;return n!=r}function fK(t){if(t.spec.state||t.spec.filterTransaction||t.spec.appendTransaction)throw new RangeError("Plugins passed directly to the view must not have a state component")}var gh={8:"Backspace",9:"Tab",10:"Enter",12:"NumLock",13:"Enter",16:"Shift",17:"Control",18:"Alt",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",44:"PrintScreen",45:"Insert",46:"Delete",59:";",61:"=",91:"Meta",92:"Meta",106:"*",107:"+",108:",",109:"-",110:".",111:"/",144:"NumLock",145:"ScrollLock",160:"Shift",161:"Shift",162:"Control",163:"Control",164:"Alt",165:"Alt",173:"-",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'"},Oj={48:")",49:"!",50:"@",51:"#",52:"$",53:"%",54:"^",55:"&",56:"*",57:"(",59:":",61:"+",173:"_",186:":",187:"+",188:"<",189:"_",190:">",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"'},Ert=typeof navigator<"u"&&/Mac/.test(navigator.platform),Nrt=typeof navigator<"u"&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent);for(var aa=0;aa<10;aa++)gh[48+aa]=gh[96+aa]=String(aa);for(var aa=1;aa<=24;aa++)gh[aa+111]="F"+aa;for(var aa=65;aa<=90;aa++)gh[aa]=String.fromCharCode(aa+32),Oj[aa]=String.fromCharCode(aa);for(var n5 in gh)Oj.hasOwnProperty(n5)||(Oj[n5]=gh[n5]);function Irt(t){var e=Ert&&t.metaKey&&t.shiftKey&&!t.ctrlKey&&!t.altKey||Nrt&&t.shiftKey&&t.key&&t.key.length==1||t.key=="Unidentified",n=!e&&t.key||(t.shiftKey?Oj:gh)[t.keyCode]||t.key||"Unidentified";return n=="Esc"&&(n="Escape"),n=="Del"&&(n="Delete"),n=="Left"&&(n="ArrowLeft"),n=="Up"&&(n="ArrowUp"),n=="Right"&&(n="ArrowRight"),n=="Down"&&(n="ArrowDown"),n}const Art=typeof navigator<"u"&&/Mac|iP(hone|[oa]d)/.test(navigator.platform),_rt=typeof navigator<"u"&&/Win/.test(navigator.platform);function Mrt(t){let e=t.split(/-(?!$)/),n=e[e.length-1];n=="Space"&&(n=" ");let r,o,s,a;for(let i=0;i<e.length-1;i++){let l=e[i];if(/^(cmd|meta|m)$/i.test(l))a=!0;else if(/^a(lt)?$/i.test(l))r=!0;else if(/^(c|ctrl|control)$/i.test(l))o=!0;else if(/^s(hift)?$/i.test(l))s=!0;else if(/^mod$/i.test(l))Art?a=!0:o=!0;else throw new Error("Unrecognized modifier name: "+l)}return r&&(n="Alt-"+n),o&&(n="Ctrl-"+n),a&&(n="Meta-"+n),s&&(n="Shift-"+n),n}function Rrt(t){let e=Object.create(null);for(let n in t)e[Mrt(n)]=t[n];return e}function r5(t,e,n=!0){return e.altKey&&(t="Alt-"+t),e.ctrlKey&&(t="Ctrl-"+t),e.metaKey&&(t="Meta-"+t),n&&e.shiftKey&&(t="Shift-"+t),t}function Trt(t){return new ui({props:{handleKeyDown:Drt(t)}})}function Drt(t){let e=Rrt(t);return function(n,r){let o=Irt(r),s,a=e[r5(o,r)];if(a&&a(n.state,n.dispatch,n))return!0;if(o.length==1&&o!=" "){if(r.shiftKey){let i=e[r5(o,r,!1)];if(i&&i(n.state,n.dispatch,n))return!0}if((r.altKey||r.metaKey||r.ctrlKey)&&!(_rt&&r.ctrlKey&&r.altKey)&&(s=gh[r.keyCode])&&s!=o){let i=e[r5(s,r)];if(i&&i(n.state,n.dispatch,n))return!0}}return!1}}const dP=(t,e)=>t.selection.empty?!1:(e&&e(t.tr.deleteSelection().scrollIntoView()),!0);function Phe(t,e){let{$cursor:n}=t.selection;return!n||(e?!e.endOfTextblock("backward",t):n.parentOffset>0)?null:n}const Ohe=(t,e,n)=>{let r=Phe(t,n);if(!r)return!1;let o=pP(r);if(!o){let a=r.blockRange(),i=a&&cv(a);return i==null?!1:(e&&e(t.tr.lift(a,i).scrollIntoView()),!0)}let s=o.nodeBefore;if(Yhe(t,o,e,-1))return!0;if(r.parent.content.size==0&&(Ny(s,"end")||Sn.isSelectable(s)))for(let a=r.depth;;a--){let i=gE(t.doc,r.before(a),r.after(a),tn.empty);if(i&&i.slice.size<i.to-i.from){if(e){let l=t.tr.step(i);l.setSelection(Ny(s,"end")?rr.findFrom(l.doc.resolve(l.mapping.map(o.pos,-1)),-1):Sn.create(l.doc,o.pos-s.nodeSize)),e(l.scrollIntoView())}return!0}if(a==1||r.node(a-1).childCount>1)break}return s.isAtom&&o.depth==r.depth-1?(e&&e(t.tr.delete(o.pos-s.nodeSize,o.pos).scrollIntoView()),!0):!1},Lrt=(t,e,n)=>{let r=Phe(t,n);if(!r)return!1;let o=pP(r);return o?zhe(t,o,e):!1},Prt=(t,e,n)=>{let r=Bhe(t,n);if(!r)return!1;let o=hP(r);return o?zhe(t,o,e):!1};function zhe(t,e,n){let r=e.nodeBefore,o=r,s=e.pos-1;for(;!o.isTextblock;s--){if(o.type.spec.isolating)return!1;let d=o.lastChild;if(!d)return!1;o=d}let a=e.nodeAfter,i=a,l=e.pos+1;for(;!i.isTextblock;l++){if(i.type.spec.isolating)return!1;let d=i.firstChild;if(!d)return!1;i=d}let u=gE(t.doc,s,l,tn.empty);if(!u||u.from!=s||u instanceof Rs&&u.slice.size>=l-s)return!1;if(n){let d=t.tr.step(u);d.setSelection(Hn.create(d.doc,s)),n(d.scrollIntoView())}return!0}function Ny(t,e,n=!1){for(let r=t;r;r=e=="start"?r.firstChild:r.lastChild){if(r.isTextblock)return!0;if(n&&r.childCount!=1)return!1}return!1}const Fhe=(t,e,n)=>{let{$head:r,empty:o}=t.selection,s=r;if(!o)return!1;if(r.parent.isTextblock){if(n?!n.endOfTextblock("backward",t):r.parentOffset>0)return!1;s=pP(r)}let a=s&&s.nodeBefore;return!a||!Sn.isSelectable(a)?!1:(e&&e(t.tr.setSelection(Sn.create(t.doc,s.pos-a.nodeSize)).scrollIntoView()),!0)};function pP(t){if(!t.parent.type.spec.isolating)for(let e=t.depth-1;e>=0;e--){if(t.index(e)>0)return t.doc.resolve(t.before(e+1));if(t.node(e).type.spec.isolating)break}return null}function Bhe(t,e){let{$cursor:n}=t.selection;return!n||(e?!e.endOfTextblock("forward",t):n.parentOffset<n.parent.content.size)?null:n}const Uhe=(t,e,n)=>{let r=Bhe(t,n);if(!r)return!1;let o=hP(r);if(!o)return!1;let s=o.nodeAfter;if(Yhe(t,o,e,1))return!0;if(r.parent.content.size==0&&(Ny(s,"start")||Sn.isSelectable(s))){let a=gE(t.doc,r.before(),r.after(),tn.empty);if(a&&a.slice.size<a.to-a.from){if(e){let i=t.tr.step(a);i.setSelection(Ny(s,"start")?rr.findFrom(i.doc.resolve(i.mapping.map(o.pos)),1):Sn.create(i.doc,i.mapping.map(o.pos))),e(i.scrollIntoView())}return!0}}return s.isAtom&&o.depth==r.depth-1?(e&&e(t.tr.delete(o.pos,o.pos+s.nodeSize).scrollIntoView()),!0):!1},$he=(t,e,n)=>{let{$head:r,empty:o}=t.selection,s=r;if(!o)return!1;if(r.parent.isTextblock){if(n?!n.endOfTextblock("forward",t):r.parentOffset<r.parent.content.size)return!1;s=hP(r)}let a=s&&s.nodeAfter;return!a||!Sn.isSelectable(a)?!1:(e&&e(t.tr.setSelection(Sn.create(t.doc,s.pos)).scrollIntoView()),!0)};function hP(t){if(!t.parent.type.spec.isolating)for(let e=t.depth-1;e>=0;e--){let n=t.node(e);if(t.index(e)+1<n.childCount)return t.doc.resolve(t.after(e+1));if(n.type.spec.isolating)break}return null}const Ort=(t,e)=>{let n=t.selection,r=n instanceof Sn,o;if(r){if(n.node.isTextblock||!n1(t.doc,n.from))return!1;o=n.from}else if(o=mE(t.doc,n.from,-1),o==null)return!1;if(e){let s=t.tr.join(o);r&&s.setSelection(Sn.create(s.doc,o-t.doc.resolve(o).nodeBefore.nodeSize)),e(s.scrollIntoView())}return!0},zrt=(t,e)=>{let n=t.selection,r;if(n instanceof Sn){if(n.node.isTextblock||!n1(t.doc,n.to))return!1;r=n.to}else if(r=mE(t.doc,n.to,1),r==null)return!1;return e&&e(t.tr.join(r).scrollIntoView()),!0},Frt=(t,e)=>{let{$from:n,$to:r}=t.selection,o=n.blockRange(r),s=o&&cv(o);return s==null?!1:(e&&e(t.tr.lift(o,s).scrollIntoView()),!0)},Vhe=(t,e)=>{let{$head:n,$anchor:r}=t.selection;return!n.parent.type.spec.code||!n.sameParent(r)?!1:(e&&e(t.tr.insertText(`
2111 `).scrollIntoView()),!0)};function mP(t){for(let e=0;e<t.edgeCount;e++){let{type:n}=t.edge(e);if(n.isTextblock&&!n.hasRequiredAttrs())return n}return null}const Brt=(t,e)=>{let{$head:n,$anchor:r}=t.selection;if(!n.parent.type.spec.code||!n.sameParent(r))return!1;let o=n.node(-1),s=n.indexAfter(-1),a=mP(o.contentMatchAt(s));if(!a||!o.canReplaceWith(s,s,a))return!1;if(e){let i=n.after(),l=t.tr.replaceWith(i,i,a.createAndFill());l.setSelection(rr.near(l.doc.resolve(i),1)),e(l.scrollIntoView())}return!0},Hhe=(t,e)=>{let n=t.selection,{$from:r,$to:o}=n;if(n instanceof dl||r.parent.inlineContent||o.parent.inlineContent)return!1;let s=mP(o.parent.contentMatchAt(o.indexAfter()));if(!s||!s.isTextblock)return!1;if(e){let a=(!r.parentOffset&&o.index()<o.parent.childCount?r:o).pos,i=t.tr.insert(a,s.createAndFill());i.setSelection(Hn.create(i.doc,a+1)),e(i.scrollIntoView())}return!0},Whe=(t,e)=>{let{$cursor:n}=t.selection;if(!n||n.parent.content.size)return!1;if(n.depth>1&&n.after()!=n.end(-1)){let s=n.before();if(rd(t.doc,s))return e&&e(t.tr.split(s).scrollIntoView()),!0}let r=n.blockRange(),o=r&&cv(r);return o==null?!1:(e&&e(t.tr.lift(r,o).scrollIntoView()),!0)};function Urt(t){return(e,n)=>{let{$from:r,$to:o}=e.selection;if(e.selection instanceof Sn&&e.selection.node.isBlock)return!r.parentOffset||!rd(e.doc,r.pos)?!1:(n&&n(e.tr.split(r.pos).scrollIntoView()),!0);if(!r.depth)return!1;let s=[],a,i,l=!1,u=!1;for(let g=r.depth;;g--)if(r.node(g).isBlock){l=r.end(g)==r.pos+(r.depth-g),u=r.start(g)==r.pos-(r.depth-g),i=mP(r.node(g-1).contentMatchAt(r.indexAfter(g-1))),s.unshift(l&&i?{type:i}:null),a=g;break}else{if(g==1)return!1;s.unshift(null)}let d=e.tr;(e.selection instanceof Hn||e.selection instanceof dl)&&d.deleteSelection();let f=d.mapping.map(r.pos),m=rd(d.doc,f,s.length,s);if(m||(s[0]=i?{type:i}:null,m=rd(d.doc,f,s.length,s)),!m)return!1;if(d.split(f,s.length,s),!l&&u&&r.node(a).type!=i){let g=d.mapping.map(r.before(a)),w=d.doc.resolve(g);i&&r.node(a-1).canReplaceWith(w.index(),w.index()+1,i)&&d.setNodeMarkup(d.mapping.map(r.before(a)),i)}return n&&n(d.scrollIntoView()),!0}}const $rt=Urt(),Vrt=(t,e)=>{let{$from:n,to:r}=t.selection,o,s=n.sharedDepth(r);return s==0?!1:(o=n.before(s),e&&e(t.tr.setSelection(Sn.create(t.doc,o))),!0)};function Hrt(t,e,n){let r=e.nodeBefore,o=e.nodeAfter,s=e.index();return!r||!o||!r.type.compatibleContent(o.type)?!1:!r.content.size&&e.parent.canReplace(s-1,s)?(n&&n(t.tr.delete(e.pos-r.nodeSize,e.pos).scrollIntoView()),!0):!e.parent.canReplace(s,s+1)||!(o.isTextblock||n1(t.doc,e.pos))?!1:(n&&n(t.tr.join(e.pos).scrollIntoView()),!0)}function Yhe(t,e,n,r){let o=e.nodeBefore,s=e.nodeAfter,a,i,l=o.type.spec.isolating||s.type.spec.isolating;if(!l&&Hrt(t,e,n))return!0;let u=!l&&e.parent.canReplace(e.index(),e.index()+1);if(u&&(a=(i=o.contentMatchAt(o.childCount)).findWrapping(s.type))&&i.matchType(a[0]||s.type).validEnd){if(n){let g=e.pos+s.nodeSize,w=Mt.empty;for(let S=a.length-1;S>=0;S--)w=Mt.from(a[S].create(null,w));w=Mt.from(o.copy(w));let b=t.tr.step(new Ps(e.pos-1,g,e.pos,g,new tn(w,1,0),a.length,!0)),j=b.doc.resolve(g+2*a.length);j.nodeAfter&&j.nodeAfter.type==o.type&&n1(b.doc,j.pos)&&b.join(j.pos),n(b.scrollIntoView())}return!0}let d=s.type.spec.isolating||r>0&&l?null:rr.findFrom(e,1),f=d&&d.$from.blockRange(d.$to),m=f&&cv(f);if(m!=null&&m>=e.depth)return n&&n(t.tr.lift(f,m).scrollIntoView()),!0;if(u&&Ny(s,"start",!0)&&Ny(o,"end")){let g=o,w=[];for(;w.push(g),!g.isTextblock;)g=g.lastChild;let b=s,j=1;for(;!b.isTextblock;b=b.firstChild)j++;if(g.canReplace(g.childCount,g.childCount,b.content)){if(n){let S=Mt.empty;for(let N=w.length-1;N>=0;N--)S=Mt.from(w[N].copy(S));let I=t.tr.step(new Ps(e.pos-w.length,e.pos+s.nodeSize,e.pos+j,e.pos+s.nodeSize-j,new tn(S,w.length,0),0,!0));n(I.scrollIntoView())}return!0}}return!1}function Ghe(t){return function(e,n){let r=e.selection,o=t<0?r.$from:r.$to,s=o.depth;for(;o.node(s).isInline;){if(!s)return!1;s--}return o.node(s).isTextblock?(n&&n(e.tr.setSelection(Hn.create(e.doc,t<0?o.start(s):o.end(s)))),!0):!1}}const Wrt=Ghe(-1),Yrt=Ghe(1);function Grt(t,e=null){return function(n,r){let{$from:o,$to:s}=n.selection,a=o.blockRange(s),i=a&&Ype(a,t,e);return i?(r&&r(n.tr.wrap(a,i).scrollIntoView()),!0):!1}}function dK(t,e=null){return function(n,r){let o=!1;for(let s=0;s<n.selection.ranges.length&&!o;s++){let{$from:{pos:a},$to:{pos:i}}=n.selection.ranges[s];n.doc.nodesBetween(a,i,(l,u)=>{if(o)return!1;if(!(!l.isTextblock||l.hasMarkup(t,e)))if(l.type==t)o=!0;else{let d=n.doc.resolve(u),f=d.index();o=d.parent.canReplaceWith(f,f+1,t)}})}if(!o)return!1;if(r){let s=n.tr;for(let a=0;a<n.selection.ranges.length;a++){let{$from:{pos:i},$to:{pos:l}}=n.selection.ranges[a];s.setBlockType(i,l,t,e)}r(s.scrollIntoView())}return!0}}function gP(...t){return function(e,n,r){for(let o=0;o<t.length;o++)if(t[o](e,n,r))return!0;return!1}}gP(dP,Ohe,Fhe);gP(dP,Uhe,$he);gP(Vhe,Hhe,Whe,$rt);typeof navigator<"u"?/Mac|iP(hone|[oa]d)/.test(navigator.platform):typeof os<"u"&&os.platform&&os.platform()=="darwin";function qrt(t,e=null){return function(n,r){let{$from:o,$to:s}=n.selection,a=o.blockRange(s);if(!a)return!1;let i=r?n.tr:null;return Krt(i,a,t,e)?(r&&r(i.scrollIntoView()),!0):!1}}function Krt(t,e,n,r=null){let o=!1,s=e,a=e.$from.doc;if(e.depth>=2&&e.$from.node(e.depth-1).type.compatibleContent(n)&&e.startIndex==0){if(e.$from.index(e.depth-1)==0)return!1;let l=a.resolve(e.start-2);s=new _j(l,l,e.depth),e.endIndex<e.parent.childCount&&(e=new _j(e.$from,a.resolve(e.$to.end(e.depth)),e.depth)),o=!0}let i=Ype(s,n,r,e);return i?(t&&Zrt(t,e,i,o,n),!0):!1}function Zrt(t,e,n,r,o){let s=Mt.empty;for(let d=n.length-1;d>=0;d--)s=Mt.from(n[d].type.create(n[d].attrs,s));t.step(new Ps(e.start-(r?2:0),e.end,e.start,e.end,new tn(s,0,0),n.length,!0));let a=0;for(let d=0;d<n.length;d++)n[d].type==o&&(a=d+1);let i=n.length-a,l=e.start+n.length-(r?2:0),u=e.parent;for(let d=e.startIndex,f=e.endIndex,m=!0;d<f;d++,m=!1)!m&&rd(t.doc,l,i)&&(t.split(l,i),l+=2*i),l+=u.child(d).nodeSize;return t}function Qrt(t){return function(e,n){let{$from:r,$to:o}=e.selection,s=r.blockRange(o,a=>a.childCount>0&&a.firstChild.type==t);return s?n?r.node(s.depth-1).type==t?Jrt(e,n,t,s):Xrt(e,n,s):!0:!1}}function Jrt(t,e,n,r){let o=t.tr,s=r.end,a=r.$to.end(r.depth);s<a&&(o.step(new Ps(s-1,a,s,a,new tn(Mt.from(n.create(null,r.parent.copy())),1,0),1,!0)),r=new _j(o.doc.resolve(r.$from.pos),o.doc.resolve(a),r.depth));const i=cv(r);if(i==null)return!1;o.lift(r,i);let l=o.doc.resolve(o.mapping.map(s,-1)-1);return n1(o.doc,l.pos)&&l.nodeBefore.type==l.nodeAfter.type&&o.join(l.pos),e(o.scrollIntoView()),!0}function Xrt(t,e,n){let r=t.tr,o=n.parent;for(let g=n.end,w=n.endIndex-1,b=n.startIndex;w>b;w--)g-=o.child(w).nodeSize,r.delete(g-1,g+1);let s=r.doc.resolve(n.start),a=s.nodeAfter;if(r.mapping.map(n.end)!=n.start+s.nodeAfter.nodeSize)return!1;let i=n.startIndex==0,l=n.endIndex==o.childCount,u=s.node(-1),d=s.index(-1);if(!u.canReplace(d+(i?0:1),d+1,a.content.append(l?Mt.empty:Mt.from(o))))return!1;let f=s.pos,m=f+a.nodeSize;return r.step(new Ps(f-(i?1:0),m+(l?1:0),f+1,m-1,new tn((i?Mt.empty:Mt.from(o.copy(Mt.empty))).append(l?Mt.empty:Mt.from(o.copy(Mt.empty))),i?0:1,l?0:1),i?0:1)),e(r.scrollIntoView()),!0}function eot(t){return function(e,n){let{$from:r,$to:o}=e.selection,s=r.blockRange(o,u=>u.childCount>0&&u.firstChild.type==t);if(!s)return!1;let a=s.startIndex;if(a==0)return!1;let i=s.parent,l=i.child(a-1);if(l.type!=t)return!1;if(n){let u=l.lastChild&&l.lastChild.type==i.type,d=Mt.from(u?t.create():null),f=new tn(Mt.from(t.create(null,Mt.from(i.type.create(null,d)))),u?3:1,0),m=s.start,g=s.end;n(e.tr.step(new Ps(m-(u?3:1),g,m,g,f,1,!0)).scrollIntoView())}return!0}}function xE(t){const{state:e,transaction:n}=t;let{selection:r}=n,{doc:o}=n,{storedMarks:s}=n;return{...e,apply:e.apply.bind(e),applyTransaction:e.applyTransaction.bind(e),plugins:e.plugins,schema:e.schema,reconfigure:e.reconfigure.bind(e),toJSON:e.toJSON.bind(e),get storedMarks(){return s},get selection(){return r},get doc(){return o},get tr(){return r=n.selection,o=n.doc,s=n.storedMarks,n}}}class kE{constructor(e){this.editor=e.editor,this.rawCommands=this.editor.extensionManager.commands,this.customState=e.state}get hasCustomState(){return!!this.customState}get state(){return this.customState||this.editor.state}get commands(){const{rawCommands:e,editor:n,state:r}=this,{view:o}=n,{tr:s}=r,a=this.buildProps(s);return Object.fromEntries(Object.entries(e).map(([i,l])=>[i,(...d)=>{const f=l(...d)(a);return!s.getMeta("preventDispatch")&&!this.hasCustomState&&o.dispatch(s),f}]))}get chain(){return()=>this.createChain()}get can(){return()=>this.createCan()}createChain(e,n=!0){const{rawCommands:r,editor:o,state:s}=this,{view:a}=o,i=[],l=!!e,u=e||s.tr,d=()=>(!l&&n&&!u.getMeta("preventDispatch")&&!this.hasCustomState&&a.dispatch(u),i.every(m=>m===!0)),f={...Object.fromEntries(Object.entries(r).map(([m,g])=>[m,(...b)=>{const j=this.buildProps(u,n),S=g(...b)(j);return i.push(S),f}])),run:d};return f}createCan(e){const{rawCommands:n,state:r}=this,o=!1,s=e||r.tr,a=this.buildProps(s,o);return{...Object.fromEntries(Object.entries(n).map(([l,u])=>[l,(...d)=>u(...d)({...a,dispatch:void 0})])),chain:()=>this.createChain(s,o)}}buildProps(e,n=!0){const{rawCommands:r,editor:o,state:s}=this,{view:a}=o,i={tr:e,editor:o,view:a,state:xE({state:s,transaction:e}),dispatch:n?()=>{}:void 0,chain:()=>this.createChain(e,n),can:()=>this.createCan(e),get commands(){return Object.fromEntries(Object.entries(r).map(([l,u])=>[l,(...d)=>u(...d)(i)]))}};return i}}class tot{constructor(){this.callbacks={}}on(e,n){return this.callbacks[e]||(this.callbacks[e]=[]),this.callbacks[e].push(n),this}emit(e,...n){const r=this.callbacks[e];return r&&r.forEach(o=>o.apply(this,n)),this}off(e,n){const r=this.callbacks[e];return r&&(n?this.callbacks[e]=r.filter(o=>o!==n):delete this.callbacks[e]),this}once(e,n){const r=(...o)=>{this.off(e,r),n.apply(this,o)};return this.on(e,r)}removeAllListeners(){this.callbacks={}}}function fn(t,e,n){return t.config[e]===void 0&&t.parent?fn(t.parent,e,n):typeof t.config[e]=="function"?t.config[e].bind({...n,parent:t.parent?fn(t.parent,e,n):null}):t.config[e]}function jE(t){const e=t.filter(o=>o.type==="extension"),n=t.filter(o=>o.type==="node"),r=t.filter(o=>o.type==="mark");return{baseExtensions:e,nodeExtensions:n,markExtensions:r}}function qhe(t){const e=[],{nodeExtensions:n,markExtensions:r}=jE(t),o=[...n,...r],s={default:null,rendered:!0,renderHTML:null,parseHTML:null,keepOnSplit:!0,isRequired:!1};return t.forEach(a=>{const i={name:a.name,options:a.options,storage:a.storage,extensions:o},l=fn(a,"addGlobalAttributes",i);if(!l)return;l().forEach(d=>{d.types.forEach(f=>{Object.entries(d.attributes).forEach(([m,g])=>{e.push({type:f,name:m,attribute:{...s,...g}})})})})}),o.forEach(a=>{const i={name:a.name,options:a.options,storage:a.storage},l=fn(a,"addAttributes",i);if(!l)return;const u=l();Object.entries(u).forEach(([d,f])=>{const m={...s,...f};typeof(m==null?void 0:m.default)=="function"&&(m.default=m.default()),m!=null&&m.isRequired&&(m==null?void 0:m.default)===void 0&&delete m.default,e.push({type:a.name,name:d,attribute:m})})}),e}function $s(t,e){if(typeof t=="string"){if(!e.nodes[t])throw Error(`There is no node type named '${t}'. Maybe you forgot to add the extension?`);return e.nodes[t]}return t}function Bp(...t){return t.filter(e=>!!e).reduce((e,n)=>{const r={...e};return Object.entries(n).forEach(([o,s])=>{if(!r[o]){r[o]=s;return}if(o==="class"){const i=s?String(s).split(" "):[],l=r[o]?r[o].split(" "):[],u=i.filter(d=>!l.includes(d));r[o]=[...l,...u].join(" ")}else if(o==="style"){const i=s?s.split(";").map(d=>d.trim()).filter(Boolean):[],l=r[o]?r[o].split(";").map(d=>d.trim()).filter(Boolean):[],u=new Map;l.forEach(d=>{const[f,m]=d.split(":").map(g=>g.trim());u.set(f,m)}),i.forEach(d=>{const[f,m]=d.split(":").map(g=>g.trim());u.set(f,m)}),r[o]=Array.from(u.entries()).map(([d,f])=>`${d}: ${f}`).join("; ")}else r[o]=s}),r},{})}function zj(t,e){return e.filter(n=>n.type===t.type.name).filter(n=>n.attribute.rendered).map(n=>n.attribute.renderHTML?n.attribute.renderHTML(t.attrs)||{}:{[n.name]:t.attrs[n.name]}).reduce((n,r)=>Bp(n,r),{})}function Khe(t){return typeof t=="function"}function lr(t,e=void 0,...n){return Khe(t)?e?t.bind(e)(...n):t(...n):t}function not(t={}){return Object.keys(t).length===0&&t.constructor===Object}function rot(t){return typeof t!="string"?t:t.match(/^[+-]?(?:\d*\.)?\d+$/)?Number(t):t==="true"?!0:t==="false"?!1:t}function pK(t,e){return"style"in t?t:{...t,getAttrs:n=>{const r=t.getAttrs?t.getAttrs(n):t.attrs;if(r===!1)return!1;const o=e.reduce((s,a)=>{const i=a.attribute.parseHTML?a.attribute.parseHTML(n):rot(n.getAttribute(a.name));return i==null?s:{...s,[a.name]:i}},{});return{...r,...o}}}}function hK(t){return Object.fromEntries(Object.entries(t).filter(([e,n])=>e==="attrs"&¬(n)?!1:n!=null))}function oot(t,e){var n;const r=qhe(t),{nodeExtensions:o,markExtensions:s}=jE(t),a=(n=o.find(u=>fn(u,"topNode")))===null||n===void 0?void 0:n.name,i=Object.fromEntries(o.map(u=>{const d=r.filter(S=>S.type===u.name),f={name:u.name,options:u.options,storage:u.storage,editor:e},m=t.reduce((S,I)=>{const N=fn(I,"extendNodeSchema",f);return{...S,...N?N(u):{}}},{}),g=hK({...m,content:lr(fn(u,"content",f)),marks:lr(fn(u,"marks",f)),group:lr(fn(u,"group",f)),inline:lr(fn(u,"inline",f)),atom:lr(fn(u,"atom",f)),selectable:lr(fn(u,"selectable",f)),draggable:lr(fn(u,"draggable",f)),code:lr(fn(u,"code",f)),whitespace:lr(fn(u,"whitespace",f)),linebreakReplacement:lr(fn(u,"linebreakReplacement",f)),defining:lr(fn(u,"defining",f)),isolating:lr(fn(u,"isolating",f)),attrs:Object.fromEntries(d.map(S=>{var I;return[S.name,{default:(I=S==null?void 0:S.attribute)===null||I===void 0?void 0:I.default}]}))}),w=lr(fn(u,"parseHTML",f));w&&(g.parseDOM=w.map(S=>pK(S,d)));const b=fn(u,"renderHTML",f);b&&(g.toDOM=S=>b({node:S,HTMLAttributes:zj(S,d)}));const j=fn(u,"renderText",f);return j&&(g.toText=j),[u.name,g]})),l=Object.fromEntries(s.map(u=>{const d=r.filter(j=>j.type===u.name),f={name:u.name,options:u.options,storage:u.storage,editor:e},m=t.reduce((j,S)=>{const I=fn(S,"extendMarkSchema",f);return{...j,...I?I(u):{}}},{}),g=hK({...m,inclusive:lr(fn(u,"inclusive",f)),excludes:lr(fn(u,"excludes",f)),group:lr(fn(u,"group",f)),spanning:lr(fn(u,"spanning",f)),code:lr(fn(u,"code",f)),attrs:Object.fromEntries(d.map(j=>{var S;return[j.name,{default:(S=j==null?void 0:j.attribute)===null||S===void 0?void 0:S.default}]}))}),w=lr(fn(u,"parseHTML",f));w&&(g.parseDOM=w.map(j=>pK(j,d)));const b=fn(u,"renderHTML",f);return b&&(g.toDOM=j=>b({mark:j,HTMLAttributes:zj(j,d)})),[u.name,g]}));return new zpe({topNode:a,nodes:i,marks:l})}function o5(t,e){return e.nodes[t]||e.marks[t]||null}function mK(t,e){return Array.isArray(e)?e.some(n=>(typeof n=="string"?n:n.name)===t.name):e}function yP(t,e){const n=t1.fromSchema(e).serializeFragment(t),o=document.implementation.createHTMLDocument().createElement("div");return o.appendChild(n),o.innerHTML}const sot=(t,e=500)=>{let n="";const r=t.parentOffset;return t.parent.nodesBetween(Math.max(0,r-e),r,(o,s,a,i)=>{var l,u;const d=((u=(l=o.type.spec).toText)===null||u===void 0?void 0:u.call(l,{node:o,pos:s,parent:a,index:i}))||o.textContent||"%leaf%";n+=o.isAtom&&!o.isText?d:d.slice(0,Math.max(0,r-s))}),n};function vP(t){return Object.prototype.toString.call(t)==="[object RegExp]"}class Zhe{constructor(e){this.find=e.find,this.handler=e.handler}}const aot=(t,e)=>{if(vP(e))return e.exec(t);const n=e(t);if(!n)return null;const r=[n.text];return r.index=n.index,r.input=t,r.data=n.data,n.replaceWith&&(n.text.includes(n.replaceWith)||console.warn('[tiptap warn]: "inputRuleMatch.replaceWith" must be part of "inputRuleMatch.text".'),r.push(n.replaceWith)),r};function Q6(t){var e;const{editor:n,from:r,to:o,text:s,rules:a,plugin:i}=t,{view:l}=n;if(l.composing)return!1;const u=l.state.doc.resolve(r);if(u.parent.type.spec.code||!((e=u.nodeBefore||u.nodeAfter)===null||e===void 0)&&e.marks.find(m=>m.type.spec.code))return!1;let d=!1;const f=sot(u)+s;return a.forEach(m=>{if(d)return;const g=aot(f,m.find);if(!g)return;const w=l.state.tr,b=xE({state:l.state,transaction:w}),j={from:r-(g[0].length-s.length),to:o},{commands:S,chain:I,can:N}=new kE({editor:n,state:b});m.handler({state:b,range:j,match:g,commands:S,chain:I,can:N})===null||!w.steps.length||(w.setMeta(i,{transform:w,from:r,to:o,text:s}),l.dispatch(w),d=!0)}),d}function iot(t){const{editor:e,rules:n}=t,r=new ui({state:{init(){return null},apply(o,s,a){const i=o.getMeta(r);if(i)return i;const l=o.getMeta("applyInputRules");return!!l&&setTimeout(()=>{let{text:d}=l;typeof d=="string"?d=d:d=yP(Mt.from(d),a.schema);const{from:f}=l,m=f+d.length;Q6({editor:e,from:f,to:m,text:d,rules:n,plugin:r})}),o.selectionSet||o.docChanged?null:s}},props:{handleTextInput(o,s,a,i){return Q6({editor:e,from:s,to:a,text:i,rules:n,plugin:r})},handleDOMEvents:{compositionend:o=>(setTimeout(()=>{const{$cursor:s}=o.state.selection;s&&Q6({editor:e,from:s.pos,to:s.pos,text:"",rules:n,plugin:r})}),!1)},handleKeyDown(o,s){if(s.key!=="Enter")return!1;const{$cursor:a}=o.state.selection;return a?Q6({editor:e,from:a.pos,to:a.pos,text:`
2112 `,rules:n,plugin:r}):!1}},isInputRules:!0});return r}function lot(t){return Object.prototype.toString.call(t).slice(8,-1)}function J6(t){return lot(t)!=="Object"?!1:t.constructor===Object&&Object.getPrototypeOf(t)===Object.prototype}function CE(t,e){const n={...t};return J6(t)&&J6(e)&&Object.keys(e).forEach(r=>{J6(e[r])&&J6(t[r])?n[r]=CE(t[r],e[r]):n[r]=e[r]}),n}class Fj{constructor(e={}){this.type="mark",this.name="mark",this.parent=null,this.child=null,this.config={name:this.name,defaultOptions:{}},this.config={...this.config,...e},this.name=this.config.name,e.defaultOptions&&Object.keys(e.defaultOptions).length>0&&console.warn(`[tiptap warn]: BREAKING CHANGE: "defaultOptions" is deprecated. Please use "addOptions" instead. Found in extension: "${this.name}".`),this.options=this.config.defaultOptions,this.config.addOptions&&(this.options=lr(fn(this,"addOptions",{name:this.name}))),this.storage=lr(fn(this,"addStorage",{name:this.name,options:this.options}))||{}}static create(e={}){return new Fj(e)}configure(e={}){const n=this.extend({...this.config,addOptions:()=>CE(this.options,e)});return n.name=this.name,n.parent=this.parent,n}extend(e={}){const n=new Fj(e);return n.parent=this,this.child=n,n.name=e.name?e.name:n.parent.name,e.defaultOptions&&Object.keys(e.defaultOptions).length>0&&console.warn(`[tiptap warn]: BREAKING CHANGE: "defaultOptions" is deprecated. Please use "addOptions" instead. Found in extension: "${n.name}".`),n.options=lr(fn(n,"addOptions",{name:n.name})),n.storage=lr(fn(n,"addStorage",{name:n.name,options:n.options})),n}static handleExit({editor:e,mark:n}){const{tr:r}=e.state,o=e.state.selection.$from;if(o.pos===o.end()){const a=o.marks();if(!!!a.find(u=>(u==null?void 0:u.type.name)===n.name))return!1;const l=a.find(u=>(u==null?void 0:u.type.name)===n.name);return l&&r.removeStoredMark(l),r.insertText(" ",o.pos),e.view.dispatch(r),!0}return!1}}function cot(t){return typeof t=="number"}class uot{constructor(e){this.find=e.find,this.handler=e.handler}}const fot=(t,e,n)=>{if(vP(e))return[...t.matchAll(e)];const r=e(t,n);return r?r.map(o=>{const s=[o.text];return s.index=o.index,s.input=t,s.data=o.data,o.replaceWith&&(o.text.includes(o.replaceWith)||console.warn('[tiptap warn]: "pasteRuleMatch.replaceWith" must be part of "pasteRuleMatch.text".'),s.push(o.replaceWith)),s}):[]};function dot(t){const{editor:e,state:n,from:r,to:o,rule:s,pasteEvent:a,dropEvent:i}=t,{commands:l,chain:u,can:d}=new kE({editor:e,state:n}),f=[];return n.doc.nodesBetween(r,o,(g,w)=>{if(!g.isTextblock||g.type.spec.code)return;const b=Math.max(r,w),j=Math.min(o,w+g.content.size),S=g.textBetween(b-w,j-w,void 0,"");fot(S,s.find,a).forEach(N=>{if(N.index===void 0)return;const M=b+N.index+1,D=M+N[0].length,O={from:n.tr.mapping.map(M),to:n.tr.mapping.map(D)},L=s.handler({state:n,range:O,match:N,commands:l,chain:u,can:d,pasteEvent:a,dropEvent:i});f.push(L)})}),f.every(g=>g!==null)}let X6=null;const pot=t=>{var e;const n=new ClipboardEvent("paste",{clipboardData:new DataTransfer});return(e=n.clipboardData)===null||e===void 0||e.setData("text/html",t),n};function hot(t){const{editor:e,rules:n}=t;let r=null,o=!1,s=!1,a=typeof ClipboardEvent<"u"?new ClipboardEvent("paste"):null,i;try{i=typeof DragEvent<"u"?new DragEvent("drop"):null}catch{i=null}const l=({state:d,from:f,to:m,rule:g,pasteEvt:w})=>{const b=d.tr,j=xE({state:d,transaction:b});if(!(!dot({editor:e,state:j,from:Math.max(f-1,0),to:m.b-1,rule:g,pasteEvent:w,dropEvent:i})||!b.steps.length)){try{i=typeof DragEvent<"u"?new DragEvent("drop"):null}catch{i=null}return a=typeof ClipboardEvent<"u"?new ClipboardEvent("paste"):null,b}};return n.map(d=>new ui({view(f){const m=w=>{var b;r=!((b=f.dom.parentElement)===null||b===void 0)&&b.contains(w.target)?f.dom.parentElement:null,r&&(X6=e)},g=()=>{X6&&(X6=null)};return window.addEventListener("dragstart",m),window.addEventListener("dragend",g),{destroy(){window.removeEventListener("dragstart",m),window.removeEventListener("dragend",g)}}},props:{handleDOMEvents:{drop:(f,m)=>{if(s=r===f.dom.parentElement,i=m,!s){const g=X6;g&&setTimeout(()=>{const w=g.state.selection;w&&g.commands.deleteRange({from:w.from,to:w.to})},10)}return!1},paste:(f,m)=>{var g;const w=(g=m.clipboardData)===null||g===void 0?void 0:g.getData("text/html");return a=m,o=!!(w!=null&&w.includes("data-pm-slice")),!1}}},appendTransaction:(f,m,g)=>{const w=f[0],b=w.getMeta("uiEvent")==="paste"&&!o,j=w.getMeta("uiEvent")==="drop"&&!s,S=w.getMeta("applyPasteRules"),I=!!S;if(!b&&!j&&!I)return;if(I){let{text:D}=S;typeof D=="string"?D=D:D=yP(Mt.from(D),g.schema);const{from:O}=S,L=O+D.length,B=pot(D);return l({rule:d,state:g,from:O,to:{b:L},pasteEvt:B})}const N=m.doc.content.findDiffStart(g.doc.content),M=m.doc.content.findDiffEnd(g.doc.content);if(!(!cot(N)||!M||N===M.b))return l({rule:d,state:g,from:N,to:M,pasteEvt:a})}}))}function mot(t){const e=t.filter((n,r)=>t.indexOf(n)!==r);return Array.from(new Set(e))}class v0{constructor(e,n){this.splittableMarks=[],this.editor=n,this.extensions=v0.resolve(e),this.schema=oot(this.extensions,n),this.setupExtensions()}static resolve(e){const n=v0.sort(v0.flatten(e)),r=mot(n.map(o=>o.name));return r.length&&console.warn(`[tiptap warn]: Duplicate extension names found: [${r.map(o=>`'${o}'`).join(", ")}]. This can lead to issues.`),n}static flatten(e){return e.map(n=>{const r={name:n.name,options:n.options,storage:n.storage},o=fn(n,"addExtensions",r);return o?[n,...this.flatten(o())]:n}).flat(10)}static sort(e){return e.sort((r,o)=>{const s=fn(r,"priority")||100,a=fn(o,"priority")||100;return s>a?-1:s<a?1:0})}get commands(){return this.extensions.reduce((e,n)=>{const r={name:n.name,options:n.options,storage:n.storage,editor:this.editor,type:o5(n.name,this.schema)},o=fn(n,"addCommands",r);return o?{...e,...o()}:e},{})}get plugins(){const{editor:e}=this,n=v0.sort([...this.extensions].reverse()),r=[],o=[],s=n.map(a=>{const i={name:a.name,options:a.options,storage:a.storage,editor:e,type:o5(a.name,this.schema)},l=[],u=fn(a,"addKeyboardShortcuts",i);let d={};if(a.type==="mark"&&fn(a,"exitable",i)&&(d.ArrowRight=()=>Fj.handleExit({editor:e,mark:a})),u){const b=Object.fromEntries(Object.entries(u()).map(([j,S])=>[j,()=>S({editor:e})]));d={...d,...b}}const f=Trt(d);l.push(f);const m=fn(a,"addInputRules",i);mK(a,e.options.enableInputRules)&&m&&r.push(...m());const g=fn(a,"addPasteRules",i);mK(a,e.options.enablePasteRules)&&g&&o.push(...g());const w=fn(a,"addProseMirrorPlugins",i);if(w){const b=w();l.push(...b)}return l}).flat();return[iot({editor:e,rules:r}),...hot({editor:e,rules:o}),...s]}get attributes(){return qhe(this.extensions)}get nodeViews(){const{editor:e}=this,{nodeExtensions:n}=jE(this.extensions);return Object.fromEntries(n.filter(r=>!!fn(r,"addNodeView")).map(r=>{const o=this.attributes.filter(l=>l.type===r.name),s={name:r.name,options:r.options,storage:r.storage,editor:e,type:$s(r.name,this.schema)},a=fn(r,"addNodeView",s);if(!a)return[];const i=(l,u,d,f,m)=>{const g=zj(l,o);return a()({node:l,view:u,getPos:d,decorations:f,innerDecorations:m,editor:e,extension:r,HTMLAttributes:g})};return[r.name,i]}))}setupExtensions(){this.extensions.forEach(e=>{var n;this.editor.extensionStorage[e.name]=e.storage;const r={name:e.name,options:e.options,storage:e.storage,editor:this.editor,type:o5(e.name,this.schema)};e.type==="mark"&&(!((n=lr(fn(e,"keepOnSplit",r)))!==null&&n!==void 0)||n)&&this.splittableMarks.push(e.name);const o=fn(e,"onBeforeCreate",r),s=fn(e,"onCreate",r),a=fn(e,"onUpdate",r),i=fn(e,"onSelectionUpdate",r),l=fn(e,"onTransaction",r),u=fn(e,"onFocus",r),d=fn(e,"onBlur",r),f=fn(e,"onDestroy",r);o&&this.editor.on("beforeCreate",o),s&&this.editor.on("create",s),a&&this.editor.on("update",a),i&&this.editor.on("selectionUpdate",i),l&&this.editor.on("transaction",l),u&&this.editor.on("focus",u),d&&this.editor.on("blur",d),f&&this.editor.on("destroy",f)})}}class Ri{constructor(e={}){this.type="extension",this.name="extension",this.parent=null,this.child=null,this.config={name:this.name,defaultOptions:{}},this.config={...this.config,...e},this.name=this.config.name,e.defaultOptions&&Object.keys(e.defaultOptions).length>0&&console.warn(`[tiptap warn]: BREAKING CHANGE: "defaultOptions" is deprecated. Please use "addOptions" instead. Found in extension: "${this.name}".`),this.options=this.config.defaultOptions,this.config.addOptions&&(this.options=lr(fn(this,"addOptions",{name:this.name}))),this.storage=lr(fn(this,"addStorage",{name:this.name,options:this.options}))||{}}static create(e={}){return new Ri(e)}configure(e={}){const n=this.extend({...this.config,addOptions:()=>CE(this.options,e)});return n.name=this.name,n.parent=this.parent,n}extend(e={}){const n=new Ri({...this.config,...e});return n.parent=this,this.child=n,n.name=e.name?e.name:n.parent.name,e.defaultOptions&&Object.keys(e.defaultOptions).length>0&&console.warn(`[tiptap warn]: BREAKING CHANGE: "defaultOptions" is deprecated. Please use "addOptions" instead. Found in extension: "${n.name}".`),n.options=lr(fn(n,"addOptions",{name:n.name})),n.storage=lr(fn(n,"addStorage",{name:n.name,options:n.options})),n}}function Qhe(t,e,n){const{from:r,to:o}=e,{blockSeparator:s=`
2113
2114 `,textSerializers:a={}}=n||{};let i="";return t.nodesBetween(r,o,(l,u,d,f)=>{var m;l.isBlock&&u>r&&(i+=s);const g=a==null?void 0:a[l.type.name];if(g)return d&&(i+=g({node:l,pos:u,parent:d,index:f,range:e})),!1;l.isText&&(i+=(m=l==null?void 0:l.text)===null||m===void 0?void 0:m.slice(Math.max(r,u)-u,o-u))}),i}function Jhe(t){return Object.fromEntries(Object.entries(t.nodes).filter(([,e])=>e.spec.toText).map(([e,n])=>[e,n.spec.toText]))}const got=Ri.create({name:"clipboardTextSerializer",addOptions(){return{blockSeparator:void 0}},addProseMirrorPlugins(){return[new ui({key:new Li("clipboardTextSerializer"),props:{clipboardTextSerializer:()=>{const{editor:t}=this,{state:e,schema:n}=t,{doc:r,selection:o}=e,{ranges:s}=o,a=Math.min(...s.map(d=>d.$from.pos)),i=Math.max(...s.map(d=>d.$to.pos)),l=Jhe(n);return Qhe(r,{from:a,to:i},{...this.options.blockSeparator!==void 0?{blockSeparator:this.options.blockSeparator}:{},textSerializers:l})}}})]}}),yot=()=>({editor:t,view:e})=>(requestAnimationFrame(()=>{var n;t.isDestroyed||(e.dom.blur(),(n=window==null?void 0:window.getSelection())===null||n===void 0||n.removeAllRanges())}),!0),vot=(t=!1)=>({commands:e})=>e.setContent("",t),wot=()=>({state:t,tr:e,dispatch:n})=>{const{selection:r}=e,{ranges:o}=r;return n&&o.forEach(({$from:s,$to:a})=>{t.doc.nodesBetween(s.pos,a.pos,(i,l)=>{if(i.type.isText)return;const{doc:u,mapping:d}=e,f=u.resolve(d.map(l)),m=u.resolve(d.map(l+i.nodeSize)),g=f.blockRange(m);if(!g)return;const w=cv(g);if(i.type.isTextblock){const{defaultType:b}=f.parent.contentMatchAt(f.index());e.setNodeMarkup(g.start,b)}(w||w===0)&&e.lift(g,w)})}),!0},bot=t=>e=>t(e),xot=()=>({state:t,dispatch:e})=>Hhe(t,e),kot=(t,e)=>({editor:n,tr:r})=>{const{state:o}=n,s=o.doc.slice(t.from,t.to);r.deleteRange(t.from,t.to);const a=r.mapping.map(e);return r.insert(a,s.content),r.setSelection(new Hn(r.doc.resolve(a-1))),!0},jot=()=>({tr:t,dispatch:e})=>{const{selection:n}=t,r=n.$anchor.node();if(r.content.size>0)return!1;const o=t.selection.$anchor;for(let s=o.depth;s>0;s-=1)if(o.node(s).type===r.type){if(e){const i=o.before(s),l=o.after(s);t.delete(i,l).scrollIntoView()}return!0}return!1},Cot=t=>({tr:e,state:n,dispatch:r})=>{const o=$s(t,n.schema),s=e.selection.$anchor;for(let a=s.depth;a>0;a-=1)if(s.node(a).type===o){if(r){const l=s.before(a),u=s.after(a);e.delete(l,u).scrollIntoView()}return!0}return!1},Sot=t=>({tr:e,dispatch:n})=>{const{from:r,to:o}=t;return n&&e.delete(r,o),!0},Eot=()=>({state:t,dispatch:e})=>dP(t,e),Not=()=>({commands:t})=>t.keyboardShortcut("Enter"),Iot=()=>({state:t,dispatch:e})=>Brt(t,e);function Bj(t,e,n={strict:!0}){const r=Object.keys(e);return r.length?r.every(o=>n.strict?e[o]===t[o]:vP(e[o])?e[o].test(t[o]):e[o]===t[o]):!0}function Xhe(t,e,n={}){return t.find(r=>r.type===e&&Bj(Object.fromEntries(Object.keys(n).map(o=>[o,r.attrs[o]])),n))}function gK(t,e,n={}){return!!Xhe(t,e,n)}function eme(t,e,n){var r;if(!t||!e)return;let o=t.parent.childAfter(t.parentOffset);if((!o.node||!o.node.marks.some(d=>d.type===e))&&(o=t.parent.childBefore(t.parentOffset)),!o.node||!o.node.marks.some(d=>d.type===e)||(n=n||((r=o.node.marks[0])===null||r===void 0?void 0:r.attrs),!Xhe([...o.node.marks],e,n)))return;let a=o.index,i=t.start()+o.offset,l=a+1,u=i+o.node.nodeSize;for(;a>0&&gK([...t.parent.child(a-1).marks],e,n);)a-=1,i-=t.parent.child(a).nodeSize;for(;l<t.parent.childCount&&gK([...t.parent.child(l).marks],e,n);)u+=t.parent.child(l).nodeSize,l+=1;return{from:i,to:u}}function Dh(t,e){if(typeof t=="string"){if(!e.marks[t])throw Error(`There is no mark type named '${t}'. Maybe you forgot to add the extension?`);return e.marks[t]}return t}const Aot=(t,e={})=>({tr:n,state:r,dispatch:o})=>{const s=Dh(t,r.schema),{doc:a,selection:i}=n,{$from:l,from:u,to:d}=i;if(o){const f=eme(l,s,e);if(f&&f.from<=u&&f.to>=d){const m=Hn.create(a,f.from,f.to);n.setSelection(m)}}return!0},_ot=t=>e=>{const n=typeof t=="function"?t(e):t;for(let r=0;r<n.length;r+=1)if(n[r](e))return!0;return!1};function tme(t){return t instanceof Hn}function Um(t=0,e=0,n=0){return Math.min(Math.max(t,e),n)}function nme(t,e=null){if(!e)return null;const n=rr.atStart(t),r=rr.atEnd(t);if(e==="start"||e===!0)return n;if(e==="end")return r;const o=n.from,s=r.to;return e==="all"?Hn.create(t,Um(0,o,s),Um(t.content.size,o,s)):Hn.create(t,Um(e,o,s),Um(e,o,s))}function rme(){return navigator.platform==="Android"||/android/i.test(navigator.userAgent)}function SE(){return["iPad Simulator","iPhone Simulator","iPod Simulator","iPad","iPhone","iPod"].includes(navigator.platform)||navigator.userAgent.includes("Mac")&&"ontouchend"in document}const Mot=(t=null,e={})=>({editor:n,view:r,tr:o,dispatch:s})=>{e={scrollIntoView:!0,...e};const a=()=>{(SE()||rme())&&r.dom.focus(),requestAnimationFrame(()=>{n.isDestroyed||(r.focus(),e!=null&&e.scrollIntoView&&n.commands.scrollIntoView())})};if(r.hasFocus()&&t===null||t===!1)return!0;if(s&&t===null&&!tme(n.state.selection))return a(),!0;const i=nme(o.doc,t)||n.state.selection,l=n.state.selection.eq(i);return s&&(l||o.setSelection(i),l&&o.storedMarks&&o.setStoredMarks(o.storedMarks),a()),!0},Rot=(t,e)=>n=>t.every((r,o)=>e(r,{...n,index:o})),Tot=(t,e)=>({tr:n,commands:r})=>r.insertContentAt({from:n.selection.from,to:n.selection.to},t,e),ome=t=>{const e=t.childNodes;for(let n=e.length-1;n>=0;n-=1){const r=e[n];r.nodeType===3&&r.nodeValue&&/^(\n\s\s|\n)$/.test(r.nodeValue)?t.removeChild(r):r.nodeType===1&&ome(r)}return t};function e3(t){const e=`<body>${t}</body>`,n=new window.DOMParser().parseFromString(e,"text/html").body;return ome(n)}function Uj(t,e,n){if(t instanceof Gp||t instanceof Mt)return t;n={slice:!0,parseOptions:{},...n};const r=typeof t=="object"&&t!==null,o=typeof t=="string";if(r)try{if(Array.isArray(t)&&t.length>0)return Mt.fromArray(t.map(i=>e.nodeFromJSON(i)));const a=e.nodeFromJSON(t);return n.errorOnInvalidContent&&a.check(),a}catch(s){if(n.errorOnInvalidContent)throw new Error("[tiptap error]: Invalid JSON content",{cause:s});return console.warn("[tiptap warn]: Invalid content.","Passed value:",t,"Error:",s),Uj("",e,n)}if(o){if(n.errorOnInvalidContent){let a=!1,i="";const l=new zpe({topNode:e.spec.topNode,marks:e.spec.marks,nodes:e.spec.nodes.append({__tiptap__private__unknown__catch__all__node:{content:"inline*",group:"block",parseDOM:[{tag:"*",getAttrs:u=>(a=!0,i=typeof u=="string"?u:u.outerHTML,null)}]}})});if(n.slice?sb.fromSchema(l).parseSlice(e3(t),n.parseOptions):sb.fromSchema(l).parse(e3(t),n.parseOptions),n.errorOnInvalidContent&&a)throw new Error("[tiptap error]: Invalid HTML content",{cause:new Error(`Invalid element found: ${i}`)})}const s=sb.fromSchema(e);return n.slice?s.parseSlice(e3(t),n.parseOptions).content:s.parse(e3(t),n.parseOptions)}return Uj("",e,n)}function Dot(t,e,n){const r=t.steps.length-1;if(r<e)return;const o=t.steps[r];if(!(o instanceof Rs||o instanceof Ps))return;const s=t.mapping.maps[r];let a=0;s.forEach((i,l,u,d)=>{a===0&&(a=d)}),t.setSelection(rr.near(t.doc.resolve(a),n))}const Lot=t=>!("type"in t),Pot=(t,e,n)=>({tr:r,dispatch:o,editor:s})=>{var a;if(o){n={parseOptions:s.options.parseOptions,updateSelection:!0,applyInputRules:!1,applyPasteRules:!1,...n};let i;try{i=Uj(e,s.schema,{parseOptions:{preserveWhitespace:"full",...n.parseOptions},errorOnInvalidContent:(a=n.errorOnInvalidContent)!==null&&a!==void 0?a:s.options.enableContentCheck})}catch(w){return s.emit("contentError",{editor:s,error:w,disableCollaboration:()=>{s.storage.collaboration&&(s.storage.collaboration.isDisabled=!0)}}),!1}let{from:l,to:u}=typeof t=="number"?{from:t,to:t}:{from:t.from,to:t.to},d=!0,f=!0;if((Lot(i)?i:[i]).forEach(w=>{w.check(),d=d?w.isText&&w.marks.length===0:!1,f=f?w.isBlock:!1}),l===u&&f){const{parent:w}=r.doc.resolve(l);w.isTextblock&&!w.type.spec.code&&!w.childCount&&(l-=1,u+=1)}let g;if(d){if(Array.isArray(e))g=e.map(w=>w.text||"").join("");else if(e instanceof Mt){let w="";e.forEach(b=>{b.text&&(w+=b.text)}),g=w}else typeof e=="object"&&e&&e.text?g=e.text:g=e;r.insertText(g,l,u)}else g=i,r.replaceWith(l,u,g);n.updateSelection&&Dot(r,r.steps.length-1,-1),n.applyInputRules&&r.setMeta("applyInputRules",{from:l,text:g}),n.applyPasteRules&&r.setMeta("applyPasteRules",{from:l,text:g})}return!0},Oot=()=>({state:t,dispatch:e})=>Ort(t,e),zot=()=>({state:t,dispatch:e})=>zrt(t,e),Fot=()=>({state:t,dispatch:e})=>Ohe(t,e),Bot=()=>({state:t,dispatch:e})=>Uhe(t,e),Uot=()=>({state:t,dispatch:e,tr:n})=>{try{const r=mE(t.doc,t.selection.$from.pos,-1);return r==null?!1:(n.join(r,2),e&&e(n),!0)}catch{return!1}},$ot=()=>({state:t,dispatch:e,tr:n})=>{try{const r=mE(t.doc,t.selection.$from.pos,1);return r==null?!1:(n.join(r,2),e&&e(n),!0)}catch{return!1}},Vot=()=>({state:t,dispatch:e})=>Lrt(t,e),Hot=()=>({state:t,dispatch:e})=>Prt(t,e);function sme(){return typeof navigator<"u"?/Mac/.test(navigator.platform):!1}function Wot(t){const e=t.split(/-(?!$)/);let n=e[e.length-1];n==="Space"&&(n=" ");let r,o,s,a;for(let i=0;i<e.length-1;i+=1){const l=e[i];if(/^(cmd|meta|m)$/i.test(l))a=!0;else if(/^a(lt)?$/i.test(l))r=!0;else if(/^(c|ctrl|control)$/i.test(l))o=!0;else if(/^s(hift)?$/i.test(l))s=!0;else if(/^mod$/i.test(l))SE()||sme()?a=!0:o=!0;else throw new Error(`Unrecognized modifier name: ${l}`)}return r&&(n=`Alt-${n}`),o&&(n=`Ctrl-${n}`),a&&(n=`Meta-${n}`),s&&(n=`Shift-${n}`),n}const Yot=t=>({editor:e,view:n,tr:r,dispatch:o})=>{const s=Wot(t).split(/-(?!$)/),a=s.find(u=>!["Alt","Ctrl","Meta","Shift"].includes(u)),i=new KeyboardEvent("keydown",{key:a==="Space"?" ":a,altKey:s.includes("Alt"),ctrlKey:s.includes("Ctrl"),metaKey:s.includes("Meta"),shiftKey:s.includes("Shift"),bubbles:!0,cancelable:!0}),l=e.captureTransaction(()=>{n.someProp("handleKeyDown",u=>u(n,i))});return l==null||l.steps.forEach(u=>{const d=u.map(r.mapping);d&&o&&r.maybeStep(d)}),!0};function b2(t,e,n={}){const{from:r,to:o,empty:s}=t.selection,a=e?$s(e,t.schema):null,i=[];t.doc.nodesBetween(r,o,(f,m)=>{if(f.isText)return;const g=Math.max(r,m),w=Math.min(o,m+f.nodeSize);i.push({node:f,from:g,to:w})});const l=o-r,u=i.filter(f=>a?a.name===f.node.type.name:!0).filter(f=>Bj(f.node.attrs,n,{strict:!1}));return s?!!u.length:u.reduce((f,m)=>f+m.to-m.from,0)>=l}const Got=(t,e={})=>({state:n,dispatch:r})=>{const o=$s(t,n.schema);return b2(n,o,e)?Frt(n,r):!1},qot=()=>({state:t,dispatch:e})=>Whe(t,e),Kot=t=>({state:e,dispatch:n})=>{const r=$s(t,e.schema);return Qrt(r)(e,n)},Zot=()=>({state:t,dispatch:e})=>Vhe(t,e);function EE(t,e){return e.nodes[t]?"node":e.marks[t]?"mark":null}function yK(t,e){const n=typeof e=="string"?[e]:e;return Object.keys(t).reduce((r,o)=>(n.includes(o)||(r[o]=t[o]),r),{})}const Qot=(t,e)=>({tr:n,state:r,dispatch:o})=>{let s=null,a=null;const i=EE(typeof t=="string"?t:t.name,r.schema);return i?(i==="node"&&(s=$s(t,r.schema)),i==="mark"&&(a=Dh(t,r.schema)),o&&n.selection.ranges.forEach(l=>{r.doc.nodesBetween(l.$from.pos,l.$to.pos,(u,d)=>{s&&s===u.type&&n.setNodeMarkup(d,void 0,yK(u.attrs,e)),a&&u.marks.length&&u.marks.forEach(f=>{a===f.type&&n.addMark(d,d+u.nodeSize,a.create(yK(f.attrs,e)))})})}),!0):!1},Jot=()=>({tr:t,dispatch:e})=>(e&&t.scrollIntoView(),!0),Xot=()=>({tr:t,dispatch:e})=>{if(e){const n=new dl(t.doc);t.setSelection(n)}return!0},est=()=>({state:t,dispatch:e})=>Fhe(t,e),tst=()=>({state:t,dispatch:e})=>$he(t,e),nst=()=>({state:t,dispatch:e})=>Vrt(t,e),rst=()=>({state:t,dispatch:e})=>Yrt(t,e),ost=()=>({state:t,dispatch:e})=>Wrt(t,e);function oR(t,e,n={},r={}){return Uj(t,e,{slice:!1,parseOptions:n,errorOnInvalidContent:r.errorOnInvalidContent})}const sst=(t,e=!1,n={},r={})=>({editor:o,tr:s,dispatch:a,commands:i})=>{var l,u;const{doc:d}=s;if(n.preserveWhitespace!=="full"){const f=oR(t,o.schema,n,{errorOnInvalidContent:(l=r.errorOnInvalidContent)!==null&&l!==void 0?l:o.options.enableContentCheck});return a&&s.replaceWith(0,d.content.size,f).setMeta("preventUpdate",!e),!0}return a&&s.setMeta("preventUpdate",!e),i.insertContentAt({from:0,to:d.content.size},t,{parseOptions:n,errorOnInvalidContent:(u=r.errorOnInvalidContent)!==null&&u!==void 0?u:o.options.enableContentCheck})};function ame(t,e){const n=Dh(e,t.schema),{from:r,to:o,empty:s}=t.selection,a=[];s?(t.storedMarks&&a.push(...t.storedMarks),a.push(...t.selection.$head.marks())):t.doc.nodesBetween(r,o,l=>{a.push(...l.marks)});const i=a.find(l=>l.type.name===n.name);return i?{...i.attrs}:{}}function ast(t,e){const n=new ehe(t);return e.forEach(r=>{r.steps.forEach(o=>{n.step(o)})}),n}function ist(t){for(let e=0;e<t.edgeCount;e+=1){const{type:n}=t.edge(e);if(n.isTextblock&&!n.hasRequiredAttrs())return n}return null}function lst(t,e,n){const r=[];return t.nodesBetween(e.from,e.to,(o,s)=>{n(o)&&r.push({node:o,pos:s})}),r}function cst(t,e){for(let n=t.depth;n>0;n-=1){const r=t.node(n);if(e(r))return{pos:n>0?t.before(n):0,start:t.start(n),depth:n,node:r}}}function wP(t){return e=>cst(e.$from,t)}function ust(t,e){const n={from:0,to:t.content.size};return Qhe(t,n,e)}function fst(t,e){const n=$s(e,t.schema),{from:r,to:o}=t.selection,s=[];t.doc.nodesBetween(r,o,i=>{s.push(i)});const a=s.reverse().find(i=>i.type.name===n.name);return a?{...a.attrs}:{}}function dst(t,e){const n=EE(typeof e=="string"?e:e.name,t.schema);return n==="node"?fst(t,e):n==="mark"?ame(t,e):{}}function pst(t,e=JSON.stringify){const n={};return t.filter(r=>{const o=e(r);return Object.prototype.hasOwnProperty.call(n,o)?!1:n[o]=!0})}function hst(t){const e=pst(t);return e.length===1?e:e.filter((n,r)=>!e.filter((s,a)=>a!==r).some(s=>n.oldRange.from>=s.oldRange.from&&n.oldRange.to<=s.oldRange.to&&n.newRange.from>=s.newRange.from&&n.newRange.to<=s.newRange.to))}function mst(t){const{mapping:e,steps:n}=t,r=[];return e.maps.forEach((o,s)=>{const a=[];if(o.ranges.length)o.forEach((i,l)=>{a.push({from:i,to:l})});else{const{from:i,to:l}=n[s];if(i===void 0||l===void 0)return;a.push({from:i,to:l})}a.forEach(({from:i,to:l})=>{const u=e.slice(s).map(i,-1),d=e.slice(s).map(l),f=e.invert().map(u,-1),m=e.invert().map(d);r.push({oldRange:{from:f,to:m},newRange:{from:u,to:d}})})}),hst(r)}function Q3(t,e,n){return Object.fromEntries(Object.entries(n).filter(([r])=>{const o=t.find(s=>s.type===e&&s.name===r);return o?o.attribute.keepOnSplit:!1}))}function sR(t,e,n={}){const{empty:r,ranges:o}=t.selection,s=e?Dh(e,t.schema):null;if(r)return!!(t.storedMarks||t.selection.$from.marks()).filter(f=>s?s.name===f.type.name:!0).find(f=>Bj(f.attrs,n,{strict:!1}));let a=0;const i=[];if(o.forEach(({$from:f,$to:m})=>{const g=f.pos,w=m.pos;t.doc.nodesBetween(g,w,(b,j)=>{if(!b.isText&&!b.marks.length)return;const S=Math.max(g,j),I=Math.min(w,j+b.nodeSize),N=I-S;a+=N,i.push(...b.marks.map(M=>({mark:M,from:S,to:I})))})}),a===0)return!1;const l=i.filter(f=>s?s.name===f.mark.type.name:!0).filter(f=>Bj(f.mark.attrs,n,{strict:!1})).reduce((f,m)=>f+m.to-m.from,0),u=i.filter(f=>s?f.mark.type!==s&&f.mark.type.excludes(s):!0).reduce((f,m)=>f+m.to-m.from,0);return(l>0?l+u:l)>=a}function gst(t,e,n={}){if(!e)return b2(t,null,n)||sR(t,null,n);const r=EE(e,t.schema);return r==="node"?b2(t,e,n):r==="mark"?sR(t,e,n):!1}function vK(t,e){const{nodeExtensions:n}=jE(e),r=n.find(a=>a.name===t);if(!r)return!1;const o={name:r.name,options:r.options,storage:r.storage},s=lr(fn(r,"group",o));return typeof s!="string"?!1:s.split(" ").includes("list")}function NE(t,{checkChildren:e=!0,ignoreWhitespace:n=!1}={}){var r;if(n){if(t.type.name==="hardBreak")return!0;if(t.isText)return/^\s*$/m.test((r=t.text)!==null&&r!==void 0?r:"")}if(t.isText)return!t.text;if(t.isAtom||t.isLeaf)return!1;if(t.content.childCount===0)return!0;if(e){let o=!0;return t.content.forEach(s=>{o!==!1&&(NE(s,{ignoreWhitespace:n,checkChildren:e})||(o=!1))}),o}return!1}function yst(t,e,n){var r;const{selection:o}=e;let s=null;if(tme(o)&&(s=o.$cursor),s){const i=(r=t.storedMarks)!==null&&r!==void 0?r:s.marks();return!!n.isInSet(i)||!i.some(l=>l.type.excludes(n))}const{ranges:a}=o;return a.some(({$from:i,$to:l})=>{let u=i.depth===0?t.doc.inlineContent&&t.doc.type.allowsMarkType(n):!1;return t.doc.nodesBetween(i.pos,l.pos,(d,f,m)=>{if(u)return!1;if(d.isInline){const g=!m||m.type.allowsMarkType(n),w=!!n.isInSet(d.marks)||!d.marks.some(b=>b.type.excludes(n));u=g&&w}return!u}),u})}const vst=(t,e={})=>({tr:n,state:r,dispatch:o})=>{const{selection:s}=n,{empty:a,ranges:i}=s,l=Dh(t,r.schema);if(o)if(a){const u=ame(r,l);n.addStoredMark(l.create({...u,...e}))}else i.forEach(u=>{const d=u.$from.pos,f=u.$to.pos;r.doc.nodesBetween(d,f,(m,g)=>{const w=Math.max(g,d),b=Math.min(g+m.nodeSize,f);m.marks.find(S=>S.type===l)?m.marks.forEach(S=>{l===S.type&&n.addMark(w,b,l.create({...S.attrs,...e}))}):n.addMark(w,b,l.create(e))})});return yst(r,n,l)},wst=(t,e)=>({tr:n})=>(n.setMeta(t,e),!0),bst=(t,e={})=>({state:n,dispatch:r,chain:o})=>{const s=$s(t,n.schema);let a;return n.selection.$anchor.sameParent(n.selection.$head)&&(a=n.selection.$anchor.parent.attrs),s.isTextblock?o().command(({commands:i})=>dK(s,{...a,...e})(n)?!0:i.clearNodes()).command(({state:i})=>dK(s,{...a,...e})(i,r)).run():(console.warn('[tiptap warn]: Currently "setNode()" only supports text block nodes.'),!1)},xst=t=>({tr:e,dispatch:n})=>{if(n){const{doc:r}=e,o=Um(t,0,r.content.size),s=Sn.create(r,o);e.setSelection(s)}return!0},kst=t=>({tr:e,dispatch:n})=>{if(n){const{doc:r}=e,{from:o,to:s}=typeof t=="number"?{from:t,to:t}:t,a=Hn.atStart(r).from,i=Hn.atEnd(r).to,l=Um(o,a,i),u=Um(s,a,i),d=Hn.create(r,l,u);e.setSelection(d)}return!0},jst=t=>({state:e,dispatch:n})=>{const r=$s(t,e.schema);return eot(r)(e,n)};function wK(t,e){const n=t.storedMarks||t.selection.$to.parentOffset&&t.selection.$from.marks();if(n){const r=n.filter(o=>e==null?void 0:e.includes(o.type.name));t.tr.ensureMarks(r)}}const Cst=({keepMarks:t=!0}={})=>({tr:e,state:n,dispatch:r,editor:o})=>{const{selection:s,doc:a}=e,{$from:i,$to:l}=s,u=o.extensionManager.attributes,d=Q3(u,i.node().type.name,i.node().attrs);if(s instanceof Sn&&s.node.isBlock)return!i.parentOffset||!rd(a,i.pos)?!1:(r&&(t&&wK(n,o.extensionManager.splittableMarks),e.split(i.pos).scrollIntoView()),!0);if(!i.parent.isBlock)return!1;const f=l.parentOffset===l.parent.content.size,m=i.depth===0?void 0:ist(i.node(-1).contentMatchAt(i.indexAfter(-1)));let g=f&&m?[{type:m,attrs:d}]:void 0,w=rd(e.doc,e.mapping.map(i.pos),1,g);if(!g&&!w&&rd(e.doc,e.mapping.map(i.pos),1,m?[{type:m}]:void 0)&&(w=!0,g=m?[{type:m,attrs:d}]:void 0),r){if(w&&(s instanceof Hn&&e.deleteSelection(),e.split(e.mapping.map(i.pos),1,g),m&&!f&&!i.parentOffset&&i.parent.type!==m)){const b=e.mapping.map(i.before()),j=e.doc.resolve(b);i.node(-1).canReplaceWith(j.index(),j.index()+1,m)&&e.setNodeMarkup(e.mapping.map(i.before()),m)}t&&wK(n,o.extensionManager.splittableMarks),e.scrollIntoView()}return w},Sst=(t,e={})=>({tr:n,state:r,dispatch:o,editor:s})=>{var a;const i=$s(t,r.schema),{$from:l,$to:u}=r.selection,d=r.selection.node;if(d&&d.isBlock||l.depth<2||!l.sameParent(u))return!1;const f=l.node(-1);if(f.type!==i)return!1;const m=s.extensionManager.attributes;if(l.parent.content.size===0&&l.node(-1).childCount===l.indexAfter(-1)){if(l.depth===2||l.node(-3).type!==i||l.index(-2)!==l.node(-2).childCount-1)return!1;if(o){let S=Mt.empty;const I=l.index(-1)?1:l.index(-2)?2:3;for(let B=l.depth-I;B>=l.depth-3;B-=1)S=Mt.from(l.node(B).copy(S));const N=l.indexAfter(-1)<l.node(-2).childCount?1:l.indexAfter(-2)<l.node(-3).childCount?2:3,M={...Q3(m,l.node().type.name,l.node().attrs),...e},D=((a=i.contentMatch.defaultType)===null||a===void 0?void 0:a.createAndFill(M))||void 0;S=S.append(Mt.from(i.createAndFill(null,D)||void 0));const O=l.before(l.depth-(I-1));n.replace(O,l.after(-N),new tn(S,4-I,0));let L=-1;n.doc.nodesBetween(O,n.doc.content.size,(B,T)=>{if(L>-1)return!1;B.isTextblock&&B.content.size===0&&(L=T+1)}),L>-1&&n.setSelection(Hn.near(n.doc.resolve(L))),n.scrollIntoView()}return!0}const g=u.pos===l.end()?f.contentMatchAt(0).defaultType:null,w={...Q3(m,f.type.name,f.attrs),...e},b={...Q3(m,l.node().type.name,l.node().attrs),...e};n.delete(l.pos,u.pos);const j=g?[{type:i,attrs:w},{type:g,attrs:b}]:[{type:i,attrs:w}];if(!rd(n.doc,l.pos,2))return!1;if(o){const{selection:S,storedMarks:I}=r,{splittableMarks:N}=s.extensionManager,M=I||S.$to.parentOffset&&S.$from.marks();if(n.split(l.pos,2,j).scrollIntoView(),!M||!o)return!0;const D=M.filter(O=>N.includes(O.type.name));n.ensureMarks(D)}return!0},s5=(t,e)=>{const n=wP(a=>a.type===e)(t.selection);if(!n)return!0;const r=t.doc.resolve(Math.max(0,n.pos-1)).before(n.depth);if(r===void 0)return!0;const o=t.doc.nodeAt(r);return n.node.type===(o==null?void 0:o.type)&&n1(t.doc,n.pos)&&t.join(n.pos),!0},a5=(t,e)=>{const n=wP(a=>a.type===e)(t.selection);if(!n)return!0;const r=t.doc.resolve(n.start).after(n.depth);if(r===void 0)return!0;const o=t.doc.nodeAt(r);return n.node.type===(o==null?void 0:o.type)&&n1(t.doc,r)&&t.join(r),!0},Est=(t,e,n,r={})=>({editor:o,tr:s,state:a,dispatch:i,chain:l,commands:u,can:d})=>{const{extensions:f,splittableMarks:m}=o.extensionManager,g=$s(t,a.schema),w=$s(e,a.schema),{selection:b,storedMarks:j}=a,{$from:S,$to:I}=b,N=S.blockRange(I),M=j||b.$to.parentOffset&&b.$from.marks();if(!N)return!1;const D=wP(O=>vK(O.type.name,f))(b);if(N.depth>=1&&D&&N.depth-D.depth<=1){if(D.node.type===g)return u.liftListItem(w);if(vK(D.node.type.name,f)&&g.validContent(D.node.content)&&i)return l().command(()=>(s.setNodeMarkup(D.pos,g),!0)).command(()=>s5(s,g)).command(()=>a5(s,g)).run()}return!n||!M||!i?l().command(()=>d().wrapInList(g,r)?!0:u.clearNodes()).wrapInList(g,r).command(()=>s5(s,g)).command(()=>a5(s,g)).run():l().command(()=>{const O=d().wrapInList(g,r),L=M.filter(B=>m.includes(B.type.name));return s.ensureMarks(L),O?!0:u.clearNodes()}).wrapInList(g,r).command(()=>s5(s,g)).command(()=>a5(s,g)).run()},Nst=(t,e={},n={})=>({state:r,commands:o})=>{const{extendEmptyMarkRange:s=!1}=n,a=Dh(t,r.schema);return sR(r,a,e)?o.unsetMark(a,{extendEmptyMarkRange:s}):o.setMark(a,e)},Ist=(t,e,n={})=>({state:r,commands:o})=>{const s=$s(t,r.schema),a=$s(e,r.schema),i=b2(r,s,n);let l;return r.selection.$anchor.sameParent(r.selection.$head)&&(l=r.selection.$anchor.parent.attrs),i?o.setNode(a,l):o.setNode(s,{...l,...n})},Ast=(t,e={})=>({state:n,commands:r})=>{const o=$s(t,n.schema);return b2(n,o,e)?r.lift(o):r.wrapIn(o,e)},_st=()=>({state:t,dispatch:e})=>{const n=t.plugins;for(let r=0;r<n.length;r+=1){const o=n[r];let s;if(o.spec.isInputRules&&(s=o.getState(t))){if(e){const a=t.tr,i=s.transform;for(let l=i.steps.length-1;l>=0;l-=1)a.step(i.steps[l].invert(i.docs[l]));if(s.text){const l=a.doc.resolve(s.from).marks();a.replaceWith(s.from,s.to,t.schema.text(s.text,l))}else a.delete(s.from,s.to)}return!0}}return!1},Mst=()=>({tr:t,dispatch:e})=>{const{selection:n}=t,{empty:r,ranges:o}=n;return r||e&&o.forEach(s=>{t.removeMark(s.$from.pos,s.$to.pos)}),!0},Rst=(t,e={})=>({tr:n,state:r,dispatch:o})=>{var s;const{extendEmptyMarkRange:a=!1}=e,{selection:i}=n,l=Dh(t,r.schema),{$from:u,empty:d,ranges:f}=i;if(!o)return!0;if(d&&a){let{from:m,to:g}=i;const w=(s=u.marks().find(j=>j.type===l))===null||s===void 0?void 0:s.attrs,b=eme(u,l,w);b&&(m=b.from,g=b.to),n.removeMark(m,g,l)}else f.forEach(m=>{n.removeMark(m.$from.pos,m.$to.pos,l)});return n.removeStoredMark(l),!0},Tst=(t,e={})=>({tr:n,state:r,dispatch:o})=>{let s=null,a=null;const i=EE(typeof t=="string"?t:t.name,r.schema);return i?(i==="node"&&(s=$s(t,r.schema)),i==="mark"&&(a=Dh(t,r.schema)),o&&n.selection.ranges.forEach(l=>{const u=l.$from.pos,d=l.$to.pos;let f,m,g,w;n.selection.empty?r.doc.nodesBetween(u,d,(b,j)=>{s&&s===b.type&&(g=Math.max(j,u),w=Math.min(j+b.nodeSize,d),f=j,m=b)}):r.doc.nodesBetween(u,d,(b,j)=>{j<u&&s&&s===b.type&&(g=Math.max(j,u),w=Math.min(j+b.nodeSize,d),f=j,m=b),j>=u&&j<=d&&(s&&s===b.type&&n.setNodeMarkup(j,void 0,{...b.attrs,...e}),a&&b.marks.length&&b.marks.forEach(S=>{if(a===S.type){const I=Math.max(j,u),N=Math.min(j+b.nodeSize,d);n.addMark(I,N,a.create({...S.attrs,...e}))}}))}),m&&(f!==void 0&&n.setNodeMarkup(f,void 0,{...m.attrs,...e}),a&&m.marks.length&&m.marks.forEach(b=>{a===b.type&&n.addMark(g,w,a.create({...b.attrs,...e}))}))}),!0):!1},Dst=(t,e={})=>({state:n,dispatch:r})=>{const o=$s(t,n.schema);return Grt(o,e)(n,r)},Lst=(t,e={})=>({state:n,dispatch:r})=>{const o=$s(t,n.schema);return qrt(o,e)(n,r)};var Pst=Object.freeze({__proto__:null,blur:yot,clearContent:vot,clearNodes:wot,command:bot,createParagraphNear:xot,cut:kot,deleteCurrentNode:jot,deleteNode:Cot,deleteRange:Sot,deleteSelection:Eot,enter:Not,exitCode:Iot,extendMarkRange:Aot,first:_ot,focus:Mot,forEach:Rot,insertContent:Tot,insertContentAt:Pot,joinBackward:Fot,joinDown:zot,joinForward:Bot,joinItemBackward:Uot,joinItemForward:$ot,joinTextblockBackward:Vot,joinTextblockForward:Hot,joinUp:Oot,keyboardShortcut:Yot,lift:Got,liftEmptyBlock:qot,liftListItem:Kot,newlineInCode:Zot,resetAttributes:Qot,scrollIntoView:Jot,selectAll:Xot,selectNodeBackward:est,selectNodeForward:tst,selectParentNode:nst,selectTextblockEnd:rst,selectTextblockStart:ost,setContent:sst,setMark:vst,setMeta:wst,setNode:bst,setNodeSelection:xst,setTextSelection:kst,sinkListItem:jst,splitBlock:Cst,splitListItem:Sst,toggleList:Est,toggleMark:Nst,toggleNode:Ist,toggleWrap:Ast,undoInputRule:_st,unsetAllMarks:Mst,unsetMark:Rst,updateAttributes:Tst,wrapIn:Dst,wrapInList:Lst});const Ost=Ri.create({name:"commands",addCommands(){return{...Pst}}}),zst=Ri.create({name:"drop",addProseMirrorPlugins(){return[new ui({key:new Li("tiptapDrop"),props:{handleDrop:(t,e,n,r)=>{this.editor.emit("drop",{editor:this.editor,event:e,slice:n,moved:r})}}})]}}),Fst=Ri.create({name:"editable",addProseMirrorPlugins(){return[new ui({key:new Li("editable"),props:{editable:()=>this.editor.options.editable}})]}}),Bst=new Li("focusEvents"),Ust=Ri.create({name:"focusEvents",addProseMirrorPlugins(){const{editor:t}=this;return[new ui({key:Bst,props:{handleDOMEvents:{focus:(e,n)=>{t.isFocused=!0;const r=t.state.tr.setMeta("focus",{event:n}).setMeta("addToHistory",!1);return e.dispatch(r),!1},blur:(e,n)=>{t.isFocused=!1;const r=t.state.tr.setMeta("blur",{event:n}).setMeta("addToHistory",!1);return e.dispatch(r),!1}}}})]}}),$st=Ri.create({name:"keymap",addKeyboardShortcuts(){const t=()=>this.editor.commands.first(({commands:a})=>[()=>a.undoInputRule(),()=>a.command(({tr:i})=>{const{selection:l,doc:u}=i,{empty:d,$anchor:f}=l,{pos:m,parent:g}=f,w=f.parent.isTextblock&&m>0?i.doc.resolve(m-1):f,b=w.parent.type.spec.isolating,j=f.pos-f.parentOffset,S=b&&w.parent.childCount===1?j===f.pos:rr.atStart(u).from===m;return!d||!g.type.isTextblock||g.textContent.length||!S||S&&f.parent.type.name==="paragraph"?!1:a.clearNodes()}),()=>a.deleteSelection(),()=>a.joinBackward(),()=>a.selectNodeBackward()]),e=()=>this.editor.commands.first(({commands:a})=>[()=>a.deleteSelection(),()=>a.deleteCurrentNode(),()=>a.joinForward(),()=>a.selectNodeForward()]),r={Enter:()=>this.editor.commands.first(({commands:a})=>[()=>a.newlineInCode(),()=>a.createParagraphNear(),()=>a.liftEmptyBlock(),()=>a.splitBlock()]),"Mod-Enter":()=>this.editor.commands.exitCode(),Backspace:t,"Mod-Backspace":t,"Shift-Backspace":t,Delete:e,"Mod-Delete":e,"Mod-a":()=>this.editor.commands.selectAll()},o={...r},s={...r,"Ctrl-h":t,"Alt-Backspace":t,"Ctrl-d":e,"Ctrl-Alt-Backspace":e,"Alt-Delete":e,"Alt-d":e,"Ctrl-a":()=>this.editor.commands.selectTextblockStart(),"Ctrl-e":()=>this.editor.commands.selectTextblockEnd()};return SE()||sme()?s:o},addProseMirrorPlugins(){return[new ui({key:new Li("clearDocument"),appendTransaction:(t,e,n)=>{if(t.some(b=>b.getMeta("composition")))return;const r=t.some(b=>b.docChanged)&&!e.doc.eq(n.doc),o=t.some(b=>b.getMeta("preventClearDocument"));if(!r||o)return;const{empty:s,from:a,to:i}=e.selection,l=rr.atStart(e.doc).from,u=rr.atEnd(e.doc).to;if(s||!(a===l&&i===u)||!NE(n.doc))return;const m=n.tr,g=xE({state:n,transaction:m}),{commands:w}=new kE({editor:this.editor,state:g});if(w.clearNodes(),!!m.steps.length)return m}})]}}),Vst=Ri.create({name:"paste",addProseMirrorPlugins(){return[new ui({key:new Li("tiptapPaste"),props:{handlePaste:(t,e,n)=>{this.editor.emit("paste",{editor:this.editor,event:e,slice:n})}}})]}}),Hst=Ri.create({name:"tabindex",addProseMirrorPlugins(){return[new ui({key:new Li("tabindex"),props:{attributes:()=>this.editor.isEditable?{tabindex:"0"}:{}}})]}});class Nm{get name(){return this.node.type.name}constructor(e,n,r=!1,o=null){this.currentNode=null,this.actualDepth=null,this.isBlock=r,this.resolvedPos=e,this.editor=n,this.currentNode=o}get node(){return this.currentNode||this.resolvedPos.node()}get element(){return this.editor.view.domAtPos(this.pos).node}get depth(){var e;return(e=this.actualDepth)!==null&&e!==void 0?e:this.resolvedPos.depth}get pos(){return this.resolvedPos.pos}get content(){return this.node.content}set content(e){let n=this.from,r=this.to;if(this.isBlock){if(this.content.size===0){console.error(`You can’t set content on a block node. Tried to set content on ${this.name} at ${this.pos}`);return}n=this.from+1,r=this.to-1}this.editor.commands.insertContentAt({from:n,to:r},e)}get attributes(){return this.node.attrs}get textContent(){return this.node.textContent}get size(){return this.node.nodeSize}get from(){return this.isBlock?this.pos:this.resolvedPos.start(this.resolvedPos.depth)}get range(){return{from:this.from,to:this.to}}get to(){return this.isBlock?this.pos+this.size:this.resolvedPos.end(this.resolvedPos.depth)+(this.node.isText?0:1)}get parent(){if(this.depth===0)return null;const e=this.resolvedPos.start(this.resolvedPos.depth-1),n=this.resolvedPos.doc.resolve(e);return new Nm(n,this.editor)}get before(){let e=this.resolvedPos.doc.resolve(this.from-(this.isBlock?1:2));return e.depth!==this.depth&&(e=this.resolvedPos.doc.resolve(this.from-3)),new Nm(e,this.editor)}get after(){let e=this.resolvedPos.doc.resolve(this.to+(this.isBlock?2:1));return e.depth!==this.depth&&(e=this.resolvedPos.doc.resolve(this.to+3)),new Nm(e,this.editor)}get children(){const e=[];return this.node.content.forEach((n,r)=>{const o=n.isBlock&&!n.isTextblock,s=n.isAtom&&!n.isText,a=this.pos+r+(s?0:1),i=this.resolvedPos.doc.resolve(a);if(!o&&i.depth<=this.depth)return;const l=new Nm(i,this.editor,o,o?n:null);o&&(l.actualDepth=this.depth+1),e.push(new Nm(i,this.editor,o,o?n:null))}),e}get firstChild(){return this.children[0]||null}get lastChild(){const e=this.children;return e[e.length-1]||null}closest(e,n={}){let r=null,o=this.parent;for(;o&&!r;){if(o.node.type.name===e)if(Object.keys(n).length>0){const s=o.node.attrs,a=Object.keys(n);for(let i=0;i<a.length;i+=1){const l=a[i];if(s[l]!==n[l])break}}else r=o;o=o.parent}return r}querySelector(e,n={}){return this.querySelectorAll(e,n,!0)[0]||null}querySelectorAll(e,n={},r=!1){let o=[];if(!this.children||this.children.length===0)return o;const s=Object.keys(n);return this.children.forEach(a=>{r&&o.length>0||(a.node.type.name===e&&s.every(l=>n[l]===a.node.attrs[l])&&o.push(a),!(r&&o.length>0)&&(o=o.concat(a.querySelectorAll(e,n,r))))}),o}setAttribute(e){const{tr:n}=this.editor.state;n.setNodeMarkup(this.from,void 0,{...this.node.attrs,...e}),this.editor.view.dispatch(n)}}const Wst=`.ProseMirror {
2115 position: relative;
2116 }
2117
2118 .ProseMirror {
2119 word-wrap: break-word;
2120 white-space: pre-wrap;
2121 white-space: break-spaces;
2122 -webkit-font-variant-ligatures: none;
2123 font-variant-ligatures: none;
2124 font-feature-settings: "liga" 0; /* the above doesn't seem to work in Edge */
2125 }
2126
2127 .ProseMirror [contenteditable="false"] {
2128 white-space: normal;
2129 }
2130
2131 .ProseMirror [contenteditable="false"] [contenteditable="true"] {
2132 white-space: pre-wrap;
2133 }
2134
2135 .ProseMirror pre {
2136 white-space: pre-wrap;
2137 }
2138
2139 img.ProseMirror-separator {
2140 display: inline !important;
2141 border: none !important;
2142 margin: 0 !important;
2143 width: 0 !important;
2144 height: 0 !important;
2145 }
2146
2147 .ProseMirror-gapcursor {
2148 display: none;
2149 pointer-events: none;
2150 position: absolute;
2151 margin: 0;
2152 }
2153
2154 .ProseMirror-gapcursor:after {
2155 content: "";
2156 display: block;
2157 position: absolute;
2158 top: -2px;
2159 width: 20px;
2160 border-top: 1px solid black;
2161 animation: ProseMirror-cursor-blink 1.1s steps(2, start) infinite;
2162 }
2163
2164 @keyframes ProseMirror-cursor-blink {
2165 to {
2166 visibility: hidden;
2167 }
2168 }
2169
2170 .ProseMirror-hideselection *::selection {
2171 background: transparent;
2172 }
2173
2174 .ProseMirror-hideselection *::-moz-selection {
2175 background: transparent;
2176 }
2177
2178 .ProseMirror-hideselection * {
2179 caret-color: transparent;
2180 }
2181
2182 .ProseMirror-focused .ProseMirror-gapcursor {
2183 display: block;
2184 }
2185
2186 .tippy-box[data-animation=fade][data-state=hidden] {
2187 opacity: 0
2188 }`;function Yst(t,e,n){const r=document.querySelector("style[data-tiptap-style]");if(r!==null)return r;const o=document.createElement("style");return e&&o.setAttribute("nonce",e),o.setAttribute("data-tiptap-style",""),o.innerHTML=t,document.getElementsByTagName("head")[0].appendChild(o),o}class Gst extends tot{constructor(e={}){super(),this.isFocused=!1,this.isInitialized=!1,this.extensionStorage={},this.options={element:document.createElement("div"),content:"",injectCSS:!0,injectNonce:void 0,extensions:[],autofocus:!1,editable:!0,editorProps:{},parseOptions:{},coreExtensionOptions:{},enableInputRules:!0,enablePasteRules:!0,enableCoreExtensions:!0,enableContentCheck:!1,onBeforeCreate:()=>null,onCreate:()=>null,onUpdate:()=>null,onSelectionUpdate:()=>null,onTransaction:()=>null,onFocus:()=>null,onBlur:()=>null,onDestroy:()=>null,onContentError:({error:n})=>{throw n},onPaste:()=>null,onDrop:()=>null},this.isCapturingTransaction=!1,this.capturedTransaction=null,this.setOptions(e),this.createExtensionManager(),this.createCommandManager(),this.createSchema(),this.on("beforeCreate",this.options.onBeforeCreate),this.emit("beforeCreate",{editor:this}),this.on("contentError",this.options.onContentError),this.createView(),this.injectCSS(),this.on("create",this.options.onCreate),this.on("update",this.options.onUpdate),this.on("selectionUpdate",this.options.onSelectionUpdate),this.on("transaction",this.options.onTransaction),this.on("focus",this.options.onFocus),this.on("blur",this.options.onBlur),this.on("destroy",this.options.onDestroy),this.on("drop",({event:n,slice:r,moved:o})=>this.options.onDrop(n,r,o)),this.on("paste",({event:n,slice:r})=>this.options.onPaste(n,r)),window.setTimeout(()=>{this.isDestroyed||(this.commands.focus(this.options.autofocus),this.emit("create",{editor:this}),this.isInitialized=!0)},0)}get storage(){return this.extensionStorage}get commands(){return this.commandManager.commands}chain(){return this.commandManager.chain()}can(){return this.commandManager.can()}injectCSS(){this.options.injectCSS&&document&&(this.css=Yst(Wst,this.options.injectNonce))}setOptions(e={}){this.options={...this.options,...e},!(!this.view||!this.state||this.isDestroyed)&&(this.options.editorProps&&this.view.setProps(this.options.editorProps),this.view.updateState(this.state))}setEditable(e,n=!0){this.setOptions({editable:e}),n&&this.emit("update",{editor:this,transaction:this.state.tr})}get isEditable(){return this.options.editable&&this.view&&this.view.editable}get state(){return this.view.state}registerPlugin(e,n){const r=Khe(n)?n(e,[...this.state.plugins]):[...this.state.plugins,e],o=this.state.reconfigure({plugins:r});return this.view.updateState(o),o}unregisterPlugin(e){if(this.isDestroyed)return;const n=this.state.plugins;let r=n;if([].concat(e).forEach(s=>{const a=typeof s=="string"?`${s}$`:s.key;r=r.filter(i=>!i.key.startsWith(a))}),n.length===r.length)return;const o=this.state.reconfigure({plugins:r});return this.view.updateState(o),o}createExtensionManager(){var e,n;const o=[...this.options.enableCoreExtensions?[Fst,got.configure({blockSeparator:(n=(e=this.options.coreExtensionOptions)===null||e===void 0?void 0:e.clipboardTextSerializer)===null||n===void 0?void 0:n.blockSeparator}),Ost,Ust,$st,Hst,zst,Vst].filter(s=>typeof this.options.enableCoreExtensions=="object"?this.options.enableCoreExtensions[s.name]!==!1:!0):[],...this.options.extensions].filter(s=>["extension","node","mark"].includes(s==null?void 0:s.type));this.extensionManager=new v0(o,this)}createCommandManager(){this.commandManager=new kE({editor:this})}createSchema(){this.schema=this.extensionManager.schema}createView(){var e;let n;try{n=oR(this.options.content,this.schema,this.options.parseOptions,{errorOnInvalidContent:this.options.enableContentCheck})}catch(a){if(!(a instanceof Error)||!["[tiptap error]: Invalid JSON content","[tiptap error]: Invalid HTML content"].includes(a.message))throw a;this.emit("contentError",{editor:this,error:a,disableCollaboration:()=>{this.storage.collaboration&&(this.storage.collaboration.isDisabled=!0),this.options.extensions=this.options.extensions.filter(i=>i.name!=="collaboration"),this.createExtensionManager()}}),n=oR(this.options.content,this.schema,this.options.parseOptions,{errorOnInvalidContent:!1})}const r=nme(n,this.options.autofocus);this.view=new jrt(this.options.element,{...this.options.editorProps,attributes:{role:"textbox",...(e=this.options.editorProps)===null||e===void 0?void 0:e.attributes},dispatchTransaction:this.dispatchTransaction.bind(this),state:y0.create({doc:n,selection:r||void 0})});const o=this.state.reconfigure({plugins:this.extensionManager.plugins});this.view.updateState(o),this.createNodeViews(),this.prependClass();const s=this.view.dom;s.editor=this}createNodeViews(){this.view.isDestroyed||this.view.setProps({nodeViews:this.extensionManager.nodeViews})}prependClass(){this.view.dom.className=`tiptap ${this.view.dom.className}`}captureTransaction(e){this.isCapturingTransaction=!0,e(),this.isCapturingTransaction=!1;const n=this.capturedTransaction;return this.capturedTransaction=null,n}dispatchTransaction(e){if(this.view.isDestroyed)return;if(this.isCapturingTransaction){if(!this.capturedTransaction){this.capturedTransaction=e;return}e.steps.forEach(a=>{var i;return(i=this.capturedTransaction)===null||i===void 0?void 0:i.step(a)});return}const n=this.state.apply(e),r=!this.state.selection.eq(n.selection);this.emit("beforeTransaction",{editor:this,transaction:e,nextState:n}),this.view.updateState(n),this.emit("transaction",{editor:this,transaction:e}),r&&this.emit("selectionUpdate",{editor:this,transaction:e});const o=e.getMeta("focus"),s=e.getMeta("blur");o&&this.emit("focus",{editor:this,event:o.event,transaction:e}),s&&this.emit("blur",{editor:this,event:s.event,transaction:e}),!(!e.docChanged||e.getMeta("preventUpdate"))&&this.emit("update",{editor:this,transaction:e})}getAttributes(e){return dst(this.state,e)}isActive(e,n){const r=typeof e=="string"?e:null,o=typeof e=="string"?n:e;return gst(this.state,r,o)}getJSON(){return this.state.doc.toJSON()}getHTML(){return yP(this.state.doc.content,this.schema)}getText(e){const{blockSeparator:n=`
2189
2190 `,textSerializers:r={}}=e||{};return ust(this.state.doc,{blockSeparator:n,textSerializers:{...Jhe(this.schema),...r}})}get isEmpty(){return NE(this.state.doc)}getCharacterCount(){return console.warn('[tiptap warn]: "editor.getCharacterCount()" is deprecated. Please use "editor.storage.characterCount.characters()" instead.'),this.state.doc.content.size-2}destroy(){if(this.emit("destroy"),this.view){const e=this.view.dom;e&&e.editor&&delete e.editor,this.view.destroy()}this.removeAllListeners()}get isDestroyed(){var e;return!(!((e=this.view)===null||e===void 0)&&e.docView)}$node(e,n){var r;return((r=this.$doc)===null||r===void 0?void 0:r.querySelector(e,n))||null}$nodes(e,n){var r;return((r=this.$doc)===null||r===void 0?void 0:r.querySelectorAll(e,n))||null}$pos(e){const n=this.state.doc.resolve(e);return new Nm(n,this)}get $doc(){return this.$pos(0)}}function qst(t){return new Zhe({find:t.find,handler:({state:e,range:n,match:r})=>{const o=lr(t.getAttributes,void 0,r)||{},{tr:s}=e,a=n.from;let i=n.to;const l=t.type.create(o);if(r[1]){const u=r[0].lastIndexOf(r[1]);let d=a+u;d>i?d=i:i=d+r[1].length;const f=r[0][r[0].length-1];s.insertText(f,a+r[0].length-1),s.replaceWith(d,i,l)}else if(r[0]){const u=t.type.isInline?a:a-1;s.insert(u,t.type.create(o)).delete(s.mapping.map(a),s.mapping.map(i))}s.scrollIntoView()}})}let uv=class aR{constructor(e={}){this.type="node",this.name="node",this.parent=null,this.child=null,this.config={name:this.name,defaultOptions:{}},this.config={...this.config,...e},this.name=this.config.name,e.defaultOptions&&Object.keys(e.defaultOptions).length>0&&console.warn(`[tiptap warn]: BREAKING CHANGE: "defaultOptions" is deprecated. Please use "addOptions" instead. Found in extension: "${this.name}".`),this.options=this.config.defaultOptions,this.config.addOptions&&(this.options=lr(fn(this,"addOptions",{name:this.name}))),this.storage=lr(fn(this,"addStorage",{name:this.name,options:this.options}))||{}}static create(e={}){return new aR(e)}configure(e={}){const n=this.extend({...this.config,addOptions:()=>CE(this.options,e)});return n.name=this.name,n.parent=this.parent,n}extend(e={}){const n=new aR(e);return n.parent=this,this.child=n,n.name=e.name?e.name:n.parent.name,e.defaultOptions&&Object.keys(e.defaultOptions).length>0&&console.warn(`[tiptap warn]: BREAKING CHANGE: "defaultOptions" is deprecated. Please use "addOptions" instead. Found in extension: "${n.name}".`),n.options=lr(fn(n,"addOptions",{name:n.name})),n.storage=lr(fn(n,"addStorage",{name:n.name,options:n.options})),n}};class Kst{constructor(e,n,r){this.isDragging=!1,this.component=e,this.editor=n.editor,this.options={stopEvent:null,ignoreMutation:null,...r},this.extension=n.extension,this.node=n.node,this.decorations=n.decorations,this.innerDecorations=n.innerDecorations,this.view=n.view,this.HTMLAttributes=n.HTMLAttributes,this.getPos=n.getPos,this.mount()}mount(){}get dom(){return this.editor.view.dom}get contentDOM(){return null}onDragStart(e){var n,r,o,s,a,i,l;const{view:u}=this.editor,d=e.target,f=d.nodeType===3?(n=d.parentElement)===null||n===void 0?void 0:n.closest("[data-drag-handle]"):d.closest("[data-drag-handle]");if(!this.dom||!((r=this.contentDOM)===null||r===void 0)&&r.contains(d)||!f)return;let m=0,g=0;if(this.dom!==f){const I=this.dom.getBoundingClientRect(),N=f.getBoundingClientRect(),M=(o=e.offsetX)!==null&&o!==void 0?o:(s=e.nativeEvent)===null||s===void 0?void 0:s.offsetX,D=(a=e.offsetY)!==null&&a!==void 0?a:(i=e.nativeEvent)===null||i===void 0?void 0:i.offsetY;m=N.x-I.x+M,g=N.y-I.y+D}const w=this.dom.cloneNode(!0);(l=e.dataTransfer)===null||l===void 0||l.setDragImage(w,m,g);const b=this.getPos();if(typeof b!="number")return;const j=Sn.create(u.state.doc,b),S=u.state.tr.setSelection(j);u.dispatch(S)}stopEvent(e){var n;if(!this.dom)return!1;if(typeof this.options.stopEvent=="function")return this.options.stopEvent({event:e});const r=e.target;if(!(this.dom.contains(r)&&!(!((n=this.contentDOM)===null||n===void 0)&&n.contains(r))))return!1;const s=e.type.startsWith("drag"),a=e.type==="drop";if((["INPUT","BUTTON","SELECT","TEXTAREA"].includes(r.tagName)||r.isContentEditable)&&!a&&!s)return!0;const{isEditable:l}=this.editor,{isDragging:u}=this,d=!!this.node.type.spec.draggable,f=Sn.isSelectable(this.node),m=e.type==="copy",g=e.type==="paste",w=e.type==="cut",b=e.type==="mousedown";if(!d&&f&&s&&e.target===this.dom&&e.preventDefault(),d&&s&&!u&&e.target===this.dom)return e.preventDefault(),!1;if(d&&l&&!u&&b){const j=r.closest("[data-drag-handle]");j&&(this.dom===j||this.dom.contains(j))&&(this.isDragging=!0,document.addEventListener("dragend",()=>{this.isDragging=!1},{once:!0}),document.addEventListener("drop",()=>{this.isDragging=!1},{once:!0}),document.addEventListener("mouseup",()=>{this.isDragging=!1},{once:!0}))}return!(u||a||m||g||w||b&&f)}ignoreMutation(e){return!this.dom||!this.contentDOM?!0:typeof this.options.ignoreMutation=="function"?this.options.ignoreMutation({mutation:e}):this.node.isLeaf||this.node.isAtom?!0:e.type==="selection"||this.dom.contains(e.target)&&e.type==="childList"&&(SE()||rme())&&this.editor.isFocused&&[...Array.from(e.addedNodes),...Array.from(e.removedNodes)].every(r=>r.isContentEditable)?!1:this.contentDOM===e.target&&e.type==="attributes"?!0:!this.contentDOM.contains(e.target)}updateAttributes(e){this.editor.commands.command(({tr:n})=>{const r=this.getPos();return typeof r!="number"?!1:(n.setNodeMarkup(r,void 0,{...this.node.attrs,...e}),!0)})}deleteNode(){const e=this.getPos();if(typeof e!="number")return;const n=e+this.node.nodeSize;this.editor.commands.deleteRange({from:e,to:n})}}function ime(t){return t.replace(/[-/\\^$*+?.()|[\]{}]/g,"\\$&")}function Zst(t){var e;const{char:n,allowSpaces:r,allowToIncludeChar:o,allowedPrefixes:s,startOfLine:a,$position:i}=t,l=r&&!o,u=ime(n),d=new RegExp(`\\s${u}$`),f=a?"^":"",m=o?"":u,g=l?new RegExp(`${f}${u}.*?(?=\\s${m}|$)`,"gm"):new RegExp(`${f}(?:^)?${u}[^\\s${m}]*`,"gm"),w=((e=i.nodeBefore)===null||e===void 0?void 0:e.isText)&&i.nodeBefore.text;if(!w)return null;const b=i.pos-w.length,j=Array.from(w.matchAll(g)).pop();if(!j||j.input===void 0||j.index===void 0)return null;const S=j.input.slice(Math.max(0,j.index-1),j.index),I=new RegExp(`^[${s==null?void 0:s.join("")}\0]?$`).test(S);if(s!==null&&!I)return null;const N=b+j.index;let M=N+j[0].length;return l&&d.test(w.slice(M-1,M+1))&&(j[0]+=" ",M+=1),N<i.pos&&M>=i.pos?{range:{from:N,to:M},query:j[0].slice(n.length),text:j[0]}:null}const Qst=new Li("suggestion");function lme({pluginKey:t=Qst,editor:e,char:n="@",allowSpaces:r=!1,allowToIncludeChar:o=!1,allowedPrefixes:s=[" "],startOfLine:a=!1,decorationTag:i="span",decorationClass:l="suggestion",command:u=()=>null,items:d=()=>[],render:f=()=>({}),allow:m=()=>!0,findSuggestionMatch:g=Zst}){let w;const b=f==null?void 0:f(),j=new ui({key:t,view(){return{update:async(S,I)=>{var N,M,D,O,L,B,T;const R=(N=this.key)===null||N===void 0?void 0:N.getState(I),z=(M=this.key)===null||M===void 0?void 0:M.getState(S.state),Y=R.active&&z.active&&R.range.from!==z.range.from,Q=!R.active&&z.active,W=R.active&&!z.active,F=!Q&&!W&&R.query!==z.query,X=Q||Y&&F,$=F||Y,V=W||Y&&F;if(!X&&!$&&!V)return;const K=V&&!X?R:z,G=S.dom.querySelector(`[data-decoration-id="${K.decorationId}"]`);w={editor:e,range:K.range,query:K.query,text:K.text,items:[],command:J=>u({editor:e,range:K.range,props:J}),decorationNode:G,clientRect:G?()=>{var J;const{decorationId:ne}=(J=this.key)===null||J===void 0?void 0:J.getState(e.state),re=S.dom.querySelector(`[data-decoration-id="${ne}"]`);return(re==null?void 0:re.getBoundingClientRect())||null}:null},X&&((D=b==null?void 0:b.onBeforeStart)===null||D===void 0||D.call(b,w)),$&&((O=b==null?void 0:b.onBeforeUpdate)===null||O===void 0||O.call(b,w)),($||X)&&(w.items=await d({editor:e,query:K.query})),V&&((L=b==null?void 0:b.onExit)===null||L===void 0||L.call(b,w)),$&&((B=b==null?void 0:b.onUpdate)===null||B===void 0||B.call(b,w)),X&&((T=b==null?void 0:b.onStart)===null||T===void 0||T.call(b,w))},destroy:()=>{var S;w&&((S=b==null?void 0:b.onExit)===null||S===void 0||S.call(b,w))}}},state:{init(){return{active:!1,range:{from:0,to:0},query:null,text:null,composing:!1}},apply(S,I,N,M){const{isEditable:D}=e,{composing:O}=e.view,{selection:L}=S,{empty:B,from:T}=L,R={...I};if(R.composing=O,D&&(B||e.view.composing)){(T<I.range.from||T>I.range.to)&&!O&&!I.composing&&(R.active=!1);const z=g({char:n,allowSpaces:r,allowToIncludeChar:o,allowedPrefixes:s,startOfLine:a,$position:L.$from}),Y=`id_${Math.floor(Math.random()*4294967295)}`;z&&m({editor:e,state:M,range:z.range,isActive:I.active})?(R.active=!0,R.decorationId=I.decorationId?I.decorationId:Y,R.range=z.range,R.query=z.query,R.text=z.text):R.active=!1}else R.active=!1;return R.active||(R.decorationId=null,R.range={from:0,to:0},R.query=null,R.text=null),R}},props:{handleKeyDown(S,I){var N;const{active:M,range:D}=j.getState(S.state);return M&&((N=b==null?void 0:b.onKeyDown)===null||N===void 0?void 0:N.call(b,{view:S,event:I,range:D}))||!1},decorations(S){const{active:I,range:N,decorationId:M}=j.getState(S);return I?Go.create(S.doc,[sl.inline(N.from,N.to,{nodeName:i,class:l,"data-decoration-id":M})]):null}}});return j}const Jst=()=>/[#*0-9]\uFE0F?\u20E3|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26AA\u26B0\u26B1\u26BD\u26BE\u26C4\u26C8\u26CF\u26D1\u26E9\u26F0-\u26F5\u26F7\u26F8\u26FA\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2757\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B55\u3030\u303D\u3297\u3299]\uFE0F?|[\u261D\u270C\u270D](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\u270A\u270B](?:\uD83C[\uDFFB-\uDFFF])?|[\u23E9-\u23EC\u23F0\u23F3\u25FD\u2693\u26A1\u26AB\u26C5\u26CE\u26D4\u26EA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2795-\u2797\u27B0\u27BF\u2B50]|\u26D3\uFE0F?(?:\u200D\uD83D\uDCA5)?|\u26F9(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\u2764\uFE0F?(?:\u200D(?:\uD83D\uDD25|\uD83E\uDE79))?|\uD83C(?:[\uDC04\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]\uFE0F?|[\uDF85\uDFC2\uDFC7](?:\uD83C[\uDFFB-\uDFFF])?|[\uDFC4\uDFCA](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDFCB\uDFCC](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF43\uDF45-\uDF4A\uDF4C-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uDDE6\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF]|\uDDE7\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF]|\uDDE8\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF7\uDDFA-\uDDFF]|\uDDE9\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF]|\uDDEA\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA]|\uDDEB\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7]|\uDDEC\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE]|\uDDED\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA]|\uDDEE\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9]|\uDDEF\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5]|\uDDF0\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF]|\uDDF1\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE]|\uDDF2\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF]|\uDDF3\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF]|\uDDF4\uD83C\uDDF2|\uDDF5\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE]|\uDDF6\uD83C\uDDE6|\uDDF7\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC]|\uDDF8\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF]|\uDDF9\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF]|\uDDFA\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF]|\uDDFB\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA]|\uDDFC\uD83C[\uDDEB\uDDF8]|\uDDFD\uD83C\uDDF0|\uDDFE\uD83C[\uDDEA\uDDF9]|\uDDFF\uD83C[\uDDE6\uDDF2\uDDFC]|\uDF44(?:\u200D\uD83D\uDFEB)?|\uDF4B(?:\u200D\uD83D\uDFE9)?|\uDFC3(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDFF3\uFE0F?(?:\u200D(?:\u26A7\uFE0F?|\uD83C\uDF08))?|\uDFF4(?:\u200D\u2620\uFE0F?|\uDB40\uDC67\uDB40\uDC62\uDB40(?:\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDC73\uDB40\uDC63\uDB40\uDC74|\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F)?)|\uD83D(?:[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3]\uFE0F?|[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC](?:\uD83C[\uDFFB-\uDFFF])?|[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4\uDEB5](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD74\uDD90](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC25\uDC27-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE41\uDE43\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED7\uDEDC-\uDEDF\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB\uDFF0]|\uDC08(?:\u200D\u2B1B)?|\uDC15(?:\u200D\uD83E\uDDBA)?|\uDC26(?:\u200D(?:\u2B1B|\uD83D\uDD25))?|\uDC3B(?:\u200D\u2744\uFE0F?)?|\uDC41\uFE0F?(?:\u200D\uD83D\uDDE8\uFE0F?)?|\uDC68(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDC68\uDC69]\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE])))?))?|\uDC69(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?[\uDC68\uDC69]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?|\uDC69\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?))|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFE])))?))?|\uDC6F(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDD75(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDE2E(?:\u200D\uD83D\uDCA8)?|\uDE35(?:\u200D\uD83D\uDCAB)?|\uDE36(?:\u200D\uD83C\uDF2B\uFE0F?)?|\uDE42(?:\u200D[\u2194\u2195]\uFE0F?)?|\uDEB6(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?)|\uD83E(?:[\uDD0C\uDD0F\uDD18-\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5\uDEC3-\uDEC5\uDEF0\uDEF2-\uDEF8](?:\uD83C[\uDFFB-\uDFFF])?|[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD\uDDCF\uDDD4\uDDD6-\uDDDD](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDDDE\uDDDF](?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD0D\uDD0E\uDD10-\uDD17\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCC\uDDD0\uDDE0-\uDDFF\uDE70-\uDE7C\uDE80-\uDE89\uDE8F-\uDEC2\uDEC6\uDECE-\uDEDC\uDEDF-\uDEE9]|\uDD3C(?:\u200D[\u2640\u2642]\uFE0F?|\uD83C[\uDFFB-\uDFFF])?|\uDDCE(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDDD1(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1|\uDDD1\u200D\uD83E\uDDD2(?:\u200D\uD83E\uDDD2)?|\uDDD2(?:\u200D\uD83E\uDDD2)?))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?))?|\uDEF1(?:\uD83C(?:\uDFFB(?:\u200D\uD83E\uDEF2\uD83C[\uDFFC-\uDFFF])?|\uDFFC(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFD-\uDFFF])?|\uDFFD(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])?|\uDFFE(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFD\uDFFF])?|\uDFFF(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFE])?))?)/g;var i5=new Map;function Xst(t){if(i5.has(t))return i5.get(t);var e=eat(t);return i5.set(t,e),e}var eat=(function(){var t=null;try{t=document.createElement("canvas").getContext("2d")}catch{}if(!t)return function(){return!1};var e=25,n=20,r=Math.floor(e/2);return t.font=r+"px Arial, Sans-Serif",t.textBaseline="top",t.canvas.width=n*2,t.canvas.height=e,function(o){t.clearRect(0,0,n*2,e),t.fillStyle="#FF0000",t.fillText(o,0,22),t.fillStyle="#0000FF",t.fillText(o,n,22);for(var s=t.getImageData(0,0,n,e).data,a=s.length,i=0;i<a&&!s[i+3];i+=4);if(i>=a)return!1;var l=n+i/4%n,u=Math.floor(i/4/n),d=t.getImageData(l,u,1,1).data;return!(s[i]!==d[0]||s[i+2]!==d[2]||t.measureText(o).width>=n)}})();const IE=[{emoji:"🇦",name:"regional_indicator_a",shortcodes:["regional_indicator_a"],tags:[],group:"",emoticons:[],version:0},{emoji:"🇧",name:"regional_indicator_b",shortcodes:["regional_indicator_b"],tags:[],group:"",emoticons:[],version:0},{emoji:"🇨",name:"regional_indicator_c",shortcodes:["regional_indicator_c"],tags:[],group:"",emoticons:[],version:0},{emoji:"🇩",name:"regional_indicator_d",shortcodes:["regional_indicator_d"],tags:[],group:"",emoticons:[],version:0},{emoji:"🇪",name:"regional_indicator_e",shortcodes:["regional_indicator_e"],tags:[],group:"",emoticons:[],version:0},{emoji:"🇫",name:"regional_indicator_f",shortcodes:["regional_indicator_f"],tags:[],group:"",emoticons:[],version:0},{emoji:"🇬",name:"regional_indicator_g",shortcodes:["regional_indicator_g"],tags:[],group:"",emoticons:[],version:0},{emoji:"🇭",name:"regional_indicator_h",shortcodes:["regional_indicator_h"],tags:[],group:"",emoticons:[],version:0},{emoji:"🇮",name:"regional_indicator_i",shortcodes:["regional_indicator_i"],tags:[],group:"",emoticons:[],version:0},{emoji:"🇯",name:"regional_indicator_j",shortcodes:["regional_indicator_j"],tags:[],group:"",emoticons:[],version:0},{emoji:"🇰",name:"regional_indicator_k",shortcodes:["regional_indicator_k"],tags:[],group:"",emoticons:[],version:0},{emoji:"🇱",name:"regional_indicator_l",shortcodes:["regional_indicator_l"],tags:[],group:"",emoticons:[],version:0},{emoji:"🇲",name:"regional_indicator_m",shortcodes:["regional_indicator_m"],tags:[],group:"",emoticons:[],version:0},{emoji:"🇳",name:"regional_indicator_n",shortcodes:["regional_indicator_n"],tags:[],group:"",emoticons:[],version:0},{emoji:"🇴",name:"regional_indicator_o",shortcodes:["regional_indicator_o"],tags:[],group:"",emoticons:[],version:0},{emoji:"🇵",name:"regional_indicator_p",shortcodes:["regional_indicator_p"],tags:[],group:"",emoticons:[],version:0},{emoji:"🇶",name:"regional_indicator_q",shortcodes:["regional_indicator_q"],tags:[],group:"",emoticons:[],version:0},{emoji:"🇷",name:"regional_indicator_r",shortcodes:["regional_indicator_r"],tags:[],group:"",emoticons:[],version:0},{emoji:"🇸",name:"regional_indicator_s",shortcodes:["regional_indicator_s"],tags:[],group:"",emoticons:[],version:0},{emoji:"🇹",name:"regional_indicator_t",shortcodes:["regional_indicator_t"],tags:[],group:"",emoticons:[],version:0},{emoji:"🇺",name:"regional_indicator_u",shortcodes:["regional_indicator_u"],tags:[],group:"",emoticons:[],version:0},{emoji:"🇻",name:"regional_indicator_v",shortcodes:["regional_indicator_v"],tags:[],group:"",emoticons:[],version:0},{emoji:"🇼",name:"regional_indicator_w",shortcodes:["regional_indicator_w"],tags:[],group:"",emoticons:[],version:0},{emoji:"🇽",name:"regional_indicator_x",shortcodes:["regional_indicator_x"],tags:[],group:"",emoticons:[],version:0},{emoji:"🇾",name:"regional_indicator_y",shortcodes:["regional_indicator_y"],tags:[],group:"",emoticons:[],version:0},{emoji:"🇿",name:"regional_indicator_z",shortcodes:["regional_indicator_z"],tags:[],group:"",emoticons:[],version:0},{emoji:"😀",name:"grinning",shortcodes:["grinning","grinning_face"],tags:["face","grin"],group:"",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f600.png"},{emoji:"😃",name:"smiley",shortcodes:["grinning_face_with_big_eyes","smiley"],tags:["face","mouth","open","smile"],group:"",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f603.png"},{emoji:"😄",name:"smile",shortcodes:["grinning_face_with_closed_eyes","smile"],tags:["eye","face","mouth","open","smile"],group:"",emoticons:[":D"],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f604.png"},{emoji:"😁",name:"grin",shortcodes:["beaming_face","grin"],tags:["eye","face","grin","smile"],group:"",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f601.png"},{emoji:"😆",name:"laughing",shortcodes:["laughing","lol","satisfied","squinting_face"],tags:["face","laugh","mouth","satisfied","smile"],group:"",emoticons:["xD","XD"],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f606.png"},{emoji:"😅",name:"sweat_smile",shortcodes:["grinning_face_with_sweat","sweat_smile"],tags:["cold","face","open","smile","sweat"],group:"",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f605.png"},{emoji:"🤣",name:"rofl",shortcodes:["rofl"],tags:["face","floor","laugh","rofl","rolling","rotfl"],group:"",emoticons:[":'D"],version:3,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f923.png"},{emoji:"😂",name:"joy",shortcodes:["joy","lmao","tears_of_joy"],tags:["face","joy","laugh","tear"],group:"",emoticons:[":')"],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f602.png"},{emoji:"🙂",name:"slightly_smiling_face",shortcodes:["slightly_smiling_face"],tags:["face","smile"],group:"",emoticons:[":)"],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f642.png"},{emoji:"🙃",name:"upside_down_face",shortcodes:["upside_down_face"],tags:["face","upside-down"],group:"",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f643.png"},{emoji:"🫠",name:"melting_face",shortcodes:["melt","melting_face"],tags:["disappear","dissolve","liquid","melt"],group:"",emoticons:[],version:14},{emoji:"😉",name:"wink",shortcodes:["wink","winking_face"],tags:["face","wink"],group:"",emoticons:[";)"],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f609.png"},{emoji:"😊",name:"blush",shortcodes:["blush","smiling_face_with_closed_eyes"],tags:["blush","eye","face","smile"],group:"",emoticons:[":>"],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f60a.png"},{emoji:"😇",name:"innocent",shortcodes:["halo","innocent"],tags:["angel","face","fantasy","halo","innocent"],group:"",emoticons:["o:)","O:)"],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f607.png"},{emoji:"🥰",name:"smiling_face_with_three_hearts",shortcodes:["smiling_face_with_3_hearts"],tags:["adore","crush","hearts","in love"],group:"",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f970.png"},{emoji:"😍",name:"heart_eyes",shortcodes:["heart_eyes","smiling_face_with_heart_eyes"],tags:["eye","face","love","smile"],group:"",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f60d.png"},{emoji:"🤩",name:"star_struck",shortcodes:["star_struck"],tags:["eyes","face","grinning","star"],group:"",emoticons:[],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f929.png"},{emoji:"😘",name:"kissing_heart",shortcodes:["blowing_a_kiss","kissing_heart"],tags:["face","kiss"],group:"",emoticons:[":x",":X"],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f618.png"},{emoji:"😗",name:"kissing",shortcodes:["kissing","kissing_face"],tags:["face","kiss"],group:"",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f617.png"},{emoji:"☺",name:"relaxed",shortcodes:["relaxed","smiling_face"],tags:["face","outlined","relaxed","smile"],group:"",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/263a-fe0f.png"},{emoji:"😚",name:"kissing_closed_eyes",shortcodes:["kissing_closed_eyes","kissing_face_with_closed_eyes"],tags:["closed","eye","face","kiss"],group:"",emoticons:[":*"],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f61a.png"},{emoji:"😙",name:"kissing_smiling_eyes",shortcodes:["kissing_face_with_smiling_eyes","kissing_smiling_eyes"],tags:["eye","face","kiss","smile"],group:"",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f619.png"},{emoji:"🥲",name:"smiling_face_with_tear",shortcodes:["smiling_face_with_tear"],tags:["grateful","proud","relieved","smiling","tear","touched"],group:"",emoticons:[],version:13,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f972.png"},{emoji:"😋",name:"yum",shortcodes:["savoring_food","yum"],tags:["delicious","face","savouring","smile","yum"],group:"",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f60b.png"},{emoji:"😛",name:"stuck_out_tongue",shortcodes:["face_with_tongue","stuck_out_tongue"],tags:["face","tongue"],group:"",emoticons:[":p",":P"],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f61b.png"},{emoji:"😜",name:"stuck_out_tongue_winking_eye",shortcodes:["stuck_out_tongue_winking_eye"],tags:["eye","face","joke","tongue","wink"],group:"",emoticons:[";p",";P"],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f61c.png"},{emoji:"🤪",name:"zany_face",shortcodes:["zany","zany_face"],tags:["eye","goofy","large","small"],group:"",emoticons:[],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f92a.png"},{emoji:"😝",name:"stuck_out_tongue_closed_eyes",shortcodes:["stuck_out_tongue_closed_eyes"],tags:["eye","face","horrible","taste","tongue"],group:"",emoticons:["xp","xP","XP"],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f61d.png"},{emoji:"🤑",name:"money_mouth_face",shortcodes:["money_mouth_face"],tags:["face","money","mouth"],group:"",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f911.png"},{emoji:"🤗",name:"hugs",shortcodes:["hug","hugging","hugging_face"],tags:["face","hug","hugging","open hands","smiling face"],group:"",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f917.png"},{emoji:"🤭",name:"hand_over_mouth",shortcodes:["face_with_hand_over_mouth","hand_over_mouth"],tags:["whoops"],group:"",emoticons:[],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f92d.png"},{emoji:"🫢",name:"face_with_open_eyes_and_hand_over_mouth",shortcodes:["face_with_open_eyes_hand_over_mouth","gasp"],tags:["amazement","awe","disbelief","embarrass","scared","surprise"],group:"",emoticons:[],version:14},{emoji:"🫣",name:"face_with_peeking_eye",shortcodes:["face_with_peeking_eye","peek"],tags:["captivated","peep","stare"],group:"",emoticons:[],version:14},{emoji:"🤫",name:"shushing_face",shortcodes:["shush","shushing_face"],tags:["quiet","shush"],group:"",emoticons:[],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f92b.png"},{emoji:"🤔",name:"thinking",shortcodes:["thinking","thinking_face","wtf"],tags:["face","thinking"],group:"",emoticons:[":l",":L"],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f914.png"},{emoji:"🫡",name:"saluting_face",shortcodes:["salute","saluting_face"],tags:["ok","salute","sunny","troops","yes"],group:"",emoticons:[],version:14},{emoji:"🤐",name:"zipper_mouth_face",shortcodes:["zipper_mouth","zipper_mouth_face"],tags:["face","mouth","zip","zipper"],group:"",emoticons:[":z",":Z"],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f910.png"},{emoji:"🤨",name:"raised_eyebrow",shortcodes:["face_with_raised_eyebrow","raised_eyebrow"],tags:["distrust","skeptic"],group:"",emoticons:[],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f928.png"},{emoji:"😐",name:"neutral_face",shortcodes:["neutral","neutral_face"],tags:["deadpan","face","meh","neutral"],group:"",emoticons:[":|"],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f610.png"},{emoji:"😑",name:"expressionless",shortcodes:["expressionless","expressionless_face"],tags:["expressionless","face","inexpressive","meh","unexpressive"],group:"",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f611.png"},{emoji:"😶",name:"no_mouth",shortcodes:["no_mouth"],tags:["face","mouth","quiet","silent"],group:"",emoticons:[":#"],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f636.png"},{emoji:"🫥",name:"dotted_line_face",shortcodes:["dotted_line_face"],tags:["depressed","disappear","hide","introvert","invisible"],group:"",emoticons:[],version:14},{emoji:"😶🌫",name:"face_in_clouds",shortcodes:["in_clouds"],tags:["absentminded","face in the fog","head in clouds"],group:"",emoticons:[],version:13.1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f636-200d-1f32b-fe0f.png"},{emoji:"😏",name:"smirk",shortcodes:["smirk","smirking","smirking_face"],tags:["face","smirk"],group:"",emoticons:[":j"],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f60f.png"},{emoji:"😒",name:"unamused",shortcodes:["unamused","unamused_face"],tags:["face","unamused","unhappy"],group:"",emoticons:[":?"],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f612.png"},{emoji:"🙄",name:"roll_eyes",shortcodes:["rolling_eyes"],tags:["eyeroll","eyes","face","rolling"],group:"",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f644.png"},{emoji:"😬",name:"grimacing",shortcodes:["grimacing","grimacing_face"],tags:["face","grimace"],group:"",emoticons:["8D"],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f62c.png"},{emoji:"😮💨",name:"face_exhaling",shortcodes:["exhale","exhaling"],tags:["exhale","gasp","groan","relief","whisper","whistle"],group:"",emoticons:[],version:13.1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f62e-200d-1f4a8.png"},{emoji:"🤥",name:"lying_face",shortcodes:["lying","lying_face"],tags:["face","lie","pinocchio"],group:"",emoticons:[],version:3,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f925.png"},{emoji:"🫨",name:"shaking_face",shortcodes:["shaking","shaking_face"],tags:["earthquake","face","shaking","shock","vibrate"],group:"",emoticons:[],version:15},{emoji:"🙂↔",name:"head_shaking_horizontally",shortcodes:["head_shaking_horizontally"],tags:["no","shake"],group:"",emoticons:[],version:15.1},{emoji:"🙂↕",name:"head_shaking_vertically",shortcodes:["head_shaking_vertically"],tags:["nod","yes"],group:"",emoticons:[],version:15.1},{emoji:"😌",name:"relieved",shortcodes:["relieved","relieved_face"],tags:["face","relieved"],group:"",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f60c.png"},{emoji:"😔",name:"pensive",shortcodes:["pensive","pensive_face"],tags:["dejected","face","pensive"],group:"",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f614.png"},{emoji:"😪",name:"sleepy",shortcodes:["sleepy","sleepy_face"],tags:["face","good night","sleep"],group:"",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f62a.png"},{emoji:"🤤",name:"drooling_face",shortcodes:["drooling","drooling_face"],tags:["drooling","face"],group:"",emoticons:[],version:3,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f924.png"},{emoji:"😴",name:"sleeping",shortcodes:["sleeping","sleeping_face"],tags:["face","good night","sleep","zzz"],group:"",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f634.png"},{emoji:"😷",name:"mask",shortcodes:["mask","medical_mask"],tags:["cold","doctor","face","mask","sick"],group:"",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f637.png"},{emoji:"🤒",name:"face_with_thermometer",shortcodes:["face_with_thermometer"],tags:["face","ill","sick","thermometer"],group:"",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f912.png"},{emoji:"🤕",name:"face_with_head_bandage",shortcodes:["face_with_head_bandage"],tags:["bandage","face","hurt","injury"],group:"",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f915.png"},{emoji:"🤢",name:"nauseated_face",shortcodes:["nauseated","nauseated_face"],tags:["face","nauseated","vomit"],group:"",emoticons:["%("],version:3,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f922.png"},{emoji:"🤮",name:"vomiting_face",shortcodes:["face_vomiting","vomiting"],tags:["puke","sick","vomit"],group:"",emoticons:[],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f92e.png"},{emoji:"🤧",name:"sneezing_face",shortcodes:["sneezing","sneezing_face"],tags:["face","gesundheit","sneeze"],group:"",emoticons:[],version:3,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f927.png"},{emoji:"🥵",name:"hot_face",shortcodes:["hot","hot_face"],tags:["feverish","heat stroke","hot","red-faced","sweating"],group:"",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f975.png"},{emoji:"🥶",name:"cold_face",shortcodes:["cold","cold_face"],tags:["blue-faced","cold","freezing","frostbite","icicles"],group:"",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f976.png"},{emoji:"🥴",name:"woozy_face",shortcodes:["woozy","woozy_face"],tags:["dizzy","intoxicated","tipsy","uneven eyes","wavy mouth"],group:"",emoticons:[":&"],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f974.png"},{emoji:"😵",name:"dizzy_face",shortcodes:["dizzy_face","knocked_out"],tags:["crossed-out eyes","dead","face","knocked out"],group:"",emoticons:["xo","XO"],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f635.png"},{emoji:"😵💫",name:"face_with_spiral_eyes",shortcodes:["dizzy_eyes"],tags:["dizzy","hypnotized","spiral","trouble","whoa"],group:"",emoticons:[],version:13.1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f635-200d-1f4ab.png"},{emoji:"🤯",name:"exploding_head",shortcodes:["exploding_head"],tags:["mind blown","shocked"],group:"",emoticons:[],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f92f.png"},{emoji:"🤠",name:"cowboy_hat_face",shortcodes:["cowboy","cowboy_face"],tags:["cowboy","cowgirl","face","hat"],group:"",emoticons:[],version:3,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f920.png"},{emoji:"🥳",name:"partying_face",shortcodes:["hooray","partying","partying_face"],tags:["celebration","hat","horn","party"],group:"",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f973.png"},{emoji:"🥸",name:"disguised_face",shortcodes:["disguised","disguised_face"],tags:["disguise","face","glasses","incognito","nose"],group:"",emoticons:[],version:13,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f978.png"},{emoji:"😎",name:"sunglasses",shortcodes:["smiling_face_with_sunglasses","sunglasses_cool","too_cool"],tags:["bright","cool","face","sun","sunglasses"],group:"",emoticons:["8)"],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f60e.png"},{emoji:"🤓",name:"nerd_face",shortcodes:["nerd","nerd_face"],tags:["face","geek","nerd"],group:"",emoticons:[":B"],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f913.png"},{emoji:"🧐",name:"monocle_face",shortcodes:["face_with_monocle"],tags:["face","monocle","stuffy"],group:"",emoticons:[],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9d0.png"},{emoji:"😕",name:"confused",shortcodes:["confused","confused_face"],tags:["confused","face","meh"],group:"",emoticons:[":/"],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f615.png"},{emoji:"🫤",name:"face_with_diagonal_mouth",shortcodes:["face_with_diagonal_mouth"],tags:["disappointed","meh","skeptical","unsure"],group:"",emoticons:[],version:14},{emoji:"😟",name:"worried",shortcodes:["worried","worried_face"],tags:["face","worried"],group:"",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f61f.png"},{emoji:"🙁",name:"slightly_frowning_face",shortcodes:["slightly_frowning_face"],tags:["face","frown"],group:"",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f641.png"},{emoji:"☹",name:"frowning_face",shortcodes:["white_frowning_face"],tags:["face","frown"],group:"",emoticons:[":("],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/2639-fe0f.png"},{emoji:"😮",name:"open_mouth",shortcodes:["face_with_open_mouth","open_mouth"],tags:["face","mouth","open","sympathy"],group:"",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f62e.png"},{emoji:"😯",name:"hushed",shortcodes:["hushed","hushed_face"],tags:["face","hushed","stunned","surprised"],group:"",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f62f.png"},{emoji:"😲",name:"astonished",shortcodes:["astonished","astonished_face"],tags:["astonished","face","shocked","totally"],group:"",emoticons:[":o",":O"],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f632.png"},{emoji:"😳",name:"flushed",shortcodes:["flushed","flushed_face"],tags:["dazed","face","flushed"],group:"",emoticons:[":$"],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f633.png"},{emoji:"🥺",name:"pleading_face",shortcodes:["pleading","pleading_face"],tags:["begging","mercy","puppy eyes"],group:"",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f97a.png"},{emoji:"🥹",name:"face_holding_back_tears",shortcodes:["face_holding_back_tears","watery_eyes"],tags:["angry","cry","proud","resist","sad"],group:"",emoticons:[],version:14},{emoji:"😦",name:"frowning",shortcodes:["frowning","frowning_face"],tags:["face","frown","mouth","open"],group:"",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f626.png"},{emoji:"😧",name:"anguished",shortcodes:["anguished","anguished_face"],tags:["anguished","face"],group:"",emoticons:[":s",":S"],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f627.png"},{emoji:"😨",name:"fearful",shortcodes:["fearful","fearful_face"],tags:["face","fear","fearful","scared"],group:"",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f628.png"},{emoji:"😰",name:"cold_sweat",shortcodes:["anxious","anxious_face","cold_sweat"],tags:["blue","cold","face","rushed","sweat"],group:"",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f630.png"},{emoji:"😥",name:"disappointed_relieved",shortcodes:["disappointed_relieved","sad_relieved_face"],tags:["disappointed","face","relieved","whew"],group:"",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f625.png"},{emoji:"😢",name:"cry",shortcodes:["cry","crying_face"],tags:["cry","face","sad","tear"],group:"",emoticons:[":'("],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f622.png"},{emoji:"😭",name:"sob",shortcodes:["loudly_crying_face","sob"],tags:["cry","face","sad","sob","tear"],group:"",emoticons:[":'o"],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f62d.png"},{emoji:"😱",name:"scream",shortcodes:["scream","screaming_in_fear"],tags:["face","fear","munch","scared","scream"],group:"",emoticons:["Dx"],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f631.png"},{emoji:"😖",name:"confounded",shortcodes:["confounded","confounded_face"],tags:["confounded","face"],group:"",emoticons:["x(","X("],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f616.png"},{emoji:"😣",name:"persevere",shortcodes:["persevere","persevering_face"],tags:["face","persevere"],group:"",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f623.png"},{emoji:"😞",name:"disappointed",shortcodes:["disappointed","disappointed_face"],tags:["disappointed","face"],group:"",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f61e.png"},{emoji:"😓",name:"sweat",shortcodes:["downcast_face","sweat"],tags:["cold","face","sweat"],group:"",emoticons:[":<"],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f613.png"},{emoji:"😩",name:"weary",shortcodes:["weary","weary_face"],tags:["face","tired","weary"],group:"",emoticons:["D:"],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f629.png"},{emoji:"😫",name:"tired_face",shortcodes:["tired","tired_face"],tags:["face","tired"],group:"",emoticons:[":c",":C"],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f62b.png"},{emoji:"🥱",name:"yawning_face",shortcodes:["yawn","yawning","yawning_face"],tags:["bored","tired","yawn"],group:"",emoticons:[],version:12,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f971.png"},{emoji:"😤",name:"triumph",shortcodes:["nose_steam","triumph"],tags:["face","triumph","won"],group:"",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f624.png"},{emoji:"😡",name:"pout",shortcodes:["pout","pouting_face","rage"],tags:["angry","enraged","face","mad","pouting","rage","red"],group:"",emoticons:[">:/"],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f621.png"},{emoji:"😠",name:"angry",shortcodes:["angry","angry_face"],tags:["anger","angry","face","mad"],group:"",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f620.png"},{emoji:"🤬",name:"cursing_face",shortcodes:["censored","face_with_symbols_on_mouth"],tags:["swearing"],group:"",emoticons:[":@"],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f92c.png"},{emoji:"😈",name:"smiling_imp",shortcodes:["smiling_imp"],tags:["face","fairy tale","fantasy","horns","smile"],group:"",emoticons:[">:)"],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f608.png"},{emoji:"👿",name:"imp",shortcodes:["angry_imp","imp"],tags:["demon","devil","face","fantasy","imp"],group:"",emoticons:[">:("],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f47f.png"},{emoji:"💀",name:"skull",shortcodes:["skull"],tags:["death","face","fairy tale","monster"],group:"",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f480.png"},{emoji:"☠",name:"skull_and_crossbones",shortcodes:["skull_and_crossbones"],tags:["crossbones","death","face","monster","skull"],group:"",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/2620-fe0f.png"},{emoji:"💩",name:"hankey",shortcodes:["poop","shit"],tags:["dung","face","monster","poo","poop"],group:"",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4a9.png"},{emoji:"🤡",name:"clown_face",shortcodes:["clown","clown_face"],tags:["clown","face"],group:"",emoticons:[],version:3,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f921.png"},{emoji:"👹",name:"japanese_ogre",shortcodes:["japanese_ogre","ogre"],tags:["creature","face","fairy tale","fantasy","monster"],group:"",emoticons:[">0)"],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f479.png"},{emoji:"👺",name:"japanese_goblin",shortcodes:["goblin","japanese_goblin"],tags:["creature","face","fairy tale","fantasy","monster"],group:"",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f47a.png"},{emoji:"👻",name:"ghost",shortcodes:["ghost"],tags:["creature","face","fairy tale","fantasy","monster"],group:"",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f47b.png"},{emoji:"👽",name:"alien",shortcodes:["alien"],tags:["creature","extraterrestrial","face","fantasy","ufo"],group:"",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f47d.png"},{emoji:"👾",name:"space_invader",shortcodes:["alien_monster","space_invader"],tags:["alien","creature","extraterrestrial","face","monster","ufo"],group:"",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f47e.png"},{emoji:"🤖",name:"robot",shortcodes:["robot","robot_face"],tags:["face","monster"],group:"",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f916.png"},{emoji:"😺",name:"smiley_cat",shortcodes:["grinning_cat","smiley_cat"],tags:["cat","face","grinning","mouth","open","smile"],group:"",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f63a.png"},{emoji:"😸",name:"smile_cat",shortcodes:["grinning_cat_with_closed_eyes","smile_cat"],tags:["cat","eye","face","grin","smile"],group:"",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f638.png"},{emoji:"😹",name:"joy_cat",shortcodes:["joy_cat","tears_of_joy_cat"],tags:["cat","face","joy","tear"],group:"",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f639.png"},{emoji:"😻",name:"heart_eyes_cat",shortcodes:["heart_eyes_cat","smiling_cat_with_heart_eyes"],tags:["cat","eye","face","heart","love","smile"],group:"",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f63b.png"},{emoji:"😼",name:"smirk_cat",shortcodes:["smirk_cat","wry_smile_cat"],tags:["cat","face","ironic","smile","wry"],group:"",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f63c.png"},{emoji:"😽",name:"kissing_cat",shortcodes:["kissing_cat"],tags:["cat","eye","face","kiss"],group:"",emoticons:[":3"],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f63d.png"},{emoji:"🙀",name:"scream_cat",shortcodes:["scream_cat","weary_cat"],tags:["cat","face","oh","surprised","weary"],group:"",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f640.png"},{emoji:"😿",name:"crying_cat_face",shortcodes:["crying_cat"],tags:["cat","cry","face","sad","tear"],group:"",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f63f.png"},{emoji:"😾",name:"pouting_cat",shortcodes:["pouting_cat"],tags:["cat","face","pouting"],group:"",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f63e.png"},{emoji:"🙈",name:"see_no_evil",shortcodes:["see_no_evil"],tags:["evil","face","forbidden","monkey","see"],group:"",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f648.png"},{emoji:"🙉",name:"hear_no_evil",shortcodes:["hear_no_evil"],tags:["evil","face","forbidden","hear","monkey"],group:"",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f649.png"},{emoji:"🙊",name:"speak_no_evil",shortcodes:["speak_no_evil"],tags:["evil","face","forbidden","monkey","speak"],group:"",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f64a.png"},{emoji:"💌",name:"love_letter",shortcodes:["love_letter"],tags:["heart","letter","love","mail"],group:"",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f48c.png"},{emoji:"💘",name:"cupid",shortcodes:["cupid","heart_with_arrow"],tags:["arrow","cupid"],group:"",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f498.png"},{emoji:"💝",name:"gift_heart",shortcodes:["gift_heart","heart_with_ribbon"],tags:["ribbon","valentine"],group:"",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f49d.png"},{emoji:"💖",name:"sparkling_heart",shortcodes:["sparkling_heart"],tags:["excited","sparkle"],group:"",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f496.png"},{emoji:"💗",name:"heartpulse",shortcodes:["growing_heart","heartpulse"],tags:["excited","growing","nervous","pulse"],group:"",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f497.png"},{emoji:"💓",name:"heartbeat",shortcodes:["beating_heart","heartbeat"],tags:["beating","heartbeat","pulsating"],group:"",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f493.png"},{emoji:"💞",name:"revolving_hearts",shortcodes:["revolving_hearts"],tags:["revolving"],group:"",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f49e.png"},{emoji:"💕",name:"two_hearts",shortcodes:["two_hearts"],tags:["love"],group:"",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f495.png"},{emoji:"💟",name:"heart_decoration",shortcodes:["heart_decoration"],tags:["heart"],group:"",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f49f.png"},{emoji:"❣",name:"heavy_heart_exclamation",shortcodes:["heart_exclamation"],tags:["exclamation","mark","punctuation"],group:"",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/2763-fe0f.png"},{emoji:"💔",name:"broken_heart",shortcodes:["broken_heart"],tags:["break","broken"],group:"",emoticons:["</3"],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f494.png"},{emoji:"❤🔥",name:"heart_on_fire",shortcodes:["heart_on_fire"],tags:["burn","heart","love","lust","sacred heart"],group:"",emoticons:[],version:13.1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/2764-fe0f-200d-1f525.png"},{emoji:"❤🩹",name:"mending_heart",shortcodes:["mending_heart"],tags:["healthier","improving","mending","recovering","recuperating","well"],group:"",emoticons:[],version:13.1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/2764-fe0f-200d-1fa79.png"},{emoji:"❤",name:"heart",shortcodes:["heart","red_heart"],tags:["heart"],group:"",emoticons:["<3"],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/2764-fe0f.png"},{emoji:"🩷",name:"pink_heart",shortcodes:["pink_heart"],tags:["cute","heart","like","love","pink"],group:"",emoticons:[],version:15},{emoji:"🧡",name:"orange_heart",shortcodes:["orange_heart"],tags:["orange"],group:"",emoticons:[],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9e1.png"},{emoji:"💛",name:"yellow_heart",shortcodes:["yellow_heart"],tags:["yellow"],group:"",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f49b.png"},{emoji:"💚",name:"green_heart",shortcodes:["green_heart"],tags:["green"],group:"",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f49a.png"},{emoji:"💙",name:"blue_heart",shortcodes:["blue_heart"],tags:["blue"],group:"",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f499.png"},{emoji:"🩵",name:"light_blue_heart",shortcodes:["light_blue_heart"],tags:["cyan","heart","light blue","teal"],group:"",emoticons:[],version:15},{emoji:"💜",name:"purple_heart",shortcodes:["purple_heart"],tags:["purple"],group:"",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f49c.png"},{emoji:"🤎",name:"brown_heart",shortcodes:["brown_heart"],tags:["brown","heart"],group:"",emoticons:[],version:12,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f90e.png"},{emoji:"🖤",name:"black_heart",shortcodes:["black_heart"],tags:["black","evil","wicked"],group:"",emoticons:[],version:3,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f5a4.png"},{emoji:"🩶",name:"grey_heart",shortcodes:["gray_heart","grey_heart"],tags:["gray","heart","silver","slate"],group:"",emoticons:[],version:15},{emoji:"🤍",name:"white_heart",shortcodes:["white_heart"],tags:["heart","white"],group:"",emoticons:[],version:12,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f90d.png"},{emoji:"💋",name:"kiss",shortcodes:["kiss"],tags:["kiss","lips"],group:"",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f48b.png"},{emoji:"💯",name:"100",shortcodes:["100"],tags:["100","full","hundred","score"],group:"",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4af.png"},{emoji:"💢",name:"anger",shortcodes:["anger"],tags:["angry","comic","mad"],group:"",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4a2.png"},{emoji:"💥",name:"boom",shortcodes:["boom","collision"],tags:["boom","comic"],group:"",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4a5.png"},{emoji:"💫",name:"dizzy",shortcodes:["dizzy"],tags:["comic","star"],group:"",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4ab.png"},{emoji:"💦",name:"sweat_drops",shortcodes:["sweat_drops"],tags:["comic","splashing","sweat"],group:"",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4a6.png"},{emoji:"💨",name:"dash",shortcodes:["dash","dashing_away"],tags:["comic","dash","running"],group:"",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4a8.png"},{emoji:"🕳",name:"hole",shortcodes:["hole"],tags:["hole"],group:"",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f573-fe0f.png"},{emoji:"💬",name:"speech_balloon",shortcodes:["speech_balloon"],tags:["balloon","bubble","comic","dialog","speech"],group:"",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4ac.png"},{emoji:"👁🗨️",name:"eye_speech_bubble",shortcodes:["eye_in_speech_bubble"],tags:["balloon","bubble","eye","speech","witness"],group:"",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f441-fe0f-200d-1f5e8-fe0f.png"},{emoji:"🗨",name:"left_speech_bubble",shortcodes:["left_speech_bubble"],tags:["balloon","bubble","dialog","speech"],group:"",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f5e8-fe0f.png"},{emoji:"🗯",name:"right_anger_bubble",shortcodes:["right_anger_bubble"],tags:["angry","balloon","bubble","mad"],group:"",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f5ef-fe0f.png"},{emoji:"💭",name:"thought_balloon",shortcodes:["thought_balloon"],tags:["balloon","bubble","comic","thought"],group:"",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4ad.png"},{emoji:"💤",name:"zzz",shortcodes:["zzz"],tags:["comic","good night","sleep","zzz"],group:"",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4a4.png"},{emoji:"👋",name:"wave",shortcodes:["wave","waving_hand"],tags:["hand","wave","waving"],group:"people & body",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f44b.png"},{emoji:"🤚",name:"raised_back_of_hand",shortcodes:["raised_back_of_hand"],tags:["backhand","raised"],group:"people & body",emoticons:[],version:3,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f91a.png"},{emoji:"🖐",name:"raised_hand_with_fingers_splayed",shortcodes:["raised_hand_with_fingers_splayed"],tags:["finger","hand","splayed"],group:"people & body",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f590-fe0f.png"},{emoji:"✋",name:"hand",shortcodes:["high_five","raised_hand"],tags:["hand","high 5","high five"],group:"people & body",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/270b.png"},{emoji:"🖖",name:"vulcan_salute",shortcodes:["vulcan"],tags:["finger","hand","spock","vulcan"],group:"people & body",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f596.png"},{emoji:"🫱",name:"rightwards_hand",shortcodes:["rightwards_hand"],tags:["hand","right","rightward"],group:"people & body",emoticons:[],version:14},{emoji:"🫲",name:"leftwards_hand",shortcodes:["leftwards_hand"],tags:["hand","left","leftward"],group:"people & body",emoticons:[],version:14},{emoji:"🫳",name:"palm_down_hand",shortcodes:["palm_down"],tags:["dismiss","drop","shoo"],group:"people & body",emoticons:[],version:14},{emoji:"🫴",name:"palm_up_hand",shortcodes:["palm_up"],tags:["beckon","catch","come","offer"],group:"people & body",emoticons:[],version:14},{emoji:"🫷",name:"leftwards_pushing_hand",shortcodes:["leftwards_pushing_hand"],tags:["high five","leftward","push","refuse","stop","wait"],group:"people & body",emoticons:[],version:15},{emoji:"🫸",name:"rightwards_pushing_hand",shortcodes:["rightwards_pushing_hand"],tags:["high five","push","refuse","rightward","stop","wait"],group:"people & body",emoticons:[],version:15},{emoji:"👌",name:"ok_hand",shortcodes:["ok_hand"],tags:["hand","ok"],group:"people & body",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f44c.png"},{emoji:"🤌",name:"pinched_fingers",shortcodes:["pinch","pinched_fingers"],tags:["fingers","hand gesture","interrogation","pinched","sarcastic"],group:"people & body",emoticons:[],version:13,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f90c.png"},{emoji:"🤏",name:"pinching_hand",shortcodes:["pinching_hand"],tags:["small amount"],group:"people & body",emoticons:[],version:12,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f90f.png"},{emoji:"✌",name:"v",shortcodes:["v","victory"],tags:["hand","v","victory"],group:"people & body",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/270c-fe0f.png"},{emoji:"🤞",name:"crossed_fingers",shortcodes:["fingers_crossed"],tags:["cross","finger","hand","luck"],group:"people & body",emoticons:[],version:3,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f91e.png"},{emoji:"🫰",name:"hand_with_index_finger_and_thumb_crossed",shortcodes:["hand_with_index_finger_and_thumb_crossed"],tags:["expensive","heart","love","money","snap"],group:"people & body",emoticons:[],version:14},{emoji:"🤟",name:"love_you_gesture",shortcodes:["love_you_gesture"],tags:["hand","ily"],group:"people & body",emoticons:[],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f91f.png"},{emoji:"🤘",name:"metal",shortcodes:["metal","sign_of_the_horns"],tags:["finger","hand","horns","rock-on"],group:"people & body",emoticons:["\\m/","\\M/"],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f918.png"},{emoji:"🤙",name:"call_me_hand",shortcodes:["call_me_hand"],tags:["call","hand","hang loose","shaka"],group:"people & body",emoticons:[],version:3,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f919.png"},{emoji:"👈",name:"point_left",shortcodes:["point_left"],tags:["backhand","finger","hand","index","point"],group:"people & body",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f448.png"},{emoji:"👉",name:"point_right",shortcodes:["point_right"],tags:["backhand","finger","hand","index","point"],group:"people & body",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f449.png"},{emoji:"👆",name:"point_up_2",shortcodes:["point_up"],tags:["backhand","finger","hand","point","up"],group:"people & body",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f446.png"},{emoji:"🖕",name:"fu",shortcodes:["middle_finger"],tags:["finger","hand"],group:"people & body",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f595.png"},{emoji:"👇",name:"point_down",shortcodes:["point_down"],tags:["backhand","down","finger","hand","point"],group:"people & body",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f447.png"},{emoji:"☝",name:"point_up",shortcodes:["point_up_2"],tags:["finger","hand","index","point","up"],group:"people & body",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/261d-fe0f.png"},{emoji:"🫵",name:"index_pointing_at_the_viewer",shortcodes:["point_forward"],tags:["point","you"],group:"people & body",emoticons:[],version:14},{emoji:"👍",name:"+1",shortcodes:["+1","thumbsup","yes"],tags:["+1","hand","thumb","up"],group:"people & body",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f44d.png"},{emoji:"👎",name:"-1",shortcodes:["-1","no","thumbsdown"],tags:["-1","down","hand","thumb"],group:"people & body",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f44e.png"},{emoji:"✊",name:"fist",shortcodes:["fist"],tags:["clenched","fist","hand","punch"],group:"people & body",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/270a.png"},{emoji:"👊",name:"facepunch",shortcodes:["punch"],tags:["clenched","fist","hand","punch"],group:"people & body",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f44a.png"},{emoji:"🤛",name:"fist_left",shortcodes:["left_facing_fist"],tags:["fist","leftwards"],group:"people & body",emoticons:[],version:3,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f91b.png"},{emoji:"🤜",name:"fist_right",shortcodes:["right_facing_fist"],tags:["fist","rightwards"],group:"people & body",emoticons:[],version:3,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f91c.png"},{emoji:"👏",name:"clap",shortcodes:["clap","clapping_hands"],tags:["clap","hand"],group:"people & body",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f44f.png"},{emoji:"🙌",name:"raised_hands",shortcodes:["raised_hands"],tags:["celebration","gesture","hand","hooray","raised"],group:"people & body",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f64c.png"},{emoji:"🫶",name:"heart_hands",shortcodes:["heart_hands"],tags:["love"],group:"people & body",emoticons:[],version:14},{emoji:"👐",name:"open_hands",shortcodes:["open_hands"],tags:["hand","open"],group:"people & body",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f450.png"},{emoji:"🤲",name:"palms_up_together",shortcodes:["palms_up_together"],tags:["prayer"],group:"people & body",emoticons:[],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f932.png"},{emoji:"🤝",name:"handshake",shortcodes:["handshake"],tags:["agreement","hand","meeting","shake"],group:"people & body",emoticons:[],version:3,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f91d.png"},{emoji:"🙏",name:"pray",shortcodes:["folded_hands","pray"],tags:["ask","hand","high 5","high five","please","pray","thanks"],group:"people & body",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f64f.png"},{emoji:"✍",name:"writing_hand",shortcodes:["writing_hand"],tags:["hand","write"],group:"people & body",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/270d-fe0f.png"},{emoji:"💅",name:"nail_care",shortcodes:["nail_care","nail_polish"],tags:["care","cosmetics","manicure","nail","polish"],group:"people & body",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f485.png"},{emoji:"🤳",name:"selfie",shortcodes:["selfie"],tags:["camera","phone"],group:"people & body",emoticons:[],version:3,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f933.png"},{emoji:"💪",name:"muscle",shortcodes:["muscle","right_bicep"],tags:["biceps","comic","flex","muscle"],group:"people & body",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4aa.png"},{emoji:"🦾",name:"mechanical_arm",shortcodes:["mechanical_arm"],tags:["accessibility","prosthetic"],group:"people & body",emoticons:[],version:12,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9be.png"},{emoji:"🦿",name:"mechanical_leg",shortcodes:["mechanical_leg"],tags:["accessibility","prosthetic"],group:"people & body",emoticons:[],version:12,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9bf.png"},{emoji:"🦵",name:"leg",shortcodes:["leg"],tags:["kick","limb"],group:"people & body",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9b5.png"},{emoji:"🦶",name:"foot",shortcodes:["foot"],tags:["kick","stomp"],group:"people & body",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9b6.png"},{emoji:"👂",name:"ear",shortcodes:["ear"],tags:["body"],group:"people & body",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f442.png"},{emoji:"🦻",name:"ear_with_hearing_aid",shortcodes:["ear_with_hearing_aid","hearing_aid"],tags:["accessibility","hard of hearing"],group:"people & body",emoticons:[],version:12,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9bb.png"},{emoji:"👃",name:"nose",shortcodes:["nose"],tags:["body"],group:"people & body",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f443.png"},{emoji:"🧠",name:"brain",shortcodes:["brain"],tags:["intelligent"],group:"people & body",emoticons:[],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9e0.png"},{emoji:"🫀",name:"anatomical_heart",shortcodes:["anatomical_heart"],tags:["anatomical","cardiology","heart","organ","pulse"],group:"people & body",emoticons:[],version:13,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1fac0.png"},{emoji:"🫁",name:"lungs",shortcodes:["lungs"],tags:["breath","exhalation","inhalation","organ","respiration"],group:"people & body",emoticons:[],version:13,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1fac1.png"},{emoji:"🦷",name:"tooth",shortcodes:["tooth"],tags:["dentist"],group:"people & body",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9b7.png"},{emoji:"🦴",name:"bone",shortcodes:["bone"],tags:["skeleton"],group:"people & body",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9b4.png"},{emoji:"👀",name:"eyes",shortcodes:["eyes"],tags:["eye","face"],group:"people & body",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f440.png"},{emoji:"👁",name:"eye",shortcodes:["eye"],tags:["body"],group:"people & body",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f441-fe0f.png"},{emoji:"👅",name:"tongue",shortcodes:["tongue"],tags:["body"],group:"people & body",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f445.png"},{emoji:"👄",name:"lips",shortcodes:["lips","mouth"],tags:["lips"],group:"people & body",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f444.png"},{emoji:"🫦",name:"biting_lip",shortcodes:["biting_lip"],tags:["anxious","fear","flirting","nervous","uncomfortable","worried"],group:"people & body",emoticons:[],version:14},{emoji:"👶",name:"baby",shortcodes:["baby"],tags:["young"],group:"people & body",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f476.png"},{emoji:"🧒",name:"child",shortcodes:["child"],tags:["gender-neutral","unspecified gender","young"],group:"people & body",emoticons:[],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9d2.png"},{emoji:"👦",name:"boy",shortcodes:["boy"],tags:["young"],group:"people & body",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f466.png"},{emoji:"👧",name:"girl",shortcodes:["girl"],tags:["virgo","young","zodiac"],group:"people & body",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f467.png"},{emoji:"🧑",name:"adult",shortcodes:["adult"],tags:["adult","gender-neutral","unspecified gender"],group:"people & body",emoticons:[],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9d1.png"},{emoji:"👱",name:"blond_haired_person",shortcodes:["blond_haired"],tags:["blond","blond-haired person","hair"],group:"people & body",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f471.png"},{emoji:"👨",name:"man",shortcodes:["man"],tags:["adult"],group:"people & body",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f468.png"},{emoji:"🧔",name:"bearded_person",shortcodes:["person_bearded"],tags:["beard","person"],group:"people & body",emoticons:[],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9d4.png"},{emoji:"🧔♂",name:"man_beard",shortcodes:["man_bearded"],tags:["beard","man"],group:"people & body",emoticons:[],version:13.1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9d4-200d-2642-fe0f.png"},{emoji:"🧔♀",name:"woman_beard",shortcodes:["woman_bearded"],tags:["beard","woman"],group:"people & body",emoticons:[],version:13.1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9d4-200d-2640-fe0f.png"},{emoji:"👨🦰",name:"red_haired_man",shortcodes:["man_red_haired"],tags:["adult","man","red hair"],group:"people & body",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f468-200d-1f9b0.png"},{emoji:"👨🦱",name:"curly_haired_man",shortcodes:["man_curly_haired"],tags:["adult","curly hair","man"],group:"people & body",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f468-200d-1f9b1.png"},{emoji:"👨🦳",name:"white_haired_man",shortcodes:["man_white_haired"],tags:["adult","man","white hair"],group:"people & body",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f468-200d-1f9b3.png"},{emoji:"👨🦲",name:"bald_man",shortcodes:["man_bald"],tags:["adult","bald","man"],group:"people & body",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f468-200d-1f9b2.png"},{emoji:"👩",name:"woman",shortcodes:["woman"],tags:["adult"],group:"people & body",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f469.png"},{emoji:"👩🦰",name:"red_haired_woman",shortcodes:["woman_red_haired"],tags:["adult","red hair","woman"],group:"people & body",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f469-200d-1f9b0.png"},{emoji:"🧑🦰",name:"person_red_hair",shortcodes:["red_haired"],tags:["adult","gender-neutral","person","red hair","unspecified gender"],group:"people & body",emoticons:[],version:12.1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9d1-200d-1f9b0.png"},{emoji:"👩🦱",name:"curly_haired_woman",shortcodes:["woman_curly_haired"],tags:["adult","curly hair","woman"],group:"people & body",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f469-200d-1f9b1.png"},{emoji:"🧑🦱",name:"person_curly_hair",shortcodes:["curly_haired"],tags:["adult","curly hair","gender-neutral","person","unspecified gender"],group:"people & body",emoticons:[],version:12.1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9d1-200d-1f9b1.png"},{emoji:"👩🦳",name:"white_haired_woman",shortcodes:["woman_white_haired"],tags:["adult","white hair","woman"],group:"people & body",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f469-200d-1f9b3.png"},{emoji:"🧑🦳",name:"person_white_hair",shortcodes:["white_haired"],tags:["adult","gender-neutral","person","unspecified gender","white hair"],group:"people & body",emoticons:[],version:12.1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9d1-200d-1f9b3.png"},{emoji:"👩🦲",name:"bald_woman",shortcodes:["woman_bald"],tags:["adult","bald","woman"],group:"people & body",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f469-200d-1f9b2.png"},{emoji:"🧑🦲",name:"person_bald",shortcodes:["bald"],tags:["adult","bald","gender-neutral","person","unspecified gender"],group:"people & body",emoticons:[],version:12.1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9d1-200d-1f9b2.png"},{emoji:"👱♀",name:"blond_haired_woman",shortcodes:["woman_blond_haired"],tags:["blond-haired woman","blonde","hair","woman"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f471-200d-2640-fe0f.png"},{emoji:"👱♂",name:"blond_haired_man",shortcodes:["man_blond_haired"],tags:["blond","blond-haired man","hair","man"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f471-200d-2642-fe0f.png"},{emoji:"🧓",name:"older_adult",shortcodes:["older_adult"],tags:["adult","gender-neutral","old","unspecified gender"],group:"people & body",emoticons:[],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9d3.png"},{emoji:"👴",name:"older_man",shortcodes:["older_man"],tags:["adult","man","old"],group:"people & body",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f474.png"},{emoji:"👵",name:"older_woman",shortcodes:["older_woman"],tags:["adult","old","woman"],group:"people & body",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f475.png"},{emoji:"🙍",name:"frowning_person",shortcodes:["person_frowning"],tags:["frown","gesture"],group:"people & body",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f64d.png"},{emoji:"🙍♂",name:"frowning_man",shortcodes:["man_frowning"],tags:["frowning","gesture","man"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f64d-200d-2642-fe0f.png"},{emoji:"🙍♀",name:"frowning_woman",shortcodes:["woman_frowning"],tags:["frowning","gesture","woman"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f64d-200d-2640-fe0f.png"},{emoji:"🙎",name:"pouting_face",shortcodes:["person_pouting","pouting"],tags:["gesture","pouting"],group:"people & body",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f64e.png"},{emoji:"🙎♂",name:"pouting_man",shortcodes:["man_pouting"],tags:["gesture","man","pouting"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f64e-200d-2642-fe0f.png"},{emoji:"🙎♀",name:"pouting_woman",shortcodes:["woman_pouting"],tags:["gesture","pouting","woman"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f64e-200d-2640-fe0f.png"},{emoji:"🙅",name:"no_good",shortcodes:["no_good","person_gesturing_no"],tags:["forbidden","gesture","hand","person gesturing no","prohibited"],group:"people & body",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f645.png"},{emoji:"🙅♂",name:"ng_man",shortcodes:["man_gesturing_no"],tags:["forbidden","gesture","hand","man","man gesturing no","prohibited"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f645-200d-2642-fe0f.png"},{emoji:"🙅♀",name:"ng_woman",shortcodes:["woman_gesturing_no"],tags:["forbidden","gesture","hand","prohibited","woman","woman gesturing no"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f645-200d-2640-fe0f.png"},{emoji:"🙆",name:"ok_person",shortcodes:["all_good","person_gesturing_ok"],tags:["gesture","hand","ok","person gesturing ok"],group:"people & body",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f646.png"},{emoji:"🙆♂",name:"ok_man",shortcodes:["man_gesturing_ok"],tags:["gesture","hand","man","man gesturing ok","ok"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f646-200d-2642-fe0f.png"},{emoji:"🙆♀",name:"ok_woman",shortcodes:["woman_gesturing_ok"],tags:["gesture","hand","ok","woman","woman gesturing ok"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f646-200d-2640-fe0f.png"},{emoji:"💁",name:"information_desk_person",shortcodes:["person_tipping_hand"],tags:["hand","help","information","sassy","tipping"],group:"people & body",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f481.png"},{emoji:"💁♂",name:"sassy_man",shortcodes:["man_tipping_hand"],tags:["man","sassy","tipping hand"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f481-200d-2642-fe0f.png"},{emoji:"💁♀",name:"sassy_woman",shortcodes:["woman_tipping_hand"],tags:["sassy","tipping hand","woman"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f481-200d-2640-fe0f.png"},{emoji:"🙋",name:"raising_hand",shortcodes:["person_raising_hand"],tags:["gesture","hand","happy","raised"],group:"people & body",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f64b.png"},{emoji:"🙋♂",name:"raising_hand_man",shortcodes:["man_raising_hand"],tags:["gesture","man","raising hand"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f64b-200d-2642-fe0f.png"},{emoji:"🙋♀",name:"raising_hand_woman",shortcodes:["woman_raising_hand"],tags:["gesture","raising hand","woman"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f64b-200d-2640-fe0f.png"},{emoji:"🧏",name:"deaf_person",shortcodes:["deaf_person"],tags:["accessibility","deaf","ear","hear"],group:"people & body",emoticons:[],version:12,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9cf.png"},{emoji:"🧏♂",name:"deaf_man",shortcodes:["deaf_man"],tags:["deaf","man"],group:"people & body",emoticons:[],version:12,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9cf-200d-2642-fe0f.png"},{emoji:"🧏♀",name:"deaf_woman",shortcodes:["deaf_woman"],tags:["deaf","woman"],group:"people & body",emoticons:[],version:12,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9cf-200d-2640-fe0f.png"},{emoji:"🙇",name:"bow",shortcodes:["bow","person_bowing"],tags:["apology","bow","gesture","sorry"],group:"people & body",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f647.png"},{emoji:"🙇♂",name:"bowing_man",shortcodes:["man_bowing"],tags:["apology","bowing","favor","gesture","man","sorry"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f647-200d-2642-fe0f.png"},{emoji:"🙇♀",name:"bowing_woman",shortcodes:["woman_bowing"],tags:["apology","bowing","favor","gesture","sorry","woman"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f647-200d-2640-fe0f.png"},{emoji:"🤦",name:"facepalm",shortcodes:["facepalm","person_facepalming"],tags:["disbelief","exasperation","face","palm"],group:"people & body",emoticons:[],version:3,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f926.png"},{emoji:"🤦♂",name:"man_facepalming",shortcodes:["man_facepalming"],tags:["disbelief","exasperation","facepalm","man"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f926-200d-2642-fe0f.png"},{emoji:"🤦♀",name:"woman_facepalming",shortcodes:["woman_facepalming"],tags:["disbelief","exasperation","facepalm","woman"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f926-200d-2640-fe0f.png"},{emoji:"🤷",name:"shrug",shortcodes:["person_shrugging","shrug"],tags:["doubt","ignorance","indifference","shrug"],group:"people & body",emoticons:[],version:3,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f937.png"},{emoji:"🤷♂",name:"man_shrugging",shortcodes:["man_shrugging"],tags:["doubt","ignorance","indifference","man","shrug"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f937-200d-2642-fe0f.png"},{emoji:"🤷♀",name:"woman_shrugging",shortcodes:["woman_shrugging"],tags:["doubt","ignorance","indifference","shrug","woman"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f937-200d-2640-fe0f.png"},{emoji:"🧑⚕",name:"health_worker",shortcodes:["health_worker"],tags:["doctor","healthcare","nurse","therapist"],group:"people & body",emoticons:[],version:12.1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9d1-200d-2695-fe0f.png"},{emoji:"👨⚕",name:"man_health_worker",shortcodes:["man_health_worker"],tags:["doctor","healthcare","man","nurse","therapist"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f468-200d-2695-fe0f.png"},{emoji:"👩⚕",name:"woman_health_worker",shortcodes:["woman_health_worker"],tags:["doctor","healthcare","nurse","therapist","woman"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f469-200d-2695-fe0f.png"},{emoji:"🧑🎓",name:"student",shortcodes:["student"],tags:["graduate"],group:"people & body",emoticons:[],version:12.1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9d1-200d-1f393.png"},{emoji:"👨🎓",name:"man_student",shortcodes:["man_student"],tags:["graduate","man","student"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f468-200d-1f393.png"},{emoji:"👩🎓",name:"woman_student",shortcodes:["woman_student"],tags:["graduate","student","woman"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f469-200d-1f393.png"},{emoji:"🧑🏫",name:"teacher",shortcodes:["teacher"],tags:["instructor","lecturer","professor"],group:"people & body",emoticons:[],version:12.1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9d1-200d-1f3eb.png"},{emoji:"👨🏫",name:"man_teacher",shortcodes:["man_teacher"],tags:["instructor","lecturer","man","professor","teacher"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f468-200d-1f3eb.png"},{emoji:"👩🏫",name:"woman_teacher",shortcodes:["woman_teacher"],tags:["instructor","lecturer","professor","teacher","woman"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f469-200d-1f3eb.png"},{emoji:"🧑⚖",name:"judge",shortcodes:["judge"],tags:["justice","law","scales"],group:"people & body",emoticons:[],version:12.1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9d1-200d-2696-fe0f.png"},{emoji:"👨⚖",name:"man_judge",shortcodes:["man_judge"],tags:["judge","justice","law","man","scales"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f468-200d-2696-fe0f.png"},{emoji:"👩⚖",name:"woman_judge",shortcodes:["woman_judge"],tags:["judge","justice","law","scales","woman"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f469-200d-2696-fe0f.png"},{emoji:"🧑🌾",name:"farmer",shortcodes:["farmer"],tags:["gardener","rancher"],group:"people & body",emoticons:[],version:12.1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9d1-200d-1f33e.png"},{emoji:"👨🌾",name:"man_farmer",shortcodes:["man_farmer"],tags:["farmer","gardener","man","rancher"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f468-200d-1f33e.png"},{emoji:"👩🌾",name:"woman_farmer",shortcodes:["woman_farmer"],tags:["farmer","gardener","rancher","woman"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f469-200d-1f33e.png"},{emoji:"🧑🍳",name:"cook",shortcodes:["cook"],tags:["chef"],group:"people & body",emoticons:[],version:12.1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9d1-200d-1f373.png"},{emoji:"👨🍳",name:"man_cook",shortcodes:["man_cook"],tags:["chef","cook","man"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f468-200d-1f373.png"},{emoji:"👩🍳",name:"woman_cook",shortcodes:["woman_cook"],tags:["chef","cook","woman"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f469-200d-1f373.png"},{emoji:"🧑🔧",name:"mechanic",shortcodes:["mechanic"],tags:["electrician","plumber","tradesperson"],group:"people & body",emoticons:[],version:12.1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9d1-200d-1f527.png"},{emoji:"👨🔧",name:"man_mechanic",shortcodes:["man_mechanic"],tags:["electrician","man","mechanic","plumber","tradesperson"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f468-200d-1f527.png"},{emoji:"👩🔧",name:"woman_mechanic",shortcodes:["woman_mechanic"],tags:["electrician","mechanic","plumber","tradesperson","woman"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f469-200d-1f527.png"},{emoji:"🧑🏭",name:"factory_worker",shortcodes:["factory_worker"],tags:["assembly","factory","industrial","worker"],group:"people & body",emoticons:[],version:12.1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9d1-200d-1f3ed.png"},{emoji:"👨🏭",name:"man_factory_worker",shortcodes:["man_factory_worker"],tags:["assembly","factory","industrial","man","worker"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f468-200d-1f3ed.png"},{emoji:"👩🏭",name:"woman_factory_worker",shortcodes:["woman_factory_worker"],tags:["assembly","factory","industrial","woman","worker"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f469-200d-1f3ed.png"},{emoji:"🧑💼",name:"office_worker",shortcodes:["office_worker"],tags:["architect","business","manager","white-collar"],group:"people & body",emoticons:[],version:12.1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9d1-200d-1f4bc.png"},{emoji:"👨💼",name:"man_office_worker",shortcodes:["man_office_worker"],tags:["architect","business","man","manager","white-collar"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f468-200d-1f4bc.png"},{emoji:"👩💼",name:"woman_office_worker",shortcodes:["woman_office_worker"],tags:["architect","business","manager","white-collar","woman"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f469-200d-1f4bc.png"},{emoji:"🧑🔬",name:"scientist",shortcodes:["scientist"],tags:["biologist","chemist","engineer","physicist"],group:"people & body",emoticons:[],version:12.1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9d1-200d-1f52c.png"},{emoji:"👨🔬",name:"man_scientist",shortcodes:["man_scientist"],tags:["biologist","chemist","engineer","man","physicist","scientist"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f468-200d-1f52c.png"},{emoji:"👩🔬",name:"woman_scientist",shortcodes:["woman_scientist"],tags:["biologist","chemist","engineer","physicist","scientist","woman"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f469-200d-1f52c.png"},{emoji:"🧑💻",name:"technologist",shortcodes:["technologist"],tags:["coder","developer","inventor","software"],group:"people & body",emoticons:[],version:12.1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9d1-200d-1f4bb.png"},{emoji:"👨💻",name:"man_technologist",shortcodes:["man_technologist"],tags:["coder","developer","inventor","man","software","technologist"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f468-200d-1f4bb.png"},{emoji:"👩💻",name:"woman_technologist",shortcodes:["woman_technologist"],tags:["coder","developer","inventor","software","technologist","woman"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f469-200d-1f4bb.png"},{emoji:"🧑🎤",name:"singer",shortcodes:["singer"],tags:["actor","entertainer","rock","star"],group:"people & body",emoticons:[],version:12.1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9d1-200d-1f3a4.png"},{emoji:"👨🎤",name:"man_singer",shortcodes:["man_singer"],tags:["actor","entertainer","man","rock","singer","star"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f468-200d-1f3a4.png"},{emoji:"👩🎤",name:"woman_singer",shortcodes:["woman_singer"],tags:["actor","entertainer","rock","singer","star","woman"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f469-200d-1f3a4.png"},{emoji:"🧑🎨",name:"artist",shortcodes:["artist"],tags:["palette"],group:"people & body",emoticons:[],version:12.1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9d1-200d-1f3a8.png"},{emoji:"👨🎨",name:"man_artist",shortcodes:["man_artist"],tags:["artist","man","palette"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f468-200d-1f3a8.png"},{emoji:"👩🎨",name:"woman_artist",shortcodes:["woman_artist"],tags:["artist","palette","woman"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f469-200d-1f3a8.png"},{emoji:"🧑✈",name:"pilot",shortcodes:["pilot"],tags:["plane"],group:"people & body",emoticons:[],version:12.1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9d1-200d-2708-fe0f.png"},{emoji:"👨✈",name:"man_pilot",shortcodes:["man_pilot"],tags:["man","pilot","plane"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f468-200d-2708-fe0f.png"},{emoji:"👩✈",name:"woman_pilot",shortcodes:["woman_pilot"],tags:["pilot","plane","woman"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f469-200d-2708-fe0f.png"},{emoji:"🧑🚀",name:"astronaut",shortcodes:["astronaut"],tags:["rocket"],group:"people & body",emoticons:[],version:12.1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9d1-200d-1f680.png"},{emoji:"👨🚀",name:"man_astronaut",shortcodes:["man_astronaut"],tags:["astronaut","man","rocket"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f468-200d-1f680.png"},{emoji:"👩🚀",name:"woman_astronaut",shortcodes:["woman_astronaut"],tags:["astronaut","rocket","woman"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f469-200d-1f680.png"},{emoji:"🧑🚒",name:"firefighter",shortcodes:["firefighter"],tags:["fire","firetruck"],group:"people & body",emoticons:[],version:12.1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9d1-200d-1f692.png"},{emoji:"👨🚒",name:"man_firefighter",shortcodes:["man_firefighter"],tags:["firefighter","firetruck","man"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f468-200d-1f692.png"},{emoji:"👩🚒",name:"woman_firefighter",shortcodes:["woman_firefighter"],tags:["firefighter","firetruck","woman"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f469-200d-1f692.png"},{emoji:"👮",name:"cop",shortcodes:["cop","police_officer"],tags:["cop","officer","police"],group:"people & body",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f46e.png"},{emoji:"👮♂",name:"policeman",shortcodes:["man_police_officer"],tags:["cop","man","officer","police"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f46e-200d-2642-fe0f.png"},{emoji:"👮♀",name:"policewoman",shortcodes:["woman_police_officer"],tags:["cop","officer","police","woman"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f46e-200d-2640-fe0f.png"},{emoji:"🕵",name:"detective",shortcodes:["detective"],tags:["sleuth","spy"],group:"people & body",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f575-fe0f.png"},{emoji:"🕵♂️",name:"male_detective",shortcodes:["man_detective"],tags:["detective","man","sleuth","spy"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f575-fe0f-200d-2642-fe0f.png"},{emoji:"🕵♀️",name:"female_detective",shortcodes:["woman_detective"],tags:["detective","sleuth","spy","woman"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f575-fe0f-200d-2640-fe0f.png"},{emoji:"💂",name:"guard",shortcodes:["guard"],tags:["guard"],group:"people & body",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f482.png"},{emoji:"💂♂",name:"guardsman",shortcodes:["man_guard"],tags:["guard","man"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f482-200d-2642-fe0f.png"},{emoji:"💂♀",name:"guardswoman",shortcodes:["woman_guard"],tags:["guard","woman"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f482-200d-2640-fe0f.png"},{emoji:"🥷",name:"ninja",shortcodes:["ninja"],tags:["fighter","hidden","stealth"],group:"people & body",emoticons:[],version:13,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f977.png"},{emoji:"👷",name:"construction_worker",shortcodes:["construction_worker"],tags:["construction","hat","worker"],group:"people & body",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f477.png"},{emoji:"👷♂",name:"construction_worker_man",shortcodes:["man_construction_worker"],tags:["construction","man","worker"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f477-200d-2642-fe0f.png"},{emoji:"👷♀",name:"construction_worker_woman",shortcodes:["woman_construction_worker"],tags:["construction","woman","worker"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f477-200d-2640-fe0f.png"},{emoji:"🫅",name:"person_with_crown",shortcodes:["person_with_crown","royalty"],tags:["monarch","noble","regal","royalty"],group:"people & body",emoticons:[],version:14},{emoji:"🤴",name:"prince",shortcodes:["prince"],tags:["prince"],group:"people & body",emoticons:[],version:3,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f934.png"},{emoji:"👸",name:"princess",shortcodes:["princess"],tags:["fairy tale","fantasy"],group:"people & body",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f478.png"},{emoji:"👳",name:"person_with_turban",shortcodes:["person_wearing_turban"],tags:["turban"],group:"people & body",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f473.png"},{emoji:"👳♂",name:"man_with_turban",shortcodes:["man_wearing_turban"],tags:["man","turban"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f473-200d-2642-fe0f.png"},{emoji:"👳♀",name:"woman_with_turban",shortcodes:["woman_wearing_turban"],tags:["turban","woman"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f473-200d-2640-fe0f.png"},{emoji:"👲",name:"man_with_gua_pi_mao",shortcodes:["person_with_skullcap"],tags:["cap","gua pi mao","hat","person","skullcap"],group:"people & body",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f472.png"},{emoji:"🧕",name:"woman_with_headscarf",shortcodes:["woman_with_headscarf"],tags:["headscarf","hijab","mantilla","tichel"],group:"people & body",emoticons:[],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9d5.png"},{emoji:"🤵",name:"person_in_tuxedo",shortcodes:["person_in_tuxedo"],tags:["groom","person","tuxedo"],group:"people & body",emoticons:[],version:3,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f935.png"},{emoji:"🤵♂",name:"man_in_tuxedo",shortcodes:["man_in_tuxedo"],tags:["man","tuxedo"],group:"people & body",emoticons:[],version:13,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f935-200d-2642-fe0f.png"},{emoji:"🤵♀",name:"woman_in_tuxedo",shortcodes:["woman_in_tuxedo"],tags:["tuxedo","woman"],group:"people & body",emoticons:[],version:13,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f935-200d-2640-fe0f.png"},{emoji:"👰",name:"person_with_veil",shortcodes:["person_with_veil"],tags:["bride","person","veil","wedding"],group:"people & body",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f470.png"},{emoji:"👰♂",name:"man_with_veil",shortcodes:["man_with_veil"],tags:["man","veil"],group:"people & body",emoticons:[],version:13,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f470-200d-2642-fe0f.png"},{emoji:"👰♀",name:"bride_with_veil",shortcodes:["woman_with_veil"],tags:["veil","woman"],group:"people & body",emoticons:[],version:13,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f470-200d-2640-fe0f.png"},{emoji:"🤰",name:"pregnant_woman",shortcodes:["pregnant_woman"],tags:["pregnant","woman"],group:"people & body",emoticons:[],version:3,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f930.png"},{emoji:"🫃",name:"pregnant_man",shortcodes:["pregnant_man"],tags:["belly","bloated","full","pregnant"],group:"people & body",emoticons:[],version:14},{emoji:"🫄",name:"pregnant_person",shortcodes:["pregnant_person"],tags:["belly","bloated","full","pregnant"],group:"people & body",emoticons:[],version:14},{emoji:"🤱",name:"breast_feeding",shortcodes:["breast_feeding"],tags:["baby","breast","nursing"],group:"people & body",emoticons:[],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f931.png"},{emoji:"👩🍼",name:"woman_feeding_baby",shortcodes:["woman_feeding_baby"],tags:["baby","feeding","nursing","woman"],group:"people & body",emoticons:[],version:13,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f469-200d-1f37c.png"},{emoji:"👨🍼",name:"man_feeding_baby",shortcodes:["man_feeding_baby"],tags:["baby","feeding","man","nursing"],group:"people & body",emoticons:[],version:13,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f468-200d-1f37c.png"},{emoji:"🧑🍼",name:"person_feeding_baby",shortcodes:["person_feeding_baby"],tags:["baby","feeding","nursing","person"],group:"people & body",emoticons:[],version:13,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9d1-200d-1f37c.png"},{emoji:"👼",name:"angel",shortcodes:["angel"],tags:["angel","baby","face","fairy tale","fantasy"],group:"people & body",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f47c.png"},{emoji:"🎅",name:"santa",shortcodes:["santa"],tags:["celebration","christmas","claus","father","santa"],group:"people & body",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f385.png"},{emoji:"🤶",name:"mrs_claus",shortcodes:["mrs_claus"],tags:["celebration","christmas","claus","mother","mrs."],group:"people & body",emoticons:[],version:3,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f936.png"},{emoji:"🧑🎄",name:"mx_claus",shortcodes:["mx_claus"],tags:["christmas","claus"],group:"people & body",emoticons:[],version:13,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9d1-200d-1f384.png"},{emoji:"🦸",name:"superhero",shortcodes:["superhero"],tags:["good","hero","heroine","superpower"],group:"people & body",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9b8.png"},{emoji:"🦸♂",name:"superhero_man",shortcodes:["man_superhero"],tags:["good","hero","man","superpower"],group:"people & body",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9b8-200d-2642-fe0f.png"},{emoji:"🦸♀",name:"superhero_woman",shortcodes:["woman_superhero"],tags:["good","hero","heroine","superpower","woman"],group:"people & body",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9b8-200d-2640-fe0f.png"},{emoji:"🦹",name:"supervillain",shortcodes:["supervillain"],tags:["criminal","evil","superpower","villain"],group:"people & body",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9b9.png"},{emoji:"🦹♂",name:"supervillain_man",shortcodes:["man_supervillain"],tags:["criminal","evil","man","superpower","villain"],group:"people & body",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9b9-200d-2642-fe0f.png"},{emoji:"🦹♀",name:"supervillain_woman",shortcodes:["woman_supervillain"],tags:["criminal","evil","superpower","villain","woman"],group:"people & body",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9b9-200d-2640-fe0f.png"},{emoji:"🧙",name:"mage",shortcodes:["mage"],tags:["sorcerer","sorceress","witch","wizard"],group:"people & body",emoticons:[],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9d9.png"},{emoji:"🧙♂",name:"mage_man",shortcodes:["man_mage"],tags:["sorcerer","wizard"],group:"people & body",emoticons:[":{>"],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9d9-200d-2642-fe0f.png"},{emoji:"🧙♀",name:"mage_woman",shortcodes:["woman_mage"],tags:["sorceress","witch"],group:"people & body",emoticons:[],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9d9-200d-2640-fe0f.png"},{emoji:"🧚",name:"fairy",shortcodes:["fairy"],tags:["oberon","puck","titania"],group:"people & body",emoticons:[],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9da.png"},{emoji:"🧚♂",name:"fairy_man",shortcodes:["man_fairy"],tags:["oberon","puck"],group:"people & body",emoticons:[],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9da-200d-2642-fe0f.png"},{emoji:"🧚♀",name:"fairy_woman",shortcodes:["woman_fairy"],tags:["titania"],group:"people & body",emoticons:[],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9da-200d-2640-fe0f.png"},{emoji:"🧛",name:"vampire",shortcodes:["vampire"],tags:["dracula","undead"],group:"people & body",emoticons:[":E"],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9db.png"},{emoji:"🧛♂",name:"vampire_man",shortcodes:["man_vampire"],tags:["dracula","undead"],group:"people & body",emoticons:[],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9db-200d-2642-fe0f.png"},{emoji:"🧛♀",name:"vampire_woman",shortcodes:["woman_vampire"],tags:["undead"],group:"people & body",emoticons:[],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9db-200d-2640-fe0f.png"},{emoji:"🧜",name:"merperson",shortcodes:["merperson"],tags:["mermaid","merman","merwoman"],group:"people & body",emoticons:[],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9dc.png"},{emoji:"🧜♂",name:"merman",shortcodes:["merman"],tags:["triton"],group:"people & body",emoticons:[],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9dc-200d-2642-fe0f.png"},{emoji:"🧜♀",name:"mermaid",shortcodes:["mermaid"],tags:["merwoman"],group:"people & body",emoticons:[],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9dc-200d-2640-fe0f.png"},{emoji:"🧝",name:"elf",shortcodes:["elf"],tags:["magical"],group:"people & body",emoticons:[],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9dd.png"},{emoji:"🧝♂",name:"elf_man",shortcodes:["man_elf"],tags:["magical"],group:"people & body",emoticons:[],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9dd-200d-2642-fe0f.png"},{emoji:"🧝♀",name:"elf_woman",shortcodes:["woman_elf"],tags:["magical"],group:"people & body",emoticons:[],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9dd-200d-2640-fe0f.png"},{emoji:"🧞",name:"genie",shortcodes:["genie"],tags:["djinn"],group:"people & body",emoticons:[],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9de.png"},{emoji:"🧞♂",name:"genie_man",shortcodes:["man_genie"],tags:["djinn"],group:"people & body",emoticons:[],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9de-200d-2642-fe0f.png"},{emoji:"🧞♀",name:"genie_woman",shortcodes:["woman_genie"],tags:["djinn"],group:"people & body",emoticons:[],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9de-200d-2640-fe0f.png"},{emoji:"🧟",name:"zombie",shortcodes:["zombie"],tags:["undead","walking dead"],group:"people & body",emoticons:["8#"],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9df.png"},{emoji:"🧟♂",name:"zombie_man",shortcodes:["man_zombie"],tags:["undead","walking dead"],group:"people & body",emoticons:[],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9df-200d-2642-fe0f.png"},{emoji:"🧟♀",name:"zombie_woman",shortcodes:["woman_zombie"],tags:["undead","walking dead"],group:"people & body",emoticons:[],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9df-200d-2640-fe0f.png"},{emoji:"🧌",name:"troll",shortcodes:["troll"],tags:["fairy tale","fantasy","monster"],group:"people & body",emoticons:[],version:14},{emoji:"💆",name:"massage",shortcodes:["massage","person_getting_massage"],tags:["face","massage","salon"],group:"people & body",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f486.png"},{emoji:"💆♂",name:"massage_man",shortcodes:["man_getting_massage"],tags:["face","man","massage"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f486-200d-2642-fe0f.png"},{emoji:"💆♀",name:"massage_woman",shortcodes:["woman_getting_massage"],tags:["face","massage","woman"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f486-200d-2640-fe0f.png"},{emoji:"💇",name:"haircut",shortcodes:["haircut","person_getting_haircut"],tags:["barber","beauty","haircut","parlor"],group:"people & body",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f487.png"},{emoji:"💇♂",name:"haircut_man",shortcodes:["man_getting_haircut"],tags:["haircut","man"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f487-200d-2642-fe0f.png"},{emoji:"💇♀",name:"haircut_woman",shortcodes:["woman_getting_haircut"],tags:["haircut","woman"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f487-200d-2640-fe0f.png"},{emoji:"🚶",name:"walking",shortcodes:["person_walking","walking"],tags:["hike","walk","walking"],group:"people & body",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6b6.png"},{emoji:"🚶♂",name:"walking_man",shortcodes:["man_walking"],tags:["hike","man","walk"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6b6-200d-2642-fe0f.png"},{emoji:"🚶♀",name:"walking_woman",shortcodes:["woman_walking"],tags:["hike","walk","woman"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6b6-200d-2640-fe0f.png"},{emoji:"🚶➡",name:"person_walking_right",shortcodes:["person_walking_right"],tags:["hike","person walking","walk","walking"],group:"people & body",emoticons:[],version:15.1},{emoji:"🚶♀➡️",name:"woman_walking_right",shortcodes:["woman_walking_right"],tags:["hike","walk","woman","woman walking"],group:"people & body",emoticons:[],version:15.1},{emoji:"🚶♂➡️",name:"man_walking_right",shortcodes:["man_walking_right"],tags:["hike","man","man walking","walk"],group:"people & body",emoticons:[],version:15.1},{emoji:"🧍",name:"standing_person",shortcodes:["person_standing","standing"],tags:["stand","standing"],group:"people & body",emoticons:[],version:12,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9cd.png"},{emoji:"🧍♂",name:"standing_man",shortcodes:["man_standing"],tags:["man","standing"],group:"people & body",emoticons:[],version:12,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9cd-200d-2642-fe0f.png"},{emoji:"🧍♀",name:"standing_woman",shortcodes:["woman_standing"],tags:["standing","woman"],group:"people & body",emoticons:[],version:12,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9cd-200d-2640-fe0f.png"},{emoji:"🧎",name:"kneeling_person",shortcodes:["kneeling","person_kneeling"],tags:["kneel","kneeling"],group:"people & body",emoticons:[],version:12,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9ce.png"},{emoji:"🧎♂",name:"kneeling_man",shortcodes:["man_kneeling"],tags:["kneeling","man"],group:"people & body",emoticons:[],version:12,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9ce-200d-2642-fe0f.png"},{emoji:"🧎♀",name:"kneeling_woman",shortcodes:["woman_kneeling"],tags:["kneeling","woman"],group:"people & body",emoticons:[],version:12,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9ce-200d-2640-fe0f.png"},{emoji:"🧎➡",name:"person_kneeling_right",shortcodes:["person_kneeling_right"],tags:["kneel","kneeling","person kneeling"],group:"people & body",emoticons:[],version:15.1},{emoji:"🧎♀➡️",name:"woman_kneeling_right",shortcodes:["woman_kneeling_right"],tags:["kneeling","woman"],group:"people & body",emoticons:[],version:15.1},{emoji:"🧎♂➡️",name:"man_kneeling_right",shortcodes:["man_kneeling_right"],tags:["kneeling","man"],group:"people & body",emoticons:[],version:15.1},{emoji:"🧑🦯",name:"person_with_probing_cane",shortcodes:["person_with_probing_cane","person_with_white_cane"],tags:["accessibility","blind"],group:"people & body",emoticons:[],version:12.1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9d1-200d-1f9af.png"},{emoji:"🧑🦯➡",name:"person_with_white_cane_right",shortcodes:["person_with_white_cane_right"],tags:["accessibility","blind","person with white cane"],group:"people & body",emoticons:[],version:15.1},{emoji:"👨🦯",name:"man_with_probing_cane",shortcodes:["man_with_probing_cane","man_with_white_cane"],tags:["accessibility","blind","man"],group:"people & body",emoticons:[],version:12,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f468-200d-1f9af.png"},{emoji:"👨🦯➡",name:"man_with_white_cane_right",shortcodes:["man_with_white_cane_right"],tags:["accessibility","blind","man","man with white cane"],group:"people & body",emoticons:[],version:15.1},{emoji:"👩🦯",name:"woman_with_probing_cane",shortcodes:["woman_with_probing_cane","woman_with_white_cane"],tags:["accessibility","blind","woman"],group:"people & body",emoticons:[],version:12,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f469-200d-1f9af.png"},{emoji:"👩🦯➡",name:"woman_with_white_cane_right",shortcodes:["woman_with_white_cane_right"],tags:["accessibility","blind","woman","woman with white cane"],group:"people & body",emoticons:[],version:15.1},{emoji:"🧑🦼",name:"person_in_motorized_wheelchair",shortcodes:["person_in_motorized_wheelchair"],tags:["accessibility","wheelchair"],group:"people & body",emoticons:[],version:12.1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9d1-200d-1f9bc.png"},{emoji:"🧑🦼➡",name:"person_in_motorized_wheelchair_right",shortcodes:["person_in_motorized_wheelchair_right"],tags:["accessibility","person in motorized wheelchair","wheelchair"],group:"people & body",emoticons:[],version:15.1},{emoji:"👨🦼",name:"man_in_motorized_wheelchair",shortcodes:["man_in_motorized_wheelchair"],tags:["accessibility","man","wheelchair"],group:"people & body",emoticons:[],version:12,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f468-200d-1f9bc.png"},{emoji:"👨🦼➡",name:"man_in_motorized_wheelchair_right",shortcodes:["man_in_motorized_wheelchair_right"],tags:["accessibility","man","man in motorized wheelchair","wheelchair"],group:"people & body",emoticons:[],version:15.1},{emoji:"👩🦼",name:"woman_in_motorized_wheelchair",shortcodes:["woman_in_motorized_wheelchair"],tags:["accessibility","wheelchair","woman"],group:"people & body",emoticons:[],version:12,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f469-200d-1f9bc.png"},{emoji:"👩🦼➡",name:"woman_in_motorized_wheelchair_right",shortcodes:["woman_in_motorized_wheelchair_right"],tags:["accessibility","wheelchair","woman","woman in motorized wheelchair"],group:"people & body",emoticons:[],version:15.1},{emoji:"🧑🦽",name:"person_in_manual_wheelchair",shortcodes:["person_in_manual_wheelchair"],tags:["accessibility","wheelchair"],group:"people & body",emoticons:[],version:12.1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9d1-200d-1f9bd.png"},{emoji:"🧑🦽➡",name:"person_in_manual_wheelchair_right",shortcodes:["person_in_manual_wheelchair_right"],tags:["accessibility","person in manual wheelchair","wheelchair"],group:"people & body",emoticons:[],version:15.1},{emoji:"👨🦽",name:"man_in_manual_wheelchair",shortcodes:["man_in_manual_wheelchair"],tags:["accessibility","man","wheelchair"],group:"people & body",emoticons:[],version:12,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f468-200d-1f9bd.png"},{emoji:"👨🦽➡",name:"man_in_manual_wheelchair_right",shortcodes:["man_in_manual_wheelchair_right"],tags:["accessibility","man","man in manual wheelchair","wheelchair"],group:"people & body",emoticons:[],version:15.1},{emoji:"👩🦽",name:"woman_in_manual_wheelchair",shortcodes:["woman_in_manual_wheelchair"],tags:["accessibility","wheelchair","woman"],group:"people & body",emoticons:[],version:12,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f469-200d-1f9bd.png"},{emoji:"👩🦽➡",name:"woman_in_manual_wheelchair_right",shortcodes:["woman_in_manual_wheelchair_right"],tags:["accessibility","wheelchair","woman","woman in manual wheelchair"],group:"people & body",emoticons:[],version:15.1},{emoji:"🏃",name:"runner",shortcodes:["person_running","running"],tags:["marathon","running"],group:"people & body",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3c3.png"},{emoji:"🏃♂",name:"running_man",shortcodes:["man_running"],tags:["man","marathon","racing","running"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3c3-200d-2642-fe0f.png"},{emoji:"🏃♀",name:"running_woman",shortcodes:["woman_running"],tags:["marathon","racing","running","woman"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3c3-200d-2640-fe0f.png"},{emoji:"🏃➡",name:"person_running_right",shortcodes:["person_running_right"],tags:["marathon","person running","running"],group:"people & body",emoticons:[],version:15.1},{emoji:"🏃♀➡️",name:"woman_running_right",shortcodes:["woman_running_right"],tags:["marathon","racing","running","woman"],group:"people & body",emoticons:[],version:15.1},{emoji:"🏃♂➡️",name:"man_running_right",shortcodes:["man_running_right"],tags:["man","marathon","racing","running"],group:"people & body",emoticons:[],version:15.1},{emoji:"💃",name:"dancer",shortcodes:["dancer","woman_dancing"],tags:["dance","dancing","woman"],group:"people & body",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f483.png"},{emoji:"🕺",name:"man_dancing",shortcodes:["man_dancing"],tags:["dance","dancing","man"],group:"people & body",emoticons:[],version:3,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f57a.png"},{emoji:"🕴",name:"business_suit_levitating",shortcodes:["levitate","levitating","person_in_suit_levitating"],tags:["business","person","suit"],group:"people & body",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f574-fe0f.png"},{emoji:"👯",name:"dancers",shortcodes:["dancers","people_with_bunny_ears_partying"],tags:["bunny ear","dancer","partying"],group:"people & body",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f46f.png"},{emoji:"👯♂",name:"dancing_men",shortcodes:["men_with_bunny_ears_partying"],tags:["bunny ear","dancer","men","partying"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f46f-200d-2642-fe0f.png"},{emoji:"👯♀",name:"dancing_women",shortcodes:["women_with_bunny_ears_partying"],tags:["bunny ear","dancer","partying","women"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f46f-200d-2640-fe0f.png"},{emoji:"🧖",name:"sauna_person",shortcodes:["person_in_steamy_room"],tags:["sauna","steam room"],group:"people & body",emoticons:[],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9d6.png"},{emoji:"🧖♂",name:"sauna_man",shortcodes:["man_in_steamy_room"],tags:["sauna","steam room"],group:"people & body",emoticons:[],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9d6-200d-2642-fe0f.png"},{emoji:"🧖♀",name:"sauna_woman",shortcodes:["woman_in_steamy_room"],tags:["sauna","steam room"],group:"people & body",emoticons:[],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9d6-200d-2640-fe0f.png"},{emoji:"🧗",name:"climbing",shortcodes:["climbing","person_climbing"],tags:["climber"],group:"people & body",emoticons:[],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9d7.png"},{emoji:"🧗♂",name:"climbing_man",shortcodes:["man_climbing"],tags:["climber"],group:"people & body",emoticons:[],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9d7-200d-2642-fe0f.png"},{emoji:"🧗♀",name:"climbing_woman",shortcodes:["woman_climbing"],tags:["climber"],group:"people & body",emoticons:[],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9d7-200d-2640-fe0f.png"},{emoji:"🤺",name:"person_fencing",shortcodes:["fencer","fencing","person_fencing"],tags:["fencer","fencing","sword"],group:"people & body",emoticons:[],version:3,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f93a.png"},{emoji:"🏇",name:"horse_racing",shortcodes:["horse_racing"],tags:["horse","jockey","racehorse","racing"],group:"people & body",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3c7.png"},{emoji:"⛷",name:"skier",shortcodes:["person_skiing","skier","skiing"],tags:["ski","snow"],group:"people & body",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/26f7-fe0f.png"},{emoji:"🏂",name:"snowboarder",shortcodes:["person_snowboarding","snowboarder","snowboarding"],tags:["ski","snow","snowboard"],group:"people & body",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3c2.png"},{emoji:"🏌",name:"golfing",shortcodes:["golfer","golfing","person_golfing"],tags:["ball","golf"],group:"people & body",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3cc-fe0f.png"},{emoji:"🏌♂️",name:"golfing_man",shortcodes:["man_golfing"],tags:["golf","man"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3cc-fe0f-200d-2642-fe0f.png"},{emoji:"🏌♀️",name:"golfing_woman",shortcodes:["woman_golfing"],tags:["golf","woman"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3cc-fe0f-200d-2640-fe0f.png"},{emoji:"🏄",name:"surfer",shortcodes:["person_surfing","surfer","surfing"],tags:["surfing"],group:"people & body",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3c4.png"},{emoji:"🏄♂",name:"surfing_man",shortcodes:["man_surfing"],tags:["man","surfing"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3c4-200d-2642-fe0f.png"},{emoji:"🏄♀",name:"surfing_woman",shortcodes:["woman_surfing"],tags:["surfing","woman"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3c4-200d-2640-fe0f.png"},{emoji:"🚣",name:"rowboat",shortcodes:["person_rowing_boat","rowboat"],tags:["boat","rowboat"],group:"people & body",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6a3.png"},{emoji:"🚣♂",name:"rowing_man",shortcodes:["man_rowing_boat"],tags:["boat","man","rowboat"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6a3-200d-2642-fe0f.png"},{emoji:"🚣♀",name:"rowing_woman",shortcodes:["woman_rowing_boat"],tags:["boat","rowboat","woman"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6a3-200d-2640-fe0f.png"},{emoji:"🏊",name:"swimmer",shortcodes:["person_swimming","swimmer","swimming"],tags:["swim"],group:"people & body",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3ca.png"},{emoji:"🏊♂",name:"swimming_man",shortcodes:["man_swimming"],tags:["man","swim"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3ca-200d-2642-fe0f.png"},{emoji:"🏊♀",name:"swimming_woman",shortcodes:["woman_swimming"],tags:["swim","woman"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3ca-200d-2640-fe0f.png"},{emoji:"⛹",name:"bouncing_ball_person",shortcodes:["person_bouncing_ball"],tags:["ball"],group:"people & body",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/26f9-fe0f.png"},{emoji:"⛹♂️",name:"basketball_man",shortcodes:["man_bouncing_ball"],tags:["ball","man"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/26f9-fe0f-200d-2642-fe0f.png"},{emoji:"⛹♀️",name:"basketball_woman",shortcodes:["woman_bouncing_ball"],tags:["ball","woman"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/26f9-fe0f-200d-2640-fe0f.png"},{emoji:"🏋",name:"weight_lifting",shortcodes:["person_lifting_weights","weight_lifter","weight_lifting"],tags:["lifter","weight"],group:"people & body",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3cb-fe0f.png"},{emoji:"🏋♂️",name:"weight_lifting_man",shortcodes:["man_lifting_weights"],tags:["man","weight lifter"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3cb-fe0f-200d-2642-fe0f.png"},{emoji:"🏋♀️",name:"weight_lifting_woman",shortcodes:["woman_lifting_weights"],tags:["weight lifter","woman"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3cb-fe0f-200d-2640-fe0f.png"},{emoji:"🚴",name:"bicyclist",shortcodes:["bicyclist","biking","person_biking"],tags:["bicycle","biking","cyclist"],group:"people & body",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6b4.png"},{emoji:"🚴♂",name:"biking_man",shortcodes:["man_biking"],tags:["bicycle","biking","cyclist","man"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6b4-200d-2642-fe0f.png"},{emoji:"🚴♀",name:"biking_woman",shortcodes:["woman_biking"],tags:["bicycle","biking","cyclist","woman"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6b4-200d-2640-fe0f.png"},{emoji:"🚵",name:"mountain_bicyclist",shortcodes:["mountain_bicyclist","mountain_biking","person_mountain_biking"],tags:["bicycle","bicyclist","bike","cyclist","mountain"],group:"people & body",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6b5.png"},{emoji:"🚵♂",name:"mountain_biking_man",shortcodes:["man_mountain_biking"],tags:["bicycle","bike","cyclist","man","mountain"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6b5-200d-2642-fe0f.png"},{emoji:"🚵♀",name:"mountain_biking_woman",shortcodes:["woman_mountain_biking"],tags:["bicycle","bike","biking","cyclist","mountain","woman"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6b5-200d-2640-fe0f.png"},{emoji:"🤸",name:"cartwheeling",shortcodes:["cartwheeling","person_cartwheel"],tags:["cartwheel","gymnastics"],group:"people & body",emoticons:[],version:3,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f938.png"},{emoji:"🤸♂",name:"man_cartwheeling",shortcodes:["man_cartwheeling"],tags:["cartwheel","gymnastics","man"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f938-200d-2642-fe0f.png"},{emoji:"🤸♀",name:"woman_cartwheeling",shortcodes:["woman_cartwheeling"],tags:["cartwheel","gymnastics","woman"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f938-200d-2640-fe0f.png"},{emoji:"🤼",name:"wrestling",shortcodes:["people_wrestling","wrestlers","wrestling"],tags:["wrestle","wrestler"],group:"people & body",emoticons:[],version:3,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f93c.png"},{emoji:"🤼♂",name:"men_wrestling",shortcodes:["men_wrestling"],tags:["men","wrestle"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f93c-200d-2642-fe0f.png"},{emoji:"🤼♀",name:"women_wrestling",shortcodes:["women_wrestling"],tags:["women","wrestle"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f93c-200d-2640-fe0f.png"},{emoji:"🤽",name:"water_polo",shortcodes:["person_playing_water_polo","water_polo"],tags:["polo","water"],group:"people & body",emoticons:[],version:3,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f93d.png"},{emoji:"🤽♂",name:"man_playing_water_polo",shortcodes:["man_playing_water_polo"],tags:["man","water polo"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f93d-200d-2642-fe0f.png"},{emoji:"🤽♀",name:"woman_playing_water_polo",shortcodes:["woman_playing_water_polo"],tags:["water polo","woman"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f93d-200d-2640-fe0f.png"},{emoji:"🤾",name:"handball_person",shortcodes:["handball","person_playing_handball"],tags:["ball","handball"],group:"people & body",emoticons:[],version:3,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f93e.png"},{emoji:"🤾♂",name:"man_playing_handball",shortcodes:["man_playing_handball"],tags:["handball","man"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f93e-200d-2642-fe0f.png"},{emoji:"🤾♀",name:"woman_playing_handball",shortcodes:["woman_playing_handball"],tags:["handball","woman"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f93e-200d-2640-fe0f.png"},{emoji:"🤹",name:"juggling_person",shortcodes:["juggler","juggling","person_juggling"],tags:["balance","juggle","multitask","skill"],group:"people & body",emoticons:[],version:3,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f939.png"},{emoji:"🤹♂",name:"man_juggling",shortcodes:["man_juggling"],tags:["juggling","man","multitask"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f939-200d-2642-fe0f.png"},{emoji:"🤹♀",name:"woman_juggling",shortcodes:["woman_juggling"],tags:["juggling","multitask","woman"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f939-200d-2640-fe0f.png"},{emoji:"🧘",name:"lotus_position",shortcodes:["person_in_lotus_position"],tags:["meditation","yoga"],group:"people & body",emoticons:[],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9d8.png"},{emoji:"🧘♂",name:"lotus_position_man",shortcodes:["man_in_lotus_position"],tags:["meditation","yoga"],group:"people & body",emoticons:[],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9d8-200d-2642-fe0f.png"},{emoji:"🧘♀",name:"lotus_position_woman",shortcodes:["woman_in_lotus_position"],tags:["meditation","yoga"],group:"people & body",emoticons:[],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9d8-200d-2640-fe0f.png"},{emoji:"🛀",name:"bath",shortcodes:["bath","person_taking_bath"],tags:["bath","bathtub"],group:"people & body",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6c0.png"},{emoji:"🛌",name:"sleeping_bed",shortcodes:["person_in_bed","sleeping_accommodation"],tags:["good night","hotel","sleep"],group:"people & body",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6cc.png"},{emoji:"🧑🤝🧑",name:"people_holding_hands",shortcodes:["people_holding_hands"],tags:["couple","hand","hold","holding hands","person"],group:"people & body",emoticons:[],version:12,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9d1-200d-1f91d-200d-1f9d1.png"},{emoji:"👭",name:"two_women_holding_hands",shortcodes:["two_women_holding_hands"],tags:["couple","hand","holding hands","women"],group:"people & body",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f46d.png"},{emoji:"👫",name:"couple",shortcodes:["couple"],tags:["couple","hand","hold","holding hands","man","woman"],group:"people & body",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f46b.png"},{emoji:"👬",name:"two_men_holding_hands",shortcodes:["two_men_holding_hands"],tags:["couple","gemini","holding hands","man","men","twins","zodiac"],group:"people & body",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f46c.png"},{emoji:"💏",name:"couplekiss",shortcodes:["couple_kiss","couplekiss"],tags:["couple"],group:"people & body",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f48f.png"},{emoji:"👩❤💋👨",name:"couplekiss_man_woman",shortcodes:["kiss_mw","kiss_wm"],tags:["couple","kiss","man","woman"],group:"people & body",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f469-200d-2764-fe0f-200d-1f48b-200d-1f468.png"},{emoji:"👨❤💋👨",name:"couplekiss_man_man",shortcodes:["kiss_mm"],tags:["couple","kiss","man"],group:"people & body",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f468-200d-2764-fe0f-200d-1f48b-200d-1f468.png"},{emoji:"👩❤💋👩",name:"couplekiss_woman_woman",shortcodes:["kiss_ww"],tags:["couple","kiss","woman"],group:"people & body",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f469-200d-2764-fe0f-200d-1f48b-200d-1f469.png"},{emoji:"💑",name:"couple_with_heart",shortcodes:["couple_with_heart"],tags:["couple","love"],group:"people & body",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f491.png"},{emoji:"👩❤👨",name:"couple_with_heart_woman_man",shortcodes:["couple_with_heart_mw","couple_with_heart_wm"],tags:["couple","couple with heart","love","man","woman"],group:"people & body",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f469-200d-2764-fe0f-200d-1f468.png"},{emoji:"👨❤👨",name:"couple_with_heart_man_man",shortcodes:["couple_with_heart_mm"],tags:["couple","couple with heart","love","man"],group:"people & body",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f468-200d-2764-fe0f-200d-1f468.png"},{emoji:"👩❤👩",name:"couple_with_heart_woman_woman",shortcodes:["couple_with_heart_ww"],tags:["couple","couple with heart","love","woman"],group:"people & body",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f469-200d-2764-fe0f-200d-1f469.png"},{emoji:"👨👩👦",name:"family_man_woman_boy",shortcodes:["family_mwb"],tags:["boy","family","man","woman"],group:"people & body",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f468-200d-1f469-200d-1f466.png"},{emoji:"👨👩👧",name:"family_man_woman_girl",shortcodes:["family_mwg"],tags:["family","girl","man","woman"],group:"people & body",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f468-200d-1f469-200d-1f467.png"},{emoji:"👨👩👧👦",name:"family_man_woman_girl_boy",shortcodes:["family_mwgb"],tags:["boy","family","girl","man","woman"],group:"people & body",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f468-200d-1f469-200d-1f467-200d-1f466.png"},{emoji:"👨👩👦👦",name:"family_man_woman_boy_boy",shortcodes:["family_mwbb"],tags:["boy","family","man","woman"],group:"people & body",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f468-200d-1f469-200d-1f466-200d-1f466.png"},{emoji:"👨👩👧👧",name:"family_man_woman_girl_girl",shortcodes:["family_mwgg"],tags:["family","girl","man","woman"],group:"people & body",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f468-200d-1f469-200d-1f467-200d-1f467.png"},{emoji:"👨👨👦",name:"family_man_man_boy",shortcodes:["family_mmb"],tags:["boy","family","man"],group:"people & body",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f468-200d-1f468-200d-1f466.png"},{emoji:"👨👨👧",name:"family_man_man_girl",shortcodes:["family_mmg"],tags:["family","girl","man"],group:"people & body",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f468-200d-1f468-200d-1f467.png"},{emoji:"👨👨👧👦",name:"family_man_man_girl_boy",shortcodes:["family_mmgb"],tags:["boy","family","girl","man"],group:"people & body",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f468-200d-1f468-200d-1f467-200d-1f466.png"},{emoji:"👨👨👦👦",name:"family_man_man_boy_boy",shortcodes:["family_mmbb"],tags:["boy","family","man"],group:"people & body",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f468-200d-1f468-200d-1f466-200d-1f466.png"},{emoji:"👨👨👧👧",name:"family_man_man_girl_girl",shortcodes:["family_mmgg"],tags:["family","girl","man"],group:"people & body",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f468-200d-1f468-200d-1f467-200d-1f467.png"},{emoji:"👩👩👦",name:"family_woman_woman_boy",shortcodes:["family_wwb"],tags:["boy","family","woman"],group:"people & body",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f469-200d-1f469-200d-1f466.png"},{emoji:"👩👩👧",name:"family_woman_woman_girl",shortcodes:["family_wwg"],tags:["family","girl","woman"],group:"people & body",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f469-200d-1f469-200d-1f467.png"},{emoji:"👩👩👧👦",name:"family_woman_woman_girl_boy",shortcodes:["family_wwgb"],tags:["boy","family","girl","woman"],group:"people & body",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f469-200d-1f469-200d-1f467-200d-1f466.png"},{emoji:"👩👩👦👦",name:"family_woman_woman_boy_boy",shortcodes:["family_wwbb"],tags:["boy","family","woman"],group:"people & body",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f469-200d-1f469-200d-1f466-200d-1f466.png"},{emoji:"👩👩👧👧",name:"family_woman_woman_girl_girl",shortcodes:["family_wwgg"],tags:["family","girl","woman"],group:"people & body",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f469-200d-1f469-200d-1f467-200d-1f467.png"},{emoji:"👨👦",name:"family_man_boy",shortcodes:["family_mb"],tags:["boy","family","man"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f468-200d-1f466.png"},{emoji:"👨👦👦",name:"family_man_boy_boy",shortcodes:["family_mbb"],tags:["boy","family","man"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f468-200d-1f466-200d-1f466.png"},{emoji:"👨👧",name:"family_man_girl",shortcodes:["family_mg"],tags:["family","girl","man"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f468-200d-1f467.png"},{emoji:"👨👧👦",name:"family_man_girl_boy",shortcodes:["family_mgb"],tags:["boy","family","girl","man"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f468-200d-1f467-200d-1f466.png"},{emoji:"👨👧👧",name:"family_man_girl_girl",shortcodes:["family_mgg"],tags:["family","girl","man"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f468-200d-1f467-200d-1f467.png"},{emoji:"👩👦",name:"family_woman_boy",shortcodes:["family_wb"],tags:["boy","family","woman"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f469-200d-1f466.png"},{emoji:"👩👦👦",name:"family_woman_boy_boy",shortcodes:["family_wbb"],tags:["boy","family","woman"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f469-200d-1f466-200d-1f466.png"},{emoji:"👩👧",name:"family_woman_girl",shortcodes:["family_wg"],tags:["family","girl","woman"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f469-200d-1f467.png"},{emoji:"👩👧👦",name:"family_woman_girl_boy",shortcodes:["family_wgb"],tags:["boy","family","girl","woman"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f469-200d-1f467-200d-1f466.png"},{emoji:"👩👧👧",name:"family_woman_girl_girl",shortcodes:["family_wgg"],tags:["family","girl","woman"],group:"people & body",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f469-200d-1f467-200d-1f467.png"},{emoji:"🗣",name:"speaking_head",shortcodes:["speaking_head"],tags:["face","head","silhouette","speak","speaking"],group:"people & body",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f5e3-fe0f.png"},{emoji:"👤",name:"bust_in_silhouette",shortcodes:["bust_in_silhouette"],tags:["bust","silhouette"],group:"people & body",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f464.png"},{emoji:"👥",name:"busts_in_silhouette",shortcodes:["busts_in_silhouette"],tags:["bust","silhouette"],group:"people & body",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f465.png"},{emoji:"🫂",name:"people_hugging",shortcodes:["people_hugging"],tags:["goodbye","hello","hug","thanks"],group:"people & body",emoticons:[],version:13,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1fac2.png"},{emoji:"👪",name:"family",shortcodes:["family"],tags:["family"],group:"people & body",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f46a.png"},{emoji:"🧑🧑🧒",name:"family_aac",shortcodes:["family_aac"],tags:["family: adult, adult, child"],group:"people & body",emoticons:[],version:15.1},{emoji:"🧑🧑🧒🧒",name:"family_aacc",shortcodes:["family_aacc"],tags:["family: adult, adult, child, child"],group:"people & body",emoticons:[],version:15.1},{emoji:"🧑🧒",name:"family_ac",shortcodes:["family_ac"],tags:["family: adult, child"],group:"people & body",emoticons:[],version:15.1},{emoji:"🧑🧒🧒",name:"family_acc",shortcodes:["family_acc"],tags:["family: adult, child, child"],group:"people & body",emoticons:[],version:15.1},{emoji:"👣",name:"footprints",shortcodes:["footprints"],tags:["clothing","footprint","print"],group:"people & body",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f463.png"},{emoji:"🏻",name:"tone1",shortcodes:["tone1","tone_light"],tags:["skin tone","type 1–2"],group:"components",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3fb.png"},{emoji:"🏼",name:"tone2",shortcodes:["tone2","tone_medium_light"],tags:["skin tone","type 3"],group:"components",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3fc.png"},{emoji:"🏽",name:"tone3",shortcodes:["tone3","tone_medium"],tags:["skin tone","type 4"],group:"components",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3fd.png"},{emoji:"🏾",name:"tone4",shortcodes:["tone4","tone_medium_dark"],tags:["skin tone","type 5"],group:"components",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3fe.png"},{emoji:"🏿",name:"tone5",shortcodes:["tone5","tone_dark"],tags:["skin tone","type 6"],group:"components",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3ff.png"},{emoji:"🦰",name:"red_hair",shortcodes:["red_hair"],tags:["ginger","redhead"],group:"components",emoticons:[],version:11},{emoji:"🦱",name:"curly_hair",shortcodes:["curly_hair"],tags:["afro","curly","ringlets"],group:"components",emoticons:[],version:11},{emoji:"🦳",name:"white_hair",shortcodes:["white_hair"],tags:["gray","hair","old","white"],group:"components",emoticons:[],version:11},{emoji:"🦲",name:"no_hair",shortcodes:["no_hair"],tags:["chemotherapy","hairless","no hair","shaven"],group:"components",emoticons:[],version:11},{emoji:"🐵",name:"monkey_face",shortcodes:["monkey_face"],tags:["face","monkey"],group:"animals & nature",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f435.png"},{emoji:"🐒",name:"monkey",shortcodes:["monkey"],tags:["monkey"],group:"animals & nature",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f412.png"},{emoji:"🦍",name:"gorilla",shortcodes:["gorilla"],tags:["gorilla"],group:"animals & nature",emoticons:[],version:3,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f98d.png"},{emoji:"🦧",name:"orangutan",shortcodes:["orangutan"],tags:["ape"],group:"animals & nature",emoticons:[],version:12,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9a7.png"},{emoji:"🐶",name:"dog",shortcodes:["dog_face"],tags:["dog","face","pet"],group:"animals & nature",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f436.png"},{emoji:"🐕",name:"dog2",shortcodes:["dog"],tags:["pet"],group:"animals & nature",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f415.png"},{emoji:"🦮",name:"guide_dog",shortcodes:["guide_dog"],tags:["accessibility","blind","guide"],group:"animals & nature",emoticons:[],version:12,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9ae.png"},{emoji:"🐕🦺",name:"service_dog",shortcodes:["service_dog"],tags:["accessibility","assistance","dog","service"],group:"animals & nature",emoticons:[],version:12,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f415-200d-1f9ba.png"},{emoji:"🐩",name:"poodle",shortcodes:["poodle"],tags:["dog"],group:"animals & nature",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f429.png"},{emoji:"🐺",name:"wolf",shortcodes:["wolf","wolf_face"],tags:["face"],group:"animals & nature",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f43a.png"},{emoji:"🦊",name:"fox_face",shortcodes:["fox","fox_face"],tags:["face"],group:"animals & nature",emoticons:[],version:3,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f98a.png"},{emoji:"🦝",name:"raccoon",shortcodes:["raccoon"],tags:["curious","sly"],group:"animals & nature",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f99d.png"},{emoji:"🐱",name:"cat",shortcodes:["cat_face"],tags:["cat","face","pet"],group:"animals & nature",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f431.png"},{emoji:"🐈",name:"cat2",shortcodes:["cat"],tags:["pet"],group:"animals & nature",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f408.png"},{emoji:"🐈⬛",name:"black_cat",shortcodes:["black_cat"],tags:["black","cat","unlucky"],group:"animals & nature",emoticons:[],version:13,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f408-200d-2b1b.png"},{emoji:"🦁",name:"lion",shortcodes:["lion","lion_face"],tags:["face","leo","zodiac"],group:"animals & nature",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f981.png"},{emoji:"🐯",name:"tiger",shortcodes:["tiger_face"],tags:["face","tiger"],group:"animals & nature",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f42f.png"},{emoji:"🐅",name:"tiger2",shortcodes:["tiger"],tags:["tiger"],group:"animals & nature",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f405.png"},{emoji:"🐆",name:"leopard",shortcodes:["leopard"],tags:["leopard"],group:"animals & nature",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f406.png"},{emoji:"🐴",name:"horse",shortcodes:["horse_face"],tags:["face","horse"],group:"animals & nature",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f434.png"},{emoji:"🫎",name:"moose",shortcodes:["moose"],tags:["animal","antlers","elk","mammal"],group:"animals & nature",emoticons:[],version:15},{emoji:"🫏",name:"donkey",shortcodes:["donkey"],tags:["animal","ass","burro","mammal","mule","stubborn"],group:"animals & nature",emoticons:[],version:15},{emoji:"🐎",name:"racehorse",shortcodes:["horse","racehorse"],tags:["equestrian","racehorse","racing"],group:"animals & nature",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f40e.png"},{emoji:"🦄",name:"unicorn",shortcodes:["unicorn","unicorn_face"],tags:["face"],group:"animals & nature",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f984.png"},{emoji:"🦓",name:"zebra",shortcodes:["zebra"],tags:["stripe"],group:"animals & nature",emoticons:[],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f993.png"},{emoji:"🦌",name:"deer",shortcodes:["deer"],tags:["deer"],group:"animals & nature",emoticons:[],version:3,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f98c.png"},{emoji:"🦬",name:"bison",shortcodes:["bison"],tags:["buffalo","herd","wisent"],group:"animals & nature",emoticons:[],version:13,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9ac.png"},{emoji:"🐮",name:"cow",shortcodes:["cow_face"],tags:["cow","face"],group:"animals & nature",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f42e.png"},{emoji:"🐂",name:"ox",shortcodes:["ox"],tags:["bull","taurus","zodiac"],group:"animals & nature",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f402.png"},{emoji:"🐃",name:"water_buffalo",shortcodes:["water_buffalo"],tags:["buffalo","water"],group:"animals & nature",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f403.png"},{emoji:"🐄",name:"cow2",shortcodes:["cow"],tags:["cow"],group:"animals & nature",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f404.png"},{emoji:"🐷",name:"pig",shortcodes:["pig_face"],tags:["face","pig"],group:"animals & nature",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f437.png"},{emoji:"🐖",name:"pig2",shortcodes:["pig"],tags:["sow"],group:"animals & nature",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f416.png"},{emoji:"🐗",name:"boar",shortcodes:["boar"],tags:["pig"],group:"animals & nature",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f417.png"},{emoji:"🐽",name:"pig_nose",shortcodes:["pig_nose"],tags:["face","nose","pig"],group:"animals & nature",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f43d.png"},{emoji:"🐏",name:"ram",shortcodes:["ram"],tags:["aries","male","sheep","zodiac"],group:"animals & nature",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f40f.png"},{emoji:"🐑",name:"sheep",shortcodes:["ewe","sheep"],tags:["female","sheep"],group:"animals & nature",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f411.png"},{emoji:"🐐",name:"goat",shortcodes:["goat"],tags:["capricorn","zodiac"],group:"animals & nature",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f410.png"},{emoji:"🐪",name:"dromedary_camel",shortcodes:["dromedary_camel"],tags:["dromedary","hump"],group:"animals & nature",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f42a.png"},{emoji:"🐫",name:"camel",shortcodes:["camel"],tags:["bactrian","camel","hump"],group:"animals & nature",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f42b.png"},{emoji:"🦙",name:"llama",shortcodes:["llama"],tags:["alpaca","guanaco","vicuña","wool"],group:"animals & nature",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f999.png"},{emoji:"🦒",name:"giraffe",shortcodes:["giraffe"],tags:["spots"],group:"animals & nature",emoticons:[],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f992.png"},{emoji:"🐘",name:"elephant",shortcodes:["elephant"],tags:["elephant"],group:"animals & nature",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f418.png"},{emoji:"🦣",name:"mammoth",shortcodes:["mammoth"],tags:["extinction","large","tusk","woolly"],group:"animals & nature",emoticons:[],version:13,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9a3.png"},{emoji:"🦏",name:"rhinoceros",shortcodes:["rhino","rhinoceros"],tags:["rhinoceros"],group:"animals & nature",emoticons:[],version:3,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f98f.png"},{emoji:"🦛",name:"hippopotamus",shortcodes:["hippo"],tags:["hippo"],group:"animals & nature",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f99b.png"},{emoji:"🐭",name:"mouse",shortcodes:["mouse_face"],tags:["face","mouse"],group:"animals & nature",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f42d.png"},{emoji:"🐁",name:"mouse2",shortcodes:["mouse"],tags:["mouse"],group:"animals & nature",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f401.png"},{emoji:"🐀",name:"rat",shortcodes:["rat"],tags:["rat"],group:"animals & nature",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f400.png"},{emoji:"🐹",name:"hamster",shortcodes:["hamster","hamster_face"],tags:["face","pet"],group:"animals & nature",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f439.png"},{emoji:"🐰",name:"rabbit",shortcodes:["rabbit_face"],tags:["bunny","face","pet","rabbit"],group:"animals & nature",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f430.png"},{emoji:"🐇",name:"rabbit2",shortcodes:["rabbit"],tags:["bunny","pet"],group:"animals & nature",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f407.png"},{emoji:"🐿",name:"chipmunk",shortcodes:["chipmunk"],tags:["squirrel"],group:"animals & nature",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f43f-fe0f.png"},{emoji:"🦫",name:"beaver",shortcodes:["beaver"],tags:["dam"],group:"animals & nature",emoticons:[],version:13,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9ab.png"},{emoji:"🦔",name:"hedgehog",shortcodes:["hedgehog"],tags:["spiny"],group:"animals & nature",emoticons:[],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f994.png"},{emoji:"🦇",name:"bat",shortcodes:["bat"],tags:["vampire"],group:"animals & nature",emoticons:[],version:3,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f987.png"},{emoji:"🐻",name:"bear",shortcodes:["bear","bear_face"],tags:["face"],group:"animals & nature",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f43b.png"},{emoji:"🐻❄",name:"polar_bear",shortcodes:["polar_bear","polar_bear_face"],tags:["arctic","bear","white"],group:"animals & nature",emoticons:[],version:13,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f43b-200d-2744-fe0f.png"},{emoji:"🐨",name:"koala",shortcodes:["koala","koala_face"],tags:["face","marsupial"],group:"animals & nature",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f428.png"},{emoji:"🐼",name:"panda_face",shortcodes:["panda","panda_face"],tags:["face"],group:"animals & nature",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f43c.png"},{emoji:"🦥",name:"sloth",shortcodes:["sloth"],tags:["lazy","slow"],group:"animals & nature",emoticons:[],version:12,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9a5.png"},{emoji:"🦦",name:"otter",shortcodes:["otter"],tags:["fishing","playful"],group:"animals & nature",emoticons:[],version:12,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9a6.png"},{emoji:"🦨",name:"skunk",shortcodes:["skunk"],tags:["stink"],group:"animals & nature",emoticons:[],version:12,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9a8.png"},{emoji:"🦘",name:"kangaroo",shortcodes:["kangaroo"],tags:["joey","jump","marsupial"],group:"animals & nature",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f998.png"},{emoji:"🦡",name:"badger",shortcodes:["badger"],tags:["honey badger","pester"],group:"animals & nature",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9a1.png"},{emoji:"🐾",name:"feet",shortcodes:["paw_prints"],tags:["feet","paw","print"],group:"animals & nature",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f43e.png"},{emoji:"🦃",name:"turkey",shortcodes:["turkey"],tags:["bird"],group:"animals & nature",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f983.png"},{emoji:"🐔",name:"chicken",shortcodes:["chicken","chicken_face"],tags:["bird"],group:"animals & nature",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f414.png"},{emoji:"🐓",name:"rooster",shortcodes:["rooster"],tags:["bird"],group:"animals & nature",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f413.png"},{emoji:"🐣",name:"hatching_chick",shortcodes:["hatching_chick"],tags:["baby","bird","chick","hatching"],group:"animals & nature",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f423.png"},{emoji:"🐤",name:"baby_chick",shortcodes:["baby_chick"],tags:["baby","bird","chick"],group:"animals & nature",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f424.png"},{emoji:"🐥",name:"hatched_chick",shortcodes:["hatched_chick"],tags:["baby","bird","chick"],group:"animals & nature",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f425.png"},{emoji:"🐦",name:"bird",shortcodes:["bird","bird_face"],tags:["bird"],group:"animals & nature",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f426.png"},{emoji:"🐧",name:"penguin",shortcodes:["penguin","penguin_face"],tags:["bird"],group:"animals & nature",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f427.png"},{emoji:"🕊",name:"dove",shortcodes:["dove"],tags:["bird","fly","peace"],group:"animals & nature",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f54a-fe0f.png"},{emoji:"🦅",name:"eagle",shortcodes:["eagle"],tags:["bird"],group:"animals & nature",emoticons:[],version:3,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f985.png"},{emoji:"🦆",name:"duck",shortcodes:["duck"],tags:["bird"],group:"animals & nature",emoticons:[],version:3,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f986.png"},{emoji:"🦢",name:"swan",shortcodes:["swan"],tags:["bird","cygnet","ugly duckling"],group:"animals & nature",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9a2.png"},{emoji:"🦉",name:"owl",shortcodes:["owl"],tags:["bird","wise"],group:"animals & nature",emoticons:[],version:3,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f989.png"},{emoji:"🦤",name:"dodo",shortcodes:["dodo"],tags:["extinction","large","mauritius"],group:"animals & nature",emoticons:[],version:13,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9a4.png"},{emoji:"🪶",name:"feather",shortcodes:["feather"],tags:["bird","flight","light","plumage"],group:"animals & nature",emoticons:[],version:13,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1fab6.png"},{emoji:"🦩",name:"flamingo",shortcodes:["flamingo"],tags:["flamboyant","tropical"],group:"animals & nature",emoticons:[],version:12,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9a9.png"},{emoji:"🦚",name:"peacock",shortcodes:["peacock"],tags:["bird","ostentatious","peahen","proud"],group:"animals & nature",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f99a.png"},{emoji:"🦜",name:"parrot",shortcodes:["parrot"],tags:["bird","pirate","talk"],group:"animals & nature",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f99c.png"},{emoji:"🪽",name:"wing",shortcodes:["wing"],tags:["angelic","aviation","bird","flying","mythology"],group:"animals & nature",emoticons:[],version:15},{emoji:"🐦⬛",name:"black_bird",shortcodes:["black_bird"],tags:["bird","black","crow","raven","rook"],group:"animals & nature",emoticons:[],version:15},{emoji:"🪿",name:"goose",shortcodes:["goose"],tags:["bird","fowl","honk","silly"],group:"animals & nature",emoticons:[],version:15},{emoji:"🐦🔥",name:"phoenix",shortcodes:["phoenix"],tags:["fantasy","firebird","rebirth","reincarnation"],group:"animals & nature",emoticons:[],version:15.1},{emoji:"🐸",name:"frog",shortcodes:["frog","frog_face"],tags:["face"],group:"animals & nature",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f438.png"},{emoji:"🐊",name:"crocodile",shortcodes:["crocodile"],tags:["crocodile"],group:"animals & nature",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f40a.png"},{emoji:"🐢",name:"turtle",shortcodes:["turtle"],tags:["terrapin","tortoise"],group:"animals & nature",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f422.png"},{emoji:"🦎",name:"lizard",shortcodes:["lizard"],tags:["reptile"],group:"animals & nature",emoticons:[],version:3,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f98e.png"},{emoji:"🐍",name:"snake",shortcodes:["snake"],tags:["bearer","ophiuchus","serpent","zodiac"],group:"animals & nature",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f40d.png"},{emoji:"🐲",name:"dragon_face",shortcodes:["dragon_face"],tags:["dragon","face","fairy tale"],group:"animals & nature",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f432.png"},{emoji:"🐉",name:"dragon",shortcodes:["dragon"],tags:["fairy tale"],group:"animals & nature",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f409.png"},{emoji:"🦕",name:"sauropod",shortcodes:["sauropod"],tags:["brachiosaurus","brontosaurus","diplodocus"],group:"animals & nature",emoticons:[],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f995.png"},{emoji:"🦖",name:"t-rex",shortcodes:["t-rex","trex"],tags:["t-rex","tyrannosaurus rex"],group:"animals & nature",emoticons:[],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f996.png"},{emoji:"🐳",name:"whale",shortcodes:["spouting_whale"],tags:["face","spouting","whale"],group:"animals & nature",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f433.png"},{emoji:"🐋",name:"whale2",shortcodes:["whale"],tags:["whale"],group:"animals & nature",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f40b.png"},{emoji:"🐬",name:"dolphin",shortcodes:["dolphin"],tags:["flipper"],group:"animals & nature",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f42c.png"},{emoji:"🦭",name:"seal",shortcodes:["seal"],tags:["sea lion"],group:"animals & nature",emoticons:[],version:13,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9ad.png"},{emoji:"🐟",name:"fish",shortcodes:["fish"],tags:["pisces","zodiac"],group:"animals & nature",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f41f.png"},{emoji:"🐠",name:"tropical_fish",shortcodes:["tropical_fish"],tags:["fish","tropical"],group:"animals & nature",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f420.png"},{emoji:"🐡",name:"blowfish",shortcodes:["blowfish"],tags:["fish"],group:"animals & nature",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f421.png"},{emoji:"🦈",name:"shark",shortcodes:["shark"],tags:["fish"],group:"animals & nature",emoticons:[],version:3,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f988.png"},{emoji:"🐙",name:"octopus",shortcodes:["octopus"],tags:["octopus"],group:"animals & nature",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f419.png"},{emoji:"🐚",name:"shell",shortcodes:["shell"],tags:["shell","spiral"],group:"animals & nature",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f41a.png"},{emoji:"🪸",name:"coral",shortcodes:["coral"],tags:["ocean","reef"],group:"animals & nature",emoticons:[],version:14},{emoji:"🪼",name:"jellyfish",shortcodes:["jellyfish"],tags:["burn","invertebrate","jelly","marine","ouch","stinger"],group:"animals & nature",emoticons:[],version:15},{emoji:"🐌",name:"snail",shortcodes:["snail"],tags:["snail"],group:"animals & nature",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f40c.png"},{emoji:"🦋",name:"butterfly",shortcodes:["butterfly"],tags:["insect","pretty"],group:"animals & nature",emoticons:[],version:3,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f98b.png"},{emoji:"🐛",name:"bug",shortcodes:["bug"],tags:["insect"],group:"animals & nature",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f41b.png"},{emoji:"🐜",name:"ant",shortcodes:["ant"],tags:["insect"],group:"animals & nature",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f41c.png"},{emoji:"🐝",name:"bee",shortcodes:["bee"],tags:["bee","insect"],group:"animals & nature",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f41d.png"},{emoji:"🪲",name:"beetle",shortcodes:["beetle"],tags:["bug","insect"],group:"animals & nature",emoticons:[],version:13,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1fab2.png"},{emoji:"🐞",name:"lady_beetle",shortcodes:["lady_beetle"],tags:["beetle","insect","ladybird","ladybug"],group:"animals & nature",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f41e.png"},{emoji:"🦗",name:"cricket",shortcodes:["cricket"],tags:["grasshopper"],group:"animals & nature",emoticons:[],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f997.png"},{emoji:"🪳",name:"cockroach",shortcodes:["cockroach"],tags:["insect","pest","roach"],group:"animals & nature",emoticons:[],version:13,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1fab3.png"},{emoji:"🕷",name:"spider",shortcodes:["spider"],tags:["insect"],group:"animals & nature",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f577-fe0f.png"},{emoji:"🕸",name:"spider_web",shortcodes:["spider_web"],tags:["spider","web"],group:"animals & nature",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f578-fe0f.png"},{emoji:"🦂",name:"scorpion",shortcodes:["scorpion"],tags:["scorpio","zodiac"],group:"animals & nature",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f982.png"},{emoji:"🦟",name:"mosquito",shortcodes:["mosquito"],tags:["disease","fever","malaria","pest","virus"],group:"animals & nature",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f99f.png"},{emoji:"🪰",name:"fly",shortcodes:["fly"],tags:["disease","maggot","pest","rotting"],group:"animals & nature",emoticons:[],version:13,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1fab0.png"},{emoji:"🪱",name:"worm",shortcodes:["worm"],tags:["annelid","earthworm","parasite"],group:"animals & nature",emoticons:[],version:13,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1fab1.png"},{emoji:"🦠",name:"microbe",shortcodes:["microbe"],tags:["amoeba","bacteria","virus"],group:"animals & nature",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9a0.png"},{emoji:"💐",name:"bouquet",shortcodes:["bouquet"],tags:["flower"],group:"animals & nature",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f490.png"},{emoji:"🌸",name:"cherry_blossom",shortcodes:["cherry_blossom"],tags:["blossom","cherry","flower"],group:"animals & nature",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f338.png"},{emoji:"💮",name:"white_flower",shortcodes:["white_flower"],tags:["flower"],group:"animals & nature",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4ae.png"},{emoji:"🪷",name:"lotus",shortcodes:["lotus"],tags:["buddhism","flower","hinduism","purity"],group:"animals & nature",emoticons:[],version:14},{emoji:"🏵",name:"rosette",shortcodes:["rosette"],tags:["plant"],group:"animals & nature",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3f5-fe0f.png"},{emoji:"🌹",name:"rose",shortcodes:["rose"],tags:["flower"],group:"animals & nature",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f339.png"},{emoji:"🥀",name:"wilted_flower",shortcodes:["wilted_flower"],tags:["flower","wilted"],group:"animals & nature",emoticons:[],version:3,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f940.png"},{emoji:"🌺",name:"hibiscus",shortcodes:["hibiscus"],tags:["flower"],group:"animals & nature",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f33a.png"},{emoji:"🌻",name:"sunflower",shortcodes:["sunflower"],tags:["flower","sun"],group:"animals & nature",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f33b.png"},{emoji:"🌼",name:"blossom",shortcodes:["blossom"],tags:["flower"],group:"animals & nature",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f33c.png"},{emoji:"🌷",name:"tulip",shortcodes:["tulip"],tags:["flower"],group:"animals & nature",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f337.png"},{emoji:"🪻",name:"hyacinth",shortcodes:["hyacinth"],tags:["bluebonnet","flower","lavender","lupine","snapdragon"],group:"animals & nature",emoticons:[],version:15},{emoji:"🌱",name:"seedling",shortcodes:["seedling"],tags:["young"],group:"animals & nature",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f331.png"},{emoji:"🪴",name:"potted_plant",shortcodes:["potted_plant"],tags:["boring","grow","house","nurturing","plant","useless"],group:"animals & nature",emoticons:[],version:13,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1fab4.png"},{emoji:"🌲",name:"evergreen_tree",shortcodes:["evergreen_tree"],tags:["tree"],group:"animals & nature",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f332.png"},{emoji:"🌳",name:"deciduous_tree",shortcodes:["deciduous_tree"],tags:["deciduous","shedding","tree"],group:"animals & nature",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f333.png"},{emoji:"🌴",name:"palm_tree",shortcodes:["palm_tree"],tags:["palm","tree"],group:"animals & nature",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f334.png"},{emoji:"🌵",name:"cactus",shortcodes:["cactus"],tags:["plant"],group:"animals & nature",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f335.png"},{emoji:"🌾",name:"ear_of_rice",shortcodes:["ear_of_rice","sheaf_of_rice"],tags:["ear","grain","rice"],group:"animals & nature",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f33e.png"},{emoji:"🌿",name:"herb",shortcodes:["herb"],tags:["leaf"],group:"animals & nature",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f33f.png"},{emoji:"☘",name:"shamrock",shortcodes:["shamrock"],tags:["plant"],group:"animals & nature",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/2618-fe0f.png"},{emoji:"🍀",name:"four_leaf_clover",shortcodes:["four_leaf_clover"],tags:["4","clover","four","four-leaf clover","leaf"],group:"animals & nature",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f340.png"},{emoji:"🍁",name:"maple_leaf",shortcodes:["maple_leaf"],tags:["falling","leaf","maple"],group:"animals & nature",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f341.png"},{emoji:"🍂",name:"fallen_leaf",shortcodes:["fallen_leaf"],tags:["falling","leaf"],group:"animals & nature",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f342.png"},{emoji:"🍃",name:"leaves",shortcodes:["leaves"],tags:["blow","flutter","leaf","wind"],group:"animals & nature",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f343.png"},{emoji:"🪹",name:"empty_nest",shortcodes:["empty_nest","nest"],tags:["nesting"],group:"animals & nature",emoticons:[],version:14},{emoji:"🪺",name:"nest_with_eggs",shortcodes:["nest_with_eggs"],tags:["nesting"],group:"animals & nature",emoticons:[],version:14},{emoji:"🍄",name:"mushroom",shortcodes:["mushroom"],tags:["toadstool"],group:"animals & nature",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f344.png"},{emoji:"🍇",name:"grapes",shortcodes:["grapes"],tags:["fruit","grape"],group:"food & drink",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f347.png"},{emoji:"🍈",name:"melon",shortcodes:["melon"],tags:["fruit"],group:"food & drink",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f348.png"},{emoji:"🍉",name:"watermelon",shortcodes:["watermelon"],tags:["fruit"],group:"food & drink",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f349.png"},{emoji:"🍊",name:"mandarin",shortcodes:["orange","tangerine"],tags:["fruit","orange"],group:"food & drink",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f34a.png"},{emoji:"🍋",name:"lemon",shortcodes:["lemon"],tags:["citrus","fruit"],group:"food & drink",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f34b.png"},{emoji:"🍋🟩",name:"lime",shortcodes:["lime"],tags:["citrus","fruit","tropical"],group:"food & drink",emoticons:[],version:15.1},{emoji:"🍌",name:"banana",shortcodes:["banana"],tags:["fruit"],group:"food & drink",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f34c.png"},{emoji:"🍍",name:"pineapple",shortcodes:["pineapple"],tags:["fruit"],group:"food & drink",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f34d.png"},{emoji:"🥭",name:"mango",shortcodes:["mango"],tags:["fruit","tropical"],group:"food & drink",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f96d.png"},{emoji:"🍎",name:"apple",shortcodes:["apple","red_apple"],tags:["apple","fruit","red"],group:"food & drink",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f34e.png"},{emoji:"🍏",name:"green_apple",shortcodes:["green_apple"],tags:["apple","fruit","green"],group:"food & drink",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f34f.png"},{emoji:"🍐",name:"pear",shortcodes:["pear"],tags:["fruit"],group:"food & drink",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f350.png"},{emoji:"🍑",name:"peach",shortcodes:["peach"],tags:["fruit"],group:"food & drink",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f351.png"},{emoji:"🍒",name:"cherries",shortcodes:["cherries"],tags:["berries","cherry","fruit","red"],group:"food & drink",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f352.png"},{emoji:"🍓",name:"strawberry",shortcodes:["strawberry"],tags:["berry","fruit"],group:"food & drink",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f353.png"},{emoji:"🫐",name:"blueberries",shortcodes:["blueberries"],tags:["berry","bilberry","blue","blueberry"],group:"food & drink",emoticons:[],version:13,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1fad0.png"},{emoji:"🥝",name:"kiwi_fruit",shortcodes:["kiwi"],tags:["food","fruit","kiwi"],group:"food & drink",emoticons:[],version:3,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f95d.png"},{emoji:"🍅",name:"tomato",shortcodes:["tomato"],tags:["fruit","vegetable"],group:"food & drink",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f345.png"},{emoji:"🫒",name:"olive",shortcodes:["olive"],tags:["food"],group:"food & drink",emoticons:[],version:13,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1fad2.png"},{emoji:"🥥",name:"coconut",shortcodes:["coconut"],tags:["palm","piña colada"],group:"food & drink",emoticons:[],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f965.png"},{emoji:"🥑",name:"avocado",shortcodes:["avocado"],tags:["food","fruit"],group:"food & drink",emoticons:[],version:3,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f951.png"},{emoji:"🍆",name:"eggplant",shortcodes:["eggplant"],tags:["aubergine","vegetable"],group:"food & drink",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f346.png"},{emoji:"🥔",name:"potato",shortcodes:["potato"],tags:["food","vegetable"],group:"food & drink",emoticons:[],version:3,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f954.png"},{emoji:"🥕",name:"carrot",shortcodes:["carrot"],tags:["food","vegetable"],group:"food & drink",emoticons:[],version:3,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f955.png"},{emoji:"🌽",name:"corn",shortcodes:["corn","ear_of_corn"],tags:["corn","ear","maize","maze"],group:"food & drink",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f33d.png"},{emoji:"🌶",name:"hot_pepper",shortcodes:["hot_pepper"],tags:["hot","pepper"],group:"food & drink",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f336-fe0f.png"},{emoji:"🫑",name:"bell_pepper",shortcodes:["bell_pepper"],tags:["capsicum","pepper","vegetable"],group:"food & drink",emoticons:[],version:13,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1fad1.png"},{emoji:"🥒",name:"cucumber",shortcodes:["cucumber"],tags:["food","pickle","vegetable"],group:"food & drink",emoticons:[],version:3,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f952.png"},{emoji:"🥬",name:"leafy_green",shortcodes:["leafy_green"],tags:["bok choy","cabbage","kale","lettuce"],group:"food & drink",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f96c.png"},{emoji:"🥦",name:"broccoli",shortcodes:["broccoli"],tags:["wild cabbage"],group:"food & drink",emoticons:[],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f966.png"},{emoji:"🧄",name:"garlic",shortcodes:["garlic"],tags:["flavoring"],group:"food & drink",emoticons:[],version:12,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9c4.png"},{emoji:"🧅",name:"onion",shortcodes:["onion"],tags:["flavoring"],group:"food & drink",emoticons:[],version:12,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9c5.png"},{emoji:"🥜",name:"peanuts",shortcodes:["peanuts"],tags:["food","nut","peanut","vegetable"],group:"food & drink",emoticons:[],version:3,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f95c.png"},{emoji:"🫘",name:"beans",shortcodes:["beans"],tags:["food","kidney","legume"],group:"food & drink",emoticons:[],version:14},{emoji:"🌰",name:"chestnut",shortcodes:["chestnut"],tags:["plant"],group:"food & drink",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f330.png"},{emoji:"🫚",name:"ginger_root",shortcodes:["ginger"],tags:["beer","root","spice"],group:"food & drink",emoticons:[],version:15},{emoji:"🫛",name:"pea_pod",shortcodes:["pea"],tags:["beans","edamame","legume","pea","pod","vegetable"],group:"food & drink",emoticons:[],version:15},{emoji:"🍄🟫",name:"brown_mushroom",shortcodes:["brown_mushroom"],tags:["food","fungus","nature","vegetable"],group:"food & drink",emoticons:[],version:15.1},{emoji:"🍞",name:"bread",shortcodes:["bread"],tags:["loaf"],group:"food & drink",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f35e.png"},{emoji:"🥐",name:"croissant",shortcodes:["croissant"],tags:["bread","breakfast","food","french","roll"],group:"food & drink",emoticons:[],version:3,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f950.png"},{emoji:"🥖",name:"baguette_bread",shortcodes:["baguette_bread"],tags:["baguette","bread","food","french"],group:"food & drink",emoticons:[],version:3,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f956.png"},{emoji:"🫓",name:"flatbread",shortcodes:["flatbread"],tags:["arepa","lavash","naan","pita"],group:"food & drink",emoticons:[],version:13,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1fad3.png"},{emoji:"🥨",name:"pretzel",shortcodes:["pretzel"],tags:["twisted"],group:"food & drink",emoticons:[],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f968.png"},{emoji:"🥯",name:"bagel",shortcodes:["bagel"],tags:["bakery","breakfast","schmear"],group:"food & drink",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f96f.png"},{emoji:"🥞",name:"pancakes",shortcodes:["pancakes"],tags:["breakfast","crêpe","food","hotcake","pancake"],group:"food & drink",emoticons:[],version:3,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f95e.png"},{emoji:"🧇",name:"waffle",shortcodes:["waffle"],tags:["breakfast","indecisive","iron"],group:"food & drink",emoticons:[],version:12,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9c7.png"},{emoji:"🧀",name:"cheese",shortcodes:["cheese"],tags:["cheese"],group:"food & drink",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9c0.png"},{emoji:"🍖",name:"meat_on_bone",shortcodes:["meat_on_bone"],tags:["bone","meat"],group:"food & drink",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f356.png"},{emoji:"🍗",name:"poultry_leg",shortcodes:["poultry_leg"],tags:["bone","chicken","drumstick","leg","poultry"],group:"food & drink",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f357.png"},{emoji:"🥩",name:"cut_of_meat",shortcodes:["cut_of_meat"],tags:["chop","lambchop","porkchop","steak"],group:"food & drink",emoticons:[],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f969.png"},{emoji:"🥓",name:"bacon",shortcodes:["bacon"],tags:["breakfast","food","meat"],group:"food & drink",emoticons:[],version:3,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f953.png"},{emoji:"🍔",name:"hamburger",shortcodes:["hamburger"],tags:["burger"],group:"food & drink",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f354.png"},{emoji:"🍟",name:"fries",shortcodes:["french_fries","fries"],tags:["french","fries"],group:"food & drink",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f35f.png"},{emoji:"🍕",name:"pizza",shortcodes:["pizza"],tags:["cheese","slice"],group:"food & drink",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f355.png"},{emoji:"🌭",name:"hotdog",shortcodes:["hotdog"],tags:["frankfurter","hotdog","sausage"],group:"food & drink",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f32d.png"},{emoji:"🥪",name:"sandwich",shortcodes:["sandwich"],tags:["bread"],group:"food & drink",emoticons:[],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f96a.png"},{emoji:"🌮",name:"taco",shortcodes:["taco"],tags:["mexican"],group:"food & drink",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f32e.png"},{emoji:"🌯",name:"burrito",shortcodes:["burrito"],tags:["mexican","wrap"],group:"food & drink",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f32f.png"},{emoji:"🫔",name:"tamale",shortcodes:["tamale"],tags:["mexican","wrapped"],group:"food & drink",emoticons:[],version:13,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1fad4.png"},{emoji:"🥙",name:"stuffed_flatbread",shortcodes:["stuffed_flatbread"],tags:["falafel","flatbread","food","gyro","kebab","stuffed"],group:"food & drink",emoticons:[],version:3,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f959.png"},{emoji:"🧆",name:"falafel",shortcodes:["falafel"],tags:["chickpea","meatball"],group:"food & drink",emoticons:[],version:12,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9c6.png"},{emoji:"🥚",name:"egg",shortcodes:["egg"],tags:["breakfast","food"],group:"food & drink",emoticons:[],version:3,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f95a.png"},{emoji:"🍳",name:"fried_egg",shortcodes:["cooking","fried_egg"],tags:["breakfast","egg","frying","pan"],group:"food & drink",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f373.png"},{emoji:"🥘",name:"shallow_pan_of_food",shortcodes:["shallow_pan_of_food"],tags:["casserole","food","paella","pan","shallow"],group:"food & drink",emoticons:[],version:3,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f958.png"},{emoji:"🍲",name:"stew",shortcodes:["pot_of_food","stew"],tags:["pot","stew"],group:"food & drink",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f372.png"},{emoji:"🫕",name:"fondue",shortcodes:["fondue"],tags:["cheese","chocolate","melted","pot","swiss"],group:"food & drink",emoticons:[],version:13,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1fad5.png"},{emoji:"🥣",name:"bowl_with_spoon",shortcodes:["bowl_with_spoon"],tags:["breakfast","cereal","congee"],group:"food & drink",emoticons:[],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f963.png"},{emoji:"🥗",name:"green_salad",shortcodes:["green_salad","salad"],tags:["food","green","salad"],group:"food & drink",emoticons:[],version:3,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f957.png"},{emoji:"🍿",name:"popcorn",shortcodes:["popcorn"],tags:["popcorn"],group:"food & drink",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f37f.png"},{emoji:"🧈",name:"butter",shortcodes:["butter"],tags:["dairy"],group:"food & drink",emoticons:[],version:12,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9c8.png"},{emoji:"🧂",name:"salt",shortcodes:["salt"],tags:["condiment","shaker"],group:"food & drink",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9c2.png"},{emoji:"🥫",name:"canned_food",shortcodes:["canned_food"],tags:["can"],group:"food & drink",emoticons:[],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f96b.png"},{emoji:"🍱",name:"bento",shortcodes:["bento","bento_box"],tags:["bento","box"],group:"food & drink",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f371.png"},{emoji:"🍘",name:"rice_cracker",shortcodes:["rice_cracker"],tags:["cracker","rice"],group:"food & drink",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f358.png"},{emoji:"🍙",name:"rice_ball",shortcodes:["rice_ball"],tags:["ball","japanese","rice"],group:"food & drink",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f359.png"},{emoji:"🍚",name:"rice",shortcodes:["cooked_rice","rice"],tags:["cooked","rice"],group:"food & drink",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f35a.png"},{emoji:"🍛",name:"curry",shortcodes:["curry","curry_rice"],tags:["curry","rice"],group:"food & drink",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f35b.png"},{emoji:"🍜",name:"ramen",shortcodes:["ramen","steaming_bowl"],tags:["bowl","noodle","ramen","steaming"],group:"food & drink",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f35c.png"},{emoji:"🍝",name:"spaghetti",shortcodes:["spaghetti"],tags:["pasta"],group:"food & drink",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f35d.png"},{emoji:"🍠",name:"sweet_potato",shortcodes:["sweet_potato"],tags:["potato","roasted","sweet"],group:"food & drink",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f360.png"},{emoji:"🍢",name:"oden",shortcodes:["oden"],tags:["kebab","seafood","skewer","stick"],group:"food & drink",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f362.png"},{emoji:"🍣",name:"sushi",shortcodes:["sushi"],tags:["sushi"],group:"food & drink",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f363.png"},{emoji:"🍤",name:"fried_shrimp",shortcodes:["fried_shrimp"],tags:["fried","prawn","shrimp","tempura"],group:"food & drink",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f364.png"},{emoji:"🍥",name:"fish_cake",shortcodes:["fish_cake"],tags:["cake","fish","pastry","swirl"],group:"food & drink",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f365.png"},{emoji:"🥮",name:"moon_cake",shortcodes:["moon_cake"],tags:["autumn","festival","yuèbǐng"],group:"food & drink",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f96e.png"},{emoji:"🍡",name:"dango",shortcodes:["dango"],tags:["dessert","japanese","skewer","stick","sweet"],group:"food & drink",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f361.png"},{emoji:"🥟",name:"dumpling",shortcodes:["dumpling"],tags:["empanada","gyōza","jiaozi","pierogi","potsticker"],group:"food & drink",emoticons:[],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f95f.png"},{emoji:"🥠",name:"fortune_cookie",shortcodes:["fortune_cookie"],tags:["prophecy"],group:"food & drink",emoticons:[],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f960.png"},{emoji:"🥡",name:"takeout_box",shortcodes:["takeout_box"],tags:["oyster pail"],group:"food & drink",emoticons:[],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f961.png"},{emoji:"🦀",name:"crab",shortcodes:["crab"],tags:["cancer","zodiac"],group:"food & drink",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f980.png"},{emoji:"🦞",name:"lobster",shortcodes:["lobster"],tags:["bisque","claws","seafood"],group:"food & drink",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f99e.png"},{emoji:"🦐",name:"shrimp",shortcodes:["shrimp"],tags:["food","shellfish","small"],group:"food & drink",emoticons:[],version:3,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f990.png"},{emoji:"🦑",name:"squid",shortcodes:["squid"],tags:["food","molusc"],group:"food & drink",emoticons:[],version:3,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f991.png"},{emoji:"🦪",name:"oyster",shortcodes:["oyster"],tags:["diving","pearl"],group:"food & drink",emoticons:[],version:12,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9aa.png"},{emoji:"🍦",name:"icecream",shortcodes:["icecream","soft_serve"],tags:["cream","dessert","ice","icecream","soft","sweet"],group:"food & drink",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f366.png"},{emoji:"🍧",name:"shaved_ice",shortcodes:["shaved_ice"],tags:["dessert","ice","shaved","sweet"],group:"food & drink",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f367.png"},{emoji:"🍨",name:"ice_cream",shortcodes:["ice_cream"],tags:["cream","dessert","ice","sweet"],group:"food & drink",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f368.png"},{emoji:"🍩",name:"doughnut",shortcodes:["doughnut"],tags:["breakfast","dessert","donut","sweet"],group:"food & drink",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f369.png"},{emoji:"🍪",name:"cookie",shortcodes:["cookie"],tags:["dessert","sweet"],group:"food & drink",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f36a.png"},{emoji:"🎂",name:"birthday",shortcodes:["birthday","birthday_cake"],tags:["birthday","cake","celebration","dessert","pastry","sweet"],group:"food & drink",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f382.png"},{emoji:"🍰",name:"cake",shortcodes:["cake","shortcake"],tags:["cake","dessert","pastry","slice","sweet"],group:"food & drink",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f370.png"},{emoji:"🧁",name:"cupcake",shortcodes:["cupcake"],tags:["bakery","sweet"],group:"food & drink",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9c1.png"},{emoji:"🥧",name:"pie",shortcodes:["pie"],tags:["filling","pastry"],group:"food & drink",emoticons:[],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f967.png"},{emoji:"🍫",name:"chocolate_bar",shortcodes:["chocolate_bar"],tags:["bar","chocolate","dessert","sweet"],group:"food & drink",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f36b.png"},{emoji:"🍬",name:"candy",shortcodes:["candy"],tags:["dessert","sweet"],group:"food & drink",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f36c.png"},{emoji:"🍭",name:"lollipop",shortcodes:["lollipop"],tags:["candy","dessert","sweet"],group:"food & drink",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f36d.png"},{emoji:"🍮",name:"custard",shortcodes:["custard"],tags:["dessert","pudding","sweet"],group:"food & drink",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f36e.png"},{emoji:"🍯",name:"honey_pot",shortcodes:["honey_pot"],tags:["honey","honeypot","pot","sweet"],group:"food & drink",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f36f.png"},{emoji:"🍼",name:"baby_bottle",shortcodes:["baby_bottle"],tags:["baby","bottle","drink","milk"],group:"food & drink",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f37c.png"},{emoji:"🥛",name:"milk_glass",shortcodes:["glass_of_milk","milk"],tags:["drink","glass","milk"],group:"food & drink",emoticons:[],version:3,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f95b.png"},{emoji:"☕",name:"coffee",shortcodes:["coffee"],tags:["beverage","coffee","drink","hot","steaming","tea"],group:"food & drink",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/2615.png"},{emoji:"🫖",name:"teapot",shortcodes:["teapot"],tags:["drink","pot","tea"],group:"food & drink",emoticons:[],version:13,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1fad6.png"},{emoji:"🍵",name:"tea",shortcodes:["tea"],tags:["beverage","cup","drink","tea","teacup"],group:"food & drink",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f375.png"},{emoji:"🍶",name:"sake",shortcodes:["sake"],tags:["bar","beverage","bottle","cup","drink"],group:"food & drink",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f376.png"},{emoji:"🍾",name:"champagne",shortcodes:["champagne"],tags:["bar","bottle","cork","drink","popping"],group:"food & drink",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f37e.png"},{emoji:"🍷",name:"wine_glass",shortcodes:["wine_glass"],tags:["bar","beverage","drink","glass","wine"],group:"food & drink",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f377.png"},{emoji:"🍸",name:"cocktail",shortcodes:["cocktail"],tags:["bar","cocktail","drink","glass"],group:"food & drink",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f378.png"},{emoji:"🍹",name:"tropical_drink",shortcodes:["tropical_drink"],tags:["bar","drink","tropical"],group:"food & drink",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f379.png"},{emoji:"🍺",name:"beer",shortcodes:["beer"],tags:["bar","beer","drink","mug"],group:"food & drink",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f37a.png"},{emoji:"🍻",name:"beers",shortcodes:["beers"],tags:["bar","beer","clink","drink","mug"],group:"food & drink",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f37b.png"},{emoji:"🥂",name:"clinking_glasses",shortcodes:["clinking_glasses"],tags:["celebrate","clink","drink","glass"],group:"food & drink",emoticons:[],version:3,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f942.png"},{emoji:"🥃",name:"tumbler_glass",shortcodes:["tumbler_glass","whisky"],tags:["glass","liquor","shot","tumbler","whisky"],group:"food & drink",emoticons:[],version:3,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f943.png"},{emoji:"🫗",name:"pouring_liquid",shortcodes:["pour","pouring_liquid"],tags:["drink","empty","glass","spill"],group:"food & drink",emoticons:[],version:14},{emoji:"🥤",name:"cup_with_straw",shortcodes:["cup_with_straw"],tags:["juice","soda"],group:"food & drink",emoticons:[],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f964.png"},{emoji:"🧋",name:"bubble_tea",shortcodes:["boba_drink","bubble_tea"],tags:["bubble","milk","pearl","tea"],group:"food & drink",emoticons:[],version:13,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9cb.png"},{emoji:"🧃",name:"beverage_box",shortcodes:["beverage_box","juice_box"],tags:["beverage","box","juice","straw","sweet"],group:"food & drink",emoticons:[],version:12,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9c3.png"},{emoji:"🧉",name:"mate",shortcodes:["mate"],tags:["drink"],group:"food & drink",emoticons:[],version:12,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9c9.png"},{emoji:"🧊",name:"ice_cube",shortcodes:["ice","ice_cube"],tags:["cold","ice cube","iceberg"],group:"food & drink",emoticons:[],version:12,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9ca.png"},{emoji:"🥢",name:"chopsticks",shortcodes:["chopsticks"],tags:["hashi"],group:"food & drink",emoticons:[],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f962.png"},{emoji:"🍽",name:"plate_with_cutlery",shortcodes:["fork_knife_plate"],tags:["cooking","fork","knife","plate"],group:"food & drink",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f37d-fe0f.png"},{emoji:"🍴",name:"fork_and_knife",shortcodes:["fork_and_knife"],tags:["cooking","cutlery","fork","knife"],group:"food & drink",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f374.png"},{emoji:"🥄",name:"spoon",shortcodes:["spoon"],tags:["tableware"],group:"food & drink",emoticons:[],version:3,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f944.png"},{emoji:"🔪",name:"hocho",shortcodes:["knife"],tags:["cooking","hocho","knife","tool","weapon"],group:"food & drink",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f52a.png"},{emoji:"🫙",name:"jar",shortcodes:["jar"],tags:["condiment","container","empty","sauce","store"],group:"food & drink",emoticons:[],version:14},{emoji:"🏺",name:"amphora",shortcodes:["amphora"],tags:["aquarius","cooking","drink","jug","zodiac"],group:"food & drink",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3fa.png"},{emoji:"🌍",name:"earth_africa",shortcodes:["earth_africa","earth_europe"],tags:["africa","earth","europe","globe","globe showing europe-africa","world"],group:"travel & places",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f30d.png"},{emoji:"🌎",name:"earth_americas",shortcodes:["earth_americas"],tags:["americas","earth","globe","globe showing americas","world"],group:"travel & places",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f30e.png"},{emoji:"🌏",name:"earth_asia",shortcodes:["earth_asia"],tags:["asia","australia","earth","globe","globe showing asia-australia","world"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f30f.png"},{emoji:"🌐",name:"globe_with_meridians",shortcodes:["globe_with_meridians"],tags:["earth","globe","meridians","world"],group:"travel & places",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f310.png"},{emoji:"🗺",name:"world_map",shortcodes:["world_map"],tags:["map","world"],group:"travel & places",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f5fa-fe0f.png"},{emoji:"🗾",name:"japan",shortcodes:["japan_map"],tags:["japan","map","map of japan"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f5fe.png"},{emoji:"🧭",name:"compass",shortcodes:["compass"],tags:["magnetic","navigation","orienteering"],group:"travel & places",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9ed.png"},{emoji:"🏔",name:"mountain_snow",shortcodes:["mountain_snow"],tags:["cold","mountain","snow"],group:"travel & places",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3d4-fe0f.png"},{emoji:"⛰",name:"mountain",shortcodes:["mountain"],tags:["mountain"],group:"travel & places",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/26f0-fe0f.png"},{emoji:"🌋",name:"volcano",shortcodes:["volcano"],tags:["eruption","mountain"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f30b.png"},{emoji:"🗻",name:"mount_fuji",shortcodes:["mount_fuji"],tags:["fuji","mountain"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f5fb.png"},{emoji:"🏕",name:"camping",shortcodes:["camping"],tags:["camping"],group:"travel & places",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3d5-fe0f.png"},{emoji:"🏖",name:"beach_umbrella",shortcodes:["beach","beach_with_umbrella"],tags:["beach","umbrella"],group:"travel & places",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3d6-fe0f.png"},{emoji:"🏜",name:"desert",shortcodes:["desert"],tags:["desert"],group:"travel & places",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3dc-fe0f.png"},{emoji:"🏝",name:"desert_island",shortcodes:["desert_island","island"],tags:["desert","island"],group:"travel & places",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3dd-fe0f.png"},{emoji:"🏞",name:"national_park",shortcodes:["national_park"],tags:["park"],group:"travel & places",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3de-fe0f.png"},{emoji:"🏟",name:"stadium",shortcodes:["stadium"],tags:["stadium"],group:"travel & places",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3df-fe0f.png"},{emoji:"🏛",name:"classical_building",shortcodes:["classical_building"],tags:["classical"],group:"travel & places",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3db-fe0f.png"},{emoji:"🏗",name:"building_construction",shortcodes:["building_construction","construction_site"],tags:["construction"],group:"travel & places",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3d7-fe0f.png"},{emoji:"🧱",name:"bricks",shortcodes:["bricks"],tags:["bricks","clay","mortar","wall"],group:"travel & places",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9f1.png"},{emoji:"🪨",name:"rock",shortcodes:["rock"],tags:["boulder","heavy","solid","stone"],group:"travel & places",emoticons:[],version:13,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1faa8.png"},{emoji:"🪵",name:"wood",shortcodes:["wood"],tags:["log","lumber","timber"],group:"travel & places",emoticons:[],version:13,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1fab5.png"},{emoji:"🛖",name:"hut",shortcodes:["hut"],tags:["house","roundhouse","yurt"],group:"travel & places",emoticons:[],version:13,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6d6.png"},{emoji:"🏘",name:"houses",shortcodes:["homes","houses"],tags:["houses"],group:"travel & places",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3d8-fe0f.png"},{emoji:"🏚",name:"derelict_house",shortcodes:["derelict_house","house_abandoned"],tags:["derelict","house"],group:"travel & places",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3da-fe0f.png"},{emoji:"🏠",name:"house",shortcodes:["house"],tags:["home"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3e0.png"},{emoji:"🏡",name:"house_with_garden",shortcodes:["house_with_garden"],tags:["garden","home","house"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3e1.png"},{emoji:"🏢",name:"office",shortcodes:["office"],tags:["building"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3e2.png"},{emoji:"🏣",name:"post_office",shortcodes:["post_office"],tags:["japanese","japanese post office","post"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3e3.png"},{emoji:"🏤",name:"european_post_office",shortcodes:["european_post_office"],tags:["european","post"],group:"travel & places",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3e4.png"},{emoji:"🏥",name:"hospital",shortcodes:["hospital"],tags:["doctor","medicine"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3e5.png"},{emoji:"🏦",name:"bank",shortcodes:["bank"],tags:["building"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3e6.png"},{emoji:"🏨",name:"hotel",shortcodes:["hotel"],tags:["building"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3e8.png"},{emoji:"🏩",name:"love_hotel",shortcodes:["love_hotel"],tags:["hotel","love"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3e9.png"},{emoji:"🏪",name:"convenience_store",shortcodes:["convenience_store"],tags:["convenience","store"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3ea.png"},{emoji:"🏫",name:"school",shortcodes:["school"],tags:["building"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3eb.png"},{emoji:"🏬",name:"department_store",shortcodes:["department_store"],tags:["department","store"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3ec.png"},{emoji:"🏭",name:"factory",shortcodes:["factory"],tags:["building"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3ed.png"},{emoji:"🏯",name:"japanese_castle",shortcodes:["japanese_castle"],tags:["castle","japanese"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3ef.png"},{emoji:"🏰",name:"european_castle",shortcodes:["castle","european_castle"],tags:["european"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3f0.png"},{emoji:"💒",name:"wedding",shortcodes:["wedding"],tags:["chapel","romance"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f492.png"},{emoji:"🗼",name:"tokyo_tower",shortcodes:["tokyo_tower"],tags:["tokyo","tower"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f5fc.png"},{emoji:"🗽",name:"statue_of_liberty",shortcodes:["statue_of_liberty"],tags:["liberty","statue","statue of liberty"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f5fd.png"},{emoji:"⛪",name:"church",shortcodes:["church"],tags:["christian","cross","religion"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/26ea.png"},{emoji:"🕌",name:"mosque",shortcodes:["mosque"],tags:["islam","muslim","religion"],group:"travel & places",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f54c.png"},{emoji:"🛕",name:"hindu_temple",shortcodes:["hindu_temple"],tags:["hindu","temple"],group:"travel & places",emoticons:[],version:12,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6d5.png"},{emoji:"🕍",name:"synagogue",shortcodes:["synagogue"],tags:["jew","jewish","religion","temple"],group:"travel & places",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f54d.png"},{emoji:"⛩",name:"shinto_shrine",shortcodes:["shinto_shrine"],tags:["religion","shinto","shrine"],group:"travel & places",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/26e9-fe0f.png"},{emoji:"🕋",name:"kaaba",shortcodes:["kaaba"],tags:["islam","muslim","religion"],group:"travel & places",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f54b.png"},{emoji:"⛲",name:"fountain",shortcodes:["fountain"],tags:["fountain"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/26f2.png"},{emoji:"⛺",name:"tent",shortcodes:["tent"],tags:["camping"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/26fa.png"},{emoji:"🌁",name:"foggy",shortcodes:["foggy"],tags:["fog"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f301.png"},{emoji:"🌃",name:"night_with_stars",shortcodes:["night_with_stars"],tags:["night","star"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f303.png"},{emoji:"🏙",name:"cityscape",shortcodes:["cityscape"],tags:["city"],group:"travel & places",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3d9-fe0f.png"},{emoji:"🌄",name:"sunrise_over_mountains",shortcodes:["sunrise_over_mountains"],tags:["morning","mountain","sun","sunrise"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f304.png"},{emoji:"🌅",name:"sunrise",shortcodes:["sunrise"],tags:["morning","sun"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f305.png"},{emoji:"🌆",name:"city_sunset",shortcodes:["city_dusk"],tags:["city","dusk","evening","landscape","sunset"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f306.png"},{emoji:"🌇",name:"city_sunrise",shortcodes:["city_sunrise","city_sunset"],tags:["dusk","sun"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f307.png"},{emoji:"🌉",name:"bridge_at_night",shortcodes:["bridge_at_night"],tags:["bridge","night"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f309.png"},{emoji:"♨",name:"hotsprings",shortcodes:["hotsprings"],tags:["hot","hotsprings","springs","steaming"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/2668-fe0f.png"},{emoji:"🎠",name:"carousel_horse",shortcodes:["carousel_horse"],tags:["carousel","horse"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3a0.png"},{emoji:"🛝",name:"playground_slide",shortcodes:["playground_slide","slide"],tags:["amusement park","play","theme park"],group:"travel & places",emoticons:[],version:14},{emoji:"🎡",name:"ferris_wheel",shortcodes:["ferris_wheel"],tags:["amusement park","ferris","theme park","wheel"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3a1.png"},{emoji:"🎢",name:"roller_coaster",shortcodes:["roller_coaster"],tags:["amusement park","coaster","roller","theme park"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3a2.png"},{emoji:"💈",name:"barber",shortcodes:["barber","barber_pole"],tags:["barber","haircut","pole"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f488.png"},{emoji:"🎪",name:"circus_tent",shortcodes:["circus_tent"],tags:["circus","tent"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3aa.png"},{emoji:"🚂",name:"steam_locomotive",shortcodes:["steam_locomotive"],tags:["engine","railway","steam","train"],group:"travel & places",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f682.png"},{emoji:"🚃",name:"railway_car",shortcodes:["railway_car"],tags:["car","electric","railway","train","tram","trolleybus"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f683.png"},{emoji:"🚄",name:"bullettrain_side",shortcodes:["bullettrain_side"],tags:["railway","shinkansen","speed","train"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f684.png"},{emoji:"🚅",name:"bullettrain_front",shortcodes:["bullettrain_front"],tags:["bullet","railway","shinkansen","speed","train"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f685.png"},{emoji:"🚆",name:"train2",shortcodes:["train"],tags:["railway"],group:"travel & places",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f686.png"},{emoji:"🚇",name:"metro",shortcodes:["metro"],tags:["subway"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f687.png"},{emoji:"🚈",name:"light_rail",shortcodes:["light_rail"],tags:["railway"],group:"travel & places",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f688.png"},{emoji:"🚉",name:"station",shortcodes:["station"],tags:["railway","train"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f689.png"},{emoji:"🚊",name:"tram",shortcodes:["tram"],tags:["trolleybus"],group:"travel & places",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f68a.png"},{emoji:"🚝",name:"monorail",shortcodes:["monorail"],tags:["vehicle"],group:"travel & places",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f69d.png"},{emoji:"🚞",name:"mountain_railway",shortcodes:["mountain_railway"],tags:["car","mountain","railway"],group:"travel & places",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f69e.png"},{emoji:"🚋",name:"train",shortcodes:["tram_car"],tags:["car","tram","trolleybus"],group:"travel & places",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f68b.png"},{emoji:"🚌",name:"bus",shortcodes:["bus"],tags:["vehicle"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f68c.png"},{emoji:"🚍",name:"oncoming_bus",shortcodes:["oncoming_bus"],tags:["bus","oncoming"],group:"travel & places",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f68d.png"},{emoji:"🚎",name:"trolleybus",shortcodes:["trolleybus"],tags:["bus","tram","trolley"],group:"travel & places",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f68e.png"},{emoji:"🚐",name:"minibus",shortcodes:["minibus"],tags:["bus"],group:"travel & places",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f690.png"},{emoji:"🚑",name:"ambulance",shortcodes:["ambulance"],tags:["vehicle"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f691.png"},{emoji:"🚒",name:"fire_engine",shortcodes:["fire_engine"],tags:["engine","fire","truck"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f692.png"},{emoji:"🚓",name:"police_car",shortcodes:["police_car"],tags:["car","patrol","police"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f693.png"},{emoji:"🚔",name:"oncoming_police_car",shortcodes:["oncoming_police_car"],tags:["car","oncoming","police"],group:"travel & places",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f694.png"},{emoji:"🚕",name:"taxi",shortcodes:["taxi"],tags:["vehicle"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f695.png"},{emoji:"🚖",name:"oncoming_taxi",shortcodes:["oncoming_taxi"],tags:["oncoming","taxi"],group:"travel & places",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f696.png"},{emoji:"🚗",name:"car",shortcodes:["car","red_car"],tags:["car"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f697.png"},{emoji:"🚘",name:"oncoming_automobile",shortcodes:["oncoming_automobile"],tags:["automobile","car","oncoming"],group:"travel & places",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f698.png"},{emoji:"🚙",name:"blue_car",shortcodes:["blue_car","suv"],tags:["recreational","sport utility"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f699.png"},{emoji:"🛻",name:"pickup_truck",shortcodes:["pickup_truck"],tags:["pick-up","pickup","truck"],group:"travel & places",emoticons:[],version:13,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6fb.png"},{emoji:"🚚",name:"truck",shortcodes:["delivery_truck","truck"],tags:["delivery","truck"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f69a.png"},{emoji:"🚛",name:"articulated_lorry",shortcodes:["articulated_lorry"],tags:["lorry","semi","truck"],group:"travel & places",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f69b.png"},{emoji:"🚜",name:"tractor",shortcodes:["tractor"],tags:["vehicle"],group:"travel & places",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f69c.png"},{emoji:"🏎",name:"racing_car",shortcodes:["racing_car"],tags:["car","racing"],group:"travel & places",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3ce-fe0f.png"},{emoji:"🏍",name:"motorcycle",shortcodes:["motorcycle"],tags:["racing"],group:"travel & places",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3cd-fe0f.png"},{emoji:"🛵",name:"motor_scooter",shortcodes:["motor_scooter"],tags:["motor","scooter"],group:"travel & places",emoticons:[],version:3,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6f5.png"},{emoji:"🦽",name:"manual_wheelchair",shortcodes:["manual_wheelchair"],tags:["accessibility"],group:"travel & places",emoticons:[],version:12,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9bd.png"},{emoji:"🦼",name:"motorized_wheelchair",shortcodes:["motorized_wheelchair"],tags:["accessibility"],group:"travel & places",emoticons:[],version:12,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9bc.png"},{emoji:"🛺",name:"auto_rickshaw",shortcodes:["auto_rickshaw"],tags:["tuk tuk"],group:"travel & places",emoticons:[],version:12,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6fa.png"},{emoji:"🚲",name:"bike",shortcodes:["bicycle","bike"],tags:["bike"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6b2.png"},{emoji:"🛴",name:"kick_scooter",shortcodes:["scooter"],tags:["kick","scooter"],group:"travel & places",emoticons:[],version:3,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6f4.png"},{emoji:"🛹",name:"skateboard",shortcodes:["skateboard"],tags:["board"],group:"travel & places",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6f9.png"},{emoji:"🛼",name:"roller_skate",shortcodes:["roller_skate"],tags:["roller","skate"],group:"travel & places",emoticons:[],version:13,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6fc.png"},{emoji:"🚏",name:"busstop",shortcodes:["busstop"],tags:["bus","stop"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f68f.png"},{emoji:"🛣",name:"motorway",shortcodes:["motorway"],tags:["highway","road"],group:"travel & places",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6e3-fe0f.png"},{emoji:"🛤",name:"railway_track",shortcodes:["railway_track"],tags:["railway","train"],group:"travel & places",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6e4-fe0f.png"},{emoji:"🛢",name:"oil_drum",shortcodes:["oil_drum"],tags:["drum","oil"],group:"travel & places",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6e2-fe0f.png"},{emoji:"⛽",name:"fuelpump",shortcodes:["fuelpump"],tags:["diesel","fuel","fuelpump","gas","pump","station"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/26fd.png"},{emoji:"🛞",name:"wheel",shortcodes:["wheel"],tags:["circle","tire","turn"],group:"travel & places",emoticons:[],version:14},{emoji:"🚨",name:"rotating_light",shortcodes:["rotating_light"],tags:["beacon","car","light","police","revolving"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6a8.png"},{emoji:"🚥",name:"traffic_light",shortcodes:["traffic_light"],tags:["light","signal","traffic"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6a5.png"},{emoji:"🚦",name:"vertical_traffic_light",shortcodes:["vertical_traffic_light"],tags:["light","signal","traffic"],group:"travel & places",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6a6.png"},{emoji:"🛑",name:"stop_sign",shortcodes:["octagonal_sign","stop_sign"],tags:["octagonal","sign","stop"],group:"travel & places",emoticons:[],version:3,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6d1.png"},{emoji:"🚧",name:"construction",shortcodes:["construction"],tags:["barrier"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6a7.png"},{emoji:"⚓",name:"anchor",shortcodes:["anchor"],tags:["ship","tool"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/2693.png"},{emoji:"🛟",name:"ring_buoy",shortcodes:["lifebuoy","ring_buoy"],tags:["float","life preserver","life saver","rescue","safety"],group:"travel & places",emoticons:[],version:14},{emoji:"⛵",name:"boat",shortcodes:["sailboat"],tags:["boat","resort","sea","yacht"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/26f5.png"},{emoji:"🛶",name:"canoe",shortcodes:["canoe"],tags:["boat"],group:"travel & places",emoticons:[],version:3,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6f6.png"},{emoji:"🚤",name:"speedboat",shortcodes:["speedboat"],tags:["boat"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6a4.png"},{emoji:"🛳",name:"passenger_ship",shortcodes:["cruise_ship","passenger_ship"],tags:["passenger","ship"],group:"travel & places",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6f3-fe0f.png"},{emoji:"⛴",name:"ferry",shortcodes:["ferry"],tags:["boat","passenger"],group:"travel & places",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/26f4-fe0f.png"},{emoji:"🛥",name:"motor_boat",shortcodes:["motorboat"],tags:["boat","motorboat"],group:"travel & places",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6e5-fe0f.png"},{emoji:"🚢",name:"ship",shortcodes:["ship"],tags:["boat","passenger"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6a2.png"},{emoji:"✈",name:"airplane",shortcodes:["airplane"],tags:["aeroplane"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/2708-fe0f.png"},{emoji:"🛩",name:"small_airplane",shortcodes:["small_airplane"],tags:["aeroplane","airplane"],group:"travel & places",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6e9-fe0f.png"},{emoji:"🛫",name:"flight_departure",shortcodes:["airplane_departure"],tags:["aeroplane","airplane","check-in","departure","departures"],group:"travel & places",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6eb.png"},{emoji:"🛬",name:"flight_arrival",shortcodes:["airplane_arriving"],tags:["aeroplane","airplane","arrivals","arriving","landing"],group:"travel & places",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6ec.png"},{emoji:"🪂",name:"parachute",shortcodes:["parachute"],tags:["hang-glide","parasail","skydive"],group:"travel & places",emoticons:[],version:12,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1fa82.png"},{emoji:"💺",name:"seat",shortcodes:["seat"],tags:["chair"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4ba.png"},{emoji:"🚁",name:"helicopter",shortcodes:["helicopter"],tags:["vehicle"],group:"travel & places",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f681.png"},{emoji:"🚟",name:"suspension_railway",shortcodes:["suspension_railway"],tags:["railway","suspension"],group:"travel & places",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f69f.png"},{emoji:"🚠",name:"mountain_cableway",shortcodes:["mountain_cableway"],tags:["cable","gondola","mountain"],group:"travel & places",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6a0.png"},{emoji:"🚡",name:"aerial_tramway",shortcodes:["aerial_tramway"],tags:["aerial","cable","car","gondola","tramway"],group:"travel & places",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6a1.png"},{emoji:"🛰",name:"artificial_satellite",shortcodes:["satellite"],tags:["space"],group:"travel & places",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6f0-fe0f.png"},{emoji:"🚀",name:"rocket",shortcodes:["rocket"],tags:["space"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f680.png"},{emoji:"🛸",name:"flying_saucer",shortcodes:["flying_saucer"],tags:["ufo"],group:"travel & places",emoticons:[],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6f8.png"},{emoji:"🛎",name:"bellhop_bell",shortcodes:["bellhop"],tags:["bell","bellhop","hotel"],group:"travel & places",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6ce-fe0f.png"},{emoji:"🧳",name:"luggage",shortcodes:["luggage"],tags:["packing","travel"],group:"travel & places",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9f3.png"},{emoji:"⌛",name:"hourglass",shortcodes:["hourglass"],tags:["sand","timer"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/231b.png"},{emoji:"⏳",name:"hourglass_flowing_sand",shortcodes:["hourglass_flowing_sand"],tags:["hourglass","sand","timer"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/23f3.png"},{emoji:"⌚",name:"watch",shortcodes:["watch"],tags:["clock"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/231a.png"},{emoji:"⏰",name:"alarm_clock",shortcodes:["alarm_clock"],tags:["alarm","clock"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/23f0.png"},{emoji:"⏱",name:"stopwatch",shortcodes:["stopwatch"],tags:["clock"],group:"travel & places",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/23f1-fe0f.png"},{emoji:"⏲",name:"timer_clock",shortcodes:["timer_clock"],tags:["clock","timer"],group:"travel & places",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/23f2-fe0f.png"},{emoji:"🕰",name:"mantelpiece_clock",shortcodes:["clock"],tags:["clock"],group:"travel & places",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f570-fe0f.png"},{emoji:"🕛",name:"clock12",shortcodes:["clock12"],tags:["00","12","12:00","clock","o’clock","twelve"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f55b.png"},{emoji:"🕧",name:"clock1230",shortcodes:["clock1230"],tags:["12","12:30","clock","thirty","twelve"],group:"travel & places",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f567.png"},{emoji:"🕐",name:"clock1",shortcodes:["clock1"],tags:["00","1","1:00","clock","one","o’clock"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f550.png"},{emoji:"🕜",name:"clock130",shortcodes:["clock130"],tags:["1","1:30","clock","one","thirty"],group:"travel & places",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f55c.png"},{emoji:"🕑",name:"clock2",shortcodes:["clock2"],tags:["00","2","2:00","clock","o’clock","two"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f551.png"},{emoji:"🕝",name:"clock230",shortcodes:["clock230"],tags:["2","2:30","clock","thirty","two"],group:"travel & places",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f55d.png"},{emoji:"🕒",name:"clock3",shortcodes:["clock3"],tags:["00","3","3:00","clock","o’clock","three"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f552.png"},{emoji:"🕞",name:"clock330",shortcodes:["clock330"],tags:["3","3:30","clock","thirty","three"],group:"travel & places",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f55e.png"},{emoji:"🕓",name:"clock4",shortcodes:["clock4"],tags:["00","4","4:00","clock","four","o’clock"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f553.png"},{emoji:"🕟",name:"clock430",shortcodes:["clock430"],tags:["4","4:30","clock","four","thirty"],group:"travel & places",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f55f.png"},{emoji:"🕔",name:"clock5",shortcodes:["clock5"],tags:["00","5","5:00","clock","five","o’clock"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f554.png"},{emoji:"🕠",name:"clock530",shortcodes:["clock530"],tags:["5","5:30","clock","five","thirty"],group:"travel & places",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f560.png"},{emoji:"🕕",name:"clock6",shortcodes:["clock6"],tags:["00","6","6:00","clock","o’clock","six"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f555.png"},{emoji:"🕡",name:"clock630",shortcodes:["clock630"],tags:["6","6:30","clock","six","thirty"],group:"travel & places",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f561.png"},{emoji:"🕖",name:"clock7",shortcodes:["clock7"],tags:["00","7","7:00","clock","o’clock","seven"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f556.png"},{emoji:"🕢",name:"clock730",shortcodes:["clock730"],tags:["7","7:30","clock","seven","thirty"],group:"travel & places",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f562.png"},{emoji:"🕗",name:"clock8",shortcodes:["clock8"],tags:["00","8","8:00","clock","eight","o’clock"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f557.png"},{emoji:"🕣",name:"clock830",shortcodes:["clock830"],tags:["8","8:30","clock","eight","thirty"],group:"travel & places",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f563.png"},{emoji:"🕘",name:"clock9",shortcodes:["clock9"],tags:["00","9","9:00","clock","nine","o’clock"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f558.png"},{emoji:"🕤",name:"clock930",shortcodes:["clock930"],tags:["9","9:30","clock","nine","thirty"],group:"travel & places",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f564.png"},{emoji:"🕙",name:"clock10",shortcodes:["clock10"],tags:["00","10","10:00","clock","o’clock","ten"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f559.png"},{emoji:"🕥",name:"clock1030",shortcodes:["clock1030"],tags:["10","10:30","clock","ten","thirty"],group:"travel & places",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f565.png"},{emoji:"🕚",name:"clock11",shortcodes:["clock11"],tags:["00","11","11:00","clock","eleven","o’clock"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f55a.png"},{emoji:"🕦",name:"clock1130",shortcodes:["clock1130"],tags:["11","11:30","clock","eleven","thirty"],group:"travel & places",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f566.png"},{emoji:"🌑",name:"new_moon",shortcodes:["new_moon"],tags:["dark","moon"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f311.png"},{emoji:"🌒",name:"waxing_crescent_moon",shortcodes:["waxing_crescent_moon"],tags:["crescent","moon","waxing"],group:"travel & places",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f312.png"},{emoji:"🌓",name:"first_quarter_moon",shortcodes:["first_quarter_moon"],tags:["moon","quarter"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f313.png"},{emoji:"🌔",name:"moon",shortcodes:["waxing_gibbous_moon"],tags:["gibbous","moon","waxing"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f314.png"},{emoji:"🌕",name:"full_moon",shortcodes:["full_moon"],tags:["full","moon"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f315.png"},{emoji:"🌖",name:"waning_gibbous_moon",shortcodes:["waning_gibbous_moon"],tags:["gibbous","moon","waning"],group:"travel & places",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f316.png"},{emoji:"🌗",name:"last_quarter_moon",shortcodes:["last_quarter_moon"],tags:["moon","quarter"],group:"travel & places",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f317.png"},{emoji:"🌘",name:"waning_crescent_moon",shortcodes:["waning_crescent_moon"],tags:["crescent","moon","waning"],group:"travel & places",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f318.png"},{emoji:"🌙",name:"crescent_moon",shortcodes:["crescent_moon"],tags:["crescent","moon"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f319.png"},{emoji:"🌚",name:"new_moon_with_face",shortcodes:["new_moon_with_face"],tags:["face","moon"],group:"travel & places",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f31a.png"},{emoji:"🌛",name:"first_quarter_moon_with_face",shortcodes:["first_quarter_moon_with_face"],tags:["face","moon","quarter"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f31b.png"},{emoji:"🌜",name:"last_quarter_moon_with_face",shortcodes:["last_quarter_moon_with_face"],tags:["face","moon","quarter"],group:"travel & places",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f31c.png"},{emoji:"🌡",name:"thermometer",shortcodes:["thermometer"],tags:["weather"],group:"travel & places",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f321-fe0f.png"},{emoji:"☀",name:"sunny",shortcodes:["sun"],tags:["bright","rays","sunny"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/2600-fe0f.png"},{emoji:"🌝",name:"full_moon_with_face",shortcodes:["full_moon_with_face"],tags:["bright","face","full","moon"],group:"travel & places",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f31d.png"},{emoji:"🌞",name:"sun_with_face",shortcodes:["sun_with_face"],tags:["bright","face","sun"],group:"travel & places",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f31e.png"},{emoji:"🪐",name:"ringed_planet",shortcodes:["ringed_planet","saturn"],tags:["saturn","saturnine"],group:"travel & places",emoticons:[],version:12,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1fa90.png"},{emoji:"⭐",name:"star",shortcodes:["star"],tags:["star"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/2b50.png"},{emoji:"🌟",name:"star2",shortcodes:["glowing_star","star2"],tags:["glittery","glow","shining","sparkle","star"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f31f.png"},{emoji:"🌠",name:"stars",shortcodes:["shooting_star","stars"],tags:["falling","shooting","star"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f320.png"},{emoji:"🌌",name:"milky_way",shortcodes:["milky_way"],tags:["space"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f30c.png"},{emoji:"☁",name:"cloud",shortcodes:["cloud"],tags:["weather"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/2601-fe0f.png"},{emoji:"⛅",name:"partly_sunny",shortcodes:["partly_sunny","sun_behind_cloud"],tags:["cloud","sun"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/26c5.png"},{emoji:"⛈",name:"cloud_with_lightning_and_rain",shortcodes:["stormy","thunder_cloud_and_rain"],tags:["cloud","rain","thunder"],group:"travel & places",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/26c8-fe0f.png"},{emoji:"🌤",name:"sun_behind_small_cloud",shortcodes:["sun_behind_small_cloud","sunny"],tags:["cloud","sun"],group:"travel & places",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f324-fe0f.png"},{emoji:"🌥",name:"sun_behind_large_cloud",shortcodes:["cloudy","sun_behind_large_cloud"],tags:["cloud","sun"],group:"travel & places",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f325-fe0f.png"},{emoji:"🌦",name:"sun_behind_rain_cloud",shortcodes:["sun_and_rain","sun_behind_rain_cloud"],tags:["cloud","rain","sun"],group:"travel & places",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f326-fe0f.png"},{emoji:"🌧",name:"cloud_with_rain",shortcodes:["cloud_with_rain","rainy"],tags:["cloud","rain"],group:"travel & places",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f327-fe0f.png"},{emoji:"🌨",name:"cloud_with_snow",shortcodes:["cloud_with_snow","snowy"],tags:["cloud","cold","snow"],group:"travel & places",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f328-fe0f.png"},{emoji:"🌩",name:"cloud_with_lightning",shortcodes:["cloud_with_lightning","lightning"],tags:["cloud","lightning"],group:"travel & places",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f329-fe0f.png"},{emoji:"🌪",name:"tornado",shortcodes:["tornado"],tags:["cloud","whirlwind"],group:"travel & places",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f32a-fe0f.png"},{emoji:"🌫",name:"fog",shortcodes:["fog"],tags:["cloud"],group:"travel & places",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f32b-fe0f.png"},{emoji:"🌬",name:"wind_face",shortcodes:["wind_blowing_face"],tags:["blow","cloud","face","wind"],group:"travel & places",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f32c-fe0f.png"},{emoji:"🌀",name:"cyclone",shortcodes:["cyclone"],tags:["dizzy","hurricane","twister","typhoon"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f300.png"},{emoji:"🌈",name:"rainbow",shortcodes:["rainbow"],tags:["rain"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f308.png"},{emoji:"🌂",name:"closed_umbrella",shortcodes:["closed_umbrella"],tags:["clothing","rain","umbrella"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f302.png"},{emoji:"☂",name:"open_umbrella",shortcodes:["umbrella"],tags:["clothing","rain"],group:"travel & places",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/2602-fe0f.png"},{emoji:"☔",name:"umbrella",shortcodes:["umbrella_with_rain"],tags:["clothing","drop","rain","umbrella"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/2614.png"},{emoji:"⛱",name:"parasol_on_ground",shortcodes:["beach_umbrella","umbrella_on_ground"],tags:["rain","sun","umbrella"],group:"travel & places",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/26f1-fe0f.png"},{emoji:"⚡",name:"zap",shortcodes:["high_voltage","zap"],tags:["danger","electric","lightning","voltage","zap"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/26a1.png"},{emoji:"❄",name:"snowflake",shortcodes:["snowflake"],tags:["cold","snow"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/2744-fe0f.png"},{emoji:"☃",name:"snowman_with_snow",shortcodes:["snowman2"],tags:["cold","snow"],group:"travel & places",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/2603-fe0f.png"},{emoji:"⛄",name:"snowman",shortcodes:["snowman"],tags:["cold","snow","snowman"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/26c4.png"},{emoji:"☄",name:"comet",shortcodes:["comet"],tags:["space"],group:"travel & places",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/2604-fe0f.png"},{emoji:"🔥",name:"fire",shortcodes:["fire"],tags:["flame","tool"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f525.png"},{emoji:"💧",name:"droplet",shortcodes:["droplet"],tags:["cold","comic","drop","sweat"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4a7.png"},{emoji:"🌊",name:"ocean",shortcodes:["ocean","water_wave"],tags:["ocean","water","wave"],group:"travel & places",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f30a.png"},{emoji:"🎃",name:"jack_o_lantern",shortcodes:["jack_o_lantern"],tags:["celebration","halloween","jack","lantern"],group:"activities",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f383.png"},{emoji:"🎄",name:"christmas_tree",shortcodes:["christmas_tree"],tags:["celebration","christmas","tree"],group:"activities",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f384.png"},{emoji:"🎆",name:"fireworks",shortcodes:["fireworks"],tags:["celebration"],group:"activities",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f386.png"},{emoji:"🎇",name:"sparkler",shortcodes:["sparkler"],tags:["celebration","fireworks","sparkle"],group:"activities",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f387.png"},{emoji:"🧨",name:"firecracker",shortcodes:["firecracker"],tags:["dynamite","explosive","fireworks"],group:"activities",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9e8.png"},{emoji:"✨",name:"sparkles",shortcodes:["sparkles"],tags:["*","sparkle","star"],group:"activities",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/2728.png"},{emoji:"🎈",name:"balloon",shortcodes:["balloon"],tags:["celebration"],group:"activities",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f388.png"},{emoji:"🎉",name:"tada",shortcodes:["party","party_popper","tada"],tags:["celebration","party","popper","tada"],group:"activities",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f389.png"},{emoji:"🎊",name:"confetti_ball",shortcodes:["confetti_ball"],tags:["ball","celebration","confetti"],group:"activities",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f38a.png"},{emoji:"🎋",name:"tanabata_tree",shortcodes:["tanabata_tree"],tags:["banner","celebration","japanese","tree"],group:"activities",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f38b.png"},{emoji:"🎍",name:"bamboo",shortcodes:["bamboo"],tags:["bamboo","celebration","japanese","pine"],group:"activities",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f38d.png"},{emoji:"🎎",name:"dolls",shortcodes:["dolls"],tags:["celebration","doll","festival","japanese","japanese dolls"],group:"activities",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f38e.png"},{emoji:"🎏",name:"flags",shortcodes:["carp_streamer","flags"],tags:["carp","celebration","streamer"],group:"activities",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f38f.png"},{emoji:"🎐",name:"wind_chime",shortcodes:["wind_chime"],tags:["bell","celebration","chime","wind"],group:"activities",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f390.png"},{emoji:"🎑",name:"rice_scene",shortcodes:["moon_ceremony","rice_scene"],tags:["celebration","ceremony","moon"],group:"activities",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f391.png"},{emoji:"🧧",name:"red_envelope",shortcodes:["red_envelope"],tags:["gift","good luck","hóngbāo","lai see","money"],group:"activities",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9e7.png"},{emoji:"🎀",name:"ribbon",shortcodes:["ribbon"],tags:["celebration"],group:"activities",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f380.png"},{emoji:"🎁",name:"gift",shortcodes:["gift"],tags:["box","celebration","gift","present","wrapped"],group:"activities",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f381.png"},{emoji:"🎗",name:"reminder_ribbon",shortcodes:["reminder_ribbon"],tags:["celebration","reminder","ribbon"],group:"activities",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f397-fe0f.png"},{emoji:"🎟",name:"tickets",shortcodes:["admission_tickets","tickets"],tags:["admission","ticket"],group:"activities",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f39f-fe0f.png"},{emoji:"🎫",name:"ticket",shortcodes:["ticket"],tags:["admission"],group:"activities",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3ab.png"},{emoji:"🎖",name:"medal_military",shortcodes:["military_medal"],tags:["celebration","medal","military"],group:"activities",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f396-fe0f.png"},{emoji:"🏆",name:"trophy",shortcodes:["trophy"],tags:["prize"],group:"activities",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3c6.png"},{emoji:"🏅",name:"medal_sports",shortcodes:["sports_medal"],tags:["medal"],group:"activities",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3c5.png"},{emoji:"🥇",name:"1st_place_medal",shortcodes:["1st","first_place_medal"],tags:["first","gold","medal"],group:"activities",emoticons:[],version:3,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f947.png"},{emoji:"🥈",name:"2nd_place_medal",shortcodes:["2nd","second_place_medal"],tags:["medal","second","silver"],group:"activities",emoticons:[],version:3,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f948.png"},{emoji:"🥉",name:"3rd_place_medal",shortcodes:["3rd","third_place_medal"],tags:["bronze","medal","third"],group:"activities",emoticons:[],version:3,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f949.png"},{emoji:"⚽",name:"soccer",shortcodes:["soccer"],tags:["ball","football","soccer"],group:"activities",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/26bd.png"},{emoji:"⚾",name:"baseball",shortcodes:["baseball"],tags:["ball"],group:"activities",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/26be.png"},{emoji:"🥎",name:"softball",shortcodes:["softball"],tags:["ball","glove","underarm"],group:"activities",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f94e.png"},{emoji:"🏀",name:"basketball",shortcodes:["basketball"],tags:["ball","hoop"],group:"activities",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3c0.png"},{emoji:"🏐",name:"volleyball",shortcodes:["volleyball"],tags:["ball","game"],group:"activities",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3d0.png"},{emoji:"🏈",name:"football",shortcodes:["football"],tags:["american","ball","football"],group:"activities",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3c8.png"},{emoji:"🏉",name:"rugby_football",shortcodes:["rugby_football"],tags:["ball","football","rugby"],group:"activities",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3c9.png"},{emoji:"🎾",name:"tennis",shortcodes:["tennis"],tags:["ball","racquet"],group:"activities",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3be.png"},{emoji:"🥏",name:"flying_disc",shortcodes:["flying_disc"],tags:["ultimate"],group:"activities",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f94f.png"},{emoji:"🎳",name:"bowling",shortcodes:["bowling"],tags:["ball","game"],group:"activities",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3b3.png"},{emoji:"🏏",name:"cricket_game",shortcodes:["cricket_game"],tags:["ball","bat","game"],group:"activities",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3cf.png"},{emoji:"🏑",name:"field_hockey",shortcodes:["field_hockey"],tags:["ball","field","game","hockey","stick"],group:"activities",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3d1.png"},{emoji:"🏒",name:"ice_hockey",shortcodes:["hockey"],tags:["game","hockey","ice","puck","stick"],group:"activities",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3d2.png"},{emoji:"🥍",name:"lacrosse",shortcodes:["lacrosse"],tags:["ball","goal","stick"],group:"activities",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f94d.png"},{emoji:"🏓",name:"ping_pong",shortcodes:["ping_pong"],tags:["ball","bat","game","paddle","table tennis"],group:"activities",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3d3.png"},{emoji:"🏸",name:"badminton",shortcodes:["badminton"],tags:["birdie","game","racquet","shuttlecock"],group:"activities",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3f8.png"},{emoji:"🥊",name:"boxing_glove",shortcodes:["boxing_glove"],tags:["boxing","glove"],group:"activities",emoticons:[],version:3,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f94a.png"},{emoji:"🥋",name:"martial_arts_uniform",shortcodes:["martial_arts_uniform"],tags:["judo","karate","martial arts","taekwondo","uniform"],group:"activities",emoticons:[],version:3,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f94b.png"},{emoji:"🥅",name:"goal_net",shortcodes:["goal_net"],tags:["goal","net"],group:"activities",emoticons:[],version:3,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f945.png"},{emoji:"⛳",name:"golf",shortcodes:["golf"],tags:["golf","hole"],group:"activities",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/26f3.png"},{emoji:"⛸",name:"ice_skate",shortcodes:["ice_skate"],tags:["ice","skate"],group:"activities",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/26f8-fe0f.png"},{emoji:"🎣",name:"fishing_pole_and_fish",shortcodes:["fishing_pole","fishing_pole_and_fish"],tags:["fish","pole"],group:"activities",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3a3.png"},{emoji:"🤿",name:"diving_mask",shortcodes:["diving_mask"],tags:["diving","scuba","snorkeling"],group:"activities",emoticons:[],version:12,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f93f.png"},{emoji:"🎽",name:"running_shirt_with_sash",shortcodes:["running_shirt","running_shirt_with_sash"],tags:["athletics","running","sash","shirt"],group:"activities",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3bd.png"},{emoji:"🎿",name:"ski",shortcodes:["ski"],tags:["ski","snow"],group:"activities",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3bf.png"},{emoji:"🛷",name:"sled",shortcodes:["sled"],tags:["sledge","sleigh"],group:"activities",emoticons:[],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6f7.png"},{emoji:"🥌",name:"curling_stone",shortcodes:["curling_stone"],tags:["game","rock"],group:"activities",emoticons:[],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f94c.png"},{emoji:"🎯",name:"dart",shortcodes:["bullseye","dart","direct_hit"],tags:["dart","direct hit","game","hit","target"],group:"activities",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3af.png"},{emoji:"🪀",name:"yo_yo",shortcodes:["yo_yo"],tags:["fluctuate","toy"],group:"activities",emoticons:[],version:12,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1fa80.png"},{emoji:"🪁",name:"kite",shortcodes:["kite"],tags:["fly","soar"],group:"activities",emoticons:[],version:12,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1fa81.png"},{emoji:"🔫",name:"gun",shortcodes:["gun","pistol"],tags:["gun","handgun","pistol","revolver","tool","water","weapon"],group:"activities",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f52b.png"},{emoji:"🎱",name:"8ball",shortcodes:["8ball","billiards"],tags:["8","ball","billiard","eight","game"],group:"activities",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3b1.png"},{emoji:"🔮",name:"crystal_ball",shortcodes:["crystal_ball"],tags:["ball","crystal","fairy tale","fantasy","fortune","tool"],group:"activities",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f52e.png"},{emoji:"🪄",name:"magic_wand",shortcodes:["magic_wand"],tags:["magic","witch","wizard"],group:"activities",emoticons:[],version:13,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1fa84.png"},{emoji:"🎮",name:"video_game",shortcodes:["controller","video_game"],tags:["controller","game"],group:"activities",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3ae.png"},{emoji:"🕹",name:"joystick",shortcodes:["joystick"],tags:["game","video game"],group:"activities",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f579-fe0f.png"},{emoji:"🎰",name:"slot_machine",shortcodes:["slot_machine"],tags:["game","slot"],group:"activities",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3b0.png"},{emoji:"🎲",name:"game_die",shortcodes:["game_die"],tags:["dice","die","game"],group:"activities",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3b2.png"},{emoji:"🧩",name:"jigsaw",shortcodes:["jigsaw","puzzle_piece"],tags:["clue","interlocking","jigsaw","piece","puzzle"],group:"activities",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9e9.png"},{emoji:"🧸",name:"teddy_bear",shortcodes:["teddy_bear"],tags:["plaything","plush","stuffed","toy"],group:"activities",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9f8.png"},{emoji:"🪅",name:"pinata",shortcodes:["pinata"],tags:["celebration","party"],group:"activities",emoticons:[],version:13,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1fa85.png"},{emoji:"🪩",name:"mirror_ball",shortcodes:["disco","disco_ball","mirror_ball"],tags:["dance","disco","glitter","party"],group:"activities",emoticons:[],version:14},{emoji:"🪆",name:"nesting_dolls",shortcodes:["nesting_dolls"],tags:["doll","nesting","russia"],group:"activities",emoticons:[],version:13,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1fa86.png"},{emoji:"♠",name:"spades",shortcodes:["spades"],tags:["card","game"],group:"activities",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/2660-fe0f.png"},{emoji:"♥",name:"hearts",shortcodes:["hearts"],tags:["card","game"],group:"activities",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/2665-fe0f.png"},{emoji:"♦",name:"diamonds",shortcodes:["diamonds"],tags:["card","game"],group:"activities",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/2666-fe0f.png"},{emoji:"♣",name:"clubs",shortcodes:["clubs"],tags:["card","game"],group:"activities",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/2663-fe0f.png"},{emoji:"♟",name:"chess_pawn",shortcodes:["chess_pawn"],tags:["chess","dupe","expendable"],group:"activities",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/265f-fe0f.png"},{emoji:"🃏",name:"black_joker",shortcodes:["black_joker"],tags:["card","game","wildcard"],group:"activities",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f0cf.png"},{emoji:"🀄",name:"mahjong",shortcodes:["mahjong"],tags:["game","mahjong","red"],group:"activities",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f004.png"},{emoji:"🎴",name:"flower_playing_cards",shortcodes:["flower_playing_cards"],tags:["card","flower","game","japanese","playing"],group:"activities",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3b4.png"},{emoji:"🎭",name:"performing_arts",shortcodes:["performing_arts"],tags:["art","mask","performing","theater","theatre"],group:"activities",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3ad.png"},{emoji:"🖼",name:"framed_picture",shortcodes:["frame_with_picture","framed_picture"],tags:["art","frame","museum","painting","picture"],group:"activities",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f5bc-fe0f.png"},{emoji:"🎨",name:"art",shortcodes:["art","palette"],tags:["art","museum","painting","palette"],group:"activities",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3a8.png"},{emoji:"🧵",name:"thread",shortcodes:["thread"],tags:["needle","sewing","spool","string"],group:"activities",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9f5.png"},{emoji:"🪡",name:"sewing_needle",shortcodes:["sewing_needle"],tags:["embroidery","needle","sewing","stitches","sutures","tailoring"],group:"activities",emoticons:[],version:13,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1faa1.png"},{emoji:"🧶",name:"yarn",shortcodes:["yarn"],tags:["ball","crochet","knit"],group:"activities",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9f6.png"},{emoji:"🪢",name:"knot",shortcodes:["knot"],tags:["rope","tangled","tie","twine","twist"],group:"activities",emoticons:[],version:13,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1faa2.png"},{emoji:"👓",name:"eyeglasses",shortcodes:["eyeglasses","glasses"],tags:["clothing","eye","eyeglasses","eyewear"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f453.png"},{emoji:"🕶",name:"dark_sunglasses",shortcodes:["sunglasses"],tags:["dark","eye","eyewear","glasses"],group:"objects",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f576-fe0f.png"},{emoji:"🥽",name:"goggles",shortcodes:["goggles"],tags:["eye protection","swimming","welding"],group:"objects",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f97d.png"},{emoji:"🥼",name:"lab_coat",shortcodes:["lab_coat"],tags:["doctor","experiment","scientist"],group:"objects",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f97c.png"},{emoji:"🦺",name:"safety_vest",shortcodes:["safety_vest"],tags:["emergency","safety","vest"],group:"objects",emoticons:[],version:12,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9ba.png"},{emoji:"👔",name:"necktie",shortcodes:["necktie"],tags:["clothing","tie"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f454.png"},{emoji:"👕",name:"shirt",shortcodes:["shirt"],tags:["clothing","shirt","tshirt"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f455.png"},{emoji:"👖",name:"jeans",shortcodes:["jeans"],tags:["clothing","pants","trousers"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f456.png"},{emoji:"🧣",name:"scarf",shortcodes:["scarf"],tags:["neck"],group:"objects",emoticons:[],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9e3.png"},{emoji:"🧤",name:"gloves",shortcodes:["gloves"],tags:["hand"],group:"objects",emoticons:[],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9e4.png"},{emoji:"🧥",name:"coat",shortcodes:["coat"],tags:["jacket"],group:"objects",emoticons:[],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9e5.png"},{emoji:"🧦",name:"socks",shortcodes:["socks"],tags:["stocking"],group:"objects",emoticons:[],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9e6.png"},{emoji:"👗",name:"dress",shortcodes:["dress"],tags:["clothing"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f457.png"},{emoji:"👘",name:"kimono",shortcodes:["kimono"],tags:["clothing"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f458.png"},{emoji:"🥻",name:"sari",shortcodes:["sari"],tags:["clothing","dress"],group:"objects",emoticons:[],version:12,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f97b.png"},{emoji:"🩱",name:"one_piece_swimsuit",shortcodes:["one_piece_swimsuit"],tags:["bathing suit"],group:"objects",emoticons:[],version:12,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1fa71.png"},{emoji:"🩲",name:"swim_brief",shortcodes:["briefs"],tags:["bathing suit","one-piece","swimsuit","underwear"],group:"objects",emoticons:[],version:12,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1fa72.png"},{emoji:"🩳",name:"shorts",shortcodes:["shorts"],tags:["bathing suit","pants","underwear"],group:"objects",emoticons:[],version:12,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1fa73.png"},{emoji:"👙",name:"bikini",shortcodes:["bikini"],tags:["clothing","swim"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f459.png"},{emoji:"👚",name:"womans_clothes",shortcodes:["womans_clothes"],tags:["clothing","woman"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f45a.png"},{emoji:"🪭",name:"folding_hand_fan",shortcodes:["folding_fan"],tags:["cooling","dance","fan","flutter","hot","shy"],group:"objects",emoticons:[],version:15},{emoji:"👛",name:"purse",shortcodes:["purse"],tags:["clothing","coin"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f45b.png"},{emoji:"👜",name:"handbag",shortcodes:["handbag"],tags:["bag","clothing","purse"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f45c.png"},{emoji:"👝",name:"pouch",shortcodes:["clutch_bag","pouch"],tags:["bag","clothing","pouch"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f45d.png"},{emoji:"🛍",name:"shopping",shortcodes:["shopping_bags"],tags:["bag","hotel","shopping"],group:"objects",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6cd-fe0f.png"},{emoji:"🎒",name:"school_satchel",shortcodes:["backpack","school_satchel"],tags:["bag","rucksack","satchel","school"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f392.png"},{emoji:"🩴",name:"thong_sandal",shortcodes:["thong_sandal"],tags:["beach sandals","sandals","thong sandals","thongs","zōri"],group:"objects",emoticons:[],version:13,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1fa74.png"},{emoji:"👞",name:"mans_shoe",shortcodes:["mans_shoe"],tags:["clothing","man","shoe"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f45e.png"},{emoji:"👟",name:"athletic_shoe",shortcodes:["athletic_shoe","sneaker"],tags:["athletic","clothing","shoe","sneaker"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f45f.png"},{emoji:"🥾",name:"hiking_boot",shortcodes:["hiking_boot"],tags:["backpacking","boot","camping","hiking"],group:"objects",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f97e.png"},{emoji:"🥿",name:"flat_shoe",shortcodes:["flat_shoe","womans_flat_shoe"],tags:["ballet flat","slip-on","slipper"],group:"objects",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f97f.png"},{emoji:"👠",name:"high_heel",shortcodes:["high_heel"],tags:["clothing","heel","shoe","woman"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f460.png"},{emoji:"👡",name:"sandal",shortcodes:["sandal"],tags:["clothing","sandal","shoe","woman"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f461.png"},{emoji:"🩰",name:"ballet_shoes",shortcodes:["ballet_shoes"],tags:["ballet","dance"],group:"objects",emoticons:[],version:12,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1fa70.png"},{emoji:"👢",name:"boot",shortcodes:["boot"],tags:["boot","clothing","shoe","woman"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f462.png"},{emoji:"🪮",name:"hair_pick",shortcodes:["hair_pick"],tags:["afro","comb","hair","pick"],group:"objects",emoticons:[],version:15},{emoji:"👑",name:"crown",shortcodes:["crown"],tags:["clothing","king","queen"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f451.png"},{emoji:"👒",name:"womans_hat",shortcodes:["womans_hat"],tags:["clothing","hat","woman"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f452.png"},{emoji:"🎩",name:"tophat",shortcodes:["top_hat","tophat"],tags:["clothing","hat","top","tophat"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3a9.png"},{emoji:"🎓",name:"mortar_board",shortcodes:["graduation_cap","mortar_board"],tags:["cap","celebration","clothing","graduation","hat"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f393.png"},{emoji:"🧢",name:"billed_cap",shortcodes:["billed_cap"],tags:["baseball cap"],group:"objects",emoticons:[],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9e2.png"},{emoji:"🪖",name:"military_helmet",shortcodes:["military_helmet"],tags:["army","helmet","military","soldier","warrior"],group:"objects",emoticons:[],version:13,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1fa96.png"},{emoji:"⛑",name:"rescue_worker_helmet",shortcodes:["helmet_with_cross","rescue_worker_helmet"],tags:["aid","cross","face","hat","helmet"],group:"objects",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/26d1-fe0f.png"},{emoji:"📿",name:"prayer_beads",shortcodes:["prayer_beads"],tags:["beads","clothing","necklace","prayer","religion"],group:"objects",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4ff.png"},{emoji:"💄",name:"lipstick",shortcodes:["lipstick"],tags:["cosmetics","makeup"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f484.png"},{emoji:"💍",name:"ring",shortcodes:["ring"],tags:["diamond"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f48d.png"},{emoji:"💎",name:"gem",shortcodes:["gem"],tags:["diamond","gem","jewel"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f48e.png"},{emoji:"🔇",name:"mute",shortcodes:["mute","no_sound"],tags:["mute","quiet","silent","speaker"],group:"objects",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f507.png"},{emoji:"🔈",name:"speaker",shortcodes:["low_volume","quiet_sound","speaker"],tags:["soft"],group:"objects",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f508.png"},{emoji:"🔉",name:"sound",shortcodes:["medium_volumne","sound"],tags:["medium"],group:"objects",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f509.png"},{emoji:"🔊",name:"loud_sound",shortcodes:["high_volume","loud_sound"],tags:["loud"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f50a.png"},{emoji:"📢",name:"loudspeaker",shortcodes:["loudspeaker"],tags:["loud","public address"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4e2.png"},{emoji:"📣",name:"mega",shortcodes:["mega","megaphone"],tags:["cheering"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4e3.png"},{emoji:"📯",name:"postal_horn",shortcodes:["postal_horn"],tags:["horn","post","postal"],group:"objects",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4ef.png"},{emoji:"🔔",name:"bell",shortcodes:["bell"],tags:["bell"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f514.png"},{emoji:"🔕",name:"no_bell",shortcodes:["no_bell"],tags:["bell","forbidden","mute","quiet","silent"],group:"objects",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f515.png"},{emoji:"🎼",name:"musical_score",shortcodes:["musical_score"],tags:["music","score"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3bc.png"},{emoji:"🎵",name:"musical_note",shortcodes:["musical_note"],tags:["music","note"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3b5.png"},{emoji:"🎶",name:"notes",shortcodes:["musical_notes","notes"],tags:["music","note","notes"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3b6.png"},{emoji:"🎙",name:"studio_microphone",shortcodes:["studio_microphone"],tags:["mic","microphone","music","studio"],group:"objects",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f399-fe0f.png"},{emoji:"🎚",name:"level_slider",shortcodes:["level_slider"],tags:["level","music","slider"],group:"objects",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f39a-fe0f.png"},{emoji:"🎛",name:"control_knobs",shortcodes:["control_knobs"],tags:["control","knobs","music"],group:"objects",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f39b-fe0f.png"},{emoji:"🎤",name:"microphone",shortcodes:["microphone"],tags:["karaoke","mic"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3a4.png"},{emoji:"🎧",name:"headphones",shortcodes:["headphones"],tags:["earbud"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3a7.png"},{emoji:"📻",name:"radio",shortcodes:["radio"],tags:["video"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4fb.png"},{emoji:"🎷",name:"saxophone",shortcodes:["saxophone"],tags:["instrument","music","sax"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3b7.png"},{emoji:"🪗",name:"accordion",shortcodes:["accordion"],tags:["concertina","squeeze box"],group:"objects",emoticons:[],version:13,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1fa97.png"},{emoji:"🎸",name:"guitar",shortcodes:["guitar"],tags:["instrument","music"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3b8.png"},{emoji:"🎹",name:"musical_keyboard",shortcodes:["musical_keyboard"],tags:["instrument","keyboard","music","piano"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3b9.png"},{emoji:"🎺",name:"trumpet",shortcodes:["trumpet"],tags:["instrument","music"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3ba.png"},{emoji:"🎻",name:"violin",shortcodes:["violin"],tags:["instrument","music"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3bb.png"},{emoji:"🪕",name:"banjo",shortcodes:["banjo"],tags:["music","stringed"],group:"objects",emoticons:[],version:12,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1fa95.png"},{emoji:"🥁",name:"drum",shortcodes:["drum"],tags:["drumsticks","music"],group:"objects",emoticons:[],version:3,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f941.png"},{emoji:"🪘",name:"long_drum",shortcodes:["long_drum"],tags:["beat","conga","drum","rhythm"],group:"objects",emoticons:[],version:13,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1fa98.png"},{emoji:"🪇",name:"maracas",shortcodes:["maracas"],tags:["instrument","music","percussion","rattle","shake"],group:"objects",emoticons:[],version:15},{emoji:"🪈",name:"flute",shortcodes:["flute"],tags:["fife","music","pipe","recorder","woodwind"],group:"objects",emoticons:[],version:15},{emoji:"📱",name:"iphone",shortcodes:["android","iphone","mobile_phone"],tags:["cell","mobile","phone","telephone"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4f1.png"},{emoji:"📲",name:"calling",shortcodes:["calling","mobile_phone_arrow"],tags:["arrow","cell","mobile","phone","receive"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4f2.png"},{emoji:"☎",name:"phone",shortcodes:["telephone"],tags:["phone"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/260e-fe0f.png"},{emoji:"📞",name:"telephone_receiver",shortcodes:["telephone_receiver"],tags:["phone","receiver","telephone"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4de.png"},{emoji:"📟",name:"pager",shortcodes:["pager"],tags:["pager"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4df.png"},{emoji:"📠",name:"fax",shortcodes:["fax","fax_machine"],tags:["fax"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4e0.png"},{emoji:"🔋",name:"battery",shortcodes:["battery"],tags:["battery"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f50b.png"},{emoji:"🪫",name:"low_battery",shortcodes:["low_battery"],tags:["electronic","low energy"],group:"objects",emoticons:[],version:14},{emoji:"🔌",name:"electric_plug",shortcodes:["electric_plug"],tags:["electric","electricity","plug"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f50c.png"},{emoji:"💻",name:"computer",shortcodes:["laptop"],tags:["computer","pc","personal"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4bb.png"},{emoji:"🖥",name:"desktop_computer",shortcodes:["computer","desktop_computer"],tags:["computer","desktop"],group:"objects",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f5a5-fe0f.png"},{emoji:"🖨",name:"printer",shortcodes:["printer"],tags:["computer"],group:"objects",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f5a8-fe0f.png"},{emoji:"⌨",name:"keyboard",shortcodes:["keyboard"],tags:["computer"],group:"objects",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/2328-fe0f.png"},{emoji:"🖱",name:"computer_mouse",shortcodes:["computer_mouse"],tags:["computer"],group:"objects",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f5b1-fe0f.png"},{emoji:"🖲",name:"trackball",shortcodes:["trackball"],tags:["computer"],group:"objects",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f5b2-fe0f.png"},{emoji:"💽",name:"minidisc",shortcodes:["computer_disk","minidisc"],tags:["computer","disk","minidisk","optical"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4bd.png"},{emoji:"💾",name:"floppy_disk",shortcodes:["floppy_disk"],tags:["computer","disk","floppy"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4be.png"},{emoji:"💿",name:"cd",shortcodes:["cd","optical_disk"],tags:["cd","computer","disk","optical"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4bf.png"},{emoji:"📀",name:"dvd",shortcodes:["dvd"],tags:["blu-ray","computer","disk","optical"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4c0.png"},{emoji:"🧮",name:"abacus",shortcodes:["abacus"],tags:["calculation"],group:"objects",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9ee.png"},{emoji:"🎥",name:"movie_camera",shortcodes:["movie_camera"],tags:["camera","cinema","movie"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3a5.png"},{emoji:"🎞",name:"film_strip",shortcodes:["film_frames"],tags:["cinema","film","frames","movie"],group:"objects",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f39e-fe0f.png"},{emoji:"📽",name:"film_projector",shortcodes:["film_projector"],tags:["cinema","film","movie","projector","video"],group:"objects",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4fd-fe0f.png"},{emoji:"🎬",name:"clapper",shortcodes:["clapper"],tags:["clapper","movie"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3ac.png"},{emoji:"📺",name:"tv",shortcodes:["tv"],tags:["tv","video"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4fa.png"},{emoji:"📷",name:"camera",shortcodes:["camera"],tags:["video"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4f7.png"},{emoji:"📸",name:"camera_flash",shortcodes:["camera_with_flash"],tags:["camera","flash","video"],group:"objects",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4f8.png"},{emoji:"📹",name:"video_camera",shortcodes:["video_camera"],tags:["camera","video"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4f9.png"},{emoji:"📼",name:"vhs",shortcodes:["vhs","videocassette"],tags:["tape","vhs","video"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4fc.png"},{emoji:"🔍",name:"mag",shortcodes:["mag"],tags:["glass","magnifying","search","tool"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f50d.png"},{emoji:"🔎",name:"mag_right",shortcodes:["mag_right"],tags:["glass","magnifying","search","tool"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f50e.png"},{emoji:"🕯",name:"candle",shortcodes:["candle"],tags:["light"],group:"objects",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f56f-fe0f.png"},{emoji:"💡",name:"bulb",shortcodes:["bulb","light_bulb"],tags:["bulb","comic","electric","idea","light"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4a1.png"},{emoji:"🔦",name:"flashlight",shortcodes:["flashlight"],tags:["electric","light","tool","torch"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f526.png"},{emoji:"🏮",name:"izakaya_lantern",shortcodes:["izakaya_lantern","red_paper_lantern"],tags:["bar","lantern","light","red"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3ee.png"},{emoji:"🪔",name:"diya_lamp",shortcodes:["diya_lamp"],tags:["diya","lamp","oil"],group:"objects",emoticons:[],version:12,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1fa94.png"},{emoji:"📔",name:"notebook_with_decorative_cover",shortcodes:["notebook_with_decorative_cover"],tags:["book","cover","decorated","notebook"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4d4.png"},{emoji:"📕",name:"closed_book",shortcodes:["closed_book"],tags:["book","closed"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4d5.png"},{emoji:"📖",name:"book",shortcodes:["book","open_book"],tags:["book","open"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4d6.png"},{emoji:"📗",name:"green_book",shortcodes:["green_book"],tags:["book","green"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4d7.png"},{emoji:"📘",name:"blue_book",shortcodes:["blue_book"],tags:["blue","book"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4d8.png"},{emoji:"📙",name:"orange_book",shortcodes:["orange_book"],tags:["book","orange"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4d9.png"},{emoji:"📚",name:"books",shortcodes:["books"],tags:["book"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4da.png"},{emoji:"📓",name:"notebook",shortcodes:["notebook"],tags:["notebook"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4d3.png"},{emoji:"📒",name:"ledger",shortcodes:["ledger"],tags:["notebook"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4d2.png"},{emoji:"📃",name:"page_with_curl",shortcodes:["page_with_curl"],tags:["curl","document","page"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4c3.png"},{emoji:"📜",name:"scroll",shortcodes:["scroll"],tags:["paper"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4dc.png"},{emoji:"📄",name:"page_facing_up",shortcodes:["page_facing_up"],tags:["document","page"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4c4.png"},{emoji:"📰",name:"newspaper",shortcodes:["newspaper"],tags:["news","paper"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4f0.png"},{emoji:"🗞",name:"newspaper_roll",shortcodes:["rolled_up_newspaper"],tags:["news","newspaper","paper","rolled"],group:"objects",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f5de-fe0f.png"},{emoji:"📑",name:"bookmark_tabs",shortcodes:["bookmark_tabs"],tags:["bookmark","mark","marker","tabs"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4d1.png"},{emoji:"🔖",name:"bookmark",shortcodes:["bookmark"],tags:["mark"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f516.png"},{emoji:"🏷",name:"label",shortcodes:["label"],tags:["label"],group:"objects",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3f7-fe0f.png"},{emoji:"💰",name:"moneybag",shortcodes:["moneybag"],tags:["bag","dollar","money","moneybag"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4b0.png"},{emoji:"🪙",name:"coin",shortcodes:["coin"],tags:["gold","metal","money","silver","treasure"],group:"objects",emoticons:[],version:13,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1fa99.png"},{emoji:"💴",name:"yen",shortcodes:["yen"],tags:["banknote","bill","currency","money","note","yen"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4b4.png"},{emoji:"💵",name:"dollar",shortcodes:["dollar"],tags:["banknote","bill","currency","dollar","money","note"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4b5.png"},{emoji:"💶",name:"euro",shortcodes:["euro"],tags:["banknote","bill","currency","euro","money","note"],group:"objects",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4b6.png"},{emoji:"💷",name:"pound",shortcodes:["pound"],tags:["banknote","bill","currency","money","note","pound"],group:"objects",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4b7.png"},{emoji:"💸",name:"money_with_wings",shortcodes:["money_with_wings"],tags:["banknote","bill","fly","money","wings"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4b8.png"},{emoji:"💳",name:"credit_card",shortcodes:["credit_card"],tags:["card","credit","money"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4b3.png"},{emoji:"🧾",name:"receipt",shortcodes:["receipt"],tags:["accounting","bookkeeping","evidence","proof"],group:"objects",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9fe.png"},{emoji:"💹",name:"chart",shortcodes:["chart"],tags:["chart","graph","growth","money","yen"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4b9.png"},{emoji:"✉",name:"envelope",shortcodes:["envelope"],tags:["email","letter"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/2709-fe0f.png"},{emoji:"📧",name:"e-mail",shortcodes:["e-mail","email"],tags:["email","letter","mail"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4e7.png"},{emoji:"📨",name:"incoming_envelope",shortcodes:["incoming_envelope"],tags:["e-mail","email","envelope","incoming","letter","receive"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4e8.png"},{emoji:"📩",name:"envelope_with_arrow",shortcodes:["envelope_with_arrow"],tags:["arrow","e-mail","email","envelope","outgoing"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4e9.png"},{emoji:"📤",name:"outbox_tray",shortcodes:["outbox_tray"],tags:["box","letter","mail","outbox","sent","tray"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4e4.png"},{emoji:"📥",name:"inbox_tray",shortcodes:["inbox_tray"],tags:["box","inbox","letter","mail","receive","tray"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4e5.png"},{emoji:"📦",name:"package",shortcodes:["package"],tags:["box","parcel"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4e6.png"},{emoji:"📫",name:"mailbox",shortcodes:["mailbox"],tags:["closed","mail","mailbox","postbox"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4eb.png"},{emoji:"📪",name:"mailbox_closed",shortcodes:["mailbox_closed"],tags:["closed","lowered","mail","mailbox","postbox"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4ea.png"},{emoji:"📬",name:"mailbox_with_mail",shortcodes:["mailbox_with_mail"],tags:["mail","mailbox","open","postbox"],group:"objects",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4ec.png"},{emoji:"📭",name:"mailbox_with_no_mail",shortcodes:["mailbox_with_no_mail"],tags:["lowered","mail","mailbox","open","postbox"],group:"objects",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4ed.png"},{emoji:"📮",name:"postbox",shortcodes:["postbox"],tags:["mail","mailbox"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4ee.png"},{emoji:"🗳",name:"ballot_box",shortcodes:["ballot_box"],tags:["ballot","box"],group:"objects",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f5f3-fe0f.png"},{emoji:"✏",name:"pencil2",shortcodes:["pencil"],tags:["pencil"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/270f-fe0f.png"},{emoji:"✒",name:"black_nib",shortcodes:["black_nib"],tags:["nib","pen"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/2712-fe0f.png"},{emoji:"🖋",name:"fountain_pen",shortcodes:["fountain_pen"],tags:["fountain","pen"],group:"objects",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f58b-fe0f.png"},{emoji:"🖊",name:"pen",shortcodes:["pen"],tags:["ballpoint"],group:"objects",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f58a-fe0f.png"},{emoji:"🖌",name:"paintbrush",shortcodes:["paintbrush"],tags:["painting"],group:"objects",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f58c-fe0f.png"},{emoji:"🖍",name:"crayon",shortcodes:["crayon"],tags:["crayon"],group:"objects",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f58d-fe0f.png"},{emoji:"📝",name:"memo",shortcodes:["memo"],tags:["pencil"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4dd.png"},{emoji:"💼",name:"briefcase",shortcodes:["briefcase"],tags:["briefcase"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4bc.png"},{emoji:"📁",name:"file_folder",shortcodes:["file_folder"],tags:["file","folder"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4c1.png"},{emoji:"📂",name:"open_file_folder",shortcodes:["open_file_folder"],tags:["file","folder","open"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4c2.png"},{emoji:"🗂",name:"card_index_dividers",shortcodes:["card_index_dividers"],tags:["card","dividers","index"],group:"objects",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f5c2-fe0f.png"},{emoji:"📅",name:"date",shortcodes:["date"],tags:["date"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4c5.png"},{emoji:"📆",name:"calendar",shortcodes:["calendar"],tags:["calendar"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4c6.png"},{emoji:"🗒",name:"spiral_notepad",shortcodes:["notepad_spiral"],tags:["note","pad","spiral"],group:"objects",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f5d2-fe0f.png"},{emoji:"🗓",name:"spiral_calendar",shortcodes:["calendar_spiral"],tags:["calendar","pad","spiral"],group:"objects",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f5d3-fe0f.png"},{emoji:"📇",name:"card_index",shortcodes:["card_index"],tags:["card","index","rolodex"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4c7.png"},{emoji:"📈",name:"chart_with_upwards_trend",shortcodes:["chart_increasing","chart_with_upwards_trend"],tags:["chart","graph","growth","trend","upward"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4c8.png"},{emoji:"📉",name:"chart_with_downwards_trend",shortcodes:["chart_decreasing","chart_with_downwards_trend"],tags:["chart","down","graph","trend"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4c9.png"},{emoji:"📊",name:"bar_chart",shortcodes:["bar_chart"],tags:["bar","chart","graph"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4ca.png"},{emoji:"📋",name:"clipboard",shortcodes:["clipboard"],tags:["clipboard"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4cb.png"},{emoji:"📌",name:"pushpin",shortcodes:["pushpin"],tags:["pin"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4cc.png"},{emoji:"📍",name:"round_pushpin",shortcodes:["round_pushpin"],tags:["pin","pushpin"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4cd.png"},{emoji:"📎",name:"paperclip",shortcodes:["paperclip"],tags:["paperclip"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4ce.png"},{emoji:"🖇",name:"paperclips",shortcodes:["paperclips"],tags:["link","paperclip"],group:"objects",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f587-fe0f.png"},{emoji:"📏",name:"straight_ruler",shortcodes:["straight_ruler"],tags:["ruler","straight edge"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4cf.png"},{emoji:"📐",name:"triangular_ruler",shortcodes:["triangular_ruler"],tags:["ruler","set","triangle"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4d0.png"},{emoji:"✂",name:"scissors",shortcodes:["scissors"],tags:["cutting","tool"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/2702-fe0f.png"},{emoji:"🗃",name:"card_file_box",shortcodes:["card_file_box"],tags:["box","card","file"],group:"objects",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f5c3-fe0f.png"},{emoji:"🗄",name:"file_cabinet",shortcodes:["file_cabinet"],tags:["cabinet","file","filing"],group:"objects",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f5c4-fe0f.png"},{emoji:"🗑",name:"wastebasket",shortcodes:["trashcan","wastebasket"],tags:["wastebasket"],group:"objects",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f5d1-fe0f.png"},{emoji:"🔒",name:"lock",shortcodes:["lock","locked"],tags:["closed"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f512.png"},{emoji:"🔓",name:"unlock",shortcodes:["unlock","unlocked"],tags:["lock","open","unlock"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f513.png"},{emoji:"🔏",name:"lock_with_ink_pen",shortcodes:["lock_with_ink_pen","locked_with_pen"],tags:["ink","lock","nib","pen","privacy"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f50f.png"},{emoji:"🔐",name:"closed_lock_with_key",shortcodes:["closed_lock_with_key","locked_with_key"],tags:["closed","key","lock","secure"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f510.png"},{emoji:"🔑",name:"key",shortcodes:["key"],tags:["lock","password"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f511.png"},{emoji:"🗝",name:"old_key",shortcodes:["old_key"],tags:["clue","key","lock","old"],group:"objects",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f5dd-fe0f.png"},{emoji:"🔨",name:"hammer",shortcodes:["hammer"],tags:["tool"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f528.png"},{emoji:"🪓",name:"axe",shortcodes:["axe"],tags:["chop","hatchet","split","wood"],group:"objects",emoticons:[],version:12,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1fa93.png"},{emoji:"⛏",name:"pick",shortcodes:["pick"],tags:["mining","tool"],group:"objects",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/26cf-fe0f.png"},{emoji:"⚒",name:"hammer_and_pick",shortcodes:["hammer_and_pick"],tags:["hammer","pick","tool"],group:"objects",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/2692-fe0f.png"},{emoji:"🛠",name:"hammer_and_wrench",shortcodes:["hammer_and_wrench"],tags:["hammer","spanner","tool","wrench"],group:"objects",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6e0-fe0f.png"},{emoji:"🗡",name:"dagger",shortcodes:["dagger"],tags:["knife","weapon"],group:"objects",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f5e1-fe0f.png"},{emoji:"⚔",name:"crossed_swords",shortcodes:["crossed_swords"],tags:["crossed","swords","weapon"],group:"objects",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/2694-fe0f.png"},{emoji:"💣",name:"bomb",shortcodes:["bomb"],tags:["comic"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4a3.png"},{emoji:"🪃",name:"boomerang",shortcodes:["boomerang"],tags:["rebound","repercussion"],group:"objects",emoticons:[],version:13,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1fa83.png"},{emoji:"🏹",name:"bow_and_arrow",shortcodes:["bow_and_arrow"],tags:["archer","arrow","bow","sagittarius","zodiac"],group:"objects",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3f9.png"},{emoji:"🛡",name:"shield",shortcodes:["shield"],tags:["weapon"],group:"objects",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6e1-fe0f.png"},{emoji:"🪚",name:"carpentry_saw",shortcodes:["carpentry_saw"],tags:["carpenter","lumber","saw","tool"],group:"objects",emoticons:[],version:13,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1fa9a.png"},{emoji:"🔧",name:"wrench",shortcodes:["wrench"],tags:["spanner","tool"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f527.png"},{emoji:"🪛",name:"screwdriver",shortcodes:["screwdriver"],tags:["screw","tool"],group:"objects",emoticons:[],version:13,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1fa9b.png"},{emoji:"🔩",name:"nut_and_bolt",shortcodes:["nut_and_bolt"],tags:["bolt","nut","tool"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f529.png"},{emoji:"⚙",name:"gear",shortcodes:["gear"],tags:["cog","cogwheel","tool"],group:"objects",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/2699-fe0f.png"},{emoji:"🗜",name:"clamp",shortcodes:["clamp","compression"],tags:["compress","tool","vice"],group:"objects",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f5dc-fe0f.png"},{emoji:"⚖",name:"balance_scale",shortcodes:["scales"],tags:["balance","justice","libra","scale","zodiac"],group:"objects",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/2696-fe0f.png"},{emoji:"🦯",name:"probing_cane",shortcodes:["probing_cane","white_cane"],tags:["accessibility","blind"],group:"objects",emoticons:[],version:12,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9af.png"},{emoji:"🔗",name:"link",shortcodes:["link"],tags:["link"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f517.png"},{emoji:"⛓💥",name:"broken_chain",shortcodes:["broken_chain"],tags:["break","breaking","chain","cuffs","freedom"],group:"objects",emoticons:[],version:15.1},{emoji:"⛓",name:"chains",shortcodes:["chains"],tags:["chain"],group:"objects",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/26d3-fe0f.png"},{emoji:"🪝",name:"hook",shortcodes:["hook"],tags:["catch","crook","curve","ensnare","selling point"],group:"objects",emoticons:[],version:13,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1fa9d.png"},{emoji:"🧰",name:"toolbox",shortcodes:["toolbox"],tags:["chest","mechanic","tool"],group:"objects",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9f0.png"},{emoji:"🧲",name:"magnet",shortcodes:["magnet"],tags:["attraction","horseshoe","magnetic"],group:"objects",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9f2.png"},{emoji:"🪜",name:"ladder",shortcodes:["ladder"],tags:["climb","rung","step"],group:"objects",emoticons:[],version:13,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1fa9c.png"},{emoji:"⚗",name:"alembic",shortcodes:["alembic"],tags:["chemistry","tool"],group:"objects",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/2697-fe0f.png"},{emoji:"🧪",name:"test_tube",shortcodes:["test_tube"],tags:["chemist","chemistry","experiment","lab","science"],group:"objects",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9ea.png"},{emoji:"🧫",name:"petri_dish",shortcodes:["petri_dish"],tags:["bacteria","biologist","biology","culture","lab"],group:"objects",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9eb.png"},{emoji:"🧬",name:"dna",shortcodes:["dna","double_helix"],tags:["biologist","evolution","gene","genetics","life"],group:"objects",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9ec.png"},{emoji:"🔬",name:"microscope",shortcodes:["microscope"],tags:["science","tool"],group:"objects",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f52c.png"},{emoji:"🔭",name:"telescope",shortcodes:["telescope"],tags:["science","tool"],group:"objects",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f52d.png"},{emoji:"📡",name:"satellite",shortcodes:["satellite_antenna"],tags:["antenna","dish","satellite"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4e1.png"},{emoji:"💉",name:"syringe",shortcodes:["syringe"],tags:["medicine","needle","shot","sick"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f489.png"},{emoji:"🩸",name:"drop_of_blood",shortcodes:["drop_of_blood"],tags:["bleed","blood donation","injury","medicine","menstruation"],group:"objects",emoticons:[],version:12,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1fa78.png"},{emoji:"💊",name:"pill",shortcodes:["pill"],tags:["doctor","medicine","sick"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f48a.png"},{emoji:"🩹",name:"adhesive_bandage",shortcodes:["adhesive_bandage","bandaid"],tags:["bandage"],group:"objects",emoticons:[],version:12,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1fa79.png"},{emoji:"🩼",name:"crutch",shortcodes:["crutch"],tags:["cane","disability","hurt","mobility aid","stick"],group:"objects",emoticons:[],version:14},{emoji:"🩺",name:"stethoscope",shortcodes:["stethoscope"],tags:["doctor","heart","medicine"],group:"objects",emoticons:[],version:12,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1fa7a.png"},{emoji:"🩻",name:"x_ray",shortcodes:["x-ray","xray"],tags:["bones","doctor","medical","skeleton"],group:"objects",emoticons:[],version:14},{emoji:"🚪",name:"door",shortcodes:["door"],tags:["door"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6aa.png"},{emoji:"🛗",name:"elevator",shortcodes:["elevator"],tags:["accessibility","hoist","lift"],group:"objects",emoticons:[],version:13,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6d7.png"},{emoji:"🪞",name:"mirror",shortcodes:["mirror"],tags:["reflection","reflector","speculum"],group:"objects",emoticons:[],version:13,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1fa9e.png"},{emoji:"🪟",name:"window",shortcodes:["window"],tags:["frame","fresh air","opening","transparent","view"],group:"objects",emoticons:[],version:13,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1fa9f.png"},{emoji:"🛏",name:"bed",shortcodes:["bed"],tags:["hotel","sleep"],group:"objects",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6cf-fe0f.png"},{emoji:"🛋",name:"couch_and_lamp",shortcodes:["couch_and_lamp"],tags:["couch","hotel","lamp"],group:"objects",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6cb-fe0f.png"},{emoji:"🪑",name:"chair",shortcodes:["chair"],tags:["seat","sit"],group:"objects",emoticons:[],version:12,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1fa91.png"},{emoji:"🚽",name:"toilet",shortcodes:["toilet"],tags:["toilet"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6bd.png"},{emoji:"🪠",name:"plunger",shortcodes:["plunger"],tags:["force cup","plumber","suction","toilet"],group:"objects",emoticons:[],version:13,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1faa0.png"},{emoji:"🚿",name:"shower",shortcodes:["shower"],tags:["water"],group:"objects",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6bf.png"},{emoji:"🛁",name:"bathtub",shortcodes:["bathtub"],tags:["bath"],group:"objects",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6c1.png"},{emoji:"🪤",name:"mouse_trap",shortcodes:["mouse_trap"],tags:["bait","mousetrap","snare","trap"],group:"objects",emoticons:[],version:13,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1faa4.png"},{emoji:"🪒",name:"razor",shortcodes:["razor"],tags:["sharp","shave"],group:"objects",emoticons:[],version:12,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1fa92.png"},{emoji:"🧴",name:"lotion_bottle",shortcodes:["lotion_bottle"],tags:["lotion","moisturizer","shampoo","sunscreen"],group:"objects",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9f4.png"},{emoji:"🧷",name:"safety_pin",shortcodes:["safety_pin"],tags:["diaper","punk rock"],group:"objects",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9f7.png"},{emoji:"🧹",name:"broom",shortcodes:["broom"],tags:["cleaning","sweeping","witch"],group:"objects",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9f9.png"},{emoji:"🧺",name:"basket",shortcodes:["basket"],tags:["farming","laundry","picnic"],group:"objects",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9fa.png"},{emoji:"🧻",name:"roll_of_paper",shortcodes:["roll_of_paper","toilet_paper"],tags:["paper towels","toilet paper"],group:"objects",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9fb.png"},{emoji:"🪣",name:"bucket",shortcodes:["bucket"],tags:["cask","pail","vat"],group:"objects",emoticons:[],version:13,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1faa3.png"},{emoji:"🧼",name:"soap",shortcodes:["soap"],tags:["bar","bathing","cleaning","lather","soapdish"],group:"objects",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9fc.png"},{emoji:"🫧",name:"bubbles",shortcodes:["bubbles"],tags:["burp","clean","soap","underwater"],group:"objects",emoticons:[],version:14},{emoji:"🪥",name:"toothbrush",shortcodes:["toothbrush"],tags:["bathroom","brush","clean","dental","hygiene","teeth"],group:"objects",emoticons:[],version:13,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1faa5.png"},{emoji:"🧽",name:"sponge",shortcodes:["sponge"],tags:["absorbing","cleaning","porous"],group:"objects",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9fd.png"},{emoji:"🧯",name:"fire_extinguisher",shortcodes:["fire_extinguisher"],tags:["extinguish","fire","quench"],group:"objects",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9ef.png"},{emoji:"🛒",name:"shopping_cart",shortcodes:["shopping_cart"],tags:["cart","shopping","trolley"],group:"objects",emoticons:[],version:3,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6d2.png"},{emoji:"🚬",name:"smoking",shortcodes:["cigarette","smoking"],tags:["smoking"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6ac.png"},{emoji:"⚰",name:"coffin",shortcodes:["coffin"],tags:["death"],group:"objects",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/26b0-fe0f.png"},{emoji:"🪦",name:"headstone",shortcodes:["headstone"],tags:["cemetery","grave","graveyard","tombstone"],group:"objects",emoticons:[],version:13,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1faa6.png"},{emoji:"⚱",name:"funeral_urn",shortcodes:["funeral_urn"],tags:["ashes","death","funeral","urn"],group:"objects",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/26b1-fe0f.png"},{emoji:"🧿",name:"nazar_amulet",shortcodes:["nazar_amulet"],tags:["bead","charm","evil-eye","nazar","talisman"],group:"objects",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f9ff.png"},{emoji:"🪬",name:"hamsa",shortcodes:["hamsa"],tags:["amulet","fatima","hand","mary","miriam","protection"],group:"objects",emoticons:[],version:14},{emoji:"🗿",name:"moyai",shortcodes:["moai","moyai"],tags:["face","moyai","statue"],group:"objects",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f5ff.png"},{emoji:"🪧",name:"placard",shortcodes:["placard"],tags:["demonstration","picket","protest","sign"],group:"objects",emoticons:[],version:13,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1faa7.png"},{emoji:"🪪",name:"identification_card",shortcodes:["id_card"],tags:["credentials","id","license","security"],group:"objects",emoticons:[],version:14},{emoji:"🏧",name:"atm",shortcodes:["atm"],tags:["atm","atm sign","automated","bank","teller"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3e7.png"},{emoji:"🚮",name:"put_litter_in_its_place",shortcodes:["litter_bin","put_litter_in_its_place"],tags:["litter","litter bin"],group:"symbols",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6ae.png"},{emoji:"🚰",name:"potable_water",shortcodes:["potable_water"],tags:["drinking","potable","water"],group:"symbols",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6b0.png"},{emoji:"♿",name:"wheelchair",shortcodes:["handicapped","wheelchair"],tags:["access"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/267f.png"},{emoji:"🚹",name:"mens",shortcodes:["mens"],tags:["bathroom","lavatory","man","restroom","toilet","wc"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6b9.png"},{emoji:"🚺",name:"womens",shortcodes:["womens"],tags:["bathroom","lavatory","restroom","toilet","wc","woman"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6ba.png"},{emoji:"🚻",name:"restroom",shortcodes:["bathroom","restroom"],tags:["bathroom","lavatory","toilet","wc"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6bb.png"},{emoji:"🚼",name:"baby_symbol",shortcodes:["baby_symbol"],tags:["baby","changing"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6bc.png"},{emoji:"🚾",name:"wc",shortcodes:["water_closet","wc"],tags:["bathroom","closet","lavatory","restroom","toilet","water","wc"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6be.png"},{emoji:"🛂",name:"passport_control",shortcodes:["passport_control"],tags:["control","passport"],group:"symbols",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6c2.png"},{emoji:"🛃",name:"customs",shortcodes:["customs"],tags:["customs"],group:"symbols",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6c3.png"},{emoji:"🛄",name:"baggage_claim",shortcodes:["baggage_claim"],tags:["baggage","claim"],group:"symbols",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6c4.png"},{emoji:"🛅",name:"left_luggage",shortcodes:["left_luggage"],tags:["baggage","locker","luggage"],group:"symbols",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6c5.png"},{emoji:"⚠",name:"warning",shortcodes:["warning"],tags:["warning"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/26a0-fe0f.png"},{emoji:"🚸",name:"children_crossing",shortcodes:["children_crossing"],tags:["child","crossing","pedestrian","traffic"],group:"symbols",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6b8.png"},{emoji:"⛔",name:"no_entry",shortcodes:["no_entry"],tags:["entry","forbidden","no","not","prohibited","traffic"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/26d4.png"},{emoji:"🚫",name:"no_entry_sign",shortcodes:["no_entry_sign"],tags:["entry","forbidden","no","not"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6ab.png"},{emoji:"🚳",name:"no_bicycles",shortcodes:["no_bicycles"],tags:["bicycle","bike","forbidden","no","prohibited"],group:"symbols",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6b3.png"},{emoji:"🚭",name:"no_smoking",shortcodes:["no_smoking"],tags:["forbidden","no","not","prohibited","smoking"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6ad.png"},{emoji:"🚯",name:"do_not_litter",shortcodes:["do_not_litter","no_littering"],tags:["forbidden","litter","no","not","prohibited"],group:"symbols",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6af.png"},{emoji:"🚱",name:"non-potable_water",shortcodes:["non-potable_water"],tags:["non-drinking","non-potable","water"],group:"symbols",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6b1.png"},{emoji:"🚷",name:"no_pedestrians",shortcodes:["no_pedestrians"],tags:["forbidden","no","not","pedestrian","prohibited"],group:"symbols",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6b7.png"},{emoji:"📵",name:"no_mobile_phones",shortcodes:["no_mobile_phones"],tags:["cell","forbidden","mobile","no","phone"],group:"symbols",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4f5.png"},{emoji:"🔞",name:"underage",shortcodes:["no_one_under_18","underage"],tags:["18","age restriction","eighteen","prohibited","underage"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f51e.png"},{emoji:"☢",name:"radioactive",shortcodes:["radioactive"],tags:["sign"],group:"symbols",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/2622-fe0f.png"},{emoji:"☣",name:"biohazard",shortcodes:["biohazard"],tags:["sign"],group:"symbols",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/2623-fe0f.png"},{emoji:"⬆",name:"arrow_up",shortcodes:["arrow_up"],tags:["arrow","cardinal","direction","north"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/2b06-fe0f.png"},{emoji:"↗",name:"arrow_upper_right",shortcodes:["arrow_upper_right"],tags:["arrow","direction","intercardinal","northeast"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/2197-fe0f.png"},{emoji:"➡",name:"arrow_right",shortcodes:["arrow_right"],tags:["arrow","cardinal","direction","east"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/27a1-fe0f.png"},{emoji:"↘",name:"arrow_lower_right",shortcodes:["arrow_lower_right"],tags:["arrow","direction","intercardinal","southeast"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/2198-fe0f.png"},{emoji:"⬇",name:"arrow_down",shortcodes:["arrow_down"],tags:["arrow","cardinal","direction","down","south"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/2b07-fe0f.png"},{emoji:"↙",name:"arrow_lower_left",shortcodes:["arrow_lower_left"],tags:["arrow","direction","intercardinal","southwest"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/2199-fe0f.png"},{emoji:"⬅",name:"arrow_left",shortcodes:["arrow_left"],tags:["arrow","cardinal","direction","west"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/2b05-fe0f.png"},{emoji:"↖",name:"arrow_upper_left",shortcodes:["arrow_upper_left"],tags:["arrow","direction","intercardinal","northwest"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/2196-fe0f.png"},{emoji:"↕",name:"arrow_up_down",shortcodes:["arrow_up_down"],tags:["arrow"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/2195-fe0f.png"},{emoji:"↔",name:"left_right_arrow",shortcodes:["left_right_arrow"],tags:["arrow"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/2194-fe0f.png"},{emoji:"↩",name:"leftwards_arrow_with_hook",shortcodes:["arrow_left_hook","leftwards_arrow_with_hook"],tags:["arrow"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/21a9-fe0f.png"},{emoji:"↪",name:"arrow_right_hook",shortcodes:["arrow_right_hook","rightwards_arrow_with_hook"],tags:["arrow"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/21aa-fe0f.png"},{emoji:"⤴",name:"arrow_heading_up",shortcodes:["arrow_heading_up"],tags:["arrow"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/2934-fe0f.png"},{emoji:"⤵",name:"arrow_heading_down",shortcodes:["arrow_heading_down"],tags:["arrow","down"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/2935-fe0f.png"},{emoji:"🔃",name:"arrows_clockwise",shortcodes:["arrows_clockwise","clockwise"],tags:["arrow","clockwise","reload"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f503.png"},{emoji:"🔄",name:"arrows_counterclockwise",shortcodes:["arrows_counterclockwise","counterclockwise"],tags:["anticlockwise","arrow","counterclockwise","withershins"],group:"symbols",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f504.png"},{emoji:"🔙",name:"back",shortcodes:["back"],tags:["arrow","back"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f519.png"},{emoji:"🔚",name:"end",shortcodes:["end"],tags:["arrow","end"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f51a.png"},{emoji:"🔛",name:"on",shortcodes:["on"],tags:["arrow","mark","on","on!"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f51b.png"},{emoji:"🔜",name:"soon",shortcodes:["soon"],tags:["arrow","soon"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f51c.png"},{emoji:"🔝",name:"top",shortcodes:["top"],tags:["arrow","top","up"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f51d.png"},{emoji:"🛐",name:"place_of_worship",shortcodes:["place_of_worship"],tags:["religion","worship"],group:"symbols",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6d0.png"},{emoji:"⚛",name:"atom_symbol",shortcodes:["atom","atom_symbol"],tags:["atheist","atom"],group:"symbols",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/269b-fe0f.png"},{emoji:"🕉",name:"om",shortcodes:["om"],tags:["hindu","religion"],group:"symbols",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f549-fe0f.png"},{emoji:"✡",name:"star_of_david",shortcodes:["star_of_david"],tags:["david","jew","jewish","religion","star","star of david"],group:"symbols",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/2721-fe0f.png"},{emoji:"☸",name:"wheel_of_dharma",shortcodes:["wheel_of_dharma"],tags:["buddhist","dharma","religion","wheel"],group:"symbols",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/2638-fe0f.png"},{emoji:"☯",name:"yin_yang",shortcodes:["yin_yang"],tags:["religion","tao","taoist","yang","yin"],group:"symbols",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/262f-fe0f.png"},{emoji:"✝",name:"latin_cross",shortcodes:["latin_cross"],tags:["christian","cross","religion"],group:"symbols",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/271d-fe0f.png"},{emoji:"☦",name:"orthodox_cross",shortcodes:["orthodox_cross"],tags:["christian","cross","religion"],group:"symbols",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/2626-fe0f.png"},{emoji:"☪",name:"star_and_crescent",shortcodes:["star_and_crescent"],tags:["islam","muslim","religion"],group:"symbols",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/262a-fe0f.png"},{emoji:"☮",name:"peace_symbol",shortcodes:["peace","peace_symbol"],tags:["peace"],group:"symbols",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/262e-fe0f.png"},{emoji:"🕎",name:"menorah",shortcodes:["menorah"],tags:["candelabrum","candlestick","religion"],group:"symbols",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f54e.png"},{emoji:"🔯",name:"six_pointed_star",shortcodes:["six_pointed_star"],tags:["fortune","star"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f52f.png"},{emoji:"🪯",name:"khanda",shortcodes:["khanda"],tags:["religion","sikh"],group:"symbols",emoticons:[],version:15},{emoji:"♈",name:"aries",shortcodes:["aries"],tags:["aries","ram","zodiac"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/2648.png"},{emoji:"♉",name:"taurus",shortcodes:["taurus"],tags:["bull","ox","taurus","zodiac"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/2649.png"},{emoji:"♊",name:"gemini",shortcodes:["gemini"],tags:["gemini","twins","zodiac"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/264a.png"},{emoji:"♋",name:"cancer",shortcodes:["cancer"],tags:["cancer","crab","zodiac"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/264b.png"},{emoji:"♌",name:"leo",shortcodes:["leo"],tags:["leo","lion","zodiac"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/264c.png"},{emoji:"♍",name:"virgo",shortcodes:["virgo"],tags:["virgo","zodiac"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/264d.png"},{emoji:"♎",name:"libra",shortcodes:["libra"],tags:["balance","justice","libra","scales","zodiac"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/264e.png"},{emoji:"♏",name:"scorpius",shortcodes:["scorpius"],tags:["scorpio","scorpion","scorpius","zodiac"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/264f.png"},{emoji:"♐",name:"sagittarius",shortcodes:["sagittarius"],tags:["archer","sagittarius","zodiac"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/2650.png"},{emoji:"♑",name:"capricorn",shortcodes:["capricorn"],tags:["capricorn","goat","zodiac"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/2651.png"},{emoji:"♒",name:"aquarius",shortcodes:["aquarius"],tags:["aquarius","bearer","water","zodiac"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/2652.png"},{emoji:"♓",name:"pisces",shortcodes:["pisces"],tags:["fish","pisces","zodiac"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/2653.png"},{emoji:"⛎",name:"ophiuchus",shortcodes:["ophiuchus"],tags:["bearer","ophiuchus","serpent","snake","zodiac"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/26ce.png"},{emoji:"🔀",name:"twisted_rightwards_arrows",shortcodes:["shuffle","twisted_rightwards_arrows"],tags:["arrow","crossed"],group:"symbols",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f500.png"},{emoji:"🔁",name:"repeat",shortcodes:["repeat"],tags:["arrow","clockwise","repeat"],group:"symbols",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f501.png"},{emoji:"🔂",name:"repeat_one",shortcodes:["repeat_one"],tags:["arrow","clockwise","once"],group:"symbols",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f502.png"},{emoji:"▶",name:"arrow_forward",shortcodes:["arrow_forward","play"],tags:["arrow","play","right","triangle"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/25b6-fe0f.png"},{emoji:"⏩",name:"fast_forward",shortcodes:["fast_forward"],tags:["arrow","double","fast","forward"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/23e9.png"},{emoji:"⏭",name:"next_track_button",shortcodes:["next_track"],tags:["arrow","next scene","next track","triangle"],group:"symbols",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/23ed-fe0f.png"},{emoji:"⏯",name:"play_or_pause_button",shortcodes:["play_pause"],tags:["arrow","pause","play","right","triangle"],group:"symbols",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/23ef-fe0f.png"},{emoji:"◀",name:"arrow_backward",shortcodes:["arrow_backward","reverse"],tags:["arrow","left","reverse","triangle"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/25c0-fe0f.png"},{emoji:"⏪",name:"rewind",shortcodes:["fast_reverse","rewind"],tags:["arrow","double","rewind"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/23ea.png"},{emoji:"⏮",name:"previous_track_button",shortcodes:["previous_track"],tags:["arrow","previous scene","previous track","triangle"],group:"symbols",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/23ee-fe0f.png"},{emoji:"🔼",name:"arrow_up_small",shortcodes:["arrow_up_small","up"],tags:["arrow","button"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f53c.png"},{emoji:"⏫",name:"arrow_double_up",shortcodes:["arrow_double_up","fast_up"],tags:["arrow","double"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/23eb.png"},{emoji:"🔽",name:"arrow_down_small",shortcodes:["arrow_down_small","down"],tags:["arrow","button","down"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f53d.png"},{emoji:"⏬",name:"arrow_double_down",shortcodes:["arrow_double_down","fast_down"],tags:["arrow","double","down"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/23ec.png"},{emoji:"⏸",name:"pause_button",shortcodes:["pause"],tags:["bar","double","pause","vertical"],group:"symbols",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/23f8-fe0f.png"},{emoji:"⏹",name:"stop_button",shortcodes:["stop"],tags:["square","stop"],group:"symbols",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/23f9-fe0f.png"},{emoji:"⏺",name:"record_button",shortcodes:["record"],tags:["circle","record"],group:"symbols",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/23fa-fe0f.png"},{emoji:"⏏",name:"eject_button",shortcodes:["eject"],tags:["eject"],group:"symbols",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/23cf-fe0f.png"},{emoji:"🎦",name:"cinema",shortcodes:["cinema"],tags:["camera","film","movie"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3a6.png"},{emoji:"🔅",name:"low_brightness",shortcodes:["dim_button","low_brightness"],tags:["brightness","dim","low"],group:"symbols",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f505.png"},{emoji:"🔆",name:"high_brightness",shortcodes:["bright_button","high_brightness"],tags:["bright","brightness"],group:"symbols",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f506.png"},{emoji:"📶",name:"signal_strength",shortcodes:["antenna_bars","signal_strength"],tags:["antenna","bar","cell","mobile","phone"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4f6.png"},{emoji:"🛜",name:"wireless",shortcodes:["wireless"],tags:["computer","internet","network","wi-fi","wifi"],group:"symbols",emoticons:[],version:15},{emoji:"📳",name:"vibration_mode",shortcodes:["vibration_mode"],tags:["cell","mobile","mode","phone","telephone","vibration"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4f3.png"},{emoji:"📴",name:"mobile_phone_off",shortcodes:["mobile_phone_off"],tags:["cell","mobile","off","phone","telephone"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4f4.png"},{emoji:"♀",name:"female_sign",shortcodes:["female","female_sign"],tags:["woman"],group:"symbols",emoticons:[],version:4},{emoji:"♂",name:"male_sign",shortcodes:["male","male_sign"],tags:["man"],group:"symbols",emoticons:[],version:4},{emoji:"⚧",name:"transgender_symbol",shortcodes:["transgender_symbol"],tags:["transgender"],group:"symbols",emoticons:[],version:13,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/26a7-fe0f.png"},{emoji:"✖",name:"heavy_multiplication_x",shortcodes:["multiplication","multiply"],tags:["cancel","multiplication","sign","x","×"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/2716-fe0f.png"},{emoji:"➕",name:"heavy_plus_sign",shortcodes:["plus"],tags:["+","math","sign"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/2795.png"},{emoji:"➖",name:"heavy_minus_sign",shortcodes:["minus"],tags:["-","math","sign","−"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/2796.png"},{emoji:"➗",name:"heavy_division_sign",shortcodes:["divide","division"],tags:["division","math","sign","÷"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/2797.png"},{emoji:"🟰",name:"heavy_equals_sign",shortcodes:["heavy_equals_sign"],tags:["equality","math"],group:"symbols",emoticons:[],version:14},{emoji:"♾",name:"infinity",shortcodes:["infinity"],tags:["forever","unbounded","universal"],group:"symbols",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/267e-fe0f.png"},{emoji:"‼",name:"bangbang",shortcodes:["bangbang","double_exclamation"],tags:["!","!!","bangbang","exclamation","mark"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/203c-fe0f.png"},{emoji:"⁉",name:"interrobang",shortcodes:["exclamation_question","interrobang"],tags:["!","!?","?","exclamation","interrobang","mark","punctuation","question"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/2049-fe0f.png"},{emoji:"❓",name:"question",shortcodes:["question"],tags:["?","mark","punctuation","question"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/2753.png"},{emoji:"❔",name:"grey_question",shortcodes:["white_question"],tags:["?","mark","outlined","punctuation","question"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/2754.png"},{emoji:"❕",name:"grey_exclamation",shortcodes:["white_exclamation"],tags:["!","exclamation","mark","outlined","punctuation"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/2755.png"},{emoji:"❗",name:"exclamation",shortcodes:["exclamation"],tags:["!","exclamation","mark","punctuation"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/2757.png"},{emoji:"〰",name:"wavy_dash",shortcodes:["wavy_dash"],tags:["dash","punctuation","wavy"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/3030-fe0f.png"},{emoji:"💱",name:"currency_exchange",shortcodes:["currency_exchange"],tags:["bank","currency","exchange","money"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4b1.png"},{emoji:"💲",name:"heavy_dollar_sign",shortcodes:["heavy_dollar_sign"],tags:["currency","dollar","money"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4b2.png"},{emoji:"⚕",name:"medical_symbol",shortcodes:["medical","medical_symbol"],tags:["aesculapius","medicine","staff"],group:"symbols",emoticons:[],version:4},{emoji:"♻",name:"recycle",shortcodes:["recycle","recycling_symbol"],tags:["recycle"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/267b-fe0f.png"},{emoji:"⚜",name:"fleur_de_lis",shortcodes:["fleur-de-lis"],tags:["fleur-de-lis"],group:"symbols",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/269c-fe0f.png"},{emoji:"🔱",name:"trident",shortcodes:["trident"],tags:["anchor","emblem","ship","tool","trident"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f531.png"},{emoji:"📛",name:"name_badge",shortcodes:["name_badge"],tags:["badge","name"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4db.png"},{emoji:"🔰",name:"beginner",shortcodes:["beginner"],tags:["beginner","chevron","japanese","japanese symbol for beginner","leaf"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f530.png"},{emoji:"⭕",name:"o",shortcodes:["hollow_red_circle","red_o"],tags:["circle","large","o","red"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/2b55.png"},{emoji:"✅",name:"white_check_mark",shortcodes:["check_mark_button","white_check_mark"],tags:["button","check","mark","✓"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/2705.png"},{emoji:"☑",name:"ballot_box_with_check",shortcodes:["ballot_box_with_check"],tags:["box","check","✓"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/2611-fe0f.png"},{emoji:"✔",name:"heavy_check_mark",shortcodes:["check_mark","heavy_check_mark"],tags:["check","mark","✓"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/2714-fe0f.png"},{emoji:"❌",name:"x",shortcodes:["cross_mark","x"],tags:["cancel","cross","mark","multiplication","multiply","x","×"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/274c.png"},{emoji:"❎",name:"negative_squared_cross_mark",shortcodes:["cross_mark_button","negative_squared_cross_mark"],tags:["mark","square","x","×"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/274e.png"},{emoji:"➰",name:"curly_loop",shortcodes:["curly_loop"],tags:["curl","loop"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/27b0.png"},{emoji:"➿",name:"loop",shortcodes:["double_curly_loop","loop"],tags:["curl","double","loop"],group:"symbols",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/27bf.png"},{emoji:"〽",name:"part_alternation_mark",shortcodes:["part_alternation_mark"],tags:["mark","part"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/303d-fe0f.png"},{emoji:"✳",name:"eight_spoked_asterisk",shortcodes:["eight_spoked_asterisk"],tags:["*","asterisk"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/2733-fe0f.png"},{emoji:"✴",name:"eight_pointed_black_star",shortcodes:["eight_pointed_black_star"],tags:["*","star"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/2734-fe0f.png"},{emoji:"❇",name:"sparkle",shortcodes:["sparkle"],tags:["*"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/2747-fe0f.png"},{emoji:"©",name:"copyright",shortcodes:["copyright"],tags:["c"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/00a9-fe0f.png"},{emoji:"®",name:"registered",shortcodes:["registered"],tags:["r"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/00ae-fe0f.png"},{emoji:"™",name:"tm",shortcodes:["tm","trade_mark"],tags:["mark","tm","trademark"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/2122-fe0f.png"},{emoji:"#⃣",name:"hash",shortcodes:["hash","number_sign"],tags:["keycap"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/0023-fe0f-20e3.png"},{emoji:"*⃣",name:"asterisk",shortcodes:["asterisk"],tags:["keycap"],group:"symbols",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/002a-fe0f-20e3.png"},{emoji:"0⃣",name:"zero",shortcodes:["zero"],tags:["keycap"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/0030-fe0f-20e3.png"},{emoji:"1⃣",name:"one",shortcodes:["one"],tags:["keycap"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/0031-fe0f-20e3.png"},{emoji:"2⃣",name:"two",shortcodes:["two"],tags:["keycap"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/0032-fe0f-20e3.png"},{emoji:"3⃣",name:"three",shortcodes:["three"],tags:["keycap"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/0033-fe0f-20e3.png"},{emoji:"4⃣",name:"four",shortcodes:["four"],tags:["keycap"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/0034-fe0f-20e3.png"},{emoji:"5⃣",name:"five",shortcodes:["five"],tags:["keycap"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/0035-fe0f-20e3.png"},{emoji:"6⃣",name:"six",shortcodes:["six"],tags:["keycap"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/0036-fe0f-20e3.png"},{emoji:"7⃣",name:"seven",shortcodes:["seven"],tags:["keycap"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/0037-fe0f-20e3.png"},{emoji:"8⃣",name:"eight",shortcodes:["eight"],tags:["keycap"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/0038-fe0f-20e3.png"},{emoji:"9⃣",name:"nine",shortcodes:["nine"],tags:["keycap"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/0039-fe0f-20e3.png"},{emoji:"🔟",name:"keycap_ten",shortcodes:["ten"],tags:["keycap"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f51f.png"},{emoji:"🔠",name:"capital_abcd",shortcodes:["capital_abcd"],tags:["abcd","input","latin","letters","uppercase"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f520.png"},{emoji:"🔡",name:"abcd",shortcodes:["abcd"],tags:["abcd","input","latin","letters","lowercase"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f521.png"},{emoji:"🔢",name:"1234",shortcodes:["1234"],tags:["1234","input","numbers"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f522.png"},{emoji:"🔣",name:"symbols",shortcodes:["symbols"],tags:["input","〒♪&%"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f523.png"},{emoji:"🔤",name:"abc",shortcodes:["abc"],tags:["abc","alphabet","input","latin","letters"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f524.png"},{emoji:"🅰",name:"a",shortcodes:["a","a_blood"],tags:["a","a button (blood type)","blood type"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f170-fe0f.png"},{emoji:"🆎",name:"ab",shortcodes:["ab","ab_blood"],tags:["ab","ab button (blood type)","blood type"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f18e.png"},{emoji:"🅱",name:"b",shortcodes:["b","b_blood"],tags:["b","b button (blood type)","blood type"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f171-fe0f.png"},{emoji:"🆑",name:"cl",shortcodes:["cl"],tags:["cl","cl button"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f191.png"},{emoji:"🆒",name:"cool",shortcodes:["cool"],tags:["cool","cool button"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f192.png"},{emoji:"🆓",name:"free",shortcodes:["free"],tags:["free","free button"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f193.png"},{emoji:"ℹ",name:"information_source",shortcodes:["info","information_source"],tags:["i"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/2139-fe0f.png"},{emoji:"🆔",name:"id",shortcodes:["id"],tags:["id","id button","identity"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f194.png"},{emoji:"Ⓜ",name:"m",shortcodes:["m"],tags:["circle","circled m","m"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/24c2-fe0f.png"},{emoji:"🆕",name:"new",shortcodes:["new"],tags:["new","new button"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f195.png"},{emoji:"🆖",name:"ng",shortcodes:["ng"],tags:["ng","ng button"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f196.png"},{emoji:"🅾",name:"o2",shortcodes:["o","o_blood"],tags:["blood type","o","o button (blood type)"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f17e-fe0f.png"},{emoji:"🆗",name:"ok",shortcodes:["ok"],tags:["ok","ok button"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f197.png"},{emoji:"🅿",name:"parking",shortcodes:["parking"],tags:["p","p button","parking"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f17f-fe0f.png"},{emoji:"🆘",name:"sos",shortcodes:["sos"],tags:["help","sos","sos button"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f198.png"},{emoji:"🆙",name:"up",shortcodes:["up2"],tags:["mark","up","up!","up! button"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f199.png"},{emoji:"🆚",name:"vs",shortcodes:["vs"],tags:["versus","vs","vs button"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f19a.png"},{emoji:"🈁",name:"koko",shortcodes:["ja_here","koko"],tags:["japanese","japanese “here” button","katakana","“here”","ココ"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f201.png"},{emoji:"🈂",name:"sa",shortcodes:["ja_service_charge"],tags:["japanese","japanese “service charge” button","katakana","“service charge”","サ"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f202-fe0f.png"},{emoji:"🈷",name:"u6708",shortcodes:["ja_monthly_amount"],tags:["ideograph","japanese","japanese “monthly amount” button","“monthly amount”","月"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f237-fe0f.png"},{emoji:"🈶",name:"u6709",shortcodes:["ja_not_free_of_carge"],tags:["ideograph","japanese","japanese “not free of charge” button","“not free of charge”","有"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f236.png"},{emoji:"🈯",name:"u6307",shortcodes:["ja_reserved"],tags:["ideograph","japanese","japanese “reserved” button","“reserved”","指"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f22f.png"},{emoji:"🉐",name:"ideograph_advantage",shortcodes:["ideograph_advantage","ja_bargain"],tags:["ideograph","japanese","japanese “bargain” button","“bargain”","得"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f250.png"},{emoji:"🈹",name:"u5272",shortcodes:["ja_discount"],tags:["ideograph","japanese","japanese “discount” button","“discount”","割"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f239.png"},{emoji:"🈚",name:"u7121",shortcodes:["ja_free_of_charge"],tags:["ideograph","japanese","japanese “free of charge” button","“free of charge”","無"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f21a.png"},{emoji:"🈲",name:"u7981",shortcodes:["ja_prohibited"],tags:["ideograph","japanese","japanese “prohibited” button","“prohibited”","禁"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f232.png"},{emoji:"🉑",name:"accept",shortcodes:["accept","ja_acceptable"],tags:["ideograph","japanese","japanese “acceptable” button","“acceptable”","可"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f251.png"},{emoji:"🈸",name:"u7533",shortcodes:["ja_application"],tags:["ideograph","japanese","japanese “application” button","“application”","申"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f238.png"},{emoji:"🈴",name:"u5408",shortcodes:["ja_passing_grade"],tags:["ideograph","japanese","japanese “passing grade” button","“passing grade”","合"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f234.png"},{emoji:"🈳",name:"u7a7a",shortcodes:["ja_vacancy"],tags:["ideograph","japanese","japanese “vacancy” button","“vacancy”","空"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f233.png"},{emoji:"㊗",name:"congratulations",shortcodes:["congratulations","ja_congratulations"],tags:["ideograph","japanese","japanese “congratulations” button","“congratulations”","祝"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/3297-fe0f.png"},{emoji:"㊙",name:"secret",shortcodes:["ja_secret","secret"],tags:["ideograph","japanese","japanese “secret” button","“secret”","秘"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/3299-fe0f.png"},{emoji:"🈺",name:"u55b6",shortcodes:["ja_open_for_business"],tags:["ideograph","japanese","japanese “open for business” button","“open for business”","営"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f23a.png"},{emoji:"🈵",name:"u6e80",shortcodes:["ja_no_vacancy"],tags:["ideograph","japanese","japanese “no vacancy” button","“no vacancy”","満"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f235.png"},{emoji:"🔴",name:"red_circle",shortcodes:["red_circle"],tags:["circle","geometric","red"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f534.png"},{emoji:"🟠",name:"orange_circle",shortcodes:["orange_circle"],tags:["circle","orange"],group:"symbols",emoticons:[],version:12,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f7e0.png"},{emoji:"🟡",name:"yellow_circle",shortcodes:["yellow_circle"],tags:["circle","yellow"],group:"symbols",emoticons:[],version:12,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f7e1.png"},{emoji:"🟢",name:"green_circle",shortcodes:["green_circle"],tags:["circle","green"],group:"symbols",emoticons:[],version:12,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f7e2.png"},{emoji:"🔵",name:"large_blue_circle",shortcodes:["blue_circle"],tags:["blue","circle","geometric"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f535.png"},{emoji:"🟣",name:"purple_circle",shortcodes:["purple_circle"],tags:["circle","purple"],group:"symbols",emoticons:[],version:12,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f7e3.png"},{emoji:"🟤",name:"brown_circle",shortcodes:["brown_circle"],tags:["brown","circle"],group:"symbols",emoticons:[],version:12,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f7e4.png"},{emoji:"⚫",name:"black_circle",shortcodes:["black_circle"],tags:["circle","geometric"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/26ab.png"},{emoji:"⚪",name:"white_circle",shortcodes:["white_circle"],tags:["circle","geometric"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/26aa.png"},{emoji:"🟥",name:"red_square",shortcodes:["red_square"],tags:["red","square"],group:"symbols",emoticons:[],version:12,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f7e5.png"},{emoji:"🟧",name:"orange_square",shortcodes:["orange_square"],tags:["orange","square"],group:"symbols",emoticons:[],version:12,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f7e7.png"},{emoji:"🟨",name:"yellow_square",shortcodes:["yellow_square"],tags:["square","yellow"],group:"symbols",emoticons:[],version:12,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f7e8.png"},{emoji:"🟩",name:"green_square",shortcodes:["green_square"],tags:["green","square"],group:"symbols",emoticons:[],version:12,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f7e9.png"},{emoji:"🟦",name:"blue_square",shortcodes:["blue_square"],tags:["blue","square"],group:"symbols",emoticons:[],version:12,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f7e6.png"},{emoji:"🟪",name:"purple_square",shortcodes:["purple_square"],tags:["purple","square"],group:"symbols",emoticons:[],version:12,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f7ea.png"},{emoji:"🟫",name:"brown_square",shortcodes:["brown_square"],tags:["brown","square"],group:"symbols",emoticons:[],version:12,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f7eb.png"},{emoji:"⬛",name:"black_large_square",shortcodes:["black_large_square"],tags:["geometric","square"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/2b1b.png"},{emoji:"⬜",name:"white_large_square",shortcodes:["white_large_square"],tags:["geometric","square"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/2b1c.png"},{emoji:"◼",name:"black_medium_square",shortcodes:["black_medium_square"],tags:["geometric","square"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/25fc-fe0f.png"},{emoji:"◻",name:"white_medium_square",shortcodes:["white_medium_square"],tags:["geometric","square"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/25fb-fe0f.png"},{emoji:"◾",name:"black_medium_small_square",shortcodes:["black_medium_small_square"],tags:["geometric","square"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/25fe.png"},{emoji:"◽",name:"white_medium_small_square",shortcodes:["white_medium_small_square"],tags:["geometric","square"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/25fd.png"},{emoji:"▪",name:"black_small_square",shortcodes:["black_small_square"],tags:["geometric","square"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/25aa-fe0f.png"},{emoji:"▫",name:"white_small_square",shortcodes:["white_small_square"],tags:["geometric","square"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/25ab-fe0f.png"},{emoji:"🔶",name:"large_orange_diamond",shortcodes:["large_orange_diamond"],tags:["diamond","geometric","orange"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f536.png"},{emoji:"🔷",name:"large_blue_diamond",shortcodes:["large_blue_diamond"],tags:["blue","diamond","geometric"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f537.png"},{emoji:"🔸",name:"small_orange_diamond",shortcodes:["small_orange_diamond"],tags:["diamond","geometric","orange"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f538.png"},{emoji:"🔹",name:"small_blue_diamond",shortcodes:["small_blue_diamond"],tags:["blue","diamond","geometric"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f539.png"},{emoji:"🔺",name:"small_red_triangle",shortcodes:["small_red_triangle"],tags:["geometric","red"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f53a.png"},{emoji:"🔻",name:"small_red_triangle_down",shortcodes:["small_red_triangle_down"],tags:["down","geometric","red"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f53b.png"},{emoji:"💠",name:"diamond_shape_with_a_dot_inside",shortcodes:["diamond_shape_with_a_dot_inside","diamond_with_a_dot"],tags:["comic","diamond","geometric","inside"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f4a0.png"},{emoji:"🔘",name:"radio_button",shortcodes:["radio_button"],tags:["button","geometric","radio"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f518.png"},{emoji:"🔳",name:"white_square_button",shortcodes:["white_square_button"],tags:["button","geometric","outlined","square"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f533.png"},{emoji:"🔲",name:"black_square_button",shortcodes:["black_square_button"],tags:["button","geometric","square"],group:"symbols",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f532.png"},{emoji:"🏁",name:"checkered_flag",shortcodes:["checkered_flag"],tags:["checkered","chequered","racing"],group:"flags",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3c1.png"},{emoji:"🚩",name:"triangular_flag_on_post",shortcodes:["triangular_flag","triangular_flag_on_post"],tags:["post"],group:"flags",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f6a9.png"},{emoji:"🎌",name:"crossed_flags",shortcodes:["crossed_flags"],tags:["celebration","cross","crossed","japanese"],group:"flags",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f38c.png"},{emoji:"🏴",name:"black_flag",shortcodes:["black_flag"],tags:["waving"],group:"flags",emoticons:[],version:1,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3f4.png"},{emoji:"🏳",name:"white_flag",shortcodes:["white_flag"],tags:["waving"],group:"flags",emoticons:[],version:.7,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3f3-fe0f.png"},{emoji:"🏳🌈",name:"rainbow_flag",shortcodes:["rainbow_flag"],tags:["pride","rainbow"],group:"flags",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3f3-fe0f-200d-1f308.png"},{emoji:"🏳⚧️",name:"transgender_flag",shortcodes:["transgender_flag"],tags:["flag","light blue","pink","transgender","white"],group:"flags",emoticons:[],version:13,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3f3-fe0f-200d-26a7-fe0f.png"},{emoji:"🏴☠",name:"pirate_flag",shortcodes:["jolly_roger","pirate_flag"],tags:["jolly roger","pirate","plunder","treasure"],group:"flags",emoticons:[],version:11,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3f4-200d-2620-fe0f.png"},{emoji:"🇦🇨",name:"ascension_island",shortcodes:["ascension_island","flag_ac"],tags:["AC","flag","flag: ascension island"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1e6-1f1e8.png"},{emoji:"🇦🇩",name:"andorra",shortcodes:["andorra","flag_ad"],tags:["AD","flag","flag: andorra"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1e6-1f1e9.png"},{emoji:"🇦🇪",name:"united_arab_emirates",shortcodes:["flag_ae","united_arab_emirates"],tags:["AE","flag","flag: united arab emirates"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1e6-1f1ea.png"},{emoji:"🇦🇫",name:"afghanistan",shortcodes:["afghanistan","flag_af"],tags:["AF","flag","flag: afghanistan"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1e6-1f1eb.png"},{emoji:"🇦🇬",name:"antigua_barbuda",shortcodes:["antigua_barbuda","flag_ag"],tags:["AG","flag","flag: antigua & barbuda"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1e6-1f1ec.png"},{emoji:"🇦🇮",name:"anguilla",shortcodes:["anguilla","flag_ai"],tags:["AI","flag","flag: anguilla"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1e6-1f1ee.png"},{emoji:"🇦🇱",name:"albania",shortcodes:["albania","flag_al"],tags:["AL","flag","flag: albania"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1e6-1f1f1.png"},{emoji:"🇦🇲",name:"armenia",shortcodes:["armenia","flag_am"],tags:["AM","flag","flag: armenia"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1e6-1f1f2.png"},{emoji:"🇦🇴",name:"angola",shortcodes:["angola","flag_ao"],tags:["AO","flag","flag: angola"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1e6-1f1f4.png"},{emoji:"🇦🇶",name:"antarctica",shortcodes:["antarctica","flag_aq"],tags:["AQ","flag","flag: antarctica"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1e6-1f1f6.png"},{emoji:"🇦🇷",name:"argentina",shortcodes:["argentina","flag_ar"],tags:["AR","flag","flag: argentina"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1e6-1f1f7.png"},{emoji:"🇦🇸",name:"american_samoa",shortcodes:["american_samoa","flag_as"],tags:["AS","flag","flag: american samoa"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1e6-1f1f8.png"},{emoji:"🇦🇹",name:"austria",shortcodes:["austria","flag_at"],tags:["AT","flag","flag: austria"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1e6-1f1f9.png"},{emoji:"🇦🇺",name:"australia",shortcodes:["australia","flag_au"],tags:["AU","flag","flag: australia"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1e6-1f1fa.png"},{emoji:"🇦🇼",name:"aruba",shortcodes:["aruba","flag_aw"],tags:["AW","flag","flag: aruba"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1e6-1f1fc.png"},{emoji:"🇦🇽",name:"aland_islands",shortcodes:["aland_islands","flag_ax"],tags:["AX","flag","flag: åland islands"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1e6-1f1fd.png"},{emoji:"🇦🇿",name:"azerbaijan",shortcodes:["azerbaijan","flag_az"],tags:["AZ","flag","flag: azerbaijan"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1e6-1f1ff.png"},{emoji:"🇧🇦",name:"bosnia_herzegovina",shortcodes:["bosnia_herzegovina","flag_ba"],tags:["BA","flag","flag: bosnia & herzegovina"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1e7-1f1e6.png"},{emoji:"🇧🇧",name:"barbados",shortcodes:["barbados","flag_bb"],tags:["BB","flag","flag: barbados"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1e7-1f1e7.png"},{emoji:"🇧🇩",name:"bangladesh",shortcodes:["bangladesh","flag_bd"],tags:["BD","flag","flag: bangladesh"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1e7-1f1e9.png"},{emoji:"🇧🇪",name:"belgium",shortcodes:["belgium","flag_be"],tags:["BE","flag","flag: belgium"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1e7-1f1ea.png"},{emoji:"🇧🇫",name:"burkina_faso",shortcodes:["burkina_faso","flag_bf"],tags:["BF","flag","flag: burkina faso"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1e7-1f1eb.png"},{emoji:"🇧🇬",name:"bulgaria",shortcodes:["bulgaria","flag_bg"],tags:["BG","flag","flag: bulgaria"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1e7-1f1ec.png"},{emoji:"🇧🇭",name:"bahrain",shortcodes:["bahrain","flag_bh"],tags:["BH","flag","flag: bahrain"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1e7-1f1ed.png"},{emoji:"🇧🇮",name:"burundi",shortcodes:["burundi","flag_bi"],tags:["BI","flag","flag: burundi"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1e7-1f1ee.png"},{emoji:"🇧🇯",name:"benin",shortcodes:["benin","flag_bj"],tags:["BJ","flag","flag: benin"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1e7-1f1ef.png"},{emoji:"🇧🇱",name:"st_barthelemy",shortcodes:["flag_bl","st_barthelemy"],tags:["BL","flag","flag: st. barthélemy"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1e7-1f1f1.png"},{emoji:"🇧🇲",name:"bermuda",shortcodes:["bermuda","flag_bm"],tags:["BM","flag","flag: bermuda"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1e7-1f1f2.png"},{emoji:"🇧🇳",name:"brunei",shortcodes:["brunei","flag_bn"],tags:["BN","flag","flag: brunei"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1e7-1f1f3.png"},{emoji:"🇧🇴",name:"bolivia",shortcodes:["bolivia","flag_bo"],tags:["BO","flag","flag: bolivia"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1e7-1f1f4.png"},{emoji:"🇧🇶",name:"caribbean_netherlands",shortcodes:["caribbean_netherlands","flag_bq"],tags:["BQ","flag","flag: caribbean netherlands"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1e7-1f1f6.png"},{emoji:"🇧🇷",name:"brazil",shortcodes:["brazil","flag_br"],tags:["BR","flag","flag: brazil"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1e7-1f1f7.png"},{emoji:"🇧🇸",name:"bahamas",shortcodes:["bahamas","flag_bs"],tags:["BS","flag","flag: bahamas"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1e7-1f1f8.png"},{emoji:"🇧🇹",name:"bhutan",shortcodes:["bhutan","flag_bt"],tags:["BT","flag","flag: bhutan"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1e7-1f1f9.png"},{emoji:"🇧🇻",name:"bouvet_island",shortcodes:["bouvet_island","flag_bv"],tags:["BV","flag","flag: bouvet island"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1e7-1f1fb.png"},{emoji:"🇧🇼",name:"botswana",shortcodes:["botswana","flag_bw"],tags:["BW","flag","flag: botswana"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1e7-1f1fc.png"},{emoji:"🇧🇾",name:"belarus",shortcodes:["belarus","flag_by"],tags:["BY","flag","flag: belarus"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1e7-1f1fe.png"},{emoji:"🇧🇿",name:"belize",shortcodes:["belize","flag_bz"],tags:["BZ","flag","flag: belize"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1e7-1f1ff.png"},{emoji:"🇨🇦",name:"canada",shortcodes:["canada","flag_ca"],tags:["CA","flag","flag: canada"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1e8-1f1e6.png"},{emoji:"🇨🇨",name:"cocos_islands",shortcodes:["cocos_islands","flag_cc"],tags:["CC","flag","flag: cocos (keeling) islands"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1e8-1f1e8.png"},{emoji:"🇨🇩",name:"congo_kinshasa",shortcodes:["congo_kinshasa","flag_cd"],tags:["CD","flag","flag: congo - kinshasa"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1e8-1f1e9.png"},{emoji:"🇨🇫",name:"central_african_republic",shortcodes:["central_african_republic","flag_cf"],tags:["CF","flag","flag: central african republic"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1e8-1f1eb.png"},{emoji:"🇨🇬",name:"congo_brazzaville",shortcodes:["congo_brazzaville","flag_cg"],tags:["CG","flag","flag: congo - brazzaville"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1e8-1f1ec.png"},{emoji:"🇨🇭",name:"switzerland",shortcodes:["flag_ch","switzerland"],tags:["CH","flag","flag: switzerland"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1e8-1f1ed.png"},{emoji:"🇨🇮",name:"cote_divoire",shortcodes:["cote_divoire","flag_ci"],tags:["CI","flag","flag: côte d’ivoire"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1e8-1f1ee.png"},{emoji:"🇨🇰",name:"cook_islands",shortcodes:["cook_islands","flag_ck"],tags:["CK","flag","flag: cook islands"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1e8-1f1f0.png"},{emoji:"🇨🇱",name:"chile",shortcodes:["chile","flag_cl"],tags:["CL","flag","flag: chile"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1e8-1f1f1.png"},{emoji:"🇨🇲",name:"cameroon",shortcodes:["cameroon","flag_cm"],tags:["CM","flag","flag: cameroon"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1e8-1f1f2.png"},{emoji:"🇨🇳",name:"cn",shortcodes:["china","flag_cn"],tags:["CN","flag","flag: china"],group:"flags",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1e8-1f1f3.png"},{emoji:"🇨🇴",name:"colombia",shortcodes:["colombia","flag_co"],tags:["CO","flag","flag: colombia"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1e8-1f1f4.png"},{emoji:"🇨🇵",name:"clipperton_island",shortcodes:["clipperton_island","flag_cp"],tags:["CP","flag","flag: clipperton island"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1e8-1f1f5.png"},{emoji:"🇨🇷",name:"costa_rica",shortcodes:["costa_rica","flag_cr"],tags:["CR","flag","flag: costa rica"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1e8-1f1f7.png"},{emoji:"🇨🇺",name:"cuba",shortcodes:["cuba","flag_cu"],tags:["CU","flag","flag: cuba"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1e8-1f1fa.png"},{emoji:"🇨🇻",name:"cape_verde",shortcodes:["cape_verde","flag_cv"],tags:["CV","flag","flag: cape verde"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1e8-1f1fb.png"},{emoji:"🇨🇼",name:"curacao",shortcodes:["curacao","flag_cw"],tags:["CW","flag","flag: curaçao"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1e8-1f1fc.png"},{emoji:"🇨🇽",name:"christmas_island",shortcodes:["christmas_island","flag_cx"],tags:["CX","flag","flag: christmas island"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1e8-1f1fd.png"},{emoji:"🇨🇾",name:"cyprus",shortcodes:["cyprus","flag_cy"],tags:["CY","flag","flag: cyprus"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1e8-1f1fe.png"},{emoji:"🇨🇿",name:"czech_republic",shortcodes:["czech_republic","czechia","flag_cz"],tags:["CZ","flag","flag: czechia"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1e8-1f1ff.png"},{emoji:"🇩🇪",name:"de",shortcodes:["flag_de","germany"],tags:["DE","flag","flag: germany"],group:"flags",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1e9-1f1ea.png"},{emoji:"🇩🇬",name:"diego_garcia",shortcodes:["diego_garcia","flag_dg"],tags:["DG","flag","flag: diego garcia"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1e9-1f1ec.png"},{emoji:"🇩🇯",name:"djibouti",shortcodes:["djibouti","flag_dj"],tags:["DJ","flag","flag: djibouti"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1e9-1f1ef.png"},{emoji:"🇩🇰",name:"denmark",shortcodes:["denmark","flag_dk"],tags:["DK","flag","flag: denmark"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1e9-1f1f0.png"},{emoji:"🇩🇲",name:"dominica",shortcodes:["dominica","flag_dm"],tags:["DM","flag","flag: dominica"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1e9-1f1f2.png"},{emoji:"🇩🇴",name:"dominican_republic",shortcodes:["dominican_republic","flag_do"],tags:["DO","flag","flag: dominican republic"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1e9-1f1f4.png"},{emoji:"🇩🇿",name:"algeria",shortcodes:["algeria","flag_dz"],tags:["DZ","flag","flag: algeria"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1e9-1f1ff.png"},{emoji:"🇪🇦",name:"ceuta_melilla",shortcodes:["ceuta_melilla","flag_ea"],tags:["EA","flag","flag: ceuta & melilla"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1ea-1f1e6.png"},{emoji:"🇪🇨",name:"ecuador",shortcodes:["ecuador","flag_ec"],tags:["EC","flag","flag: ecuador"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1ea-1f1e8.png"},{emoji:"🇪🇪",name:"estonia",shortcodes:["estonia","flag_ee"],tags:["EE","flag","flag: estonia"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1ea-1f1ea.png"},{emoji:"🇪🇬",name:"egypt",shortcodes:["egypt","flag_eg"],tags:["EG","flag","flag: egypt"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1ea-1f1ec.png"},{emoji:"🇪🇭",name:"western_sahara",shortcodes:["flag_eh","western_sahara"],tags:["EH","flag","flag: western sahara"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1ea-1f1ed.png"},{emoji:"🇪🇷",name:"eritrea",shortcodes:["eritrea","flag_er"],tags:["ER","flag","flag: eritrea"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1ea-1f1f7.png"},{emoji:"🇪🇸",name:"es",shortcodes:["flag_es","spain"],tags:["ES","flag","flag: spain"],group:"flags",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1ea-1f1f8.png"},{emoji:"🇪🇹",name:"ethiopia",shortcodes:["ethiopia","flag_et"],tags:["ET","flag","flag: ethiopia"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1ea-1f1f9.png"},{emoji:"🇪🇺",name:"eu",shortcodes:["european_union","flag_eu"],tags:["EU","flag","flag: european union"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1ea-1f1fa.png"},{emoji:"🇫🇮",name:"finland",shortcodes:["finland","flag_fi"],tags:["FI","flag","flag: finland"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1eb-1f1ee.png"},{emoji:"🇫🇯",name:"fiji",shortcodes:["fiji","flag_fj"],tags:["FJ","flag","flag: fiji"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1eb-1f1ef.png"},{emoji:"🇫🇰",name:"falkland_islands",shortcodes:["falkland_islands","flag_fk"],tags:["FK","flag","flag: falkland islands"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1eb-1f1f0.png"},{emoji:"🇫🇲",name:"micronesia",shortcodes:["flag_fm","micronesia"],tags:["FM","flag","flag: micronesia"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1eb-1f1f2.png"},{emoji:"🇫🇴",name:"faroe_islands",shortcodes:["faroe_islands","flag_fo"],tags:["FO","flag","flag: faroe islands"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1eb-1f1f4.png"},{emoji:"🇫🇷",name:"fr",shortcodes:["flag_fr","france"],tags:["FR","flag","flag: france"],group:"flags",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1eb-1f1f7.png"},{emoji:"🇬🇦",name:"gabon",shortcodes:["flag_ga","gabon"],tags:["GA","flag","flag: gabon"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1ec-1f1e6.png"},{emoji:"🇬🇧",name:"gb",shortcodes:["flag_gb","uk","united_kingdom"],tags:["GB","flag","flag: united kingdom"],group:"flags",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1ec-1f1e7.png"},{emoji:"🇬🇩",name:"grenada",shortcodes:["flag_gd","grenada"],tags:["GD","flag","flag: grenada"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1ec-1f1e9.png"},{emoji:"🇬🇪",name:"georgia",shortcodes:["flag_ge","georgia"],tags:["GE","flag","flag: georgia"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1ec-1f1ea.png"},{emoji:"🇬🇫",name:"french_guiana",shortcodes:["flag_gf","french_guiana"],tags:["GF","flag","flag: french guiana"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1ec-1f1eb.png"},{emoji:"🇬🇬",name:"guernsey",shortcodes:["flag_gg","guernsey"],tags:["GG","flag","flag: guernsey"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1ec-1f1ec.png"},{emoji:"🇬🇭",name:"ghana",shortcodes:["flag_gh","ghana"],tags:["GH","flag","flag: ghana"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1ec-1f1ed.png"},{emoji:"🇬🇮",name:"gibraltar",shortcodes:["flag_gi","gibraltar"],tags:["GI","flag","flag: gibraltar"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1ec-1f1ee.png"},{emoji:"🇬🇱",name:"greenland",shortcodes:["flag_gl","greenland"],tags:["GL","flag","flag: greenland"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1ec-1f1f1.png"},{emoji:"🇬🇲",name:"gambia",shortcodes:["flag_gm","gambia"],tags:["GM","flag","flag: gambia"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1ec-1f1f2.png"},{emoji:"🇬🇳",name:"guinea",shortcodes:["flag_gn","guinea"],tags:["GN","flag","flag: guinea"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1ec-1f1f3.png"},{emoji:"🇬🇵",name:"guadeloupe",shortcodes:["flag_gp","guadeloupe"],tags:["GP","flag","flag: guadeloupe"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1ec-1f1f5.png"},{emoji:"🇬🇶",name:"equatorial_guinea",shortcodes:["equatorial_guinea","flag_gq"],tags:["GQ","flag","flag: equatorial guinea"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1ec-1f1f6.png"},{emoji:"🇬🇷",name:"greece",shortcodes:["flag_gr","greece"],tags:["GR","flag","flag: greece"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1ec-1f1f7.png"},{emoji:"🇬🇸",name:"south_georgia_south_sandwich_islands",shortcodes:["flag_gs","south_georgia_south_sandwich_islands"],tags:["GS","flag","flag: south georgia & south sandwich islands"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1ec-1f1f8.png"},{emoji:"🇬🇹",name:"guatemala",shortcodes:["flag_gt","guatemala"],tags:["GT","flag","flag: guatemala"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1ec-1f1f9.png"},{emoji:"🇬🇺",name:"guam",shortcodes:["flag_gu","guam"],tags:["GU","flag","flag: guam"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1ec-1f1fa.png"},{emoji:"🇬🇼",name:"guinea_bissau",shortcodes:["flag_gw","guinea_bissau"],tags:["GW","flag","flag: guinea-bissau"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1ec-1f1fc.png"},{emoji:"🇬🇾",name:"guyana",shortcodes:["flag_gy","guyana"],tags:["GY","flag","flag: guyana"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1ec-1f1fe.png"},{emoji:"🇭🇰",name:"hong_kong",shortcodes:["flag_hk","hong_kong"],tags:["HK","flag","flag: hong kong sar china"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1ed-1f1f0.png"},{emoji:"🇭🇲",name:"heard_mcdonald_islands",shortcodes:["flag_hm","heard_mcdonald_islands"],tags:["HM","flag","flag: heard & mcdonald islands"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1ed-1f1f2.png"},{emoji:"🇭🇳",name:"honduras",shortcodes:["flag_hn","honduras"],tags:["HN","flag","flag: honduras"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1ed-1f1f3.png"},{emoji:"🇭🇷",name:"croatia",shortcodes:["croatia","flag_hr"],tags:["HR","flag","flag: croatia"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1ed-1f1f7.png"},{emoji:"🇭🇹",name:"haiti",shortcodes:["flag_ht","haiti"],tags:["HT","flag","flag: haiti"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1ed-1f1f9.png"},{emoji:"🇭🇺",name:"hungary",shortcodes:["flag_hu","hungary"],tags:["HU","flag","flag: hungary"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1ed-1f1fa.png"},{emoji:"🇮🇨",name:"canary_islands",shortcodes:["canary_islands","flag_ic"],tags:["IC","flag","flag: canary islands"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1ee-1f1e8.png"},{emoji:"🇮🇩",name:"indonesia",shortcodes:["flag_id","indonesia"],tags:["ID","flag","flag: indonesia"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1ee-1f1e9.png"},{emoji:"🇮🇪",name:"ireland",shortcodes:["flag_ie","ireland"],tags:["IE","flag","flag: ireland"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1ee-1f1ea.png"},{emoji:"🇮🇱",name:"israel",shortcodes:["flag_il","israel"],tags:["IL","flag","flag: israel"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1ee-1f1f1.png"},{emoji:"🇮🇲",name:"isle_of_man",shortcodes:["flag_im","isle_of_man"],tags:["IM","flag","flag: isle of man"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1ee-1f1f2.png"},{emoji:"🇮🇳",name:"india",shortcodes:["flag_in","india"],tags:["IN","flag","flag: india"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1ee-1f1f3.png"},{emoji:"🇮🇴",name:"british_indian_ocean_territory",shortcodes:["british_indian_ocean_territory","flag_io"],tags:["IO","flag","flag: british indian ocean territory"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1ee-1f1f4.png"},{emoji:"🇮🇶",name:"iraq",shortcodes:["flag_iq","iraq"],tags:["IQ","flag","flag: iraq"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1ee-1f1f6.png"},{emoji:"🇮🇷",name:"iran",shortcodes:["flag_ir","iran"],tags:["IR","flag","flag: iran"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1ee-1f1f7.png"},{emoji:"🇮🇸",name:"iceland",shortcodes:["flag_is","iceland"],tags:["IS","flag","flag: iceland"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1ee-1f1f8.png"},{emoji:"🇮🇹",name:"it",shortcodes:["flag_it","italy"],tags:["IT","flag","flag: italy"],group:"flags",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1ee-1f1f9.png"},{emoji:"🇯🇪",name:"jersey",shortcodes:["flag_je","jersey"],tags:["JE","flag","flag: jersey"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1ef-1f1ea.png"},{emoji:"🇯🇲",name:"jamaica",shortcodes:["flag_jm","jamaica"],tags:["JM","flag","flag: jamaica"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1ef-1f1f2.png"},{emoji:"🇯🇴",name:"jordan",shortcodes:["flag_jo","jordan"],tags:["JO","flag","flag: jordan"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1ef-1f1f4.png"},{emoji:"🇯🇵",name:"jp",shortcodes:["flag_jp","japan"],tags:["JP","flag","flag: japan"],group:"flags",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1ef-1f1f5.png"},{emoji:"🇰🇪",name:"kenya",shortcodes:["flag_ke","kenya"],tags:["KE","flag","flag: kenya"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f0-1f1ea.png"},{emoji:"🇰🇬",name:"kyrgyzstan",shortcodes:["flag_kg","kyrgyzstan"],tags:["KG","flag","flag: kyrgyzstan"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f0-1f1ec.png"},{emoji:"🇰🇭",name:"cambodia",shortcodes:["cambodia","flag_kh"],tags:["KH","flag","flag: cambodia"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f0-1f1ed.png"},{emoji:"🇰🇮",name:"kiribati",shortcodes:["flag_ki","kiribati"],tags:["KI","flag","flag: kiribati"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f0-1f1ee.png"},{emoji:"🇰🇲",name:"comoros",shortcodes:["comoros","flag_km"],tags:["KM","flag","flag: comoros"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f0-1f1f2.png"},{emoji:"🇰🇳",name:"st_kitts_nevis",shortcodes:["flag_kn","st_kitts_nevis"],tags:["KN","flag","flag: st. kitts & nevis"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f0-1f1f3.png"},{emoji:"🇰🇵",name:"north_korea",shortcodes:["flag_kp","north_korea"],tags:["KP","flag","flag: north korea"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f0-1f1f5.png"},{emoji:"🇰🇷",name:"kr",shortcodes:["flag_kr","south_korea"],tags:["KR","flag","flag: south korea"],group:"flags",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f0-1f1f7.png"},{emoji:"🇰🇼",name:"kuwait",shortcodes:["flag_kw","kuwait"],tags:["KW","flag","flag: kuwait"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f0-1f1fc.png"},{emoji:"🇰🇾",name:"cayman_islands",shortcodes:["cayman_islands","flag_ky"],tags:["KY","flag","flag: cayman islands"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f0-1f1fe.png"},{emoji:"🇰🇿",name:"kazakhstan",shortcodes:["flag_kz","kazakhstan"],tags:["KZ","flag","flag: kazakhstan"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f0-1f1ff.png"},{emoji:"🇱🇦",name:"laos",shortcodes:["flag_la","laos"],tags:["LA","flag","flag: laos"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f1-1f1e6.png"},{emoji:"🇱🇧",name:"lebanon",shortcodes:["flag_lb","lebanon"],tags:["LB","flag","flag: lebanon"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f1-1f1e7.png"},{emoji:"🇱🇨",name:"st_lucia",shortcodes:["flag_lc","st_lucia"],tags:["LC","flag","flag: st. lucia"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f1-1f1e8.png"},{emoji:"🇱🇮",name:"liechtenstein",shortcodes:["flag_li","liechtenstein"],tags:["LI","flag","flag: liechtenstein"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f1-1f1ee.png"},{emoji:"🇱🇰",name:"sri_lanka",shortcodes:["flag_lk","sri_lanka"],tags:["LK","flag","flag: sri lanka"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f1-1f1f0.png"},{emoji:"🇱🇷",name:"liberia",shortcodes:["flag_lr","liberia"],tags:["LR","flag","flag: liberia"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f1-1f1f7.png"},{emoji:"🇱🇸",name:"lesotho",shortcodes:["flag_ls","lesotho"],tags:["LS","flag","flag: lesotho"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f1-1f1f8.png"},{emoji:"🇱🇹",name:"lithuania",shortcodes:["flag_lt","lithuania"],tags:["LT","flag","flag: lithuania"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f1-1f1f9.png"},{emoji:"🇱🇺",name:"luxembourg",shortcodes:["flag_lu","luxembourg"],tags:["LU","flag","flag: luxembourg"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f1-1f1fa.png"},{emoji:"🇱🇻",name:"latvia",shortcodes:["flag_lv","latvia"],tags:["LV","flag","flag: latvia"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f1-1f1fb.png"},{emoji:"🇱🇾",name:"libya",shortcodes:["flag_ly","libya"],tags:["LY","flag","flag: libya"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f1-1f1fe.png"},{emoji:"🇲🇦",name:"morocco",shortcodes:["flag_ma","morocco"],tags:["MA","flag","flag: morocco"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f2-1f1e6.png"},{emoji:"🇲🇨",name:"monaco",shortcodes:["flag_mc","monaco"],tags:["MC","flag","flag: monaco"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f2-1f1e8.png"},{emoji:"🇲🇩",name:"moldova",shortcodes:["flag_md","moldova"],tags:["MD","flag","flag: moldova"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f2-1f1e9.png"},{emoji:"🇲🇪",name:"montenegro",shortcodes:["flag_me","montenegro"],tags:["ME","flag","flag: montenegro"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f2-1f1ea.png"},{emoji:"🇲🇫",name:"st_martin",shortcodes:["flag_mf","st_martin"],tags:["MF","flag","flag: st. martin"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f2-1f1eb.png"},{emoji:"🇲🇬",name:"madagascar",shortcodes:["flag_mg","madagascar"],tags:["MG","flag","flag: madagascar"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f2-1f1ec.png"},{emoji:"🇲🇭",name:"marshall_islands",shortcodes:["flag_mh","marshall_islands"],tags:["MH","flag","flag: marshall islands"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f2-1f1ed.png"},{emoji:"🇲🇰",name:"macedonia",shortcodes:["flag_mk","macedonia"],tags:["MK","flag","flag: north macedonia"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f2-1f1f0.png"},{emoji:"🇲🇱",name:"mali",shortcodes:["flag_ml","mali"],tags:["ML","flag","flag: mali"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f2-1f1f1.png"},{emoji:"🇲🇲",name:"myanmar",shortcodes:["burma","flag_mm","myanmar"],tags:["MM","flag","flag: myanmar (burma)"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f2-1f1f2.png"},{emoji:"🇲🇳",name:"mongolia",shortcodes:["flag_mn","mongolia"],tags:["MN","flag","flag: mongolia"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f2-1f1f3.png"},{emoji:"🇲🇴",name:"macau",shortcodes:["flag_mo","macao","macau"],tags:["MO","flag","flag: macao sar china"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f2-1f1f4.png"},{emoji:"🇲🇵",name:"northern_mariana_islands",shortcodes:["flag_mp","northern_mariana_islands"],tags:["MP","flag","flag: northern mariana islands"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f2-1f1f5.png"},{emoji:"🇲🇶",name:"martinique",shortcodes:["flag_mq","martinique"],tags:["MQ","flag","flag: martinique"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f2-1f1f6.png"},{emoji:"🇲🇷",name:"mauritania",shortcodes:["flag_mr","mauritania"],tags:["MR","flag","flag: mauritania"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f2-1f1f7.png"},{emoji:"🇲🇸",name:"montserrat",shortcodes:["flag_ms","montserrat"],tags:["MS","flag","flag: montserrat"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f2-1f1f8.png"},{emoji:"🇲🇹",name:"malta",shortcodes:["flag_mt","malta"],tags:["MT","flag","flag: malta"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f2-1f1f9.png"},{emoji:"🇲🇺",name:"mauritius",shortcodes:["flag_mu","mauritius"],tags:["MU","flag","flag: mauritius"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f2-1f1fa.png"},{emoji:"🇲🇻",name:"maldives",shortcodes:["flag_mv","maldives"],tags:["MV","flag","flag: maldives"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f2-1f1fb.png"},{emoji:"🇲🇼",name:"malawi",shortcodes:["flag_mw","malawi"],tags:["MW","flag","flag: malawi"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f2-1f1fc.png"},{emoji:"🇲🇽",name:"mexico",shortcodes:["flag_mx","mexico"],tags:["MX","flag","flag: mexico"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f2-1f1fd.png"},{emoji:"🇲🇾",name:"malaysia",shortcodes:["flag_my","malaysia"],tags:["MY","flag","flag: malaysia"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f2-1f1fe.png"},{emoji:"🇲🇿",name:"mozambique",shortcodes:["flag_mz","mozambique"],tags:["MZ","flag","flag: mozambique"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f2-1f1ff.png"},{emoji:"🇳🇦",name:"namibia",shortcodes:["flag_na","namibia"],tags:["NA","flag","flag: namibia"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f3-1f1e6.png"},{emoji:"🇳🇨",name:"new_caledonia",shortcodes:["flag_nc","new_caledonia"],tags:["NC","flag","flag: new caledonia"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f3-1f1e8.png"},{emoji:"🇳🇪",name:"niger",shortcodes:["flag_ne","niger"],tags:["NE","flag","flag: niger"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f3-1f1ea.png"},{emoji:"🇳🇫",name:"norfolk_island",shortcodes:["flag_nf","norfolk_island"],tags:["NF","flag","flag: norfolk island"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f3-1f1eb.png"},{emoji:"🇳🇬",name:"nigeria",shortcodes:["flag_ng","nigeria"],tags:["NG","flag","flag: nigeria"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f3-1f1ec.png"},{emoji:"🇳🇮",name:"nicaragua",shortcodes:["flag_ni","nicaragua"],tags:["NI","flag","flag: nicaragua"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f3-1f1ee.png"},{emoji:"🇳🇱",name:"netherlands",shortcodes:["flag_nl","netherlands"],tags:["NL","flag","flag: netherlands"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f3-1f1f1.png"},{emoji:"🇳🇴",name:"norway",shortcodes:["flag_no","norway"],tags:["NO","flag","flag: norway"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f3-1f1f4.png"},{emoji:"🇳🇵",name:"nepal",shortcodes:["flag_np","nepal"],tags:["NP","flag","flag: nepal"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f3-1f1f5.png"},{emoji:"🇳🇷",name:"nauru",shortcodes:["flag_nr","nauru"],tags:["NR","flag","flag: nauru"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f3-1f1f7.png"},{emoji:"🇳🇺",name:"niue",shortcodes:["flag_nu","niue"],tags:["NU","flag","flag: niue"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f3-1f1fa.png"},{emoji:"🇳🇿",name:"new_zealand",shortcodes:["flag_nz","new_zealand"],tags:["NZ","flag","flag: new zealand"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f3-1f1ff.png"},{emoji:"🇴🇲",name:"oman",shortcodes:["flag_om","oman"],tags:["OM","flag","flag: oman"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f4-1f1f2.png"},{emoji:"🇵🇦",name:"panama",shortcodes:["flag_pa","panama"],tags:["PA","flag","flag: panama"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f5-1f1e6.png"},{emoji:"🇵🇪",name:"peru",shortcodes:["flag_pe","peru"],tags:["PE","flag","flag: peru"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f5-1f1ea.png"},{emoji:"🇵🇫",name:"french_polynesia",shortcodes:["flag_pf","french_polynesia"],tags:["PF","flag","flag: french polynesia"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f5-1f1eb.png"},{emoji:"🇵🇬",name:"papua_new_guinea",shortcodes:["flag_pg","papua_new_guinea"],tags:["PG","flag","flag: papua new guinea"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f5-1f1ec.png"},{emoji:"🇵🇭",name:"philippines",shortcodes:["flag_ph","philippines"],tags:["PH","flag","flag: philippines"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f5-1f1ed.png"},{emoji:"🇵🇰",name:"pakistan",shortcodes:["flag_pk","pakistan"],tags:["PK","flag","flag: pakistan"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f5-1f1f0.png"},{emoji:"🇵🇱",name:"poland",shortcodes:["flag_pl","poland"],tags:["PL","flag","flag: poland"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f5-1f1f1.png"},{emoji:"🇵🇲",name:"st_pierre_miquelon",shortcodes:["flag_pm","st_pierre_miquelon"],tags:["PM","flag","flag: st. pierre & miquelon"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f5-1f1f2.png"},{emoji:"🇵🇳",name:"pitcairn_islands",shortcodes:["flag_pn","pitcairn_islands"],tags:["PN","flag","flag: pitcairn islands"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f5-1f1f3.png"},{emoji:"🇵🇷",name:"puerto_rico",shortcodes:["flag_pr","puerto_rico"],tags:["PR","flag","flag: puerto rico"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f5-1f1f7.png"},{emoji:"🇵🇸",name:"palestinian_territories",shortcodes:["flag_ps","palestinian_territories"],tags:["PS","flag","flag: palestinian territories"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f5-1f1f8.png"},{emoji:"🇵🇹",name:"portugal",shortcodes:["flag_pt","portugal"],tags:["PT","flag","flag: portugal"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f5-1f1f9.png"},{emoji:"🇵🇼",name:"palau",shortcodes:["flag_pw","palau"],tags:["PW","flag","flag: palau"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f5-1f1fc.png"},{emoji:"🇵🇾",name:"paraguay",shortcodes:["flag_py","paraguay"],tags:["PY","flag","flag: paraguay"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f5-1f1fe.png"},{emoji:"🇶🇦",name:"qatar",shortcodes:["flag_qa","qatar"],tags:["QA","flag","flag: qatar"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f6-1f1e6.png"},{emoji:"🇷🇪",name:"reunion",shortcodes:["flag_re","reunion"],tags:["RE","flag","flag: réunion"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f7-1f1ea.png"},{emoji:"🇷🇴",name:"romania",shortcodes:["flag_ro","romania"],tags:["RO","flag","flag: romania"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f7-1f1f4.png"},{emoji:"🇷🇸",name:"serbia",shortcodes:["flag_rs","serbia"],tags:["RS","flag","flag: serbia"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f7-1f1f8.png"},{emoji:"🇷🇺",name:"ru",shortcodes:["flag_ru","russia"],tags:["RU","flag","flag: russia"],group:"flags",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f7-1f1fa.png"},{emoji:"🇷🇼",name:"rwanda",shortcodes:["flag_rw","rwanda"],tags:["RW","flag","flag: rwanda"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f7-1f1fc.png"},{emoji:"🇸🇦",name:"saudi_arabia",shortcodes:["flag_sa","saudi_arabia"],tags:["SA","flag","flag: saudi arabia"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f8-1f1e6.png"},{emoji:"🇸🇧",name:"solomon_islands",shortcodes:["flag_sb","solomon_islands"],tags:["SB","flag","flag: solomon islands"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f8-1f1e7.png"},{emoji:"🇸🇨",name:"seychelles",shortcodes:["flag_sc","seychelles"],tags:["SC","flag","flag: seychelles"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f8-1f1e8.png"},{emoji:"🇸🇩",name:"sudan",shortcodes:["flag_sd","sudan"],tags:["SD","flag","flag: sudan"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f8-1f1e9.png"},{emoji:"🇸🇪",name:"sweden",shortcodes:["flag_se","sweden"],tags:["SE","flag","flag: sweden"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f8-1f1ea.png"},{emoji:"🇸🇬",name:"singapore",shortcodes:["flag_sg","singapore"],tags:["SG","flag","flag: singapore"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f8-1f1ec.png"},{emoji:"🇸🇭",name:"st_helena",shortcodes:["flag_sh","st_helena"],tags:["SH","flag","flag: st. helena"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f8-1f1ed.png"},{emoji:"🇸🇮",name:"slovenia",shortcodes:["flag_si","slovenia"],tags:["SI","flag","flag: slovenia"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f8-1f1ee.png"},{emoji:"🇸🇯",name:"svalbard_jan_mayen",shortcodes:["flag_sj","svalbard_jan_mayen"],tags:["SJ","flag","flag: svalbard & jan mayen"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f8-1f1ef.png"},{emoji:"🇸🇰",name:"slovakia",shortcodes:["flag_sk","slovakia"],tags:["SK","flag","flag: slovakia"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f8-1f1f0.png"},{emoji:"🇸🇱",name:"sierra_leone",shortcodes:["flag_sl","sierra_leone"],tags:["SL","flag","flag: sierra leone"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f8-1f1f1.png"},{emoji:"🇸🇲",name:"san_marino",shortcodes:["flag_sm","san_marino"],tags:["SM","flag","flag: san marino"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f8-1f1f2.png"},{emoji:"🇸🇳",name:"senegal",shortcodes:["flag_sn","senegal"],tags:["SN","flag","flag: senegal"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f8-1f1f3.png"},{emoji:"🇸🇴",name:"somalia",shortcodes:["flag_so","somalia"],tags:["SO","flag","flag: somalia"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f8-1f1f4.png"},{emoji:"🇸🇷",name:"suriname",shortcodes:["flag_sr","suriname"],tags:["SR","flag","flag: suriname"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f8-1f1f7.png"},{emoji:"🇸🇸",name:"south_sudan",shortcodes:["flag_ss","south_sudan"],tags:["SS","flag","flag: south sudan"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f8-1f1f8.png"},{emoji:"🇸🇹",name:"sao_tome_principe",shortcodes:["flag_st","sao_tome_principe"],tags:["ST","flag","flag: são tomé & príncipe"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f8-1f1f9.png"},{emoji:"🇸🇻",name:"el_salvador",shortcodes:["el_salvador","flag_sv"],tags:["SV","flag","flag: el salvador"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f8-1f1fb.png"},{emoji:"🇸🇽",name:"sint_maarten",shortcodes:["flag_sx","sint_maarten"],tags:["SX","flag","flag: sint maarten"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f8-1f1fd.png"},{emoji:"🇸🇾",name:"syria",shortcodes:["flag_sy","syria"],tags:["SY","flag","flag: syria"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f8-1f1fe.png"},{emoji:"🇸🇿",name:"swaziland",shortcodes:["eswatini","flag_sz","swaziland"],tags:["SZ","flag","flag: eswatini"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f8-1f1ff.png"},{emoji:"🇹🇦",name:"tristan_da_cunha",shortcodes:["flag_ta","tristan_da_cunha"],tags:["TA","flag","flag: tristan da cunha"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f9-1f1e6.png"},{emoji:"🇹🇨",name:"turks_caicos_islands",shortcodes:["flag_tc","turks_caicos_islands"],tags:["TC","flag","flag: turks & caicos islands"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f9-1f1e8.png"},{emoji:"🇹🇩",name:"chad",shortcodes:["chad","flag_td"],tags:["TD","flag","flag: chad"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f9-1f1e9.png"},{emoji:"🇹🇫",name:"french_southern_territories",shortcodes:["flag_tf","french_southern_territories"],tags:["TF","flag","flag: french southern territories"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f9-1f1eb.png"},{emoji:"🇹🇬",name:"togo",shortcodes:["flag_tg","togo"],tags:["TG","flag","flag: togo"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f9-1f1ec.png"},{emoji:"🇹🇭",name:"thailand",shortcodes:["flag_th","thailand"],tags:["TH","flag","flag: thailand"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f9-1f1ed.png"},{emoji:"🇹🇯",name:"tajikistan",shortcodes:["flag_tj","tajikistan"],tags:["TJ","flag","flag: tajikistan"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f9-1f1ef.png"},{emoji:"🇹🇰",name:"tokelau",shortcodes:["flag_tk","tokelau"],tags:["TK","flag","flag: tokelau"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f9-1f1f0.png"},{emoji:"🇹🇱",name:"timor_leste",shortcodes:["flag_tl","timor_leste"],tags:["TL","flag","flag: timor-leste"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f9-1f1f1.png"},{emoji:"🇹🇲",name:"turkmenistan",shortcodes:["flag_tm","turkmenistan"],tags:["TM","flag","flag: turkmenistan"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f9-1f1f2.png"},{emoji:"🇹🇳",name:"tunisia",shortcodes:["flag_tn","tunisia"],tags:["TN","flag","flag: tunisia"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f9-1f1f3.png"},{emoji:"🇹🇴",name:"tonga",shortcodes:["flag_to","tonga"],tags:["TO","flag","flag: tonga"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f9-1f1f4.png"},{emoji:"🇹🇷",name:"tr",shortcodes:["flag_tr","turkey_tr"],tags:["TR","flag","flag: türkiye"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f9-1f1f7.png"},{emoji:"🇹🇹",name:"trinidad_tobago",shortcodes:["flag_tt","trinidad_tobago"],tags:["TT","flag","flag: trinidad & tobago"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f9-1f1f9.png"},{emoji:"🇹🇻",name:"tuvalu",shortcodes:["flag_tv","tuvalu"],tags:["TV","flag","flag: tuvalu"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f9-1f1fb.png"},{emoji:"🇹🇼",name:"taiwan",shortcodes:["flag_tw","taiwan"],tags:["TW","flag","flag: taiwan"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f9-1f1fc.png"},{emoji:"🇹🇿",name:"tanzania",shortcodes:["flag_tz","tanzania"],tags:["TZ","flag","flag: tanzania"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1f9-1f1ff.png"},{emoji:"🇺🇦",name:"ukraine",shortcodes:["flag_ua","ukraine"],tags:["UA","flag","flag: ukraine"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1fa-1f1e6.png"},{emoji:"🇺🇬",name:"uganda",shortcodes:["flag_ug","uganda"],tags:["UG","flag","flag: uganda"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1fa-1f1ec.png"},{emoji:"🇺🇲",name:"us_outlying_islands",shortcodes:["flag_um","us_outlying_islands"],tags:["UM","flag","flag: u.s. outlying islands"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1fa-1f1f2.png"},{emoji:"🇺🇳",name:"united_nations",shortcodes:["flag_un","un","united_nations"],tags:["UN","flag","flag: united nations"],group:"flags",emoticons:[],version:4,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1fa-1f1f3.png"},{emoji:"🇺🇸",name:"us",shortcodes:["flag_us","united_states","usa"],tags:["US","flag","flag: united states"],group:"flags",emoticons:[],version:.6,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1fa-1f1f8.png"},{emoji:"🇺🇾",name:"uruguay",shortcodes:["flag_uy","uruguay"],tags:["UY","flag","flag: uruguay"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1fa-1f1fe.png"},{emoji:"🇺🇿",name:"uzbekistan",shortcodes:["flag_uz","uzbekistan"],tags:["UZ","flag","flag: uzbekistan"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1fa-1f1ff.png"},{emoji:"🇻🇦",name:"vatican_city",shortcodes:["flag_va","vatican_city"],tags:["VA","flag","flag: vatican city"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1fb-1f1e6.png"},{emoji:"🇻🇨",name:"st_vincent_grenadines",shortcodes:["flag_vc","st_vincent_grenadines"],tags:["VC","flag","flag: st. vincent & grenadines"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1fb-1f1e8.png"},{emoji:"🇻🇪",name:"venezuela",shortcodes:["flag_ve","venezuela"],tags:["VE","flag","flag: venezuela"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1fb-1f1ea.png"},{emoji:"🇻🇬",name:"british_virgin_islands",shortcodes:["british_virgin_islands","flag_vg"],tags:["VG","flag","flag: british virgin islands"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1fb-1f1ec.png"},{emoji:"🇻🇮",name:"us_virgin_islands",shortcodes:["flag_vi","us_virgin_islands"],tags:["VI","flag","flag: u.s. virgin islands"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1fb-1f1ee.png"},{emoji:"🇻🇳",name:"vietnam",shortcodes:["flag_vn","vietnam"],tags:["VN","flag","flag: vietnam"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1fb-1f1f3.png"},{emoji:"🇻🇺",name:"vanuatu",shortcodes:["flag_vu","vanuatu"],tags:["VU","flag","flag: vanuatu"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1fb-1f1fa.png"},{emoji:"🇼🇫",name:"wallis_futuna",shortcodes:["flag_wf","wallis_futuna"],tags:["WF","flag","flag: wallis & futuna"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1fc-1f1eb.png"},{emoji:"🇼🇸",name:"samoa",shortcodes:["flag_ws","samoa"],tags:["WS","flag","flag: samoa"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1fc-1f1f8.png"},{emoji:"🇽🇰",name:"kosovo",shortcodes:["flag_xk","kosovo"],tags:["XK","flag","flag: kosovo"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1fd-1f1f0.png"},{emoji:"🇾🇪",name:"yemen",shortcodes:["flag_ye","yemen"],tags:["YE","flag","flag: yemen"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1fe-1f1ea.png"},{emoji:"🇾🇹",name:"mayotte",shortcodes:["flag_yt","mayotte"],tags:["YT","flag","flag: mayotte"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1fe-1f1f9.png"},{emoji:"🇿🇦",name:"south_africa",shortcodes:["flag_za","south_africa"],tags:["ZA","flag","flag: south africa"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1ff-1f1e6.png"},{emoji:"🇿🇲",name:"zambia",shortcodes:["flag_zm","zambia"],tags:["ZM","flag","flag: zambia"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1ff-1f1f2.png"},{emoji:"🇿🇼",name:"zimbabwe",shortcodes:["flag_zw","zimbabwe"],tags:["ZW","flag","flag: zimbabwe"],group:"flags",emoticons:[],version:2,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f1ff-1f1fc.png"},{emoji:"🏴",name:"england",shortcodes:["england","flag_gbeng"],tags:["flag","flag: england","gbeng"],group:"flags",emoticons:[],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3f4-e0067-e0062-e0065-e006e-e0067-e007f.png"},{emoji:"🏴",name:"scotland",shortcodes:["flag_gbsct","scotland"],tags:["flag","flag: scotland","gbsct"],group:"flags",emoticons:[],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3f4-e0067-e0062-e0073-e0063-e0074-e007f.png"},{emoji:"🏴",name:"wales",shortcodes:["flag_gbwls","wales"],tags:["flag","flag: wales","gbwls"],group:"flags",emoticons:[],version:5,fallbackImage:"https://cdn.jsdelivr.net/npm/emoji-datasource-apple/img/apple/64/1f3f4-e0067-e0062-e0077-e006c-e0073-e007f.png"}],tat=[{name:"atom",shortcodes:["atom"],tags:[],group:"GitHub",fallbackImage:"https://github.githubassets.com/images/icons/emoji/atom.png"},{name:"basecamp",shortcodes:["basecamp"],tags:[],group:"GitHub",fallbackImage:"https://github.githubassets.com/images/icons/emoji/basecamp.png"},{name:"basecampy",shortcodes:["basecampy"],tags:[],group:"GitHub",fallbackImage:"https://github.githubassets.com/images/icons/emoji/basecampy.png"},{name:"bowtie",shortcodes:["bowtie"],tags:[],group:"GitHub",fallbackImage:"https://github.githubassets.com/images/icons/emoji/bowtie.png"},{name:"electron",shortcodes:["electron"],tags:[],group:"GitHub",fallbackImage:"https://github.githubassets.com/images/icons/emoji/electron.png"},{name:"feelsgood",shortcodes:["feelsgood"],tags:[],group:"GitHub",fallbackImage:"https://github.githubassets.com/images/icons/emoji/feelsgood.png"},{name:"finnadie",shortcodes:["finnadie"],tags:[],group:"GitHub",fallbackImage:"https://github.githubassets.com/images/icons/emoji/finnadie.png"},{name:"goberserk",shortcodes:["goberserk"],tags:[],group:"GitHub",fallbackImage:"https://github.githubassets.com/images/icons/emoji/goberserk.png"},{name:"godmode",shortcodes:["godmode"],tags:[],group:"GitHub",fallbackImage:"https://github.githubassets.com/images/icons/emoji/godmode.png"},{name:"hurtrealbad",shortcodes:["hurtrealbad"],tags:[],group:"GitHub",fallbackImage:"https://github.githubassets.com/images/icons/emoji/hurtrealbad.png"},{name:"neckbeard",shortcodes:["neckbeard"],tags:[],group:"GitHub",fallbackImage:"https://github.githubassets.com/images/icons/emoji/neckbeard.png"},{name:"octocat",shortcodes:["octocat"],tags:[],group:"GitHub",fallbackImage:"https://github.githubassets.com/images/icons/emoji/octocat.png"},{name:"rage1",shortcodes:["rage1"],tags:[],group:"GitHub",fallbackImage:"https://github.githubassets.com/images/icons/emoji/rage1.png"},{name:"rage2",shortcodes:["rage2"],tags:[],group:"GitHub",fallbackImage:"https://github.githubassets.com/images/icons/emoji/rage2.png"},{name:"rage3",shortcodes:["rage3"],tags:[],group:"GitHub",fallbackImage:"https://github.githubassets.com/images/icons/emoji/rage3.png"},{name:"rage4",shortcodes:["rage4"],tags:[],group:"GitHub",fallbackImage:"https://github.githubassets.com/images/icons/emoji/rage4.png"},{name:"shipit",shortcodes:["shipit"],tags:[],group:"GitHub",fallbackImage:"https://github.githubassets.com/images/icons/emoji/shipit.png"},{name:"suspect",shortcodes:["suspect"],tags:[],group:"GitHub",fallbackImage:"https://github.githubassets.com/images/icons/emoji/suspect.png"},{name:"trollface",shortcodes:["trollface"],tags:[],group:"GitHub",fallbackImage:"https://github.githubassets.com/images/icons/emoji/trollface.png"}];[...IE,...tat];function nat(t){return t.replace("︎","").replace("️","")}function rat(t,e){var n;return(n=e.find(r=>r.emoji===nat(t)))===null||n===void 0?void 0:n.shortcodes[0]}function oat(t,e=JSON.stringify){const n={};return t.filter(r=>{const o=e(r);return Object.prototype.hasOwnProperty.call(n,o)?!1:n[o]=!0})}function Im(t,e){return e.find(n=>t===n.name||n.shortcodes.includes(t))}const sat=new Li("emojiSuggestion"),aat=/:([a-zA-Z0-9_+-]+):$/,iat=/:([a-zA-Z0-9_+-]+):/g,lat=uv.create({name:"emoji",inline:!0,group:"inline",selectable:!1,addOptions(){return{HTMLAttributes:{},emojis:IE,enableEmoticons:!1,forceFallbackImages:!1,suggestion:{char:":",pluginKey:sat,command:({editor:t,range:e,props:n})=>{var r;const o=t.view.state.selection.$to.nodeAfter;((r=o==null?void 0:o.text)===null||r===void 0?void 0:r.startsWith(" "))&&(e.to+=1),t.chain().focus().insertContentAt(e,[{type:this.name,attrs:n},{type:"text",text:" "}]).command(({tr:a,state:i})=>(a.setStoredMarks(i.doc.resolve(i.selection.to-2).marks()),!0)).run()},allow:({state:t,range:e})=>{const n=t.doc.resolve(e.from),r=t.schema.nodes[this.name];return!!n.parent.type.contentMatch.matchType(r)}}}},addStorage(){const{emojis:t}=this.options,e=oat(t.map(n=>n.version)).filter(n=>typeof n=="number").reduce((n,r)=>{const o=t.find(s=>s.version===r&&s.emoji);return{...n,[r]:o?Xst(o.emoji):!1}},{});return{emojis:this.options.emojis,isSupported:n=>n.version?e[n.version]:!1}},addAttributes(){return{name:{default:null,parseHTML:t=>t.dataset.name,renderHTML:t=>({"data-name":t.name})}}},parseHTML(){return[{tag:`span[data-type="${this.name}"]`}]},renderHTML({HTMLAttributes:t,node:e}){const n=Im(e.attrs.name,this.options.emojis),r=Bp(t,this.options.HTMLAttributes,{"data-type":this.name});if(!n)return["span",r,`:${e.attrs.name}:`];const o=this.storage.isSupported(n),s=!!(n!=null&&n.emoji),a=!!(n!=null&&n.fallbackImage),i=this.options.forceFallbackImages&&!s||this.options.forceFallbackImages&&a||this.options.forceFallbackImages&&!o&&a||(!o||!s)&&a;return["span",r,i?["img",{src:n.fallbackImage,draggable:"false",loading:"lazy",align:"absmiddle",alt:`${n.name} emoji`}]:n.emoji||`:${n.shortcodes[0]}:`]},renderText({node:t}){const e=Im(t.attrs.name,this.options.emojis);return(e==null?void 0:e.emoji)||`:${t.attrs.name}:`},addCommands(){return{setEmoji:t=>({chain:e})=>{const n=Im(t,this.options.emojis);return n?(e().insertContent({type:this.name,attrs:{name:n.name}}).command(({tr:r,state:o})=>(r.setStoredMarks(o.doc.resolve(o.selection.to-1).marks()),!0)).run(),!0):!1}}},addInputRules(){const t=[];if(t.push(new Zhe({find:aat,handler:({range:e,match:n,chain:r})=>{const o=n[1];Im(o,this.options.emojis)&&r().insertContentAt(e,{type:this.name,attrs:{name:o}}).command(({tr:s,state:a})=>(s.setStoredMarks(a.doc.resolve(a.selection.to-1).marks()),!0)).run()}})),this.options.enableEmoticons){const e=this.options.emojis.map(r=>r.emoticons).flat().filter(r=>r),n=new RegExp(`(?:^|\\s)(${e.map(r=>ime(r)).join("|")}) $`);t.push(qst({find:n,type:this.type,getAttributes:r=>{const o=this.options.emojis.find(s=>{var a;return(a=s.emoticons)===null||a===void 0?void 0:a.includes(r[1])});if(o)return{name:o.name}}}))}return t},addPasteRules(){return[new uot({find:iat,handler:({range:t,match:e,chain:n})=>{const r=e[1];Im(r,this.options.emojis)&&n().insertContentAt(t,{type:this.name,attrs:{name:r}},{updateSelection:!1}).command(({tr:o,state:s})=>(o.setStoredMarks(s.doc.resolve(s.selection.to-1).marks()),!0)).run()}})]},addProseMirrorPlugins(){return[lme({editor:this.editor,...this.options.suggestion}),new ui({key:new Li("emoji"),props:{handleDoubleClickOn:(t,e,n)=>{if(n.type!==this.type)return!1;const r=e,o=r+n.nodeSize;return this.editor.commands.setTextSelection({from:r,to:o}),!0}},appendTransaction:(t,e,n)=>{if(!(t.some(i=>i.docChanged)&&!e.doc.eq(n.doc)))return;const{tr:o}=n,s=ast(e.doc,t);if(mst(s).forEach(({newRange:i})=>{if(n.doc.resolve(i.from).parent.type.spec.code)return;lst(n.doc,i,u=>u.type.isText).forEach(({node:u,pos:d})=>{if(!u.text)return;[...u.text.matchAll(Jst())].forEach(m=>{if(m.index===void 0)return;const g=m[0],w=rat(g,this.options.emojis);if(!w)return;const b=o.mapping.map(d+m.index);if(n.doc.resolve(b).parent.type.spec.code)return;const j=b+g.length,S=this.type.create({name:w});o.replaceRangeWith(b,j,S),o.setStoredMarks(n.doc.resolve(b).marks())})})}),!!o.steps.length)return o}})]}});function l5(t){const e=cme(t),n=/(^|\s+|@)(nostr:)?(nevent|naddr|nprofile|npub)1[a-zA-Z0-9]+/g;return e.replace(n,(r,o)=>{let s=r.trim();const a=o||"";s.startsWith("@nostr:")?s=s.slice(7):s.startsWith("@")?s=s.slice(1):s.startsWith("nostr:")&&(s=s.slice(6));try{return yr.decode(s),`${a}nostr:${s}`}catch{return r}}).trim()}function cme(t){var e;if(!t)return"";if(typeof t=="string")return t;if(t.type==="text")return t.text||"";if(t.type==="hardBreak")return`
2191 `;if(Array.isArray(t.content))return t.content.map(cme).join("")+(t.type==="paragraph"?`
2192 `:"");switch(t.type){case"paragraph":return`
2193 `;case"mention":return t.attrs?`nostr:${t.attrs.id}`:"";case"emoji":return cat((e=t.attrs)==null?void 0:e.name);default:return""}}function cat(t){if(!t)return"";if(Ju.isCustomEmojiId(t))return`:${t}:`;const e=Im(t,IE);return e?e.emoji??"":""}const uat=uv.create({name:"doc",topNode:!0,content:"block+"}),fat=uv.create({name:"hardBreak",addOptions(){return{keepMarks:!0,HTMLAttributes:{}}},inline:!0,group:"inline",selectable:!1,linebreakReplacement:!0,parseHTML(){return[{tag:"br"}]},renderHTML({HTMLAttributes:t}){return["br",Bp(this.options.HTMLAttributes,t)]},renderText(){return`
2194 `},addCommands(){return{setHardBreak:()=>({commands:t,chain:e,state:n,editor:r})=>t.first([()=>t.exitCode(),()=>t.command(()=>{const{selection:o,storedMarks:s}=n;if(o.$from.parent.type.spec.isolating)return!1;const{keepMarks:a}=this.options,{splittableMarks:i}=r.extensionManager,l=s||o.$to.parentOffset&&o.$from.marks();return e().insertContent({type:this.name}).command(({tr:u,dispatch:d})=>{if(d&&l&&a){const f=l.filter(m=>i.includes(m.type.name));u.ensureMarks(f)}return!0}).run()})])}},addKeyboardShortcuts(){return{"Mod-Enter":()=>this.editor.commands.setHardBreak(),"Shift-Enter":()=>this.editor.commands.setHardBreak()}}});var $j=200,Os=function(){};Os.prototype.append=function(e){return e.length?(e=Os.from(e),!this.length&&e||e.length<$j&&this.leafAppend(e)||this.length<$j&&e.leafPrepend(this)||this.appendInner(e)):this};Os.prototype.prepend=function(e){return e.length?Os.from(e).append(this):this};Os.prototype.appendInner=function(e){return new dat(this,e)};Os.prototype.slice=function(e,n){return e===void 0&&(e=0),n===void 0&&(n=this.length),e>=n?Os.empty:this.sliceInner(Math.max(0,e),Math.min(this.length,n))};Os.prototype.get=function(e){if(!(e<0||e>=this.length))return this.getInner(e)};Os.prototype.forEach=function(e,n,r){n===void 0&&(n=0),r===void 0&&(r=this.length),n<=r?this.forEachInner(e,n,r,0):this.forEachInvertedInner(e,n,r,0)};Os.prototype.map=function(e,n,r){n===void 0&&(n=0),r===void 0&&(r=this.length);var o=[];return this.forEach(function(s,a){return o.push(e(s,a))},n,r),o};Os.from=function(e){return e instanceof Os?e:e&&e.length?new ume(e):Os.empty};var ume=(function(t){function e(r){t.call(this),this.values=r}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var n={length:{configurable:!0},depth:{configurable:!0}};return e.prototype.flatten=function(){return this.values},e.prototype.sliceInner=function(o,s){return o==0&&s==this.length?this:new e(this.values.slice(o,s))},e.prototype.getInner=function(o){return this.values[o]},e.prototype.forEachInner=function(o,s,a,i){for(var l=s;l<a;l++)if(o(this.values[l],i+l)===!1)return!1},e.prototype.forEachInvertedInner=function(o,s,a,i){for(var l=s-1;l>=a;l--)if(o(this.values[l],i+l)===!1)return!1},e.prototype.leafAppend=function(o){if(this.length+o.length<=$j)return new e(this.values.concat(o.flatten()))},e.prototype.leafPrepend=function(o){if(this.length+o.length<=$j)return new e(o.flatten().concat(this.values))},n.length.get=function(){return this.values.length},n.depth.get=function(){return 0},Object.defineProperties(e.prototype,n),e})(Os);Os.empty=new ume([]);var dat=(function(t){function e(n,r){t.call(this),this.left=n,this.right=r,this.length=n.length+r.length,this.depth=Math.max(n.depth,r.depth)+1}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.flatten=function(){return this.left.flatten().concat(this.right.flatten())},e.prototype.getInner=function(r){return r<this.left.length?this.left.get(r):this.right.get(r-this.left.length)},e.prototype.forEachInner=function(r,o,s,a){var i=this.left.length;if(o<i&&this.left.forEachInner(r,o,Math.min(s,i),a)===!1||s>i&&this.right.forEachInner(r,Math.max(o-i,0),Math.min(this.length,s)-i,a+i)===!1)return!1},e.prototype.forEachInvertedInner=function(r,o,s,a){var i=this.left.length;if(o>i&&this.right.forEachInvertedInner(r,o-i,Math.max(s,i)-i,a+i)===!1||s<i&&this.left.forEachInvertedInner(r,Math.min(o,i),s,a)===!1)return!1},e.prototype.sliceInner=function(r,o){if(r==0&&o==this.length)return this;var s=this.left.length;return o<=s?this.left.slice(r,o):r>=s?this.right.slice(r-s,o-s):this.left.slice(r,s).append(this.right.slice(0,o-s))},e.prototype.leafAppend=function(r){var o=this.right.leafAppend(r);if(o)return new e(this.left,o)},e.prototype.leafPrepend=function(r){var o=this.left.leafPrepend(r);if(o)return new e(o,this.right)},e.prototype.appendInner=function(r){return this.left.depth>=Math.max(this.right.depth,r.depth)+1?new e(this.left,new e(this.right,r)):new e(this,r)},e})(Os);const pat=500;class Uc{constructor(e,n){this.items=e,this.eventCount=n}popEvent(e,n){if(this.eventCount==0)return null;let r=this.items.length;for(;;r--)if(this.items.get(r-1).selection){--r;break}let o,s;n&&(o=this.remapping(r,this.items.length),s=o.maps.length);let a=e.tr,i,l,u=[],d=[];return this.items.forEach((f,m)=>{if(!f.step){o||(o=this.remapping(r,m+1),s=o.maps.length),s--,d.push(f);return}if(o){d.push(new dp(f.map));let g=f.step.map(o.slice(s)),w;g&&a.maybeStep(g).doc&&(w=a.mapping.maps[a.mapping.maps.length-1],u.push(new dp(w,void 0,void 0,u.length+d.length))),s--,w&&o.appendMap(w,s)}else a.maybeStep(f.step);if(f.selection)return i=o?f.selection.map(o.slice(s)):f.selection,l=new Uc(this.items.slice(0,r).append(d.reverse().concat(u)),this.eventCount-1),!1},this.items.length,0),{remaining:l,transform:a,selection:i}}addTransform(e,n,r,o){let s=[],a=this.eventCount,i=this.items,l=!o&&i.length?i.get(i.length-1):null;for(let d=0;d<e.steps.length;d++){let f=e.steps[d].invert(e.docs[d]),m=new dp(e.mapping.maps[d],f,n),g;(g=l&&l.merge(m))&&(m=g,d?s.pop():i=i.slice(0,i.length-1)),s.push(m),n&&(a++,n=void 0),o||(l=m)}let u=a-r.depth;return u>mat&&(i=hat(i,u),a-=u),new Uc(i.append(s),a)}remapping(e,n){let r=new m2;return this.items.forEach((o,s)=>{let a=o.mirrorOffset!=null&&s-o.mirrorOffset>=e?r.maps.length-o.mirrorOffset:void 0;r.appendMap(o.map,a)},e,n),r}addMaps(e){return this.eventCount==0?this:new Uc(this.items.append(e.map(n=>new dp(n))),this.eventCount)}rebased(e,n){if(!this.eventCount)return this;let r=[],o=Math.max(0,this.items.length-n),s=e.mapping,a=e.steps.length,i=this.eventCount;this.items.forEach(m=>{m.selection&&i--},o);let l=n;this.items.forEach(m=>{let g=s.getMirror(--l);if(g==null)return;a=Math.min(a,g);let w=s.maps[g];if(m.step){let b=e.steps[g].invert(e.docs[g]),j=m.selection&&m.selection.map(s.slice(l+1,g));j&&i++,r.push(new dp(w,b,j))}else r.push(new dp(w))},o);let u=[];for(let m=n;m<a;m++)u.push(new dp(s.maps[m]));let d=this.items.slice(0,o).append(u).append(r),f=new Uc(d,i);return f.emptyItemCount()>pat&&(f=f.compress(this.items.length-r.length)),f}emptyItemCount(){let e=0;return this.items.forEach(n=>{n.step||e++}),e}compress(e=this.items.length){let n=this.remapping(0,e),r=n.maps.length,o=[],s=0;return this.items.forEach((a,i)=>{if(i>=e)o.push(a),a.selection&&s++;else if(a.step){let l=a.step.map(n.slice(r)),u=l&&l.getMap();if(r--,u&&n.appendMap(u,r),l){let d=a.selection&&a.selection.map(n.slice(r));d&&s++;let f=new dp(u.invert(),l,d),m,g=o.length-1;(m=o.length&&o[g].merge(f))?o[g]=m:o.push(f)}}else a.map&&r--},this.items.length,0),new Uc(Os.from(o.reverse()),s)}}Uc.empty=new Uc(Os.empty,0);function hat(t,e){let n;return t.forEach((r,o)=>{if(r.selection&&e--==0)return n=o,!1}),t.slice(n)}let dp=class fme{constructor(e,n,r,o){this.map=e,this.step=n,this.selection=r,this.mirrorOffset=o}merge(e){if(this.step&&e.step&&!e.selection){let n=e.step.merge(this.step);if(n)return new fme(n.getMap().invert(),n,this.selection)}}};class Sp{constructor(e,n,r,o,s){this.done=e,this.undone=n,this.prevRanges=r,this.prevTime=o,this.prevComposition=s}}const mat=20;function gat(t,e,n,r){let o=n.getMeta(ng),s;if(o)return o.historyState;n.getMeta(wat)&&(t=new Sp(t.done,t.undone,null,0,-1));let a=n.getMeta("appendedTransaction");if(n.steps.length==0)return t;if(a&&a.getMeta(ng))return a.getMeta(ng).redo?new Sp(t.done.addTransform(n,void 0,r,J3(e)),t.undone,bK(n.mapping.maps),t.prevTime,t.prevComposition):new Sp(t.done,t.undone.addTransform(n,void 0,r,J3(e)),null,t.prevTime,t.prevComposition);if(n.getMeta("addToHistory")!==!1&&!(a&&a.getMeta("addToHistory")===!1)){let i=n.getMeta("composition"),l=t.prevTime==0||!a&&t.prevComposition!=i&&(t.prevTime<(n.time||0)-r.newGroupDelay||!yat(n,t.prevRanges)),u=a?c5(t.prevRanges,n.mapping):bK(n.mapping.maps);return new Sp(t.done.addTransform(n,l?e.selection.getBookmark():void 0,r,J3(e)),Uc.empty,u,n.time,i??t.prevComposition)}else return(s=n.getMeta("rebased"))?new Sp(t.done.rebased(n,s),t.undone.rebased(n,s),c5(t.prevRanges,n.mapping),t.prevTime,t.prevComposition):new Sp(t.done.addMaps(n.mapping.maps),t.undone.addMaps(n.mapping.maps),c5(t.prevRanges,n.mapping),t.prevTime,t.prevComposition)}function yat(t,e){if(!e)return!1;if(!t.docChanged)return!0;let n=!1;return t.mapping.maps[0].forEach((r,o)=>{for(let s=0;s<e.length;s+=2)r<=e[s+1]&&o>=e[s]&&(n=!0)}),n}function bK(t){let e=[];for(let n=t.length-1;n>=0&&e.length==0;n--)t[n].forEach((r,o,s,a)=>e.push(s,a));return e}function c5(t,e){if(!t)return null;let n=[];for(let r=0;r<t.length;r+=2){let o=e.map(t[r],1),s=e.map(t[r+1],-1);o<=s&&n.push(o,s)}return n}function vat(t,e,n){let r=J3(e),o=ng.get(e).spec.config,s=(n?t.undone:t.done).popEvent(e,r);if(!s)return null;let a=s.selection.resolve(s.transform.doc),i=(n?t.done:t.undone).addTransform(s.transform,e.selection.getBookmark(),o,r),l=new Sp(n?i:s.remaining,n?s.remaining:i,null,0,-1);return s.transform.setSelection(a).setMeta(ng,{redo:n,historyState:l})}let u5=!1,xK=null;function J3(t){let e=t.plugins;if(xK!=e){u5=!1,xK=e;for(let n=0;n<e.length;n++)if(e[n].spec.historyPreserveItems){u5=!0;break}}return u5}const ng=new Li("history"),wat=new Li("closeHistory");function bat(t={}){return t={depth:t.depth||100,newGroupDelay:t.newGroupDelay||500},new ui({key:ng,state:{init(){return new Sp(Uc.empty,Uc.empty,null,0,-1)},apply(e,n,r){return gat(n,r,e,t)}},config:t,props:{handleDOMEvents:{beforeinput(e,n){let r=n.inputType,o=r=="historyUndo"?pme:r=="historyRedo"?hme:null;return o?(n.preventDefault(),o(e.state,e.dispatch)):!1}}}})}function dme(t,e){return(n,r)=>{let o=ng.getState(n);if(!o||(t?o.undone:o.done).eventCount==0)return!1;if(r){let s=vat(o,n,t);s&&r(e?s.scrollIntoView():s)}return!0}}const pme=dme(!1,!0),hme=dme(!0,!0),xat=Ri.create({name:"history",addOptions(){return{depth:100,newGroupDelay:500}},addCommands(){return{undo:()=>({state:t,dispatch:e})=>pme(t,e),redo:()=>({state:t,dispatch:e})=>hme(t,e)}},addProseMirrorPlugins(){return[bat(this.options)]},addKeyboardShortcuts(){return{"Mod-z":()=>this.editor.commands.undo(),"Shift-Mod-z":()=>this.editor.commands.redo(),"Mod-y":()=>this.editor.commands.redo(),"Mod-я":()=>this.editor.commands.undo(),"Shift-Mod-я":()=>this.editor.commands.redo()}}}),kat=uv.create({name:"paragraph",priority:1e3,addOptions(){return{HTMLAttributes:{}}},group:"block",content:"inline*",parseHTML(){return[{tag:"p"}]},renderHTML({HTMLAttributes:t}){return["p",Bp(this.options.HTMLAttributes,t),0]},addCommands(){return{setParagraph:()=>({commands:t})=>t.setNode(this.name)}},addKeyboardShortcuts(){return{"Mod-Alt-0":()=>this.editor.commands.setParagraph()}}}),jat=Ri.create({name:"placeholder",addOptions(){return{emptyEditorClass:"is-editor-empty",emptyNodeClass:"is-empty",placeholder:"Write something …",showOnlyWhenEditable:!0,showOnlyCurrent:!0,includeChildren:!1}},addProseMirrorPlugins(){return[new ui({key:new Li("placeholder"),props:{decorations:({doc:t,selection:e})=>{const n=this.editor.isEditable||!this.options.showOnlyWhenEditable,{anchor:r}=e,o=[];if(!n)return null;const s=this.editor.isEmpty;return t.descendants((a,i)=>{const l=r>=i&&r<=i+a.nodeSize,u=!a.isLeaf&&NE(a);if((l||!this.options.showOnlyCurrent)&&u){const d=[this.options.emptyNodeClass];s&&d.push(this.options.emptyEditorClass);const f=sl.node(i,i+a.nodeSize,{class:d.join(" "),"data-placeholder":typeof this.options.placeholder=="function"?this.options.placeholder({editor:this.editor,node:a,pos:i,hasAnchor:l}):this.options.placeholder});o.push(f)}return this.options.includeChildren}),Go.create(t,o)}}})]}}),Cat=uv.create({name:"text",group:"inline"});var Ni="top",Ql="bottom",Jl="right",Ii="left",bP="auto",_x=[Ni,Ql,Jl,Ii],Iy="start",x2="end",Sat="clippingParents",mme="viewport",Ew="popper",Eat="reference",kK=_x.reduce(function(t,e){return t.concat([e+"-"+Iy,e+"-"+x2])},[]),gme=[].concat(_x,[bP]).reduce(function(t,e){return t.concat([e,e+"-"+Iy,e+"-"+x2])},[]),Nat="beforeRead",Iat="read",Aat="afterRead",_at="beforeMain",Mat="main",Rat="afterMain",Tat="beforeWrite",Dat="write",Lat="afterWrite",Pat=[Nat,Iat,Aat,_at,Mat,Rat,Tat,Dat,Lat];function pf(t){return t?(t.nodeName||"").toLowerCase():null}function hl(t){if(t==null)return window;if(t.toString()!=="[object Window]"){var e=t.ownerDocument;return e&&e.defaultView||window}return t}function Lg(t){var e=hl(t).Element;return t instanceof e||t instanceof Element}function Gl(t){var e=hl(t).HTMLElement;return t instanceof e||t instanceof HTMLElement}function xP(t){if(typeof ShadowRoot>"u")return!1;var e=hl(t).ShadowRoot;return t instanceof e||t instanceof ShadowRoot}function Oat(t){var e=t.state;Object.keys(e.elements).forEach(function(n){var r=e.styles[n]||{},o=e.attributes[n]||{},s=e.elements[n];!Gl(s)||!pf(s)||(Object.assign(s.style,r),Object.keys(o).forEach(function(a){var i=o[a];i===!1?s.removeAttribute(a):s.setAttribute(a,i===!0?"":i)}))})}function zat(t){var e=t.state,n={popper:{position:e.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(e.elements.popper.style,n.popper),e.styles=n,e.elements.arrow&&Object.assign(e.elements.arrow.style,n.arrow),function(){Object.keys(e.elements).forEach(function(r){var o=e.elements[r],s=e.attributes[r]||{},a=Object.keys(e.styles.hasOwnProperty(r)?e.styles[r]:n[r]),i=a.reduce(function(l,u){return l[u]="",l},{});!Gl(o)||!pf(o)||(Object.assign(o.style,i),Object.keys(s).forEach(function(l){o.removeAttribute(l)}))})}}const yme={name:"applyStyles",enabled:!0,phase:"write",fn:Oat,effect:zat,requires:["computeStyles"]};function Ku(t){return t.split("-")[0]}var rg=Math.max,Vj=Math.min,Ay=Math.round;function iR(){var t=navigator.userAgentData;return t!=null&&t.brands&&Array.isArray(t.brands)?t.brands.map(function(e){return e.brand+"/"+e.version}).join(" "):navigator.userAgent}function vme(){return!/^((?!chrome|android).)*safari/i.test(iR())}function _y(t,e,n){e===void 0&&(e=!1),n===void 0&&(n=!1);var r=t.getBoundingClientRect(),o=1,s=1;e&&Gl(t)&&(o=t.offsetWidth>0&&Ay(r.width)/t.offsetWidth||1,s=t.offsetHeight>0&&Ay(r.height)/t.offsetHeight||1);var a=Lg(t)?hl(t):window,i=a.visualViewport,l=!vme()&&n,u=(r.left+(l&&i?i.offsetLeft:0))/o,d=(r.top+(l&&i?i.offsetTop:0))/s,f=r.width/o,m=r.height/s;return{width:f,height:m,top:d,right:u+f,bottom:d+m,left:u,x:u,y:d}}function kP(t){var e=_y(t),n=t.offsetWidth,r=t.offsetHeight;return Math.abs(e.width-n)<=1&&(n=e.width),Math.abs(e.height-r)<=1&&(r=e.height),{x:t.offsetLeft,y:t.offsetTop,width:n,height:r}}function wme(t,e){var n=e.getRootNode&&e.getRootNode();if(t.contains(e))return!0;if(n&&xP(n)){var r=e;do{if(r&&t.isSameNode(r))return!0;r=r.parentNode||r.host}while(r)}return!1}function hd(t){return hl(t).getComputedStyle(t)}function Fat(t){return["table","td","th"].indexOf(pf(t))>=0}function Lh(t){return((Lg(t)?t.ownerDocument:t.document)||window.document).documentElement}function AE(t){return pf(t)==="html"?t:t.assignedSlot||t.parentNode||(xP(t)?t.host:null)||Lh(t)}function jK(t){return!Gl(t)||hd(t).position==="fixed"?null:t.offsetParent}function Bat(t){var e=/firefox/i.test(iR()),n=/Trident/i.test(iR());if(n&&Gl(t)){var r=hd(t);if(r.position==="fixed")return null}var o=AE(t);for(xP(o)&&(o=o.host);Gl(o)&&["html","body"].indexOf(pf(o))<0;){var s=hd(o);if(s.transform!=="none"||s.perspective!=="none"||s.contain==="paint"||["transform","perspective"].indexOf(s.willChange)!==-1||e&&s.willChange==="filter"||e&&s.filter&&s.filter!=="none")return o;o=o.parentNode}return null}function Mx(t){for(var e=hl(t),n=jK(t);n&&Fat(n)&&hd(n).position==="static";)n=jK(n);return n&&(pf(n)==="html"||pf(n)==="body"&&hd(n).position==="static")?e:n||Bat(t)||e}function jP(t){return["top","bottom"].indexOf(t)>=0?"x":"y"}function cb(t,e,n){return rg(t,Vj(e,n))}function Uat(t,e,n){var r=cb(t,e,n);return r>n?n:r}function bme(){return{top:0,right:0,bottom:0,left:0}}function xme(t){return Object.assign({},bme(),t)}function kme(t,e){return e.reduce(function(n,r){return n[r]=t,n},{})}var $at=function(e,n){return e=typeof e=="function"?e(Object.assign({},n.rects,{placement:n.placement})):e,xme(typeof e!="number"?e:kme(e,_x))};function Vat(t){var e,n=t.state,r=t.name,o=t.options,s=n.elements.arrow,a=n.modifiersData.popperOffsets,i=Ku(n.placement),l=jP(i),u=[Ii,Jl].indexOf(i)>=0,d=u?"height":"width";if(!(!s||!a)){var f=$at(o.padding,n),m=kP(s),g=l==="y"?Ni:Ii,w=l==="y"?Ql:Jl,b=n.rects.reference[d]+n.rects.reference[l]-a[l]-n.rects.popper[d],j=a[l]-n.rects.reference[l],S=Mx(s),I=S?l==="y"?S.clientHeight||0:S.clientWidth||0:0,N=b/2-j/2,M=f[g],D=I-m[d]-f[w],O=I/2-m[d]/2+N,L=cb(M,O,D),B=l;n.modifiersData[r]=(e={},e[B]=L,e.centerOffset=L-O,e)}}function Hat(t){var e=t.state,n=t.options,r=n.element,o=r===void 0?"[data-popper-arrow]":r;o!=null&&(typeof o=="string"&&(o=e.elements.popper.querySelector(o),!o)||wme(e.elements.popper,o)&&(e.elements.arrow=o))}const Wat={name:"arrow",enabled:!0,phase:"main",fn:Vat,effect:Hat,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function My(t){return t.split("-")[1]}var Yat={top:"auto",right:"auto",bottom:"auto",left:"auto"};function Gat(t,e){var n=t.x,r=t.y,o=e.devicePixelRatio||1;return{x:Ay(n*o)/o||0,y:Ay(r*o)/o||0}}function CK(t){var e,n=t.popper,r=t.popperRect,o=t.placement,s=t.variation,a=t.offsets,i=t.position,l=t.gpuAcceleration,u=t.adaptive,d=t.roundOffsets,f=t.isFixed,m=a.x,g=m===void 0?0:m,w=a.y,b=w===void 0?0:w,j=typeof d=="function"?d({x:g,y:b}):{x:g,y:b};g=j.x,b=j.y;var S=a.hasOwnProperty("x"),I=a.hasOwnProperty("y"),N=Ii,M=Ni,D=window;if(u){var O=Mx(n),L="clientHeight",B="clientWidth";if(O===hl(n)&&(O=Lh(n),hd(O).position!=="static"&&i==="absolute"&&(L="scrollHeight",B="scrollWidth")),O=O,o===Ni||(o===Ii||o===Jl)&&s===x2){M=Ql;var T=f&&O===D&&D.visualViewport?D.visualViewport.height:O[L];b-=T-r.height,b*=l?1:-1}if(o===Ii||(o===Ni||o===Ql)&&s===x2){N=Jl;var R=f&&O===D&&D.visualViewport?D.visualViewport.width:O[B];g-=R-r.width,g*=l?1:-1}}var z=Object.assign({position:i},u&&Yat),Y=d===!0?Gat({x:g,y:b},hl(n)):{x:g,y:b};if(g=Y.x,b=Y.y,l){var Q;return Object.assign({},z,(Q={},Q[M]=I?"0":"",Q[N]=S?"0":"",Q.transform=(D.devicePixelRatio||1)<=1?"translate("+g+"px, "+b+"px)":"translate3d("+g+"px, "+b+"px, 0)",Q))}return Object.assign({},z,(e={},e[M]=I?b+"px":"",e[N]=S?g+"px":"",e.transform="",e))}function qat(t){var e=t.state,n=t.options,r=n.gpuAcceleration,o=r===void 0?!0:r,s=n.adaptive,a=s===void 0?!0:s,i=n.roundOffsets,l=i===void 0?!0:i,u={placement:Ku(e.placement),variation:My(e.placement),popper:e.elements.popper,popperRect:e.rects.popper,gpuAcceleration:o,isFixed:e.options.strategy==="fixed"};e.modifiersData.popperOffsets!=null&&(e.styles.popper=Object.assign({},e.styles.popper,CK(Object.assign({},u,{offsets:e.modifiersData.popperOffsets,position:e.options.strategy,adaptive:a,roundOffsets:l})))),e.modifiersData.arrow!=null&&(e.styles.arrow=Object.assign({},e.styles.arrow,CK(Object.assign({},u,{offsets:e.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:l})))),e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-placement":e.placement})}const Kat={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:qat,data:{}};var t3={passive:!0};function Zat(t){var e=t.state,n=t.instance,r=t.options,o=r.scroll,s=o===void 0?!0:o,a=r.resize,i=a===void 0?!0:a,l=hl(e.elements.popper),u=[].concat(e.scrollParents.reference,e.scrollParents.popper);return s&&u.forEach(function(d){d.addEventListener("scroll",n.update,t3)}),i&&l.addEventListener("resize",n.update,t3),function(){s&&u.forEach(function(d){d.removeEventListener("scroll",n.update,t3)}),i&&l.removeEventListener("resize",n.update,t3)}}const Qat={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:Zat,data:{}};var Jat={left:"right",right:"left",bottom:"top",top:"bottom"};function X3(t){return t.replace(/left|right|bottom|top/g,function(e){return Jat[e]})}var Xat={start:"end",end:"start"};function SK(t){return t.replace(/start|end/g,function(e){return Xat[e]})}function CP(t){var e=hl(t),n=e.pageXOffset,r=e.pageYOffset;return{scrollLeft:n,scrollTop:r}}function SP(t){return _y(Lh(t)).left+CP(t).scrollLeft}function eit(t,e){var n=hl(t),r=Lh(t),o=n.visualViewport,s=r.clientWidth,a=r.clientHeight,i=0,l=0;if(o){s=o.width,a=o.height;var u=vme();(u||!u&&e==="fixed")&&(i=o.offsetLeft,l=o.offsetTop)}return{width:s,height:a,x:i+SP(t),y:l}}function tit(t){var e,n=Lh(t),r=CP(t),o=(e=t.ownerDocument)==null?void 0:e.body,s=rg(n.scrollWidth,n.clientWidth,o?o.scrollWidth:0,o?o.clientWidth:0),a=rg(n.scrollHeight,n.clientHeight,o?o.scrollHeight:0,o?o.clientHeight:0),i=-r.scrollLeft+SP(t),l=-r.scrollTop;return hd(o||n).direction==="rtl"&&(i+=rg(n.clientWidth,o?o.clientWidth:0)-s),{width:s,height:a,x:i,y:l}}function EP(t){var e=hd(t),n=e.overflow,r=e.overflowX,o=e.overflowY;return/auto|scroll|overlay|hidden/.test(n+o+r)}function jme(t){return["html","body","#document"].indexOf(pf(t))>=0?t.ownerDocument.body:Gl(t)&&EP(t)?t:jme(AE(t))}function ub(t,e){var n;e===void 0&&(e=[]);var r=jme(t),o=r===((n=t.ownerDocument)==null?void 0:n.body),s=hl(r),a=o?[s].concat(s.visualViewport||[],EP(r)?r:[]):r,i=e.concat(a);return o?i:i.concat(ub(AE(a)))}function lR(t){return Object.assign({},t,{left:t.x,top:t.y,right:t.x+t.width,bottom:t.y+t.height})}function nit(t,e){var n=_y(t,!1,e==="fixed");return n.top=n.top+t.clientTop,n.left=n.left+t.clientLeft,n.bottom=n.top+t.clientHeight,n.right=n.left+t.clientWidth,n.width=t.clientWidth,n.height=t.clientHeight,n.x=n.left,n.y=n.top,n}function EK(t,e,n){return e===mme?lR(eit(t,n)):Lg(e)?nit(e,n):lR(tit(Lh(t)))}function rit(t){var e=ub(AE(t)),n=["absolute","fixed"].indexOf(hd(t).position)>=0,r=n&&Gl(t)?Mx(t):t;return Lg(r)?e.filter(function(o){return Lg(o)&&wme(o,r)&&pf(o)!=="body"}):[]}function oit(t,e,n,r){var o=e==="clippingParents"?rit(t):[].concat(e),s=[].concat(o,[n]),a=s[0],i=s.reduce(function(l,u){var d=EK(t,u,r);return l.top=rg(d.top,l.top),l.right=Vj(d.right,l.right),l.bottom=Vj(d.bottom,l.bottom),l.left=rg(d.left,l.left),l},EK(t,a,r));return i.width=i.right-i.left,i.height=i.bottom-i.top,i.x=i.left,i.y=i.top,i}function Cme(t){var e=t.reference,n=t.element,r=t.placement,o=r?Ku(r):null,s=r?My(r):null,a=e.x+e.width/2-n.width/2,i=e.y+e.height/2-n.height/2,l;switch(o){case Ni:l={x:a,y:e.y-n.height};break;case Ql:l={x:a,y:e.y+e.height};break;case Jl:l={x:e.x+e.width,y:i};break;case Ii:l={x:e.x-n.width,y:i};break;default:l={x:e.x,y:e.y}}var u=o?jP(o):null;if(u!=null){var d=u==="y"?"height":"width";switch(s){case Iy:l[u]=l[u]-(e[d]/2-n[d]/2);break;case x2:l[u]=l[u]+(e[d]/2-n[d]/2);break}}return l}function k2(t,e){e===void 0&&(e={});var n=e,r=n.placement,o=r===void 0?t.placement:r,s=n.strategy,a=s===void 0?t.strategy:s,i=n.boundary,l=i===void 0?Sat:i,u=n.rootBoundary,d=u===void 0?mme:u,f=n.elementContext,m=f===void 0?Ew:f,g=n.altBoundary,w=g===void 0?!1:g,b=n.padding,j=b===void 0?0:b,S=xme(typeof j!="number"?j:kme(j,_x)),I=m===Ew?Eat:Ew,N=t.rects.popper,M=t.elements[w?I:m],D=oit(Lg(M)?M:M.contextElement||Lh(t.elements.popper),l,d,a),O=_y(t.elements.reference),L=Cme({reference:O,element:N,placement:o}),B=lR(Object.assign({},N,L)),T=m===Ew?B:O,R={top:D.top-T.top+S.top,bottom:T.bottom-D.bottom+S.bottom,left:D.left-T.left+S.left,right:T.right-D.right+S.right},z=t.modifiersData.offset;if(m===Ew&&z){var Y=z[o];Object.keys(R).forEach(function(Q){var W=[Jl,Ql].indexOf(Q)>=0?1:-1,F=[Ni,Ql].indexOf(Q)>=0?"y":"x";R[Q]+=Y[F]*W})}return R}function sit(t,e){e===void 0&&(e={});var n=e,r=n.placement,o=n.boundary,s=n.rootBoundary,a=n.padding,i=n.flipVariations,l=n.allowedAutoPlacements,u=l===void 0?gme:l,d=My(r),f=d?i?kK:kK.filter(function(w){return My(w)===d}):_x,m=f.filter(function(w){return u.indexOf(w)>=0});m.length===0&&(m=f);var g=m.reduce(function(w,b){return w[b]=k2(t,{placement:b,boundary:o,rootBoundary:s,padding:a})[Ku(b)],w},{});return Object.keys(g).sort(function(w,b){return g[w]-g[b]})}function ait(t){if(Ku(t)===bP)return[];var e=X3(t);return[SK(t),e,SK(e)]}function iit(t){var e=t.state,n=t.options,r=t.name;if(!e.modifiersData[r]._skip){for(var o=n.mainAxis,s=o===void 0?!0:o,a=n.altAxis,i=a===void 0?!0:a,l=n.fallbackPlacements,u=n.padding,d=n.boundary,f=n.rootBoundary,m=n.altBoundary,g=n.flipVariations,w=g===void 0?!0:g,b=n.allowedAutoPlacements,j=e.options.placement,S=Ku(j),I=S===j,N=l||(I||!w?[X3(j)]:ait(j)),M=[j].concat(N).reduce(function(de,Ne){return de.concat(Ku(Ne)===bP?sit(e,{placement:Ne,boundary:d,rootBoundary:f,padding:u,flipVariations:w,allowedAutoPlacements:b}):Ne)},[]),D=e.rects.reference,O=e.rects.popper,L=new Map,B=!0,T=M[0],R=0;R<M.length;R++){var z=M[R],Y=Ku(z),Q=My(z)===Iy,W=[Ni,Ql].indexOf(Y)>=0,F=W?"width":"height",X=k2(e,{placement:z,boundary:d,rootBoundary:f,altBoundary:m,padding:u}),$=W?Q?Jl:Ii:Q?Ql:Ni;D[F]>O[F]&&($=X3($));var V=X3($),K=[];if(s&&K.push(X[Y]<=0),i&&K.push(X[$]<=0,X[V]<=0),K.every(function(de){return de})){T=z,B=!1;break}L.set(z,K)}if(B)for(var G=w?3:1,J=function(Ne){var ve=M.find(function(xe){var ce=L.get(xe);if(ce)return ce.slice(0,Ne).every(function(pe){return pe})});if(ve)return T=ve,"break"},ne=G;ne>0;ne--){var re=J(ne);if(re==="break")break}e.placement!==T&&(e.modifiersData[r]._skip=!0,e.placement=T,e.reset=!0)}}const lit={name:"flip",enabled:!0,phase:"main",fn:iit,requiresIfExists:["offset"],data:{_skip:!1}};function NK(t,e,n){return n===void 0&&(n={x:0,y:0}),{top:t.top-e.height-n.y,right:t.right-e.width+n.x,bottom:t.bottom-e.height+n.y,left:t.left-e.width-n.x}}function IK(t){return[Ni,Jl,Ql,Ii].some(function(e){return t[e]>=0})}function cit(t){var e=t.state,n=t.name,r=e.rects.reference,o=e.rects.popper,s=e.modifiersData.preventOverflow,a=k2(e,{elementContext:"reference"}),i=k2(e,{altBoundary:!0}),l=NK(a,r),u=NK(i,o,s),d=IK(l),f=IK(u);e.modifiersData[n]={referenceClippingOffsets:l,popperEscapeOffsets:u,isReferenceHidden:d,hasPopperEscaped:f},e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-reference-hidden":d,"data-popper-escaped":f})}const uit={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:cit};function fit(t,e,n){var r=Ku(t),o=[Ii,Ni].indexOf(r)>=0?-1:1,s=typeof n=="function"?n(Object.assign({},e,{placement:t})):n,a=s[0],i=s[1];return a=a||0,i=(i||0)*o,[Ii,Jl].indexOf(r)>=0?{x:i,y:a}:{x:a,y:i}}function dit(t){var e=t.state,n=t.options,r=t.name,o=n.offset,s=o===void 0?[0,0]:o,a=gme.reduce(function(d,f){return d[f]=fit(f,e.rects,s),d},{}),i=a[e.placement],l=i.x,u=i.y;e.modifiersData.popperOffsets!=null&&(e.modifiersData.popperOffsets.x+=l,e.modifiersData.popperOffsets.y+=u),e.modifiersData[r]=a}const pit={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:dit};function hit(t){var e=t.state,n=t.name;e.modifiersData[n]=Cme({reference:e.rects.reference,element:e.rects.popper,placement:e.placement})}const mit={name:"popperOffsets",enabled:!0,phase:"read",fn:hit,data:{}};function git(t){return t==="x"?"y":"x"}function yit(t){var e=t.state,n=t.options,r=t.name,o=n.mainAxis,s=o===void 0?!0:o,a=n.altAxis,i=a===void 0?!1:a,l=n.boundary,u=n.rootBoundary,d=n.altBoundary,f=n.padding,m=n.tether,g=m===void 0?!0:m,w=n.tetherOffset,b=w===void 0?0:w,j=k2(e,{boundary:l,rootBoundary:u,padding:f,altBoundary:d}),S=Ku(e.placement),I=My(e.placement),N=!I,M=jP(S),D=git(M),O=e.modifiersData.popperOffsets,L=e.rects.reference,B=e.rects.popper,T=typeof b=="function"?b(Object.assign({},e.rects,{placement:e.placement})):b,R=typeof T=="number"?{mainAxis:T,altAxis:T}:Object.assign({mainAxis:0,altAxis:0},T),z=e.modifiersData.offset?e.modifiersData.offset[e.placement]:null,Y={x:0,y:0};if(O){if(s){var Q,W=M==="y"?Ni:Ii,F=M==="y"?Ql:Jl,X=M==="y"?"height":"width",$=O[M],V=$+j[W],K=$-j[F],G=g?-B[X]/2:0,J=I===Iy?L[X]:B[X],ne=I===Iy?-B[X]:-L[X],re=e.elements.arrow,de=g&&re?kP(re):{width:0,height:0},Ne=e.modifiersData["arrow#persistent"]?e.modifiersData["arrow#persistent"].padding:bme(),ve=Ne[W],xe=Ne[F],ce=cb(0,L[X],de[X]),pe=N?L[X]/2-G-ce-ve-R.mainAxis:J-ce-ve-R.mainAxis,me=N?-L[X]/2+G+ce+xe+R.mainAxis:ne+ce+xe+R.mainAxis,ke=e.elements.arrow&&Mx(e.elements.arrow),le=ke?M==="y"?ke.clientTop||0:ke.clientLeft||0:0,he=(Q=z==null?void 0:z[M])!=null?Q:0,we=$+pe-he-le,Ae=$+me-he,Ve=cb(g?Vj(V,we):V,$,g?rg(K,Ae):K);O[M]=Ve,Y[M]=Ve-$}if(i){var Ze,nt=M==="x"?Ni:Ii,$e=M==="x"?Ql:Jl,Ke=O[D],Me=D==="y"?"height":"width",et=Ke+j[nt],pt=Ke-j[$e],ht=[Ni,Ii].indexOf(S)!==-1,st=(Ze=z==null?void 0:z[D])!=null?Ze:0,De=ht?et:Ke-L[Me]-B[Me]-st+R.altAxis,se=ht?Ke+L[Me]+B[Me]-st-R.altAxis:pt,q=g&&ht?Uat(De,Ke,se):cb(g?De:et,Ke,g?se:pt);O[D]=q,Y[D]=q-Ke}e.modifiersData[r]=Y}}const vit={name:"preventOverflow",enabled:!0,phase:"main",fn:yit,requiresIfExists:["offset"]};function wit(t){return{scrollLeft:t.scrollLeft,scrollTop:t.scrollTop}}function bit(t){return t===hl(t)||!Gl(t)?CP(t):wit(t)}function xit(t){var e=t.getBoundingClientRect(),n=Ay(e.width)/t.offsetWidth||1,r=Ay(e.height)/t.offsetHeight||1;return n!==1||r!==1}function kit(t,e,n){n===void 0&&(n=!1);var r=Gl(e),o=Gl(e)&&xit(e),s=Lh(e),a=_y(t,o,n),i={scrollLeft:0,scrollTop:0},l={x:0,y:0};return(r||!r&&!n)&&((pf(e)!=="body"||EP(s))&&(i=bit(e)),Gl(e)?(l=_y(e,!0),l.x+=e.clientLeft,l.y+=e.clientTop):s&&(l.x=SP(s))),{x:a.left+i.scrollLeft-l.x,y:a.top+i.scrollTop-l.y,width:a.width,height:a.height}}function jit(t){var e=new Map,n=new Set,r=[];t.forEach(function(s){e.set(s.name,s)});function o(s){n.add(s.name);var a=[].concat(s.requires||[],s.requiresIfExists||[]);a.forEach(function(i){if(!n.has(i)){var l=e.get(i);l&&o(l)}}),r.push(s)}return t.forEach(function(s){n.has(s.name)||o(s)}),r}function Cit(t){var e=jit(t);return Pat.reduce(function(n,r){return n.concat(e.filter(function(o){return o.phase===r}))},[])}function Sit(t){var e;return function(){return e||(e=new Promise(function(n){Promise.resolve().then(function(){e=void 0,n(t())})})),e}}function Eit(t){var e=t.reduce(function(n,r){var o=n[r.name];return n[r.name]=o?Object.assign({},o,r,{options:Object.assign({},o.options,r.options),data:Object.assign({},o.data,r.data)}):r,n},{});return Object.keys(e).map(function(n){return e[n]})}var AK={placement:"bottom",modifiers:[],strategy:"absolute"};function _K(){for(var t=arguments.length,e=new Array(t),n=0;n<t;n++)e[n]=arguments[n];return!e.some(function(r){return!(r&&typeof r.getBoundingClientRect=="function")})}function Nit(t){t===void 0&&(t={});var e=t,n=e.defaultModifiers,r=n===void 0?[]:n,o=e.defaultOptions,s=o===void 0?AK:o;return function(i,l,u){u===void 0&&(u=s);var d={placement:"bottom",orderedModifiers:[],options:Object.assign({},AK,s),modifiersData:{},elements:{reference:i,popper:l},attributes:{},styles:{}},f=[],m=!1,g={state:d,setOptions:function(S){var I=typeof S=="function"?S(d.options):S;b(),d.options=Object.assign({},s,d.options,I),d.scrollParents={reference:Lg(i)?ub(i):i.contextElement?ub(i.contextElement):[],popper:ub(l)};var N=Cit(Eit([].concat(r,d.options.modifiers)));return d.orderedModifiers=N.filter(function(M){return M.enabled}),w(),g.update()},forceUpdate:function(){if(!m){var S=d.elements,I=S.reference,N=S.popper;if(_K(I,N)){d.rects={reference:kit(I,Mx(N),d.options.strategy==="fixed"),popper:kP(N)},d.reset=!1,d.placement=d.options.placement,d.orderedModifiers.forEach(function(R){return d.modifiersData[R.name]=Object.assign({},R.data)});for(var M=0;M<d.orderedModifiers.length;M++){if(d.reset===!0){d.reset=!1,M=-1;continue}var D=d.orderedModifiers[M],O=D.fn,L=D.options,B=L===void 0?{}:L,T=D.name;typeof O=="function"&&(d=O({state:d,options:B,name:T,instance:g})||d)}}}},update:Sit(function(){return new Promise(function(j){g.forceUpdate(),j(d)})}),destroy:function(){b(),m=!0}};if(!_K(i,l))return g;g.setOptions(u).then(function(j){!m&&u.onFirstUpdate&&u.onFirstUpdate(j)});function w(){d.orderedModifiers.forEach(function(j){var S=j.name,I=j.options,N=I===void 0?{}:I,M=j.effect;if(typeof M=="function"){var D=M({state:d,name:S,instance:g,options:N}),O=function(){};f.push(D||O)}})}function b(){f.forEach(function(j){return j()}),f=[]}return g}}var Iit=[Qat,mit,Kat,yme,pit,lit,vit,Wat,uit],Ait=Nit({defaultModifiers:Iit}),_it="tippy-box",Sme="tippy-content",Mit="tippy-backdrop",Eme="tippy-arrow",Nme="tippy-svg-arrow",bm={passive:!0,capture:!0},Ime=function(){return document.body};function f5(t,e,n){if(Array.isArray(t)){var r=t[e];return r??(Array.isArray(n)?n[e]:n)}return t}function NP(t,e){var n={}.toString.call(t);return n.indexOf("[object")===0&&n.indexOf(e+"]")>-1}function Ame(t,e){return typeof t=="function"?t.apply(void 0,e):t}function MK(t,e){if(e===0)return t;var n;return function(r){clearTimeout(n),n=setTimeout(function(){t(r)},e)}}function Rit(t){return t.split(/\s+/).filter(Boolean)}function d0(t){return[].concat(t)}function RK(t,e){t.indexOf(e)===-1&&t.push(e)}function Tit(t){return t.filter(function(e,n){return t.indexOf(e)===n})}function Dit(t){return t.split("-")[0]}function Hj(t){return[].slice.call(t)}function TK(t){return Object.keys(t).reduce(function(e,n){return t[n]!==void 0&&(e[n]=t[n]),e},{})}function fb(){return document.createElement("div")}function _E(t){return["Element","Fragment"].some(function(e){return NP(t,e)})}function Lit(t){return NP(t,"NodeList")}function Pit(t){return NP(t,"MouseEvent")}function Oit(t){return!!(t&&t._tippy&&t._tippy.reference===t)}function zit(t){return _E(t)?[t]:Lit(t)?Hj(t):Array.isArray(t)?t:Hj(document.querySelectorAll(t))}function d5(t,e){t.forEach(function(n){n&&(n.style.transitionDuration=e+"ms")})}function DK(t,e){t.forEach(function(n){n&&n.setAttribute("data-state",e)})}function Fit(t){var e,n=d0(t),r=n[0];return r!=null&&(e=r.ownerDocument)!=null&&e.body?r.ownerDocument:document}function Bit(t,e){var n=e.clientX,r=e.clientY;return t.every(function(o){var s=o.popperRect,a=o.popperState,i=o.props,l=i.interactiveBorder,u=Dit(a.placement),d=a.modifiersData.offset;if(!d)return!0;var f=u==="bottom"?d.top.y:0,m=u==="top"?d.bottom.y:0,g=u==="right"?d.left.x:0,w=u==="left"?d.right.x:0,b=s.top-r+f>l,j=r-s.bottom-m>l,S=s.left-n+g>l,I=n-s.right-w>l;return b||j||S||I})}function p5(t,e,n){var r=e+"EventListener";["transitionend","webkitTransitionEnd"].forEach(function(o){t[r](o,n)})}function LK(t,e){for(var n=e;n;){var r;if(t.contains(n))return!0;n=n.getRootNode==null||(r=n.getRootNode())==null?void 0:r.host}return!1}var Tu={isTouch:!1},PK=0;function Uit(){Tu.isTouch||(Tu.isTouch=!0,window.performance&&document.addEventListener("mousemove",_me))}function _me(){var t=performance.now();t-PK<20&&(Tu.isTouch=!1,document.removeEventListener("mousemove",_me)),PK=t}function $it(){var t=document.activeElement;if(Oit(t)){var e=t._tippy;t.blur&&!e.state.isVisible&&t.blur()}}function Vit(){document.addEventListener("touchstart",Uit,bm),window.addEventListener("blur",$it)}var Hit=typeof window<"u"&&typeof document<"u",Wit=Hit?!!window.msCrypto:!1,Yit={animateFill:!1,followCursor:!1,inlinePositioning:!1,sticky:!1},Git={allowHTML:!1,animation:"fade",arrow:!0,content:"",inertia:!1,maxWidth:350,role:"tooltip",theme:"",zIndex:9999},Vc=Object.assign({appendTo:Ime,aria:{content:"auto",expanded:"auto"},delay:0,duration:[300,250],getReferenceClientRect:null,hideOnClick:!0,ignoreAttributes:!1,interactive:!1,interactiveBorder:2,interactiveDebounce:0,moveTransition:"",offset:[0,10],onAfterUpdate:function(){},onBeforeUpdate:function(){},onCreate:function(){},onDestroy:function(){},onHidden:function(){},onHide:function(){},onMount:function(){},onShow:function(){},onShown:function(){},onTrigger:function(){},onUntrigger:function(){},onClickOutside:function(){},placement:"top",plugins:[],popperOptions:{},render:null,showOnCreate:!1,touch:!0,trigger:"mouseenter focus",triggerTarget:null},Yit,Git),qit=Object.keys(Vc),Kit=function(e){var n=Object.keys(e);n.forEach(function(r){Vc[r]=e[r]})};function Mme(t){var e=t.plugins||[],n=e.reduce(function(r,o){var s=o.name,a=o.defaultValue;if(s){var i;r[s]=t[s]!==void 0?t[s]:(i=Vc[s])!=null?i:a}return r},{});return Object.assign({},t,n)}function Zit(t,e){var n=e?Object.keys(Mme(Object.assign({},Vc,{plugins:e}))):qit,r=n.reduce(function(o,s){var a=(t.getAttribute("data-tippy-"+s)||"").trim();if(!a)return o;if(s==="content")o[s]=a;else try{o[s]=JSON.parse(a)}catch{o[s]=a}return o},{});return r}function OK(t,e){var n=Object.assign({},e,{content:Ame(e.content,[t])},e.ignoreAttributes?{}:Zit(t,e.plugins));return n.aria=Object.assign({},Vc.aria,n.aria),n.aria={expanded:n.aria.expanded==="auto"?e.interactive:n.aria.expanded,content:n.aria.content==="auto"?e.interactive?null:"describedby":n.aria.content},n}var Qit=function(){return"innerHTML"};function cR(t,e){t[Qit()]=e}function zK(t){var e=fb();return t===!0?e.className=Eme:(e.className=Nme,_E(t)?e.appendChild(t):cR(e,t)),e}function FK(t,e){_E(e.content)?(cR(t,""),t.appendChild(e.content)):typeof e.content!="function"&&(e.allowHTML?cR(t,e.content):t.textContent=e.content)}function uR(t){var e=t.firstElementChild,n=Hj(e.children);return{box:e,content:n.find(function(r){return r.classList.contains(Sme)}),arrow:n.find(function(r){return r.classList.contains(Eme)||r.classList.contains(Nme)}),backdrop:n.find(function(r){return r.classList.contains(Mit)})}}function Rme(t){var e=fb(),n=fb();n.className=_it,n.setAttribute("data-state","hidden"),n.setAttribute("tabindex","-1");var r=fb();r.className=Sme,r.setAttribute("data-state","hidden"),FK(r,t.props),e.appendChild(n),n.appendChild(r),o(t.props,t.props);function o(s,a){var i=uR(e),l=i.box,u=i.content,d=i.arrow;a.theme?l.setAttribute("data-theme",a.theme):l.removeAttribute("data-theme"),typeof a.animation=="string"?l.setAttribute("data-animation",a.animation):l.removeAttribute("data-animation"),a.inertia?l.setAttribute("data-inertia",""):l.removeAttribute("data-inertia"),l.style.maxWidth=typeof a.maxWidth=="number"?a.maxWidth+"px":a.maxWidth,a.role?l.setAttribute("role",a.role):l.removeAttribute("role"),(s.content!==a.content||s.allowHTML!==a.allowHTML)&&FK(u,t.props),a.arrow?d?s.arrow!==a.arrow&&(l.removeChild(d),l.appendChild(zK(a.arrow))):l.appendChild(zK(a.arrow)):d&&l.removeChild(d)}return{popper:e,onUpdate:o}}Rme.$$tippy=!0;var Jit=1,n3=[],h5=[];function Xit(t,e){var n=OK(t,Object.assign({},Vc,Mme(TK(e)))),r,o,s,a=!1,i=!1,l=!1,u=!1,d,f,m,g=[],w=MK(we,n.interactiveDebounce),b,j=Jit++,S=null,I=Tit(n.plugins),N={isEnabled:!0,isVisible:!1,isDestroyed:!1,isMounted:!1,isShown:!1},M={id:j,reference:t,popper:fb(),popperInstance:S,props:n,state:N,plugins:I,clearDelayTimeouts:De,setProps:se,setContent:q,show:Z,hide:ie,hideWithInteractivity:Ce,enable:ht,disable:st,unmount:Te,destroy:Se};if(!n.render)return M;var D=n.render(M),O=D.popper,L=D.onUpdate;O.setAttribute("data-tippy-root",""),O.id="tippy-"+M.id,M.popper=O,t._tippy=M,O._tippy=M;var B=I.map(function(ye){return ye.fn(M)}),T=t.hasAttribute("aria-expanded");return ke(),G(),$(),V("onCreate",[M]),n.showOnCreate&&et(),O.addEventListener("mouseenter",function(){M.props.interactive&&M.state.isVisible&&M.clearDelayTimeouts()}),O.addEventListener("mouseleave",function(){M.props.interactive&&M.props.trigger.indexOf("mouseenter")>=0&&W().addEventListener("mousemove",w)}),M;function R(){var ye=M.props.touch;return Array.isArray(ye)?ye:[ye,0]}function z(){return R()[0]==="hold"}function Y(){var ye;return!!((ye=M.props.render)!=null&&ye.$$tippy)}function Q(){return b||t}function W(){var ye=Q().parentNode;return ye?Fit(ye):document}function F(){return uR(O)}function X(ye){return M.state.isMounted&&!M.state.isVisible||Tu.isTouch||d&&d.type==="focus"?0:f5(M.props.delay,ye?0:1,Vc.delay)}function $(ye){ye===void 0&&(ye=!1),O.style.pointerEvents=M.props.interactive&&!ye?"":"none",O.style.zIndex=""+M.props.zIndex}function V(ye,We,Ee){if(Ee===void 0&&(Ee=!0),B.forEach(function(Qe){Qe[ye]&&Qe[ye].apply(Qe,We)}),Ee){var Pe;(Pe=M.props)[ye].apply(Pe,We)}}function K(){var ye=M.props.aria;if(ye.content){var We="aria-"+ye.content,Ee=O.id,Pe=d0(M.props.triggerTarget||t);Pe.forEach(function(Qe){var mt=Qe.getAttribute(We);if(M.state.isVisible)Qe.setAttribute(We,mt?mt+" "+Ee:Ee);else{var Rt=mt&&mt.replace(Ee,"").trim();Rt?Qe.setAttribute(We,Rt):Qe.removeAttribute(We)}})}}function G(){if(!(T||!M.props.aria.expanded)){var ye=d0(M.props.triggerTarget||t);ye.forEach(function(We){M.props.interactive?We.setAttribute("aria-expanded",M.state.isVisible&&We===Q()?"true":"false"):We.removeAttribute("aria-expanded")})}}function J(){W().removeEventListener("mousemove",w),n3=n3.filter(function(ye){return ye!==w})}function ne(ye){if(!(Tu.isTouch&&(l||ye.type==="mousedown"))){var We=ye.composedPath&&ye.composedPath()[0]||ye.target;if(!(M.props.interactive&&LK(O,We))){if(d0(M.props.triggerTarget||t).some(function(Ee){return LK(Ee,We)})){if(Tu.isTouch||M.state.isVisible&&M.props.trigger.indexOf("click")>=0)return}else V("onClickOutside",[M,ye]);M.props.hideOnClick===!0&&(M.clearDelayTimeouts(),M.hide(),i=!0,setTimeout(function(){i=!1}),M.state.isMounted||ve())}}}function re(){l=!0}function de(){l=!1}function Ne(){var ye=W();ye.addEventListener("mousedown",ne,!0),ye.addEventListener("touchend",ne,bm),ye.addEventListener("touchstart",de,bm),ye.addEventListener("touchmove",re,bm)}function ve(){var ye=W();ye.removeEventListener("mousedown",ne,!0),ye.removeEventListener("touchend",ne,bm),ye.removeEventListener("touchstart",de,bm),ye.removeEventListener("touchmove",re,bm)}function xe(ye,We){pe(ye,function(){!M.state.isVisible&&O.parentNode&&O.parentNode.contains(O)&&We()})}function ce(ye,We){pe(ye,We)}function pe(ye,We){var Ee=F().box;function Pe(Qe){Qe.target===Ee&&(p5(Ee,"remove",Pe),We())}if(ye===0)return We();p5(Ee,"remove",f),p5(Ee,"add",Pe),f=Pe}function me(ye,We,Ee){Ee===void 0&&(Ee=!1);var Pe=d0(M.props.triggerTarget||t);Pe.forEach(function(Qe){Qe.addEventListener(ye,We,Ee),g.push({node:Qe,eventType:ye,handler:We,options:Ee})})}function ke(){z()&&(me("touchstart",he,{passive:!0}),me("touchend",Ae,{passive:!0})),Rit(M.props.trigger).forEach(function(ye){if(ye!=="manual")switch(me(ye,he),ye){case"mouseenter":me("mouseleave",Ae);break;case"focus":me(Wit?"focusout":"blur",Ve);break;case"focusin":me("focusout",Ve);break}})}function le(){g.forEach(function(ye){var We=ye.node,Ee=ye.eventType,Pe=ye.handler,Qe=ye.options;We.removeEventListener(Ee,Pe,Qe)}),g=[]}function he(ye){var We,Ee=!1;if(!(!M.state.isEnabled||Ze(ye)||i)){var Pe=((We=d)==null?void 0:We.type)==="focus";d=ye,b=ye.currentTarget,G(),!M.state.isVisible&&Pit(ye)&&n3.forEach(function(Qe){return Qe(ye)}),ye.type==="click"&&(M.props.trigger.indexOf("mouseenter")<0||a)&&M.props.hideOnClick!==!1&&M.state.isVisible?Ee=!0:et(ye),ye.type==="click"&&(a=!Ee),Ee&&!Pe&&pt(ye)}}function we(ye){var We=ye.target,Ee=Q().contains(We)||O.contains(We);if(!(ye.type==="mousemove"&&Ee)){var Pe=Me().concat(O).map(function(Qe){var mt,Rt=Qe._tippy,At=(mt=Rt.popperInstance)==null?void 0:mt.state;return At?{popperRect:Qe.getBoundingClientRect(),popperState:At,props:n}:null}).filter(Boolean);Bit(Pe,ye)&&(J(),pt(ye))}}function Ae(ye){var We=Ze(ye)||M.props.trigger.indexOf("click")>=0&&a;if(!We){if(M.props.interactive){M.hideWithInteractivity(ye);return}pt(ye)}}function Ve(ye){M.props.trigger.indexOf("focusin")<0&&ye.target!==Q()||M.props.interactive&&ye.relatedTarget&&O.contains(ye.relatedTarget)||pt(ye)}function Ze(ye){return Tu.isTouch?z()!==ye.type.indexOf("touch")>=0:!1}function nt(){$e();var ye=M.props,We=ye.popperOptions,Ee=ye.placement,Pe=ye.offset,Qe=ye.getReferenceClientRect,mt=ye.moveTransition,Rt=Y()?uR(O).arrow:null,At=Qe?{getBoundingClientRect:Qe,contextElement:Qe.contextElement||Q()}:t,_t={name:"$$tippy",enabled:!0,phase:"beforeWrite",requires:["computeStyles"],fn:function(xt){var vt=xt.state;if(Y()){var yt=F(),Wt=yt.box;["placement","reference-hidden","escaped"].forEach(function(qt){qt==="placement"?Wt.setAttribute("data-placement",vt.placement):vt.attributes.popper["data-popper-"+qt]?Wt.setAttribute("data-"+qt,""):Wt.removeAttribute("data-"+qt)}),vt.attributes.popper={}}}},Ht=[{name:"offset",options:{offset:Pe}},{name:"preventOverflow",options:{padding:{top:2,bottom:2,left:5,right:5}}},{name:"flip",options:{padding:5}},{name:"computeStyles",options:{adaptive:!mt}},_t];Y()&&Rt&&Ht.push({name:"arrow",options:{element:Rt,padding:3}}),Ht.push.apply(Ht,(We==null?void 0:We.modifiers)||[]),M.popperInstance=Ait(At,O,Object.assign({},We,{placement:Ee,onFirstUpdate:m,modifiers:Ht}))}function $e(){M.popperInstance&&(M.popperInstance.destroy(),M.popperInstance=null)}function Ke(){var ye=M.props.appendTo,We,Ee=Q();M.props.interactive&&ye===Ime||ye==="parent"?We=Ee.parentNode:We=Ame(ye,[Ee]),We.contains(O)||We.appendChild(O),M.state.isMounted=!0,nt()}function Me(){return Hj(O.querySelectorAll("[data-tippy-root]"))}function et(ye){M.clearDelayTimeouts(),ye&&V("onTrigger",[M,ye]),Ne();var We=X(!0),Ee=R(),Pe=Ee[0],Qe=Ee[1];Tu.isTouch&&Pe==="hold"&&Qe&&(We=Qe),We?r=setTimeout(function(){M.show()},We):M.show()}function pt(ye){if(M.clearDelayTimeouts(),V("onUntrigger",[M,ye]),!M.state.isVisible){ve();return}if(!(M.props.trigger.indexOf("mouseenter")>=0&&M.props.trigger.indexOf("click")>=0&&["mouseleave","mousemove"].indexOf(ye.type)>=0&&a)){var We=X(!1);We?o=setTimeout(function(){M.state.isVisible&&M.hide()},We):s=requestAnimationFrame(function(){M.hide()})}}function ht(){M.state.isEnabled=!0}function st(){M.hide(),M.state.isEnabled=!1}function De(){clearTimeout(r),clearTimeout(o),cancelAnimationFrame(s)}function se(ye){if(!M.state.isDestroyed){V("onBeforeUpdate",[M,ye]),le();var We=M.props,Ee=OK(t,Object.assign({},We,TK(ye),{ignoreAttributes:!0}));M.props=Ee,ke(),We.interactiveDebounce!==Ee.interactiveDebounce&&(J(),w=MK(we,Ee.interactiveDebounce)),We.triggerTarget&&!Ee.triggerTarget?d0(We.triggerTarget).forEach(function(Pe){Pe.removeAttribute("aria-expanded")}):Ee.triggerTarget&&t.removeAttribute("aria-expanded"),G(),$(),L&&L(We,Ee),M.popperInstance&&(nt(),Me().forEach(function(Pe){requestAnimationFrame(Pe._tippy.popperInstance.forceUpdate)})),V("onAfterUpdate",[M,ye])}}function q(ye){M.setProps({content:ye})}function Z(){var ye=M.state.isVisible,We=M.state.isDestroyed,Ee=!M.state.isEnabled,Pe=Tu.isTouch&&!M.props.touch,Qe=f5(M.props.duration,0,Vc.duration);if(!(ye||We||Ee||Pe)&&!Q().hasAttribute("disabled")&&(V("onShow",[M],!1),M.props.onShow(M)!==!1)){if(M.state.isVisible=!0,Y()&&(O.style.visibility="visible"),$(),Ne(),M.state.isMounted||(O.style.transition="none"),Y()){var mt=F(),Rt=mt.box,At=mt.content;d5([Rt,At],0)}m=function(){var Ht;if(!(!M.state.isVisible||u)){if(u=!0,O.offsetHeight,O.style.transition=M.props.moveTransition,Y()&&M.props.animation){var dt=F(),xt=dt.box,vt=dt.content;d5([xt,vt],Qe),DK([xt,vt],"visible")}K(),G(),RK(h5,M),(Ht=M.popperInstance)==null||Ht.forceUpdate(),V("onMount",[M]),M.props.animation&&Y()&&ce(Qe,function(){M.state.isShown=!0,V("onShown",[M])})}},Ke()}}function ie(){var ye=!M.state.isVisible,We=M.state.isDestroyed,Ee=!M.state.isEnabled,Pe=f5(M.props.duration,1,Vc.duration);if(!(ye||We||Ee)&&(V("onHide",[M],!1),M.props.onHide(M)!==!1)){if(M.state.isVisible=!1,M.state.isShown=!1,u=!1,a=!1,Y()&&(O.style.visibility="hidden"),J(),ve(),$(!0),Y()){var Qe=F(),mt=Qe.box,Rt=Qe.content;M.props.animation&&(d5([mt,Rt],Pe),DK([mt,Rt],"hidden"))}K(),G(),M.props.animation?Y()&&xe(Pe,M.unmount):M.unmount()}}function Ce(ye){W().addEventListener("mousemove",w),RK(n3,w),w(ye)}function Te(){M.state.isVisible&&M.hide(),M.state.isMounted&&($e(),Me().forEach(function(ye){ye._tippy.unmount()}),O.parentNode&&O.parentNode.removeChild(O),h5=h5.filter(function(ye){return ye!==M}),M.state.isMounted=!1,V("onHidden",[M]))}function Se(){M.state.isDestroyed||(M.clearDelayTimeouts(),M.unmount(),le(),delete t._tippy,M.state.isDestroyed=!0,V("onDestroy",[M]))}}function fv(t,e){e===void 0&&(e={});var n=Vc.plugins.concat(e.plugins||[]);Vit();var r=Object.assign({},e,{plugins:n}),o=zit(t),s=o.reduce(function(a,i){var l=i&&Xit(i,r);return l&&a.push(l),a},[]);return _E(t)?s[0]:s}fv.defaultProps=Vc;fv.setDefaultProps=Kit;fv.currentInput=Tu;Object.assign({},yme,{effect:function(e){var n=e.state,r={popper:{position:n.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};Object.assign(n.elements.popper.style,r.popper),n.styles=r,n.elements.arrow&&Object.assign(n.elements.arrow.style,r.arrow)}});fv.setDefaultProps({render:Rme});function elt(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var Tme={exports:{}},m5={};/**
2195 * @license React
2196 * use-sync-external-store-shim.production.min.js
2197 *
2198 * Copyright (c) Facebook, Inc. and its affiliates.
2199 *
2200 * This source code is licensed under the MIT license found in the
2201 * LICENSE file in the root directory of this source tree.
2202 */var BK;function tlt(){if(BK)return m5;BK=1;var t=Be;function e(f,m){return f===m&&(f!==0||1/f===1/m)||f!==f&&m!==m}var n=typeof Object.is=="function"?Object.is:e,r=t.useState,o=t.useEffect,s=t.useLayoutEffect,a=t.useDebugValue;function i(f,m){var g=m(),w=r({inst:{value:g,getSnapshot:m}}),b=w[0].inst,j=w[1];return s(function(){b.value=g,b.getSnapshot=m,l(b)&&j({inst:b})},[f,g,m]),o(function(){return l(b)&&j({inst:b}),f(function(){l(b)&&j({inst:b})})},[f]),a(g),g}function l(f){var m=f.getSnapshot;f=f.value;try{var g=m();return!n(f,g)}catch{return!0}}function u(f,m){return m()}var d=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?u:i;return m5.useSyncExternalStore=t.useSyncExternalStore!==void 0?t.useSyncExternalStore:d,m5}Tme.exports=tlt();var IP=Tme.exports;const nlt=(...t)=>e=>{t.forEach(n=>{typeof n=="function"?n(e):n&&(n.current=e)})},rlt=({contentComponent:t})=>{const e=IP.useSyncExternalStore(t.subscribe,t.getSnapshot,t.getServerSnapshot);return Be.createElement(Be.Fragment,null,Object.values(e))};function olt(){const t=new Set;let e={};return{subscribe(n){return t.add(n),()=>{t.delete(n)}},getSnapshot(){return e},getServerSnapshot(){return e},setRenderer(n,r){e={...e,[n]:KD.createPortal(r.reactElement,r.element,n)},t.forEach(o=>o())},removeRenderer(n){const r={...e};delete r[n],e=r,t.forEach(o=>o())}}}class slt extends Be.Component{constructor(e){var n;super(e),this.editorContentRef=Be.createRef(),this.initialized=!1,this.state={hasContentComponentInitialized:!!(!((n=e.editor)===null||n===void 0)&&n.contentComponent)}}componentDidMount(){this.init()}componentDidUpdate(){this.init()}init(){const e=this.props.editor;if(e&&!e.isDestroyed&&e.options.element){if(e.contentComponent)return;const n=this.editorContentRef.current;n.append(...e.options.element.childNodes),e.setOptions({element:n}),e.contentComponent=olt(),this.state.hasContentComponentInitialized||(this.unsubscribeToContentComponent=e.contentComponent.subscribe(()=>{this.setState(r=>r.hasContentComponentInitialized?r:{hasContentComponentInitialized:!0}),this.unsubscribeToContentComponent&&this.unsubscribeToContentComponent()})),e.createNodeViews(),this.initialized=!0}}componentWillUnmount(){const e=this.props.editor;if(!e||(this.initialized=!1,e.isDestroyed||e.view.setProps({nodeViews:{}}),this.unsubscribeToContentComponent&&this.unsubscribeToContentComponent(),e.contentComponent=null,!e.options.element.firstChild))return;const n=document.createElement("div");n.append(...e.options.element.childNodes),e.setOptions({element:n})}render(){const{editor:e,innerRef:n,...r}=this.props;return Be.createElement(Be.Fragment,null,Be.createElement("div",{ref:nlt(n,this.editorContentRef),...r}),(e==null?void 0:e.contentComponent)&&Be.createElement(rlt,{contentComponent:e.contentComponent}))}}const alt=h.forwardRef((t,e)=>{const n=Be.useMemo(()=>Math.floor(Math.random()*4294967295).toString(),[t.editor]);return Be.createElement(slt,{key:n,innerRef:e,...t})}),ilt=Be.memo(alt);var llt=function t(e,n){if(e===n)return!0;if(e&&n&&typeof e=="object"&&typeof n=="object"){if(e.constructor!==n.constructor)return!1;var r,o,s;if(Array.isArray(e)){if(r=e.length,r!=n.length)return!1;for(o=r;o--!==0;)if(!t(e[o],n[o]))return!1;return!0}if(e instanceof Map&&n instanceof Map){if(e.size!==n.size)return!1;for(o of e.entries())if(!n.has(o[0]))return!1;for(o of e.entries())if(!t(o[1],n.get(o[0])))return!1;return!0}if(e instanceof Set&&n instanceof Set){if(e.size!==n.size)return!1;for(o of e.entries())if(!n.has(o[0]))return!1;return!0}if(ArrayBuffer.isView(e)&&ArrayBuffer.isView(n)){if(r=e.length,r!=n.length)return!1;for(o=r;o--!==0;)if(e[o]!==n[o])return!1;return!0}if(e.constructor===RegExp)return e.source===n.source&&e.flags===n.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===n.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===n.toString();if(s=Object.keys(e),r=s.length,r!==Object.keys(n).length)return!1;for(o=r;o--!==0;)if(!Object.prototype.hasOwnProperty.call(n,s[o]))return!1;for(o=r;o--!==0;){var a=s[o];if(!(a==="_owner"&&e.$$typeof)&&!t(e[a],n[a]))return!1}return!0}return e!==e&&n!==n},clt=elt(llt),Dme={exports:{}},g5={};/**
2203 * @license React
2204 * use-sync-external-store-shim/with-selector.production.min.js
2205 *
2206 * Copyright (c) Facebook, Inc. and its affiliates.
2207 *
2208 * This source code is licensed under the MIT license found in the
2209 * LICENSE file in the root directory of this source tree.
2210 */var UK;function ult(){if(UK)return g5;UK=1;var t=Be,e=IP;function n(u,d){return u===d&&(u!==0||1/u===1/d)||u!==u&&d!==d}var r=typeof Object.is=="function"?Object.is:n,o=e.useSyncExternalStore,s=t.useRef,a=t.useEffect,i=t.useMemo,l=t.useDebugValue;return g5.useSyncExternalStoreWithSelector=function(u,d,f,m,g){var w=s(null);if(w.current===null){var b={hasValue:!1,value:null};w.current=b}else b=w.current;w=i(function(){function S(O){if(!I){if(I=!0,N=O,O=m(O),g!==void 0&&b.hasValue){var L=b.value;if(g(L,O))return M=L}return M=O}if(L=M,r(N,O))return L;var B=m(O);return g!==void 0&&g(L,B)?L:(N=O,M=B)}var I=!1,N,M,D=f===void 0?null:f;return[function(){return S(d())},D===null?void 0:function(){return S(D())}]},[d,f,m,g]);var j=o(u,w[0],w[1]);return a(function(){b.hasValue=!0,b.value=j},[j]),l(j),j},g5}Dme.exports=ult();var flt=Dme.exports;const dlt=typeof window<"u"?h.useLayoutEffect:h.useEffect;class plt{constructor(e){this.transactionNumber=0,this.lastTransactionNumber=0,this.subscribers=new Set,this.editor=e,this.lastSnapshot={editor:e,transactionNumber:0},this.getSnapshot=this.getSnapshot.bind(this),this.getServerSnapshot=this.getServerSnapshot.bind(this),this.watch=this.watch.bind(this),this.subscribe=this.subscribe.bind(this)}getSnapshot(){return this.transactionNumber===this.lastTransactionNumber?this.lastSnapshot:(this.lastTransactionNumber=this.transactionNumber,this.lastSnapshot={editor:this.editor,transactionNumber:this.transactionNumber},this.lastSnapshot)}getServerSnapshot(){return{editor:null,transactionNumber:0}}subscribe(e){return this.subscribers.add(e),()=>{this.subscribers.delete(e)}}watch(e){if(this.editor=e,this.editor){const n=()=>{this.transactionNumber+=1,this.subscribers.forEach(o=>o())},r=this.editor;return r.on("transaction",n),()=>{r.off("transaction",n)}}}}function hlt(t){var e;const[n]=h.useState(()=>new plt(t.editor)),r=flt.useSyncExternalStoreWithSelector(n.subscribe,n.getSnapshot,n.getServerSnapshot,t.selector,(e=t.equalityFn)!==null&&e!==void 0?e:clt);return dlt(()=>n.watch(t.editor),[t.editor,n]),h.useDebugValue(r),r}const mlt=!1,fR=typeof window>"u",glt=fR||!!(typeof window<"u"&&window.next);class AP{constructor(e){this.editor=null,this.subscriptions=new Set,this.isComponentMounted=!1,this.previousDeps=null,this.instanceId="",this.options=e,this.subscriptions=new Set,this.setEditor(this.getInitialEditor()),this.scheduleDestroy(),this.getEditor=this.getEditor.bind(this),this.getServerSnapshot=this.getServerSnapshot.bind(this),this.subscribe=this.subscribe.bind(this),this.refreshEditorInstance=this.refreshEditorInstance.bind(this),this.scheduleDestroy=this.scheduleDestroy.bind(this),this.onRender=this.onRender.bind(this),this.createEditor=this.createEditor.bind(this)}setEditor(e){this.editor=e,this.instanceId=Math.random().toString(36).slice(2,9),this.subscriptions.forEach(n=>n())}getInitialEditor(){return this.options.current.immediatelyRender===void 0?fR||glt?null:this.createEditor():(this.options.current.immediatelyRender,this.options.current.immediatelyRender?this.createEditor():null)}createEditor(){const e={...this.options.current,onBeforeCreate:(...r)=>{var o,s;return(s=(o=this.options.current).onBeforeCreate)===null||s===void 0?void 0:s.call(o,...r)},onBlur:(...r)=>{var o,s;return(s=(o=this.options.current).onBlur)===null||s===void 0?void 0:s.call(o,...r)},onCreate:(...r)=>{var o,s;return(s=(o=this.options.current).onCreate)===null||s===void 0?void 0:s.call(o,...r)},onDestroy:(...r)=>{var o,s;return(s=(o=this.options.current).onDestroy)===null||s===void 0?void 0:s.call(o,...r)},onFocus:(...r)=>{var o,s;return(s=(o=this.options.current).onFocus)===null||s===void 0?void 0:s.call(o,...r)},onSelectionUpdate:(...r)=>{var o,s;return(s=(o=this.options.current).onSelectionUpdate)===null||s===void 0?void 0:s.call(o,...r)},onTransaction:(...r)=>{var o,s;return(s=(o=this.options.current).onTransaction)===null||s===void 0?void 0:s.call(o,...r)},onUpdate:(...r)=>{var o,s;return(s=(o=this.options.current).onUpdate)===null||s===void 0?void 0:s.call(o,...r)},onContentError:(...r)=>{var o,s;return(s=(o=this.options.current).onContentError)===null||s===void 0?void 0:s.call(o,...r)},onDrop:(...r)=>{var o,s;return(s=(o=this.options.current).onDrop)===null||s===void 0?void 0:s.call(o,...r)},onPaste:(...r)=>{var o,s;return(s=(o=this.options.current).onPaste)===null||s===void 0?void 0:s.call(o,...r)}};return new Gst(e)}getEditor(){return this.editor}getServerSnapshot(){return null}subscribe(e){return this.subscriptions.add(e),()=>{this.subscriptions.delete(e)}}static compareOptions(e,n){return Object.keys(e).every(r=>["onCreate","onBeforeCreate","onDestroy","onUpdate","onTransaction","onFocus","onBlur","onSelectionUpdate","onContentError","onDrop","onPaste"].includes(r)?!0:r==="extensions"&&e.extensions&&n.extensions?e.extensions.length!==n.extensions.length?!1:e.extensions.every((o,s)=>{var a;return o===((a=n.extensions)===null||a===void 0?void 0:a[s])}):e[r]===n[r])}onRender(e){return()=>(this.isComponentMounted=!0,clearTimeout(this.scheduledDestructionTimeout),this.editor&&!this.editor.isDestroyed&&e.length===0?AP.compareOptions(this.options.current,this.editor.options)||this.editor.setOptions({...this.options.current,editable:this.editor.isEditable}):this.refreshEditorInstance(e),()=>{this.isComponentMounted=!1,this.scheduleDestroy()})}refreshEditorInstance(e){if(this.editor&&!this.editor.isDestroyed){if(this.previousDeps===null){this.previousDeps=e;return}if(this.previousDeps.length===e.length&&this.previousDeps.every((r,o)=>r===e[o]))return}this.editor&&!this.editor.isDestroyed&&this.editor.destroy(),this.setEditor(this.createEditor()),this.previousDeps=e}scheduleDestroy(){const e=this.instanceId,n=this.editor;this.scheduledDestructionTimeout=setTimeout(()=>{if(this.isComponentMounted&&this.instanceId===e){n&&n.setOptions(this.options.current);return}n&&!n.isDestroyed&&(n.destroy(),this.instanceId===e&&this.setEditor(null))},1)}}function ylt(t={},e=[]){const n=h.useRef(t);n.current=t;const[r]=h.useState(()=>new AP(n)),o=IP.useSyncExternalStore(r.subscribe,r.getEditor,r.getServerSnapshot);return h.useDebugValue(o),h.useEffect(r.onRender(e)),hlt({editor:o,selector:({transactionNumber:s})=>t.shouldRerenderOnTransaction===!1?null:t.immediatelyRender&&s===0?0:s+1}),o}const vlt=h.createContext({editor:null});vlt.Consumer;const Lme=h.createContext({onDragStart:void 0}),wlt=()=>h.useContext(Lme),dR=Be.forwardRef((t,e)=>{const{onDragStart:n}=wlt(),r=t.as||"div";return Be.createElement(r,{...t,ref:e,"data-node-view-wrapper":"",onDragStart:n,style:{whiteSpace:"normal",...t.style}})});function blt(t){return!!(typeof t=="function"&&t.prototype&&t.prototype.isReactComponent)}function xlt(t){var e;return typeof t=="object"&&((e=t.$$typeof)===null||e===void 0?void 0:e.toString())==="Symbol(react.forward_ref)"}class _P{constructor(e,{editor:n,props:r={},as:o="div",className:s=""}){this.ref=null,this.id=Math.floor(Math.random()*4294967295).toString(),this.component=e,this.editor=n,this.props=r,this.element=document.createElement(o),this.element.classList.add("react-renderer"),s&&this.element.classList.add(...s.split(" ")),this.editor.isInitialized?Ds.flushSync(()=>{this.render()}):this.render()}render(){var e;const n=this.component,r=this.props,o=this.editor;(blt(n)||xlt(n))&&(r.ref=s=>{this.ref=s}),this.reactElement=Be.createElement(n,{...r}),(e=o==null?void 0:o.contentComponent)===null||e===void 0||e.setRenderer(this.id,this)}updateProps(e={}){this.props={...this.props,...e},this.render()}destroy(){var e;const n=this.editor;(e=n==null?void 0:n.contentComponent)===null||e===void 0||e.removeRenderer(this.id)}updateAttributes(e){Object.keys(e).forEach(n=>{this.element.setAttribute(n,e[n])})}}class klt extends Kst{mount(){const e={editor:this.editor,node:this.node,decorations:this.decorations,innerDecorations:this.innerDecorations,view:this.view,selected:!1,extension:this.extension,HTMLAttributes:this.HTMLAttributes,getPos:()=>this.getPos(),updateAttributes:(u={})=>this.updateAttributes(u),deleteNode:()=>this.deleteNode()};if(!this.component.displayName){const u=d=>d.charAt(0).toUpperCase()+d.substring(1);this.component.displayName=u(this.extension.name)}const o={onDragStart:this.onDragStart.bind(this),nodeViewContentRef:u=>{u&&this.contentDOMElement&&u.firstChild!==this.contentDOMElement&&u.appendChild(this.contentDOMElement)}},s=this.component,a=Be.memo(u=>Be.createElement(Lme.Provider,{value:o},Be.createElement(s,u)));a.displayName="ReactNodeView",this.node.isLeaf?this.contentDOMElement=null:this.options.contentDOMElementTag?this.contentDOMElement=document.createElement(this.options.contentDOMElementTag):this.contentDOMElement=document.createElement(this.node.isInline?"span":"div"),this.contentDOMElement&&(this.contentDOMElement.dataset.nodeViewContentReact="",this.contentDOMElement.style.whiteSpace="inherit");let i=this.node.isInline?"span":"div";this.options.as&&(i=this.options.as);const{className:l=""}=this.options;this.handleSelectionUpdate=this.handleSelectionUpdate.bind(this),this.renderer=new _P(a,{editor:this.editor,props:e,as:i,className:`node-${this.node.type.name} ${l}`.trim()}),this.editor.on("selectionUpdate",this.handleSelectionUpdate),this.updateElementAttributes()}get dom(){var e;if(this.renderer.element.firstElementChild&&!(!((e=this.renderer.element.firstElementChild)===null||e===void 0)&&e.hasAttribute("data-node-view-wrapper")))throw Error("Please use the NodeViewWrapper component for your node view.");return this.renderer.element}get contentDOM(){return this.node.isLeaf?null:this.contentDOMElement}handleSelectionUpdate(){const{from:e,to:n}=this.editor.state.selection,r=this.getPos();if(typeof r=="number")if(e<=r&&n>=r+this.node.nodeSize){if(this.renderer.props.selected)return;this.selectNode()}else{if(!this.renderer.props.selected)return;this.deselectNode()}}update(e,n,r){const o=s=>{this.renderer.updateProps(s),typeof this.options.attrs=="function"&&this.updateElementAttributes()};if(e.type!==this.node.type)return!1;if(typeof this.options.update=="function"){const s=this.node,a=this.decorations,i=this.innerDecorations;return this.node=e,this.decorations=n,this.innerDecorations=r,this.options.update({oldNode:s,oldDecorations:a,newNode:e,newDecorations:n,oldInnerDecorations:i,innerDecorations:r,updateProps:()=>o({node:e,decorations:n,innerDecorations:r})})}return e===this.node&&this.decorations===n&&this.innerDecorations===r||(this.node=e,this.decorations=n,this.innerDecorations=r,o({node:e,decorations:n,innerDecorations:r})),!0}selectNode(){this.renderer.updateProps({selected:!0}),this.renderer.element.classList.add("ProseMirror-selectednode")}deselectNode(){this.renderer.updateProps({selected:!1}),this.renderer.element.classList.remove("ProseMirror-selectednode")}destroy(){this.renderer.destroy(),this.editor.off("selectionUpdate",this.handleSelectionUpdate),this.contentDOMElement=null}updateElementAttributes(){if(this.options.attrs){let e={};if(typeof this.options.attrs=="function"){const n=this.editor.extensionManager.attributes,r=zj(this.node,n);e=this.options.attrs({node:this.node,HTMLAttributes:r})}else e=this.options.attrs;this.renderer.updateAttributes(e)}}}function Pme(t,e){return n=>n.editor.contentComponent?new klt(t,n,e):{}}const r3=["outline-2","outline-offset-4","outline-dashed","outline-border","rounded-md"],jlt=Ri.create({name:"clipboardAndDropHandler",addOptions(){return{onUploadStart:void 0,onUploadSuccess:void 0,onUploadError:void 0,onUploadEnd:void 0,onUploadProgress:void 0,onProvideCancel:void 0}},addProseMirrorPlugins(){const t=this.options;return[new ui({props:{handleDOMEvents:{dragenter(e,n){return n.preventDefault(),e.dom.classList.add(...r3),!0},dragover(e,n){return n.preventDefault(),e.dom.classList.add(...r3),!0},dragleave(e){return e.dom.classList.remove(...r3),!0}},handleDrop(e,n){var s;n.preventDefault(),n.stopPropagation(),e.dom.classList.remove(...r3);const o=Array.from(((s=n.dataTransfer)==null?void 0:s.files)??[]).filter(a=>a.type.includes("image")||a.type.includes("video"));return o.length?($K(e,o,t),!0):!1},handlePaste(e,n){var s;const r=Array.from(((s=n.clipboardData)==null?void 0:s.items)??[]);let o=!1;for(const a of r){if(a.kind==="file"&&(a.type.includes("image")||a.type.includes("video"))){const i=a.getAsFile();i&&($K(e,[i],t),o=!0)}else a.kind==="string"&&a.type==="text/plain"&&(a.getAsString(i=>{const{schema:l}=e.state,u=i.split(`
2211 `),d=[];for(let f=0;f<u.length;f++)f>0&&d.push(l.nodes.hardBreak.create()),u[f]&&d.push(l.text(u[f]));if(d.length>0){const f=e.state.tr.replaceSelectionWith(d[0]);for(let m=1;m<d.length;m++)f.insert(f.selection.from,d[m]);e.dispatch(f)}}),o=!0);if(o)break}return o}}})]}});async function $K(t,e,n){const r=new Map;e.forEach(o=>{var a;const s=new AbortController;r.set(o,s),(a=n.onUploadStart)==null||a.call(n,o,()=>s.abort())});for(const o of e){const s=o.name,a=`[Uploading "${s}"...]`,i=t.state.schema.text(a),l=t.state.schema.nodes.hardBreak.create();let u=t.state.tr.replaceSelectionWith(i);u=u.insert(u.selection.from,l),t.dispatch(u);const d=r.get(o);(qT(o)?lh.uploadResponsiveImage(o,{onProgress:m=>{var g;return(g=n.onUploadProgress)==null?void 0:g.call(n,o,m)},signal:d==null?void 0:d.signal}).then(m=>{var w;const g=m.variants.find(b=>b.variant==="desktop-sm")||m.variants.find(b=>b.variant==="original")||m.variants[m.variants.length-1];return{url:(g==null?void 0:g.url)??((w=m.variants[0])==null?void 0:w.url)}}):lh.upload(o,{onProgress:m=>{var g;return(g=n.onUploadProgress)==null?void 0:g.call(n,o,m)},signal:d==null?void 0:d.signal})).then(m=>{var j;(j=n.onUploadEnd)==null||j.call(n,o);const g=t.state.schema.text(m.url),w=t.state.tr;let b=!1;if(t.state.doc.descendants((S,I)=>{if(S.isText&&S.text&&S.text.includes(a)&&!b){const N=S.text.indexOf(a),M=I+N,D=M+a.length;return w.replaceWith(M,D,g),b=!0,!1}return!0}),b)t.dispatch(w);else{const S=t.state.doc.content.size,I=t.state.schema.nodes.paragraph.create(null,t.state.schema.text(m.url)),N=t.state.tr.insert(S,I),M=S+1+m.url.length;N.setSelection(Hn.near(N.doc.resolve(M))),t.dispatch(N)}}).catch(m=>{var b;console.error("Upload failed:",m),(b=n.onUploadEnd)==null||b.call(n,o);const g=t.state.tr;let w=!1;throw t.state.doc.descendants((j,S)=>{if(j.isText&&j.text&&j.text.includes(a)&&!w){const I=j.text.indexOf(a),N=S+I,M=N+a.length,D=t.state.schema.text(`[Error uploading "${s}"]`);return g.replaceWith(N,M,D),w=!0,!1}return!0}),w&&t.dispatch(g),m})}}function Clt(t){const e=h.useMemo(()=>{var r;const n=t.node.attrs.name;return Ju.isCustomEmojiId(n)?Ju.getEmojiById(n):(r=Im(n,IE))==null?void 0:r.emoji},[t.node.attrs.name]);return e?typeof e=="string"?c.jsx(dR,{className:"inline",children:c.jsx("span",{children:e})}):c.jsx(dR,{className:"inline",children:c.jsx(Mi,{emoji:e,classNames:{img:"mb-1"}})}):null}const Slt=lat.extend({selectable:!0,addNodeView(){return Pme(Clt)}}),Elt=h.forwardRef((t,e)=>{var l;const[n,r]=h.useState(0),o=u=>{const d=t.items[u];d&&t.command({name:d}),Ju.updateSuggested(d)},s=()=>{r((n+t.items.length-1)%t.items.length)},a=()=>{r((n+1)%t.items.length)},i=()=>{o(n)};return h.useEffect(()=>r(t.items.length?0:-1),[t.items]),h.useImperativeHandle(e,()=>({onKeyDown:u=>u.event.key==="ArrowUp"?(s(),!0):u.event.key==="ArrowDown"?(a(),!0):u.event.key==="Enter"&&n>=0?(i(),!0):!1}),[s,a,i]),(l=t.items)!=null&&l.length?c.jsx(Fa,{className:"border rounded-lg bg-background z-50 pointer-events-auto flex flex-col max-h-80 overflow-y-auto",onWheel:u=>u.stopPropagation(),onTouchMove:u=>u.stopPropagation(),children:c.jsx("div",{className:"p-1",children:t.items.map((u,d)=>c.jsx(Nlt,{id:u,selectedIndex:n,index:d,selectItem:o,setSelectedIndex:r},u))})}):null});function Nlt({id:t,selectedIndex:e,index:n,selectItem:r,setSelectedIndex:o}){const s=h.useMemo(()=>Ju.getEmojiById(t),[t]);return s?c.jsx("button",{className:Re("cursor-pointer w-full p-1 rounded-lg transition-colors [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",e===n&&"bg-accent text-accent-foreground"),onClick:()=>r(n),onMouseEnter:()=>o(n),children:c.jsxs("div",{className:"flex gap-2 items-center truncate pointer-events-none",children:[c.jsx(Mi,{emoji:s,classNames:{img:"size-8 shrink-0 rounded-md",text:"w-8 text-center shrink-0"}}),c.jsxs("span",{className:"truncate",children:[":",s.shortcode,":"]})]})}):null}const Ilt={items:async({query:t})=>await Ju.searchEmojis(t),render:()=>{let t,e=[],n,r;return{onBeforeStart:()=>{n=o=>{if(e&&e[0]&&Ea.isSuggestionPopupOpen){const s=e[0].popper;s&&!s.contains(o.target)&&e[0].hide()}},document.addEventListener("touchstart",n),r=()=>{e&&e[0]&&e[0].hide()},Ea.addEventListener("closeSuggestionPopup",r)},onStart:o=>{t=new _P(Elt,{props:o,editor:o.editor}),o.clientRect&&(e=fv("body",{getReferenceClientRect:o.clientRect,appendTo:()=>document.body,content:t.element,showOnCreate:!0,interactive:!0,trigger:"manual",placement:"bottom-start",hideOnClick:!0,touch:!0,onShow(){Ea.isSuggestionPopupOpen=!0},onHide(){Ea.isSuggestionPopupOpen=!1}}))},onUpdate(o){var s;t==null||t.updateProps(o),o.clientRect&&((s=e[0])==null||s.setProps({getReferenceClientRect:o.clientRect}))},onKeyDown(o){var s,a;return o.event.key==="Escape"?((s=e[0])==null||s.hide(),!0):((a=t==null?void 0:t.ref)==null?void 0:a.onKeyDown(o))??!1},onExit(){var o;Ea.isSuggestionPopupOpen=!1,(o=e[0])==null||o.destroy(),t==null||t.destroy(),document.removeEventListener("touchstart",n),Ea.removeEventListener("closeSuggestionPopup",r)}}}},Alt=new Li("mention"),_lt=uv.create({name:"mention",priority:101,addOptions(){return{HTMLAttributes:{},renderText({options:t,node:e}){var n;return`${t.suggestion.char}${(n=e.attrs.label)!==null&&n!==void 0?n:e.attrs.id}`},deleteTriggerWithBackspace:!1,renderHTML({options:t,node:e}){var n;return["span",Bp(this.HTMLAttributes,t.HTMLAttributes),`${t.suggestion.char}${(n=e.attrs.label)!==null&&n!==void 0?n:e.attrs.id}`]},suggestion:{char:"@",pluginKey:Alt,command:({editor:t,range:e,props:n})=>{var r,o,s;const a=t.view.state.selection.$to.nodeAfter;((r=a==null?void 0:a.text)===null||r===void 0?void 0:r.startsWith(" "))&&(e.to+=1),t.chain().focus().insertContentAt(e,[{type:this.name,attrs:n},{type:"text",text:" "}]).run(),(s=(o=t.view.dom.ownerDocument.defaultView)===null||o===void 0?void 0:o.getSelection())===null||s===void 0||s.collapseToEnd()},allow:({state:t,range:e})=>{const n=t.doc.resolve(e.from),r=t.schema.nodes[this.name];return!!n.parent.type.contentMatch.matchType(r)}}}},group:"inline",inline:!0,selectable:!1,atom:!0,addAttributes(){return{id:{default:null,parseHTML:t=>t.getAttribute("data-id"),renderHTML:t=>t.id?{"data-id":t.id}:{}},label:{default:null,parseHTML:t=>t.getAttribute("data-label"),renderHTML:t=>t.label?{"data-label":t.label}:{}}}},parseHTML(){return[{tag:`span[data-type="${this.name}"]`}]},renderHTML({node:t,HTMLAttributes:e}){if(this.options.renderLabel!==void 0)return console.warn("renderLabel is deprecated use renderText and renderHTML instead"),["span",Bp({"data-type":this.name},this.options.HTMLAttributes,e),this.options.renderLabel({options:this.options,node:t})];const n={...this.options};n.HTMLAttributes=Bp({"data-type":this.name},this.options.HTMLAttributes,e);const r=this.options.renderHTML({options:n,node:t});return typeof r=="string"?["span",Bp({"data-type":this.name},this.options.HTMLAttributes,e),r]:r},renderText({node:t}){return this.options.renderLabel!==void 0?(console.warn("renderLabel is deprecated use renderText and renderHTML instead"),this.options.renderLabel({options:this.options,node:t})):this.options.renderText({options:this.options,node:t})},addKeyboardShortcuts(){return{Backspace:()=>this.editor.commands.command(({tr:t,state:e})=>{let n=!1;const{selection:r}=e,{empty:o,anchor:s}=r;return o?(e.doc.nodesBetween(s-1,s,(a,i)=>{if(a.type.name===this.name)return n=!0,t.insertText(this.options.deleteTriggerWithBackspace?"":this.options.suggestion.char||"",i,i+a.nodeSize),!1}),n):!1})}},addProseMirrorPlugins(){return[lme({editor:this.editor,...this.options.suggestion})]}});function Rx({text:t,emojis:e,className:n,emojiClassName:r}){const o=h.useMemo(()=>!e||e.length===0?[{type:"text",data:t}]:qg(t,[px]),[t,e]),s=h.useMemo(()=>{const a=new Map;return e==null||e.forEach(i=>{a.set(i.shortcode,i)}),a},[e]);return c.jsx("span",{className:n,children:o.map((a,i)=>{if(a.type==="text")return a.data;if(a.type==="emoji"){const l=a.data.split(":")[1],u=s.get(l);return u?c.jsx(Mi,{emoji:u,classNames:{img:r}},i):a.data}return null})})}function Mlt(t){var n;const{profile:e}=ua(t.node.attrs.id);return c.jsxs(dR,{className:Re("inline text-primary",t.selected?"bg-primary/20 rounded-sm":""),children:["@",e?c.jsx(Rx,{text:e.username,emojis:e.emojis,emojiClassName:"mb-1"}):((n=Ut.tryFromString(t.node.attrs.id))==null?void 0:n.formatNpub(12))??t.node.attrs.id.slice(0,12)]})}const Rlt=_lt.extend({selectable:!0,addNodeView(){return Pme(Mlt)},addCommands(){var t;return{...(t=this.parent)==null?void 0:t.call(this),createMention:e=>({chain:n})=>{var r;return n().focus().insertContent([{type:"mention",attrs:{id:e,label:((r=Ut.tryFromString(e))==null?void 0:r.formatNpub(12))??e.slice(0,12)}},{type:"text",text:" "}]).run(),!0}}}}),Ome=h.forwardRef((t,e)=>{var l;const[n,r]=h.useState(0),o=u=>{var f;const d=t.items[u];d&&t.command({id:d,label:((f=Ut.tryFromString(d))==null?void 0:f.formatNpub(12))??d.slice(0,12)})},s=()=>{r((n+t.items.length-1)%t.items.length)},a=()=>{r((n+1)%t.items.length)},i=()=>{o(n)};return h.useEffect(()=>{r(t.items.length?0:-1)},[t.items]),h.useImperativeHandle(e,()=>({onKeyDown:({event:u})=>u.key==="ArrowUp"?(s(),!0):u.key==="ArrowDown"?(a(),!0):u.key==="Enter"&&n>=0?(i(),!0):!1})),(l=t.items)!=null&&l.length?c.jsx(Fa,{className:"border rounded-lg bg-background z-50 pointer-events-auto flex flex-col max-h-80 overflow-y-auto",onWheel:u=>u.stopPropagation(),onTouchMove:u=>u.stopPropagation(),children:t.items.map((u,d)=>{var f;return c.jsx("button",{className:Re("cursor-pointer text-start items-center m-1 p-2 outline-none transition-colors [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 rounded-md",n===d&&"bg-accent text-accent-foreground"),onClick:()=>o(d),onMouseEnter:()=>r(d),children:c.jsxs("div",{className:"flex gap-2 w-80 items-center truncate pointer-events-none",children:[c.jsx(nc,{userId:u}),c.jsxs("div",{className:"flex-1 w-0",children:[c.jsxs("div",{className:"flex items-center gap-2",children:[c.jsx(sd,{userId:u,className:"font-semibold truncate"}),c.jsx(P7,{userId:u})]}),c.jsx(dc,{pubkey:((f=Ut.tryFromString(u))==null?void 0:f.hex)??u})]})]})},u)})}):null});Ome.displayName="MentionList";const Tlt={items:async({query:t})=>await ze.searchNpubsFromLocal(t,20),render:()=>{let t,e=[],n,r;return{onBeforeStart:()=>{n=o=>{if(e&&e[0]&&Ea.isSuggestionPopupOpen){const s=e[0].popper;s&&!s.contains(o.target)&&e[0].hide()}},document.addEventListener("touchstart",n),r=()=>{e&&e[0]&&e[0].hide()},Ea.addEventListener("closeSuggestionPopup",r)},onStart:o=>{t=new _P(Ome,{props:o,editor:o.editor}),o.clientRect&&(e=fv("body",{getReferenceClientRect:o.clientRect,appendTo:()=>document.body,content:t.element,showOnCreate:!0,interactive:!0,trigger:"manual",placement:"bottom-start",hideOnClick:!0,touch:!0,onShow(){Ea.isSuggestionPopupOpen=!0},onHide(){Ea.isSuggestionPopupOpen=!1}}))},onUpdate(o){var s;t==null||t.updateProps(o),o.clientRect&&((s=e[0])==null||s.setProps({getReferenceClientRect:o.clientRect}))},onKeyDown(o){var s,a;return o.event.key==="Escape"?((s=e[0])==null||s.hide(),!0):((a=t==null?void 0:t.ref)==null?void 0:a.onKeyDown(o))??!1},onExit(){var o;Ea.isSuggestionPopupOpen=!1,(o=e[0])==null||o.destroy(),t==null||t.destroy(),document.removeEventListener("touchstart",n),Ea.removeEventListener("closeSuggestionPopup",r)}}}},ME=h.forwardRef(({className:t,...e},n)=>c.jsx("div",{ref:n,className:Re("rounded-xl border bg-card text-card-foreground transition-all duration-200",t),...e}));ME.displayName="Card";const zme=h.forwardRef(({className:t,...e},n)=>c.jsx("div",{ref:n,className:Re("flex flex-col space-y-1.5 p-6",t),...e}));zme.displayName="CardHeader";const Fme=h.forwardRef(({className:t,...e},n)=>c.jsx("div",{ref:n,className:Re("font-semibold leading-none tracking-tight",t),...e}));Fme.displayName="CardTitle";const Bme=h.forwardRef(({className:t,...e},n)=>c.jsx("div",{ref:n,className:Re("text-sm text-muted-foreground",t),...e}));Bme.displayName="CardDescription";const Ume=h.forwardRef(({className:t,...e},n)=>c.jsx("div",{ref:n,className:Re("p-6 pt-0",t),...e}));Ume.displayName="CardContent";const Dlt=h.forwardRef(({className:t,...e},n)=>c.jsx("div",{ref:n,className:Re("flex items-center p-6 pt-0",t),...e}));Dlt.displayName="CardFooter";function Llt({content:t,className:e}){const{content:n,emojiTags:r}=h.useMemo(()=>Y2(t),[t]);return c.jsx(ME,{className:Re("p-3",e),children:c.jsx(pd,{event:Lee({content:n,tags:r}),className:"pointer-events-none h-full",mustLoadMedia:!0})})}const $me=h.forwardRef(({text:t="",setText:e,defaultContent:n,parentStuff:r,onSubmit:o,className:s,fillHeight:a=!1,onUploadStart:i,onUploadProgress:l,onUploadEnd:u,placeholder:d},f)=>{const{t:m}=qe(),[g,w]=h.useState("edit"),b=ylt({extensions:[uat,kat,Cat,xat,fat,jat.configure({placeholder:d??m("Write something...")+" ("+m("Paste or drop media files to upload")+")"}),Slt.configure({suggestion:Ilt}),Rlt.configure({suggestion:Tlt}),jlt.configure({onUploadStart:(j,S)=>{i==null||i(j,S)},onUploadEnd:j=>u==null?void 0:u(j),onUploadProgress:(j,S)=>l==null?void 0:l(j,S)})],editorProps:{attributes:{class:Re("border rounded-lg p-3 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring",s)},handleKeyDown:(j,S)=>(S.ctrlKey||S.metaKey)&&S.key==="Enter"?(S.preventDefault(),o==null||o(),!0):!1,clipboardTextSerializer(j){return l5(j.toJSON())}},content:G0.getPostContentCache({defaultContent:n,parentStuff:r}),onUpdate(j){e(l5(j.editor.getJSON())),G0.setPostContentCache({defaultContent:n,parentStuff:r},j.editor.getJSON())},onCreate(j){e(l5(j.editor.getJSON()))}});return h.useImperativeHandle(f,()=>({appendText:(j,S=!1)=>{if(b){let I=b.chain().focus().command(({tr:N,dispatch:M})=>{if(M){const D=N.doc.content.size,O=Hn.create(N.doc,D);N.setSelection(O),M(N)}return!0}).insertContent(j);S&&(I=I.setHardBreak()),I.run()}},insertText:j=>{b&&b.chain().focus().insertContent(j).run()},insertEmoji:j=>{if(b)if(typeof j=="string")b.chain().insertContent(j).run();else{const S=b.schema.nodes.emoji.create({name:Ju.getEmojiId(j)});b.chain().insertContent(S).insertContent(" ").run()}},clear:()=>{b&&(b.commands.clearContent(),G0.clearPostCache({defaultContent:n,parentStuff:r}))},replaceText:j=>{b&&(b.commands.clearContent(),b.chain().focus().insertContent(j).run())}})),b?c.jsxs(Ex,{defaultValue:"edit",value:g,onValueChange:j=>w(j),className:Re("space-y-2",a&&"flex flex-col h-full"),children:[c.jsxs(lv,{className:"shrink-0",children:[c.jsx(rl,{value:"edit",children:m("Edit")}),c.jsx(rl,{value:"preview",children:m("Preview")})]}),c.jsx(ol,{value:"edit",className:Re(a&&"flex-1 min-h-0 [&_.tiptap]:h-full"),children:c.jsx(ilt,{className:Re("tiptap",a&&"h-full"),editor:b})}),c.jsx(ol,{value:"preview",className:Re(a&&"flex-1 min-h-0 overflow-auto"),onClick:()=>{w("edit"),b.commands.focus()},children:c.jsx(Llt,{content:t,className:Re(s,a&&"h-full")})})]}):null});$me.displayName="PostTextarea";function pR(t){const{children:e,onUploadStart:n,onUploadEnd:r,onProgress:o,className:s,accept:a="image/*"}=t,i=h.useRef(null),l=async d=>{var m;if(!d.target.files)return;const f=new Map;for(const g of d.target.files){const w=new AbortController;f.set(g,w),n==null||n(g,()=>w.abort())}for(const g of d.target.files)try{const w=f.get(g);if(t.responsive&&qT(g)){const b=await lh.uploadResponsiveImage(g,{onProgress:S=>o==null?void 0:o(g,S),signal:w==null?void 0:w.signal,description:t.description,alt:t.alt}),j=b.variants.find(S=>S.variant==="desktop-sm")||b.variants.find(S=>S.variant==="original")||b.variants[b.variants.length-1];t.onUploadSuccess({event:b.event,variants:b.variants,primaryUrl:(j==null?void 0:j.url)??((m=b.variants[0])==null?void 0:m.url)})}else{const b=await lh.upload(g,{onProgress:j=>o==null?void 0:o(g,j),signal:w==null?void 0:w.signal});t.responsive?t.onUploadSuccess({event:null,variants:[],primaryUrl:b.url}):t.onUploadSuccess(b)}r==null||r(g)}catch(w){console.error("Error uploading file",w);const b=w.message;b!==Ic&&on.error(`Failed to upload file: ${b}`),i.current&&(i.current.value=""),r==null||r(g)}},u=()=>{i.current&&(i.current.value="",i.current.click())};return c.jsxs("div",{className:s,children:[c.jsx("div",{onClick:u,children:e}),c.jsx("input",{type:"file",ref:i,style:{display:"none"},onChange:l,accept:a,multiple:!0})]})}const Vme=h.forwardRef(({defaultContent:t="",parentStuff:e,close:n,highlightedText:r},o)=>{const{t:s}=qe(),{pubkey:a,publish:i,checkLogin:l}=wt(),[u,d]=h.useState(""),f=h.useRef(null),[m,g]=h.useState(!1),[w,b]=h.useState([]),j=h.useMemo(()=>e&&typeof e!="string"?e:void 0,[e]),{isSmallScreen:S}=gn(),[I,N]=h.useState(!1),[M,D]=h.useState(!1),[O,L]=h.useState([]),[B,T]=h.useState(!1),[R,z]=h.useState(!1),[Y,Q]=h.useState({isMultipleChoice:!1,options:["",""],endsAt:void 0,relays:[]}),[W,F]=h.useState(0),[X,$]=h.useState(!1),V=h.useMemo(()=>a?Xe.getLlmConfig(a):null,[a]),K=!!(V!=null&&V.apiKey&&(V!=null&&V.systemPrompt)),G=h.useRef(!0),J=h.useMemo(()=>!!a&&(!!u||!!r)&&!m&&!w.length&&(!R||Y.options.filter(pe=>!!pe.trim()).length>=2),[a,u,r,m,w,R,Y]);h.useImperativeHandle(o,()=>({reset:()=>{var pe;(pe=f.current)==null||pe.clear(),d(""),L([]),T(!1),z(!1),Q({isMultipleChoice:!1,options:["",""],endsAt:void 0,relays:[]}),D(!1),F(0)}})),h.useEffect(()=>{if(G.current){G.current=!1;const pe=G0.getPostSettingsCache({defaultContent:t,parentStuff:e});pe&&(T(pe.isNsfw??!1),z(pe.isPoll??!1),Q(pe.pollCreateData??{isMultipleChoice:!1,options:["",""],endsAt:void 0,relays:[]}),D(pe.addClientTag??!1));return}G0.setPostSettingsCache({defaultContent:t,parentStuff:e},{isNsfw:B,isPoll:R,pollCreateData:Y,addClientTag:M})},[t,e,B,R,Y,M]);const ne=h.useRef(!1),re=async pe=>{pe==null||pe.stopPropagation(),l(async()=>{var me;if(!(!J||!a||ne.current)){ne.current=!0,g(!0);try{let ke=u;if(V!=null&&V.autoRewrite&&V.apiKey&&V.systemPrompt&&u.trim())try{ke=await cq(V.apiKey,V.systemPrompt,u,V.model),(me=f.current)==null||me.replaceText(ke)}catch(Ae){on.error(`${s("Auto-rewrite failed, posting original text")}: ${Ae instanceof Error?Ae.message:String(Ae)}`,{duration:5e3})}const le=await Plt({parentStuff:e,highlightedText:r,text:ke,mentions:O,isPoll:R,pollCreateData:Y,pubkey:a,addClientTag:M,isProtectedEvent:!1,isNsfw:B}),he=R?Y.relays:[],we=await i(le,{additionalRelayUrls:he,minPow:W});G0.clearPostCache({defaultContent:t,parentStuff:e}),yAe(le),fl.addRepliesToThread([we]),on.success(s("Post successful"),{duration:2e3}),n()}catch(ke){(ke instanceof AggregateError?ke.errors:[ke]).forEach(he=>{on.error(`${s("Failed to post")}: ${he instanceof Error?he.message:String(he)}`,{duration:1e4}),console.error(he)});return}finally{g(!1),ne.current=!1}}})},de=()=>{e||z(pe=>!pe)},Ne=async()=>{var pe;if(!(!(V!=null&&V.apiKey)||!(V!=null&&V.systemPrompt)||!u.trim()||X)){$(!0);try{const me=await cq(V.apiKey,V.systemPrompt,u,V.model);(pe=f.current)==null||pe.replaceText(me)}catch(me){on.error(`${s("Rewrite failed")}: ${me instanceof Error?me.message:String(me)}`,{duration:1e4})}finally{$(!1)}}},ve=(pe,me)=>{b(ke=>[...ke,{file:pe,progress:0,cancel:me}])},xe=(pe,me)=>{b(ke=>ke.map(le=>le.file===pe?{...le,progress:me}:le))},ce=pe=>{b(me=>me.filter(ke=>ke.file!==pe))};return c.jsxs("div",{className:Re("space-y-2",S?"flex flex-col h-full":"flex flex-col"),children:[c.jsxs("div",{className:"flex items-center justify-between shrink-0",children:[c.jsxs("div",{className:"flex gap-2 items-center",children:[c.jsx(pR,{responsive:!0,onUploadSuccess:({primaryUrl:pe})=>{var me;(me=f.current)==null||me.appendText(pe,!0)},onUploadStart:ve,onUploadEnd:ce,onProgress:xe,accept:"image/*,video/*,audio/*",children:c.jsx(Le,{variant:"ghost",size:"icon",children:c.jsx(A7e,{})})}),!cu()&&c.jsx(K7,{onEmojiClick:pe=>{var me;pe&&((me=f.current)==null||me.insertEmoji(pe))},children:c.jsx(Le,{variant:"ghost",size:"icon",children:c.jsx(mae,{})})}),!e&&c.jsx(Le,{variant:"ghost",size:"icon",title:s("Create Poll"),className:R?"bg-accent":"",onClick:de,children:c.jsx(R7e,{})}),c.jsx(Le,{variant:"ghost",size:"icon",className:I?"bg-accent":"",onClick:()=>N(pe=>!pe),children:c.jsx(Ch,{})}),K&&!(V!=null&&V.autoRewrite)&&c.jsx(Le,{variant:"ghost",size:"icon",title:s("Rewrite with AI"),disabled:!u.trim()||X||m,onClick:Ne,children:X?c.jsx(so,{className:"animate-spin"}):c.jsx(q7e,{})})]}),c.jsxs("div",{className:"flex gap-2 items-center",children:[c.jsx(BXe,{content:u,parentEvent:j,mentions:O,setMentions:L}),c.jsxs("div",{className:"flex gap-2 items-center max-sm:hidden",children:[c.jsx(Le,{variant:"secondary",onClick:pe=>{pe.stopPropagation(),n()},children:s("Cancel")}),c.jsxs(Le,{type:"submit",disabled:!J,onClick:re,children:[m&&c.jsx(so,{className:"animate-spin"}),s(e?r?"Publish Highlight":"Reply":"Post")]})]})]})]}),c.jsx("div",{className:"shrink-0",children:c.jsx(fet,{posting:m,show:I,addClientTag:M,setAddClientTag:D,isNsfw:B,setIsNsfw:T,minPow:W,setMinPow:F})}),j&&c.jsx(Fa,{className:"flex max-h-48 flex-col overflow-y-auto rounded-lg border bg-muted/40 shrink-0",children:c.jsx("div",{className:"p-2 sm:p-3 pointer-events-none",children:r?c.jsxs("div",{className:"flex gap-4",children:[c.jsx("div",{className:"w-1 flex-shrink-0 my-1 bg-primary/60 rounded-md"}),c.jsx("div",{className:"italic whitespace-pre-line",children:r})]}):c.jsx(q7,{size:"small",event:j,hideParentNotePreview:!0})})}),c.jsx($me,{ref:f,text:u,setText:d,defaultContent:t,parentStuff:e,onSubmit:()=>re(),className:Re(R?"min-h-20":"min-h-52",S&&"flex-1"),fillHeight:S,onUploadStart:ve,onUploadProgress:xe,onUploadEnd:ce,placeholder:r?s("Write your thoughts about this highlight..."):void 0}),R&&c.jsx("div",{className:"shrink-0",children:c.jsx(uet,{pollCreateData:Y,setPollCreateData:Q,setIsPoll:z})}),w.length>0&&w.map(({file:pe,progress:me,cancel:ke},le)=>c.jsxs("div",{className:"mt-2 flex items-end gap-2 shrink-0",children:[c.jsxs("div",{className:"min-w-0 flex-1",children:[c.jsx("div",{className:"truncate text-xs text-muted-foreground mb-1",children:pe.name??s("Uploading...")}),c.jsx("div",{className:"h-0.5 w-full rounded-full bg-muted overflow-hidden",children:c.jsx("div",{className:"h-full bg-primary transition-[width] duration-200 ease-out",style:{width:`${me}%`}})})]}),c.jsx("button",{type:"button",onClick:()=>{ke==null||ke(),ce(pe)},className:"text-muted-foreground hover:text-foreground",title:s("Cancel"),children:c.jsx(Us,{className:"h-4 w-4"})})]},`${pe.name}-${le}`)),c.jsx("div",{className:"sm:hidden shrink-0",children:c.jsxs(Le,{className:"w-full",type:"submit",disabled:!J,onClick:re,children:[m&&c.jsx(so,{className:"animate-spin"}),s(e?"Reply":"Post")]})})]})});Vme.displayName="PostContent";async function Plt({parentStuff:t,text:e,mentions:n,isPoll:r,pollCreateData:o,pubkey:s,addClientTag:a,isProtectedEvent:i,isNsfw:l,highlightedText:u}){const{parentEvent:d,externalContent:f}=typeof t=="string"?{parentEvent:void 0,externalContent:t}:{parentEvent:t,externalContent:void 0};return u&&d?xAe(u,e,d,n,{addClientTag:a,protectedEvent:i,isNsfw:l}):t&&(f||(d==null?void 0:d.kind)!==Ue.ShortTextNote)?await bAe(e,t,n,{addClientTag:a,protectedEvent:i,isNsfw:l}):r?await NAe(s,e,n,o,{addClientTag:a,isNsfw:l}):await wAe(e,n,{parentEvent:d,addClientTag:a,protectedEvent:i,isNsfw:l})}function y5({parentStuff:t}){const{t:e}=qe();return t?c.jsxs("div",{className:"flex gap-2 items-center w-full",children:[c.jsx("div",{className:"shrink-0",children:e("Reply to")}),typeof t=="string"&&c.jsx("div",{className:"text-primary truncate",children:t})]}):e("New Note")}function r1({defaultContent:t="",parentStuff:e,open:n,setOpen:r,highlightedText:o,inline:s=!1}){const{t:a}=qe(),{isSmallScreen:i}=gn(),{navigate:l}=Lo(),u=vBe(),d=h.useRef(null),f=()=>{var g;(g=d.current)==null||g.reset()},m=h.useMemo(()=>c.jsx(Vme,{ref:d,defaultContent:t,parentStuff:e,close:()=>{r(!1),l("home")},highlightedText:o}),[o,l]);return s?n?c.jsxs("div",{className:"border-t border-b bg-card animate-in slide-in-from-top-2 fade-in duration-200",children:[c.jsxs("div",{className:"flex items-center h-10 px-3 border-b shrink-0",children:[c.jsx("div",{className:"flex-1 text-sm font-medium truncate",children:o?a("Create Highlight"):c.jsx(y5,{parentStuff:e})}),c.jsxs("div",{className:"flex items-center gap-1",children:[c.jsx("button",{onClick:f,className:"flex items-center justify-center w-8 h-8 rounded hover:bg-accent transition-colors text-sm","aria-label":"Reset",children:"🧹"}),c.jsx("button",{onClick:()=>r(!1),className:"flex items-center justify-center w-8 h-8 rounded hover:bg-accent transition-colors","aria-label":"Close",children:c.jsx(Us,{className:"w-4 h-4"})})]})]}),c.jsx("div",{className:"px-4 py-3",children:m})]}):null:i?c.jsx(wle,{open:n,onOpenChange:r,children:c.jsxs(PL,{className:"w-full p-0 border-none flex flex-col",style:{height:`${u}px`},side:"bottom",hideClose:!0,onEscapeKeyDown:g=>{Ea.isSuggestionPopupOpen&&(g.preventDefault(),Ea.closeSuggestionPopup())},children:[c.jsxs("div",{className:"flex items-center h-12 border-b shrink-0",children:[c.jsx("button",{onClick:()=>r(!1),className:"flex items-center justify-center w-10 h-full hover:bg-accent transition-colors","aria-label":"Close",children:c.jsx(Zm,{className:"w-5 h-5"})}),c.jsxs(xle,{className:"flex-1",children:[c.jsx(OL,{className:"text-start text-base font-medium",children:o?a("Create Highlight"):c.jsx(y5,{parentStuff:e})}),c.jsx(zL,{className:"hidden"})]}),c.jsx("button",{onClick:f,className:"flex items-center justify-center w-10 h-full hover:bg-accent transition-colors","aria-label":"Reset",children:"🧹"})]}),c.jsx("div",{className:"flex flex-col flex-1 min-h-0 px-4 py-4",children:m})]})}):c.jsx(Ls,{open:n,onOpenChange:r,children:c.jsxs(ms,{className:"p-0 max-w-2xl flex flex-col overflow-hidden",style:{maxHeight:`${Math.min(u*.9,u)}px`},withoutClose:!0,onEscapeKeyDown:g=>{Ea.isSuggestionPopupOpen&&(g.preventDefault(),Ea.closeSuggestionPopup())},children:[c.jsx("div",{className:"px-6 pt-6 pb-2 shrink-0",children:c.jsxs(Za,{className:"flex flex-row items-center justify-between",children:[c.jsx(Qa,{children:o?a("Create Highlight"):c.jsx(y5,{parentStuff:e})}),c.jsx("button",{onClick:f,className:"flex items-center justify-center w-8 h-8 rounded hover:bg-accent transition-colors","aria-label":"Reset",children:"🧹"}),c.jsx(nl,{className:"hidden"})]})}),c.jsx("div",{className:"flex-1 min-h-0 overflow-y-auto px-6 pb-6",children:m})]})})}function o1(t,e,n){const r=h.useRef(null),{registerItem:o,unregisterItem:s,isItemSelected:a}=ii();h.useEffect(()=>(o(t,e,r,n==null?void 0:n.meta),()=>s(t,e)),[t,e,o,s,n==null?void 0:n.meta]);const i=a(t,e);return{ref:r,isSelected:i,navProps:{"data-nav-column":t,"data-nav-index":e,"data-nav-selected":i||void 0}}}function MP({alwaysExpand:t=!1,children:e,className:n,threshold:r=1e3,collapsedHeight:o=600,...s}){const{t:a}=qe(),i=h.useRef(null),[l,u]=h.useState(!1),[d,f]=h.useState(!1);return h.useEffect(()=>{if(t||d)return;const m=i.current;if(!m)return;const g=()=>{m.scrollHeight>r&&f(!0)};g();const w=new ResizeObserver(()=>{g()});return w.observe(m),()=>{w.disconnect()}},[t,d]),c.jsxs("div",{className:Re("relative text-left overflow-hidden",n),ref:i,...s,style:{maxHeight:!d||l?"none":`${o}px`},children:[e,d&&!l&&c.jsx("div",{className:"absolute bottom-0 h-40 w-full z-10 bg-gradient-to-b from-transparent to-background/90 flex items-end justify-center pb-4",children:c.jsx("div",{className:"bg-background rounded-lg",children:c.jsxs(Le,{className:"bg-foreground hover:bg-foreground/80","data-collapsible-expand":!0,onClick:m=>{m.stopPropagation(),u(!l)},children:[a("Show more"),c.jsx("span",{className:"ml-2 text-xs opacity-60 font-mono",children:"⇧M"})]})})})]})}function mc(t){return h.useMemo(()=>typeof t=="string"?{event:void 0,externalContent:t,stuffKey:t}:{event:t,externalContent:void 0,stuffKey:Qo(t)},[t])}const M0=class M0{constructor(){je(this,"stuffStatsMap",new Map);je(this,"stuffStatsSubscribers",new Map);return M0.instance||(M0.instance=this),M0.instance}async fetchStuffStats(e,n){const{event:r,externalContent:o}=typeof e=="string"?{event:void 0,externalContent:e}:{event:e,externalContent:void 0},s=r?Qo(r):o,a=this.stuffStatsMap.get(s);let i;a!=null&&a.updatedAt&&(i=a.updatedAt);const[l,u]=r?await Promise.all([ze.fetchRelayList(r.pubkey),ze.fetchProfile(r.pubkey)]):[],d=r&&Fs(r.kind)?ti(r):void 0,f=[];r?f.push({"#e":[r.id],kinds:[Ue.Reaction],limit:500},{"#e":[r.id],kinds:[Ue.Repost],limit:100}):f.push({"#i":[o],kinds:[gt.EXTERNAL_CONTENT_REACTION],limit:500}),d&&f.push({"#a":[d],kinds:[Ue.Reaction],limit:500},{"#a":[d],kinds:[Ue.Repost],limit:100}),r&&(u!=null&&u.lightningAddress)&&(f.push({"#e":[r.id],kinds:[Ue.Zap],limit:500}),d&&f.push({"#a":[d],kinds:[Ue.Zap],limit:500})),n&&(f.push(r?{"#e":[r.id],authors:[n],kinds:r.kind===Ue.ShortTextNote?[Ue.Reaction,Ue.Repost]:[Ue.Reaction,Ue.Repost,Ue.GenericRepost]}:{"#i":[o],authors:[n],kinds:[gt.EXTERNAL_CONTENT_REACTION]}),d&&f.push({"#a":[d],authors:[n],kinds:[Ue.Reaction,Ue.Repost,Ue.GenericRepost]}),r&&(u!=null&&u.lightningAddress)&&(f.push({"#e":[r.id],"#P":[n],kinds:[Ue.Zap]}),d&&f.push({"#a":[d],"#P":[n],kinds:[Ue.Zap]}))),i&&f.forEach(g=>{g.since=i});const m=l?l.read.concat(ze.currentRelays).slice(0,5):ze.currentRelays;return await ze.fetchEvents(m,f,{onevent:g=>{this.updateStuffStatsByEvents([g])}}),this.stuffStatsMap.set(s,{...this.stuffStatsMap.get(s)??{},updatedAt:Nn().unix()}),this.stuffStatsMap.get(s)??{}}subscribeStuffStats(e,n){let r=this.stuffStatsSubscribers.get(e);return r||(r=new Set,this.stuffStatsSubscribers.set(e,r)),r.add(n),()=>{r==null||r.delete(n),(r==null?void 0:r.size)===0&&this.stuffStatsSubscribers.delete(e)}}notifyStuffStats(e){const n=this.stuffStatsSubscribers.get(e);n&&n.forEach(r=>r())}getStuffStats(e){return this.stuffStatsMap.get(e)}addZap(e,n,r,o,s,a=Nn().unix(),i=!0){const l=this.stuffStatsMap.get(n)||{},u=l.zapPrSet||new Set,d=l.zaps||[];if(!u.has(r))return u.add(r),d.push({pr:r,pubkey:e,amount:o,comment:s,created_at:a}),this.stuffStatsMap.set(n,{...l,zapPrSet:u,zaps:d}),i&&this.notifyStuffStats(n),n}updateStuffStatsByEvents(e){const n=new Set;e.forEach(r=>{let o;r.kind===Ue.Reaction?o=this.addLikeByEvent(r):r.kind===gt.EXTERNAL_CONTENT_REACTION?o=this.addExternalContentLikeByEvent(r):r.kind===Ue.Repost||r.kind===Ue.GenericRepost?o=this.addRepostByEvent(r):r.kind===Ue.Zap&&(o=this.addZapByEvent(r)),o&&n.add(o)}),n.forEach(r=>{this.notifyStuffStats(r)})}addLikeByEvent(e){var i,l;let n;if(n=(i=e.tags.findLast(An("a")))==null?void 0:i[1],n||(n=(l=e.tags.findLast(An("e")))==null?void 0:l[1]),!n)return;const r=this.stuffStatsMap.get(n)||{},o=r.likeIdSet||new Set,s=r.likes||[];if(o.has(e.id))return;let a=e.content.trim();if(a){if(a.startsWith(":")&&a.endsWith(":")){const u=th(e.tags),d=a.split(":")[1],f=u.find(m=>m.shortcode===d);f?a=f:a="+"}return o.add(e.id),s.push({id:e.id,pubkey:e.pubkey,created_at:e.created_at,emoji:a}),this.stuffStatsMap.set(n,{...r,likeIdSet:o,likes:s}),n}}addExternalContentLikeByEvent(e){var i;const n=(i=e.tags.findLast(An("i")))==null?void 0:i[1];if(!n)return;const r=this.stuffStatsMap.get(n)||{},o=r.likeIdSet||new Set,s=r.likes||[];if(o.has(e.id))return;let a=e.content.trim();if(a){if(a.startsWith(":")&&a.endsWith(":")){const l=th(e.tags),u=a.split(":")[1],d=l.find(f=>f.shortcode===u);d?a=d:a="+"}return o.add(e.id),s.push({id:e.id,pubkey:e.pubkey,created_at:e.created_at,emoji:a}),this.stuffStatsMap.set(n,{...r,likeIdSet:o,likes:s}),n}}addRepostByEvent(e){var a,i;let n;if(n=(a=e.tags.find(An("a")))==null?void 0:a[1],n||(n=(i=e.tags.find(An("e")))==null?void 0:i[1]),!n)return;const r=this.stuffStatsMap.get(n)||{},o=r.repostPubkeySet||new Set,s=r.reposts||[];if(!o.has(e.pubkey))return o.add(e.pubkey),s.push({id:e.id,pubkey:e.pubkey,created_at:e.created_at}),this.stuffStatsMap.set(n,{...r,repostPubkeySet:o,reposts:s}),n}addZapByEvent(e){const n=Fk(e);if(!n)return;const{originalEventId:r,senderPubkey:o,invoice:s,amount:a,comment:i}=n;if(!(!r||!o))return this.addZap(o,r,s,a,i,e.created_at,!1)}};je(M0,"instance");let hR=M0;const Ai=new hR,Hme=h.createContext(void 0),Olt=()=>{const t=h.useContext(Hme);if(!t)throw new Error("useBookmarks must be used within a BookmarksProvider");return t};function zlt({children:t}){const{pubkey:e,publish:n,updateBookmarkListEvent:r}=wt(),o=async a=>{if(!e)return;const i=await ze.fetchBookmarkListEvent(e),l=Ut.fromHex(e),u=NB(i)??vee.empty(l),d=u.addFromEvent(a);if(d.type==="no_change")return;const f=u.toDraftEvent(),m=await n(f);await r(m),d.type==="added"&&(await Vt.dispatch(new uke(l,d.entry.id,d.entry.type)),await Vt.dispatch(new CB(l,u.count)))},s=async a=>{if(!e)return;const i=await ze.fetchBookmarkListEvent(e);if(!i)return;const l=NB(i);if(!l)return;const u=l.owner,d=l.removeFromEvent(a);if(d.type==="no_change")return;const f=l.toDraftEvent(),m=await n(f);await r(m),d.type==="removed"&&(await Vt.dispatch(new fke(u,d.id)),await Vt.dispatch(new CB(u,l.count)))};return c.jsx(Hme.Provider,{value:{addBookmark:o,removeBookmark:s},children:t})}function VK({stuff:t}){const{t:e}=qe(),{pubkey:n,bookmarkListEvent:r,checkLogin:o}=wt(),{addBookmark:s,removeBookmark:a}=Olt(),[i,l]=h.useState(!1),{event:u}=mc(t),d=h.useMemo(()=>{if(!u)return!1;const g=Fs(u.kind),w=g?ti(u):u.id;return r==null?void 0:r.tags.some(b=>g?b[0]==="a"&&b[1]===w:b[0]==="e"&&b[1]===w)},[r,u]);if(!n)return null;const f=async g=>{g.stopPropagation(),o(async()=>{if(!(d||!u)){l(!0);try{await s(u)}catch(w){on.error(e("Bookmark failed")+": "+w.message)}finally{l(!1)}}})},m=async g=>{g.stopPropagation(),o(async()=>{if(!(!d||!u)){l(!0);try{await a(u)}catch(w){on.error(e("Remove bookmark failed")+": "+w.message)}finally{l(!1)}}})};return c.jsx("button",{className:`flex items-center gap-1 ${d?"text-rose-400":"text-muted-foreground"} enabled:hover:text-rose-400 px-3 h-full disabled:text-muted-foreground/40 disabled:cursor-default`,onClick:d?m:f,disabled:!u||i,title:e(d?"Remove bookmark":"Bookmark"),children:i?c.jsx(_r,{className:"animate-spin"}):c.jsx(Vse,{className:d?"fill-rose-400":""})})}function db(t,e,{checkForDefaultPrevented:n=!0}={}){return function(o){if(t==null||t(o),n===!1||!o.defaultPrevented)return e==null?void 0:e(o)}}function HK(t,e){if(typeof t=="function")return t(e);t!=null&&(t.current=e)}function Wme(...t){return e=>{let n=!1;const r=t.map(o=>{const s=HK(o,e);return!n&&typeof s=="function"&&(n=!0),s});if(n)return()=>{for(let o=0;o<r.length;o++){const s=r[o];typeof s=="function"?s():HK(t[o],null)}}}}function RP(...t){return h.useCallback(Wme(...t),t)}function Flt(t,e=[]){let n=[];function r(s,a){const i=h.createContext(a),l=n.length;n=[...n,a];const u=f=>{var S;const{scope:m,children:g,...w}=f,b=((S=m==null?void 0:m[t])==null?void 0:S[l])||i,j=h.useMemo(()=>w,Object.values(w));return c.jsx(b.Provider,{value:j,children:g})};u.displayName=s+"Provider";function d(f,m){var b;const g=((b=m==null?void 0:m[t])==null?void 0:b[l])||i,w=h.useContext(g);if(w)return w;if(a!==void 0)return a;throw new Error(`\`${f}\` must be used within \`${s}\``)}return[u,d]}const o=()=>{const s=n.map(a=>h.createContext(a));return function(i){const l=(i==null?void 0:i[t])||s;return h.useMemo(()=>({[`__scope${t}`]:{...i,[t]:l}}),[i,l])}};return o.scopeName=t,[r,Blt(o,...e)]}function Blt(...t){const e=t[0];if(t.length===1)return e;const n=()=>{const r=t.map(o=>({useScope:o(),scopeName:o.scopeName}));return function(s){const a=r.reduce((i,{useScope:l,scopeName:u})=>{const f=l(s)[`__scope${u}`];return{...i,...f}},{});return h.useMemo(()=>({[`__scope${e.scopeName}`]:a}),[a])}};return n.scopeName=e.scopeName,n}var Ult=yh.useId||(()=>{}),$lt=0;function Vlt(t){const[e,n]=h.useState(Ult());return fr(()=>{n(r=>r??String($lt++))},[t]),t||(e?`radix-${e}`:"")}function Hlt(t,e){return h.useReducer((n,r)=>e[n][r]??n,t)}var TP=t=>{const{present:e,children:n}=t,r=Wlt(e),o=typeof n=="function"?n({present:r.isPresent}):h.Children.only(n),s=RP(r.ref,Ylt(o));return typeof n=="function"||r.isPresent?h.cloneElement(o,{ref:s}):null};TP.displayName="Presence";function Wlt(t){const[e,n]=h.useState(),r=h.useRef({}),o=h.useRef(t),s=h.useRef("none"),a=t?"mounted":"unmounted",[i,l]=Hlt(a,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return h.useEffect(()=>{const u=o3(r.current);s.current=i==="mounted"?u:"none"},[i]),fr(()=>{const u=r.current,d=o.current;if(d!==t){const m=s.current,g=o3(u);t?l("MOUNT"):g==="none"||(u==null?void 0:u.display)==="none"?l("UNMOUNT"):l(d&&m!==g?"ANIMATION_OUT":"UNMOUNT"),o.current=t}},[t,l]),fr(()=>{if(e){let u;const d=e.ownerDocument.defaultView??window,f=g=>{const b=o3(r.current).includes(g.animationName);if(g.target===e&&b&&(l("ANIMATION_END"),!o.current)){const j=e.style.animationFillMode;e.style.animationFillMode="forwards",u=d.setTimeout(()=>{e.style.animationFillMode==="forwards"&&(e.style.animationFillMode=j)})}},m=g=>{g.target===e&&(s.current=o3(r.current))};return e.addEventListener("animationstart",m),e.addEventListener("animationcancel",f),e.addEventListener("animationend",f),()=>{d.clearTimeout(u),e.removeEventListener("animationstart",m),e.removeEventListener("animationcancel",f),e.removeEventListener("animationend",f)}}else l("ANIMATION_END")},[e,l]),{isPresent:["mounted","unmountSuspended"].includes(i),ref:h.useCallback(u=>{u&&(r.current=getComputedStyle(u)),n(u)},[])}}function o3(t){return(t==null?void 0:t.animationName)||"none"}function Ylt(t){var r,o;let e=(r=Object.getOwnPropertyDescriptor(t.props,"ref"))==null?void 0:r.get,n=e&&"isReactWarning"in e&&e.isReactWarning;return n?t.ref:(e=(o=Object.getOwnPropertyDescriptor(t,"ref"))==null?void 0:o.get,n=e&&"isReactWarning"in e&&e.isReactWarning,n?t.props.ref:t.props.ref||t.ref)}var DP=h.forwardRef((t,e)=>{const{children:n,...r}=t,o=h.Children.toArray(n),s=o.find(qlt);if(s){const a=s.props.children,i=o.map(l=>l===s?h.Children.count(a)>1?h.Children.only(null):h.isValidElement(a)?a.props.children:null:l);return c.jsx(mR,{...r,ref:e,children:h.isValidElement(a)?h.cloneElement(a,void 0,i):null})}return c.jsx(mR,{...r,ref:e,children:n})});DP.displayName="Slot";var mR=h.forwardRef((t,e)=>{const{children:n,...r}=t;if(h.isValidElement(n)){const o=Zlt(n);return h.cloneElement(n,{...Klt(r,n.props),ref:e?Wme(e,o):o})}return h.Children.count(n)>1?h.Children.only(null):null});mR.displayName="SlotClone";var Glt=({children:t})=>c.jsx(c.Fragment,{children:t});function qlt(t){return h.isValidElement(t)&&t.type===Glt}function Klt(t,e){const n={...e};for(const r in e){const o=t[r],s=e[r];/^on[A-Z]/.test(r)?o&&s?n[r]=(...i)=>{s(...i),o(...i)}:o&&(n[r]=o):r==="style"?n[r]={...o,...s}:r==="className"&&(n[r]=[o,s].filter(Boolean).join(" "))}return{...t,...n}}function Zlt(t){var r,o;let e=(r=Object.getOwnPropertyDescriptor(t.props,"ref"))==null?void 0:r.get,n=e&&"isReactWarning"in e&&e.isReactWarning;return n?t.ref:(e=(o=Object.getOwnPropertyDescriptor(t,"ref"))==null?void 0:o.get,n=e&&"isReactWarning"in e&&e.isReactWarning,n?t.props.ref:t.props.ref||t.ref)}var Qlt=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","span","svg","ul"],Yme=Qlt.reduce((t,e)=>{const n=h.forwardRef((r,o)=>{const{asChild:s,...a}=r,i=s?DP:e;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),c.jsx(i,{...a,ref:o})});return n.displayName=`Primitive.${e}`,{...t,[e]:n}},{});function Jlt({prop:t,defaultProp:e,onChange:n=()=>{}}){const[r,o]=Xlt({defaultProp:e,onChange:n}),s=t!==void 0,a=s?t:r,i=or(n),l=h.useCallback(u=>{if(s){const f=typeof u=="function"?u(t):u;f!==t&&i(f)}else o(u)},[s,t,o,i]);return[a,l]}function Xlt({defaultProp:t,onChange:e}){const n=h.useState(t),[r]=n,o=h.useRef(r),s=or(e);return h.useEffect(()=>{o.current!==r&&(s(r),o.current=r)},[r,o,s]),n}var LP="Popover",[Gme]=Flt(LP,[Eh]),Tx=Eh(),[ect,Ph]=Gme(LP),qme=t=>{const{__scopePopover:e,children:n,open:r,defaultOpen:o,onOpenChange:s,modal:a=!1}=t,i=Tx(e),l=h.useRef(null),[u,d]=h.useState(!1),[f=!1,m]=Jlt({prop:r,defaultProp:o,onChange:s});return c.jsx(ix,{...i,children:c.jsx(ect,{scope:e,contentId:Vlt(),triggerRef:l,open:f,onOpenChange:m,onOpenToggle:h.useCallback(()=>m(g=>!g),[m]),hasCustomAnchor:u,onCustomAnchorAdd:h.useCallback(()=>d(!0),[]),onCustomAnchorRemove:h.useCallback(()=>d(!1),[]),modal:a,children:n})})};qme.displayName=LP;var Kme="PopoverAnchor",Zme=h.forwardRef((t,e)=>{const{__scopePopover:n,...r}=t,o=Ph(Kme,n),s=Tx(n),{onCustomAnchorAdd:a,onCustomAnchorRemove:i}=o;return h.useEffect(()=>(a(),()=>i()),[a,i]),c.jsx(lx,{...s,...r,ref:e})});Zme.displayName=Kme;var Qme="PopoverTrigger",Jme=h.forwardRef((t,e)=>{const{__scopePopover:n,...r}=t,o=Ph(Qme,n),s=Tx(n),a=RP(e,o.triggerRef),i=c.jsx(Yme.button,{type:"button","aria-haspopup":"dialog","aria-expanded":o.open,"aria-controls":o.contentId,"data-state":rge(o.open),...r,ref:a,onClick:db(t.onClick,o.onOpenToggle)});return o.hasCustomAnchor?i:c.jsx(lx,{asChild:!0,...s,children:i})});Jme.displayName=Qme;var PP="PopoverPortal",[tct,nct]=Gme(PP,{forceMount:void 0}),Xme=t=>{const{__scopePopover:e,forceMount:n,children:r,container:o}=t,s=Ph(PP,e);return c.jsx(tct,{scope:e,forceMount:n,children:c.jsx(TP,{present:n||s.open,children:c.jsx(Z2,{asChild:!0,container:o,children:r})})})};Xme.displayName=PP;var Ry="PopoverContent",ege=h.forwardRef((t,e)=>{const n=nct(Ry,t.__scopePopover),{forceMount:r=n.forceMount,...o}=t,s=Ph(Ry,t.__scopePopover);return c.jsx(TP,{present:r||s.open,children:s.modal?c.jsx(rct,{...o,ref:e}):c.jsx(oct,{...o,ref:e})})});ege.displayName=Ry;var rct=h.forwardRef((t,e)=>{const n=Ph(Ry,t.__scopePopover),r=h.useRef(null),o=RP(e,r),s=h.useRef(!1);return h.useEffect(()=>{const a=r.current;if(a)return yS(a)},[]),c.jsx(J2,{as:DP,allowPinchZoom:!0,children:c.jsx(tge,{...t,ref:o,trapFocus:n.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:db(t.onCloseAutoFocus,a=>{var i;a.preventDefault(),s.current||(i=n.triggerRef.current)==null||i.focus()}),onPointerDownOutside:db(t.onPointerDownOutside,a=>{const i=a.detail.originalEvent,l=i.button===0&&i.ctrlKey===!0,u=i.button===2||l;s.current=u},{checkForDefaultPrevented:!1}),onFocusOutside:db(t.onFocusOutside,a=>a.preventDefault(),{checkForDefaultPrevented:!1})})})}),oct=h.forwardRef((t,e)=>{const n=Ph(Ry,t.__scopePopover),r=h.useRef(!1),o=h.useRef(!1);return c.jsx(tge,{...t,ref:e,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:s=>{var a,i;(a=t.onCloseAutoFocus)==null||a.call(t,s),s.defaultPrevented||(r.current||(i=n.triggerRef.current)==null||i.focus(),s.preventDefault()),r.current=!1,o.current=!1},onInteractOutside:s=>{var l,u;(l=t.onInteractOutside)==null||l.call(t,s),s.defaultPrevented||(r.current=!0,s.detail.originalEvent.type==="pointerdown"&&(o.current=!0));const a=s.target;((u=n.triggerRef.current)==null?void 0:u.contains(a))&&s.preventDefault(),s.detail.originalEvent.type==="focusin"&&o.current&&s.preventDefault()}})}),tge=h.forwardRef((t,e)=>{const{__scopePopover:n,trapFocus:r,onOpenAutoFocus:o,onCloseAutoFocus:s,disableOutsidePointerEvents:a,onEscapeKeyDown:i,onPointerDownOutside:l,onFocusOutside:u,onInteractOutside:d,...f}=t,m=Ph(Ry,n),g=Tx(n);return mS(),c.jsx(K2,{asChild:!0,loop:!0,trapped:r,onMountAutoFocus:o,onUnmountAutoFocus:s,children:c.jsx(Ky,{asChild:!0,disableOutsidePointerEvents:a,onInteractOutside:d,onEscapeKeyDown:i,onPointerDownOutside:l,onFocusOutside:u,onDismiss:()=>m.onOpenChange(!1),children:c.jsx(TS,{"data-state":rge(m.open),role:"dialog",id:m.contentId,...g,...f,ref:e,style:{...f.style,"--radix-popover-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-popover-content-available-width":"var(--radix-popper-available-width)","--radix-popover-content-available-height":"var(--radix-popper-available-height)","--radix-popover-trigger-width":"var(--radix-popper-anchor-width)","--radix-popover-trigger-height":"var(--radix-popper-anchor-height)"}})})})}),nge="PopoverClose",sct=h.forwardRef((t,e)=>{const{__scopePopover:n,...r}=t,o=Ph(nge,n);return c.jsx(Yme.button,{type:"button",...r,ref:e,onClick:db(t.onClick,()=>o.onOpenChange(!1))})});sct.displayName=nge;var act="PopoverArrow",ict=h.forwardRef((t,e)=>{const{__scopePopover:n,...r}=t,o=Tx(n);return c.jsx(DS,{...o,...r,ref:e})});ict.displayName=act;function rge(t){return t?"open":"closed"}var lct=qme,cct=Zme,uct=Jme,fct=Xme,oge=ege;const RE=({open:t,onOpenChange:e,...n})=>{const[r,o]=h.useState(!1),s=t!==void 0,a=s?t:r,i=h.useRef(null),l=h.useCallback(u=>{s||o(u),e==null||e(u)},[s,e]);return c.jsxs(c.Fragment,{children:[a&&Ds.createPortal(c.jsx("div",{ref:i,className:"fixed inset-0 z-40 pointer-events-auto",onClick:u=>{u.stopPropagation(),l(!1)}}),document.body),c.jsx(lct,{...n,open:a,onOpenChange:l,modal:!1})]})};RE.displayName="Popover";const sge=uct,dct=cct,TE=h.forwardRef(({className:t,align:e="center",sideOffset:n=4,...r},o)=>c.jsx(fct,{children:c.jsx(oge,{ref:o,align:e,sideOffset:n,collisionPadding:10,className:Re("z-50 w-72 rounded-xl border bg-popover p-4 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",t),onOpenAutoFocus:s=>s.preventDefault(),...r})}));TE.displayName=oge.displayName;function Oh(t){return h.useSyncExternalStore(e=>Ai.subscribeStuffStats(t,e),()=>Ai.getStuffStats(t))}const WK=["👍","❤️","😂","🥲","👀","🫡","🫂"];function pct({onEmojiClick:t,onMoreButtonClick:e,onClose:n}){const[r,o]=h.useState(WK),[s,a]=h.useState(0),i=h.useRef(null),l=1+r.length+1;h.useEffect(()=>{try{const f=GT(),m=new Set,g=f.sort((w,b)=>b.count-w.count).map(w=>jT(w.unified)).filter(Boolean).concat(WK).filter(w=>typeof w!="string"?!0:m.has(w)?!1:(m.add(w),!0));o(g.slice(0,9))}catch{}},[]),h.useEffect(()=>{var f;(f=i.current)==null||f.focus()},[]);const u=h.useCallback(()=>{s===0?t("+"):s<=r.length?t(r[s-1]):e()},[s,r,t,e]),d=h.useCallback(f=>{switch(f.key){case"ArrowLeft":f.preventDefault(),a(m=>m>0?m-1:l-1);break;case"ArrowRight":f.preventDefault(),a(m=>m<l-1?m+1:0);break;case"ArrowUp":f.preventDefault(),a(0);break;case"ArrowDown":f.preventDefault(),a(l-1);break;case"Enter":case" ":f.preventDefault(),u();break;case"Escape":f.preventDefault(),n==null||n();break}},[l,u,n]);return c.jsxs("div",{ref:i,className:"flex gap-1 p-1 outline-none",onClick:f=>f.stopPropagation(),onKeyDown:d,tabIndex:0,children:[c.jsx("div",{className:Re("w-8 h-8 rounded-lg clickable flex justify-center items-center text-xl",s===0&&"ring-2 ring-primary"),onClick:()=>t("+"),children:c.jsx(Mi,{emoji:"+"})}),r.map((f,m)=>typeof f=="string"?c.jsx("div",{className:Re("w-8 h-8 rounded-lg clickable flex justify-center items-center text-xl",s===m+1&&"ring-2 ring-primary"),onClick:()=>t(f),children:f},m):c.jsx("div",{className:Re("flex flex-col items-center justify-center p-1 rounded-lg clickable",s===m+1&&"ring-2 ring-primary"),onClick:()=>t(f),children:c.jsx(Mi,{emoji:f,classNames:{img:"size-6 rounded-md"}})},m)),c.jsx(Le,{variant:"ghost",className:Re("w-8 h-8 text-muted-foreground",s===l-1&&"ring-2 ring-primary"),onClick:e,children:c.jsx(kS,{size:24})})]})}function j2({shortcut:t}){const{isEnabled:e}=ii();return e?c.jsx("kbd",{className:"absolute -top-1.5 -right-2 text-[9px] font-mono opacity-50 group-hover:opacity-100",children:t}):null}function Wj(t){return t===void 0||t<=0?"":t>=100?"99+":t}function YK({stuff:t}){const{t:e}=qe(),{isSmallScreen:n}=gn(),{pubkey:r,publish:o,checkLogin:s}=wt(),{hideUntrustedInteractions:a,isUserTrusted:i}=da(),{quickReaction:l,quickReactionEmoji:u}=ts(),{event:d,externalContent:f,stuffKey:m}=mc(t),[g,w]=h.useState(!1),[b,j]=h.useState(!1),[S,I]=h.useState(!1),N=h.useRef(null),M=h.useRef(!1),D=Oh(m),{myLastEmoji:O,likeCount:L}=h.useMemo(()=>{var X,$;const Q=D||{},W=(X=Q.likes)==null?void 0:X.find(V=>V.pubkey===r),F=a?($=Q.likes)==null?void 0:$.filter(V=>i(V.pubkey)):Q.likes;return{myLastEmoji:W==null?void 0:W.emoji,likeCount:F==null?void 0:F.length}},[D,r,a]);h.useEffect(()=>{setTimeout(()=>I(!1),100)},[b]);const B=async Q=>{s(async()=>{if(g||!r)return;w(!0);const W=setTimeout(()=>w(!1),1e4);try{D!=null&&D.updatedAt||await Ai.fetchStuffStats(m,r);const F=d?nre(d,Q):rre(f,Q),X=d?ze.getSeenEventRelayUrls(d.id):ze.currentRelays,$=await o(F,{additionalRelayUrls:X});Ai.updateStuffStatsByEvents([$])}catch(F){console.error("like failed",F)}finally{w(!1),clearTimeout(W)}})},T=()=>{l&&(M.current=!1,N.current=setTimeout(()=>{M.current=!0,j(!0)},mee))},R=()=>{N.current&&(clearTimeout(N.current),N.current=null)},z=Q=>{if(l){if(M.current){M.current=!1;return}Q.preventDefault(),Q.stopPropagation(),B(u)}else j(!0)},Y=c.jsx("button",{className:"flex items-center enabled:hover:text-primary gap-1 px-3 h-full text-muted-foreground group",title:e("React (Shift+R)"),disabled:g,"data-action":"react",onClick:z,onMouseDown:T,onMouseUp:R,onMouseLeave:R,onTouchStart:T,onTouchEnd:R,children:g?c.jsx(_r,{className:"animate-spin"}):O?c.jsxs(c.Fragment,{children:[c.jsxs("span",{className:"relative",children:[c.jsx(Mi,{emoji:O,classNames:{img:"size-4"}}),c.jsx(j2,{shortcut:"R"})]}),!!L&&c.jsx("div",{className:"text-sm",children:Wj(L)})]}):c.jsxs(c.Fragment,{children:[c.jsxs("span",{className:"relative",children:[c.jsx(G7e,{}),c.jsx(j2,{shortcut:"R"})]}),!!L&&c.jsx("div",{className:"text-sm",children:Wj(L)})]})});return n?c.jsxs(c.Fragment,{children:[Y,c.jsxs(ao,{open:b,onOpenChange:j,children:[c.jsx(fc,{onClick:()=>j(!1)}),c.jsx(io,{hideOverlay:!0,children:c.jsx(Sj,{onEmojiClick:Q=>{j(!1),Q&&B(Q)}})})]})]}):c.jsxs(RE,{open:b,onOpenChange:Q=>j(Q),children:[c.jsx(dct,{asChild:!0,children:Y}),c.jsx(TE,{side:"top",className:"p-0 w-fit border-0 shadow-lg",children:S?c.jsx(Sj,{onEmojiClick:(Q,W)=>{W.stopPropagation(),j(!1),Q&&B(Q)}}):c.jsx(pct,{onEmojiClick:Q=>{j(!1),B(Q)},onMoreButtonClick:()=>{I(!0)},onClose:()=>j(!1)})})]})}function GK({stuff:t}){const{pubkey:e,checkLogin:n,publish:r}=wt(),{event:o,externalContent:s,stuffKey:a}=mc(t),i=Oh(a),[l,u]=h.useState(null),d=h.useRef(null),[f,m]=h.useState(null),[g,w]=h.useState(null),b=h.useMemo(()=>{const D=i==null?void 0:i.likes;if(!D)return[];const O=new Map;return D.forEach(L=>{var T;const B=typeof L.emoji=="string"?L.emoji:L.emoji.url;O.has(B)||O.set(B,{key:B,pubkeys:new Set,emoji:L.emoji}),(T=O.get(B))==null||T.pubkeys.add(L.pubkey)}),Array.from(O.values()).sort((L,B)=>B.pubkeys.size-L.pubkeys.size)},[i,o]);if(!b.length)return null;const j=async(D,O)=>{n(async()=>{if(l||!e)return;u(D);const L=setTimeout(()=>u(B=>B===D?null:B),5e3);try{const B=o?nre(o,O):rre(s,O),T=o?ze.getSeenEventRelayUrls(o.id):ze.currentRelays,R=await r(B,{additionalRelayUrls:T});Ai.updateStuffStatsByEvents([R])}catch(B){console.error("like failed",B)}finally{u(null),clearTimeout(L)}})},S=D=>{var O;e&&((O=b.find(L=>L.key===D))!=null&&O.pubkeys.has(e))||(m(D),d.current=setTimeout(()=>{w(D),m(null)},800))},I=()=>{var D;if(d.current&&(clearTimeout(d.current),d.current=null),g){const O=g,L=(D=b.find(B=>B.key===O))==null?void 0:D.emoji;L&&j(O,L)}m(null),w(null)},N=()=>{d.current&&(clearTimeout(d.current),d.current=null),m(null),w(null)},M=D=>{const O=D.touches[0],L=D.currentTarget.getBoundingClientRect();O.clientX>=L.left&&O.clientX<=L.right&&O.clientY>=L.top&&O.clientY<=L.bottom||N()};return c.jsxs(Fa,{className:"pb-2 mb-1",children:[c.jsx("div",{className:"flex gap-1",children:b.map(({key:D,emoji:O,pubkeys:L})=>c.jsxs("div",{className:Re("flex h-7 w-fit gap-2 px-2 rounded-full items-center border shrink-0 select-none relative overflow-hidden transition-all duration-200",e&&L.has(e)?"border-primary bg-primary/20 text-foreground cursor-not-allowed":"bg-muted/80 text-muted-foreground cursor-pointer hover:bg-primary/40 hover:border-primary hover:text-foreground",(f===D||g===D)&&"border-primary bg-primary/20"),onClick:B=>B.stopPropagation(),onMouseDown:()=>S(D),onMouseUp:I,onMouseLeave:N,onTouchStart:()=>S(D),onTouchMove:M,onTouchEnd:I,onTouchCancel:N,children:[(f===D||g===D)&&c.jsx("div",{className:"absolute inset-0 rounded-full overflow-hidden",children:c.jsx("div",{className:"h-full bg-gradient-to-r from-primary/40 via-primary/60 to-primary/80",style:{width:g===D?"100%":"0%",animation:f===D?"progressFill 1000ms ease-out forwards":"none"}})}),c.jsxs("div",{className:"relative z-10 flex items-center gap-2",children:[l===D?c.jsx(_r,{className:"animate-spin size-4"}):c.jsx("div",{style:{animation:g===D?"shake 0.5s ease-in-out infinite":void 0},children:c.jsx(Mi,{emoji:O,classNames:{img:"size-4"}})}),c.jsx("div",{className:"text-sm",children:L.size})]})]},D))}),c.jsx(Ed,{orientation:"horizontal"})]})}function hct(t){return h.useSyncExternalStore(e=>fl.listenThread(t,e),()=>fl.getThread(t))}function OP(t){return h.useSyncExternalStore(e=>fl.listenAllDescendantThreads(t,e),()=>fl.getAllDescendantThreads(t))}function qK({stuff:t,onReplyClick:e}){const{t:n}=qe(),{pubkey:r,checkLogin:o}=wt(),{event:s,stuffKey:a}=mc(t),i=OP(a),{hideUntrustedInteractions:l,isUserTrusted:u}=da(),{mutePubkeySet:d}=ns(),{hideContentMentioningMutedUsers:f}=lo(),{replyCount:m,hasReplied:g}=h.useMemo(()=>{var N;const j=r?(N=i.get(a))==null?void 0:N.some(M=>M.pubkey===r):!1;let S=0;const I=[...i.get(a)??[]];for(;I.length>0;){const M=I.pop();if(!M)break;const D=Qo(M),O=i.get(D)??[];I.push(...O),!(l&&!u(M.pubkey))&&(d.has(M.pubkey)||f&&Qu(M,d)||S++)}return{replyCount:S,hasReplied:j}},[i,s,a,l]),[w,b]=h.useState(!1);return c.jsxs(c.Fragment,{children:[c.jsxs("button",{className:Re("flex gap-1 items-center enabled:hover:text-blue-400 pr-3 h-full group",g?"text-blue-400":"text-muted-foreground"),onClick:j=>{j.stopPropagation(),o(()=>{e?e():b(!0)})},title:n("Reply (r)"),"data-action":"reply",children:[c.jsxs("span",{className:"relative",children:[c.jsx(nx,{}),c.jsx(j2,{shortcut:"r"})]}),!!m&&c.jsx("div",{className:"text-sm",children:Wj(m)})]}),!e&&c.jsx(r1,{parentStuff:t,open:w,setOpen:b})]})}function KK({stuff:t}){const{t:e}=qe(),{isSmallScreen:n}=gn(),{hideUntrustedInteractions:r,isUserTrusted:o}=da(),{publish:s,checkLogin:a,pubkey:i}=wt(),{event:l,stuffKey:u}=mc(t),d=Oh(u),[f,m]=h.useState(!1),[g,w]=h.useState(!1),[b,j]=h.useState(!1),{repostCount:S,hasReposted:I}=h.useMemo(()=>{var B,T,R;return l?{repostCount:r?(B=d==null?void 0:d.reposts)==null?void 0:B.filter(z=>o(z.pubkey)).length:(T=d==null?void 0:d.reposts)==null?void 0:T.length,hasReposted:i?(R=d==null?void 0:d.repostPubkeySet)==null?void 0:R.has(i):!1}:{repostCount:0,hasReposted:!1}},[d,l,r]),N=!I&&!f&&!!l,M=async()=>{a(async()=>{var T,R;if(!N||!i)return;m(!0);const B=setTimeout(()=>m(!1),5e3);try{if(((T=d==null?void 0:d.repostPubkeySet)==null?void 0:T.has(i))||!(d!=null&&d.updatedAt)&&(R=(await Ai.fetchStuffStats(t,i)).repostPubkeySet)!=null&&R.has(i))return;const Y=vAe(l),Q=await s(Y);Ai.updateStuffStatsByEvents([Q])}catch(z){console.error("repost failed",z)}finally{m(!1),clearTimeout(B)}})},D=c.jsxs("button",{className:Re("flex gap-1 items-center px-3 h-full enabled:hover:text-lime-500 disabled:text-muted-foreground/40 group",I?"text-lime-500":"text-muted-foreground"),disabled:!l,title:e("Repost (p) / Quote (q)"),"data-action":"repost",onClick:()=>{l&&n&&j(!0)},children:[c.jsxs("span",{className:"relative",children:[f?c.jsx(_r,{className:"animate-spin"}):c.jsx(Jw,{}),c.jsx(j2,{shortcut:"p"})]}),!!S&&c.jsx("div",{className:"text-sm",children:Wj(S)})]});if(!l)return D;const O=c.jsx(r1,{open:g,setOpen:w,defaultContent:`
2212 nostr:`+fg(l)}),L=c.jsx("button",{className:"hidden","data-action":"quote",onClick:B=>{B.stopPropagation(),a(()=>{w(!0)})}});return n?c.jsxs(c.Fragment,{children:[D,L,c.jsxs(ao,{open:b,onOpenChange:j,children:[c.jsx(fc,{onClick:()=>j(!1)}),c.jsx(io,{hideOverlay:!0,children:c.jsxs("div",{className:"py-2",children:[c.jsxs(Le,{onClick:B=>{B.stopPropagation(),j(!1),M()},disabled:!N,className:"w-full p-6 justify-start text-lg gap-4 [&_svg]:size-5",variant:"ghost",children:[c.jsx(Jw,{})," ",e("Repost")]}),c.jsxs(Le,{onClick:B=>{B.stopPropagation(),j(!1),a(()=>{w(!0)})},className:"w-full p-6 justify-start text-lg gap-4 [&_svg]:size-5",variant:"ghost",children:[c.jsx(o2,{})," ",e("Quote")]})]})})]}),O]}):c.jsxs(c.Fragment,{children:[c.jsxs(li,{children:[c.jsx(Ti,{asChild:!0,children:D}),c.jsxs(ci,{children:[c.jsxs(Sr,{onClick:B=>{B.stopPropagation(),M()},disabled:!N,children:[c.jsx(Jw,{})," ",e("Repost")]}),c.jsxs(Sr,{onClick:B=>{B.stopPropagation(),a(()=>{w(!0)})},children:[c.jsx(o2,{})," ",e("Quote")]})]})]}),L,O]})}function ZK({stuff:t}){const{t:e}=qe(),{isSmallScreen:n}=gn(),{push:r}=kn(),{event:o}=mc(t),[s,a]=h.useState([]),[i,l]=h.useState(!1);h.useEffect(()=>{if(!o)return;const d=ze.getSeenEventRelayUrls(o.id);a(d)},[]);const u=c.jsxs("button",{className:"flex gap-1 items-center text-muted-foreground enabled:hover:text-primary pl-3 h-full disabled:text-muted-foreground/40",title:e("Seen on"),disabled:s.length===0,onClick:()=>{o&&n&&l(!0)},children:[c.jsx(ei,{}),s.length>0&&c.jsx("div",{className:"text-sm",children:s.length})]});return s.length===0?u:n?c.jsxs(c.Fragment,{children:[u,c.jsxs(ao,{open:i,onOpenChange:l,children:[c.jsx(fc,{onClick:()=>l(!1)}),c.jsx(io,{hideOverlay:!0,children:c.jsx("div",{className:"py-2",children:s.map(d=>c.jsxs(Le,{className:"w-full p-6 justify-start text-lg gap-4",variant:"ghost",onClick:()=>{l(!1),setTimeout(()=>{r(Eg(d))},50)},children:[c.jsx(Zl,{url:d})," ",la(d)]},d))})})]})]}):c.jsxs(li,{children:[c.jsx(Ti,{asChild:!0,children:u}),c.jsxs(ci,{children:[c.jsx(QS,{children:e("Seen on")}),c.jsx(hh,{}),s.map(d=>c.jsxs(Sr,{onClick:()=>r(Eg(d)),className:"min-w-52",children:[c.jsx(Zl,{url:d}),la(d)]},d))]})]})}const age=h.createContext(void 0),zh=()=>{const t=h.useContext(age);if(!t)throw new Error("useZap must be used within a ZapProvider");return t};function mct({children:t}){const[e,n]=h.useState(Xe.getDefaultZapSats()),[r,o]=h.useState(Xe.getDefaultZapComment()),[s,a]=h.useState(Xe.getQuickZap()),[i,l]=h.useState(!1),[u,d]=h.useState(null),[f,m]=h.useState(null);h.useEffect(()=>{const j=ERe(I=>{l(!0),m(null),d(I),Km.provider=I,I.getInfo().then(m)}),S=NRe(()=>{l(!1),d(null),Km.provider=null});return Km.initBitcoinConnect(),()=>{j(),S()}},[]);const g=j=>{Xe.setDefaultZapSats(j),n(j),kr()},w=j=>{Xe.setDefaultZapComment(j),o(j),kr()},b=j=>{Xe.setQuickZap(j),a(j),kr()};return c.jsx(age.Provider,{value:{isWalletConnected:i,provider:u,walletInfo:f,defaultZapSats:e,updateDefaultSats:g,defaultZapComment:r,updateDefaultComment:w,quickZap:s,updateQuickZap:b},children:t})}function DE({open:t,setOpen:e,pubkey:n,event:r,defaultAmount:o,defaultComment:s}){const{t:a}=qe(),{isSmallScreen:i}=gn(),l=h.useRef(null);return h.useEffect(()=>{const u=()=>{l.current&&l.current.style.setProperty("bottom","env(safe-area-inset-bottom)")};return window.visualViewport&&(window.visualViewport.addEventListener("resize",u),u()),()=>{window.visualViewport&&window.visualViewport.removeEventListener("resize",u)}},[]),i?c.jsxs(ao,{open:t,onOpenChange:e,children:[c.jsx(fc,{onClick:()=>e(!1)}),c.jsxs(io,{hideOverlay:!0,onOpenAutoFocus:u=>u.preventDefault(),ref:l,className:"flex flex-col gap-4 px-4 mb-4",children:[c.jsxs(yf,{children:[c.jsxs(xd,{className:"flex gap-2 items-center",children:[c.jsx("div",{className:"shrink-0",children:a("Zap to")}),c.jsx(Ro,{size:"small",userId:n}),c.jsx(zs,{userId:n,className:"truncate flex-1 w-0 text-start h-5"})]}),c.jsx(nl,{})]}),c.jsx(QK,{open:t,setOpen:e,recipient:n,event:r,defaultAmount:o,defaultComment:s})]})]}):c.jsx(Ls,{open:t,onOpenChange:e,children:c.jsxs(ms,{onOpenAutoFocus:u=>u.preventDefault(),children:[c.jsx(Za,{children:c.jsxs(Qa,{className:"flex gap-2 items-center",children:[c.jsx("div",{className:"shrink-0",children:a("Zap to")}),c.jsx(Ro,{size:"small",userId:n}),c.jsx(zs,{userId:n,className:"truncate flex-1 max-w-fit text-start h-5"})]})}),c.jsx(QK,{open:t,setOpen:e,recipient:n,event:r,defaultAmount:o,defaultComment:s})]})})}function QK({setOpen:t,recipient:e,event:n,defaultAmount:r,defaultComment:o}){const{t:s,i18n:a}=qe(),{pubkey:i}=wt(),{defaultZapSats:l,defaultZapComment:u}=zh(),[d,f]=h.useState(r??l),[m,g]=h.useState(o??u),w=h.useMemo(()=>i===e,[i,e]),[b,j]=h.useState(!1),S=h.useMemo(()=>a.language.startsWith("zh")?[{display:"21",val:21},{display:"66",val:66},{display:"210",val:210},{display:"666",val:666},{display:"1k",val:1e3},{display:"2.1k",val:2100},{display:"6.6k",val:6666},{display:"10k",val:1e4},{display:"21k",val:21e3},{display:"66k",val:66666},{display:"100k",val:1e5},{display:"210k",val:21e4}]:[{display:"21",val:21},{display:"42",val:42},{display:"210",val:210},{display:"420",val:420},{display:"1k",val:1e3},{display:"2.1k",val:2100},{display:"4.2k",val:4200},{display:"10k",val:1e4},{display:"21k",val:21e3},{display:"42k",val:42e3},{display:"100k",val:1e5},{display:"210k",val:21e4}],[a.language]),I=async()=>{try{if(!i)throw new Error("You need to be logged in to zap");j(!0);const N=await Km.zap(i,n??e,d,m,()=>t(!1));if(!N)return;n&&Ai.addZap(i,n.id,N.invoice,d,m)}catch(N){on.error(`${s("Zap failed")}: ${N.message}`)}finally{j(!1)}};return c.jsxs(c.Fragment,{children:[c.jsxs("div",{className:"flex flex-col items-center",children:[c.jsx("div",{className:"flex justify-center w-full",children:c.jsx("input",{id:"sats",value:d,onChange:N=>{f(M=>{if(N.target.value==="")return 0;let D=parseInt(N.target.value,10);return(isNaN(D)||D<0)&&(D=M),D})},onFocus:N=>{requestAnimationFrame(()=>{const M=N.target.value;N.target.setSelectionRange(M.length,M.length)})},className:"bg-transparent text-center w-full p-0 focus-visible:outline-none text-6xl font-bold"})}),c.jsx(Ot,{htmlFor:"sats",children:s("Sats")})]}),w&&c.jsx("div",{className:"text-sm text-yellow-600 dark:text-yellow-400 text-center px-4 py-2 bg-yellow-50 dark:bg-yellow-950/30 rounded-md border border-yellow-200 dark:border-yellow-900",children:s("selfZapWarning")}),c.jsx("div",{className:"grid grid-cols-6 gap-2",children:S.map(({display:N,val:M})=>c.jsx(Le,{variant:"secondary",onClick:()=>f(M),children:N},M))}),c.jsxs("div",{children:[c.jsx(Ot,{htmlFor:"comment",children:s("zapComment")}),c.jsx(On,{id:"comment",value:m,onChange:N=>g(N.target.value)})]}),c.jsxs(Le,{onClick:I,children:[b&&c.jsx(_r,{className:"animate-spin"})," ",s("Zap n sats",{n:d})]})]})}function JK({stuff:t}){const{event:e,stuffKey:n}=mc(t),r=Oh(n),[o,s]=h.useState(-1),a=h.useMemo(()=>{var i;return((i=r==null?void 0:r.zaps)==null?void 0:i.sort((l,u)=>u.amount-l.amount).slice(0,10))||[]},[r]);return!a.length||!e?null:c.jsxs(Fa,{className:"pb-2 mb-1",children:[c.jsx("div",{className:"flex gap-1",children:a.map((i,l)=>c.jsxs("div",{className:"flex gap-1 py-1 pl-1 pr-2 text-sm max-w-72 rounded-full bg-muted/80 items-center text-yellow-400 border border-yellow-400 hover:bg-yellow-400/20 cursor-pointer",onClick:u=>{u.stopPropagation(),s(l)},children:[c.jsx(nc,{userId:i.pubkey,size:"xSmall"}),c.jsx(uc,{className:"size-3 fill-yellow-400 shrink-0"}),c.jsx("div",{className:"font-semibold",children:G2(i.amount)}),c.jsx("div",{className:"truncate",children:i.comment}),c.jsx("div",{onClick:u=>u.stopPropagation(),children:c.jsx(DE,{open:o===l,setOpen:u=>{s(u?l:-1)},pubkey:e.pubkey,event:e,defaultAmount:i.amount,defaultComment:i.comment})})]},i.pr))}),c.jsx(Ed,{orientation:"horizontal"})]})}function XK({stuff:t}){const{t:e}=qe(),{checkLogin:n,pubkey:r}=wt(),{event:o,stuffKey:s}=mc(t),a=Oh(s),{defaultZapSats:i,defaultZapComment:l,quickZap:u}=zh(),[d,f]=h.useState(null),[m,g]=h.useState(!1),[w,b]=h.useState(!1),{zapAmount:j,hasZapped:S}=h.useMemo(()=>{var R,z;return{zapAmount:(R=a==null?void 0:a.zaps)==null?void 0:R.reduce((Y,Q)=>Y+Q.amount,0),hasZapped:r?(z=a==null?void 0:a.zaps)==null?void 0:z.some(Y=>Y.pubkey===r):!1}},[a,r]),[I,N]=h.useState(!0),M=h.useRef(null),D=h.useRef(!1);h.useEffect(()=>{if(!o){N(!0);return}ze.fetchProfile(o.pubkey).then(R=>{if(!R)return;fre(R)&&N(!1)})},[o]);const O=async()=>{try{if(!r)throw new Error("You need to be logged in to zap");if(w||!o)return;b(!0);const R=await Km.zap(r,o,i,l);if(!R)return;Ai.addZap(r,o.id,R.invoice,i,l)}catch(R){on.error(`${e("Zap failed")}: ${R.message}`)}finally{b(!1)}},L=R=>{if(R.stopPropagation(),R.preventDefault(),!I){if(D.current=!1,"touches"in R){const z=R.touches[0];f({x:z.clientX,y:z.clientY})}u&&(M.current=setTimeout(()=>{D.current=!0,n(()=>{g(!0),b(!0)})},mee))}},B=R=>{if(R.stopPropagation(),R.preventDefault(),M.current&&clearTimeout(M.current),!I){if("touches"in R){if(f(null),!d)return;const z=R.changedTouches[0],Y=Math.abs(z.clientX-d.x),Q=Math.abs(z.clientY-d.y);if(Y>10||Q>10)return}u?D.current||n(()=>O()):n(()=>{g(!0),b(!0)}),D.current=!1}},T=()=>{M.current&&clearTimeout(M.current)};return c.jsxs(c.Fragment,{children:[c.jsxs("button",{className:Re("flex items-center gap-1 select-none px-3 h-full cursor-pointer enabled:hover:text-yellow-400 disabled:text-muted-foreground/40 disabled:cursor-default group",S?"text-yellow-400":"text-muted-foreground"),title:e("Zap (z)"),disabled:I||w,"data-action":"zap",onMouseDown:L,onMouseUp:B,onMouseLeave:T,onTouchStart:L,onTouchEnd:B,children:[c.jsxs("span",{className:"relative",children:[w?c.jsx(_r,{className:"animate-spin"}):c.jsx(uc,{className:S?"fill-yellow-400":""}),c.jsx(j2,{shortcut:"z"})]}),!!j&&c.jsx("div",{className:"text-sm",children:gct(j)})]}),o&&c.jsx(DE,{open:m,setOpen:R=>{g(R),b(R)},pubkey:o.pubkey,event:o})]})}function gct(t){return t<1e3?t:t<1e6?`${Math.round(t/100)/10}k`:`${Math.round(t/1e5)/10}M`}function Dx({stuff:t,className:e,classNames:n,fetchIfNotExisting:r=!1,displayTopZapsAndLikes:o=!1,onReplyClick:s}){const{isSmallScreen:a}=gn(),{pubkey:i}=wt(),[l,u]=h.useState(!1),{event:d}=mc(t);return h.useEffect(()=>{r&&(u(!0),Ai.fetchStuffStats(t,i).finally(()=>u(!1)))},[d,r]),a?c.jsxs("div",{className:Re("select-none",e),"data-stuff-stats":!0,children:[o&&c.jsxs(c.Fragment,{children:[c.jsx(JK,{stuff:t}),c.jsx(GK,{stuff:t})]}),c.jsxs("div",{className:Re("flex justify-between items-center h-5 [&_svg]:size-5",l?"animate-pulse":"",n==null?void 0:n.buttonBar),onClick:f=>f.stopPropagation(),children:[c.jsx(qK,{stuff:t,onReplyClick:s}),c.jsx(KK,{stuff:t}),c.jsx(YK,{stuff:t}),c.jsx(XK,{stuff:t}),c.jsx(VK,{stuff:t}),c.jsx(ZK,{stuff:t})]})]}):c.jsxs("div",{className:Re("select-none",e),"data-stuff-stats":!0,children:[o&&c.jsxs(c.Fragment,{children:[c.jsx(JK,{stuff:t}),c.jsx(GK,{stuff:t})]}),c.jsxs("div",{className:"flex justify-between h-5 [&_svg]:size-4",children:[c.jsxs("div",{className:Re("flex items-center",l?"animate-pulse":""),onClick:f=>f.stopPropagation(),children:[c.jsx(qK,{stuff:t,onReplyClick:s}),c.jsx(KK,{stuff:t}),c.jsx(YK,{stuff:t}),c.jsx(XK,{stuff:t})]}),c.jsxs("div",{className:"flex items-center",onClick:f=>f.stopPropagation(),children:[c.jsx(VK,{stuff:t}),c.jsx(ZK,{stuff:t})]})]})]})}function yct({event:t}){const{t:e}=qe(),{pubkey:n}=wt(),{unpin:r}=Pde(),[o,s]=h.useState(!1),[a,i]=h.useState(!1);return t.pubkey!==n?c.jsxs("div",{className:"flex gap-1 text-sm items-center text-primary mb-1 px-4 py-0 h-fit",children:[c.jsx(D8,{size:16,className:"shrink-0"}),e("Pinned")]}):c.jsxs(Le,{className:"flex gap-1 text-sm text-primary items-center mb-1 px-4 py-0.5 h-fit",variant:"link",onClick:l=>{l.stopPropagation(),i(!0),r(t).finally(()=>i(!1))},disabled:a,onMouseEnter:()=>s(!0),onMouseLeave:()=>s(!1),children:[a?c.jsx(_r,{size:16,className:"animate-spin shrink-0"}):c.jsx(D8,{size:16,className:"shrink-0"}),e(a?"Unpinning":o?"Unpin":"Pinned")]})}function vct({reposters:t,className:e}){const{t:n}=qe();return t!=null&&t.length?c.jsxs("div",{className:Re("flex gap-1 text-sm items-center text-muted-foreground mb-1",e),children:[c.jsx(cae,{size:16,className:"shrink-0"}),c.jsx(zs,{userId:t[0],className:Re("font-semibold truncate",t.length>1&&'after:content-[","]'),skeletonClassName:"h-3"},t[0]),t.length>1&&c.jsx(zs,{userId:t[1],className:Re("font-semibold truncate",t.length===3&&'after:content-[","]'),skeletonClassName:"h-3"},t[1]),t.length>3?c.jsx(wct,{reposters:t.slice(2)}):t.length===3?c.jsx(zs,{userId:t[2],className:Re("font-semibold truncate"),skeletonClassName:"h-3"},t[2]):null,c.jsx("div",{className:"shrink-0",children:n("reposted")})]}):null}function wct({reposters:t}){const{t:e}=qe();return c.jsxs(CL,{children:[c.jsx(SL,{asChild:!0,children:c.jsx("span",{className:"shrink-0 hover:underline",children:e("and {{x}} others",{x:t.length})})}),c.jsx(PS,{className:"w-fit max-w-60 flex flex-wrap p-2",children:t.map(n=>c.jsx("div",{className:"p-2",children:c.jsx(Ro,{userId:n,size:"small"},n)},n))})]})}function zP({event:t,className:e,reposters:n,embedded:r,originalNoteId:o,pinned:s=!1,navColumn:a,navIndex:i}){const{push:l}=kn(),{ref:u,isSelected:d}=o1(a??1,i??0,{meta:{type:"note",event:t}}),[f,m]=h.useState(!1);return c.jsxs("div",{ref:u,className:Re(e,"scroll-mt-[6.5rem]",d&&"ring-2 ring-primary ring-inset"),onClick:g=>{g.stopPropagation(),l(yl(o??t))},children:[c.jsxs("div",{className:Re("clickable transition-all duration-200",r?"p-3 sm:p-4 border rounded-xl bg-card":"py-3 hover:bg-accent/30"),children:[c.jsxs(MP,{alwaysExpand:r,children:[s&&c.jsx(yct,{event:t}),c.jsx(vct,{className:r?"":"px-4",reposters:n}),c.jsx(q7,{className:r?"":"px-4",size:r?"small":"normal",event:t,originalNoteId:o})]}),!r&&c.jsx(Dx,{className:"mt-3 px-4",stuff:t,onReplyClick:()=>m(!0)})]}),!r&&c.jsx(ri,{}),f&&c.jsx("div",{onClick:g=>g.stopPropagation(),children:c.jsx(r1,{inline:!0,parentStuff:t,open:f,setOpen:m})})]})}function ige({noteId:t,className:e}){const{event:n,isFetching:r}=ll(t);return r?c.jsx(bct,{className:e}):n?c.jsx(zP,{className:Re("w-full",e),event:n,embedded:!0,originalNoteId:t}):c.jsx(xct,{className:e,noteId:t})}function bct({className:t}){return c.jsxs("div",{className:Re("text-left p-2 sm:p-3 border rounded-xl bg-card",t),onClick:e=>e.stopPropagation(),children:[c.jsxs("div",{className:"flex items-center space-x-2",children:[c.jsx(Ln,{className:"w-9 h-9 rounded-full"}),c.jsxs("div",{children:[c.jsx(Ln,{className:"h-3 w-16 my-1"}),c.jsx(Ln,{className:"h-3 w-16 my-1"})]})]}),c.jsx(Ln,{className:"w-full h-4 my-1 mt-2"}),c.jsx(Ln,{className:"w-2/3 h-4 my-1"})]})}function xct({noteId:t,className:e}){const{t:n}=qe();return c.jsx("div",{className:Re("text-left p-2 sm:p-3 border rounded-xl bg-card",e),children:c.jsxs("div",{className:"flex flex-col items-center text-muted-foreground font-medium gap-2",children:[c.jsx("div",{children:n("Sorry! The note cannot be found 😔")}),c.jsx(Ig,{className:"w-full mt-2",originalNoteId:t})]})})}function FP({url:t}){const{push:e}=kn();return c.jsxs("span",{className:"cursor-pointer px-1 text-primary hover:bg-primary/20",onClick:n=>{n.stopPropagation(),e(Eg(t))},children:["[ ",t," ]",c.jsx("span",{className:"w-2 h-1 bg-primary"})]})}function lge({about:t,emojis:e,className:n}){const r=h.useMemo(()=>{if(!t)return null;const o=qg(t,[dx,LL,nv,$S,px]),s=new Map;return e==null||e.forEach(a=>{s.set(a.shortcode,a)}),o.map((a,i)=>{if(a.type==="url")return c.jsx(jd,{url:a.data},i);if(a.type==="websocket-url")return c.jsx(FP,{url:a.data},i);if(a.type==="hashtag")return c.jsx(HS,{hashtag:a.data},i);if(a.type==="mention")return c.jsx(WS,{userId:a.data.split(":")[1]},i);if(a.type==="emoji"){const l=a.data.split(":")[1],u=s.get(l);return u?c.jsx(Mi,{classNames:{img:"mb-1"},emoji:u},i):a.data}return a.data})},[t,e]);return c.jsx("div",{className:n,children:r})}function cge({userId:t}){const e=h.useMemo(()=>{var a;return((a=Ut.tryFromString(t))==null?void 0:a.hex)??t},[t]),{profile:n}=ua(t),{username:r,about:o,emojis:s}=n||{};return c.jsxs("div",{className:"w-full flex flex-col gap-2 not-prose",children:[c.jsxs("div",{className:"flex space-x-2 w-full items-start justify-between",children:[c.jsx(nc,{userId:e,className:"w-12 h-12"}),c.jsx(RL,{pubkey:e})]}),c.jsxs("div",{children:[c.jsxs("div",{className:"flex gap-2 items-center",children:[c.jsx(Rx,{text:r||"",emojis:s,className:"text-lg font-semibold truncate"}),c.jsx(Sx,{pubkey:e})]}),c.jsx(dc,{pubkey:e})]}),o&&c.jsx(lge,{about:o,emojis:s,className:"text-sm text-wrap break-words w-full overflow-hidden text-ellipsis line-clamp-6"})]})}function zs({userId:t,showAt:e=!1,className:n,skeletonClassName:r,withoutSkeleton:o=!1,showQrCode:s=!0}){const{profile:a,isFetching:i}=ua(t),l=h.useMemo(()=>cu(),[]);if(!a&&i&&!o)return c.jsx("div",{className:"py-1",children:c.jsx(Ln,{className:Re("w-16",r)})});if(!a)return null;const u=c.jsxs(tc,{to:wf(t),className:"truncate hover:underline",onClick:f=>f.stopPropagation(),children:[e&&"@",c.jsx(Rx,{text:a.username,emojis:a.emojis,emojiClassName:"mb-1"})]}),d=c.jsxs("div",{className:Re("flex items-center gap-1",n),children:[u,s&&c.jsx(US,{pubkey:t})]});return l?d:c.jsxs(CL,{children:[c.jsx(SL,{asChild:!0,children:d}),c.jsx(PS,{className:"w-80",children:c.jsx(cge,{userId:t})})]})}function sd({userId:t,showAt:e=!1,className:n,skeletonClassName:r,withoutSkeleton:o=!1,showQrCode:s=!0}){const{profile:a,isFetching:i}=ua(t);if(!a&&i&&!o)return c.jsx("div",{className:"py-1",children:c.jsx(Ln,{className:Re("w-16",r)})});if(!a)return null;const{username:l,emojis:u}=a;return c.jsxs("div",{className:Re("flex items-center gap-1",n),children:[c.jsxs("span",{className:"truncate",children:[e&&"@",c.jsx(Rx,{text:l,emojis:u,emojiClassName:"mb-1"})]}),s&&c.jsx(US,{pubkey:t})]})}function BP({userId:t,hideFollowButton:e,showFollowingBadge:n=!1,className:r}){const o=h.useMemo(()=>{var s;return((s=Ut.tryFromString(t))==null?void 0:s.hex)??t},[t]);return c.jsxs("div",{className:Re("flex gap-2 items-center h-14",r),children:[c.jsx(Ro,{userId:t,className:"shrink-0"}),c.jsxs("div",{className:"w-full overflow-hidden",children:[c.jsxs("div",{className:"flex items-center gap-2",children:[c.jsx(zs,{userId:t,className:"font-semibold truncate max-w-full w-fit",skeletonClassName:"h-4"}),n&&c.jsx(P7,{pubkey:o}),c.jsx(Sx,{pubkey:o})]}),c.jsx(dc,{pubkey:t})]}),!e&&c.jsx(RL,{pubkey:t})]})}function uge({hideFollowButton:t}){return c.jsxs("div",{className:"flex gap-2 items-center h-14",children:[c.jsx(Ln,{className:"w-10 h-10 rounded-full shrink-0"}),c.jsx("div",{className:"w-full",children:c.jsx("div",{className:"py-1",children:c.jsx(Ln,{className:"w-16 h-4"})})}),!t&&c.jsx(Ln,{className:"rounded-full min-w-28 h-9"})]})}const LE=h.forwardRef(({input:t,setInput:e,onSearch:n},r)=>{const{t:o}=qe(),{push:s}=kn(),{isSmallScreen:a}=gn(),[i,l]=h.useState(t),{profiles:u,isFetching:d}=aFe(i,5),[f,m]=h.useState(!1),[g,w]=h.useState(!1),[b,j]=h.useState([]),[S,I]=h.useState(-1),N=h.useRef(null),M=h.useMemo(()=>{if(!["w","ws","ws:","ws:/","wss","wss:","wss:/"].includes(t)&&t.includes("."))try{return oo(t)}catch{return}},[t]),D=h.useMemo(()=>`search-${vd()}`,[]);h.useImperativeHandle(r,()=>({focus:()=>{var R;(R=N.current)==null||R.focus()},blur:()=>{var R;(R=N.current)==null||R.blur()}})),h.useEffect(()=>{t||n(null),I(-1)},[t]),h.useEffect(()=>{const R=setTimeout(()=>{l(t)},500);return()=>{clearTimeout(R)}},[t]);const O=()=>{var R;m(!1),(R=N.current)==null||R.blur()},L=R=>{O(),R.type==="note"?s(yl(R.search)):R.type==="externalContent"?s(vy(R.search)):n(R)};h.useEffect(()=>{var Q;const R=t.trim();if(!R)return;const z=$ie(R);if(z){j([{type:"nak",search:MFe(z),request:z,input:R}]);return}if(/^[0-9a-f]{64}$/.test(R)){j([{type:"note",search:R},{type:"profile",search:R}]);return}try{let W=R;W.startsWith("nostr:")&&(W=W.slice(6));const{type:F}=yr.decode(W);if(["nprofile","npub"].includes(F)){j([{type:"profile",search:W}]);return}if(["nevent","naddr","note"].includes(F)){j([{type:"note",search:W}]);return}}catch{}const Y=((Q=R.match(/[\p{L}\p{N}\p{M}]+/u))==null?void 0:Q[0].toLowerCase())??"";j([{type:"notes",search:R},...M?[{type:"relay",search:M,input:M}]:[],{type:"externalContent",search:R,input:t},{type:"hashtag",search:Y,input:`#${Y}`},...u.map(W=>({type:"profile",search:W.npub,input:W.username})),...u.length>=5?[{type:"profiles",search:R}]:[]])},[t,i,u]);const B=h.useMemo(()=>b.length<=0?null:c.jsxs(c.Fragment,{children:[b.map((R,z)=>R.type==="note"?c.jsx(Cct,{selected:S===z,id:R.search,onClick:()=>L(R)},z):R.type==="profile"?c.jsx(Sct,{selected:S===z,userId:R.search,onClick:()=>L(R)},z):R.type==="notes"?c.jsx(kct,{selected:S===z,search:R.search,onClick:()=>L(R)},z):R.type==="hashtag"?c.jsx(jct,{selected:S===z,hashtag:R.search,onClick:()=>L(R)},z):R.type==="relay"?c.jsx(Ect,{selected:S===z,url:R.search,onClick:()=>L(R)},z):R.type==="externalContent"?c.jsx(Nct,{selected:S===z,search:R.search,onClick:()=>L(R)},z):R.type==="nak"?c.jsx(Ict,{selected:S===z,description:R.search,onClick:()=>L(R)},z):R.type==="profiles"?c.jsx(s1,{selected:S===z,onClick:()=>L(R),children:c.jsx("div",{className:"font-semibold",children:o("Show more...")})},z):null),d&&u.length<5&&c.jsx("div",{className:"px-2",children:c.jsx(uge,{hideFollowButton:!0})})]}),[b,S,d,u]);h.useEffect(()=>{w(f&&!!t)},[f,t]),h.useEffect(()=>{g&&B?po.register(D,()=>{w(!1)}):po.unregister(D)},[g,B]);const T=h.useCallback(R=>{if(R.key==="Enter"){if(R.stopPropagation(),b.length<=0)return;n(b[S>=0?S:0]),O();return}if(R.key==="ArrowDown"){if(R.preventDefault(),b.length<=0)return;I(z=>(z+1)%b.length);return}if(R.key==="ArrowUp"){if(R.preventDefault(),b.length<=0)return;I(z=>(z-1+b.length)%b.length);return}if(R.key==="Escape"){O();return}},[t,n,b,S]);return c.jsxs("div",{className:"relative flex gap-1 items-center h-full w-full",children:[g&&B&&c.jsxs(c.Fragment,{children:[c.jsx("div",{className:Re("bg-surface-background rounded-b-lg shadow-lg z-50",a?"fixed top-12 inset-x-0":"absolute top-full -translate-y-2 inset-x-0 pt-3.5 pb-1 border px-1"),onMouseDown:R=>R.preventDefault(),children:c.jsx("div",{className:"h-fit",children:B})}),c.jsx("div",{className:"fixed inset-0 w-full h-full",onClick:()=>O()})]}),c.jsx(BS,{ref:N,className:Re("bg-surface-background shadow-inner h-full border-transparent",f?"z-50":""),placeholder:o("People, keywords, or relays"),value:t,onChange:R=>e(R.target.value),onKeyDown:T,onFocus:()=>m(!0),onBlur:()=>m(!1),onQrScan:R=>{e(R);let z=R;z.startsWith("nostr:")&&(z=z.slice(6));try{const{type:Y}=yr.decode(z);if(["nprofile","npub"].includes(Y)){L({type:"profile",search:z});return}if(["nevent","naddr","note"].includes(Y)){L({type:"note",search:z});return}}catch{}}})]})});LE.displayName="SearchBar";function kct({search:t,onClick:e,selected:n}){const{t:r}=qe();return c.jsxs(s1,{onClick:e,selected:n,children:[c.jsx("div",{className:"size-10 flex justify-center items-center",children:c.jsx(rx,{className:"text-muted-foreground flex-shrink-0"})}),c.jsxs("div",{className:"flex flex-col min-w-0 flex-1",children:[c.jsx("div",{className:"font-semibold truncate",children:t}),c.jsx("div",{className:"text-sm text-muted-foreground",children:r("Search for notes")})]})]})}function jct({hashtag:t,onClick:e,selected:n}){const{t:r}=qe();return c.jsxs(s1,{onClick:e,selected:n,children:[c.jsx("div",{className:"size-10 flex justify-center items-center",children:c.jsx(n2,{className:"text-muted-foreground flex-shrink-0"})}),c.jsxs("div",{className:"flex flex-col min-w-0 flex-1",children:[c.jsxs("div",{className:"font-semibold truncate",children:["#",t]}),c.jsx("div",{className:"text-sm text-muted-foreground",children:r("Search for hashtag")})]})]})}function Cct({id:t,onClick:e,selected:n}){const{t:r}=qe();return c.jsxs(s1,{onClick:e,selected:n,children:[c.jsx("div",{className:"size-10 flex justify-center items-center",children:c.jsx(P7e,{className:"text-muted-foreground flex-shrink-0"})}),c.jsxs("div",{className:"flex flex-col min-w-0 flex-1",children:[c.jsx("div",{className:"font-semibold truncate font-mono text-sm",children:t}),c.jsx("div",{className:"text-sm text-muted-foreground",children:r("Go to note")})]})]})}function Sct({userId:t,onClick:e,selected:n}){return c.jsx("div",{className:Re("px-2 hover:bg-accent rounded-md cursor-pointer",n&&"bg-accent"),onClick:e,children:c.jsx(BP,{userId:t,className:"pointer-events-none",hideFollowButton:!0,showFollowingBadge:!0})})}function Ect({url:t,onClick:e,selected:n}){const{t:r}=qe();return c.jsxs(s1,{onClick:e,selected:n,children:[c.jsx("div",{className:"size-10 flex justify-center items-center",children:c.jsx(ei,{className:"text-muted-foreground flex-shrink-0"})}),c.jsxs("div",{className:"flex flex-col min-w-0 flex-1",children:[c.jsx("div",{className:"font-semibold truncate",children:t}),c.jsx("div",{className:"text-sm text-muted-foreground",children:r("Go to relay")})]})]})}function Nct({search:t,onClick:e,selected:n}){const{t:r}=qe();return c.jsxs(s1,{onClick:e,selected:n,children:[c.jsx("div",{className:"size-10 flex justify-center items-center",children:c.jsx(rf,{className:"text-muted-foreground flex-shrink-0"})}),c.jsxs("div",{className:"flex flex-col min-w-0 flex-1",children:[c.jsx("div",{className:"font-semibold truncate",children:t}),c.jsx("div",{className:"text-sm text-muted-foreground",children:r("View discussions about this")})]})]})}function Ict({description:t,onClick:e,selected:n}){return c.jsxs(s1,{onClick:e,selected:n,children:[c.jsx("div",{className:"size-10 flex justify-center items-center",children:c.jsx(Q7e,{className:"text-muted-foreground flex-shrink-0"})}),c.jsxs("div",{className:"flex flex-col min-w-0 flex-1",children:[c.jsx("div",{className:"font-semibold truncate",children:"REQ"}),c.jsx("div",{className:"text-sm text-muted-foreground truncate",children:t})]})]})}function s1({className:t,children:e,selected:n,...r}){return c.jsx("div",{className:Re("flex gap-2 items-center px-2 py-1.5 hover:bg-accent rounded-md cursor-pointer",n?"bg-accent":"",t),...r,children:e})}function Act({newEvents:t=[],onClick:e}){const{t:n}=qe(),{enableSingleColumnLayout:r}=ts(),{isSmallScreen:o}=gn(),s=Kle(Xw),a=h.useMemo(()=>{const i=[];for(const l of t)if(i.includes(l.pubkey)||i.push(l.pubkey),i.length>=3)break;return i},[t]);return c.jsx(c.Fragment,{children:t.length>0&&c.jsx("div",{className:Re("w-full flex justify-center z-40 pointer-events-none",r?"sticky":"absolute"),style:{bottom:o?`calc(${s?7.35:4}rem + env(safe-area-inset-bottom))`:"1rem"},children:c.jsxs(Le,{onClick:e,className:"group rounded-full h-fit py-2 pl-2 pr-3 hover:bg-primary-hover pointer-events-auto",children:[a.length>0&&c.jsx("div",{className:"*:data-[slot=avatar]:ring-background flex -space-x-2 *:data-[slot=avatar]:ring-2 *:data-[slot=avatar]:grayscale",children:a.map(i=>c.jsx(nc,{userId:i,size:"small"},i))}),c.jsx("span",{className:"text-xs opacity-70",children:"⇧↵"}),c.jsx(Use,{}),c.jsx("div",{className:"text-md font-medium",children:n("Show n new notes",{n:t.length>99?"99+":t.length})})]})})})}function _ct(t,e=1,n){const[r,o]=h.useState([]),[s,a]=h.useState(!1),[i,l]=h.useState(!0),[u,d]=h.useState(null);return h.useEffect(()=>{if(!t){o([]),l(!1);return}(async()=>{var g;l(!0),d(null),a(!1);const m=ze.currentRelays;try{const w=await Cj.queryFollowGraph(m,t,e);if((g=w==null?void 0:w.pubkeys_by_depth)!=null&&g.length){o(w.pubkeys_by_depth),a(!0),l(!1);return}const b=await Mct(t,e);o(b)}catch(w){console.error("Failed to fetch follow graph:",w),d(w instanceof Error?w:new Error("Unknown error"))}finally{l(!1)}})()},[t,e,n==null?void 0:n.join(",")]),{pubkeysByDepth:r,usedGraphQuery:s,isLoading:i,error:u}}async function Mct(t,e){const n=[],r=await ze.fetchFollowings(t);if(n.push(r),e<2||r.length===0)return n;const o=new Set,s=new Set(r);s.add(t);const a=10;for(let i=0;i<r.length;i+=a){const l=r.slice(i,i+a),u=await Promise.all(l.map(d=>ze.fetchFollowings(d)));for(const d of u)for(const f of d)s.has(f)||o.add(f)}return n.push(Array.from(o)),n}const fge=h.createContext(void 0),UP=()=>{const t=h.useContext(fge);if(!t)throw new Error("useSocialGraphFilter must be used within a SocialGraphFilterProvider");return t};function Rct({children:t}){const{pubkey:e}=wt(),[n,r]=h.useState(Xe.getSocialGraphProximity()),[o,s]=h.useState(Xe.getSocialGraphIncludeMode()),{pubkeysByDepth:a,isLoading:i}=_ct(n!==null?e:null,n??1),l=h.useMemo(()=>{const g=new Set;if(e&&g.add(e),n&&a.length)for(let w=0;w<n&&w<a.length;w++)a[w].forEach(b=>g.add(b));return g},[e,n,a]),u=l.size,d=h.useCallback(g=>{Xe.setSocialGraphProximity(g),r(g),kr()},[]),f=h.useCallback(g=>{Xe.setSocialGraphIncludeMode(g),s(g),kr()},[]),m=h.useCallback(g=>{if(n===null||i||g===e)return!0;const w=l.has(g);return o?w:!w},[n,i,l,o,e]);return c.jsx(fge.Provider,{value:{proximityLevel:n,includeMode:o,updateProximityLevel:d,updateIncludeMode:f,graphPubkeys:l,graphPubkeyCount:u,isLoading:i,isPubkeyAllowed:m},children:t})}var C2;(function(t){t[t.UP=-1]="UP",t[t.DOWN=1]="DOWN"})(C2||(C2={}));function Tct(t){var e=getComputedStyle(t).overflowY;return t===document.scrollingElement&&e==="visible"?!0:!(e!=="scroll"&&e!=="auto")}function Dct(t,e){if(!Tct(t))return!1;if(e===C2.DOWN){var n=t.scrollTop+t.clientHeight;return n<t.scrollHeight}if(e===C2.UP)return t.scrollTop>0;throw new Error("unsupported direction")}function dge(t,e){return Dct(t,e)?!0:t.parentElement==null?!1:dge(t.parentElement,e)}function pge(t,e){e===void 0&&(e={});var n=e.insertAt;if(!(!t||typeof document>"u")){var r=document.head||document.getElementsByTagName("head")[0],o=document.createElement("style");o.type="text/css",n==="top"&&r.firstChild?r.insertBefore(o,r.firstChild):r.appendChild(o),o.styleSheet?o.styleSheet.cssText=t:o.appendChild(document.createTextNode(t))}}var Lct=`.lds-ellipsis {
2213 display: inline-block;
2214 position: relative;
2215 width: 64px;
2216 height: 64px; }
2217
2218 .lds-ellipsis div {
2219 position: absolute;
2220 top: 27px;
2221 width: 11px;
2222 height: 11px;
2223 border-radius: 50%;
2224 background: #363636;
2225 animation-timing-function: cubic-bezier(0, 1, 1, 0); }
2226
2227 .lds-ellipsis div:nth-child(1) {
2228 left: 6px;
2229 animation: lds-ellipsis1 0.6s infinite; }
2230
2231 .lds-ellipsis div:nth-child(2) {
2232 left: 6px;
2233 animation: lds-ellipsis2 0.6s infinite; }
2234
2235 .lds-ellipsis div:nth-child(3) {
2236 left: 26px;
2237 animation: lds-ellipsis2 0.6s infinite; }
2238
2239 .lds-ellipsis div:nth-child(4) {
2240 left: 45px;
2241 animation: lds-ellipsis3 0.6s infinite; }
2242
2243 @keyframes lds-ellipsis1 {
2244 0% {
2245 transform: scale(0); }
2246 100% {
2247 transform: scale(1); } }
2248
2249 @keyframes lds-ellipsis3 {
2250 0% {
2251 transform: scale(1); }
2252 100% {
2253 transform: scale(0); } }
2254
2255 @keyframes lds-ellipsis2 {
2256 0% {
2257 transform: translate(0, 0); }
2258 100% {
2259 transform: translate(19px, 0); } }
2260 `;pge(Lct);var Pct=function(){return Be.createElement("div",{className:"lds-ellipsis"},Be.createElement("div",null),Be.createElement("div",null),Be.createElement("div",null),Be.createElement("div",null))},Oct=function(){return Be.createElement("div",null,Be.createElement("p",null,"↧ pull to refresh ↧"))},zct=`.ptr,
2261 .ptr__children {
2262 height: 100%;
2263 width: 100%;
2264 overflow: hidden;
2265 -webkit-overflow-scrolling: touch;
2266 position: relative; }
2267
2268 .ptr.ptr--fetch-more-treshold-breached .ptr__fetch-more {
2269 display: block; }
2270
2271 .ptr__fetch-more {
2272 display: none; }
2273
2274 /**
2275 * Pull down transition
2276 */
2277 .ptr__children,
2278 .ptr__pull-down {
2279 transition: transform 0.2s cubic-bezier(0, 0, 0.31, 1); }
2280
2281 .ptr__pull-down {
2282 position: absolute;
2283 overflow: hidden;
2284 left: 0;
2285 right: 0;
2286 top: 0;
2287 visibility: hidden; }
2288 .ptr__pull-down > div {
2289 display: none; }
2290
2291 .ptr--dragging {
2292 /**
2293 * Hide PullMore content is treshold breached
2294 */
2295 /**
2296 * Otherwize, display content
2297 */ }
2298 .ptr--dragging.ptr--pull-down-treshold-breached .ptr__pull-down--pull-more {
2299 display: none; }
2300 .ptr--dragging .ptr__pull-down--pull-more {
2301 display: block; }
2302
2303 .ptr--pull-down-treshold-breached {
2304 /**
2305 * Force opacity to 1 is pull down trashold breached
2306 */
2307 /**
2308 * And display loader
2309 */ }
2310 .ptr--pull-down-treshold-breached .ptr__pull-down {
2311 opacity: 1 !important; }
2312 .ptr--pull-down-treshold-breached .ptr__pull-down--loading {
2313 display: block; }
2314
2315 .ptr__loader {
2316 margin: 0 auto;
2317 text-align: center; }
2318 `;pge(zct);var hge=function(t){var e=t.isPullable,n=e===void 0?!0:e,r=t.canFetchMore,o=r===void 0?!1:r,s=t.onRefresh,a=t.onFetchMore,i=t.refreshingContent,l=i===void 0?Be.createElement(Pct,null):i,u=t.pullingContent,d=u===void 0?Be.createElement(Oct,null):u,f=t.children,m=t.pullDownThreshold,g=m===void 0?67:m,w=t.fetchMoreThreshold,b=w===void 0?100:w,j=t.maxPullDownDistance,S=j===void 0?95:j,I=t.resistance,N=I===void 0?1:I,M=t.backgroundColor,D=t.className,O=D===void 0?"":D,L=h.useRef(null),B=h.useRef(null),T=h.useRef(null),R=h.useRef(null),z=!1,Y=!1,Q=!1,W=0,F=0;h.useEffect(function(){if(!(!n||!B||!B.current)){var ne=B.current;return ne.addEventListener("touchstart",V,{passive:!0}),ne.addEventListener("mousedown",V),ne.addEventListener("touchmove",K,{passive:!1}),ne.addEventListener("mousemove",K),window.addEventListener("scroll",G),ne.addEventListener("touchend",J),ne.addEventListener("mouseup",J),document.body.addEventListener("mouseleave",J),function(){ne.removeEventListener("touchstart",V),ne.removeEventListener("mousedown",V),ne.removeEventListener("touchmove",K),ne.removeEventListener("mousemove",K),window.removeEventListener("scroll",G),ne.removeEventListener("touchend",J),ne.removeEventListener("mouseup",J),document.body.removeEventListener("mouseleave",J)}}},[f,n,s,g,S,o,b]),h.useEffect(function(){var ne;if(!((ne=L)===null||ne===void 0)&&ne.current){var re=L.current.classList.contains("ptr--fetch-more-treshold-breached");re||o&&X()<b&&a&&(L.current.classList.add("ptr--fetch-more-treshold-breached"),Y=!0,a().then($).catch($))}},[o,f]);var X=function(){if(!B||!B.current)return-1;var ne=window.scrollY,re=B.current.scrollHeight;return re-ne-window.innerHeight},$=function(){requestAnimationFrame(function(){B.current&&(B.current.style.overflowX="hidden",B.current.style.overflowY="auto",B.current.style.transform="unset"),T.current&&(T.current.style.opacity="0"),L.current&&(L.current.classList.remove("ptr--pull-down-treshold-breached"),L.current.classList.remove("ptr--dragging"),L.current.classList.remove("ptr--fetch-more-treshold-breached")),z&&(z=!1),Y&&(Y=!1)})},V=function(ne){Q=!1,ne instanceof MouseEvent&&(W=ne.pageY),window.TouchEvent&&ne instanceof TouchEvent&&(W=ne.touches[0].pageY),F=W,!(ne.type==="touchstart"&&dge(ne.target,C2.UP))&&(B.current.getBoundingClientRect().top<0||(Q=!0))},K=function(ne){if(Q){if(window.TouchEvent&&ne instanceof TouchEvent?F=ne.touches[0].pageY:F=ne.pageY,L.current.classList.add("ptr--dragging"),F<W){Q=!1;return}ne.cancelable&&ne.preventDefault();var re=Math.min((F-W)/N,S);re>=g&&(Q=!0,z=!0,L.current.classList.remove("ptr--dragging"),L.current.classList.add("ptr--pull-down-treshold-breached")),!(re>=S)&&(T.current.style.opacity=(re/65).toString(),B.current.style.overflow="visible",B.current.style.transform="translate(0px, "+re+"px)",T.current.style.visibility="visible")}},G=function(ne){Y||o&&X()<b&&a&&(Y=!0,L.current.classList.add("ptr--fetch-more-treshold-breached"),a().then($).catch($))},J=function(){if(Q=!1,W=0,F=0,!z){T.current&&(T.current.style.visibility="hidden"),$();return}B.current&&(B.current.style.overflow="visible",B.current.style.transform="translate(0px, "+g+"px)"),s().then($).catch($)};return Be.createElement("div",{className:"ptr "+O,style:{backgroundColor:M},ref:L},Be.createElement("div",{className:"ptr__pull-down",ref:T},Be.createElement("div",{className:"ptr__loader ptr__pull-down--loading"},l),Be.createElement("div",{className:"ptr__pull-down--pull-more"},d)),Be.createElement("div",{className:"ptr__children",ref:B},f,Be.createElement("div",{className:"ptr__fetch-more",ref:R},Be.createElement("div",{className:"ptr__loader ptr__fetch-more--loading"},l))))};function Fct({event:t,className:e,filterMutedNotes:n=!0,pinned:r=!1,reposters:o,navColumn:s,navIndex:a}){const{mutePubkeySet:i}=ns(),{hideContentMentioningMutedUsers:l}=lo(),[u,d]=h.useState(null),f=h.useMemo(()=>!!(!u||n&&i.has(u.pubkey)||l&&Qu(u,i)),[u,n,l,i]);return h.useEffect(()=>{(async()=>{let g=null;if(t.content)try{g=JSON.parse(t.content)}catch{g=null}if(g&&Oy(g)){if(g.kind===Ue.Repost||g.kind===Ue.GenericRepost)return;ze.addEventToCache(g),ze.getSeenEventRelays(g.id).length===0&&ze.getSeenEventRelays(t.id).forEach(N=>{ze.trackEventSeenOn(g.id,N)}),d(g);return}let w;const b=t.tags.find(An("a"));if(b)w=eh(b);else{const S=t.tags.find(An("e"));S&&(w=oc(S))}if(!w)return;const j=await ze.fetchEvent(w);j&&d(j)})()},[t]),!u||f?null:c.jsx(zP,{className:e,reposters:o!=null&&o.includes(t.pubkey)?o:[t.pubkey],event:u,pinned:r,navColumn:s,navIndex:a})}function PE({event:t,className:e,filterMutedNotes:n=!0,pinned:r=!1,reposters:o,navColumn:s,navIndex:a}){const{mutePubkeySet:i}=ns(),{hideContentMentioningMutedUsers:l,nsfwDisplayPolicy:u}=lo();return h.useMemo(()=>!!(n&&i.has(t.pubkey)||l&&Qu(t,i)||u===Ul.HIDE&&Aee(t)),[t,n,i,u])?null:t.kind===Ue.Repost||t.kind===Ue.GenericRepost?c.jsx(Fct,{event:t,className:e,filterMutedNotes:n,pinned:r,reposters:o,navColumn:s,navIndex:a}):c.jsx(zP,{event:t,className:e,pinned:r,reposters:o,navColumn:s,navIndex:a})}function Lx({className:t}){return c.jsxs("div",{className:Re("px-4 py-3",t),children:[c.jsxs("div",{className:"flex items-center space-x-2",children:[c.jsx(Ln,{className:"w-10 h-10 rounded-full"}),c.jsxs("div",{className:"flex-1 w-0",children:[c.jsx("div",{className:"py-1",children:c.jsx(Ln,{className:"h-4 w-16"})}),c.jsx("div",{className:"py-0.5",children:c.jsx(Ln,{className:"h-4 w-12"})})]})]}),c.jsxs("div",{className:"pt-2",children:[c.jsx("div",{className:"my-1",children:c.jsx(Ln,{className:"w-full h-4 my-1 mt-2"})}),c.jsx("div",{className:"my-1",children:c.jsx(Ln,{className:"w-2/3 h-4 my-1"})})]})]})}function Bct({count:t,onClick:e}){const{t:n}=qe();return t<=0?null:c.jsx("div",{className:"sticky top-[calc(6rem+1px)] z-40 flex justify-center pointer-events-none",children:c.jsxs(Le,{onClick:e,variant:"secondary",className:"rounded-full h-8 px-3 gap-1.5 shadow-md pointer-events-auto",size:"sm",children:[c.jsx(Use,{className:"size-3.5"}),c.jsx("span",{className:"text-sm",children:n("n new notes above",{n:t>99?"99+":t})})]})})}function Uct({eventId:t,className:e}){const{event:n,isFetching:r}=ll(t);return r?c.jsx(Lx,{className:"border-b"}):n?c.jsx(PE,{event:n,className:e,pinned:!0}):null}const eZ=200,$ct=500,Vct=10,a1=h.forwardRef(({subRequests:t,showKinds:e,filterMutedNotes:n=!0,hideReplies:r=!1,hideUntrustedNotes:o=!1,hideSpam:s=!1,areAlgoRelays:a=!1,showRelayCloseReason:i=!1,pinnedEventIds:l,filterFn:u,showNewNotesDirectly:d=!1,navColumn:f=1,applySocialGraphFilter:m=!1,onInitialLoad:g},w)=>{const{t:b}=qe(),{startLogin:j}=wt(),{isUserTrusted:S,isSpammer:I}=da(),{mutePubkeySet:N}=ns(),{hideContentMentioningMutedUsers:M}=lo(),{isEventDeleted:D}=EL(),{isPubkeyAllowed:O}=UP(),{autoInsertNewNotes:L}=ts(),{offsetSelection:B,registerLoadMore:T,unregisterLoadMore:R}=ii(),z=d||L,[Y,Q]=h.useState([]),[W,F]=h.useState([]),[X,$]=h.useState(!1),[V,K]=h.useState(void 0),[G,J]=h.useState([]),[ne,re]=h.useState([]),[de,Ne]=h.useState(0),[ve,xe]=h.useState(0),ce=h.useMemo(()=>cu(),[]),pe=h.useRef(null),me=h.useRef(Y);me.current=Y;const ke=h.useRef(0),le=h.useRef(!0),he=h.useRef([]),we=h.useRef(z);we.current=z;const Ae=h.useRef(g);Ae.current=g;const Ve=h.useCallback(st=>{const De=new Set;return l==null||l.forEach(se=>{try{const{type:q,data:Z}=Uie(se);q==="nevent"&&De.add(Z.id)}catch{}}),!!(De.has(st.id)||D(st)||o&&!S(st.pubkey)||n&&N.has(st.pubkey)||n&&M&&Qu(st,N)||u&&!u(st)||m&&!O(st.pubkey))},[o,n,N,M,JSON.stringify(l),D,u,m,O]);h.useEffect(()=>{const st=new Set,De=new Map,se=[],q=[];Y.forEach(ie=>{const Ce=Qo(ie);if(st.has(Ce)||(st.add(Ce),Ve(ie))||r&&I_(ie))return;if(ie.kind!==Ue.Repost&&ie.kind!==Ue.GenericRepost){se.push(ie),q.push(Ce);return}let Te,Se=null;const ye=ie.tags.find(An("a"))??ie.tags.find(An("e"));if(ye)Te=jC(ye);else{if(ie.content)try{Se=JSON.parse(ie.content)}catch{Se=null}if(Se){if(Se.kind===Ue.Repost||Se.kind===Ue.GenericRepost||Ve(ie))return;Te=Qo(Se)}}if(Te){const We=De.get(Te);We?We.add(ie.pubkey):De.set(Te,new Set([ie.pubkey])),st.has(Te)||(se.push(ie),q.push(Te),st.add(Te))}});const Z=se.map((ie,Ce)=>{const Te=q[Ce];return{key:Te,event:ie,reposters:Array.from(De.get(Te)??[])}});if(J(Z),s){let ie=!1;return(async()=>{const Ce=await Promise.all(Z.map(async Se=>await I(Se.event.pubkey)?Se.key:null));if(ie)return;const Te=new Set(Ce.filter(Boolean));Te.size>0&&J(Se=>Se.filter(ye=>!Te.has(ye.key)))})(),()=>{ie=!0}}},[Y,Ve,r,I,s]),h.useEffect(()=>{(async()=>{const De=new Set,se=[];W.forEach(Z=>{if(Ve(Z)||r&&I_(Z))return;const ie=Qo(Z);De.has(ie)||(De.add(ie),se.push(Z))});const q=(await Promise.all(se.map(async Z=>s&&await I(Z.pubkey)?null:Z))).filter(Boolean);re(q)})()},[W,Ve,I,s]);const Ze=(st="instant")=>{setTimeout(()=>{var De;(De=pe.current)==null||De.scrollIntoView({behavior:st,block:"start"})},20)},nt=()=>{Ze(),setTimeout(()=>{Ne(st=>st+1)},500)};h.useImperativeHandle(w,()=>({scrollToTop:Ze,refresh:nt}),[]),h.useEffect(()=>{var se;if(!t.length){(se=Ae.current)==null||se.call(Ae);return}async function st(){if($(!0),Q([]),F([]),he.current=[],(e==null?void 0:e.length)===0&&t.every(({filter:Ce})=>!Ce.kinds))return()=>{};const q=await Promise.all(t.map(async({urls:Ce,filter:Te})=>({urls:Ce.length?Ce:await ze.determineRelaysByFilter(Te),filter:{kinds:e??[],...Te,limit:a?$ct:eZ}}))),{closer:Z,timelineKey:ie}=await ze.subscribeTimeline(q,{onEvents:(Ce,Te)=>{var Se,ye;Ce.length>0&&(Q(Ce),$(!1),(Se=Ae.current)==null||Se.call(Ae)),Te&&(fl.addRepliesToThread(Ce),$(!1),(ye=Ae.current)==null||ye.call(Ae))},onNew:Ce=>{we.current?le.current?Q(Te=>Te.some(Se=>Se.id===Ce.id)?Te:[Ce,...Te]):(he.current.some(Te=>Te.id===Ce.id)||(he.current=[Ce,...he.current]),xe(Te=>Te+1)):F(Te=>[Ce,...Te].sort((Se,ye)=>ye.created_at-Se.created_at)),fl.addRepliesToThread([Ce])},onClose:(Ce,Te)=>{i&&(["closed by caller","relay connection errored","relay connection closed","pingpong timed out","relay connection closed by us"].includes(Te)||on.error(`${Ce}: ${Te}`))}},{startLogin:j,needSort:!a});return K(ie),Z}const De=st();return()=>{De.then(q=>q())}},[JSON.stringify(t),de,JSON.stringify(e)]);const $e=h.useCallback(async()=>{if(!V||a)return!1;const st=me.current,De=await ze.loadMoreTimeline(V,st.length?st[st.length-1].created_at-1:Nn().unix(),eZ);return De.length===0?(ke.current++,ke.current>=3?(ke.current=0,!1):!0):(ke.current=0,Q(se=>[...se,...De]),!0)},[V,a]),{visibleItems:Ke,shouldShowLoadingIndicator:Me,bottomRef:et}=Cie({items:G,showCount:Vct,onLoadMore:$e,initialLoading:X});h.useEffect(()=>(T(f,$e),()=>R(f)),[f,$e,T,R]),h.useEffect(()=>{const st=pe.current;if(!st)return;const De=new IntersectionObserver(([se])=>{const q=se.isIntersecting;if(le.current=q,q&&(xe(0),he.current.length>0)){const Z=[...he.current];he.current=[],Q(ie=>{const Ce=new Set(ie.map(Se=>Se.id));return[...Z.filter(Se=>!Ce.has(Se.id)),...ie]})}},{threshold:0});return De.observe(st),()=>De.disconnect()},[]);const pt=h.useCallback(()=>{ne.length!==0&&(B(f,ne.length),Q(st=>[...W,...st]),F([]),setTimeout(()=>{Ze("smooth")},0))},[ne.length,f,W,B]);h.useEffect(()=>{const st=De=>{De.shiftKey&&De.key==="Enter"&&ne.length>0&&(De.preventDefault(),pt())};return window.addEventListener("keydown",st),()=>window.removeEventListener("keydown",st)},[pt,ne.length]);const ht=c.jsxs("div",{className:"min-h-screen",children:[l==null?void 0:l.map(st=>c.jsx(Uct,{eventId:st,className:"w-full"},st)),Ke.map(({key:st,event:De,reposters:se},q)=>c.jsx(PE,{className:"w-full",event:De,filterMutedNotes:n,reposters:se,navColumn:f,navIndex:q},st)),c.jsx("div",{ref:et}),Me||X?c.jsx(Lx,{}):Y.length?c.jsx("div",{className:"text-center text-sm text-muted-foreground mt-2",children:b("no more notes")}):c.jsx("div",{className:"flex justify-center w-full mt-2",children:c.jsx(Le,{size:"lg",onClick:()=>Ne(st=>st+1),children:b("Reload")})})]});return c.jsxs("div",{children:[c.jsx("div",{ref:pe,className:"scroll-mt-[calc(6rem+1px)]"}),z&&c.jsx(Bct,{count:ve,onClick:()=>Ze("smooth")}),ce?c.jsx(hge,{onRefresh:async()=>{nt(),await new Promise(st=>setTimeout(st,1e3))},pullingContent:"",children:ht}):ht,c.jsx("div",{className:"h-20"}),!z&&ne.length>0&&c.jsx(Act,{newEvents:ne,onClick:pt})]})});a1.displayName="NoteList";const mge=h.createContext(void 0),gge=()=>{const t=h.useContext(mge);if(!t)throw new Error("useDeepBrowsing must be used within a DeepBrowsingProvider");return t};function Yj({children:t,active:e,scrollAreaRef:n}){var d;const[r,o]=h.useState(!1),s=h.useRef((n?(d=n.current)==null?void 0:d.scrollTop:window.scrollY)||0),[a,i]=h.useState(s.current),l=h.useRef(0),u=h.useCallback(()=>{l.current||(l.current=requestAnimationFrame(()=>{var g;l.current=0;const f=(n?(g=n.current)==null?void 0:g.scrollTop:window.scrollY)||0,m=f-s.current;if(s.current=f,i(f),f<=800){o(!1);return}m>20?o(!0):m<-20&&o(!1)}))},[n]);return h.useEffect(()=>{if(!e)return;const f=n?n.current:window;return f==null||f.addEventListener("scroll",u),()=>{f==null||f.removeEventListener("scroll",u),l.current&&(cancelAnimationFrame(l.current),l.current=0)}},[e,u]),c.jsx(mge.Provider,{value:{deepBrowsing:r,lastScrollTop:a},children:t})}function Px({tabs:t,value:e,onTabChange:n,threshold:r=800,options:o=null}){const{t:s}=qe(),{deepBrowsing:a,lastScrollTop:i}=gge(),l=h.useRef([]),u=h.useRef(null),[d,f]=h.useState({width:0,left:0}),m=()=>{const g=t.findIndex(w=>w.value===e);if(g>=0&&l.current[g]){const w=l.current[g],{offsetWidth:b,offsetLeft:j}=w,S=24;f({width:b-S,left:j+S/2})}};return h.useEffect(()=>{const g=requestAnimationFrame(()=>{m()});return()=>{cancelAnimationFrame(g)}},[t,e]),h.useEffect(()=>{if(!u.current)return;const g=new ResizeObserver(()=>{m()}),w=new IntersectionObserver(b=>{b.forEach(j=>{j.isIntersecting&&requestAnimationFrame(()=>{m()})})},{threshold:0});return w.observe(u.current),l.current.forEach(b=>{b&&g.observe(b)}),()=>{g.disconnect(),w.disconnect()}},[t,e]),c.jsxs("div",{ref:u,className:Re("sticky flex justify-between top-12 bg-background z-30 px-1 w-full transition-all duration-300 border-b",a&&i>r?"-translate-y-[calc(100%+12rem)]":""),children:[c.jsxs(Fa,{className:"flex-1 w-0",children:[c.jsxs("div",{className:"flex w-fit relative",children:[t.map((g,w)=>c.jsx("div",{ref:b=>l.current[w]=b,className:Re("w-fit text-center py-2 px-6 my-1 font-semibold whitespace-nowrap clickable cursor-pointer rounded-xl transition-all duration-200",e===g.value?"text-foreground":"text-muted-foreground hover:text-foreground"),onClick:()=>{n==null||n(g.value)},children:s(g.label)},g.value)),c.jsx("div",{className:"absolute bottom-0 h-1 bg-gradient-to-r from-primary to-primary-hover rounded-full transition-all duration-300",style:{width:`${d.width}px`,left:`${d.left}px`}})]}),c.jsx(Ed,{orientation:"horizontal",className:"opacity-0 pointer-events-none"})]}),o&&c.jsx("div",{className:"py-1 flex items-center",children:o})]})}const yge=h.createContext(void 0),Gj=()=>{const t=h.useContext(yge);if(!t)throw new Error("useKindFilter must be used within a KindFilterProvider");return t};function Hct({children:t}){const[e,n]=h.useState(Xe.getShowKinds()),r=o=>{Xe.setShowKinds(o),n(o),kr()};return c.jsx(yge.Provider,{value:{showKinds:e,updateShowKinds:r},children:t})}var OE="Checkbox",[Wct]=Nh(OE),[Yct,$P]=Wct(OE);function Gct(t){const{__scopeCheckbox:e,checked:n,children:r,defaultChecked:o,disabled:s,form:a,name:i,onCheckedChange:l,required:u,value:d="on",internal_do_not_use_render:f}=t,[m,g]=Kg({prop:n,defaultProp:o??!1,onChange:l,caller:OE}),[w,b]=h.useState(null),[j,S]=h.useState(null),I=h.useRef(!1),N=w?!!a||!!w.closest("form"):!0,M={checked:m,disabled:s,setChecked:g,control:w,setControl:b,name:i,form:a,value:d,hasConsumerStoppedPropagationRef:I,required:u,defaultChecked:Qp(o)?!1:o,isFormControl:N,bubbleInput:j,setBubbleInput:S};return c.jsx(Yct,{scope:e,...M,children:qct(f)?f(M):r})}var vge="CheckboxTrigger",wge=h.forwardRef(({__scopeCheckbox:t,onKeyDown:e,onClick:n,...r},o)=>{const{control:s,value:a,disabled:i,checked:l,required:u,setControl:d,setChecked:f,hasConsumerStoppedPropagationRef:m,isFormControl:g,bubbleInput:w}=$P(vge,t),b=ca(o,d),j=h.useRef(l);return h.useEffect(()=>{const S=s==null?void 0:s.form;if(S){const I=()=>f(j.current);return S.addEventListener("reset",I),()=>S.removeEventListener("reset",I)}},[s,f]),c.jsx(ys.button,{type:"button",role:"checkbox","aria-checked":Qp(l)?"mixed":l,"aria-required":u,"data-state":Cge(l),"data-disabled":i?"":void 0,disabled:i,value:a,...r,ref:b,onKeyDown:ul(e,S=>{S.key==="Enter"&&S.preventDefault()}),onClick:ul(n,S=>{f(I=>Qp(I)?!0:!I),w&&g&&(m.current=S.isPropagationStopped(),m.current||S.stopPropagation())})})});wge.displayName=vge;var VP=h.forwardRef((t,e)=>{const{__scopeCheckbox:n,name:r,checked:o,defaultChecked:s,required:a,disabled:i,value:l,onCheckedChange:u,form:d,...f}=t;return c.jsx(Gct,{__scopeCheckbox:n,checked:o,defaultChecked:s,disabled:i,required:a,onCheckedChange:u,name:r,form:d,value:l,internal_do_not_use_render:({isFormControl:m})=>c.jsxs(c.Fragment,{children:[c.jsx(wge,{...f,ref:e,__scopeCheckbox:n}),m&&c.jsx(jge,{__scopeCheckbox:n})]})})});VP.displayName=OE;var bge="CheckboxIndicator",xge=h.forwardRef((t,e)=>{const{__scopeCheckbox:n,forceMount:r,...o}=t,s=$P(bge,n);return c.jsx(fE,{present:r||Qp(s.checked)||s.checked===!0,children:c.jsx(ys.span,{"data-state":Cge(s.checked),"data-disabled":s.disabled?"":void 0,...o,ref:e,style:{pointerEvents:"none",...t.style}})})});xge.displayName=bge;var kge="CheckboxBubbleInput",jge=h.forwardRef(({__scopeCheckbox:t,...e},n)=>{const{control:r,hasConsumerStoppedPropagationRef:o,checked:s,defaultChecked:a,required:i,disabled:l,name:u,value:d,form:f,bubbleInput:m,setBubbleInput:g}=$P(kge,t),w=ca(n,g),b=FL(s),j=BL(r);h.useEffect(()=>{const I=m;if(!I)return;const N=window.HTMLInputElement.prototype,D=Object.getOwnPropertyDescriptor(N,"checked").set,O=!o.current;if(b!==s&&D){const L=new Event("click",{bubbles:O});I.indeterminate=Qp(s),D.call(I,Qp(s)?!1:s),I.dispatchEvent(L)}},[m,b,s,o]);const S=h.useRef(Qp(s)?!1:s);return c.jsx(ys.input,{type:"checkbox","aria-hidden":!0,defaultChecked:a??S.current,required:i,disabled:l,name:u,value:d,form:f,...e,tabIndex:-1,ref:w,style:{...e.style,...j,position:"absolute",pointerEvents:"none",opacity:0,margin:0,transform:"translateX(-100%)"}})});jge.displayName=kge;function qct(t){return typeof t=="function"}function Qp(t){return t==="indeterminate"}function Cge(t){return Qp(t)?"indeterminate":t?"checked":"unchecked"}const Ox=h.forwardRef(({className:t,...e},n)=>c.jsx(VP,{ref:n,className:Re("peer h-4 w-4 shrink-0 rounded-md border border-accent focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=checked]:border-primary data-[state=checked]:text-primary-foreground transition-all duration-200 hover:border-primary/50",t),...e,children:c.jsx(xge,{className:Re("flex items-center justify-center text-current"),children:c.jsx(Zr,{className:"h-4 w-4"})})}));Ox.displayName=VP.displayName;const Kct={1:"Direct follows",2:"Follows of follows"};function Zct({temporaryProximity:t,temporaryIncludeMode:e,onTemporaryProximityChange:n,onTemporaryIncludeModeChange:r}){const{t:o}=qe(),{graphPubkeyCount:s,isLoading:a}=UP(),i=t!==null,l=t??1,u=m=>{n(m?1:null)},d=()=>{l<2&&n(l+1)},f=()=>{l>1&&n(l-1)};return c.jsxs("div",{className:"space-y-3",children:[c.jsxs("div",{className:"flex items-center justify-between",children:[c.jsx(Ot,{htmlFor:"social-graph-filter",className:"font-medium",children:o("Social graph filter")}),c.jsx(Ar,{id:"social-graph-filter",checked:i,onCheckedChange:u})]}),i&&c.jsxs(c.Fragment,{children:[c.jsxs("div",{className:"flex items-center gap-2",children:[c.jsx(Le,{variant:e?"default":"outline",size:"sm",className:"flex-1",onClick:()=>r(!0),children:o("Include")}),c.jsx(Le,{variant:e?"outline":"default",size:"sm",className:"flex-1",onClick:()=>r(!1),children:o("Exclude")})]}),c.jsxs("div",{className:"flex items-center justify-between rounded-lg border px-3 py-2",children:[c.jsxs("div",{className:"flex-1",children:[c.jsx("p",{className:"text-sm font-medium",children:o(Kct[l])}),c.jsx("p",{className:"text-xs text-muted-foreground",children:a?c.jsxs("span",{className:"flex items-center gap-1",children:[c.jsx(so,{className:"h-3 w-3 animate-spin"}),o("Loading...")]}):o("{{count}} users",{count:s})})]}),c.jsxs("div",{className:"flex items-center gap-1",children:[c.jsx(Le,{variant:"outline",size:"icon",className:"h-8 w-8",onClick:f,disabled:l<=1,children:c.jsx(L7e,{className:"h-4 w-4"})}),c.jsx("span",{className:"w-6 text-center text-sm font-medium",children:l}),c.jsx(Le,{variant:"outline",size:"icon",className:"h-8 w-8",onClick:d,disabled:l>=2,children:c.jsx(Kl,{className:"h-4 w-4"})})]})]}),c.jsx("p",{className:"text-xs text-muted-foreground",children:o(e?"Only show notes from users in your social graph":"Hide notes from users in your social graph")})]})]})}const Sge=[{kindGroup:[Ue.ShortTextNote,gt.COMMENT],label:"Posts"},{kindGroup:[Ue.Repost,Ue.GenericRepost],label:"Reposts"},{kindGroup:[Ue.LongFormArticle],label:"Articles"},{kindGroup:[Ue.Highlights],label:"Highlights"},{kindGroup:[gt.POLL],label:"Polls"},{kindGroup:[gt.VOICE,gt.VOICE_COMMENT],label:"Voice Posts"},{kindGroup:[gt.PICTURE],label:"Photo Posts"},{kindGroup:[gt.VIDEO,gt.SHORT_VIDEO,gt.ADDRESSABLE_NORMAL_VIDEO,gt.ADDRESSABLE_SHORT_VIDEO],label:"Video Posts"}],Qct=Sge.flatMap(({kindGroup:t})=>t);function Ege({showKinds:t,onShowKindsChange:e,showSocialGraphFilter:n=!1}){const{t:r}=qe(),{isSmallScreen:o}=gn(),{showKinds:s}=Gj(),{proximityLevel:a,includeMode:i,updateProximityLevel:l,updateIncludeMode:u}=UP(),[d,f]=h.useState(!1),{updateShowKinds:m}=Gj(),[g,w]=h.useState(t),[b,j]=h.useState(a),[S,I]=h.useState(i),[N,M]=h.useState(!1),D=h.useMemo(()=>!v5(t,s)||n&&a!==null,[t,s,a,n]),O=h.useMemo(()=>!v5(g,s),[g,s]);h.useEffect(()=>{w(t),j(a),I(i),M(!1)},[d,a,i]);const L=()=>{if(g.length===0)return;const R=[...g].sort();v5(R,t)||e(R),n&&(b!==a&&l(b),S!==i&&u(S)),N&&m(R),M(!1),f(!1)},B=c.jsxs(Le,{variant:"ghost",size:"titlebar-icon",className:Re("relative w-fit px-3 hover:text-foreground",!D&&"text-muted-foreground"),onClick:()=>{o&&f(!0)},children:[c.jsx(M7e,{size:16}),D&&c.jsx("div",{className:"absolute size-2 rounded-full bg-primary left-7 top-2 ring-2 ring-background"})]}),T=c.jsxs("div",{children:[c.jsx("div",{className:"grid grid-cols-2 gap-2",children:Sge.map(({kindGroup:R,label:z})=>{const Y=R.every(Q=>g.includes(Q));return c.jsxs("div",{className:Re("cursor-pointer grid gap-1.5 rounded-lg border px-4 py-3",Y?"border-primary/60 bg-primary/5":"clickable"),onClick:()=>{w(Y?Q=>Q.filter(W=>!R.includes(W)):Q=>Array.from(new Set([...Q,...R])))},children:[c.jsx("p",{className:"leading-none font-medium",children:r(z)}),c.jsxs("p",{className:"text-muted-foreground text-xs",children:["kind ",R.join(", ")]})]},z)})}),c.jsxs("div",{className:"grid grid-cols-3 gap-2 mt-4",children:[c.jsx(Le,{variant:"secondary",onClick:()=>{w(Qct)},children:r("Select All")}),c.jsx(Le,{variant:"secondary",onClick:()=>{w([])},children:r("Clear All")}),c.jsx(Le,{variant:"secondary",onClick:()=>w(s),disabled:!O,children:r("Reset")})]}),n&&c.jsxs(c.Fragment,{children:[c.jsx(ri,{className:"my-4"}),c.jsx(Zct,{temporaryProximity:b,temporaryIncludeMode:S,onTemporaryProximityChange:j,onTemporaryIncludeModeChange:I})]}),c.jsxs(Ot,{className:"flex items-center gap-2 cursor-pointer mt-4",children:[c.jsx(Ox,{id:"persistent-filter",checked:N,onCheckedChange:R=>M(!!R)}),c.jsx("span",{className:"text-sm",children:r("Set as default filter")})]}),c.jsx(Le,{onClick:L,className:"mt-4 w-full",disabled:g.length===0,children:r("Apply")})]});return o?c.jsxs(c.Fragment,{children:[B,c.jsxs(ao,{open:d,onOpenChange:f,children:[c.jsx(Sh,{asChild:!0}),c.jsxs(io,{className:"px-4",children:[c.jsx(yf,{}),T]})]})]}):c.jsxs(RE,{open:d,onOpenChange:f,children:[c.jsx(sge,{asChild:!0,children:B}),c.jsx(TE,{className:"w-96",collisionPadding:16,sideOffset:0,children:T})]})}function v5(t,e){if(t.length!==e.length)return!1;const n=[...t].sort(),r=[...e].sort();return n.every((o,s)=>o===r[s])}function HP({onClick:t}){const[e,n]=h.useState(!1);return c.jsx(Le,{variant:"ghost",size:"titlebar-icon",disabled:e,onClick:()=>{n(!0),t(),setTimeout(()=>n(!1),500)},className:"text-muted-foreground focus:text-foreground [&_svg]:size-4",children:c.jsx(lae,{className:Re(e?"animate-spin":"")})})}function ad({subRequests:t,areAlgoRelays:e=!1,isMainFeed:n=!1,showRelayCloseReason:r=!1,enableSocialGraphFilter:o=!1,onRefresh:s,onInitialLoad:a}){const{hideUntrustedNotes:i}=da(),{showKinds:l}=Gj(),{composeOpen:u,closeCompose:d}=ML(),[f,m]=h.useState(l),[g,w]=h.useState(()=>{const D=Xe.getNoteListMode();return D==="posts"||D==="24h"?"postsAndReplies":D}),b=h.useMemo(()=>cu(),[]),j=h.useRef(null),S=h.useRef(null),I=h.useMemo(()=>t.every(D=>{var O;return!((O=D.filter.kinds)!=null&&O.length)}),[t]),N=D=>{var O;w(D),n&&(Xe.setNoteListMode(D),kr()),(O=S.current)==null||O.scrollIntoView({behavior:"smooth",block:"start"})},M=D=>{var O;m(D),(O=j.current)==null||O.scrollToTop()};return c.jsxs(c.Fragment,{children:[c.jsx(Px,{value:g,tabs:[{value:"postsAndReplies",label:"Feed"}],onTabChange:D=>{N(D)},options:c.jsxs(c.Fragment,{children:[!b&&c.jsx(HP,{onClick:()=>{var D;if(s){s();return}(D=j.current)==null||D.refresh()}}),I&&c.jsx(Ege,{showKinds:f,onShowKindsChange:M,showSocialGraphFilter:o})]})}),u&&c.jsx(r1,{inline:!0,open:u,setOpen:D=>{D||d()}}),c.jsx("div",{ref:S,className:"scroll-mt-[calc(6rem+1px)]"}),c.jsx(a1,{ref:j,showKinds:f,subRequests:t,hideReplies:g==="posts",hideUntrustedNotes:i,areAlgoRelays:e,showRelayCloseReason:r,applySocialGraphFilter:o,onInitialLoad:a})]})}function Jct({pubkey:t}){const{t:e}=qe(),{isSmallScreen:n}=gn(),{pubkey:r}=wt(),{mutePubkeySet:o,mutePubkeyPrivately:s,mutePubkeyPublicly:a,unmutePubkey:i}=ns(),[l,u]=h.useState(!1),d=h.useMemo(()=>o.has(t),[o,t]);if(t===r)return null;const f=c.jsx(Le,{variant:"secondary",size:"icon",className:"rounded-full",onClick:()=>{n&&u(!0)},children:c.jsx(kS,{})});return n?c.jsxs(c.Fragment,{children:[f,c.jsxs(ao,{open:l,onOpenChange:u,children:[c.jsx(fc,{onClick:()=>u(!1)}),c.jsx(io,{hideOverlay:!0,children:c.jsxs("div",{className:"py-2",children:[c.jsxs(Le,{onClick:()=>{var m;u(!1),navigator.clipboard.writeText(((m=Ut.tryFromString(t))==null?void 0:m.npub)??"")},className:"w-full p-6 justify-start text-lg gap-4 [&_svg]:size-5",variant:"ghost",children:[c.jsx(Pa,{}),e("Copy user ID")]}),r?d?c.jsxs(Le,{onClick:()=>{u(!1),i(t)},className:"w-full p-6 justify-start text-lg gap-4 [&_svg]:size-5 text-destructive focus:text-destructive",variant:"ghost",children:[c.jsx(gy,{}),e("Unmute user")]}):c.jsxs(c.Fragment,{children:[c.jsxs(Le,{onClick:()=>{u(!1),s(t)},className:"w-full p-6 justify-start text-lg gap-4 [&_svg]:size-5 text-destructive focus:text-destructive",variant:"ghost",children:[c.jsx($u,{}),e("Mute user privately")]}),c.jsxs(Le,{onClick:()=>{u(!1),a(t)},className:"w-full p-6 justify-start text-lg gap-4 [&_svg]:size-5 text-destructive focus:text-destructive",variant:"ghost",children:[c.jsx($u,{}),e("Mute user publicly")]})]}):null]})})]})]}):c.jsxs(li,{children:[c.jsx(Ti,{asChild:!0,children:f}),c.jsxs(ci,{children:[c.jsxs(Sr,{onClick:()=>{var m;return navigator.clipboard.writeText(((m=Ut.tryFromString(t))==null?void 0:m.npub)??"")},children:[c.jsx(Pa,{}),e("Copy user ID")]}),r?d?c.jsxs(Sr,{onClick:()=>i(t),className:"text-destructive focus:text-destructive",children:[c.jsx(gy,{}),e("Unmute user")]}):c.jsxs(c.Fragment,{children:[c.jsxs(Sr,{onClick:()=>s(t),className:"text-destructive focus:text-destructive",children:[c.jsx($u,{}),e("Mute user privately")]}),c.jsxs(Sr,{onClick:()=>a(t),className:"text-destructive focus:text-destructive",children:[c.jsx($u,{}),e("Mute user publicly")]})]}):null]})]})}function Xct({pubkey:t}){const{checkLogin:e}=wt(),[n,r]=h.useState(!1);return c.jsxs(c.Fragment,{children:[c.jsx(Le,{variant:"secondary",size:"icon",className:"rounded-full",onClick:()=>e(()=>r(!0)),children:c.jsx(uc,{className:"text-yellow-400"})}),c.jsx(DE,{open:n,setOpen:r,pubkey:t})]})}function Nge({pubkey:t}){const e=h.useMemo(()=>Ut.tryFromString(t),[t]),n=(e==null?void 0:e.npub)??"",[r,o]=h.useState(!1),s=()=>{n&&(navigator.clipboard.writeText(n),o(!0),setTimeout(()=>o(!1),2e3))};return c.jsxs("div",{className:"flex gap-2 text-sm text-muted-foreground items-center bg-muted w-fit px-2 rounded-full clickable",onClick:()=>s(),children:[c.jsx("div",{children:(e==null?void 0:e.formatNpub(24))??n}),r?c.jsx(Zr,{size:14}):c.jsx(Pa,{size:14})]})}function WP(){const{t}=qe();return c.jsxs("div",{className:"text-muted-foreground w-full h-full flex flex-col items-center justify-center gap-2",children:[c.jsxs("div",{children:[t("Lost in the void")," 🌌"]}),c.jsx("div",{children:"(404)"})]})}function eut({userId:t}){const{profile:e}=ua(t),n=h.useMemo(()=>e!=null&&e.pubkey?ux(e.pubkey):"",[e]);if(!e)return c.jsx(Ln,{className:"shrink-0 w-24 h-24 rounded-full absolute left-3 bottom-0 translate-y-1/2 border-4 border-background"});const{avatar:r,pubkey:o}=e||{};return c.jsx(Ag,{image:{url:r??n,pubkey:o},errorPlaceholder:n,className:"object-cover object-center",classNames:{wrapper:"shrink-0 rounded-full bg-background w-24 h-24 absolute left-3 bottom-0 translate-y-1/2 border-4 border-background"},ignoreAutoLoadPolicy:!0})}function tut({pubkey:t,banner:e}){const n=h.useMemo(()=>ux(t),[t]),[r,o]=h.useState(e??n);return h.useEffect(()=>{o(e||n)},[n,e]),c.jsx(Ag,{image:{url:r,pubkey:t},className:"rounded-none w-full aspect-[3/1]",classNames:{skeleton:"rounded-none",wrapper:"rounded-none border-none aspect-[3/1]"},errorPlaceholder:n,ignoreAutoLoadPolicy:!0})}function nut({pubkey:t}){const{t:e}=qe(),{isSmallScreen:n}=gn(),[r,o]=h.useState([]),{pubkey:s}=wt();return h.useEffect(()=>{if(!t||!s)return;(async()=>{var m;const i=n?3:5,l=await Cj.queryFollowGraph(ze.currentRelays,s,2);if(l!=null&&l.pubkeys_by_depth&&l.pubkeys_by_depth.length>=2){const g=new Set(l.pubkeys_by_depth[0]??[]),w=[],b=await Cj.queryFollowerGraph(ze.currentRelays,t,1);if((m=b==null?void 0:b.pubkeys_by_depth)!=null&&m[0]){const j=new Set(b.pubkeys_by_depth[0]);for(const S of g)if(S!==t&&j.has(S)&&(w.push(S),w.length>=i))break}if(w.length>0){o(w);return}}const u=(await ze.fetchFollowings(s)).reverse(),d=await Promise.all(u.map(async g=>ze.fetchFollowings(g))),f=[];for(const[g,w]of u.entries())if(w!==t&&(d[g].includes(t)&&f.push(w),f.length>=i))break;o(f)})()},[t,s,n]),r.length===0?null:c.jsxs("div",{className:"flex items-center gap-1",children:[c.jsx("div",{className:"text-muted-foreground",children:e("Followed by")}),r.map(a=>c.jsx(Ro,{userId:a,size:"xSmall"},a))]})}function rut({pubkey:t}){const{t:e}=qe(),{pubkey:n}=wt(),{followingSet:r}=Gg(),{followings:o,isFetching:s}=NL(t);return c.jsxs(tc,{to:lFe(t),className:"flex gap-1 hover:underline w-fit items-center",children:[n===t?r.size:s?c.jsx(_r,{className:"animate-spin size-4"}):o.length,c.jsx("div",{className:"text-muted-foreground",children:e("Following")})]})}function out({pubkey:t,topSpace:e=0,search:n=""}){const{pubkey:r,pinListEvent:o}=wt(),{showKinds:s}=Gj(),[a,i]=h.useState(s),[l,u]=h.useState(()=>{const N=Xe.getNoteListMode();return N==="24h"||N==="posts"?"postsAndReplies":N}),[d,f]=h.useState([]),[m,g]=h.useState([]),w=h.useMemo(()=>{const N=[{value:"posts",label:"Notes"},{value:"postsAndReplies",label:"Replies"}];return r&&r!==t&&N.push({value:"you",label:"YouTabName"}),N},[r,t]),b=h.useMemo(()=>cu(),[]),j=h.useRef(null);h.useEffect(()=>{(async()=>{let M=null;t===r?M=o:M=await ze.fetchPinListEvent(t);const D=new Set,O=(M==null?void 0:M.tags.filter(L=>L[0]==="e").reverse().slice(0,Z3e).map(L=>{const[,B,T,R]=L;if(!B||D.has(B)||R&&R!==t)return;const z=oc(["e",B,T??"",t]);return z&&D.add(B),z}).filter(Boolean))??[];g(O)})()},[t,r,o]),h.useEffect(()=>{(async()=>{if(l==="you"){if(!r){f([]);return}const[D,O]=await Promise.all([ze.fetchRelayList(t),ze.fetchRelayList(r)]);f([{urls:O.write.concat(ze.currentRelays).slice(0,5),filter:{authors:[r],"#p":[t]}},{urls:D.write.concat(ze.currentRelays).slice(0,5),filter:{authors:[t],"#p":[r]}}]);return}const M=await ze.fetchRelayList(t);if(n){const D=M.write.slice(0,8),O=await cx.getRelayInfos(D),L=D.filter((B,T)=>{var R,z;return(z=(R=O[T])==null?void 0:R.supported_nips)==null?void 0:z.includes(50)});f([{urls:L.concat(Xe.getSearchRelays()).slice(0,8),filter:{authors:[t],search:n}}])}else f([{urls:M.write.concat(ze.currentRelays).slice(0,8),filter:{authors:[t]}}])})()},[t,l,n]);const S=N=>{var M;u(N),(M=j.current)==null||M.scrollToTop("smooth")},I=N=>{var M;i(N),(M=j.current)==null||M.scrollToTop("instant")};return c.jsxs(c.Fragment,{children:[c.jsx(Px,{value:l,tabs:w,onTabChange:N=>{S(N)},threshold:Math.max(800,e),options:c.jsxs(c.Fragment,{children:[!b&&c.jsx(HP,{onClick:()=>{var N;return(N=j.current)==null?void 0:N.refresh()}}),c.jsx(Ege,{showKinds:a,onShowKindsChange:I})]})}),c.jsx(a1,{ref:j,subRequests:d,showKinds:a,hideReplies:l==="posts",filterMutedNotes:!1,pinnedEventIds:l==="you"||n?[]:m,showNewNotesDirectly:r===t})]})}function sut({pubkey:t}){const{t:e}=qe(),{pubkey:n}=wt(),{relayList:r,isFetching:o}=jie(t);return c.jsxs(tc,{to:n===t?FS("mailbox"):cFe(t),className:"flex gap-1 hover:underline w-fit items-center",children:[o?c.jsx(_r,{className:"animate-spin size-4"}):r.originalRelays.length,c.jsx("div",{className:"text-muted-foreground",children:e("Relays")})]})}const Ige=h.createContext(void 0),YP=()=>{const t=h.useContext(Ige);if(!t)throw new Error("usePinnedUsers must be used within a PinnedUsersProvider");return t};function aut({children:t}){const{pubkey:e,publish:n,nip04Decrypt:r,nip04Encrypt:o}=wt(),[s,a]=h.useState(null),[i,l]=h.useState(!1),u=h.useMemo(()=>!n||!e?null:new hle({publish:n,currentUserPubkey:e,decrypt:async(b,j)=>r(j,b),encrypt:async(b,j)=>o(j,b)}),[n,e,r,o]),d=h.useMemo(()=>s?oke(s):new Set,[s]);h.useEffect(()=>{(async()=>{if(!e||!u){a(null);return}l(!0);try{const j=Ut.tryFromString(e);if(!j){a(null);return}const S=await u.findByOwner(j);a(S)}catch(j){console.error("Failed to load pinned users list:",j),a(null)}finally{l(!1)}})()},[e,u]);const f=h.useCallback(b=>{if(!s)return!1;const j=Ut.tryFromString(b);return j?s.isPinned(j):!1},[s]),m=h.useCallback(async b=>{if(!(!e||!u||f(b)))try{const j=Ut.tryFromString(b);if(!j)return;const S=Ut.tryFromString(e);if(!S)return;const N=await u.findByOwner(S)??kb.empty(S);if(N.pin(j).type==="no_change")return;await u.save(N),a(N)}catch(j){console.error("Failed to pin user:",j)}},[e,u,f]),g=h.useCallback(async b=>{if(!(!e||!u||!f(b)))try{const j=Ut.tryFromString(b);if(!j)return;const S=Ut.tryFromString(e);if(!S)return;const I=await u.findByOwner(S);if(!I||I.unpin(j).type==="no_change")return;await u.save(I),a(I)}catch(j){console.error("Failed to unpin user:",j)}},[e,u,f]),w=h.useCallback(async b=>{f(b)?await g(b):await m(b)},[f,m,g]);return c.jsx(Ige.Provider,{value:{pinnedPubkeySet:d,isLoading:i,isPinned:f,pinUser:m,unpinUser:g,togglePin:w},children:t})}function iut({pubkey:t}){const{t:e}=qe(),{pubkey:n,checkLogin:r}=wt(),{isPinned:o,togglePin:s}=YP(),[a,i]=h.useState(!1),l=h.useMemo(()=>o(t),[o,t]);if(!n||t&&t===n)return null;const u=async d=>{d.stopPropagation(),r(async()=>{i(!0);try{await s(t)}catch(f){l?on.error(e("Unfollow failed")+": "+f.message):on.error(e("Follow failed")+": "+f.message)}finally{i(!1)}})};return c.jsx(Le,{variant:"secondary",size:"icon",className:"rounded-full",onClick:u,disabled:a,children:a?c.jsx(_r,{className:"animate-spin"}):c.jsx(cd,{className:l?"fill-primary stroke-primary":""})})}function GP({id:t}){const{t:e}=qe(),{push:n}=kn(),{profile:r,isFetching:o}=ua(t),{pubkey:s}=wt(),{startConversation:a}=bf(),{mutePubkeySet:i}=ns(),[l,u]=h.useState(""),[d,f]=h.useState(l),{followings:m}=NL(r==null?void 0:r.pubkey),g=h.useMemo(()=>!!s&&s!==(r==null?void 0:r.pubkey)&&m.includes(s),[m,r,s]),[w,b]=h.useState(0),j=s===(r==null?void 0:r.pubkey),[S,I]=h.useState(null),N=h.useCallback(z=>{z&&I(z)},[]);if(h.useEffect(()=>{const z=setTimeout(()=>{f(l.trim())},1e3);return()=>{clearTimeout(z)}},[l]),h.useEffect(()=>{if(!(r!=null&&r.pubkey))return;(async()=>{await Promise.all([ze.forceUpdateRelayListEvent(r.pubkey),ze.fetchProfile(r.pubkey,!0)])})()},[r==null?void 0:r.pubkey]),h.useEffect(()=>{if(!S)return;const z=()=>{b(S.scrollHeight)};z();const Y=new ResizeObserver(()=>{z()});return Y.observe(S),()=>{Y.disconnect()}},[S]),!r&&o)return c.jsxs(c.Fragment,{children:[c.jsx("div",{children:c.jsxs("div",{className:"relative bg-cover bg-center mb-2",children:[c.jsx(Ln,{className:"w-full aspect-[3/1] rounded-none"}),c.jsx(Ln,{className:"w-24 h-24 absolute bottom-0 left-3 translate-y-1/2 border-4 border-background rounded-full"})]})}),c.jsxs("div",{className:"px-4",children:[c.jsx(Ln,{className:"h-5 w-28 mt-14 mb-1"}),c.jsx(Ln,{className:"h-5 w-56 mt-2 my-1 rounded-full"})]})]});if(!r)return c.jsx(WP,{});const{banner:M,username:D,about:O,pubkey:L,website:B,lightningAddress:T,emojis:R}=r;return c.jsxs(c.Fragment,{children:[c.jsxs("div",{ref:N,children:[c.jsxs("div",{className:"relative bg-cover bg-center mb-2",children:[c.jsx(tut,{banner:M,pubkey:L}),c.jsx(eut,{userId:L})]}),c.jsxs("div",{className:"px-4",children:[c.jsxs("div",{className:"flex justify-end h-8 gap-2 items-center",children:[c.jsx(Jct,{pubkey:L}),j?c.jsx(Le,{className:"w-20 min-w-20 rounded-full",variant:"secondary",onClick:()=>n(dFe()),children:e("Edit")}):c.jsxs(c.Fragment,{children:[c.jsx(Le,{variant:"outline",size:"icon",className:"rounded-full size-9",onClick:()=>{a(L),n(_L(L))},title:e("Message"),children:c.jsx(tx,{className:"size-4"})}),!!T&&c.jsx(Xct,{pubkey:L}),c.jsx(iut,{pubkey:L}),c.jsx(RL,{pubkey:L})]})]}),c.jsxs("div",{className:"pt-2",children:[c.jsxs("div",{className:"flex gap-2 items-center",children:[c.jsx(Rx,{text:D,emojis:R,className:"text-xl font-semibold truncate select-text"}),c.jsx(Sx,{pubkey:L}),g&&c.jsx("div",{className:"text-muted-foreground rounded-full bg-muted text-xs h-fit px-2 shrink-0",children:e("Follows you")})]}),c.jsx(dc,{pubkey:L}),T&&c.jsxs("div",{className:"text-sm text-yellow-400 flex gap-1 items-center select-text",children:[c.jsx(uc,{className:"size-4 shrink-0"}),c.jsx("div",{className:"flex-1 max-w-fit w-0 truncate",children:T})]}),c.jsxs("div",{className:"flex gap-1 mt-1",children:[c.jsx(Nge,{pubkey:L}),c.jsx(US,{pubkey:L})]}),c.jsx(MP,{children:c.jsx(lge,{about:O,emojis:R,className:"text-wrap break-words whitespace-pre-wrap mt-2 select-text"})}),B&&c.jsxs("div",{className:"flex gap-1 items-center text-primary mt-2 truncate select-text",children:[c.jsx(r2,{size:14,className:"shrink-0"}),c.jsx("a",{href:B,target:"_blank",className:"hover:underline truncate flex-1 max-w-fit w-0",children:B})]}),c.jsxs("div",{className:"flex justify-between items-center mt-2 text-sm",children:[c.jsxs("div",{className:"flex gap-4 items-center",children:[c.jsx(rut,{pubkey:L}),c.jsx(sut,{pubkey:L}),j&&c.jsxs(tc,{to:pFe(),className:"flex gap-1 hover:underline w-fit",children:[i.size,c.jsx("div",{className:"text-muted-foreground",children:e("Muted")})]})]}),!j&&c.jsx(nut,{pubkey:L})]})]})]}),c.jsx("div",{className:"px-4 pt-3.5 pb-0.5",children:c.jsx(BS,{value:l,onChange:z=>u(z.target.value),placeholder:e("Search")})})]}),c.jsx(out,{pubkey:L,topSpace:w+100,search:d})]})}const tZ=50;function Age({search:t}){const[e,n]=h.useState(()=>Nn().unix()),[r,o]=h.useState(!0),[s,a]=h.useState(new Set),i=h.useRef(null);h.useEffect(()=>{n(Nn().unix()),o(!0),a(new Set),l()},[t]),h.useEffect(()=>{if(!r)return;const u={root:null,rootMargin:"10px",threshold:1},d=new IntersectionObserver(m=>{m[0].isIntersecting&&r&&l()},u),f=i.current;return f&&d.observe(f),()=>{d&&f&&d.unobserve(f)}},[r,t,e]);const l=async()=>{const u=await ze.searchProfiles(Xe.getSearchRelays(),{search:t,until:e,limit:tZ}),d=new Set;u.forEach(m=>{s.has(m.pubkey)||d.add(m.pubkey)}),a(m=>new Set([...m,...d])),o(u.length>=tZ);const f=u[u.length-1].created_at;n(f?f-1:0)};return c.jsxs("div",{className:"px-4",children:[Array.from(s).map((u,d)=>c.jsx(BP,{userId:u},`${d}-${u}`)),r&&c.jsx(uge,{}),r&&c.jsx("div",{ref:i})]})}const Tm=class Tm{constructor(){je(this,"membershipListCache",new Map);je(this,"membershipListDataLoader",new Lu(async e=>Promise.all(e.map(({url:n,pubkey:r})=>this.fetchMembershipList(n,r))),{cacheKeyFn:e=>e.url,cacheMap:this.membershipListCache}))}static getInstance(){return Tm.instance||(Tm.instance=new Tm),Tm.instance}async checkMembership(e,n,r){return r?(await this.membershipListDataLoader.load({url:e,pubkey:r})).has(n):!1}async fetchMembershipList(e,n){try{const r={kinds:[13534],authors:[n],limit:1},o=await ze.fetchEvents([e],r);if(o.length===0)return new Set;const a=Oke(o)[0].tags.filter(i=>i[0]==="member"&&Ut.isValidHex(i[1])).map(i=>i[1]);return new Set(a)}catch(r){return console.error("Error checking relay membership:",r),new Set}}async requestInviteCode(e,n){try{const r={kinds:[28935],authors:[n],limit:1},o=await ze.fetchEvents([e],r);if(o.length===0)return null;const a=o[0].tags.find(i=>i[0]==="claim");return(a==null?void 0:a[1])??null}catch(r){return console.error("Error requesting invite code:",r),null}}async addNewMember(e,n){const r=await this.membershipListCache.get(e);r&&r.add(n)}async removeMember(e,n){const r=await this.membershipListCache.get(e);r&&r.delete(n)}};je(Tm,"instance");let gR=Tm;const pb=gR.getInstance();function lut({relayInfo:t,showInviteCodeDialog:e,setShowInviteCodeDialog:n}){const{t:r}=qe(),{isSmallScreen:o}=gn(),[s,a]=h.useState(!1),[i,l]=h.useState(""),[u,d]=h.useState(!1);h.useEffect(()=>{if(!e){l("");return}(async()=>{a(!0);try{if(t.pubkey){const w=await pb.requestInviteCode(t.url,t.pubkey);w?l(w):on.error(r("Failed to get invite code from relay"))}}catch(w){on.error(w.message||r("Failed to get invite code"))}finally{a(!1)}})()},[e]);const f=()=>{i&&(navigator.clipboard.writeText(i),on.success(r("Invite code copied to clipboard")),d(!0),setTimeout(()=>{d(!1)},2e3))},m=s?c.jsx("div",{className:"flex items-center justify-center py-8",children:c.jsx("div",{className:"text-muted-foreground",children:r("Loading...")})}):i?c.jsxs("div",{className:"space-y-2",children:[c.jsx(Ot,{htmlFor:"fetched-invite-code",children:r("Invite Code")}),c.jsxs("div",{className:"flex gap-2",children:[c.jsx(On,{id:"fetched-invite-code",value:i,readOnly:!0,className:"font-mono"}),c.jsx(Le,{onClick:f,variant:"outline",children:u?c.jsx(Zr,{}):c.jsx(Pa,{})})]}),c.jsx("p",{className:"text-sm text-muted-foreground",children:r("This invite code can be used by others to join the relay.")})]}):c.jsx("div",{className:"text-center py-8 text-muted-foreground",children:r("No invite code available from this relay.")});return o?c.jsx(ao,{open:e,onOpenChange:n,children:c.jsxs(io,{children:[c.jsxs(yf,{children:[c.jsx(xd,{children:r("Get Invite Code")}),c.jsx(Wg,{children:r("Share this invite code with others to invite them to join this relay.")})]}),c.jsx("div",{className:"p-4",children:m})]})}):c.jsx(Ls,{open:e,onOpenChange:n,children:c.jsxs(ms,{children:[c.jsxs(Za,{children:[c.jsx(Qa,{children:r("Get Invite Code")}),c.jsx(nl,{children:r("Share this invite code with others to invite them to join this relay.")})]}),m]})})}function cut({relayInfo:t,showJoinDialog:e,setShowJoinDialog:n,onMembershipStatusChange:r}){const{t:o}=qe(),{isSmallScreen:s}=gn(),{publish:a}=wt(),[i,l]=h.useState(""),[u,d]=h.useState(!1),f=async()=>{d(!0);try{const g=sre(i),w=await a(g,{specifiedRelayUrls:[t.url]});on.success(o("Join request sent successfully")),await pb.addNewMember(t.url,w.pubkey),r(!0),l(""),n(!1)}catch(g){(g instanceof AggregateError?g.errors:[g]).forEach(b=>{on.error(`${o("Failed to send join request")}: ${b instanceof Error?b.message:String(b)}`,{duration:1e4}),console.error(b)});return}finally{d(!1)}},m=c.jsxs("div",{className:"space-y-2",children:[c.jsx(Ot,{htmlFor:"invite-code",children:o("Invite Code")}),c.jsx(On,{id:"invite-code",value:i,onChange:g=>l(g.target.value),placeholder:o("Enter invite code"),required:!0}),c.jsx("p",{className:"text-sm text-muted-foreground",children:o("You can get an invite code from a relay member.")})]});return s?c.jsx(ao,{open:e,onOpenChange:n,children:c.jsxs(io,{children:[c.jsxs(yf,{children:[c.jsx(xd,{children:o("Request to Join Relay")}),c.jsx(Wg,{children:o("Enter the invite code you received from a relay member.")})]}),c.jsx("div",{className:"p-4",children:m}),c.jsxs(IS,{children:[c.jsx(Le,{onClick:f,disabled:u||!i.trim(),children:o(u?"Sending...":"Send Request")}),c.jsx(Rae,{asChild:!0,children:c.jsx(Le,{variant:"outline",children:o("Cancel")})})]})]})}):c.jsx(Ls,{open:e,onOpenChange:n,children:c.jsxs(ms,{children:[c.jsxs(Za,{children:[c.jsx(Qa,{children:o("Request to Join Relay")}),c.jsx(nl,{children:o("Enter the invite code you received from a relay member.")})]}),m,c.jsxs(zm,{children:[c.jsx(Le,{variant:"ghost",onClick:()=>{n(!1),l("")},children:o("Cancel")}),c.jsx(Le,{onClick:f,disabled:u||!i.trim(),children:o(u?"Sending...":"Send Request")})]})]})})}function uut({relayInfo:t,onMembershipStatusChange:e}){const{t:n}=qe(),{pubkey:r,checkLogin:o,publish:s}=wt(),[a,i]=h.useState(!1),[l,u]=h.useState(!1),[d,f]=h.useState(!1),[m,g]=h.useState(!1),[w,b]=h.useState(!1),j=h.useMemo(()=>kie(t),[t]);if(h.useEffect(()=>{if(!j||!r){i(!1);return}(async()=>{try{f(!0);const D=await pb.checkMembership(t.url,r,t.pubkey);i(D)}finally{f(!1)}})()},[t.url,t.pubkey,r,j]),h.useEffect(()=>{e&&e(a)},[a,e]),!j||d)return null;const S=async()=>{u(!0);try{const M=sre(""),D=await s(M,{specifiedRelayUrls:[t.url]});on.success(n("Join request sent successfully")),await pb.addNewMember(t.url,D.pubkey),e==null||e(!0)}catch{g(!0)}finally{u(!1)}},I=()=>{b(!0)},N=async()=>{if(confirm(n("Are you sure you want to leave this relay?"))){u(!0);try{const M=RAe(),D=await s(M,{specifiedRelayUrls:[t.url]});on.success(n("Leave request sent successfully")),await pb.removeMember(t.url,D.pubkey),i(!1)}catch(M){(M instanceof AggregateError?M.errors:[M]).forEach(O=>{on.error(`${n("Failed to send leave request")}: ${O instanceof Error?O.message:String(O)}`,{duration:1e4}),console.error(O)});return}finally{u(!1)}}};return c.jsxs(c.Fragment,{children:[a?c.jsxs("div",{className:"grid grid-cols-2 gap-2",children:[c.jsxs(Le,{variant:"secondary",className:"w-full",onClick:I,disabled:l,children:[c.jsx(tx,{className:"w-4 h-4 mr-2"}),n("Get Invite Code")]}),c.jsxs(Le,{variant:"outline",className:"w-full",onClick:N,disabled:l,children:[c.jsx(CS,{className:"w-4 h-4 mr-2"}),n("Leave")]})]}):c.jsxs(Le,{variant:"default",className:"w-full",onClick:()=>{o(()=>S())},disabled:l,children:[c.jsx(ex,{className:"w-4 h-4 mr-2"}),n("Request to Join Relay")]}),c.jsx(cut,{relayInfo:t,showJoinDialog:m,setShowJoinDialog:g,onMembershipStatusChange:i}),c.jsx(lut,{relayInfo:t,showInviteCodeDialog:w,setShowInviteCodeDialog:b})]})}function Z0({children:t,className:e,onClick:n}){return c.jsx(Rae,{className:"w-full",children:c.jsx(Le,{onClick:n,className:Re("w-full p-6 justify-start text-lg gap-4 [&_svg]:size-5",e),variant:"ghost",children:t})})}function qP({urls:t,bigButton:e=!1}){const{t:n}=qe(),{isSmallScreen:r}=gn(),{favoriteRelays:o,relaySets:s}=fa(),a=h.useMemo(()=>t.map(f=>cke(f)).filter(f=>f!==null),[t]),i=h.useMemo(()=>a.every(f=>o.includes(f))||s.some(f=>a.every(m=>f.relayUrls.includes(m))),[s,a]),[l,u]=h.useState(!1),d=e?c.jsx(Le,{variant:"ghost",size:"titlebar-icon",onClick:()=>u(!0),children:c.jsx(cd,{className:i?"fill-primary stroke-primary":""})}):c.jsx("button",{className:"enabled:hover:text-primary [&_svg]:size-5 pr-0 pt-0.5",onClick:f=>{f.stopPropagation(),u(!0)},children:c.jsx(cd,{className:i?"fill-primary stroke-primary":""})});return r?c.jsxs("div",{children:[d,c.jsx("div",{onClick:f=>f.stopPropagation(),children:c.jsxs(ao,{open:l,onOpenChange:u,children:[c.jsx(fc,{onClick:()=>u(!1)}),c.jsxs(io,{hideOverlay:!0,children:[c.jsx(yf,{children:c.jsxs(xd,{children:[n("Save to")," ..."]})}),c.jsxs("div",{className:"py-2",children:[c.jsx(nZ,{urls:a}),s.map(f=>c.jsx(rZ,{set:f,urls:a},f.id)),c.jsx(ri,{}),c.jsx(oZ,{urls:a})]})]})]})})]}):c.jsxs(li,{children:[c.jsx(Ti,{asChild:!0,className:"px-2",children:d}),c.jsxs(ci,{onClick:f=>f.stopPropagation(),children:[c.jsxs(QS,{children:[n("Save to")," ..."]}),c.jsx(hh,{}),c.jsx(nZ,{urls:a}),s.map(f=>c.jsx(rZ,{set:f,urls:a},f.id)),c.jsx(hh,{}),c.jsx(oZ,{urls:a})]})]})}function nZ({urls:t}){const{t:e}=qe(),{isSmallScreen:n}=gn(),{favoriteRelays:r,addFavoriteRelays:o,deleteFavoriteRelays:s}=fa(),a=h.useMemo(()=>t.every(l=>r.includes(l)),[r,t]),i=async()=>{a?await s(t):await o(t)};return n?c.jsxs(Z0,{onClick:i,children:[a?c.jsx(Zr,{}):c.jsx(Kl,{}),e(a?"Unfavorite":"Favorite")]}):c.jsxs(Sr,{className:"flex gap-2",onClick:i,children:[a?c.jsx(Zr,{}):c.jsx(Kl,{}),e(a?"Unfavorite":"Favorite")]})}function rZ({set:t,urls:e}){const{isSmallScreen:n}=gn(),{pubkey:r,startLogin:o}=wt(),{updateRelaySet:s}=fa(),a=e.every(l=>t.relayUrls.includes(l)),i=()=>{if(!r){o();return}s(a?{...t,relayUrls:t.relayUrls.filter(l=>!e.includes(l))}:{...t,relayUrls:Array.from(new Set([...t.relayUrls,...e]))})};return n?c.jsxs(Z0,{onClick:i,children:[a?c.jsx(Zr,{}):c.jsx(Kl,{}),t.name]}):c.jsxs(Sr,{className:"flex gap-2",onClick:i,children:[a?c.jsx(Zr,{}):c.jsx(Kl,{}),t.name]},t.id)}function oZ({urls:t}){const{t:e}=qe(),{isSmallScreen:n}=gn(),{pubkey:r,startLogin:o}=wt(),{createRelaySet:s}=fa(),a=()=>{if(!r){o();return}const i=prompt(e("Enter a name for the new relay set"));i&&s(i,t)};return n?c.jsxs(Z0,{onClick:a,children:[c.jsx(dY,{}),e("Save to a new relay set")]}):c.jsxs(Sr,{onClick:a,children:[c.jsx(dY,{}),e("Save to a new relay set")]})}function fut(t){return Object.prototype.toString.call(t)==="[object Object]"}function sZ(t){return fut(t)||Array.isArray(t)}function dut(){return!!(typeof window<"u"&&window.document&&window.document.createElement)}function KP(t,e){const n=Object.keys(t),r=Object.keys(e);if(n.length!==r.length)return!1;const o=JSON.stringify(Object.keys(t.breakpoints||{})),s=JSON.stringify(Object.keys(e.breakpoints||{}));return o!==s?!1:n.every(a=>{const i=t[a],l=e[a];return typeof i=="function"?`${i}`==`${l}`:!sZ(i)||!sZ(l)?i===l:KP(i,l)})}function aZ(t){return t.concat().sort((e,n)=>e.name>n.name?1:-1).map(e=>e.options)}function put(t,e){if(t.length!==e.length)return!1;const n=aZ(t),r=aZ(e);return n.every((o,s)=>{const a=r[s];return KP(o,a)})}function ZP(t){return typeof t=="number"}function yR(t){return typeof t=="string"}function zE(t){return typeof t=="boolean"}function iZ(t){return Object.prototype.toString.call(t)==="[object Object]"}function Co(t){return Math.abs(t)}function QP(t){return Math.sign(t)}function hb(t,e){return Co(t-e)}function hut(t,e){if(t===0||e===0||Co(t)<=Co(e))return 0;const n=hb(Co(t),Co(e));return Co(n/t)}function mut(t){return Math.round(t*100)/100}function S2(t){return E2(t).map(Number)}function Gc(t){return t[zx(t)]}function zx(t){return Math.max(0,t.length-1)}function JP(t,e){return e===zx(t)}function lZ(t,e=0){return Array.from(Array(t),(n,r)=>e+r)}function E2(t){return Object.keys(t)}function _ge(t,e){return[t,e].reduce((n,r)=>(E2(r).forEach(o=>{const s=n[o],a=r[o],i=iZ(s)&&iZ(a);n[o]=i?_ge(s,a):a}),n),{})}function vR(t,e){return typeof e.MouseEvent<"u"&&t instanceof e.MouseEvent}function gut(t,e){const n={start:r,center:o,end:s};function r(){return 0}function o(l){return s(l)/2}function s(l){return e-l}function a(l,u){return yR(t)?n[t](l):t(e,l,u)}return{measure:a}}function N2(){let t=[];function e(o,s,a,i={passive:!0}){let l;if("addEventListener"in o)o.addEventListener(s,a,i),l=()=>o.removeEventListener(s,a,i);else{const u=o;u.addListener(a),l=()=>u.removeListener(a)}return t.push(l),r}function n(){t=t.filter(o=>o())}const r={add:e,clear:n};return r}function yut(t,e,n,r){const o=N2(),s=1e3/60;let a=null,i=0,l=0;function u(){o.add(t,"visibilitychange",()=>{t.hidden&&w()})}function d(){g(),o.clear()}function f(j){if(!l)return;a||(a=j,n(),n());const S=j-a;for(a=j,i+=S;i>=s;)n(),i-=s;const I=i/s;r(I),l&&(l=e.requestAnimationFrame(f))}function m(){l||(l=e.requestAnimationFrame(f))}function g(){e.cancelAnimationFrame(l),a=null,i=0,l=0}function w(){a=null,i=0}return{init:u,destroy:d,start:m,stop:g,update:n,render:r}}function vut(t,e){const n=e==="rtl",r=t==="y",o=r?"y":"x",s=r?"x":"y",a=!r&&n?-1:1,i=d(),l=f();function u(w){const{height:b,width:j}=w;return r?b:j}function d(){return r?"top":n?"right":"left"}function f(){return r?"bottom":n?"left":"right"}function m(w){return w*a}return{scroll:o,cross:s,startEdge:i,endEdge:l,measureSize:u,direction:m}}function Pg(t=0,e=0){const n=Co(t-e);function r(u){return u<t}function o(u){return u>e}function s(u){return r(u)||o(u)}function a(u){return s(u)?r(u)?t:e:u}function i(u){return n?u-n*Math.ceil((u-e)/n):u}return{length:n,max:e,min:t,constrain:a,reachedAny:s,reachedMax:o,reachedMin:r,removeOffset:i}}function Mge(t,e,n){const{constrain:r}=Pg(0,t),o=t+1;let s=a(e);function a(m){return n?Co((o+m)%o):r(m)}function i(){return s}function l(m){return s=a(m),f}function u(m){return d().set(i()+m)}function d(){return Mge(t,i(),n)}const f={get:i,set:l,add:u,clone:d};return f}function wut(t,e,n,r,o,s,a,i,l,u,d,f,m,g,w,b,j,S,I){const{cross:N,direction:M}=t,D=["INPUT","SELECT","TEXTAREA"],O={passive:!1},L=N2(),B=N2(),T=Pg(50,225).constrain(g.measure(20)),R={mouse:300,touch:400},z={mouse:500,touch:600},Y=w?43:25;let Q=!1,W=0,F=0,X=!1,$=!1,V=!1,K=!1;function G(le){if(!I)return;function he(Ae){(zE(I)||I(le,Ae))&&ve(Ae)}const we=e;L.add(we,"dragstart",Ae=>Ae.preventDefault(),O).add(we,"touchmove",()=>{},O).add(we,"touchend",()=>{}).add(we,"touchstart",he).add(we,"mousedown",he).add(we,"touchcancel",ce).add(we,"contextmenu",ce).add(we,"click",pe,!0)}function J(){L.clear(),B.clear()}function ne(){const le=K?n:e;B.add(le,"touchmove",xe,O).add(le,"touchend",ce).add(le,"mousemove",xe,O).add(le,"mouseup",ce)}function re(le){const he=le.nodeName||"";return D.includes(he)}function de(){return(w?z:R)[K?"mouse":"touch"]}function Ne(le,he){const we=f.add(QP(le)*-1),Ae=d.byDistance(le,!w).distance;return w||Co(le)<T?Ae:j&&he?Ae*.5:d.byIndex(we.get(),0).distance}function ve(le){const he=vR(le,r);K=he,V=w&&he&&!le.buttons&&Q,Q=hb(o.get(),a.get())>=2,!(he&&le.button!==0)&&(re(le.target)||(X=!0,s.pointerDown(le),u.useFriction(0).useDuration(0),o.set(a),ne(),W=s.readPoint(le),F=s.readPoint(le,N),m.emit("pointerDown")))}function xe(le){if(!vR(le,r)&&le.touches.length>=2)return ce(le);const we=s.readPoint(le),Ae=s.readPoint(le,N),Ve=hb(we,W),Ze=hb(Ae,F);if(!$&&!K&&(!le.cancelable||($=Ve>Ze,!$)))return ce(le);const nt=s.pointerMove(le);Ve>b&&(V=!0),u.useFriction(.3).useDuration(.75),i.start(),o.add(M(nt)),le.preventDefault()}function ce(le){const we=d.byDistance(0,!1).index!==f.get(),Ae=s.pointerUp(le)*de(),Ve=Ne(M(Ae),we),Ze=hut(Ae,Ve),nt=Y-10*Ze,$e=S+Ze/50;$=!1,X=!1,B.clear(),u.useDuration(nt).useFriction($e),l.distance(Ve,!w),K=!1,m.emit("pointerUp")}function pe(le){V&&(le.stopPropagation(),le.preventDefault(),V=!1)}function me(){return X}return{init:G,destroy:J,pointerDown:me}}function but(t,e){let r,o;function s(f){return f.timeStamp}function a(f,m){const w=`client${(m||t.scroll)==="x"?"X":"Y"}`;return(vR(f,e)?f:f.touches[0])[w]}function i(f){return r=f,o=f,a(f)}function l(f){const m=a(f)-a(o),g=s(f)-s(r)>170;return o=f,g&&(r=f),m}function u(f){if(!r||!o)return 0;const m=a(o)-a(r),g=s(f)-s(r),w=s(f)-s(o)>170,b=m/g;return g&&!w&&Co(b)>.1?b:0}return{pointerDown:i,pointerMove:l,pointerUp:u,readPoint:a}}function xut(){function t(n){const{offsetTop:r,offsetLeft:o,offsetWidth:s,offsetHeight:a}=n;return{top:r,right:o+s,bottom:r+a,left:o,width:s,height:a}}return{measure:t}}function kut(t){function e(r){return t*(r/100)}return{measure:e}}function jut(t,e,n,r,o,s,a){const i=[t].concat(r);let l,u,d=[],f=!1;function m(j){return o.measureSize(a.measure(j))}function g(j){if(!s)return;u=m(t),d=r.map(m);function S(I){for(const N of I){if(f)return;const M=N.target===t,D=r.indexOf(N.target),O=M?u:d[D],L=m(M?t:r[D]);if(Co(L-O)>=.5){j.reInit(),e.emit("resize");break}}}l=new ResizeObserver(I=>{(zE(s)||s(j,I))&&S(I)}),n.requestAnimationFrame(()=>{i.forEach(I=>l.observe(I))})}function w(){f=!0,l&&l.disconnect()}return{init:g,destroy:w}}function Cut(t,e,n,r,o,s){let a=0,i=0,l=o,u=s,d=t.get(),f=0;function m(){const O=r.get()-t.get(),L=!l;let B=0;return L?(a=0,n.set(r),t.set(r),B=O):(n.set(t),a+=O/l,a*=u,d+=a,t.add(a),B=d-f),i=QP(B),f=d,D}function g(){const O=r.get()-e.get();return Co(O)<.001}function w(){return l}function b(){return i}function j(){return a}function S(){return N(o)}function I(){return M(s)}function N(O){return l=O,D}function M(O){return u=O,D}const D={direction:b,duration:w,velocity:j,seek:m,settled:g,useBaseFriction:I,useBaseDuration:S,useFriction:M,useDuration:N};return D}function Sut(t,e,n,r,o){const s=o.measure(10),a=o.measure(50),i=Pg(.1,.99);let l=!1;function u(){return!(l||!t.reachedAny(n.get())||!t.reachedAny(e.get()))}function d(g){if(!u())return;const w=t.reachedMin(e.get())?"min":"max",b=Co(t[w]-e.get()),j=n.get()-e.get(),S=i.constrain(b/a);n.subtract(j*S),!g&&Co(j)<s&&(n.set(t.constrain(n.get())),r.useDuration(25).useBaseFriction())}function f(g){l=!g}return{shouldConstrain:u,constrain:d,toggleActive:f}}function Eut(t,e,n,r,o){const s=Pg(-e+t,0),a=f(),i=d(),l=m();function u(w,b){return hb(w,b)<=1}function d(){const w=a[0],b=Gc(a),j=a.lastIndexOf(w),S=a.indexOf(b)+1;return Pg(j,S)}function f(){return n.map((w,b)=>{const{min:j,max:S}=s,I=s.constrain(w),N=!b,M=JP(n,b);return N?S:M||u(j,I)?j:u(S,I)?S:I}).map(w=>parseFloat(w.toFixed(3)))}function m(){if(e<=t+o)return[s.max];if(r==="keepSnaps")return a;const{min:w,max:b}=i;return a.slice(w,b)}return{snapsContained:l,scrollContainLimit:i}}function Nut(t,e,n){const r=e[0],o=n?r-t:Gc(e);return{limit:Pg(o,r)}}function Iut(t,e,n,r){const s=e.min+.1,a=e.max+.1,{reachedMin:i,reachedMax:l}=Pg(s,a);function u(m){return m===1?l(n.get()):m===-1?i(n.get()):!1}function d(m){if(!u(m))return;const g=t*(m*-1);r.forEach(w=>w.add(g))}return{loop:d}}function Aut(t){const{max:e,length:n}=t;function r(s){const a=s-e;return n?a/-n:0}return{get:r}}function _ut(t,e,n,r,o){const{startEdge:s,endEdge:a}=t,{groupSlides:i}=o,l=f().map(e.measure),u=m(),d=g();function f(){return i(r).map(b=>Gc(b)[a]-b[0][s]).map(Co)}function m(){return r.map(b=>n[s]-b[s]).map(b=>-Co(b))}function g(){return i(u).map(b=>b[0]).map((b,j)=>b+l[j])}return{snaps:u,snapsAligned:d}}function Mut(t,e,n,r,o,s){const{groupSlides:a}=o,{min:i,max:l}=r,u=d();function d(){const m=a(s),g=!t||e==="keepSnaps";return n.length===1?[s]:g?m:m.slice(i,l).map((w,b,j)=>{const S=!b,I=JP(j,b);if(S){const N=Gc(j[0])+1;return lZ(N)}if(I){const N=zx(s)-Gc(j)[0]+1;return lZ(N,Gc(j)[0])}return w})}return{slideRegistry:u}}function Rut(t,e,n,r,o){const{reachedAny:s,removeOffset:a,constrain:i}=r;function l(w){return w.concat().sort((b,j)=>Co(b)-Co(j))[0]}function u(w){const b=t?a(w):i(w),j=e.map((I,N)=>({diff:d(I-b,0),index:N})).sort((I,N)=>Co(I.diff)-Co(N.diff)),{index:S}=j[0];return{index:S,distance:b}}function d(w,b){const j=[w,w+n,w-n];if(!t)return w;if(!b)return l(j);const S=j.filter(I=>QP(I)===b);return S.length?l(S):Gc(j)-n}function f(w,b){const j=e[w]-o.get(),S=d(j,b);return{index:w,distance:S}}function m(w,b){const j=o.get()+w,{index:S,distance:I}=u(j),N=!t&&s(j);if(!b||N)return{index:S,distance:w};const M=e[S]-I,D=w+d(M,0);return{index:S,distance:D}}return{byDistance:m,byIndex:f,shortcut:d}}function Tut(t,e,n,r,o,s,a){function i(f){const m=f.distance,g=f.index!==e.get();s.add(m),m&&(r.duration()?t.start():(t.update(),t.render(1),t.update())),g&&(n.set(e.get()),e.set(f.index),a.emit("select"))}function l(f,m){const g=o.byDistance(f,m);i(g)}function u(f,m){const g=e.clone().set(f),w=o.byIndex(g.get(),m);i(w)}return{distance:l,index:u}}function Dut(t,e,n,r,o,s,a,i){const l={passive:!0,capture:!0};let u=0;function d(g){if(!i)return;function w(b){if(new Date().getTime()-u>10)return;a.emit("slideFocusStart"),t.scrollLeft=0;const I=n.findIndex(N=>N.includes(b));ZP(I)&&(o.useDuration(0),r.index(I,0),a.emit("slideFocus"))}s.add(document,"keydown",f,!1),e.forEach((b,j)=>{s.add(b,"focus",S=>{(zE(i)||i(g,S))&&w(j)},l)})}function f(g){g.code==="Tab"&&(u=new Date().getTime())}return{init:d}}function Bw(t){let e=t;function n(){return e}function r(l){e=a(l)}function o(l){e+=a(l)}function s(l){e-=a(l)}function a(l){return ZP(l)?l:l.get()}return{get:n,set:r,add:o,subtract:s}}function Rge(t,e){const n=t.scroll==="x"?a:i,r=e.style;let o=null,s=!1;function a(m){return`translate3d(${m}px,0px,0px)`}function i(m){return`translate3d(0px,${m}px,0px)`}function l(m){if(s)return;const g=mut(t.direction(m));g!==o&&(r.transform=n(g),o=g)}function u(m){s=!m}function d(){s||(r.transform="",e.getAttribute("style")||e.removeAttribute("style"))}return{clear:d,to:l,toggleActive:u}}function Lut(t,e,n,r,o,s,a,i,l){const d=S2(o),f=S2(o).reverse(),m=S().concat(I());function g(L,B){return L.reduce((T,R)=>T-o[R],B)}function w(L,B){return L.reduce((T,R)=>g(T,B)>0?T.concat([R]):T,[])}function b(L){return s.map((B,T)=>({start:B-r[T]+.5+L,end:B+e-.5+L}))}function j(L,B,T){const R=b(B);return L.map(z=>{const Y=T?0:-n,Q=T?n:0,W=T?"end":"start",F=R[z][W];return{index:z,loopPoint:F,slideLocation:Bw(-1),translate:Rge(t,l[z]),target:()=>i.get()>F?Y:Q}})}function S(){const L=a[0],B=w(f,L);return j(B,n,!1)}function I(){const L=e-a[0]-1,B=w(d,L);return j(B,-n,!0)}function N(){return m.every(({index:L})=>{const B=d.filter(T=>T!==L);return g(B,e)<=.1})}function M(){m.forEach(L=>{const{target:B,translate:T,slideLocation:R}=L,z=B();z!==R.get()&&(T.to(z),R.set(z))})}function D(){m.forEach(L=>L.translate.clear())}return{canLoop:N,clear:D,loop:M,loopPoints:m}}function Put(t,e,n){let r,o=!1;function s(l){if(!n)return;function u(d){for(const f of d)if(f.type==="childList"){l.reInit(),e.emit("slidesChanged");break}}r=new MutationObserver(d=>{o||(zE(n)||n(l,d))&&u(d)}),r.observe(t,{childList:!0})}function a(){r&&r.disconnect(),o=!0}return{init:s,destroy:a}}function Out(t,e,n,r){const o={};let s=null,a=null,i,l=!1;function u(){i=new IntersectionObserver(w=>{l||(w.forEach(b=>{const j=e.indexOf(b.target);o[j]=b}),s=null,a=null,n.emit("slidesInView"))},{root:t.parentElement,threshold:r}),e.forEach(w=>i.observe(w))}function d(){i&&i.disconnect(),l=!0}function f(w){return E2(o).reduce((b,j)=>{const S=parseInt(j),{isIntersecting:I}=o[S];return(w&&I||!w&&!I)&&b.push(S),b},[])}function m(w=!0){if(w&&s)return s;if(!w&&a)return a;const b=f(w);return w&&(s=b),w||(a=b),b}return{init:u,destroy:d,get:m}}function zut(t,e,n,r,o,s){const{measureSize:a,startEdge:i,endEdge:l}=t,u=n[0]&&o,d=w(),f=b(),m=n.map(a),g=j();function w(){if(!u)return 0;const I=n[0];return Co(e[i]-I[i])}function b(){if(!u)return 0;const I=s.getComputedStyle(Gc(r));return parseFloat(I.getPropertyValue(`margin-${l}`))}function j(){return n.map((I,N,M)=>{const D=!N,O=JP(M,N);return D?m[N]+d:O?m[N]+f:M[N+1][i]-I[i]}).map(Co)}return{slideSizes:m,slideSizesWithGaps:g,startGap:d,endGap:f}}function Fut(t,e,n,r,o,s,a,i,l){const{startEdge:u,endEdge:d,direction:f}=t,m=ZP(n);function g(S,I){return S2(S).filter(N=>N%I===0).map(N=>S.slice(N,N+I))}function w(S){return S.length?S2(S).reduce((I,N,M)=>{const D=Gc(I)||0,O=D===0,L=N===zx(S),B=o[u]-s[D][u],T=o[u]-s[N][d],R=!r&&O?f(a):0,z=!r&&L?f(i):0,Y=Co(T-z-(B+R));return M&&Y>e+l&&I.push(N),L&&I.push(S.length),I},[]).map((I,N,M)=>{const D=Math.max(M[N-1]||0);return S.slice(D,I)}):[]}function b(S){return m?g(S,n):w(S)}return{groupSlides:b}}function But(t,e,n,r,o,s,a){const{align:i,axis:l,direction:u,startIndex:d,loop:f,duration:m,dragFree:g,dragThreshold:w,inViewThreshold:b,slidesToScroll:j,skipSnaps:S,containScroll:I,watchResize:N,watchSlides:M,watchDrag:D,watchFocus:O}=s,L=2,B=xut(),T=B.measure(e),R=n.map(B.measure),z=vut(l,u),Y=z.measureSize(T),Q=kut(Y),W=gut(i,Y),F=!f&&!!I,X=f||!!I,{slideSizes:$,slideSizesWithGaps:V,startGap:K,endGap:G}=zut(z,T,R,n,X,o),J=Fut(z,Y,j,f,T,R,K,G,L),{snaps:ne,snapsAligned:re}=_ut(z,W,T,R,J),de=-Gc(ne)+Gc(V),{snapsContained:Ne,scrollContainLimit:ve}=Eut(Y,de,re,I,L),xe=F?Ne:re,{limit:ce}=Nut(de,xe,f),pe=Mge(zx(xe),d,f),me=pe.clone(),ke=S2(n),le=({dragHandler:ie,scrollBody:Ce,scrollBounds:Te,options:{loop:Se}})=>{Se||Te.constrain(ie.pointerDown()),Ce.seek()},he=({scrollBody:ie,translate:Ce,location:Te,offsetLocation:Se,previousLocation:ye,scrollLooper:We,slideLooper:Ee,dragHandler:Pe,animation:Qe,eventHandler:mt,scrollBounds:Rt,options:{loop:At}},_t)=>{const Ht=ie.settled(),dt=!Rt.shouldConstrain(),xt=At?Ht:Ht&&dt,vt=xt&&!Pe.pointerDown();vt&&Qe.stop();const yt=Te.get()*_t+ye.get()*(1-_t);Se.set(yt),At&&(We.loop(ie.direction()),Ee.loop()),Ce.to(Se.get()),vt&&mt.emit("settle"),xt||mt.emit("scroll")},we=yut(r,o,()=>le(Z),ie=>he(Z,ie)),Ae=.68,Ve=xe[pe.get()],Ze=Bw(Ve),nt=Bw(Ve),$e=Bw(Ve),Ke=Bw(Ve),Me=Cut(Ze,$e,nt,Ke,m,Ae),et=Rut(f,xe,de,ce,Ke),pt=Tut(we,pe,me,Me,et,Ke,a),ht=Aut(ce),st=N2(),De=Out(e,n,a,b),{slideRegistry:se}=Mut(F,I,xe,ve,J,ke),q=Dut(t,n,se,pt,Me,st,a,O),Z={ownerDocument:r,ownerWindow:o,eventHandler:a,containerRect:T,slideRects:R,animation:we,axis:z,dragHandler:wut(z,t,r,o,Ke,but(z,o),Ze,we,pt,Me,et,pe,a,Q,g,w,S,Ae,D),eventStore:st,percentOfView:Q,index:pe,indexPrevious:me,limit:ce,location:Ze,offsetLocation:$e,previousLocation:nt,options:s,resizeHandler:jut(e,a,o,n,z,N,B),scrollBody:Me,scrollBounds:Sut(ce,$e,Ke,Me,Q),scrollLooper:Iut(de,ce,$e,[Ze,$e,nt,Ke]),scrollProgress:ht,scrollSnapList:xe.map(ht.get),scrollSnaps:xe,scrollTarget:et,scrollTo:pt,slideLooper:Lut(z,Y,de,$,V,ne,xe,$e,n),slideFocus:q,slidesHandler:Put(e,a,M),slidesInView:De,slideIndexes:ke,slideRegistry:se,slidesToScroll:J,target:Ke,translate:Rge(z,e)};return Z}function Uut(){let t={},e;function n(u){e=u}function r(u){return t[u]||[]}function o(u){return r(u).forEach(d=>d(e,u)),l}function s(u,d){return t[u]=r(u).concat([d]),l}function a(u,d){return t[u]=r(u).filter(f=>f!==d),l}function i(){t={}}const l={init:n,emit:o,off:a,on:s,clear:i};return l}const $ut={align:"center",axis:"x",container:null,slides:null,containScroll:"trimSnaps",direction:"ltr",slidesToScroll:1,inViewThreshold:0,breakpoints:{},dragFree:!1,dragThreshold:10,loop:!1,skipSnaps:!1,duration:25,startIndex:0,active:!0,watchDrag:!0,watchResize:!0,watchSlides:!0,watchFocus:!0};function Vut(t){function e(s,a){return _ge(s,a||{})}function n(s){const a=s.breakpoints||{},i=E2(a).filter(l=>t.matchMedia(l).matches).map(l=>a[l]).reduce((l,u)=>e(l,u),{});return e(s,i)}function r(s){return s.map(a=>E2(a.breakpoints||{})).reduce((a,i)=>a.concat(i),[]).map(t.matchMedia)}return{mergeOptions:e,optionsAtMedia:n,optionsMediaQueries:r}}function Hut(t){let e=[];function n(s,a){return e=a.filter(({options:i})=>t.optionsAtMedia(i).active!==!1),e.forEach(i=>i.init(s,t)),a.reduce((i,l)=>Object.assign(i,{[l.name]:l}),{})}function r(){e=e.filter(s=>s.destroy())}return{init:n,destroy:r}}function qj(t,e,n){const r=t.ownerDocument,o=r.defaultView,s=Vut(o),a=Hut(s),i=N2(),l=Uut(),{mergeOptions:u,optionsAtMedia:d,optionsMediaQueries:f}=s,{on:m,off:g,emit:w}=l,b=z;let j=!1,S,I=u($ut,qj.globalOptions),N=u(I),M=[],D,O,L;function B(){const{container:ke,slides:le}=N;O=(yR(ke)?t.querySelector(ke):ke)||t.children[0];const we=yR(le)?O.querySelectorAll(le):le;L=[].slice.call(we||O.children)}function T(ke){const le=But(t,O,L,r,o,ke,l);if(ke.loop&&!le.slideLooper.canLoop()){const he=Object.assign({},ke,{loop:!1});return T(he)}return le}function R(ke,le){j||(I=u(I,ke),N=d(I),M=le||M,B(),S=T(N),f([I,...M.map(({options:he})=>he)]).forEach(he=>i.add(he,"change",z)),N.active&&(S.translate.to(S.location.get()),S.animation.init(),S.slidesInView.init(),S.slideFocus.init(me),S.eventHandler.init(me),S.resizeHandler.init(me),S.slidesHandler.init(me),S.options.loop&&S.slideLooper.loop(),O.offsetParent&&L.length&&S.dragHandler.init(me),D=a.init(me,M)))}function z(ke,le){const he=J();Y(),R(u({startIndex:he},ke),le),l.emit("reInit")}function Y(){S.dragHandler.destroy(),S.eventStore.clear(),S.translate.clear(),S.slideLooper.clear(),S.resizeHandler.destroy(),S.slidesHandler.destroy(),S.slidesInView.destroy(),S.animation.destroy(),a.destroy(),i.clear()}function Q(){j||(j=!0,i.clear(),Y(),l.emit("destroy"),l.clear())}function W(ke,le,he){!N.active||j||(S.scrollBody.useBaseFriction().useDuration(le===!0?0:N.duration),S.scrollTo.index(ke,he||0))}function F(ke){const le=S.index.add(1).get();W(le,ke,-1)}function X(ke){const le=S.index.add(-1).get();W(le,ke,1)}function $(){return S.index.add(1).get()!==J()}function V(){return S.index.add(-1).get()!==J()}function K(){return S.scrollSnapList}function G(){return S.scrollProgress.get(S.offsetLocation.get())}function J(){return S.index.get()}function ne(){return S.indexPrevious.get()}function re(){return S.slidesInView.get()}function de(){return S.slidesInView.get(!1)}function Ne(){return D}function ve(){return S}function xe(){return t}function ce(){return O}function pe(){return L}const me={canScrollNext:$,canScrollPrev:V,containerNode:ce,internalEngine:ve,destroy:Q,off:g,on:m,emit:w,plugins:Ne,previousScrollSnap:ne,reInit:b,rootNode:xe,scrollNext:F,scrollPrev:X,scrollProgress:G,scrollSnapList:K,scrollTo:W,selectedScrollSnap:J,slideNodes:pe,slidesInView:re,slidesNotInView:de};return R(e,n),setTimeout(()=>l.emit("init"),0),me}qj.globalOptions=void 0;function XP(t={},e=[]){const n=h.useRef(t),r=h.useRef(e),[o,s]=h.useState(),[a,i]=h.useState(),l=h.useCallback(()=>{o&&o.reInit(n.current,r.current)},[o]);return h.useEffect(()=>{KP(n.current,t)||(n.current=t,l())},[t,l]),h.useEffect(()=>{put(r.current,e)||(r.current=e,l())},[e,l]),h.useEffect(()=>{if(dut()&&a){qj.globalOptions=XP.globalOptions;const u=qj(a,n.current,r.current);return s(u),()=>u.destroy()}else s(void 0)},[a,s]),[i,o]}XP.globalOptions=void 0;const Tge=h.createContext(null);function FE(){const t=h.useContext(Tge);if(!t)throw new Error("useCarousel must be used within a <Carousel />");return t}const Dge=h.forwardRef(({orientation:t="horizontal",opts:e,setApi:n,plugins:r,className:o,children:s,...a},i)=>{const[l,u]=XP({...e,axis:t==="horizontal"?"x":"y"},r),[d,f]=h.useState(!1),[m,g]=h.useState(!1),w=h.useCallback(I=>{I&&(f(I.canScrollPrev()),g(I.canScrollNext()))},[]),b=h.useCallback(()=>{u==null||u.scrollPrev()},[u]),j=h.useCallback(()=>{u==null||u.scrollNext()},[u]),S=h.useCallback(I=>{I.key==="ArrowLeft"?(I.preventDefault(),b()):I.key==="ArrowRight"&&(I.preventDefault(),j())},[b,j]);return h.useEffect(()=>{!u||!n||n(u)},[u,n]),h.useEffect(()=>{if(u)return w(u),u.on("reInit",w),u.on("select",w),()=>{u==null||u.off("select",w)}},[u,w]),c.jsx(Tge.Provider,{value:{carouselRef:l,api:u,opts:e,orientation:t||((e==null?void 0:e.axis)==="y"?"vertical":"horizontal"),scrollPrev:b,scrollNext:j,canScrollPrev:d,canScrollNext:m},children:c.jsx("div",{ref:i,onKeyDownCapture:S,className:Re("relative",o),role:"region","aria-roledescription":"carousel",...a,children:s})})});Dge.displayName="Carousel";const Lge=h.forwardRef(({className:t,...e},n)=>{const{carouselRef:r,orientation:o}=FE();return c.jsx("div",{ref:r,className:"overflow-hidden",children:c.jsx("div",{ref:n,className:Re("flex",o==="horizontal"?"-ml-4":"-mt-4 flex-col",t),...e})})});Lge.displayName="CarouselContent";const Pge=h.forwardRef(({className:t,...e},n)=>{const{orientation:r}=FE();return c.jsx("div",{ref:n,role:"group","aria-roledescription":"slide",className:Re("min-w-0 shrink-0 grow-0 basis-full",r==="horizontal"?"pl-4":"pt-4",t),...e})});Pge.displayName="CarouselItem";const Oge=h.forwardRef(({className:t,variant:e="outline",size:n="icon",...r},o)=>{const{orientation:s,scrollPrev:a,canScrollPrev:i}=FE();return c.jsxs(Le,{ref:o,variant:e,size:n,className:Re("absolute h-8 w-8 rounded-full",s==="horizontal"?"left-4 top-1/2 -translate-y-1/2":"-top-12 left-1/2 -translate-x-1/2 rotate-90",i?"":"invisible",t),disabled:!i,onClick:a,...r,children:[c.jsx(Zm,{className:"h-4 w-4"}),c.jsx("span",{className:"sr-only",children:"Previous slide"})]})});Oge.displayName="CarouselPrevious";const zge=h.forwardRef(({className:t,variant:e="outline",size:n="icon",...r},o)=>{const{orientation:s,scrollNext:a,canScrollNext:i}=FE();return c.jsxs(Le,{ref:o,variant:e,size:n,className:Re("absolute h-8 w-8 rounded-full",s==="horizontal"?"right-4 top-1/2 -translate-y-1/2":"-bottom-12 left-1/2 -translate-x-1/2 rotate-90",i?"":"invisible",t),disabled:!i,onClick:a,...r,children:[c.jsx(u7e,{className:"h-4 w-4"}),c.jsx("span",{className:"sr-only",children:"Next slide"})]})});zge.displayName="CarouselNext";function og(){return og=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(t[r]=n[r])}return t},og.apply(this,arguments)}var Wut=.996,Yut=function(e,n){return n===void 0&&(n=Wut),e*n/(1-n)};function Gut(t){return t[t.length-1]}function qut(t){return t.reduce(function(e,n){return e+n})/t.length}var Kut=function(e,n,r){return Math.min(Math.max(n,e),r)};function w5(t,e){if(t.length!==e.length)throw new Error("vectors must be same length");return t.map(function(n,r){return n+e[r]})}function cZ(t){return Math.max.apply(Math,t.map(Math.abs))}function Ty(t){return Object.freeze(t),Object.values(t).forEach(function(e){e!==null&&typeof e=="object"&&!Object.isFrozen(e)&&Ty(e)}),t}function Zut(){var t={};function e(o,s){return t[o]=(t[o]||[]).concat(s),function(){return n(o,s)}}function n(o,s){t[o]=(t[o]||[]).filter(function(a){return a!==s})}function r(o,s){o in t&&t[o].forEach(function(a){return a(s)})}return Ty({on:e,off:n,dispatch:r})}function Qut(t){var e=[],n=function(a){return a.addEventListener("wheel",t,{passive:!1}),e.push(a),function(){return r(a)}},r=function(a){a.removeEventListener("wheel",t),e=e.filter(function(i){return i!==a})},o=function(){e.forEach(r)};return Ty({observe:n,unobserve:r,disconnect:o})}var Jut=16*1.125,Xut=typeof window<"u"&&window.innerHeight||800,b5=[1,Jut,Xut];function eft(t){var e=t.deltaX*b5[t.deltaMode],n=t.deltaY*b5[t.deltaMode],r=(t.deltaZ||0)*b5[t.deltaMode];return{timeStamp:t.timeStamp,axisDelta:[e,n,r]}}var tft=[-1,-1,-1];function nft(t,e){if(!e)return t;var n=e===!0?tft:e.map(function(r){return r?-1:1});return og({},t,{axisDelta:t.axisDelta.map(function(r,o){return r*n[o]})})}var uZ=700,rft=function(e){return og({},e,{axisDelta:e.axisDelta.map(function(n){return Kut(n,-uZ,uZ)})})},oft=.6,sft=.96,aft=2,fZ=5,dZ=Ty({preventWheelAction:!0,reverseSign:[!0,!0,!1]}),ift=400;function pZ(){return{isStarted:!1,isStartPublished:!1,isMomentum:!1,startTime:0,lastAbsDelta:1/0,axisMovement:[0,0,0],axisVelocity:[0,0,0],accelerationFactors:[],scrollPoints:[],scrollPointsToMerge:[],willEndTimeout:ift}}function lft(t){t===void 0&&(t={});var e=Zut(),n=e.on,r=e.off,o=e.dispatch,s=dZ,a=pZ(),i,l=!1,u,d=function(W){Array.isArray(W)?W.forEach(function(F){return w(F)}):w(W)},f=function(W){return W===void 0&&(W={}),Object.values(W).some(function(F){return F==null})?s:s=Ty(og({},dZ,s,W))},m=function(W){var F=og({event:i,isStart:!1,isEnding:!1,isMomentumCancel:!1,isMomentum:a.isMomentum,axisDelta:[0,0,0],axisVelocity:a.axisVelocity,axisMovement:a.axisMovement,get axisMovementProjection(){return w5(F.axisMovement,F.axisVelocity.map(function(X){return Yut(X)}))}},W);o("wheel",og({},F,{previous:u})),u=F},g=function(W,F){var X=s,$=X.preventWheelAction,V=F[0],K=F[1],G=F[2];if(typeof $=="boolean")return $;switch($){case"x":return Math.abs(V)>=W;case"y":return Math.abs(K)>=W;case"z":return Math.abs(G)>=W;default:return!1}},w=function(W){var F=rft(nft(eft(W),s.reverseSign)),X=F.axisDelta,$=F.timeStamp,V=cZ(X);if(W.preventDefault&&g(V,X)&&W.preventDefault(),a.isStarted?a.isMomentum&&V>Math.max(2,a.lastAbsDelta*2)&&(B(!0),O()):O(),V===0&&Object.is&&Object.is(W.deltaX,-0)){l=!0;return}i=W,a.axisMovement=w5(a.axisMovement,X),a.lastAbsDelta=V,a.scrollPointsToMerge.push({axisDelta:X,timeStamp:$}),b(),m({axisDelta:X,isStart:!a.isStartPublished}),a.isStartPublished=!0,L()},b=function(){a.scrollPointsToMerge.length===aft?(a.scrollPoints.unshift({axisDeltaSum:a.scrollPointsToMerge.map(function(W){return W.axisDelta}).reduce(w5),timeStamp:qut(a.scrollPointsToMerge.map(function(W){return W.timeStamp}))}),S(),a.scrollPointsToMerge.length=0,a.scrollPoints.length=1,a.isMomentum||M()):a.isStartPublished||j()},j=function(){a.axisVelocity=Gut(a.scrollPointsToMerge).axisDelta.map(function(W){return W/a.willEndTimeout})},S=function(){var W=a.scrollPoints,F=W[0],X=W[1];if(!(!X||!F)){var $=F.timeStamp-X.timeStamp;if(!($<=0)){var V=F.axisDeltaSum.map(function(G){return G/$}),K=V.map(function(G,J){return G/(a.axisVelocity[J]||1)});a.axisVelocity=V,a.accelerationFactors.push(K),I($)}}},I=function(W){var F=Math.ceil(W/10)*10*1.2;a.isMomentum||(F=Math.max(100,F*2)),a.willEndTimeout=Math.min(1e3,Math.round(F))},N=function(W){return W===0?!0:W<=sft&&W>=oft},M=function(){if(a.accelerationFactors.length>=fZ){if(l&&(l=!1,cZ(a.axisVelocity)>=.2)){D();return}var W=a.accelerationFactors.slice(fZ*-1),F=W.every(function(X){var $=!!X.reduce(function(K,G){return K&&K<1&&K===G?1:0}),V=X.filter(N).length===X.length;return $||V});F&&D(),a.accelerationFactors=W}},D=function(){a.isMomentum=!0},O=function(){a=pZ(),a.isStarted=!0,a.startTime=Date.now(),u=void 0,l=!1},L=(function(){var Q;return function(){clearTimeout(Q),Q=setTimeout(B,a.willEndTimeout)}})(),B=function(W){W===void 0&&(W=!1),a.isStarted&&(a.isMomentum&&W?m({isEnding:!0,isMomentumCancel:!0}):m({isEnding:!0}),a.isMomentum=!1,a.isStarted=!1)},T=Qut(d),R=T.observe,z=T.unobserve,Y=T.disconnect;return f(t),Ty({on:n,off:r,observe:R,unobserve:z,disconnect:Y,feedWheel:d,updateOptions:f})}var cft={active:!0,breakpoints:{},wheelDraggingClass:"is-wheel-dragging",forceWheelAxis:void 0,target:void 0};eO.globalOptions=void 0;function eO(t){t===void 0&&(t={});var e,n=function(){};function r(s,a){var i,l,u=a.mergeOptions,d=a.optionsAtMedia,f=u(cft,eO.globalOptions),m=u(f,t);e=d(m);var g=s.internalEngine(),w=(i=e.target)!=null?i:s.containerNode().parentNode,b=(l=e.forceWheelAxis)!=null?l:g.options.axis,j=lft({preventWheelAction:b,reverseSign:[!0,!0,!1]});function S(){L=(b==="x"?g.containerRect.width:g.containerRect.height)/2}var I=j.observe(w),N=j.on("wheel",V),M=!1,D,O=0,L=0,B=!1;S(),s.on("resize",S);function T(K){try{D=new MouseEvent("mousedown",K.event),F(D)}catch{return n()}M=!0,O=0,z(),e.wheelDraggingClass&&w.classList.add(e.wheelDraggingClass)}function R(K){M=!1,F(W("mouseup",K)),Y(),e.wheelDraggingClass&&w.classList.remove(e.wheelDraggingClass)}function z(){document.documentElement.addEventListener("mousemove",Q,!0),document.documentElement.addEventListener("mouseup",Q,!0),document.documentElement.addEventListener("mousedown",Q,!0)}function Y(){document.documentElement.removeEventListener("mousemove",Q,!0),document.documentElement.removeEventListener("mouseup",Q,!0),document.documentElement.removeEventListener("mousedown",Q,!0)}function Q(K){M&&K.isTrusted&&K.stopImmediatePropagation()}function W(K,G){var J,ne;if(b===g.options.axis){var re=G.axisMovement;J=re[0],ne=re[1]}else{var de=G.axisMovement;ne=de[0],J=de[1]}var Ne=X(G),ve=Ne.isAtBoundary;if(ve){var xe=Math.min(O/L,1),ce=.25+xe*.5,pe=J>0?-1:1,me=O*pe,ke=me*ce;J+=ke,ne+=ke}if(!g.options.skipSnaps&&!g.options.dragFree){var le=g.containerRect.width,he=g.containerRect.height;J=J<0?Math.max(J,-le):Math.min(J,le),ne=ne<0?Math.max(ne,-he):Math.min(ne,he)}return new MouseEvent(K,{clientX:D.clientX+J,clientY:D.clientY+ne,screenX:D.screenX+J,screenY:D.screenY+ne,movementX:J,movementY:ne,button:0,bubbles:!0,cancelable:!0,composed:!0})}function F(K){s.containerNode().dispatchEvent(K)}function X(K){var G=K.axisDelta,J=G[0],ne=G[1],re=s.scrollProgress(),de=re<1,Ne=re>0,ve=b==="x"?J:ne,xe=ve<0,ce=ve>0,pe=xe&&!de||ce&&!Ne;return{isAtBoundary:pe,primaryAxisDelta:ve}}function $(K){var G=X(K),J=G.isAtBoundary,ne=G.primaryAxisDelta;if(J&&!K.isMomentum){if(O+=Math.abs(ne),O>L)return B=!0,R(K),!0}else O=0;return!1}function V(K){var G=K.axisDelta,J=G[0],ne=G[1],re=b==="x"?J:ne,de=b==="x"?ne:J,Ne=K.isMomentum&&K.previous&&!K.previous.isMomentum,ve=K.isEnding&&!K.isMomentum||Ne,xe=Math.abs(re)>Math.abs(de);xe&&!M&&!K.isMomentum&&!B&&T(K),B&&K.isEnding&&(B=!1),M&&($(K)||(ve?R(K):F(W("mousemove",K))))}n=function(){I(),N(),s.off("resize",S),Y()}}var o={name:"wheelGestures",options:t,init:r,destroy:function(){return n()}};return o}function hZ({event:t,className:e}){const{push:n}=kn(),r=h.useMemo(()=>Bk(t),[t]);return c.jsxs("div",{className:Re("clickable border rounded-lg bg-muted/20 p-3 h-full",e),onClick:()=>n(yl(t)),children:[c.jsx("div",{className:"flex justify-between items-start gap-2",children:c.jsxs("div",{className:"flex items-center space-x-2 flex-1",children:[c.jsx(nc,{userId:t.pubkey,size:"medium"}),c.jsxs("div",{className:"flex-1 w-0",children:[c.jsxs("div",{className:"flex gap-2 items-center",children:[c.jsx(sd,{userId:t.pubkey,className:"font-semibold flex truncate text-sm",skeletonClassName:"h-3"}),c.jsx(t7,{event:t})]}),c.jsxs("div",{className:"flex items-center gap-1 text-sm text-muted-foreground",children:[c.jsx(dc,{pubkey:t.pubkey,append:"·"}),c.jsx(mh,{timestamp:t.created_at,className:"shrink-0",short:!0})]})]})]})}),c.jsx(G7,{stars:r,className:"mt-2 gap-0.5 [&_svg]:size-3"}),c.jsx(jy,{className:"mt-2 line-clamp-4",event:t})]})}const dv=h.forwardRef(({className:t,...e},n)=>c.jsx("textarea",{className:Re("flex min-h-[80px] w-full rounded-lg border border-input bg-background select-text px-3 py-2 text-base placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:border-ring disabled:cursor-not-allowed disabled:opacity-50 md:text-sm transition-all duration-200 hover:border-ring/50 resize-none",t),ref:n,...e}));dv.displayName="Textarea";function uft({relayUrl:t,onReviewed:e}){const{t:n}=qe(),{publish:r}=wt(),[o,s]=h.useState(0),[a,i]=h.useState(0),[l,u]=h.useState(""),[d,f]=h.useState(!1),m=h.useMemo(()=>o>0&&!!l.trim(),[o,l]),g=async()=>{if(m){f(!0);try{const w=MAe(t,l,o),b=await r(w);e(b)}catch(w){w instanceof AggregateError?w.errors.forEach(b=>on.error(`${n("Failed to review")}: ${b.message}`)):w instanceof Error&&on.error(`${n("Failed to review")}: ${w.message}`),console.error(w);return}finally{f(!1)}}};return c.jsxs("div",{className:"px-4 space-y-2",children:[c.jsx(dv,{className:"min-h-36",placeholder:n("Write a review and pick a star rating"),value:l,onChange:w=>u(w.target.value)}),c.jsxs("div",{className:"flex justify-between items-center",children:[c.jsx("div",{className:"flex items-center",children:Array.from({length:5}).map((w,b)=>c.jsx("div",{className:"pr-2 cursor-pointer",onMouseEnter:()=>i(b+1),onMouseLeave:()=>i(0),children:b<(a||o)?c.jsx(cd,{className:"size-6 text-yellow-400 fill-yellow-400",onClick:()=>s(b+1)}):c.jsx(cd,{className:"size-6 text-muted-foreground",onClick:()=>s(b+1)})},b))}),c.jsxs(Le,{disabled:!m,variant:m?"default":"secondary",onClick:g,children:[d&&c.jsx(so,{className:"animate-spin"}),n("Submit")]})]})]})}function fft({relayUrl:t}){const{t:e}=qe(),{push:n}=kn(),{pubkey:r,checkLogin:o}=wt(),{hideUntrustedNotes:s,isUserTrusted:a,isSpammer:i}=da(),{mutePubkeySet:l}=ns(),[u,d]=h.useState(!1),[f,m]=h.useState(null),[g,w]=h.useState([]),[b,j]=h.useState(!1),{stars:S,count:I}=h.useMemo(()=>{let M=0,D=0;return[f,...g].forEach(O=>{if(!O)return;const L=Bk(O);L&&(M+=L,D+=1)}),{stars:D>0?+(M/D).toFixed(1):0,count:D}},[f,g]);h.useEffect(()=>{(async()=>{const D=[{kinds:[gt.RELAY_REVIEW],"#d":[t],limit:100}];r&&D.push({kinds:[gt.RELAY_REVIEW],authors:[r],"#d":[t]});const O=await ze.fetchEvents([t,...ze.currentRelays],D,{cache:!0}),L=new Set,B=[];let T=null;O.sort((z,Y)=>dg(Y,z));for(const z of O)l.has(z.pubkey)||L.has(z.pubkey)||!Bk(z)||(L.add(z.pubkey),z.pubkey===r?T=z:B.push(z));const R=(await Promise.all(B.map(async z=>await i(z.pubkey)?null:z))).filter(Boolean);m(T),w(R),j(!0)})()},[t,r,l,s,a]);const N=M=>{m(M),d(!1)};return c.jsxs("div",{className:"space-y-4",children:[c.jsxs("div",{className:"px-4 flex items-center justify-between",children:[c.jsxs("div",{children:[c.jsxs("div",{className:"flex items-center gap-2",children:[c.jsx("div",{className:"text-lg font-semibold",children:S}),c.jsx(G7,{stars:S})]}),c.jsx("div",{className:Re("text-sm text-muted-foreground",I>0&&"underline cursor-pointer hover:text-foreground"),onClick:()=>{I>0&&n(Pie(t))},children:e("{{count}} reviews",{count:I})})]}),!u&&!f&&c.jsx(Le,{variant:"outline",onClick:()=>o(()=>d(!0)),children:e("Write a review")})]}),u&&c.jsx(uft,{relayUrl:t,onReviewed:N}),f||g.length>0?c.jsx(dft,{relayUrl:t,myReview:f,reviews:g}):u?null:c.jsx("div",{className:"flex items-center justify-center text-sm text-muted-foreground p-4",children:e(b?"No reviews yet. Be the first to write one!":"Loading...")})]})}function dft({relayUrl:t,myReview:e,reviews:n}){const{t:r}=qe(),{push:o}=kn(),s=h.useMemo(()=>!cu(),[]);return c.jsxs(Dge,{opts:{skipSnaps:!0},plugins:[eO()],children:[c.jsxs(Lge,{className:"ml-4 mr-2",children:[e&&c.jsx(x5,{children:c.jsx(hZ,{event:e,className:"border-primary/60 bg-primary/5"})},e.id),n.slice(0,10).map(a=>c.jsx(x5,{children:c.jsx(hZ,{event:a})},a.id)),n.length>10&&c.jsx(x5,{children:c.jsx("div",{className:"border rounded-lg bg-muted/20 p-3 flex items-center justify-center h-full hover:bg-muted cursor-pointer",onClick:()=>o(Pie(t)),children:c.jsx("div",{className:"text-sm text-muted-foreground",children:r("View more reviews")})})})]}),s&&c.jsx(Oge,{}),s&&c.jsx(zge,{})]})}function x5({children:t}){const{enableSingleColumnLayout:e}=ts();return c.jsx(Pge,{className:Re("basis-11/12 pl-0 pr-2",e?"md:basis-5/12 lg:basis-7/12":"lg:basis-2/3 2xl:basis-5/12"),children:t})}function Fge({url:t,className:e}){var m;const{t:n}=qe(),{checkLogin:r}=wt(),{relayInfo:o,isFetching:s}=OS(t),[a,i]=h.useState(!1),[l,u]=h.useState(!1),d=h.useMemo(()=>kie(o),[o]),f=h.useMemo(()=>!d||l,[d,l]);return s||!o?null:c.jsxs("div",{className:Re("space-y-4 mb-2",e),children:[c.jsxs("div",{className:"px-4 space-y-4",children:[c.jsxs("div",{className:"space-y-2",children:[c.jsxs("div",{className:"flex items-center gap-2 justify-between",children:[c.jsxs("div",{className:"flex gap-2 items-center flex-1",children:[c.jsx(Zl,{url:t,className:"w-8 h-8"}),c.jsx("div",{className:"text-2xl font-semibold truncate select-text flex-1 w-0",children:o.name||o.shortUrl})]}),c.jsx(hft,{url:o.url})]}),!!((m=o.tags)!=null&&m.length)&&c.jsx("div",{className:"flex gap-2",children:o.tags.map(g=>c.jsx(Vl,{variant:"secondary",children:g}))}),o.description&&c.jsx("div",{className:"text-wrap break-words whitespace-pre-wrap mt-2 select-text",children:o.description})]}),c.jsxs("div",{className:"space-y-2",children:[c.jsx("div",{className:"text-sm font-semibold text-muted-foreground",children:n("Homepage")}),c.jsx("a",{href:oy(o.url),target:"_blank",className:"hover:underline text-primary select-text truncate block w-fit max-w-full",children:oy(o.url)})]}),c.jsxs(Fa,{className:"overflow-x-auto",children:[c.jsxs("div",{className:"flex gap-8 pb-2",children:[o.pubkey&&c.jsxs("div",{className:"space-y-2 w-fit",children:[c.jsx("div",{className:"text-sm font-semibold text-muted-foreground",children:n("Operator")}),c.jsxs("div",{className:"flex gap-2 items-center",children:[c.jsx(Ro,{userId:o.pubkey,size:"small"}),c.jsx(zs,{userId:o.pubkey,className:"font-semibold text-nowrap"})]})]}),o.contact&&c.jsxs("div",{className:"space-y-2 w-fit",children:[c.jsx("div",{className:"text-sm font-semibold text-muted-foreground",children:n("Contact")}),c.jsxs("div",{className:"flex gap-2 items-center font-semibold select-text text-nowrap",children:[c.jsx(tx,{}),o.contact]})]}),o.software&&c.jsxs("div",{className:"space-y-2 w-fit",children:[c.jsx("div",{className:"text-sm font-semibold text-muted-foreground",children:n("Software")}),c.jsxs("div",{className:"flex gap-2 items-center font-semibold select-text text-nowrap",children:[c.jsx(K7e,{}),pft(o.software)]})]}),o.version&&c.jsxs("div",{className:"space-y-2 w-fit",children:[c.jsx("div",{className:"text-sm font-semibold text-muted-foreground",children:n("Version")}),c.jsxs("div",{className:"flex gap-2 items-center font-semibold select-text text-nowrap",children:[c.jsx(E7e,{}),o.version]})]})]}),c.jsx(Ed,{orientation:"horizontal"})]}),c.jsx(uut,{relayInfo:o,onMembershipStatusChange:u}),f&&c.jsxs(c.Fragment,{children:[c.jsx(Le,{variant:"secondary",className:"w-full",onClick:()=>r(()=>i(!0)),children:n("Share something on this Relay")}),c.jsx(r1,{open:a,setOpen:i})]})]}),c.jsx(fft,{relayUrl:t})]})}function pft(t){const e=t.split("/");return e[e.length-1]}function hft({url:t}){const[e,n]=h.useState(!1),[r,o]=h.useState(!1),s=()=>{navigator.clipboard.writeText(t),n(!0),setTimeout(()=>n(!1),2e3)},a=()=>{navigator.clipboard.writeText(`https://smesh.mleku.dev/?r=${t}`),o(!0),on.success("Shareable URL copied to clipboard"),setTimeout(()=>o(!1),2e3)};return c.jsxs("div",{className:"flex items-center gap-1",children:[c.jsx(Le,{variant:"ghost",size:"titlebar-icon",onClick:a,children:r?c.jsx(Zr,{}):c.jsx(r2,{})}),c.jsx(Le,{variant:"ghost",size:"titlebar-icon",onClick:s,children:e?c.jsx(Zr,{}):c.jsx(Pa,{})}),c.jsx(qP,{urls:[t],bigButton:!0})]})}function tO({url:t,className:e}){var f;const{t:n}=qe(),{addRelayUrls:r,removeRelayUrls:o}=H7(),s=h.useMemo(()=>t?oo(t):void 0,[t]),{relayInfo:a}=OS(s),[i,l]=h.useState(""),[u,d]=h.useState(i);return h.useEffect(()=>{if(s)return r([s]),()=>{o([s])}},[s]),h.useEffect(()=>{const m=setTimeout(()=>{d(i)},1e3);return()=>{clearTimeout(m)}},[i]),s?c.jsxs("div",{className:e,children:[c.jsx(Fge,{url:s,className:"pt-3"}),((f=a==null?void 0:a.supported_nips)==null?void 0:f.includes(50))&&c.jsx("div",{className:"px-4 py-2",children:c.jsx(BS,{value:i,onChange:m=>l(m.target.value),placeholder:n("Search")})}),c.jsx(ad,{subRequests:[{urls:[s],filter:u?{search:u}:{}}],showRelayCloseReason:!0})]}):c.jsx(WP,{})}const mft={search:{titleKey:"Search Relays Not Configured",descriptionKey:"Configure search relays to enable searching for users and notes. Search queries will only be sent to relays you explicitly configure.",settingsPath:"/settings"},nrc:{titleKey:"NRC Relay Not Configured",descriptionKey:"Configure a rendezvous relay to enable Nostr Relay Connect (NRC) for device pairing. Your connection requests will only be sent to the relay you configure.",settingsPath:"/settings"},dm:{titleKey:"Relay Configuration Required",descriptionKey:"Direct messages require relay configuration. Configure your relay list to enable private messaging.",settingsPath:"/settings/relays#mailbox"},bunker:{titleKey:"Bunker Relay Not Configured",descriptionKey:"Enter a relay URL to use for bunker authentication. Your connection will only use the relay you specify.",settingsPath:""}};function wR({type:t,className:e}){const{t:n}=qe(),r=mft[t];return c.jsxs(ME,{className:e,children:[c.jsx(zme,{className:"pb-3",children:c.jsxs("div",{className:"flex items-center gap-3",children:[c.jsx("div",{className:"p-2 rounded-full bg-muted",children:c.jsx(U7e,{className:"size-5 text-muted-foreground"})}),c.jsx("div",{children:c.jsx(Fme,{className:"text-base",children:n(r.titleKey)})})]})}),c.jsxs(Ume,{className:"space-y-4",children:[c.jsx(Bme,{className:"text-sm",children:n(r.descriptionKey)}),r.settingsPath&&c.jsx(tc,{to:r.settingsPath,children:c.jsxs(Le,{variant:"outline",size:"sm",className:"gap-2",children:[c.jsx(Ch,{className:"size-4"}),n("Configure Relays")]})})]})]})}function nO({searchParams:t}){if(!t)return null;if(t.type==="profile")return c.jsx(GP,{id:t.search});if(t.type==="profiles")return Xe.hasCustomSearchRelays()?c.jsx(Age,{search:t.search}):c.jsx("div",{className:"p-4",children:c.jsx(wR,{type:"search"})});if(t.type==="notes"){const e=Xe.getSearchRelays();return e.length===0?c.jsx("div",{className:"p-4",children:c.jsx(wR,{type:"search"})}):c.jsx(ad,{subRequests:[{urls:e,filter:{search:t.search}}],showRelayCloseReason:!0})}return t.type==="hashtag"?c.jsx(ad,{subRequests:[{urls:ze.currentRelays,filter:{"#t":[t.search]}}],showRelayCloseReason:!0}):t.type==="nak"?c.jsx(ad,{subRequests:[t.request],showRelayCloseReason:!0}):c.jsx(tO,{url:t.search})}function gft({open:t,onClose:e}){const[n,r]=h.useState(""),[o,s]=h.useState(null),a=h.useRef(null),i=h.useRef(null);h.useEffect(()=>{t?setTimeout(()=>{var u;return(u=a.current)==null?void 0:u.focus()},100):(r(""),s(null))},[t]);const l=u=>{var d;s(u),u!=null&&u.input&&r(u.input),(d=i.current)==null||d.scrollTo({top:0,behavior:"instant"})};return t?c.jsxs("div",{className:"fixed inset-0 z-50 bg-background flex flex-col",children:[c.jsxs("div",{className:"flex items-center h-12 border-b bg-background",children:[c.jsx("button",{onClick:e,className:"flex items-center justify-center w-12 h-full hover:bg-accent transition-colors","aria-label":"Close search",children:c.jsx(Zm,{className:"w-5 h-5"})}),c.jsx("div",{className:"flex-1 h-full pr-3",children:c.jsx(LE,{ref:a,onSearch:l,input:n,setInput:r})})]}),c.jsx("div",{ref:i,className:"flex-1 overflow-y-auto bg-background",children:c.jsx(nO,{searchParams:o})})]}):null}function mZ(){const{isSmallScreen:t}=gn(),{checkLogin:e}=wt(),{openCompose:n}=ML(),[r,o]=h.useState(!1);return t?c.jsxs(c.Fragment,{children:[c.jsxs("div",{className:"fixed z-40 flex flex-col items-center gap-3",style:{bottom:"calc(16px + env(safe-area-inset-bottom))",right:"16px"},children:[c.jsx("button",{onClick:()=>o(!0),className:"flex items-center justify-center size-10 rounded-full bg-muted text-foreground shadow-md active:scale-95 transition-transform","aria-label":"Search",children:c.jsx(rx,{className:"size-5"})}),c.jsx("button",{onClick:()=>e(()=>n()),className:"flex items-center justify-center size-14 rounded-full bg-primary text-primary-foreground shadow-lg active:scale-95 transition-transform","aria-label":"Compose",children:c.jsx(o2,{className:"size-6"})})]}),c.jsx(gft,{open:r,onClose:()=>o(!1)})]}):null}const Bge="/assets/smeshiconlight-CFHlRXIS.png";function yft({className:t}){const{theme:e}=gf(),n=e==="light"?Bge:DL;return c.jsx("img",{src:n,alt:"Smesh",className:t})}const vft="/assets/smeshlight-BmXzY5ni.png",wft="/assets/smeshdark-DeEYtFvt.png";function Uge({className:t}){const{theme:e}=gf(),n=e==="light"?vft:wft;return c.jsx("img",{src:n,alt:"Smesh",className:t})}function $ge({open:t=!1,setOpen:e}){const{t:n}=qe(),{isSmallScreen:r}=gn(),{account:o,removeAccount:s}=wt();return r?c.jsx(ao,{defaultOpen:!1,open:t,onOpenChange:e,children:c.jsxs(io,{children:[c.jsxs(yf,{children:[c.jsx(xd,{children:n("Logout")}),c.jsx(Wg,{children:n("Are you sure you want to logout?")})]}),c.jsxs(IS,{children:[c.jsx(Le,{variant:"outline",onClick:()=>e(!1),className:"w-full",children:n("Cancel")}),c.jsx(Le,{variant:"destructive",onClick:()=>{o&&(e(!1),s(o))},className:"w-full",children:n("Logout")})]})]})}):c.jsx(af,{defaultOpen:!1,open:t,onOpenChange:e,children:c.jsxs(nu,{children:[c.jsxs(ru,{children:[c.jsx(su,{children:n("Logout")}),c.jsx(au,{children:n("Are you sure you want to logout?")})]}),c.jsxs(ou,{children:[c.jsx(cf,{children:n("Cancel")}),c.jsx(lf,{variant:"destructive",onClick:()=>{o&&s(o)},children:n("Logout")})]})]})})}const vl=h.forwardRef(({children:t,title:e,description:n,className:r,active:o,collapse:s,navIndex:a,onClick:i,...l},u)=>{const{t:d}=qe(),f=h.useRef(null),m=h.useCallback(()=>{var b;(b=f.current)==null||b.click()},[]),{ref:g,isSelected:w}=o1(0,a??0,{meta:{type:"sidebar",onActivate:m}});return c.jsx("div",{ref:g,children:c.jsxs(Le,{className:Re("flex shadow-none items-center transition-colors duration-500 bg-transparent m-0 rounded-lg gap-4 text-lg font-semibold",s?"w-12 h-12 p-3 [&_svg]:size-full":"justify-start w-full h-auto py-2 px-3 [&_svg]:size-5",o&&"text-primary hover:text-primary bg-primary/10 hover:bg-primary/10",w&&"ring-2 ring-primary ring-offset-2 ring-offset-background",r),variant:"ghost",title:d(e),ref:f,onClick:i,...l,children:[t,!s&&c.jsx("div",{children:d(n??e)})]})})});vl.displayName="SidebarItem";function Vge({collapse:t}){const{pubkey:e}=wt();return e?c.jsx(bft,{collapse:t}):c.jsx(xft,{collapse:t})}function bft({collapse:t}){const{t:e}=qe(),{account:n,accounts:r,switchAccount:o}=wt(),s=n==null?void 0:n.pubkey,{push:a}=kn(),{isSmallScreen:i}=gn(),{close:l}=uve(),[u,d]=h.useState(!1),[f,m]=h.useState(!1),[g,w]=h.useState(!1);if(!s)return null;const b=()=>{d(!1),i?(l(),setTimeout(()=>m(!0),150)):m(!0)},j=()=>{d(!1),i?(l(),setTimeout(()=>w(!0),150)):w(!0)};return c.jsxs(c.Fragment,{children:[c.jsxs(li,{open:u,onOpenChange:d,children:[c.jsx(Ti,{asChild:!0,children:c.jsx(Le,{variant:"ghost",className:Re("clickable shadow-none p-2 flex items-center bg-transparent text-foreground hover:text-accent-foreground rounded-lg justify-start gap-4 text-lg font-semibold",t?"w-12 h-12":"w-full h-auto"),children:c.jsxs("div",{className:"flex gap-2 items-center flex-1 w-0",children:[c.jsx(nc,{size:"medium",userId:s}),!t&&c.jsx(sd,{className:"truncate font-semibold text-lg",userId:s})]})})}),c.jsxs(ci,{side:"top",className:"w-72",children:[c.jsxs(Sr,{onClick:()=>a(AL()),children:[c.jsx(uL,{}),e("Wallet")]}),c.jsx(hh,{}),c.jsx(QS,{children:e("Switch account")}),r.map(S=>c.jsxs(Sr,{className:S.pubkey===s?"cursor-default focus:bg-background":"",onClick:()=>{S.pubkey!==s&&o(S)},children:[c.jsxs("div",{className:"flex gap-2 items-center flex-1",children:[c.jsx(nc,{userId:S.pubkey}),c.jsxs("div",{className:"flex-1 w-0",children:[c.jsx(sd,{userId:S.pubkey,className:"font-medium truncate",skeletonClassName:"h-3"}),c.jsx(zae,{signerType:S.signerType})]})]}),c.jsx("div",{className:Re("border border-muted-foreground rounded-full size-3.5",S.pubkey===s&&"size-4 border-4 border-primary")})]},`${S.pubkey}:${S.signerType}`)),c.jsx(Sr,{onClick:b,className:"border border-dashed m-2 focus:border-muted-foreground focus:bg-background",children:c.jsxs("div",{className:"flex gap-2 items-center justify-center w-full py-2",children:[c.jsx(Kl,{}),e("Add an Account")]})}),c.jsxs(Sr,{className:"text-destructive focus:text-destructive",onClick:j,children:[c.jsx(CS,{}),c.jsx("span",{className:"shrink-0",children:e("Logout")}),c.jsx(sd,{userId:s,className:"text-muted-foreground border border-muted-foreground px-1 rounded-md text-xs truncate"})]}),c.jsx(hh,{}),c.jsxs(Sr,{onClick:()=>window.location.reload(),children:[c.jsx(Hl,{}),e("Force Reload")]})]})]}),c.jsx(QE,{open:f,setOpen:m}),c.jsx($ge,{open:g,setOpen:w})]})}function xft({collapse:t}){const{checkLogin:e}=wt();return c.jsx(vl,{onClick:()=>e(),title:"Login",collapse:t,children:c.jsx(ex,{})})}function Hge({collapse:t,navIndex:e}){const{navigate:n,current:r,display:o}=Lo(),{checkLogin:s}=wt(),{clearColumn:a}=ii(),i=()=>{s(()=>{n("bookmark"),a(1)})};return c.jsx(vl,{title:"Library",onClick:i,active:o&&r==="bookmark",collapse:t,navIndex:e,children:c.jsx(rae,{})})}const ek=672*60*60,kft=[{label:"1 week",value:10080*60},{label:"2 weeks",value:336*60*60},{label:"4 weeks",value:672*60*60},{label:"2 months",value:1440*60*60},{label:"3 months",value:2160*60*60},{label:"6 months",value:4320*60*60},{label:"9 months",value:270*24*60*60},{label:"12 months",value:360*24*60*60}],gZ=40,yZ=41,k5=42,vZ=43,wZ=44;function Wge(t){return t.access_mode==="open"||t.access_mode==="whitelist"||t.access_mode==="blacklist"?t.access_mode:t.invite_only===!1?"open":"whitelist"}function jft(t){try{const e=JSON.parse(t.content);return{id:t.id,name:e.name||"unnamed",about:e.about||"",picture:e.picture,creator:t.pubkey,createdAt:t.created_at,accessMode:Wge(e),messageExpiry:typeof e.message_expiry=="number"?e.message_expiry:void 0,mods:[],members:[],blocked:[],invited:[],requested:[],rejected:[]}}catch{return null}}function bZ(t){const e=t.tags.find(n=>n[0]==="e"&&(n[3]==="root"||n.length===2));return e?{id:t.id,channelId:e[1],content:t.content,pubkey:t.pubkey,createdAt:t.created_at,event:t}:null}class Cft{async fetchChannels(e){return(await ze.fetchEvents([e],{kinds:[gZ],limit:100})).map(jft).filter(r=>r!==null).sort((r,o)=>o.createdAt-r.createdAt)}async fetchMessages(e,n,r=50,o){const s={kinds:[k5],"#e":[n],limit:r};return o&&(s.until=o),(await ze.fetchEvents([e],s)).map(bZ).filter(i=>i!==null).sort((i,l)=>i.createdAt-l.createdAt)}async fetchChannelMeta(e,n){const r=await ze.fetchEvents([e],{kinds:[yZ],"#e":[n],limit:1});if(r.length===0)return null;const o=r[0],s=[],a=[],i=[],l=[],u=[],d=[];for(const g of o.tags){if(g[0]!=="p")continue;const w=g[1],b=g[2],j=g[3]||"";b==="mod"?s.push(w):b==="member"?a.push({pubkey:w,addedBy:j}):b==="blocked"?i.push({pubkey:w,addedBy:j}):b==="invited"?l.push({pubkey:w,addedBy:j}):b==="requested"?u.push(w):b==="rejected"&&d.push(w)}let f="whitelist",m;try{const g=JSON.parse(o.content);f=Wge(g),typeof g.message_expiry=="number"&&(m=g.message_expiry)}catch{}return{mods:s,members:a,blocked:i,invited:l,requested:u,rejected:d,accessMode:f,messageExpiry:m}}async fetchHiddenMessageIds(e,n,r){if(r.length===0)return new Set;const o=await ze.fetchEvents([e],{kinds:[vZ],authors:r,limit:500}),s=new Set;for(const a of o){const i=a.tags.find(l=>l[0]==="e");i&&s.add(i[1])}return s}async fetchBlockedUsers(e,n,r){if(r.length===0)return new Set;const o=await ze.fetchEvents([e],{kinds:[wZ],"#e":[n],authors:r,limit:500}),s=new Set;for(const a of o){const i=a.tags.find(l=>l[0]==="p");i&&s.add(i[1])}return s}subscribeMessages(e,n,r){return ze.subscribe([e],{kinds:[k5],"#e":[n],since:Math.floor(Date.now()/1e3)},{onevent:o=>{const s=bZ(o);s&&r(s)}})}createChannelDraft(e,n,r="whitelist"){return{kind:gZ,created_at:Math.floor(Date.now()/1e3),tags:[],content:JSON.stringify({name:e,about:n,access_mode:r})}}createMessageDraft(e,n,r,o){const s=Math.floor(Date.now()/1e3);return{kind:k5,created_at:s,tags:[["e",e,n,"root"],["expiration",String(s+(o??ek))]],content:r}}createMetadataUpdateDraft(e,n,r,o,s,a,i,l,u){const d=[["e",e,n,"root"]];for(const f of o)d.push(["p",f,"mod"]);for(const f of s)d.push(["p",f.pubkey,"member",f.addedBy]);for(const f of a)d.push(["p",f.pubkey,"blocked",f.addedBy]);for(const f of i)d.push(["p",f.pubkey,"invited",f.addedBy]);for(const f of l)d.push(["p",f,"requested"]);for(const f of u)d.push(["p",f,"rejected"]);return{kind:yZ,created_at:Math.floor(Date.now()/1e3),tags:d,content:JSON.stringify(r)}}createHideMessageDraft(e,n,r=""){const o=Math.floor(Date.now()/1e3);return{kind:vZ,created_at:o,tags:[["e",e,n,"root"],["expiration",String(o+ek)]],content:r}}createBlockUserDraft(e,n,r,o=""){const s=Math.floor(Date.now()/1e3);return{kind:wZ,created_at:s,tags:[["e",e,r,"root"],["p",n],["expiration",String(s+ek)]],content:o}}}const Tl=new Cft;function Sft(t){try{return JSON.parse(localStorage.getItem(t)||"{}")}catch{return{}}}function Eft(t,e){localStorage.setItem(t,JSON.stringify(e))}function Nft(t){try{return new Set(JSON.parse(localStorage.getItem(t)||"[]"))}catch{return new Set}}function Ift(t,e){localStorage.setItem(t,JSON.stringify([...e]))}const Yge=h.createContext(void 0);function gc(){const t=h.useContext(Yge);if(!t)throw new Error("useChat must be used within ChatProvider");return t}const Aft="wss://relay.orly.dev/";function _ft({children:t}){const{pubkey:e,signEvent:n}=wt(),[r,o]=h.useState(Aft),[s,a]=h.useState([]),[i,l]=h.useState(null),[u,d]=h.useState([]),[f,m]=h.useState(!1),[g,w]=h.useState(!1),b=h.useRef(null),j=h.useRef(new Set),[S,I]=h.useState({}),[N,M]=h.useState(new Set),[,D]=h.useState({}),O=h.useRef(null),[L,B]=h.useState([]),[T,R]=h.useState([]),[z,Y]=h.useState([]),[Q,W]=h.useState([]),[F,X]=h.useState([]),[$,V]=h.useState([]),[K,G]=h.useState("whitelist"),[J,ne]=h.useState(new Set);h.useEffect(()=>{O.current=i},[i]),h.useEffect(()=>{e&&(Sft(`nirc:lastSeen:${e}`),M(Nft(`nirc:muted:${e}`)))},[e]);const re=h.useMemo(()=>!e||!i?!1:i.creator===e?!0:L.includes(e),[e,i,L]),de=h.useMemo(()=>!e||!i?!1:K==="open"||i.creator===e||L.includes(e)?!0:K==="whitelist"?T.some(Se=>Se.pubkey===e)||Q.some(Se=>Se.pubkey===e):K==="blacklist"?!z.some(Se=>Se.pubkey===e):!1,[e,i,K,L,T,Q,z]),Ne=h.useMemo(()=>{const Se=new Set;for(const ye of u)Se.add(ye.pubkey);for(const ye of T)Se.add(ye.pubkey);for(const ye of Q)Se.add(ye.pubkey);for(const ye of L)Se.add(ye);return i&&Se.add(i.creator),[...Se]},[u,T,Q,L,i]),ve=h.useMemo(()=>Object.entries(S).some(([Se,ye])=>ye>0&&!N.has(Se)),[S,N]),xe=h.useCallback(Se=>{I(We=>{if(!We[Se])return We;const Ee={...We};return delete Ee[Se],Ee});const ye=Math.floor(Date.now()/1e3);D(We=>{const Ee={...We,[Se]:ye};return e&&Eft(`nirc:lastSeen:${e}`,Ee),Ee})},[e]),ce=h.useCallback(Se=>{M(ye=>{const We=new Set(ye);return We.has(Se)?We.delete(Se):We.add(Se),e&&Ift(`nirc:muted:${e}`,We),We})},[e]),pe=h.useCallback(async()=>{m(!0);try{const Se=await Tl.fetchChannels(r);a(Se)}finally{m(!1)}},[r]);h.useEffect(()=>{pe()},[pe]);const me=h.useCallback(async Se=>{const ye=await Tl.fetchChannelMeta(r,Se.id),We=Se.creator;let Ee=[],Pe=[],Qe=[],mt=[],Rt=[],At=[],_t=Se.accessMode;ye&&(Ee=ye.mods,Pe=ye.members,Qe=ye.blocked,mt=ye.invited,Rt=ye.requested,At=ye.rejected,_t=ye.accessMode,Se.accessMode=_t,ye.messageExpiry!==void 0&&(Se.messageExpiry=ye.messageExpiry)),Ee.includes(We)||(Ee=[We,...Ee]),B(Ee),R(Pe),Y(Qe),W(mt),X(Rt),V(At),G(_t);const Ht=Ee,dt=await Tl.fetchHiddenMessageIds(r,Se.id,Ht);ne(dt);const xt=await Tl.fetchBlockedUsers(r,Se.id,Ht);xt.size>0&&Y(vt=>{const yt=new Set(vt.map(qt=>qt.pubkey)),Wt=[...xt].filter(qt=>!yt.has(qt)).map(qt=>({pubkey:qt,addedBy:""}));return[...vt,...Wt]})},[r]),ke=h.useCallback(async Se=>{var ye;if((ye=b.current)==null||ye.close(),b.current=null,j.current.clear(),l(Se),d([]),B([]),R([]),Y([]),W([]),X([]),V([]),G("whitelist"),ne(new Set),!!Se){xe(Se.id),w(!0);try{const[We]=await Promise.all([Tl.fetchMessages(r,Se.id),me(Se)]);d(We),We.forEach(Ee=>j.current.add(Ee.id))}finally{w(!1)}b.current=Tl.subscribeMessages(r,Se.id,We=>{j.current.has(We.id)||(j.current.add(We.id),d(Ee=>[...Ee,We]))})}},[r,xe,me]),le=h.useRef(null),he=h.useCallback(Se=>{if(!Se){le.current=null,ke(null);return}const ye=s.find(We=>We.id===Se);ye?(le.current=null,ke(ye)):le.current=Se},[s,ke]);h.useEffect(()=>{if(le.current&&s.length>0){const Se=s.find(ye=>ye.id===le.current);Se&&(le.current=null,ke(Se))}},[s,ke]),h.useEffect(()=>()=>{var Se;(Se=b.current)==null||Se.close()},[]),h.useEffect(()=>{if(!e||s.length===0)return;const Se=s.map(We=>We.id),ye=ze.subscribe([r],{kinds:[42],"#e":Se,since:Math.floor(Date.now()/1e3)},{onevent:We=>{var Qe,mt;if(We.pubkey===e)return;const Ee=(Qe=We.tags)==null?void 0:Qe.find(Rt=>Rt[0]==="e"&&(Rt[3]==="root"||Rt.length===2));if(!Ee)return;const Pe=Ee[1];((mt=O.current)==null?void 0:mt.id)!==Pe&&(N.has(Pe)||I(Rt=>({...Rt,[Pe]:(Rt[Pe]||0)+1})))}});return()=>{ye.close()}},[e,s,r,N]);const we=h.useCallback(async Se=>{if(!i||!e)return;const ye=Tl.createMessageDraft(i.id,r,Se,i.messageExpiry),We=await n(ye);await ze.publishEvent([r],We)},[i,r,e,n]),Ae=h.useCallback(async(Se,ye,We="whitelist")=>{if(!e)return;const Ee=Tl.createChannelDraft(Se,ye,We),Pe=await n(Ee);await ze.publishEvent([r],Pe),await pe()},[r,e,n,pe]),Ve=h.useCallback(async()=>{if(!i||u.length===0)return;const Se=u[0],ye=await Tl.fetchMessages(r,i.id,50,Se.createdAt-1);ye.forEach(We=>j.current.add(We.id)),d(We=>[...ye,...We])},[i,u,r]),Ze=h.useCallback(async(Se,ye,We,Ee,Pe,Qe,mt,Rt)=>{if(!i||!e)return;const At={name:i.name,about:i.about,access_mode:mt??K},_t=Rt??i.messageExpiry;_t!==void 0&&(At.message_expiry=_t);const Ht=Tl.createMetadataUpdateDraft(i.id,r,At,Se.filter(xt=>xt!==i.creator),ye,We,Ee,Pe,Qe),dt=await n(Ht);await ze.publishEvent([r],dt)},[i,r,e,n,K]),nt=h.useCallback(async Se=>{const ye=[...L,Se];B(ye),await Ze(ye,T,z,Q,F,$)},[L,T,z,Q,F,$,Ze]),$e=h.useCallback(async Se=>{const ye=L.filter(Qe=>Qe!==Se),We=T.filter(Qe=>Qe.addedBy!==Se),Ee=z.filter(Qe=>Qe.addedBy!==Se),Pe=Q.filter(Qe=>Qe.addedBy!==Se);B(ye),R(We),Y(Ee),W(Pe),await Ze(ye,We,Ee,Pe,F,$)},[L,T,z,Q,F,$,Ze]),Ke=h.useCallback(async Se=>{if(!e)return;const ye={pubkey:Se,addedBy:e},We=[...T,ye],Ee=F.filter(Pe=>Pe!==Se);R(We),X(Ee),await Ze(L,We,z,Q,Ee,$)},[e,L,T,z,Q,F,$,Ze]),Me=h.useCallback(async Se=>{const ye=T.filter(We=>We.pubkey!==Se);R(ye),await Ze(L,ye,z,Q,F,$)},[L,T,z,Q,F,$,Ze]),et=h.useCallback(async Se=>{if(!e)return;const ye=Tl.createHideMessageDraft(Se,r),We=await n(ye);await ze.publishEvent([r],We),ne(Ee=>new Set([...Ee,Se]))},[r,e,n]),pt=h.useCallback(async Se=>{if(!i||!e)return;const ye=Tl.createBlockUserDraft(i.id,Se,r),We=await n(ye);await ze.publishEvent([r],We);const Ee={pubkey:Se,addedBy:e};Y(Pe=>[...Pe,Ee])},[i,r,e,n]),ht=h.useCallback(async Se=>{const ye=z.filter(We=>We.pubkey!==Se);Y(ye),await Ze(L,T,ye,Q,F,$)},[L,T,z,Q,F,$,Ze]),st=h.useCallback(async Se=>{G(Se),l(ye=>ye?{...ye,accessMode:Se}:null),await Ze(L,T,z,Q,F,$,Se)},[L,T,z,Q,F,$,Ze]),De=h.useCallback(async Se=>{l(ye=>ye?{...ye,messageExpiry:Se}:null),await Ze(L,T,z,Q,F,$,void 0,Se)},[L,T,z,Q,F,$,Ze]),se=h.useCallback(async Se=>{if(!i||!e)return;const ye={pubkey:Se,addedBy:e},We=[...Q,ye];W(We),await Ze(L,T,z,We,F,$);const Ee=`https://smesh.mleku.dev/#/chat/${i.id}`,Pe=`You've been invited to #${i.name} on NIRC:
2319 ${Ee}`,Qe={kind:4,created_at:Math.floor(Date.now()/1e3),tags:[["p",Se]],content:Pe};try{const mt=await n(Qe);await ze.publishEvent([r],mt)}catch{}},[i,e,L,T,z,Q,F,$,Ze,n,r]),q=h.useCallback(async Se=>{const ye=Q.filter(We=>We.pubkey!==Se);W(ye),await Ze(L,T,z,ye,F,$)},[L,T,z,Q,F,$,Ze]),Z=h.useCallback(async Se=>{await Ke(Se)},[Ke]),ie=h.useCallback(async Se=>{const ye=F.filter(Ee=>Ee!==Se),We=[...$,Se];X(ye),V(We),await Ze(L,T,z,Q,ye,We)},[L,T,z,Q,F,$,Ze]),Ce=h.useCallback(async Se=>{const ye=$.filter(We=>We!==Se);V(ye),await Ze(L,T,z,Q,F,ye)},[L,T,z,Q,F,$,Ze]),Te=h.useMemo(()=>{const Se=new Set(z.map(ye=>ye.pubkey));return u.filter(ye=>!J.has(ye.id)&&!Se.has(ye.pubkey))},[u,J,z]);return c.jsx(Yge.Provider,{value:{channels:s,currentChannel:i,messages:Te,isLoadingChannels:f,isLoadingMessages:g,relayUrl:r,setRelayUrl:o,selectChannel:ke,selectChannelById:he,sendMessage:we,createChannel:Ae,refreshChannels:pe,loadMoreMessages:Ve,unreadCounts:S,hasUnreadChannels:ve,mutedChannels:N,markChannelAsSeen:xe,toggleMuteChannel:ce,channelMods:L,channelMembers:T,channelBlocked:z,channelInvited:Q,channelRequested:F,channelRejected:$,channelAccessMode:K,hiddenMessages:J,isOwnerOrMod:re,isMember:de,addMod:nt,removeMod:$e,approveMember:Ke,removeMember:Me,hideMessage:et,blockUser:pt,unblockUser:ht,updateAccessMode:st,updateMessageExpiry:De,sendInvite:se,revokeInvite:q,acceptRequest:Z,rejectRequest:ie,revokeRejection:Ce,channelParticipants:Ne},children:t})}function Gge({collapse:t,navIndex:e}){const{navigate:n,current:r,display:o}=Lo(),{hasUnreadChannels:s}=gc(),{hasNewMessages:a}=bf(),{clearColumn:i}=ii(),l=s||a,u=()=>{n("chat"),i(1)};return c.jsx(vl,{title:"Chat",onClick:u,active:o&&r==="chat",collapse:t,navIndex:e,children:c.jsxs("div",{className:"relative",children:[c.jsx(nx,{}),l&&c.jsx("div",{className:"absolute -top-1 right-0 w-2 h-2 ring-2 ring-background bg-primary rounded-full"})]})})}function Mft({collapse:t,navIndex:e}){const{current:n,navigate:r,display:o}=Lo(),{push:s}=kn(),{enableSingleColumnLayout:a}=ts(),{clearColumn:i}=ii(),l=()=>{a?(r("help"),i(1)):s(fFe())};return c.jsx(vl,{title:"Help",onClick:l,collapse:t,active:o&&n==="help",navIndex:e,children:c.jsx(Yse,{})})}function qge({collapse:t,navIndex:e}){const{navigate:n,current:r,display:o}=Lo(),{resetPrimarySelection:s,clearColumn:a}=ii(),i=()=>{n("home"),a(1),s()};return c.jsx(vl,{title:"Home",onClick:i,active:o&&r==="home",collapse:t,navIndex:e,children:c.jsx(N7e,{})})}function Rft({collapse:t}){const{t:e}=qe(),{isEnabled:n,toggleKeyboardMode:r}=ii();return c.jsxs(Le,{className:Re("flex shadow-none items-center transition-colors duration-500 bg-transparent m-0 rounded-lg gap-2 text-sm font-semibold",t?"w-12 h-12 p-3 [&_svg]:size-full":"justify-start w-full h-auto py-2 px-3 [&_svg]:size-5",n&&"text-primary hover:text-primary bg-primary/10 hover:bg-primary/10"),variant:"ghost",title:e("Toggle keyboard navigation (⇧K)"),onClick:r,children:[c.jsx(tae,{}),!t&&c.jsxs("div",{className:"flex items-center gap-2",children:[c.jsx("span",{children:e("Keyboard")}),c.jsx("kbd",{className:"text-xs px-1.5 py-0.5 rounded bg-muted text-muted-foreground border",children:"⇧K"})]}),t&&c.jsx("span",{className:"sr-only",children:e("Toggle keyboard navigation")})]})}function Tft({collapse:t}){const{enableSingleColumnLayout:e,updateEnableSingleColumnLayout:n}=ts(),{canUseDoublePane:r}=gn();return r?t?c.jsx(Le,{variant:"ghost",className:"size-12 hover:border",onClick:()=>n(!e),children:e?c.jsx(ej,{className:"!size-5"}):c.jsx(Jk,{className:"!size-5"})}):c.jsx("div",{className:"rounded-lg bg-muted p-1 shadow-inner",children:c.jsxs("div",{className:"relative flex items-center justify-around",children:[c.jsx("div",{className:"py-1 w-full z-10 cursor-pointer flex flex-col items-center",onClick:()=>n(!1),children:c.jsx(Jk,{className:Re("size-5",e&&"text-muted-foreground")})}),c.jsx("div",{className:"py-1 w-full z-10 cursor-pointer flex flex-col items-center",onClick:()=>n(!0),children:c.jsx(ej,{className:Re("size-5",!e&&"text-muted-foreground")})}),c.jsx("div",{className:Re("rounded-md absolute top-0 left-0 inset-0 w-1/2 h-full transition-transform shadow-sm",e?"translate-x-full bg-background":"translate-x-0 bg-surface-background")})]})}):null}function Kge(t,{pubkey:e,mutePubkeySet:n,hideContentMentioningMutedUsers:r,hideUntrustedNotifications:o,isUserTrusted:s}){var a;return!(n.has(t.pubkey)||r&&Qu(t,n)||o&&!s(t.pubkey)||e&&t.kind===Ue.Reaction&&((a=t.tags.findLast(An("p")))==null?void 0:a[1])!==e)}const Zge=h.createContext(void 0),rO=()=>{const t=h.useContext(Zge);if(!t)throw new Error("useNotification must be used within a NotificationProvider");return t};function j5({children:t}){const{current:e}=Lo(),n=h.useMemo(()=>e==="notifications",[e]),{pubkey:r,notificationsSeenAt:o,updateNotificationsSeenAt:s}=wt(),{hideUntrustedNotifications:a,isUserTrusted:i}=da(),{mutePubkeySet:l}=ns(),{hideContentMentioningMutedUsers:u}=lo(),[d,f]=h.useState([]),[m,g]=h.useState(new Set),w=h.useMemo(()=>{if(n||o<0)return[];const I=[];for(const N of d){if(N.created_at<=o||I.length>=10)break;Kge(N,{pubkey:r,mutePubkeySet:l,hideContentMentioningMutedUsers:u,hideUntrustedNotifications:a,isUserTrusted:i})&&I.push(N)}return I},[d,o,l,u,a,i,n]);h.useEffect(()=>{f([]),s(!n)},[n]),h.useEffect(()=>{if(!r)return;f([]),g(new Set);const I={current:!0},N={current:null},M=async()=>{if(N.current&&(N.current.close(),N.current=null),!I.current)return null;try{let D=!1;const O=await ze.fetchRelayList(r),L=ze.subscribe(O.read.length>0?O.read.slice(0,5):ze.currentRelays.slice(0,5),[{kinds:[Ue.ShortTextNote,Ue.Repost,Ue.Reaction,Ue.Zap,gt.COMMENT,gt.POLL_RESPONSE,gt.VOICE_COMMENT,gt.POLL],"#p":[r],limit:20}],{oneose:B=>{B&&(D=B,f(T=>[...T.sort((R,z)=>dg(z,R))]))},onevent:B=>{B.pubkey!==r&&f(T=>D?T.length&&dg(T[0],B)>=0?T:(ze.emitNewEvent(B),[B,...T]):[B,...T])},onAllClose:B=>{B.every(T=>T==="closed by caller")||I.current&&setTimeout(()=>{I.current&&M()},5e3)}});return N.current=L,L}catch(D){return console.error("Subscription error:",D),I.current&&setTimeout(()=>{I.current&&M()},5e3),null}};return M(),()=>{I.current=!1,N.current&&(N.current.close(),N.current=null)}},[r]),h.useEffect(()=>{const I=w.length;I>0?document.title=`(${I>=10?"9+":I}) Smesh`:document.title="Smesh";const N=document.querySelectorAll("link[rel*='icon']");if(N.length)if(I===0)N.forEach(M=>{M.href="/favicon.ico"});else{const M=document.createElement("img");M.src="/favicon.ico",M.onload=()=>{const D=Math.max(M.width,M.height,32),O=document.createElement("canvas");O.width=D,O.height=D;const L=O.getContext("2d");if(!L)return;L.drawImage(M,0,0,D,D);const B=D*.16;L.beginPath(),L.arc(D-B-6,B+6,B,0,2*Math.PI),L.fillStyle="#FF0000",L.fill(),N.forEach(T=>{T.href=O.toDataURL("image/png")})}}},[w]);const b=()=>o>=0?o:r?Xe.getLastReadNotificationTime(r):0,j=I=>m.has(I),S=I=>{g(N=>new Set([...N,I]))};return c.jsx(Zge.Provider,{value:{hasNewNotification:w.length>0,getNotificationsSeenAt:b,isNotificationRead:j,markNotificationAsRead:S},children:t})}function Qge({collapse:t,navIndex:e}){const{checkLogin:n}=wt(),{navigate:r,current:o,display:s}=Lo(),{hasNewNotification:a}=rO(),{clearColumn:i}=ii(),l=()=>{n(()=>{r("notifications"),i(1)})};return c.jsx(vl,{title:"Notifications",onClick:l,active:s&&o==="notifications",collapse:t,navIndex:e,children:c.jsxs("div",{className:"relative",children:[c.jsx(gy,{}),a&&c.jsx("div",{className:"absolute -top-1 right-0 w-2 h-2 ring-2 ring-background bg-primary rounded-full"})]})})}function Dft({collapse:t,navIndex:e}){const{checkLogin:n}=wt(),{openCompose:r}=ML();return c.jsx("div",{className:"pt-4",children:c.jsx(vl,{title:"New post",description:"Post",onClick:o=>{o.stopPropagation(),n(()=>{r()})},variant:"default",className:Re("bg-primary gap-2",!t&&"justify-center"),collapse:t,navIndex:e,children:c.jsx(o2,{})})})}function Jge({collapse:t,navIndex:e}){const{push:n}=kn(),{pubkey:r,checkLogin:o}=wt(),s=()=>{o(()=>{r&&n(wf(r))})};return c.jsx(vl,{title:"Profile",onClick:s,active:!1,collapse:t,navIndex:e,children:c.jsx(ES,{})})}function Lft({collapse:t,navIndex:e}){const{current:n,navigate:r,display:o}=Lo(),{clearColumn:s}=ii(),a=()=>{r("relay"),s(1)};return c.jsx(vl,{title:"Relay",onClick:a,collapse:t,active:o&&n==="relay",navIndex:e,children:c.jsx(ei,{})})}function Pft({collapse:t,navIndex:e}){const{navigate:n,current:r,display:o}=Lo(),{clearColumn:s}=ii(),a=()=>{n("search"),s(1)};return c.jsx(vl,{title:"Search",onClick:a,active:r==="search"&&o,collapse:t,navIndex:e,children:c.jsx(rx,{})})}function Xge({collapse:t,navIndex:e}){const{current:n,navigate:r,display:o}=Lo(),{push:s}=kn(),{enableSingleColumnLayout:a}=ts(),{clearColumn:i}=ii(),l=()=>{a?(r("settings"),i(1)):s(Lie())};return c.jsx(vl,{title:"Settings",onClick:l,collapse:t,active:o&&n==="settings",navIndex:e,children:c.jsx(Ch,{})})}function xZ(){const{isSmallScreen:t,isNarrowDesktop:e}=gn(),{themeSetting:n}=gf(),{sidebarCollapse:r,updateSidebarCollapse:o,enableSingleColumnLayout:s}=ts(),{pubkey:a}=wt(),{navigate:i}=Lo();if(t)return null;const l=e||r;return c.jsxs("div",{className:Re("relative z-40 flex flex-col pb-2 pt-3 justify-between h-full shrink-0 bg-chrome-background",l?"px-2 w-16":"px-4 w-52"),children:[c.jsxs("div",{className:"space-y-2",children:[l?c.jsx("button",{className:"px-3 py-1 mb-4 w-full cursor-pointer hover:opacity-80 transition-opacity",onClick:()=>i("home"),"aria-label":"Go to home",children:c.jsx(yft,{})}):c.jsx("button",{className:"px-4 mb-4 w-full cursor-pointer hover:opacity-80 transition-opacity",onClick:()=>i("home"),"aria-label":"Go to home",children:c.jsx(Uge,{})}),c.jsx(qge,{collapse:l,navIndex:0}),c.jsx(Qge,{collapse:l,navIndex:1}),c.jsx(Pft,{collapse:l,navIndex:2}),a&&c.jsx(Gge,{collapse:l,navIndex:3}),c.jsx(Jge,{collapse:l,navIndex:a?4:3}),a&&c.jsx(Hge,{collapse:l,navIndex:5}),c.jsx(Lft,{collapse:l,navIndex:a?6:4}),c.jsx(Xge,{collapse:l,navIndex:a?7:5}),c.jsx(Dft,{collapse:l,navIndex:a?8:5})]}),c.jsxs("div",{className:"space-y-4",children:[c.jsx(Mft,{collapse:l,navIndex:a?9:6}),c.jsx(Rft,{collapse:l}),c.jsx(Tft,{collapse:l}),c.jsx(Vge,{collapse:l})]}),!e&&c.jsx("button",{className:Re("absolute flex flex-col justify-center items-center right-0 w-5 h-6 p-0 rounded-l-md hover:shadow-md text-muted-foreground hover:text-foreground hover:bg-background transition-colors [&_svg]:size-4",n==="dark"||s?"top-3":"top-5"),onClick:u=>{u.stopPropagation(),o(!r)},children:r?c.jsx(y7e,{}):c.jsx(g7e,{})})]})}function Oft({className:t}){return c.jsxs("svg",{className:t,viewBox:"0 0 640 640",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",children:[c.jsx("path",{d:"M395.9 484.2l-126.9-61c-12.5-6-17.9-21.2-11.8-33.8l61-126.9c6-12.5 21.2-17.9 33.8-11.8 17.2 8.3 27.1 13 27.1 13l-33.1 68.8c-7.5 15.6 9.4 28.3 23.6 21l68.8-33.1s4.8 9.9 13 27.1c6.1 12.6.7 27.8-11.8 33.8l-43.7 21"}),c.jsx("path",{d:"M320 59.5c-144 0-261 116.8-261 261 0 114.4 93 207.1 207.8 207.1h53.2c114.4 0 207.1-92.7 207.1-207.1 0-144.2-117-261-207.1-261zm143.6 293.8c-1.9 52.5-52.6 94.4-94.4 94.4H269c-52.5 0-94.4-42.3-94.4-94.4s42.3-94.4 94.4-94.4c25.6 0 48.8 10.2 65.8 26.7 4.3 4.2 11.3 4.1 15.5-.2 4.2-4.3 4.1-11.3-.2-15.5-21.2-20.6-49.9-33.2-81.1-33.2-64.5 0-116.6 52-116.6 116.6 0 64.5 52 116.6 116.6 116.6h100.3c64.5 0 116.6-52 116.6-116.6 0-3.3-.1-6.6-.4-9.8l-25.5 9.8z"})]})}function kZ(t,e){if(typeof t=="function")return t(e);t!=null&&(t.current=e)}function zft(...t){return e=>{let n=!1;const r=t.map(o=>{const s=kZ(o,e);return!n&&typeof s=="function"&&(n=!0),s});if(n)return()=>{for(let o=0;o<r.length;o++){const s=r[o];typeof s=="function"?s():kZ(t[o],null)}}}}var e1e=h.forwardRef((t,e)=>{const{children:n,...r}=t,o=h.Children.toArray(n),s=o.find(Bft);if(s){const a=s.props.children,i=o.map(l=>l===s?h.Children.count(a)>1?h.Children.only(null):h.isValidElement(a)?a.props.children:null:l);return c.jsx(bR,{...r,ref:e,children:h.isValidElement(a)?h.cloneElement(a,void 0,i):null})}return c.jsx(bR,{...r,ref:e,children:n})});e1e.displayName="Slot";var bR=h.forwardRef((t,e)=>{const{children:n,...r}=t;if(h.isValidElement(n)){const o=$ft(n);return h.cloneElement(n,{...Uft(r,n.props),ref:e?zft(e,o):o})}return h.Children.count(n)>1?h.Children.only(null):null});bR.displayName="SlotClone";var Fft=({children:t})=>c.jsx(c.Fragment,{children:t});function Bft(t){return h.isValidElement(t)&&t.type===Fft}function Uft(t,e){const n={...e};for(const r in e){const o=t[r],s=e[r];/^on[A-Z]/.test(r)?o&&s?n[r]=(...i)=>{s(...i),o(...i)}:o&&(n[r]=o):r==="style"?n[r]={...o,...s}:r==="className"&&(n[r]=[o,s].filter(Boolean).join(" "))}return{...t,...n}}function $ft(t){var r,o;let e=(r=Object.getOwnPropertyDescriptor(t.props,"ref"))==null?void 0:r.get,n=e&&"isReactWarning"in e&&e.isReactWarning;return n?t.ref:(e=(o=Object.getOwnPropertyDescriptor(t,"ref"))==null?void 0:o.get,n=e&&"isReactWarning"in e&&e.isReactWarning,n?t.props.ref:t.props.ref||t.ref)}var Vft=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","span","svg","ul"],Hft=Vft.reduce((t,e)=>{const n=h.forwardRef((r,o)=>{const{asChild:s,...a}=r,i=s?e1e:e;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),c.jsx(i,{...a,ref:o})});return n.displayName=`Primitive.${e}`,{...t,[e]:n}},{}),Wft="VisuallyHidden",oO=h.forwardRef((t,e)=>c.jsx(Hft.span,{...t,ref:e,style:{position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal",...t.style}}));oO.displayName=Wft;const Yft=3e3;function Gft({collapse:t}){const{t:e}=qe(),{account:n,removeAccount:r}=wt(),[o,s]=h.useState(0),[a,i]=h.useState(!1),l=h.useRef(null),u=h.useRef(null),d=h.useCallback(()=>{if(!n)return;i(!0),u.current=Date.now();const m=()=>{if(!u.current)return;const g=Date.now()-u.current,w=Math.min(g/Yft*100,100);if(s(w),w>=100){r(n),s(0),i(!1),u.current=null;return}l.current=requestAnimationFrame(m)};l.current=requestAnimationFrame(m)},[n,r]),f=h.useCallback(()=>{l.current&&(cancelAnimationFrame(l.current),l.current=null),u.current=null,s(0),i(!1)},[]);return n?c.jsxs("div",{className:"relative",children:[c.jsx(vl,{title:e("Logout"),collapse:t,onTouchStart:d,onTouchEnd:f,onTouchCancel:f,onMouseDown:d,onMouseUp:f,onMouseLeave:f,className:Re("select-none",a&&"text-destructive"),children:c.jsx(CS,{})}),a&&c.jsx("div",{className:"absolute bottom-0 left-0 right-0 h-1 bg-muted rounded-full overflow-hidden",children:c.jsx("div",{className:"h-full bg-destructive transition-none",style:{width:`${o}%`}})})]}):null}function qft({open:t,onOpenChange:e}){const{pubkey:n}=wt(),{navigate:r}=Lo(),o=()=>{e(!1)};return c.jsx(wle,{open:t,onOpenChange:e,children:c.jsxs(PL,{side:"left",hideClose:!0,className:"w-64 p-0 bg-chrome-background border-r-0 rounded-r-none",children:[c.jsxs(oO,{children:[c.jsx(OL,{children:"Navigation Menu"}),c.jsx(zL,{children:"App navigation and account menu"})]}),c.jsxs("div",{className:"flex flex-col h-full pb-4 pt-3 px-4 justify-between",children:[c.jsx("div",{className:"space-y-4",children:c.jsx("div",{onClick:o,children:c.jsx(Vge,{collapse:!1})})}),c.jsxs("div",{className:"space-y-2 flex-1 py-4",children:[c.jsx("div",{onClick:o,children:c.jsx(qge,{collapse:!1})}),c.jsx("div",{onClick:o,children:c.jsx(Qge,{collapse:!1})}),n&&c.jsx("div",{onClick:o,children:c.jsx(Gge,{collapse:!1})}),c.jsx("div",{onClick:o,children:c.jsx(Jge,{collapse:!1})}),n&&c.jsx("div",{onClick:o,children:c.jsx(Hge,{collapse:!1})}),c.jsx("div",{onClick:o,children:c.jsx(Xge,{collapse:!1})}),n&&c.jsx(Gft,{collapse:!1})]}),c.jsxs("div",{className:"space-y-2",children:[c.jsx("button",{className:"px-4 w-full cursor-pointer hover:opacity-80 transition-opacity",onClick:()=>{r("home"),o()},"aria-label":"Go to home",children:c.jsx(Uge,{})}),c.jsxs("a",{href:"https://git.mleku.dev/mleku/smesh",target:"_blank",rel:"noopener noreferrer",className:"flex items-center justify-center gap-2 text-xs text-muted-foreground hover:text-foreground transition-colors",children:[c.jsx(Oft,{className:"w-4 h-4"}),c.jsxs("span",{children:["v","0.6.10"]})]})]})]})]})})}function jZ({className:t}){const[e,n]=h.useState(null),[r,o]=h.useState(null);return h.useEffect(()=>{const s=i=>{const{src:l,time:u}=i.detail;e!==l&&(o(c.jsx(Kft,{src:l,time:u,className:t},l+u)),n(l))},a=()=>{o(null)};return Pp.addEventListener("playAudioBackground",s),Pp.addEventListener("stopAudioBackground",a),()=>{Pp.removeEventListener("playAudioBackground",s),Pp.removeEventListener("stopAudioBackground",a)}},[]),r}function Kft({src:t,time:e,className:n}){return c.jsx(e7,{src:t,className:n,startTime:e,autoPlay:!0,isMinimized:!0})}function C5(){const{t}=qe(),{push:e}=kn(),{profile:n}=wt();return h.useEffect(()=>{n&&!n.lightningAddress&&!Xe.hasShownCreateWalletGuideToast(n.pubkey)&&(on(t("Set up your wallet to send and receive sats!"),{action:{label:t("Set up"),onClick:()=>e(AL())}}),Xe.markCreateWalletGuideToastAsShown(n.pubkey))},[n]),null}function S5(){const{t}=qe(),{isSmallScreen:e}=gn(),{push:n}=kn(),{relayList:r}=wt(),[o,s]=h.useState(!1);if(h.useEffect(()=>{Xe.getDismissedTooManyRelaysAlert()||(r&&(r.read.length>5||r.write.length>5)?s(!0):s(!1))},[r]),!r)return null;const a=()=>{s(!1),n(FS("mailbox"))},i=()=>{Xe.setDismissedTooManyRelaysAlert(!0),s(!1)},l=()=>{s(!1)},u=t("Optimize Relay Settings"),d=t("Your current relay configuration may not be optimal. This could make it difficult for others to find your posts and may result in incomplete notifications.");return e?c.jsx(ao,{open:o,onOpenChange:s,children:c.jsxs(io,{children:[c.jsxs(yf,{children:[c.jsx(xd,{children:u}),c.jsx(Wg,{children:d})]}),c.jsxs(IS,{children:[c.jsx(Le,{onClick:a,children:t("Optimize Now")}),c.jsx(Le,{variant:"outline",onClick:l,children:t("Maybe Later")}),c.jsx(Le,{onClick:i,variant:"link",className:"text-muted-foreground text-xs",children:t("Don't remind me again")})]})]})}):c.jsx(af,{open:o,onOpenChange:s,children:c.jsxs(nu,{children:[c.jsxs(ru,{children:[c.jsx(su,{children:u}),c.jsx(au,{children:d})]}),c.jsxs(ou,{children:[c.jsx(Le,{onClick:i,variant:"link",className:"text-muted-foreground text-xs",children:t("Don't remind me again")}),c.jsx(Le,{variant:"outline",onClick:l,children:t("Maybe Later")}),c.jsx(Le,{onClick:a,children:t("Optimize Now")})]})]})})}const CZ=10;function t1e(){const{t}=qe(),{bookmarkListEvent:e}=wt(),n=h.useMemo(()=>e?e.tags.map(a=>a[0]==="e"?oc(a):a[0]==="a"?eh(a):null).filter(Boolean).reverse():[],[e]),[r,o]=h.useState(CZ),s=h.useRef(null);return h.useEffect(()=>{const a={root:null,rootMargin:"10px",threshold:.1},i=()=>{r<n.length&&o(d=>d+CZ)},l=new IntersectionObserver(d=>{d[0].isIntersecting&&i()},a),u=s.current;return u&&l.observe(u),()=>{l&&u&&l.unobserve(u)}},[r,n]),n.length===0?c.jsx("div",{className:"mt-2 text-sm text-center text-muted-foreground",children:t("no bookmarks found")}):c.jsxs("div",{children:[n.slice(0,r).map(a=>c.jsx(Zft,{eventId:a},a)),r<n.length?c.jsx("div",{ref:s,children:c.jsx(Lx,{})}):c.jsx("div",{className:"text-center text-sm text-muted-foreground mt-2",children:t("no more bookmarks")})]})}function Zft({eventId:t}){const{event:e,isFetching:n}=ll(t);return n?c.jsx(Lx,{className:"border-b"}):e?c.jsx(PE,{event:e,className:"w-full"}):null}function Kj({scrollAreaRef:t,className:e}){const{deepBrowsing:n,lastScrollTop:r}=gge(),{isSmallScreen:o}=gn(),s=Kle(Xw),a=h.useMemo(()=>!n&&r>800,[n,r]),i=()=>{var l;if(!t){const u=window.pageYOffset||document.documentElement.scrollTop,d=500,f=performance.now(),m=w=>w<.5?2*w*w:-1+(4-2*w)*w,g=w=>{const b=w-f,j=Math.min(b/d,1),S=m(j),I=u*(1-S);window.scrollTo(0,I),j<1&&requestAnimationFrame(g)};requestAnimationFrame(g);return}(l=t.current)==null||l.scrollTo({top:0,behavior:"smooth"})};return c.jsx("div",{className:Re("sticky z-30 flex justify-end w-full pr-3 pointer-events-none transition-all duration-700",a?"opacity-100 translate-y-0":"opacity-0 translate-y-4",e),style:{bottom:o?`calc(env(safe-area-inset-bottom) + ${s?7.25:3.85}rem)`:"calc(env(safe-area-inset-bottom) + 0.85rem)"},children:c.jsx(Le,{variant:"secondary-2",className:"rounded-full size-12 p-0 hover:text-background pointer-events-auto disabled:pointer-events-none transition-all duration-200",onClick:i,disabled:!a,children:c.jsx(bd,{})})})}function I2({children:t,className:e,hideBottomBorder:n=!1,hideMenuButton:r=!1}){const{isSmallScreen:o}=gn();return c.jsx("div",{className:Re("sticky top-0 w-full h-12 z-40 [&_svg]:size-5 [&_svg]:shrink-0 select-none bg-background",!n&&"border-b",e),children:c.jsxs("div",{className:"flex items-center h-full w-full",children:[o&&!r&&c.jsx(Qft,{}),c.jsx("div",{className:"flex-1 h-full",children:t})]})})}function Qft(){const{toggle:t}=uve(),{theme:e}=gf(),n=e==="light"?Bge:DL;return c.jsx("button",{onClick:t,className:"flex items-center justify-center w-10 h-full hover:bg-accent transition-colors","aria-label":"Open menu",children:c.jsx("img",{src:n,alt:"Menu",className:"w-6 h-6"})})}const Xl=h.forwardRef(({children:t,titlebar:e,pageName:n,displayScrollToTopButton:r=!1,hideTitlebarBottomBorder:o=!1},s)=>{const{pubkey:a}=wt(),i=h.useRef(null),l=h.useRef(null),u=h.useRef(0),{enableSingleColumnLayout:d}=ts(),{current:f,display:m}=Lo();return h.useImperativeHandle(s,()=>({scrollToTop:(g="smooth")=>{setTimeout(()=>{if(i.current)return i.current.scrollTo({top:0,behavior:g});window.scrollTo({top:0,behavior:g})},10)}}),[]),h.useEffect(()=>{if(!d)return;const g=()=>{var b,j;return(b=l.current)!=null&&b.checkVisibility?(j=l.current)==null?void 0:j.checkVisibility():!1};g()&&window.scrollTo({top:u.current,behavior:"instant"});const w=()=>{g()&&(u.current=window.scrollY)};return window.addEventListener("scroll",w),()=>{window.removeEventListener("scroll",w)}},[f,d,m]),h.useEffect(()=>{u.current=0},[a]),d?c.jsxs(Yj,{active:f===n&&m,children:[c.jsxs("div",{ref:l,style:{paddingBottom:"env(safe-area-inset-bottom)"},children:[c.jsx(SZ,{hideBottomBorder:o,children:e}),t]}),r&&c.jsx(Kj,{})]}):c.jsxs(Yj,{active:f===n&&m,scrollAreaRef:i,children:[c.jsxs(Fa,{className:"h-full overflow-auto",scrollBarClassName:"z-30 pt-12",ref:i,children:[c.jsx(SZ,{hideBottomBorder:o,children:e}),t,c.jsx("div",{className:"h-4"})]}),r&&c.jsx(Kj,{scrollAreaRef:i})]})});Xl.displayName="PrimaryPageLayout";function SZ({children:t,hideBottomBorder:e=!1}){return c.jsx(I2,{className:"p-1",hideBottomBorder:e,children:t})}const n1e=h.forwardRef((t,e)=>c.jsx(Xl,{pageName:"bookmark",ref:e,titlebar:c.jsx(Jft,{}),displayScrollToTopButton:!0,children:c.jsx(t1e,{})}));n1e.displayName="BookmarkPage";function Jft(){const{t}=qe();return c.jsxs("div",{className:"flex gap-2 items-center h-full pl-3",children:[c.jsx(rae,{}),c.jsx("div",{className:"text-lg font-semibold",children:t("Library")})]})}const EZ=[{mode:"open",label:"Open",icon:c.jsx(Xse,{className:"size-3"}),desc:"Anyone authenticated can read and write"},{mode:"whitelist",label:"Whitelist",icon:c.jsx(uh,{className:"size-3"}),desc:"Only listed members can access"},{mode:"blacklist",label:"Blacklist",icon:c.jsx(jS,{className:"size-3"}),desc:"Everyone except excluded users can access"}];function Xft({open:t,onOpenChange:e}){const{createChannel:n}=gc(),[r,o]=h.useState(""),[s,a]=h.useState(""),[i,l]=h.useState("open"),[u,d]=h.useState(!1);if(!t)return null;const f=async()=>{if(r.trim()){d(!0);try{await n(r.trim(),s.trim(),i),o(""),a(""),l("open"),e(!1)}finally{d(!1)}}},m=EZ.find(g=>g.mode===i);return c.jsx("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/50",onClick:()=>e(!1),children:c.jsxs("div",{className:"bg-background border rounded-lg p-4 w-80 space-y-3",onClick:g=>g.stopPropagation(),children:[c.jsx("h3",{className:"font-semibold",children:"Create Channel"}),c.jsx("input",{type:"text",placeholder:"Channel name",value:r,onChange:g=>o(g.target.value),className:"w-full px-3 py-2 text-sm border rounded-md bg-background",autoFocus:!0,onKeyDown:g=>g.key==="Enter"&&f()}),c.jsx("input",{type:"text",placeholder:"Description (optional)",value:s,onChange:g=>a(g.target.value),className:"w-full px-3 py-2 text-sm border rounded-md bg-background",onKeyDown:g=>g.key==="Enter"&&f()}),c.jsxs("div",{className:"space-y-1.5",children:[c.jsx("span",{className:"text-xs text-muted-foreground",children:"Access mode"}),c.jsx("div",{className:"flex gap-1",children:EZ.map(({mode:g,label:w,icon:b})=>c.jsxs("button",{className:`text-xs px-3 py-1.5 rounded border flex items-center gap-1.5 ${i===g?"bg-primary text-primary-foreground border-primary":"border-border"}`,onClick:()=>l(g),children:[b," ",w]},g))}),c.jsx("div",{className:"text-[10px] text-muted-foreground",children:m.desc})]}),c.jsxs("div",{className:"flex justify-end gap-2",children:[c.jsx(Le,{variant:"ghost",size:"sm",onClick:()=>e(!1),children:"Cancel"}),c.jsx(Le,{size:"sm",onClick:f,disabled:!r.trim()||u,children:u?c.jsx(so,{className:"size-4 animate-spin"}):"Create"})]})]})})}function edt(){const{channels:t,currentChannel:e,isLoadingChannels:n,refreshChannels:r,unreadCounts:o,mutedChannels:s}=gc(),{push:a,pop:i}=kn(),[l,u]=h.useState(!1);return c.jsxs("div",{className:"flex flex-col h-full",children:[c.jsxs("div",{className:"flex items-center justify-between px-3 py-2 border-b",children:[c.jsx("span",{className:"text-sm font-semibold",children:"Channels"}),c.jsxs("div",{className:"flex gap-1",children:[c.jsx(Le,{variant:"ghost",size:"icon",className:"size-7",onClick:()=>r(),title:"Refresh",children:c.jsx(Hl,{className:"size-3.5"})}),c.jsx(Le,{variant:"ghost",size:"icon",className:"size-7",onClick:()=>u(!0),title:"Create channel",children:c.jsx(Kl,{className:"size-3.5"})})]})]}),c.jsx("div",{className:"flex-1 overflow-y-auto",children:n?c.jsx("div",{className:"flex justify-center py-8",children:c.jsx(so,{className:"size-5 animate-spin text-muted-foreground"})}):t.length===0?c.jsx("div",{className:"px-3 py-8 text-center text-sm text-muted-foreground",children:"No channels yet"}):t.map(d=>{const f=o[d.id]||0,m=s.has(d.id);return c.jsxs("button",{onClick:()=>{e&&e.id!==d.id&&i(),a(wFe(d.id))},className:Re("flex items-center gap-2 w-full px-3 py-2 text-left text-sm transition-colors hover:bg-accent",(e==null?void 0:e.id)===d.id&&"bg-accent text-accent-foreground"),children:[c.jsx(n2,{className:"size-4 flex-shrink-0 text-muted-foreground"}),c.jsxs("div",{className:"min-w-0 flex-1",children:[c.jsxs("div",{className:"flex items-center gap-1",children:[c.jsx("span",{className:Re("truncate font-medium",f>0&&!m&&"font-bold"),children:d.name}),d.accessMode!=="open"&&c.jsx(uh,{className:"size-3 text-muted-foreground flex-shrink-0"}),m&&c.jsx($u,{className:"size-3 text-muted-foreground flex-shrink-0"})]}),d.about&&c.jsx("div",{className:"truncate text-xs text-muted-foreground",children:d.about})]}),f>0&&!m&&c.jsx("span",{className:"inline-flex items-center justify-center size-5 text-xs rounded-full bg-primary text-primary-foreground flex-shrink-0",children:f>99?"99+":f})]},d.id)})}),c.jsx(Xft,{open:l,onOpenChange:u})]})}function tdt(){return localStorage.getItem("nirc:submitKey")==="enter"?"enter":"ctrl+enter"}function ndt({onClose:t}){const{currentChannel:e,channelMods:n,channelMembers:r,channelBlocked:o,channelInvited:s,channelRequested:a,channelRejected:i,channelAccessMode:l,isOwnerOrMod:u,addMod:d,removeMod:f,approveMember:m,removeMember:g,unblockUser:w,updateAccessMode:b,updateMessageExpiry:j,sendInvite:S,revokeInvite:I,acceptRequest:N,rejectRequest:M,revokeRejection:D,mutedChannels:O,toggleMuteChannel:L}=gc(),{pubkey:B}=wt(),[T,R]=h.useState(""),[z,Y]=h.useState("member"),[Q,W]=h.useState(tdt);if(!e)return null;const F=e.creator===B,X=O.has(e.id),$=async()=>{const K=T.trim();if(!K)return;let G=K;const J=Ut.tryFromString(K);J&&(G=J.hex),z==="mod"?await d(G):z==="invite"?await S(G):await m(G),R("")},V=[{mode:"open",label:"Open",icon:c.jsx(Xse,{className:"size-3"})},{mode:"whitelist",label:"Whitelist",icon:c.jsx(uh,{className:"size-3"})},{mode:"blacklist",label:"Blacklist",icon:c.jsx(jS,{className:"size-3"})}];return c.jsx("div",{className:"absolute inset-0 z-20 bg-background overflow-y-auto",children:c.jsxs("div",{className:"max-w-lg mx-auto p-4 space-y-5",children:[c.jsxs("div",{className:"flex items-center justify-between",children:[c.jsxs("span",{className:"font-semibold text-sm",children:["Settings — #",e.name]}),c.jsx(Le,{variant:"ghost",size:"icon",className:"size-7",onClick:t,children:c.jsx(Us,{className:"size-4"})})]}),c.jsxs("section",{className:"space-y-2",children:[c.jsx("h3",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wide",children:"Chat"}),c.jsxs("div",{className:"space-y-2",children:[c.jsxs("div",{className:"flex items-center justify-between",children:[c.jsx("span",{className:"text-xs text-muted-foreground",children:"Send message with"}),c.jsx("div",{className:"flex gap-1",children:["enter","ctrl+enter"].map(K=>c.jsx("button",{className:`text-xs px-2 py-1 rounded border ${Q===K?"bg-primary text-primary-foreground border-primary":"border-border"}`,onClick:()=>{W(K),localStorage.setItem("nirc:submitKey",K)},children:K==="enter"?"Enter":"Ctrl+Enter"},K))})]}),c.jsx("div",{className:"text-[10px] text-muted-foreground",children:Q==="enter"?"Shift+Enter for newline":"Enter for newline"}),c.jsxs("div",{className:"flex items-center justify-between",children:[c.jsx("span",{className:"text-xs text-muted-foreground",children:"Notifications"}),c.jsxs(Le,{variant:"outline",size:"sm",className:"h-7 text-xs gap-1",onClick:()=>L(e.id),children:[X?c.jsx($u,{className:"size-3"}):c.jsx(gy,{className:"size-3"}),X?"Muted":"Active"]})]})]})]}),F&&c.jsxs("section",{className:"space-y-2",children:[c.jsx("h3",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wide",children:"Access Mode"}),c.jsx("div",{className:"flex gap-1",children:V.map(({mode:K,label:G,icon:J})=>c.jsxs("button",{className:`text-xs px-3 py-1.5 rounded border flex items-center gap-1.5 ${l===K?"bg-primary text-primary-foreground border-primary":"border-border"}`,onClick:()=>b(K),children:[J," ",G]},K))}),c.jsxs("div",{className:"text-[10px] text-muted-foreground",children:[l==="open"&&"Anyone authenticated can read and write.",l==="whitelist"&&"Only listed members, mods, and invitees can access.",l==="blacklist"&&"Everyone except excluded users can access."]})]}),F&&c.jsxs("section",{className:"space-y-2",children:[c.jsx("h3",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wide",children:"Message Expiry"}),c.jsx("div",{className:"flex flex-wrap gap-1",children:kft.map(({label:K,value:G})=>c.jsx("button",{className:`text-xs px-3 py-1.5 rounded border ${(e.messageExpiry??ek)===G?"bg-primary text-primary-foreground border-primary":"border-border"}`,onClick:()=>j(G),children:K},G))}),c.jsx("div",{className:"text-[10px] text-muted-foreground",children:"Messages will include a NIP-40 expiration tag set to this duration from send time."})]}),u&&c.jsxs("section",{className:"space-y-2",children:[c.jsx("h3",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wide",children:"Add User"}),c.jsxs("div",{className:"flex gap-1",children:[c.jsx("button",{className:`text-xs px-2 py-0.5 rounded ${z==="member"?"bg-primary text-primary-foreground":"bg-muted"}`,onClick:()=>Y("member"),children:"Member"}),c.jsx("button",{className:`text-xs px-2 py-0.5 rounded ${z==="invite"?"bg-primary text-primary-foreground":"bg-muted"}`,onClick:()=>Y("invite"),children:"Invite"}),F&&c.jsx("button",{className:`text-xs px-2 py-0.5 rounded ${z==="mod"?"bg-primary text-primary-foreground":"bg-muted"}`,onClick:()=>Y("mod"),children:"Mod"})]}),c.jsxs("div",{className:"flex gap-1",children:[c.jsx("input",{type:"text",placeholder:`Add ${z} (npub or hex)`,value:T,onChange:K=>R(K.target.value),className:"flex-1 px-2 py-1 text-xs border rounded bg-background",onKeyDown:K=>K.key==="Enter"&&$()}),c.jsx(Le,{variant:"outline",size:"sm",className:"h-7",onClick:$,disabled:!T.trim(),children:z==="mod"?c.jsx(hae,{className:"size-3"}):z==="invite"?c.jsx(tx,{className:"size-3"}):c.jsx(vae,{className:"size-3"})})]})]}),n.length>0&&c.jsxs("section",{className:"space-y-1.5",children:[c.jsx("h3",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wide",children:"Moderators"}),n.map(K=>c.jsxs("div",{className:"flex items-center justify-between text-xs py-0.5",children:[c.jsxs("span",{className:"font-mono",children:[c.jsx(Nu,{hex:K}),K===e.creator&&c.jsx("span",{className:"text-muted-foreground ml-1",children:"(owner)"})]}),F&&K!==e.creator&&c.jsx("button",{onClick:()=>f(K),className:"text-muted-foreground hover:text-destructive",title:"Remove mod (cascades invites/blocks)",children:c.jsx(W7e,{className:"size-3"})})]},K))]}),l==="whitelist"&&r.length>0&&c.jsxs("section",{className:"space-y-1.5",children:[c.jsx("h3",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wide",children:"Allowed Members"}),r.map(K=>c.jsxs("div",{className:"flex items-center justify-between text-xs py-0.5",children:[c.jsxs("span",{className:"font-mono",children:[c.jsx(Nu,{hex:K.pubkey}),K.addedBy&&c.jsxs("span",{className:"text-muted-foreground ml-1",children:["via ",c.jsx(Nu,{hex:K.addedBy})]})]}),u&&c.jsx("button",{onClick:()=>g(K.pubkey),className:"text-muted-foreground hover:text-destructive",title:"Remove member",children:c.jsx(yae,{className:"size-3"})})]},K.pubkey))]}),l==="blacklist"&&o.length>0&&c.jsxs("section",{className:"space-y-1.5",children:[c.jsx("h3",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wide",children:"Excluded Users"}),o.map(K=>c.jsxs("div",{className:"flex items-center justify-between text-xs py-0.5",children:[c.jsxs("span",{className:"font-mono text-destructive",children:[c.jsx(Nu,{hex:K.pubkey}),K.addedBy&&c.jsxs("span",{className:"text-muted-foreground ml-1",children:["by ",c.jsx(Nu,{hex:K.addedBy})]})]}),u&&c.jsx("button",{onClick:()=>w(K.pubkey),className:"text-muted-foreground hover:text-foreground",title:"Remove from excluded",children:c.jsx(Z9,{className:"size-3"})})]},K.pubkey))]}),u&&s.length>0&&c.jsxs("section",{className:"space-y-1.5",children:[c.jsx("h3",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wide",children:"Pending Invites"}),s.map(K=>c.jsxs("div",{className:"flex items-center justify-between text-xs py-0.5",children:[c.jsxs("span",{className:"font-mono",children:[c.jsx(Nu,{hex:K.pubkey}),K.addedBy&&c.jsxs("span",{className:"text-muted-foreground ml-1",children:["by ",c.jsx(Nu,{hex:K.addedBy})]})]}),c.jsx("button",{onClick:()=>I(K.pubkey),className:"text-muted-foreground hover:text-destructive",title:"Revoke invite",children:c.jsx(T7e,{className:"size-3"})})]},K.pubkey))]}),u&&a.length>0&&c.jsxs("section",{className:"space-y-1.5",children:[c.jsx("h3",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wide",children:"Join Requests"}),a.map(K=>c.jsxs("div",{className:"flex items-center justify-between text-xs py-0.5",children:[c.jsx("span",{className:"font-mono",children:c.jsx(Nu,{hex:K})}),c.jsxs("div",{className:"flex gap-1",children:[c.jsx("button",{onClick:()=>N(K),className:"text-muted-foreground hover:text-foreground",title:"Accept",children:c.jsx(Z9,{className:"size-3"})}),c.jsx("button",{onClick:()=>M(K),className:"text-muted-foreground hover:text-destructive",title:"Reject",children:c.jsx(ePe,{className:"size-3"})})]})]},K))]}),i.length>0&&c.jsxs("section",{className:"space-y-1.5",children:[c.jsx("h3",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wide",children:"Rejected"}),i.map(K=>c.jsxs("div",{className:"flex items-center justify-between text-xs py-0.5",children:[c.jsx("span",{className:"font-mono text-destructive",children:c.jsx(Nu,{hex:K})}),F&&c.jsx("button",{onClick:()=>D(K),className:"text-muted-foreground hover:text-foreground",title:"Revoke rejection",children:c.jsx(cL,{className:"size-3"})})]},K))]}),l!=="blacklist"&&o.length>0&&c.jsxs("section",{className:"space-y-1.5",children:[c.jsx("h3",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wide",children:"Blocked"}),o.map(K=>c.jsxs("div",{className:"flex items-center justify-between text-xs py-0.5",children:[c.jsx("span",{className:"font-mono text-destructive",children:c.jsx(Nu,{hex:K.pubkey})}),u&&c.jsx("button",{onClick:()=>w(K.pubkey),className:"text-muted-foreground hover:text-foreground",title:"Unblock",children:c.jsx(Z9,{className:"size-3"})})]},K.pubkey))]})]})})}function Nu({hex:t}){const{profile:e}=ua(t),n=Ut.tryFromString(t);return c.jsx(c.Fragment,{children:(e==null?void 0:e.username)||(n==null?void 0:n.formatNpub(8))||t.slice(0,12)})}function NZ({content:t,event:e}){const{nodes:n,emojiInfos:r}=h.useMemo(()=>{if(!t)return{nodes:[],emojiInfos:[]};const o=qg(t,[VS,dx,nv,$S,px]),s=th(e==null?void 0:e.tags);return{nodes:o,emojiInfos:s}},[t,e]);return!n||n.length===0?null:c.jsx("span",{className:"break-words whitespace-pre-wrap min-w-0",children:n.map((o,s)=>{if(o.type==="text")return c.jsx("span",{children:o.data},s);if(o.type==="mention"){const a=o.data.split(":")[1];return a?c.jsx(WS,{userId:a,className:"inline"},s):c.jsx("span",{children:o.data},s)}if(o.type==="url")return c.jsx("a",{href:o.data,target:"_blank",rel:"noopener noreferrer",className:"text-primary hover:underline",onClick:a=>a.stopPropagation(),children:jb(o.data)},s);if(o.type==="image"||o.type==="images"){const a=Array.isArray(o.data)?o.data[0]:o.data;return c.jsx("a",{href:a,target:"_blank",rel:"noopener noreferrer",className:"text-primary hover:underline",onClick:i=>i.stopPropagation(),children:"[image]"},s)}if(o.type==="media")return c.jsx("a",{href:o.data,target:"_blank",rel:"noopener noreferrer",className:"text-primary hover:underline",onClick:a=>a.stopPropagation(),children:"[media]"},s);if(o.type==="event"){const a=o.data.split(":")[1];return a?c.jsx(tc,{to:yl(a),className:"text-primary hover:underline",onClick:i=>i.stopPropagation(),children:"[note]"},s):c.jsx("span",{children:o.data},s)}if(o.type==="hashtag")return c.jsx(HS,{hashtag:o.data},s);if(o.type==="emoji"){const a=o.data.split(":")[1],i=r.find(l=>l.shortcode===a);return i?c.jsx(Mi,{emoji:i,classNames:{img:"size-4 inline"}},s):c.jsx("span",{children:o.data},s)}return o.type==="youtube"||o.type==="x-post"?c.jsx("a",{href:o.data,target:"_blank",rel:"noopener noreferrer",className:"text-primary hover:underline",onClick:a=>a.stopPropagation(),children:jb(o.data)},s):o.type==="invoice"?c.jsx("span",{className:"text-primary",children:"[ln-invoice]"},s):null})})}function rdt({pubkeyHex:t,onClose:e}){const{profile:n}=ua(t),{pubkey:r}=wt(),{currentChannel:o,isOwnerOrMod:s,addMod:a,removeMember:i,blockUser:l,channelMods:u}=gc(),{push:d}=kn(),[f,m]=h.useState(!1),g=Ut.tryFromString(t),w=(g==null?void 0:g.npub)||"",b=(n==null?void 0:n.username)||(g==null?void 0:g.formatNpub(8))||t.slice(0,12),j=(o==null?void 0:o.creator)===t,S=u.includes(t),I=t===r,N=()=>{navigator.clipboard.writeText(w),m(!0),setTimeout(()=>m(!1),1500)};return c.jsx("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/50",onClick:e,children:c.jsxs("div",{className:"bg-background border rounded-lg w-80 overflow-hidden",onClick:M=>M.stopPropagation(),children:[n!=null&&n.banner?c.jsx("div",{className:"h-20 bg-muted",children:c.jsx("img",{src:n.banner,alt:"",className:"w-full h-full object-cover"})}):c.jsx("div",{className:"h-20 bg-gradient-to-r from-primary/20 to-primary/5"}),c.jsx("div",{className:"px-4 -mt-6",children:c.jsx("div",{className:"size-12 rounded-full border-2 border-background overflow-hidden bg-muted",children:n!=null&&n.avatar?c.jsx("img",{src:n.avatar,alt:"",className:"w-full h-full object-cover"}):c.jsx("div",{className:"w-full h-full bg-primary/20"})})}),c.jsxs("div",{className:"px-4 pt-1 pb-3 space-y-2",children:[c.jsxs("div",{children:[c.jsxs("div",{className:"font-semibold text-sm flex items-center gap-1",children:[b,j&&c.jsx("span",{className:"text-[10px] text-muted-foreground",children:"(owner)"}),S&&!j&&c.jsx("span",{className:"text-[10px] text-muted-foreground",children:"(mod)"})]}),c.jsxs("button",{onClick:N,className:"text-[10px] text-muted-foreground font-mono flex items-center gap-0.5 hover:text-foreground",children:[w.slice(0,20),"...",f?c.jsx(Zr,{className:"size-2.5"}):c.jsx(Pa,{className:"size-2.5"})]})]}),(n==null?void 0:n.about)&&c.jsx("p",{className:"text-xs text-muted-foreground line-clamp-2",children:n.about}),c.jsxs("div",{className:"flex gap-1.5 pt-1",children:[c.jsxs(Le,{variant:"outline",size:"sm",className:"h-7 text-xs gap-1 flex-1",onClick:()=>{e(),d(`/users/${t}`)},children:[c.jsx(nf,{className:"size-3"})," Profile"]}),!I&&c.jsxs(Le,{variant:"outline",size:"sm",className:"h-7 text-xs gap-1 flex-1",onClick:()=>{e(),d(`/dm/${t}`)},children:[c.jsx(rf,{className:"size-3"})," DM"]})]}),s&&!I&&!j&&c.jsxs("div",{className:"flex gap-1.5 pt-0.5",children:[!S&&c.jsxs(Le,{variant:"outline",size:"sm",className:"h-7 text-xs gap-1 flex-1",onClick:()=>{a(t),e()},children:[c.jsx(hae,{className:"size-3"})," Make Mod"]}),c.jsxs(Le,{variant:"outline",size:"sm",className:"h-7 text-xs gap-1 flex-1",onClick:()=>{i(t),e()},children:[c.jsx(yae,{className:"size-3"})," Kick"]}),c.jsxs(Le,{variant:"outline",size:"sm",className:"h-7 text-xs gap-1 flex-1 text-destructive border-destructive/30",onClick:()=>{l(t),e()},children:[c.jsx($se,{className:"size-3"})," Block"]})]})]}),c.jsx(Le,{variant:"ghost",size:"icon",className:"absolute top-2 right-2 size-6 bg-background/80",onClick:e,children:c.jsx(Us,{className:"size-3.5"})})]})})}function odt({participants:t,query:e,onSelect:n,position:r}){const o=h.useMemo(()=>e?t.filter(s=>{var i;const a=((i=Ut.tryFromString(s))==null?void 0:i.formatNpub(20))||"";return s.toLowerCase().includes(e)||a.toLowerCase().includes(e)}).slice(0,8):t.slice(0,8),[t,e]);return o.length===0?null:c.jsx("div",{className:"absolute z-30 bg-popover border rounded shadow-md max-h-48 overflow-y-auto w-56",style:{bottom:r.bottom,left:r.left},children:o.map(s=>c.jsx(sdt,{pubkey:s,query:e,onSelect:n},s))})}function sdt({pubkey:t,query:e,onSelect:n}){const{profile:r}=ua(t),o=Ut.tryFromString(t),s=(r==null?void 0:r.username)||(o==null?void 0:o.formatNpub(8))||t.slice(0,12),a=(o==null?void 0:o.npub)||"";return!(!e||s.toLowerCase().includes(e))&&!t.toLowerCase().includes(e)?null:c.jsxs("button",{className:"w-full px-3 py-1.5 text-left hover:bg-muted flex items-center gap-2 text-xs",onClick:()=>n(t,s),children:[c.jsx("div",{className:"size-5 rounded-full bg-muted overflow-hidden shrink-0",children:(r==null?void 0:r.avatar)&&c.jsx("img",{src:r.avatar,alt:"",className:"w-full h-full object-cover"})}),c.jsx("span",{className:"font-medium truncate",children:s}),c.jsxs("span",{className:"text-muted-foreground text-[10px] truncate",children:[a.slice(0,16),"..."]})]})}function adt({onClose:t}){const{currentChannel:e,channelParticipants:n,channelMods:r}=gc();if(!e)return null;const o=[...n].sort((s,a)=>{const i=s===e.creator?0:1,l=a===e.creator?0:1;if(i!==l)return i-l;const u=r.includes(s)?0:1,d=r.includes(a)?0:1;return u-d});return c.jsxs("div",{className:"absolute inset-y-0 right-0 z-20 w-56 bg-background border-l overflow-y-auto",children:[c.jsxs("div",{className:"flex items-center justify-between p-2 border-b",children:[c.jsxs("span",{className:"text-xs font-semibold",children:["Members (",o.length,")"]}),c.jsx(Le,{variant:"ghost",size:"icon",className:"size-6",onClick:t,children:c.jsx(Us,{className:"size-3.5"})})]}),c.jsx("div",{className:"py-1",children:o.map(s=>c.jsx(idt,{pubkey:s,isOwner:s===e.creator,isMod:r.includes(s)},s))})]})}function idt({pubkey:t,isOwner:e,isMod:n}){const{profile:r}=ua(t),{push:o}=kn(),s=Ut.tryFromString(t),a=(r==null?void 0:r.username)||(s==null?void 0:s.formatNpub(8))||t.slice(0,12);return c.jsxs("div",{className:"group flex items-center gap-2 px-2 py-1 hover:bg-muted/50 text-xs",children:[c.jsx("div",{className:"size-5 rounded-full bg-muted overflow-hidden shrink-0",children:(r==null?void 0:r.avatar)&&c.jsx("img",{src:r.avatar,alt:"",className:"w-full h-full object-cover"})}),c.jsx("span",{className:"font-medium truncate flex-1",children:a}),e&&c.jsx("span",{title:"Owner",children:c.jsx(k7e,{className:"size-3 text-primary shrink-0"})}),n&&!e&&c.jsx("span",{title:"Mod",children:c.jsx(ox,{className:"size-3 text-muted-foreground shrink-0"})}),c.jsx("button",{className:"opacity-0 group-hover:opacity-100 text-muted-foreground hover:text-foreground shrink-0",onClick:()=>o(`/dm/${t}`),title:"Send DM",children:c.jsx(rf,{className:"size-3"})})]})}function ldt(){return localStorage.getItem("nirc:submitKey")==="enter"?"enter":"ctrl+enter"}function r1e(){var ne;const{currentChannel:t,messages:e,isLoadingMessages:n,sendMessage:r,loadMoreMessages:o,isOwnerOrMod:s,isMember:a,channelAccessMode:i,channelParticipants:l}=gc(),{pubkey:u}=wt(),[d,f]=h.useState(""),[m,g]=h.useState(!1),[w,b]=h.useState(!1),[j,S]=h.useState(!1),[I,N]=h.useState(!1),[M,D]=h.useState(null),O=h.useRef(null),L=h.useRef(null),B=h.useRef(!0),T=h.useRef(null),[R,z]=h.useState(null),[Y,Q]=h.useState(0);h.useEffect(()=>{B.current&&O.current&&(O.current.scrollTop=O.current.scrollHeight)},[e]),h.useEffect(()=>{if(B.current=!0,O.current&&(O.current.scrollTop=O.current.scrollHeight),t){const re=localStorage.getItem(`nirc:draft:${t.id}`)||"";f(re)}else f("");S(!1),N(!1),z(null)},[t==null?void 0:t.id]),h.useEffect(()=>{t&&!cu()&&setTimeout(()=>{var re;return(re=L.current)==null?void 0:re.focus()},100)},[t==null?void 0:t.id]);const W=h.useCallback(()=>{if(!O.current)return;const{scrollTop:re,scrollHeight:de,clientHeight:Ne}=O.current;B.current=de-re-Ne<100},[]),F=async()=>{b(!0);try{await o()}finally{b(!1)}},X=async()=>{if(!(!d.trim()||m||!u||!t)){g(!0);try{await r(d.trim()),f(""),localStorage.removeItem(`nirc:draft:${t.id}`),B.current=!0,L.current&&(L.current.style.height="auto")}finally{g(!1),setTimeout(()=>{var re;return(re=L.current)==null?void 0:re.focus()},0)}}},$=re=>{if(re.key==="Escape"&&R!==null){z(null);return}if(re.key==="Enter"){const de=ldt();(de==="enter"&&!re.shiftKey&&!re.ctrlKey&&!re.metaKey||de==="ctrl+enter"&&(re.ctrlKey||re.metaKey))&&(re.preventDefault(),X())}},V=re=>{const de=re.target.value;f(de),t&&localStorage.setItem(`nirc:draft:${t.id}`,de),G();const Ne=re.target.selectionStart||0,xe=de.slice(0,Ne).match(/@(\w*)$/);xe?(z(xe[1].toLowerCase()),Q(Ne-xe[0].length)):z(null)},K=(re,de)=>{var pe,me;const Ne=((pe=Ut.tryFromString(re))==null?void 0:pe.npub)||re,ve=d.slice(0,Y),xe=d.slice(((me=L.current)==null?void 0:me.selectionStart)||d.length),ce=`${ve}nostr:${Ne} ${xe}`;f(ce),z(null),t&&localStorage.setItem(`nirc:draft:${t.id}`,ce),setTimeout(()=>{var ke;return(ke=L.current)==null?void 0:ke.focus()},0)},G=h.useCallback(()=>{const re=L.current;if(!re)return;re.style.height="auto";const de=window.innerHeight*.3;re.style.height=`${Math.min(re.scrollHeight,de)}px`,re.style.overflowY=re.scrollHeight>de?"auto":"hidden"},[]);if(!t)return c.jsxs("div",{className:"flex flex-col items-center justify-center h-full text-muted-foreground gap-2",children:[c.jsx(n2,{className:"size-10"}),c.jsx("span",{className:"text-sm",children:"Select a channel"})]});const J=i!=="open"&&!a;return c.jsxs("div",{className:"flex flex-col h-full relative",children:[c.jsxs("div",{className:"flex items-center gap-2 px-3 py-2 border-b",children:[c.jsx("button",{className:"flex items-center gap-0.5 hover:text-primary",onClick:()=>N(!I),title:"Member list",children:c.jsx(n2,{className:"size-4 text-muted-foreground"})}),c.jsx("span",{className:"font-semibold text-sm",children:t.name}),i!=="open"&&c.jsx("span",{title:i==="whitelist"?"Whitelist":"Blacklist",children:c.jsx(uh,{className:"size-3 text-muted-foreground"})}),t.about&&c.jsxs("span",{className:"text-xs text-muted-foreground truncate",children:["— ",t.about]}),c.jsx("div",{className:"flex-1"}),c.jsx(Le,{variant:"ghost",size:"icon",className:"size-7",onClick:()=>N(!I),title:"Member list",children:c.jsx(Cg,{className:"size-3.5"})}),c.jsx(Le,{variant:"ghost",size:"icon",className:"size-7",onClick:()=>S(!j),title:"Channel settings",children:s?c.jsx(ox,{className:"size-3.5"}):c.jsx(iL,{className:"size-3.5"})})]}),j&&c.jsx(ndt,{onClose:()=>S(!1)}),I&&!j&&c.jsx(adt,{onClose:()=>N(!1)}),c.jsx("div",{ref:O,onScroll:W,className:"flex-1 overflow-y-auto px-3 py-2 space-y-1",children:J?c.jsxs("div",{className:"flex flex-col items-center justify-center h-full gap-3 text-muted-foreground",children:[c.jsx(uh,{className:"size-8"}),c.jsx("span",{className:"text-sm",children:"This channel requires access"}),c.jsx(cdt,{})]}):c.jsxs(c.Fragment,{children:[e.length>0&&c.jsx("div",{className:"flex justify-center py-2",children:c.jsxs(Le,{variant:"ghost",size:"sm",onClick:F,disabled:w,className:"text-xs",children:[w?c.jsx(so,{className:"size-3 animate-spin mr-1"}):c.jsx(bd,{className:"size-3 mr-1"}),"Load older"]})}),n?c.jsx("div",{className:"flex justify-center py-8",children:c.jsx(so,{className:"size-5 animate-spin text-muted-foreground"})}):e.length===0?c.jsx("div",{className:"text-center py-8 text-sm text-muted-foreground",children:"No messages yet. Say something."}):e.map(re=>c.jsx(udt,{msg:re,isOwn:re.pubkey===u,showModActions:s&&re.pubkey!==u,onUsernameClick:D},re.id))]})}),u&&a&&!J&&c.jsxs("div",{ref:T,className:"border-t p-2 flex items-end gap-2 relative",children:[R!==null&&c.jsx(odt,{participants:l,query:R,onSelect:K,position:{bottom:((ne=T.current)==null?void 0:ne.clientHeight)||48,left:8}}),c.jsx(dv,{ref:L,value:d,onChange:V,onKeyDown:$,placeholder:`Message #${t.name}`,className:"min-h-[36px] resize-none overflow-hidden text-sm",disabled:m}),c.jsx(Le,{onClick:X,disabled:!d.trim()||m,size:"icon",className:"flex-shrink-0 size-9",children:m?c.jsx(so,{className:"size-4 animate-spin"}):c.jsx(fae,{className:"size-4"})})]}),M&&c.jsx(rdt,{pubkeyHex:M,onClose:()=>D(null)})]})}function cdt(){const{currentChannel:t}=gc(),{pubkey:e,signEvent:n}=wt(),[r,o]=h.useState(!1),[s,a]=h.useState(!1),i=async()=>{if(!(!t||!e||r)){a(!0);try{const{default:l}=await Bs(async()=>{const{default:m}=await Promise.resolve().then(()=>zCe);return{default:m}},void 0),u=`nirc:request:${t.id}:${t.name}`,d={kind:4,created_at:Math.floor(Date.now()/1e3),tags:[["p",t.creator]],content:u},f=await n(d);await l.publishEvent(["wss://relay.orly.dev/"],f),o(!0)}catch{}finally{a(!1)}}};return e?c.jsxs(Le,{variant:"outline",size:"sm",className:"gap-1.5",onClick:i,disabled:r||s,children:[s?c.jsx(so,{className:"size-3 animate-spin"}):c.jsx(ex,{className:"size-3"}),r?"Request Sent":"Request Access"]}):null}function udt({msg:t,isOwn:e,showModActions:n,onUsernameClick:r}){const{hideMessage:o,blockUser:s}=gc(),{profile:a}=ua(t.pubkey),i=Ut.tryFromString(t.pubkey),l=(a==null?void 0:a.username)||(i==null?void 0:i.formatNpub(8))||t.pubkey.slice(0,12),u=Nn.unix(t.createdAt).format("HH:mm"),d=t.content.startsWith("/me "),f=d?t.content.slice(4):null;return c.jsxs("div",{className:"group flex items-start gap-0 py-0.5 text-sm font-mono leading-snug",children:[c.jsxs("span",{className:"text-[11px] text-muted-foreground shrink-0",children:["[",u,"] "]}),d?c.jsxs("span",{className:"italic break-words min-w-0",children:[c.jsx("span",{className:"text-muted-foreground",children:"*"})," ",c.jsx("button",{className:`${e?"text-muted-foreground":"text-primary"} hover:underline cursor-pointer`,onClick:()=>r(t.pubkey),children:l})," ",c.jsx(NZ,{content:f,event:t.event})]}):c.jsxs(c.Fragment,{children:[c.jsxs("span",{className:"shrink-0",children:[c.jsx("span",{className:"text-muted-foreground",children:"<"}),c.jsx("button",{className:`${e?"text-muted-foreground":"text-primary font-medium"} hover:underline cursor-pointer`,onClick:()=>r(t.pubkey),children:l}),c.jsx("span",{className:"text-muted-foreground",children:">"})]}),c.jsxs("span",{className:"min-w-0",children:[" ",c.jsx(NZ,{content:t.content,event:t.event})]})]}),n&&c.jsxs("span",{className:"opacity-0 group-hover:opacity-100 transition-opacity flex gap-0.5 ml-1 shrink-0",children:[c.jsx("button",{onClick:()=>o(t.id),className:"text-muted-foreground hover:text-destructive p-0.5",title:"Hide message",children:c.jsx(S7e,{className:"size-3"})}),c.jsx("button",{onClick:()=>s(t.pubkey),className:"text-muted-foreground hover:text-destructive p-0.5",title:"Block user",children:c.jsx($se,{className:"size-3"})})]})]})}var tk={exports:{}},fdt=tk.exports,IZ;function ddt(){return IZ||(IZ=1,(function(t,e){(function(n,r){t.exports=r()})(fdt,(function(){return function(n,r,o){n=n||{};var s=r.prototype,a={future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"};function i(u,d,f,m){return s.fromToBase(u,d,f,m)}o.en.relativeTime=a,s.fromToBase=function(u,d,f,m,g){for(var w,b,j,S=f.$locale().relativeTime||a,I=n.thresholds||[{l:"s",r:44,d:"second"},{l:"m",r:89},{l:"mm",r:44,d:"minute"},{l:"h",r:89},{l:"hh",r:21,d:"hour"},{l:"d",r:35},{l:"dd",r:25,d:"day"},{l:"M",r:45},{l:"MM",r:10,d:"month"},{l:"y",r:17},{l:"yy",d:"year"}],N=I.length,M=0;M<N;M+=1){var D=I[M];D.d&&(w=m?o(u).diff(f,D.d,!0):f.diff(u,D.d,!0));var O=(n.rounding||Math.round)(Math.abs(w));if(j=w>0,O<=D.r||!D.r){O<=1&&M>0&&(D=I[M-1]);var L=S[D.l];g&&(O=g(""+O)),b=typeof L=="string"?L.replace("%d",O):L(O,d,D.l,j);break}}if(d)return b;var B=j?S.future:S.past;return typeof B=="function"?B(b):B.replace("%s",b)},s.to=function(u,d){return i(u,d,this,!0)},s.from=function(u,d){return i(u,d,this)};var l=function(u){return u.$u?o.utc():o()};s.toNow=function(u){return this.to(l(this),u)},s.fromNow=function(u){return this.from(l(this),u)}}}))})(tk)),tk.exports}var pdt=ddt();const hdt=rc(pdt);Nn.extend(hdt);function o1e(t){return Nn.unix(t).fromNow()}function mdt({conversation:t,isActive:e,isFollowing:n,onClick:r,onClose:o,navIndex:s}){const[a,i]=h.useState(null),l=h.useRef(null),u=h.useCallback(()=>{var w;(w=l.current)==null||w.click()},[]),{ref:d,isSelected:f}=o1(1,s??0,{meta:{type:"sidebar",onActivate:u}});h.useEffect(()=>{(async()=>{try{const b=await ze.fetchProfile(t.partnerPubkey);b&&i(b)}catch(b){console.error("Failed to fetch profile:",b)}})()},[t.partnerPubkey]);const m=(a==null?void 0:a.username)||t.partnerPubkey.slice(0,8)+"...",g=o1e(t.lastMessageAt);return c.jsx("div",{ref:d,className:"scroll-mt-[6.5rem]",children:c.jsxs("button",{ref:l,onClick:r,className:Re("w-full flex items-start gap-3 p-3 hover:bg-accent/50 transition-colors text-left",e&&"bg-accent",f&&"ring-2 ring-primary ring-inset"),children:[c.jsx(Ro,{userId:t.partnerPubkey,className:"size-10 flex-shrink-0"}),c.jsxs("div",{className:"flex-1 min-w-0",children:[c.jsxs("div",{className:"flex items-center justify-between gap-2",children:[c.jsxs("div",{className:"flex items-center gap-1.5 min-w-0",children:[c.jsx("span",{className:"font-medium text-sm truncate",children:m}),n&&c.jsx("span",{className:"text-xs text-primary flex-shrink-0",title:"Following",children:c.jsx(Cg,{className:"size-3"})})]}),c.jsxs("div",{className:"flex items-center gap-1 flex-shrink-0",children:[c.jsx("span",{className:"text-xs text-muted-foreground",children:g}),e&&o&&c.jsx("button",{onClick:w=>{w.stopPropagation(),o()},className:"p-0.5 rounded hover:bg-muted-foreground/20 transition-colors",title:"Close conversation",children:c.jsx(Us,{className:"size-4 text-muted-foreground"})})]})]}),c.jsxs("div",{className:"flex items-center gap-1.5 mt-0.5",children:[t.preferredEncryption==="nip17"&&c.jsx("span",{title:"NIP-17 encrypted",children:c.jsx(uh,{className:"size-3 text-green-500 flex-shrink-0"})}),c.jsx("p",{className:"text-sm text-muted-foreground truncate",children:t.lastMessagePreview})]}),t.unreadCount>0&&c.jsx("span",{className:"inline-flex items-center justify-center size-5 text-xs rounded-full bg-primary text-primary-foreground mt-1",children:t.unreadCount})]})]})})}function gdt(){const{t}=qe(),{push:e,pop:n}=kn(),{conversations:r,currentConversation:o,selectConversation:s,refreshConversations:a,loadMoreConversations:i,hasMoreConversations:l,isLoading:u}=bf(),{followingSet:d}=Gg(),{mutePubkeySet:f}=ns(),m=h.useRef(null),[g,w]=h.useState(()=>Xe.getDMConversationFilter()),b=h.useMemo(()=>{let I=[...r];return g==="follows"&&(I=I.filter(N=>d.has(N.partnerPubkey)&&!f.has(N.partnerPubkey))),I.sort((N,M)=>M.lastMessageAt-N.lastMessageAt)},[r,g,d,f]),j=I=>{w(I),Xe.setDMConversationFilter(I)},S=h.useCallback(I=>{const[N]=I;N.isIntersecting&&l&&!u&&i()},[l,u,i]);return h.useEffect(()=>{const I=new IntersectionObserver(S,{root:null,rootMargin:"100px",threshold:0});return m.current&&I.observe(m.current),()=>I.disconnect()},[S]),c.jsxs("div",{className:"flex flex-col h-full",children:[c.jsxs("div",{className:"flex items-center justify-between p-3 border-b",children:[c.jsx("span",{className:"font-medium text-sm",children:t("Conversations")}),c.jsxs("div",{className:"flex items-center gap-1",children:[c.jsx(Le,{variant:"ghost",size:"icon",className:"size-8",onClick:a,disabled:u,children:c.jsx(Hl,{className:`size-4 ${u?"animate-spin":""}`})}),c.jsxs(li,{children:[c.jsx(Ti,{asChild:!0,children:c.jsx(Le,{variant:"ghost",size:"icon",className:"size-8",children:c.jsx(xS,{className:"size-4"})})}),c.jsxs(ci,{align:"end",children:[c.jsxs(Sr,{onClick:()=>j("follows"),children:[g==="follows"&&c.jsx(Zr,{className:"size-4 mr-2"}),c.jsx("span",{className:g!=="follows"?"ml-6":"",children:t("Only show follows")})]}),c.jsxs(Sr,{onClick:()=>j("all"),children:[g==="all"&&c.jsx(Zr,{className:"size-4 mr-2"}),c.jsx("span",{className:g!=="all"?"ml-6":"",children:t("Show all")})]})]})]})]})]}),c.jsx(Fa,{className:"flex-1",children:b.length===0&&!u?c.jsxs("div",{className:"flex flex-col items-center justify-center h-48 gap-2 text-muted-foreground px-4",children:[c.jsx(rf,{className:"size-8"}),c.jsx("p",{className:"text-sm text-center",children:t("No conversations yet")}),c.jsx("p",{className:"text-xs text-center",children:t("Start a conversation by visiting a profile")})]}):c.jsxs("div",{className:"divide-y",children:[b.map((I,N)=>c.jsx(mdt,{conversation:I,isActive:o===I.partnerPubkey,isFollowing:d.has(I.partnerPubkey),navIndex:N,onClick:()=>{o&&o!==I.partnerPubkey&&n(),e(_L(I.partnerPubkey))},onClose:()=>{s(null),n()}},I.partnerPubkey)),l&&c.jsx("div",{ref:m,className:"flex justify-center py-4",children:c.jsx(so,{className:"size-5 animate-spin text-muted-foreground"})})]})})]})}function ydt(){const{t}=qe(),{relayList:e}=wt(),{isLoading:n,error:r,refreshConversations:o,startConversation:s}=bf(),{push:a}=kn(),[i,l]=h.useState(!1),[u,d]=h.useState(""),[f,m]=h.useState(""),g=h.useRef(null);if(!(e&&(e.read.length>0||e.write.length>0)))return c.jsx("div",{className:"p-4",children:c.jsx(wR,{type:"dm"})});if(n)return c.jsx("div",{className:"flex items-center justify-center h-64",children:c.jsxs("div",{className:"flex flex-col items-center gap-2 text-muted-foreground",children:[c.jsx(so,{className:"size-8 animate-spin"}),c.jsx("span",{className:"text-sm",children:t("Loading messages...")})]})});if(r)return c.jsxs("div",{className:"flex flex-col items-center justify-center h-64 gap-4 text-muted-foreground",children:[c.jsx("p",{children:r}),c.jsxs(Le,{onClick:o,variant:"outline",size:"sm",className:"gap-2",children:[c.jsx(Hl,{className:"size-4"}),t("Retry")]})]});const b=()=>{m("");const j=u.trim();if(!j)return;let S;try{if(j.startsWith("npub1")){const I=yr.decode(j);if(I.type!=="npub"){m(t("Invalid npub"));return}S=I.data}else if(/^[0-9a-f]{64}$/i.test(j))S=j.toLowerCase();else{m(t("Enter an npub or 64-char hex pubkey"));return}}catch{m(t("Invalid npub"));return}s(S),a(_L(S)),l(!1),d("")};return c.jsxs("div",{className:"h-[calc(100vh-8rem)]",children:[c.jsx("div",{className:"px-3 py-2 border-b flex items-center gap-2",children:i?c.jsxs("div",{className:"flex-1 flex items-center gap-2",children:[c.jsx("input",{ref:g,type:"text",value:u,onChange:j=>{d(j.target.value),m("")},onKeyDown:j=>j.key==="Enter"&&b(),placeholder:"npub1...",className:"flex-1 bg-transparent text-sm outline-none placeholder:text-muted-foreground",autoFocus:!0}),c.jsx(Le,{size:"sm",variant:"ghost",onClick:b,children:t("Go")}),c.jsx(Le,{size:"sm",variant:"ghost",onClick:()=>{l(!1),d(""),m("")},children:c.jsx(Us,{className:"size-4"})})]}):c.jsxs(Le,{size:"sm",variant:"ghost",className:"gap-1.5 text-muted-foreground hover:text-foreground",onClick:()=>l(!0),children:[c.jsx(Kl,{className:"size-4"}),t("New DM")]})}),f&&c.jsx("div",{className:"px-3 py-1 text-xs text-destructive",children:f}),c.jsx(gdt,{})]})}const xR=h.forwardRef((t,e)=>{const{t:n}=qe(),r=h.useRef(null),{pubkey:o}=wt(),{navigate:s}=Lo(),{markInboxAsSeen:a}=bf(),[i,l]=h.useState("dms");h.useImperativeHandle(e,()=>r.current),h.useEffect(()=>{o&&i==="dms"&&a()},[o,i,a]);const{refreshChannels:u}=gc();return h.useEffect(()=>{i==="channels"&&u()},[i,u]),c.jsx(Xl,{pageName:"chat",ref:r,titlebar:c.jsx(vdt,{activeTab:i,onTabChange:l}),children:o?i==="dms"?c.jsx(ydt,{}):c.jsxs("div",{className:"flex h-[calc(100vh-3rem)] overflow-hidden",children:[c.jsx("div",{className:"w-56 shrink-0 border-r overflow-hidden",children:c.jsx(edt,{})}),c.jsx("div",{className:"flex-1 min-w-0 overflow-hidden",children:c.jsx(r1e,{})})]}):c.jsxs("div",{className:"flex flex-col items-center justify-center h-64 gap-4 text-muted-foreground",children:[c.jsx(nx,{className:"size-12"}),c.jsxs("div",{className:"text-center",children:[c.jsx("p",{className:"font-medium",children:n("Sign in to chat")}),c.jsx("p",{className:"text-sm",children:n("Direct messages and public channels")})]}),c.jsxs(Le,{onClick:()=>s("settings"),className:"gap-2",children:[c.jsx(ex,{className:"size-4"}),n("Sign In")]})]})})});xR.displayName="ChatPage";function vdt({activeTab:t,onTabChange:e}){const{t:n}=qe(),{hasNewMessages:r}=bf(),{hasUnreadChannels:o}=gc();return c.jsxs("div",{className:"flex items-center h-full px-3 gap-1",children:[c.jsx(nx,{className:"size-5 shrink-0"}),c.jsx("div",{className:"text-lg font-semibold mr-3",children:n("Chat")}),c.jsxs("button",{onClick:()=>e("dms"),className:Re("flex items-center gap-1.5 px-3 py-1 rounded-md text-sm font-medium transition-colors",t==="dms"?"bg-accent text-accent-foreground":"text-muted-foreground hover:text-foreground hover:bg-accent/50"),children:[c.jsx(rf,{className:"size-3.5"}),n("DMs"),r&&c.jsx("div",{className:"w-2 h-2 bg-primary rounded-full"})]}),c.jsxs("button",{onClick:()=>e("channels"),className:Re("flex items-center gap-1.5 px-3 py-1 rounded-md text-sm font-medium transition-colors",t==="channels"?"bg-accent text-accent-foreground":"text-muted-foreground hover:text-foreground hover:bg-accent/50"),children:[c.jsx(n2,{className:"size-3.5"}),n("Channels"),o&&c.jsx("div",{className:"w-2 h-2 bg-primary rounded-full"})]})]})}var wdt=globalThis!=null&&globalThis.document?h.useLayoutEffect:()=>{},BE="Collapsible",[bdt,s1e]=Nh(BE),[xdt,sO]=bdt(BE),a1e=h.forwardRef((t,e)=>{const{__scopeCollapsible:n,open:r,defaultOpen:o,disabled:s,onOpenChange:a,...i}=t,[l,u]=Kg({prop:r,defaultProp:o??!1,onChange:a,caller:BE});return c.jsx(xdt,{scope:n,disabled:s,contentId:U7(),open:l,onOpenToggle:h.useCallback(()=>u(d=>!d),[u]),children:c.jsx(ys.div,{"data-state":iO(l),"data-disabled":s?"":void 0,...i,ref:e})})});a1e.displayName=BE;var i1e="CollapsibleTrigger",l1e=h.forwardRef((t,e)=>{const{__scopeCollapsible:n,...r}=t,o=sO(i1e,n);return c.jsx(ys.button,{type:"button","aria-controls":o.contentId,"aria-expanded":o.open||!1,"data-state":iO(o.open),"data-disabled":o.disabled?"":void 0,disabled:o.disabled,...r,ref:e,onClick:ul(t.onClick,o.onOpenToggle)})});l1e.displayName=i1e;var aO="CollapsibleContent",c1e=h.forwardRef((t,e)=>{const{forceMount:n,...r}=t,o=sO(aO,t.__scopeCollapsible);return c.jsx(fE,{present:n||o.open,children:({present:s})=>c.jsx(kdt,{...r,ref:e,present:s})})});c1e.displayName=aO;var kdt=h.forwardRef((t,e)=>{const{__scopeCollapsible:n,present:r,children:o,...s}=t,a=sO(aO,n),[i,l]=h.useState(r),u=h.useRef(null),d=ca(e,u),f=h.useRef(0),m=f.current,g=h.useRef(0),w=g.current,b=a.open||i,j=h.useRef(b),S=h.useRef(void 0);return h.useEffect(()=>{const I=requestAnimationFrame(()=>j.current=!1);return()=>cancelAnimationFrame(I)},[]),wdt(()=>{const I=u.current;if(I){S.current=S.current||{transitionDuration:I.style.transitionDuration,animationName:I.style.animationName},I.style.transitionDuration="0s",I.style.animationName="none";const N=I.getBoundingClientRect();f.current=N.height,g.current=N.width,j.current||(I.style.transitionDuration=S.current.transitionDuration,I.style.animationName=S.current.animationName),l(r)}},[a.open,r]),c.jsx(ys.div,{"data-state":iO(a.open),"data-disabled":a.disabled?"":void 0,id:a.contentId,hidden:!b,...s,ref:d,style:{"--radix-collapsible-content-height":m?`${m}px`:void 0,"--radix-collapsible-content-width":w?`${w}px`:void 0,...t.style},children:b&&o})});function iO(t){return t?"open":"closed"}var jdt=a1e,Cdt=l1e,Sdt=c1e,du="Accordion",Edt=["Home","End","ArrowDown","ArrowUp","ArrowLeft","ArrowRight"],[lO,Ndt,Idt]=UL(du),[UE]=Nh(du,[Idt,s1e]),cO=s1e(),u1e=Be.forwardRef((t,e)=>{const{type:n,...r}=t,o=r,s=r;return c.jsx(lO.Provider,{scope:t.__scopeAccordion,children:n==="multiple"?c.jsx(Rdt,{...s,ref:e}):c.jsx(Mdt,{...o,ref:e})})});u1e.displayName=du;var[f1e,Adt]=UE(du),[d1e,_dt]=UE(du,{collapsible:!1}),Mdt=Be.forwardRef((t,e)=>{const{value:n,defaultValue:r,onValueChange:o=()=>{},collapsible:s=!1,...a}=t,[i,l]=Kg({prop:n,defaultProp:r??"",onChange:o,caller:du});return c.jsx(f1e,{scope:t.__scopeAccordion,value:Be.useMemo(()=>i?[i]:[],[i]),onItemOpen:l,onItemClose:Be.useCallback(()=>s&&l(""),[s,l]),children:c.jsx(d1e,{scope:t.__scopeAccordion,collapsible:s,children:c.jsx(p1e,{...a,ref:e})})})}),Rdt=Be.forwardRef((t,e)=>{const{value:n,defaultValue:r,onValueChange:o=()=>{},...s}=t,[a,i]=Kg({prop:n,defaultProp:r??[],onChange:o,caller:du}),l=Be.useCallback(d=>i((f=[])=>[...f,d]),[i]),u=Be.useCallback(d=>i((f=[])=>f.filter(m=>m!==d)),[i]);return c.jsx(f1e,{scope:t.__scopeAccordion,value:a,onItemOpen:l,onItemClose:u,children:c.jsx(d1e,{scope:t.__scopeAccordion,collapsible:!0,children:c.jsx(p1e,{...s,ref:e})})})}),[Tdt,$E]=UE(du),p1e=Be.forwardRef((t,e)=>{const{__scopeAccordion:n,disabled:r,dir:o,orientation:s="vertical",...a}=t,i=Be.useRef(null),l=ca(i,e),u=Ndt(n),f=YS(o)==="ltr",m=ul(t.onKeyDown,g=>{var B;if(!Edt.includes(g.key))return;const w=g.target,b=u().filter(T=>{var R;return!((R=T.ref.current)!=null&&R.disabled)}),j=b.findIndex(T=>T.ref.current===w),S=b.length;if(j===-1)return;g.preventDefault();let I=j;const N=0,M=S-1,D=()=>{I=j+1,I>M&&(I=N)},O=()=>{I=j-1,I<N&&(I=M)};switch(g.key){case"Home":I=N;break;case"End":I=M;break;case"ArrowRight":s==="horizontal"&&(f?D():O());break;case"ArrowDown":s==="vertical"&&D();break;case"ArrowLeft":s==="horizontal"&&(f?O():D());break;case"ArrowUp":s==="vertical"&&O();break}const L=I%S;(B=b[L].ref.current)==null||B.focus()});return c.jsx(Tdt,{scope:n,disabled:r,direction:o,orientation:s,children:c.jsx(lO.Slot,{scope:n,children:c.jsx(ys.div,{...a,"data-orientation":s,ref:l,onKeyDown:r?void 0:m})})})}),Zj="AccordionItem",[Ddt,uO]=UE(Zj),h1e=Be.forwardRef((t,e)=>{const{__scopeAccordion:n,value:r,...o}=t,s=$E(Zj,n),a=Adt(Zj,n),i=cO(n),l=U7(),u=r&&a.value.includes(r)||!1,d=s.disabled||t.disabled;return c.jsx(Ddt,{scope:n,open:u,disabled:d,triggerId:l,children:c.jsx(jdt,{"data-orientation":s.orientation,"data-state":b1e(u),...i,...o,ref:e,disabled:d,open:u,onOpenChange:f=>{f?a.onItemOpen(r):a.onItemClose(r)}})})});h1e.displayName=Zj;var m1e="AccordionHeader",g1e=Be.forwardRef((t,e)=>{const{__scopeAccordion:n,...r}=t,o=$E(du,n),s=uO(m1e,n);return c.jsx(ys.h3,{"data-orientation":o.orientation,"data-state":b1e(s.open),"data-disabled":s.disabled?"":void 0,...r,ref:e})});g1e.displayName=m1e;var kR="AccordionTrigger",y1e=Be.forwardRef((t,e)=>{const{__scopeAccordion:n,...r}=t,o=$E(du,n),s=uO(kR,n),a=_dt(kR,n),i=cO(n);return c.jsx(lO.ItemSlot,{scope:n,children:c.jsx(Cdt,{"aria-disabled":s.open&&!a.collapsible||void 0,"data-orientation":o.orientation,id:s.triggerId,...i,...r,ref:e})})});y1e.displayName=kR;var v1e="AccordionContent",w1e=Be.forwardRef((t,e)=>{const{__scopeAccordion:n,...r}=t,o=$E(du,n),s=uO(v1e,n),a=cO(n);return c.jsx(Sdt,{role:"region","aria-labelledby":s.triggerId,"data-orientation":o.orientation,...a,...r,ref:e,style:{"--radix-accordion-content-height":"var(--radix-collapsible-content-height)","--radix-accordion-content-width":"var(--radix-collapsible-content-width)",...t.style}})});w1e.displayName=v1e;function b1e(t){return t?"open":"closed"}var Ldt=u1e,Pdt=h1e,Odt=g1e,x1e=y1e,k1e=w1e;const j1e=Ldt,Xs=h.forwardRef(({className:t,...e},n)=>c.jsx(Pdt,{ref:n,className:Re("border-b",t),...e}));Xs.displayName="AccordionItem";const ea=h.forwardRef(({className:t,children:e,...n},r)=>c.jsx(Odt,{className:"flex scroll-mt-14",children:c.jsxs(x1e,{ref:r,className:Re("flex flex-1 items-center justify-between py-4 font-medium transition-all [&[data-state=open]>svg]:rotate-180",t),...n,children:[e,c.jsx(cc,{className:"h-4 w-4 shrink-0 transition-transform duration-200"})]})}));ea.displayName=x1e.displayName;const ta=h.forwardRef(({className:t,children:e,...n},r)=>c.jsx(k1e,{ref:r,className:"overflow-hidden text-sm transition-all data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down",...n,children:c.jsx("div",{className:Re("pb-4 pt-0",t),children:e})}));ta.displayName=k1e.displayName;function C1e(){const{t}=qe();return c.jsx("div",{className:"px-4 py-4",children:c.jsxs(j1e,{type:"single",collapsible:!0,className:"space-y-2",children:[c.jsxs(Xs,{value:"keyboard",className:"border rounded-lg px-4",children:[c.jsx(ea,{className:"py-3",children:c.jsxs("div",{className:"flex items-center gap-3",children:[c.jsx(tae,{className:"size-5 text-muted-foreground"}),c.jsx("span",{className:"font-medium",children:t("Keyboard Navigation")})]})}),c.jsx(ta,{className:"pb-4",children:c.jsxs("div",{className:"space-y-4 text-sm text-muted-foreground",children:[c.jsx("p",{children:t("Navigate the app entirely with your keyboard:")}),c.jsx("p",{className:"font-medium",children:t("Toggle Keyboard Mode:")}),c.jsxs("div",{className:"space-y-2",children:[c.jsx(Gi,{keys:["⇧K"],description:t("Toggle keyboard navigation on/off")}),c.jsx(Gi,{keys:["Esc","Esc","Esc"],description:t("Triple-Escape to quickly exit keyboard mode")})]}),c.jsx("p",{className:"text-xs opacity-70",children:t("You can also click the keyboard button in the sidebar to toggle.")}),c.jsx("p",{className:"font-medium mt-4",children:t("Movement:")}),c.jsxs("div",{className:"space-y-2",children:[c.jsx(Gi,{keys:["↑","↓"],altKeys:["k","j"],description:t("Move between items in a list")}),c.jsx(Gi,{keys:["Tab"],description:t("Switch to next column (Shift+Tab for previous)")}),c.jsx(Gi,{keys:["Page Up"],description:t("Jump to top and focus first item")})]}),c.jsx("p",{className:"font-medium mt-4",children:t("Actions:")}),c.jsxs("div",{className:"space-y-2",children:[c.jsx(Gi,{keys:["→","Enter"],altKeys:["l"],description:t("Activate the selected item")}),c.jsx(Gi,{keys:["←"],altKeys:["h"],description:t("Go back (close panel or move to sidebar)")}),c.jsx(Gi,{keys:["Escape"],description:t("Close current view or cancel")})]}),c.jsx("p",{className:"font-medium mt-4",children:t("Note Actions (when a note is selected):")}),c.jsxs("div",{className:"space-y-2",children:[c.jsx(Gi,{keys:["r"],description:t("Reply")}),c.jsx(Gi,{keys:["p"],description:t("Repost")}),c.jsx(Gi,{keys:["q"],description:t("Quote")}),c.jsx(Gi,{keys:["R"],description:t("React with emoji")}),c.jsx(Gi,{keys:["z"],description:t("Zap (send sats)")})]}),c.jsx("p",{className:"text-xs opacity-70 pt-2",children:t("Selected items are centered on screen for easy viewing.")})]})})]}),c.jsxs(Xs,{value:"layout",className:"border rounded-lg px-4",children:[c.jsx(ea,{className:"py-3",children:c.jsxs("div",{className:"flex items-center gap-3",children:[c.jsx(z7e,{className:"size-5 text-muted-foreground"}),c.jsx("span",{className:"font-medium",children:t("Layout & Navigation")})]})}),c.jsx(ta,{className:"pb-4",children:c.jsxs("div",{className:"space-y-3 text-sm text-muted-foreground",children:[c.jsx("p",{children:t("The app uses a multi-column layout:")}),c.jsxs("ul",{className:"list-disc list-inside space-y-1.5 ml-2",children:[c.jsx("li",{children:t("Sidebar: Quick access to main sections")}),c.jsx("li",{children:t("Primary column: Feed, notifications, inbox, search")}),c.jsx("li",{children:t("Secondary column: Note details, user profiles, relay info")})]}),c.jsx("p",{children:t("On mobile or single-column mode, pages stack on top of each other.")}),c.jsx("p",{children:t("Use the columns button at the bottom of the sidebar to switch between layouts.")})]})})]}),c.jsxs(Xs,{value:"posting",className:"border rounded-lg px-4",children:[c.jsx(ea,{className:"py-3",children:c.jsxs("div",{className:"flex items-center gap-3",children:[c.jsx(rf,{className:"size-5 text-muted-foreground"}),c.jsx("span",{className:"font-medium",children:t("Posting & Interactions")})]})}),c.jsx(ta,{className:"pb-4",children:c.jsxs("div",{className:"space-y-3 text-sm text-muted-foreground",children:[c.jsx("p",{children:c.jsx("strong",{children:t("Creating Posts:")})}),c.jsxs("ul",{className:"list-disc list-inside space-y-1.5 ml-2",children:[c.jsx("li",{children:t("Click the post button in the sidebar to compose a new note")}),c.jsx("li",{children:t("Use @ to mention users and # for hashtags")}),c.jsx("li",{children:t("Drag and drop images or use the attachment button")})]}),c.jsx("p",{className:"pt-2",children:c.jsx("strong",{children:t("Interacting with Notes:")})}),c.jsxs("ul",{className:"list-disc list-inside space-y-1.5 ml-2",children:[c.jsx("li",{children:t("Reply: Continue the conversation")}),c.jsx("li",{children:t("Repost: Share to your followers")}),c.jsx("li",{children:t("Quote: Repost with your own comment")}),c.jsx("li",{children:t("React: Like or add emoji reactions")}),c.jsx("li",{children:t("Zap: Send Bitcoin tips via Lightning")})]})]})})]}),c.jsxs(Xs,{value:"zaps",className:"border rounded-lg px-4",children:[c.jsx(ea,{className:"py-3",children:c.jsxs("div",{className:"flex items-center gap-3",children:[c.jsx(uc,{className:"size-5 text-muted-foreground"}),c.jsx("span",{className:"font-medium",children:t("Zaps & Lightning")})]})}),c.jsx(ta,{className:"pb-4",children:c.jsxs("div",{className:"space-y-3 text-sm text-muted-foreground",children:[c.jsx("p",{children:t("Zaps are Bitcoin tips sent via the Lightning Network:")}),c.jsxs("ul",{className:"list-disc list-inside space-y-1.5 ml-2",children:[c.jsx("li",{children:t("To receive zaps, add a Lightning address to your profile")}),c.jsx("li",{children:t("To send zaps, connect a Lightning wallet in Settings")}),c.jsx("li",{children:t("Click the zap icon on any note to send sats")}),c.jsx("li",{children:t("Long-press for custom zap amounts")})]}),c.jsx("p",{className:"pt-2",children:t("Supported wallets include Alby, NWC-compatible wallets, and Cashu mints.")})]})})]}),c.jsxs(Xs,{value:"accounts",className:"border rounded-lg px-4",children:[c.jsx(ea,{className:"py-3",children:c.jsxs("div",{className:"flex items-center gap-3",children:[c.jsx(L8,{className:"size-5 text-muted-foreground"}),c.jsx("span",{className:"font-medium",children:t("Account & Login")})]})}),c.jsx(ta,{className:"pb-4",children:c.jsxs("div",{className:"space-y-3 text-sm text-muted-foreground",children:[c.jsx("p",{children:t("Nostr uses public/private key pairs for identity:")}),c.jsxs("ul",{className:"list-disc list-inside space-y-1.5 ml-2",children:[c.jsxs("li",{children:[c.jsx("strong",{children:"npub"}),": ",t("Your public key (share freely)")]}),c.jsxs("li",{children:[c.jsx("strong",{children:"nsec"}),": ",t("Your private key (keep secret!)")]})]}),c.jsx("p",{className:"pt-2",children:c.jsx("strong",{children:t("Login Methods:")})}),c.jsxs("ul",{className:"list-disc list-inside space-y-1.5 ml-2",children:[c.jsxs("li",{children:[c.jsx("strong",{children:t("Browser Extension (NIP-07)")}),": ",t("Recommended. Uses extensions like Alby or nos2x")]}),c.jsxs("li",{children:[c.jsx("strong",{children:t("Remote Signer (NIP-46)")}),": ",t("Connect to bunker signers like Amber or nsecBunker")]}),c.jsxs("li",{children:[c.jsx("strong",{children:t("Private Key")}),": ",t("Enter nsec directly (less secure)")]}),c.jsxs("li",{children:[c.jsx("strong",{children:t("View Only")}),": ",t("Browse with an npub without signing")]})]})]})})]}),c.jsxs(Xs,{value:"settings",className:"border rounded-lg px-4",children:[c.jsx(ea,{className:"py-3",children:c.jsxs("div",{className:"flex items-center gap-3",children:[c.jsx(Ch,{className:"size-5 text-muted-foreground"}),c.jsx("span",{className:"font-medium",children:t("Settings Overview")})]})}),c.jsx(ta,{className:"pb-4",children:c.jsx("div",{className:"space-y-3 text-sm text-muted-foreground",children:c.jsxs("ul",{className:"list-disc list-inside space-y-1.5 ml-2",children:[c.jsxs("li",{children:[c.jsx("strong",{children:t("General")}),": ",t("Language, content preferences, mutes")]}),c.jsxs("li",{children:[c.jsx("strong",{children:t("Appearance")}),": ",t("Theme, layout, visual options")]}),c.jsxs("li",{children:[c.jsx("strong",{children:t("Relays")}),": ",t("Configure which relays to read from and write to")]}),c.jsxs("li",{children:[c.jsx("strong",{children:t("Posts")}),": ",t("Posting preferences and default settings")]}),c.jsxs("li",{children:[c.jsx("strong",{children:t("Wallet")}),": ",t("Lightning wallet connection for zaps")]}),c.jsxs("li",{children:[c.jsx("strong",{children:t("Emoji Packs")}),": ",t("Custom emoji sets")]}),c.jsxs("li",{children:[c.jsx("strong",{children:t("System")}),": ",t("Debug tools and app information")]})]})})})]})]})})}function Gi({keys:t,altKeys:e,description:n}){return c.jsxs("div",{className:"flex items-center gap-3",children:[c.jsxs("div",{className:"flex items-center gap-1",children:[t.map(r=>c.jsx("kbd",{className:"px-2 py-1 text-xs font-mono bg-muted border rounded",children:r},r)),e&&c.jsxs(c.Fragment,{children:[c.jsx("span",{className:"text-xs text-muted-foreground mx-1",children:"/"}),e.map(r=>c.jsx("kbd",{className:"px-2 py-1 text-xs font-mono bg-muted border rounded",children:r},r))]})]}),c.jsx("span",{children:n})]})}const S1e=h.forwardRef((t,e)=>c.jsx(Xl,{pageName:"help",ref:e,titlebar:c.jsx(zdt,{}),displayScrollToTopButton:!0,children:c.jsx(C1e,{})}));S1e.displayName="HelpPage";function zdt(){const{t}=qe();return c.jsxs("div",{className:"flex gap-2 items-center h-full pl-3",children:[c.jsx(Yse,{}),c.jsx("div",{className:"text-lg font-semibold",children:t("Help")})]})}const E1e=h.forwardRef((t,e)=>{const{t:n}=qe(),{push:r}=kn(),{pubkey:o}=wt(),[s,a]=h.useState(!1),[i,l]=h.useState(!1);return o?c.jsxs(Xl,{ref:e,pageName:"home",titlebar:c.jsx(AZ,{}),hideTitlebarBottomBorder:!0,children:[c.jsxs("div",{className:"flex gap-4 items-center p-4",children:[c.jsx(nc,{userId:o,size:"big"}),c.jsxs("div",{className:"space-y-1 flex-1 w-0",children:[c.jsx(sd,{className:"text-xl font-semibold text-wrap",userId:o,skeletonClassName:"h-6 w-32",showQrCode:!1}),c.jsxs("div",{className:"flex gap-1 mt-1",children:[c.jsx(Nge,{pubkey:o}),c.jsx(US,{pubkey:o})]})]})]}),c.jsxs("div",{className:"mt-4",children:[c.jsxs(r0,{onClick:()=>r(wf(o)),children:[c.jsx(ES,{}),n("Profile")]}),c.jsxs(r0,{onClick:()=>r(FS()),children:[c.jsx(ei,{})," ",n("Relays")]}),c.jsxs(r0,{onClick:()=>r(mFe()),children:[c.jsx(Vse,{})," ",n("Bookmarks")]}),c.jsxs(r0,{onClick:()=>r(AL()),children:[c.jsx(uL,{}),n("Wallet")]}),c.jsxs(r0,{onClick:()=>a(!0),children:[c.jsx(Bse,{})," ",n("Switch account")]}),c.jsx(ri,{className:"bg-background"}),c.jsxs(r0,{className:"text-destructive focus:text-destructive",onClick:()=>l(!0),hideChevron:!0,children:[c.jsx(CS,{}),n("Logout")]})]}),c.jsx(QE,{open:s,setOpen:a}),c.jsx($ge,{open:i,setOpen:l})]}):c.jsx(Xl,{ref:e,pageName:"home",titlebar:c.jsx(AZ,{}),hideTitlebarBottomBorder:!0,children:c.jsx("div",{className:"flex flex-col p-4 gap-4 overflow-auto",children:c.jsx(sC,{})})})});E1e.displayName="MePage";function AZ(){const{push:t}=kn();return c.jsx("div",{className:"flex justify-end items-center",children:c.jsx(Le,{variant:"ghost",size:"titlebar-icon",onClick:()=>t(Lie()),children:c.jsx(Ch,{})})})}function r0({children:t,className:e,hideChevron:n=!1,...r}){return c.jsxs("div",{className:Re("flex clickable justify-between items-center px-4 py-2 h-[52px] rounded-lg [&_svg]:size-4 [&_svg]:shrink-0",e),...r,children:[c.jsx("div",{className:"flex items-center gap-4",children:t}),!n&&c.jsx(Hse,{})]})}const _Z="http://www.w3.org/2000/svg",Fdt=["#e07030","#8833bb","#00aabb"],Bdt=["#2266cc","#cc2233","#22aa44"],Udt=110,$dt=.56,Vdt=32,Hdt=6,Wdt=Math.PI*.68,N1e=400,I1e=400,Ydt=[-Math.PI/2,-Math.PI/2+2*Math.PI/3,-Math.PI/2+4*Math.PI/3];function Gdt(t){const e=[];let n=50;function r(o,s,a,i,l,u,d){if(i>l)return;const f=Math.pow($dt,i-1),m=Udt*f,g=Vdt*f,w=o+Math.cos(a)*m,b=s+Math.sin(a)*m,j=n;n+=30,e.push({x1:o,y1:s,x2:w,y2:b,color:t[u],width:g,delay:j});const S=d*.82,I=[-S/2,S/2];for(const N of I)r(w,b,a+N,i+1,l,u,S)}for(let o=0;o<3;o++)r(N1e,I1e,Ydt[o],1,Hdt,o,Wdt);return e}function qdt(t,e){for(;t.firstChild;)t.removeChild(t.firstChild);const r=Gdt(e?Fdt:Bdt);for(const i of r){const l=document.createElementNS(_Z,"line");l.setAttribute("x1",String(i.x1)),l.setAttribute("y1",String(i.y1)),l.setAttribute("x2",String(i.x2)),l.setAttribute("y2",String(i.y2)),l.setAttribute("stroke",i.color),l.setAttribute("stroke-width",String(i.width)),l.classList.add("smesh-loader-edge"),l.style.animationDelay=i.delay+"ms",t.appendChild(l)}const o=24,s=[];for(let i=0;i<6;i++){const l=Math.PI/6+i*Math.PI/3;s.push(`${(N1e+o*Math.cos(l)).toFixed(2)},${(I1e+o*Math.sin(l)).toFixed(2)}`)}const a=document.createElementNS(_Z,"polygon");a.setAttribute("points",s.join(" ")),a.setAttribute("fill",e?"#e8e4da":"#1a1a1e"),a.setAttribute("stroke",e?"#0a0a0e":"#f5f5f0"),a.setAttribute("stroke-width","7.5"),a.setAttribute("stroke-linejoin","round"),a.classList.add("smesh-loader-center"),a.style.animationDelay="0ms",t.appendChild(a)}function A1e({className:t}){const{theme:e}=gf(),n=h.useRef(null),r=e!=="light";return h.useEffect(()=>{n.current&&qdt(n.current,r)},[r]),c.jsxs("div",{className:t,children:[c.jsx("style",{children:`
2320 .smesh-loader-edge {
2321 stroke-linecap: round;
2322 opacity: 0;
2323 animation: smeshEdgeFade 0.4s ease forwards;
2324 }
2325 .smesh-loader-center {
2326 opacity: 0;
2327 animation: smeshNodePop 0.3s ease forwards;
2328 }
2329 @keyframes smeshEdgeFade {
2330 to { opacity: 1; }
2331 }
2332 @keyframes smeshNodePop {
2333 0% { opacity: 0; transform: scale(0); }
2334 70% { transform: scale(1.2); }
2335 100% { opacity: 1; transform: scale(1); }
2336 }
2337 `}),c.jsx("svg",{viewBox:"160.68 160.68 478.65 478.65",className:"w-full h-full",children:c.jsx("g",{ref:n})})]})}function _1e({relaySet:t,select:e,onSelectChange:n}){const{t:r}=qe(),[o,s]=h.useState(!1);return c.jsxs("div",{className:Re("group relative w-full border rounded-lg px-3 py-2.5 transition-all duration-200",e?"border-primary bg-primary/5 shadow-sm":"border-border hover:border-primary/50 hover:bg-accent/50 clickable"),onClick:()=>n(!e),children:[c.jsxs("div",{className:"flex justify-between items-center gap-2",children:[c.jsxs("div",{className:"flex gap-3 items-center flex-1 min-w-0",children:[c.jsx("div",{className:"flex justify-center items-center size-6 shrink-0",children:c.jsx(Jse,{className:"size-5"})}),c.jsx("div",{className:"font-medium select-none truncate",children:t.name})]}),c.jsx("div",{className:"flex gap-1 items-center shrink-0",children:c.jsx(Kdt,{expand:o,onExpandChange:s,children:r("n relays",{n:t.relayUrls.length})})})]}),o&&c.jsx(Zdt,{urls:t.relayUrls})]})}function Kdt({children:t,expand:e,onExpandChange:n}){return c.jsxs("div",{className:"text-xs text-muted-foreground flex items-center gap-0.5 cursor-pointer hover:text-foreground transition-colors",onClick:r=>{r.stopPropagation(),n(!e)},children:[c.jsx("div",{className:"select-none font-medium",children:t}),c.jsx(cc,{size:14,className:Re("transition-transform duration-200",e&&"rotate-180")})]})}function Zdt({urls:t}){return t?c.jsx("div",{className:"mt-2.5 pt-2.5 border-t space-y-1.5",children:t.map(e=>c.jsxs("div",{className:"flex items-center gap-2.5 pl-1",children:[c.jsx(Zl,{url:e,className:"size-4 shrink-0",classNames:{fallback:"size-3"}}),c.jsx("div",{className:"text-muted-foreground text-xs truncate",children:e})]},e))}):null}function MZ({close:t}){const{t:e}=qe(),{pubkey:n}=wt(),{relaySets:r,favoriteRelays:o}=fa(),{feedInfo:s,switchFeed:a}=Yg(),{pinnedPubkeySet:i}=YP(),l=h.useMemo(()=>r.filter(d=>d.relayUrls.length>0),[r]),u=l.length>0||o.length>0;return c.jsxs("div",{className:"space-y-4",children:[c.jsxs("div",{className:"space-y-2",children:[c.jsx(RZ,{title:e("Personal Feeds")}),c.jsxs("div",{className:"space-y-1.5",children:[c.jsx(E5,{isActive:(s==null?void 0:s.feedType)==="following",disabled:!n,onClick:()=>{n&&(a("following",{pubkey:n}),t==null||t())},children:c.jsxs("div",{className:"flex gap-3 items-center",children:[c.jsx("div",{className:"flex justify-center items-center size-6 shrink-0",children:c.jsx(wae,{className:"size-5"})}),c.jsx("div",{className:"flex-1",children:e("Following")})]})}),c.jsx(E5,{isActive:(s==null?void 0:s.feedType)==="pinned",disabled:!n||i.size===0,onClick:()=>{n&&(a("pinned",{pubkey:n}),t==null||t())},children:c.jsxs("div",{className:"flex gap-3 items-center",children:[c.jsx("div",{className:"flex justify-center items-center size-6 shrink-0",children:c.jsx(cd,{className:"size-5"})}),c.jsx("div",{className:"flex-1",children:e("Special Follow")})]})})]})]}),u&&c.jsxs("div",{className:"space-y-2",children:[c.jsx(RZ,{title:e("Relay Feeds"),action:c.jsxs(tc,{to:FS(),className:"flex items-center gap-1 text-xs text-primary hover:text-primary-hover transition-colors font-medium",onClick:()=>t==null?void 0:t(),children:[c.jsx(iL,{className:"size-3"}),e("edit")]})}),c.jsxs("div",{className:"space-y-1.5",children:[l.map(d=>c.jsx(_1e,{relaySet:d,select:(s==null?void 0:s.feedType)==="relays"&&d.id===s.id,onSelectChange:f=>{f&&(a("relays",{activeRelaySetId:d.id}),t==null||t())}},d.id)),o.map(d=>c.jsx(E5,{isActive:(s==null?void 0:s.feedType)==="relay"&&s.id===d,onClick:()=>{a("relay",{relay:d}),t==null||t()},children:c.jsxs("div",{className:"flex gap-3 items-center w-full",children:[c.jsx(Zl,{url:d,className:"shrink-0"}),c.jsx("div",{className:"flex-1 w-0 truncate",children:la(d)})]})},d))]})]})]})}function RZ({title:t,action:e}){return c.jsxs("div",{className:"flex justify-between items-center px-1 py-1",children:[c.jsx("h3",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wider",children:t}),e]})}function E5({children:t,isActive:e,disabled:n,onClick:r}){return c.jsx("div",{className:Re("group relative w-full border rounded-lg px-3 py-2.5 transition-all duration-200",n&&"opacity-50 pointer-events-none",e?"border-primary bg-primary/5 shadow-sm":"border-border hover:border-primary/50 hover:bg-accent/50 clickable"),onClick:()=>{n||r()},children:c.jsx("div",{className:"flex justify-between items-center gap-2",children:c.jsx("div",{className:"font-medium flex-1 min-w-0",children:t})})})}function Qdt({className:t}){const{isSmallScreen:e}=gn(),[n,r]=h.useState(!1);return e?c.jsxs(c.Fragment,{children:[c.jsx(TZ,{className:t,onClick:()=>r(!0)}),c.jsx(ao,{open:n,onOpenChange:r,children:c.jsx(io,{className:"max-h-[85vh]",children:c.jsx("div",{className:"flex-1 overflow-y-auto overscroll-contain py-3 px-4",style:{touchAction:"pan-y",WebkitOverflowScrolling:"touch"},children:c.jsx(MZ,{close:()=>r(!1)})})})})]}):c.jsxs(RE,{open:n,onOpenChange:r,children:[c.jsx(sge,{asChild:!0,children:c.jsx(TZ,{className:t})}),c.jsx(TE,{sideOffset:0,side:"bottom",className:"w-[400px] p-0 overflow-hidden",children:c.jsx("div",{className:"max-h-[calc(100vh-16rem)] overflow-y-auto overscroll-contain py-3 px-4",onWheel:o=>o.stopPropagation(),onTouchMove:o=>o.stopPropagation(),children:c.jsx(MZ,{close:()=>r(!1)})})})]})}const TZ=h.forwardRef(({className:t,...e},n)=>{const{t:r}=qe(),{feedInfo:o,relayUrls:s}=Yg(),{relaySets:a}=fa(),i=h.useMemo(()=>(o==null?void 0:o.feedType)==="relays"&&o.id?a.find(d=>d.id===o.id):void 0,[o,a]),l=h.useMemo(()=>{if((o==null?void 0:o.feedType)==="following")return r("Following");if((o==null?void 0:o.feedType)==="pinned")return r("Special Follow");if(s.length===0)return r("Choose a feed");if((o==null?void 0:o.feedType)==="relay")return la((o==null?void 0:o.id)??"");if((o==null?void 0:o.feedType)==="relays")return(i==null?void 0:i.name)??(i==null?void 0:i.id)},[o,i]),u=h.useMemo(()=>(o==null?void 0:o.feedType)==="following"?c.jsx(wae,{}):(o==null?void 0:o.feedType)==="pinned"?c.jsx(cd,{}):(o==null?void 0:o.feedType)==="relay"&&o.id?c.jsx(Zl,{url:o.id}):c.jsx(ei,{}),[o]);return c.jsxs("div",{className:Re("flex items-center gap-2 clickable px-3 h-full rounded-xl",t),ref:n,...e,children:[u,c.jsx("div",{className:"text-lg font-semibold truncate",children:l}),c.jsx(cc,{})]})});function Jdt(){const{t}=qe(),{pubkey:e}=wt(),{followingSet:n}=Gg(),{navigate:r}=Lo(),{markFeedLoaded:o}=Yg(),[s,a]=h.useState([]),[i,l]=h.useState(null),[u,d]=h.useState(0),f=h.useRef(!1);return h.useEffect(()=>{if(f.current)return;async function m(){if(!e){a([]),l(null);return}const g=await ze.fetchFollowings(e);l(g.length>0),a(await ze.generateSubRequestsForPubkeys([e,...g],e)),g.length&&(f.current=!0)}m()},[e,n,u]),h.useEffect(()=>{i===!1&&o()},[i,o]),i===!1&&s.length>0?c.jsxs("div",{className:"flex flex-col items-center justify-center min-h-[60vh] px-6 text-center",children:[c.jsx(vae,{size:64,className:"text-muted-foreground mb-4",strokeWidth:1.5}),c.jsx("h2",{className:"text-2xl font-semibold mb-2",children:t("Welcome to Smesh!")}),c.jsx("p",{className:"text-muted-foreground mb-6 max-w-md",children:t("Your feed is empty because you are not following anyone yet. Start by exploring interesting content and following users you like!")}),c.jsxs("div",{className:"flex flex-col sm:flex-row gap-3 w-full max-w-md",children:[c.jsxs(Le,{size:"lg",onClick:()=>r("explore"),className:"w-full",children:[c.jsx(Zse,{className:"size-5"}),t("Explore")]}),c.jsxs(Le,{size:"lg",variant:"outline",onClick:()=>r("search"),className:"w-full",children:[c.jsx(rx,{className:"size-5"}),t("Search Users")]})]})]}):c.jsx(ad,{subRequests:s,onRefresh:()=>{f.current=!1,d(m=>m+1)},onInitialLoad:o,isMainFeed:!0})}function Xdt(){const{pubkey:t}=wt(),{pinnedPubkeySet:e}=YP(),{markFeedLoaded:n}=Yg(),[r,o]=h.useState([]),s=h.useRef(!1);return h.useEffect(()=>{if(s.current)return;async function a(){if(!t||e.size===0){o([]);return}s.current=!0;const i=Array.from(e);o(await ze.generateSubRequestsForPubkeys(i,t))}a()},[t,e]),c.jsx(ad,{subRequests:r,isMainFeed:!0,enableSocialGraphFilter:!0,onInitialLoad:n})}function ept(){const{relayUrls:t,markFeedLoaded:e}=Yg(),[n,r]=h.useState(!1),[o,s]=h.useState(!1);return h.useEffect(()=>{(async()=>{const i=await cx.getRelayInfos(t);s(i.every(l=>xie(l))),r(!0)})()},[t]),n?c.jsx(ad,{subRequests:[{urls:t,filter:{}}],areAlgoRelays:o,isMainFeed:!0,showRelayCloseReason:!0,enableSocialGraphFilter:!0,onInitialLoad:e}):null}const M1e=h.forwardRef((t,e)=>{const{addRelayUrls:n,removeRelayUrls:r}=H7(),o=h.useRef(null),{pubkey:s}=wt(),{feedInfo:a,relayUrls:i,isReady:l,switchFeed:u}=Yg(),[d,f]=h.useState(!1);h.useImperativeHandle(e,()=>o.current),h.useEffect(()=>{o.current&&o.current.scrollToTop("instant")},[JSON.stringify(i),a]),h.useEffect(()=>{if(i.length)return n(i),()=>{r(i)}},[i]);let m=null;if(!l)m=c.jsx("div",{className:"flex items-center justify-center pt-16",children:c.jsx(A1e,{className:"w-48 h-48"})});else if(!a)m=c.jsx(npt,{});else{if(a.feedType==="following"&&!s)return u(null),null;if(a.feedType==="pinned"&&!s)return u(null),null;a.feedType==="following"?m=c.jsx(Jdt,{}):a.feedType==="pinned"?m=c.jsx(Xdt,{}):m=c.jsxs(c.Fragment,{children:[d&&a.feedType==="relay"&&!!a.id&&c.jsx(Fge,{url:a.id,className:"mb-2 pt-3"}),c.jsx(ept,{})]})}return c.jsx(Xl,{pageName:"home",ref:o,titlebar:c.jsx(tpt,{layoutRef:o,showRelayDetails:d,setShowRelayDetails:(a==null?void 0:a.feedType)==="relay"&&a.id?f:void 0}),displayScrollToTopButton:!0,children:m})});M1e.displayName="NoteListPage";function tpt({layoutRef:t,showRelayDetails:e,setShowRelayDetails:n}){return c.jsxs("div",{className:"flex gap-1 items-center h-full justify-between",children:[c.jsx(Qdt,{className:"flex-1 max-w-fit w-0"}),c.jsx("div",{className:"shrink-0 flex gap-1 items-center",children:n&&c.jsx(Le,{variant:"ghost",size:"titlebar-icon",onClick:r=>{var o;r.stopPropagation(),n(s=>!s),e||(o=t==null?void 0:t.current)==null||o.scrollToTop("smooth")},className:e?"bg-accent/50":"",children:c.jsx(sL,{})})})]})}function npt(){const{t}=qe(),{navigate:e}=Lo(),{checkLogin:n}=wt();return c.jsxs("div",{className:"flex flex-col items-center justify-center min-h-[60vh] px-4 text-center space-y-6",children:[c.jsx(A1e,{className:"w-40 h-40"}),c.jsxs("div",{className:"space-y-2",children:[c.jsx("h2",{className:"text-2xl font-bold",children:t("Welcome to Smesh")}),c.jsx("p",{className:"text-muted-foreground max-w-md",children:t("Smesh is a client focused on browsing relays. Get started by exploring interesting relays or login to view your following feed.")})]}),c.jsxs("div",{className:"flex flex-col sm:flex-row gap-3 w-full max-w-md",children:[c.jsxs(Le,{size:"lg",className:"w-full",onClick:()=>e("explore"),children:[c.jsx(Zse,{className:"size-5"}),t("Explore")]}),c.jsxs(Le,{size:"lg",className:"w-full",variant:"outline",onClick:()=>n(),children:[c.jsx(ex,{className:"size-5"}),t("Login")]})]})]})}function fO({type:t,size:e="icon"}){const{t:n}=qe(),{hideUntrustedInteractions:r,hideUntrustedNotifications:o,updateHideUntrustedInteractions:s,updateHideUntrustedNotifications:a}=da(),i=t==="interactions"?r:o,l=t==="interactions"?s:a,u=n(t);return c.jsxs(af,{children:[c.jsx(Ng,{asChild:!0,children:c.jsx(Le,{variant:"ghost",size:e,children:i?c.jsx(H7e,{className:"text-green-400"}):c.jsx(ox,{className:"text-muted-foreground"})})}),c.jsxs(nu,{children:[c.jsxs(ru,{children:[c.jsx(su,{children:i?n("Show untrusted {type}",{type:u}):n("Hide untrusted {type}",{type:u})}),c.jsxs(au,{children:[i?n("Currently hiding {type} from untrusted users.",{type:u}):n("Currently showing all {type}.",{type:u})," ",n("Trusted users include people you follow and people they follow.")," ",i?n("Click continue to show all {type}.",{type:u}):n("Click continue to hide {type} from untrusted users.",{type:u})]})]}),c.jsxs(ou,{children:[c.jsx(cf,{children:n("Cancel")}),c.jsx(lf,{onClick:()=>l(!i),children:n("Continue")})]})]})]})}function pv({icon:t,notificationId:e,sender:n,sentAt:r,description:o,middle:s=null,targetEvent:a,isNew:i=!1,showStats:l=!1,navIndex:u}){const{t:d}=qe(),{push:f}=kn(),{pubkey:m}=wt(),{isNotificationRead:g,markNotificationAsRead:w}=rO(),{notificationListStyle:b}=ts(),j=h.useMemo(()=>i&&!g(e),[i,g,e]),{ref:S,isSelected:I}=o1(1,u??0,{meta:{type:"note"}}),N=()=>{w(e),a?f(yl(a.id)):m&&f(wf(m))};return b===Tp.COMPACT?c.jsxs("div",{ref:S,className:Re("flex items-center justify-between cursor-pointer py-2 px-4 scroll-mt-[6.5rem]",I&&"ring-2 ring-primary ring-inset"),onClick:N,children:[c.jsxs("div",{className:"flex gap-2 items-center flex-1 w-0",children:[c.jsx(Ro,{userId:n,size:"small"}),t,s,a&&c.jsx(jy,{className:Re("truncate flex-1 w-0",j?"font-semibold":"text-muted-foreground"),event:a})]}),c.jsx("div",{className:"text-muted-foreground shrink-0",children:c.jsx(mh,{timestamp:r,short:!0})})]}):c.jsxs("div",{ref:S,className:Re("clickable flex items-start gap-2 cursor-pointer py-2 px-4 border-b scroll-mt-[6.5rem]",I&&"ring-2 ring-primary ring-inset"),onClick:N,children:[c.jsxs("div",{className:"flex gap-2 items-center mt-1.5",children:[t,c.jsx(Ro,{userId:n,size:"medium"})]}),c.jsxs("div",{className:"flex-1 w-0",children:[c.jsxs("div",{className:"flex items-center justify-between gap-1",children:[c.jsxs("div",{className:"flex gap-1 items-center",children:[c.jsx(zs,{userId:n,className:"flex-1 max-w-fit truncate font-semibold",skeletonClassName:"h-4"}),c.jsx("div",{className:"shrink-0 text-muted-foreground text-sm",children:o})]}),j&&c.jsx("button",{className:"m-0.5 size-3 bg-primary rounded-full shrink-0 transition-all hover:ring-4 hover:ring-primary/20",title:d("Mark as read"),onClick:M=>{M.stopPropagation(),w(e)}})]}),s,a&&c.jsx(jy,{className:Re("line-clamp-2",!j&&"text-muted-foreground"),event:a}),c.jsx(mh,{timestamp:r,className:"shrink-0 text-muted-foreground text-sm"}),l&&a&&c.jsx(Dx,{stuff:a,className:"mt-1"})]})]})}function rpt(){const{notificationListStyle:t}=ts();return t===Tp.COMPACT?c.jsxs("div",{className:"flex gap-2 items-center h-11 py-2 px-4",children:[c.jsx(Ln,{className:"w-7 h-7 rounded-full"}),c.jsx(Ln,{className:"h-6 flex-1 w-0"})]}):c.jsxs("div",{className:"flex items-start gap-2 cursor-pointer py-2 px-4",children:[c.jsxs("div",{className:"flex gap-2 items-center mt-1.5",children:[c.jsx(Ln,{className:"w-6 h-6"}),c.jsx(Ln,{className:"w-9 h-9 rounded-full"})]}),c.jsxs("div",{className:"flex-1 w-0",children:[c.jsx("div",{className:"py-1",children:c.jsx(Ln,{className:"w-16 h-4"})}),c.jsx("div",{className:"py-1",children:c.jsx(Ln,{className:"w-full h-4"})}),c.jsx("div",{className:"py-1",children:c.jsx(Ln,{className:"w-12 h-4"})})]})]})}function opt({notification:t,isNew:e=!1,navIndex:n}){const{t:r}=qe();return c.jsx(pv,{notificationId:t.id,icon:c.jsx(eae,{size:24,className:"text-orange-400"}),sender:t.pubkey,sentAt:t.created_at,targetEvent:t,description:r("highlighted your note"),isNew:e,navIndex:n})}function spt({notification:t,isNew:e=!1,navIndex:n}){const{t:r}=qe(),{push:o}=kn(),{pubkey:s}=wt(),{notificationListStyle:a}=ts(),i=h.useMemo(()=>s?Dke(t).includes(s):!1,[s,t]),{parentEventId:l,parentExternalContent:u}=h.useMemo(()=>Tee(t),[t]);return c.jsx(pv,{notificationId:t.id,icon:i?c.jsx(d7e,{size:24,className:"text-pink-400"}):l?c.jsx(nx,{size:24,className:"text-blue-400"}):c.jsx(iae,{size:24,className:"text-green-400"}),sender:t.pubkey,sentAt:t.created_at,targetEvent:t,middle:a===Tp.DETAILED&&c.jsx(Y7,{eventId:l,externalContent:u,className:"",onClick:d=>{d.stopPropagation(),u?o(vy(u)):l&&o(yl(l))}}),description:i?r("mentioned you in a note"):l?"":r("quoted your note"),isNew:e,showStats:!0,navIndex:n})}function apt({notification:t,isNew:e=!1,navIndex:n}){const{t:r}=qe(),o=h.useMemo(()=>{const a=t.tags.find(An("e"));return a?oc(a):void 0},[t]),{event:s}=ll(o);return s?c.jsx(pv,{notificationId:t.id,icon:c.jsx(tPe,{size:24,className:"text-violet-400"}),sender:t.pubkey,sentAt:t.created_at,targetEvent:s,description:r("voted in your poll"),isNew:e,navIndex:n}):null}function ipt({notification:t,isNew:e=!1,navIndex:n}){const{t:r}=qe(),{pubkey:o}=wt(),s=h.useMemo(()=>{const l=t.tags.findLast(An("a"));if(l)return eh(l);const u=t.tags.findLast(An("e"));return u?oc(u):void 0},[t,o]),{event:a}=ll(s),i=h.useMemo(()=>{var u;if(!t.content||t.content==="+")return c.jsx(Xk,{size:24,className:"text-red-400"});const l=(u=/^:([^:]+):$/.exec(t.content))==null?void 0:u[1];if(l){const d=t.tags.find(m=>m[0]==="emoji"&&m[1]===l),f=d==null?void 0:d[2];if(f)return c.jsx($o,{image:{url:f,pubkey:t.pubkey},alt:l,className:"w-6 h-6",classNames:{errorPlaceholder:"bg-transparent",wrapper:"rounded-md"},errorPlaceholder:c.jsx(Xk,{size:24,className:"text-red-400"})})}return t.content.length>4?null:t.content},[t]);return!a||!s||!i?null:c.jsx(pv,{notificationId:t.id,icon:c.jsx("div",{className:"text-xl min-w-6 text-center",children:i}),sender:t.pubkey,sentAt:t.created_at,targetEvent:a,description:r("reacted to your note"),isNew:e,navIndex:n})}function lpt({notification:t,isNew:e=!1,navIndex:n}){const{t:r}=qe(),o=h.useMemo(()=>{try{const s=JSON.parse(t.content);return mC(s)?(ze.addEventToCache(s),s):null}catch{return null}},[t.content]);return o?c.jsx(pv,{notificationId:t.id,icon:c.jsx(Jw,{size:24,className:"text-green-400"}),sender:t.pubkey,sentAt:t.created_at,targetEvent:o,description:r("reposted your note"),isNew:e,navIndex:n}):null}function cpt({notification:t,isNew:e=!1,navIndex:n}){const{t:r}=qe(),{senderPubkey:o,eventId:s,amount:a,comment:i}=h.useMemo(()=>Fk(t)??{},[t]),{event:l}=ll(s);return!o||!a?null:c.jsx(pv,{notificationId:t.id,icon:c.jsx(uc,{size:24,className:"text-yellow-400 shrink-0"}),sender:o,sentAt:t.created_at,targetEvent:l,middle:c.jsxs("div",{className:"font-semibold text-yellow-400 truncate",children:[G2(a)," ",r("sats")," ",i]}),description:r(l?"zapped your note":"zapped you"),isNew:e,navIndex:n})}function upt({notification:t,isNew:e=!1,navIndex:n}){const{pubkey:r}=wt(),{mutePubkeySet:o}=ns(),{hideContentMentioningMutedUsers:s}=lo(),{hideUntrustedNotifications:a,isUserTrusted:i}=da();return h.useMemo(()=>Kge(t,{pubkey:r,mutePubkeySet:o,hideContentMentioningMutedUsers:s,hideUntrustedNotifications:a,isUserTrusted:i}),[t,o,s,a,i])?t.kind===Ue.Reaction?c.jsx(ipt,{notification:t,isNew:e,navIndex:n}):t.kind===Ue.ShortTextNote||t.kind===gt.COMMENT||t.kind===gt.VOICE_COMMENT||t.kind===gt.POLL?c.jsx(spt,{notification:t,isNew:e,navIndex:n}):t.kind===Ue.Repost||t.kind===Ue.GenericRepost?c.jsx(lpt,{notification:t,isNew:e,navIndex:n}):t.kind===Ue.Zap?c.jsx(cpt,{notification:t,isNew:e,navIndex:n}):t.kind===gt.POLL_RESPONSE?c.jsx(apt,{notification:t,isNew:e,navIndex:n}):t.kind===Ue.Highlights?c.jsx(opt,{notification:t,isNew:e,navIndex:n}):null:null}const s3=100,a3=30,R1e=h.forwardRef((t,e)=>{const{t:n}=qe(),{current:r,display:o}=Lo(),s=h.useMemo(()=>r==="notifications"&&o,[r,o]),{pubkey:a}=wt(),{getNotificationsSeenAt:i}=rO(),{notificationListStyle:l}=ts(),[u,d]=h.useState("all"),[f,m]=h.useState(0),[g,w]=h.useState(void 0),[b,j]=h.useState(!0),[S,I]=h.useState(!1),[N,M]=h.useState(!1),[D,O]=h.useState([]),[L,B]=h.useState([]),[T,R]=h.useState(a3),[z,Y]=h.useState(Nn().unix()),Q=h.useMemo(()=>cu(),[]),W=h.useRef(null),F=h.useRef(null),X=h.useRef(null),$=h.useMemo(()=>{switch(u){case"mentions":return[Ue.ShortTextNote,Ue.Highlights,gt.COMMENT,gt.VOICE_COMMENT,gt.POLL];case"reactions":return[Ue.Reaction,Ue.Repost,Ue.GenericRepost,gt.POLL_RESPONSE];case"zaps":return[Ue.Zap];default:return[Ue.ShortTextNote,Ue.Repost,Ue.GenericRepost,Ue.Reaction,Ue.Zap,Ue.Highlights,gt.COMMENT,gt.POLL_RESPONSE,gt.VOICE_COMMENT,gt.POLL]}},[u]),V=h.useCallback(re=>{const de=re.filter(Ne=>Ne.pubkey!==a);de.length!==0&&O(Ne=>{const ve=new Set(Ne.map(pe=>pe.id)),xe=de.filter(pe=>!ve.has(pe.id));if(xe.length===0)return Ne;const ce=[...xe,...Ne];return ce.sort((pe,me)=>me.created_at-pe.created_at),ce})},[a]),K=h.useCallback(re=>{re.pubkey!==a&&O(de=>{const Ne=de.findIndex(ve=>dg(ve,re)<=0);return Ne!==-1&&de[Ne].id===re.id?de:(Ai.updateStuffStatsByEvents([re]),Ne===-1?[...de,re]:[...de.slice(0,Ne),re,...de.slice(Ne)])})},[a]),G=h.useCallback(async()=>{if(!(!a||N)){M(!0),m(i());try{const re=await ze.fetchRelayList(a),de=re.read.length>0?re.read.slice(0,5):ze.currentRelays.slice(0,5),Ne=await ze.fetchEvents(de,{"#p":[a],kinds:$,limit:s3});Ne.length>0&&(V(Ne),fl.addRepliesToThread(Ne),Ai.updateStuffStatsByEvents(Ne))}finally{M(!1)}}},[a,N,$,V,i]);h.useImperativeHandle(e,()=>({refresh:()=>{N||G()}}),[N,G]),h.useEffect(()=>{if(r!=="notifications")return;if(!a){Y(void 0);return}return(async()=>{j(!0),O([]),R(a3),m(i());const de=await ze.fetchRelayList(a),{closer:Ne,timelineKey:ve}=await ze.subscribeTimeline([{urls:de.read.length>0?de.read.slice(0,5):ze.currentRelays.slice(0,5),filter:{"#p":[a],kinds:$,limit:s3}}],{onEvents:(xe,ce)=>{xe.length>0&&O(xe.filter(pe=>pe.pubkey!==a)),ce&&(j(!1),Y(xe.length>0?xe[xe.length-1].created_at-1:void 0),fl.addRepliesToThread(xe),Ai.updateStuffStatsByEvents(xe))},onNew:xe=>{K(xe),fl.addRepliesToThread([xe])}});X.current=Ne,w(ve)})(),()=>{var de;(de=X.current)==null||de.call(X),X.current=null}},[a,$,r]),h.useEffect(()=>{if(!s||!a)return;const re=de=>{const ve=de.detail;IX({kinds:$,"#p":[a]},ve)&&K(ve)};return ze.addEventListener("newEvent",re),()=>{ze.removeEventListener("newEvent",re)}},[a,s,$,K]),h.useEffect(()=>{B(D.slice(0,T))},[D,T]),h.useEffect(()=>{const re={root:null,rootMargin:"10px",threshold:1},de=async()=>{if(T<D.length&&(R(ce=>ce+a3),D.length-T>s3/2)||!a||!g||!z||S||b)return;I(!0);const xe=await ze.loadMoreTimeline(g,z,s3);if(I(!1),xe.length===0){Y(void 0);return}xe.length>0&&O(ce=>[...ce,...xe.filter(pe=>pe.pubkey!==a)]),Y(xe[xe.length-1].created_at-1)},Ne=new IntersectionObserver(xe=>{xe[0].isIntersecting&&de()},re),ve=F.current;return ve&&Ne.observe(ve),()=>{Ne&&ve&&Ne.unobserve(ve)}},[a,g,z,S,b,T,D]);const J=()=>{var re;(re=W.current)==null||re.scrollIntoView({behavior:"instant",block:"start"}),G()},ne=c.jsxs("div",{className:l===Tp.COMPACT?"pt-2":"",children:[L.map((re,de)=>c.jsx(upt,{notification:re,isNew:re.created_at>f,navIndex:de},re.id)),c.jsx("div",{className:"text-center text-sm text-muted-foreground",children:z||S||b?c.jsx("div",{ref:F,children:c.jsx(rpt,{})}):n("no more notifications")})]});return c.jsxs("div",{children:[c.jsx(Px,{value:u,tabs:[{value:"all",label:"All"},{value:"mentions",label:"Mentions"},{value:"reactions",label:"Reactions"},{value:"zaps",label:"Zaps"}],onTabChange:re=>{R(a3),d(re)},options:Q?null:c.jsx(HP,{onClick:()=>J()})}),c.jsx("div",{ref:W,className:"scroll-mt-[calc(6rem+1px)]"}),Q?c.jsx(hge,{onRefresh:async()=>{G(),await new Promise(re=>setTimeout(re,1e3))},pullingContent:"",children:ne}):ne]})});R1e.displayName="NotificationList";const T1e=h.forwardRef((t,e)=>{const{current:n}=Lo(),r=h.useRef(!0),o=h.useRef(null);return h.useEffect(()=>{var s;n==="notifications"&&!r.current&&((s=o.current)==null||s.refresh()),r.current=!1},[n]),c.jsx(Xl,{ref:e,pageName:"notifications",titlebar:c.jsx(fpt,{}),displayScrollToTopButton:!0,children:c.jsx(R1e,{ref:o})})});T1e.displayName="NotificationListPage";function fpt(){const{t}=qe();return c.jsxs("div",{className:"flex gap-2 items-center justify-between h-full pl-3",children:[c.jsxs("div",{className:"flex items-center gap-2",children:[c.jsx(gy,{}),c.jsx("div",{className:"text-lg font-semibold",children:t("Notifications")})]}),c.jsx(fO,{type:"notifications",size:"titlebar-icon"})]})}const D1e=h.forwardRef((t,e)=>{const{pubkey:n}=wt();return c.jsx(Xl,{pageName:"profile",titlebar:c.jsx(dpt,{}),displayScrollToTopButton:!0,ref:e,children:c.jsx(GP,{id:n??void 0})})});D1e.displayName="ProfilePage";function dpt(){const{t}=qe(),[e,n]=h.useState(!1);return c.jsxs(c.Fragment,{children:[c.jsxs("div",{className:"flex justify-between items-center h-full w-full pl-3 pr-1",children:[c.jsxs("div",{className:"flex gap-2 items-center",children:[c.jsx(ES,{}),c.jsx("div",{className:"text-lg font-semibold",children:t("Profile")})]}),c.jsx(Le,{variant:"ghost",size:"titlebar-icon",onClick:()=>n(!0),children:c.jsx(Bse,{})})]}),c.jsx(QE,{open:e,setOpen:n})]})}const R0=class R0{constructor(){return R0.instance||(R0.instance=this),R0.instance}getApiBase(){return window.location.origin}async authGet(e){const n=`${this.getApiBase()}${e}`,r=await ze.signHttpAuth(n,"GET");return fetch(n,{headers:{Authorization:r}})}async authPost(e,n,r){const o=`${this.getApiBase()}${e}`,a={Authorization:await ze.signHttpAuth(o,"POST")};return r&&(a["Content-Type"]=r),fetch(o,{method:"POST",headers:a,body:n})}async authPut(e,n,r){const o=`${this.getApiBase()}${e}`,s=await ze.signHttpAuth(o,"PUT");return fetch(o,{method:"PUT",headers:{Authorization:s,"Content-Type":r},body:n})}async authDelete(e){const n=`${this.getApiBase()}${e}`,r=await ze.signHttpAuth(n,"DELETE");return fetch(n,{method:"DELETE",headers:{Authorization:r}})}async isEmbeddedInRelay(){try{const e=await fetch(this.getApiBase(),{headers:{Accept:"application/nostr+json"}});if(!e.ok)return!1;const n=await e.json();return!!(n&&n.name)}catch{return!1}}async fetchUserRole(){try{const e=await this.authGet("/api/role");if(e.ok)return(await e.json()).role||""}catch(e){console.error("fetchUserRole error:",e)}return""}async fetchACLMode(){try{const e=await fetch(`${this.getApiBase()}/api/acl-mode`);if(e.ok)return(await e.json()).mode||""}catch(e){console.error("fetchACLMode error:",e)}return""}async fetchRelayInfo(){try{const e=await fetch(this.getApiBase(),{headers:{Accept:"application/nostr+json"}});if(e.ok)return await e.json()}catch(e){console.error("fetchRelayInfo error:",e)}return null}async loadSprocketConfig(){const e=await this.authGet("/api/sprocket/config");if(!e.ok)throw new Error(`Failed to load config: ${e.statusText}`);return await e.json()}async loadSprocketStatus(){const e=await this.authGet("/api/sprocket/status");if(!e.ok)throw new Error(`Failed to load status: ${e.statusText}`);return await e.json()}async loadSprocketScript(){const e=await this.authGet("/api/sprocket");if(e.status===404)return"";if(!e.ok)throw new Error(`Failed to load sprocket: ${e.statusText}`);return await e.text()}async saveSprocketScript(e){const n=await this.authPut("/api/sprocket",e,"text/plain");if(!n.ok)throw new Error(`Failed to save: ${n.statusText}`);return await n.json()}async restartSprocket(){const e=await this.authPost("/api/sprocket/restart");if(!e.ok)throw new Error(`Failed to restart: ${e.statusText}`);return await e.json()}async deleteSprocket(){const e=await this.authDelete("/api/sprocket");if(!e.ok)throw new Error(`Failed to delete: ${e.statusText}`);return await e.json()}async loadSprocketVersions(){const e=await this.authGet("/api/sprocket/versions");if(!e.ok)throw new Error(`Failed to load versions: ${e.statusText}`);return await e.json()}async loadSprocketVersion(e){const n=await this.authGet(`/api/sprocket/versions/${encodeURIComponent(e)}`);if(!n.ok)throw new Error(`Failed to load version: ${n.statusText}`);return await n.text()}async deleteSprocketVersion(e){const n=await this.authDelete(`/api/sprocket/versions/${encodeURIComponent(e)}`);if(!n.ok)throw new Error(`Failed to delete version: ${n.statusText}`);return await n.json()}async loadPolicyConfig(){const e=await this.authGet("/api/policy/config");if(!e.ok)throw new Error(`Failed to load policy config: ${e.statusText}`);return await e.json()}async loadPolicy(){const e=await this.authGet("/api/policy");if(!e.ok)throw new Error(`Failed to load policy: ${e.statusText}`);return await e.json()}async validatePolicy(e){return await(await this.authPost("/api/policy/validate",e,"application/json")).json()}async fetchPolicyFollows(){const e=await this.authGet("/api/policy/follows");if(!e.ok)throw new Error(`Failed to fetch follows: ${e.statusText}`);return(await e.json()).follows||[]}async exportEvents(e=[]){const n=await this.authPost("/api/export",JSON.stringify({pubkeys:e}),"application/json");if(!n.ok)throw new Error(`Export failed: ${n.statusText}`);return await n.blob()}async importEvents(e){const n=new FormData;n.append("file",e);const r=`${this.getApiBase()}/api/import`,o=await ze.signHttpAuth(r,"POST"),s=await fetch(r,{method:"POST",headers:{Authorization:o},body:n});if(!s.ok)throw new Error(`Import failed: ${s.statusText}`);return await s.json()}async getLogs(e,n=100){const r=new URLSearchParams;e&&r.set("cursor",e),r.set("limit",String(n));const o=await this.authGet(`/api/logs?${r}`);if(!o.ok)throw new Error(`Failed to get logs: ${o.statusText}`);return await o.json()}async clearLogs(){const e=await this.authPost("/api/logs/clear");if(!e.ok)throw new Error(`Failed to clear logs: ${e.statusText}`);return await e.json()}async getLogLevel(){const e=await this.authGet("/api/logs/level");if(!e.ok)throw new Error(`Failed to get log level: ${e.statusText}`);return(await e.json()).level||"info"}async setLogLevel(e){const n=await this.authPost("/api/logs/level",JSON.stringify({level:e}),"application/json");if(!n.ok)throw new Error(`Failed to set log level: ${n.statusText}`);return await n.json()}async nip86Request(e,n=[]){const r=await this.authPost("/api/nip86",JSON.stringify({method:e,params:n}),"application/json");if(!r.ok)throw new Error(`NIP-86 ${e} failed: ${r.statusText}`);return await r.json()}async fetchWireGuardStatus(){try{const e=await fetch(`${this.getApiBase()}/api/wireguard/status`);if(e.ok)return await e.json()}catch(e){console.error("fetchWireGuardStatus error:",e)}return{wireguard_enabled:!1,bunker_enabled:!1,available:!1}}async getWireGuardConfig(){const e=await this.authGet("/api/wireguard/config");if(!e.ok)throw new Error(await e.text()||`Failed: ${e.statusText}`);return await e.json()}async regenerateWireGuard(){const e=await this.authPost("/api/wireguard/regenerate");if(!e.ok)throw new Error(await e.text()||`Failed: ${e.statusText}`);return await e.json()}async getWireGuardAudit(){const e=await this.authGet("/api/wireguard/audit");if(!e.ok)throw new Error(await e.text()||`Failed: ${e.statusText}`);return await e.json()}async fetchNRCConfig(){try{const e=await fetch(`${this.getApiBase()}/api/nrc/config`);if(e.ok)return await e.json()}catch(e){console.error("fetchNRCConfig error:",e)}return{enabled:!1,badger_required:!0}}async fetchNRCConnections(){const e=await this.authGet("/api/nrc/connections");if(!e.ok)throw new Error(await e.text()||`Failed: ${e.statusText}`);return await e.json()}async createNRCConnection(e){const n=await this.authPost("/api/nrc/connections",JSON.stringify({label:e}),"application/json");if(!n.ok)throw new Error(await n.text()||`Failed: ${n.statusText}`);return await n.json()}async deleteNRCConnection(e){const n=await this.authDelete(`/api/nrc/connections/${e}`);if(!n.ok)throw new Error(await n.text()||`Failed: ${n.statusText}`);return await n.json()}async getNRCConnectionURI(e){const n=await this.authGet(`/api/nrc/connections/${e}/uri`);if(!n.ok)throw new Error(await n.text()||`Failed: ${n.statusText}`);return await n.json()}async fetchBunkerInfo(){try{const e=await fetch(`${this.getApiBase()}/api/bunker/info`);if(e.ok)return await e.json()}catch(e){console.error("fetchBunkerInfo error:",e)}return{}}async fetchBunkerURL(){try{const e=await this.authGet("/api/bunker/url");if(e.ok)return(await e.json()).url||""}catch(e){console.error("fetchBunkerURL error:",e)}return""}async fetchMyEvents(e,n=50){const r=new URLSearchParams;e&&r.set("cursor",e),r.set("limit",String(n));const o=await this.authGet(`/api/events/mine?${r}`);if(!o.ok)throw new Error(`Failed: ${o.statusText}`);return await o.json()}};je(R0,"instance");let jR=R0;const o0=new jR,L1e=h.createContext(void 0),ppt=()=>{const t=h.useContext(L1e);if(!t)throw new Error("useRelayAdmin must be used within a RelayAdminProvider");return t};function hpt({children:t}){const{pubkey:e}=wt(),[n,r]=h.useState(!1),[o,s]=h.useState(!0),[a,i]=h.useState(""),[l,u]=h.useState(""),[d,f]=h.useState(null);h.useEffect(()=>{let j=!1;return(async()=>{const I=await o0.isEmbeddedInRelay();if(!j){if(r(I),I){const[N,M]=await Promise.all([o0.fetchRelayInfo(),o0.fetchACLMode()]);j||(f(N),u(M))}j||s(!1)}})(),()=>{j=!0}},[]),h.useEffect(()=>{if(!n||!e){i("");return}let j=!1;return(async()=>{try{const I=await o0.fetchUserRole();j||i(I)}catch{j||i("")}})(),()=>{j=!0}},[n,e]);const m=h.useCallback(async()=>{if(!n||!e)return;const j=await o0.fetchUserRole();i(j)},[n,e]),g=h.useCallback(async()=>{if(!n)return;const j=await o0.fetchACLMode();u(j)},[n]),w=a==="admin"||a==="owner",b=a==="owner";return c.jsx(L1e.Provider,{value:{isEmbedded:n,isLoading:o,userRole:a,aclMode:l,relayInfo:d,isAdmin:w,isOwner:b,refreshRole:m,refreshACLMode:g},children:t})}const mpt=h.lazy(()=>Bs(()=>import("./index-alJjGufA.js"),[])),P1e=h.forwardRef(({url:t},e)=>{const n=h.useMemo(()=>t?oo(t):void 0,[t]),{isEmbedded:r,isAdmin:o,isLoading:s}=ppt(),a=r&&o&&!n;return c.jsx(Xl,{pageName:"relay",titlebar:c.jsx(ypt,{url:n,showAdmin:a}),displayScrollToTopButton:!0,ref:e,children:n?c.jsx(tO,{url:n}):a?c.jsx(h.Suspense,{fallback:c.jsx("div",{className:"flex items-center justify-center py-12 text-muted-foreground",children:"Loading admin..."}),children:c.jsx(mpt,{})}):r&&!s?c.jsx("div",{className:"flex items-center justify-center py-12 text-muted-foreground",children:"Log in as admin to access relay management."}):c.jsx(gpt,{})})});P1e.displayName="RelayPage";function gpt(){const{favoriteRelays:t}=fa(),{navigate:e}=Lo();return t.length===0?c.jsx("div",{className:"flex items-center justify-center py-12 text-muted-foreground",children:"No relays configured."}):c.jsx("div",{className:"p-3 space-y-1",children:t.map(n=>c.jsxs("button",{className:"w-full flex items-center gap-3 p-3 rounded-lg clickable hover:bg-muted/50 transition-colors text-left",onClick:()=>e("relay",{url:n}),children:[c.jsx(Zl,{url:n}),c.jsx("div",{className:"flex-1 truncate font-medium",children:la(n)})]},n))})}function ypt({url:t,showAdmin:e}){return c.jsxs("div",{className:"flex items-center gap-2 px-3 h-full",children:[e?c.jsx(ox,{}):c.jsx(ei,{}),c.jsx("div",{className:"text-lg font-semibold truncate",children:e?"Relay Admin":t?la(t):"Relays"})]})}const O1e=h.forwardRef((t,e)=>{const{current:n,display:r}=Lo(),[o,s]=h.useState(""),[a,i]=h.useState(null),l=h.useMemo(()=>n==="search"&&r,[n,r]),u=h.useRef(null),d=h.useRef(null);h.useImperativeHandle(e,()=>({scrollToTop:(m="smooth")=>{var g;return(g=d.current)==null?void 0:g.scrollToTop(m)}}),[]),h.useEffect(()=>{var m;l&&!a&&((m=u.current)==null||m.focus())},[l,a]);const f=m=>{var g;i(m),m!=null&&m.input&&s(m.input),(g=d.current)==null||g.scrollToTop("instant")};return c.jsx(Xl,{ref:d,pageName:"search",titlebar:c.jsx(LE,{ref:u,onSearch:f,input:o,setInput:s}),displayScrollToTopButton:!0,children:c.jsx(nO,{searchParams:a})})});O1e.displayName="SearchPage";function vpt({children:t}){const{isSmallScreen:e}=gn(),[n,r]=h.useState(!1),o=c.jsxs(c.Fragment,{children:[c.jsx("div",{className:"text-xl font-semibold",children:"Smesh"}),c.jsx("div",{className:"text-muted-foreground",children:"A user-friendly Nostr client for exploring relay feeds"}),c.jsxs("div",{children:["Made by ",c.jsx(zs,{userId:kC,className:"inline-block text-primary",showAt:!0})]}),c.jsxs("div",{children:["Source code:"," ",c.jsx("a",{href:"https://git.mleku.dev/mleku/smesh",target:"_blank",rel:"noreferrer",className:"text-primary hover:underline",children:"Git"}),c.jsx("div",{className:"text-sm text-muted-foreground",children:"If you like Smesh, please consider giving it a star ⭐"})]})]});return e?c.jsxs(ao,{open:n,onOpenChange:r,children:[c.jsx(Sh,{asChild:!0,children:t}),c.jsx(io,{children:c.jsx("div",{className:"p-4 space-y-4",children:o})})]}):c.jsxs(Ls,{open:n,onOpenChange:r,children:[c.jsx(NS,{asChild:!0,children:t}),c.jsx(ms,{children:o})]})}function wpt(){const{t}=qe(),[e,n]=h.useState([]);return h.useEffect(()=>{(async()=>{const o=await Km.fetchRecentSupporters();n(o)})()},[]),e.length?c.jsxs("div",{className:"space-y-2",children:[c.jsx("div",{className:"font-semibold text-center",children:t("Named and Shamed")}),c.jsx("div",{className:"flex flex-col gap-2",children:e.map((r,o)=>c.jsxs("div",{className:"flex items-center justify-between rounded-md border p-2 sm:p-4 gap-2",children:[c.jsxs("div",{className:"flex items-center gap-2 flex-1 w-0",children:[c.jsx(Ro,{userId:r.pubkey}),c.jsxs("div",{className:"flex-1 w-0",children:[c.jsx(zs,{className:"font-semibold w-fit",userId:r.pubkey}),c.jsx("div",{className:"text-xs text-muted-foreground line-clamp-3 select-text",children:r.comment})]})]}),c.jsxs("div",{className:"font-semibold text-yellow-400 shrink-0",children:[G2(r.amount)," ",t("sats")]})]},o))})]}):null}function bpt({className:t}){const[e,n]=h.useState(!1),[r,o]=h.useState(void 0);return c.jsxs("div",{className:Re("p-4 border rounded-lg space-y-4",t),children:[c.jsx("div",{className:"text-center font-semibold text-lg",children:"Can Youse Paradigm?"}),c.jsx("div",{className:"text-center text-muted-foreground",children:"Every hour you don't zap, a donkey eats another cabbage. You can stop this. 🫏"}),c.jsx("div",{className:"grid grid-cols-2 lg:grid-cols-4 gap-4",children:[{amount:1e3,text:"🥬 1k"},{amount:1e4,text:"🫏 10k"},{amount:1e5,text:"🥬🫏 100k"},{amount:1e6,text:"🥬🫏🥬🫏 1M"}].map(({amount:s,text:a})=>c.jsx(Le,{variant:"secondary",className:"",onClick:()=>{o(s),n(!0)},children:a},s))}),c.jsx(wpt,{}),c.jsx(DE,{open:e,setOpen:n,pubkey:kC,defaultAmount:r})]})}function xpt(){const{t}=qe(),[e,n]=h.useState(!1),[r,o]=h.useState(null),[s,a]=h.useState(null),[i,l]=h.useState(!1),[u,d]=h.useState(Xe.getFallbackRelayCount());h.useEffect(()=>{const I=Yf.getCachedResult();I&&a(I)},[]);const f=h.useCallback(async()=>{n(!0),o({phase:"phase1",relaysQueried:0,totalRelays:0,eventsFound:0,uniqueRelaysFound:0});try{const I=await Yf.discover(N=>{o(N)});a(I),on.success(t("Discovery complete"),{description:`${I.relays.length} relays found`})}catch(I){console.error("[RelayDiscovery] Error:",I),on.error(t("Discovery failed"))}finally{n(!1),o(null)}},[t]),m=h.useCallback(()=>{Yf.abort(),n(!1),o(null)},[]),g=h.useCallback(()=>{Yf.clearCache(),a(null),f()},[f]),w=h.useCallback(()=>{if(!s)return;const I=Yf.exportAsPlaintext(s.relays);navigator.clipboard.writeText(I),l(!0),setTimeout(()=>l(!1),2e3),on.success(t("Copied to clipboard"))},[s,t]),b=h.useCallback(()=>{s&&(Yf.downloadAsFile(s.relays),on.success(t("Downloaded")))},[s,t]),j=I=>{switch(I){case"phase1":return t("Phase 1: Querying bootstrap relays");case"phase2":return t("Phase 2: Querying discovered relays");case"complete":return t("Complete");default:return""}},S=()=>{if(!r||r.totalRelays===0)return 0;const I=r.phase==="phase1"?0:50,N=r.relaysQueried/r.totalRelays*50;return Math.round(I+N)};return c.jsxs("div",{className:"space-y-4",children:[c.jsx("div",{className:"text-sm text-muted-foreground",children:t("Discover all known relays on the Nostr network by querying NIP-65 relay lists.")}),c.jsxs("div",{className:"space-y-2",children:[c.jsxs(Ot,{children:[t("Fallback relay count"),": ",u]}),c.jsx("div",{className:"text-xs text-muted-foreground",children:t("Number of top discovered relays to search when notes aren't found.")}),c.jsx(qS,{value:[u],onValueChange:([I])=>{d(I),Xe.setFallbackRelayCount(I)},min:3,max:50,step:1,disabled:!s}),c.jsxs("div",{className:"flex justify-between text-xs text-muted-foreground",children:[c.jsx("span",{children:"3"}),c.jsx("span",{children:"50"})]})]}),c.jsxs("div",{className:"flex gap-2 flex-wrap",children:[e?c.jsxs(Le,{onClick:m,size:"sm",variant:"destructive",children:[c.jsx(Z7e,{className:"h-4 w-4 mr-2"}),t("Stop")]}):c.jsx(c.Fragment,{children:s?c.jsxs(Le,{onClick:g,size:"sm",variant:"outline",children:[c.jsx(Hl,{className:"h-4 w-4 mr-2"}),t("Refresh")]}):c.jsxs(Le,{onClick:f,size:"sm",children:[c.jsx(aL,{className:"h-4 w-4 mr-2"}),t("Start Discovery")]})}),s&&!e&&c.jsxs(c.Fragment,{children:[c.jsxs(Le,{onClick:w,size:"sm",variant:"outline",children:[c.jsx(Pa,{className:"h-4 w-4 mr-2"}),t(i?"Copied!":"Copy")]}),c.jsxs(Le,{onClick:b,size:"sm",variant:"outline",children:[c.jsx(rL,{className:"h-4 w-4 mr-2"}),t("Download")]})]})]}),e&&r&&c.jsxs("div",{className:"space-y-2",children:[c.jsxs("div",{className:"flex items-center gap-2 text-sm",children:[c.jsx(so,{className:"h-4 w-4 animate-spin"}),c.jsx("span",{children:j(r.phase)})]}),c.jsx("div",{className:"h-2 w-full rounded-full bg-muted overflow-hidden",children:c.jsx("div",{className:"h-full bg-primary transition-all duration-300",style:{width:`${S()}%`}})}),c.jsxs("div",{className:"text-xs text-muted-foreground",children:[t("Relays queried"),": ",r.relaysQueried,"/",r.totalRelays," |"," ",t("Events found"),": ",r.eventsFound," |"," ",t("Unique relays"),": ",r.uniqueRelaysFound]})]}),s&&!e&&c.jsxs("div",{className:"space-y-2",children:[c.jsx("div",{className:"text-sm font-medium",children:t("Found {{count}} relays from {{events}} relay list events",{count:s.relays.length,events:s.totalEvents})}),c.jsxs("div",{className:"text-xs text-muted-foreground",children:[t("Last updated"),": ",new Date(s.timestamp).toLocaleString()]}),c.jsx(Fa,{className:"h-[300px] rounded-md border",children:c.jsx("div",{className:"p-2",children:c.jsxs("table",{className:"w-full text-sm",children:[c.jsx("thead",{children:c.jsxs("tr",{className:"border-b",children:[c.jsx("th",{className:"text-left py-2 px-2",children:"#"}),c.jsx("th",{className:"text-left py-2 px-2",children:t("Relay URL")}),c.jsx("th",{className:"text-right py-2 px-2",children:t("Count")}),c.jsx("th",{className:"text-right py-2 px-2",children:"%"})]})}),c.jsx("tbody",{children:s.relays.map((I,N)=>c.jsx(kpt,{relay:I,index:N+1},I.url))})]})})})]})]})}function kpt({relay:t,index:e}){return c.jsxs("tr",{className:"border-b border-border/50 hover:bg-muted/50",children:[c.jsx("td",{className:"py-1.5 px-2 text-muted-foreground",children:e}),c.jsx("td",{className:"py-1.5 px-2 font-mono text-xs break-all",children:t.url}),c.jsx("td",{className:"py-1.5 px-2 text-right tabular-nums",children:t.count}),c.jsxs("td",{className:"py-1.5 px-2 text-right tabular-nums text-muted-foreground",children:[t.percentage,"%"]})]})}const DZ=10;function z1e(){const{t}=qe(),{userEmojiListEvent:e}=wt(),n=h.useMemo(()=>e?e.tags.map(a=>a[0]==="a"?eh(a):null).filter(Boolean).reverse():[],[e]),[r,o]=h.useState(DZ),s=h.useRef(null);return h.useEffect(()=>{const a={root:null,rootMargin:"10px",threshold:.1},i=()=>{r<n.length&&o(d=>d+DZ)},l=new IntersectionObserver(d=>{d[0].isIntersecting&&i()},a),u=s.current;return u&&l.observe(u),()=>{l&&u&&l.unobserve(u)}},[r,n]),n.length===0?c.jsx("div",{className:"mt-2 text-sm text-center text-muted-foreground",children:t("no emoji packs found")}):c.jsx("div",{children:n.slice(0,r).map(a=>c.jsx(jpt,{eventId:a},a))})}function jpt({eventId:t}){const{event:e,isFetching:n}=ll(t);return n?c.jsx(Lx,{className:"border-b"}):e?c.jsx(PE,{event:e,className:"w-full"}):null}function Cpt(){const{t}=qe(),{favoriteRelays:e,addFavoriteRelays:n}=fa(),[r,o]=h.useState(""),[s,a]=h.useState(""),i=async()=>{if(!r)return;const d=oo(r);if(!d){a(t("Invalid URL"));return}if(e.includes(d)){a(t("Already saved"));return}await n([d]),o("")},l=d=>{o(d.target.value),a("")},u=d=>{d.key==="Enter"&&(d.preventDefault(),i())};return c.jsxs("div",{className:"space-y-1",children:[c.jsxs("div",{className:"flex gap-2 items-center",children:[c.jsx(On,{placeholder:t("Add a new relay"),value:r,onChange:l,onKeyDown:u,className:s?"border-destructive":""}),c.jsx(Le,{onClick:i,children:t("Add")})]}),s&&c.jsx("div",{className:"text-destructive text-sm pl-8",children:s})]})}function Spt(){const{t}=qe(),{createRelaySet:e}=fa(),[n,r]=h.useState(""),o=()=>{n&&(e(n),r(""))},s=i=>{r(i.target.value)},a=i=>{i.key==="Enter"&&(i.preventDefault(),o())};return c.jsx("div",{className:"space-y-1",children:c.jsxs("div",{className:"flex gap-2 items-center",children:[c.jsx(On,{placeholder:t("Add a new relay set"),value:n,onChange:s,onKeyDown:a}),c.jsx(Le,{onClick:o,children:t("Add")})]})})}function Ept(){for(var t=arguments.length,e=new Array(t),n=0;n<t;n++)e[n]=arguments[n];return h.useMemo(()=>r=>{e.forEach(o=>o(r))},e)}const VE=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";function hv(t){const e=Object.prototype.toString.call(t);return e==="[object Window]"||e==="[object global]"}function dO(t){return"nodeType"in t}function Pi(t){var e,n;return t?hv(t)?t:dO(t)&&(e=(n=t.ownerDocument)==null?void 0:n.defaultView)!=null?e:window:window}function pO(t){const{Document:e}=Pi(t);return t instanceof e}function Fx(t){return hv(t)?!1:t instanceof Pi(t).HTMLElement}function F1e(t){return t instanceof Pi(t).SVGElement}function mv(t){return t?hv(t)?t.document:dO(t)?pO(t)?t:Fx(t)||F1e(t)?t.ownerDocument:document:document:document}const hf=VE?h.useLayoutEffect:h.useEffect;function hO(t){const e=h.useRef(t);return hf(()=>{e.current=t}),h.useCallback(function(){for(var n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return e.current==null?void 0:e.current(...r)},[])}function Npt(){const t=h.useRef(null),e=h.useCallback((r,o)=>{t.current=setInterval(r,o)},[]),n=h.useCallback(()=>{t.current!==null&&(clearInterval(t.current),t.current=null)},[]);return[e,n]}function A2(t,e){e===void 0&&(e=[t]);const n=h.useRef(t);return hf(()=>{n.current!==t&&(n.current=t)},e),n}function Bx(t,e){const n=h.useRef();return h.useMemo(()=>{const r=t(n.current);return n.current=r,r},[...e])}function Qj(t){const e=hO(t),n=h.useRef(null),r=h.useCallback(o=>{o!==n.current&&(e==null||e(o,n.current)),n.current=o},[]);return[n,r]}function CR(t){const e=h.useRef();return h.useEffect(()=>{e.current=t},[t]),e.current}let N5={};function Ux(t,e){return h.useMemo(()=>{if(e)return e;const n=N5[t]==null?0:N5[t]+1;return N5[t]=n,t+"-"+n},[t,e])}function B1e(t){return function(e){for(var n=arguments.length,r=new Array(n>1?n-1:0),o=1;o<n;o++)r[o-1]=arguments[o];return r.reduce((s,a)=>{const i=Object.entries(a);for(const[l,u]of i){const d=s[l];d!=null&&(s[l]=d+t*u)}return s},{...e})}}const Q0=B1e(1),_2=B1e(-1);function Ipt(t){return"clientX"in t&&"clientY"in t}function mO(t){if(!t)return!1;const{KeyboardEvent:e}=Pi(t.target);return e&&t instanceof e}function Apt(t){if(!t)return!1;const{TouchEvent:e}=Pi(t.target);return e&&t instanceof e}function SR(t){if(Apt(t)){if(t.touches&&t.touches.length){const{clientX:e,clientY:n}=t.touches[0];return{x:e,y:n}}else if(t.changedTouches&&t.changedTouches.length){const{clientX:e,clientY:n}=t.changedTouches[0];return{x:e,y:n}}}return Ipt(t)?{x:t.clientX,y:t.clientY}:null}const Og=Object.freeze({Translate:{toString(t){if(!t)return;const{x:e,y:n}=t;return"translate3d("+(e?Math.round(e):0)+"px, "+(n?Math.round(n):0)+"px, 0)"}},Scale:{toString(t){if(!t)return;const{scaleX:e,scaleY:n}=t;return"scaleX("+e+") scaleY("+n+")"}},Transform:{toString(t){if(t)return[Og.Translate.toString(t),Og.Scale.toString(t)].join(" ")}},Transition:{toString(t){let{property:e,duration:n,easing:r}=t;return e+" "+n+"ms "+r}}}),LZ="a,frame,iframe,input:not([type=hidden]):not(:disabled),select:not(:disabled),textarea:not(:disabled),button:not(:disabled),*[tabindex]";function _pt(t){return t.matches(LZ)?t:t.querySelector(LZ)}const Mpt={display:"none"};function Rpt(t){let{id:e,value:n}=t;return Be.createElement("div",{id:e,style:Mpt},n)}function Tpt(t){let{id:e,announcement:n,ariaLiveType:r="assertive"}=t;const o={position:"fixed",top:0,left:0,width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0 0 0 0)",clipPath:"inset(100%)",whiteSpace:"nowrap"};return Be.createElement("div",{id:e,style:o,role:"status","aria-live":r,"aria-atomic":!0},n)}function Dpt(){const[t,e]=h.useState("");return{announce:h.useCallback(r=>{r!=null&&e(r)},[]),announcement:t}}const U1e=h.createContext(null);function Lpt(t){const e=h.useContext(U1e);h.useEffect(()=>{if(!e)throw new Error("useDndMonitor must be used within a children of <DndContext>");return e(t)},[t,e])}function Ppt(){const[t]=h.useState(()=>new Set),e=h.useCallback(r=>(t.add(r),()=>t.delete(r)),[t]);return[h.useCallback(r=>{let{type:o,event:s}=r;t.forEach(a=>{var i;return(i=a[o])==null?void 0:i.call(a,s)})},[t]),e]}const Opt={draggable:`
2338 To pick up a draggable item, press the space bar.
2339 While dragging, use the arrow keys to move the item.
2340 Press space again to drop the item in its new position, or press escape to cancel.
2341 `},zpt={onDragStart(t){let{active:e}=t;return"Picked up draggable item "+e.id+"."},onDragOver(t){let{active:e,over:n}=t;return n?"Draggable item "+e.id+" was moved over droppable area "+n.id+".":"Draggable item "+e.id+" is no longer over a droppable area."},onDragEnd(t){let{active:e,over:n}=t;return n?"Draggable item "+e.id+" was dropped over droppable area "+n.id:"Draggable item "+e.id+" was dropped."},onDragCancel(t){let{active:e}=t;return"Dragging was cancelled. Draggable item "+e.id+" was dropped."}};function Fpt(t){let{announcements:e=zpt,container:n,hiddenTextDescribedById:r,screenReaderInstructions:o=Opt}=t;const{announce:s,announcement:a}=Dpt(),i=Ux("DndLiveRegion"),[l,u]=h.useState(!1);if(h.useEffect(()=>{u(!0)},[]),Lpt(h.useMemo(()=>({onDragStart(f){let{active:m}=f;s(e.onDragStart({active:m}))},onDragMove(f){let{active:m,over:g}=f;e.onDragMove&&s(e.onDragMove({active:m,over:g}))},onDragOver(f){let{active:m,over:g}=f;s(e.onDragOver({active:m,over:g}))},onDragEnd(f){let{active:m,over:g}=f;s(e.onDragEnd({active:m,over:g}))},onDragCancel(f){let{active:m,over:g}=f;s(e.onDragCancel({active:m,over:g}))}}),[s,e])),!l)return null;const d=Be.createElement(Be.Fragment,null,Be.createElement(Rpt,{id:r,value:o.draggable}),Be.createElement(Tpt,{id:i,announcement:a}));return n?Ds.createPortal(d,n):d}var hs;(function(t){t.DragStart="dragStart",t.DragMove="dragMove",t.DragEnd="dragEnd",t.DragCancel="dragCancel",t.DragOver="dragOver",t.RegisterDroppable="registerDroppable",t.SetDroppableDisabled="setDroppableDisabled",t.UnregisterDroppable="unregisterDroppable"})(hs||(hs={}));function Jj(){}function sg(t,e){return h.useMemo(()=>({sensor:t,options:e??{}}),[t,e])}function gO(){for(var t=arguments.length,e=new Array(t),n=0;n<t;n++)e[n]=arguments[n];return h.useMemo(()=>[...e].filter(r=>r!=null),[...e])}const lu=Object.freeze({x:0,y:0});function $1e(t,e){return Math.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2))}function V1e(t,e){let{data:{value:n}}=t,{data:{value:r}}=e;return n-r}function Bpt(t,e){let{data:{value:n}}=t,{data:{value:r}}=e;return r-n}function PZ(t){let{left:e,top:n,height:r,width:o}=t;return[{x:e,y:n},{x:e+o,y:n},{x:e,y:n+r},{x:e+o,y:n+r}]}function H1e(t,e){if(!t||t.length===0)return null;const[n]=t;return n[e]}function OZ(t,e,n){return e===void 0&&(e=t.left),n===void 0&&(n=t.top),{x:e+t.width*.5,y:n+t.height*.5}}const yO=t=>{let{collisionRect:e,droppableRects:n,droppableContainers:r}=t;const o=OZ(e,e.left,e.top),s=[];for(const a of r){const{id:i}=a,l=n.get(i);if(l){const u=$1e(OZ(l),o);s.push({id:i,data:{droppableContainer:a,value:u}})}}return s.sort(V1e)},Upt=t=>{let{collisionRect:e,droppableRects:n,droppableContainers:r}=t;const o=PZ(e),s=[];for(const a of r){const{id:i}=a,l=n.get(i);if(l){const u=PZ(l),d=o.reduce((m,g,w)=>m+$1e(u[w],g),0),f=Number((d/4).toFixed(4));s.push({id:i,data:{droppableContainer:a,value:f}})}}return s.sort(V1e)};function $pt(t,e){const n=Math.max(e.top,t.top),r=Math.max(e.left,t.left),o=Math.min(e.left+e.width,t.left+t.width),s=Math.min(e.top+e.height,t.top+t.height),a=o-r,i=s-n;if(r<o&&n<s){const l=e.width*e.height,u=t.width*t.height,d=a*i,f=d/(l+u-d);return Number(f.toFixed(4))}return 0}const Vpt=t=>{let{collisionRect:e,droppableRects:n,droppableContainers:r}=t;const o=[];for(const s of r){const{id:a}=s,i=n.get(a);if(i){const l=$pt(i,e);l>0&&o.push({id:a,data:{droppableContainer:s,value:l}})}}return o.sort(Bpt)};function Hpt(t,e,n){return{...t,scaleX:e&&n?e.width/n.width:1,scaleY:e&&n?e.height/n.height:1}}function W1e(t,e){return t&&e?{x:t.left-e.left,y:t.top-e.top}:lu}function Wpt(t){return function(n){for(var r=arguments.length,o=new Array(r>1?r-1:0),s=1;s<r;s++)o[s-1]=arguments[s];return o.reduce((a,i)=>({...a,top:a.top+t*i.y,bottom:a.bottom+t*i.y,left:a.left+t*i.x,right:a.right+t*i.x}),{...n})}}const Ypt=Wpt(1);function Gpt(t){if(t.startsWith("matrix3d(")){const e=t.slice(9,-1).split(/, /);return{x:+e[12],y:+e[13],scaleX:+e[0],scaleY:+e[5]}}else if(t.startsWith("matrix(")){const e=t.slice(7,-1).split(/, /);return{x:+e[4],y:+e[5],scaleX:+e[0],scaleY:+e[3]}}return null}function qpt(t,e,n){const r=Gpt(e);if(!r)return t;const{scaleX:o,scaleY:s,x:a,y:i}=r,l=t.left-a-(1-o)*parseFloat(n),u=t.top-i-(1-s)*parseFloat(n.slice(n.indexOf(" ")+1)),d=o?t.width/o:t.width,f=s?t.height/s:t.height;return{width:d,height:f,top:u,right:l+d,bottom:u+f,left:l}}const Kpt={ignoreTransform:!1};function gv(t,e){e===void 0&&(e=Kpt);let n=t.getBoundingClientRect();if(e.ignoreTransform){const{transform:u,transformOrigin:d}=Pi(t).getComputedStyle(t);u&&(n=qpt(n,u,d))}const{top:r,left:o,width:s,height:a,bottom:i,right:l}=n;return{top:r,left:o,width:s,height:a,bottom:i,right:l}}function zZ(t){return gv(t,{ignoreTransform:!0})}function Zpt(t){const e=t.innerWidth,n=t.innerHeight;return{top:0,left:0,right:e,bottom:n,width:e,height:n}}function Qpt(t,e){return e===void 0&&(e=Pi(t).getComputedStyle(t)),e.position==="fixed"}function Jpt(t,e){e===void 0&&(e=Pi(t).getComputedStyle(t));const n=/(auto|scroll|overlay)/;return["overflow","overflowX","overflowY"].some(o=>{const s=e[o];return typeof s=="string"?n.test(s):!1})}function HE(t,e){const n=[];function r(o){if(e!=null&&n.length>=e||!o)return n;if(pO(o)&&o.scrollingElement!=null&&!n.includes(o.scrollingElement))return n.push(o.scrollingElement),n;if(!Fx(o)||F1e(o)||n.includes(o))return n;const s=Pi(t).getComputedStyle(o);return o!==t&&Jpt(o,s)&&n.push(o),Qpt(o,s)?n:r(o.parentNode)}return t?r(t):n}function Y1e(t){const[e]=HE(t,1);return e??null}function I5(t){return!VE||!t?null:hv(t)?t:dO(t)?pO(t)||t===mv(t).scrollingElement?window:Fx(t)?t:null:null}function G1e(t){return hv(t)?t.scrollX:t.scrollLeft}function q1e(t){return hv(t)?t.scrollY:t.scrollTop}function ER(t){return{x:G1e(t),y:q1e(t)}}var As;(function(t){t[t.Forward=1]="Forward",t[t.Backward=-1]="Backward"})(As||(As={}));function K1e(t){return!VE||!t?!1:t===document.scrollingElement}function Z1e(t){const e={x:0,y:0},n=K1e(t)?{height:window.innerHeight,width:window.innerWidth}:{height:t.clientHeight,width:t.clientWidth},r={x:t.scrollWidth-n.width,y:t.scrollHeight-n.height},o=t.scrollTop<=e.y,s=t.scrollLeft<=e.x,a=t.scrollTop>=r.y,i=t.scrollLeft>=r.x;return{isTop:o,isLeft:s,isBottom:a,isRight:i,maxScroll:r,minScroll:e}}const Xpt={x:.2,y:.2};function eht(t,e,n,r,o){let{top:s,left:a,right:i,bottom:l}=n;r===void 0&&(r=10),o===void 0&&(o=Xpt);const{isTop:u,isBottom:d,isLeft:f,isRight:m}=Z1e(t),g={x:0,y:0},w={x:0,y:0},b={height:e.height*o.y,width:e.width*o.x};return!u&&s<=e.top+b.height?(g.y=As.Backward,w.y=r*Math.abs((e.top+b.height-s)/b.height)):!d&&l>=e.bottom-b.height&&(g.y=As.Forward,w.y=r*Math.abs((e.bottom-b.height-l)/b.height)),!m&&i>=e.right-b.width?(g.x=As.Forward,w.x=r*Math.abs((e.right-b.width-i)/b.width)):!f&&a<=e.left+b.width&&(g.x=As.Backward,w.x=r*Math.abs((e.left+b.width-a)/b.width)),{direction:g,speed:w}}function tht(t){if(t===document.scrollingElement){const{innerWidth:s,innerHeight:a}=window;return{top:0,left:0,right:s,bottom:a,width:s,height:a}}const{top:e,left:n,right:r,bottom:o}=t.getBoundingClientRect();return{top:e,left:n,right:r,bottom:o,width:t.clientWidth,height:t.clientHeight}}function Q1e(t){return t.reduce((e,n)=>Q0(e,ER(n)),lu)}function nht(t){return t.reduce((e,n)=>e+G1e(n),0)}function rht(t){return t.reduce((e,n)=>e+q1e(n),0)}function oht(t,e){if(e===void 0&&(e=gv),!t)return;const{top:n,left:r,bottom:o,right:s}=e(t);Y1e(t)&&(o<=0||s<=0||n>=window.innerHeight||r>=window.innerWidth)&&t.scrollIntoView({block:"center",inline:"center"})}const sht=[["x",["left","right"],nht],["y",["top","bottom"],rht]];class vO{constructor(e,n){this.rect=void 0,this.width=void 0,this.height=void 0,this.top=void 0,this.bottom=void 0,this.right=void 0,this.left=void 0;const r=HE(n),o=Q1e(r);this.rect={...e},this.width=e.width,this.height=e.height;for(const[s,a,i]of sht)for(const l of a)Object.defineProperty(this,l,{get:()=>{const u=i(r),d=o[s]-u;return this.rect[l]+d},enumerable:!0});Object.defineProperty(this,"rect",{enumerable:!1})}}class mb{constructor(e){this.target=void 0,this.listeners=[],this.removeAll=()=>{this.listeners.forEach(n=>{var r;return(r=this.target)==null?void 0:r.removeEventListener(...n)})},this.target=e}add(e,n,r){var o;(o=this.target)==null||o.addEventListener(e,n,r),this.listeners.push([e,n,r])}}function aht(t){const{EventTarget:e}=Pi(t);return t instanceof e?t:mv(t)}function A5(t,e){const n=Math.abs(t.x),r=Math.abs(t.y);return typeof e=="number"?Math.sqrt(n**2+r**2)>e:"x"in e&&"y"in e?n>e.x&&r>e.y:"x"in e?n>e.x:"y"in e?r>e.y:!1}var Ol;(function(t){t.Click="click",t.DragStart="dragstart",t.Keydown="keydown",t.ContextMenu="contextmenu",t.Resize="resize",t.SelectionChange="selectionchange",t.VisibilityChange="visibilitychange"})(Ol||(Ol={}));function FZ(t){t.preventDefault()}function iht(t){t.stopPropagation()}var ir;(function(t){t.Space="Space",t.Down="ArrowDown",t.Right="ArrowRight",t.Left="ArrowLeft",t.Up="ArrowUp",t.Esc="Escape",t.Enter="Enter",t.Tab="Tab"})(ir||(ir={}));const J1e={start:[ir.Space,ir.Enter],cancel:[ir.Esc],end:[ir.Space,ir.Enter,ir.Tab]},lht=(t,e)=>{let{currentCoordinates:n}=e;switch(t.code){case ir.Right:return{...n,x:n.x+25};case ir.Left:return{...n,x:n.x-25};case ir.Down:return{...n,y:n.y+25};case ir.Up:return{...n,y:n.y-25}}};class $x{constructor(e){this.props=void 0,this.autoScrollEnabled=!1,this.referenceCoordinates=void 0,this.listeners=void 0,this.windowListeners=void 0,this.props=e;const{event:{target:n}}=e;this.props=e,this.listeners=new mb(mv(n)),this.windowListeners=new mb(Pi(n)),this.handleKeyDown=this.handleKeyDown.bind(this),this.handleCancel=this.handleCancel.bind(this),this.attach()}attach(){this.handleStart(),this.windowListeners.add(Ol.Resize,this.handleCancel),this.windowListeners.add(Ol.VisibilityChange,this.handleCancel),setTimeout(()=>this.listeners.add(Ol.Keydown,this.handleKeyDown))}handleStart(){const{activeNode:e,onStart:n}=this.props,r=e.node.current;r&&oht(r),n(lu)}handleKeyDown(e){if(mO(e)){const{active:n,context:r,options:o}=this.props,{keyboardCodes:s=J1e,coordinateGetter:a=lht,scrollBehavior:i="smooth"}=o,{code:l}=e;if(s.end.includes(l)){this.handleEnd(e);return}if(s.cancel.includes(l)){this.handleCancel(e);return}const{collisionRect:u}=r.current,d=u?{x:u.left,y:u.top}:lu;this.referenceCoordinates||(this.referenceCoordinates=d);const f=a(e,{active:n,context:r.current,currentCoordinates:d});if(f){const m=_2(f,d),g={x:0,y:0},{scrollableAncestors:w}=r.current;for(const b of w){const j=e.code,{isTop:S,isRight:I,isLeft:N,isBottom:M,maxScroll:D,minScroll:O}=Z1e(b),L=tht(b),B={x:Math.min(j===ir.Right?L.right-L.width/2:L.right,Math.max(j===ir.Right?L.left:L.left+L.width/2,f.x)),y:Math.min(j===ir.Down?L.bottom-L.height/2:L.bottom,Math.max(j===ir.Down?L.top:L.top+L.height/2,f.y))},T=j===ir.Right&&!I||j===ir.Left&&!N,R=j===ir.Down&&!M||j===ir.Up&&!S;if(T&&B.x!==f.x){const z=b.scrollLeft+m.x,Y=j===ir.Right&&z<=D.x||j===ir.Left&&z>=O.x;if(Y&&!m.y){b.scrollTo({left:z,behavior:i});return}Y?g.x=b.scrollLeft-z:g.x=j===ir.Right?b.scrollLeft-D.x:b.scrollLeft-O.x,g.x&&b.scrollBy({left:-g.x,behavior:i});break}else if(R&&B.y!==f.y){const z=b.scrollTop+m.y,Y=j===ir.Down&&z<=D.y||j===ir.Up&&z>=O.y;if(Y&&!m.x){b.scrollTo({top:z,behavior:i});return}Y?g.y=b.scrollTop-z:g.y=j===ir.Down?b.scrollTop-D.y:b.scrollTop-O.y,g.y&&b.scrollBy({top:-g.y,behavior:i});break}}this.handleMove(e,Q0(_2(f,this.referenceCoordinates),g))}}}handleMove(e,n){const{onMove:r}=this.props;e.preventDefault(),r(n)}handleEnd(e){const{onEnd:n}=this.props;e.preventDefault(),this.detach(),n()}handleCancel(e){const{onCancel:n}=this.props;e.preventDefault(),this.detach(),n()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll()}}$x.activators=[{eventName:"onKeyDown",handler:(t,e,n)=>{let{keyboardCodes:r=J1e,onActivation:o}=e,{active:s}=n;const{code:a}=t.nativeEvent;if(r.start.includes(a)){const i=s.activatorNode.current;return i&&t.target!==i?!1:(t.preventDefault(),o==null||o({event:t.nativeEvent}),!0)}return!1}}];function BZ(t){return!!(t&&"distance"in t)}function UZ(t){return!!(t&&"delay"in t)}class wO{constructor(e,n,r){var o;r===void 0&&(r=aht(e.event.target)),this.props=void 0,this.events=void 0,this.autoScrollEnabled=!0,this.document=void 0,this.activated=!1,this.initialCoordinates=void 0,this.timeoutId=null,this.listeners=void 0,this.documentListeners=void 0,this.windowListeners=void 0,this.props=e,this.events=n;const{event:s}=e,{target:a}=s;this.props=e,this.events=n,this.document=mv(a),this.documentListeners=new mb(this.document),this.listeners=new mb(r),this.windowListeners=new mb(Pi(a)),this.initialCoordinates=(o=SR(s))!=null?o:lu,this.handleStart=this.handleStart.bind(this),this.handleMove=this.handleMove.bind(this),this.handleEnd=this.handleEnd.bind(this),this.handleCancel=this.handleCancel.bind(this),this.handleKeydown=this.handleKeydown.bind(this),this.removeTextSelection=this.removeTextSelection.bind(this),this.attach()}attach(){const{events:e,props:{options:{activationConstraint:n,bypassActivationConstraint:r}}}=this;if(this.listeners.add(e.move.name,this.handleMove,{passive:!1}),this.listeners.add(e.end.name,this.handleEnd),e.cancel&&this.listeners.add(e.cancel.name,this.handleCancel),this.windowListeners.add(Ol.Resize,this.handleCancel),this.windowListeners.add(Ol.DragStart,FZ),this.windowListeners.add(Ol.VisibilityChange,this.handleCancel),this.windowListeners.add(Ol.ContextMenu,FZ),this.documentListeners.add(Ol.Keydown,this.handleKeydown),n){if(r!=null&&r({event:this.props.event,activeNode:this.props.activeNode,options:this.props.options}))return this.handleStart();if(UZ(n)){this.timeoutId=setTimeout(this.handleStart,n.delay),this.handlePending(n);return}if(BZ(n)){this.handlePending(n);return}}this.handleStart()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll(),setTimeout(this.documentListeners.removeAll,50),this.timeoutId!==null&&(clearTimeout(this.timeoutId),this.timeoutId=null)}handlePending(e,n){const{active:r,onPending:o}=this.props;o(r,e,this.initialCoordinates,n)}handleStart(){const{initialCoordinates:e}=this,{onStart:n}=this.props;e&&(this.activated=!0,this.documentListeners.add(Ol.Click,iht,{capture:!0}),this.removeTextSelection(),this.documentListeners.add(Ol.SelectionChange,this.removeTextSelection),n(e))}handleMove(e){var n;const{activated:r,initialCoordinates:o,props:s}=this,{onMove:a,options:{activationConstraint:i}}=s;if(!o)return;const l=(n=SR(e))!=null?n:lu,u=_2(o,l);if(!r&&i){if(BZ(i)){if(i.tolerance!=null&&A5(u,i.tolerance))return this.handleCancel();if(A5(u,i.distance))return this.handleStart()}if(UZ(i)&&A5(u,i.tolerance))return this.handleCancel();this.handlePending(i,u);return}e.cancelable&&e.preventDefault(),a(l)}handleEnd(){const{onAbort:e,onEnd:n}=this.props;this.detach(),this.activated||e(this.props.active),n()}handleCancel(){const{onAbort:e,onCancel:n}=this.props;this.detach(),this.activated||e(this.props.active),n()}handleKeydown(e){e.code===ir.Esc&&this.handleCancel()}removeTextSelection(){var e;(e=this.document.getSelection())==null||e.removeAllRanges()}}const cht={cancel:{name:"pointercancel"},move:{name:"pointermove"},end:{name:"pointerup"}};class Vx extends wO{constructor(e){const{event:n}=e,r=mv(n.target);super(e,cht,r)}}Vx.activators=[{eventName:"onPointerDown",handler:(t,e)=>{let{nativeEvent:n}=t,{onActivation:r}=e;return!n.isPrimary||n.button!==0?!1:(r==null||r({event:n}),!0)}}];const uht={move:{name:"mousemove"},end:{name:"mouseup"}};var NR;(function(t){t[t.RightClick=2]="RightClick"})(NR||(NR={}));class fht extends wO{constructor(e){super(e,uht,mv(e.event.target))}}fht.activators=[{eventName:"onMouseDown",handler:(t,e)=>{let{nativeEvent:n}=t,{onActivation:r}=e;return n.button===NR.RightClick?!1:(r==null||r({event:n}),!0)}}];const _5={cancel:{name:"touchcancel"},move:{name:"touchmove"},end:{name:"touchend"}};class X1e extends wO{constructor(e){super(e,_5)}static setup(){return window.addEventListener(_5.move.name,e,{capture:!1,passive:!1}),function(){window.removeEventListener(_5.move.name,e)};function e(){}}}X1e.activators=[{eventName:"onTouchStart",handler:(t,e)=>{let{nativeEvent:n}=t,{onActivation:r}=e;const{touches:o}=n;return o.length>1?!1:(r==null||r({event:n}),!0)}}];var gb;(function(t){t[t.Pointer=0]="Pointer",t[t.DraggableRect=1]="DraggableRect"})(gb||(gb={}));var Xj;(function(t){t[t.TreeOrder=0]="TreeOrder",t[t.ReversedTreeOrder=1]="ReversedTreeOrder"})(Xj||(Xj={}));function dht(t){let{acceleration:e,activator:n=gb.Pointer,canScroll:r,draggingRect:o,enabled:s,interval:a=5,order:i=Xj.TreeOrder,pointerCoordinates:l,scrollableAncestors:u,scrollableAncestorRects:d,delta:f,threshold:m}=t;const g=hht({delta:f,disabled:!s}),[w,b]=Npt(),j=h.useRef({x:0,y:0}),S=h.useRef({x:0,y:0}),I=h.useMemo(()=>{switch(n){case gb.Pointer:return l?{top:l.y,bottom:l.y,left:l.x,right:l.x}:null;case gb.DraggableRect:return o}},[n,o,l]),N=h.useRef(null),M=h.useCallback(()=>{const O=N.current;if(!O)return;const L=j.current.x*S.current.x,B=j.current.y*S.current.y;O.scrollBy(L,B)},[]),D=h.useMemo(()=>i===Xj.TreeOrder?[...u].reverse():u,[i,u]);h.useEffect(()=>{if(!s||!u.length||!I){b();return}for(const O of D){if((r==null?void 0:r(O))===!1)continue;const L=u.indexOf(O),B=d[L];if(!B)continue;const{direction:T,speed:R}=eht(O,B,I,e,m);for(const z of["x","y"])g[z][T[z]]||(R[z]=0,T[z]=0);if(R.x>0||R.y>0){b(),N.current=O,w(M,a),j.current=R,S.current=T;return}}j.current={x:0,y:0},S.current={x:0,y:0},b()},[e,M,r,b,s,a,JSON.stringify(I),JSON.stringify(g),w,u,D,d,JSON.stringify(m)])}const pht={x:{[As.Backward]:!1,[As.Forward]:!1},y:{[As.Backward]:!1,[As.Forward]:!1}};function hht(t){let{delta:e,disabled:n}=t;const r=CR(e);return Bx(o=>{if(n||!r||!o)return pht;const s={x:Math.sign(e.x-r.x),y:Math.sign(e.y-r.y)};return{x:{[As.Backward]:o.x[As.Backward]||s.x===-1,[As.Forward]:o.x[As.Forward]||s.x===1},y:{[As.Backward]:o.y[As.Backward]||s.y===-1,[As.Forward]:o.y[As.Forward]||s.y===1}}},[n,e,r])}function mht(t,e){const n=e!=null?t.get(e):void 0,r=n?n.node.current:null;return Bx(o=>{var s;return e==null?null:(s=r??o)!=null?s:null},[r,e])}function ght(t,e){return h.useMemo(()=>t.reduce((n,r)=>{const{sensor:o}=r,s=o.activators.map(a=>({eventName:a.eventName,handler:e(a.handler,r)}));return[...n,...s]},[]),[t,e])}var M2;(function(t){t[t.Always=0]="Always",t[t.BeforeDragging=1]="BeforeDragging",t[t.WhileDragging=2]="WhileDragging"})(M2||(M2={}));var IR;(function(t){t.Optimized="optimized"})(IR||(IR={}));const $Z=new Map;function yht(t,e){let{dragging:n,dependencies:r,config:o}=e;const[s,a]=h.useState(null),{frequency:i,measure:l,strategy:u}=o,d=h.useRef(t),f=j(),m=A2(f),g=h.useCallback(function(S){S===void 0&&(S=[]),!m.current&&a(I=>I===null?S:I.concat(S.filter(N=>!I.includes(N))))},[m]),w=h.useRef(null),b=Bx(S=>{if(f&&!n)return $Z;if(!S||S===$Z||d.current!==t||s!=null){const I=new Map;for(let N of t){if(!N)continue;if(s&&s.length>0&&!s.includes(N.id)&&N.rect.current){I.set(N.id,N.rect.current);continue}const M=N.node.current,D=M?new vO(l(M),M):null;N.rect.current=D,D&&I.set(N.id,D)}return I}return S},[t,s,n,f,l]);return h.useEffect(()=>{d.current=t},[t]),h.useEffect(()=>{f||g()},[n,f]),h.useEffect(()=>{s&&s.length>0&&a(null)},[JSON.stringify(s)]),h.useEffect(()=>{f||typeof i!="number"||w.current!==null||(w.current=setTimeout(()=>{g(),w.current=null},i))},[i,f,g,...r]),{droppableRects:b,measureDroppableContainers:g,measuringScheduled:s!=null};function j(){switch(u){case M2.Always:return!1;case M2.BeforeDragging:return n;default:return!n}}}function e0e(t,e){return Bx(n=>t?n||(typeof e=="function"?e(t):t):null,[e,t])}function vht(t,e){return e0e(t,e)}function wht(t){let{callback:e,disabled:n}=t;const r=hO(e),o=h.useMemo(()=>{if(n||typeof window>"u"||typeof window.MutationObserver>"u")return;const{MutationObserver:s}=window;return new s(r)},[r,n]);return h.useEffect(()=>()=>o==null?void 0:o.disconnect(),[o]),o}function WE(t){let{callback:e,disabled:n}=t;const r=hO(e),o=h.useMemo(()=>{if(n||typeof window>"u"||typeof window.ResizeObserver>"u")return;const{ResizeObserver:s}=window;return new s(r)},[n]);return h.useEffect(()=>()=>o==null?void 0:o.disconnect(),[o]),o}function bht(t){return new vO(gv(t),t)}function VZ(t,e,n){e===void 0&&(e=bht);const[r,o]=h.useState(null);function s(){o(l=>{if(!t)return null;if(t.isConnected===!1){var u;return(u=l??n)!=null?u:null}const d=e(t);return JSON.stringify(l)===JSON.stringify(d)?l:d})}const a=wht({callback(l){if(t)for(const u of l){const{type:d,target:f}=u;if(d==="childList"&&f instanceof HTMLElement&&f.contains(t)){s();break}}}}),i=WE({callback:s});return hf(()=>{s(),t?(i==null||i.observe(t),a==null||a.observe(document.body,{childList:!0,subtree:!0})):(i==null||i.disconnect(),a==null||a.disconnect())},[t]),r}function xht(t){const e=e0e(t);return W1e(t,e)}const HZ=[];function kht(t){const e=h.useRef(t),n=Bx(r=>t?r&&r!==HZ&&t&&e.current&&t.parentNode===e.current.parentNode?r:HE(t):HZ,[t]);return h.useEffect(()=>{e.current=t},[t]),n}function jht(t){const[e,n]=h.useState(null),r=h.useRef(t),o=h.useCallback(s=>{const a=I5(s.target);a&&n(i=>i?(i.set(a,ER(a)),new Map(i)):null)},[]);return h.useEffect(()=>{const s=r.current;if(t!==s){a(s);const i=t.map(l=>{const u=I5(l);return u?(u.addEventListener("scroll",o,{passive:!0}),[u,ER(u)]):null}).filter(l=>l!=null);n(i.length?new Map(i):null),r.current=t}return()=>{a(t),a(s)};function a(i){i.forEach(l=>{const u=I5(l);u==null||u.removeEventListener("scroll",o)})}},[o,t]),h.useMemo(()=>t.length?e?Array.from(e.values()).reduce((s,a)=>Q0(s,a),lu):Q1e(t):lu,[t,e])}function WZ(t,e){e===void 0&&(e=[]);const n=h.useRef(null);return h.useEffect(()=>{n.current=null},e),h.useEffect(()=>{const r=t!==lu;r&&!n.current&&(n.current=t),!r&&n.current&&(n.current=null)},[t]),n.current?_2(t,n.current):lu}function Cht(t){h.useEffect(()=>{if(!VE)return;const e=t.map(n=>{let{sensor:r}=n;return r.setup==null?void 0:r.setup()});return()=>{for(const n of e)n==null||n()}},t.map(e=>{let{sensor:n}=e;return n}))}function Sht(t,e){return h.useMemo(()=>t.reduce((n,r)=>{let{eventName:o,handler:s}=r;return n[o]=a=>{s(a,e)},n},{}),[t,e])}function t0e(t){return h.useMemo(()=>t?Zpt(t):null,[t])}const YZ=[];function Eht(t,e){e===void 0&&(e=gv);const[n]=t,r=t0e(n?Pi(n):null),[o,s]=h.useState(YZ);function a(){s(()=>t.length?t.map(l=>K1e(l)?r:new vO(e(l),l)):YZ)}const i=WE({callback:a});return hf(()=>{i==null||i.disconnect(),a(),t.forEach(l=>i==null?void 0:i.observe(l))},[t]),o}function Nht(t){if(!t)return null;if(t.children.length>1)return t;const e=t.children[0];return Fx(e)?e:t}function Iht(t){let{measure:e}=t;const[n,r]=h.useState(null),o=h.useCallback(u=>{for(const{target:d}of u)if(Fx(d)){r(f=>{const m=e(d);return f?{...f,width:m.width,height:m.height}:m});break}},[e]),s=WE({callback:o}),a=h.useCallback(u=>{const d=Nht(u);s==null||s.disconnect(),d&&(s==null||s.observe(d)),r(d?e(d):null)},[e,s]),[i,l]=Qj(a);return h.useMemo(()=>({nodeRef:i,rect:n,setRef:l}),[n,i,l])}const Aht=[{sensor:Vx,options:{}},{sensor:$x,options:{}}],_ht={current:{}},nk={draggable:{measure:zZ},droppable:{measure:zZ,strategy:M2.WhileDragging,frequency:IR.Optimized},dragOverlay:{measure:gv}};class yb extends Map{get(e){var n;return e!=null&&(n=super.get(e))!=null?n:void 0}toArray(){return Array.from(this.values())}getEnabled(){return this.toArray().filter(e=>{let{disabled:n}=e;return!n})}getNodeFor(e){var n,r;return(n=(r=this.get(e))==null?void 0:r.node.current)!=null?n:void 0}}const Mht={activatorEvent:null,active:null,activeNode:null,activeNodeRect:null,collisions:null,containerNodeRect:null,draggableNodes:new Map,droppableRects:new Map,droppableContainers:new yb,over:null,dragOverlay:{nodeRef:{current:null},rect:null,setRef:Jj},scrollableAncestors:[],scrollableAncestorRects:[],measuringConfiguration:nk,measureDroppableContainers:Jj,windowRect:null,measuringScheduled:!1},Rht={activatorEvent:null,activators:[],active:null,activeNodeRect:null,ariaDescribedById:{draggable:""},dispatch:Jj,draggableNodes:new Map,over:null,measureDroppableContainers:Jj},YE=h.createContext(Rht),n0e=h.createContext(Mht);function Tht(){return{draggable:{active:null,initialCoordinates:{x:0,y:0},nodes:new Map,translate:{x:0,y:0}},droppable:{containers:new yb}}}function Dht(t,e){switch(e.type){case hs.DragStart:return{...t,draggable:{...t.draggable,initialCoordinates:e.initialCoordinates,active:e.active}};case hs.DragMove:return t.draggable.active==null?t:{...t,draggable:{...t.draggable,translate:{x:e.coordinates.x-t.draggable.initialCoordinates.x,y:e.coordinates.y-t.draggable.initialCoordinates.y}}};case hs.DragEnd:case hs.DragCancel:return{...t,draggable:{...t.draggable,active:null,initialCoordinates:{x:0,y:0},translate:{x:0,y:0}}};case hs.RegisterDroppable:{const{element:n}=e,{id:r}=n,o=new yb(t.droppable.containers);return o.set(r,n),{...t,droppable:{...t.droppable,containers:o}}}case hs.SetDroppableDisabled:{const{id:n,key:r,disabled:o}=e,s=t.droppable.containers.get(n);if(!s||r!==s.key)return t;const a=new yb(t.droppable.containers);return a.set(n,{...s,disabled:o}),{...t,droppable:{...t.droppable,containers:a}}}case hs.UnregisterDroppable:{const{id:n,key:r}=e,o=t.droppable.containers.get(n);if(!o||r!==o.key)return t;const s=new yb(t.droppable.containers);return s.delete(n),{...t,droppable:{...t.droppable,containers:s}}}default:return t}}function Lht(t){let{disabled:e}=t;const{active:n,activatorEvent:r,draggableNodes:o}=h.useContext(YE),s=CR(r),a=CR(n==null?void 0:n.id);return h.useEffect(()=>{if(!e&&!r&&s&&a!=null){if(!mO(s)||document.activeElement===s.target)return;const i=o.get(a);if(!i)return;const{activatorNode:l,node:u}=i;if(!l.current&&!u.current)return;requestAnimationFrame(()=>{for(const d of[l.current,u.current]){if(!d)continue;const f=_pt(d);if(f){f.focus();break}}})}},[r,e,o,a,s]),null}function Pht(t,e){let{transform:n,...r}=e;return t!=null&&t.length?t.reduce((o,s)=>s({transform:o,...r}),n):n}function Oht(t){return h.useMemo(()=>({draggable:{...nk.draggable,...t==null?void 0:t.draggable},droppable:{...nk.droppable,...t==null?void 0:t.droppable},dragOverlay:{...nk.dragOverlay,...t==null?void 0:t.dragOverlay}}),[t==null?void 0:t.draggable,t==null?void 0:t.droppable,t==null?void 0:t.dragOverlay])}function zht(t){let{activeNode:e,measure:n,initialRect:r,config:o=!0}=t;const s=h.useRef(!1),{x:a,y:i}=typeof o=="boolean"?{x:o,y:o}:o;hf(()=>{if(!a&&!i||!e){s.current=!1;return}if(s.current||!r)return;const u=e==null?void 0:e.node.current;if(!u||u.isConnected===!1)return;const d=n(u),f=W1e(d,r);if(a||(f.x=0),i||(f.y=0),s.current=!0,Math.abs(f.x)>0||Math.abs(f.y)>0){const m=Y1e(u);m&&m.scrollBy({top:f.y,left:f.x})}},[e,a,i,r,n])}const r0e=h.createContext({...lu,scaleX:1,scaleY:1});var Ep;(function(t){t[t.Uninitialized=0]="Uninitialized",t[t.Initializing=1]="Initializing",t[t.Initialized=2]="Initialized"})(Ep||(Ep={}));const bO=h.memo(function(e){var n,r,o,s;let{id:a,accessibility:i,autoScroll:l=!0,children:u,sensors:d=Aht,collisionDetection:f=Vpt,measuring:m,modifiers:g,...w}=e;const b=h.useReducer(Dht,void 0,Tht),[j,S]=b,[I,N]=Ppt(),[M,D]=h.useState(Ep.Uninitialized),O=M===Ep.Initialized,{draggable:{active:L,nodes:B,translate:T},droppable:{containers:R}}=j,z=L!=null?B.get(L):null,Y=h.useRef({initial:null,translated:null}),Q=h.useMemo(()=>{var _t;return L!=null?{id:L,data:(_t=z==null?void 0:z.data)!=null?_t:_ht,rect:Y}:null},[L,z]),W=h.useRef(null),[F,X]=h.useState(null),[$,V]=h.useState(null),K=A2(w,Object.values(w)),G=Ux("DndDescribedBy",a),J=h.useMemo(()=>R.getEnabled(),[R]),ne=Oht(m),{droppableRects:re,measureDroppableContainers:de,measuringScheduled:Ne}=yht(J,{dragging:O,dependencies:[T.x,T.y],config:ne.droppable}),ve=mht(B,L),xe=h.useMemo(()=>$?SR($):null,[$]),ce=At(),pe=vht(ve,ne.draggable.measure);zht({activeNode:L!=null?B.get(L):null,config:ce.layoutShiftCompensation,initialRect:pe,measure:ne.draggable.measure});const me=VZ(ve,ne.draggable.measure,pe),ke=VZ(ve?ve.parentElement:null),le=h.useRef({activatorEvent:null,active:null,activeNode:ve,collisionRect:null,collisions:null,droppableRects:re,draggableNodes:B,draggingNode:null,draggingNodeRect:null,droppableContainers:R,over:null,scrollableAncestors:[],scrollAdjustedTranslate:null}),he=R.getNodeFor((n=le.current.over)==null?void 0:n.id),we=Iht({measure:ne.dragOverlay.measure}),Ae=(r=we.nodeRef.current)!=null?r:ve,Ve=O?(o=we.rect)!=null?o:me:null,Ze=!!(we.nodeRef.current&&we.rect),nt=xht(Ze?null:me),$e=t0e(Ae?Pi(Ae):null),Ke=kht(O?he??ve:null),Me=Eht(Ke),et=Pht(g,{transform:{x:T.x-nt.x,y:T.y-nt.y,scaleX:1,scaleY:1},activatorEvent:$,active:Q,activeNodeRect:me,containerNodeRect:ke,draggingNodeRect:Ve,over:le.current.over,overlayNodeRect:we.rect,scrollableAncestors:Ke,scrollableAncestorRects:Me,windowRect:$e}),pt=xe?Q0(xe,T):null,ht=jht(Ke),st=WZ(ht),De=WZ(ht,[me]),se=Q0(et,st),q=Ve?Ypt(Ve,et):null,Z=Q&&q?f({active:Q,collisionRect:q,droppableRects:re,droppableContainers:J,pointerCoordinates:pt}):null,ie=H1e(Z,"id"),[Ce,Te]=h.useState(null),Se=Ze?et:Q0(et,De),ye=Hpt(Se,(s=Ce==null?void 0:Ce.rect)!=null?s:null,me),We=h.useRef(null),Ee=h.useCallback((_t,Ht)=>{let{sensor:dt,options:xt}=Ht;if(W.current==null)return;const vt=B.get(W.current);if(!vt)return;const yt=_t.nativeEvent,Wt=new dt({active:W.current,activeNode:vt,event:yt,options:xt,context:le,onAbort(Ct){if(!B.get(Ct))return;const{onDragAbort:yn}=K.current,Jt={id:Ct};yn==null||yn(Jt),I({type:"onDragAbort",event:Jt})},onPending(Ct,sn,yn,Jt){if(!B.get(Ct))return;const{onDragPending:Vr}=K.current,Or={id:Ct,constraint:sn,initialCoordinates:yn,offset:Jt};Vr==null||Vr(Or),I({type:"onDragPending",event:Or})},onStart(Ct){const sn=W.current;if(sn==null)return;const yn=B.get(sn);if(!yn)return;const{onDragStart:Jt}=K.current,jr={activatorEvent:yt,active:{id:sn,data:yn.data,rect:Y}};Ds.unstable_batchedUpdates(()=>{Jt==null||Jt(jr),D(Ep.Initializing),S({type:hs.DragStart,initialCoordinates:Ct,active:sn}),I({type:"onDragStart",event:jr}),X(We.current),V(yt)})},onMove(Ct){S({type:hs.DragMove,coordinates:Ct})},onEnd:qt(hs.DragEnd),onCancel:qt(hs.DragCancel)});We.current=Wt;function qt(Ct){return async function(){const{active:yn,collisions:Jt,over:jr,scrollAdjustedTranslate:Vr}=le.current;let Or=null;if(yn&&Vr){const{cancelDrop:Zt}=K.current;Or={activatorEvent:yt,active:yn,collisions:Jt,delta:Vr,over:jr},Ct===hs.DragEnd&&typeof Zt=="function"&&await Promise.resolve(Zt(Or))&&(Ct=hs.DragCancel)}W.current=null,Ds.unstable_batchedUpdates(()=>{S({type:Ct}),D(Ep.Uninitialized),Te(null),X(null),V(null),We.current=null;const Zt=Ct===hs.DragEnd?"onDragEnd":"onDragCancel";if(Or){const wl=K.current[Zt];wl==null||wl(Or),I({type:Zt,event:Or})}})}}},[B]),Pe=h.useCallback((_t,Ht)=>(dt,xt)=>{const vt=dt.nativeEvent,yt=B.get(xt);if(W.current!==null||!yt||vt.dndKit||vt.defaultPrevented)return;const Wt={active:yt};_t(dt,Ht.options,Wt)===!0&&(vt.dndKit={capturedBy:Ht.sensor},W.current=xt,Ee(dt,Ht))},[B,Ee]),Qe=ght(d,Pe);Cht(d),hf(()=>{me&&M===Ep.Initializing&&D(Ep.Initialized)},[me,M]),h.useEffect(()=>{const{onDragMove:_t}=K.current,{active:Ht,activatorEvent:dt,collisions:xt,over:vt}=le.current;if(!Ht||!dt)return;const yt={active:Ht,activatorEvent:dt,collisions:xt,delta:{x:se.x,y:se.y},over:vt};Ds.unstable_batchedUpdates(()=>{_t==null||_t(yt),I({type:"onDragMove",event:yt})})},[se.x,se.y]),h.useEffect(()=>{const{active:_t,activatorEvent:Ht,collisions:dt,droppableContainers:xt,scrollAdjustedTranslate:vt}=le.current;if(!_t||W.current==null||!Ht||!vt)return;const{onDragOver:yt}=K.current,Wt=xt.get(ie),qt=Wt&&Wt.rect.current?{id:Wt.id,rect:Wt.rect.current,data:Wt.data,disabled:Wt.disabled}:null,Ct={active:_t,activatorEvent:Ht,collisions:dt,delta:{x:vt.x,y:vt.y},over:qt};Ds.unstable_batchedUpdates(()=>{Te(qt),yt==null||yt(Ct),I({type:"onDragOver",event:Ct})})},[ie]),hf(()=>{le.current={activatorEvent:$,active:Q,activeNode:ve,collisionRect:q,collisions:Z,droppableRects:re,draggableNodes:B,draggingNode:Ae,draggingNodeRect:Ve,droppableContainers:R,over:Ce,scrollableAncestors:Ke,scrollAdjustedTranslate:se},Y.current={initial:Ve,translated:q}},[Q,ve,Z,q,B,Ae,Ve,re,R,Ce,Ke,se]),dht({...ce,delta:T,draggingRect:q,pointerCoordinates:pt,scrollableAncestors:Ke,scrollableAncestorRects:Me});const mt=h.useMemo(()=>({active:Q,activeNode:ve,activeNodeRect:me,activatorEvent:$,collisions:Z,containerNodeRect:ke,dragOverlay:we,draggableNodes:B,droppableContainers:R,droppableRects:re,over:Ce,measureDroppableContainers:de,scrollableAncestors:Ke,scrollableAncestorRects:Me,measuringConfiguration:ne,measuringScheduled:Ne,windowRect:$e}),[Q,ve,me,$,Z,ke,we,B,R,re,Ce,de,Ke,Me,ne,Ne,$e]),Rt=h.useMemo(()=>({activatorEvent:$,activators:Qe,active:Q,activeNodeRect:me,ariaDescribedById:{draggable:G},dispatch:S,draggableNodes:B,over:Ce,measureDroppableContainers:de}),[$,Qe,Q,me,S,G,B,Ce,de]);return Be.createElement(U1e.Provider,{value:N},Be.createElement(YE.Provider,{value:Rt},Be.createElement(n0e.Provider,{value:mt},Be.createElement(r0e.Provider,{value:ye},u)),Be.createElement(Lht,{disabled:(i==null?void 0:i.restoreFocus)===!1})),Be.createElement(Fpt,{...i,hiddenTextDescribedById:G}));function At(){const _t=(F==null?void 0:F.autoScrollEnabled)===!1,Ht=typeof l=="object"?l.enabled===!1:l===!1,dt=O&&!_t&&!Ht;return typeof l=="object"?{...l,enabled:dt}:{enabled:dt}}}),Fht=h.createContext(null),GZ="button",Bht="Draggable";function Uht(t){let{id:e,data:n,disabled:r=!1,attributes:o}=t;const s=Ux(Bht),{activators:a,activatorEvent:i,active:l,activeNodeRect:u,ariaDescribedById:d,draggableNodes:f,over:m}=h.useContext(YE),{role:g=GZ,roleDescription:w="draggable",tabIndex:b=0}=o??{},j=(l==null?void 0:l.id)===e,S=h.useContext(j?r0e:Fht),[I,N]=Qj(),[M,D]=Qj(),O=Sht(a,e),L=A2(n);hf(()=>(f.set(e,{id:e,key:s,node:I,activatorNode:M,data:L}),()=>{const T=f.get(e);T&&T.key===s&&f.delete(e)}),[f,e]);const B=h.useMemo(()=>({role:g,tabIndex:b,"aria-disabled":r,"aria-pressed":j&&g===GZ?!0:void 0,"aria-roledescription":w,"aria-describedby":d.draggable}),[r,g,b,j,w,d.draggable]);return{active:l,activatorEvent:i,activeNodeRect:u,attributes:B,isDragging:j,listeners:r?void 0:O,node:I,over:m,setNodeRef:N,setActivatorNodeRef:D,transform:S}}function $ht(){return h.useContext(n0e)}const Vht="Droppable",Hht={timeout:25};function Wht(t){let{data:e,disabled:n=!1,id:r,resizeObserverConfig:o}=t;const s=Ux(Vht),{active:a,dispatch:i,over:l,measureDroppableContainers:u}=h.useContext(YE),d=h.useRef({disabled:n}),f=h.useRef(!1),m=h.useRef(null),g=h.useRef(null),{disabled:w,updateMeasurementsFor:b,timeout:j}={...Hht,...o},S=A2(b??r),I=h.useCallback(()=>{if(!f.current){f.current=!0;return}g.current!=null&&clearTimeout(g.current),g.current=setTimeout(()=>{u(Array.isArray(S.current)?S.current:[S.current]),g.current=null},j)},[j]),N=WE({callback:I,disabled:w||!a}),M=h.useCallback((B,T)=>{N&&(T&&(N.unobserve(T),f.current=!1),B&&N.observe(B))},[N]),[D,O]=Qj(M),L=A2(e);return h.useEffect(()=>{!N||!D.current||(N.disconnect(),f.current=!1,N.observe(D.current))},[D,N]),h.useEffect(()=>(i({type:hs.RegisterDroppable,element:{id:r,key:s,disabled:n,node:D,rect:m,data:L}}),()=>i({type:hs.UnregisterDroppable,key:s,id:r})),[r]),h.useEffect(()=>{n!==d.current.disabled&&(i({type:hs.SetDroppableDisabled,id:r,key:s,disabled:n}),d.current.disabled=n)},[r,s,n,i]),{active:a,rect:m,isOver:(l==null?void 0:l.id)===r,node:D,over:l,setNodeRef:O}}function Yht(t,e,n){const r={...t};return e.top+t.y<=n.top?r.y=n.top-e.top:e.bottom+t.y>=n.top+n.height&&(r.y=n.top+n.height-e.bottom),e.left+t.x<=n.left?r.x=n.left-e.left:e.right+t.x>=n.left+n.width&&(r.x=n.left+n.width-e.right),r}const xO=t=>{let{containerNodeRect:e,draggingNodeRect:n,transform:r}=t;return!n||!e?r:Yht(r,n,e)},kO=t=>{let{transform:e}=t;return{...e,x:0}};function Hx(t,e,n){const r=t.slice();return r.splice(n<0?r.length+n:n,0,r.splice(e,1)[0]),r}function Ght(t,e){return t.reduce((n,r,o)=>{const s=e.get(r);return s&&(n[o]=s),n},Array(t.length))}function i3(t){return t!==null&&t>=0}function qht(t,e){if(t===e)return!0;if(t.length!==e.length)return!1;for(let n=0;n<t.length;n++)if(t[n]!==e[n])return!1;return!0}function Kht(t){return typeof t=="boolean"?{draggable:t,droppable:t}:t}const o0e=t=>{let{rects:e,activeIndex:n,overIndex:r,index:o}=t;const s=Hx(e,r,n),a=e[o],i=s[o];return!i||!a?null:{x:i.left-a.left,y:i.top-a.top,scaleX:i.width/a.width,scaleY:i.height/a.height}},l3={scaleX:1,scaleY:1},jO=t=>{var e;let{activeIndex:n,activeNodeRect:r,index:o,rects:s,overIndex:a}=t;const i=(e=s[n])!=null?e:r;if(!i)return null;if(o===n){const u=s[a];return u?{x:0,y:n<a?u.top+u.height-(i.top+i.height):u.top-i.top,...l3}:null}const l=Zht(s,o,n);return o>n&&o<=a?{x:0,y:-i.height-l,...l3}:o<n&&o>=a?{x:0,y:i.height+l,...l3}:{x:0,y:0,...l3}};function Zht(t,e,n){const r=t[e],o=t[e-1],s=t[e+1];return r?n<e?o?r.top-(o.top+o.height):s?s.top-(r.top+r.height):0:s?s.top-(r.top+r.height):o?r.top-(o.top+o.height):0:0}const s0e="Sortable",a0e=Be.createContext({activeIndex:-1,containerId:s0e,disableTransforms:!1,items:[],overIndex:-1,useDragOverlay:!1,sortedRects:[],strategy:o0e,disabled:{draggable:!1,droppable:!1}});function CO(t){let{children:e,id:n,items:r,strategy:o=o0e,disabled:s=!1}=t;const{active:a,dragOverlay:i,droppableRects:l,over:u,measureDroppableContainers:d}=$ht(),f=Ux(s0e,n),m=i.rect!==null,g=h.useMemo(()=>r.map(O=>typeof O=="object"&&"id"in O?O.id:O),[r]),w=a!=null,b=a?g.indexOf(a.id):-1,j=u?g.indexOf(u.id):-1,S=h.useRef(g),I=!qht(g,S.current),N=j!==-1&&b===-1||I,M=Kht(s);hf(()=>{I&&w&&d(g)},[I,g,w,d]),h.useEffect(()=>{S.current=g},[g]);const D=h.useMemo(()=>({activeIndex:b,containerId:f,disabled:M,disableTransforms:N,items:g,overIndex:j,useDragOverlay:m,sortedRects:Ght(g,l),strategy:o}),[b,f,M.draggable,M.droppable,N,g,j,l,m,o]);return Be.createElement(a0e.Provider,{value:D},e)}const Qht=t=>{let{id:e,items:n,activeIndex:r,overIndex:o}=t;return Hx(n,r,o).indexOf(e)},Jht=t=>{let{containerId:e,isSorting:n,wasDragging:r,index:o,items:s,newIndex:a,previousItems:i,previousContainerId:l,transition:u}=t;return!u||!r||i!==s&&o===a?!1:n?!0:a!==o&&e===l},Xht={duration:200,easing:"ease"},i0e="transform",emt=Og.Transition.toString({property:i0e,duration:0,easing:"linear"}),tmt={roleDescription:"sortable"};function nmt(t){let{disabled:e,index:n,node:r,rect:o}=t;const[s,a]=h.useState(null),i=h.useRef(n);return hf(()=>{if(!e&&n!==i.current&&r.current){const l=o.current;if(l){const u=gv(r.current,{ignoreTransform:!0}),d={x:l.left-u.left,y:l.top-u.top,scaleX:l.width/u.width,scaleY:l.height/u.height};(d.x||d.y)&&a(d)}}n!==i.current&&(i.current=n)},[e,n,r,o]),h.useEffect(()=>{s&&a(null)},[s]),s}function SO(t){let{animateLayoutChanges:e=Jht,attributes:n,disabled:r,data:o,getNewIndex:s=Qht,id:a,strategy:i,resizeObserverConfig:l,transition:u=Xht}=t;const{items:d,containerId:f,activeIndex:m,disabled:g,disableTransforms:w,sortedRects:b,overIndex:j,useDragOverlay:S,strategy:I}=h.useContext(a0e),N=rmt(r,g),M=d.indexOf(a),D=h.useMemo(()=>({sortable:{containerId:f,index:M,items:d},...o}),[f,o,M,d]),O=h.useMemo(()=>d.slice(d.indexOf(a)),[d,a]),{rect:L,node:B,isOver:T,setNodeRef:R}=Wht({id:a,data:D,disabled:N.droppable,resizeObserverConfig:{updateMeasurementsFor:O,...l}}),{active:z,activatorEvent:Y,activeNodeRect:Q,attributes:W,setNodeRef:F,listeners:X,isDragging:$,over:V,setActivatorNodeRef:K,transform:G}=Uht({id:a,data:D,attributes:{...tmt,...n},disabled:N.draggable}),J=Ept(R,F),ne=!!z,re=ne&&!w&&i3(m)&&i3(j),de=!S&&$,Ne=de&&re?G:null,xe=re?Ne??(i??I)({rects:b,activeNodeRect:Q,activeIndex:m,overIndex:j,index:M}):null,ce=i3(m)&&i3(j)?s({id:a,items:d,activeIndex:m,overIndex:j}):M,pe=z==null?void 0:z.id,me=h.useRef({activeId:pe,items:d,newIndex:ce,containerId:f}),ke=d!==me.current.items,le=e({active:z,containerId:f,isDragging:$,isSorting:ne,id:a,index:M,items:d,newIndex:me.current.newIndex,previousItems:me.current.items,previousContainerId:me.current.containerId,transition:u,wasDragging:me.current.activeId!=null}),he=nmt({disabled:!le,index:M,node:B,rect:L});return h.useEffect(()=>{ne&&me.current.newIndex!==ce&&(me.current.newIndex=ce),f!==me.current.containerId&&(me.current.containerId=f),d!==me.current.items&&(me.current.items=d)},[ne,ce,f,d]),h.useEffect(()=>{if(pe===me.current.activeId)return;if(pe!=null&&me.current.activeId==null){me.current.activeId=pe;return}const Ae=setTimeout(()=>{me.current.activeId=pe},50);return()=>clearTimeout(Ae)},[pe]),{active:z,activeIndex:m,attributes:W,data:D,rect:L,index:M,newIndex:ce,items:d,isOver:T,isSorting:ne,isDragging:$,listeners:X,node:B,overIndex:j,over:V,setNodeRef:J,setActivatorNodeRef:K,setDroppableNodeRef:R,setDraggableNodeRef:F,transform:he??xe,transition:we()};function we(){if(he||ke&&me.current.newIndex===M)return emt;if(!(de&&!mO(Y)||!u)&&(ne||le))return Og.Transition.toString({...u,property:i0e})}}function rmt(t,e){var n,r;return typeof t=="boolean"?{draggable:t,droppable:!1}:{draggable:(n=t==null?void 0:t.draggable)!=null?n:e.draggable,droppable:(r=t==null?void 0:t.droppable)!=null?r:e.droppable}}function eC(t){if(!t)return!1;const e=t.data.current;return!!(e&&"sortable"in e&&typeof e.sortable=="object"&&"containerId"in e.sortable&&"items"in e.sortable&&"index"in e.sortable)}const omt=[ir.Down,ir.Right,ir.Up,ir.Left],EO=(t,e)=>{let{context:{active:n,collisionRect:r,droppableRects:o,droppableContainers:s,over:a,scrollableAncestors:i}}=e;if(omt.includes(t.code)){if(t.preventDefault(),!n||!r)return;const l=[];s.getEnabled().forEach(f=>{if(!f||f!=null&&f.disabled)return;const m=o.get(f.id);if(m)switch(t.code){case ir.Down:r.top<m.top&&l.push(f);break;case ir.Up:r.top>m.top&&l.push(f);break;case ir.Left:r.left>m.left&&l.push(f);break;case ir.Right:r.left<m.left&&l.push(f);break}});const u=Upt({collisionRect:r,droppableRects:o,droppableContainers:l});let d=H1e(u,"id");if(d===(a==null?void 0:a.id)&&u.length>1&&(d=u[1].id),d!=null){const f=s.get(n.id),m=s.get(d),g=m?o.get(m.id):null,w=m==null?void 0:m.node.current;if(w&&g&&f&&m){const j=HE(w).some((O,L)=>i[L]!==O),S=l0e(f,m),I=smt(f,m),N=j||!S?{x:0,y:0}:{x:I?r.width-g.width:0,y:I?r.height-g.height:0},M={x:g.left,y:g.top};return N.x&&N.y?M:_2(M,N)}}}};function l0e(t,e){return!eC(t)||!eC(e)?!1:t.data.current.sortable.containerId===e.data.current.sortable.containerId}function smt(t,e){return!eC(t)||!eC(e)||!l0e(t,e)?!1:t.data.current.sortable.index<e.data.current.sortable.index}function amt({relay:t}){const{push:e}=kn(),{attributes:n,listeners:r,setNodeRef:o,transform:s,transition:a,isDragging:i}=SO({id:t}),l={transform:Og.Transform.toString(s),transition:a,opacity:i?.5:1};return c.jsxs("div",{className:"relative group clickable flex gap-2 border rounded-lg p-2 pr-2.5 items-center justify-between select-none",ref:o,style:l,onClick:()=>e(Eg(t)),children:[c.jsxs("div",{className:"flex items-center gap-1 flex-1",children:[c.jsx("div",{className:"cursor-grab active:cursor-grabbing p-2 hover:bg-muted rounded touch-none shrink-0",...n,...r,children:c.jsx(oL,{className:"size-4 text-muted-foreground"})}),c.jsxs("div",{className:"flex gap-2 items-center flex-1",children:[c.jsx(Zl,{url:t}),c.jsx("div",{className:"flex-1 w-0 truncate font-semibold",children:t})]})]}),c.jsx(qP,{urls:[t]})]})}function imt(){const{t}=qe(),{favoriteRelays:e,reorderFavoriteRelays:n}=fa(),r=gO(sg(Vx),sg($x,{coordinateGetter:EO})),o=s=>{const{active:a,over:i}=s;if(i&&a.id!==i.id){const l=e.findIndex(f=>f===a.id),u=e.findIndex(f=>f===i.id),d=Hx(e,l,u);n(d)}};return c.jsxs("div",{className:"space-y-2",children:[c.jsx("div",{className:"text-muted-foreground font-semibold select-none",children:t("Relays")}),c.jsx(bO,{sensors:r,collisionDetection:yO,onDragEnd:o,modifiers:[kO,xO],children:c.jsx(CO,{items:e,strategy:jO,children:c.jsx("div",{className:"grid gap-2",children:e.map(s=>c.jsx(amt,{relay:s},s))})})})]})}const c0e=h.createContext(void 0),GE=()=>{const t=h.useContext(c0e);if(!t)throw new Error("useRelaySetsSettingComponent must be used within a RelaySetsSettingComponentProvider");return t};function lmt({children:t}){const[e,n]=h.useState(null),[r,o]=h.useState(null);return c.jsx(c0e.Provider,{value:{renamingRelaySetId:e,setRenamingRelaySetId:n,expandedRelaySetId:r,setExpandedRelaySetId:o},children:t})}function cmt(){const{t}=qe(),{pubkey:e}=wt(),{isSmallScreen:n}=gn(),[r,o]=h.useState(!1),s=c.jsxs(Le,{variant:"link",className:"text-muted-foreground hover:no-underline hover:text-foreground p-0 h-fit",disabled:!e,children:[c.jsx(w7e,{}),t("Pull relay sets")]});return n?c.jsxs(ao,{open:r,onOpenChange:o,children:[c.jsx(Sh,{asChild:!0,children:s}),c.jsx(io,{className:"max-h-[90vh]",children:c.jsxs("div",{className:"flex flex-col p-4 gap-4 overflow-auto",children:[c.jsxs(yf,{children:[c.jsx(xd,{children:t("Select the relay sets you want to pull")}),c.jsx(Wg,{className:"hidden"})]}),c.jsx(qZ,{close:()=>o(!1)})]})})]}):c.jsxs(Ls,{open:r,onOpenChange:o,children:[c.jsx(NS,{asChild:!0,children:s}),c.jsxs(ms,{className:"max-h-[90vh] overflow-auto",children:[c.jsxs(Za,{children:[c.jsx(Qa,{children:t("Select the relay sets you want to pull")}),c.jsx(nl,{className:"hidden"})]}),c.jsx(qZ,{close:()=>o(!1)})]})]})}function qZ({close:t}){const{t:e}=qe(),{pubkey:n,relayList:r}=wt(),{addRelaySets:o,relaySets:s}=fa(),[a,i]=h.useState(!1),[l,u]=h.useState(new Map),[d,f]=h.useState([]),[m,g]=h.useState([]);return h.useEffect(()=>{if(!n)return;(async()=>{i(!1);const b=await ze.fetchEvents(((r==null?void 0:r.write)??[]).concat(ze.currentRelays).slice(0,4),{kinds:[Ue.Relaysets],authors:[n],limit:50});b.sort((N,M)=>M.created_at-N.created_at);const j=new Set(s.map(N=>N.id)),S=[],I=new Map;b.forEach(N=>{var L;const M=Uy(N);if(!M||j.has(M))return;j.add(M);const D=N.tags.filter(An("relay")).map(B=>B[1]).filter(B=>B&&By(B));if(!D.length)return;let O=(L=N.tags.find(An("title")))==null?void 0:L[1];O||(O=D.length===1?la(D[0]):M),S.push({id:M,name:O,relayUrls:D,aTag:Hg(N)}),I.set(M,N)}),f(S),u(I),i(!0)})()},[n]),n?a?d.length?c.jsxs("div",{className:"space-y-4",children:[c.jsx("div",{className:"space-y-2",children:d.map(w=>c.jsx(_1e,{relaySet:w,select:m.includes(w.id),onSelectChange:b=>{g(b?[...m,w.id]:m.filter(j=>j!==w.id))}},w.id))}),c.jsxs("div",{className:"flex gap-2",children:[c.jsx(Le,{className:"w-20 shrink-0",variant:"secondary",onClick:()=>g(d.map(w=>w.id)),children:e("Select all")}),c.jsx(Le,{className:"w-full",disabled:!m.length,onClick:()=>{const w=m.map(b=>l.get(b)).filter(Boolean);w.length>0&&(o(w),t==null||t())},children:m.length>0?e("Pull n relay sets",{n:m.length}):e("Pull")})]})]}):c.jsx("div",{className:"text-center text-muted-foreground",children:e("No relay sets found")}):c.jsx("div",{className:"text-center text-muted-foreground",children:e("loading...")}):null}function umt({relaySetId:t}){const{t:e}=qe(),{relaySets:n,updateRelaySet:r}=fa(),[o,s]=h.useState(""),[a,i]=h.useState(null),l=h.useMemo(()=>n.find(g=>g.id===t),[n,t]);if(!l)return null;const u=g=>{r({...l,relayUrls:l.relayUrls.filter(w=>w!==g)})},d=()=>{if(o==="")return;const g=oo(o);if(!g)return i(e("Invalid relay URL"));if(l.relayUrls.includes(g))return i(e("Relay already exists"));if(!By(g))return i(e("invalid relay URL"));const w=[...l.relayUrls,g];r({...l,relayUrls:w}),s("")},f=g=>{s(g.target.value),i(null)},m=g=>{g.key==="Enter"&&(g.preventDefault(),d())};return c.jsxs(c.Fragment,{children:[c.jsx("div",{className:"mt-1",children:l.relayUrls.map((g,w)=>c.jsx(fmt,{url:g,onRemove:()=>u(g)},w))}),c.jsxs("div",{className:"mt-2 flex gap-2",children:[c.jsx(On,{className:a?"border-destructive":"",placeholder:e("Add a new relay"),value:o,onKeyDown:m,onChange:f,onBlur:d}),c.jsx(Le,{onClick:d,children:e("Add")})]}),a&&c.jsx("div",{className:"text-xs text-destructive mt-1",children:a})]})}function fmt({url:t,onRemove:e}){return c.jsxs("div",{className:"flex items-center justify-between pl-1 pr-3",children:[c.jsxs("div",{className:"flex gap-3 items-center flex-1 w-0",children:[c.jsx(Zl,{url:t,className:"w-4 h-4"}),c.jsx("div",{className:"text-muted-foreground text-sm truncate",children:t})]}),c.jsx("div",{className:"shrink-0",children:c.jsx(Gse,{size:16,onClick:e,className:"text-muted-foreground hover:text-destructive cursor-pointer"})})]})}function dmt({relaySet:t}){const{t:e}=qe(),{expandedRelaySetId:n}=GE(),{attributes:r,listeners:o,setNodeRef:s,transform:a,transition:i,isDragging:l}=SO({id:t.id}),u={transform:Og.Transform.toString(a),transition:i,opacity:l?.5:1};return c.jsx("div",{ref:s,style:u,className:"relative group",children:c.jsxs("div",{className:"w-full border rounded-lg px-2 py-2.5",children:[c.jsxs("div",{className:"flex justify-between items-center",children:[c.jsxs("div",{className:"flex items-center",children:[c.jsx("div",{className:"cursor-grab active:cursor-grabbing p-2 hover:bg-muted rounded touch-none",...r,...o,children:c.jsx(oL,{className:"size-4 text-muted-foreground"})}),c.jsxs("div",{className:"flex gap-2 items-center",children:[c.jsx("div",{className:"flex justify-center items-center w-6 h-6 shrink-0",children:c.jsx(Jse,{className:"size-4"})}),c.jsx(pmt,{relaySet:t})]})]}),c.jsxs("div",{className:"flex gap-1",children:[c.jsx(hmt,{relaySetId:t.id,children:e("n relays",{n:t.relayUrls.length})}),c.jsx(mmt,{relaySet:t})]})]}),n===t.id&&c.jsx(umt,{relaySetId:t.id})]})})}function pmt({relaySet:t}){const[e,n]=h.useState(t.name),{updateRelaySet:r}=fa(),{renamingRelaySetId:o,setRenamingRelaySetId:s}=GE(),a=()=>{if(t.name===e)return s(null);r({...t,name:e}),s(null)},i=u=>{n(u.target.value)},l=u=>{u.key==="Enter"&&(u.preventDefault(),a())};return o===t.id?c.jsxs("div",{className:"flex gap-1 items-center",children:[c.jsx(On,{value:e,onChange:i,onBlur:a,onKeyDown:l,className:"font-semibold w-28"}),c.jsx(Le,{variant:"ghost",size:"icon",onClick:a,children:c.jsx(Zr,{size:18,className:"text-green-500"})})]}):c.jsx("div",{className:"h-8 font-semibold flex items-center select-none",children:t.name})}function hmt({relaySetId:t,children:e}){const{expandedRelaySetId:n,setExpandedRelaySetId:r}=GE();return c.jsxs("div",{className:"text-sm text-muted-foreground flex items-center gap-1 cursor-pointer hover:text-foreground",onClick:()=>r(o=>o===t?null:t),children:[c.jsx("div",{className:"select-none",children:e}),c.jsx(cc,{size:16,className:`transition-transform duration-200 ${n===t?"rotate-180":""}`})]})}function mmt({relaySet:t}){const{t:e}=qe(),{isSmallScreen:n}=gn(),{deleteRelaySet:r}=fa(),{setRenamingRelaySetId:o}=GE(),s=c.jsx(Le,{variant:"ghost",size:"icon",children:c.jsx(xS,{})}),a=()=>{o(t.id)},i=()=>{navigator.clipboard.writeText(`https://smesh.mleku.dev/?${t.relayUrls.map(l=>"r="+l).join("&")}`)};return n?c.jsxs(ao,{children:[c.jsx(Sh,{asChild:!0,children:s}),c.jsx(io,{children:c.jsxs("div",{className:"py-2",children:[c.jsxs(Z0,{onClick:a,children:[c.jsx(hY,{}),e("Rename")]}),c.jsxs(Z0,{onClick:i,children:[c.jsx(r2,{}),e("Copy share link")]}),c.jsxs(Z0,{className:"text-destructive focus:text-destructive",onClick:()=>r(t.id),children:[c.jsx(of,{}),e("Delete")]})]})})]}):c.jsxs(li,{children:[c.jsx(Ti,{asChild:!0,children:s}),c.jsxs(ci,{children:[c.jsxs(Sr,{onClick:a,children:[c.jsx(hY,{}),e("Rename")]}),c.jsxs(Sr,{onClick:i,children:[c.jsx(r2,{}),e("Copy share link")]}),c.jsxs(Sr,{className:"text-destructive focus:text-destructive",onClick:()=>r(t.id),children:[c.jsx(of,{}),e("Delete")]})]})]})}function gmt(){const{t}=qe(),{relaySets:e,reorderRelaySets:n}=fa(),r=gO(sg(Vx),sg($x,{coordinateGetter:EO})),o=s=>{const{active:a,over:i}=s;if(i&&a.id!==i.id){const l=e.findIndex(f=>f.id===a.id),u=e.findIndex(f=>f.id===i.id),d=Hx(e,l,u);n(d)}};return c.jsxs("div",{className:"space-y-2",children:[c.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[c.jsx("div",{className:"text-muted-foreground font-semibold select-none shrink-0",children:t("Relay sets")}),c.jsx(cmt,{})]}),c.jsx(bO,{sensors:r,collisionDetection:yO,onDragEnd:o,modifiers:[kO,xO],children:c.jsx(CO,{items:e.map(s=>s.id),strategy:jO,children:c.jsx("div",{className:"grid gap-2",children:e.map(s=>c.jsx(dmt,{relaySet:s},s.id))})})})]})}function u0e(){return c.jsx(lmt,{children:c.jsxs("div",{className:"space-y-4",children:[c.jsx(gmt,{}),c.jsx(Spt,{}),c.jsx(imt,{}),c.jsx(Cpt,{})]})})}function ymt(){const{t}=qe(),{pubkey:e}=wt(),[n,r]=h.useState(us.getAll()),[o,s]=h.useState(!1),[a,i]=h.useState(""),[l,u]=h.useState(""),[d,f]=h.useState(!0),[m,g]=h.useState(!0),[w,b]=h.useState(!1),[j,S]=h.useState(null),[I,N]=h.useState(null),M=h.useCallback(async()=>{if(!(!a.trim()||!l.trim())){b(!0),N(null);try{await us.testConnection(a.trim()),us.add({uri:a.trim(),label:l.trim(),enabled:!0,queryFirst:d,pushEvents:m}),r(us.getAll()),s(!1),i(""),u(""),f(!0),g(!0)}catch(R){console.error("Failed to add cache relay:",R),N(R instanceof Error?R.message:"Connection failed")}finally{b(!1)}}},[a,l,d,m]),D=h.useCallback(R=>{us.remove(R),r(us.getAll())},[]),O=h.useCallback((R,z)=>{us.update(R,{enabled:z}),r(us.getAll())},[]),L=h.useCallback((R,z)=>{us.update(R,{queryFirst:z}),r(us.getAll())},[]),B=h.useCallback((R,z)=>{us.update(R,{pushEvents:z}),r(us.getAll())},[]),T=h.useCallback(async(R,z)=>{S(R),N(null);try{await us.testConnection(z),us.update(R,{lastConnected:Date.now(),lastError:void 0}),r(us.getAll())}catch(Y){const Q=Y instanceof Error?Y.message:"Connection failed";us.update(R,{lastError:Q}),r(us.getAll())}finally{S(null)}},[]);return e?c.jsxs("div",{className:"space-y-4",children:[c.jsx("div",{className:"p-3 bg-muted/30 rounded-lg",children:c.jsx("p",{className:"text-sm text-muted-foreground",children:t("Cache relays store events via NRC for faster loading. They are queried first (400ms timeout) before regular relays.")})}),c.jsxs("div",{className:"flex items-center justify-between",children:[c.jsxs(Ot,{className:"flex items-center gap-2",children:[c.jsx(j7e,{className:"w-4 h-4"}),t("Cache Relays")]}),c.jsxs(Le,{variant:"outline",size:"sm",onClick:()=>s(!0),className:"gap-1",children:[c.jsx(Kl,{className:"w-4 h-4"}),t("Add")]})]}),n.length===0?c.jsx("div",{className:"text-sm text-muted-foreground p-4 text-center border border-dashed rounded-lg",children:t("No cache relays configured")}):c.jsx("div",{className:"space-y-2",children:n.map(R=>c.jsxs("div",{className:"p-3 bg-muted/30 rounded-lg space-y-3",children:[c.jsxs("div",{className:"flex items-center justify-between",children:[c.jsxs("div",{className:"flex-1 min-w-0",children:[c.jsxs("div",{className:"flex items-center gap-2",children:[c.jsx("span",{className:"font-medium truncate",children:R.label}),R.lastError&&c.jsxs("span",{className:"text-xs text-destructive",children:["(",t("Error"),")"]}),R.lastConnected&&!R.lastError&&c.jsxs("span",{className:"text-xs text-green-500",children:["(",t("Connected"),")"]})]}),c.jsx("div",{className:"text-xs text-muted-foreground truncate",children:R.uri.length>60?R.uri.substring(0,60)+"...":R.uri})]}),c.jsxs("div",{className:"flex items-center gap-1",children:[c.jsx(Ar,{checked:R.enabled,onCheckedChange:z=>O(R.id,z),title:t("Enable/Disable")}),c.jsx(Le,{variant:"ghost",size:"icon",onClick:()=>T(R.id,R.uri),disabled:j===R.id,title:t("Test Connection"),children:c.jsx(uc,{className:`w-4 h-4 ${j===R.id?"animate-pulse":""}`})}),c.jsxs(af,{children:[c.jsx(Ng,{asChild:!0,children:c.jsx(Le,{variant:"ghost",size:"icon",className:"text-destructive hover:text-destructive",title:t("Remove"),children:c.jsx(of,{className:"w-4 h-4"})})}),c.jsxs(nu,{children:[c.jsxs(ru,{children:[c.jsx(su,{children:t("Remove Cache Relay?")}),c.jsx(au,{children:t('This will remove "{{label}}" from your cache relays.',{label:R.label})})]}),c.jsxs(ou,{children:[c.jsx(cf,{children:t("Cancel")}),c.jsx(lf,{onClick:()=>D(R.id),className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",children:t("Remove")})]})]})]})]})]}),c.jsxs("div",{className:"flex items-center gap-4 text-sm",children:[c.jsxs("label",{className:"flex items-center gap-2",children:[c.jsx(Ar,{checked:R.queryFirst,onCheckedChange:z=>L(R.id,z),disabled:!R.enabled}),c.jsx("span",{className:"text-muted-foreground",children:t("Query first")})]}),c.jsxs("label",{className:"flex items-center gap-2",children:[c.jsx(Ar,{checked:R.pushEvents,onCheckedChange:z=>B(R.id,z),disabled:!R.enabled}),c.jsx("span",{className:"text-muted-foreground",children:t("Push events")})]})]}),R.lastError&&c.jsx("div",{className:"text-xs text-destructive",children:R.lastError})]},R.id))}),c.jsx(Ls,{open:o,onOpenChange:s,children:c.jsxs(ms,{children:[c.jsxs(Za,{children:[c.jsx(Qa,{children:t("Add Cache Relay")}),c.jsx(nl,{children:t("Add an NRC connection as a cache relay for faster event loading")})]}),c.jsxs("div",{className:"space-y-4 py-4",children:[c.jsxs("div",{className:"space-y-2",children:[c.jsx(Ot,{htmlFor:"cache-relay-uri",children:t("Connection URI")}),c.jsx(On,{id:"cache-relay-uri",value:a,onChange:R=>i(R.target.value),placeholder:"nostr+relayconnect://...",className:"font-mono text-xs"})]}),c.jsxs("div",{className:"space-y-2",children:[c.jsx(Ot,{htmlFor:"cache-relay-label",children:t("Label")}),c.jsx(On,{id:"cache-relay-label",value:l,onChange:R=>u(R.target.value),placeholder:t("e.g., Home Relay, Personal Cache")})]}),c.jsxs("div",{className:"space-y-3",children:[c.jsxs("div",{className:"flex items-center justify-between",children:[c.jsxs("div",{children:[c.jsx(Ot,{children:t("Query first")}),c.jsx("p",{className:"text-xs text-muted-foreground",children:t("Check cache relay before regular relays (400ms timeout)")})]}),c.jsx(Ar,{checked:d,onCheckedChange:f})]}),c.jsxs("div",{className:"flex items-center justify-between",children:[c.jsxs("div",{children:[c.jsx(Ot,{children:t("Push events")}),c.jsx("p",{className:"text-xs text-muted-foreground",children:t("Store loaded events in cache relay in background")})]}),c.jsx(Ar,{checked:m,onCheckedChange:g})]})]}),I&&c.jsx("div",{className:"text-sm text-destructive",children:I})]}),c.jsxs(zm,{children:[c.jsx(Le,{variant:"outline",onClick:()=>{s(!1),N(null)},children:t("Cancel")}),c.jsx(Le,{onClick:M,disabled:!a.trim()||!l.trim()||w,children:t(w?"Testing...":"Add")})]})]})})]}):c.jsx("div",{className:"text-muted-foreground text-sm p-4 text-center",children:t("Login required to configure cache relays")})}function ra(t,e,{checkForDefaultPrevented:n=!0}={}){return function(o){if(t==null||t(o),n===!1||!o.defaultPrevented)return e==null?void 0:e(o)}}function f0e(t,e=[]){let n=[];function r(s,a){const i=h.createContext(a),l=n.length;n=[...n,a];const u=f=>{var S;const{scope:m,children:g,...w}=f,b=((S=m==null?void 0:m[t])==null?void 0:S[l])||i,j=h.useMemo(()=>w,Object.values(w));return c.jsx(b.Provider,{value:j,children:g})};u.displayName=s+"Provider";function d(f,m){var b;const g=((b=m==null?void 0:m[t])==null?void 0:b[l])||i,w=h.useContext(g);if(w)return w;if(a!==void 0)return a;throw new Error(`\`${f}\` must be used within \`${s}\``)}return[u,d]}const o=()=>{const s=n.map(a=>h.createContext(a));return function(i){const l=(i==null?void 0:i[t])||s;return h.useMemo(()=>({[`__scope${t}`]:{...i,[t]:l}}),[i,l])}};return o.scopeName=t,[r,vmt(o,...e)]}function vmt(...t){const e=t[0];if(t.length===1)return e;const n=()=>{const r=t.map(o=>({useScope:o(),scopeName:o.scopeName}));return function(s){const a=r.reduce((i,{useScope:l,scopeName:u})=>{const f=l(s)[`__scope${u}`];return{...i,...f}},{});return h.useMemo(()=>({[`__scope${e.scopeName}`]:a}),[a])}};return n.scopeName=e.scopeName,n}function KZ(t,e){if(typeof t=="function")return t(e);t!=null&&(t.current=e)}function d0e(...t){return e=>{let n=!1;const r=t.map(o=>{const s=KZ(o,e);return!n&&typeof s=="function"&&(n=!0),s});if(n)return()=>{for(let o=0;o<r.length;o++){const s=r[o];typeof s=="function"?s():KZ(t[o],null)}}}}function ec(...t){return h.useCallback(d0e(...t),t)}var R2=h.forwardRef((t,e)=>{const{children:n,...r}=t,o=h.Children.toArray(n),s=o.find(bmt);if(s){const a=s.props.children,i=o.map(l=>l===s?h.Children.count(a)>1?h.Children.only(null):h.isValidElement(a)?a.props.children:null:l);return c.jsx(AR,{...r,ref:e,children:h.isValidElement(a)?h.cloneElement(a,void 0,i):null})}return c.jsx(AR,{...r,ref:e,children:n})});R2.displayName="Slot";var AR=h.forwardRef((t,e)=>{const{children:n,...r}=t;if(h.isValidElement(n)){const o=kmt(n);return h.cloneElement(n,{...xmt(r,n.props),ref:e?d0e(e,o):o})}return h.Children.count(n)>1?h.Children.only(null):null});AR.displayName="SlotClone";var wmt=({children:t})=>c.jsx(c.Fragment,{children:t});function bmt(t){return h.isValidElement(t)&&t.type===wmt}function xmt(t,e){const n={...e};for(const r in e){const o=t[r],s=e[r];/^on[A-Z]/.test(r)?o&&s?n[r]=(...i)=>{s(...i),o(...i)}:o&&(n[r]=o):r==="style"?n[r]={...o,...s}:r==="className"&&(n[r]=[o,s].filter(Boolean).join(" "))}return{...t,...n}}function kmt(t){var r,o;let e=(r=Object.getOwnPropertyDescriptor(t.props,"ref"))==null?void 0:r.get,n=e&&"isReactWarning"in e&&e.isReactWarning;return n?t.ref:(e=(o=Object.getOwnPropertyDescriptor(t,"ref"))==null?void 0:o.get,n=e&&"isReactWarning"in e&&e.isReactWarning,n?t.props.ref:t.props.ref||t.ref)}function jmt(t){const e=t+"CollectionProvider",[n,r]=f0e(e),[o,s]=n(e,{collectionRef:{current:null},itemMap:new Map}),a=g=>{const{scope:w,children:b}=g,j=Be.useRef(null),S=Be.useRef(new Map).current;return c.jsx(o,{scope:w,itemMap:S,collectionRef:j,children:b})};a.displayName=e;const i=t+"CollectionSlot",l=Be.forwardRef((g,w)=>{const{scope:b,children:j}=g,S=s(i,b),I=ec(w,S.collectionRef);return c.jsx(R2,{ref:I,children:j})});l.displayName=i;const u=t+"CollectionItemSlot",d="data-radix-collection-item",f=Be.forwardRef((g,w)=>{const{scope:b,children:j,...S}=g,I=Be.useRef(null),N=ec(w,I),M=s(u,b);return Be.useEffect(()=>(M.itemMap.set(I,{ref:I,...S}),()=>void M.itemMap.delete(I))),c.jsx(R2,{[d]:"",ref:N,children:j})});f.displayName=u;function m(g){const w=s(t+"CollectionConsumer",g);return Be.useCallback(()=>{const j=w.collectionRef.current;if(!j)return[];const S=Array.from(j.querySelectorAll(`[${d}]`));return Array.from(w.itemMap.values()).sort((M,D)=>S.indexOf(M.ref.current)-S.indexOf(D.ref.current))},[w.collectionRef,w.itemMap])}return[{Provider:a,Slot:l,ItemSlot:f},m,r]}var Cmt=h.createContext(void 0);function Smt(t){const e=h.useContext(Cmt);return t||e||"ltr"}var Emt=yh.useId||(()=>{}),Nmt=0;function NO(t){const[e,n]=h.useState(Emt());return fr(()=>{n(r=>r??String(Nmt++))},[t]),e?`radix-${e}`:""}var Imt=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","span","svg","ul"],yc=Imt.reduce((t,e)=>{const n=h.forwardRef((r,o)=>{const{asChild:s,...a}=r,i=s?R2:e;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),c.jsx(i,{...a,ref:o})});return n.displayName=`Primitive.${e}`,{...t,[e]:n}},{});function ZZ({prop:t,defaultProp:e,onChange:n=()=>{}}){const[r,o]=Amt({defaultProp:e,onChange:n}),s=t!==void 0,a=s?t:r,i=or(n),l=h.useCallback(u=>{if(s){const f=typeof u=="function"?u(t):u;f!==t&&i(f)}else o(u)},[s,t,o,i]);return[a,l]}function Amt({defaultProp:t,onChange:e}){const n=h.useState(t),[r]=n,o=h.useRef(r),s=or(e);return h.useEffect(()=>{o.current!==r&&(s(r),o.current=r)},[r,o,s]),n}function _mt(t){const e=h.useRef({value:t,previous:t});return h.useMemo(()=>(e.current.value!==t&&(e.current.previous=e.current.value,e.current.value=t),e.current.previous),[t])}var Mmt=[" ","Enter","ArrowUp","ArrowDown"],Rmt=[" ","Enter"],Wx="Select",[qE,KE,Tmt]=jmt(Wx),[yv]=f0e(Wx,[Tmt,Eh]),ZE=Eh(),[Dmt,Fh]=yv(Wx),[Lmt,Pmt]=yv(Wx),p0e=t=>{const{__scopeSelect:e,children:n,open:r,defaultOpen:o,onOpenChange:s,value:a,defaultValue:i,onValueChange:l,dir:u,name:d,autoComplete:f,disabled:m,required:g,form:w}=t,b=ZE(e),[j,S]=h.useState(null),[I,N]=h.useState(null),[M,D]=h.useState(!1),O=Smt(u),[L=!1,B]=ZZ({prop:r,defaultProp:o,onChange:s}),[T,R]=ZZ({prop:a,defaultProp:i,onChange:l}),z=h.useRef(null),Y=j?w||!!j.closest("form"):!0,[Q,W]=h.useState(new Set),F=Array.from(Q).map(X=>X.props.value).join(";");return c.jsx(ix,{...b,children:c.jsxs(Dmt,{required:g,scope:e,trigger:j,onTriggerChange:S,valueNode:I,onValueNodeChange:N,valueNodeHasChildren:M,onValueNodeHasChildrenChange:D,contentId:NO(),value:T,onValueChange:R,open:L,onOpenChange:B,dir:O,triggerPointerDownPosRef:z,disabled:m,children:[c.jsx(qE.Provider,{scope:e,children:c.jsx(Lmt,{scope:t.__scopeSelect,onNativeOptionAdd:h.useCallback(X=>{W($=>new Set($).add(X))},[]),onNativeOptionRemove:h.useCallback(X=>{W($=>{const V=new Set($);return V.delete(X),V})},[]),children:n})}),Y?c.jsxs(O0e,{"aria-hidden":!0,required:g,tabIndex:-1,name:d,autoComplete:f,value:T,onChange:X=>R(X.target.value),disabled:m,form:w,children:[T===void 0?c.jsx("option",{value:""}):null,Array.from(Q)]},F):null]})})};p0e.displayName=Wx;var h0e="SelectTrigger",m0e=h.forwardRef((t,e)=>{const{__scopeSelect:n,disabled:r=!1,...o}=t,s=ZE(n),a=Fh(h0e,n),i=a.disabled||r,l=ec(e,a.onTriggerChange),u=KE(n),d=h.useRef("touch"),[f,m,g]=z0e(b=>{const j=u().filter(N=>!N.disabled),S=j.find(N=>N.value===a.value),I=F0e(j,b,S);I!==void 0&&a.onValueChange(I.value)}),w=b=>{i||(a.onOpenChange(!0),g()),b&&(a.triggerPointerDownPosRef.current={x:Math.round(b.pageX),y:Math.round(b.pageY)})};return c.jsx(lx,{asChild:!0,...s,children:c.jsx(yc.button,{type:"button",role:"combobox","aria-controls":a.contentId,"aria-expanded":a.open,"aria-required":a.required,"aria-autocomplete":"none",dir:a.dir,"data-state":a.open?"open":"closed",disabled:i,"data-disabled":i?"":void 0,"data-placeholder":P0e(a.value)?"":void 0,...o,ref:l,onClick:ra(o.onClick,b=>{b.currentTarget.focus(),d.current!=="mouse"&&w(b)}),onPointerDown:ra(o.onPointerDown,b=>{d.current=b.pointerType;const j=b.target;j.hasPointerCapture(b.pointerId)&&j.releasePointerCapture(b.pointerId),b.button===0&&b.ctrlKey===!1&&b.pointerType==="mouse"&&(w(b),b.preventDefault())}),onKeyDown:ra(o.onKeyDown,b=>{const j=f.current!=="";!(b.ctrlKey||b.altKey||b.metaKey)&&b.key.length===1&&m(b.key),!(j&&b.key===" ")&&Mmt.includes(b.key)&&(w(),b.preventDefault())})})})});m0e.displayName=h0e;var g0e="SelectValue",vb=h.forwardRef((t,e)=>{const{__scopeSelect:n,className:r,style:o,children:s,placeholder:a="",...i}=t,l=Fh(g0e,n),{onValueNodeHasChildrenChange:u}=l,d=s!==void 0,f=ec(e,l.onValueNodeChange);return fr(()=>{u(d)},[u,d]),c.jsx(yc.span,{...i,ref:f,style:{pointerEvents:"none"},children:P0e(l.value)?c.jsx(c.Fragment,{children:a}):s})});vb.displayName=g0e;var Omt="SelectIcon",y0e=h.forwardRef((t,e)=>{const{__scopeSelect:n,children:r,...o}=t;return c.jsx(yc.span,{"aria-hidden":!0,...o,ref:e,children:r||"▼"})});y0e.displayName=Omt;var zmt="SelectPortal",v0e=t=>c.jsx(Z2,{asChild:!0,...t});v0e.displayName=zmt;var zg="SelectContent",w0e=h.forwardRef((t,e)=>{const n=Fh(zg,t.__scopeSelect),[r,o]=h.useState();if(fr(()=>{o(new DocumentFragment)},[]),!n.open){const s=r;return s?Ds.createPortal(c.jsx(b0e,{scope:t.__scopeSelect,children:c.jsx(qE.Slot,{scope:t.__scopeSelect,children:c.jsx("div",{children:t.children})})}),s):null}return c.jsx(x0e,{...t,ref:e})});w0e.displayName=zg;var Rc=10,[b0e,Bh]=yv(zg),Fmt="SelectContentImpl",x0e=h.forwardRef((t,e)=>{const{__scopeSelect:n,position:r="item-aligned",onCloseAutoFocus:o,onEscapeKeyDown:s,onPointerDownOutside:a,side:i,sideOffset:l,align:u,alignOffset:d,arrowPadding:f,collisionBoundary:m,collisionPadding:g,sticky:w,hideWhenDetached:b,avoidCollisions:j,...S}=t,I=Fh(zg,n),[N,M]=h.useState(null),[D,O]=h.useState(null),L=ec(e,xe=>M(xe)),[B,T]=h.useState(null),[R,z]=h.useState(null),Y=KE(n),[Q,W]=h.useState(!1),F=h.useRef(!1);h.useEffect(()=>{if(N)return yS(N)},[N]),mS();const X=h.useCallback(xe=>{const[ce,...pe]=Y().map(le=>le.ref.current),[me]=pe.slice(-1),ke=document.activeElement;for(const le of xe)if(le===ke||(le==null||le.scrollIntoView({block:"nearest"}),le===ce&&D&&(D.scrollTop=0),le===me&&D&&(D.scrollTop=D.scrollHeight),le==null||le.focus(),document.activeElement!==ke))return},[Y,D]),$=h.useCallback(()=>X([B,N]),[X,B,N]);h.useEffect(()=>{Q&&$()},[Q,$]);const{onOpenChange:V,triggerPointerDownPosRef:K}=I;h.useEffect(()=>{if(N){let xe={x:0,y:0};const ce=me=>{var ke,le;xe={x:Math.abs(Math.round(me.pageX)-(((ke=K.current)==null?void 0:ke.x)??0)),y:Math.abs(Math.round(me.pageY)-(((le=K.current)==null?void 0:le.y)??0))}},pe=me=>{xe.x<=10&&xe.y<=10?me.preventDefault():N.contains(me.target)||V(!1),document.removeEventListener("pointermove",ce),K.current=null};return K.current!==null&&(document.addEventListener("pointermove",ce),document.addEventListener("pointerup",pe,{capture:!0,once:!0})),()=>{document.removeEventListener("pointermove",ce),document.removeEventListener("pointerup",pe,{capture:!0})}}},[N,V,K]),h.useEffect(()=>{const xe=()=>V(!1);return window.addEventListener("blur",xe),window.addEventListener("resize",xe),()=>{window.removeEventListener("blur",xe),window.removeEventListener("resize",xe)}},[V]);const[G,J]=z0e(xe=>{const ce=Y().filter(ke=>!ke.disabled),pe=ce.find(ke=>ke.ref.current===document.activeElement),me=F0e(ce,xe,pe);me&&setTimeout(()=>me.ref.current.focus())}),ne=h.useCallback((xe,ce,pe)=>{const me=!F.current&&!pe;(I.value!==void 0&&I.value===ce||me)&&(T(xe),me&&(F.current=!0))},[I.value]),re=h.useCallback(()=>N==null?void 0:N.focus(),[N]),de=h.useCallback((xe,ce,pe)=>{const me=!F.current&&!pe;(I.value!==void 0&&I.value===ce||me)&&z(xe)},[I.value]),Ne=r==="popper"?_R:k0e,ve=Ne===_R?{side:i,sideOffset:l,align:u,alignOffset:d,arrowPadding:f,collisionBoundary:m,collisionPadding:g,sticky:w,hideWhenDetached:b,avoidCollisions:j}:{};return c.jsx(b0e,{scope:n,content:N,viewport:D,onViewportChange:O,itemRefCallback:ne,selectedItem:B,onItemLeave:re,itemTextRefCallback:de,focusSelectedItem:$,selectedItemText:R,position:r,isPositioned:Q,searchRef:G,children:c.jsx(J2,{as:R2,allowPinchZoom:!0,children:c.jsx(K2,{asChild:!0,trapped:I.open,onMountAutoFocus:xe=>{xe.preventDefault()},onUnmountAutoFocus:ra(o,xe=>{var ce;(ce=I.trigger)==null||ce.focus({preventScroll:!0}),xe.preventDefault()}),children:c.jsx(Ky,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:s,onPointerDownOutside:a,onFocusOutside:xe=>xe.preventDefault(),onDismiss:()=>I.onOpenChange(!1),children:c.jsx(Ne,{role:"listbox",id:I.contentId,"data-state":I.open?"open":"closed",dir:I.dir,onContextMenu:xe=>xe.preventDefault(),...S,...ve,onPlaced:()=>W(!0),ref:L,style:{display:"flex",flexDirection:"column",outline:"none",...S.style},onKeyDown:ra(S.onKeyDown,xe=>{const ce=xe.ctrlKey||xe.altKey||xe.metaKey;if(xe.key==="Tab"&&xe.preventDefault(),!ce&&xe.key.length===1&&J(xe.key),["ArrowUp","ArrowDown","Home","End"].includes(xe.key)){let me=Y().filter(ke=>!ke.disabled).map(ke=>ke.ref.current);if(["ArrowUp","End"].includes(xe.key)&&(me=me.slice().reverse()),["ArrowUp","ArrowDown"].includes(xe.key)){const ke=xe.target,le=me.indexOf(ke);me=me.slice(le+1)}setTimeout(()=>X(me)),xe.preventDefault()}})})})})})})});x0e.displayName=Fmt;var Bmt="SelectItemAlignedPosition",k0e=h.forwardRef((t,e)=>{const{__scopeSelect:n,onPlaced:r,...o}=t,s=Fh(zg,n),a=Bh(zg,n),[i,l]=h.useState(null),[u,d]=h.useState(null),f=ec(e,L=>d(L)),m=KE(n),g=h.useRef(!1),w=h.useRef(!0),{viewport:b,selectedItem:j,selectedItemText:S,focusSelectedItem:I}=a,N=h.useCallback(()=>{if(s.trigger&&s.valueNode&&i&&u&&b&&j&&S){const L=s.trigger.getBoundingClientRect(),B=u.getBoundingClientRect(),T=s.valueNode.getBoundingClientRect(),R=S.getBoundingClientRect();if(s.dir!=="rtl"){const ke=R.left-B.left,le=T.left-ke,he=L.left-le,we=L.width+he,Ae=Math.max(we,B.width),Ve=window.innerWidth-Rc,Ze=NM(le,[Rc,Math.max(Rc,Ve-Ae)]);i.style.minWidth=we+"px",i.style.left=Ze+"px"}else{const ke=B.right-R.right,le=window.innerWidth-T.right-ke,he=window.innerWidth-L.right-le,we=L.width+he,Ae=Math.max(we,B.width),Ve=window.innerWidth-Rc,Ze=NM(le,[Rc,Math.max(Rc,Ve-Ae)]);i.style.minWidth=we+"px",i.style.right=Ze+"px"}const z=m(),Y=window.innerHeight-Rc*2,Q=b.scrollHeight,W=window.getComputedStyle(u),F=parseInt(W.borderTopWidth,10),X=parseInt(W.paddingTop,10),$=parseInt(W.borderBottomWidth,10),V=parseInt(W.paddingBottom,10),K=F+X+Q+V+$,G=Math.min(j.offsetHeight*5,K),J=window.getComputedStyle(b),ne=parseInt(J.paddingTop,10),re=parseInt(J.paddingBottom,10),de=L.top+L.height/2-Rc,Ne=Y-de,ve=j.offsetHeight/2,xe=j.offsetTop+ve,ce=F+X+xe,pe=K-ce;if(ce<=de){const ke=z.length>0&&j===z[z.length-1].ref.current;i.style.bottom="0px";const le=u.clientHeight-b.offsetTop-b.offsetHeight,he=Math.max(Ne,ve+(ke?re:0)+le+$),we=ce+he;i.style.height=we+"px"}else{const ke=z.length>0&&j===z[0].ref.current;i.style.top="0px";const he=Math.max(de,F+b.offsetTop+(ke?ne:0)+ve)+pe;i.style.height=he+"px",b.scrollTop=ce-de+b.offsetTop}i.style.margin=`${Rc}px 0`,i.style.minHeight=G+"px",i.style.maxHeight=Y+"px",r==null||r(),requestAnimationFrame(()=>g.current=!0)}},[m,s.trigger,s.valueNode,i,u,b,j,S,s.dir,r]);fr(()=>N(),[N]);const[M,D]=h.useState();fr(()=>{u&&D(window.getComputedStyle(u).zIndex)},[u]);const O=h.useCallback(L=>{L&&w.current===!0&&(N(),I==null||I(),w.current=!1)},[N,I]);return c.jsx($mt,{scope:n,contentWrapper:i,shouldExpandOnScrollRef:g,onScrollButtonChange:O,children:c.jsx("div",{ref:l,style:{display:"flex",flexDirection:"column",position:"fixed",zIndex:M},children:c.jsx(yc.div,{...o,ref:f,style:{boxSizing:"border-box",maxHeight:"100%",...o.style}})})})});k0e.displayName=Bmt;var Umt="SelectPopperPosition",_R=h.forwardRef((t,e)=>{const{__scopeSelect:n,align:r="start",collisionPadding:o=Rc,...s}=t,a=ZE(n);return c.jsx(TS,{...a,...s,ref:e,align:r,collisionPadding:o,style:{boxSizing:"border-box",...s.style,"--radix-select-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-select-content-available-width":"var(--radix-popper-available-width)","--radix-select-content-available-height":"var(--radix-popper-available-height)","--radix-select-trigger-width":"var(--radix-popper-anchor-width)","--radix-select-trigger-height":"var(--radix-popper-anchor-height)"}})});_R.displayName=Umt;var[$mt,IO]=yv(zg,{}),MR="SelectViewport",j0e=h.forwardRef((t,e)=>{const{__scopeSelect:n,nonce:r,...o}=t,s=Bh(MR,n),a=IO(MR,n),i=ec(e,s.onViewportChange),l=h.useRef(0);return c.jsxs(c.Fragment,{children:[c.jsx("style",{dangerouslySetInnerHTML:{__html:"[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}"},nonce:r}),c.jsx(qE.Slot,{scope:n,children:c.jsx(yc.div,{"data-radix-select-viewport":"",role:"presentation",...o,ref:i,style:{position:"relative",flex:1,overflow:"hidden auto",...o.style},onScroll:ra(o.onScroll,u=>{const d=u.currentTarget,{contentWrapper:f,shouldExpandOnScrollRef:m}=a;if(m!=null&&m.current&&f){const g=Math.abs(l.current-d.scrollTop);if(g>0){const w=window.innerHeight-Rc*2,b=parseFloat(f.style.minHeight),j=parseFloat(f.style.height),S=Math.max(b,j);if(S<w){const I=S+g,N=Math.min(w,I),M=I-N;f.style.height=N+"px",f.style.bottom==="0px"&&(d.scrollTop=M>0?M:0,f.style.justifyContent="flex-end")}}}l.current=d.scrollTop})})})]})});j0e.displayName=MR;var C0e="SelectGroup",[Vmt,Hmt]=yv(C0e),Wmt=h.forwardRef((t,e)=>{const{__scopeSelect:n,...r}=t,o=NO();return c.jsx(Vmt,{scope:n,id:o,children:c.jsx(yc.div,{role:"group","aria-labelledby":o,...r,ref:e})})});Wmt.displayName=C0e;var S0e="SelectLabel",E0e=h.forwardRef((t,e)=>{const{__scopeSelect:n,...r}=t,o=Hmt(S0e,n);return c.jsx(yc.div,{id:o.id,...r,ref:e})});E0e.displayName=S0e;var tC="SelectItem",[Ymt,N0e]=yv(tC),I0e=h.forwardRef((t,e)=>{const{__scopeSelect:n,value:r,disabled:o=!1,textValue:s,...a}=t,i=Fh(tC,n),l=Bh(tC,n),u=i.value===r,[d,f]=h.useState(s??""),[m,g]=h.useState(!1),w=ec(e,I=>{var N;return(N=l.itemRefCallback)==null?void 0:N.call(l,I,r,o)}),b=NO(),j=h.useRef("touch"),S=()=>{o||(i.onValueChange(r),i.onOpenChange(!1))};if(r==="")throw new Error("A <Select.Item /> must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.");return c.jsx(Ymt,{scope:n,value:r,disabled:o,textId:b,isSelected:u,onItemTextChange:h.useCallback(I=>{f(N=>N||((I==null?void 0:I.textContent)??"").trim())},[]),children:c.jsx(qE.ItemSlot,{scope:n,value:r,disabled:o,textValue:d,children:c.jsx(yc.div,{role:"option","aria-labelledby":b,"data-highlighted":m?"":void 0,"aria-selected":u&&m,"data-state":u?"checked":"unchecked","aria-disabled":o||void 0,"data-disabled":o?"":void 0,tabIndex:o?void 0:-1,...a,ref:w,onFocus:ra(a.onFocus,()=>g(!0)),onBlur:ra(a.onBlur,()=>g(!1)),onClick:ra(a.onClick,()=>{j.current!=="mouse"&&S()}),onPointerUp:ra(a.onPointerUp,()=>{j.current==="mouse"&&S()}),onPointerDown:ra(a.onPointerDown,I=>{j.current=I.pointerType}),onPointerMove:ra(a.onPointerMove,I=>{var N;j.current=I.pointerType,o?(N=l.onItemLeave)==null||N.call(l):j.current==="mouse"&&I.currentTarget.focus({preventScroll:!0})}),onPointerLeave:ra(a.onPointerLeave,I=>{var N;I.currentTarget===document.activeElement&&((N=l.onItemLeave)==null||N.call(l))}),onKeyDown:ra(a.onKeyDown,I=>{var M;((M=l.searchRef)==null?void 0:M.current)!==""&&I.key===" "||(Rmt.includes(I.key)&&S(),I.key===" "&&I.preventDefault())})})})})});I0e.displayName=tC;var Uw="SelectItemText",A0e=h.forwardRef((t,e)=>{const{__scopeSelect:n,className:r,style:o,...s}=t,a=Fh(Uw,n),i=Bh(Uw,n),l=N0e(Uw,n),u=Pmt(Uw,n),[d,f]=h.useState(null),m=ec(e,S=>f(S),l.onItemTextChange,S=>{var I;return(I=i.itemTextRefCallback)==null?void 0:I.call(i,S,l.value,l.disabled)}),g=d==null?void 0:d.textContent,w=h.useMemo(()=>c.jsx("option",{value:l.value,disabled:l.disabled,children:g},l.value),[l.disabled,l.value,g]),{onNativeOptionAdd:b,onNativeOptionRemove:j}=u;return fr(()=>(b(w),()=>j(w)),[b,j,w]),c.jsxs(c.Fragment,{children:[c.jsx(yc.span,{id:l.textId,...s,ref:m}),l.isSelected&&a.valueNode&&!a.valueNodeHasChildren?Ds.createPortal(s.children,a.valueNode):null]})});A0e.displayName=Uw;var _0e="SelectItemIndicator",M0e=h.forwardRef((t,e)=>{const{__scopeSelect:n,...r}=t;return N0e(_0e,n).isSelected?c.jsx(yc.span,{"aria-hidden":!0,...r,ref:e}):null});M0e.displayName=_0e;var RR="SelectScrollUpButton",R0e=h.forwardRef((t,e)=>{const n=Bh(RR,t.__scopeSelect),r=IO(RR,t.__scopeSelect),[o,s]=h.useState(!1),a=ec(e,r.onScrollButtonChange);return fr(()=>{if(n.viewport&&n.isPositioned){let i=function(){const u=l.scrollTop>0;s(u)};const l=n.viewport;return i(),l.addEventListener("scroll",i),()=>l.removeEventListener("scroll",i)}},[n.viewport,n.isPositioned]),o?c.jsx(D0e,{...t,ref:a,onAutoScroll:()=>{const{viewport:i,selectedItem:l}=n;i&&l&&(i.scrollTop=i.scrollTop-l.offsetHeight)}}):null});R0e.displayName=RR;var TR="SelectScrollDownButton",T0e=h.forwardRef((t,e)=>{const n=Bh(TR,t.__scopeSelect),r=IO(TR,t.__scopeSelect),[o,s]=h.useState(!1),a=ec(e,r.onScrollButtonChange);return fr(()=>{if(n.viewport&&n.isPositioned){let i=function(){const u=l.scrollHeight-l.clientHeight,d=Math.ceil(l.scrollTop)<u;s(d)};const l=n.viewport;return i(),l.addEventListener("scroll",i),()=>l.removeEventListener("scroll",i)}},[n.viewport,n.isPositioned]),o?c.jsx(D0e,{...t,ref:a,onAutoScroll:()=>{const{viewport:i,selectedItem:l}=n;i&&l&&(i.scrollTop=i.scrollTop+l.offsetHeight)}}):null});T0e.displayName=TR;var D0e=h.forwardRef((t,e)=>{const{__scopeSelect:n,onAutoScroll:r,...o}=t,s=Bh("SelectScrollButton",n),a=h.useRef(null),i=KE(n),l=h.useCallback(()=>{a.current!==null&&(window.clearInterval(a.current),a.current=null)},[]);return h.useEffect(()=>()=>l(),[l]),fr(()=>{var d;const u=i().find(f=>f.ref.current===document.activeElement);(d=u==null?void 0:u.ref.current)==null||d.scrollIntoView({block:"nearest"})},[i]),c.jsx(yc.div,{"aria-hidden":!0,...o,ref:e,style:{flexShrink:0,...o.style},onPointerDown:ra(o.onPointerDown,()=>{a.current===null&&(a.current=window.setInterval(r,50))}),onPointerMove:ra(o.onPointerMove,()=>{var u;(u=s.onItemLeave)==null||u.call(s),a.current===null&&(a.current=window.setInterval(r,50))}),onPointerLeave:ra(o.onPointerLeave,()=>{l()})})}),Gmt="SelectSeparator",L0e=h.forwardRef((t,e)=>{const{__scopeSelect:n,...r}=t;return c.jsx(yc.div,{"aria-hidden":!0,...r,ref:e})});L0e.displayName=Gmt;var DR="SelectArrow",qmt=h.forwardRef((t,e)=>{const{__scopeSelect:n,...r}=t,o=ZE(n),s=Fh(DR,n),a=Bh(DR,n);return s.open&&a.position==="popper"?c.jsx(DS,{...o,...r,ref:e}):null});qmt.displayName=DR;function P0e(t){return t===""||t===void 0}var O0e=h.forwardRef((t,e)=>{const{value:n,...r}=t,o=h.useRef(null),s=ec(e,o),a=_mt(n);return h.useEffect(()=>{const i=o.current,l=window.HTMLSelectElement.prototype,d=Object.getOwnPropertyDescriptor(l,"value").set;if(a!==n&&d){const f=new Event("change",{bubbles:!0});d.call(i,n),i.dispatchEvent(f)}},[a,n]),c.jsx(oO,{asChild:!0,children:c.jsx("select",{...r,ref:s,defaultValue:n})})});O0e.displayName="BubbleSelect";function z0e(t){const e=or(t),n=h.useRef(""),r=h.useRef(0),o=h.useCallback(a=>{const i=n.current+a;e(i),(function l(u){n.current=u,window.clearTimeout(r.current),u!==""&&(r.current=window.setTimeout(()=>l(""),1e3))})(i)},[e]),s=h.useCallback(()=>{n.current="",window.clearTimeout(r.current)},[]);return h.useEffect(()=>()=>window.clearTimeout(r.current),[]),[n,o,s]}function F0e(t,e,n){const o=e.length>1&&Array.from(e).every(u=>u===e[0])?e[0]:e,s=n?t.indexOf(n):-1;let a=Kmt(t,Math.max(s,0));o.length===1&&(a=a.filter(u=>u!==n));const l=a.find(u=>u.textValue.toLowerCase().startsWith(o.toLowerCase()));return l!==n?l:void 0}function Kmt(t,e){return t.map((n,r)=>t[(e+r)%t.length])}var Zmt=p0e,B0e=m0e,Qmt=vb,Jmt=y0e,Xmt=v0e,U0e=w0e,egt=j0e,$0e=E0e,V0e=I0e,tgt=A0e,ngt=M0e,H0e=R0e,W0e=T0e,Y0e=L0e;const Zu=Zmt,ag=Qmt,qc=h.forwardRef(({className:t,children:e,...n},r)=>c.jsxs(B0e,{ref:r,className:Re("flex h-9 w-full items-center justify-between whitespace-nowrap rounded-lg border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus:outline-none focus:ring-2 focus:ring-ring focus:border-ring disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1 transition-all duration-200 hover:border-ring/50",t),...n,children:[e,c.jsx(Jmt,{asChild:!0,children:c.jsx(cc,{className:"h-4 w-4 opacity-50 transition-transform duration-200"})})]}));qc.displayName=B0e.displayName;const G0e=h.forwardRef(({className:t,...e},n)=>c.jsx(H0e,{ref:n,className:Re("flex cursor-default items-center justify-center py-1",t),...e,children:c.jsx(bd,{className:"h-4 w-4"})}));G0e.displayName=H0e.displayName;const q0e=h.forwardRef(({className:t,...e},n)=>c.jsx(W0e,{ref:n,className:Re("flex cursor-default items-center justify-center py-1",t),...e,children:c.jsx(cc,{className:"h-4 w-4"})}));q0e.displayName=W0e.displayName;const Kc=h.forwardRef(({className:t,children:e,position:n="popper",...r},o)=>c.jsx(Xmt,{children:c.jsxs(U0e,{ref:o,className:Re("relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-xl border bg-popover text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",n==="popper"&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",t),position:n,...r,children:[c.jsx(G0e,{}),c.jsx(egt,{className:Re("p-1",n==="popper"&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]"),children:e}),c.jsx(q0e,{})]})}));Kc.displayName=U0e.displayName;const rgt=h.forwardRef(({className:t,...e},n)=>c.jsx($0e,{ref:n,className:Re("px-2 py-1.5 text-sm font-semibold",t),...e}));rgt.displayName=$0e.displayName;const jo=h.forwardRef(({className:t,children:e,...n},r)=>c.jsxs(V0e,{ref:r,className:Re("relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-2 pr-8 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",t),...n,children:[c.jsx("span",{className:"absolute right-2 flex h-3.5 w-3.5 items-center justify-center",children:c.jsx(ngt,{children:c.jsx(Zr,{className:"h-4 w-4"})})}),c.jsx(tgt,{children:e})]}));jo.displayName=V0e.displayName;const ogt=h.forwardRef(({className:t,...e},n)=>c.jsx(Y0e,{ref:n,className:Re("-mx-1 my-1 h-px bg-muted",t),...e}));ogt.displayName=Y0e.displayName;function sgt({mailboxRelay:t,changeMailboxRelayScope:e,removeMailboxRelay:n}){const{t:r}=qe(),{push:o}=kn(),{attributes:s,listeners:a,setNodeRef:i,transform:l,transition:u,isDragging:d}=SO({id:t.url}),f={transform:Og.Transform.toString(l),transition:u,opacity:d?.5:1};return c.jsxs("div",{ref:i,style:f,className:"flex items-center justify-between",children:[c.jsxs("div",{className:"flex items-center gap-2 flex-1 w-0",children:[c.jsx("div",{...s,...a,className:"cursor-grab active:cursor-grabbing p-2 hover:bg-muted rounded touch-none",style:{touchAction:"none"},children:c.jsx(oL,{size:16,className:"text-muted-foreground"})}),c.jsxs("div",{className:"flex items-center gap-2 flex-1 w-0 cursor-pointer",onClick:()=>o(Eg(t.url)),children:[c.jsx(Zl,{url:t.url}),c.jsx("div",{className:"truncate flex-1 w-0",children:t.url})]})]}),c.jsxs("div",{className:"flex items-center gap-4",children:[c.jsxs(Zu,{value:t.scope,onValueChange:m=>e(t.url,m),children:[c.jsx(qc,{className:"w-24 shrink-0",children:c.jsx(ag,{})}),c.jsxs(Kc,{children:[c.jsx(jo,{value:"both",children:r("R & W")}),c.jsx(jo,{value:"read",children:r("Read")}),c.jsx(jo,{value:"write",children:r("Write")})]})]}),c.jsx(Gse,{size:16,onClick:()=>n(t.url),className:"text-muted-foreground hover:text-destructive clickable"})]})]})}function agt({saveNewMailboxRelay:t}){const{t:e}=qe(),[n,r]=h.useState(""),[o,s]=h.useState(null),a=()=>{const u=t(n);u?s(u):r("")},i=u=>{u.key==="Enter"&&(u.preventDefault(),a())},l=u=>{r(u.target.value),s(null)};return c.jsxs("div",{children:[c.jsxs("div",{className:"flex gap-4",children:[c.jsx(On,{className:o?"border-destructive":"",placeholder:e("Add a new relay"),value:n,onKeyDown:i,onChange:l,onBlur:a}),c.jsx(Le,{onClick:a,children:e("Add")})]}),o&&c.jsx("div",{className:"text-destructive text-xs mt-1",children:o})]})}function igt({relays:t}){const{t:e}=qe(),n=h.useMemo(()=>t.filter(a=>a.scope!=="write").length,[t]),r=h.useMemo(()=>t.filter(a=>a.scope!=="read").length,[t]),o=n>4,s=r>4;return!o&&!s?null:c.jsx(Ej,{variant:"alert",title:e(o?"Too many read relays":"Too many write relays"),content:o?e("You have {{count}} read relays. Most clients only use 2-4 relays, setting more is unnecessary.",{count:n}):e("You have {{count}} write relays. Most clients only use 2-4 relays, setting more is unnecessary.",{count:r})})}function lgt({mailboxRelays:t,hasChange:e,setHasChange:n}){const{t:r}=qe(),{pubkey:o,publish:s,updateRelayListEvent:a}=wt(),[i,l]=h.useState(!1),u=async()=>{if(!o)return;l(!0);const d=ore(t),f=await s(d);await a(f),on.success("Successfully saved mailbox relays"),n(!1),l(!1)};return c.jsxs(Le,{className:"w-full",disabled:!o||i||!e,onClick:u,children:[i?c.jsx(_r,{className:"animate-spin"}):c.jsx(b7e,{}),r("Save")]})}function K0e(){const{t}=qe(),{pubkey:e,relayList:n,checkLogin:r}=wt(),[o,s]=h.useState([]),[a,i]=h.useState(!1),l=gO(sg(Vx,{activationConstraint:{distance:8}}),sg(X1e,{activationConstraint:{delay:200,tolerance:8}}),sg($x,{coordinateGetter:EO}));function u(g){const{active:w,over:b}=g;if(w.id!==(b==null?void 0:b.id)){const j=o.findIndex(I=>I.url===w.id),S=o.findIndex(I=>I.url===(b==null?void 0:b.id));j!==-1&&S!==-1&&(s(I=>Hx(I,j,S)),i(!0))}}if(h.useEffect(()=>{n&&s(n.originalRelays)},[n]),!e)return c.jsx("div",{className:"flex flex-col w-full items-center",children:c.jsx(Le,{size:"lg",onClick:()=>r(),children:t("Login to set")})});if(!n)return c.jsx("div",{className:"text-center text-sm text-muted-foreground",children:t("loading...")});const d=(g,w)=>{s(b=>b.map(j=>j.url===g?{...j,scope:w}:j)),i(!0)},f=g=>{s(w=>w.filter(b=>b.url!==g)),i(!0)},m=g=>{if(g==="")return null;const w=oo(g);return w?o.some(b=>b.url===w)?t("Relay already exists"):(s([...o,{url:w,scope:"both"}]),i(!0),null):t("Invalid relay URL")};return c.jsxs("div",{className:"space-y-4",children:[c.jsxs("div",{className:"text-xs text-muted-foreground space-y-1",children:[c.jsx("div",{children:t("read relays description")}),c.jsx("div",{children:t("write relays description")}),c.jsx("div",{children:t("read & write relays notice")})]}),c.jsx(igt,{relays:o}),c.jsx(lgt,{mailboxRelays:o,hasChange:a,setHasChange:i}),c.jsx(bO,{sensors:l,collisionDetection:yO,onDragEnd:u,modifiers:[kO,xO],children:c.jsx(CO,{items:o.map(g=>g.url),strategy:jO,children:c.jsx("div",{className:"space-y-2",children:o.map(g=>c.jsx(sgt,{mailboxRelay:g,changeMailboxRelayScope:d,removeMailboxRelay:f},g.url))})})}),c.jsx(agt,{saveNewMailboxRelay:m})]})}function cgt(t){return t>=.99?"text-red-900 dark:text-red-300":t>.5?"text-red-600 dark:text-red-400":t>.1?"text-yellow-600 dark:text-yellow-400":"text-green-600 dark:text-green-400"}function ugt({entry:t,onAction:e}){const{t:n}=qe(),[r,o]=h.useState(!1),s=qr.getFailureRate(t.url),a=qr.isAutoDisabled(t.url);return c.jsxs("div",{className:"border rounded-lg p-3 space-y-2",children:[c.jsxs("div",{className:"flex items-center justify-between gap-2",children:[c.jsxs("div",{className:"flex items-center gap-2 min-w-0 flex-1",children:[c.jsx("button",{type:"button",onClick:()=>o(!r),className:"text-muted-foreground hover:text-foreground shrink-0",children:r?c.jsx(bd,{className:"size-4"}):c.jsx(cc,{className:"size-4"})}),c.jsx("span",{className:"truncate text-sm font-mono",children:t.url}),a&&c.jsx("span",{title:n("Auto-disabled"),children:c.jsx(dae,{className:"size-4 text-red-500 shrink-0"})}),t.manualExclude&&c.jsx("span",{title:n("Manually excluded"),children:c.jsx(pae,{className:"size-4 text-orange-500 shrink-0"})})]}),c.jsxs("div",{className:"flex items-center gap-1 shrink-0",children:[c.jsx("span",{className:"text-xs text-muted-foreground capitalize px-1.5 py-0.5 bg-muted rounded",children:t.direction}),c.jsxs("span",{className:`text-xs font-mono ${cgt(s)}`,children:[(s*100).toFixed(0),"%"]})]})]}),r&&c.jsxs("div",{className:"pl-6 space-y-2",children:[t.reason&&c.jsx("div",{className:"text-xs text-muted-foreground",children:t.reason}),t.relayIp&&c.jsxs("div",{className:"text-xs text-muted-foreground",children:["IP: ",t.relayIp]}),c.jsxs("div",{className:"flex gap-2 flex-wrap",children:[t.status!=="approved"&&c.jsxs(Le,{size:"sm",variant:"outline",onClick:()=>{ki.approve(t.url),e()},children:[c.jsx(Zr,{className:"size-3 mr-1"})," ",n("Approve")]}),t.status!=="rejected"&&c.jsxs(Le,{size:"sm",variant:"outline",onClick:()=>{ki.reject(t.url),e()},children:[c.jsx(Us,{className:"size-3 mr-1"})," ",n("Reject")]}),t.status!=="pending"&&c.jsx(Le,{size:"sm",variant:"outline",onClick:()=>{ki.resetStatus(t.url),e()},children:n("Reset")}),c.jsxs("div",{className:"flex items-center gap-1.5",children:[c.jsx(Ar,{checked:t.manualExclude,onCheckedChange:i=>{ki.setManualExclude(t.url,i),e()}}),c.jsx("span",{className:"text-xs text-muted-foreground",children:n("Exclude")})]})]})]})]})}function fgt(){const{t}=qe(),[e,n]=h.useState(Xe.getOutboxMode()),[r,o]=h.useState("pending"),[s,a]=h.useState(0),i=h.useCallback(()=>a(b=>b+1),[]),l=h.useMemo(()=>ki.getPendingRelays(),[s]),u=h.useMemo(()=>ki.getApprovedRelays(),[s]),d=h.useMemo(()=>ki.getRejectedRelays(),[s]),f=h.useMemo(()=>ki.getExcludedRelays(),[s]),m=h.useMemo(()=>ki.getAutoDisabledRelays(),[s]),g=r==="pending"?l:r==="approved"?u:d,w=b=>{Xe.setOutboxMode(b),n(b),kr()};return c.jsxs("div",{className:"space-y-4",children:[c.jsxs("div",{className:"text-sm text-muted-foreground space-y-2",children:[c.jsxs("p",{children:[t("Relays discovered via outbox model (NIP-65) are tracked here with per-network failure stats. In")," ",c.jsx("strong",{children:t("Automatic")})," ",t("mode, all discovered relays are used unless manually excluded or auto-disabled. In")," ",c.jsx("strong",{children:t("Managed")})," ",t("mode, relays must be explicitly approved before use.")]}),c.jsx("p",{children:t("Approve/Reject controls whether a relay is used in managed mode. Exclude is a manual override that blocks a relay in both modes, independent of approval status. Relays with 99%+ failure rate on your current network are auto-disabled.")}),c.jsx("p",{children:t("Failure rates are tracked per network (based on your external IP), so a relay that fails on one connection may work fine on another.")})]}),c.jsxs("div",{className:"flex items-center justify-between",children:[c.jsx(Ot,{className:"text-base font-normal",children:t("Outbox mode")}),c.jsxs(Zu,{value:e,onValueChange:w,children:[c.jsx(qc,{className:"w-40",children:c.jsx(ag,{})}),c.jsxs(Kc,{children:[c.jsx(jo,{value:"automatic",children:t("Automatic")}),c.jsx(jo,{value:"managed",children:t("Managed")})]})]})]}),c.jsxs("div",{className:"flex flex-wrap gap-2 text-xs text-muted-foreground",children:[c.jsxs("span",{children:[l.length," ",t("pending")]}),c.jsx("span",{children:"·"}),c.jsxs("span",{children:[u.length," ",t("approved")]}),c.jsx("span",{children:"·"}),c.jsxs("span",{children:[d.length," ",t("rejected")]}),c.jsx("span",{children:"·"}),c.jsxs("span",{children:[f.length," ",t("excluded")]}),c.jsx("span",{children:"·"}),c.jsxs("span",{children:[m.length," ",t("auto-disabled")]})]}),c.jsx("div",{className:"flex gap-1 border-b",children:["pending","approved","rejected"].map(b=>c.jsxs("button",{type:"button",onClick:()=>o(b),className:`px-3 py-1.5 text-sm capitalize border-b-2 transition-colors ${r===b?"border-primary text-foreground":"border-transparent text-muted-foreground hover:text-foreground"}`,children:[t(b)," (",b==="pending"?l.length:b==="approved"?u.length:d.length,")"]},b))}),r==="pending"&&l.length>1&&c.jsxs("div",{className:"flex gap-2",children:[c.jsxs(Le,{size:"sm",variant:"outline",onClick:()=>{ki.bulkApprove(l.map(b=>b.url)),i()},children:[c.jsx(ox,{className:"size-3 mr-1"})," ",t("Approve all")]}),c.jsxs(Le,{size:"sm",variant:"outline",onClick:()=>{ki.bulkReject(l.map(b=>b.url)),i()},children:[c.jsx(pae,{className:"size-3 mr-1"})," ",t("Reject all")]})]}),c.jsx("div",{className:"space-y-2 max-h-96 overflow-y-auto",children:g.length===0?c.jsx("div",{className:"text-sm text-muted-foreground py-4 text-center",children:t("No relays")}):g.map(b=>c.jsx(ugt,{entry:b,onAction:i},b.url))})]})}const dgt=1800*1e3,pgt=100;function hgt(){return crypto.randomUUID()}class mgt{constructor(e=dgt,n=pgt){je(this,"sessions",new Map);je(this,"sessionTimeout");je(this,"maxSubscriptions");je(this,"cleanupInterval",null);this.sessionTimeout=e,this.maxSubscriptions=n}start(){this.cleanupInterval||(this.cleanupInterval=setInterval(()=>{this.cleanupExpiredSessions()},300*1e3))}stop(){this.cleanupInterval&&(clearInterval(this.cleanupInterval),this.cleanupInterval=null),this.sessions.clear()}getOrCreateSession(e,n,r){for(const s of this.sessions.values())if(s.clientPubkey===e)return s.lastActivity=Date.now(),s;const o={id:hgt(),clientPubkey:e,conversationKey:n,deviceName:r,createdAt:Date.now(),lastActivity:Date.now(),subscriptions:new Map};return this.sessions.set(o.id,o),o}getSession(e){return this.sessions.get(e)}getSessionByClientPubkey(e){for(const n of this.sessions.values())if(n.clientPubkey===e)return n}touchSession(e){const n=this.sessions.get(e);n&&(n.lastActivity=Date.now())}addSubscription(e,n,r){const o=this.sessions.get(e);if(!o||o.subscriptions.size>=this.maxSubscriptions)return null;const s={id:n,filters:r,createdAt:Date.now(),eventCount:0,eoseSent:!1};return o.subscriptions.set(n,s),o.lastActivity=Date.now(),s}getSubscription(e,n){const r=this.sessions.get(e);return r==null?void 0:r.subscriptions.get(n)}removeSubscription(e,n){const r=this.sessions.get(e);if(!r)return!1;const o=r.subscriptions.delete(n);return o&&(r.lastActivity=Date.now()),o}markEOSE(e,n){const r=this.getSubscription(e,n);r&&(r.eoseSent=!0)}incrementEventCount(e,n){const r=this.getSubscription(e,n);r&&r.eventCount++}removeSession(e){return this.sessions.delete(e)}getActiveSessionCount(){return this.sessions.size}getAllSessions(){return Array.from(this.sessions.values())}cleanupExpiredSessions(){const e=Date.now(),n=[];for(const[r,o]of this.sessions)e-o.lastActivity>this.sessionTimeout&&n.push(r);for(const r of n)this.sessions.delete(r),console.log(`[NRC] Cleaned up expired session: ${r}`)}isSessionExpired(e){const n=this.sessions.get(e);return n?Date.now()-n.lastActivity>this.sessionTimeout:!0}}function ggt(){const t=crypto.getRandomValues(new Uint8Array(8));return Zc(t)}const T0=class T0{constructor(){je(this,"config",null);je(this,"sessions");je(this,"ws",null);je(this,"subId",null);je(this,"connected",!1);je(this,"running",!1);je(this,"reconnectTimeout",null);je(this,"reconnectDelay",1e3);je(this,"maxReconnectDelay",3e4);je(this,"listenerPubkey",null);je(this,"onSessionChange");this.sessions=new mgt}setOnSessionChange(e){this.onSessionChange=e}async start(e){if(this.running){console.warn("[NRC] Listener already running");return}this.config=e,this.running=!0,this.listenerPubkey=await e.signer.getPublicKey(),this.sessions.start(),await this.connectToRelay()}stop(){if(this.running=!1,this.reconnectTimeout&&(clearTimeout(this.reconnectTimeout),this.reconnectTimeout=null),this.ws){if(this.subId)try{this.ws.send(JSON.stringify(["CLOSE",this.subId]))}catch{}this.ws.close(),this.ws=null}this.sessions.stop(),this.connected=!1,this.subId=null,console.log("[NRC] Listener stopped")}isRunning(){return this.running}isConnected(){return this.connected}getActiveSessionCount(){return this.sessions.getActiveSessionCount()}async connectToRelay(){if(!this.config||!this.running)return Promise.resolve();const e=this.config.rendezvousUrl;return new Promise((n,r)=>{let o=e;e.startsWith("http://")?o="ws://"+e.slice(7):e.startsWith("https://")?o="wss://"+e.slice(8):!e.startsWith("ws://")&&!e.startsWith("wss://")&&(o="wss://"+e),console.log(`[NRC] Connecting to rendezvous relay: ${o}`);const s=new WebSocket(o),a=setTimeout(()=>{s.close(),r(new Error("Connection timeout"))},1e4);s.onopen=()=>{clearTimeout(a),this.ws=s,this.connected=!0,this.reconnectDelay=1e3,this.subId=ggt(),s.send(JSON.stringify(["REQ",this.subId,{kinds:[P_],"#p":[this.listenerPubkey],since:Math.floor(Date.now()/1e3)-60}])),console.log(`[NRC] Connected and subscribed with subId: ${this.subId}, listening for pubkey: ${this.listenerPubkey}`),n()},s.onerror=i=>{clearTimeout(a),console.error("[NRC] WebSocket error:",i),r(new Error("WebSocket error"))},s.onclose=()=>{this.connected=!1,this.ws=null,this.subId=null,console.log("[NRC] WebSocket closed"),this.running&&this.scheduleReconnect()},s.onmessage=i=>{this.handleMessage(i.data)}}).catch(n=>{console.error("[NRC] Failed to connect:",n),this.running&&this.scheduleReconnect()})}scheduleReconnect(){this.reconnectTimeout||!this.running||(console.log(`[NRC] Scheduling reconnect in ${this.reconnectDelay}ms`),this.reconnectTimeout=setTimeout(()=>{this.reconnectTimeout=null,this.connectToRelay()},this.reconnectDelay),this.reconnectDelay=Math.min(this.reconnectDelay*2,this.maxReconnectDelay))}handleMessage(e){try{const n=JSON.parse(e);if(!Array.isArray(n))return;const[r,...o]=n;if(r==="EVENT"){const[,s]=o;s.kind===P_&&(console.log("[NRC] Received NRC request from pubkey:",s.pubkey),this.handleRequest(s).catch(a=>{console.error("[NRC] Error handling request:",a)}))}else r==="EOSE"?console.log("[NRC] Received EOSE, now listening for live events"):r==="NOTICE"?console.log("[NRC] Relay notice:",o[0]):r==="OK"||r==="CLOSED"&&console.log("[NRC] Subscription closed:",o)}catch(n){console.error("[NRC] Failed to parse message:",n)}}async handleRequest(e){var r;if(!this.config)return;const n=e.tags.find(o=>o[0]==="session");n==null||n[1];try{const o=await this.authorize(e),s=this.sessions.getOrCreateSession(e.pubkey,void 0,o.deviceName);(r=this.onSessionChange)==null||r.call(this,this.sessions.getActiveSessionCount());const a=await this.decrypt(e.pubkey,e.content),i=JSON.parse(a);switch(console.log("[NRC] Received request:",i.type),i.type){case"REQ":await this.handleREQ(e,s,i.payload);break;case"CLOSE":await this.handleCLOSE(s,i.payload);break;case"EVENT":await this.handleEVENT(e,s,i.payload);break;case"IDS":await this.handleIDS(e,s,i.payload);break;case"COUNT":await this.sendError(e,s,"COUNT not supported");break;default:await this.sendError(e,s,`Unknown message type: ${i.type}`)}}catch(o){console.error("[NRC] Request handling failed:",o);try{await this.sendErrorBestEffort(e,`Request failed: ${o instanceof Error?o.message:"Unknown error"}`)}catch{}}}async authorize(e){if(!this.config)throw new Error("Listener not configured");const n=this.config.authorizedSecrets.get(e.pubkey);if(!n)throw console.log("[NRC] Unauthorized pubkey:",e.pubkey),console.log("[NRC] Authorized pubkeys:",Array.from(this.config.authorizedSecrets.keys())),console.log("[NRC] Authorized pubkeys (full):",JSON.stringify(Array.from(this.config.authorizedSecrets.entries()))),new Error("Unauthorized: unknown client pubkey");return{deviceName:n}}async decrypt(e,n){if(!this.config)throw new Error("Listener not configured");if(!this.config.signer.nip44Decrypt)throw new Error("Signer does not support NIP-44 decryption");return this.config.signer.nip44Decrypt(e,n)}async encrypt(e,n){if(!this.config)throw new Error("Listener not configured");if(!this.config.signer.nip44Encrypt)throw new Error("Signer does not support NIP-44 encryption");return this.config.signer.nip44Encrypt(e,n)}async handleREQ(e,n,r){var u;if(r.length<2){await this.sendError(e,n,"Invalid REQ: missing subscription ID or filters");return}const[,o,...s]=r;if(!this.sessions.addSubscription(n.id,o,s)){await this.sendError(e,n,"Too many subscriptions");return}const i=await this.queryLocalEvents(s);console.log(`[NRC] Found ${i.length} events matching filters`);for(const d of i){const f={type:"EVENT",payload:["EVENT",o,d]};try{await this.sendResponseChunked(e,n,f),this.sessions.incrementEventCount(n.id,o)}catch(m){console.error(`[NRC] Failed to send event ${(u=d.id)==null?void 0:u.slice(0,8)}:`,m)}}const l={type:"EOSE",payload:["EOSE",o]};await this.sendResponse(e,n,l),this.sessions.markEOSE(n.id,o),console.log(`[NRC] Sent EOSE for subscription ${o}`)}async handleCLOSE(e,n){const[,r]=n;r&&this.sessions.removeSubscription(e.id,r)}async handleEVENT(e,n,r){const[,o]=r;if(!o||!o.id||!o.sig){await this.sendError(e,n,"Invalid EVENT: missing event data");return}try{await kt.putReplaceableEvent(o),console.log(`[NRC] Stored event ${o.id.slice(0,8)} kind ${o.kind} from ${n.deviceName}`);const s={type:"OK",payload:["OK",o.id,!0,""]};await this.sendResponse(e,n,s)}catch(s){console.error("[NRC] Failed to store event:",s);const a={type:"OK",payload:["OK",o.id,!1,`Failed to store: ${s instanceof Error?s.message:"Unknown error"}`]};await this.sendResponse(e,n,a)}}async handleIDS(e,n,r){if(r.length<2){await this.sendError(e,n,"Invalid IDS: missing subscription ID or filters");return}const[,o,...s]=r,a=await this.queryLocalEvents(s);console.log(`[NRC] Found ${a.length} events for IDS request`);const i=a.map(u=>{var d;return{kind:u.kind,id:u.id,created_at:u.created_at,d:(d=u.tags.find(f=>f[0]==="d"))==null?void 0:d[1]}}),l={type:"IDS",payload:["IDS",o,i]};await this.sendResponseChunked(e,n,l),console.log(`[NRC] Sent IDS response with ${i.length} entries`)}async queryLocalEvents(e){return(await kt.queryEventsForNRC(e)).filter(r=>!CCe(r))}async sendResponse(e,n,r){if(!this.ws||!this.config||!this.listenerPubkey)throw new Error("Not connected");const o=JSON.stringify(r),s=await this.encrypt(n.clientPubkey,o),a={kind:jk,content:s,tags:[["p",e.pubkey],["encryption","nip44_v2"],["session",n.id],["e",e.id]],created_at:Math.floor(Date.now()/1e3)},i=await this.config.signer.signEvent(a);this.ws.send(JSON.stringify(["EVENT",i]))}async sendResponseChunked(e,n,r){const o=JSON.stringify(r);if(o.length<=T0.MAX_CHUNK_SIZE){await this.sendResponse(e,n,r);return}const s=btoa(unescape(encodeURIComponent(o))),a=[];for(let l=0;l<s.length;l+=T0.MAX_CHUNK_SIZE)a.push(s.slice(l,l+T0.MAX_CHUNK_SIZE));const i=crypto.randomUUID();console.log(`[NRC] Chunking large message (${o.length} bytes) into ${a.length} chunks`);for(let l=0;l<a.length;l++){const u={type:"CHUNK",payload:[{type:"CHUNK",messageId:i,index:l,total:a.length,data:a[l]}]};await this.sendResponse(e,n,u)}}async sendError(e,n,r){const o={type:"NOTICE",payload:["NOTICE",r]};await this.sendResponse(e,n,o)}async sendErrorBestEffort(e,n){if(!(!this.ws||!this.config||!this.listenerPubkey))try{const o=JSON.stringify({type:"NOTICE",payload:["NOTICE",n]}),s=await this.encrypt(e.pubkey,o),a={kind:jk,content:s,tags:[["p",e.pubkey],["encryption","nip44_v2"],["e",e.id]],created_at:Math.floor(Date.now()/1e3)},i=await this.config.signer.signEvent(a);this.ws.send(JSON.stringify(["EVENT",i]))}catch{}}};je(T0,"MAX_CHUNK_SIZE",4e4);let LR=T0,M5=null;function Z0e(){return M5||(M5=new LR),M5}Z0e();const QZ=[0,3,1e4,10001,10002,10003,10012,30002],JZ="nrc:enabled",XZ="nrc:connections",eQ="nrc:remoteConnections",tQ="nrc:rendezvousUrl",ygt="",Q0e=h.createContext(void 0),vgt=()=>{const t=h.useContext(Q0e);if(!t)throw new Error("useNRC must be used within an NRCProvider");return t};function wgt({children:t}){const{pubkey:e}=wt(),[n,r]=h.useState(()=>localStorage.getItem(JZ)==="true"),[o,s]=h.useState(()=>{const ne=localStorage.getItem(XZ);if(ne)try{return JSON.parse(ne)}catch{return[]}return[]}),[a,i]=h.useState(()=>localStorage.getItem(tQ)||ygt),[l,u]=h.useState(!1),[d,f]=h.useState(!1),[m,g]=h.useState(0),[w,b]=h.useState(()=>{const ne=localStorage.getItem(eQ);if(ne)try{return JSON.parse(ne)}catch{return[]}return[]}),[j,S]=h.useState(!1),[I,N]=h.useState(null),M=Z0e();h.useEffect(()=>{localStorage.setItem(JZ,String(n))},[n]),h.useEffect(()=>{localStorage.setItem(XZ,JSON.stringify(o))},[o]),h.useEffect(()=>{localStorage.setItem(eQ,JSON.stringify(w))},[w]),h.useEffect(()=>{localStorage.setItem(tQ,a)},[a]);const D=h.useCallback(()=>{const ne=new Map;for(const re of o)re.secret&&re.clientPubkey&&ne.set(re.clientPubkey,re.label);return ne},[o]);h.useEffect(()=>{if(!n||!ze.signer||!e){M.isRunning()&&(M.stop(),u(!1),f(!1),g(0));return}M.isRunning()&&M.stop();let ne=null;return(async()=>{try{const de={rendezvousUrl:a,signer:ze.signer,authorizedSecrets:D()};console.log("[NRC] Starting listener with",de.authorizedSecrets.size,"authorized clients"),M.setOnSessionChange(Ne=>{g(Ne)}),await M.start(de),u(!0),f(M.isConnected()),ne=setInterval(()=>{f(M.isConnected()),g(M.getActiveSessionCount())},5e3)}catch(de){console.error("[NRC] Failed to start listener:",de),u(!1),f(!1)}})(),()=>{ne&&clearInterval(ne),M.stop(),u(!1),f(!1),g(0)}},[n,e,a,D]),h.useEffect(()=>{!n||ze.signer},[o,n,e]);const O=900*1e3,L=300*1e3,B=async()=>{const ne=await kt.queryEventsForNRC([{kinds:QZ,limit:1e3}]),re=ne.map(de=>{var Ne;return{kind:de.kind,id:de.id,created_at:de.created_at,d:(Ne=de.tags.find(ve=>ve[0]==="d"))==null?void 0:Ne[1]}});return{events:ne,manifest:re}},T=(ne,re,de)=>{const Ne=new Map,ve=new Map;for(let me=0;me<ne.length;me++){const ke=ne[me],le=`${ke.kind}:${ke.d||""}`,he=Ne.get(le);(!he||ke.created_at>he.created_at)&&(Ne.set(le,ke),ve.set(ke.id,de[me]))}const xe=new Map;for(const me of re){const ke=`${me.kind}:${me.d||""}`,le=xe.get(ke);(!le||me.created_at>le.created_at)&&xe.set(ke,me)}const ce=[],pe=[];for(const[me,ke]of Ne){const le=xe.get(me);if(!le||ke.created_at>le.created_at){const he=ve.get(ke.id);he&&ce.push(he)}}for(const[me,ke]of xe){const le=Ne.get(me);(!le||ke.created_at>le.created_at)&&pe.push(ke.id)}return{toSend:ce,toFetch:pe}};h.useEffect(()=>{if(w.length===0||!ze.signer||!e||j)return;const ne=async()=>{const Ne=Date.now(),ve=w.filter(xe=>!xe.lastSync||Ne-xe.lastSync>L);if(ve.length!==0){console.log(`[NRC] Bidirectional sync: ${ve.length} connection(s) need syncing`);for(const xe of ve){if(j)break;try{console.log(`[NRC] Bidirectional sync with ${xe.label}...`),S(!0),N({phase:"connecting",eventsReceived:0}),N({phase:"requesting",eventsReceived:0,message:"Getting remote event list..."});const ce=await ICe(xe.uri,[{kinds:QZ,limit:1e3}]);console.log(`[NRC] Remote has ${ce.length} events`);const{events:pe,manifest:me}=await B();console.log(`[NRC] Local has ${me.length} events`);const{toSend:ke,toFetch:le}=T(me,ce,pe);console.log(`[NRC] Diff: sending ${ke.length}, fetching ${le.length}`);let he=0,we=0;if(ke.length>0&&(N({phase:"sending",eventsReceived:0,eventsSent:0,message:`Sending ${ke.length} events...`}),he=await ACe(xe.uri,ke,Ae=>N({...Ae,message:`Sending events... (${Ae.eventsSent||0}/${ke.length})`})),console.log(`[NRC] Sent ${he} events to ${xe.label}`)),le.length>0){N({phase:"receiving",eventsReceived:0,eventsSent:he,message:`Fetching ${le.length} events...`});const Ae=50,Ve=[];for(let Ze=0;Ze<le.length;Ze+=Ae){const nt=le.slice(Ze,Ze+Ae),$e=await QB(xe.uri,[{ids:nt}],Ke=>N({...Ke,eventsSent:he,message:`Fetching events... (${Ve.length+Ke.eventsReceived}/${le.length})`}));Ve.push(...$e)}for(const Ze of Ve)try{await kt.putReplaceableEvent(Ze)}catch{}we=Ve.length,console.log(`[NRC] Received ${we} events from ${xe.label}`)}b(Ae=>Ae.map(Ve=>Ve.id===xe.id?{...Ve,lastSync:Date.now(),eventCount:we}:Ve)),console.log(`[NRC] Bidirectional sync complete with ${xe.label}: sent ${he}, received ${we}`)}catch(ce){console.error(`[NRC] Bidirectional sync failed for ${xe.label}:`,ce)}finally{S(!1),N(null)}}}},re=setTimeout(ne,3e3),de=setInterval(ne,O);return()=>{clearTimeout(re),clearInterval(de)}},[w.length,e,j]);const R=h.useCallback(async()=>{if(!ze.signer)throw new Error("Signer required to enable NRC");if(!a)throw new Error("Rendezvous relay URL required - configure in NRC settings");r(!0)},[a]),z=h.useCallback(()=>{r(!1),M.stop(),u(!1),f(!1),g(0)},[]),Y=h.useCallback(async(ne,re)=>{if(!e)throw new Error("Not logged in");const de=re||a;if(!de)throw new Error("Rendezvous relay URL required - configure in NRC settings");const Ne=crypto.randomUUID(),ve=Date.now(),xe=ZB(e,de,void 0,ne),ce=xe.uri,pe={id:Ne,label:ne,secret:xe.secret,clientPubkey:xe.clientPubkey,createdAt:ve};return s(me=>[...me,pe]),{uri:ce,connection:pe}},[e,a]),Q=h.useCallback(async ne=>{s(re=>re.filter(de=>de.id!==ne))},[]),W=h.useCallback(ne=>{if(!e)throw new Error("Not logged in");if(!ne.secret)throw new Error("Connection has no secret");return ZB(e,a,ne.secret,ne.label).uri},[e,a]),F=h.useCallback(ne=>{i(ne)},[]),X=h.useCallback(async(ne,re)=>{const de=dte(ne),Ne={id:crypto.randomUUID(),uri:ne,label:re,relayPubkey:de.relayPubkey,rendezvousUrl:de.rendezvousUrl};return b(ve=>[...ve,Ne]),Ne},[]),$=h.useCallback(async ne=>{b(re=>re.filter(de=>de.id!==ne))},[]),V=h.useCallback(async(ne,re)=>{const de=w.find(Ne=>Ne.id===ne);if(!de)throw new Error("Remote connection not found");S(!0),N({phase:"connecting",eventsReceived:0});try{const Ne=re||[{kinds:[0,3,1e4,10001,10002,10003,10012,30002],limit:1e3}],ve=await QB(de.uri,Ne,xe=>N(xe));for(const xe of ve)try{await kt.putReplaceableEvent(xe)}catch(ce){console.warn("[NRC] Failed to store event:",ce)}return b(xe=>xe.map(ce=>ce.id===ne?{...ce,lastSync:Date.now(),eventCount:ve.length}:ce)),ve}finally{S(!1),N(null)}},[w]),K=h.useCallback(async ne=>{const re=[];for(const de of w)try{const Ne=await V(de.id,ne);re.push(...Ne)}catch(Ne){console.error(`[NRC] Failed to sync from ${de.label}:`,Ne)}return re},[w,V]),G=h.useCallback(async ne=>{const re=w.find(de=>de.id===ne);if(!re)throw new Error("Remote connection not found");S(!0),N({phase:"connecting",eventsReceived:0,message:"Testing connection..."});try{const de=await NCe(re.uri,Ne=>N(Ne));return b(Ne=>Ne.map(ve=>ve.id===ne?{...ve,lastSync:Date.now(),eventCount:0}:ve)),de}finally{S(!1),N(null)}},[w]),J={isEnabled:n,isListening:l,isConnected:d,connections:o,activeSessions:m,rendezvousUrl:a,enable:R,disable:z,addConnection:Y,removeConnection:Q,getConnectionURI:W,setRendezvousUrl:F,remoteConnections:w,isSyncing:j,syncProgress:I,addRemoteConnection:X,removeRemoteConnection:$,testRemoteConnection:G,syncFromDevice:V,syncAllRemotes:K};return c.jsx(Q0e.Provider,{value:J,children:t})}var s0={},R5,nQ;function bgt(){return nQ||(nQ=1,R5=function(){return typeof Promise=="function"&&Promise.prototype&&Promise.prototype.then}),R5}var T5={},pp={},rQ;function i1(){if(rQ)return pp;rQ=1;let t;const e=[0,26,44,70,100,134,172,196,242,292,346,404,466,532,581,655,733,815,901,991,1085,1156,1258,1364,1474,1588,1706,1828,1921,2051,2185,2323,2465,2611,2761,2876,3034,3196,3362,3532,3706];return pp.getSymbolSize=function(r){if(!r)throw new Error('"version" cannot be null or undefined');if(r<1||r>40)throw new Error('"version" should be in range from 1 to 40');return r*4+17},pp.getSymbolTotalCodewords=function(r){return e[r]},pp.getBCHDigit=function(n){let r=0;for(;n!==0;)r++,n>>>=1;return r},pp.setToSJISFunction=function(r){if(typeof r!="function")throw new Error('"toSJISFunc" is not a valid function.');t=r},pp.isKanjiModeEnabled=function(){return typeof t<"u"},pp.toSJIS=function(r){return t(r)},pp}var D5={},oQ;function AO(){return oQ||(oQ=1,(function(t){t.L={bit:1},t.M={bit:0},t.Q={bit:3},t.H={bit:2};function e(n){if(typeof n!="string")throw new Error("Param is not a string");switch(n.toLowerCase()){case"l":case"low":return t.L;case"m":case"medium":return t.M;case"q":case"quartile":return t.Q;case"h":case"high":return t.H;default:throw new Error("Unknown EC Level: "+n)}}t.isValid=function(r){return r&&typeof r.bit<"u"&&r.bit>=0&&r.bit<4},t.from=function(r,o){if(t.isValid(r))return r;try{return e(r)}catch{return o}}})(D5)),D5}var L5,sQ;function xgt(){if(sQ)return L5;sQ=1;function t(){this.buffer=[],this.length=0}return t.prototype={get:function(e){const n=Math.floor(e/8);return(this.buffer[n]>>>7-e%8&1)===1},put:function(e,n){for(let r=0;r<n;r++)this.putBit((e>>>n-r-1&1)===1)},getLengthInBits:function(){return this.length},putBit:function(e){const n=Math.floor(this.length/8);this.buffer.length<=n&&this.buffer.push(0),e&&(this.buffer[n]|=128>>>this.length%8),this.length++}},L5=t,L5}var P5,aQ;function kgt(){if(aQ)return P5;aQ=1;function t(e){if(!e||e<1)throw new Error("BitMatrix size must be defined and greater than 0");this.size=e,this.data=new Uint8Array(e*e),this.reservedBit=new Uint8Array(e*e)}return t.prototype.set=function(e,n,r,o){const s=e*this.size+n;this.data[s]=r,o&&(this.reservedBit[s]=!0)},t.prototype.get=function(e,n){return this.data[e*this.size+n]},t.prototype.xor=function(e,n,r){this.data[e*this.size+n]^=r},t.prototype.isReserved=function(e,n){return this.reservedBit[e*this.size+n]},P5=t,P5}var O5={},iQ;function jgt(){return iQ||(iQ=1,(function(t){const e=i1().getSymbolSize;t.getRowColCoords=function(r){if(r===1)return[];const o=Math.floor(r/7)+2,s=e(r),a=s===145?26:Math.ceil((s-13)/(2*o-2))*2,i=[s-7];for(let l=1;l<o-1;l++)i[l]=i[l-1]-a;return i.push(6),i.reverse()},t.getPositions=function(r){const o=[],s=t.getRowColCoords(r),a=s.length;for(let i=0;i<a;i++)for(let l=0;l<a;l++)i===0&&l===0||i===0&&l===a-1||i===a-1&&l===0||o.push([s[i],s[l]]);return o}})(O5)),O5}var z5={},lQ;function Cgt(){if(lQ)return z5;lQ=1;const t=i1().getSymbolSize,e=7;return z5.getPositions=function(r){const o=t(r);return[[0,0],[o-e,0],[0,o-e]]},z5}var F5={},cQ;function Sgt(){return cQ||(cQ=1,(function(t){t.Patterns={PATTERN000:0,PATTERN001:1,PATTERN010:2,PATTERN011:3,PATTERN100:4,PATTERN101:5,PATTERN110:6,PATTERN111:7};const e={N1:3,N2:3,N3:40,N4:10};t.isValid=function(o){return o!=null&&o!==""&&!isNaN(o)&&o>=0&&o<=7},t.from=function(o){return t.isValid(o)?parseInt(o,10):void 0},t.getPenaltyN1=function(o){const s=o.size;let a=0,i=0,l=0,u=null,d=null;for(let f=0;f<s;f++){i=l=0,u=d=null;for(let m=0;m<s;m++){let g=o.get(f,m);g===u?i++:(i>=5&&(a+=e.N1+(i-5)),u=g,i=1),g=o.get(m,f),g===d?l++:(l>=5&&(a+=e.N1+(l-5)),d=g,l=1)}i>=5&&(a+=e.N1+(i-5)),l>=5&&(a+=e.N1+(l-5))}return a},t.getPenaltyN2=function(o){const s=o.size;let a=0;for(let i=0;i<s-1;i++)for(let l=0;l<s-1;l++){const u=o.get(i,l)+o.get(i,l+1)+o.get(i+1,l)+o.get(i+1,l+1);(u===4||u===0)&&a++}return a*e.N2},t.getPenaltyN3=function(o){const s=o.size;let a=0,i=0,l=0;for(let u=0;u<s;u++){i=l=0;for(let d=0;d<s;d++)i=i<<1&2047|o.get(u,d),d>=10&&(i===1488||i===93)&&a++,l=l<<1&2047|o.get(d,u),d>=10&&(l===1488||l===93)&&a++}return a*e.N3},t.getPenaltyN4=function(o){let s=0;const a=o.data.length;for(let l=0;l<a;l++)s+=o.data[l];return Math.abs(Math.ceil(s*100/a/5)-10)*e.N4};function n(r,o,s){switch(r){case t.Patterns.PATTERN000:return(o+s)%2===0;case t.Patterns.PATTERN001:return o%2===0;case t.Patterns.PATTERN010:return s%3===0;case t.Patterns.PATTERN011:return(o+s)%3===0;case t.Patterns.PATTERN100:return(Math.floor(o/2)+Math.floor(s/3))%2===0;case t.Patterns.PATTERN101:return o*s%2+o*s%3===0;case t.Patterns.PATTERN110:return(o*s%2+o*s%3)%2===0;case t.Patterns.PATTERN111:return(o*s%3+(o+s)%2)%2===0;default:throw new Error("bad maskPattern:"+r)}}t.applyMask=function(o,s){const a=s.size;for(let i=0;i<a;i++)for(let l=0;l<a;l++)s.isReserved(l,i)||s.xor(l,i,n(o,l,i))},t.getBestMask=function(o,s){const a=Object.keys(t.Patterns).length;let i=0,l=1/0;for(let u=0;u<a;u++){s(u),t.applyMask(u,o);const d=t.getPenaltyN1(o)+t.getPenaltyN2(o)+t.getPenaltyN3(o)+t.getPenaltyN4(o);t.applyMask(u,o),d<l&&(l=d,i=u)}return i}})(F5)),F5}var c3={},uQ;function J0e(){if(uQ)return c3;uQ=1;const t=AO(),e=[1,1,1,1,1,1,1,1,1,1,2,2,1,2,2,4,1,2,4,4,2,4,4,4,2,4,6,5,2,4,6,6,2,5,8,8,4,5,8,8,4,5,8,11,4,8,10,11,4,9,12,16,4,9,16,16,6,10,12,18,6,10,17,16,6,11,16,19,6,13,18,21,7,14,21,25,8,16,20,25,8,17,23,25,9,17,23,34,9,18,25,30,10,20,27,32,12,21,29,35,12,23,34,37,12,25,34,40,13,26,35,42,14,28,38,45,15,29,40,48,16,31,43,51,17,33,45,54,18,35,48,57,19,37,51,60,19,38,53,63,20,40,56,66,21,43,59,70,22,45,62,74,24,47,65,77,25,49,68,81],n=[7,10,13,17,10,16,22,28,15,26,36,44,20,36,52,64,26,48,72,88,36,64,96,112,40,72,108,130,48,88,132,156,60,110,160,192,72,130,192,224,80,150,224,264,96,176,260,308,104,198,288,352,120,216,320,384,132,240,360,432,144,280,408,480,168,308,448,532,180,338,504,588,196,364,546,650,224,416,600,700,224,442,644,750,252,476,690,816,270,504,750,900,300,560,810,960,312,588,870,1050,336,644,952,1110,360,700,1020,1200,390,728,1050,1260,420,784,1140,1350,450,812,1200,1440,480,868,1290,1530,510,924,1350,1620,540,980,1440,1710,570,1036,1530,1800,570,1064,1590,1890,600,1120,1680,1980,630,1204,1770,2100,660,1260,1860,2220,720,1316,1950,2310,750,1372,2040,2430];return c3.getBlocksCount=function(o,s){switch(s){case t.L:return e[(o-1)*4+0];case t.M:return e[(o-1)*4+1];case t.Q:return e[(o-1)*4+2];case t.H:return e[(o-1)*4+3];default:return}},c3.getTotalCodewordsCount=function(o,s){switch(s){case t.L:return n[(o-1)*4+0];case t.M:return n[(o-1)*4+1];case t.Q:return n[(o-1)*4+2];case t.H:return n[(o-1)*4+3];default:return}},c3}var B5={},Nw={},fQ;function Egt(){if(fQ)return Nw;fQ=1;const t=new Uint8Array(512),e=new Uint8Array(256);return(function(){let r=1;for(let o=0;o<255;o++)t[o]=r,e[r]=o,r<<=1,r&256&&(r^=285);for(let o=255;o<512;o++)t[o]=t[o-255]})(),Nw.log=function(r){if(r<1)throw new Error("log("+r+")");return e[r]},Nw.exp=function(r){return t[r]},Nw.mul=function(r,o){return r===0||o===0?0:t[e[r]+e[o]]},Nw}var dQ;function Ngt(){return dQ||(dQ=1,(function(t){const e=Egt();t.mul=function(r,o){const s=new Uint8Array(r.length+o.length-1);for(let a=0;a<r.length;a++)for(let i=0;i<o.length;i++)s[a+i]^=e.mul(r[a],o[i]);return s},t.mod=function(r,o){let s=new Uint8Array(r);for(;s.length-o.length>=0;){const a=s[0];for(let l=0;l<o.length;l++)s[l]^=e.mul(o[l],a);let i=0;for(;i<s.length&&s[i]===0;)i++;s=s.slice(i)}return s},t.generateECPolynomial=function(r){let o=new Uint8Array([1]);for(let s=0;s<r;s++)o=t.mul(o,new Uint8Array([1,e.exp(s)]));return o}})(B5)),B5}var U5,pQ;function Igt(){if(pQ)return U5;pQ=1;const t=Ngt();function e(n){this.genPoly=void 0,this.degree=n,this.degree&&this.initialize(this.degree)}return e.prototype.initialize=function(r){this.degree=r,this.genPoly=t.generateECPolynomial(this.degree)},e.prototype.encode=function(r){if(!this.genPoly)throw new Error("Encoder not initialized");const o=new Uint8Array(r.length+this.degree);o.set(r);const s=t.mod(o,this.genPoly),a=this.degree-s.length;if(a>0){const i=new Uint8Array(this.degree);return i.set(s,a),i}return s},U5=e,U5}var $5={},V5={},H5={},hQ;function X0e(){return hQ||(hQ=1,H5.isValid=function(e){return!isNaN(e)&&e>=1&&e<=40}),H5}var Iu={},mQ;function eye(){if(mQ)return Iu;mQ=1;const t="[0-9]+",e="[A-Z $%*+\\-./:]+";let n="(?:[u3000-u303F]|[u3040-u309F]|[u30A0-u30FF]|[uFF00-uFFEF]|[u4E00-u9FAF]|[u2605-u2606]|[u2190-u2195]|u203B|[u2010u2015u2018u2019u2025u2026u201Cu201Du2225u2260]|[u0391-u0451]|[u00A7u00A8u00B1u00B4u00D7u00F7])+";n=n.replace(/u/g,"\\u");const r="(?:(?![A-Z0-9 $%*+\\-./:]|"+n+`)(?:.|[\r
2342 ]))+`;Iu.KANJI=new RegExp(n,"g"),Iu.BYTE_KANJI=new RegExp("[^A-Z0-9 $%*+\\-./:]+","g"),Iu.BYTE=new RegExp(r,"g"),Iu.NUMERIC=new RegExp(t,"g"),Iu.ALPHANUMERIC=new RegExp(e,"g");const o=new RegExp("^"+n+"$"),s=new RegExp("^"+t+"$"),a=new RegExp("^[A-Z0-9 $%*+\\-./:]+$");return Iu.testKanji=function(l){return o.test(l)},Iu.testNumeric=function(l){return s.test(l)},Iu.testAlphanumeric=function(l){return a.test(l)},Iu}var gQ;function l1(){return gQ||(gQ=1,(function(t){const e=X0e(),n=eye();t.NUMERIC={id:"Numeric",bit:1,ccBits:[10,12,14]},t.ALPHANUMERIC={id:"Alphanumeric",bit:2,ccBits:[9,11,13]},t.BYTE={id:"Byte",bit:4,ccBits:[8,16,16]},t.KANJI={id:"Kanji",bit:8,ccBits:[8,10,12]},t.MIXED={bit:-1},t.getCharCountIndicator=function(s,a){if(!s.ccBits)throw new Error("Invalid mode: "+s);if(!e.isValid(a))throw new Error("Invalid version: "+a);return a>=1&&a<10?s.ccBits[0]:a<27?s.ccBits[1]:s.ccBits[2]},t.getBestModeForData=function(s){return n.testNumeric(s)?t.NUMERIC:n.testAlphanumeric(s)?t.ALPHANUMERIC:n.testKanji(s)?t.KANJI:t.BYTE},t.toString=function(s){if(s&&s.id)return s.id;throw new Error("Invalid mode")},t.isValid=function(s){return s&&s.bit&&s.ccBits};function r(o){if(typeof o!="string")throw new Error("Param is not a string");switch(o.toLowerCase()){case"numeric":return t.NUMERIC;case"alphanumeric":return t.ALPHANUMERIC;case"kanji":return t.KANJI;case"byte":return t.BYTE;default:throw new Error("Unknown mode: "+o)}}t.from=function(s,a){if(t.isValid(s))return s;try{return r(s)}catch{return a}}})(V5)),V5}var yQ;function Agt(){return yQ||(yQ=1,(function(t){const e=i1(),n=J0e(),r=AO(),o=l1(),s=X0e(),a=7973,i=e.getBCHDigit(a);function l(m,g,w){for(let b=1;b<=40;b++)if(g<=t.getCapacity(b,w,m))return b}function u(m,g){return o.getCharCountIndicator(m,g)+4}function d(m,g){let w=0;return m.forEach(function(b){const j=u(b.mode,g);w+=j+b.getBitsLength()}),w}function f(m,g){for(let w=1;w<=40;w++)if(d(m,w)<=t.getCapacity(w,g,o.MIXED))return w}t.from=function(g,w){return s.isValid(g)?parseInt(g,10):w},t.getCapacity=function(g,w,b){if(!s.isValid(g))throw new Error("Invalid QR Code version");typeof b>"u"&&(b=o.BYTE);const j=e.getSymbolTotalCodewords(g),S=n.getTotalCodewordsCount(g,w),I=(j-S)*8;if(b===o.MIXED)return I;const N=I-u(b,g);switch(b){case o.NUMERIC:return Math.floor(N/10*3);case o.ALPHANUMERIC:return Math.floor(N/11*2);case o.KANJI:return Math.floor(N/13);case o.BYTE:default:return Math.floor(N/8)}},t.getBestVersionForData=function(g,w){let b;const j=r.from(w,r.M);if(Array.isArray(g)){if(g.length>1)return f(g,j);if(g.length===0)return 1;b=g[0]}else b=g;return l(b.mode,b.getLength(),j)},t.getEncodedBits=function(g){if(!s.isValid(g)||g<7)throw new Error("Invalid QR Code version");let w=g<<12;for(;e.getBCHDigit(w)-i>=0;)w^=a<<e.getBCHDigit(w)-i;return g<<12|w}})($5)),$5}var W5={},vQ;function _gt(){if(vQ)return W5;vQ=1;const t=i1(),e=1335,n=21522,r=t.getBCHDigit(e);return W5.getEncodedBits=function(s,a){const i=s.bit<<3|a;let l=i<<10;for(;t.getBCHDigit(l)-r>=0;)l^=e<<t.getBCHDigit(l)-r;return(i<<10|l)^n},W5}var Y5={},G5,wQ;function Mgt(){if(wQ)return G5;wQ=1;const t=l1();function e(n){this.mode=t.NUMERIC,this.data=n.toString()}return e.getBitsLength=function(r){return 10*Math.floor(r/3)+(r%3?r%3*3+1:0)},e.prototype.getLength=function(){return this.data.length},e.prototype.getBitsLength=function(){return e.getBitsLength(this.data.length)},e.prototype.write=function(r){let o,s,a;for(o=0;o+3<=this.data.length;o+=3)s=this.data.substr(o,3),a=parseInt(s,10),r.put(a,10);const i=this.data.length-o;i>0&&(s=this.data.substr(o),a=parseInt(s,10),r.put(a,i*3+1))},G5=e,G5}var q5,bQ;function Rgt(){if(bQ)return q5;bQ=1;const t=l1(),e=["0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"," ","$","%","*","+","-",".","/",":"];function n(r){this.mode=t.ALPHANUMERIC,this.data=r}return n.getBitsLength=function(o){return 11*Math.floor(o/2)+6*(o%2)},n.prototype.getLength=function(){return this.data.length},n.prototype.getBitsLength=function(){return n.getBitsLength(this.data.length)},n.prototype.write=function(o){let s;for(s=0;s+2<=this.data.length;s+=2){let a=e.indexOf(this.data[s])*45;a+=e.indexOf(this.data[s+1]),o.put(a,11)}this.data.length%2&&o.put(e.indexOf(this.data[s]),6)},q5=n,q5}var K5,xQ;function Tgt(){if(xQ)return K5;xQ=1;const t=l1();function e(n){this.mode=t.BYTE,typeof n=="string"?this.data=new TextEncoder().encode(n):this.data=new Uint8Array(n)}return e.getBitsLength=function(r){return r*8},e.prototype.getLength=function(){return this.data.length},e.prototype.getBitsLength=function(){return e.getBitsLength(this.data.length)},e.prototype.write=function(n){for(let r=0,o=this.data.length;r<o;r++)n.put(this.data[r],8)},K5=e,K5}var Z5,kQ;function Dgt(){if(kQ)return Z5;kQ=1;const t=l1(),e=i1();function n(r){this.mode=t.KANJI,this.data=r}return n.getBitsLength=function(o){return o*13},n.prototype.getLength=function(){return this.data.length},n.prototype.getBitsLength=function(){return n.getBitsLength(this.data.length)},n.prototype.write=function(r){let o;for(o=0;o<this.data.length;o++){let s=e.toSJIS(this.data[o]);if(s>=33088&&s<=40956)s-=33088;else if(s>=57408&&s<=60351)s-=49472;else throw new Error("Invalid SJIS character: "+this.data[o]+`
2343 Make sure your charset is UTF-8`);s=(s>>>8&255)*192+(s&255),r.put(s,13)}},Z5=n,Z5}var Q5={exports:{}},jQ;function Lgt(){return jQ||(jQ=1,(function(t){var e={single_source_shortest_paths:function(n,r,o){var s={},a={};a[r]=0;var i=e.PriorityQueue.make();i.push(r,0);for(var l,u,d,f,m,g,w,b,j;!i.empty();){l=i.pop(),u=l.value,f=l.cost,m=n[u]||{};for(d in m)m.hasOwnProperty(d)&&(g=m[d],w=f+g,b=a[d],j=typeof a[d]>"u",(j||b>w)&&(a[d]=w,i.push(d,w),s[d]=u))}if(typeof o<"u"&&typeof a[o]>"u"){var S=["Could not find a path from ",r," to ",o,"."].join("");throw new Error(S)}return s},extract_shortest_path_from_predecessor_list:function(n,r){for(var o=[],s=r;s;)o.push(s),n[s],s=n[s];return o.reverse(),o},find_path:function(n,r,o){var s=e.single_source_shortest_paths(n,r,o);return e.extract_shortest_path_from_predecessor_list(s,o)},PriorityQueue:{make:function(n){var r=e.PriorityQueue,o={},s;n=n||{};for(s in r)r.hasOwnProperty(s)&&(o[s]=r[s]);return o.queue=[],o.sorter=n.sorter||r.default_sorter,o},default_sorter:function(n,r){return n.cost-r.cost},push:function(n,r){var o={value:n,cost:r};this.queue.push(o),this.queue.sort(this.sorter)},pop:function(){return this.queue.shift()},empty:function(){return this.queue.length===0}}};t.exports=e})(Q5)),Q5.exports}var CQ;function Pgt(){return CQ||(CQ=1,(function(t){const e=l1(),n=Mgt(),r=Rgt(),o=Tgt(),s=Dgt(),a=eye(),i=i1(),l=Lgt();function u(S){return unescape(encodeURIComponent(S)).length}function d(S,I,N){const M=[];let D;for(;(D=S.exec(N))!==null;)M.push({data:D[0],index:D.index,mode:I,length:D[0].length});return M}function f(S){const I=d(a.NUMERIC,e.NUMERIC,S),N=d(a.ALPHANUMERIC,e.ALPHANUMERIC,S);let M,D;return i.isKanjiModeEnabled()?(M=d(a.BYTE,e.BYTE,S),D=d(a.KANJI,e.KANJI,S)):(M=d(a.BYTE_KANJI,e.BYTE,S),D=[]),I.concat(N,M,D).sort(function(L,B){return L.index-B.index}).map(function(L){return{data:L.data,mode:L.mode,length:L.length}})}function m(S,I){switch(I){case e.NUMERIC:return n.getBitsLength(S);case e.ALPHANUMERIC:return r.getBitsLength(S);case e.KANJI:return s.getBitsLength(S);case e.BYTE:return o.getBitsLength(S)}}function g(S){return S.reduce(function(I,N){const M=I.length-1>=0?I[I.length-1]:null;return M&&M.mode===N.mode?(I[I.length-1].data+=N.data,I):(I.push(N),I)},[])}function w(S){const I=[];for(let N=0;N<S.length;N++){const M=S[N];switch(M.mode){case e.NUMERIC:I.push([M,{data:M.data,mode:e.ALPHANUMERIC,length:M.length},{data:M.data,mode:e.BYTE,length:M.length}]);break;case e.ALPHANUMERIC:I.push([M,{data:M.data,mode:e.BYTE,length:M.length}]);break;case e.KANJI:I.push([M,{data:M.data,mode:e.BYTE,length:u(M.data)}]);break;case e.BYTE:I.push([{data:M.data,mode:e.BYTE,length:u(M.data)}])}}return I}function b(S,I){const N={},M={start:{}};let D=["start"];for(let O=0;O<S.length;O++){const L=S[O],B=[];for(let T=0;T<L.length;T++){const R=L[T],z=""+O+T;B.push(z),N[z]={node:R,lastCount:0},M[z]={};for(let Y=0;Y<D.length;Y++){const Q=D[Y];N[Q]&&N[Q].node.mode===R.mode?(M[Q][z]=m(N[Q].lastCount+R.length,R.mode)-m(N[Q].lastCount,R.mode),N[Q].lastCount+=R.length):(N[Q]&&(N[Q].lastCount=R.length),M[Q][z]=m(R.length,R.mode)+4+e.getCharCountIndicator(R.mode,I))}}D=B}for(let O=0;O<D.length;O++)M[D[O]].end=0;return{map:M,table:N}}function j(S,I){let N;const M=e.getBestModeForData(S);if(N=e.from(I,M),N!==e.BYTE&&N.bit<M.bit)throw new Error('"'+S+'" cannot be encoded with mode '+e.toString(N)+`.
2344 Suggested mode is: `+e.toString(M));switch(N===e.KANJI&&!i.isKanjiModeEnabled()&&(N=e.BYTE),N){case e.NUMERIC:return new n(S);case e.ALPHANUMERIC:return new r(S);case e.KANJI:return new s(S);case e.BYTE:return new o(S)}}t.fromArray=function(I){return I.reduce(function(N,M){return typeof M=="string"?N.push(j(M,null)):M.data&&N.push(j(M.data,M.mode)),N},[])},t.fromString=function(I,N){const M=f(I,i.isKanjiModeEnabled()),D=w(M),O=b(D,N),L=l.find_path(O.map,"start","end"),B=[];for(let T=1;T<L.length-1;T++)B.push(O.table[L[T]].node);return t.fromArray(g(B))},t.rawSplit=function(I){return t.fromArray(f(I,i.isKanjiModeEnabled()))}})(Y5)),Y5}var SQ;function Ogt(){if(SQ)return T5;SQ=1;const t=i1(),e=AO(),n=xgt(),r=kgt(),o=jgt(),s=Cgt(),a=Sgt(),i=J0e(),l=Igt(),u=Agt(),d=_gt(),f=l1(),m=Pgt();function g(O,L){const B=O.size,T=s.getPositions(L);for(let R=0;R<T.length;R++){const z=T[R][0],Y=T[R][1];for(let Q=-1;Q<=7;Q++)if(!(z+Q<=-1||B<=z+Q))for(let W=-1;W<=7;W++)Y+W<=-1||B<=Y+W||(Q>=0&&Q<=6&&(W===0||W===6)||W>=0&&W<=6&&(Q===0||Q===6)||Q>=2&&Q<=4&&W>=2&&W<=4?O.set(z+Q,Y+W,!0,!0):O.set(z+Q,Y+W,!1,!0))}}function w(O){const L=O.size;for(let B=8;B<L-8;B++){const T=B%2===0;O.set(B,6,T,!0),O.set(6,B,T,!0)}}function b(O,L){const B=o.getPositions(L);for(let T=0;T<B.length;T++){const R=B[T][0],z=B[T][1];for(let Y=-2;Y<=2;Y++)for(let Q=-2;Q<=2;Q++)Y===-2||Y===2||Q===-2||Q===2||Y===0&&Q===0?O.set(R+Y,z+Q,!0,!0):O.set(R+Y,z+Q,!1,!0)}}function j(O,L){const B=O.size,T=u.getEncodedBits(L);let R,z,Y;for(let Q=0;Q<18;Q++)R=Math.floor(Q/3),z=Q%3+B-8-3,Y=(T>>Q&1)===1,O.set(R,z,Y,!0),O.set(z,R,Y,!0)}function S(O,L,B){const T=O.size,R=d.getEncodedBits(L,B);let z,Y;for(z=0;z<15;z++)Y=(R>>z&1)===1,z<6?O.set(z,8,Y,!0):z<8?O.set(z+1,8,Y,!0):O.set(T-15+z,8,Y,!0),z<8?O.set(8,T-z-1,Y,!0):z<9?O.set(8,15-z-1+1,Y,!0):O.set(8,15-z-1,Y,!0);O.set(T-8,8,1,!0)}function I(O,L){const B=O.size;let T=-1,R=B-1,z=7,Y=0;for(let Q=B-1;Q>0;Q-=2)for(Q===6&&Q--;;){for(let W=0;W<2;W++)if(!O.isReserved(R,Q-W)){let F=!1;Y<L.length&&(F=(L[Y]>>>z&1)===1),O.set(R,Q-W,F),z--,z===-1&&(Y++,z=7)}if(R+=T,R<0||B<=R){R-=T,T=-T;break}}}function N(O,L,B){const T=new n;B.forEach(function(W){T.put(W.mode.bit,4),T.put(W.getLength(),f.getCharCountIndicator(W.mode,O)),W.write(T)});const R=t.getSymbolTotalCodewords(O),z=i.getTotalCodewordsCount(O,L),Y=(R-z)*8;for(T.getLengthInBits()+4<=Y&&T.put(0,4);T.getLengthInBits()%8!==0;)T.putBit(0);const Q=(Y-T.getLengthInBits())/8;for(let W=0;W<Q;W++)T.put(W%2?17:236,8);return M(T,O,L)}function M(O,L,B){const T=t.getSymbolTotalCodewords(L),R=i.getTotalCodewordsCount(L,B),z=T-R,Y=i.getBlocksCount(L,B),Q=T%Y,W=Y-Q,F=Math.floor(T/Y),X=Math.floor(z/Y),$=X+1,V=F-X,K=new l(V);let G=0;const J=new Array(Y),ne=new Array(Y);let re=0;const de=new Uint8Array(O.buffer);for(let pe=0;pe<Y;pe++){const me=pe<W?X:$;J[pe]=de.slice(G,G+me),ne[pe]=K.encode(J[pe]),G+=me,re=Math.max(re,me)}const Ne=new Uint8Array(T);let ve=0,xe,ce;for(xe=0;xe<re;xe++)for(ce=0;ce<Y;ce++)xe<J[ce].length&&(Ne[ve++]=J[ce][xe]);for(xe=0;xe<V;xe++)for(ce=0;ce<Y;ce++)Ne[ve++]=ne[ce][xe];return Ne}function D(O,L,B,T){let R;if(Array.isArray(O))R=m.fromArray(O);else if(typeof O=="string"){let F=L;if(!F){const X=m.rawSplit(O);F=u.getBestVersionForData(X,B)}R=m.fromString(O,F||40)}else throw new Error("Invalid data");const z=u.getBestVersionForData(R,B);if(!z)throw new Error("The amount of data is too big to be stored in a QR Code");if(!L)L=z;else if(L<z)throw new Error(`
2345 The chosen QR Code version cannot contain this amount of data.
2346 Minimum version required to store current data is: `+z+`.
2347 `);const Y=N(L,B,R),Q=t.getSymbolSize(L),W=new r(Q);return g(W,L),w(W),b(W,L),S(W,B,0),L>=7&&j(W,L),I(W,Y),isNaN(T)&&(T=a.getBestMask(W,S.bind(null,W,B))),a.applyMask(T,W),S(W,B,T),{modules:W,version:L,errorCorrectionLevel:B,maskPattern:T,segments:R}}return T5.create=function(L,B){if(typeof L>"u"||L==="")throw new Error("No input text");let T=e.M,R,z;return typeof B<"u"&&(T=e.from(B.errorCorrectionLevel,e.M),R=u.from(B.version),z=a.from(B.maskPattern),B.toSJISFunc&&t.setToSJISFunction(B.toSJISFunc)),D(L,R,T,z)},T5}var J5={},X5={},EQ;function tye(){return EQ||(EQ=1,(function(t){function e(n){if(typeof n=="number"&&(n=n.toString()),typeof n!="string")throw new Error("Color should be defined as hex string");let r=n.slice().replace("#","").split("");if(r.length<3||r.length===5||r.length>8)throw new Error("Invalid hex color: "+n);(r.length===3||r.length===4)&&(r=Array.prototype.concat.apply([],r.map(function(s){return[s,s]}))),r.length===6&&r.push("F","F");const o=parseInt(r.join(""),16);return{r:o>>24&255,g:o>>16&255,b:o>>8&255,a:o&255,hex:"#"+r.slice(0,6).join("")}}t.getOptions=function(r){r||(r={}),r.color||(r.color={});const o=typeof r.margin>"u"||r.margin===null||r.margin<0?4:r.margin,s=r.width&&r.width>=21?r.width:void 0,a=r.scale||4;return{width:s,scale:s?4:a,margin:o,color:{dark:e(r.color.dark||"#000000ff"),light:e(r.color.light||"#ffffffff")},type:r.type,rendererOpts:r.rendererOpts||{}}},t.getScale=function(r,o){return o.width&&o.width>=r+o.margin*2?o.width/(r+o.margin*2):o.scale},t.getImageWidth=function(r,o){const s=t.getScale(r,o);return Math.floor((r+o.margin*2)*s)},t.qrToImageData=function(r,o,s){const a=o.modules.size,i=o.modules.data,l=t.getScale(a,s),u=Math.floor((a+s.margin*2)*l),d=s.margin*l,f=[s.color.light,s.color.dark];for(let m=0;m<u;m++)for(let g=0;g<u;g++){let w=(m*u+g)*4,b=s.color.light;if(m>=d&&g>=d&&m<u-d&&g<u-d){const j=Math.floor((m-d)/l),S=Math.floor((g-d)/l);b=f[i[j*a+S]?1:0]}r[w++]=b.r,r[w++]=b.g,r[w++]=b.b,r[w]=b.a}}})(X5)),X5}var NQ;function zgt(){return NQ||(NQ=1,(function(t){const e=tye();function n(o,s,a){o.clearRect(0,0,s.width,s.height),s.style||(s.style={}),s.height=a,s.width=a,s.style.height=a+"px",s.style.width=a+"px"}function r(){try{return document.createElement("canvas")}catch{throw new Error("You need to specify a canvas element")}}t.render=function(s,a,i){let l=i,u=a;typeof l>"u"&&(!a||!a.getContext)&&(l=a,a=void 0),a||(u=r()),l=e.getOptions(l);const d=e.getImageWidth(s.modules.size,l),f=u.getContext("2d"),m=f.createImageData(d,d);return e.qrToImageData(m.data,s,l),n(f,u,d),f.putImageData(m,0,0),u},t.renderToDataURL=function(s,a,i){let l=i;typeof l>"u"&&(!a||!a.getContext)&&(l=a,a=void 0),l||(l={});const u=t.render(s,a,l),d=l.type||"image/png",f=l.rendererOpts||{};return u.toDataURL(d,f.quality)}})(J5)),J5}var e_={},IQ;function Fgt(){if(IQ)return e_;IQ=1;const t=tye();function e(o,s){const a=o.a/255,i=s+'="'+o.hex+'"';return a<1?i+" "+s+'-opacity="'+a.toFixed(2).slice(1)+'"':i}function n(o,s,a){let i=o+s;return typeof a<"u"&&(i+=" "+a),i}function r(o,s,a){let i="",l=0,u=!1,d=0;for(let f=0;f<o.length;f++){const m=Math.floor(f%s),g=Math.floor(f/s);!m&&!u&&(u=!0),o[f]?(d++,f>0&&m>0&&o[f-1]||(i+=u?n("M",m+a,.5+g+a):n("m",l,0),l=0,u=!1),m+1<s&&o[f+1]||(i+=n("h",d),d=0)):l++}return i}return e_.render=function(s,a,i){const l=t.getOptions(a),u=s.modules.size,d=s.modules.data,f=u+l.margin*2,m=l.color.light.a?"<path "+e(l.color.light,"fill")+' d="M0 0h'+f+"v"+f+'H0z"/>':"",g="<path "+e(l.color.dark,"stroke")+' d="'+r(d,u,l.margin)+'"/>',w='viewBox="0 0 '+f+" "+f+'"',j='<svg xmlns="http://www.w3.org/2000/svg" '+(l.width?'width="'+l.width+'" height="'+l.width+'" ':"")+w+' shape-rendering="crispEdges">'+m+g+`</svg>
2348 `;return typeof i=="function"&&i(null,j),j},e_}var AQ;function Bgt(){if(AQ)return s0;AQ=1;const t=bgt(),e=Ogt(),n=zgt(),r=Fgt();function o(s,a,i,l,u){const d=[].slice.call(arguments,1),f=d.length,m=typeof d[f-1]=="function";if(!m&&!t())throw new Error("Callback required as last argument");if(m){if(f<2)throw new Error("Too few arguments provided");f===2?(u=i,i=a,a=l=void 0):f===3&&(a.getContext&&typeof u>"u"?(u=l,l=void 0):(u=l,l=i,i=a,a=void 0))}else{if(f<1)throw new Error("Too few arguments provided");return f===1?(i=a,a=l=void 0):f===2&&!a.getContext&&(l=i,i=a,a=void 0),new Promise(function(g,w){try{const b=e.create(i,l);g(s(b,a,l))}catch(b){w(b)}})}try{const g=e.create(i,l);u(null,s(g,a,l))}catch(g){u(g)}}return s0.create=e.create,s0.toCanvas=o.bind(null,n.render),s0.toDataURL=o.bind(null,n.renderToDataURL),s0.toString=o.bind(null,function(s,a,i){return r.render(s,i)}),s0}var Ugt=Bgt();const nye=rc(Ugt);var nn;(function(t){t[t.QR_CODE=0]="QR_CODE",t[t.AZTEC=1]="AZTEC",t[t.CODABAR=2]="CODABAR",t[t.CODE_39=3]="CODE_39",t[t.CODE_93=4]="CODE_93",t[t.CODE_128=5]="CODE_128",t[t.DATA_MATRIX=6]="DATA_MATRIX",t[t.MAXICODE=7]="MAXICODE",t[t.ITF=8]="ITF",t[t.EAN_13=9]="EAN_13",t[t.EAN_8=10]="EAN_8",t[t.PDF_417=11]="PDF_417",t[t.RSS_14=12]="RSS_14",t[t.RSS_EXPANDED=13]="RSS_EXPANDED",t[t.UPC_A=14]="UPC_A",t[t.UPC_E=15]="UPC_E",t[t.UPC_EAN_EXTENSION=16]="UPC_EAN_EXTENSION"})(nn||(nn={}));var _Q=new Map([[nn.QR_CODE,"QR_CODE"],[nn.AZTEC,"AZTEC"],[nn.CODABAR,"CODABAR"],[nn.CODE_39,"CODE_39"],[nn.CODE_93,"CODE_93"],[nn.CODE_128,"CODE_128"],[nn.DATA_MATRIX,"DATA_MATRIX"],[nn.MAXICODE,"MAXICODE"],[nn.ITF,"ITF"],[nn.EAN_13,"EAN_13"],[nn.EAN_8,"EAN_8"],[nn.PDF_417,"PDF_417"],[nn.RSS_14,"RSS_14"],[nn.RSS_EXPANDED,"RSS_EXPANDED"],[nn.UPC_A,"UPC_A"],[nn.UPC_E,"UPC_E"],[nn.UPC_EAN_EXTENSION,"UPC_EAN_EXTENSION"]]),MQ;(function(t){t[t.UNKNOWN=0]="UNKNOWN",t[t.URL=1]="URL"})(MQ||(MQ={}));function $gt(t){return Object.values(nn).includes(t)}var nC;(function(t){t[t.SCAN_TYPE_CAMERA=0]="SCAN_TYPE_CAMERA",t[t.SCAN_TYPE_FILE=1]="SCAN_TYPE_FILE"})(nC||(nC={}));var Vgt=(function(){function t(){}return t.GITHUB_PROJECT_URL="https://github.com/mebjas/html5-qrcode",t.SCAN_DEFAULT_FPS=2,t.DEFAULT_DISABLE_FLIP=!1,t.DEFAULT_REMEMBER_LAST_CAMERA_USED=!0,t.DEFAULT_SUPPORTED_SCAN_TYPE=[nC.SCAN_TYPE_CAMERA,nC.SCAN_TYPE_FILE],t})(),rye=(function(){function t(e,n){this.format=e,this.formatName=n}return t.prototype.toString=function(){return this.formatName},t.create=function(e){if(!_Q.has(e))throw"".concat(e," not in html5QrcodeSupportedFormatsTextMap");return new t(e,_Q.get(e))},t})(),RQ=(function(){function t(){}return t.createFromText=function(e){var n={text:e};return{decodedText:e,result:n}},t.createFromQrcodeResult=function(e){return{decodedText:e.text,result:e}},t})(),PR;(function(t){t[t.UNKWOWN_ERROR=0]="UNKWOWN_ERROR",t[t.IMPLEMENTATION_ERROR=1]="IMPLEMENTATION_ERROR",t[t.NO_CODE_FOUND_ERROR=2]="NO_CODE_FOUND_ERROR"})(PR||(PR={}));var Hgt=(function(){function t(){}return t.createFrom=function(e){return{errorMessage:e,type:PR.UNKWOWN_ERROR}},t})(),Wgt=(function(){function t(e){this.verbose=e}return t.prototype.log=function(e){this.verbose&&console.log(e)},t.prototype.warn=function(e){this.verbose&&console.warn(e)},t.prototype.logError=function(e,n){(this.verbose||n===!0)&&console.error(e)},t.prototype.logErrors=function(e){if(e.length===0)throw"Logger#logError called without arguments";this.verbose&&console.error(e)},t})();function $f(t){return typeof t>"u"||t===null}var w0=(function(){function t(){}return t.codeParseError=function(e){return"QR code parse error, error = ".concat(e)},t.errorGettingUserMedia=function(e){return"Error getting userMedia, error = ".concat(e)},t.onlyDeviceSupportedError=function(){return"The device doesn't support navigator.mediaDevices , only supported cameraIdOrConfig in this case is deviceId parameter (string)."},t.cameraStreamingNotSupported=function(){return"Camera streaming not supported by the browser."},t.unableToQuerySupportedDevices=function(){return"Unable to query supported devices, unknown error."},t.insecureContextCameraQueryError=function(){return"Camera access is only supported in secure context like https or localhost."},t.scannerPaused=function(){return"Scanner paused"},t})(),oye=(function(){function t(){}return t.isMediaStreamConstraintsValid=function(e,n){if(typeof e!="object"){var r=typeof e;return n.logError("videoConstraints should be of type object, the "+"object passed is of type ".concat(r,"."),!0),!1}for(var o=["autoGainControl","channelCount","echoCancellation","latency","noiseSuppression","sampleRate","sampleSize","volume"],s=new Set(o),a=Object.keys(e),i=0,l=a;i<l.length;i++){var u=l[i];if(s.has(u))return n.logError("".concat(u," is not supported videoConstaints."),!0),!1}return!0},t})(),$w={exports:{}},Ygt=$w.exports,TQ;function Ggt(){return TQ||(TQ=1,(function(t,e){(function(n,r){r(e)})(Ygt,(function(n){function r(ue){return ue==null}var o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(ue,p){ue.__proto__=p}||function(ue,p){for(var v in p)p.hasOwnProperty(v)&&(ue[v]=p[v])};function s(ue,p){o(ue,p);function v(){this.constructor=ue}ue.prototype=p===null?Object.create(p):(v.prototype=p.prototype,new v)}function a(ue,p){var v=Object.setPrototypeOf;v?v(ue,p):ue.__proto__=p}function i(ue,p){p===void 0&&(p=ue.constructor);var v=Error.captureStackTrace;v&&v(ue,p)}var l=(function(ue){s(p,ue);function p(v){var x=this.constructor,C=ue.call(this,v)||this;return Object.defineProperty(C,"name",{value:x.name,enumerable:!1}),a(C,x.prototype),i(C),C}return p})(Error);class u extends l{constructor(p=void 0){super(p),this.message=p}getKind(){return this.constructor.kind}}u.kind="Exception";class d extends u{}d.kind="ArgumentException";class f extends u{}f.kind="IllegalArgumentException";class m{constructor(p){if(this.binarizer=p,p===null)throw new f("Binarizer must be non-null.")}getWidth(){return this.binarizer.getWidth()}getHeight(){return this.binarizer.getHeight()}getBlackRow(p,v){return this.binarizer.getBlackRow(p,v)}getBlackMatrix(){return(this.matrix===null||this.matrix===void 0)&&(this.matrix=this.binarizer.getBlackMatrix()),this.matrix}isCropSupported(){return this.binarizer.getLuminanceSource().isCropSupported()}crop(p,v,x,C){const E=this.binarizer.getLuminanceSource().crop(p,v,x,C);return new m(this.binarizer.createBinarizer(E))}isRotateSupported(){return this.binarizer.getLuminanceSource().isRotateSupported()}rotateCounterClockwise(){const p=this.binarizer.getLuminanceSource().rotateCounterClockwise();return new m(this.binarizer.createBinarizer(p))}rotateCounterClockwise45(){const p=this.binarizer.getLuminanceSource().rotateCounterClockwise45();return new m(this.binarizer.createBinarizer(p))}toString(){try{return this.getBlackMatrix().toString()}catch{return""}}}class g extends u{static getChecksumInstance(){return new g}}g.kind="ChecksumException";class w{constructor(p){this.source=p}getLuminanceSource(){return this.source}getWidth(){return this.source.getWidth()}getHeight(){return this.source.getHeight()}}class b{static arraycopy(p,v,x,C,E){for(;E--;)x[C++]=p[v++]}static currentTimeMillis(){return Date.now()}}class j extends u{}j.kind="IndexOutOfBoundsException";class S extends j{constructor(p=void 0,v=void 0){super(v),this.index=p,this.message=v}}S.kind="ArrayIndexOutOfBoundsException";class I{static fill(p,v){for(let x=0,C=p.length;x<C;x++)p[x]=v}static fillWithin(p,v,x,C){I.rangeCheck(p.length,v,x);for(let E=v;E<x;E++)p[E]=C}static rangeCheck(p,v,x){if(v>x)throw new f("fromIndex("+v+") > toIndex("+x+")");if(v<0)throw new S(v);if(x>p)throw new S(x)}static asList(...p){return p}static create(p,v,x){return Array.from({length:p}).map(E=>Array.from({length:v}).fill(x))}static createInt32Array(p,v,x){return Array.from({length:p}).map(E=>Int32Array.from({length:v}).fill(x))}static equals(p,v){if(!p||!v||!p.length||!v.length||p.length!==v.length)return!1;for(let x=0,C=p.length;x<C;x++)if(p[x]!==v[x])return!1;return!0}static hashCode(p){if(p===null)return 0;let v=1;for(const x of p)v=31*v+x;return v}static fillUint8Array(p,v){for(let x=0;x!==p.length;x++)p[x]=v}static copyOf(p,v){return p.slice(0,v)}static copyOfUint8Array(p,v){if(p.length<=v){const x=new Uint8Array(v);return x.set(p),x}return p.slice(0,v)}static copyOfRange(p,v,x){const C=x-v,E=new Int32Array(C);return b.arraycopy(p,v,E,0,C),E}static binarySearch(p,v,x){x===void 0&&(x=I.numberComparator);let C=0,E=p.length-1;for(;C<=E;){const A=E+C>>1,P=x(v,p[A]);if(P>0)C=A+1;else if(P<0)E=A-1;else return A}return-C-1}static numberComparator(p,v){return p-v}}class N{static numberOfTrailingZeros(p){let v;if(p===0)return 32;let x=31;return v=p<<16,v!==0&&(x-=16,p=v),v=p<<8,v!==0&&(x-=8,p=v),v=p<<4,v!==0&&(x-=4,p=v),v=p<<2,v!==0&&(x-=2,p=v),x-(p<<1>>>31)}static numberOfLeadingZeros(p){if(p===0)return 32;let v=1;return p>>>16||(v+=16,p<<=16),p>>>24||(v+=8,p<<=8),p>>>28||(v+=4,p<<=4),p>>>30||(v+=2,p<<=2),v-=p>>>31,v}static toHexString(p){return p.toString(16)}static toBinaryString(p){return String(parseInt(String(p),2))}static bitCount(p){return p=p-(p>>>1&1431655765),p=(p&858993459)+(p>>>2&858993459),p=p+(p>>>4)&252645135,p=p+(p>>>8),p=p+(p>>>16),p&63}static truncDivision(p,v){return Math.trunc(p/v)}static parseInt(p,v=void 0){return parseInt(p,v)}}N.MIN_VALUE_32_BITS=-2147483648,N.MAX_VALUE=Number.MAX_SAFE_INTEGER;class M{constructor(p,v){p===void 0?(this.size=0,this.bits=new Int32Array(1)):(this.size=p,v==null?this.bits=M.makeArray(p):this.bits=v)}getSize(){return this.size}getSizeInBytes(){return Math.floor((this.size+7)/8)}ensureCapacity(p){if(p>this.bits.length*32){const v=M.makeArray(p);b.arraycopy(this.bits,0,v,0,this.bits.length),this.bits=v}}get(p){return(this.bits[Math.floor(p/32)]&1<<(p&31))!==0}set(p){this.bits[Math.floor(p/32)]|=1<<(p&31)}flip(p){this.bits[Math.floor(p/32)]^=1<<(p&31)}getNextSet(p){const v=this.size;if(p>=v)return v;const x=this.bits;let C=Math.floor(p/32),E=x[C];E&=~((1<<(p&31))-1);const A=x.length;for(;E===0;){if(++C===A)return v;E=x[C]}const P=C*32+N.numberOfTrailingZeros(E);return P>v?v:P}getNextUnset(p){const v=this.size;if(p>=v)return v;const x=this.bits;let C=Math.floor(p/32),E=~x[C];E&=~((1<<(p&31))-1);const A=x.length;for(;E===0;){if(++C===A)return v;E=~x[C]}const P=C*32+N.numberOfTrailingZeros(E);return P>v?v:P}setBulk(p,v){this.bits[Math.floor(p/32)]=v}setRange(p,v){if(v<p||p<0||v>this.size)throw new f;if(v===p)return;v--;const x=Math.floor(p/32),C=Math.floor(v/32),E=this.bits;for(let A=x;A<=C;A++){const P=A>x?0:p&31,ee=(2<<(A<C?31:v&31))-(1<<P);E[A]|=ee}}clear(){const p=this.bits.length,v=this.bits;for(let x=0;x<p;x++)v[x]=0}isRange(p,v,x){if(v<p||p<0||v>this.size)throw new f;if(v===p)return!0;v--;const C=Math.floor(p/32),E=Math.floor(v/32),A=this.bits;for(let P=C;P<=E;P++){const H=P>C?0:p&31,ae=(2<<(P<E?31:v&31))-(1<<H)&4294967295;if((A[P]&ae)!==(x?ae:0))return!1}return!0}appendBit(p){this.ensureCapacity(this.size+1),p&&(this.bits[Math.floor(this.size/32)]|=1<<(this.size&31)),this.size++}appendBits(p,v){if(v<0||v>32)throw new f("Num bits must be between 0 and 32");this.ensureCapacity(this.size+v);for(let x=v;x>0;x--)this.appendBit((p>>x-1&1)===1)}appendBitArray(p){const v=p.size;this.ensureCapacity(this.size+v);for(let x=0;x<v;x++)this.appendBit(p.get(x))}xor(p){if(this.size!==p.size)throw new f("Sizes don't match");const v=this.bits;for(let x=0,C=v.length;x<C;x++)v[x]^=p.bits[x]}toBytes(p,v,x,C){for(let E=0;E<C;E++){let A=0;for(let P=0;P<8;P++)this.get(p)&&(A|=1<<7-P),p++;v[x+E]=A}}getBitArray(){return this.bits}reverse(){const p=new Int32Array(this.bits.length),v=Math.floor((this.size-1)/32),x=v+1,C=this.bits;for(let E=0;E<x;E++){let A=C[E];A=A>>1&1431655765|(A&1431655765)<<1,A=A>>2&858993459|(A&858993459)<<2,A=A>>4&252645135|(A&252645135)<<4,A=A>>8&16711935|(A&16711935)<<8,A=A>>16&65535|(A&65535)<<16,p[v-E]=A}if(this.size!==x*32){const E=x*32-this.size;let A=p[0]>>>E;for(let P=1;P<x;P++){const H=p[P];A|=H<<32-E,p[P-1]=A,A=H>>>E}p[x-1]=A}this.bits=p}static makeArray(p){return new Int32Array(Math.floor((p+31)/32))}equals(p){if(!(p instanceof M))return!1;const v=p;return this.size===v.size&&I.equals(this.bits,v.bits)}hashCode(){return 31*this.size+I.hashCode(this.bits)}toString(){let p="";for(let v=0,x=this.size;v<x;v++)(v&7)===0&&(p+=" "),p+=this.get(v)?"X":".";return p}clone(){return new M(this.size,this.bits.slice())}}var D;(function(ue){ue[ue.OTHER=0]="OTHER",ue[ue.PURE_BARCODE=1]="PURE_BARCODE",ue[ue.POSSIBLE_FORMATS=2]="POSSIBLE_FORMATS",ue[ue.TRY_HARDER=3]="TRY_HARDER",ue[ue.CHARACTER_SET=4]="CHARACTER_SET",ue[ue.ALLOWED_LENGTHS=5]="ALLOWED_LENGTHS",ue[ue.ASSUME_CODE_39_CHECK_DIGIT=6]="ASSUME_CODE_39_CHECK_DIGIT",ue[ue.ASSUME_GS1=7]="ASSUME_GS1",ue[ue.RETURN_CODABAR_START_END=8]="RETURN_CODABAR_START_END",ue[ue.NEED_RESULT_POINT_CALLBACK=9]="NEED_RESULT_POINT_CALLBACK",ue[ue.ALLOWED_EAN_EXTENSIONS=10]="ALLOWED_EAN_EXTENSIONS"})(D||(D={}));var O=D;class L extends u{static getFormatInstance(){return new L}}L.kind="FormatException";var B;(function(ue){ue[ue.Cp437=0]="Cp437",ue[ue.ISO8859_1=1]="ISO8859_1",ue[ue.ISO8859_2=2]="ISO8859_2",ue[ue.ISO8859_3=3]="ISO8859_3",ue[ue.ISO8859_4=4]="ISO8859_4",ue[ue.ISO8859_5=5]="ISO8859_5",ue[ue.ISO8859_6=6]="ISO8859_6",ue[ue.ISO8859_7=7]="ISO8859_7",ue[ue.ISO8859_8=8]="ISO8859_8",ue[ue.ISO8859_9=9]="ISO8859_9",ue[ue.ISO8859_10=10]="ISO8859_10",ue[ue.ISO8859_11=11]="ISO8859_11",ue[ue.ISO8859_13=12]="ISO8859_13",ue[ue.ISO8859_14=13]="ISO8859_14",ue[ue.ISO8859_15=14]="ISO8859_15",ue[ue.ISO8859_16=15]="ISO8859_16",ue[ue.SJIS=16]="SJIS",ue[ue.Cp1250=17]="Cp1250",ue[ue.Cp1251=18]="Cp1251",ue[ue.Cp1252=19]="Cp1252",ue[ue.Cp1256=20]="Cp1256",ue[ue.UnicodeBigUnmarked=21]="UnicodeBigUnmarked",ue[ue.UTF8=22]="UTF8",ue[ue.ASCII=23]="ASCII",ue[ue.Big5=24]="Big5",ue[ue.GB18030=25]="GB18030",ue[ue.EUC_KR=26]="EUC_KR"})(B||(B={}));class T{constructor(p,v,x,...C){this.valueIdentifier=p,this.name=x,typeof v=="number"?this.values=Int32Array.from([v]):this.values=v,this.otherEncodingNames=C,T.VALUE_IDENTIFIER_TO_ECI.set(p,this),T.NAME_TO_ECI.set(x,this);const E=this.values;for(let A=0,P=E.length;A!==P;A++){const H=E[A];T.VALUES_TO_ECI.set(H,this)}for(const A of C)T.NAME_TO_ECI.set(A,this)}getValueIdentifier(){return this.valueIdentifier}getName(){return this.name}getValue(){return this.values[0]}static getCharacterSetECIByValue(p){if(p<0||p>=900)throw new L("incorect value");const v=T.VALUES_TO_ECI.get(p);if(v===void 0)throw new L("incorect value");return v}static getCharacterSetECIByName(p){const v=T.NAME_TO_ECI.get(p);if(v===void 0)throw new L("incorect value");return v}equals(p){if(!(p instanceof T))return!1;const v=p;return this.getName()===v.getName()}}T.VALUE_IDENTIFIER_TO_ECI=new Map,T.VALUES_TO_ECI=new Map,T.NAME_TO_ECI=new Map,T.Cp437=new T(B.Cp437,Int32Array.from([0,2]),"Cp437"),T.ISO8859_1=new T(B.ISO8859_1,Int32Array.from([1,3]),"ISO-8859-1","ISO88591","ISO8859_1"),T.ISO8859_2=new T(B.ISO8859_2,4,"ISO-8859-2","ISO88592","ISO8859_2"),T.ISO8859_3=new T(B.ISO8859_3,5,"ISO-8859-3","ISO88593","ISO8859_3"),T.ISO8859_4=new T(B.ISO8859_4,6,"ISO-8859-4","ISO88594","ISO8859_4"),T.ISO8859_5=new T(B.ISO8859_5,7,"ISO-8859-5","ISO88595","ISO8859_5"),T.ISO8859_6=new T(B.ISO8859_6,8,"ISO-8859-6","ISO88596","ISO8859_6"),T.ISO8859_7=new T(B.ISO8859_7,9,"ISO-8859-7","ISO88597","ISO8859_7"),T.ISO8859_8=new T(B.ISO8859_8,10,"ISO-8859-8","ISO88598","ISO8859_8"),T.ISO8859_9=new T(B.ISO8859_9,11,"ISO-8859-9","ISO88599","ISO8859_9"),T.ISO8859_10=new T(B.ISO8859_10,12,"ISO-8859-10","ISO885910","ISO8859_10"),T.ISO8859_11=new T(B.ISO8859_11,13,"ISO-8859-11","ISO885911","ISO8859_11"),T.ISO8859_13=new T(B.ISO8859_13,15,"ISO-8859-13","ISO885913","ISO8859_13"),T.ISO8859_14=new T(B.ISO8859_14,16,"ISO-8859-14","ISO885914","ISO8859_14"),T.ISO8859_15=new T(B.ISO8859_15,17,"ISO-8859-15","ISO885915","ISO8859_15"),T.ISO8859_16=new T(B.ISO8859_16,18,"ISO-8859-16","ISO885916","ISO8859_16"),T.SJIS=new T(B.SJIS,20,"SJIS","Shift_JIS"),T.Cp1250=new T(B.Cp1250,21,"Cp1250","windows-1250"),T.Cp1251=new T(B.Cp1251,22,"Cp1251","windows-1251"),T.Cp1252=new T(B.Cp1252,23,"Cp1252","windows-1252"),T.Cp1256=new T(B.Cp1256,24,"Cp1256","windows-1256"),T.UnicodeBigUnmarked=new T(B.UnicodeBigUnmarked,25,"UnicodeBigUnmarked","UTF-16BE","UnicodeBig"),T.UTF8=new T(B.UTF8,26,"UTF8","UTF-8"),T.ASCII=new T(B.ASCII,Int32Array.from([27,170]),"ASCII","US-ASCII"),T.Big5=new T(B.Big5,28,"Big5"),T.GB18030=new T(B.GB18030,29,"GB18030","GB2312","EUC_CN","GBK"),T.EUC_KR=new T(B.EUC_KR,30,"EUC_KR","EUC-KR");class R extends u{}R.kind="UnsupportedOperationException";class z{static decode(p,v){const x=this.encodingName(v);return this.customDecoder?this.customDecoder(p,x):typeof TextDecoder>"u"||this.shouldDecodeOnFallback(x)?this.decodeFallback(p,x):new TextDecoder(x).decode(p)}static shouldDecodeOnFallback(p){return!z.isBrowser()&&p==="ISO-8859-1"}static encode(p,v){const x=this.encodingName(v);return this.customEncoder?this.customEncoder(p,x):typeof TextEncoder>"u"?this.encodeFallback(p):new TextEncoder().encode(p)}static isBrowser(){return typeof window<"u"&&{}.toString.call(window)==="[object Window]"}static encodingName(p){return typeof p=="string"?p:p.getName()}static encodingCharacterSet(p){return p instanceof T?p:T.getCharacterSetECIByName(p)}static decodeFallback(p,v){const x=this.encodingCharacterSet(v);if(z.isDecodeFallbackSupported(x)){let C="";for(let E=0,A=p.length;E<A;E++){let P=p[E].toString(16);P.length<2&&(P="0"+P),C+="%"+P}return decodeURIComponent(C)}if(x.equals(T.UnicodeBigUnmarked))return String.fromCharCode.apply(null,new Uint16Array(p.buffer));throw new R(`Encoding ${this.encodingName(v)} not supported by fallback.`)}static isDecodeFallbackSupported(p){return p.equals(T.UTF8)||p.equals(T.ISO8859_1)||p.equals(T.ASCII)}static encodeFallback(p){const x=btoa(unescape(encodeURIComponent(p))).split(""),C=[];for(let E=0;E<x.length;E++)C.push(x[E].charCodeAt(0));return new Uint8Array(C)}}class Y{static castAsNonUtf8Char(p,v=null){const x=v?v.getName():this.ISO88591;return z.decode(new Uint8Array([p]),x)}static guessEncoding(p,v){if(v!=null&&v.get(O.CHARACTER_SET)!==void 0)return v.get(O.CHARACTER_SET).toString();const x=p.length;let C=!0,E=!0,A=!0,P=0,H=0,ee=0,ae=0,fe=0,be=0,_e=0,He=0,Ge=0,tt=0,lt=0;const Lt=p.length>3&&p[0]===239&&p[1]===187&&p[2]===191;for(let zt=0;zt<x&&(C||E||A);zt++){const Nt=p[zt]&255;A&&(P>0?(Nt&128)===0?A=!1:P--:(Nt&128)!==0&&((Nt&64)===0?A=!1:(P++,(Nt&32)===0?H++:(P++,(Nt&16)===0?ee++:(P++,(Nt&8)===0?ae++:A=!1))))),C&&(Nt>127&&Nt<160?C=!1:Nt>159&&(Nt<192||Nt===215||Nt===247)&<++),E&&(fe>0?Nt<64||Nt===127||Nt>252?E=!1:fe--:Nt===128||Nt===160||Nt>239?E=!1:Nt>160&&Nt<224?(be++,He=0,_e++,_e>Ge&&(Ge=_e)):Nt>127?(fe++,_e=0,He++,He>tt&&(tt=He)):(_e=0,He=0))}return A&&P>0&&(A=!1),E&&fe>0&&(E=!1),A&&(Lt||H+ee+ae>0)?Y.UTF8:E&&(Y.ASSUME_SHIFT_JIS||Ge>=3||tt>=3)?Y.SHIFT_JIS:C&&E?Ge===2&&be===2||lt*10>=x?Y.SHIFT_JIS:Y.ISO88591:C?Y.ISO88591:E?Y.SHIFT_JIS:A?Y.UTF8:Y.PLATFORM_DEFAULT_ENCODING}static format(p,...v){let x=-1;function C(A,P,H,ee,ae,fe){if(A==="%%")return"%";if(v[++x]===void 0)return;A=ee?parseInt(ee.substr(1)):void 0;let be=ae?parseInt(ae.substr(1)):void 0,_e;switch(fe){case"s":_e=v[x];break;case"c":_e=v[x][0];break;case"f":_e=parseFloat(v[x]).toFixed(A);break;case"p":_e=parseFloat(v[x]).toPrecision(A);break;case"e":_e=parseFloat(v[x]).toExponential(A);break;case"x":_e=parseInt(v[x]).toString(be||16);break;case"d":_e=parseFloat(parseInt(v[x],be||10).toPrecision(A)).toFixed(0);break}_e=typeof _e=="object"?JSON.stringify(_e):(+_e).toString(be);let He=parseInt(H),Ge=H&&H[0]+""=="0"?"0":" ";for(;_e.length<He;)_e=P!==void 0?_e+Ge:Ge+_e;return _e}let E=/%(-)?(0?[0-9]+)?([.][0-9]+)?([#][0-9]+)?([scfpexd%])/g;return p.replace(E,C)}static getBytes(p,v){return z.encode(p,v)}static getCharCode(p,v=0){return p.charCodeAt(v)}static getCharAt(p){return String.fromCharCode(p)}}Y.SHIFT_JIS=T.SJIS.getName(),Y.GB2312="GB2312",Y.ISO88591=T.ISO8859_1.getName(),Y.EUC_JP="EUC_JP",Y.UTF8=T.UTF8.getName(),Y.PLATFORM_DEFAULT_ENCODING=Y.UTF8,Y.ASSUME_SHIFT_JIS=!1;class Q{constructor(p=""){this.value=p}enableDecoding(p){return this.encoding=p,this}append(p){return typeof p=="string"?this.value+=p.toString():this.encoding?this.value+=Y.castAsNonUtf8Char(p,this.encoding):this.value+=String.fromCharCode(p),this}appendChars(p,v,x){for(let C=v;v<v+x;C++)this.append(p[C]);return this}length(){return this.value.length}charAt(p){return this.value.charAt(p)}deleteCharAt(p){this.value=this.value.substr(0,p)+this.value.substring(p+1)}setCharAt(p,v){this.value=this.value.substr(0,p)+v+this.value.substr(p+1)}substring(p,v){return this.value.substring(p,v)}setLengthToZero(){this.value=""}toString(){return this.value}insert(p,v){this.value=this.value.substr(0,p)+v+this.value.substr(p+v.length)}}class W{constructor(p,v,x,C){if(this.width=p,this.height=v,this.rowSize=x,this.bits=C,v==null&&(v=p),this.height=v,p<1||v<1)throw new f("Both dimensions must be greater than 0");x==null&&(x=Math.floor((p+31)/32)),this.rowSize=x,C==null&&(this.bits=new Int32Array(this.rowSize*this.height))}static parseFromBooleanArray(p){const v=p.length,x=p[0].length,C=new W(x,v);for(let E=0;E<v;E++){const A=p[E];for(let P=0;P<x;P++)A[P]&&C.set(P,E)}return C}static parseFromString(p,v,x){if(p===null)throw new f("stringRepresentation cannot be null");const C=new Array(p.length);let E=0,A=0,P=-1,H=0,ee=0;for(;ee<p.length;)if(p.charAt(ee)===`
2349 `||p.charAt(ee)==="\r"){if(E>A){if(P===-1)P=E-A;else if(E-A!==P)throw new f("row lengths do not match");A=E,H++}ee++}else if(p.substring(ee,ee+v.length)===v)ee+=v.length,C[E]=!0,E++;else if(p.substring(ee,ee+x.length)===x)ee+=x.length,C[E]=!1,E++;else throw new f("illegal character encountered: "+p.substring(ee));if(E>A){if(P===-1)P=E-A;else if(E-A!==P)throw new f("row lengths do not match");H++}const ae=new W(P,H);for(let fe=0;fe<E;fe++)C[fe]&&ae.set(Math.floor(fe%P),Math.floor(fe/P));return ae}get(p,v){const x=v*this.rowSize+Math.floor(p/32);return(this.bits[x]>>>(p&31)&1)!==0}set(p,v){const x=v*this.rowSize+Math.floor(p/32);this.bits[x]|=1<<(p&31)&4294967295}unset(p,v){const x=v*this.rowSize+Math.floor(p/32);this.bits[x]&=~(1<<(p&31)&4294967295)}flip(p,v){const x=v*this.rowSize+Math.floor(p/32);this.bits[x]^=1<<(p&31)&4294967295}xor(p){if(this.width!==p.getWidth()||this.height!==p.getHeight()||this.rowSize!==p.getRowSize())throw new f("input matrix dimensions do not match");const v=new M(Math.floor(this.width/32)+1),x=this.rowSize,C=this.bits;for(let E=0,A=this.height;E<A;E++){const P=E*x,H=p.getRow(E,v).getBitArray();for(let ee=0;ee<x;ee++)C[P+ee]^=H[ee]}}clear(){const p=this.bits,v=p.length;for(let x=0;x<v;x++)p[x]=0}setRegion(p,v,x,C){if(v<0||p<0)throw new f("Left and top must be nonnegative");if(C<1||x<1)throw new f("Height and width must be at least 1");const E=p+x,A=v+C;if(A>this.height||E>this.width)throw new f("The region must fit inside the matrix");const P=this.rowSize,H=this.bits;for(let ee=v;ee<A;ee++){const ae=ee*P;for(let fe=p;fe<E;fe++)H[ae+Math.floor(fe/32)]|=1<<(fe&31)&4294967295}}getRow(p,v){v==null||v.getSize()<this.width?v=new M(this.width):v.clear();const x=this.rowSize,C=this.bits,E=p*x;for(let A=0;A<x;A++)v.setBulk(A*32,C[E+A]);return v}setRow(p,v){b.arraycopy(v.getBitArray(),0,this.bits,p*this.rowSize,this.rowSize)}rotate180(){const p=this.getWidth(),v=this.getHeight();let x=new M(p),C=new M(p);for(let E=0,A=Math.floor((v+1)/2);E<A;E++)x=this.getRow(E,x),C=this.getRow(v-1-E,C),x.reverse(),C.reverse(),this.setRow(E,C),this.setRow(v-1-E,x)}getEnclosingRectangle(){const p=this.width,v=this.height,x=this.rowSize,C=this.bits;let E=p,A=v,P=-1,H=-1;for(let ee=0;ee<v;ee++)for(let ae=0;ae<x;ae++){const fe=C[ee*x+ae];if(fe!==0){if(ee<A&&(A=ee),ee>H&&(H=ee),ae*32<E){let be=0;for(;(fe<<31-be&4294967295)===0;)be++;ae*32+be<E&&(E=ae*32+be)}if(ae*32+31>P){let be=31;for(;!(fe>>>be);)be--;ae*32+be>P&&(P=ae*32+be)}}}return P<E||H<A?null:Int32Array.from([E,A,P-E+1,H-A+1])}getTopLeftOnBit(){const p=this.rowSize,v=this.bits;let x=0;for(;x<v.length&&v[x]===0;)x++;if(x===v.length)return null;const C=x/p;let E=x%p*32;const A=v[x];let P=0;for(;(A<<31-P&4294967295)===0;)P++;return E+=P,Int32Array.from([E,C])}getBottomRightOnBit(){const p=this.rowSize,v=this.bits;let x=v.length-1;for(;x>=0&&v[x]===0;)x--;if(x<0)return null;const C=Math.floor(x/p);let E=Math.floor(x%p)*32;const A=v[x];let P=31;for(;!(A>>>P);)P--;return E+=P,Int32Array.from([E,C])}getWidth(){return this.width}getHeight(){return this.height}getRowSize(){return this.rowSize}equals(p){if(!(p instanceof W))return!1;const v=p;return this.width===v.width&&this.height===v.height&&this.rowSize===v.rowSize&&I.equals(this.bits,v.bits)}hashCode(){let p=this.width;return p=31*p+this.width,p=31*p+this.height,p=31*p+this.rowSize,p=31*p+I.hashCode(this.bits),p}toString(p="X ",v=" ",x=`
2350 `){return this.buildToString(p,v,x)}buildToString(p,v,x){let C=new Q;for(let E=0,A=this.height;E<A;E++){for(let P=0,H=this.width;P<H;P++)C.append(this.get(P,E)?p:v);C.append(x)}return C.toString()}clone(){return new W(this.width,this.height,this.rowSize,this.bits.slice())}}class F extends u{static getNotFoundInstance(){return new F}}F.kind="NotFoundException";class X extends w{constructor(p){super(p),this.luminances=X.EMPTY,this.buckets=new Int32Array(X.LUMINANCE_BUCKETS)}getBlackRow(p,v){const x=this.getLuminanceSource(),C=x.getWidth();v==null||v.getSize()<C?v=new M(C):v.clear(),this.initArrays(C);const E=x.getRow(p,this.luminances),A=this.buckets;for(let H=0;H<C;H++)A[(E[H]&255)>>X.LUMINANCE_SHIFT]++;const P=X.estimateBlackPoint(A);if(C<3)for(let H=0;H<C;H++)(E[H]&255)<P&&v.set(H);else{let H=E[0]&255,ee=E[1]&255;for(let ae=1;ae<C-1;ae++){const fe=E[ae+1]&255;(ee*4-H-fe)/2<P&&v.set(ae),H=ee,ee=fe}}return v}getBlackMatrix(){const p=this.getLuminanceSource(),v=p.getWidth(),x=p.getHeight(),C=new W(v,x);this.initArrays(v);const E=this.buckets;for(let H=1;H<5;H++){const ee=Math.floor(x*H/5),ae=p.getRow(ee,this.luminances),fe=Math.floor(v*4/5);for(let be=Math.floor(v/5);be<fe;be++){const _e=ae[be]&255;E[_e>>X.LUMINANCE_SHIFT]++}}const A=X.estimateBlackPoint(E),P=p.getMatrix();for(let H=0;H<x;H++){const ee=H*v;for(let ae=0;ae<v;ae++)(P[ee+ae]&255)<A&&C.set(ae,H)}return C}createBinarizer(p){return new X(p)}initArrays(p){this.luminances.length<p&&(this.luminances=new Uint8ClampedArray(p));const v=this.buckets;for(let x=0;x<X.LUMINANCE_BUCKETS;x++)v[x]=0}static estimateBlackPoint(p){const v=p.length;let x=0,C=0,E=0;for(let ae=0;ae<v;ae++)p[ae]>E&&(C=ae,E=p[ae]),p[ae]>x&&(x=p[ae]);let A=0,P=0;for(let ae=0;ae<v;ae++){const fe=ae-C,be=p[ae]*fe*fe;be>P&&(A=ae,P=be)}if(C>A){const ae=C;C=A,A=ae}if(A-C<=v/16)throw new F;let H=A-1,ee=-1;for(let ae=A-1;ae>C;ae--){const fe=ae-C,be=fe*fe*(A-ae)*(x-p[ae]);be>ee&&(H=ae,ee=be)}return H<<X.LUMINANCE_SHIFT}}X.LUMINANCE_BITS=5,X.LUMINANCE_SHIFT=8-X.LUMINANCE_BITS,X.LUMINANCE_BUCKETS=1<<X.LUMINANCE_BITS,X.EMPTY=Uint8ClampedArray.from([0]);class $ extends X{constructor(p){super(p),this.matrix=null}getBlackMatrix(){if(this.matrix!==null)return this.matrix;const p=this.getLuminanceSource(),v=p.getWidth(),x=p.getHeight();if(v>=$.MINIMUM_DIMENSION&&x>=$.MINIMUM_DIMENSION){const C=p.getMatrix();let E=v>>$.BLOCK_SIZE_POWER;(v&$.BLOCK_SIZE_MASK)!==0&&E++;let A=x>>$.BLOCK_SIZE_POWER;(x&$.BLOCK_SIZE_MASK)!==0&&A++;const P=$.calculateBlackPoints(C,E,A,v,x),H=new W(v,x);$.calculateThresholdForBlock(C,E,A,v,x,P,H),this.matrix=H}else this.matrix=super.getBlackMatrix();return this.matrix}createBinarizer(p){return new $(p)}static calculateThresholdForBlock(p,v,x,C,E,A,P){const H=E-$.BLOCK_SIZE,ee=C-$.BLOCK_SIZE;for(let ae=0;ae<x;ae++){let fe=ae<<$.BLOCK_SIZE_POWER;fe>H&&(fe=H);const be=$.cap(ae,2,x-3);for(let _e=0;_e<v;_e++){let He=_e<<$.BLOCK_SIZE_POWER;He>ee&&(He=ee);const Ge=$.cap(_e,2,v-3);let tt=0;for(let Lt=-2;Lt<=2;Lt++){const zt=A[be+Lt];tt+=zt[Ge-2]+zt[Ge-1]+zt[Ge]+zt[Ge+1]+zt[Ge+2]}const lt=tt/25;$.thresholdBlock(p,He,fe,lt,C,P)}}}static cap(p,v,x){return p<v?v:p>x?x:p}static thresholdBlock(p,v,x,C,E,A){for(let P=0,H=x*E+v;P<$.BLOCK_SIZE;P++,H+=E)for(let ee=0;ee<$.BLOCK_SIZE;ee++)(p[H+ee]&255)<=C&&A.set(v+ee,x+P)}static calculateBlackPoints(p,v,x,C,E){const A=E-$.BLOCK_SIZE,P=C-$.BLOCK_SIZE,H=new Array(x);for(let ee=0;ee<x;ee++){H[ee]=new Int32Array(v);let ae=ee<<$.BLOCK_SIZE_POWER;ae>A&&(ae=A);for(let fe=0;fe<v;fe++){let be=fe<<$.BLOCK_SIZE_POWER;be>P&&(be=P);let _e=0,He=255,Ge=0;for(let lt=0,Lt=ae*C+be;lt<$.BLOCK_SIZE;lt++,Lt+=C){for(let zt=0;zt<$.BLOCK_SIZE;zt++){const Nt=p[Lt+zt]&255;_e+=Nt,Nt<He&&(He=Nt),Nt>Ge&&(Ge=Nt)}if(Ge-He>$.MIN_DYNAMIC_RANGE)for(lt++,Lt+=C;lt<$.BLOCK_SIZE;lt++,Lt+=C)for(let zt=0;zt<$.BLOCK_SIZE;zt++)_e+=p[Lt+zt]&255}let tt=_e>>$.BLOCK_SIZE_POWER*2;if(Ge-He<=$.MIN_DYNAMIC_RANGE&&(tt=He/2,ee>0&&fe>0)){const lt=(H[ee-1][fe]+2*H[ee][fe-1]+H[ee-1][fe-1])/4;He<lt&&(tt=lt)}H[ee][fe]=tt}}return H}}$.BLOCK_SIZE_POWER=3,$.BLOCK_SIZE=1<<$.BLOCK_SIZE_POWER,$.BLOCK_SIZE_MASK=$.BLOCK_SIZE-1,$.MINIMUM_DIMENSION=$.BLOCK_SIZE*5,$.MIN_DYNAMIC_RANGE=24;class V{constructor(p,v){this.width=p,this.height=v}getWidth(){return this.width}getHeight(){return this.height}isCropSupported(){return!1}crop(p,v,x,C){throw new R("This luminance source does not support cropping.")}isRotateSupported(){return!1}rotateCounterClockwise(){throw new R("This luminance source does not support rotation by 90 degrees.")}rotateCounterClockwise45(){throw new R("This luminance source does not support rotation by 45 degrees.")}toString(){const p=new Uint8ClampedArray(this.width);let v=new Q;for(let x=0;x<this.height;x++){const C=this.getRow(x,p);for(let E=0;E<this.width;E++){const A=C[E]&255;let P;A<64?P="#":A<128?P="+":A<192?P=".":P=" ",v.append(P)}v.append(`
2351 `)}return v.toString()}}class K extends V{constructor(p){super(p.getWidth(),p.getHeight()),this.delegate=p}getRow(p,v){const x=this.delegate.getRow(p,v),C=this.getWidth();for(let E=0;E<C;E++)x[E]=255-(x[E]&255);return x}getMatrix(){const p=this.delegate.getMatrix(),v=this.getWidth()*this.getHeight(),x=new Uint8ClampedArray(v);for(let C=0;C<v;C++)x[C]=255-(p[C]&255);return x}isCropSupported(){return this.delegate.isCropSupported()}crop(p,v,x,C){return new K(this.delegate.crop(p,v,x,C))}isRotateSupported(){return this.delegate.isRotateSupported()}invert(){return this.delegate}rotateCounterClockwise(){return new K(this.delegate.rotateCounterClockwise())}rotateCounterClockwise45(){return new K(this.delegate.rotateCounterClockwise45())}}class G extends V{constructor(p){super(p.width,p.height),this.canvas=p,this.tempCanvasElement=null,this.buffer=G.makeBufferFromCanvasImageData(p)}static makeBufferFromCanvasImageData(p){const v=p.getContext("2d").getImageData(0,0,p.width,p.height);return G.toGrayscaleBuffer(v.data,p.width,p.height)}static toGrayscaleBuffer(p,v,x){const C=new Uint8ClampedArray(v*x);for(let E=0,A=0,P=p.length;E<P;E+=4,A++){let H;if(p[E+3]===0)H=255;else{const ae=p[E],fe=p[E+1],be=p[E+2];H=306*ae+601*fe+117*be+512>>10}C[A]=H}return C}getRow(p,v){if(p<0||p>=this.getHeight())throw new f("Requested row is outside the image: "+p);const x=this.getWidth(),C=p*x;return v===null?v=this.buffer.slice(C,C+x):(v.length<x&&(v=new Uint8ClampedArray(x)),v.set(this.buffer.slice(C,C+x))),v}getMatrix(){return this.buffer}isCropSupported(){return!0}crop(p,v,x,C){return super.crop(p,v,x,C),this}isRotateSupported(){return!0}rotateCounterClockwise(){return this.rotate(-90),this}rotateCounterClockwise45(){return this.rotate(-45),this}getTempCanvasElement(){if(this.tempCanvasElement===null){const p=this.canvas.ownerDocument.createElement("canvas");p.width=this.canvas.width,p.height=this.canvas.height,this.tempCanvasElement=p}return this.tempCanvasElement}rotate(p){const v=this.getTempCanvasElement(),x=v.getContext("2d"),C=p*G.DEGREE_TO_RADIANS,E=this.canvas.width,A=this.canvas.height,P=Math.ceil(Math.abs(Math.cos(C))*E+Math.abs(Math.sin(C))*A),H=Math.ceil(Math.abs(Math.sin(C))*E+Math.abs(Math.cos(C))*A);return v.width=P,v.height=H,x.translate(P/2,H/2),x.rotate(C),x.drawImage(this.canvas,E/-2,A/-2),this.buffer=G.makeBufferFromCanvasImageData(v),this}invert(){return new K(this)}}G.DEGREE_TO_RADIANS=Math.PI/180;class J{constructor(p,v,x){this.deviceId=p,this.label=v,this.kind="videoinput",this.groupId=x||void 0}toJSON(){return{kind:this.kind,groupId:this.groupId,deviceId:this.deviceId,label:this.label}}}var ne=(globalThis||e6||self||window||void 0)&&(globalThis||e6||self||window||void 0).__awaiter||function(ue,p,v,x){function C(E){return E instanceof v?E:new v(function(A){A(E)})}return new(v||(v=Promise))(function(E,A){function P(ae){try{ee(x.next(ae))}catch(fe){A(fe)}}function H(ae){try{ee(x.throw(ae))}catch(fe){A(fe)}}function ee(ae){ae.done?E(ae.value):C(ae.value).then(P,H)}ee((x=x.apply(ue,p||[])).next())})};class re{constructor(p,v=500,x){this.reader=p,this.timeBetweenScansMillis=v,this._hints=x,this._stopContinuousDecode=!1,this._stopAsyncDecode=!1,this._timeBetweenDecodingAttempts=0}get hasNavigator(){return typeof navigator<"u"}get isMediaDevicesSuported(){return this.hasNavigator&&!!navigator.mediaDevices}get canEnumerateDevices(){return!!(this.isMediaDevicesSuported&&navigator.mediaDevices.enumerateDevices)}get timeBetweenDecodingAttempts(){return this._timeBetweenDecodingAttempts}set timeBetweenDecodingAttempts(p){this._timeBetweenDecodingAttempts=p<0?0:p}set hints(p){this._hints=p||null}get hints(){return this._hints}listVideoInputDevices(){return ne(this,void 0,void 0,function*(){if(!this.hasNavigator)throw new Error("Can't enumerate devices, navigator is not present.");if(!this.canEnumerateDevices)throw new Error("Can't enumerate devices, method not supported.");const p=yield navigator.mediaDevices.enumerateDevices(),v=[];for(const x of p){const C=x.kind==="video"?"videoinput":x.kind;if(C!=="videoinput")continue;const E=x.deviceId||x.id,A=x.label||`Video device ${v.length+1}`,P=x.groupId,H={deviceId:E,label:A,kind:C,groupId:P};v.push(H)}return v})}getVideoInputDevices(){return ne(this,void 0,void 0,function*(){return(yield this.listVideoInputDevices()).map(v=>new J(v.deviceId,v.label))})}findDeviceById(p){return ne(this,void 0,void 0,function*(){const v=yield this.listVideoInputDevices();return v?v.find(x=>x.deviceId===p):null})}decodeFromInputVideoDevice(p,v){return ne(this,void 0,void 0,function*(){return yield this.decodeOnceFromVideoDevice(p,v)})}decodeOnceFromVideoDevice(p,v){return ne(this,void 0,void 0,function*(){this.reset();let x;p?x={deviceId:{exact:p}}:x={facingMode:"environment"};const C={video:x};return yield this.decodeOnceFromConstraints(C,v)})}decodeOnceFromConstraints(p,v){return ne(this,void 0,void 0,function*(){const x=yield navigator.mediaDevices.getUserMedia(p);return yield this.decodeOnceFromStream(x,v)})}decodeOnceFromStream(p,v){return ne(this,void 0,void 0,function*(){this.reset();const x=yield this.attachStreamToVideo(p,v);return yield this.decodeOnce(x)})}decodeFromInputVideoDeviceContinuously(p,v,x){return ne(this,void 0,void 0,function*(){return yield this.decodeFromVideoDevice(p,v,x)})}decodeFromVideoDevice(p,v,x){return ne(this,void 0,void 0,function*(){let C;p?C={deviceId:{exact:p}}:C={facingMode:"environment"};const E={video:C};return yield this.decodeFromConstraints(E,v,x)})}decodeFromConstraints(p,v,x){return ne(this,void 0,void 0,function*(){const C=yield navigator.mediaDevices.getUserMedia(p);return yield this.decodeFromStream(C,v,x)})}decodeFromStream(p,v,x){return ne(this,void 0,void 0,function*(){this.reset();const C=yield this.attachStreamToVideo(p,v);return yield this.decodeContinuously(C,x)})}stopAsyncDecode(){this._stopAsyncDecode=!0}stopContinuousDecode(){this._stopContinuousDecode=!0}attachStreamToVideo(p,v){return ne(this,void 0,void 0,function*(){const x=this.prepareVideoElement(v);return this.addVideoSource(x,p),this.videoElement=x,this.stream=p,yield this.playVideoOnLoadAsync(x),x})}playVideoOnLoadAsync(p){return new Promise((v,x)=>this.playVideoOnLoad(p,()=>v()))}playVideoOnLoad(p,v){this.videoEndedListener=()=>this.stopStreams(),this.videoCanPlayListener=()=>this.tryPlayVideo(p),p.addEventListener("ended",this.videoEndedListener),p.addEventListener("canplay",this.videoCanPlayListener),p.addEventListener("playing",v),this.tryPlayVideo(p)}isVideoPlaying(p){return p.currentTime>0&&!p.paused&&!p.ended&&p.readyState>2}tryPlayVideo(p){return ne(this,void 0,void 0,function*(){if(this.isVideoPlaying(p)){console.warn("Trying to play video that is already playing.");return}try{yield p.play()}catch{console.warn("It was not possible to play the video.")}})}getMediaElement(p,v){const x=document.getElementById(p);if(!x)throw new d(`element with id '${p}' not found`);if(x.nodeName.toLowerCase()!==v.toLowerCase())throw new d(`element with id '${p}' must be an ${v} element`);return x}decodeFromImage(p,v){if(!p&&!v)throw new d("either imageElement with a src set or an url must be provided");return v&&!p?this.decodeFromImageUrl(v):this.decodeFromImageElement(p)}decodeFromVideo(p,v){if(!p&&!v)throw new d("Either an element with a src set or an URL must be provided");return v&&!p?this.decodeFromVideoUrl(v):this.decodeFromVideoElement(p)}decodeFromVideoContinuously(p,v,x){if(p===void 0&&v===void 0)throw new d("Either an element with a src set or an URL must be provided");return v&&!p?this.decodeFromVideoUrlContinuously(v,x):this.decodeFromVideoElementContinuously(p,x)}decodeFromImageElement(p){if(!p)throw new d("An image element must be provided.");this.reset();const v=this.prepareImageElement(p);this.imageElement=v;let x;return this.isImageLoaded(v)?x=this.decodeOnce(v,!1,!0):x=this._decodeOnLoadImage(v),x}decodeFromVideoElement(p){const v=this._decodeFromVideoElementSetup(p);return this._decodeOnLoadVideo(v)}decodeFromVideoElementContinuously(p,v){const x=this._decodeFromVideoElementSetup(p);return this._decodeOnLoadVideoContinuously(x,v)}_decodeFromVideoElementSetup(p){if(!p)throw new d("A video element must be provided.");this.reset();const v=this.prepareVideoElement(p);return this.videoElement=v,v}decodeFromImageUrl(p){if(!p)throw new d("An URL must be provided.");this.reset();const v=this.prepareImageElement();this.imageElement=v;const x=this._decodeOnLoadImage(v);return v.src=p,x}decodeFromVideoUrl(p){if(!p)throw new d("An URL must be provided.");this.reset();const v=this.prepareVideoElement(),x=this.decodeFromVideoElement(v);return v.src=p,x}decodeFromVideoUrlContinuously(p,v){if(!p)throw new d("An URL must be provided.");this.reset();const x=this.prepareVideoElement(),C=this.decodeFromVideoElementContinuously(x,v);return x.src=p,C}_decodeOnLoadImage(p){return new Promise((v,x)=>{this.imageLoadedListener=()=>this.decodeOnce(p,!1,!0).then(v,x),p.addEventListener("load",this.imageLoadedListener)})}_decodeOnLoadVideo(p){return ne(this,void 0,void 0,function*(){return yield this.playVideoOnLoadAsync(p),yield this.decodeOnce(p)})}_decodeOnLoadVideoContinuously(p,v){return ne(this,void 0,void 0,function*(){yield this.playVideoOnLoadAsync(p),this.decodeContinuously(p,v)})}isImageLoaded(p){return!(!p.complete||p.naturalWidth===0)}prepareImageElement(p){let v;return typeof p>"u"&&(v=document.createElement("img"),v.width=200,v.height=200),typeof p=="string"&&(v=this.getMediaElement(p,"img")),p instanceof HTMLImageElement&&(v=p),v}prepareVideoElement(p){let v;return!p&&typeof document<"u"&&(v=document.createElement("video"),v.width=200,v.height=200),typeof p=="string"&&(v=this.getMediaElement(p,"video")),p instanceof HTMLVideoElement&&(v=p),v.setAttribute("autoplay","true"),v.setAttribute("muted","true"),v.setAttribute("playsinline","true"),v}decodeOnce(p,v=!0,x=!0){this._stopAsyncDecode=!1;const C=(E,A)=>{if(this._stopAsyncDecode){A(new F("Video stream has ended before any code could be detected.")),this._stopAsyncDecode=void 0;return}try{const P=this.decode(p);E(P)}catch(P){const H=v&&P instanceof F,ae=(P instanceof g||P instanceof L)&&x;if(H||ae)return setTimeout(C,this._timeBetweenDecodingAttempts,E,A);A(P)}};return new Promise((E,A)=>C(E,A))}decodeContinuously(p,v){this._stopContinuousDecode=!1;const x=()=>{if(this._stopContinuousDecode){this._stopContinuousDecode=void 0;return}try{const C=this.decode(p);v(C,null),setTimeout(x,this.timeBetweenScansMillis)}catch(C){v(null,C);const E=C instanceof g||C instanceof L,A=C instanceof F;(E||A)&&setTimeout(x,this._timeBetweenDecodingAttempts)}};x()}decode(p){const v=this.createBinaryBitmap(p);return this.decodeBitmap(v)}_isHTMLVideoElement(p){return p.videoWidth!==0}drawFrameOnCanvas(p,v,x){v||(v={sx:0,sy:0,sWidth:p.videoWidth,sHeight:p.videoHeight,dx:0,dy:0,dWidth:p.videoWidth,dHeight:p.videoHeight}),x||(x=this.captureCanvasContext),x.drawImage(p,v.sx,v.sy,v.sWidth,v.sHeight,v.dx,v.dy,v.dWidth,v.dHeight)}drawImageOnCanvas(p,v,x=this.captureCanvasContext){v||(v={sx:0,sy:0,sWidth:p.naturalWidth,sHeight:p.naturalHeight,dx:0,dy:0,dWidth:p.naturalWidth,dHeight:p.naturalHeight}),x||(x=this.captureCanvasContext),x.drawImage(p,v.sx,v.sy,v.sWidth,v.sHeight,v.dx,v.dy,v.dWidth,v.dHeight)}createBinaryBitmap(p){this.getCaptureCanvasContext(p),this._isHTMLVideoElement(p)?this.drawFrameOnCanvas(p):this.drawImageOnCanvas(p);const v=this.getCaptureCanvas(p),x=new G(v),C=new $(x);return new m(C)}getCaptureCanvasContext(p){if(!this.captureCanvasContext){const x=this.getCaptureCanvas(p).getContext("2d");this.captureCanvasContext=x}return this.captureCanvasContext}getCaptureCanvas(p){if(!this.captureCanvas){const v=this.createCaptureCanvas(p);this.captureCanvas=v}return this.captureCanvas}decodeBitmap(p){return this.reader.decode(p,this._hints)}createCaptureCanvas(p){if(typeof document>"u")return this._destroyCaptureCanvas(),null;const v=document.createElement("canvas");let x,C;return typeof p<"u"&&(p instanceof HTMLVideoElement?(x=p.videoWidth,C=p.videoHeight):p instanceof HTMLImageElement&&(x=p.naturalWidth||p.width,C=p.naturalHeight||p.height)),v.style.width=x+"px",v.style.height=C+"px",v.width=x,v.height=C,v}stopStreams(){this.stream&&(this.stream.getVideoTracks().forEach(p=>p.stop()),this.stream=void 0),this._stopAsyncDecode===!1&&this.stopAsyncDecode(),this._stopContinuousDecode===!1&&this.stopContinuousDecode()}reset(){this.stopStreams(),this._destroyVideoElement(),this._destroyImageElement(),this._destroyCaptureCanvas()}_destroyVideoElement(){this.videoElement&&(typeof this.videoEndedListener<"u"&&this.videoElement.removeEventListener("ended",this.videoEndedListener),typeof this.videoPlayingEventListener<"u"&&this.videoElement.removeEventListener("playing",this.videoPlayingEventListener),typeof this.videoCanPlayListener<"u"&&this.videoElement.removeEventListener("loadedmetadata",this.videoCanPlayListener),this.cleanVideoSource(this.videoElement),this.videoElement=void 0)}_destroyImageElement(){this.imageElement&&(this.imageLoadedListener!==void 0&&this.imageElement.removeEventListener("load",this.imageLoadedListener),this.imageElement.src=void 0,this.imageElement.removeAttribute("src"),this.imageElement=void 0)}_destroyCaptureCanvas(){this.captureCanvasContext=void 0,this.captureCanvas=void 0}addVideoSource(p,v){try{p.srcObject=v}catch{p.src=URL.createObjectURL(v)}}cleanVideoSource(p){try{p.srcObject=null}catch{p.src=""}this.videoElement.removeAttribute("src")}}class de{constructor(p,v,x=v==null?0:8*v.length,C,E,A=b.currentTimeMillis()){this.text=p,this.rawBytes=v,this.numBits=x,this.resultPoints=C,this.format=E,this.timestamp=A,this.text=p,this.rawBytes=v,x==null?this.numBits=v==null?0:8*v.length:this.numBits=x,this.resultPoints=C,this.format=E,this.resultMetadata=null,A==null?this.timestamp=b.currentTimeMillis():this.timestamp=A}getText(){return this.text}getRawBytes(){return this.rawBytes}getNumBits(){return this.numBits}getResultPoints(){return this.resultPoints}getBarcodeFormat(){return this.format}getResultMetadata(){return this.resultMetadata}putMetadata(p,v){this.resultMetadata===null&&(this.resultMetadata=new Map),this.resultMetadata.set(p,v)}putAllMetadata(p){p!==null&&(this.resultMetadata===null?this.resultMetadata=p:this.resultMetadata=new Map(p))}addResultPoints(p){const v=this.resultPoints;if(v===null)this.resultPoints=p;else if(p!==null&&p.length>0){const x=new Array(v.length+p.length);b.arraycopy(v,0,x,0,v.length),b.arraycopy(p,0,x,v.length,p.length),this.resultPoints=x}}getTimestamp(){return this.timestamp}toString(){return this.text}}var Ne;(function(ue){ue[ue.AZTEC=0]="AZTEC",ue[ue.CODABAR=1]="CODABAR",ue[ue.CODE_39=2]="CODE_39",ue[ue.CODE_93=3]="CODE_93",ue[ue.CODE_128=4]="CODE_128",ue[ue.DATA_MATRIX=5]="DATA_MATRIX",ue[ue.EAN_8=6]="EAN_8",ue[ue.EAN_13=7]="EAN_13",ue[ue.ITF=8]="ITF",ue[ue.MAXICODE=9]="MAXICODE",ue[ue.PDF_417=10]="PDF_417",ue[ue.QR_CODE=11]="QR_CODE",ue[ue.RSS_14=12]="RSS_14",ue[ue.RSS_EXPANDED=13]="RSS_EXPANDED",ue[ue.UPC_A=14]="UPC_A",ue[ue.UPC_E=15]="UPC_E",ue[ue.UPC_EAN_EXTENSION=16]="UPC_EAN_EXTENSION"})(Ne||(Ne={}));var ve=Ne,xe;(function(ue){ue[ue.OTHER=0]="OTHER",ue[ue.ORIENTATION=1]="ORIENTATION",ue[ue.BYTE_SEGMENTS=2]="BYTE_SEGMENTS",ue[ue.ERROR_CORRECTION_LEVEL=3]="ERROR_CORRECTION_LEVEL",ue[ue.ISSUE_NUMBER=4]="ISSUE_NUMBER",ue[ue.SUGGESTED_PRICE=5]="SUGGESTED_PRICE",ue[ue.POSSIBLE_COUNTRY=6]="POSSIBLE_COUNTRY",ue[ue.UPC_EAN_EXTENSION=7]="UPC_EAN_EXTENSION",ue[ue.PDF417_EXTRA_METADATA=8]="PDF417_EXTRA_METADATA",ue[ue.STRUCTURED_APPEND_SEQUENCE=9]="STRUCTURED_APPEND_SEQUENCE",ue[ue.STRUCTURED_APPEND_PARITY=10]="STRUCTURED_APPEND_PARITY"})(xe||(xe={}));var ce=xe;class pe{constructor(p,v,x,C,E=-1,A=-1){this.rawBytes=p,this.text=v,this.byteSegments=x,this.ecLevel=C,this.structuredAppendSequenceNumber=E,this.structuredAppendParity=A,this.numBits=p==null?0:8*p.length}getRawBytes(){return this.rawBytes}getNumBits(){return this.numBits}setNumBits(p){this.numBits=p}getText(){return this.text}getByteSegments(){return this.byteSegments}getECLevel(){return this.ecLevel}getErrorsCorrected(){return this.errorsCorrected}setErrorsCorrected(p){this.errorsCorrected=p}getErasures(){return this.erasures}setErasures(p){this.erasures=p}getOther(){return this.other}setOther(p){this.other=p}hasStructuredAppend(){return this.structuredAppendParity>=0&&this.structuredAppendSequenceNumber>=0}getStructuredAppendParity(){return this.structuredAppendParity}getStructuredAppendSequenceNumber(){return this.structuredAppendSequenceNumber}}class me{exp(p){return this.expTable[p]}log(p){if(p===0)throw new f;return this.logTable[p]}static addOrSubtract(p,v){return p^v}}class ke{constructor(p,v){if(v.length===0)throw new f;this.field=p;const x=v.length;if(x>1&&v[0]===0){let C=1;for(;C<x&&v[C]===0;)C++;C===x?this.coefficients=Int32Array.from([0]):(this.coefficients=new Int32Array(x-C),b.arraycopy(v,C,this.coefficients,0,this.coefficients.length))}else this.coefficients=v}getCoefficients(){return this.coefficients}getDegree(){return this.coefficients.length-1}isZero(){return this.coefficients[0]===0}getCoefficient(p){return this.coefficients[this.coefficients.length-1-p]}evaluateAt(p){if(p===0)return this.getCoefficient(0);const v=this.coefficients;let x;if(p===1){x=0;for(let A=0,P=v.length;A!==P;A++){const H=v[A];x=me.addOrSubtract(x,H)}return x}x=v[0];const C=v.length,E=this.field;for(let A=1;A<C;A++)x=me.addOrSubtract(E.multiply(p,x),v[A]);return x}addOrSubtract(p){if(!this.field.equals(p.field))throw new f("GenericGFPolys do not have same GenericGF field");if(this.isZero())return p;if(p.isZero())return this;let v=this.coefficients,x=p.coefficients;if(v.length>x.length){const A=v;v=x,x=A}let C=new Int32Array(x.length);const E=x.length-v.length;b.arraycopy(x,0,C,0,E);for(let A=E;A<x.length;A++)C[A]=me.addOrSubtract(v[A-E],x[A]);return new ke(this.field,C)}multiply(p){if(!this.field.equals(p.field))throw new f("GenericGFPolys do not have same GenericGF field");if(this.isZero()||p.isZero())return this.field.getZero();const v=this.coefficients,x=v.length,C=p.coefficients,E=C.length,A=new Int32Array(x+E-1),P=this.field;for(let H=0;H<x;H++){const ee=v[H];for(let ae=0;ae<E;ae++)A[H+ae]=me.addOrSubtract(A[H+ae],P.multiply(ee,C[ae]))}return new ke(P,A)}multiplyScalar(p){if(p===0)return this.field.getZero();if(p===1)return this;const v=this.coefficients.length,x=this.field,C=new Int32Array(v),E=this.coefficients;for(let A=0;A<v;A++)C[A]=x.multiply(E[A],p);return new ke(x,C)}multiplyByMonomial(p,v){if(p<0)throw new f;if(v===0)return this.field.getZero();const x=this.coefficients,C=x.length,E=new Int32Array(C+p),A=this.field;for(let P=0;P<C;P++)E[P]=A.multiply(x[P],v);return new ke(A,E)}divide(p){if(!this.field.equals(p.field))throw new f("GenericGFPolys do not have same GenericGF field");if(p.isZero())throw new f("Divide by 0");const v=this.field;let x=v.getZero(),C=this;const E=p.getCoefficient(p.getDegree()),A=v.inverse(E);for(;C.getDegree()>=p.getDegree()&&!C.isZero();){const P=C.getDegree()-p.getDegree(),H=v.multiply(C.getCoefficient(C.getDegree()),A),ee=p.multiplyByMonomial(P,H),ae=v.buildMonomial(P,H);x=x.addOrSubtract(ae),C=C.addOrSubtract(ee)}return[x,C]}toString(){let p="";for(let v=this.getDegree();v>=0;v--){let x=this.getCoefficient(v);if(x!==0){if(x<0?(p+=" - ",x=-x):p.length>0&&(p+=" + "),v===0||x!==1){const C=this.field.log(x);C===0?p+="1":C===1?p+="a":(p+="a^",p+=C)}v!==0&&(v===1?p+="x":(p+="x^",p+=v))}}return p}}class le extends u{}le.kind="ArithmeticException";class he extends me{constructor(p,v,x){super(),this.primitive=p,this.size=v,this.generatorBase=x;const C=new Int32Array(v);let E=1;for(let P=0;P<v;P++)C[P]=E,E*=2,E>=v&&(E^=p,E&=v-1);this.expTable=C;const A=new Int32Array(v);for(let P=0;P<v-1;P++)A[C[P]]=P;this.logTable=A,this.zero=new ke(this,Int32Array.from([0])),this.one=new ke(this,Int32Array.from([1]))}getZero(){return this.zero}getOne(){return this.one}buildMonomial(p,v){if(p<0)throw new f;if(v===0)return this.zero;const x=new Int32Array(p+1);return x[0]=v,new ke(this,x)}inverse(p){if(p===0)throw new le;return this.expTable[this.size-this.logTable[p]-1]}multiply(p,v){return p===0||v===0?0:this.expTable[(this.logTable[p]+this.logTable[v])%(this.size-1)]}getSize(){return this.size}getGeneratorBase(){return this.generatorBase}toString(){return"GF(0x"+N.toHexString(this.primitive)+","+this.size+")"}equals(p){return p===this}}he.AZTEC_DATA_12=new he(4201,4096,1),he.AZTEC_DATA_10=new he(1033,1024,1),he.AZTEC_DATA_6=new he(67,64,1),he.AZTEC_PARAM=new he(19,16,1),he.QR_CODE_FIELD_256=new he(285,256,0),he.DATA_MATRIX_FIELD_256=new he(301,256,1),he.AZTEC_DATA_8=he.DATA_MATRIX_FIELD_256,he.MAXICODE_FIELD_64=he.AZTEC_DATA_6;class we extends u{}we.kind="ReedSolomonException";class Ae extends u{}Ae.kind="IllegalStateException";class Ve{constructor(p){this.field=p}decode(p,v){const x=this.field,C=new ke(x,p),E=new Int32Array(v);let A=!0;for(let _e=0;_e<v;_e++){const He=C.evaluateAt(x.exp(_e+x.getGeneratorBase()));E[E.length-1-_e]=He,He!==0&&(A=!1)}if(A)return;const P=new ke(x,E),H=this.runEuclideanAlgorithm(x.buildMonomial(v,1),P,v),ee=H[0],ae=H[1],fe=this.findErrorLocations(ee),be=this.findErrorMagnitudes(ae,fe);for(let _e=0;_e<fe.length;_e++){const He=p.length-1-x.log(fe[_e]);if(He<0)throw new we("Bad error location");p[He]=he.addOrSubtract(p[He],be[_e])}}runEuclideanAlgorithm(p,v,x){if(p.getDegree()<v.getDegree()){const _e=p;p=v,v=_e}const C=this.field;let E=p,A=v,P=C.getZero(),H=C.getOne();for(;A.getDegree()>=(x/2|0);){let _e=E,He=P;if(E=A,P=H,E.isZero())throw new we("r_{i-1} was zero");A=_e;let Ge=C.getZero();const tt=E.getCoefficient(E.getDegree()),lt=C.inverse(tt);for(;A.getDegree()>=E.getDegree()&&!A.isZero();){const Lt=A.getDegree()-E.getDegree(),zt=C.multiply(A.getCoefficient(A.getDegree()),lt);Ge=Ge.addOrSubtract(C.buildMonomial(Lt,zt)),A=A.addOrSubtract(E.multiplyByMonomial(Lt,zt))}if(H=Ge.multiply(P).addOrSubtract(He),A.getDegree()>=E.getDegree())throw new Ae("Division algorithm failed to reduce polynomial?")}const ee=H.getCoefficient(0);if(ee===0)throw new we("sigmaTilde(0) was zero");const ae=C.inverse(ee),fe=H.multiplyScalar(ae),be=A.multiplyScalar(ae);return[fe,be]}findErrorLocations(p){const v=p.getDegree();if(v===1)return Int32Array.from([p.getCoefficient(1)]);const x=new Int32Array(v);let C=0;const E=this.field;for(let A=1;A<E.getSize()&&C<v;A++)p.evaluateAt(A)===0&&(x[C]=E.inverse(A),C++);if(C!==v)throw new we("Error locator degree does not match number of roots");return x}findErrorMagnitudes(p,v){const x=v.length,C=new Int32Array(x),E=this.field;for(let A=0;A<x;A++){const P=E.inverse(v[A]);let H=1;for(let ee=0;ee<x;ee++)if(A!==ee){const ae=E.multiply(v[ee],P),fe=(ae&1)===0?ae|1:ae&-2;H=E.multiply(H,fe)}C[A]=E.multiply(p.evaluateAt(P),E.inverse(H)),E.getGeneratorBase()!==0&&(C[A]=E.multiply(C[A],P))}return C}}var Ze;(function(ue){ue[ue.UPPER=0]="UPPER",ue[ue.LOWER=1]="LOWER",ue[ue.MIXED=2]="MIXED",ue[ue.DIGIT=3]="DIGIT",ue[ue.PUNCT=4]="PUNCT",ue[ue.BINARY=5]="BINARY"})(Ze||(Ze={}));class nt{decode(p){this.ddata=p;let v=p.getBits(),x=this.extractBits(v),C=this.correctBits(x),E=nt.convertBoolArrayToByteArray(C),A=nt.getEncodedData(C),P=new pe(E,A,null,null);return P.setNumBits(C.length),P}static highLevelDecode(p){return this.getEncodedData(p)}static getEncodedData(p){let v=p.length,x=Ze.UPPER,C=Ze.UPPER,E="",A=0;for(;A<v;)if(C===Ze.BINARY){if(v-A<5)break;let P=nt.readCode(p,A,5);if(A+=5,P===0){if(v-A<11)break;P=nt.readCode(p,A,11)+31,A+=11}for(let H=0;H<P;H++){if(v-A<8){A=v;break}const ee=nt.readCode(p,A,8);E+=Y.castAsNonUtf8Char(ee),A+=8}C=x}else{let P=C===Ze.DIGIT?4:5;if(v-A<P)break;let H=nt.readCode(p,A,P);A+=P;let ee=nt.getCharacter(C,H);ee.startsWith("CTRL_")?(x=C,C=nt.getTable(ee.charAt(5)),ee.charAt(6)==="L"&&(x=C)):(E+=ee,C=x)}return E}static getTable(p){switch(p){case"L":return Ze.LOWER;case"P":return Ze.PUNCT;case"M":return Ze.MIXED;case"D":return Ze.DIGIT;case"B":return Ze.BINARY;case"U":default:return Ze.UPPER}}static getCharacter(p,v){switch(p){case Ze.UPPER:return nt.UPPER_TABLE[v];case Ze.LOWER:return nt.LOWER_TABLE[v];case Ze.MIXED:return nt.MIXED_TABLE[v];case Ze.PUNCT:return nt.PUNCT_TABLE[v];case Ze.DIGIT:return nt.DIGIT_TABLE[v];default:throw new Ae("Bad table")}}correctBits(p){let v,x;this.ddata.getNbLayers()<=2?(x=6,v=he.AZTEC_DATA_6):this.ddata.getNbLayers()<=8?(x=8,v=he.AZTEC_DATA_8):this.ddata.getNbLayers()<=22?(x=10,v=he.AZTEC_DATA_10):(x=12,v=he.AZTEC_DATA_12);let C=this.ddata.getNbDatablocks(),E=p.length/x;if(E<C)throw new L;let A=p.length%x,P=new Int32Array(E);for(let be=0;be<E;be++,A+=x)P[be]=nt.readCode(p,A,x);try{new Ve(v).decode(P,E-C)}catch(be){throw new L(be)}let H=(1<<x)-1,ee=0;for(let be=0;be<C;be++){let _e=P[be];if(_e===0||_e===H)throw new L;(_e===1||_e===H-1)&&ee++}let ae=new Array(C*x-ee),fe=0;for(let be=0;be<C;be++){let _e=P[be];if(_e===1||_e===H-1)ae.fill(_e>1,fe,fe+x-1),fe+=x-1;else for(let He=x-1;He>=0;--He)ae[fe++]=(_e&1<<He)!==0}return ae}extractBits(p){let v=this.ddata.isCompact(),x=this.ddata.getNbLayers(),C=(v?11:14)+x*4,E=new Int32Array(C),A=new Array(this.totalBitsInLayer(x,v));if(v)for(let P=0;P<E.length;P++)E[P]=P;else{let P=C+1+2*N.truncDivision(N.truncDivision(C,2)-1,15),H=C/2,ee=N.truncDivision(P,2);for(let ae=0;ae<H;ae++){let fe=ae+N.truncDivision(ae,15);E[H-ae-1]=ee-fe-1,E[H+ae]=ee+fe+1}}for(let P=0,H=0;P<x;P++){let ee=(x-P)*4+(v?9:12),ae=P*2,fe=C-1-ae;for(let be=0;be<ee;be++){let _e=be*2;for(let He=0;He<2;He++)A[H+_e+He]=p.get(E[ae+He],E[ae+be]),A[H+2*ee+_e+He]=p.get(E[ae+be],E[fe-He]),A[H+4*ee+_e+He]=p.get(E[fe-He],E[fe-be]),A[H+6*ee+_e+He]=p.get(E[fe-be],E[ae+He])}H+=ee*8}return A}static readCode(p,v,x){let C=0;for(let E=v;E<v+x;E++)C<<=1,p[E]&&(C|=1);return C}static readByte(p,v){let x=p.length-v;return x>=8?nt.readCode(p,v,8):nt.readCode(p,v,x)<<8-x}static convertBoolArrayToByteArray(p){let v=new Uint8Array((p.length+7)/8);for(let x=0;x<v.length;x++)v[x]=nt.readByte(p,8*x);return v}totalBitsInLayer(p,v){return((v?88:112)+16*p)*p}}nt.UPPER_TABLE=["CTRL_PS"," ","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","CTRL_LL","CTRL_ML","CTRL_DL","CTRL_BS"],nt.LOWER_TABLE=["CTRL_PS"," ","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","CTRL_US","CTRL_ML","CTRL_DL","CTRL_BS"],nt.MIXED_TABLE=["CTRL_PS"," ","\\1","\\2","\\3","\\4","\\5","\\6","\\7","\b"," ",`
2352 `,"\\13","\f","\r","\\33","\\34","\\35","\\36","\\37","@","\\","^","_","`","|","~","\\177","CTRL_LL","CTRL_UL","CTRL_PL","CTRL_BS"],nt.PUNCT_TABLE=["","\r",`\r
2353 `,". ",", ",": ","!",'"',"#","$","%","&","'","(",")","*","+",",","-",".","/",":",";","<","=",">","?","[","]","{","}","CTRL_UL"],nt.DIGIT_TABLE=["CTRL_PS"," ","0","1","2","3","4","5","6","7","8","9",",",".","CTRL_UL","CTRL_US"];class $e{constructor(){}static round(p){return p===NaN?0:p<=Number.MIN_SAFE_INTEGER?Number.MIN_SAFE_INTEGER:p>=Number.MAX_SAFE_INTEGER?Number.MAX_SAFE_INTEGER:p+(p<0?-.5:.5)|0}static distance(p,v,x,C){const E=p-x,A=v-C;return Math.sqrt(E*E+A*A)}static sum(p){let v=0;for(let x=0,C=p.length;x!==C;x++){const E=p[x];v+=E}return v}}class Ke{static floatToIntBits(p){return p}}Ke.MAX_VALUE=Number.MAX_SAFE_INTEGER;class Me{constructor(p,v){this.x=p,this.y=v}getX(){return this.x}getY(){return this.y}equals(p){if(p instanceof Me){const v=p;return this.x===v.x&&this.y===v.y}return!1}hashCode(){return 31*Ke.floatToIntBits(this.x)+Ke.floatToIntBits(this.y)}toString(){return"("+this.x+","+this.y+")"}static orderBestPatterns(p){const v=this.distance(p[0],p[1]),x=this.distance(p[1],p[2]),C=this.distance(p[0],p[2]);let E,A,P;if(x>=v&&x>=C?(A=p[0],E=p[1],P=p[2]):C>=x&&C>=v?(A=p[1],E=p[0],P=p[2]):(A=p[2],E=p[0],P=p[1]),this.crossProductZ(E,A,P)<0){const H=E;E=P,P=H}p[0]=E,p[1]=A,p[2]=P}static distance(p,v){return $e.distance(p.x,p.y,v.x,v.y)}static crossProductZ(p,v,x){const C=v.x,E=v.y;return(x.x-C)*(p.y-E)-(x.y-E)*(p.x-C)}}class et{constructor(p,v){this.bits=p,this.points=v}getBits(){return this.bits}getPoints(){return this.points}}class pt extends et{constructor(p,v,x,C,E){super(p,v),this.compact=x,this.nbDatablocks=C,this.nbLayers=E}getNbLayers(){return this.nbLayers}getNbDatablocks(){return this.nbDatablocks}isCompact(){return this.compact}}class ht{constructor(p,v,x,C){this.image=p,this.height=p.getHeight(),this.width=p.getWidth(),v==null&&(v=ht.INIT_SIZE),x==null&&(x=p.getWidth()/2|0),C==null&&(C=p.getHeight()/2|0);const E=v/2|0;if(this.leftInit=x-E,this.rightInit=x+E,this.upInit=C-E,this.downInit=C+E,this.upInit<0||this.leftInit<0||this.downInit>=this.height||this.rightInit>=this.width)throw new F}detect(){let p=this.leftInit,v=this.rightInit,x=this.upInit,C=this.downInit,E=!1,A=!0,P=!1,H=!1,ee=!1,ae=!1,fe=!1;const be=this.width,_e=this.height;for(;A;){A=!1;let He=!0;for(;(He||!H)&&v<be;)He=this.containsBlackPoint(x,C,v,!1),He?(v++,A=!0,H=!0):H||v++;if(v>=be){E=!0;break}let Ge=!0;for(;(Ge||!ee)&&C<_e;)Ge=this.containsBlackPoint(p,v,C,!0),Ge?(C++,A=!0,ee=!0):ee||C++;if(C>=_e){E=!0;break}let tt=!0;for(;(tt||!ae)&&p>=0;)tt=this.containsBlackPoint(x,C,p,!1),tt?(p--,A=!0,ae=!0):ae||p--;if(p<0){E=!0;break}let lt=!0;for(;(lt||!fe)&&x>=0;)lt=this.containsBlackPoint(p,v,x,!0),lt?(x--,A=!0,fe=!0):fe||x--;if(x<0){E=!0;break}A&&(P=!0)}if(!E&&P){const He=v-p;let Ge=null;for(let zt=1;Ge===null&&zt<He;zt++)Ge=this.getBlackPointOnSegment(p,C-zt,p+zt,C);if(Ge==null)throw new F;let tt=null;for(let zt=1;tt===null&&zt<He;zt++)tt=this.getBlackPointOnSegment(p,x+zt,p+zt,x);if(tt==null)throw new F;let lt=null;for(let zt=1;lt===null&&zt<He;zt++)lt=this.getBlackPointOnSegment(v,x+zt,v-zt,x);if(lt==null)throw new F;let Lt=null;for(let zt=1;Lt===null&&zt<He;zt++)Lt=this.getBlackPointOnSegment(v,C-zt,v-zt,C);if(Lt==null)throw new F;return this.centerEdges(Lt,Ge,lt,tt)}else throw new F}getBlackPointOnSegment(p,v,x,C){const E=$e.round($e.distance(p,v,x,C)),A=(x-p)/E,P=(C-v)/E,H=this.image;for(let ee=0;ee<E;ee++){const ae=$e.round(p+ee*A),fe=$e.round(v+ee*P);if(H.get(ae,fe))return new Me(ae,fe)}return null}centerEdges(p,v,x,C){const E=p.getX(),A=p.getY(),P=v.getX(),H=v.getY(),ee=x.getX(),ae=x.getY(),fe=C.getX(),be=C.getY(),_e=ht.CORR;return E<this.width/2?[new Me(fe-_e,be+_e),new Me(P+_e,H+_e),new Me(ee-_e,ae-_e),new Me(E+_e,A-_e)]:[new Me(fe+_e,be+_e),new Me(P+_e,H-_e),new Me(ee-_e,ae+_e),new Me(E-_e,A-_e)]}containsBlackPoint(p,v,x,C){const E=this.image;if(C){for(let A=p;A<=v;A++)if(E.get(A,x))return!0}else for(let A=p;A<=v;A++)if(E.get(x,A))return!0;return!1}}ht.INIT_SIZE=10,ht.CORR=1;class st{static checkAndNudgePoints(p,v){const x=p.getWidth(),C=p.getHeight();let E=!0;for(let A=0;A<v.length&&E;A+=2){const P=Math.floor(v[A]),H=Math.floor(v[A+1]);if(P<-1||P>x||H<-1||H>C)throw new F;E=!1,P===-1?(v[A]=0,E=!0):P===x&&(v[A]=x-1,E=!0),H===-1?(v[A+1]=0,E=!0):H===C&&(v[A+1]=C-1,E=!0)}E=!0;for(let A=v.length-2;A>=0&&E;A-=2){const P=Math.floor(v[A]),H=Math.floor(v[A+1]);if(P<-1||P>x||H<-1||H>C)throw new F;E=!1,P===-1?(v[A]=0,E=!0):P===x&&(v[A]=x-1,E=!0),H===-1?(v[A+1]=0,E=!0):H===C&&(v[A+1]=C-1,E=!0)}}}class De{constructor(p,v,x,C,E,A,P,H,ee){this.a11=p,this.a21=v,this.a31=x,this.a12=C,this.a22=E,this.a32=A,this.a13=P,this.a23=H,this.a33=ee}static quadrilateralToQuadrilateral(p,v,x,C,E,A,P,H,ee,ae,fe,be,_e,He,Ge,tt){const lt=De.quadrilateralToSquare(p,v,x,C,E,A,P,H);return De.squareToQuadrilateral(ee,ae,fe,be,_e,He,Ge,tt).times(lt)}transformPoints(p){const v=p.length,x=this.a11,C=this.a12,E=this.a13,A=this.a21,P=this.a22,H=this.a23,ee=this.a31,ae=this.a32,fe=this.a33;for(let be=0;be<v;be+=2){const _e=p[be],He=p[be+1],Ge=E*_e+H*He+fe;p[be]=(x*_e+A*He+ee)/Ge,p[be+1]=(C*_e+P*He+ae)/Ge}}transformPointsWithValues(p,v){const x=this.a11,C=this.a12,E=this.a13,A=this.a21,P=this.a22,H=this.a23,ee=this.a31,ae=this.a32,fe=this.a33,be=p.length;for(let _e=0;_e<be;_e++){const He=p[_e],Ge=v[_e],tt=E*He+H*Ge+fe;p[_e]=(x*He+A*Ge+ee)/tt,v[_e]=(C*He+P*Ge+ae)/tt}}static squareToQuadrilateral(p,v,x,C,E,A,P,H){const ee=p-x+E-P,ae=v-C+A-H;if(ee===0&&ae===0)return new De(x-p,E-x,p,C-v,A-C,v,0,0,1);{const fe=x-E,be=P-E,_e=C-A,He=H-A,Ge=fe*He-be*_e,tt=(ee*He-be*ae)/Ge,lt=(fe*ae-ee*_e)/Ge;return new De(x-p+tt*x,P-p+lt*P,p,C-v+tt*C,H-v+lt*H,v,tt,lt,1)}}static quadrilateralToSquare(p,v,x,C,E,A,P,H){return De.squareToQuadrilateral(p,v,x,C,E,A,P,H).buildAdjoint()}buildAdjoint(){return new De(this.a22*this.a33-this.a23*this.a32,this.a23*this.a31-this.a21*this.a33,this.a21*this.a32-this.a22*this.a31,this.a13*this.a32-this.a12*this.a33,this.a11*this.a33-this.a13*this.a31,this.a12*this.a31-this.a11*this.a32,this.a12*this.a23-this.a13*this.a22,this.a13*this.a21-this.a11*this.a23,this.a11*this.a22-this.a12*this.a21)}times(p){return new De(this.a11*p.a11+this.a21*p.a12+this.a31*p.a13,this.a11*p.a21+this.a21*p.a22+this.a31*p.a23,this.a11*p.a31+this.a21*p.a32+this.a31*p.a33,this.a12*p.a11+this.a22*p.a12+this.a32*p.a13,this.a12*p.a21+this.a22*p.a22+this.a32*p.a23,this.a12*p.a31+this.a22*p.a32+this.a32*p.a33,this.a13*p.a11+this.a23*p.a12+this.a33*p.a13,this.a13*p.a21+this.a23*p.a22+this.a33*p.a23,this.a13*p.a31+this.a23*p.a32+this.a33*p.a33)}}class se extends st{sampleGrid(p,v,x,C,E,A,P,H,ee,ae,fe,be,_e,He,Ge,tt,lt,Lt,zt){const Nt=De.quadrilateralToQuadrilateral(C,E,A,P,H,ee,ae,fe,be,_e,He,Ge,tt,lt,Lt,zt);return this.sampleGridWithTransform(p,v,x,Nt)}sampleGridWithTransform(p,v,x,C){if(v<=0||x<=0)throw new F;const E=new W(v,x),A=new Float32Array(2*v);for(let P=0;P<x;P++){const H=A.length,ee=P+.5;for(let ae=0;ae<H;ae+=2)A[ae]=ae/2+.5,A[ae+1]=ee;C.transformPoints(A),st.checkAndNudgePoints(p,A);try{for(let ae=0;ae<H;ae+=2)p.get(Math.floor(A[ae]),Math.floor(A[ae+1]))&&E.set(ae/2,P)}catch{throw new F}}return E}}class q{static setGridSampler(p){q.gridSampler=p}static getInstance(){return q.gridSampler}}q.gridSampler=new se;class Z{constructor(p,v){this.x=p,this.y=v}toResultPoint(){return new Me(this.getX(),this.getY())}getX(){return this.x}getY(){return this.y}}class ie{constructor(p){this.EXPECTED_CORNER_BITS=new Int32Array([3808,476,2107,1799]),this.image=p}detect(){return this.detectMirror(!1)}detectMirror(p){let v=this.getMatrixCenter(),x=this.getBullsEyeCorners(v);if(p){let A=x[0];x[0]=x[2],x[2]=A}this.extractParameters(x);let C=this.sampleGrid(this.image,x[this.shift%4],x[(this.shift+1)%4],x[(this.shift+2)%4],x[(this.shift+3)%4]),E=this.getMatrixCornerPoints(x);return new pt(C,E,this.compact,this.nbDataBlocks,this.nbLayers)}extractParameters(p){if(!this.isValidPoint(p[0])||!this.isValidPoint(p[1])||!this.isValidPoint(p[2])||!this.isValidPoint(p[3]))throw new F;let v=2*this.nbCenterLayers,x=new Int32Array([this.sampleLine(p[0],p[1],v),this.sampleLine(p[1],p[2],v),this.sampleLine(p[2],p[3],v),this.sampleLine(p[3],p[0],v)]);this.shift=this.getRotation(x,v);let C=0;for(let A=0;A<4;A++){let P=x[(this.shift+A)%4];this.compact?(C<<=7,C+=P>>1&127):(C<<=10,C+=(P>>2&992)+(P>>1&31))}let E=this.getCorrectedParameterData(C,this.compact);this.compact?(this.nbLayers=(E>>6)+1,this.nbDataBlocks=(E&63)+1):(this.nbLayers=(E>>11)+1,this.nbDataBlocks=(E&2047)+1)}getRotation(p,v){let x=0;p.forEach((C,E,A)=>{let P=(C>>v-2<<1)+(C&1);x=(x<<3)+P}),x=((x&1)<<11)+(x>>1);for(let C=0;C<4;C++)if(N.bitCount(x^this.EXPECTED_CORNER_BITS[C])<=2)return C;throw new F}getCorrectedParameterData(p,v){let x,C;v?(x=7,C=2):(x=10,C=4);let E=x-C,A=new Int32Array(x);for(let H=x-1;H>=0;--H)A[H]=p&15,p>>=4;try{new Ve(he.AZTEC_PARAM).decode(A,E)}catch{throw new F}let P=0;for(let H=0;H<C;H++)P=(P<<4)+A[H];return P}getBullsEyeCorners(p){let v=p,x=p,C=p,E=p,A=!0;for(this.nbCenterLayers=1;this.nbCenterLayers<9;this.nbCenterLayers++){let fe=this.getFirstDifferent(v,A,1,-1),be=this.getFirstDifferent(x,A,1,1),_e=this.getFirstDifferent(C,A,-1,1),He=this.getFirstDifferent(E,A,-1,-1);if(this.nbCenterLayers>2){let Ge=this.distancePoint(He,fe)*this.nbCenterLayers/(this.distancePoint(E,v)*(this.nbCenterLayers+2));if(Ge<.75||Ge>1.25||!this.isWhiteOrBlackRectangle(fe,be,_e,He))break}v=fe,x=be,C=_e,E=He,A=!A}if(this.nbCenterLayers!==5&&this.nbCenterLayers!==7)throw new F;this.compact=this.nbCenterLayers===5;let P=new Me(v.getX()+.5,v.getY()-.5),H=new Me(x.getX()+.5,x.getY()+.5),ee=new Me(C.getX()-.5,C.getY()+.5),ae=new Me(E.getX()-.5,E.getY()-.5);return this.expandSquare([P,H,ee,ae],2*this.nbCenterLayers-3,2*this.nbCenterLayers)}getMatrixCenter(){let p,v,x,C;try{let P=new ht(this.image).detect();p=P[0],v=P[1],x=P[2],C=P[3]}catch{let H=this.image.getWidth()/2,ee=this.image.getHeight()/2;p=this.getFirstDifferent(new Z(H+7,ee-7),!1,1,-1).toResultPoint(),v=this.getFirstDifferent(new Z(H+7,ee+7),!1,1,1).toResultPoint(),x=this.getFirstDifferent(new Z(H-7,ee+7),!1,-1,1).toResultPoint(),C=this.getFirstDifferent(new Z(H-7,ee-7),!1,-1,-1).toResultPoint()}let E=$e.round((p.getX()+C.getX()+v.getX()+x.getX())/4),A=$e.round((p.getY()+C.getY()+v.getY()+x.getY())/4);try{let P=new ht(this.image,15,E,A).detect();p=P[0],v=P[1],x=P[2],C=P[3]}catch{p=this.getFirstDifferent(new Z(E+7,A-7),!1,1,-1).toResultPoint(),v=this.getFirstDifferent(new Z(E+7,A+7),!1,1,1).toResultPoint(),x=this.getFirstDifferent(new Z(E-7,A+7),!1,-1,1).toResultPoint(),C=this.getFirstDifferent(new Z(E-7,A-7),!1,-1,-1).toResultPoint()}return E=$e.round((p.getX()+C.getX()+v.getX()+x.getX())/4),A=$e.round((p.getY()+C.getY()+v.getY()+x.getY())/4),new Z(E,A)}getMatrixCornerPoints(p){return this.expandSquare(p,2*this.nbCenterLayers,this.getDimension())}sampleGrid(p,v,x,C,E){let A=q.getInstance(),P=this.getDimension(),H=P/2-this.nbCenterLayers,ee=P/2+this.nbCenterLayers;return A.sampleGrid(p,P,P,H,H,ee,H,ee,ee,H,ee,v.getX(),v.getY(),x.getX(),x.getY(),C.getX(),C.getY(),E.getX(),E.getY())}sampleLine(p,v,x){let C=0,E=this.distanceResultPoint(p,v),A=E/x,P=p.getX(),H=p.getY(),ee=A*(v.getX()-p.getX())/E,ae=A*(v.getY()-p.getY())/E;for(let fe=0;fe<x;fe++)this.image.get($e.round(P+fe*ee),$e.round(H+fe*ae))&&(C|=1<<x-fe-1);return C}isWhiteOrBlackRectangle(p,v,x,C){let E=3;p=new Z(p.getX()-E,p.getY()+E),v=new Z(v.getX()-E,v.getY()-E),x=new Z(x.getX()+E,x.getY()-E),C=new Z(C.getX()+E,C.getY()+E);let A=this.getColor(C,p);if(A===0)return!1;let P=this.getColor(p,v);return P!==A||(P=this.getColor(v,x),P!==A)?!1:(P=this.getColor(x,C),P===A)}getColor(p,v){let x=this.distancePoint(p,v),C=(v.getX()-p.getX())/x,E=(v.getY()-p.getY())/x,A=0,P=p.getX(),H=p.getY(),ee=this.image.get(p.getX(),p.getY()),ae=Math.ceil(x);for(let be=0;be<ae;be++)P+=C,H+=E,this.image.get($e.round(P),$e.round(H))!==ee&&A++;let fe=A/x;return fe>.1&&fe<.9?0:fe<=.1===ee?1:-1}getFirstDifferent(p,v,x,C){let E=p.getX()+x,A=p.getY()+C;for(;this.isValid(E,A)&&this.image.get(E,A)===v;)E+=x,A+=C;for(E-=x,A-=C;this.isValid(E,A)&&this.image.get(E,A)===v;)E+=x;for(E-=x;this.isValid(E,A)&&this.image.get(E,A)===v;)A+=C;return A-=C,new Z(E,A)}expandSquare(p,v,x){let C=x/(2*v),E=p[0].getX()-p[2].getX(),A=p[0].getY()-p[2].getY(),P=(p[0].getX()+p[2].getX())/2,H=(p[0].getY()+p[2].getY())/2,ee=new Me(P+C*E,H+C*A),ae=new Me(P-C*E,H-C*A);E=p[1].getX()-p[3].getX(),A=p[1].getY()-p[3].getY(),P=(p[1].getX()+p[3].getX())/2,H=(p[1].getY()+p[3].getY())/2;let fe=new Me(P+C*E,H+C*A),be=new Me(P-C*E,H-C*A);return[ee,fe,ae,be]}isValid(p,v){return p>=0&&p<this.image.getWidth()&&v>0&&v<this.image.getHeight()}isValidPoint(p){let v=$e.round(p.getX()),x=$e.round(p.getY());return this.isValid(v,x)}distancePoint(p,v){return $e.distance(p.getX(),p.getY(),v.getX(),v.getY())}distanceResultPoint(p,v){return $e.distance(p.getX(),p.getY(),v.getX(),v.getY())}getDimension(){return this.compact?4*this.nbLayers+11:this.nbLayers<=4?4*this.nbLayers+15:4*this.nbLayers+2*(N.truncDivision(this.nbLayers-4,8)+1)+15}}class Ce{decode(p,v=null){let x=null,C=new ie(p.getBlackMatrix()),E=null,A=null;try{let ae=C.detectMirror(!1);E=ae.getPoints(),this.reportFoundResultPoints(v,E),A=new nt().decode(ae)}catch(ae){x=ae}if(A==null)try{let ae=C.detectMirror(!0);E=ae.getPoints(),this.reportFoundResultPoints(v,E),A=new nt().decode(ae)}catch(ae){throw x??ae}let P=new de(A.getText(),A.getRawBytes(),A.getNumBits(),E,ve.AZTEC,b.currentTimeMillis()),H=A.getByteSegments();H!=null&&P.putMetadata(ce.BYTE_SEGMENTS,H);let ee=A.getECLevel();return ee!=null&&P.putMetadata(ce.ERROR_CORRECTION_LEVEL,ee),P}reportFoundResultPoints(p,v){if(p!=null){let x=p.get(O.NEED_RESULT_POINT_CALLBACK);x!=null&&v.forEach((C,E,A)=>{x.foundPossibleResultPoint(C)})}}reset(){}}class Te extends re{constructor(p=500){super(new Ce,p)}}class Se{decode(p,v){try{return this.doDecode(p,v)}catch{if(v&&v.get(O.TRY_HARDER)===!0&&p.isRotateSupported()){const E=p.rotateCounterClockwise(),A=this.doDecode(E,v),P=A.getResultMetadata();let H=270;P!==null&&P.get(ce.ORIENTATION)===!0&&(H=H+P.get(ce.ORIENTATION)%360),A.putMetadata(ce.ORIENTATION,H);const ee=A.getResultPoints();if(ee!==null){const ae=E.getHeight();for(let fe=0;fe<ee.length;fe++)ee[fe]=new Me(ae-ee[fe].getY()-1,ee[fe].getX())}return A}else throw new F}}reset(){}doDecode(p,v){const x=p.getWidth(),C=p.getHeight();let E=new M(x);const A=v&&v.get(O.TRY_HARDER)===!0,P=Math.max(1,C>>(A?8:5));let H;A?H=C:H=15;const ee=Math.trunc(C/2);for(let ae=0;ae<H;ae++){const fe=Math.trunc((ae+1)/2),be=(ae&1)===0,_e=ee+P*(be?fe:-fe);if(_e<0||_e>=C)break;try{E=p.getBlackRow(_e,E)}catch{continue}for(let He=0;He<2;He++){if(He===1&&(E.reverse(),v&&v.get(O.NEED_RESULT_POINT_CALLBACK)===!0)){const Ge=new Map;v.forEach((tt,lt)=>Ge.set(lt,tt)),Ge.delete(O.NEED_RESULT_POINT_CALLBACK),v=Ge}try{const Ge=this.decodeRow(_e,E,v);if(He===1){Ge.putMetadata(ce.ORIENTATION,180);const tt=Ge.getResultPoints();tt!==null&&(tt[0]=new Me(x-tt[0].getX()-1,tt[0].getY()),tt[1]=new Me(x-tt[1].getX()-1,tt[1].getY()))}return Ge}catch{}}}throw new F}static recordPattern(p,v,x){const C=x.length;for(let ee=0;ee<C;ee++)x[ee]=0;const E=p.getSize();if(v>=E)throw new F;let A=!p.get(v),P=0,H=v;for(;H<E;){if(p.get(H)!==A)x[P]++;else{if(++P===C)break;x[P]=1,A=!A}H++}if(!(P===C||P===C-1&&H===E))throw new F}static recordPatternInReverse(p,v,x){let C=x.length,E=p.get(v);for(;v>0&&C>=0;)p.get(--v)!==E&&(C--,E=!E);if(C>=0)throw new F;Se.recordPattern(p,v+1,x)}static patternMatchVariance(p,v,x){const C=p.length;let E=0,A=0;for(let ee=0;ee<C;ee++)E+=p[ee],A+=v[ee];if(E<A)return Number.POSITIVE_INFINITY;const P=E/A;x*=P;let H=0;for(let ee=0;ee<C;ee++){const ae=p[ee],fe=v[ee]*P,be=ae>fe?ae-fe:fe-ae;if(be>x)return Number.POSITIVE_INFINITY;H+=be}return H/E}}class ye extends Se{static findStartPattern(p){const v=p.getSize(),x=p.getNextSet(0);let C=0,E=Int32Array.from([0,0,0,0,0,0]),A=x,P=!1;const H=6;for(let ee=x;ee<v;ee++)if(p.get(ee)!==P)E[C]++;else{if(C===H-1){let ae=ye.MAX_AVG_VARIANCE,fe=-1;for(let be=ye.CODE_START_A;be<=ye.CODE_START_C;be++){const _e=Se.patternMatchVariance(E,ye.CODE_PATTERNS[be],ye.MAX_INDIVIDUAL_VARIANCE);_e<ae&&(ae=_e,fe=be)}if(fe>=0&&p.isRange(Math.max(0,A-(ee-A)/2),A,!1))return Int32Array.from([A,ee,fe]);A+=E[0]+E[1],E=E.slice(2,E.length-1),E[C-1]=0,E[C]=0,C--}else C++;E[C]=1,P=!P}throw new F}static decodeCode(p,v,x){Se.recordPattern(p,x,v);let C=ye.MAX_AVG_VARIANCE,E=-1;for(let A=0;A<ye.CODE_PATTERNS.length;A++){const P=ye.CODE_PATTERNS[A],H=this.patternMatchVariance(v,P,ye.MAX_INDIVIDUAL_VARIANCE);H<C&&(C=H,E=A)}if(E>=0)return E;throw new F}decodeRow(p,v,x){const C=x&&x.get(O.ASSUME_GS1)===!0,E=ye.findStartPattern(v),A=E[2];let P=0;const H=new Uint8Array(20);H[P++]=A;let ee;switch(A){case ye.CODE_START_A:ee=ye.CODE_CODE_A;break;case ye.CODE_START_B:ee=ye.CODE_CODE_B;break;case ye.CODE_START_C:ee=ye.CODE_CODE_C;break;default:throw new L}let ae=!1,fe=!1,be="",_e=E[0],He=E[1];const Ge=Int32Array.from([0,0,0,0,0,0]);let tt=0,lt=0,Lt=A,zt=0,Nt=!0,Gn=!1,Rn=!1;for(;!ae;){const xc=fe;switch(fe=!1,tt=lt,lt=ye.decodeCode(v,Ge,He),H[P++]=lt,lt!==ye.CODE_STOP&&(Nt=!0),lt!==ye.CODE_STOP&&(zt++,Lt+=zt*lt),_e=He,He+=Ge.reduce((Pd,Dv)=>Pd+Dv,0),lt){case ye.CODE_START_A:case ye.CODE_START_B:case ye.CODE_START_C:throw new L}switch(ee){case ye.CODE_CODE_A:if(lt<64)Rn===Gn?be+=String.fromCharCode(32+lt):be+=String.fromCharCode(32+lt+128),Rn=!1;else if(lt<96)Rn===Gn?be+=String.fromCharCode(lt-64):be+=String.fromCharCode(lt+64),Rn=!1;else switch(lt!==ye.CODE_STOP&&(Nt=!1),lt){case ye.CODE_FNC_1:C&&(be.length===0?be+="]C1":be+="");break;case ye.CODE_FNC_2:case ye.CODE_FNC_3:break;case ye.CODE_FNC_4_A:!Gn&&Rn?(Gn=!0,Rn=!1):Gn&&Rn?(Gn=!1,Rn=!1):Rn=!0;break;case ye.CODE_SHIFT:fe=!0,ee=ye.CODE_CODE_B;break;case ye.CODE_CODE_B:ee=ye.CODE_CODE_B;break;case ye.CODE_CODE_C:ee=ye.CODE_CODE_C;break;case ye.CODE_STOP:ae=!0;break}break;case ye.CODE_CODE_B:if(lt<96)Rn===Gn?be+=String.fromCharCode(32+lt):be+=String.fromCharCode(32+lt+128),Rn=!1;else switch(lt!==ye.CODE_STOP&&(Nt=!1),lt){case ye.CODE_FNC_1:C&&(be.length===0?be+="]C1":be+="");break;case ye.CODE_FNC_2:case ye.CODE_FNC_3:break;case ye.CODE_FNC_4_B:!Gn&&Rn?(Gn=!0,Rn=!1):Gn&&Rn?(Gn=!1,Rn=!1):Rn=!0;break;case ye.CODE_SHIFT:fe=!0,ee=ye.CODE_CODE_A;break;case ye.CODE_CODE_A:ee=ye.CODE_CODE_A;break;case ye.CODE_CODE_C:ee=ye.CODE_CODE_C;break;case ye.CODE_STOP:ae=!0;break}break;case ye.CODE_CODE_C:if(lt<100)lt<10&&(be+="0"),be+=lt;else switch(lt!==ye.CODE_STOP&&(Nt=!1),lt){case ye.CODE_FNC_1:C&&(be.length===0?be+="]C1":be+="");break;case ye.CODE_CODE_A:ee=ye.CODE_CODE_A;break;case ye.CODE_CODE_B:ee=ye.CODE_CODE_B;break;case ye.CODE_STOP:ae=!0;break}break}xc&&(ee=ee===ye.CODE_CODE_A?ye.CODE_CODE_B:ye.CODE_CODE_A)}const ma=He-_e;if(He=v.getNextUnset(He),!v.isRange(He,Math.min(v.getSize(),He+(He-_e)/2),!1))throw new F;if(Lt-=zt*tt,Lt%103!==tt)throw new g;const $i=be.length;if($i===0)throw new F;$i>0&&Nt&&(ee===ye.CODE_CODE_C?be=be.substring(0,$i-2):be=be.substring(0,$i-1));const zo=(E[1]+E[0])/2,Cr=_e+ma/2,yo=H.length,Ys=new Uint8Array(yo);for(let xc=0;xc<yo;xc++)Ys[xc]=H[xc];const Nf=[new Me(zo,p),new Me(Cr,p)];return new de(be,Ys,0,Nf,ve.CODE_128,new Date().getTime())}}ye.CODE_PATTERNS=[Int32Array.from([2,1,2,2,2,2]),Int32Array.from([2,2,2,1,2,2]),Int32Array.from([2,2,2,2,2,1]),Int32Array.from([1,2,1,2,2,3]),Int32Array.from([1,2,1,3,2,2]),Int32Array.from([1,3,1,2,2,2]),Int32Array.from([1,2,2,2,1,3]),Int32Array.from([1,2,2,3,1,2]),Int32Array.from([1,3,2,2,1,2]),Int32Array.from([2,2,1,2,1,3]),Int32Array.from([2,2,1,3,1,2]),Int32Array.from([2,3,1,2,1,2]),Int32Array.from([1,1,2,2,3,2]),Int32Array.from([1,2,2,1,3,2]),Int32Array.from([1,2,2,2,3,1]),Int32Array.from([1,1,3,2,2,2]),Int32Array.from([1,2,3,1,2,2]),Int32Array.from([1,2,3,2,2,1]),Int32Array.from([2,2,3,2,1,1]),Int32Array.from([2,2,1,1,3,2]),Int32Array.from([2,2,1,2,3,1]),Int32Array.from([2,1,3,2,1,2]),Int32Array.from([2,2,3,1,1,2]),Int32Array.from([3,1,2,1,3,1]),Int32Array.from([3,1,1,2,2,2]),Int32Array.from([3,2,1,1,2,2]),Int32Array.from([3,2,1,2,2,1]),Int32Array.from([3,1,2,2,1,2]),Int32Array.from([3,2,2,1,1,2]),Int32Array.from([3,2,2,2,1,1]),Int32Array.from([2,1,2,1,2,3]),Int32Array.from([2,1,2,3,2,1]),Int32Array.from([2,3,2,1,2,1]),Int32Array.from([1,1,1,3,2,3]),Int32Array.from([1,3,1,1,2,3]),Int32Array.from([1,3,1,3,2,1]),Int32Array.from([1,1,2,3,1,3]),Int32Array.from([1,3,2,1,1,3]),Int32Array.from([1,3,2,3,1,1]),Int32Array.from([2,1,1,3,1,3]),Int32Array.from([2,3,1,1,1,3]),Int32Array.from([2,3,1,3,1,1]),Int32Array.from([1,1,2,1,3,3]),Int32Array.from([1,1,2,3,3,1]),Int32Array.from([1,3,2,1,3,1]),Int32Array.from([1,1,3,1,2,3]),Int32Array.from([1,1,3,3,2,1]),Int32Array.from([1,3,3,1,2,1]),Int32Array.from([3,1,3,1,2,1]),Int32Array.from([2,1,1,3,3,1]),Int32Array.from([2,3,1,1,3,1]),Int32Array.from([2,1,3,1,1,3]),Int32Array.from([2,1,3,3,1,1]),Int32Array.from([2,1,3,1,3,1]),Int32Array.from([3,1,1,1,2,3]),Int32Array.from([3,1,1,3,2,1]),Int32Array.from([3,3,1,1,2,1]),Int32Array.from([3,1,2,1,1,3]),Int32Array.from([3,1,2,3,1,1]),Int32Array.from([3,3,2,1,1,1]),Int32Array.from([3,1,4,1,1,1]),Int32Array.from([2,2,1,4,1,1]),Int32Array.from([4,3,1,1,1,1]),Int32Array.from([1,1,1,2,2,4]),Int32Array.from([1,1,1,4,2,2]),Int32Array.from([1,2,1,1,2,4]),Int32Array.from([1,2,1,4,2,1]),Int32Array.from([1,4,1,1,2,2]),Int32Array.from([1,4,1,2,2,1]),Int32Array.from([1,1,2,2,1,4]),Int32Array.from([1,1,2,4,1,2]),Int32Array.from([1,2,2,1,1,4]),Int32Array.from([1,2,2,4,1,1]),Int32Array.from([1,4,2,1,1,2]),Int32Array.from([1,4,2,2,1,1]),Int32Array.from([2,4,1,2,1,1]),Int32Array.from([2,2,1,1,1,4]),Int32Array.from([4,1,3,1,1,1]),Int32Array.from([2,4,1,1,1,2]),Int32Array.from([1,3,4,1,1,1]),Int32Array.from([1,1,1,2,4,2]),Int32Array.from([1,2,1,1,4,2]),Int32Array.from([1,2,1,2,4,1]),Int32Array.from([1,1,4,2,1,2]),Int32Array.from([1,2,4,1,1,2]),Int32Array.from([1,2,4,2,1,1]),Int32Array.from([4,1,1,2,1,2]),Int32Array.from([4,2,1,1,1,2]),Int32Array.from([4,2,1,2,1,1]),Int32Array.from([2,1,2,1,4,1]),Int32Array.from([2,1,4,1,2,1]),Int32Array.from([4,1,2,1,2,1]),Int32Array.from([1,1,1,1,4,3]),Int32Array.from([1,1,1,3,4,1]),Int32Array.from([1,3,1,1,4,1]),Int32Array.from([1,1,4,1,1,3]),Int32Array.from([1,1,4,3,1,1]),Int32Array.from([4,1,1,1,1,3]),Int32Array.from([4,1,1,3,1,1]),Int32Array.from([1,1,3,1,4,1]),Int32Array.from([1,1,4,1,3,1]),Int32Array.from([3,1,1,1,4,1]),Int32Array.from([4,1,1,1,3,1]),Int32Array.from([2,1,1,4,1,2]),Int32Array.from([2,1,1,2,1,4]),Int32Array.from([2,1,1,2,3,2]),Int32Array.from([2,3,3,1,1,1,2])],ye.MAX_AVG_VARIANCE=.25,ye.MAX_INDIVIDUAL_VARIANCE=.7,ye.CODE_SHIFT=98,ye.CODE_CODE_C=99,ye.CODE_CODE_B=100,ye.CODE_CODE_A=101,ye.CODE_FNC_1=102,ye.CODE_FNC_2=97,ye.CODE_FNC_3=96,ye.CODE_FNC_4_A=101,ye.CODE_FNC_4_B=100,ye.CODE_START_A=103,ye.CODE_START_B=104,ye.CODE_START_C=105,ye.CODE_STOP=106;class We extends Se{constructor(p=!1,v=!1){super(),this.usingCheckDigit=p,this.extendedMode=v,this.decodeRowResult="",this.counters=new Int32Array(9)}decodeRow(p,v,x){let C=this.counters;C.fill(0),this.decodeRowResult="";let E=We.findAsteriskPattern(v,C),A=v.getNextSet(E[1]),P=v.getSize(),H,ee;do{We.recordPattern(v,A,C);let Ge=We.toNarrowWidePattern(C);if(Ge<0)throw new F;H=We.patternToChar(Ge),this.decodeRowResult+=H,ee=A;for(let tt of C)A+=tt;A=v.getNextSet(A)}while(H!=="*");this.decodeRowResult=this.decodeRowResult.substring(0,this.decodeRowResult.length-1);let ae=0;for(let Ge of C)ae+=Ge;let fe=A-ee-ae;if(A!==P&&fe*2<ae)throw new F;if(this.usingCheckDigit){let Ge=this.decodeRowResult.length-1,tt=0;for(let lt=0;lt<Ge;lt++)tt+=We.ALPHABET_STRING.indexOf(this.decodeRowResult.charAt(lt));if(this.decodeRowResult.charAt(Ge)!==We.ALPHABET_STRING.charAt(tt%43))throw new g;this.decodeRowResult=this.decodeRowResult.substring(0,Ge)}if(this.decodeRowResult.length===0)throw new F;let be;this.extendedMode?be=We.decodeExtended(this.decodeRowResult):be=this.decodeRowResult;let _e=(E[1]+E[0])/2,He=ee+ae/2;return new de(be,null,0,[new Me(_e,p),new Me(He,p)],ve.CODE_39,new Date().getTime())}static findAsteriskPattern(p,v){let x=p.getSize(),C=p.getNextSet(0),E=0,A=C,P=!1,H=v.length;for(let ee=C;ee<x;ee++)if(p.get(ee)!==P)v[E]++;else{if(E===H-1){if(this.toNarrowWidePattern(v)===We.ASTERISK_ENCODING&&p.isRange(Math.max(0,A-Math.floor((ee-A)/2)),A,!1))return[A,ee];A+=v[0]+v[1],v.copyWithin(0,2,2+E-1),v[E-1]=0,v[E]=0,E--}else E++;v[E]=1,P=!P}throw new F}static toNarrowWidePattern(p){let v=p.length,x=0,C;do{let E=2147483647;for(let H of p)H<E&&H>x&&(E=H);x=E,C=0;let A=0,P=0;for(let H=0;H<v;H++){let ee=p[H];ee>x&&(P|=1<<v-1-H,C++,A+=ee)}if(C===3){for(let H=0;H<v&&C>0;H++){let ee=p[H];if(ee>x&&(C--,ee*2>=A))return-1}return P}}while(C>3);return-1}static patternToChar(p){for(let v=0;v<We.CHARACTER_ENCODINGS.length;v++)if(We.CHARACTER_ENCODINGS[v]===p)return We.ALPHABET_STRING.charAt(v);if(p===We.ASTERISK_ENCODING)return"*";throw new F}static decodeExtended(p){let v=p.length,x="";for(let C=0;C<v;C++){let E=p.charAt(C);if(E==="+"||E==="$"||E==="%"||E==="/"){let A=p.charAt(C+1),P="\0";switch(E){case"+":if(A>="A"&&A<="Z")P=String.fromCharCode(A.charCodeAt(0)+32);else throw new L;break;case"$":if(A>="A"&&A<="Z")P=String.fromCharCode(A.charCodeAt(0)-64);else throw new L;break;case"%":if(A>="A"&&A<="E")P=String.fromCharCode(A.charCodeAt(0)-38);else if(A>="F"&&A<="J")P=String.fromCharCode(A.charCodeAt(0)-11);else if(A>="K"&&A<="O")P=String.fromCharCode(A.charCodeAt(0)+16);else if(A>="P"&&A<="T")P=String.fromCharCode(A.charCodeAt(0)+43);else if(A==="U")P="\0";else if(A==="V")P="@";else if(A==="W")P="`";else if(A==="X"||A==="Y"||A==="Z")P="";else throw new L;break;case"/":if(A>="A"&&A<="O")P=String.fromCharCode(A.charCodeAt(0)-32);else if(A==="Z")P=":";else throw new L;break}x+=P,C++}else x+=E}return x}}We.ALPHABET_STRING="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ-. $/+%",We.CHARACTER_ENCODINGS=[52,289,97,352,49,304,112,37,292,100,265,73,328,25,280,88,13,268,76,28,259,67,322,19,274,82,7,262,70,22,385,193,448,145,400,208,133,388,196,168,162,138,42],We.ASTERISK_ENCODING=148;class Ee extends Se{constructor(){super(...arguments),this.narrowLineWidth=-1}decodeRow(p,v,x){let C=this.decodeStart(v),E=this.decodeEnd(v),A=new Q;Ee.decodeMiddle(v,C[1],E[0],A);let P=A.toString(),H=null;x!=null&&(H=x.get(O.ALLOWED_LENGTHS)),H==null&&(H=Ee.DEFAULT_ALLOWED_LENGTHS);let ee=P.length,ae=!1,fe=0;for(let He of H){if(ee===He){ae=!0;break}He>fe&&(fe=He)}if(!ae&&ee>fe&&(ae=!0),!ae)throw new L;const be=[new Me(C[1],p),new Me(E[0],p)];return new de(P,null,0,be,ve.ITF,new Date().getTime())}static decodeMiddle(p,v,x,C){let E=new Int32Array(10),A=new Int32Array(5),P=new Int32Array(5);for(E.fill(0),A.fill(0),P.fill(0);v<x;){Se.recordPattern(p,v,E);for(let ee=0;ee<5;ee++){let ae=2*ee;A[ee]=E[ae],P[ee]=E[ae+1]}let H=Ee.decodeDigit(A);C.append(H.toString()),H=this.decodeDigit(P),C.append(H.toString()),E.forEach(function(ee){v+=ee})}}decodeStart(p){let v=Ee.skipWhiteSpace(p),x=Ee.findGuardPattern(p,v,Ee.START_PATTERN);return this.narrowLineWidth=(x[1]-x[0])/4,this.validateQuietZone(p,x[0]),x}validateQuietZone(p,v){let x=this.narrowLineWidth*10;x=x<v?x:v;for(let C=v-1;x>0&&C>=0&&!p.get(C);C--)x--;if(x!==0)throw new F}static skipWhiteSpace(p){const v=p.getSize(),x=p.getNextSet(0);if(x===v)throw new F;return x}decodeEnd(p){p.reverse();try{let v=Ee.skipWhiteSpace(p),x;try{x=Ee.findGuardPattern(p,v,Ee.END_PATTERN_REVERSED[0])}catch(E){E instanceof F&&(x=Ee.findGuardPattern(p,v,Ee.END_PATTERN_REVERSED[1]))}this.validateQuietZone(p,x[0]);let C=x[0];return x[0]=p.getSize()-x[1],x[1]=p.getSize()-C,x}finally{p.reverse()}}static findGuardPattern(p,v,x){let C=x.length,E=new Int32Array(C),A=p.getSize(),P=!1,H=0,ee=v;E.fill(0);for(let ae=v;ae<A;ae++)if(p.get(ae)!==P)E[H]++;else{if(H===C-1){if(Se.patternMatchVariance(E,x,Ee.MAX_INDIVIDUAL_VARIANCE)<Ee.MAX_AVG_VARIANCE)return[ee,ae];ee+=E[0]+E[1],b.arraycopy(E,2,E,0,H-1),E[H-1]=0,E[H]=0,H--}else H++;E[H]=1,P=!P}throw new F}static decodeDigit(p){let v=Ee.MAX_AVG_VARIANCE,x=-1,C=Ee.PATTERNS.length;for(let E=0;E<C;E++){let A=Ee.PATTERNS[E],P=Se.patternMatchVariance(p,A,Ee.MAX_INDIVIDUAL_VARIANCE);P<v?(v=P,x=E):P===v&&(x=-1)}if(x>=0)return x%10;throw new F}}Ee.PATTERNS=[Int32Array.from([1,1,2,2,1]),Int32Array.from([2,1,1,1,2]),Int32Array.from([1,2,1,1,2]),Int32Array.from([2,2,1,1,1]),Int32Array.from([1,1,2,1,2]),Int32Array.from([2,1,2,1,1]),Int32Array.from([1,2,2,1,1]),Int32Array.from([1,1,1,2,2]),Int32Array.from([2,1,1,2,1]),Int32Array.from([1,2,1,2,1]),Int32Array.from([1,1,3,3,1]),Int32Array.from([3,1,1,1,3]),Int32Array.from([1,3,1,1,3]),Int32Array.from([3,3,1,1,1]),Int32Array.from([1,1,3,1,3]),Int32Array.from([3,1,3,1,1]),Int32Array.from([1,3,3,1,1]),Int32Array.from([1,1,1,3,3]),Int32Array.from([3,1,1,3,1]),Int32Array.from([1,3,1,3,1])],Ee.MAX_AVG_VARIANCE=.38,Ee.MAX_INDIVIDUAL_VARIANCE=.5,Ee.DEFAULT_ALLOWED_LENGTHS=[6,8,10,12,14],Ee.START_PATTERN=Int32Array.from([1,1,1,1]),Ee.END_PATTERN_REVERSED=[Int32Array.from([1,1,2]),Int32Array.from([1,1,3])];class Pe extends Se{constructor(){super(...arguments),this.decodeRowStringBuffer=""}static findStartGuardPattern(p){let v=!1,x,C=0,E=Int32Array.from([0,0,0]);for(;!v;){E=Int32Array.from([0,0,0]),x=Pe.findGuardPattern(p,C,!1,this.START_END_PATTERN,E);let A=x[0];C=x[1];let P=A-(C-A);P>=0&&(v=p.isRange(P,A,!1))}return x}static checkChecksum(p){return Pe.checkStandardUPCEANChecksum(p)}static checkStandardUPCEANChecksum(p){let v=p.length;if(v===0)return!1;let x=parseInt(p.charAt(v-1),10);return Pe.getStandardUPCEANChecksum(p.substring(0,v-1))===x}static getStandardUPCEANChecksum(p){let v=p.length,x=0;for(let C=v-1;C>=0;C-=2){let E=p.charAt(C).charCodeAt(0)-48;if(E<0||E>9)throw new L;x+=E}x*=3;for(let C=v-2;C>=0;C-=2){let E=p.charAt(C).charCodeAt(0)-48;if(E<0||E>9)throw new L;x+=E}return(1e3-x)%10}static decodeEnd(p,v){return Pe.findGuardPattern(p,v,!1,Pe.START_END_PATTERN,new Int32Array(Pe.START_END_PATTERN.length).fill(0))}static findGuardPatternWithoutCounters(p,v,x,C){return this.findGuardPattern(p,v,x,C,new Int32Array(C.length))}static findGuardPattern(p,v,x,C,E){let A=p.getSize();v=x?p.getNextUnset(v):p.getNextSet(v);let P=0,H=v,ee=C.length,ae=x;for(let fe=v;fe<A;fe++)if(p.get(fe)!==ae)E[P]++;else{if(P===ee-1){if(Se.patternMatchVariance(E,C,Pe.MAX_INDIVIDUAL_VARIANCE)<Pe.MAX_AVG_VARIANCE)return Int32Array.from([H,fe]);H+=E[0]+E[1];let be=E.slice(2,E.length-1);for(let _e=0;_e<P-1;_e++)E[_e]=be[_e];E[P-1]=0,E[P]=0,P--}else P++;E[P]=1,ae=!ae}throw new F}static decodeDigit(p,v,x,C){this.recordPattern(p,x,v);let E=this.MAX_AVG_VARIANCE,A=-1,P=C.length;for(let H=0;H<P;H++){let ee=C[H],ae=Se.patternMatchVariance(v,ee,Pe.MAX_INDIVIDUAL_VARIANCE);ae<E&&(E=ae,A=H)}if(A>=0)return A;throw new F}}Pe.MAX_AVG_VARIANCE=.48,Pe.MAX_INDIVIDUAL_VARIANCE=.7,Pe.START_END_PATTERN=Int32Array.from([1,1,1]),Pe.MIDDLE_PATTERN=Int32Array.from([1,1,1,1,1]),Pe.END_PATTERN=Int32Array.from([1,1,1,1,1,1]),Pe.L_PATTERNS=[Int32Array.from([3,2,1,1]),Int32Array.from([2,2,2,1]),Int32Array.from([2,1,2,2]),Int32Array.from([1,4,1,1]),Int32Array.from([1,1,3,2]),Int32Array.from([1,2,3,1]),Int32Array.from([1,1,1,4]),Int32Array.from([1,3,1,2]),Int32Array.from([1,2,1,3]),Int32Array.from([3,1,1,2])];class Qe{constructor(){this.CHECK_DIGIT_ENCODINGS=[24,20,18,17,12,6,3,10,9,5],this.decodeMiddleCounters=Int32Array.from([0,0,0,0]),this.decodeRowStringBuffer=""}decodeRow(p,v,x){let C=this.decodeRowStringBuffer,E=this.decodeMiddle(v,x,C),A=C.toString(),P=Qe.parseExtensionString(A),H=[new Me((x[0]+x[1])/2,p),new Me(E,p)],ee=new de(A,null,0,H,ve.UPC_EAN_EXTENSION,new Date().getTime());return P!=null&&ee.putAllMetadata(P),ee}decodeMiddle(p,v,x){let C=this.decodeMiddleCounters;C[0]=0,C[1]=0,C[2]=0,C[3]=0;let E=p.getSize(),A=v[1],P=0;for(let ee=0;ee<5&&A<E;ee++){let ae=Pe.decodeDigit(p,C,A,Pe.L_AND_G_PATTERNS);x+=String.fromCharCode(48+ae%10);for(let fe of C)A+=fe;ae>=10&&(P|=1<<4-ee),ee!==4&&(A=p.getNextSet(A),A=p.getNextUnset(A))}if(x.length!==5)throw new F;let H=this.determineCheckDigit(P);if(Qe.extensionChecksum(x.toString())!==H)throw new F;return A}static extensionChecksum(p){let v=p.length,x=0;for(let C=v-2;C>=0;C-=2)x+=p.charAt(C).charCodeAt(0)-48;x*=3;for(let C=v-1;C>=0;C-=2)x+=p.charAt(C).charCodeAt(0)-48;return x*=3,x%10}determineCheckDigit(p){for(let v=0;v<10;v++)if(p===this.CHECK_DIGIT_ENCODINGS[v])return v;throw new F}static parseExtensionString(p){if(p.length!==5)return null;let v=Qe.parseExtension5String(p);return v==null?null:new Map([[ce.SUGGESTED_PRICE,v]])}static parseExtension5String(p){let v;switch(p.charAt(0)){case"0":v="£";break;case"5":v="$";break;case"9":switch(p){case"90000":return null;case"99991":return"0.00";case"99990":return"Used"}v="";break;default:v="";break}let x=parseInt(p.substring(1)),C=(x/100).toString(),E=x%100,A=E<10?"0"+E:E.toString();return v+C+"."+A}}class mt{constructor(){this.decodeMiddleCounters=Int32Array.from([0,0,0,0]),this.decodeRowStringBuffer=""}decodeRow(p,v,x){let C=this.decodeRowStringBuffer,E=this.decodeMiddle(v,x,C),A=C.toString(),P=mt.parseExtensionString(A),H=[new Me((x[0]+x[1])/2,p),new Me(E,p)],ee=new de(A,null,0,H,ve.UPC_EAN_EXTENSION,new Date().getTime());return P!=null&&ee.putAllMetadata(P),ee}decodeMiddle(p,v,x){let C=this.decodeMiddleCounters;C[0]=0,C[1]=0,C[2]=0,C[3]=0;let E=p.getSize(),A=v[1],P=0;for(let H=0;H<2&&A<E;H++){let ee=Pe.decodeDigit(p,C,A,Pe.L_AND_G_PATTERNS);x+=String.fromCharCode(48+ee%10);for(let ae of C)A+=ae;ee>=10&&(P|=1<<1-H),H!==1&&(A=p.getNextSet(A),A=p.getNextUnset(A))}if(x.length!==2)throw new F;if(parseInt(x.toString())%4!==P)throw new F;return A}static parseExtensionString(p){return p.length!==2?null:new Map([[ce.ISSUE_NUMBER,parseInt(p)]])}}class Rt{static decodeRow(p,v,x){let C=Pe.findGuardPattern(v,x,!1,this.EXTENSION_START_PATTERN,new Int32Array(this.EXTENSION_START_PATTERN.length).fill(0));try{return new Qe().decodeRow(p,v,C)}catch{return new mt().decodeRow(p,v,C)}}}Rt.EXTENSION_START_PATTERN=Int32Array.from([1,1,2]);class At extends Pe{constructor(){super(),this.decodeRowStringBuffer="",At.L_AND_G_PATTERNS=At.L_PATTERNS.map(p=>Int32Array.from(p));for(let p=10;p<20;p++){let v=At.L_PATTERNS[p-10],x=new Int32Array(v.length);for(let C=0;C<v.length;C++)x[C]=v[v.length-C-1];At.L_AND_G_PATTERNS[p]=x}}decodeRow(p,v,x){let C=At.findStartGuardPattern(v),E=x==null?null:x.get(O.NEED_RESULT_POINT_CALLBACK);if(E!=null){const Nt=new Me((C[0]+C[1])/2,p);E.foundPossibleResultPoint(Nt)}let A=this.decodeMiddle(v,C,this.decodeRowStringBuffer),P=A.rowOffset,H=A.resultString;if(E!=null){const Nt=new Me(P,p);E.foundPossibleResultPoint(Nt)}let ee=this.decodeEnd(v,P);if(E!=null){const Nt=new Me((ee[0]+ee[1])/2,p);E.foundPossibleResultPoint(Nt)}let ae=ee[1],fe=ae+(ae-ee[0]);if(fe>=v.getSize()||!v.isRange(ae,fe,!1))throw new F;let be=H.toString();if(be.length<8)throw new L;if(!At.checkChecksum(be))throw new g;let _e=(C[1]+C[0])/2,He=(ee[1]+ee[0])/2,Ge=this.getBarcodeFormat(),tt=[new Me(_e,p),new Me(He,p)],lt=new de(be,null,0,tt,Ge,new Date().getTime()),Lt=0;try{let Nt=Rt.decodeRow(p,v,ee[1]);lt.putMetadata(ce.UPC_EAN_EXTENSION,Nt.getText()),lt.putAllMetadata(Nt.getResultMetadata()),lt.addResultPoints(Nt.getResultPoints()),Lt=Nt.getText().length}catch{}let zt=x==null?null:x.get(O.ALLOWED_EAN_EXTENSIONS);if(zt!=null){let Nt=!1;for(let Gn in zt)if(Lt.toString()===Gn){Nt=!0;break}if(!Nt)throw new F}return lt}decodeEnd(p,v){return At.findGuardPattern(p,v,!1,At.START_END_PATTERN,new Int32Array(At.START_END_PATTERN.length).fill(0))}static checkChecksum(p){return At.checkStandardUPCEANChecksum(p)}static checkStandardUPCEANChecksum(p){let v=p.length;if(v===0)return!1;let x=parseInt(p.charAt(v-1),10);return At.getStandardUPCEANChecksum(p.substring(0,v-1))===x}static getStandardUPCEANChecksum(p){let v=p.length,x=0;for(let C=v-1;C>=0;C-=2){let E=p.charAt(C).charCodeAt(0)-48;if(E<0||E>9)throw new L;x+=E}x*=3;for(let C=v-2;C>=0;C-=2){let E=p.charAt(C).charCodeAt(0)-48;if(E<0||E>9)throw new L;x+=E}return(1e3-x)%10}}class _t extends At{constructor(){super(),this.decodeMiddleCounters=Int32Array.from([0,0,0,0])}decodeMiddle(p,v,x){let C=this.decodeMiddleCounters;C[0]=0,C[1]=0,C[2]=0,C[3]=0;let E=p.getSize(),A=v[1],P=0;for(let ee=0;ee<6&&A<E;ee++){let ae=At.decodeDigit(p,C,A,At.L_AND_G_PATTERNS);x+=String.fromCharCode(48+ae%10);for(let fe of C)A+=fe;ae>=10&&(P|=1<<5-ee)}x=_t.determineFirstDigit(x,P),A=At.findGuardPattern(p,A,!0,At.MIDDLE_PATTERN,new Int32Array(At.MIDDLE_PATTERN.length).fill(0))[1];for(let ee=0;ee<6&&A<E;ee++){let ae=At.decodeDigit(p,C,A,At.L_PATTERNS);x+=String.fromCharCode(48+ae);for(let fe of C)A+=fe}return{rowOffset:A,resultString:x}}getBarcodeFormat(){return ve.EAN_13}static determineFirstDigit(p,v){for(let x=0;x<10;x++)if(v===this.FIRST_DIGIT_ENCODINGS[x])return p=String.fromCharCode(48+x)+p,p;throw new F}}_t.FIRST_DIGIT_ENCODINGS=[0,11,13,14,19,25,28,21,22,26];class Ht extends At{constructor(){super(),this.decodeMiddleCounters=Int32Array.from([0,0,0,0])}decodeMiddle(p,v,x){const C=this.decodeMiddleCounters;C[0]=0,C[1]=0,C[2]=0,C[3]=0;let E=p.getSize(),A=v[1];for(let H=0;H<4&&A<E;H++){let ee=At.decodeDigit(p,C,A,At.L_PATTERNS);x+=String.fromCharCode(48+ee);for(let ae of C)A+=ae}A=At.findGuardPattern(p,A,!0,At.MIDDLE_PATTERN,new Int32Array(At.MIDDLE_PATTERN.length).fill(0))[1];for(let H=0;H<4&&A<E;H++){let ee=At.decodeDigit(p,C,A,At.L_PATTERNS);x+=String.fromCharCode(48+ee);for(let ae of C)A+=ae}return{rowOffset:A,resultString:x}}getBarcodeFormat(){return ve.EAN_8}}class dt extends At{constructor(){super(...arguments),this.ean13Reader=new _t}getBarcodeFormat(){return ve.UPC_A}decode(p,v){return this.maybeReturnResult(this.ean13Reader.decode(p))}decodeRow(p,v,x){return this.maybeReturnResult(this.ean13Reader.decodeRow(p,v,x))}decodeMiddle(p,v,x){return this.ean13Reader.decodeMiddle(p,v,x)}maybeReturnResult(p){let v=p.getText();if(v.charAt(0)==="0"){let x=new de(v.substring(1),null,null,p.getResultPoints(),ve.UPC_A);return p.getResultMetadata()!=null&&x.putAllMetadata(p.getResultMetadata()),x}else throw new F}reset(){this.ean13Reader.reset()}}class xt extends At{constructor(){super(),this.decodeMiddleCounters=new Int32Array(4)}decodeMiddle(p,v,x){const C=this.decodeMiddleCounters.map(ee=>ee);C[0]=0,C[1]=0,C[2]=0,C[3]=0;const E=p.getSize();let A=v[1],P=0;for(let ee=0;ee<6&&A<E;ee++){const ae=xt.decodeDigit(p,C,A,xt.L_AND_G_PATTERNS);x+=String.fromCharCode(48+ae%10);for(let fe of C)A+=fe;ae>=10&&(P|=1<<5-ee)}let H=xt.determineNumSysAndCheckDigit(x,P);return{rowOffset:A,resultString:H}}decodeEnd(p,v){return xt.findGuardPatternWithoutCounters(p,v,!0,xt.MIDDLE_END_PATTERN)}checkChecksum(p){return At.checkChecksum(xt.convertUPCEtoUPCA(p))}static determineNumSysAndCheckDigit(p,v){for(let x=0;x<=1;x++)for(let C=0;C<10;C++)if(v===this.NUMSYS_AND_CHECK_DIGIT_PATTERNS[x][C]){let E=String.fromCharCode(48+x),A=String.fromCharCode(48+C);return E+p+A}throw F.getNotFoundInstance()}getBarcodeFormat(){return ve.UPC_E}static convertUPCEtoUPCA(p){const v=p.slice(1,7).split("").map(E=>E.charCodeAt(0)),x=new Q;x.append(p.charAt(0));let C=v[5];switch(C){case 0:case 1:case 2:x.appendChars(v,0,2),x.append(C),x.append("0000"),x.appendChars(v,2,3);break;case 3:x.appendChars(v,0,3),x.append("00000"),x.appendChars(v,3,2);break;case 4:x.appendChars(v,0,4),x.append("00000"),x.append(v[4]);break;default:x.appendChars(v,0,5),x.append("0000"),x.append(C);break}return p.length>=8&&x.append(p.charAt(7)),x.toString()}}xt.MIDDLE_END_PATTERN=Int32Array.from([1,1,1,1,1,1]),xt.NUMSYS_AND_CHECK_DIGIT_PATTERNS=[Int32Array.from([56,52,50,49,44,38,35,42,41,37]),Int32Array.from([7,11,13,14,19,25,28,21,22,26])];class vt extends Se{constructor(p){super();let v=p==null?null:p.get(O.POSSIBLE_FORMATS),x=[];r(v)?(x.push(new _t),x.push(new dt),x.push(new Ht),x.push(new xt)):(v.indexOf(ve.EAN_13)>-1&&x.push(new _t),v.indexOf(ve.UPC_A)>-1&&x.push(new dt),v.indexOf(ve.EAN_8)>-1&&x.push(new Ht),v.indexOf(ve.UPC_E)>-1&&x.push(new xt)),this.readers=x}decodeRow(p,v,x){for(let C of this.readers)try{const E=C.decodeRow(p,v,x),A=E.getBarcodeFormat()===ve.EAN_13&&E.getText().charAt(0)==="0",P=x==null?null:x.get(O.POSSIBLE_FORMATS),H=P==null||P.includes(ve.UPC_A);if(A&&H){const ee=E.getRawBytes(),ae=new de(E.getText().substring(1),ee,ee?ee.length:null,E.getResultPoints(),ve.UPC_A);return ae.putAllMetadata(E.getResultMetadata()),ae}return E}catch{}throw new F}reset(){for(let p of this.readers)p.reset()}}class yt extends Se{constructor(){super(),this.decodeFinderCounters=new Int32Array(4),this.dataCharacterCounters=new Int32Array(8),this.oddRoundingErrors=new Array(4),this.evenRoundingErrors=new Array(4),this.oddCounts=new Array(this.dataCharacterCounters.length/2),this.evenCounts=new Array(this.dataCharacterCounters.length/2)}getDecodeFinderCounters(){return this.decodeFinderCounters}getDataCharacterCounters(){return this.dataCharacterCounters}getOddRoundingErrors(){return this.oddRoundingErrors}getEvenRoundingErrors(){return this.evenRoundingErrors}getOddCounts(){return this.oddCounts}getEvenCounts(){return this.evenCounts}parseFinderValue(p,v){for(let x=0;x<v.length;x++)if(Se.patternMatchVariance(p,v[x],yt.MAX_INDIVIDUAL_VARIANCE)<yt.MAX_AVG_VARIANCE)return x;throw new F}static count(p){return $e.sum(new Int32Array(p))}static increment(p,v){let x=0,C=v[0];for(let E=1;E<p.length;E++)v[E]>C&&(C=v[E],x=E);p[x]++}static decrement(p,v){let x=0,C=v[0];for(let E=1;E<p.length;E++)v[E]<C&&(C=v[E],x=E);p[x]--}static isFinderPattern(p){let v=p[0]+p[1],x=v+p[2]+p[3],C=v/x;if(C>=yt.MIN_FINDER_PATTERN_RATIO&&C<=yt.MAX_FINDER_PATTERN_RATIO){let E=Number.MAX_SAFE_INTEGER,A=Number.MIN_SAFE_INTEGER;for(let P of p)P>A&&(A=P),P<E&&(E=P);return A<10*E}return!1}}yt.MAX_AVG_VARIANCE=.2,yt.MAX_INDIVIDUAL_VARIANCE=.45,yt.MIN_FINDER_PATTERN_RATIO=9.5/12,yt.MAX_FINDER_PATTERN_RATIO=12.5/14;class Wt{constructor(p,v){this.value=p,this.checksumPortion=v}getValue(){return this.value}getChecksumPortion(){return this.checksumPortion}toString(){return this.value+"("+this.checksumPortion+")"}equals(p){if(!(p instanceof Wt))return!1;const v=p;return this.value===v.value&&this.checksumPortion===v.checksumPortion}hashCode(){return this.value^this.checksumPortion}}class qt{constructor(p,v,x,C,E){this.value=p,this.startEnd=v,this.value=p,this.startEnd=v,this.resultPoints=new Array,this.resultPoints.push(new Me(x,E)),this.resultPoints.push(new Me(C,E))}getValue(){return this.value}getStartEnd(){return this.startEnd}getResultPoints(){return this.resultPoints}equals(p){if(!(p instanceof qt))return!1;const v=p;return this.value===v.value}hashCode(){return this.value}}class Ct{constructor(){}static getRSSvalue(p,v,x){let C=0;for(let H of p)C+=H;let E=0,A=0,P=p.length;for(let H=0;H<P-1;H++){let ee;for(ee=1,A|=1<<H;ee<p[H];ee++,A&=~(1<<H)){let ae=Ct.combins(C-ee-1,P-H-2);if(x&&A===0&&C-ee-(P-H-1)>=P-H-1&&(ae-=Ct.combins(C-ee-(P-H),P-H-2)),P-H-1>1){let fe=0;for(let be=C-ee-(P-H-2);be>v;be--)fe+=Ct.combins(C-ee-be-1,P-H-3);ae-=fe*(P-1-H)}else C-ee>v&&ae--;E+=ae}C-=ee}return E}static combins(p,v){let x,C;p-v>v?(C=v,x=p-v):(C=p-v,x=v);let E=1,A=1;for(let P=p;P>x;P--)E*=P,A<=C&&(E/=A,A++);for(;A<=C;)E/=A,A++;return E}}class sn{static buildBitArray(p){let v=p.length*2-1;p[p.length-1].getRightChar()==null&&(v-=1);let x=12*v,C=new M(x),E=0,P=p[0].getRightChar().getValue();for(let H=11;H>=0;--H)(P&1<<H)!=0&&C.set(E),E++;for(let H=1;H<p.length;++H){let ee=p[H],ae=ee.getLeftChar().getValue();for(let fe=11;fe>=0;--fe)(ae&1<<fe)!=0&&C.set(E),E++;if(ee.getRightChar()!=null){let fe=ee.getRightChar().getValue();for(let be=11;be>=0;--be)(fe&1<<be)!=0&&C.set(E),E++}}return C}}class yn{constructor(p,v){v?this.decodedInformation=null:(this.finished=p,this.decodedInformation=v)}getDecodedInformation(){return this.decodedInformation}isFinished(){return this.finished}}class Jt{constructor(p){this.newPosition=p}getNewPosition(){return this.newPosition}}class jr extends Jt{constructor(p,v){super(p),this.value=v}getValue(){return this.value}isFNC1(){return this.value===jr.FNC1}}jr.FNC1="$";class Vr extends Jt{constructor(p,v,x){super(p),x?(this.remaining=!0,this.remainingValue=this.remainingValue):(this.remaining=!1,this.remainingValue=0),this.newString=v}getNewString(){return this.newString}isRemaining(){return this.remaining}getRemainingValue(){return this.remainingValue}}class Or extends Jt{constructor(p,v,x){if(super(p),v<0||v>10||x<0||x>10)throw new L;this.firstDigit=v,this.secondDigit=x}getFirstDigit(){return this.firstDigit}getSecondDigit(){return this.secondDigit}getValue(){return this.firstDigit*10+this.secondDigit}isFirstDigitFNC1(){return this.firstDigit===Or.FNC1}isSecondDigitFNC1(){return this.secondDigit===Or.FNC1}isAnyFNC1(){return this.firstDigit===Or.FNC1||this.secondDigit===Or.FNC1}}Or.FNC1=10;class Zt{constructor(){}static parseFieldsInGeneralPurpose(p){if(!p)return null;if(p.length<2)throw new F;let v=p.substring(0,2);for(let E of Zt.TWO_DIGIT_DATA_LENGTH)if(E[0]===v)return E[1]===Zt.VARIABLE_LENGTH?Zt.processVariableAI(2,E[2],p):Zt.processFixedAI(2,E[1],p);if(p.length<3)throw new F;let x=p.substring(0,3);for(let E of Zt.THREE_DIGIT_DATA_LENGTH)if(E[0]===x)return E[1]===Zt.VARIABLE_LENGTH?Zt.processVariableAI(3,E[2],p):Zt.processFixedAI(3,E[1],p);for(let E of Zt.THREE_DIGIT_PLUS_DIGIT_DATA_LENGTH)if(E[0]===x)return E[1]===Zt.VARIABLE_LENGTH?Zt.processVariableAI(4,E[2],p):Zt.processFixedAI(4,E[1],p);if(p.length<4)throw new F;let C=p.substring(0,4);for(let E of Zt.FOUR_DIGIT_DATA_LENGTH)if(E[0]===C)return E[1]===Zt.VARIABLE_LENGTH?Zt.processVariableAI(4,E[2],p):Zt.processFixedAI(4,E[1],p);throw new F}static processFixedAI(p,v,x){if(x.length<p)throw new F;let C=x.substring(0,p);if(x.length<p+v)throw new F;let E=x.substring(p,p+v),A=x.substring(p+v),P="("+C+")"+E,H=Zt.parseFieldsInGeneralPurpose(A);return H==null?P:P+H}static processVariableAI(p,v,x){let C=x.substring(0,p),E;x.length<p+v?E=x.length:E=p+v;let A=x.substring(p,E),P=x.substring(E),H="("+C+")"+A,ee=Zt.parseFieldsInGeneralPurpose(P);return ee==null?H:H+ee}}Zt.VARIABLE_LENGTH=[],Zt.TWO_DIGIT_DATA_LENGTH=[["00",18],["01",14],["02",14],["10",Zt.VARIABLE_LENGTH,20],["11",6],["12",6],["13",6],["15",6],["17",6],["20",2],["21",Zt.VARIABLE_LENGTH,20],["22",Zt.VARIABLE_LENGTH,29],["30",Zt.VARIABLE_LENGTH,8],["37",Zt.VARIABLE_LENGTH,8],["90",Zt.VARIABLE_LENGTH,30],["91",Zt.VARIABLE_LENGTH,30],["92",Zt.VARIABLE_LENGTH,30],["93",Zt.VARIABLE_LENGTH,30],["94",Zt.VARIABLE_LENGTH,30],["95",Zt.VARIABLE_LENGTH,30],["96",Zt.VARIABLE_LENGTH,30],["97",Zt.VARIABLE_LENGTH,3],["98",Zt.VARIABLE_LENGTH,30],["99",Zt.VARIABLE_LENGTH,30]],Zt.THREE_DIGIT_DATA_LENGTH=[["240",Zt.VARIABLE_LENGTH,30],["241",Zt.VARIABLE_LENGTH,30],["242",Zt.VARIABLE_LENGTH,6],["250",Zt.VARIABLE_LENGTH,30],["251",Zt.VARIABLE_LENGTH,30],["253",Zt.VARIABLE_LENGTH,17],["254",Zt.VARIABLE_LENGTH,20],["400",Zt.VARIABLE_LENGTH,30],["401",Zt.VARIABLE_LENGTH,30],["402",17],["403",Zt.VARIABLE_LENGTH,30],["410",13],["411",13],["412",13],["413",13],["414",13],["420",Zt.VARIABLE_LENGTH,20],["421",Zt.VARIABLE_LENGTH,15],["422",3],["423",Zt.VARIABLE_LENGTH,15],["424",3],["425",3],["426",3]],Zt.THREE_DIGIT_PLUS_DIGIT_DATA_LENGTH=[["310",6],["311",6],["312",6],["313",6],["314",6],["315",6],["316",6],["320",6],["321",6],["322",6],["323",6],["324",6],["325",6],["326",6],["327",6],["328",6],["329",6],["330",6],["331",6],["332",6],["333",6],["334",6],["335",6],["336",6],["340",6],["341",6],["342",6],["343",6],["344",6],["345",6],["346",6],["347",6],["348",6],["349",6],["350",6],["351",6],["352",6],["353",6],["354",6],["355",6],["356",6],["357",6],["360",6],["361",6],["362",6],["363",6],["364",6],["365",6],["366",6],["367",6],["368",6],["369",6],["390",Zt.VARIABLE_LENGTH,15],["391",Zt.VARIABLE_LENGTH,18],["392",Zt.VARIABLE_LENGTH,15],["393",Zt.VARIABLE_LENGTH,18],["703",Zt.VARIABLE_LENGTH,30]],Zt.FOUR_DIGIT_DATA_LENGTH=[["7001",13],["7002",Zt.VARIABLE_LENGTH,30],["7003",10],["8001",14],["8002",Zt.VARIABLE_LENGTH,20],["8003",Zt.VARIABLE_LENGTH,30],["8004",Zt.VARIABLE_LENGTH,30],["8005",6],["8006",18],["8007",Zt.VARIABLE_LENGTH,30],["8008",Zt.VARIABLE_LENGTH,12],["8018",18],["8020",Zt.VARIABLE_LENGTH,25],["8100",6],["8101",10],["8102",2],["8110",Zt.VARIABLE_LENGTH,70],["8200",Zt.VARIABLE_LENGTH,70]];class wl{constructor(p){this.buffer=new Q,this.information=p}decodeAllCodes(p,v){let x=v,C=null;do{let E=this.decodeGeneralPurposeField(x,C),A=Zt.parseFieldsInGeneralPurpose(E.getNewString());if(A!=null&&p.append(A),E.isRemaining()?C=""+E.getRemainingValue():C=null,x===E.getNewPosition())break;x=E.getNewPosition()}while(!0);return p.toString()}isStillNumeric(p){if(p+7>this.information.getSize())return p+4<=this.information.getSize();for(let v=p;v<p+3;++v)if(this.information.get(v))return!0;return this.information.get(p+3)}decodeNumeric(p){if(p+7>this.information.getSize()){let E=this.extractNumericValueFromBitArray(p,4);return E===0?new Or(this.information.getSize(),Or.FNC1,Or.FNC1):new Or(this.information.getSize(),E-1,Or.FNC1)}let v=this.extractNumericValueFromBitArray(p,7),x=(v-8)/11,C=(v-8)%11;return new Or(p+7,x,C)}extractNumericValueFromBitArray(p,v){return wl.extractNumericValueFromBitArray(this.information,p,v)}static extractNumericValueFromBitArray(p,v,x){let C=0;for(let E=0;E<x;++E)p.get(v+E)&&(C|=1<<x-E-1);return C}decodeGeneralPurposeField(p,v){this.buffer.setLengthToZero(),v!=null&&this.buffer.append(v),this.current.setPosition(p);let x=this.parseBlocks();return x!=null&&x.isRemaining()?new Vr(this.current.getPosition(),this.buffer.toString(),x.getRemainingValue()):new Vr(this.current.getPosition(),this.buffer.toString())}parseBlocks(){let p,v;do{let x=this.current.getPosition();if(this.current.isAlpha()?(v=this.parseAlphaBlock(),p=v.isFinished()):this.current.isIsoIec646()?(v=this.parseIsoIec646Block(),p=v.isFinished()):(v=this.parseNumericBlock(),p=v.isFinished()),!(x!==this.current.getPosition())&&!p)break}while(!p);return v.getDecodedInformation()}parseNumericBlock(){for(;this.isStillNumeric(this.current.getPosition());){let p=this.decodeNumeric(this.current.getPosition());if(this.current.setPosition(p.getNewPosition()),p.isFirstDigitFNC1()){let v;return p.isSecondDigitFNC1()?v=new Vr(this.current.getPosition(),this.buffer.toString()):v=new Vr(this.current.getPosition(),this.buffer.toString(),p.getSecondDigit()),new yn(!0,v)}if(this.buffer.append(p.getFirstDigit()),p.isSecondDigitFNC1()){let v=new Vr(this.current.getPosition(),this.buffer.toString());return new yn(!0,v)}this.buffer.append(p.getSecondDigit())}return this.isNumericToAlphaNumericLatch(this.current.getPosition())&&(this.current.setAlpha(),this.current.incrementPosition(4)),new yn(!1)}parseIsoIec646Block(){for(;this.isStillIsoIec646(this.current.getPosition());){let p=this.decodeIsoIec646(this.current.getPosition());if(this.current.setPosition(p.getNewPosition()),p.isFNC1()){let v=new Vr(this.current.getPosition(),this.buffer.toString());return new yn(!0,v)}this.buffer.append(p.getValue())}return this.isAlphaOr646ToNumericLatch(this.current.getPosition())?(this.current.incrementPosition(3),this.current.setNumeric()):this.isAlphaTo646ToAlphaLatch(this.current.getPosition())&&(this.current.getPosition()+5<this.information.getSize()?this.current.incrementPosition(5):this.current.setPosition(this.information.getSize()),this.current.setAlpha()),new yn(!1)}parseAlphaBlock(){for(;this.isStillAlpha(this.current.getPosition());){let p=this.decodeAlphanumeric(this.current.getPosition());if(this.current.setPosition(p.getNewPosition()),p.isFNC1()){let v=new Vr(this.current.getPosition(),this.buffer.toString());return new yn(!0,v)}this.buffer.append(p.getValue())}return this.isAlphaOr646ToNumericLatch(this.current.getPosition())?(this.current.incrementPosition(3),this.current.setNumeric()):this.isAlphaTo646ToAlphaLatch(this.current.getPosition())&&(this.current.getPosition()+5<this.information.getSize()?this.current.incrementPosition(5):this.current.setPosition(this.information.getSize()),this.current.setIsoIec646()),new yn(!1)}isStillIsoIec646(p){if(p+5>this.information.getSize())return!1;let v=this.extractNumericValueFromBitArray(p,5);if(v>=5&&v<16)return!0;if(p+7>this.information.getSize())return!1;let x=this.extractNumericValueFromBitArray(p,7);if(x>=64&&x<116)return!0;if(p+8>this.information.getSize())return!1;let C=this.extractNumericValueFromBitArray(p,8);return C>=232&&C<253}decodeIsoIec646(p){let v=this.extractNumericValueFromBitArray(p,5);if(v===15)return new jr(p+5,jr.FNC1);if(v>=5&&v<15)return new jr(p+5,"0"+(v-5));let x=this.extractNumericValueFromBitArray(p,7);if(x>=64&&x<90)return new jr(p+7,""+(x+1));if(x>=90&&x<116)return new jr(p+7,""+(x+7));let C=this.extractNumericValueFromBitArray(p,8),E;switch(C){case 232:E="!";break;case 233:E='"';break;case 234:E="%";break;case 235:E="&";break;case 236:E="'";break;case 237:E="(";break;case 238:E=")";break;case 239:E="*";break;case 240:E="+";break;case 241:E=",";break;case 242:E="-";break;case 243:E=".";break;case 244:E="/";break;case 245:E=":";break;case 246:E=";";break;case 247:E="<";break;case 248:E="=";break;case 249:E=">";break;case 250:E="?";break;case 251:E="_";break;case 252:E=" ";break;default:throw new L}return new jr(p+8,E)}isStillAlpha(p){if(p+5>this.information.getSize())return!1;let v=this.extractNumericValueFromBitArray(p,5);if(v>=5&&v<16)return!0;if(p+6>this.information.getSize())return!1;let x=this.extractNumericValueFromBitArray(p,6);return x>=16&&x<63}decodeAlphanumeric(p){let v=this.extractNumericValueFromBitArray(p,5);if(v===15)return new jr(p+5,jr.FNC1);if(v>=5&&v<15)return new jr(p+5,"0"+(v-5));let x=this.extractNumericValueFromBitArray(p,6);if(x>=32&&x<58)return new jr(p+6,""+(x+33));let C;switch(x){case 58:C="*";break;case 59:C=",";break;case 60:C="-";break;case 61:C=".";break;case 62:C="/";break;default:throw new Ae("Decoding invalid alphanumeric value: "+x)}return new jr(p+6,C)}isAlphaTo646ToAlphaLatch(p){if(p+1>this.information.getSize())return!1;for(let v=0;v<5&&v+p<this.information.getSize();++v)if(v===2){if(!this.information.get(p+2))return!1}else if(this.information.get(p+v))return!1;return!0}isAlphaOr646ToNumericLatch(p){if(p+3>this.information.getSize())return!1;for(let v=p;v<p+3;++v)if(this.information.get(v))return!1;return!0}isNumericToAlphaNumericLatch(p){if(p+1>this.information.getSize())return!1;for(let v=0;v<4&&v+p<this.information.getSize();++v)if(this.information.get(p+v))return!1;return!0}}class vv{constructor(p){this.information=p,this.generalDecoder=new wl(p)}getInformation(){return this.information}getGeneralDecoder(){return this.generalDecoder}}class pa extends vv{constructor(p){super(p)}encodeCompressedGtin(p,v){p.append("(01)");let x=p.length();p.append("9"),this.encodeCompressedGtinWithoutAI(p,v,x)}encodeCompressedGtinWithoutAI(p,v,x){for(let C=0;C<4;++C){let E=this.getGeneralDecoder().extractNumericValueFromBitArray(v+10*C,10);E/100===0&&p.append("0"),E/10===0&&p.append("0"),p.append(E)}pa.appendCheckDigit(p,x)}static appendCheckDigit(p,v){let x=0;for(let C=0;C<13;C++){let E=p.charAt(C+v).charCodeAt(0)-48;x+=(C&1)===0?3*E:E}x=10-x%10,x===10&&(x=0),p.append(x)}}pa.GTIN_SIZE=40;class fi extends pa{constructor(p){super(p)}parseInformation(){let p=new Q;p.append("(01)");let v=p.length(),x=this.getGeneralDecoder().extractNumericValueFromBitArray(fi.HEADER_SIZE,4);return p.append(x),this.encodeCompressedGtinWithoutAI(p,fi.HEADER_SIZE+4,v),this.getGeneralDecoder().decodeAllCodes(p,fi.HEADER_SIZE+44)}}fi.HEADER_SIZE=4;class Uh extends vv{constructor(p){super(p)}parseInformation(){let p=new Q;return this.getGeneralDecoder().decodeAllCodes(p,Uh.HEADER_SIZE)}}Uh.HEADER_SIZE=5;class $h extends pa{constructor(p){super(p)}encodeCompressedWeight(p,v,x){let C=this.getGeneralDecoder().extractNumericValueFromBitArray(v,x);this.addWeightCode(p,C);let E=this.checkWeight(C),A=1e5;for(let P=0;P<5;++P)E/A===0&&p.append("0"),A/=10;p.append(E)}}class bl extends $h{constructor(p){super(p)}parseInformation(){if(this.getInformation().getSize()!=bl.HEADER_SIZE+$h.GTIN_SIZE+bl.WEIGHT_SIZE)throw new F;let p=new Q;return this.encodeCompressedGtin(p,bl.HEADER_SIZE),this.encodeCompressedWeight(p,bl.HEADER_SIZE+$h.GTIN_SIZE,bl.WEIGHT_SIZE),p.toString()}}bl.HEADER_SIZE=5,bl.WEIGHT_SIZE=15;class Gx extends bl{constructor(p){super(p)}addWeightCode(p,v){p.append("(3103)")}checkWeight(p){return p}}class qx extends bl{constructor(p){super(p)}addWeightCode(p,v){v<1e4?p.append("(3202)"):p.append("(3203)")}checkWeight(p){return p<1e4?p:p-1e4}}class Oi extends pa{constructor(p){super(p)}parseInformation(){if(this.getInformation().getSize()<Oi.HEADER_SIZE+pa.GTIN_SIZE)throw new F;let p=new Q;this.encodeCompressedGtin(p,Oi.HEADER_SIZE);let v=this.getGeneralDecoder().extractNumericValueFromBitArray(Oi.HEADER_SIZE+pa.GTIN_SIZE,Oi.LAST_DIGIT_SIZE);p.append("(392"),p.append(v),p.append(")");let x=this.getGeneralDecoder().decodeGeneralPurposeField(Oi.HEADER_SIZE+pa.GTIN_SIZE+Oi.LAST_DIGIT_SIZE,null);return p.append(x.getNewString()),p.toString()}}Oi.HEADER_SIZE=8,Oi.LAST_DIGIT_SIZE=2;class vs extends pa{constructor(p){super(p)}parseInformation(){if(this.getInformation().getSize()<vs.HEADER_SIZE+pa.GTIN_SIZE)throw new F;let p=new Q;this.encodeCompressedGtin(p,vs.HEADER_SIZE);let v=this.getGeneralDecoder().extractNumericValueFromBitArray(vs.HEADER_SIZE+pa.GTIN_SIZE,vs.LAST_DIGIT_SIZE);p.append("(393"),p.append(v),p.append(")");let x=this.getGeneralDecoder().extractNumericValueFromBitArray(vs.HEADER_SIZE+pa.GTIN_SIZE+vs.LAST_DIGIT_SIZE,vs.FIRST_THREE_DIGITS_SIZE);x/100==0&&p.append("0"),x/10==0&&p.append("0"),p.append(x);let C=this.getGeneralDecoder().decodeGeneralPurposeField(vs.HEADER_SIZE+pa.GTIN_SIZE+vs.LAST_DIGIT_SIZE+vs.FIRST_THREE_DIGITS_SIZE,null);return p.append(C.getNewString()),p.toString()}}vs.HEADER_SIZE=8,vs.LAST_DIGIT_SIZE=2,vs.FIRST_THREE_DIGITS_SIZE=10;class Hr extends $h{constructor(p,v,x){super(p),this.dateCode=x,this.firstAIdigits=v}parseInformation(){if(this.getInformation().getSize()!=Hr.HEADER_SIZE+Hr.GTIN_SIZE+Hr.WEIGHT_SIZE+Hr.DATE_SIZE)throw new F;let p=new Q;return this.encodeCompressedGtin(p,Hr.HEADER_SIZE),this.encodeCompressedWeight(p,Hr.HEADER_SIZE+Hr.GTIN_SIZE,Hr.WEIGHT_SIZE),this.encodeCompressedDate(p,Hr.HEADER_SIZE+Hr.GTIN_SIZE+Hr.WEIGHT_SIZE),p.toString()}encodeCompressedDate(p,v){let x=this.getGeneralDecoder().extractNumericValueFromBitArray(v,Hr.DATE_SIZE);if(x==38400)return;p.append("("),p.append(this.dateCode),p.append(")");let C=x%32;x/=32;let E=x%12+1;x/=12;let A=x;A/10==0&&p.append("0"),p.append(A),E/10==0&&p.append("0"),p.append(E),C/10==0&&p.append("0"),p.append(C)}addWeightCode(p,v){p.append("("),p.append(this.firstAIdigits),p.append(v/1e5),p.append(")")}checkWeight(p){return p%1e5}}Hr.HEADER_SIZE=8,Hr.WEIGHT_SIZE=20,Hr.DATE_SIZE=16;function Kx(ue){try{if(ue.get(1))return new fi(ue);if(!ue.get(2))return new Uh(ue);switch(wl.extractNumericValueFromBitArray(ue,1,4)){case 4:return new Gx(ue);case 5:return new qx(ue)}switch(wl.extractNumericValueFromBitArray(ue,1,5)){case 12:return new Oi(ue);case 13:return new vs(ue)}switch(wl.extractNumericValueFromBitArray(ue,1,7)){case 56:return new Hr(ue,"310","11");case 57:return new Hr(ue,"320","11");case 58:return new Hr(ue,"310","13");case 59:return new Hr(ue,"320","13");case 60:return new Hr(ue,"310","15");case 61:return new Hr(ue,"320","15");case 62:return new Hr(ue,"310","17");case 63:return new Hr(ue,"320","17")}}catch(p){throw console.log(p),new Ae("unknown decoder: "+ue)}}class Nr{constructor(p,v,x,C){this.leftchar=p,this.rightchar=v,this.finderpattern=x,this.maybeLast=C}mayBeLast(){return this.maybeLast}getLeftChar(){return this.leftchar}getRightChar(){return this.rightchar}getFinderPattern(){return this.finderpattern}mustBeLast(){return this.rightchar==null}toString(){return"[ "+this.leftchar+", "+this.rightchar+" : "+(this.finderpattern==null?"null":this.finderpattern.getValue())+" ]"}static equals(p,v){return p instanceof Nr?Nr.equalsOrNull(p.leftchar,v.leftchar)&&Nr.equalsOrNull(p.rightchar,v.rightchar)&&Nr.equalsOrNull(p.finderpattern,v.finderpattern):!1}static equalsOrNull(p,v){return p===null?v===null:Nr.equals(p,v)}hashCode(){return this.leftchar.getValue()^this.rightchar.getValue()^this.finderpattern.getValue()}}class wv{constructor(p,v,x){this.pairs=p,this.rowNumber=v,this.wasReversed=x}getPairs(){return this.pairs}getRowNumber(){return this.rowNumber}isReversed(){return this.wasReversed}isEquivalent(p){return this.checkEqualitity(this,p)}toString(){return"{ "+this.pairs+" }"}equals(p,v){return p instanceof wv?this.checkEqualitity(p,v)&&p.wasReversed===v.wasReversed:!1}checkEqualitity(p,v){if(!p||!v)return;let x;return p.forEach((C,E)=>{v.forEach(A=>{C.getLeftChar().getValue()===A.getLeftChar().getValue()&&C.getRightChar().getValue()===A.getRightChar().getValue()&&C.getFinderPatter().getValue()===A.getFinderPatter().getValue()&&(x=!0)})}),x}}class jt extends yt{constructor(p){super(...arguments),this.pairs=new Array(jt.MAX_PAIRS),this.rows=new Array,this.startEnd=[2],this.verbose=p===!0}decodeRow(p,v,x){this.pairs.length=0,this.startFromEven=!1;try{return jt.constructResult(this.decodeRow2pairs(p,v))}catch(C){this.verbose&&console.log(C)}return this.pairs.length=0,this.startFromEven=!0,jt.constructResult(this.decodeRow2pairs(p,v))}reset(){this.pairs.length=0,this.rows.length=0}decodeRow2pairs(p,v){let x=!1;for(;!x;)try{this.pairs.push(this.retrieveNextPair(v,this.pairs,p))}catch(E){if(E instanceof F){if(!this.pairs.length)throw new F;x=!0}}if(this.checkChecksum())return this.pairs;let C;if(this.rows.length?C=!0:C=!1,this.storeRow(p,!1),C){let E=this.checkRowsBoolean(!1);if(E!=null||(E=this.checkRowsBoolean(!0),E!=null))return E}throw new F}checkRowsBoolean(p){if(this.rows.length>25)return this.rows.length=0,null;this.pairs.length=0,p&&(this.rows=this.rows.reverse());let v=null;try{v=this.checkRows(new Array,0)}catch(x){this.verbose&&console.log(x)}return p&&(this.rows=this.rows.reverse()),v}checkRows(p,v){for(let x=v;x<this.rows.length;x++){let C=this.rows[x];this.pairs.length=0;for(let A of p)this.pairs.push(A.getPairs());if(this.pairs.push(C.getPairs()),!jt.isValidSequence(this.pairs))continue;if(this.checkChecksum())return this.pairs;let E=new Array(p);E.push(C);try{return this.checkRows(E,x+1)}catch(A){this.verbose&&console.log(A)}}throw new F}static isValidSequence(p){for(let v of jt.FINDER_PATTERN_SEQUENCES){if(p.length>v.length)continue;let x=!0;for(let C=0;C<p.length;C++)if(p[C].getFinderPattern().getValue()!=v[C]){x=!1;break}if(x)return!0}return!1}storeRow(p,v){let x=0,C=!1,E=!1;for(;x<this.rows.length;){let A=this.rows[x];if(A.getRowNumber()>p){E=A.isEquivalent(this.pairs);break}C=A.isEquivalent(this.pairs),x++}E||C||jt.isPartialRow(this.pairs,this.rows)||(this.rows.push(x,new wv(this.pairs,p,v)),this.removePartialRows(this.pairs,this.rows))}removePartialRows(p,v){for(let x of v)if(x.getPairs().length!==p.length){for(let C of x.getPairs())for(let E of p)if(Nr.equals(C,E))break}}static isPartialRow(p,v){for(let x of v){let C=!0;for(let E of p){let A=!1;for(let P of x.getPairs())if(E.equals(P)){A=!0;break}if(!A){C=!1;break}}if(C)return!0}return!1}getRows(){return this.rows}static constructResult(p){let v=sn.buildBitArray(p),C=Kx(v).parseInformation(),E=p[0].getFinderPattern().getResultPoints(),A=p[p.length-1].getFinderPattern().getResultPoints(),P=[E[0],E[1],A[0],A[1]];return new de(C,null,null,P,ve.RSS_EXPANDED,null)}checkChecksum(){let p=this.pairs.get(0),v=p.getLeftChar(),x=p.getRightChar();if(x==null)return!1;let C=x.getChecksumPortion(),E=2;for(let P=1;P<this.pairs.size();++P){let H=this.pairs.get(P);C+=H.getLeftChar().getChecksumPortion(),E++;let ee=H.getRightChar();ee!=null&&(C+=ee.getChecksumPortion(),E++)}return C%=211,211*(E-4)+C==v.getValue()}static getNextSecondBar(p,v){let x;return p.get(v)?(x=p.getNextUnset(v),x=p.getNextSet(x)):(x=p.getNextSet(v),x=p.getNextUnset(x)),x}retrieveNextPair(p,v,x){let C=v.length%2==0;this.startFromEven&&(C=!C);let E,A=!0,P=-1;do this.findNextPair(p,v,P),E=this.parseFoundFinderPattern(p,x,C),E==null?P=jt.getNextSecondBar(p,this.startEnd[0]):A=!1;while(A);let H=this.decodeDataCharacter(p,E,C,!0);if(!this.isEmptyPair(v)&&v[v.length-1].mustBeLast())throw new F;let ee;try{ee=this.decodeDataCharacter(p,E,C,!1)}catch(ae){ee=null,this.verbose&&console.log(ae)}return new Nr(H,ee,E,!0)}isEmptyPair(p){return p.length===0}findNextPair(p,v,x){let C=this.getDecodeFinderCounters();C[0]=0,C[1]=0,C[2]=0,C[3]=0;let E=p.getSize(),A;x>=0?A=x:this.isEmptyPair(v)?A=0:A=v[v.length-1].getFinderPattern().getStartEnd()[1];let P=v.length%2!=0;this.startFromEven&&(P=!P);let H=!1;for(;A<E&&(H=!p.get(A),!!H);)A++;let ee=0,ae=A;for(let fe=A;fe<E;fe++)if(p.get(fe)!=H)C[ee]++;else{if(ee==3){if(P&&jt.reverseCounters(C),jt.isFinderPattern(C)){this.startEnd[0]=ae,this.startEnd[1]=fe;return}P&&jt.reverseCounters(C),ae+=C[0]+C[1],C[0]=C[2],C[1]=C[3],C[2]=0,C[3]=0,ee--}else ee++;C[ee]=1,H=!H}throw new F}static reverseCounters(p){let v=p.length;for(let x=0;x<v/2;++x){let C=p[x];p[x]=p[v-x-1],p[v-x-1]=C}}parseFoundFinderPattern(p,v,x){let C,E,A;if(x){let ee=this.startEnd[0]-1;for(;ee>=0&&!p.get(ee);)ee--;ee++,C=this.startEnd[0]-ee,E=ee,A=this.startEnd[1]}else E=this.startEnd[0],A=p.getNextUnset(this.startEnd[1]+1),C=A-this.startEnd[1];let P=this.getDecodeFinderCounters();b.arraycopy(P,0,P,1,P.length-1),P[0]=C;let H;try{H=this.parseFinderValue(P,jt.FINDER_PATTERNS)}catch{return null}return new qt(H,[E,A],E,A,v)}decodeDataCharacter(p,v,x,C){let E=this.getDataCharacterCounters();for(let Cr=0;Cr<E.length;Cr++)E[Cr]=0;if(C)jt.recordPatternInReverse(p,v.getStartEnd()[0],E);else{jt.recordPattern(p,v.getStartEnd()[1],E);for(let Cr=0,yo=E.length-1;Cr<yo;Cr++,yo--){let Ys=E[Cr];E[Cr]=E[yo],E[yo]=Ys}}let A=17,P=$e.sum(new Int32Array(E))/A,H=(v.getStartEnd()[1]-v.getStartEnd()[0])/15;if(Math.abs(P-H)/H>.3)throw new F;let ee=this.getOddCounts(),ae=this.getEvenCounts(),fe=this.getOddRoundingErrors(),be=this.getEvenRoundingErrors();for(let Cr=0;Cr<E.length;Cr++){let yo=1*E[Cr]/P,Ys=yo+.5;if(Ys<1){if(yo<.3)throw new F;Ys=1}else if(Ys>8){if(yo>8.7)throw new F;Ys=8}let Nf=Cr/2;(Cr&1)==0?(ee[Nf]=Ys,fe[Nf]=yo-Ys):(ae[Nf]=Ys,be[Nf]=yo-Ys)}this.adjustOddEvenCounts(A);let _e=4*v.getValue()+(x?0:2)+(C?0:1)-1,He=0,Ge=0;for(let Cr=ee.length-1;Cr>=0;Cr--){if(jt.isNotA1left(v,x,C)){let yo=jt.WEIGHTS[_e][2*Cr];Ge+=ee[Cr]*yo}He+=ee[Cr]}let tt=0;for(let Cr=ae.length-1;Cr>=0;Cr--)if(jt.isNotA1left(v,x,C)){let yo=jt.WEIGHTS[_e][2*Cr+1];tt+=ae[Cr]*yo}let lt=Ge+tt;if((He&1)!=0||He>13||He<4)throw new F;let Lt=(13-He)/2,zt=jt.SYMBOL_WIDEST[Lt],Nt=9-zt,Gn=Ct.getRSSvalue(ee,zt,!0),Rn=Ct.getRSSvalue(ae,Nt,!1),ma=jt.EVEN_TOTAL_SUBSET[Lt],$i=jt.GSUM[Lt],zo=Gn*ma+Rn+$i;return new Wt(zo,lt)}static isNotA1left(p,v,x){return!(p.getValue()==0&&v&&x)}adjustOddEvenCounts(p){let v=$e.sum(new Int32Array(this.getOddCounts())),x=$e.sum(new Int32Array(this.getEvenCounts())),C=!1,E=!1;v>13?E=!0:v<4&&(C=!0);let A=!1,P=!1;x>13?P=!0:x<4&&(A=!0);let H=v+x-p,ee=(v&1)==1,ae=(x&1)==0;if(H==1)if(ee){if(ae)throw new F;E=!0}else{if(!ae)throw new F;P=!0}else if(H==-1)if(ee){if(ae)throw new F;C=!0}else{if(!ae)throw new F;A=!0}else if(H==0){if(ee){if(!ae)throw new F;v<x?(C=!0,P=!0):(E=!0,A=!0)}else if(ae)throw new F}else throw new F;if(C){if(E)throw new F;jt.increment(this.getOddCounts(),this.getOddRoundingErrors())}if(E&&jt.decrement(this.getOddCounts(),this.getOddRoundingErrors()),A){if(P)throw new F;jt.increment(this.getEvenCounts(),this.getOddRoundingErrors())}P&&jt.decrement(this.getEvenCounts(),this.getEvenRoundingErrors())}}jt.SYMBOL_WIDEST=[7,5,4,3,1],jt.EVEN_TOTAL_SUBSET=[4,20,52,104,204],jt.GSUM=[0,348,1388,2948,3988],jt.FINDER_PATTERNS=[Int32Array.from([1,8,4,1]),Int32Array.from([3,6,4,1]),Int32Array.from([3,4,6,1]),Int32Array.from([3,2,8,1]),Int32Array.from([2,6,5,1]),Int32Array.from([2,2,9,1])],jt.WEIGHTS=[[1,3,9,27,81,32,96,77],[20,60,180,118,143,7,21,63],[189,145,13,39,117,140,209,205],[193,157,49,147,19,57,171,91],[62,186,136,197,169,85,44,132],[185,133,188,142,4,12,36,108],[113,128,173,97,80,29,87,50],[150,28,84,41,123,158,52,156],[46,138,203,187,139,206,196,166],[76,17,51,153,37,111,122,155],[43,129,176,106,107,110,119,146],[16,48,144,10,30,90,59,177],[109,116,137,200,178,112,125,164],[70,210,208,202,184,130,179,115],[134,191,151,31,93,68,204,190],[148,22,66,198,172,94,71,2],[6,18,54,162,64,192,154,40],[120,149,25,75,14,42,126,167],[79,26,78,23,69,207,199,175],[103,98,83,38,114,131,182,124],[161,61,183,127,170,88,53,159],[55,165,73,8,24,72,5,15],[45,135,194,160,58,174,100,89]],jt.FINDER_PAT_A=0,jt.FINDER_PAT_B=1,jt.FINDER_PAT_C=2,jt.FINDER_PAT_D=3,jt.FINDER_PAT_E=4,jt.FINDER_PAT_F=5,jt.FINDER_PATTERN_SEQUENCES=[[jt.FINDER_PAT_A,jt.FINDER_PAT_A],[jt.FINDER_PAT_A,jt.FINDER_PAT_B,jt.FINDER_PAT_B],[jt.FINDER_PAT_A,jt.FINDER_PAT_C,jt.FINDER_PAT_B,jt.FINDER_PAT_D],[jt.FINDER_PAT_A,jt.FINDER_PAT_E,jt.FINDER_PAT_B,jt.FINDER_PAT_D,jt.FINDER_PAT_C],[jt.FINDER_PAT_A,jt.FINDER_PAT_E,jt.FINDER_PAT_B,jt.FINDER_PAT_D,jt.FINDER_PAT_D,jt.FINDER_PAT_F],[jt.FINDER_PAT_A,jt.FINDER_PAT_E,jt.FINDER_PAT_B,jt.FINDER_PAT_D,jt.FINDER_PAT_E,jt.FINDER_PAT_F,jt.FINDER_PAT_F],[jt.FINDER_PAT_A,jt.FINDER_PAT_A,jt.FINDER_PAT_B,jt.FINDER_PAT_B,jt.FINDER_PAT_C,jt.FINDER_PAT_C,jt.FINDER_PAT_D,jt.FINDER_PAT_D],[jt.FINDER_PAT_A,jt.FINDER_PAT_A,jt.FINDER_PAT_B,jt.FINDER_PAT_B,jt.FINDER_PAT_C,jt.FINDER_PAT_C,jt.FINDER_PAT_D,jt.FINDER_PAT_E,jt.FINDER_PAT_E],[jt.FINDER_PAT_A,jt.FINDER_PAT_A,jt.FINDER_PAT_B,jt.FINDER_PAT_B,jt.FINDER_PAT_C,jt.FINDER_PAT_C,jt.FINDER_PAT_D,jt.FINDER_PAT_E,jt.FINDER_PAT_F,jt.FINDER_PAT_F],[jt.FINDER_PAT_A,jt.FINDER_PAT_A,jt.FINDER_PAT_B,jt.FINDER_PAT_B,jt.FINDER_PAT_C,jt.FINDER_PAT_D,jt.FINDER_PAT_D,jt.FINDER_PAT_E,jt.FINDER_PAT_E,jt.FINDER_PAT_F,jt.FINDER_PAT_F]],jt.MAX_PAIRS=11;class Zx extends Wt{constructor(p,v,x){super(p,v),this.count=0,this.finderPattern=x}getFinderPattern(){return this.finderPattern}getCount(){return this.count}incrementCount(){this.count++}}class zr extends yt{constructor(){super(...arguments),this.possibleLeftPairs=[],this.possibleRightPairs=[]}decodeRow(p,v,x){const C=this.decodePair(v,!1,p,x);zr.addOrTally(this.possibleLeftPairs,C),v.reverse();let E=this.decodePair(v,!0,p,x);zr.addOrTally(this.possibleRightPairs,E),v.reverse();for(let A of this.possibleLeftPairs)if(A.getCount()>1){for(let P of this.possibleRightPairs)if(P.getCount()>1&&zr.checkChecksum(A,P))return zr.constructResult(A,P)}throw new F}static addOrTally(p,v){if(v==null)return;let x=!1;for(let C of p)if(C.getValue()===v.getValue()){C.incrementCount(),x=!0;break}x||p.push(v)}reset(){this.possibleLeftPairs.length=0,this.possibleRightPairs.length=0}static constructResult(p,v){let x=4537077*p.getValue()+v.getValue(),C=new String(x).toString(),E=new Q;for(let ee=13-C.length;ee>0;ee--)E.append("0");E.append(C);let A=0;for(let ee=0;ee<13;ee++){let ae=E.charAt(ee).charCodeAt(0)-48;A+=(ee&1)===0?3*ae:ae}A=10-A%10,A===10&&(A=0),E.append(A.toString());let P=p.getFinderPattern().getResultPoints(),H=v.getFinderPattern().getResultPoints();return new de(E.toString(),null,0,[P[0],P[1],H[0],H[1]],ve.RSS_14,new Date().getTime())}static checkChecksum(p,v){let x=(p.getChecksumPortion()+16*v.getChecksumPortion())%79,C=9*p.getFinderPattern().getValue()+v.getFinderPattern().getValue();return C>72&&C--,C>8&&C--,x===C}decodePair(p,v,x,C){try{let E=this.findFinderPattern(p,v),A=this.parseFoundFinderPattern(p,x,v,E),P=C==null?null:C.get(O.NEED_RESULT_POINT_CALLBACK);if(P!=null){let ae=(E[0]+E[1])/2;v&&(ae=p.getSize()-1-ae),P.foundPossibleResultPoint(new Me(ae,x))}let H=this.decodeDataCharacter(p,A,!0),ee=this.decodeDataCharacter(p,A,!1);return new Zx(1597*H.getValue()+ee.getValue(),H.getChecksumPortion()+4*ee.getChecksumPortion(),A)}catch{return null}}decodeDataCharacter(p,v,x){let C=this.getDataCharacterCounters();for(let tt=0;tt<C.length;tt++)C[tt]=0;if(x)Se.recordPatternInReverse(p,v.getStartEnd()[0],C);else{Se.recordPattern(p,v.getStartEnd()[1]+1,C);for(let tt=0,lt=C.length-1;tt<lt;tt++,lt--){let Lt=C[tt];C[tt]=C[lt],C[lt]=Lt}}let E=x?16:15,A=$e.sum(new Int32Array(C))/E,P=this.getOddCounts(),H=this.getEvenCounts(),ee=this.getOddRoundingErrors(),ae=this.getEvenRoundingErrors();for(let tt=0;tt<C.length;tt++){let lt=C[tt]/A,Lt=Math.floor(lt+.5);Lt<1?Lt=1:Lt>8&&(Lt=8);let zt=Math.floor(tt/2);(tt&1)===0?(P[zt]=Lt,ee[zt]=lt-Lt):(H[zt]=Lt,ae[zt]=lt-Lt)}this.adjustOddEvenCounts(x,E);let fe=0,be=0;for(let tt=P.length-1;tt>=0;tt--)be*=9,be+=P[tt],fe+=P[tt];let _e=0,He=0;for(let tt=H.length-1;tt>=0;tt--)_e*=9,_e+=H[tt],He+=H[tt];let Ge=be+3*_e;if(x){if((fe&1)!==0||fe>12||fe<4)throw new F;let tt=(12-fe)/2,lt=zr.OUTSIDE_ODD_WIDEST[tt],Lt=9-lt,zt=Ct.getRSSvalue(P,lt,!1),Nt=Ct.getRSSvalue(H,Lt,!0),Gn=zr.OUTSIDE_EVEN_TOTAL_SUBSET[tt],Rn=zr.OUTSIDE_GSUM[tt];return new Wt(zt*Gn+Nt+Rn,Ge)}else{if((He&1)!==0||He>10||He<4)throw new F;let tt=(10-He)/2,lt=zr.INSIDE_ODD_WIDEST[tt],Lt=9-lt,zt=Ct.getRSSvalue(P,lt,!0),Nt=Ct.getRSSvalue(H,Lt,!1),Gn=zr.INSIDE_ODD_TOTAL_SUBSET[tt],Rn=zr.INSIDE_GSUM[tt];return new Wt(Nt*Gn+zt+Rn,Ge)}}findFinderPattern(p,v){let x=this.getDecodeFinderCounters();x[0]=0,x[1]=0,x[2]=0,x[3]=0;let C=p.getSize(),E=!1,A=0;for(;A<C&&(E=!p.get(A),v!==E);)A++;let P=0,H=A;for(let ee=A;ee<C;ee++)if(p.get(ee)!==E)x[P]++;else{if(P===3){if(yt.isFinderPattern(x))return[H,ee];H+=x[0]+x[1],x[0]=x[2],x[1]=x[3],x[2]=0,x[3]=0,P--}else P++;x[P]=1,E=!E}throw new F}parseFoundFinderPattern(p,v,x,C){let E=p.get(C[0]),A=C[0]-1;for(;A>=0&&E!==p.get(A);)A--;A++;const P=C[0]-A,H=this.getDecodeFinderCounters(),ee=new Int32Array(H.length);b.arraycopy(H,0,ee,1,H.length-1),ee[0]=P;const ae=this.parseFinderValue(ee,zr.FINDER_PATTERNS);let fe=A,be=C[1];return x&&(fe=p.getSize()-1-fe,be=p.getSize()-1-be),new qt(ae,[A,C[1]],fe,be,v)}adjustOddEvenCounts(p,v){let x=$e.sum(new Int32Array(this.getOddCounts())),C=$e.sum(new Int32Array(this.getEvenCounts())),E=!1,A=!1,P=!1,H=!1;p?(x>12?A=!0:x<4&&(E=!0),C>12?H=!0:C<4&&(P=!0)):(x>11?A=!0:x<5&&(E=!0),C>10?H=!0:C<4&&(P=!0));let ee=x+C-v,ae=(x&1)===(p?1:0),fe=(C&1)===1;if(ee===1)if(ae){if(fe)throw new F;A=!0}else{if(!fe)throw new F;H=!0}else if(ee===-1)if(ae){if(fe)throw new F;E=!0}else{if(!fe)throw new F;P=!0}else if(ee===0){if(ae){if(!fe)throw new F;x<C?(E=!0,H=!0):(A=!0,P=!0)}else if(fe)throw new F}else throw new F;if(E){if(A)throw new F;yt.increment(this.getOddCounts(),this.getOddRoundingErrors())}if(A&&yt.decrement(this.getOddCounts(),this.getOddRoundingErrors()),P){if(H)throw new F;yt.increment(this.getEvenCounts(),this.getOddRoundingErrors())}H&&yt.decrement(this.getEvenCounts(),this.getEvenRoundingErrors())}}zr.OUTSIDE_EVEN_TOTAL_SUBSET=[1,10,34,70,126],zr.INSIDE_ODD_TOTAL_SUBSET=[4,20,48,81],zr.OUTSIDE_GSUM=[0,161,961,2015,2715],zr.INSIDE_GSUM=[0,336,1036,1516],zr.OUTSIDE_ODD_WIDEST=[8,6,4,3,1],zr.INSIDE_ODD_WIDEST=[2,4,6,8],zr.FINDER_PATTERNS=[Int32Array.from([3,8,2,1]),Int32Array.from([3,5,5,1]),Int32Array.from([3,3,7,1]),Int32Array.from([3,1,9,1]),Int32Array.from([2,7,4,1]),Int32Array.from([2,5,6,1]),Int32Array.from([2,3,8,1]),Int32Array.from([1,5,7,1]),Int32Array.from([1,3,9,1])];class Nd extends Se{constructor(p,v){super(),this.readers=[],this.verbose=v===!0;const x=p?p.get(O.POSSIBLE_FORMATS):null,C=p&&p.get(O.ASSUME_CODE_39_CHECK_DIGIT)!==void 0;x?((x.includes(ve.EAN_13)||x.includes(ve.UPC_A)||x.includes(ve.EAN_8)||x.includes(ve.UPC_E))&&this.readers.push(new vt(p)),x.includes(ve.CODE_39)&&this.readers.push(new We(C)),x.includes(ve.CODE_128)&&this.readers.push(new ye),x.includes(ve.ITF)&&this.readers.push(new Ee),x.includes(ve.RSS_14)&&this.readers.push(new zr),x.includes(ve.RSS_EXPANDED)&&this.readers.push(new jt(this.verbose))):(this.readers.push(new vt(p)),this.readers.push(new We),this.readers.push(new vt(p)),this.readers.push(new ye),this.readers.push(new Ee),this.readers.push(new zr),this.readers.push(new jt(this.verbose)))}decodeRow(p,v,x){for(let C=0;C<this.readers.length;C++)try{return this.readers[C].decodeRow(p,v,x)}catch{}throw new F}reset(){this.readers.forEach(p=>p.reset())}}class Qx extends re{constructor(p=500,v){super(new Nd(v),p,v)}}class ar{constructor(p,v,x){this.ecCodewords=p,this.ecBlocks=[v],x&&this.ecBlocks.push(x)}getECCodewords(){return this.ecCodewords}getECBlocks(){return this.ecBlocks}}class zn{constructor(p,v){this.count=p,this.dataCodewords=v}getCount(){return this.count}getDataCodewords(){return this.dataCodewords}}class Jn{constructor(p,v,x,C,E,A){this.versionNumber=p,this.symbolSizeRows=v,this.symbolSizeColumns=x,this.dataRegionSizeRows=C,this.dataRegionSizeColumns=E,this.ecBlocks=A;let P=0;const H=A.getECCodewords(),ee=A.getECBlocks();for(let ae of ee)P+=ae.getCount()*(ae.getDataCodewords()+H);this.totalCodewords=P}getVersionNumber(){return this.versionNumber}getSymbolSizeRows(){return this.symbolSizeRows}getSymbolSizeColumns(){return this.symbolSizeColumns}getDataRegionSizeRows(){return this.dataRegionSizeRows}getDataRegionSizeColumns(){return this.dataRegionSizeColumns}getTotalCodewords(){return this.totalCodewords}getECBlocks(){return this.ecBlocks}static getVersionForDimensions(p,v){if((p&1)!==0||(v&1)!==0)throw new L;for(let x of Jn.VERSIONS)if(x.symbolSizeRows===p&&x.symbolSizeColumns===v)return x;throw new L}toString(){return""+this.versionNumber}static buildVersions(){return[new Jn(1,10,10,8,8,new ar(5,new zn(1,3))),new Jn(2,12,12,10,10,new ar(7,new zn(1,5))),new Jn(3,14,14,12,12,new ar(10,new zn(1,8))),new Jn(4,16,16,14,14,new ar(12,new zn(1,12))),new Jn(5,18,18,16,16,new ar(14,new zn(1,18))),new Jn(6,20,20,18,18,new ar(18,new zn(1,22))),new Jn(7,22,22,20,20,new ar(20,new zn(1,30))),new Jn(8,24,24,22,22,new ar(24,new zn(1,36))),new Jn(9,26,26,24,24,new ar(28,new zn(1,44))),new Jn(10,32,32,14,14,new ar(36,new zn(1,62))),new Jn(11,36,36,16,16,new ar(42,new zn(1,86))),new Jn(12,40,40,18,18,new ar(48,new zn(1,114))),new Jn(13,44,44,20,20,new ar(56,new zn(1,144))),new Jn(14,48,48,22,22,new ar(68,new zn(1,174))),new Jn(15,52,52,24,24,new ar(42,new zn(2,102))),new Jn(16,64,64,14,14,new ar(56,new zn(2,140))),new Jn(17,72,72,16,16,new ar(36,new zn(4,92))),new Jn(18,80,80,18,18,new ar(48,new zn(4,114))),new Jn(19,88,88,20,20,new ar(56,new zn(4,144))),new Jn(20,96,96,22,22,new ar(68,new zn(4,174))),new Jn(21,104,104,24,24,new ar(56,new zn(6,136))),new Jn(22,120,120,18,18,new ar(68,new zn(6,175))),new Jn(23,132,132,20,20,new ar(62,new zn(8,163))),new Jn(24,144,144,22,22,new ar(62,new zn(8,156),new zn(2,155))),new Jn(25,8,18,6,16,new ar(7,new zn(1,5))),new Jn(26,8,32,6,14,new ar(11,new zn(1,10))),new Jn(27,12,26,10,24,new ar(14,new zn(1,16))),new Jn(28,12,36,10,16,new ar(18,new zn(1,22))),new Jn(29,16,36,14,16,new ar(24,new zn(1,32))),new Jn(30,16,48,14,22,new ar(28,new zn(1,49)))]}}Jn.VERSIONS=Jn.buildVersions();class Ua{constructor(p){const v=p.getHeight();if(v<8||v>144||(v&1)!==0)throw new L;this.version=Ua.readVersion(p),this.mappingBitMatrix=this.extractDataRegion(p),this.readMappingMatrix=new W(this.mappingBitMatrix.getWidth(),this.mappingBitMatrix.getHeight())}getVersion(){return this.version}static readVersion(p){const v=p.getHeight(),x=p.getWidth();return Jn.getVersionForDimensions(v,x)}readCodewords(){const p=new Int8Array(this.version.getTotalCodewords());let v=0,x=4,C=0;const E=this.mappingBitMatrix.getHeight(),A=this.mappingBitMatrix.getWidth();let P=!1,H=!1,ee=!1,ae=!1;do if(x===E&&C===0&&!P)p[v++]=this.readCorner1(E,A)&255,x-=2,C+=2,P=!0;else if(x===E-2&&C===0&&(A&3)!==0&&!H)p[v++]=this.readCorner2(E,A)&255,x-=2,C+=2,H=!0;else if(x===E+4&&C===2&&(A&7)===0&&!ee)p[v++]=this.readCorner3(E,A)&255,x-=2,C+=2,ee=!0;else if(x===E-2&&C===0&&(A&7)===4&&!ae)p[v++]=this.readCorner4(E,A)&255,x-=2,C+=2,ae=!0;else{do x<E&&C>=0&&!this.readMappingMatrix.get(C,x)&&(p[v++]=this.readUtah(x,C,E,A)&255),x-=2,C+=2;while(x>=0&&C<A);x+=1,C+=3;do x>=0&&C<A&&!this.readMappingMatrix.get(C,x)&&(p[v++]=this.readUtah(x,C,E,A)&255),x+=2,C-=2;while(x<E&&C>=0);x+=3,C+=1}while(x<E||C<A);if(v!==this.version.getTotalCodewords())throw new L;return p}readModule(p,v,x,C){return p<0&&(p+=x,v+=4-(x+4&7)),v<0&&(v+=C,p+=4-(C+4&7)),this.readMappingMatrix.set(v,p),this.mappingBitMatrix.get(v,p)}readUtah(p,v,x,C){let E=0;return this.readModule(p-2,v-2,x,C)&&(E|=1),E<<=1,this.readModule(p-2,v-1,x,C)&&(E|=1),E<<=1,this.readModule(p-1,v-2,x,C)&&(E|=1),E<<=1,this.readModule(p-1,v-1,x,C)&&(E|=1),E<<=1,this.readModule(p-1,v,x,C)&&(E|=1),E<<=1,this.readModule(p,v-2,x,C)&&(E|=1),E<<=1,this.readModule(p,v-1,x,C)&&(E|=1),E<<=1,this.readModule(p,v,x,C)&&(E|=1),E}readCorner1(p,v){let x=0;return this.readModule(p-1,0,p,v)&&(x|=1),x<<=1,this.readModule(p-1,1,p,v)&&(x|=1),x<<=1,this.readModule(p-1,2,p,v)&&(x|=1),x<<=1,this.readModule(0,v-2,p,v)&&(x|=1),x<<=1,this.readModule(0,v-1,p,v)&&(x|=1),x<<=1,this.readModule(1,v-1,p,v)&&(x|=1),x<<=1,this.readModule(2,v-1,p,v)&&(x|=1),x<<=1,this.readModule(3,v-1,p,v)&&(x|=1),x}readCorner2(p,v){let x=0;return this.readModule(p-3,0,p,v)&&(x|=1),x<<=1,this.readModule(p-2,0,p,v)&&(x|=1),x<<=1,this.readModule(p-1,0,p,v)&&(x|=1),x<<=1,this.readModule(0,v-4,p,v)&&(x|=1),x<<=1,this.readModule(0,v-3,p,v)&&(x|=1),x<<=1,this.readModule(0,v-2,p,v)&&(x|=1),x<<=1,this.readModule(0,v-1,p,v)&&(x|=1),x<<=1,this.readModule(1,v-1,p,v)&&(x|=1),x}readCorner3(p,v){let x=0;return this.readModule(p-1,0,p,v)&&(x|=1),x<<=1,this.readModule(p-1,v-1,p,v)&&(x|=1),x<<=1,this.readModule(0,v-3,p,v)&&(x|=1),x<<=1,this.readModule(0,v-2,p,v)&&(x|=1),x<<=1,this.readModule(0,v-1,p,v)&&(x|=1),x<<=1,this.readModule(1,v-3,p,v)&&(x|=1),x<<=1,this.readModule(1,v-2,p,v)&&(x|=1),x<<=1,this.readModule(1,v-1,p,v)&&(x|=1),x}readCorner4(p,v){let x=0;return this.readModule(p-3,0,p,v)&&(x|=1),x<<=1,this.readModule(p-2,0,p,v)&&(x|=1),x<<=1,this.readModule(p-1,0,p,v)&&(x|=1),x<<=1,this.readModule(0,v-2,p,v)&&(x|=1),x<<=1,this.readModule(0,v-1,p,v)&&(x|=1),x<<=1,this.readModule(1,v-1,p,v)&&(x|=1),x<<=1,this.readModule(2,v-1,p,v)&&(x|=1),x<<=1,this.readModule(3,v-1,p,v)&&(x|=1),x}extractDataRegion(p){const v=this.version.getSymbolSizeRows(),x=this.version.getSymbolSizeColumns();if(p.getHeight()!==v)throw new f("Dimension of bitMatrix must match the version size");const C=this.version.getDataRegionSizeRows(),E=this.version.getDataRegionSizeColumns(),A=v/C|0,P=x/E|0,H=A*C,ee=P*E,ae=new W(ee,H);for(let fe=0;fe<A;++fe){const be=fe*C;for(let _e=0;_e<P;++_e){const He=_e*E;for(let Ge=0;Ge<C;++Ge){const tt=fe*(C+2)+1+Ge,lt=be+Ge;for(let Lt=0;Lt<E;++Lt){const zt=_e*(E+2)+1+Lt;if(p.get(zt,tt)){const Nt=He+Lt;ae.set(Nt,lt)}}}}}return ae}}class bv{constructor(p,v){this.numDataCodewords=p,this.codewords=v}static getDataBlocks(p,v){const x=v.getECBlocks();let C=0;const E=x.getECBlocks();for(let Ge of E)C+=Ge.getCount();const A=new Array(C);let P=0;for(let Ge of E)for(let tt=0;tt<Ge.getCount();tt++){const lt=Ge.getDataCodewords(),Lt=x.getECCodewords()+lt;A[P++]=new bv(lt,new Uint8Array(Lt))}const ee=A[0].codewords.length-x.getECCodewords(),ae=ee-1;let fe=0;for(let Ge=0;Ge<ae;Ge++)for(let tt=0;tt<P;tt++)A[tt].codewords[Ge]=p[fe++];const be=v.getVersionNumber()===24,_e=be?8:P;for(let Ge=0;Ge<_e;Ge++)A[Ge].codewords[ee-1]=p[fe++];const He=A[0].codewords.length;for(let Ge=ee;Ge<He;Ge++)for(let tt=0;tt<P;tt++){const lt=be?(tt+8)%P:tt,Lt=be&<>7?Ge-1:Ge;A[lt].codewords[Lt]=p[fe++]}if(fe!==p.length)throw new f;return A}getNumDataCodewords(){return this.numDataCodewords}getCodewords(){return this.codewords}}class xv{constructor(p){this.bytes=p,this.byteOffset=0,this.bitOffset=0}getBitOffset(){return this.bitOffset}getByteOffset(){return this.byteOffset}readBits(p){if(p<1||p>32||p>this.available())throw new f(""+p);let v=0,x=this.bitOffset,C=this.byteOffset;const E=this.bytes;if(x>0){const A=8-x,P=p<A?p:A,H=A-P,ee=255>>8-P<<H;v=(E[C]&ee)>>H,p-=P,x+=P,x===8&&(x=0,C++)}if(p>0){for(;p>=8;)v=v<<8|E[C]&255,C++,p-=8;if(p>0){const A=8-p,P=255>>A<<A;v=v<<p|(E[C]&P)>>A,x+=p}}return this.bitOffset=x,this.byteOffset=C,v}available(){return 8*(this.bytes.length-this.byteOffset)-this.bitOffset}}var Po;(function(ue){ue[ue.PAD_ENCODE=0]="PAD_ENCODE",ue[ue.ASCII_ENCODE=1]="ASCII_ENCODE",ue[ue.C40_ENCODE=2]="C40_ENCODE",ue[ue.TEXT_ENCODE=3]="TEXT_ENCODE",ue[ue.ANSIX12_ENCODE=4]="ANSIX12_ENCODE",ue[ue.EDIFACT_ENCODE=5]="EDIFACT_ENCODE",ue[ue.BASE256_ENCODE=6]="BASE256_ENCODE"})(Po||(Po={}));class zi{static decode(p){const v=new xv(p),x=new Q,C=new Q,E=new Array;let A=Po.ASCII_ENCODE;do if(A===Po.ASCII_ENCODE)A=this.decodeAsciiSegment(v,x,C);else{switch(A){case Po.C40_ENCODE:this.decodeC40Segment(v,x);break;case Po.TEXT_ENCODE:this.decodeTextSegment(v,x);break;case Po.ANSIX12_ENCODE:this.decodeAnsiX12Segment(v,x);break;case Po.EDIFACT_ENCODE:this.decodeEdifactSegment(v,x);break;case Po.BASE256_ENCODE:this.decodeBase256Segment(v,x,E);break;default:throw new L}A=Po.ASCII_ENCODE}while(A!==Po.PAD_ENCODE&&v.available()>0);return C.length()>0&&x.append(C.toString()),new pe(p,x.toString(),E.length===0?null:E,null)}static decodeAsciiSegment(p,v,x){let C=!1;do{let E=p.readBits(8);if(E===0)throw new L;if(E<=128)return C&&(E+=128),v.append(String.fromCharCode(E-1)),Po.ASCII_ENCODE;if(E===129)return Po.PAD_ENCODE;if(E<=229){const A=E-130;A<10&&v.append("0"),v.append(""+A)}else switch(E){case 230:return Po.C40_ENCODE;case 231:return Po.BASE256_ENCODE;case 232:v.append("");break;case 233:case 234:break;case 235:C=!0;break;case 236:v.append("[)>05"),x.insert(0,"");break;case 237:v.append("[)>06"),x.insert(0,"");break;case 238:return Po.ANSIX12_ENCODE;case 239:return Po.TEXT_ENCODE;case 240:return Po.EDIFACT_ENCODE;case 241:break;default:if(E!==254||p.available()!==0)throw new L;break}}while(p.available()>0);return Po.ASCII_ENCODE}static decodeC40Segment(p,v){let x=!1;const C=[];let E=0;do{if(p.available()===8)return;const A=p.readBits(8);if(A===254)return;this.parseTwoBytes(A,p.readBits(8),C);for(let P=0;P<3;P++){const H=C[P];switch(E){case 0:if(H<3)E=H+1;else if(H<this.C40_BASIC_SET_CHARS.length){const ee=this.C40_BASIC_SET_CHARS[H];x?(v.append(String.fromCharCode(ee.charCodeAt(0)+128)),x=!1):v.append(ee)}else throw new L;break;case 1:x?(v.append(String.fromCharCode(H+128)),x=!1):v.append(String.fromCharCode(H)),E=0;break;case 2:if(H<this.C40_SHIFT2_SET_CHARS.length){const ee=this.C40_SHIFT2_SET_CHARS[H];x?(v.append(String.fromCharCode(ee.charCodeAt(0)+128)),x=!1):v.append(ee)}else switch(H){case 27:v.append("");break;case 30:x=!0;break;default:throw new L}E=0;break;case 3:x?(v.append(String.fromCharCode(H+224)),x=!1):v.append(String.fromCharCode(H+96)),E=0;break;default:throw new L}}}while(p.available()>0)}static decodeTextSegment(p,v){let x=!1,C=[],E=0;do{if(p.available()===8)return;const A=p.readBits(8);if(A===254)return;this.parseTwoBytes(A,p.readBits(8),C);for(let P=0;P<3;P++){const H=C[P];switch(E){case 0:if(H<3)E=H+1;else if(H<this.TEXT_BASIC_SET_CHARS.length){const ee=this.TEXT_BASIC_SET_CHARS[H];x?(v.append(String.fromCharCode(ee.charCodeAt(0)+128)),x=!1):v.append(ee)}else throw new L;break;case 1:x?(v.append(String.fromCharCode(H+128)),x=!1):v.append(String.fromCharCode(H)),E=0;break;case 2:if(H<this.TEXT_SHIFT2_SET_CHARS.length){const ee=this.TEXT_SHIFT2_SET_CHARS[H];x?(v.append(String.fromCharCode(ee.charCodeAt(0)+128)),x=!1):v.append(ee)}else switch(H){case 27:v.append("");break;case 30:x=!0;break;default:throw new L}E=0;break;case 3:if(H<this.TEXT_SHIFT3_SET_CHARS.length){const ee=this.TEXT_SHIFT3_SET_CHARS[H];x?(v.append(String.fromCharCode(ee.charCodeAt(0)+128)),x=!1):v.append(ee),E=0}else throw new L;break;default:throw new L}}}while(p.available()>0)}static decodeAnsiX12Segment(p,v){const x=[];do{if(p.available()===8)return;const C=p.readBits(8);if(C===254)return;this.parseTwoBytes(C,p.readBits(8),x);for(let E=0;E<3;E++){const A=x[E];switch(A){case 0:v.append("\r");break;case 1:v.append("*");break;case 2:v.append(">");break;case 3:v.append(" ");break;default:if(A<14)v.append(String.fromCharCode(A+44));else if(A<40)v.append(String.fromCharCode(A+51));else throw new L;break}}}while(p.available()>0)}static parseTwoBytes(p,v,x){let C=(p<<8)+v-1,E=Math.floor(C/1600);x[0]=E,C-=E*1600,E=Math.floor(C/40),x[1]=E,x[2]=C-E*40}static decodeEdifactSegment(p,v){do{if(p.available()<=16)return;for(let x=0;x<4;x++){let C=p.readBits(6);if(C===31){const E=8-p.getBitOffset();E!==8&&p.readBits(E);return}(C&32)===0&&(C|=64),v.append(String.fromCharCode(C))}}while(p.available()>0)}static decodeBase256Segment(p,v,x){let C=1+p.getByteOffset();const E=this.unrandomize255State(p.readBits(8),C++);let A;if(E===0?A=p.available()/8|0:E<250?A=E:A=250*(E-249)+this.unrandomize255State(p.readBits(8),C++),A<0)throw new L;const P=new Uint8Array(A);for(let H=0;H<A;H++){if(p.available()<8)throw new L;P[H]=this.unrandomize255State(p.readBits(8),C++)}x.push(P);try{v.append(z.decode(P,Y.ISO88591))}catch(H){throw new Ae("Platform does not support required encoding: "+H.message)}}static unrandomize255State(p,v){const x=149*v%255+1,C=p-x;return C>=0?C:C+256}}zi.C40_BASIC_SET_CHARS=["*","*","*"," ","0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"],zi.C40_SHIFT2_SET_CHARS=["!",'"',"#","$","%","&","'","(",")","*","+",",","-",".","/",":",";","<","=",">","?","@","[","\\","]","^","_"],zi.TEXT_BASIC_SET_CHARS=["*","*","*"," ","0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"],zi.TEXT_SHIFT2_SET_CHARS=zi.C40_SHIFT2_SET_CHARS,zi.TEXT_SHIFT3_SET_CHARS=["`","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","{","|","}","~",""];class c1{constructor(){this.rsDecoder=new Ve(he.DATA_MATRIX_FIELD_256)}decode(p){const v=new Ua(p),x=v.getVersion(),C=v.readCodewords(),E=bv.getDataBlocks(C,x);let A=0;for(let ee of E)A+=ee.getNumDataCodewords();const P=new Uint8Array(A),H=E.length;for(let ee=0;ee<H;ee++){const ae=E[ee],fe=ae.getCodewords(),be=ae.getNumDataCodewords();this.correctErrors(fe,be);for(let _e=0;_e<be;_e++)P[_e*H+ee]=fe[_e]}return zi.decode(P)}correctErrors(p,v){const x=new Int32Array(p);try{this.rsDecoder.decode(x,p.length-v)}catch{throw new g}for(let C=0;C<v;C++)p[C]=x[C]}}class Fr{constructor(p){this.image=p,this.rectangleDetector=new ht(this.image)}detect(){const p=this.rectangleDetector.detect();let v=this.detectSolid1(p);if(v=this.detectSolid2(v),v[3]=this.correctTopRight(v),!v[3])throw new F;v=this.shiftToModuleCenter(v);const x=v[0],C=v[1],E=v[2],A=v[3];let P=this.transitionsBetween(x,A)+1,H=this.transitionsBetween(E,A)+1;(P&1)===1&&(P+=1),(H&1)===1&&(H+=1),4*P<7*H&&4*H<7*P&&(P=H=Math.max(P,H));let ee=Fr.sampleGrid(this.image,x,C,E,A,P,H);return new et(ee,[x,C,E,A])}static shiftPoint(p,v,x){let C=(v.getX()-p.getX())/(x+1),E=(v.getY()-p.getY())/(x+1);return new Me(p.getX()+C,p.getY()+E)}static moveAway(p,v,x){let C=p.getX(),E=p.getY();return C<v?C-=1:C+=1,E<x?E-=1:E+=1,new Me(C,E)}detectSolid1(p){let v=p[0],x=p[1],C=p[3],E=p[2],A=this.transitionsBetween(v,x),P=this.transitionsBetween(x,C),H=this.transitionsBetween(C,E),ee=this.transitionsBetween(E,v),ae=A,fe=[E,v,x,C];return ae>P&&(ae=P,fe[0]=v,fe[1]=x,fe[2]=C,fe[3]=E),ae>H&&(ae=H,fe[0]=x,fe[1]=C,fe[2]=E,fe[3]=v),ae>ee&&(fe[0]=C,fe[1]=E,fe[2]=v,fe[3]=x),fe}detectSolid2(p){let v=p[0],x=p[1],C=p[2],E=p[3],A=this.transitionsBetween(v,E),P=Fr.shiftPoint(x,C,(A+1)*4),H=Fr.shiftPoint(C,x,(A+1)*4),ee=this.transitionsBetween(P,v),ae=this.transitionsBetween(H,E);return ee<ae?(p[0]=v,p[1]=x,p[2]=C,p[3]=E):(p[0]=x,p[1]=C,p[2]=E,p[3]=v),p}correctTopRight(p){let v=p[0],x=p[1],C=p[2],E=p[3],A=this.transitionsBetween(v,E),P=this.transitionsBetween(x,E),H=Fr.shiftPoint(v,x,(P+1)*4),ee=Fr.shiftPoint(C,x,(A+1)*4);A=this.transitionsBetween(H,E),P=this.transitionsBetween(ee,E);let ae=new Me(E.getX()+(C.getX()-x.getX())/(A+1),E.getY()+(C.getY()-x.getY())/(A+1)),fe=new Me(E.getX()+(v.getX()-x.getX())/(P+1),E.getY()+(v.getY()-x.getY())/(P+1));if(!this.isValid(ae))return this.isValid(fe)?fe:null;if(!this.isValid(fe))return ae;let be=this.transitionsBetween(H,ae)+this.transitionsBetween(ee,ae),_e=this.transitionsBetween(H,fe)+this.transitionsBetween(ee,fe);return be>_e?ae:fe}shiftToModuleCenter(p){let v=p[0],x=p[1],C=p[2],E=p[3],A=this.transitionsBetween(v,E)+1,P=this.transitionsBetween(C,E)+1,H=Fr.shiftPoint(v,x,P*4),ee=Fr.shiftPoint(C,x,A*4);A=this.transitionsBetween(H,E)+1,P=this.transitionsBetween(ee,E)+1,(A&1)===1&&(A+=1),(P&1)===1&&(P+=1);let ae=(v.getX()+x.getX()+C.getX()+E.getX())/4,fe=(v.getY()+x.getY()+C.getY()+E.getY())/4;v=Fr.moveAway(v,ae,fe),x=Fr.moveAway(x,ae,fe),C=Fr.moveAway(C,ae,fe),E=Fr.moveAway(E,ae,fe);let be,_e;return H=Fr.shiftPoint(v,x,P*4),H=Fr.shiftPoint(H,E,A*4),be=Fr.shiftPoint(x,v,P*4),be=Fr.shiftPoint(be,C,A*4),ee=Fr.shiftPoint(C,E,P*4),ee=Fr.shiftPoint(ee,x,A*4),_e=Fr.shiftPoint(E,C,P*4),_e=Fr.shiftPoint(_e,v,A*4),[H,be,ee,_e]}isValid(p){return p.getX()>=0&&p.getX()<this.image.getWidth()&&p.getY()>0&&p.getY()<this.image.getHeight()}static sampleGrid(p,v,x,C,E,A,P){return q.getInstance().sampleGrid(p,A,P,.5,.5,A-.5,.5,A-.5,P-.5,.5,P-.5,v.getX(),v.getY(),E.getX(),E.getY(),C.getX(),C.getY(),x.getX(),x.getY())}transitionsBetween(p,v){let x=Math.trunc(p.getX()),C=Math.trunc(p.getY()),E=Math.trunc(v.getX()),A=Math.trunc(v.getY()),P=Math.abs(A-C)>Math.abs(E-x);if(P){let Ge=x;x=C,C=Ge,Ge=E,E=A,A=Ge}let H=Math.abs(E-x),ee=Math.abs(A-C),ae=-H/2,fe=C<A?1:-1,be=x<E?1:-1,_e=0,He=this.image.get(P?C:x,P?x:C);for(let Ge=x,tt=C;Ge!==E;Ge+=be){let lt=this.image.get(P?tt:Ge,P?Ge:tt);if(lt!==He&&(_e++,He=lt),ae+=ee,ae>0){if(tt===A)break;tt+=fe,ae-=H}}return _e}}class Fi{constructor(){this.decoder=new c1}decode(p,v=null){let x,C;if(v!=null&&v.has(O.PURE_BARCODE)){const ee=Fi.extractPureBits(p.getBlackMatrix());x=this.decoder.decode(ee),C=Fi.NO_POINTS}else{const ee=new Fr(p.getBlackMatrix()).detect();x=this.decoder.decode(ee.getBits()),C=ee.getPoints()}const E=x.getRawBytes(),A=new de(x.getText(),E,8*E.length,C,ve.DATA_MATRIX,b.currentTimeMillis()),P=x.getByteSegments();P!=null&&A.putMetadata(ce.BYTE_SEGMENTS,P);const H=x.getECLevel();return H!=null&&A.putMetadata(ce.ERROR_CORRECTION_LEVEL,H),A}reset(){}static extractPureBits(p){const v=p.getTopLeftOnBit(),x=p.getBottomRightOnBit();if(v==null||x==null)throw new F;const C=this.moduleSize(v,p);let E=v[1];const A=x[1];let P=v[0];const ee=(x[0]-P+1)/C,ae=(A-E+1)/C;if(ee<=0||ae<=0)throw new F;const fe=C/2;E+=fe,P+=fe;const be=new W(ee,ae);for(let _e=0;_e<ae;_e++){const He=E+_e*C;for(let Ge=0;Ge<ee;Ge++)p.get(P+Ge*C,He)&&be.set(Ge,_e)}return be}static moduleSize(p,v){const x=v.getWidth();let C=p[0];const E=p[1];for(;C<x&&v.get(C,E);)C++;if(C===x)throw new F;const A=C-p[0];if(A===0)throw new F;return A}}Fi.NO_POINTS=[];class JE extends re{constructor(p=500){super(new Fi,p)}}var Id;(function(ue){ue[ue.L=0]="L",ue[ue.M=1]="M",ue[ue.Q=2]="Q",ue[ue.H=3]="H"})(Id||(Id={}));class Ir{constructor(p,v,x){this.value=p,this.stringValue=v,this.bits=x,Ir.FOR_BITS.set(x,this),Ir.FOR_VALUE.set(p,this)}getValue(){return this.value}getBits(){return this.bits}static fromString(p){switch(p){case"L":return Ir.L;case"M":return Ir.M;case"Q":return Ir.Q;case"H":return Ir.H;default:throw new d(p+"not available")}}toString(){return this.stringValue}equals(p){if(!(p instanceof Ir))return!1;const v=p;return this.value===v.value}static forBits(p){if(p<0||p>=Ir.FOR_BITS.size)throw new f;return Ir.FOR_BITS.get(p)}}Ir.FOR_BITS=new Map,Ir.FOR_VALUE=new Map,Ir.L=new Ir(Id.L,"L",1),Ir.M=new Ir(Id.M,"M",0),Ir.Q=new Ir(Id.Q,"Q",3),Ir.H=new Ir(Id.H,"H",2);class rs{constructor(p){this.errorCorrectionLevel=Ir.forBits(p>>3&3),this.dataMask=p&7}static numBitsDiffering(p,v){return N.bitCount(p^v)}static decodeFormatInformation(p,v){const x=rs.doDecodeFormatInformation(p,v);return x!==null?x:rs.doDecodeFormatInformation(p^rs.FORMAT_INFO_MASK_QR,v^rs.FORMAT_INFO_MASK_QR)}static doDecodeFormatInformation(p,v){let x=Number.MAX_SAFE_INTEGER,C=0;for(const E of rs.FORMAT_INFO_DECODE_LOOKUP){const A=E[0];if(A===p||A===v)return new rs(E[1]);let P=rs.numBitsDiffering(p,A);P<x&&(C=E[1],x=P),p!==v&&(P=rs.numBitsDiffering(v,A),P<x&&(C=E[1],x=P))}return x<=3?new rs(C):null}getErrorCorrectionLevel(){return this.errorCorrectionLevel}getDataMask(){return this.dataMask}hashCode(){return this.errorCorrectionLevel.getBits()<<3|this.dataMask}equals(p){if(!(p instanceof rs))return!1;const v=p;return this.errorCorrectionLevel===v.errorCorrectionLevel&&this.dataMask===v.dataMask}}rs.FORMAT_INFO_MASK_QR=21522,rs.FORMAT_INFO_DECODE_LOOKUP=[Int32Array.from([21522,0]),Int32Array.from([20773,1]),Int32Array.from([24188,2]),Int32Array.from([23371,3]),Int32Array.from([17913,4]),Int32Array.from([16590,5]),Int32Array.from([20375,6]),Int32Array.from([19104,7]),Int32Array.from([30660,8]),Int32Array.from([29427,9]),Int32Array.from([32170,10]),Int32Array.from([30877,11]),Int32Array.from([26159,12]),Int32Array.from([25368,13]),Int32Array.from([27713,14]),Int32Array.from([26998,15]),Int32Array.from([5769,16]),Int32Array.from([5054,17]),Int32Array.from([7399,18]),Int32Array.from([6608,19]),Int32Array.from([1890,20]),Int32Array.from([597,21]),Int32Array.from([3340,22]),Int32Array.from([2107,23]),Int32Array.from([13663,24]),Int32Array.from([12392,25]),Int32Array.from([16177,26]),Int32Array.from([14854,27]),Int32Array.from([9396,28]),Int32Array.from([8579,29]),Int32Array.from([11994,30]),Int32Array.from([11245,31])];class rt{constructor(p,...v){this.ecCodewordsPerBlock=p,this.ecBlocks=v}getECCodewordsPerBlock(){return this.ecCodewordsPerBlock}getNumBlocks(){let p=0;const v=this.ecBlocks;for(const x of v)p+=x.getCount();return p}getTotalECCodewords(){return this.ecCodewordsPerBlock*this.getNumBlocks()}getECBlocks(){return this.ecBlocks}}class Ie{constructor(p,v){this.count=p,this.dataCodewords=v}getCount(){return this.count}getDataCodewords(){return this.dataCodewords}}class hn{constructor(p,v,...x){this.versionNumber=p,this.alignmentPatternCenters=v,this.ecBlocks=x;let C=0;const E=x[0].getECCodewordsPerBlock(),A=x[0].getECBlocks();for(const P of A)C+=P.getCount()*(P.getDataCodewords()+E);this.totalCodewords=C}getVersionNumber(){return this.versionNumber}getAlignmentPatternCenters(){return this.alignmentPatternCenters}getTotalCodewords(){return this.totalCodewords}getDimensionForVersion(){return 17+4*this.versionNumber}getECBlocksForLevel(p){return this.ecBlocks[p.getValue()]}static getProvisionalVersionForDimension(p){if(p%4!==1)throw new L;try{return this.getVersionForNumber((p-17)/4)}catch{throw new L}}static getVersionForNumber(p){if(p<1||p>40)throw new f;return hn.VERSIONS[p-1]}static decodeVersionInformation(p){let v=Number.MAX_SAFE_INTEGER,x=0;for(let C=0;C<hn.VERSION_DECODE_INFO.length;C++){const E=hn.VERSION_DECODE_INFO[C];if(E===p)return hn.getVersionForNumber(C+7);const A=rs.numBitsDiffering(p,E);A<v&&(x=C+7,v=A)}return v<=3?hn.getVersionForNumber(x):null}buildFunctionPattern(){const p=this.getDimensionForVersion(),v=new W(p);v.setRegion(0,0,9,9),v.setRegion(p-8,0,8,9),v.setRegion(0,p-8,9,8);const x=this.alignmentPatternCenters.length;for(let C=0;C<x;C++){const E=this.alignmentPatternCenters[C]-2;for(let A=0;A<x;A++)C===0&&(A===0||A===x-1)||C===x-1&&A===0||v.setRegion(this.alignmentPatternCenters[A]-2,E,5,5)}return v.setRegion(6,9,1,p-17),v.setRegion(9,6,p-17,1),this.versionNumber>6&&(v.setRegion(p-11,0,3,6),v.setRegion(0,p-11,6,3)),v}toString(){return""+this.versionNumber}}hn.VERSION_DECODE_INFO=Int32Array.from([31892,34236,39577,42195,48118,51042,55367,58893,63784,68472,70749,76311,79154,84390,87683,92361,96236,102084,102881,110507,110734,117786,119615,126325,127568,133589,136944,141498,145311,150283,152622,158308,161089,167017]),hn.VERSIONS=[new hn(1,new Int32Array(0),new rt(7,new Ie(1,19)),new rt(10,new Ie(1,16)),new rt(13,new Ie(1,13)),new rt(17,new Ie(1,9))),new hn(2,Int32Array.from([6,18]),new rt(10,new Ie(1,34)),new rt(16,new Ie(1,28)),new rt(22,new Ie(1,22)),new rt(28,new Ie(1,16))),new hn(3,Int32Array.from([6,22]),new rt(15,new Ie(1,55)),new rt(26,new Ie(1,44)),new rt(18,new Ie(2,17)),new rt(22,new Ie(2,13))),new hn(4,Int32Array.from([6,26]),new rt(20,new Ie(1,80)),new rt(18,new Ie(2,32)),new rt(26,new Ie(2,24)),new rt(16,new Ie(4,9))),new hn(5,Int32Array.from([6,30]),new rt(26,new Ie(1,108)),new rt(24,new Ie(2,43)),new rt(18,new Ie(2,15),new Ie(2,16)),new rt(22,new Ie(2,11),new Ie(2,12))),new hn(6,Int32Array.from([6,34]),new rt(18,new Ie(2,68)),new rt(16,new Ie(4,27)),new rt(24,new Ie(4,19)),new rt(28,new Ie(4,15))),new hn(7,Int32Array.from([6,22,38]),new rt(20,new Ie(2,78)),new rt(18,new Ie(4,31)),new rt(18,new Ie(2,14),new Ie(4,15)),new rt(26,new Ie(4,13),new Ie(1,14))),new hn(8,Int32Array.from([6,24,42]),new rt(24,new Ie(2,97)),new rt(22,new Ie(2,38),new Ie(2,39)),new rt(22,new Ie(4,18),new Ie(2,19)),new rt(26,new Ie(4,14),new Ie(2,15))),new hn(9,Int32Array.from([6,26,46]),new rt(30,new Ie(2,116)),new rt(22,new Ie(3,36),new Ie(2,37)),new rt(20,new Ie(4,16),new Ie(4,17)),new rt(24,new Ie(4,12),new Ie(4,13))),new hn(10,Int32Array.from([6,28,50]),new rt(18,new Ie(2,68),new Ie(2,69)),new rt(26,new Ie(4,43),new Ie(1,44)),new rt(24,new Ie(6,19),new Ie(2,20)),new rt(28,new Ie(6,15),new Ie(2,16))),new hn(11,Int32Array.from([6,30,54]),new rt(20,new Ie(4,81)),new rt(30,new Ie(1,50),new Ie(4,51)),new rt(28,new Ie(4,22),new Ie(4,23)),new rt(24,new Ie(3,12),new Ie(8,13))),new hn(12,Int32Array.from([6,32,58]),new rt(24,new Ie(2,92),new Ie(2,93)),new rt(22,new Ie(6,36),new Ie(2,37)),new rt(26,new Ie(4,20),new Ie(6,21)),new rt(28,new Ie(7,14),new Ie(4,15))),new hn(13,Int32Array.from([6,34,62]),new rt(26,new Ie(4,107)),new rt(22,new Ie(8,37),new Ie(1,38)),new rt(24,new Ie(8,20),new Ie(4,21)),new rt(22,new Ie(12,11),new Ie(4,12))),new hn(14,Int32Array.from([6,26,46,66]),new rt(30,new Ie(3,115),new Ie(1,116)),new rt(24,new Ie(4,40),new Ie(5,41)),new rt(20,new Ie(11,16),new Ie(5,17)),new rt(24,new Ie(11,12),new Ie(5,13))),new hn(15,Int32Array.from([6,26,48,70]),new rt(22,new Ie(5,87),new Ie(1,88)),new rt(24,new Ie(5,41),new Ie(5,42)),new rt(30,new Ie(5,24),new Ie(7,25)),new rt(24,new Ie(11,12),new Ie(7,13))),new hn(16,Int32Array.from([6,26,50,74]),new rt(24,new Ie(5,98),new Ie(1,99)),new rt(28,new Ie(7,45),new Ie(3,46)),new rt(24,new Ie(15,19),new Ie(2,20)),new rt(30,new Ie(3,15),new Ie(13,16))),new hn(17,Int32Array.from([6,30,54,78]),new rt(28,new Ie(1,107),new Ie(5,108)),new rt(28,new Ie(10,46),new Ie(1,47)),new rt(28,new Ie(1,22),new Ie(15,23)),new rt(28,new Ie(2,14),new Ie(17,15))),new hn(18,Int32Array.from([6,30,56,82]),new rt(30,new Ie(5,120),new Ie(1,121)),new rt(26,new Ie(9,43),new Ie(4,44)),new rt(28,new Ie(17,22),new Ie(1,23)),new rt(28,new Ie(2,14),new Ie(19,15))),new hn(19,Int32Array.from([6,30,58,86]),new rt(28,new Ie(3,113),new Ie(4,114)),new rt(26,new Ie(3,44),new Ie(11,45)),new rt(26,new Ie(17,21),new Ie(4,22)),new rt(26,new Ie(9,13),new Ie(16,14))),new hn(20,Int32Array.from([6,34,62,90]),new rt(28,new Ie(3,107),new Ie(5,108)),new rt(26,new Ie(3,41),new Ie(13,42)),new rt(30,new Ie(15,24),new Ie(5,25)),new rt(28,new Ie(15,15),new Ie(10,16))),new hn(21,Int32Array.from([6,28,50,72,94]),new rt(28,new Ie(4,116),new Ie(4,117)),new rt(26,new Ie(17,42)),new rt(28,new Ie(17,22),new Ie(6,23)),new rt(30,new Ie(19,16),new Ie(6,17))),new hn(22,Int32Array.from([6,26,50,74,98]),new rt(28,new Ie(2,111),new Ie(7,112)),new rt(28,new Ie(17,46)),new rt(30,new Ie(7,24),new Ie(16,25)),new rt(24,new Ie(34,13))),new hn(23,Int32Array.from([6,30,54,78,102]),new rt(30,new Ie(4,121),new Ie(5,122)),new rt(28,new Ie(4,47),new Ie(14,48)),new rt(30,new Ie(11,24),new Ie(14,25)),new rt(30,new Ie(16,15),new Ie(14,16))),new hn(24,Int32Array.from([6,28,54,80,106]),new rt(30,new Ie(6,117),new Ie(4,118)),new rt(28,new Ie(6,45),new Ie(14,46)),new rt(30,new Ie(11,24),new Ie(16,25)),new rt(30,new Ie(30,16),new Ie(2,17))),new hn(25,Int32Array.from([6,32,58,84,110]),new rt(26,new Ie(8,106),new Ie(4,107)),new rt(28,new Ie(8,47),new Ie(13,48)),new rt(30,new Ie(7,24),new Ie(22,25)),new rt(30,new Ie(22,15),new Ie(13,16))),new hn(26,Int32Array.from([6,30,58,86,114]),new rt(28,new Ie(10,114),new Ie(2,115)),new rt(28,new Ie(19,46),new Ie(4,47)),new rt(28,new Ie(28,22),new Ie(6,23)),new rt(30,new Ie(33,16),new Ie(4,17))),new hn(27,Int32Array.from([6,34,62,90,118]),new rt(30,new Ie(8,122),new Ie(4,123)),new rt(28,new Ie(22,45),new Ie(3,46)),new rt(30,new Ie(8,23),new Ie(26,24)),new rt(30,new Ie(12,15),new Ie(28,16))),new hn(28,Int32Array.from([6,26,50,74,98,122]),new rt(30,new Ie(3,117),new Ie(10,118)),new rt(28,new Ie(3,45),new Ie(23,46)),new rt(30,new Ie(4,24),new Ie(31,25)),new rt(30,new Ie(11,15),new Ie(31,16))),new hn(29,Int32Array.from([6,30,54,78,102,126]),new rt(30,new Ie(7,116),new Ie(7,117)),new rt(28,new Ie(21,45),new Ie(7,46)),new rt(30,new Ie(1,23),new Ie(37,24)),new rt(30,new Ie(19,15),new Ie(26,16))),new hn(30,Int32Array.from([6,26,52,78,104,130]),new rt(30,new Ie(5,115),new Ie(10,116)),new rt(28,new Ie(19,47),new Ie(10,48)),new rt(30,new Ie(15,24),new Ie(25,25)),new rt(30,new Ie(23,15),new Ie(25,16))),new hn(31,Int32Array.from([6,30,56,82,108,134]),new rt(30,new Ie(13,115),new Ie(3,116)),new rt(28,new Ie(2,46),new Ie(29,47)),new rt(30,new Ie(42,24),new Ie(1,25)),new rt(30,new Ie(23,15),new Ie(28,16))),new hn(32,Int32Array.from([6,34,60,86,112,138]),new rt(30,new Ie(17,115)),new rt(28,new Ie(10,46),new Ie(23,47)),new rt(30,new Ie(10,24),new Ie(35,25)),new rt(30,new Ie(19,15),new Ie(35,16))),new hn(33,Int32Array.from([6,30,58,86,114,142]),new rt(30,new Ie(17,115),new Ie(1,116)),new rt(28,new Ie(14,46),new Ie(21,47)),new rt(30,new Ie(29,24),new Ie(19,25)),new rt(30,new Ie(11,15),new Ie(46,16))),new hn(34,Int32Array.from([6,34,62,90,118,146]),new rt(30,new Ie(13,115),new Ie(6,116)),new rt(28,new Ie(14,46),new Ie(23,47)),new rt(30,new Ie(44,24),new Ie(7,25)),new rt(30,new Ie(59,16),new Ie(1,17))),new hn(35,Int32Array.from([6,30,54,78,102,126,150]),new rt(30,new Ie(12,121),new Ie(7,122)),new rt(28,new Ie(12,47),new Ie(26,48)),new rt(30,new Ie(39,24),new Ie(14,25)),new rt(30,new Ie(22,15),new Ie(41,16))),new hn(36,Int32Array.from([6,24,50,76,102,128,154]),new rt(30,new Ie(6,121),new Ie(14,122)),new rt(28,new Ie(6,47),new Ie(34,48)),new rt(30,new Ie(46,24),new Ie(10,25)),new rt(30,new Ie(2,15),new Ie(64,16))),new hn(37,Int32Array.from([6,28,54,80,106,132,158]),new rt(30,new Ie(17,122),new Ie(4,123)),new rt(28,new Ie(29,46),new Ie(14,47)),new rt(30,new Ie(49,24),new Ie(10,25)),new rt(30,new Ie(24,15),new Ie(46,16))),new hn(38,Int32Array.from([6,32,58,84,110,136,162]),new rt(30,new Ie(4,122),new Ie(18,123)),new rt(28,new Ie(13,46),new Ie(32,47)),new rt(30,new Ie(48,24),new Ie(14,25)),new rt(30,new Ie(42,15),new Ie(32,16))),new hn(39,Int32Array.from([6,26,54,82,110,138,166]),new rt(30,new Ie(20,117),new Ie(4,118)),new rt(28,new Ie(40,47),new Ie(7,48)),new rt(30,new Ie(43,24),new Ie(22,25)),new rt(30,new Ie(10,15),new Ie(67,16))),new hn(40,Int32Array.from([6,30,58,86,114,142,170]),new rt(30,new Ie(19,118),new Ie(6,119)),new rt(28,new Ie(18,47),new Ie(31,48)),new rt(30,new Ie(34,24),new Ie(34,25)),new rt(30,new Ie(20,15),new Ie(61,16)))];var Eo;(function(ue){ue[ue.DATA_MASK_000=0]="DATA_MASK_000",ue[ue.DATA_MASK_001=1]="DATA_MASK_001",ue[ue.DATA_MASK_010=2]="DATA_MASK_010",ue[ue.DATA_MASK_011=3]="DATA_MASK_011",ue[ue.DATA_MASK_100=4]="DATA_MASK_100",ue[ue.DATA_MASK_101=5]="DATA_MASK_101",ue[ue.DATA_MASK_110=6]="DATA_MASK_110",ue[ue.DATA_MASK_111=7]="DATA_MASK_111"})(Eo||(Eo={}));class Fn{constructor(p,v){this.value=p,this.isMasked=v}unmaskBitMatrix(p,v){for(let x=0;x<v;x++)for(let C=0;C<v;C++)this.isMasked(x,C)&&p.flip(C,x)}}Fn.values=new Map([[Eo.DATA_MASK_000,new Fn(Eo.DATA_MASK_000,(ue,p)=>(ue+p&1)===0)],[Eo.DATA_MASK_001,new Fn(Eo.DATA_MASK_001,(ue,p)=>(ue&1)===0)],[Eo.DATA_MASK_010,new Fn(Eo.DATA_MASK_010,(ue,p)=>p%3===0)],[Eo.DATA_MASK_011,new Fn(Eo.DATA_MASK_011,(ue,p)=>(ue+p)%3===0)],[Eo.DATA_MASK_100,new Fn(Eo.DATA_MASK_100,(ue,p)=>(Math.floor(ue/2)+Math.floor(p/3)&1)===0)],[Eo.DATA_MASK_101,new Fn(Eo.DATA_MASK_101,(ue,p)=>ue*p%6===0)],[Eo.DATA_MASK_110,new Fn(Eo.DATA_MASK_110,(ue,p)=>ue*p%6<3)],[Eo.DATA_MASK_111,new Fn(Eo.DATA_MASK_111,(ue,p)=>(ue+p+ue*p%3&1)===0)]]);class Jx{constructor(p){const v=p.getHeight();if(v<21||(v&3)!==1)throw new L;this.bitMatrix=p}readFormatInformation(){if(this.parsedFormatInfo!==null&&this.parsedFormatInfo!==void 0)return this.parsedFormatInfo;let p=0;for(let E=0;E<6;E++)p=this.copyBit(E,8,p);p=this.copyBit(7,8,p),p=this.copyBit(8,8,p),p=this.copyBit(8,7,p);for(let E=5;E>=0;E--)p=this.copyBit(8,E,p);const v=this.bitMatrix.getHeight();let x=0;const C=v-7;for(let E=v-1;E>=C;E--)x=this.copyBit(8,E,x);for(let E=v-8;E<v;E++)x=this.copyBit(E,8,x);if(this.parsedFormatInfo=rs.decodeFormatInformation(p,x),this.parsedFormatInfo!==null)return this.parsedFormatInfo;throw new L}readVersion(){if(this.parsedVersion!==null&&this.parsedVersion!==void 0)return this.parsedVersion;const p=this.bitMatrix.getHeight(),v=Math.floor((p-17)/4);if(v<=6)return hn.getVersionForNumber(v);let x=0;const C=p-11;for(let A=5;A>=0;A--)for(let P=p-9;P>=C;P--)x=this.copyBit(P,A,x);let E=hn.decodeVersionInformation(x);if(E!==null&&E.getDimensionForVersion()===p)return this.parsedVersion=E,E;x=0;for(let A=5;A>=0;A--)for(let P=p-9;P>=C;P--)x=this.copyBit(A,P,x);if(E=hn.decodeVersionInformation(x),E!==null&&E.getDimensionForVersion()===p)return this.parsedVersion=E,E;throw new L}copyBit(p,v,x){return(this.isMirror?this.bitMatrix.get(v,p):this.bitMatrix.get(p,v))?x<<1|1:x<<1}readCodewords(){const p=this.readFormatInformation(),v=this.readVersion(),x=Fn.values.get(p.getDataMask()),C=this.bitMatrix.getHeight();x.unmaskBitMatrix(this.bitMatrix,C);const E=v.buildFunctionPattern();let A=!0;const P=new Uint8Array(v.getTotalCodewords());let H=0,ee=0,ae=0;for(let fe=C-1;fe>0;fe-=2){fe===6&&fe--;for(let be=0;be<C;be++){const _e=A?C-1-be:be;for(let He=0;He<2;He++)E.get(fe-He,_e)||(ae++,ee<<=1,this.bitMatrix.get(fe-He,_e)&&(ee|=1),ae===8&&(P[H++]=ee,ae=0,ee=0))}A=!A}if(H!==v.getTotalCodewords())throw new L;return P}remask(){if(this.parsedFormatInfo===null)return;const p=Fn.values[this.parsedFormatInfo.getDataMask()],v=this.bitMatrix.getHeight();p.unmaskBitMatrix(this.bitMatrix,v)}setMirror(p){this.parsedVersion=null,this.parsedFormatInfo=null,this.isMirror=p}mirror(){const p=this.bitMatrix;for(let v=0,x=p.getWidth();v<x;v++)for(let C=v+1,E=p.getHeight();C<E;C++)p.get(v,C)!==p.get(C,v)&&(p.flip(C,v),p.flip(v,C))}}class u1{constructor(p,v){this.numDataCodewords=p,this.codewords=v}static getDataBlocks(p,v,x){if(p.length!==v.getTotalCodewords())throw new f;const C=v.getECBlocksForLevel(x);let E=0;const A=C.getECBlocks();for(const He of A)E+=He.getCount();const P=new Array(E);let H=0;for(const He of A)for(let Ge=0;Ge<He.getCount();Ge++){const tt=He.getDataCodewords(),lt=C.getECCodewordsPerBlock()+tt;P[H++]=new u1(tt,new Uint8Array(lt))}const ee=P[0].codewords.length;let ae=P.length-1;for(;ae>=0&&P[ae].codewords.length!==ee;)ae--;ae++;const fe=ee-C.getECCodewordsPerBlock();let be=0;for(let He=0;He<fe;He++)for(let Ge=0;Ge<H;Ge++)P[Ge].codewords[He]=p[be++];for(let He=ae;He<H;He++)P[He].codewords[fe]=p[be++];const _e=P[0].codewords.length;for(let He=fe;He<_e;He++)for(let Ge=0;Ge<H;Ge++){const tt=Ge<ae?He:He+1;P[Ge].codewords[tt]=p[be++]}return P}getNumDataCodewords(){return this.numDataCodewords}getCodewords(){return this.codewords}}var ha;(function(ue){ue[ue.TERMINATOR=0]="TERMINATOR",ue[ue.NUMERIC=1]="NUMERIC",ue[ue.ALPHANUMERIC=2]="ALPHANUMERIC",ue[ue.STRUCTURED_APPEND=3]="STRUCTURED_APPEND",ue[ue.BYTE=4]="BYTE",ue[ue.ECI=5]="ECI",ue[ue.KANJI=6]="KANJI",ue[ue.FNC1_FIRST_POSITION=7]="FNC1_FIRST_POSITION",ue[ue.FNC1_SECOND_POSITION=8]="FNC1_SECOND_POSITION",ue[ue.HANZI=9]="HANZI"})(ha||(ha={}));class mn{constructor(p,v,x,C){this.value=p,this.stringValue=v,this.characterCountBitsForVersions=x,this.bits=C,mn.FOR_BITS.set(C,this),mn.FOR_VALUE.set(p,this)}static forBits(p){const v=mn.FOR_BITS.get(p);if(v===void 0)throw new f;return v}getCharacterCountBits(p){const v=p.getVersionNumber();let x;return v<=9?x=0:v<=26?x=1:x=2,this.characterCountBitsForVersions[x]}getValue(){return this.value}getBits(){return this.bits}equals(p){if(!(p instanceof mn))return!1;const v=p;return this.value===v.value}toString(){return this.stringValue}}mn.FOR_BITS=new Map,mn.FOR_VALUE=new Map,mn.TERMINATOR=new mn(ha.TERMINATOR,"TERMINATOR",Int32Array.from([0,0,0]),0),mn.NUMERIC=new mn(ha.NUMERIC,"NUMERIC",Int32Array.from([10,12,14]),1),mn.ALPHANUMERIC=new mn(ha.ALPHANUMERIC,"ALPHANUMERIC",Int32Array.from([9,11,13]),2),mn.STRUCTURED_APPEND=new mn(ha.STRUCTURED_APPEND,"STRUCTURED_APPEND",Int32Array.from([0,0,0]),3),mn.BYTE=new mn(ha.BYTE,"BYTE",Int32Array.from([8,16,16]),4),mn.ECI=new mn(ha.ECI,"ECI",Int32Array.from([0,0,0]),7),mn.KANJI=new mn(ha.KANJI,"KANJI",Int32Array.from([8,10,12]),8),mn.FNC1_FIRST_POSITION=new mn(ha.FNC1_FIRST_POSITION,"FNC1_FIRST_POSITION",Int32Array.from([0,0,0]),5),mn.FNC1_SECOND_POSITION=new mn(ha.FNC1_SECOND_POSITION,"FNC1_SECOND_POSITION",Int32Array.from([0,0,0]),9),mn.HANZI=new mn(ha.HANZI,"HANZI",Int32Array.from([8,10,12]),13);class Wr{static decode(p,v,x,C){const E=new xv(p);let A=new Q;const P=new Array;let H=-1,ee=-1;try{let ae=null,fe=!1,be;do{if(E.available()<4)be=mn.TERMINATOR;else{const _e=E.readBits(4);be=mn.forBits(_e)}switch(be){case mn.TERMINATOR:break;case mn.FNC1_FIRST_POSITION:case mn.FNC1_SECOND_POSITION:fe=!0;break;case mn.STRUCTURED_APPEND:if(E.available()<16)throw new L;H=E.readBits(8),ee=E.readBits(8);break;case mn.ECI:const _e=Wr.parseECIValue(E);if(ae=T.getCharacterSetECIByValue(_e),ae===null)throw new L;break;case mn.HANZI:const He=E.readBits(4),Ge=E.readBits(be.getCharacterCountBits(v));He===Wr.GB2312_SUBSET&&Wr.decodeHanziSegment(E,A,Ge);break;default:const tt=E.readBits(be.getCharacterCountBits(v));switch(be){case mn.NUMERIC:Wr.decodeNumericSegment(E,A,tt);break;case mn.ALPHANUMERIC:Wr.decodeAlphanumericSegment(E,A,tt,fe);break;case mn.BYTE:Wr.decodeByteSegment(E,A,tt,ae,P,C);break;case mn.KANJI:Wr.decodeKanjiSegment(E,A,tt);break;default:throw new L}break}}while(be!==mn.TERMINATOR)}catch{throw new L}return new pe(p,A.toString(),P.length===0?null:P,x===null?null:x.toString(),H,ee)}static decodeHanziSegment(p,v,x){if(x*13>p.available())throw new L;const C=new Uint8Array(2*x);let E=0;for(;x>0;){const A=p.readBits(13);let P=A/96<<8&4294967295|A%96;P<959?P+=41377:P+=42657,C[E]=P>>8&255,C[E+1]=P&255,E+=2,x--}try{v.append(z.decode(C,Y.GB2312))}catch(A){throw new L(A)}}static decodeKanjiSegment(p,v,x){if(x*13>p.available())throw new L;const C=new Uint8Array(2*x);let E=0;for(;x>0;){const A=p.readBits(13);let P=A/192<<8&4294967295|A%192;P<7936?P+=33088:P+=49472,C[E]=P>>8,C[E+1]=P,E+=2,x--}try{v.append(z.decode(C,Y.SHIFT_JIS))}catch(A){throw new L(A)}}static decodeByteSegment(p,v,x,C,E,A){if(8*x>p.available())throw new L;const P=new Uint8Array(x);for(let ee=0;ee<x;ee++)P[ee]=p.readBits(8);let H;C===null?H=Y.guessEncoding(P,A):H=C.getName();try{v.append(z.decode(P,H))}catch(ee){throw new L(ee)}E.push(P)}static toAlphaNumericChar(p){if(p>=Wr.ALPHANUMERIC_CHARS.length)throw new L;return Wr.ALPHANUMERIC_CHARS[p]}static decodeAlphanumericSegment(p,v,x,C){const E=v.length();for(;x>1;){if(p.available()<11)throw new L;const A=p.readBits(11);v.append(Wr.toAlphaNumericChar(Math.floor(A/45))),v.append(Wr.toAlphaNumericChar(A%45)),x-=2}if(x===1){if(p.available()<6)throw new L;v.append(Wr.toAlphaNumericChar(p.readBits(6)))}if(C)for(let A=E;A<v.length();A++)v.charAt(A)==="%"&&(A<v.length()-1&&v.charAt(A+1)==="%"?v.deleteCharAt(A+1):v.setCharAt(A,""))}static decodeNumericSegment(p,v,x){for(;x>=3;){if(p.available()<10)throw new L;const C=p.readBits(10);if(C>=1e3)throw new L;v.append(Wr.toAlphaNumericChar(Math.floor(C/100))),v.append(Wr.toAlphaNumericChar(Math.floor(C/10)%10)),v.append(Wr.toAlphaNumericChar(C%10)),x-=3}if(x===2){if(p.available()<7)throw new L;const C=p.readBits(7);if(C>=100)throw new L;v.append(Wr.toAlphaNumericChar(Math.floor(C/10))),v.append(Wr.toAlphaNumericChar(C%10))}else if(x===1){if(p.available()<4)throw new L;const C=p.readBits(4);if(C>=10)throw new L;v.append(Wr.toAlphaNumericChar(C))}}static parseECIValue(p){const v=p.readBits(8);if((v&128)===0)return v&127;if((v&192)===128){const x=p.readBits(8);return(v&63)<<8&4294967295|x}if((v&224)===192){const x=p.readBits(16);return(v&31)<<16&4294967295|x}throw new L}}Wr.ALPHANUMERIC_CHARS="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:",Wr.GB2312_SUBSET=1;class kv{constructor(p){this.mirrored=p}isMirrored(){return this.mirrored}applyMirroredCorrection(p){if(!this.mirrored||p===null||p.length<3)return;const v=p[0];p[0]=p[2],p[2]=v}}class jv{constructor(){this.rsDecoder=new Ve(he.QR_CODE_FIELD_256)}decodeBooleanArray(p,v){return this.decodeBitMatrix(W.parseFromBooleanArray(p),v)}decodeBitMatrix(p,v){const x=new Jx(p);let C=null;try{return this.decodeBitMatrixParser(x,v)}catch(E){C=E}try{x.remask(),x.setMirror(!0),x.readVersion(),x.readFormatInformation(),x.mirror();const E=this.decodeBitMatrixParser(x,v);return E.setOther(new kv(!0)),E}catch(E){throw C!==null?C:E}}decodeBitMatrixParser(p,v){const x=p.readVersion(),C=p.readFormatInformation().getErrorCorrectionLevel(),E=p.readCodewords(),A=u1.getDataBlocks(E,x,C);let P=0;for(const ae of A)P+=ae.getNumDataCodewords();const H=new Uint8Array(P);let ee=0;for(const ae of A){const fe=ae.getCodewords(),be=ae.getNumDataCodewords();this.correctErrors(fe,be);for(let _e=0;_e<be;_e++)H[ee++]=fe[_e]}return Wr.decode(H,x,C,v)}correctErrors(p,v){const x=new Int32Array(p);try{this.rsDecoder.decode(x,p.length-v)}catch{throw new g}for(let C=0;C<v;C++)p[C]=x[C]}}class Ad extends Me{constructor(p,v,x){super(p,v),this.estimatedModuleSize=x}aboutEquals(p,v,x){if(Math.abs(v-this.getY())<=p&&Math.abs(x-this.getX())<=p){const C=Math.abs(p-this.estimatedModuleSize);return C<=1||C<=this.estimatedModuleSize}return!1}combineEstimate(p,v,x){const C=(this.getX()+v)/2,E=(this.getY()+p)/2,A=(this.estimatedModuleSize+x)/2;return new Ad(C,E,A)}}class Bi{constructor(p,v,x,C,E,A,P){this.image=p,this.startX=v,this.startY=x,this.width=C,this.height=E,this.moduleSize=A,this.resultPointCallback=P,this.possibleCenters=[],this.crossCheckStateCount=new Int32Array(3)}find(){const p=this.startX,v=this.height,x=this.width,C=p+x,E=this.startY+v/2,A=new Int32Array(3),P=this.image;for(let H=0;H<v;H++){const ee=E+((H&1)===0?Math.floor((H+1)/2):-Math.floor((H+1)/2));A[0]=0,A[1]=0,A[2]=0;let ae=p;for(;ae<C&&!P.get(ae,ee);)ae++;let fe=0;for(;ae<C;){if(P.get(ae,ee))if(fe===1)A[1]++;else if(fe===2){if(this.foundPatternCross(A)){const be=this.handlePossibleCenter(A,ee,ae);if(be!==null)return be}A[0]=A[2],A[1]=1,A[2]=0,fe=1}else A[++fe]++;else fe===1&&fe++,A[fe]++;ae++}if(this.foundPatternCross(A)){const be=this.handlePossibleCenter(A,ee,C);if(be!==null)return be}}if(this.possibleCenters.length!==0)return this.possibleCenters[0];throw new F}static centerFromEnd(p,v){return v-p[2]-p[1]/2}foundPatternCross(p){const v=this.moduleSize,x=v/2;for(let C=0;C<3;C++)if(Math.abs(v-p[C])>=x)return!1;return!0}crossCheckVertical(p,v,x,C){const E=this.image,A=E.getHeight(),P=this.crossCheckStateCount;P[0]=0,P[1]=0,P[2]=0;let H=p;for(;H>=0&&E.get(v,H)&&P[1]<=x;)P[1]++,H--;if(H<0||P[1]>x)return NaN;for(;H>=0&&!E.get(v,H)&&P[0]<=x;)P[0]++,H--;if(P[0]>x)return NaN;for(H=p+1;H<A&&E.get(v,H)&&P[1]<=x;)P[1]++,H++;if(H===A||P[1]>x)return NaN;for(;H<A&&!E.get(v,H)&&P[2]<=x;)P[2]++,H++;if(P[2]>x)return NaN;const ee=P[0]+P[1]+P[2];return 5*Math.abs(ee-C)>=2*C?NaN:this.foundPatternCross(P)?Bi.centerFromEnd(P,H):NaN}handlePossibleCenter(p,v,x){const C=p[0]+p[1]+p[2],E=Bi.centerFromEnd(p,x),A=this.crossCheckVertical(v,E,2*p[1],C);if(!isNaN(A)){const P=(p[0]+p[1]+p[2])/3;for(const ee of this.possibleCenters)if(ee.aboutEquals(P,A,E))return ee.combineEstimate(A,E,P);const H=new Ad(E,A,P);this.possibleCenters.push(H),this.resultPointCallback!==null&&this.resultPointCallback!==void 0&&this.resultPointCallback.foundPossibleResultPoint(H)}return null}}class xl extends Me{constructor(p,v,x,C){super(p,v),this.estimatedModuleSize=x,this.count=C,C===void 0&&(this.count=1)}getEstimatedModuleSize(){return this.estimatedModuleSize}getCount(){return this.count}aboutEquals(p,v,x){if(Math.abs(v-this.getY())<=p&&Math.abs(x-this.getX())<=p){const C=Math.abs(p-this.estimatedModuleSize);return C<=1||C<=this.estimatedModuleSize}return!1}combineEstimate(p,v,x){const C=this.count+1,E=(this.count*this.getX()+v)/C,A=(this.count*this.getY()+p)/C,P=(this.count*this.estimatedModuleSize+x)/C;return new xl(E,A,P,C)}}class pu{constructor(p){this.bottomLeft=p[0],this.topLeft=p[1],this.topRight=p[2]}getBottomLeft(){return this.bottomLeft}getTopLeft(){return this.topLeft}getTopRight(){return this.topRight}}class co{constructor(p,v){this.image=p,this.resultPointCallback=v,this.possibleCenters=[],this.crossCheckStateCount=new Int32Array(5),this.resultPointCallback=v}getImage(){return this.image}getPossibleCenters(){return this.possibleCenters}find(p){const v=p!=null&&p.get(O.TRY_HARDER)!==void 0,x=p!=null&&p.get(O.PURE_BARCODE)!==void 0,C=this.image,E=C.getHeight(),A=C.getWidth();let P=Math.floor(3*E/(4*co.MAX_MODULES));(P<co.MIN_SKIP||v)&&(P=co.MIN_SKIP);let H=!1;const ee=new Int32Array(5);for(let fe=P-1;fe<E&&!H;fe+=P){ee[0]=0,ee[1]=0,ee[2]=0,ee[3]=0,ee[4]=0;let be=0;for(let _e=0;_e<A;_e++)if(C.get(_e,fe))(be&1)===1&&be++,ee[be]++;else if((be&1)===0)if(be===4)if(co.foundPatternCross(ee)){if(this.handlePossibleCenter(ee,fe,_e,x)===!0)if(P=2,this.hasSkipped===!0)H=this.haveMultiplyConfirmedCenters();else{const Ge=this.findRowSkip();Ge>ee[2]&&(fe+=Ge-ee[2]-P,_e=A-1)}else{ee[0]=ee[2],ee[1]=ee[3],ee[2]=ee[4],ee[3]=1,ee[4]=0,be=3;continue}be=0,ee[0]=0,ee[1]=0,ee[2]=0,ee[3]=0,ee[4]=0}else ee[0]=ee[2],ee[1]=ee[3],ee[2]=ee[4],ee[3]=1,ee[4]=0,be=3;else ee[++be]++;else ee[be]++;co.foundPatternCross(ee)&&this.handlePossibleCenter(ee,fe,A,x)===!0&&(P=ee[0],this.hasSkipped&&(H=this.haveMultiplyConfirmedCenters()))}const ae=this.selectBestPatterns();return Me.orderBestPatterns(ae),new pu(ae)}static centerFromEnd(p,v){return v-p[4]-p[3]-p[2]/2}static foundPatternCross(p){let v=0;for(let E=0;E<5;E++){const A=p[E];if(A===0)return!1;v+=A}if(v<7)return!1;const x=v/7,C=x/2;return Math.abs(x-p[0])<C&&Math.abs(x-p[1])<C&&Math.abs(3*x-p[2])<3*C&&Math.abs(x-p[3])<C&&Math.abs(x-p[4])<C}getCrossCheckStateCount(){const p=this.crossCheckStateCount;return p[0]=0,p[1]=0,p[2]=0,p[3]=0,p[4]=0,p}crossCheckDiagonal(p,v,x,C){const E=this.getCrossCheckStateCount();let A=0;const P=this.image;for(;p>=A&&v>=A&&P.get(v-A,p-A);)E[2]++,A++;if(p<A||v<A)return!1;for(;p>=A&&v>=A&&!P.get(v-A,p-A)&&E[1]<=x;)E[1]++,A++;if(p<A||v<A||E[1]>x)return!1;for(;p>=A&&v>=A&&P.get(v-A,p-A)&&E[0]<=x;)E[0]++,A++;if(E[0]>x)return!1;const H=P.getHeight(),ee=P.getWidth();for(A=1;p+A<H&&v+A<ee&&P.get(v+A,p+A);)E[2]++,A++;if(p+A>=H||v+A>=ee)return!1;for(;p+A<H&&v+A<ee&&!P.get(v+A,p+A)&&E[3]<x;)E[3]++,A++;if(p+A>=H||v+A>=ee||E[3]>=x)return!1;for(;p+A<H&&v+A<ee&&P.get(v+A,p+A)&&E[4]<x;)E[4]++,A++;if(E[4]>=x)return!1;const ae=E[0]+E[1]+E[2]+E[3]+E[4];return Math.abs(ae-C)<2*C&&co.foundPatternCross(E)}crossCheckVertical(p,v,x,C){const E=this.image,A=E.getHeight(),P=this.getCrossCheckStateCount();let H=p;for(;H>=0&&E.get(v,H);)P[2]++,H--;if(H<0)return NaN;for(;H>=0&&!E.get(v,H)&&P[1]<=x;)P[1]++,H--;if(H<0||P[1]>x)return NaN;for(;H>=0&&E.get(v,H)&&P[0]<=x;)P[0]++,H--;if(P[0]>x)return NaN;for(H=p+1;H<A&&E.get(v,H);)P[2]++,H++;if(H===A)return NaN;for(;H<A&&!E.get(v,H)&&P[3]<x;)P[3]++,H++;if(H===A||P[3]>=x)return NaN;for(;H<A&&E.get(v,H)&&P[4]<x;)P[4]++,H++;if(P[4]>=x)return NaN;const ee=P[0]+P[1]+P[2]+P[3]+P[4];return 5*Math.abs(ee-C)>=2*C?NaN:co.foundPatternCross(P)?co.centerFromEnd(P,H):NaN}crossCheckHorizontal(p,v,x,C){const E=this.image,A=E.getWidth(),P=this.getCrossCheckStateCount();let H=p;for(;H>=0&&E.get(H,v);)P[2]++,H--;if(H<0)return NaN;for(;H>=0&&!E.get(H,v)&&P[1]<=x;)P[1]++,H--;if(H<0||P[1]>x)return NaN;for(;H>=0&&E.get(H,v)&&P[0]<=x;)P[0]++,H--;if(P[0]>x)return NaN;for(H=p+1;H<A&&E.get(H,v);)P[2]++,H++;if(H===A)return NaN;for(;H<A&&!E.get(H,v)&&P[3]<x;)P[3]++,H++;if(H===A||P[3]>=x)return NaN;for(;H<A&&E.get(H,v)&&P[4]<x;)P[4]++,H++;if(P[4]>=x)return NaN;const ee=P[0]+P[1]+P[2]+P[3]+P[4];return 5*Math.abs(ee-C)>=C?NaN:co.foundPatternCross(P)?co.centerFromEnd(P,H):NaN}handlePossibleCenter(p,v,x,C){const E=p[0]+p[1]+p[2]+p[3]+p[4];let A=co.centerFromEnd(p,x),P=this.crossCheckVertical(v,Math.floor(A),p[2],E);if(!isNaN(P)&&(A=this.crossCheckHorizontal(Math.floor(A),Math.floor(P),p[2],E),!isNaN(A)&&(!C||this.crossCheckDiagonal(Math.floor(P),Math.floor(A),p[2],E)))){const H=E/7;let ee=!1;const ae=this.possibleCenters;for(let fe=0,be=ae.length;fe<be;fe++){const _e=ae[fe];if(_e.aboutEquals(H,P,A)){ae[fe]=_e.combineEstimate(P,A,H),ee=!0;break}}if(!ee){const fe=new xl(A,P,H);ae.push(fe),this.resultPointCallback!==null&&this.resultPointCallback!==void 0&&this.resultPointCallback.foundPossibleResultPoint(fe)}return!0}return!1}findRowSkip(){if(this.possibleCenters.length<=1)return 0;let v=null;for(const x of this.possibleCenters)if(x.getCount()>=co.CENTER_QUORUM)if(v==null)v=x;else return this.hasSkipped=!0,Math.floor((Math.abs(v.getX()-x.getX())-Math.abs(v.getY()-x.getY()))/2);return 0}haveMultiplyConfirmedCenters(){let p=0,v=0;const x=this.possibleCenters.length;for(const A of this.possibleCenters)A.getCount()>=co.CENTER_QUORUM&&(p++,v+=A.getEstimatedModuleSize());if(p<3)return!1;const C=v/x;let E=0;for(const A of this.possibleCenters)E+=Math.abs(A.getEstimatedModuleSize()-C);return E<=.05*v}selectBestPatterns(){const p=this.possibleCenters.length;if(p<3)throw new F;const v=this.possibleCenters;let x;if(p>3){let C=0,E=0;for(const H of this.possibleCenters){const ee=H.getEstimatedModuleSize();C+=ee,E+=ee*ee}x=C/p;let A=Math.sqrt(E/p-x*x);v.sort((H,ee)=>{const ae=Math.abs(ee.getEstimatedModuleSize()-x),fe=Math.abs(H.getEstimatedModuleSize()-x);return ae<fe?-1:ae>fe?1:0});const P=Math.max(.2*x,A);for(let H=0;H<v.length&&v.length>3;H++){const ee=v[H];Math.abs(ee.getEstimatedModuleSize()-x)>P&&(v.splice(H,1),H--)}}if(v.length>3){let C=0;for(const E of v)C+=E.getEstimatedModuleSize();x=C/v.length,v.sort((E,A)=>{if(A.getCount()===E.getCount()){const P=Math.abs(A.getEstimatedModuleSize()-x),H=Math.abs(E.getEstimatedModuleSize()-x);return P<H?1:P>H?-1:0}else return A.getCount()-E.getCount()}),v.splice(3)}return[v[0],v[1],v[2]]}}co.CENTER_QUORUM=2,co.MIN_SKIP=3,co.MAX_MODULES=57;class vc{constructor(p){this.image=p}getImage(){return this.image}getResultPointCallback(){return this.resultPointCallback}detect(p){this.resultPointCallback=p==null?null:p.get(O.NEED_RESULT_POINT_CALLBACK);const x=new co(this.image,this.resultPointCallback).find(p);return this.processFinderPatternInfo(x)}processFinderPatternInfo(p){const v=p.getTopLeft(),x=p.getTopRight(),C=p.getBottomLeft(),E=this.calculateModuleSize(v,x,C);if(E<1)throw new F("No pattern found in proccess finder.");const A=vc.computeDimension(v,x,C,E),P=hn.getProvisionalVersionForDimension(A),H=P.getDimensionForVersion()-7;let ee=null;if(P.getAlignmentPatternCenters().length>0){const _e=x.getX()-v.getX()+C.getX(),He=x.getY()-v.getY()+C.getY(),Ge=1-3/H,tt=Math.floor(v.getX()+Ge*(_e-v.getX())),lt=Math.floor(v.getY()+Ge*(He-v.getY()));for(let Lt=4;Lt<=16;Lt<<=1)try{ee=this.findAlignmentInRegion(E,tt,lt,Lt);break}catch(zt){if(!(zt instanceof F))throw zt}}const ae=vc.createTransform(v,x,C,ee,A),fe=vc.sampleGrid(this.image,ae,A);let be;return ee===null?be=[C,v,x]:be=[C,v,x,ee],new et(fe,be)}static createTransform(p,v,x,C,E){const A=E-3.5;let P,H,ee,ae;return C!==null?(P=C.getX(),H=C.getY(),ee=A-3,ae=ee):(P=v.getX()-p.getX()+x.getX(),H=v.getY()-p.getY()+x.getY(),ee=A,ae=A),De.quadrilateralToQuadrilateral(3.5,3.5,A,3.5,ee,ae,3.5,A,p.getX(),p.getY(),v.getX(),v.getY(),P,H,x.getX(),x.getY())}static sampleGrid(p,v,x){return q.getInstance().sampleGridWithTransform(p,x,x,v)}static computeDimension(p,v,x,C){const E=$e.round(Me.distance(p,v)/C),A=$e.round(Me.distance(p,x)/C);let P=Math.floor((E+A)/2)+7;switch(P&3){case 0:P++;break;case 2:P--;break;case 3:throw new F("Dimensions could be not found.")}return P}calculateModuleSize(p,v,x){return(this.calculateModuleSizeOneWay(p,v)+this.calculateModuleSizeOneWay(p,x))/2}calculateModuleSizeOneWay(p,v){const x=this.sizeOfBlackWhiteBlackRunBothWays(Math.floor(p.getX()),Math.floor(p.getY()),Math.floor(v.getX()),Math.floor(v.getY())),C=this.sizeOfBlackWhiteBlackRunBothWays(Math.floor(v.getX()),Math.floor(v.getY()),Math.floor(p.getX()),Math.floor(p.getY()));return isNaN(x)?C/7:isNaN(C)?x/7:(x+C)/14}sizeOfBlackWhiteBlackRunBothWays(p,v,x,C){let E=this.sizeOfBlackWhiteBlackRun(p,v,x,C),A=1,P=p-(x-p);P<0?(A=p/(p-P),P=0):P>=this.image.getWidth()&&(A=(this.image.getWidth()-1-p)/(P-p),P=this.image.getWidth()-1);let H=Math.floor(v-(C-v)*A);return A=1,H<0?(A=v/(v-H),H=0):H>=this.image.getHeight()&&(A=(this.image.getHeight()-1-v)/(H-v),H=this.image.getHeight()-1),P=Math.floor(p+(P-p)*A),E+=this.sizeOfBlackWhiteBlackRun(p,v,P,H),E-1}sizeOfBlackWhiteBlackRun(p,v,x,C){const E=Math.abs(C-v)>Math.abs(x-p);if(E){let _e=p;p=v,v=_e,_e=x,x=C,C=_e}const A=Math.abs(x-p),P=Math.abs(C-v);let H=-A/2;const ee=p<x?1:-1,ae=v<C?1:-1;let fe=0;const be=x+ee;for(let _e=p,He=v;_e!==be;_e+=ee){const Ge=E?He:_e,tt=E?_e:He;if(fe===1===this.image.get(Ge,tt)){if(fe===2)return $e.distance(_e,He,p,v);fe++}if(H+=P,H>0){if(He===C)break;He+=ae,H-=A}}return fe===2?$e.distance(x+ee,C,p,v):NaN}findAlignmentInRegion(p,v,x,C){const E=Math.floor(C*p),A=Math.max(0,v-E),P=Math.min(this.image.getWidth()-1,v+E);if(P-A<p*3)throw new F("Alignment top exceeds estimated module size.");const H=Math.max(0,x-E),ee=Math.min(this.image.getHeight()-1,x+E);if(ee-H<p*3)throw new F("Alignment bottom exceeds estimated module size.");return new Bi(this.image,A,H,P-A,ee-H,p,this.resultPointCallback).find()}}class Hs{constructor(){this.decoder=new jv}getDecoder(){return this.decoder}decode(p,v){let x,C;if(v!=null&&v.get(O.PURE_BARCODE)!==void 0){const H=Hs.extractPureBits(p.getBlackMatrix());x=this.decoder.decodeBitMatrix(H,v),C=Hs.NO_POINTS}else{const H=new vc(p.getBlackMatrix()).detect(v);x=this.decoder.decodeBitMatrix(H.getBits(),v),C=H.getPoints()}x.getOther()instanceof kv&&x.getOther().applyMirroredCorrection(C);const E=new de(x.getText(),x.getRawBytes(),void 0,C,ve.QR_CODE,void 0),A=x.getByteSegments();A!==null&&E.putMetadata(ce.BYTE_SEGMENTS,A);const P=x.getECLevel();return P!==null&&E.putMetadata(ce.ERROR_CORRECTION_LEVEL,P),x.hasStructuredAppend()&&(E.putMetadata(ce.STRUCTURED_APPEND_SEQUENCE,x.getStructuredAppendSequenceNumber()),E.putMetadata(ce.STRUCTURED_APPEND_PARITY,x.getStructuredAppendParity())),E}reset(){}static extractPureBits(p){const v=p.getTopLeftOnBit(),x=p.getBottomRightOnBit();if(v===null||x===null)throw new F;const C=this.moduleSize(v,p);let E=v[1],A=x[1],P=v[0],H=x[0];if(P>=H||E>=A)throw new F;if(A-E!==H-P&&(H=P+(A-E),H>=p.getWidth()))throw new F;const ee=Math.round((H-P+1)/C),ae=Math.round((A-E+1)/C);if(ee<=0||ae<=0)throw new F;if(ae!==ee)throw new F;const fe=Math.floor(C/2);E+=fe,P+=fe;const be=P+Math.floor((ee-1)*C)-H;if(be>0){if(be>fe)throw new F;P-=be}const _e=E+Math.floor((ae-1)*C)-A;if(_e>0){if(_e>fe)throw new F;E-=_e}const He=new W(ee,ae);for(let Ge=0;Ge<ae;Ge++){const tt=E+Math.floor(Ge*C);for(let lt=0;lt<ee;lt++)p.get(P+Math.floor(lt*C),tt)&&He.set(lt,Ge)}return He}static moduleSize(p,v){const x=v.getHeight(),C=v.getWidth();let E=p[0],A=p[1],P=!0,H=0;for(;E<C&&A<x;){if(P!==v.get(E,A)){if(++H===5)break;P=!P}E++,A++}if(E===C||A===x)throw new F;return(E-p[0])/7}}Hs.NO_POINTS=new Array;class jn{PDF417Common(){}static getBitCountSum(p){return $e.sum(p)}static toIntArray(p){if(p==null||!p.length)return jn.EMPTY_INT_ARRAY;const v=new Int32Array(p.length);let x=0;for(const C of p)v[x++]=C;return v}static getCodeword(p){const v=I.binarySearch(jn.SYMBOL_TABLE,p&262143);return v<0?-1:(jn.CODEWORD_TABLE[v]-1)%jn.NUMBER_OF_CODEWORDS}}jn.NUMBER_OF_CODEWORDS=929,jn.MAX_CODEWORDS_IN_BARCODE=jn.NUMBER_OF_CODEWORDS-1,jn.MIN_ROWS_IN_BARCODE=3,jn.MAX_ROWS_IN_BARCODE=90,jn.MODULES_IN_CODEWORD=17,jn.MODULES_IN_STOP_PATTERN=18,jn.BARS_IN_MODULE=8,jn.EMPTY_INT_ARRAY=new Int32Array([]),jn.SYMBOL_TABLE=Int32Array.from([66142,66170,66206,66236,66290,66292,66350,66382,66396,66454,66470,66476,66594,66600,66614,66626,66628,66632,66640,66654,66662,66668,66682,66690,66718,66720,66748,66758,66776,66798,66802,66804,66820,66824,66832,66846,66848,66876,66880,66936,66950,66956,66968,66992,67006,67022,67036,67042,67044,67048,67062,67118,67150,67164,67214,67228,67256,67294,67322,67350,67366,67372,67398,67404,67416,67438,67474,67476,67490,67492,67496,67510,67618,67624,67650,67656,67664,67678,67686,67692,67706,67714,67716,67728,67742,67744,67772,67782,67788,67800,67822,67826,67828,67842,67848,67870,67872,67900,67904,67960,67974,67992,68016,68030,68046,68060,68066,68068,68072,68086,68104,68112,68126,68128,68156,68160,68216,68336,68358,68364,68376,68400,68414,68448,68476,68494,68508,68536,68546,68548,68552,68560,68574,68582,68588,68654,68686,68700,68706,68708,68712,68726,68750,68764,68792,68802,68804,68808,68816,68830,68838,68844,68858,68878,68892,68920,68976,68990,68994,68996,69e3,69008,69022,69024,69052,69062,69068,69080,69102,69106,69108,69142,69158,69164,69190,69208,69230,69254,69260,69272,69296,69310,69326,69340,69386,69394,69396,69410,69416,69430,69442,69444,69448,69456,69470,69478,69484,69554,69556,69666,69672,69698,69704,69712,69726,69754,69762,69764,69776,69790,69792,69820,69830,69836,69848,69870,69874,69876,69890,69918,69920,69948,69952,70008,70022,70040,70064,70078,70094,70108,70114,70116,70120,70134,70152,70174,70176,70264,70384,70412,70448,70462,70496,70524,70542,70556,70584,70594,70600,70608,70622,70630,70636,70664,70672,70686,70688,70716,70720,70776,70896,71136,71180,71192,71216,71230,71264,71292,71360,71416,71452,71480,71536,71550,71554,71556,71560,71568,71582,71584,71612,71622,71628,71640,71662,71726,71732,71758,71772,71778,71780,71784,71798,71822,71836,71864,71874,71880,71888,71902,71910,71916,71930,71950,71964,71992,72048,72062,72066,72068,72080,72094,72096,72124,72134,72140,72152,72174,72178,72180,72206,72220,72248,72304,72318,72416,72444,72456,72464,72478,72480,72508,72512,72568,72588,72600,72624,72638,72654,72668,72674,72676,72680,72694,72726,72742,72748,72774,72780,72792,72814,72838,72856,72880,72894,72910,72924,72930,72932,72936,72950,72966,72972,72984,73008,73022,73056,73084,73102,73116,73144,73156,73160,73168,73182,73190,73196,73210,73226,73234,73236,73250,73252,73256,73270,73282,73284,73296,73310,73318,73324,73346,73348,73352,73360,73374,73376,73404,73414,73420,73432,73454,73498,73518,73522,73524,73550,73564,73570,73572,73576,73590,73800,73822,73858,73860,73872,73886,73888,73916,73944,73970,73972,73992,74014,74016,74044,74048,74104,74118,74136,74160,74174,74210,74212,74216,74230,74244,74256,74270,74272,74360,74480,74502,74508,74544,74558,74592,74620,74638,74652,74680,74690,74696,74704,74726,74732,74782,74784,74812,74992,75232,75288,75326,75360,75388,75456,75512,75576,75632,75646,75650,75652,75664,75678,75680,75708,75718,75724,75736,75758,75808,75836,75840,75896,76016,76256,76736,76824,76848,76862,76896,76924,76992,77048,77296,77340,77368,77424,77438,77536,77564,77572,77576,77584,77600,77628,77632,77688,77702,77708,77720,77744,77758,77774,77788,77870,77902,77916,77922,77928,77966,77980,78008,78018,78024,78032,78046,78060,78074,78094,78136,78192,78206,78210,78212,78224,78238,78240,78268,78278,78284,78296,78322,78324,78350,78364,78448,78462,78560,78588,78600,78622,78624,78652,78656,78712,78726,78744,78768,78782,78798,78812,78818,78820,78824,78838,78862,78876,78904,78960,78974,79072,79100,79296,79352,79368,79376,79390,79392,79420,79424,79480,79600,79628,79640,79664,79678,79712,79740,79772,79800,79810,79812,79816,79824,79838,79846,79852,79894,79910,79916,79942,79948,79960,79982,79988,80006,80024,80048,80062,80078,80092,80098,80100,80104,80134,80140,80176,80190,80224,80252,80270,80284,80312,80328,80336,80350,80358,80364,80378,80390,80396,80408,80432,80446,80480,80508,80576,80632,80654,80668,80696,80752,80766,80776,80784,80798,80800,80828,80844,80856,80878,80882,80884,80914,80916,80930,80932,80936,80950,80962,80968,80976,80990,80998,81004,81026,81028,81040,81054,81056,81084,81094,81100,81112,81134,81154,81156,81160,81168,81182,81184,81212,81216,81272,81286,81292,81304,81328,81342,81358,81372,81380,81384,81398,81434,81454,81458,81460,81486,81500,81506,81508,81512,81526,81550,81564,81592,81602,81604,81608,81616,81630,81638,81644,81702,81708,81722,81734,81740,81752,81774,81778,81780,82050,82078,82080,82108,82180,82184,82192,82206,82208,82236,82240,82296,82316,82328,82352,82366,82402,82404,82408,82440,82448,82462,82464,82492,82496,82552,82672,82694,82700,82712,82736,82750,82784,82812,82830,82882,82884,82888,82896,82918,82924,82952,82960,82974,82976,83004,83008,83064,83184,83424,83468,83480,83504,83518,83552,83580,83648,83704,83740,83768,83824,83838,83842,83844,83848,83856,83872,83900,83910,83916,83928,83950,83984,84e3,84028,84032,84088,84208,84448,84928,85040,85054,85088,85116,85184,85240,85488,85560,85616,85630,85728,85756,85764,85768,85776,85790,85792,85820,85824,85880,85894,85900,85912,85936,85966,85980,86048,86080,86136,86256,86496,86976,88160,88188,88256,88312,88560,89056,89200,89214,89312,89340,89536,89592,89608,89616,89632,89664,89720,89840,89868,89880,89904,89952,89980,89998,90012,90040,90190,90204,90254,90268,90296,90306,90308,90312,90334,90382,90396,90424,90480,90494,90500,90504,90512,90526,90528,90556,90566,90572,90584,90610,90612,90638,90652,90680,90736,90750,90848,90876,90884,90888,90896,90910,90912,90940,90944,91e3,91014,91020,91032,91056,91070,91086,91100,91106,91108,91112,91126,91150,91164,91192,91248,91262,91360,91388,91584,91640,91664,91678,91680,91708,91712,91768,91888,91928,91952,91966,92e3,92028,92046,92060,92088,92098,92100,92104,92112,92126,92134,92140,92188,92216,92272,92384,92412,92608,92664,93168,93200,93214,93216,93244,93248,93304,93424,93664,93720,93744,93758,93792,93820,93888,93944,93980,94008,94064,94078,94084,94088,94096,94110,94112,94140,94150,94156,94168,94246,94252,94278,94284,94296,94318,94342,94348,94360,94384,94398,94414,94428,94440,94470,94476,94488,94512,94526,94560,94588,94606,94620,94648,94658,94660,94664,94672,94686,94694,94700,94714,94726,94732,94744,94768,94782,94816,94844,94912,94968,94990,95004,95032,95088,95102,95112,95120,95134,95136,95164,95180,95192,95214,95218,95220,95244,95256,95280,95294,95328,95356,95424,95480,95728,95758,95772,95800,95856,95870,95968,95996,96008,96016,96030,96032,96060,96064,96120,96152,96176,96190,96220,96226,96228,96232,96290,96292,96296,96310,96322,96324,96328,96336,96350,96358,96364,96386,96388,96392,96400,96414,96416,96444,96454,96460,96472,96494,96498,96500,96514,96516,96520,96528,96542,96544,96572,96576,96632,96646,96652,96664,96688,96702,96718,96732,96738,96740,96744,96758,96772,96776,96784,96798,96800,96828,96832,96888,97008,97030,97036,97048,97072,97086,97120,97148,97166,97180,97208,97220,97224,97232,97246,97254,97260,97326,97330,97332,97358,97372,97378,97380,97384,97398,97422,97436,97464,97474,97476,97480,97488,97502,97510,97516,97550,97564,97592,97648,97666,97668,97672,97680,97694,97696,97724,97734,97740,97752,97774,97830,97836,97850,97862,97868,97880,97902,97906,97908,97926,97932,97944,97968,97998,98012,98018,98020,98024,98038,98618,98674,98676,98838,98854,98874,98892,98904,98926,98930,98932,98968,99006,99042,99044,99048,99062,99166,99194,99246,99286,99350,99366,99372,99386,99398,99416,99438,99442,99444,99462,99504,99518,99534,99548,99554,99556,99560,99574,99590,99596,99608,99632,99646,99680,99708,99726,99740,99768,99778,99780,99784,99792,99806,99814,99820,99834,99858,99860,99874,99880,99894,99906,99920,99934,99962,99970,99972,99976,99984,99998,1e5,100028,100038,100044,100056,100078,100082,100084,100142,100174,100188,100246,100262,100268,100306,100308,100390,100396,100410,100422,100428,100440,100462,100466,100468,100486,100504,100528,100542,100558,100572,100578,100580,100584,100598,100620,100656,100670,100704,100732,100750,100792,100802,100808,100816,100830,100838,100844,100858,100888,100912,100926,100960,100988,101056,101112,101148,101176,101232,101246,101250,101252,101256,101264,101278,101280,101308,101318,101324,101336,101358,101362,101364,101410,101412,101416,101430,101442,101448,101456,101470,101478,101498,101506,101508,101520,101534,101536,101564,101580,101618,101620,101636,101640,101648,101662,101664,101692,101696,101752,101766,101784,101838,101858,101860,101864,101934,101938,101940,101966,101980,101986,101988,101992,102030,102044,102072,102082,102084,102088,102096,102138,102166,102182,102188,102214,102220,102232,102254,102282,102290,102292,102306,102308,102312,102326,102444,102458,102470,102476,102488,102514,102516,102534,102552,102576,102590,102606,102620,102626,102632,102646,102662,102668,102704,102718,102752,102780,102798,102812,102840,102850,102856,102864,102878,102886,102892,102906,102936,102974,103008,103036,103104,103160,103224,103280,103294,103298,103300,103312,103326,103328,103356,103366,103372,103384,103406,103410,103412,103472,103486,103520,103548,103616,103672,103920,103992,104048,104062,104160,104188,104194,104196,104200,104208,104224,104252,104256,104312,104326,104332,104344,104368,104382,104398,104412,104418,104420,104424,104482,104484,104514,104520,104528,104542,104550,104570,104578,104580,104592,104606,104608,104636,104652,104690,104692,104706,104712,104734,104736,104764,104768,104824,104838,104856,104910,104930,104932,104936,104968,104976,104990,104992,105020,105024,105080,105200,105240,105278,105312,105372,105410,105412,105416,105424,105446,105518,105524,105550,105564,105570,105572,105576,105614,105628,105656,105666,105672,105680,105702,105722,105742,105756,105784,105840,105854,105858,105860,105864,105872,105888,105932,105970,105972,106006,106022,106028,106054,106060,106072,106100,106118,106124,106136,106160,106174,106190,106210,106212,106216,106250,106258,106260,106274,106276,106280,106306,106308,106312,106320,106334,106348,106394,106414,106418,106420,106566,106572,106610,106612,106630,106636,106648,106672,106686,106722,106724,106728,106742,106758,106764,106776,106800,106814,106848,106876,106894,106908,106936,106946,106948,106952,106960,106974,106982,106988,107032,107056,107070,107104,107132,107200,107256,107292,107320,107376,107390,107394,107396,107400,107408,107422,107424,107452,107462,107468,107480,107502,107506,107508,107544,107568,107582,107616,107644,107712,107768,108016,108060,108088,108144,108158,108256,108284,108290,108292,108296,108304,108318,108320,108348,108352,108408,108422,108428,108440,108464,108478,108494,108508,108514,108516,108520,108592,108640,108668,108736,108792,109040,109536,109680,109694,109792,109820,110016,110072,110084,110088,110096,110112,110140,110144,110200,110320,110342,110348,110360,110384,110398,110432,110460,110478,110492,110520,110532,110536,110544,110558,110658,110686,110714,110722,110724,110728,110736,110750,110752,110780,110796,110834,110836,110850,110852,110856,110864,110878,110880,110908,110912,110968,110982,111e3,111054,111074,111076,111080,111108,111112,111120,111134,111136,111164,111168,111224,111344,111372,111422,111456,111516,111554,111556,111560,111568,111590,111632,111646,111648,111676,111680,111736,111856,112096,112152,112224,112252,112320,112440,112514,112516,112520,112528,112542,112544,112588,112686,112718,112732,112782,112796,112824,112834,112836,112840,112848,112870,112890,112910,112924,112952,113008,113022,113026,113028,113032,113040,113054,113056,113100,113138,113140,113166,113180,113208,113264,113278,113376,113404,113416,113424,113440,113468,113472,113560,113614,113634,113636,113640,113686,113702,113708,113734,113740,113752,113778,113780,113798,113804,113816,113840,113854,113870,113890,113892,113896,113926,113932,113944,113968,113982,114016,114044,114076,114114,114116,114120,114128,114150,114170,114194,114196,114210,114212,114216,114242,114244,114248,114256,114270,114278,114306,114308,114312,114320,114334,114336,114364,114380,114420,114458,114478,114482,114484,114510,114524,114530,114532,114536,114842,114866,114868,114970,114994,114996,115042,115044,115048,115062,115130,115226,115250,115252,115278,115292,115298,115300,115304,115318,115342,115394,115396,115400,115408,115422,115430,115436,115450,115478,115494,115514,115526,115532,115570,115572,115738,115758,115762,115764,115790,115804,115810,115812,115816,115830,115854,115868,115896,115906,115912,115920,115934,115942,115948,115962,115996,116024,116080,116094,116098,116100,116104,116112,116126,116128,116156,116166,116172,116184,116206,116210,116212,116246,116262,116268,116282,116294,116300,116312,116334,116338,116340,116358,116364,116376,116400,116414,116430,116444,116450,116452,116456,116498,116500,116514,116520,116534,116546,116548,116552,116560,116574,116582,116588,116602,116654,116694,116714,116762,116782,116786,116788,116814,116828,116834,116836,116840,116854,116878,116892,116920,116930,116936,116944,116958,116966,116972,116986,117006,117048,117104,117118,117122,117124,117136,117150,117152,117180,117190,117196,117208,117230,117234,117236,117304,117360,117374,117472,117500,117506,117508,117512,117520,117536,117564,117568,117624,117638,117644,117656,117680,117694,117710,117724,117730,117732,117736,117750,117782,117798,117804,117818,117830,117848,117874,117876,117894,117936,117950,117966,117986,117988,117992,118022,118028,118040,118064,118078,118112,118140,118172,118210,118212,118216,118224,118238,118246,118266,118306,118312,118338,118352,118366,118374,118394,118402,118404,118408,118416,118430,118432,118460,118476,118514,118516,118574,118578,118580,118606,118620,118626,118628,118632,118678,118694,118700,118730,118738,118740,118830,118834,118836,118862,118876,118882,118884,118888,118902,118926,118940,118968,118978,118980,118984,118992,119006,119014,119020,119034,119068,119096,119152,119166,119170,119172,119176,119184,119198,119200,119228,119238,119244,119256,119278,119282,119284,119324,119352,119408,119422,119520,119548,119554,119556,119560,119568,119582,119584,119612,119616,119672,119686,119692,119704,119728,119742,119758,119772,119778,119780,119784,119798,119920,119934,120032,120060,120256,120312,120324,120328,120336,120352,120384,120440,120560,120582,120588,120600,120624,120638,120672,120700,120718,120732,120760,120770,120772,120776,120784,120798,120806,120812,120870,120876,120890,120902,120908,120920,120946,120948,120966,120972,120984,121008,121022,121038,121058,121060,121064,121078,121100,121112,121136,121150,121184,121212,121244,121282,121284,121288,121296,121318,121338,121356,121368,121392,121406,121440,121468,121536,121592,121656,121730,121732,121736,121744,121758,121760,121804,121842,121844,121890,121922,121924,121928,121936,121950,121958,121978,121986,121988,121992,122e3,122014,122016,122044,122060,122098,122100,122116,122120,122128,122142,122144,122172,122176,122232,122246,122264,122318,122338,122340,122344,122414,122418,122420,122446,122460,122466,122468,122472,122510,122524,122552,122562,122564,122568,122576,122598,122618,122646,122662,122668,122694,122700,122712,122738,122740,122762,122770,122772,122786,122788,122792,123018,123026,123028,123042,123044,123048,123062,123098,123146,123154,123156,123170,123172,123176,123190,123202,123204,123208,123216,123238,123244,123258,123290,123314,123316,123402,123410,123412,123426,123428,123432,123446,123458,123464,123472,123486,123494,123500,123514,123522,123524,123528,123536,123552,123580,123590,123596,123608,123630,123634,123636,123674,123698,123700,123740,123746,123748,123752,123834,123914,123922,123924,123938,123944,123958,123970,123976,123984,123998,124006,124012,124026,124034,124036,124048,124062,124064,124092,124102,124108,124120,124142,124146,124148,124162,124164,124168,124176,124190,124192,124220,124224,124280,124294,124300,124312,124336,124350,124366,124380,124386,124388,124392,124406,124442,124462,124466,124468,124494,124508,124514,124520,124558,124572,124600,124610,124612,124616,124624,124646,124666,124694,124710,124716,124730,124742,124748,124760,124786,124788,124818,124820,124834,124836,124840,124854,124946,124948,124962,124964,124968,124982,124994,124996,125e3,125008,125022,125030,125036,125050,125058,125060,125064,125072,125086,125088,125116,125126,125132,125144,125166,125170,125172,125186,125188,125192,125200,125216,125244,125248,125304,125318,125324,125336,125360,125374,125390,125404,125410,125412,125416,125430,125444,125448,125456,125472,125504,125560,125680,125702,125708,125720,125744,125758,125792,125820,125838,125852,125880,125890,125892,125896,125904,125918,125926,125932,125978,125998,126002,126004,126030,126044,126050,126052,126056,126094,126108,126136,126146,126148,126152,126160,126182,126202,126222,126236,126264,126320,126334,126338,126340,126344,126352,126366,126368,126412,126450,126452,126486,126502,126508,126522,126534,126540,126552,126574,126578,126580,126598,126604,126616,126640,126654,126670,126684,126690,126692,126696,126738,126754,126756,126760,126774,126786,126788,126792,126800,126814,126822,126828,126842,126894,126898,126900,126934,127126,127142,127148,127162,127178,127186,127188,127254,127270,127276,127290,127302,127308,127320,127342,127346,127348,127370,127378,127380,127394,127396,127400,127450,127510,127526,127532,127546,127558,127576,127598,127602,127604,127622,127628,127640,127664,127678,127694,127708,127714,127716,127720,127734,127754,127762,127764,127778,127784,127810,127812,127816,127824,127838,127846,127866,127898,127918,127922,127924,128022,128038,128044,128058,128070,128076,128088,128110,128114,128116,128134,128140,128152,128176,128190,128206,128220,128226,128228,128232,128246,128262,128268,128280,128304,128318,128352,128380,128398,128412,128440,128450,128452,128456,128464,128478,128486,128492,128506,128522,128530,128532,128546,128548,128552,128566,128578,128580,128584,128592,128606,128614,128634,128642,128644,128648,128656,128670,128672,128700,128716,128754,128756,128794,128814,128818,128820,128846,128860,128866,128868,128872,128886,128918,128934,128940,128954,128978,128980,129178,129198,129202,129204,129238,129258,129306,129326,129330,129332,129358,129372,129378,129380,129384,129398,129430,129446,129452,129466,129482,129490,129492,129562,129582,129586,129588,129614,129628,129634,129636,129640,129654,129678,129692,129720,129730,129732,129736,129744,129758,129766,129772,129814,129830,129836,129850,129862,129868,129880,129902,129906,129908,129930,129938,129940,129954,129956,129960,129974,130010]),jn.CODEWORD_TABLE=Int32Array.from([2627,1819,2622,2621,1813,1812,2729,2724,2723,2779,2774,2773,902,896,908,868,865,861,859,2511,873,871,1780,835,2493,825,2491,842,837,844,1764,1762,811,810,809,2483,807,2482,806,2480,815,814,813,812,2484,817,816,1745,1744,1742,1746,2655,2637,2635,2626,2625,2623,2628,1820,2752,2739,2737,2728,2727,2725,2730,2785,2783,2778,2777,2775,2780,787,781,747,739,736,2413,754,752,1719,692,689,681,2371,678,2369,700,697,694,703,1688,1686,642,638,2343,631,2341,627,2338,651,646,643,2345,654,652,1652,1650,1647,1654,601,599,2322,596,2321,594,2319,2317,611,610,608,606,2324,603,2323,615,614,612,1617,1616,1614,1612,616,1619,1618,2575,2538,2536,905,901,898,909,2509,2507,2504,870,867,864,860,2512,875,872,1781,2490,2489,2487,2485,1748,836,834,832,830,2494,827,2492,843,841,839,845,1765,1763,2701,2676,2674,2653,2648,2656,2634,2633,2631,2629,1821,2638,2636,2770,2763,2761,2750,2745,2753,2736,2735,2733,2731,1848,2740,2738,2786,2784,591,588,576,569,566,2296,1590,537,534,526,2276,522,2274,545,542,539,548,1572,1570,481,2245,466,2242,462,2239,492,485,482,2249,496,494,1534,1531,1528,1538,413,2196,406,2191,2188,425,419,2202,415,2199,432,430,427,1472,1467,1464,433,1476,1474,368,367,2160,365,2159,362,2157,2155,2152,378,377,375,2166,372,2165,369,2162,383,381,379,2168,1419,1418,1416,1414,385,1411,384,1423,1422,1420,1424,2461,802,2441,2439,790,786,783,794,2409,2406,2403,750,742,738,2414,756,753,1720,2367,2365,2362,2359,1663,693,691,684,2373,680,2370,702,699,696,704,1690,1687,2337,2336,2334,2332,1624,2329,1622,640,637,2344,634,2342,630,2340,650,648,645,2346,655,653,1653,1651,1649,1655,2612,2597,2595,2571,2568,2565,2576,2534,2529,2526,1787,2540,2537,907,904,900,910,2503,2502,2500,2498,1768,2495,1767,2510,2508,2506,869,866,863,2513,876,874,1782,2720,2713,2711,2697,2694,2691,2702,2672,2670,2664,1828,2678,2675,2647,2646,2644,2642,1823,2639,1822,2654,2652,2650,2657,2771,1855,2765,2762,1850,1849,2751,2749,2747,2754,353,2148,344,342,336,2142,332,2140,345,1375,1373,306,2130,299,2128,295,2125,319,314,311,2132,1354,1352,1349,1356,262,257,2101,253,2096,2093,274,273,267,2107,263,2104,280,278,275,1316,1311,1308,1320,1318,2052,202,2050,2044,2040,219,2063,212,2060,208,2055,224,221,2066,1260,1258,1252,231,1248,229,1266,1264,1261,1268,155,1998,153,1996,1994,1991,1988,165,164,2007,162,2006,159,2003,2e3,172,171,169,2012,166,2010,1186,1184,1182,1179,175,1176,173,1192,1191,1189,1187,176,1194,1193,2313,2307,2305,592,589,2294,2292,2289,578,572,568,2297,580,1591,2272,2267,2264,1547,538,536,529,2278,525,2275,547,544,541,1574,1571,2237,2235,2229,1493,2225,1489,478,2247,470,2244,465,2241,493,488,484,2250,498,495,1536,1533,1530,1539,2187,2186,2184,2182,1432,2179,1430,2176,1427,414,412,2197,409,2195,405,2193,2190,426,424,421,2203,418,2201,431,429,1473,1471,1469,1466,434,1477,1475,2478,2472,2470,2459,2457,2454,2462,803,2437,2432,2429,1726,2443,2440,792,789,785,2401,2399,2393,1702,2389,1699,2411,2408,2405,745,741,2415,758,755,1721,2358,2357,2355,2353,1661,2350,1660,2347,1657,2368,2366,2364,2361,1666,690,687,2374,683,2372,701,698,705,1691,1689,2619,2617,2610,2608,2605,2613,2593,2588,2585,1803,2599,2596,2563,2561,2555,1797,2551,1795,2573,2570,2567,2577,2525,2524,2522,2520,1786,2517,1785,2514,1783,2535,2533,2531,2528,1788,2541,2539,906,903,911,2721,1844,2715,2712,1838,1836,2699,2696,2693,2703,1827,1826,1824,2673,2671,2669,2666,1829,2679,2677,1858,1857,2772,1854,1853,1851,1856,2766,2764,143,1987,139,1986,135,133,131,1984,128,1983,125,1981,138,137,136,1985,1133,1132,1130,112,110,1974,107,1973,104,1971,1969,122,121,119,117,1977,114,1976,124,1115,1114,1112,1110,1117,1116,84,83,1953,81,1952,78,1950,1948,1945,94,93,91,1959,88,1958,85,1955,99,97,95,1961,1086,1085,1083,1081,1078,100,1090,1089,1087,1091,49,47,1917,44,1915,1913,1910,1907,59,1926,56,1925,53,1922,1919,66,64,1931,61,1929,1042,1040,1038,71,1035,70,1032,68,1048,1047,1045,1043,1050,1049,12,10,1869,1867,1864,1861,21,1880,19,1877,1874,1871,28,1888,25,1886,22,1883,982,980,977,974,32,30,991,989,987,984,34,995,994,992,2151,2150,2147,2146,2144,356,355,354,2149,2139,2138,2136,2134,1359,343,341,338,2143,335,2141,348,347,346,1376,1374,2124,2123,2121,2119,1326,2116,1324,310,308,305,2131,302,2129,298,2127,320,318,316,313,2133,322,321,1355,1353,1351,1357,2092,2091,2089,2087,1276,2084,1274,2081,1271,259,2102,256,2100,252,2098,2095,272,269,2108,266,2106,281,279,277,1317,1315,1313,1310,282,1321,1319,2039,2037,2035,2032,1203,2029,1200,1197,207,2053,205,2051,201,2049,2046,2043,220,218,2064,215,2062,211,2059,228,226,223,2069,1259,1257,1254,232,1251,230,1267,1265,1263,2316,2315,2312,2311,2309,2314,2304,2303,2301,2299,1593,2308,2306,590,2288,2287,2285,2283,1578,2280,1577,2295,2293,2291,579,577,574,571,2298,582,581,1592,2263,2262,2260,2258,1545,2255,1544,2252,1541,2273,2271,2269,2266,1550,535,532,2279,528,2277,546,543,549,1575,1573,2224,2222,2220,1486,2217,1485,2214,1482,1479,2238,2236,2234,2231,1496,2228,1492,480,477,2248,473,2246,469,2243,490,487,2251,497,1537,1535,1532,2477,2476,2474,2479,2469,2468,2466,2464,1730,2473,2471,2453,2452,2450,2448,1729,2445,1728,2460,2458,2456,2463,805,804,2428,2427,2425,2423,1725,2420,1724,2417,1722,2438,2436,2434,2431,1727,2444,2442,793,791,788,795,2388,2386,2384,1697,2381,1696,2378,1694,1692,2402,2400,2398,2395,1703,2392,1701,2412,2410,2407,751,748,744,2416,759,757,1807,2620,2618,1806,1805,2611,2609,2607,2614,1802,1801,1799,2594,2592,2590,2587,1804,2600,2598,1794,1793,1791,1789,2564,2562,2560,2557,1798,2554,1796,2574,2572,2569,2578,1847,1846,2722,1843,1842,1840,1845,2716,2714,1835,1834,1832,1830,1839,1837,2700,2698,2695,2704,1817,1811,1810,897,862,1777,829,826,838,1760,1758,808,2481,1741,1740,1738,1743,2624,1818,2726,2776,782,740,737,1715,686,679,695,1682,1680,639,628,2339,647,644,1645,1643,1640,1648,602,600,597,595,2320,593,2318,609,607,604,1611,1610,1608,1606,613,1615,1613,2328,926,924,892,886,899,857,850,2505,1778,824,823,821,819,2488,818,2486,833,831,828,840,1761,1759,2649,2632,2630,2746,2734,2732,2782,2781,570,567,1587,531,527,523,540,1566,1564,476,467,463,2240,486,483,1524,1521,1518,1529,411,403,2192,399,2189,423,416,1462,1457,1454,428,1468,1465,2210,366,363,2158,360,2156,357,2153,376,373,370,2163,1410,1409,1407,1405,382,1402,380,1417,1415,1412,1421,2175,2174,777,774,771,784,732,725,722,2404,743,1716,676,674,668,2363,665,2360,685,1684,1681,626,624,622,2335,620,2333,617,2330,641,635,649,1646,1644,1642,2566,928,925,2530,2527,894,891,888,2501,2499,2496,858,856,854,851,1779,2692,2668,2665,2645,2643,2640,2651,2768,2759,2757,2744,2743,2741,2748,352,1382,340,337,333,1371,1369,307,300,296,2126,315,312,1347,1342,1350,261,258,250,2097,246,2094,271,268,264,1306,1301,1298,276,1312,1309,2115,203,2048,195,2045,191,2041,213,209,2056,1246,1244,1238,225,1234,222,1256,1253,1249,1262,2080,2079,154,1997,150,1995,147,1992,1989,163,160,2004,156,2001,1175,1174,1172,1170,1167,170,1164,167,1185,1183,1180,1177,174,1190,1188,2025,2024,2022,587,586,564,559,556,2290,573,1588,520,518,512,2268,508,2265,530,1568,1565,461,457,2233,450,2230,446,2226,479,471,489,1526,1523,1520,397,395,2185,392,2183,389,2180,2177,410,2194,402,422,1463,1461,1459,1456,1470,2455,799,2433,2430,779,776,773,2397,2394,2390,734,728,724,746,1717,2356,2354,2351,2348,1658,677,675,673,670,667,688,1685,1683,2606,2589,2586,2559,2556,2552,927,2523,2521,2518,2515,1784,2532,895,893,890,2718,2709,2707,2689,2687,2684,2663,2662,2660,2658,1825,2667,2769,1852,2760,2758,142,141,1139,1138,134,132,129,126,1982,1129,1128,1126,1131,113,111,108,105,1972,101,1970,120,118,115,1109,1108,1106,1104,123,1113,1111,82,79,1951,75,1949,72,1946,92,89,86,1956,1077,1076,1074,1072,98,1069,96,1084,1082,1079,1088,1968,1967,48,45,1916,42,1914,39,1911,1908,60,57,54,1923,50,1920,1031,1030,1028,1026,67,1023,65,1020,62,1041,1039,1036,1033,69,1046,1044,1944,1943,1941,11,9,1868,7,1865,1862,1859,20,1878,16,1875,13,1872,970,968,966,963,29,960,26,23,983,981,978,975,33,971,31,990,988,985,1906,1904,1902,993,351,2145,1383,331,330,328,326,2137,323,2135,339,1372,1370,294,293,291,289,2122,286,2120,283,2117,309,303,317,1348,1346,1344,245,244,242,2090,239,2088,236,2085,2082,260,2099,249,270,1307,1305,1303,1300,1314,189,2038,186,2036,183,2033,2030,2026,206,198,2047,194,216,1247,1245,1243,1240,227,1237,1255,2310,2302,2300,2286,2284,2281,565,563,561,558,575,1589,2261,2259,2256,2253,1542,521,519,517,514,2270,511,533,1569,1567,2223,2221,2218,2215,1483,2211,1480,459,456,453,2232,449,474,491,1527,1525,1522,2475,2467,2465,2451,2449,2446,801,800,2426,2424,2421,2418,1723,2435,780,778,775,2387,2385,2382,2379,1695,2375,1693,2396,735,733,730,727,749,1718,2616,2615,2604,2603,2601,2584,2583,2581,2579,1800,2591,2550,2549,2547,2545,1792,2542,1790,2558,929,2719,1841,2710,2708,1833,1831,2690,2688,2686,1815,1809,1808,1774,1756,1754,1737,1736,1734,1739,1816,1711,1676,1674,633,629,1638,1636,1633,1641,598,1605,1604,1602,1600,605,1609,1607,2327,887,853,1775,822,820,1757,1755,1584,524,1560,1558,468,464,1514,1511,1508,1519,408,404,400,1452,1447,1444,417,1458,1455,2208,364,361,358,2154,1401,1400,1398,1396,374,1393,371,1408,1406,1403,1413,2173,2172,772,726,723,1712,672,669,666,682,1678,1675,625,623,621,618,2331,636,632,1639,1637,1635,920,918,884,880,889,849,848,847,846,2497,855,852,1776,2641,2742,2787,1380,334,1367,1365,301,297,1340,1338,1335,1343,255,251,247,1296,1291,1288,265,1302,1299,2113,204,196,192,2042,1232,1230,1224,214,1220,210,1242,1239,1235,1250,2077,2075,151,148,1993,144,1990,1163,1162,1160,1158,1155,161,1152,157,1173,1171,1168,1165,168,1181,1178,2021,2020,2018,2023,585,560,557,1585,516,509,1562,1559,458,447,2227,472,1516,1513,1510,398,396,393,390,2181,386,2178,407,1453,1451,1449,1446,420,1460,2209,769,764,720,712,2391,729,1713,664,663,661,659,2352,656,2349,671,1679,1677,2553,922,919,2519,2516,885,883,881,2685,2661,2659,2767,2756,2755,140,1137,1136,130,127,1125,1124,1122,1127,109,106,102,1103,1102,1100,1098,116,1107,1105,1980,80,76,73,1947,1068,1067,1065,1063,90,1060,87,1075,1073,1070,1080,1966,1965,46,43,40,1912,36,1909,1019,1018,1016,1014,58,1011,55,1008,51,1029,1027,1024,1021,63,1037,1034,1940,1939,1937,1942,8,1866,4,1863,1,1860,956,954,952,949,946,17,14,969,967,964,961,27,957,24,979,976,972,1901,1900,1898,1896,986,1905,1903,350,349,1381,329,327,324,1368,1366,292,290,287,284,2118,304,1341,1339,1337,1345,243,240,237,2086,233,2083,254,1297,1295,1293,1290,1304,2114,190,187,184,2034,180,2031,177,2027,199,1233,1231,1229,1226,217,1223,1241,2078,2076,584,555,554,552,550,2282,562,1586,507,506,504,502,2257,499,2254,515,1563,1561,445,443,441,2219,438,2216,435,2212,460,454,475,1517,1515,1512,2447,798,797,2422,2419,770,768,766,2383,2380,2376,721,719,717,714,731,1714,2602,2582,2580,2548,2546,2543,923,921,2717,2706,2705,2683,2682,2680,1771,1752,1750,1733,1732,1731,1735,1814,1707,1670,1668,1631,1629,1626,1634,1599,1598,1596,1594,1603,1601,2326,1772,1753,1751,1581,1554,1552,1504,1501,1498,1509,1442,1437,1434,401,1448,1445,2206,1392,1391,1389,1387,1384,359,1399,1397,1394,1404,2171,2170,1708,1672,1669,619,1632,1630,1628,1773,1378,1363,1361,1333,1328,1336,1286,1281,1278,248,1292,1289,2111,1218,1216,1210,197,1206,193,1228,1225,1221,1236,2073,2071,1151,1150,1148,1146,152,1143,149,1140,145,1161,1159,1156,1153,158,1169,1166,2017,2016,2014,2019,1582,510,1556,1553,452,448,1506,1500,394,391,387,1443,1441,1439,1436,1450,2207,765,716,713,1709,662,660,657,1673,1671,916,914,879,878,877,882,1135,1134,1121,1120,1118,1123,1097,1096,1094,1092,103,1101,1099,1979,1059,1058,1056,1054,77,1051,74,1066,1064,1061,1071,1964,1963,1007,1006,1004,1002,999,41,996,37,1017,1015,1012,1009,52,1025,1022,1936,1935,1933,1938,942,940,938,935,932,5,2,955,953,950,947,18,943,15,965,962,958,1895,1894,1892,1890,973,1899,1897,1379,325,1364,1362,288,285,1334,1332,1330,241,238,234,1287,1285,1283,1280,1294,2112,188,185,181,178,2028,1219,1217,1215,1212,200,1209,1227,2074,2072,583,553,551,1583,505,503,500,513,1557,1555,444,442,439,436,2213,455,451,1507,1505,1502,796,763,762,760,767,711,710,708,706,2377,718,715,1710,2544,917,915,2681,1627,1597,1595,2325,1769,1749,1747,1499,1438,1435,2204,1390,1388,1385,1395,2169,2167,1704,1665,1662,1625,1623,1620,1770,1329,1282,1279,2109,1214,1207,1222,2068,2065,1149,1147,1144,1141,146,1157,1154,2013,2011,2008,2015,1579,1549,1546,1495,1487,1433,1431,1428,1425,388,1440,2205,1705,658,1667,1664,1119,1095,1093,1978,1057,1055,1052,1062,1962,1960,1005,1003,1e3,997,38,1013,1010,1932,1930,1927,1934,941,939,936,933,6,930,3,951,948,944,1889,1887,1884,1881,959,1893,1891,35,1377,1360,1358,1327,1325,1322,1331,1277,1275,1272,1269,235,1284,2110,1205,1204,1201,1198,182,1195,179,1213,2070,2067,1580,501,1551,1548,440,437,1497,1494,1490,1503,761,709,707,1706,913,912,2198,1386,2164,2161,1621,1766,2103,1208,2058,2054,1145,1142,2005,2002,1999,2009,1488,1429,1426,2200,1698,1659,1656,1975,1053,1957,1954,1001,998,1924,1921,1918,1928,937,934,931,1879,1876,1873,1870,945,1885,1882,1323,1273,1270,2105,1202,1199,1196,1211,2061,2057,1576,1543,1540,1484,1481,1478,1491,1700]);class Xx{constructor(p,v){this.bits=p,this.points=v}getBits(){return this.bits}getPoints(){return this.points}}class Mn{static detectMultiple(p,v,x){let C=p.getBlackMatrix(),E=Mn.detect(x,C);return E.length||(C=C.clone(),C.rotate180(),E=Mn.detect(x,C)),new Xx(C,E)}static detect(p,v){const x=new Array;let C=0,E=0,A=!1;for(;C<v.getHeight();){const P=Mn.findVertices(v,C,E);if(P[0]==null&&P[3]==null){if(!A)break;A=!1,E=0;for(const H of x)H[1]!=null&&(C=Math.trunc(Math.max(C,H[1].getY()))),H[3]!=null&&(C=Math.max(C,Math.trunc(H[3].getY())));C+=Mn.ROW_STEP;continue}if(A=!0,x.push(P),!p)break;P[2]!=null?(E=Math.trunc(P[2].getX()),C=Math.trunc(P[2].getY())):(E=Math.trunc(P[4].getX()),C=Math.trunc(P[4].getY()))}return x}static findVertices(p,v,x){const C=p.getHeight(),E=p.getWidth(),A=new Array(8);return Mn.copyToResult(A,Mn.findRowsWithPattern(p,C,E,v,x,Mn.START_PATTERN),Mn.INDEXES_START_PATTERN),A[4]!=null&&(x=Math.trunc(A[4].getX()),v=Math.trunc(A[4].getY())),Mn.copyToResult(A,Mn.findRowsWithPattern(p,C,E,v,x,Mn.STOP_PATTERN),Mn.INDEXES_STOP_PATTERN),A}static copyToResult(p,v,x){for(let C=0;C<x.length;C++)p[x[C]]=v[C]}static findRowsWithPattern(p,v,x,C,E,A){const P=new Array(4);let H=!1;const ee=new Int32Array(A.length);for(;C<v;C+=Mn.ROW_STEP){let fe=Mn.findGuardPattern(p,E,C,x,!1,A,ee);if(fe!=null){for(;C>0;){const be=Mn.findGuardPattern(p,E,--C,x,!1,A,ee);if(be!=null)fe=be;else{C++;break}}P[0]=new Me(fe[0],C),P[1]=new Me(fe[1],C),H=!0;break}}let ae=C+1;if(H){let fe=0,be=Int32Array.from([Math.trunc(P[0].getX()),Math.trunc(P[1].getX())]);for(;ae<v;ae++){const _e=Mn.findGuardPattern(p,be[0],ae,x,!1,A,ee);if(_e!=null&&Math.abs(be[0]-_e[0])<Mn.MAX_PATTERN_DRIFT&&Math.abs(be[1]-_e[1])<Mn.MAX_PATTERN_DRIFT)be=_e,fe=0;else{if(fe>Mn.SKIPPED_ROW_COUNT_MAX)break;fe++}}ae-=fe+1,P[2]=new Me(be[0],ae),P[3]=new Me(be[1],ae)}return ae-C<Mn.BARCODE_MIN_HEIGHT&&I.fill(P,null),P}static findGuardPattern(p,v,x,C,E,A,P){I.fillWithin(P,0,P.length,0);let H=v,ee=0;for(;p.get(H,x)&&H>0&&ee++<Mn.MAX_PIXEL_DRIFT;)H--;let ae=H,fe=0,be=A.length;for(let _e=E;ae<C;ae++)if(p.get(ae,x)!==_e)P[fe]++;else{if(fe===be-1){if(Mn.patternMatchVariance(P,A,Mn.MAX_INDIVIDUAL_VARIANCE)<Mn.MAX_AVG_VARIANCE)return new Int32Array([H,ae]);H+=P[0]+P[1],b.arraycopy(P,2,P,0,fe-1),P[fe-1]=0,P[fe]=0,fe--}else fe++;P[fe]=1,_e=!_e}return fe===be-1&&Mn.patternMatchVariance(P,A,Mn.MAX_INDIVIDUAL_VARIANCE)<Mn.MAX_AVG_VARIANCE?new Int32Array([H,ae-1]):null}static patternMatchVariance(p,v,x){let C=p.length,E=0,A=0;for(let ee=0;ee<C;ee++)E+=p[ee],A+=v[ee];if(E<A)return 1/0;let P=E/A;x*=P;let H=0;for(let ee=0;ee<C;ee++){let ae=p[ee],fe=v[ee]*P,be=ae>fe?ae-fe:fe-ae;if(be>x)return 1/0;H+=be}return H/E}}Mn.INDEXES_START_PATTERN=Int32Array.from([0,4,1,5]),Mn.INDEXES_STOP_PATTERN=Int32Array.from([6,2,7,3]),Mn.MAX_AVG_VARIANCE=.42,Mn.MAX_INDIVIDUAL_VARIANCE=.8,Mn.START_PATTERN=Int32Array.from([8,1,1,1,1,1,1,3]),Mn.STOP_PATTERN=Int32Array.from([7,1,1,3,1,1,1,2,1]),Mn.MAX_PIXEL_DRIFT=3,Mn.MAX_PATTERN_DRIFT=5,Mn.SKIPPED_ROW_COUNT_MAX=25,Mn.ROW_STEP=5,Mn.BARCODE_MIN_HEIGHT=10;class ss{constructor(p,v){if(v.length===0)throw new f;this.field=p;let x=v.length;if(x>1&&v[0]===0){let C=1;for(;C<x&&v[C]===0;)C++;C===x?this.coefficients=new Int32Array([0]):(this.coefficients=new Int32Array(x-C),b.arraycopy(v,C,this.coefficients,0,this.coefficients.length))}else this.coefficients=v}getCoefficients(){return this.coefficients}getDegree(){return this.coefficients.length-1}isZero(){return this.coefficients[0]===0}getCoefficient(p){return this.coefficients[this.coefficients.length-1-p]}evaluateAt(p){if(p===0)return this.getCoefficient(0);if(p===1){let C=0;for(let E of this.coefficients)C=this.field.add(C,E);return C}let v=this.coefficients[0],x=this.coefficients.length;for(let C=1;C<x;C++)v=this.field.add(this.field.multiply(p,v),this.coefficients[C]);return v}add(p){if(!this.field.equals(p.field))throw new f("ModulusPolys do not have same ModulusGF field");if(this.isZero())return p;if(p.isZero())return this;let v=this.coefficients,x=p.coefficients;if(v.length>x.length){let A=v;v=x,x=A}let C=new Int32Array(x.length),E=x.length-v.length;b.arraycopy(x,0,C,0,E);for(let A=E;A<x.length;A++)C[A]=this.field.add(v[A-E],x[A]);return new ss(this.field,C)}subtract(p){if(!this.field.equals(p.field))throw new f("ModulusPolys do not have same ModulusGF field");return p.isZero()?this:this.add(p.negative())}multiply(p){return p instanceof ss?this.multiplyOther(p):this.multiplyScalar(p)}multiplyOther(p){if(!this.field.equals(p.field))throw new f("ModulusPolys do not have same ModulusGF field");if(this.isZero()||p.isZero())return new ss(this.field,new Int32Array([0]));let v=this.coefficients,x=v.length,C=p.coefficients,E=C.length,A=new Int32Array(x+E-1);for(let P=0;P<x;P++){let H=v[P];for(let ee=0;ee<E;ee++)A[P+ee]=this.field.add(A[P+ee],this.field.multiply(H,C[ee]))}return new ss(this.field,A)}negative(){let p=this.coefficients.length,v=new Int32Array(p);for(let x=0;x<p;x++)v[x]=this.field.subtract(0,this.coefficients[x]);return new ss(this.field,v)}multiplyScalar(p){if(p===0)return new ss(this.field,new Int32Array([0]));if(p===1)return this;let v=this.coefficients.length,x=new Int32Array(v);for(let C=0;C<v;C++)x[C]=this.field.multiply(this.coefficients[C],p);return new ss(this.field,x)}multiplyByMonomial(p,v){if(p<0)throw new f;if(v===0)return new ss(this.field,new Int32Array([0]));let x=this.coefficients.length,C=new Int32Array(x+p);for(let E=0;E<x;E++)C[E]=this.field.multiply(this.coefficients[E],v);return new ss(this.field,C)}toString(){let p=new Q;for(let v=this.getDegree();v>=0;v--){let x=this.getCoefficient(v);x!==0&&(x<0?(p.append(" - "),x=-x):p.length()>0&&p.append(" + "),(v===0||x!==1)&&p.append(x),v!==0&&(v===1?p.append("x"):(p.append("x^"),p.append(v))))}return p.toString()}}class e4{add(p,v){return(p+v)%this.modulus}subtract(p,v){return(this.modulus+p-v)%this.modulus}exp(p){return this.expTable[p]}log(p){if(p===0)throw new f;return this.logTable[p]}inverse(p){if(p===0)throw new le;return this.expTable[this.modulus-this.logTable[p]-1]}multiply(p,v){return p===0||v===0?0:this.expTable[(this.logTable[p]+this.logTable[v])%(this.modulus-1)]}getSize(){return this.modulus}equals(p){return p===this}}class _d extends e4{constructor(p,v){super(),this.modulus=p,this.expTable=new Int32Array(p),this.logTable=new Int32Array(p);let x=1;for(let C=0;C<p;C++)this.expTable[C]=x,x=x*v%p;for(let C=0;C<p-1;C++)this.logTable[this.expTable[C]]=C;this.zero=new ss(this,new Int32Array([0])),this.one=new ss(this,new Int32Array([1]))}getZero(){return this.zero}getOne(){return this.one}buildMonomial(p,v){if(p<0)throw new f;if(v===0)return this.zero;let x=new Int32Array(p+1);return x[0]=v,new ss(this,x)}}_d.PDF417_GF=new _d(jn.NUMBER_OF_CODEWORDS,3);class Cv{constructor(){this.field=_d.PDF417_GF}decode(p,v,x){let C=new ss(this.field,p),E=new Int32Array(v),A=!1;for(let He=v;He>0;He--){let Ge=C.evaluateAt(this.field.exp(He));E[v-He]=Ge,Ge!==0&&(A=!0)}if(!A)return 0;let P=this.field.getOne();if(x!=null)for(const He of x){let Ge=this.field.exp(p.length-1-He),tt=new ss(this.field,new Int32Array([this.field.subtract(0,Ge),1]));P=P.multiply(tt)}let H=new ss(this.field,E),ee=this.runEuclideanAlgorithm(this.field.buildMonomial(v,1),H,v),ae=ee[0],fe=ee[1],be=this.findErrorLocations(ae),_e=this.findErrorMagnitudes(fe,ae,be);for(let He=0;He<be.length;He++){let Ge=p.length-1-this.field.log(be[He]);if(Ge<0)throw g.getChecksumInstance();p[Ge]=this.field.subtract(p[Ge],_e[He])}return be.length}runEuclideanAlgorithm(p,v,x){if(p.getDegree()<v.getDegree()){let be=p;p=v,v=be}let C=p,E=v,A=this.field.getZero(),P=this.field.getOne();for(;E.getDegree()>=Math.round(x/2);){let be=C,_e=A;if(C=E,A=P,C.isZero())throw g.getChecksumInstance();E=be;let He=this.field.getZero(),Ge=C.getCoefficient(C.getDegree()),tt=this.field.inverse(Ge);for(;E.getDegree()>=C.getDegree()&&!E.isZero();){let lt=E.getDegree()-C.getDegree(),Lt=this.field.multiply(E.getCoefficient(E.getDegree()),tt);He=He.add(this.field.buildMonomial(lt,Lt)),E=E.subtract(C.multiplyByMonomial(lt,Lt))}P=He.multiply(A).subtract(_e).negative()}let H=P.getCoefficient(0);if(H===0)throw g.getChecksumInstance();let ee=this.field.inverse(H),ae=P.multiply(ee),fe=E.multiply(ee);return[ae,fe]}findErrorLocations(p){let v=p.getDegree(),x=new Int32Array(v),C=0;for(let E=1;E<this.field.getSize()&&C<v;E++)p.evaluateAt(E)===0&&(x[C]=this.field.inverse(E),C++);if(C!==v)throw g.getChecksumInstance();return x}findErrorMagnitudes(p,v,x){let C=v.getDegree(),E=new Int32Array(C);for(let ee=1;ee<=C;ee++)E[C-ee]=this.field.multiply(ee,v.getCoefficient(ee));let A=new ss(this.field,E),P=x.length,H=new Int32Array(P);for(let ee=0;ee<P;ee++){let ae=this.field.inverse(x[ee]),fe=this.field.subtract(0,p.evaluateAt(ae)),be=this.field.inverse(A.evaluateAt(ae));H[ee]=this.field.multiply(fe,be)}return H}}class jf{constructor(p,v,x,C,E){p instanceof jf?this.constructor_2(p):this.constructor_1(p,v,x,C,E)}constructor_1(p,v,x,C,E){const A=v==null||x==null,P=C==null||E==null;if(A&&P)throw new F;A?(v=new Me(0,C.getY()),x=new Me(0,E.getY())):P&&(C=new Me(p.getWidth()-1,v.getY()),E=new Me(p.getWidth()-1,x.getY())),this.image=p,this.topLeft=v,this.bottomLeft=x,this.topRight=C,this.bottomRight=E,this.minX=Math.trunc(Math.min(v.getX(),x.getX())),this.maxX=Math.trunc(Math.max(C.getX(),E.getX())),this.minY=Math.trunc(Math.min(v.getY(),C.getY())),this.maxY=Math.trunc(Math.max(x.getY(),E.getY()))}constructor_2(p){this.image=p.image,this.topLeft=p.getTopLeft(),this.bottomLeft=p.getBottomLeft(),this.topRight=p.getTopRight(),this.bottomRight=p.getBottomRight(),this.minX=p.getMinX(),this.maxX=p.getMaxX(),this.minY=p.getMinY(),this.maxY=p.getMaxY()}static merge(p,v){return p==null?v:v==null?p:new jf(p.image,p.topLeft,p.bottomLeft,v.topRight,v.bottomRight)}addMissingRows(p,v,x){let C=this.topLeft,E=this.bottomLeft,A=this.topRight,P=this.bottomRight;if(p>0){let H=x?this.topLeft:this.topRight,ee=Math.trunc(H.getY()-p);ee<0&&(ee=0);let ae=new Me(H.getX(),ee);x?C=ae:A=ae}if(v>0){let H=x?this.bottomLeft:this.bottomRight,ee=Math.trunc(H.getY()+v);ee>=this.image.getHeight()&&(ee=this.image.getHeight()-1);let ae=new Me(H.getX(),ee);x?E=ae:P=ae}return new jf(this.image,C,E,A,P)}getMinX(){return this.minX}getMaxX(){return this.maxX}getMinY(){return this.minY}getMaxY(){return this.maxY}getTopLeft(){return this.topLeft}getTopRight(){return this.topRight}getBottomLeft(){return this.bottomLeft}getBottomRight(){return this.bottomRight}}class Vh{constructor(p,v,x,C){this.columnCount=p,this.errorCorrectionLevel=C,this.rowCountUpperPart=v,this.rowCountLowerPart=x,this.rowCount=v+x}getColumnCount(){return this.columnCount}getErrorCorrectionLevel(){return this.errorCorrectionLevel}getRowCount(){return this.rowCount}getRowCountUpperPart(){return this.rowCountUpperPart}getRowCountLowerPart(){return this.rowCountLowerPart}}class wc{constructor(){this.buffer=""}static form(p,v){let x=-1;function C(A,P,H,ee,ae,fe){if(A==="%%")return"%";if(v[++x]===void 0)return;A=ee?parseInt(ee.substr(1)):void 0;let be=ae?parseInt(ae.substr(1)):void 0,_e;switch(fe){case"s":_e=v[x];break;case"c":_e=v[x][0];break;case"f":_e=parseFloat(v[x]).toFixed(A);break;case"p":_e=parseFloat(v[x]).toPrecision(A);break;case"e":_e=parseFloat(v[x]).toExponential(A);break;case"x":_e=parseInt(v[x]).toString(be||16);break;case"d":_e=parseFloat(parseInt(v[x],be||10).toPrecision(A)).toFixed(0);break}_e=typeof _e=="object"?JSON.stringify(_e):(+_e).toString(be);let He=parseInt(H),Ge=H&&H[0]+""=="0"?"0":" ";for(;_e.length<He;)_e=P!==void 0?_e+Ge:Ge+_e;return _e}let E=/%(-)?(0?[0-9]+)?([.][0-9]+)?([#][0-9]+)?([scfpexd%])/g;return p.replace(E,C)}format(p,...v){this.buffer+=wc.form(p,v)}toString(){return this.buffer}}class kl{constructor(p){this.boundingBox=new jf(p),this.codewords=new Array(p.getMaxY()-p.getMinY()+1)}getCodewordNearby(p){let v=this.getCodeword(p);if(v!=null)return v;for(let x=1;x<kl.MAX_NEARBY_DISTANCE;x++){let C=this.imageRowToCodewordIndex(p)-x;if(C>=0&&(v=this.codewords[C],v!=null)||(C=this.imageRowToCodewordIndex(p)+x,C<this.codewords.length&&(v=this.codewords[C],v!=null)))return v}return null}imageRowToCodewordIndex(p){return p-this.boundingBox.getMinY()}setCodeword(p,v){this.codewords[this.imageRowToCodewordIndex(p)]=v}getCodeword(p){return this.codewords[this.imageRowToCodewordIndex(p)]}getBoundingBox(){return this.boundingBox}getCodewords(){return this.codewords}toString(){const p=new wc;let v=0;for(const x of this.codewords){if(x==null){p.format("%3d: | %n",v++);continue}p.format("%3d: %3d|%3d%n",v++,x.getRowNumber(),x.getValue())}return p.toString()}}kl.MAX_NEARBY_DISTANCE=5;class hu{constructor(){this.values=new Map}setValue(p){p=Math.trunc(p);let v=this.values.get(p);v==null&&(v=0),v++,this.values.set(p,v)}getValue(){let p=-1,v=new Array;for(const[x,C]of this.values.entries()){const E={getKey:()=>x,getValue:()=>C};E.getValue()>p?(p=E.getValue(),v=[],v.push(E.getKey())):E.getValue()===p&&v.push(E.getKey())}return jn.toIntArray(v)}getConfidence(p){return this.values.get(p)}}class t4 extends kl{constructor(p,v){super(p),this._isLeft=v}setRowNumbers(){for(let p of this.getCodewords())p!=null&&p.setRowNumberAsRowIndicatorColumn()}adjustCompleteIndicatorColumnRowNumbers(p){let v=this.getCodewords();this.setRowNumbers(),this.removeIncorrectCodewords(v,p);let x=this.getBoundingBox(),C=this._isLeft?x.getTopLeft():x.getTopRight(),E=this._isLeft?x.getBottomLeft():x.getBottomRight(),A=this.imageRowToCodewordIndex(Math.trunc(C.getY())),P=this.imageRowToCodewordIndex(Math.trunc(E.getY())),H=-1,ee=1,ae=0;for(let fe=A;fe<P;fe++){if(v[fe]==null)continue;let be=v[fe],_e=be.getRowNumber()-H;if(_e===0)ae++;else if(_e===1)ee=Math.max(ee,ae),ae=1,H=be.getRowNumber();else if(_e<0||be.getRowNumber()>=p.getRowCount()||_e>fe)v[fe]=null;else{let He;ee>2?He=(ee-2)*_e:He=_e;let Ge=He>=fe;for(let tt=1;tt<=He&&!Ge;tt++)Ge=v[fe-tt]!=null;Ge?v[fe]=null:(H=be.getRowNumber(),ae=1)}}}getRowHeights(){let p=this.getBarcodeMetadata();if(p==null)return null;this.adjustIncompleteIndicatorColumnRowNumbers(p);let v=new Int32Array(p.getRowCount());for(let x of this.getCodewords())if(x!=null){let C=x.getRowNumber();if(C>=v.length)continue;v[C]++}return v}adjustIncompleteIndicatorColumnRowNumbers(p){let v=this.getBoundingBox(),x=this._isLeft?v.getTopLeft():v.getTopRight(),C=this._isLeft?v.getBottomLeft():v.getBottomRight(),E=this.imageRowToCodewordIndex(Math.trunc(x.getY())),A=this.imageRowToCodewordIndex(Math.trunc(C.getY())),P=this.getCodewords(),H=-1;for(let ee=E;ee<A;ee++){if(P[ee]==null)continue;let ae=P[ee];ae.setRowNumberAsRowIndicatorColumn();let fe=ae.getRowNumber()-H;fe===0||(fe===1?H=ae.getRowNumber():ae.getRowNumber()>=p.getRowCount()?P[ee]=null:H=ae.getRowNumber())}}getBarcodeMetadata(){let p=this.getCodewords(),v=new hu,x=new hu,C=new hu,E=new hu;for(let P of p){if(P==null)continue;P.setRowNumberAsRowIndicatorColumn();let H=P.getValue()%30,ee=P.getRowNumber();switch(this._isLeft||(ee+=2),ee%3){case 0:x.setValue(H*3+1);break;case 1:E.setValue(H/3),C.setValue(H%3);break;case 2:v.setValue(H+1);break}}if(v.getValue().length===0||x.getValue().length===0||C.getValue().length===0||E.getValue().length===0||v.getValue()[0]<1||x.getValue()[0]+C.getValue()[0]<jn.MIN_ROWS_IN_BARCODE||x.getValue()[0]+C.getValue()[0]>jn.MAX_ROWS_IN_BARCODE)return null;let A=new Vh(v.getValue()[0],x.getValue()[0],C.getValue()[0],E.getValue()[0]);return this.removeIncorrectCodewords(p,A),A}removeIncorrectCodewords(p,v){for(let x=0;x<p.length;x++){let C=p[x];if(p[x]==null)continue;let E=C.getValue()%30,A=C.getRowNumber();if(A>v.getRowCount()){p[x]=null;continue}switch(this._isLeft||(A+=2),A%3){case 0:E*3+1!==v.getRowCountUpperPart()&&(p[x]=null);break;case 1:(Math.trunc(E/3)!==v.getErrorCorrectionLevel()||E%3!==v.getRowCountLowerPart())&&(p[x]=null);break;case 2:E+1!==v.getColumnCount()&&(p[x]=null);break}}}isLeft(){return this._isLeft}toString(){return"IsLeft: "+this._isLeft+`
2354 `+super.toString()}}class Hh{constructor(p,v){this.ADJUST_ROW_NUMBER_SKIP=2,this.barcodeMetadata=p,this.barcodeColumnCount=p.getColumnCount(),this.boundingBox=v,this.detectionResultColumns=new Array(this.barcodeColumnCount+2)}getDetectionResultColumns(){this.adjustIndicatorColumnRowNumbers(this.detectionResultColumns[0]),this.adjustIndicatorColumnRowNumbers(this.detectionResultColumns[this.barcodeColumnCount+1]);let p=jn.MAX_CODEWORDS_IN_BARCODE,v;do v=p,p=this.adjustRowNumbersAndGetCount();while(p>0&&p<v);return this.detectionResultColumns}adjustIndicatorColumnRowNumbers(p){p!=null&&p.adjustCompleteIndicatorColumnRowNumbers(this.barcodeMetadata)}adjustRowNumbersAndGetCount(){let p=this.adjustRowNumbersByRow();if(p===0)return 0;for(let v=1;v<this.barcodeColumnCount+1;v++){let x=this.detectionResultColumns[v].getCodewords();for(let C=0;C<x.length;C++)x[C]!=null&&(x[C].hasValidRowNumber()||this.adjustRowNumbers(v,C,x))}return p}adjustRowNumbersByRow(){return this.adjustRowNumbersFromBothRI(),this.adjustRowNumbersFromLRI()+this.adjustRowNumbersFromRRI()}adjustRowNumbersFromBothRI(){if(this.detectionResultColumns[0]==null||this.detectionResultColumns[this.barcodeColumnCount+1]==null)return;let p=this.detectionResultColumns[0].getCodewords(),v=this.detectionResultColumns[this.barcodeColumnCount+1].getCodewords();for(let x=0;x<p.length;x++)if(p[x]!=null&&v[x]!=null&&p[x].getRowNumber()===v[x].getRowNumber())for(let C=1;C<=this.barcodeColumnCount;C++){let E=this.detectionResultColumns[C].getCodewords()[x];E!=null&&(E.setRowNumber(p[x].getRowNumber()),E.hasValidRowNumber()||(this.detectionResultColumns[C].getCodewords()[x]=null))}}adjustRowNumbersFromRRI(){if(this.detectionResultColumns[this.barcodeColumnCount+1]==null)return 0;let p=0,v=this.detectionResultColumns[this.barcodeColumnCount+1].getCodewords();for(let x=0;x<v.length;x++){if(v[x]==null)continue;let C=v[x].getRowNumber(),E=0;for(let A=this.barcodeColumnCount+1;A>0&&E<this.ADJUST_ROW_NUMBER_SKIP;A--){let P=this.detectionResultColumns[A].getCodewords()[x];P!=null&&(E=Hh.adjustRowNumberIfValid(C,E,P),P.hasValidRowNumber()||p++)}}return p}adjustRowNumbersFromLRI(){if(this.detectionResultColumns[0]==null)return 0;let p=0,v=this.detectionResultColumns[0].getCodewords();for(let x=0;x<v.length;x++){if(v[x]==null)continue;let C=v[x].getRowNumber(),E=0;for(let A=1;A<this.barcodeColumnCount+1&&E<this.ADJUST_ROW_NUMBER_SKIP;A++){let P=this.detectionResultColumns[A].getCodewords()[x];P!=null&&(E=Hh.adjustRowNumberIfValid(C,E,P),P.hasValidRowNumber()||p++)}}return p}static adjustRowNumberIfValid(p,v,x){return x==null||x.hasValidRowNumber()||(x.isValidRowNumber(p)?(x.setRowNumber(p),v=0):++v),v}adjustRowNumbers(p,v,x){if(!this.detectionResultColumns[p-1])return;let C=x[v],E=this.detectionResultColumns[p-1].getCodewords(),A=E;this.detectionResultColumns[p+1]!=null&&(A=this.detectionResultColumns[p+1].getCodewords());let P=new Array(14);P[2]=E[v],P[3]=A[v],v>0&&(P[0]=x[v-1],P[4]=E[v-1],P[5]=A[v-1]),v>1&&(P[8]=x[v-2],P[10]=E[v-2],P[11]=A[v-2]),v<x.length-1&&(P[1]=x[v+1],P[6]=E[v+1],P[7]=A[v+1]),v<x.length-2&&(P[9]=x[v+2],P[12]=E[v+2],P[13]=A[v+2]);for(let H of P)if(Hh.adjustRowNumber(C,H))return}static adjustRowNumber(p,v){return v==null?!1:v.hasValidRowNumber()&&v.getBucket()===p.getBucket()?(p.setRowNumber(v.getRowNumber()),!0):!1}getBarcodeColumnCount(){return this.barcodeColumnCount}getBarcodeRowCount(){return this.barcodeMetadata.getRowCount()}getBarcodeECLevel(){return this.barcodeMetadata.getErrorCorrectionLevel()}setBoundingBox(p){this.boundingBox=p}getBoundingBox(){return this.boundingBox}setDetectionResultColumn(p,v){this.detectionResultColumns[p]=v}getDetectionResultColumn(p){return this.detectionResultColumns[p]}toString(){let p=this.detectionResultColumns[0];p==null&&(p=this.detectionResultColumns[this.barcodeColumnCount+1]);let v=new wc;for(let x=0;x<p.getCodewords().length;x++){v.format("CW %3d:",x);for(let C=0;C<this.barcodeColumnCount+2;C++){if(this.detectionResultColumns[C]==null){v.format(" | ");continue}let E=this.detectionResultColumns[C].getCodewords()[x];if(E==null){v.format(" | ");continue}v.format(" %3d|%3d",E.getRowNumber(),E.getValue())}v.format("%n")}return v.toString()}}class Cf{constructor(p,v,x,C){this.rowNumber=Cf.BARCODE_ROW_UNKNOWN,this.startX=Math.trunc(p),this.endX=Math.trunc(v),this.bucket=Math.trunc(x),this.value=Math.trunc(C)}hasValidRowNumber(){return this.isValidRowNumber(this.rowNumber)}isValidRowNumber(p){return p!==Cf.BARCODE_ROW_UNKNOWN&&this.bucket===p%3*3}setRowNumberAsRowIndicatorColumn(){this.rowNumber=Math.trunc(Math.trunc(this.value/30)*3+Math.trunc(this.bucket/3))}getWidth(){return this.endX-this.startX}getStartX(){return this.startX}getEndX(){return this.endX}getBucket(){return this.bucket}getValue(){return this.value}getRowNumber(){return this.rowNumber}setRowNumber(p){this.rowNumber=p}toString(){return this.rowNumber+"|"+this.value}}Cf.BARCODE_ROW_UNKNOWN=-1;class as{static initialize(){for(let p=0;p<jn.SYMBOL_TABLE.length;p++){let v=jn.SYMBOL_TABLE[p],x=v&1;for(let C=0;C<jn.BARS_IN_MODULE;C++){let E=0;for(;(v&1)===x;)E+=1,v>>=1;x=v&1,as.RATIOS_TABLE[p]||(as.RATIOS_TABLE[p]=new Array(jn.BARS_IN_MODULE)),as.RATIOS_TABLE[p][jn.BARS_IN_MODULE-C-1]=Math.fround(E/jn.MODULES_IN_CODEWORD)}}this.bSymbolTableReady=!0}static getDecodedValue(p){let v=as.getDecodedCodewordValue(as.sampleBitCounts(p));return v!==-1?v:as.getClosestDecodedValue(p)}static sampleBitCounts(p){let v=$e.sum(p),x=new Int32Array(jn.BARS_IN_MODULE),C=0,E=0;for(let A=0;A<jn.MODULES_IN_CODEWORD;A++){let P=v/(2*jn.MODULES_IN_CODEWORD)+A*v/jn.MODULES_IN_CODEWORD;E+p[C]<=P&&(E+=p[C],C++),x[C]++}return x}static getDecodedCodewordValue(p){let v=as.getBitValue(p);return jn.getCodeword(v)===-1?-1:v}static getBitValue(p){let v=0;for(let x=0;x<p.length;x++)for(let C=0;C<p[x];C++)v=v<<1|(x%2===0?1:0);return Math.trunc(v)}static getClosestDecodedValue(p){let v=$e.sum(p),x=new Array(jn.BARS_IN_MODULE);if(v>1)for(let A=0;A<x.length;A++)x[A]=Math.fround(p[A]/v);let C=Ke.MAX_VALUE,E=-1;this.bSymbolTableReady||as.initialize();for(let A=0;A<as.RATIOS_TABLE.length;A++){let P=0,H=as.RATIOS_TABLE[A];for(let ee=0;ee<jn.BARS_IN_MODULE;ee++){let ae=Math.fround(H[ee]-x[ee]);if(P+=Math.fround(ae*ae),P>=C)break}P<C&&(C=P,E=jn.SYMBOL_TABLE[A])}return E}}as.bSymbolTableReady=!1,as.RATIOS_TABLE=new Array(jn.SYMBOL_TABLE.length).map(ue=>new Array(jn.BARS_IN_MODULE));class f1{constructor(){this.segmentCount=-1,this.fileSize=-1,this.timestamp=-1,this.checksum=-1}getSegmentIndex(){return this.segmentIndex}setSegmentIndex(p){this.segmentIndex=p}getFileId(){return this.fileId}setFileId(p){this.fileId=p}getOptionalData(){return this.optionalData}setOptionalData(p){this.optionalData=p}isLastSegment(){return this.lastSegment}setLastSegment(p){this.lastSegment=p}getSegmentCount(){return this.segmentCount}setSegmentCount(p){this.segmentCount=p}getSender(){return this.sender||null}setSender(p){this.sender=p}getAddressee(){return this.addressee||null}setAddressee(p){this.addressee=p}getFileName(){return this.fileName}setFileName(p){this.fileName=p}getFileSize(){return this.fileSize}setFileSize(p){this.fileSize=p}getChecksum(){return this.checksum}setChecksum(p){this.checksum=p}getTimestamp(){return this.timestamp}setTimestamp(p){this.timestamp=p}}class Sv{static parseLong(p,v=void 0){return parseInt(p,v)}}class bc extends u{}bc.kind="NullPointerException";class Ev{writeBytes(p){this.writeBytesOffset(p,0,p.length)}writeBytesOffset(p,v,x){if(p==null)throw new bc;if(v<0||v>p.length||x<0||v+x>p.length||v+x<0)throw new j;if(x===0)return;for(let C=0;C<x;C++)this.write(p[v+C])}flush(){}close(){}}class d1 extends u{}class n4 extends Ev{constructor(p=32){if(super(),this.count=0,p<0)throw new f("Negative initial size: "+p);this.buf=new Uint8Array(p)}ensureCapacity(p){p-this.buf.length>0&&this.grow(p)}grow(p){let x=this.buf.length<<1;if(x-p<0&&(x=p),x<0){if(p<0)throw new d1;x=N.MAX_VALUE}this.buf=I.copyOfUint8Array(this.buf,x)}write(p){this.ensureCapacity(this.count+1),this.buf[this.count]=p,this.count+=1}writeBytesOffset(p,v,x){if(v<0||v>p.length||x<0||v+x-p.length>0)throw new j;this.ensureCapacity(this.count+x),b.arraycopy(p,v,this.buf,this.count,x),this.count+=x}writeTo(p){p.writeBytesOffset(this.buf,0,this.count)}reset(){this.count=0}toByteArray(){return I.copyOfUint8Array(this.buf,this.count)}size(){return this.count}toString(p){return p?typeof p=="string"?this.toString_string(p):this.toString_number(p):this.toString_void()}toString_void(){return new String(this.buf).toString()}toString_string(p){return new String(this.buf).toString()}toString_number(p){return new String(this.buf).toString()}close(){}}var dr;(function(ue){ue[ue.ALPHA=0]="ALPHA",ue[ue.LOWER=1]="LOWER",ue[ue.MIXED=2]="MIXED",ue[ue.PUNCT=3]="PUNCT",ue[ue.ALPHA_SHIFT=4]="ALPHA_SHIFT",ue[ue.PUNCT_SHIFT=5]="PUNCT_SHIFT"})(dr||(dr={}));function Wh(){if(typeof window<"u")return window.BigInt||null;if(typeof e6<"u")return e6.BigInt||null;if(typeof self<"u")return self.BigInt||null;throw new Error("Can't search globals for BigInt!")}let Yh;function No(ue){if(typeof Yh>"u"&&(Yh=Wh()),Yh===null)throw new Error("BigInt is not supported!");return Yh(ue)}function Md(){let ue=[];ue[0]=No(1);let p=No(900);ue[1]=p;for(let v=2;v<16;v++)ue[v]=ue[v-1]*p;return ue}class ct{static decode(p,v){let x=new Q(""),C=T.ISO8859_1;x.enableDecoding(C);let E=1,A=p[E++],P=new f1;for(;E<p[0];){switch(A){case ct.TEXT_COMPACTION_MODE_LATCH:E=ct.textCompaction(p,E,x);break;case ct.BYTE_COMPACTION_MODE_LATCH:case ct.BYTE_COMPACTION_MODE_LATCH_6:E=ct.byteCompaction(A,p,C,E,x);break;case ct.MODE_SHIFT_TO_BYTE_COMPACTION_MODE:x.append(p[E++]);break;case ct.NUMERIC_COMPACTION_MODE_LATCH:E=ct.numericCompaction(p,E,x);break;case ct.ECI_CHARSET:T.getCharacterSetECIByValue(p[E++]);break;case ct.ECI_GENERAL_PURPOSE:E+=2;break;case ct.ECI_USER_DEFINED:E++;break;case ct.BEGIN_MACRO_PDF417_CONTROL_BLOCK:E=ct.decodeMacroBlock(p,E,P);break;case ct.BEGIN_MACRO_PDF417_OPTIONAL_FIELD:case ct.MACRO_PDF417_TERMINATOR:throw new L;default:E--,E=ct.textCompaction(p,E,x);break}if(E<p.length)A=p[E++];else throw L.getFormatInstance()}if(x.length()===0)throw L.getFormatInstance();let H=new pe(null,x.toString(),null,v);return H.setOther(P),H}static decodeMacroBlock(p,v,x){if(v+ct.NUMBER_OF_SEQUENCE_CODEWORDS>p[0])throw L.getFormatInstance();let C=new Int32Array(ct.NUMBER_OF_SEQUENCE_CODEWORDS);for(let P=0;P<ct.NUMBER_OF_SEQUENCE_CODEWORDS;P++,v++)C[P]=p[v];x.setSegmentIndex(N.parseInt(ct.decodeBase900toBase10(C,ct.NUMBER_OF_SEQUENCE_CODEWORDS)));let E=new Q;v=ct.textCompaction(p,v,E),x.setFileId(E.toString());let A=-1;for(p[v]===ct.BEGIN_MACRO_PDF417_OPTIONAL_FIELD&&(A=v+1);v<p[0];)switch(p[v]){case ct.BEGIN_MACRO_PDF417_OPTIONAL_FIELD:switch(v++,p[v]){case ct.MACRO_PDF417_OPTIONAL_FIELD_FILE_NAME:let P=new Q;v=ct.textCompaction(p,v+1,P),x.setFileName(P.toString());break;case ct.MACRO_PDF417_OPTIONAL_FIELD_SENDER:let H=new Q;v=ct.textCompaction(p,v+1,H),x.setSender(H.toString());break;case ct.MACRO_PDF417_OPTIONAL_FIELD_ADDRESSEE:let ee=new Q;v=ct.textCompaction(p,v+1,ee),x.setAddressee(ee.toString());break;case ct.MACRO_PDF417_OPTIONAL_FIELD_SEGMENT_COUNT:let ae=new Q;v=ct.numericCompaction(p,v+1,ae),x.setSegmentCount(N.parseInt(ae.toString()));break;case ct.MACRO_PDF417_OPTIONAL_FIELD_TIME_STAMP:let fe=new Q;v=ct.numericCompaction(p,v+1,fe),x.setTimestamp(Sv.parseLong(fe.toString()));break;case ct.MACRO_PDF417_OPTIONAL_FIELD_CHECKSUM:let be=new Q;v=ct.numericCompaction(p,v+1,be),x.setChecksum(N.parseInt(be.toString()));break;case ct.MACRO_PDF417_OPTIONAL_FIELD_FILE_SIZE:let _e=new Q;v=ct.numericCompaction(p,v+1,_e),x.setFileSize(Sv.parseLong(_e.toString()));break;default:throw L.getFormatInstance()}break;case ct.MACRO_PDF417_TERMINATOR:v++,x.setLastSegment(!0);break;default:throw L.getFormatInstance()}if(A!==-1){let P=v-A;x.isLastSegment()&&P--,x.setOptionalData(I.copyOfRange(p,A,A+P))}return v}static textCompaction(p,v,x){let C=new Int32Array((p[0]-v)*2),E=new Int32Array((p[0]-v)*2),A=0,P=!1;for(;v<p[0]&&!P;){let H=p[v++];if(H<ct.TEXT_COMPACTION_MODE_LATCH)C[A]=H/30,C[A+1]=H%30,A+=2;else switch(H){case ct.TEXT_COMPACTION_MODE_LATCH:C[A++]=ct.TEXT_COMPACTION_MODE_LATCH;break;case ct.BYTE_COMPACTION_MODE_LATCH:case ct.BYTE_COMPACTION_MODE_LATCH_6:case ct.NUMERIC_COMPACTION_MODE_LATCH:case ct.BEGIN_MACRO_PDF417_CONTROL_BLOCK:case ct.BEGIN_MACRO_PDF417_OPTIONAL_FIELD:case ct.MACRO_PDF417_TERMINATOR:v--,P=!0;break;case ct.MODE_SHIFT_TO_BYTE_COMPACTION_MODE:C[A]=ct.MODE_SHIFT_TO_BYTE_COMPACTION_MODE,H=p[v++],E[A]=H,A++;break}}return ct.decodeTextCompaction(C,E,A,x),v}static decodeTextCompaction(p,v,x,C){let E=dr.ALPHA,A=dr.ALPHA,P=0;for(;P<x;){let H=p[P],ee="";switch(E){case dr.ALPHA:if(H<26)ee=String.fromCharCode(65+H);else switch(H){case 26:ee=" ";break;case ct.LL:E=dr.LOWER;break;case ct.ML:E=dr.MIXED;break;case ct.PS:A=E,E=dr.PUNCT_SHIFT;break;case ct.MODE_SHIFT_TO_BYTE_COMPACTION_MODE:C.append(v[P]);break;case ct.TEXT_COMPACTION_MODE_LATCH:E=dr.ALPHA;break}break;case dr.LOWER:if(H<26)ee=String.fromCharCode(97+H);else switch(H){case 26:ee=" ";break;case ct.AS:A=E,E=dr.ALPHA_SHIFT;break;case ct.ML:E=dr.MIXED;break;case ct.PS:A=E,E=dr.PUNCT_SHIFT;break;case ct.MODE_SHIFT_TO_BYTE_COMPACTION_MODE:C.append(v[P]);break;case ct.TEXT_COMPACTION_MODE_LATCH:E=dr.ALPHA;break}break;case dr.MIXED:if(H<ct.PL)ee=ct.MIXED_CHARS[H];else switch(H){case ct.PL:E=dr.PUNCT;break;case 26:ee=" ";break;case ct.LL:E=dr.LOWER;break;case ct.AL:E=dr.ALPHA;break;case ct.PS:A=E,E=dr.PUNCT_SHIFT;break;case ct.MODE_SHIFT_TO_BYTE_COMPACTION_MODE:C.append(v[P]);break;case ct.TEXT_COMPACTION_MODE_LATCH:E=dr.ALPHA;break}break;case dr.PUNCT:if(H<ct.PAL)ee=ct.PUNCT_CHARS[H];else switch(H){case ct.PAL:E=dr.ALPHA;break;case ct.MODE_SHIFT_TO_BYTE_COMPACTION_MODE:C.append(v[P]);break;case ct.TEXT_COMPACTION_MODE_LATCH:E=dr.ALPHA;break}break;case dr.ALPHA_SHIFT:if(E=A,H<26)ee=String.fromCharCode(65+H);else switch(H){case 26:ee=" ";break;case ct.TEXT_COMPACTION_MODE_LATCH:E=dr.ALPHA;break}break;case dr.PUNCT_SHIFT:if(E=A,H<ct.PAL)ee=ct.PUNCT_CHARS[H];else switch(H){case ct.PAL:E=dr.ALPHA;break;case ct.MODE_SHIFT_TO_BYTE_COMPACTION_MODE:C.append(v[P]);break;case ct.TEXT_COMPACTION_MODE_LATCH:E=dr.ALPHA;break}break}ee!==""&&C.append(ee),P++}}static byteCompaction(p,v,x,C,E){let A=new n4,P=0,H=0,ee=!1;switch(p){case ct.BYTE_COMPACTION_MODE_LATCH:let ae=new Int32Array(6),fe=v[C++];for(;C<v[0]&&!ee;)switch(ae[P++]=fe,H=900*H+fe,fe=v[C++],fe){case ct.TEXT_COMPACTION_MODE_LATCH:case ct.BYTE_COMPACTION_MODE_LATCH:case ct.NUMERIC_COMPACTION_MODE_LATCH:case ct.BYTE_COMPACTION_MODE_LATCH_6:case ct.BEGIN_MACRO_PDF417_CONTROL_BLOCK:case ct.BEGIN_MACRO_PDF417_OPTIONAL_FIELD:case ct.MACRO_PDF417_TERMINATOR:C--,ee=!0;break;default:if(P%5===0&&P>0){for(let be=0;be<6;++be)A.write(Number(No(H)>>No(8*(5-be))));H=0,P=0}break}C===v[0]&&fe<ct.TEXT_COMPACTION_MODE_LATCH&&(ae[P++]=fe);for(let be=0;be<P;be++)A.write(ae[be]);break;case ct.BYTE_COMPACTION_MODE_LATCH_6:for(;C<v[0]&&!ee;){let be=v[C++];if(be<ct.TEXT_COMPACTION_MODE_LATCH)P++,H=900*H+be;else switch(be){case ct.TEXT_COMPACTION_MODE_LATCH:case ct.BYTE_COMPACTION_MODE_LATCH:case ct.NUMERIC_COMPACTION_MODE_LATCH:case ct.BYTE_COMPACTION_MODE_LATCH_6:case ct.BEGIN_MACRO_PDF417_CONTROL_BLOCK:case ct.BEGIN_MACRO_PDF417_OPTIONAL_FIELD:case ct.MACRO_PDF417_TERMINATOR:C--,ee=!0;break}if(P%5===0&&P>0){for(let _e=0;_e<6;++_e)A.write(Number(No(H)>>No(8*(5-_e))));H=0,P=0}}break}return E.append(z.decode(A.toByteArray(),x)),C}static numericCompaction(p,v,x){let C=0,E=!1,A=new Int32Array(ct.MAX_NUMERIC_CODEWORDS);for(;v<p[0]&&!E;){let P=p[v++];if(v===p[0]&&(E=!0),P<ct.TEXT_COMPACTION_MODE_LATCH)A[C]=P,C++;else switch(P){case ct.TEXT_COMPACTION_MODE_LATCH:case ct.BYTE_COMPACTION_MODE_LATCH:case ct.BYTE_COMPACTION_MODE_LATCH_6:case ct.BEGIN_MACRO_PDF417_CONTROL_BLOCK:case ct.BEGIN_MACRO_PDF417_OPTIONAL_FIELD:case ct.MACRO_PDF417_TERMINATOR:v--,E=!0;break}(C%ct.MAX_NUMERIC_CODEWORDS===0||P===ct.NUMERIC_COMPACTION_MODE_LATCH||E)&&C>0&&(x.append(ct.decodeBase900toBase10(A,C)),C=0)}return v}static decodeBase900toBase10(p,v){let x=No(0);for(let E=0;E<v;E++)x+=ct.EXP900[v-E-1]*No(p[E]);let C=x.toString();if(C.charAt(0)!=="1")throw new L;return C.substring(1)}}ct.TEXT_COMPACTION_MODE_LATCH=900,ct.BYTE_COMPACTION_MODE_LATCH=901,ct.NUMERIC_COMPACTION_MODE_LATCH=902,ct.BYTE_COMPACTION_MODE_LATCH_6=924,ct.ECI_USER_DEFINED=925,ct.ECI_GENERAL_PURPOSE=926,ct.ECI_CHARSET=927,ct.BEGIN_MACRO_PDF417_CONTROL_BLOCK=928,ct.BEGIN_MACRO_PDF417_OPTIONAL_FIELD=923,ct.MACRO_PDF417_TERMINATOR=922,ct.MODE_SHIFT_TO_BYTE_COMPACTION_MODE=913,ct.MAX_NUMERIC_CODEWORDS=15,ct.MACRO_PDF417_OPTIONAL_FIELD_FILE_NAME=0,ct.MACRO_PDF417_OPTIONAL_FIELD_SEGMENT_COUNT=1,ct.MACRO_PDF417_OPTIONAL_FIELD_TIME_STAMP=2,ct.MACRO_PDF417_OPTIONAL_FIELD_SENDER=3,ct.MACRO_PDF417_OPTIONAL_FIELD_ADDRESSEE=4,ct.MACRO_PDF417_OPTIONAL_FIELD_FILE_SIZE=5,ct.MACRO_PDF417_OPTIONAL_FIELD_CHECKSUM=6,ct.PL=25,ct.LL=27,ct.AS=27,ct.ML=28,ct.AL=28,ct.PS=29,ct.PAL=29,ct.PUNCT_CHARS=`;<>@[\\]_\`~!\r ,:
2355 -.$/"|*()?{}'`,ct.MIXED_CHARS="0123456789&\r ,:#-.$/+%*=^",ct.EXP900=Wh()?Md():[],ct.NUMBER_OF_SEQUENCE_CODEWORDS=2;class Tn{constructor(){}static decode(p,v,x,C,E,A,P){let H=new jf(p,v,x,C,E),ee=null,ae=null,fe;for(let He=!0;;He=!1){if(v!=null&&(ee=Tn.getRowIndicatorColumn(p,H,v,!0,A,P)),C!=null&&(ae=Tn.getRowIndicatorColumn(p,H,C,!1,A,P)),fe=Tn.merge(ee,ae),fe==null)throw F.getNotFoundInstance();let Ge=fe.getBoundingBox();if(He&&Ge!=null&&(Ge.getMinY()<H.getMinY()||Ge.getMaxY()>H.getMaxY()))H=Ge;else break}fe.setBoundingBox(H);let be=fe.getBarcodeColumnCount()+1;fe.setDetectionResultColumn(0,ee),fe.setDetectionResultColumn(be,ae);let _e=ee!=null;for(let He=1;He<=be;He++){let Ge=_e?He:be-He;if(fe.getDetectionResultColumn(Ge)!==void 0)continue;let tt;Ge===0||Ge===be?tt=new t4(H,Ge===0):tt=new kl(H),fe.setDetectionResultColumn(Ge,tt);let lt=-1,Lt=lt;for(let zt=H.getMinY();zt<=H.getMaxY();zt++){if(lt=Tn.getStartColumn(fe,Ge,zt,_e),lt<0||lt>H.getMaxX()){if(Lt===-1)continue;lt=Lt}let Nt=Tn.detectCodeword(p,H.getMinX(),H.getMaxX(),_e,lt,zt,A,P);Nt!=null&&(tt.setCodeword(zt,Nt),Lt=lt,A=Math.min(A,Nt.getWidth()),P=Math.max(P,Nt.getWidth()))}}return Tn.createDecoderResult(fe)}static merge(p,v){if(p==null&&v==null)return null;let x=Tn.getBarcodeMetadata(p,v);if(x==null)return null;let C=jf.merge(Tn.adjustBoundingBox(p),Tn.adjustBoundingBox(v));return new Hh(x,C)}static adjustBoundingBox(p){if(p==null)return null;let v=p.getRowHeights();if(v==null)return null;let x=Tn.getMax(v),C=0;for(let P of v)if(C+=x-P,P>0)break;let E=p.getCodewords();for(let P=0;C>0&&E[P]==null;P++)C--;let A=0;for(let P=v.length-1;P>=0&&(A+=x-v[P],!(v[P]>0));P--);for(let P=E.length-1;A>0&&E[P]==null;P--)A--;return p.getBoundingBox().addMissingRows(C,A,p.isLeft())}static getMax(p){let v=-1;for(let x of p)v=Math.max(v,x);return v}static getBarcodeMetadata(p,v){let x;if(p==null||(x=p.getBarcodeMetadata())==null)return v==null?null:v.getBarcodeMetadata();let C;return v==null||(C=v.getBarcodeMetadata())==null?x:x.getColumnCount()!==C.getColumnCount()&&x.getErrorCorrectionLevel()!==C.getErrorCorrectionLevel()&&x.getRowCount()!==C.getRowCount()?null:x}static getRowIndicatorColumn(p,v,x,C,E,A){let P=new t4(v,C);for(let H=0;H<2;H++){let ee=H===0?1:-1,ae=Math.trunc(Math.trunc(x.getX()));for(let fe=Math.trunc(Math.trunc(x.getY()));fe<=v.getMaxY()&&fe>=v.getMinY();fe+=ee){let be=Tn.detectCodeword(p,0,p.getWidth(),C,ae,fe,E,A);be!=null&&(P.setCodeword(fe,be),C?ae=be.getStartX():ae=be.getEndX())}}return P}static adjustCodewordCount(p,v){let x=v[0][1],C=x.getValue(),E=p.getBarcodeColumnCount()*p.getBarcodeRowCount()-Tn.getNumberOfECCodeWords(p.getBarcodeECLevel());if(C.length===0){if(E<1||E>jn.MAX_CODEWORDS_IN_BARCODE)throw F.getNotFoundInstance();x.setValue(E)}else C[0]!==E&&x.setValue(E)}static createDecoderResult(p){let v=Tn.createBarcodeMatrix(p);Tn.adjustCodewordCount(p,v);let x=new Array,C=new Int32Array(p.getBarcodeRowCount()*p.getBarcodeColumnCount()),E=[],A=new Array;for(let H=0;H<p.getBarcodeRowCount();H++)for(let ee=0;ee<p.getBarcodeColumnCount();ee++){let ae=v[H][ee+1].getValue(),fe=H*p.getBarcodeColumnCount()+ee;ae.length===0?x.push(fe):ae.length===1?C[fe]=ae[0]:(A.push(fe),E.push(ae))}let P=new Array(E.length);for(let H=0;H<P.length;H++)P[H]=E[H];return Tn.createDecoderResultFromAmbiguousValues(p.getBarcodeECLevel(),C,jn.toIntArray(x),jn.toIntArray(A),P)}static createDecoderResultFromAmbiguousValues(p,v,x,C,E){let A=new Int32Array(C.length),P=100;for(;P-- >0;){for(let H=0;H<A.length;H++)v[C[H]]=E[H][A[H]];try{return Tn.decodeCodewords(v,p,x)}catch(H){if(!(H instanceof g))throw H}if(A.length===0)throw g.getChecksumInstance();for(let H=0;H<A.length;H++)if(A[H]<E[H].length-1){A[H]++;break}else if(A[H]=0,H===A.length-1)throw g.getChecksumInstance()}throw g.getChecksumInstance()}static createBarcodeMatrix(p){let v=Array.from({length:p.getBarcodeRowCount()},()=>new Array(p.getBarcodeColumnCount()+2));for(let C=0;C<v.length;C++)for(let E=0;E<v[C].length;E++)v[C][E]=new hu;let x=0;for(let C of p.getDetectionResultColumns()){if(C!=null){for(let E of C.getCodewords())if(E!=null){let A=E.getRowNumber();if(A>=0){if(A>=v.length)continue;v[A][x].setValue(E.getValue())}}}x++}return v}static isValidBarcodeColumn(p,v){return v>=0&&v<=p.getBarcodeColumnCount()+1}static getStartColumn(p,v,x,C){let E=C?1:-1,A=null;if(Tn.isValidBarcodeColumn(p,v-E)&&(A=p.getDetectionResultColumn(v-E).getCodeword(x)),A!=null)return C?A.getEndX():A.getStartX();if(A=p.getDetectionResultColumn(v).getCodewordNearby(x),A!=null)return C?A.getStartX():A.getEndX();if(Tn.isValidBarcodeColumn(p,v-E)&&(A=p.getDetectionResultColumn(v-E).getCodewordNearby(x)),A!=null)return C?A.getEndX():A.getStartX();let P=0;for(;Tn.isValidBarcodeColumn(p,v-E);){v-=E;for(let H of p.getDetectionResultColumn(v).getCodewords())if(H!=null)return(C?H.getEndX():H.getStartX())+E*P*(H.getEndX()-H.getStartX());P++}return C?p.getBoundingBox().getMinX():p.getBoundingBox().getMaxX()}static detectCodeword(p,v,x,C,E,A,P,H){E=Tn.adjustCodewordStartColumn(p,v,x,C,E,A);let ee=Tn.getModuleBitCount(p,v,x,C,E,A);if(ee==null)return null;let ae,fe=$e.sum(ee);if(C)ae=E+fe;else{for(let He=0;He<ee.length/2;He++){let Ge=ee[He];ee[He]=ee[ee.length-1-He],ee[ee.length-1-He]=Ge}ae=E,E=ae-fe}if(!Tn.checkCodewordSkew(fe,P,H))return null;let be=as.getDecodedValue(ee),_e=jn.getCodeword(be);return _e===-1?null:new Cf(E,ae,Tn.getCodewordBucketNumber(be),_e)}static getModuleBitCount(p,v,x,C,E,A){let P=E,H=new Int32Array(8),ee=0,ae=C?1:-1,fe=C;for(;(C?P<x:P>=v)&&ee<H.length;)p.get(P,A)===fe?(H[ee]++,P+=ae):(ee++,fe=!fe);return ee===H.length||P===(C?x:v)&&ee===H.length-1?H:null}static getNumberOfECCodeWords(p){return 2<<p}static adjustCodewordStartColumn(p,v,x,C,E,A){let P=E,H=C?-1:1;for(let ee=0;ee<2;ee++){for(;(C?P>=v:P<x)&&C===p.get(P,A);){if(Math.abs(E-P)>Tn.CODEWORD_SKEW_SIZE)return E;P+=H}H=-H,C=!C}return P}static checkCodewordSkew(p,v,x){return v-Tn.CODEWORD_SKEW_SIZE<=p&&p<=x+Tn.CODEWORD_SKEW_SIZE}static decodeCodewords(p,v,x){if(p.length===0)throw L.getFormatInstance();let C=1<<v+1,E=Tn.correctErrors(p,x,C);Tn.verifyCodewordCount(p,C);let A=ct.decode(p,""+v);return A.setErrorsCorrected(E),A.setErasures(x.length),A}static correctErrors(p,v,x){if(v!=null&&v.length>x/2+Tn.MAX_ERRORS||x<0||x>Tn.MAX_EC_CODEWORDS)throw g.getChecksumInstance();return Tn.errorCorrection.decode(p,x,v)}static verifyCodewordCount(p,v){if(p.length<4)throw L.getFormatInstance();let x=p[0];if(x>p.length)throw L.getFormatInstance();if(x===0)if(v<p.length)p[0]=p.length-v;else throw L.getFormatInstance()}static getBitCountForCodeword(p){let v=new Int32Array(8),x=0,C=v.length-1;for(;!((p&1)!==x&&(x=p&1,C--,C<0));)v[C]++,p>>=1;return v}static getCodewordBucketNumber(p){return p instanceof Int32Array?this.getCodewordBucketNumber_Int32Array(p):this.getCodewordBucketNumber_number(p)}static getCodewordBucketNumber_number(p){return Tn.getCodewordBucketNumber(Tn.getBitCountForCodeword(p))}static getCodewordBucketNumber_Int32Array(p){return(p[0]-p[2]+p[4]-p[6]+9)%9}static toString(p){let v=new wc;for(let x=0;x<p.length;x++){v.format("Row %2d: ",x);for(let C=0;C<p[x].length;C++){let E=p[x][C];E.getValue().length===0?v.format(" ",null):v.format("%4d(%2d)",E.getValue()[0],E.getConfidence(E.getValue()[0]))}v.format("%n")}return v.toString()}}Tn.CODEWORD_SKEW_SIZE=2,Tn.MAX_ERRORS=3,Tn.MAX_EC_CODEWORDS=512,Tn.errorCorrection=new Cv;class is{decode(p,v=null){let x=is.decode(p,v,!1);if(x==null||x.length===0||x[0]==null)throw F.getNotFoundInstance();return x[0]}decodeMultiple(p,v=null){try{return is.decode(p,v,!0)}catch(x){throw x instanceof L||x instanceof g?F.getNotFoundInstance():x}}static decode(p,v,x){const C=new Array,E=Mn.detectMultiple(p,v,x);for(const A of E.getPoints()){const P=Tn.decode(E.getBits(),A[4],A[5],A[6],A[7],is.getMinCodewordWidth(A),is.getMaxCodewordWidth(A)),H=new de(P.getText(),P.getRawBytes(),void 0,A,ve.PDF_417);H.putMetadata(ce.ERROR_CORRECTION_LEVEL,P.getECLevel());const ee=P.getOther();ee!=null&&H.putMetadata(ce.PDF417_EXTRA_METADATA,ee),C.push(H)}return C.map(A=>A)}static getMaxWidth(p,v){return p==null||v==null?0:Math.trunc(Math.abs(p.getX()-v.getX()))}static getMinWidth(p,v){return p==null||v==null?N.MAX_VALUE:Math.trunc(Math.abs(p.getX()-v.getX()))}static getMaxCodewordWidth(p){return Math.floor(Math.max(Math.max(is.getMaxWidth(p[0],p[4]),is.getMaxWidth(p[6],p[2])*jn.MODULES_IN_CODEWORD/jn.MODULES_IN_STOP_PATTERN),Math.max(is.getMaxWidth(p[1],p[5]),is.getMaxWidth(p[7],p[3])*jn.MODULES_IN_CODEWORD/jn.MODULES_IN_STOP_PATTERN)))}static getMinCodewordWidth(p){return Math.floor(Math.min(Math.min(is.getMinWidth(p[0],p[4]),is.getMinWidth(p[6],p[2])*jn.MODULES_IN_CODEWORD/jn.MODULES_IN_STOP_PATTERN),Math.min(is.getMinWidth(p[1],p[5]),is.getMinWidth(p[7],p[3])*jn.MODULES_IN_CODEWORD/jn.MODULES_IN_STOP_PATTERN)))}reset(){}}class Rd extends u{}Rd.kind="ReaderException";class p1{constructor(p,v){this.verbose=p===!0,v&&this.setHints(v)}decode(p,v){return v&&this.setHints(v),this.decodeInternal(p)}decodeWithState(p){return(this.readers===null||this.readers===void 0)&&this.setHints(null),this.decodeInternal(p)}setHints(p){this.hints=p;const v=!r(p)&&p.get(O.TRY_HARDER)===!0,x=r(p)?null:p.get(O.POSSIBLE_FORMATS),C=new Array;if(!r(x)){const E=x.some(A=>A===ve.UPC_A||A===ve.UPC_E||A===ve.EAN_13||A===ve.EAN_8||A===ve.CODABAR||A===ve.CODE_39||A===ve.CODE_93||A===ve.CODE_128||A===ve.ITF||A===ve.RSS_14||A===ve.RSS_EXPANDED);E&&!v&&C.push(new Nd(p,this.verbose)),x.includes(ve.QR_CODE)&&C.push(new Hs),x.includes(ve.DATA_MATRIX)&&C.push(new Fi),x.includes(ve.AZTEC)&&C.push(new Ce),x.includes(ve.PDF_417)&&C.push(new is),E&&v&&C.push(new Nd(p,this.verbose))}C.length===0&&(v||C.push(new Nd(p,this.verbose)),C.push(new Hs),C.push(new Fi),C.push(new Ce),C.push(new is),v&&C.push(new Nd(p,this.verbose))),this.readers=C}reset(){if(this.readers!==null)for(const p of this.readers)p.reset()}decodeInternal(p){if(this.readers===null)throw new Rd("No readers where selected, nothing can be read.");for(const v of this.readers)try{return v.decode(p,this.hints)}catch(x){if(x instanceof Rd)continue}throw new F("No MultiFormat Readers were able to detect the code.")}}class Gh extends re{constructor(p=null,v=500){const x=new p1;x.setHints(p),super(x,v)}decodeBitmap(p){return this.reader.decodeWithState(p)}}class h1 extends re{constructor(p=500){super(new is,p)}}class r4 extends re{constructor(p=500){super(new Hs,p)}}var Nv;(function(ue){ue[ue.ERROR_CORRECTION=0]="ERROR_CORRECTION",ue[ue.CHARACTER_SET=1]="CHARACTER_SET",ue[ue.DATA_MATRIX_SHAPE=2]="DATA_MATRIX_SHAPE",ue[ue.MIN_SIZE=3]="MIN_SIZE",ue[ue.MAX_SIZE=4]="MAX_SIZE",ue[ue.MARGIN=5]="MARGIN",ue[ue.PDF417_COMPACT=6]="PDF417_COMPACT",ue[ue.PDF417_COMPACTION=7]="PDF417_COMPACTION",ue[ue.PDF417_DIMENSIONS=8]="PDF417_DIMENSIONS",ue[ue.AZTEC_LAYERS=9]="AZTEC_LAYERS",ue[ue.QR_VERSION=10]="QR_VERSION"})(Nv||(Nv={}));var Oo=Nv;class Iv{constructor(p){this.field=p,this.cachedGenerators=[],this.cachedGenerators.push(new ke(p,Int32Array.from([1])))}buildGenerator(p){const v=this.cachedGenerators;if(p>=v.length){let x=v[v.length-1];const C=this.field;for(let E=v.length;E<=p;E++){const A=x.multiply(new ke(C,Int32Array.from([1,C.exp(E-1+C.getGeneratorBase())])));v.push(A),x=A}}return v[p]}encode(p,v){if(v===0)throw new f("No error correction bytes");const x=p.length-v;if(x<=0)throw new f("No data bytes provided");const C=this.buildGenerator(v),E=new Int32Array(x);b.arraycopy(p,0,E,0,x);let A=new ke(this.field,E);A=A.multiplyByMonomial(v,1);const H=A.divide(C)[1].getCoefficients(),ee=v-H.length;for(let ae=0;ae<ee;ae++)p[x+ae]=0;b.arraycopy(H,0,p,x+ee,H.length)}}class Yr{constructor(){}static applyMaskPenaltyRule1(p){return Yr.applyMaskPenaltyRule1Internal(p,!0)+Yr.applyMaskPenaltyRule1Internal(p,!1)}static applyMaskPenaltyRule2(p){let v=0;const x=p.getArray(),C=p.getWidth(),E=p.getHeight();for(let A=0;A<E-1;A++){const P=x[A];for(let H=0;H<C-1;H++){const ee=P[H];ee===P[H+1]&&ee===x[A+1][H]&&ee===x[A+1][H+1]&&v++}}return Yr.N2*v}static applyMaskPenaltyRule3(p){let v=0;const x=p.getArray(),C=p.getWidth(),E=p.getHeight();for(let A=0;A<E;A++)for(let P=0;P<C;P++){const H=x[A];P+6<C&&H[P]===1&&H[P+1]===0&&H[P+2]===1&&H[P+3]===1&&H[P+4]===1&&H[P+5]===0&&H[P+6]===1&&(Yr.isWhiteHorizontal(H,P-4,P)||Yr.isWhiteHorizontal(H,P+7,P+11))&&v++,A+6<E&&x[A][P]===1&&x[A+1][P]===0&&x[A+2][P]===1&&x[A+3][P]===1&&x[A+4][P]===1&&x[A+5][P]===0&&x[A+6][P]===1&&(Yr.isWhiteVertical(x,P,A-4,A)||Yr.isWhiteVertical(x,P,A+7,A+11))&&v++}return v*Yr.N3}static isWhiteHorizontal(p,v,x){v=Math.max(v,0),x=Math.min(x,p.length);for(let C=v;C<x;C++)if(p[C]===1)return!1;return!0}static isWhiteVertical(p,v,x,C){x=Math.max(x,0),C=Math.min(C,p.length);for(let E=x;E<C;E++)if(p[E][v]===1)return!1;return!0}static applyMaskPenaltyRule4(p){let v=0;const x=p.getArray(),C=p.getWidth(),E=p.getHeight();for(let H=0;H<E;H++){const ee=x[H];for(let ae=0;ae<C;ae++)ee[ae]===1&&v++}const A=p.getHeight()*p.getWidth();return Math.floor(Math.abs(v*2-A)*10/A)*Yr.N4}static getDataMaskBit(p,v,x){let C,E;switch(p){case 0:C=x+v&1;break;case 1:C=x&1;break;case 2:C=v%3;break;case 3:C=(x+v)%3;break;case 4:C=Math.floor(x/2)+Math.floor(v/3)&1;break;case 5:E=x*v,C=(E&1)+E%3;break;case 6:E=x*v,C=(E&1)+E%3&1;break;case 7:E=x*v,C=E%3+(x+v&1)&1;break;default:throw new f("Invalid mask pattern: "+p)}return C===0}static applyMaskPenaltyRule1Internal(p,v){let x=0;const C=v?p.getHeight():p.getWidth(),E=v?p.getWidth():p.getHeight(),A=p.getArray();for(let P=0;P<C;P++){let H=0,ee=-1;for(let ae=0;ae<E;ae++){const fe=v?A[P][ae]:A[ae][P];fe===ee?H++:(H>=5&&(x+=Yr.N1+(H-5)),H=1,ee=fe)}H>=5&&(x+=Yr.N1+(H-5))}return x}}Yr.N1=3,Yr.N2=3,Yr.N3=40,Yr.N4=10;class m1{constructor(p,v){this.width=p,this.height=v;const x=new Array(v);for(let C=0;C!==v;C++)x[C]=new Uint8Array(p);this.bytes=x}getHeight(){return this.height}getWidth(){return this.width}get(p,v){return this.bytes[v][p]}getArray(){return this.bytes}setNumber(p,v,x){this.bytes[v][p]=x}setBoolean(p,v,x){this.bytes[v][p]=x?1:0}clear(p){for(const v of this.bytes)I.fill(v,p)}equals(p){if(!(p instanceof m1))return!1;const v=p;if(this.width!==v.width||this.height!==v.height)return!1;for(let x=0,C=this.height;x<C;++x){const E=this.bytes[x],A=v.bytes[x];for(let P=0,H=this.width;P<H;++P)if(E[P]!==A[P])return!1}return!0}toString(){const p=new Q;for(let v=0,x=this.height;v<x;++v){const C=this.bytes[v];for(let E=0,A=this.width;E<A;++E)switch(C[E]){case 0:p.append(" 0");break;case 1:p.append(" 1");break;default:p.append(" ");break}p.append(`
2356 `)}return p.toString()}}class Sf{constructor(){this.maskPattern=-1}getMode(){return this.mode}getECLevel(){return this.ecLevel}getVersion(){return this.version}getMaskPattern(){return this.maskPattern}getMatrix(){return this.matrix}toString(){const p=new Q;return p.append(`<<
2357 `),p.append(" mode: "),p.append(this.mode?this.mode.toString():"null"),p.append(`
2358 ecLevel: `),p.append(this.ecLevel?this.ecLevel.toString():"null"),p.append(`
2359 version: `),p.append(this.version?this.version.toString():"null"),p.append(`
2360 maskPattern: `),p.append(this.maskPattern.toString()),this.matrix?(p.append(`
2361 matrix:
2362 `),p.append(this.matrix.toString())):p.append(`
2363 matrix: null
2364 `),p.append(`>>
2365 `),p.toString()}setMode(p){this.mode=p}setECLevel(p){this.ecLevel=p}setVersion(p){this.version=p}setMaskPattern(p){this.maskPattern=p}setMatrix(p){this.matrix=p}static isValidMaskPattern(p){return p>=0&&p<Sf.NUM_MASK_PATTERNS}}Sf.NUM_MASK_PATTERNS=8;class Mr extends u{}Mr.kind="WriterException";class vn{constructor(){}static clearMatrix(p){p.clear(255)}static buildMatrix(p,v,x,C,E){vn.clearMatrix(E),vn.embedBasicPatterns(x,E),vn.embedTypeInfo(v,C,E),vn.maybeEmbedVersionInfo(x,E),vn.embedDataBits(p,C,E)}static embedBasicPatterns(p,v){vn.embedPositionDetectionPatternsAndSeparators(v),vn.embedDarkDotAtLeftBottomCorner(v),vn.maybeEmbedPositionAdjustmentPatterns(p,v),vn.embedTimingPatterns(v)}static embedTypeInfo(p,v,x){const C=new M;vn.makeTypeInfoBits(p,v,C);for(let E=0,A=C.getSize();E<A;++E){const P=C.get(C.getSize()-1-E),H=vn.TYPE_INFO_COORDINATES[E],ee=H[0],ae=H[1];if(x.setBoolean(ee,ae,P),E<8){const fe=x.getWidth()-E-1;x.setBoolean(fe,8,P)}else{const be=x.getHeight()-7+(E-8);x.setBoolean(8,be,P)}}}static maybeEmbedVersionInfo(p,v){if(p.getVersionNumber()<7)return;const x=new M;vn.makeVersionInfoBits(p,x);let C=17;for(let E=0;E<6;++E)for(let A=0;A<3;++A){const P=x.get(C);C--,v.setBoolean(E,v.getHeight()-11+A,P),v.setBoolean(v.getHeight()-11+A,E,P)}}static embedDataBits(p,v,x){let C=0,E=-1,A=x.getWidth()-1,P=x.getHeight()-1;for(;A>0;){for(A===6&&(A-=1);P>=0&&P<x.getHeight();){for(let H=0;H<2;++H){const ee=A-H;if(!vn.isEmpty(x.get(ee,P)))continue;let ae;C<p.getSize()?(ae=p.get(C),++C):ae=!1,v!==255&&Yr.getDataMaskBit(v,ee,P)&&(ae=!ae),x.setBoolean(ee,P,ae)}P+=E}E=-E,P+=E,A-=2}if(C!==p.getSize())throw new Mr("Not all bits consumed: "+C+"/"+p.getSize())}static findMSBSet(p){return 32-N.numberOfLeadingZeros(p)}static calculateBCHCode(p,v){if(v===0)throw new f("0 polynomial");const x=vn.findMSBSet(v);for(p<<=x-1;vn.findMSBSet(p)>=x;)p^=v<<vn.findMSBSet(p)-x;return p}static makeTypeInfoBits(p,v,x){if(!Sf.isValidMaskPattern(v))throw new Mr("Invalid mask pattern");const C=p.getBits()<<3|v;x.appendBits(C,5);const E=vn.calculateBCHCode(C,vn.TYPE_INFO_POLY);x.appendBits(E,10);const A=new M;if(A.appendBits(vn.TYPE_INFO_MASK_PATTERN,15),x.xor(A),x.getSize()!==15)throw new Mr("should not happen but we got: "+x.getSize())}static makeVersionInfoBits(p,v){v.appendBits(p.getVersionNumber(),6);const x=vn.calculateBCHCode(p.getVersionNumber(),vn.VERSION_INFO_POLY);if(v.appendBits(x,12),v.getSize()!==18)throw new Mr("should not happen but we got: "+v.getSize())}static isEmpty(p){return p===255}static embedTimingPatterns(p){for(let v=8;v<p.getWidth()-8;++v){const x=(v+1)%2;vn.isEmpty(p.get(v,6))&&p.setNumber(v,6,x),vn.isEmpty(p.get(6,v))&&p.setNumber(6,v,x)}}static embedDarkDotAtLeftBottomCorner(p){if(p.get(8,p.getHeight()-8)===0)throw new Mr;p.setNumber(8,p.getHeight()-8,1)}static embedHorizontalSeparationPattern(p,v,x){for(let C=0;C<8;++C){if(!vn.isEmpty(x.get(p+C,v)))throw new Mr;x.setNumber(p+C,v,0)}}static embedVerticalSeparationPattern(p,v,x){for(let C=0;C<7;++C){if(!vn.isEmpty(x.get(p,v+C)))throw new Mr;x.setNumber(p,v+C,0)}}static embedPositionAdjustmentPattern(p,v,x){for(let C=0;C<5;++C){const E=vn.POSITION_ADJUSTMENT_PATTERN[C];for(let A=0;A<5;++A)x.setNumber(p+A,v+C,E[A])}}static embedPositionDetectionPattern(p,v,x){for(let C=0;C<7;++C){const E=vn.POSITION_DETECTION_PATTERN[C];for(let A=0;A<7;++A)x.setNumber(p+A,v+C,E[A])}}static embedPositionDetectionPatternsAndSeparators(p){const v=vn.POSITION_DETECTION_PATTERN[0].length;vn.embedPositionDetectionPattern(0,0,p),vn.embedPositionDetectionPattern(p.getWidth()-v,0,p),vn.embedPositionDetectionPattern(0,p.getWidth()-v,p);const x=8;vn.embedHorizontalSeparationPattern(0,x-1,p),vn.embedHorizontalSeparationPattern(p.getWidth()-x,x-1,p),vn.embedHorizontalSeparationPattern(0,p.getWidth()-x,p);const C=7;vn.embedVerticalSeparationPattern(C,0,p),vn.embedVerticalSeparationPattern(p.getHeight()-C-1,0,p),vn.embedVerticalSeparationPattern(C,p.getHeight()-C,p)}static maybeEmbedPositionAdjustmentPatterns(p,v){if(p.getVersionNumber()<2)return;const x=p.getVersionNumber()-1,C=vn.POSITION_ADJUSTMENT_PATTERN_COORDINATE_TABLE[x];for(let E=0,A=C.length;E!==A;E++){const P=C[E];if(P>=0)for(let H=0;H!==A;H++){const ee=C[H];ee>=0&&vn.isEmpty(v.get(ee,P))&&vn.embedPositionAdjustmentPattern(ee-2,P-2,v)}}}}vn.POSITION_DETECTION_PATTERN=Array.from([Int32Array.from([1,1,1,1,1,1,1]),Int32Array.from([1,0,0,0,0,0,1]),Int32Array.from([1,0,1,1,1,0,1]),Int32Array.from([1,0,1,1,1,0,1]),Int32Array.from([1,0,1,1,1,0,1]),Int32Array.from([1,0,0,0,0,0,1]),Int32Array.from([1,1,1,1,1,1,1])]),vn.POSITION_ADJUSTMENT_PATTERN=Array.from([Int32Array.from([1,1,1,1,1]),Int32Array.from([1,0,0,0,1]),Int32Array.from([1,0,1,0,1]),Int32Array.from([1,0,0,0,1]),Int32Array.from([1,1,1,1,1])]),vn.POSITION_ADJUSTMENT_PATTERN_COORDINATE_TABLE=Array.from([Int32Array.from([-1,-1,-1,-1,-1,-1,-1]),Int32Array.from([6,18,-1,-1,-1,-1,-1]),Int32Array.from([6,22,-1,-1,-1,-1,-1]),Int32Array.from([6,26,-1,-1,-1,-1,-1]),Int32Array.from([6,30,-1,-1,-1,-1,-1]),Int32Array.from([6,34,-1,-1,-1,-1,-1]),Int32Array.from([6,22,38,-1,-1,-1,-1]),Int32Array.from([6,24,42,-1,-1,-1,-1]),Int32Array.from([6,26,46,-1,-1,-1,-1]),Int32Array.from([6,28,50,-1,-1,-1,-1]),Int32Array.from([6,30,54,-1,-1,-1,-1]),Int32Array.from([6,32,58,-1,-1,-1,-1]),Int32Array.from([6,34,62,-1,-1,-1,-1]),Int32Array.from([6,26,46,66,-1,-1,-1]),Int32Array.from([6,26,48,70,-1,-1,-1]),Int32Array.from([6,26,50,74,-1,-1,-1]),Int32Array.from([6,30,54,78,-1,-1,-1]),Int32Array.from([6,30,56,82,-1,-1,-1]),Int32Array.from([6,30,58,86,-1,-1,-1]),Int32Array.from([6,34,62,90,-1,-1,-1]),Int32Array.from([6,28,50,72,94,-1,-1]),Int32Array.from([6,26,50,74,98,-1,-1]),Int32Array.from([6,30,54,78,102,-1,-1]),Int32Array.from([6,28,54,80,106,-1,-1]),Int32Array.from([6,32,58,84,110,-1,-1]),Int32Array.from([6,30,58,86,114,-1,-1]),Int32Array.from([6,34,62,90,118,-1,-1]),Int32Array.from([6,26,50,74,98,122,-1]),Int32Array.from([6,30,54,78,102,126,-1]),Int32Array.from([6,26,52,78,104,130,-1]),Int32Array.from([6,30,56,82,108,134,-1]),Int32Array.from([6,34,60,86,112,138,-1]),Int32Array.from([6,30,58,86,114,142,-1]),Int32Array.from([6,34,62,90,118,146,-1]),Int32Array.from([6,30,54,78,102,126,150]),Int32Array.from([6,24,50,76,102,128,154]),Int32Array.from([6,28,54,80,106,132,158]),Int32Array.from([6,32,58,84,110,136,162]),Int32Array.from([6,26,54,82,110,138,166]),Int32Array.from([6,30,58,86,114,142,170])]),vn.TYPE_INFO_COORDINATES=Array.from([Int32Array.from([8,0]),Int32Array.from([8,1]),Int32Array.from([8,2]),Int32Array.from([8,3]),Int32Array.from([8,4]),Int32Array.from([8,5]),Int32Array.from([8,7]),Int32Array.from([8,8]),Int32Array.from([7,8]),Int32Array.from([5,8]),Int32Array.from([4,8]),Int32Array.from([3,8]),Int32Array.from([2,8]),Int32Array.from([1,8]),Int32Array.from([0,8])]),vn.VERSION_INFO_POLY=7973,vn.TYPE_INFO_POLY=1335,vn.TYPE_INFO_MASK_PATTERN=21522;class XE{constructor(p,v){this.dataBytes=p,this.errorCorrectionBytes=v}getDataBytes(){return this.dataBytes}getErrorCorrectionBytes(){return this.errorCorrectionBytes}}class Dr{constructor(){}static calculateMaskPenalty(p){return Yr.applyMaskPenaltyRule1(p)+Yr.applyMaskPenaltyRule2(p)+Yr.applyMaskPenaltyRule3(p)+Yr.applyMaskPenaltyRule4(p)}static encode(p,v,x=null){let C=Dr.DEFAULT_BYTE_MODE_ENCODING;const E=x!==null&&x.get(Oo.CHARACTER_SET)!==void 0;E&&(C=x.get(Oo.CHARACTER_SET).toString());const A=this.chooseMode(p,C),P=new M;if(A===mn.BYTE&&(E||Dr.DEFAULT_BYTE_MODE_ENCODING!==C)){const zt=T.getCharacterSetECIByName(C);zt!==void 0&&this.appendECI(zt,P)}this.appendModeInfo(A,P);const H=new M;this.appendBytes(p,A,H,C);let ee;if(x!==null&&x.get(Oo.QR_VERSION)!==void 0){const zt=Number.parseInt(x.get(Oo.QR_VERSION).toString(),10);ee=hn.getVersionForNumber(zt);const Nt=this.calculateBitsNeeded(A,P,H,ee);if(!this.willFit(Nt,ee,v))throw new Mr("Data too big for requested version")}else ee=this.recommendVersion(v,A,P,H);const ae=new M;ae.appendBitArray(P);const fe=A===mn.BYTE?H.getSizeInBytes():p.length;this.appendLengthInfo(fe,ee,A,ae),ae.appendBitArray(H);const be=ee.getECBlocksForLevel(v),_e=ee.getTotalCodewords()-be.getTotalECCodewords();this.terminateBits(_e,ae);const He=this.interleaveWithECBytes(ae,ee.getTotalCodewords(),_e,be.getNumBlocks()),Ge=new Sf;Ge.setECLevel(v),Ge.setMode(A),Ge.setVersion(ee);const tt=ee.getDimensionForVersion(),lt=new m1(tt,tt),Lt=this.chooseMaskPattern(He,v,ee,lt);return Ge.setMaskPattern(Lt),vn.buildMatrix(He,v,ee,Lt,lt),Ge.setMatrix(lt),Ge}static recommendVersion(p,v,x,C){const E=this.calculateBitsNeeded(v,x,C,hn.getVersionForNumber(1)),A=this.chooseVersion(E,p),P=this.calculateBitsNeeded(v,x,C,A);return this.chooseVersion(P,p)}static calculateBitsNeeded(p,v,x,C){return v.getSize()+p.getCharacterCountBits(C)+x.getSize()}static getAlphanumericCode(p){return p<Dr.ALPHANUMERIC_TABLE.length?Dr.ALPHANUMERIC_TABLE[p]:-1}static chooseMode(p,v=null){if(T.SJIS.getName()===v&&this.isOnlyDoubleByteKanji(p))return mn.KANJI;let x=!1,C=!1;for(let E=0,A=p.length;E<A;++E){const P=p.charAt(E);if(Dr.isDigit(P))x=!0;else if(this.getAlphanumericCode(P.charCodeAt(0))!==-1)C=!0;else return mn.BYTE}return C?mn.ALPHANUMERIC:x?mn.NUMERIC:mn.BYTE}static isOnlyDoubleByteKanji(p){let v;try{v=z.encode(p,T.SJIS)}catch{return!1}const x=v.length;if(x%2!==0)return!1;for(let C=0;C<x;C+=2){const E=v[C]&255;if((E<129||E>159)&&(E<224||E>235))return!1}return!0}static chooseMaskPattern(p,v,x,C){let E=Number.MAX_SAFE_INTEGER,A=-1;for(let P=0;P<Sf.NUM_MASK_PATTERNS;P++){vn.buildMatrix(p,v,x,P,C);let H=this.calculateMaskPenalty(C);H<E&&(E=H,A=P)}return A}static chooseVersion(p,v){for(let x=1;x<=40;x++){const C=hn.getVersionForNumber(x);if(Dr.willFit(p,C,v))return C}throw new Mr("Data too big")}static willFit(p,v,x){const C=v.getTotalCodewords(),A=v.getECBlocksForLevel(x).getTotalECCodewords(),P=C-A,H=(p+7)/8;return P>=H}static terminateBits(p,v){const x=p*8;if(v.getSize()>x)throw new Mr("data bits cannot fit in the QR Code"+v.getSize()+" > "+x);for(let A=0;A<4&&v.getSize()<x;++A)v.appendBit(!1);const C=v.getSize()&7;if(C>0)for(let A=C;A<8;A++)v.appendBit(!1);const E=p-v.getSizeInBytes();for(let A=0;A<E;++A)v.appendBits((A&1)===0?236:17,8);if(v.getSize()!==x)throw new Mr("Bits size does not equal capacity")}static getNumDataBytesAndNumECBytesForBlockID(p,v,x,C,E,A){if(C>=x)throw new Mr("Block ID too large");const P=p%x,H=x-P,ee=Math.floor(p/x),ae=ee+1,fe=Math.floor(v/x),be=fe+1,_e=ee-fe,He=ae-be;if(_e!==He)throw new Mr("EC bytes mismatch");if(x!==H+P)throw new Mr("RS blocks mismatch");if(p!==(fe+_e)*H+(be+He)*P)throw new Mr("Total bytes mismatch");C<H?(E[0]=fe,A[0]=_e):(E[0]=be,A[0]=He)}static interleaveWithECBytes(p,v,x,C){if(p.getSizeInBytes()!==x)throw new Mr("Number of bits and data bytes does not match");let E=0,A=0,P=0;const H=new Array;for(let ae=0;ae<C;++ae){const fe=new Int32Array(1),be=new Int32Array(1);Dr.getNumDataBytesAndNumECBytesForBlockID(v,x,C,ae,fe,be);const _e=fe[0],He=new Uint8Array(_e);p.toBytes(8*E,He,0,_e);const Ge=Dr.generateECBytes(He,be[0]);H.push(new XE(He,Ge)),A=Math.max(A,_e),P=Math.max(P,Ge.length),E+=fe[0]}if(x!==E)throw new Mr("Data bytes does not match offset");const ee=new M;for(let ae=0;ae<A;++ae)for(const fe of H){const be=fe.getDataBytes();ae<be.length&&ee.appendBits(be[ae],8)}for(let ae=0;ae<P;++ae)for(const fe of H){const be=fe.getErrorCorrectionBytes();ae<be.length&&ee.appendBits(be[ae],8)}if(v!==ee.getSizeInBytes())throw new Mr("Interleaving error: "+v+" and "+ee.getSizeInBytes()+" differ.");return ee}static generateECBytes(p,v){const x=p.length,C=new Int32Array(x+v);for(let A=0;A<x;A++)C[A]=p[A]&255;new Iv(he.QR_CODE_FIELD_256).encode(C,v);const E=new Uint8Array(v);for(let A=0;A<v;A++)E[A]=C[x+A];return E}static appendModeInfo(p,v){v.appendBits(p.getBits(),4)}static appendLengthInfo(p,v,x,C){const E=x.getCharacterCountBits(v);if(p>=1<<E)throw new Mr(p+" is bigger than "+((1<<E)-1));C.appendBits(p,E)}static appendBytes(p,v,x,C){switch(v){case mn.NUMERIC:Dr.appendNumericBytes(p,x);break;case mn.ALPHANUMERIC:Dr.appendAlphanumericBytes(p,x);break;case mn.BYTE:Dr.append8BitBytes(p,x,C);break;case mn.KANJI:Dr.appendKanjiBytes(p,x);break;default:throw new Mr("Invalid mode: "+v)}}static getDigit(p){return p.charCodeAt(0)-48}static isDigit(p){const v=Dr.getDigit(p);return v>=0&&v<=9}static appendNumericBytes(p,v){const x=p.length;let C=0;for(;C<x;){const E=Dr.getDigit(p.charAt(C));if(C+2<x){const A=Dr.getDigit(p.charAt(C+1)),P=Dr.getDigit(p.charAt(C+2));v.appendBits(E*100+A*10+P,10),C+=3}else if(C+1<x){const A=Dr.getDigit(p.charAt(C+1));v.appendBits(E*10+A,7),C+=2}else v.appendBits(E,4),C++}}static appendAlphanumericBytes(p,v){const x=p.length;let C=0;for(;C<x;){const E=Dr.getAlphanumericCode(p.charCodeAt(C));if(E===-1)throw new Mr;if(C+1<x){const A=Dr.getAlphanumericCode(p.charCodeAt(C+1));if(A===-1)throw new Mr;v.appendBits(E*45+A,11),C+=2}else v.appendBits(E,6),C++}}static append8BitBytes(p,v,x){let C;try{C=z.encode(p,x)}catch(E){throw new Mr(E)}for(let E=0,A=C.length;E!==A;E++){const P=C[E];v.appendBits(P,8)}}static appendKanjiBytes(p,v){let x;try{x=z.encode(p,T.SJIS)}catch(E){throw new Mr(E)}const C=x.length;for(let E=0;E<C;E+=2){const A=x[E]&255,P=x[E+1]&255,H=A<<8&4294967295|P;let ee=-1;if(H>=33088&&H<=40956?ee=H-33088:H>=57408&&H<=60351&&(ee=H-49472),ee===-1)throw new Mr("Invalid byte sequence");const ae=(ee>>8)*192+(ee&255);v.appendBits(ae,13)}}static appendECI(p,v){v.appendBits(mn.ECI.getBits(),4),v.appendBits(p.getValue(),8)}}Dr.ALPHANUMERIC_TABLE=Int32Array.from([-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,36,-1,-1,-1,37,38,-1,-1,-1,-1,39,40,-1,41,42,43,0,1,2,3,4,5,6,7,8,9,44,-1,-1,-1,-1,-1,-1,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,-1,-1,-1,-1,-1]),Dr.DEFAULT_BYTE_MODE_ENCODING=T.UTF8.getName();class Ef{write(p,v,x,C=null){if(p.length===0)throw new f("Found empty contents");if(v<0||x<0)throw new f("Requested dimensions are too small: "+v+"x"+x);let E=Ir.L,A=Ef.QUIET_ZONE_SIZE;C!==null&&(C.get(Oo.ERROR_CORRECTION)!==void 0&&(E=Ir.fromString(C.get(Oo.ERROR_CORRECTION).toString())),C.get(Oo.MARGIN)!==void 0&&(A=Number.parseInt(C.get(Oo.MARGIN).toString(),10)));const P=Dr.encode(p,E,C);return this.renderResult(P,v,x,A)}writeToDom(p,v,x,C,E=null){typeof p=="string"&&(p=document.querySelector(p));const A=this.write(v,x,C,E);p&&p.appendChild(A)}renderResult(p,v,x,C){const E=p.getMatrix();if(E===null)throw new Ae;const A=E.getWidth(),P=E.getHeight(),H=A+C*2,ee=P+C*2,ae=Math.max(v,H),fe=Math.max(x,ee),be=Math.min(Math.floor(ae/H),Math.floor(fe/ee)),_e=Math.floor((ae-A*be)/2),He=Math.floor((fe-P*be)/2),Ge=this.createSVGElement(ae,fe);for(let tt=0,lt=He;tt<P;tt++,lt+=be)for(let Lt=0,zt=_e;Lt<A;Lt++,zt+=be)if(E.get(Lt,tt)===1){const Nt=this.createSvgRectElement(zt,lt,be,be);Ge.appendChild(Nt)}return Ge}createSVGElement(p,v){const x=document.createElementNS(Ef.SVG_NS,"svg");return x.setAttributeNS(null,"height",p.toString()),x.setAttributeNS(null,"width",v.toString()),x}createSvgRectElement(p,v,x,C){const E=document.createElementNS(Ef.SVG_NS,"rect");return E.setAttributeNS(null,"x",p.toString()),E.setAttributeNS(null,"y",v.toString()),E.setAttributeNS(null,"height",x.toString()),E.setAttributeNS(null,"width",C.toString()),E.setAttributeNS(null,"fill","#000000"),E}}Ef.QUIET_ZONE_SIZE=4,Ef.SVG_NS="http://www.w3.org/2000/svg";class Td{encode(p,v,x,C,E){if(p.length===0)throw new f("Found empty contents");if(v!==ve.QR_CODE)throw new f("Can only encode QR_CODE, but got "+v);if(x<0||C<0)throw new f(`Requested dimensions are too small: ${x}x${C}`);let A=Ir.L,P=Td.QUIET_ZONE_SIZE;E!==null&&(E.get(Oo.ERROR_CORRECTION)!==void 0&&(A=Ir.fromString(E.get(Oo.ERROR_CORRECTION).toString())),E.get(Oo.MARGIN)!==void 0&&(P=Number.parseInt(E.get(Oo.MARGIN).toString(),10)));const H=Dr.encode(p,A,E);return Td.renderResult(H,x,C,P)}static renderResult(p,v,x,C){const E=p.getMatrix();if(E===null)throw new Ae;const A=E.getWidth(),P=E.getHeight(),H=A+C*2,ee=P+C*2,ae=Math.max(v,H),fe=Math.max(x,ee),be=Math.min(Math.floor(ae/H),Math.floor(fe/ee)),_e=Math.floor((ae-A*be)/2),He=Math.floor((fe-P*be)/2),Ge=new W(ae,fe);for(let tt=0,lt=He;tt<P;tt++,lt+=be)for(let Lt=0,zt=_e;Lt<A;Lt++,zt+=be)E.get(Lt,tt)===1&&Ge.setRegion(zt,lt,be,be);return Ge}}Td.QUIET_ZONE_SIZE=4;class eN{encode(p,v,x,C,E){let A;switch(v){case ve.QR_CODE:A=new Td;break;default:throw new f("No encoder available for format "+v)}return A.encode(p,v,x,C,E)}}class jl extends V{constructor(p,v,x,C,E,A,P,H){if(super(A,P),this.yuvData=p,this.dataWidth=v,this.dataHeight=x,this.left=C,this.top=E,C+A>v||E+P>x)throw new f("Crop rectangle does not fit within image data.");H&&this.reverseHorizontal(A,P)}getRow(p,v){if(p<0||p>=this.getHeight())throw new f("Requested row is outside the image: "+p);const x=this.getWidth();(v==null||v.length<x)&&(v=new Uint8ClampedArray(x));const C=(p+this.top)*this.dataWidth+this.left;return b.arraycopy(this.yuvData,C,v,0,x),v}getMatrix(){const p=this.getWidth(),v=this.getHeight();if(p===this.dataWidth&&v===this.dataHeight)return this.yuvData;const x=p*v,C=new Uint8ClampedArray(x);let E=this.top*this.dataWidth+this.left;if(p===this.dataWidth)return b.arraycopy(this.yuvData,E,C,0,x),C;for(let A=0;A<v;A++){const P=A*p;b.arraycopy(this.yuvData,E,C,P,p),E+=this.dataWidth}return C}isCropSupported(){return!0}crop(p,v,x,C){return new jl(this.yuvData,this.dataWidth,this.dataHeight,this.left+p,this.top+v,x,C,!1)}renderThumbnail(){const p=this.getWidth()/jl.THUMBNAIL_SCALE_FACTOR,v=this.getHeight()/jl.THUMBNAIL_SCALE_FACTOR,x=new Int32Array(p*v),C=this.yuvData;let E=this.top*this.dataWidth+this.left;for(let A=0;A<v;A++){const P=A*p;for(let H=0;H<p;H++){const ee=C[E+H*jl.THUMBNAIL_SCALE_FACTOR]&255;x[P+H]=4278190080|ee*65793}E+=this.dataWidth*jl.THUMBNAIL_SCALE_FACTOR}return x}getThumbnailWidth(){return this.getWidth()/jl.THUMBNAIL_SCALE_FACTOR}getThumbnailHeight(){return this.getHeight()/jl.THUMBNAIL_SCALE_FACTOR}reverseHorizontal(p,v){const x=this.yuvData;for(let C=0,E=this.top*this.dataWidth+this.left;C<v;C++,E+=this.dataWidth){const A=E+p/2;for(let P=E,H=E+p-1;P<A;P++,H--){const ee=x[P];x[P]=x[H],x[H]=ee}}}invert(){return new K(this)}}jl.THUMBNAIL_SCALE_FACTOR=2;class qh extends V{constructor(p,v,x,C,E,A,P){if(super(v,x),this.dataWidth=C,this.dataHeight=E,this.left=A,this.top=P,p.BYTES_PER_ELEMENT===4){const H=v*x,ee=new Uint8ClampedArray(H);for(let ae=0;ae<H;ae++){const fe=p[ae],be=fe>>16&255,_e=fe>>7&510,He=fe&255;ee[ae]=(be+_e+He)/4&255}this.luminances=ee}else this.luminances=p;if(C===void 0&&(this.dataWidth=v),E===void 0&&(this.dataHeight=x),A===void 0&&(this.left=0),P===void 0&&(this.top=0),this.left+v>this.dataWidth||this.top+x>this.dataHeight)throw new f("Crop rectangle does not fit within image data.")}getRow(p,v){if(p<0||p>=this.getHeight())throw new f("Requested row is outside the image: "+p);const x=this.getWidth();(v==null||v.length<x)&&(v=new Uint8ClampedArray(x));const C=(p+this.top)*this.dataWidth+this.left;return b.arraycopy(this.luminances,C,v,0,x),v}getMatrix(){const p=this.getWidth(),v=this.getHeight();if(p===this.dataWidth&&v===this.dataHeight)return this.luminances;const x=p*v,C=new Uint8ClampedArray(x);let E=this.top*this.dataWidth+this.left;if(p===this.dataWidth)return b.arraycopy(this.luminances,E,C,0,x),C;for(let A=0;A<v;A++){const P=A*p;b.arraycopy(this.luminances,E,C,P,p),E+=this.dataWidth}return C}isCropSupported(){return!0}crop(p,v,x,C){return new qh(this.luminances,x,C,this.dataWidth,this.dataHeight,this.left+p,this.top+v)}invert(){return new K(this)}}class o4 extends T{static forName(p){return this.getCharacterSetECIByName(p)}}class Av{}Av.ISO_8859_1=T.ISO8859_1;class s4{isCompact(){return this.compact}setCompact(p){this.compact=p}getSize(){return this.size}setSize(p){this.size=p}getLayers(){return this.layers}setLayers(p){this.layers=p}getCodeWords(){return this.codeWords}setCodeWords(p){this.codeWords=p}getMatrix(){return this.matrix}setMatrix(p){this.matrix=p}}class _v{static singletonList(p){return[p]}static min(p,v){return p.sort(v)[0]}}class tN{constructor(p){this.previous=p}getPrevious(){return this.previous}}class Dd extends tN{constructor(p,v,x){super(p),this.value=v,this.bitCount=x}appendTo(p,v){p.appendBits(this.value,this.bitCount)}add(p,v){return new Dd(this,p,v)}addBinaryShift(p,v){return console.warn("addBinaryShift on SimpleToken, this simply returns a copy of this token"),new Dd(this,p,v)}toString(){let p=this.value&(1<<this.bitCount)-1;return p|=1<<this.bitCount,"<"+N.toBinaryString(p|1<<this.bitCount).substring(1)+">"}}class Mv extends Dd{constructor(p,v,x){super(p,0,0),this.binaryShiftStart=v,this.binaryShiftByteCount=x}appendTo(p,v){for(let x=0;x<this.binaryShiftByteCount;x++)(x===0||x===31&&this.binaryShiftByteCount<=62)&&(p.appendBits(31,5),this.binaryShiftByteCount>62?p.appendBits(this.binaryShiftByteCount-31,16):x===0?p.appendBits(Math.min(this.binaryShiftByteCount,31),5):p.appendBits(this.binaryShiftByteCount-31,5)),p.appendBits(v[this.binaryShiftStart+x],8)}addBinaryShift(p,v){return new Mv(this,p,v)}toString(){return"<"+this.binaryShiftStart+"::"+(this.binaryShiftStart+this.binaryShiftByteCount-1)+">"}}function nN(ue,p,v){return new Mv(ue,p,v)}function Kh(ue,p,v){return new Dd(ue,p,v)}const rN=["UPPER","LOWER","DIGIT","MIXED","PUNCT"],mu=0,Ld=1,ws=2,a4=3,Ui=4,i4=new Dd(null,0,0),g1=[Int32Array.from([0,(5<<16)+28,(5<<16)+30,(5<<16)+29,656318]),Int32Array.from([(9<<16)+480+14,0,(5<<16)+30,(5<<16)+29,656318]),Int32Array.from([(4<<16)+14,(9<<16)+448+28,0,(9<<16)+448+29,932798]),Int32Array.from([(5<<16)+29,(5<<16)+28,656318,0,(5<<16)+30]),Int32Array.from([(5<<16)+31,656380,656382,656381,0])];function l4(ue){for(let p of ue)I.fill(p,-1);return ue[mu][Ui]=0,ue[Ld][Ui]=0,ue[Ld][mu]=28,ue[a4][Ui]=0,ue[ws][Ui]=0,ue[ws][mu]=15,ue}const Rv=l4(I.createInt32Array(6,6));class Ws{constructor(p,v,x,C){this.token=p,this.mode=v,this.binaryShiftByteCount=x,this.bitCount=C}getMode(){return this.mode}getToken(){return this.token}getBinaryShiftByteCount(){return this.binaryShiftByteCount}getBitCount(){return this.bitCount}latchAndAppend(p,v){let x=this.bitCount,C=this.token;if(p!==this.mode){let A=g1[this.mode][p];C=Kh(C,A&65535,A>>16),x+=A>>16}let E=p===ws?4:5;return C=Kh(C,v,E),new Ws(C,p,0,x+E)}shiftAndAppend(p,v){let x=this.token,C=this.mode===ws?4:5;return x=Kh(x,Rv[this.mode][p],C),x=Kh(x,v,5),new Ws(x,this.mode,0,this.bitCount+C+5)}addBinaryShiftChar(p){let v=this.token,x=this.mode,C=this.bitCount;if(this.mode===Ui||this.mode===ws){let P=g1[x][mu];v=Kh(v,P&65535,P>>16),C+=P>>16,x=mu}let E=this.binaryShiftByteCount===0||this.binaryShiftByteCount===31?18:this.binaryShiftByteCount===62?9:8,A=new Ws(v,x,this.binaryShiftByteCount+1,C+E);return A.binaryShiftByteCount===2078&&(A=A.endBinaryShift(p+1)),A}endBinaryShift(p){if(this.binaryShiftByteCount===0)return this;let v=this.token;return v=nN(v,p-this.binaryShiftByteCount,this.binaryShiftByteCount),new Ws(v,this.mode,0,this.bitCount)}isBetterThanOrEqualTo(p){let v=this.bitCount+(g1[this.mode][p.mode]>>16);return this.binaryShiftByteCount<p.binaryShiftByteCount?v+=Ws.calculateBinaryShiftCost(p)-Ws.calculateBinaryShiftCost(this):this.binaryShiftByteCount>p.binaryShiftByteCount&&p.binaryShiftByteCount>0&&(v+=10),v<=p.bitCount}toBitArray(p){let v=[];for(let C=this.endBinaryShift(p.length).token;C!==null;C=C.getPrevious())v.unshift(C);let x=new M;for(const C of v)C.appendTo(x,p);return x}toString(){return Y.format("%s bits=%d bytes=%d",rN[this.mode],this.bitCount,this.binaryShiftByteCount)}static calculateBinaryShiftCost(p){return p.binaryShiftByteCount>62?21:p.binaryShiftByteCount>31?20:p.binaryShiftByteCount>0?10:0}}Ws.INITIAL_STATE=new Ws(i4,mu,0,0);function oN(ue){const p=Y.getCharCode(" "),v=Y.getCharCode("."),x=Y.getCharCode(",");ue[mu][p]=1;const C=Y.getCharCode("Z"),E=Y.getCharCode("A");for(let be=E;be<=C;be++)ue[mu][be]=be-E+2;ue[Ld][p]=1;const A=Y.getCharCode("z"),P=Y.getCharCode("a");for(let be=P;be<=A;be++)ue[Ld][be]=be-P+2;ue[ws][p]=1;const H=Y.getCharCode("9"),ee=Y.getCharCode("0");for(let be=ee;be<=H;be++)ue[ws][be]=be-ee+2;ue[ws][x]=12,ue[ws][v]=13;const ae=["\0"," ","","","","","","","\x07","\b"," ",`
2366 `,"\v","\f","\r","\x1B","","","","","@","\\","^","_","`","|","~",""];for(let be=0;be<ae.length;be++)ue[a4][Y.getCharCode(ae[be])]=be;const fe=["\0","\r","\0","\0","\0","\0","!","'","#","$","%","&","'","(",")","*","+",",","-",".","/",":",";","<","=",">","?","[","]","{","}"];for(let be=0;be<fe.length;be++)Y.getCharCode(fe[be])>0&&(ue[Ui][Y.getCharCode(fe[be])]=be);return ue}const Tv=oN(I.createInt32Array(5,256));class Zh{constructor(p){this.text=p}encode(){const p=Y.getCharCode(" "),v=Y.getCharCode(`
2367 `);let x=_v.singletonList(Ws.INITIAL_STATE);for(let E=0;E<this.text.length;E++){let A,P=E+1<this.text.length?this.text[E+1]:0;switch(this.text[E]){case Y.getCharCode("\r"):A=P===v?2:0;break;case Y.getCharCode("."):A=P===p?3:0;break;case Y.getCharCode(","):A=P===p?4:0;break;case Y.getCharCode(":"):A=P===p?5:0;break;default:A=0}A>0?(x=Zh.updateStateListForPair(x,E,A),E++):x=this.updateStateListForChar(x,E)}return _v.min(x,(E,A)=>E.getBitCount()-A.getBitCount()).toBitArray(this.text)}updateStateListForChar(p,v){const x=[];for(let C of p)this.updateStateForChar(C,v,x);return Zh.simplifyStates(x)}updateStateForChar(p,v,x){let C=this.text[v]&255,E=Tv[p.getMode()][C]>0,A=null;for(let P=0;P<=Ui;P++){let H=Tv[P][C];if(H>0){if(A==null&&(A=p.endBinaryShift(v)),!E||P===p.getMode()||P===ws){const ee=A.latchAndAppend(P,H);x.push(ee)}if(!E&&Rv[p.getMode()][P]>=0){const ee=A.shiftAndAppend(P,H);x.push(ee)}}}if(p.getBinaryShiftByteCount()>0||Tv[p.getMode()][C]===0){let P=p.addBinaryShiftChar(v);x.push(P)}}static updateStateListForPair(p,v,x){const C=[];for(let E of p)this.updateStateForPair(E,v,x,C);return this.simplifyStates(C)}static updateStateForPair(p,v,x,C){let E=p.endBinaryShift(v);if(C.push(E.latchAndAppend(Ui,x)),p.getMode()!==Ui&&C.push(E.shiftAndAppend(Ui,x)),x===3||x===4){let A=E.latchAndAppend(ws,16-x).latchAndAppend(ws,1);C.push(A)}if(p.getBinaryShiftByteCount()>0){let A=p.addBinaryShiftChar(v).addBinaryShiftChar(v+1);C.push(A)}}static simplifyStates(p){let v=[];for(const x of p){let C=!0;for(const E of v){if(E.isBetterThanOrEqualTo(x)){C=!1;break}x.isBetterThanOrEqualTo(E)&&(v=v.filter(A=>A!==E))}C&&v.push(x)}return v}}class tr{constructor(){}static encodeBytes(p){return tr.encode(p,tr.DEFAULT_EC_PERCENT,tr.DEFAULT_AZTEC_LAYERS)}static encode(p,v,x){let C=new Zh(p).encode(),E=N.truncDivision(C.getSize()*v,100)+11,A=C.getSize()+E,P,H,ee,ae,fe;if(x!==tr.DEFAULT_AZTEC_LAYERS){if(P=x<0,H=Math.abs(x),H>(P?tr.MAX_NB_BITS_COMPACT:tr.MAX_NB_BITS))throw new f(Y.format("Illegal value %s for layers",x));ee=tr.totalBitsInLayer(H,P),ae=tr.WORD_SIZE[H];let Nt=ee-ee%ae;if(fe=tr.stuffBits(C,ae),fe.getSize()+E>Nt)throw new f("Data to large for user specified layer");if(P&&fe.getSize()>ae*64)throw new f("Data to large for user specified layer")}else{ae=0,fe=null;for(let Nt=0;;Nt++){if(Nt>tr.MAX_NB_BITS)throw new f("Data too large for an Aztec code");if(P=Nt<=3,H=P?Nt+1:Nt,ee=tr.totalBitsInLayer(H,P),A>ee)continue;(fe==null||ae!==tr.WORD_SIZE[H])&&(ae=tr.WORD_SIZE[H],fe=tr.stuffBits(C,ae));let Gn=ee-ee%ae;if(!(P&&fe.getSize()>ae*64)&&fe.getSize()+E<=Gn)break}}let be=tr.generateCheckWords(fe,ee,ae),_e=fe.getSize()/ae,He=tr.generateModeMessage(P,H,_e),Ge=(P?11:14)+H*4,tt=new Int32Array(Ge),lt;if(P){lt=Ge;for(let Nt=0;Nt<tt.length;Nt++)tt[Nt]=Nt}else{lt=Ge+1+2*N.truncDivision(N.truncDivision(Ge,2)-1,15);let Nt=N.truncDivision(Ge,2),Gn=N.truncDivision(lt,2);for(let Rn=0;Rn<Nt;Rn++){let ma=Rn+N.truncDivision(Rn,15);tt[Nt-Rn-1]=Gn-ma-1,tt[Nt+Rn]=Gn+ma+1}}let Lt=new W(lt);for(let Nt=0,Gn=0;Nt<H;Nt++){let Rn=(H-Nt)*4+(P?9:12);for(let ma=0;ma<Rn;ma++){let $i=ma*2;for(let zo=0;zo<2;zo++)be.get(Gn+$i+zo)&&Lt.set(tt[Nt*2+zo],tt[Nt*2+ma]),be.get(Gn+Rn*2+$i+zo)&&Lt.set(tt[Nt*2+ma],tt[Ge-1-Nt*2-zo]),be.get(Gn+Rn*4+$i+zo)&&Lt.set(tt[Ge-1-Nt*2-zo],tt[Ge-1-Nt*2-ma]),be.get(Gn+Rn*6+$i+zo)&&Lt.set(tt[Ge-1-Nt*2-ma],tt[Nt*2+zo])}Gn+=Rn*8}if(tr.drawModeMessage(Lt,P,lt,He),P)tr.drawBullsEye(Lt,N.truncDivision(lt,2),5);else{tr.drawBullsEye(Lt,N.truncDivision(lt,2),7);for(let Nt=0,Gn=0;Nt<N.truncDivision(Ge,2)-1;Nt+=15,Gn+=16)for(let Rn=N.truncDivision(lt,2)&1;Rn<lt;Rn+=2)Lt.set(N.truncDivision(lt,2)-Gn,Rn),Lt.set(N.truncDivision(lt,2)+Gn,Rn),Lt.set(Rn,N.truncDivision(lt,2)-Gn),Lt.set(Rn,N.truncDivision(lt,2)+Gn)}let zt=new s4;return zt.setCompact(P),zt.setSize(lt),zt.setLayers(H),zt.setCodeWords(_e),zt.setMatrix(Lt),zt}static drawBullsEye(p,v,x){for(let C=0;C<x;C+=2)for(let E=v-C;E<=v+C;E++)p.set(E,v-C),p.set(E,v+C),p.set(v-C,E),p.set(v+C,E);p.set(v-x,v-x),p.set(v-x+1,v-x),p.set(v-x,v-x+1),p.set(v+x,v-x),p.set(v+x,v-x+1),p.set(v+x,v+x-1)}static generateModeMessage(p,v,x){let C=new M;return p?(C.appendBits(v-1,2),C.appendBits(x-1,6),C=tr.generateCheckWords(C,28,4)):(C.appendBits(v-1,5),C.appendBits(x-1,11),C=tr.generateCheckWords(C,40,4)),C}static drawModeMessage(p,v,x,C){let E=N.truncDivision(x,2);if(v)for(let A=0;A<7;A++){let P=E-3+A;C.get(A)&&p.set(P,E-5),C.get(A+7)&&p.set(E+5,P),C.get(20-A)&&p.set(P,E+5),C.get(27-A)&&p.set(E-5,P)}else for(let A=0;A<10;A++){let P=E-5+A+N.truncDivision(A,5);C.get(A)&&p.set(P,E-7),C.get(A+10)&&p.set(E+7,P),C.get(29-A)&&p.set(P,E+7),C.get(39-A)&&p.set(E-7,P)}}static generateCheckWords(p,v,x){let C=p.getSize()/x,E=new Iv(tr.getGF(x)),A=N.truncDivision(v,x),P=tr.bitsToWords(p,x,A);E.encode(P,A-C);let H=v%x,ee=new M;ee.appendBits(0,H);for(const ae of Array.from(P))ee.appendBits(ae,x);return ee}static bitsToWords(p,v,x){let C=new Int32Array(x),E,A;for(E=0,A=p.getSize()/v;E<A;E++){let P=0;for(let H=0;H<v;H++)P|=p.get(E*v+H)?1<<v-H-1:0;C[E]=P}return C}static getGF(p){switch(p){case 4:return he.AZTEC_PARAM;case 6:return he.AZTEC_DATA_6;case 8:return he.AZTEC_DATA_8;case 10:return he.AZTEC_DATA_10;case 12:return he.AZTEC_DATA_12;default:throw new f("Unsupported word size "+p)}}static stuffBits(p,v){let x=new M,C=p.getSize(),E=(1<<v)-2;for(let A=0;A<C;A+=v){let P=0;for(let H=0;H<v;H++)(A+H>=C||p.get(A+H))&&(P|=1<<v-1-H);(P&E)===E?(x.appendBits(P&E,v),A--):(P&E)===0?(x.appendBits(P|1,v),A--):x.appendBits(P,v)}return x}static totalBitsInLayer(p,v){return((v?88:112)+16*p)*p}}tr.DEFAULT_EC_PERCENT=33,tr.DEFAULT_AZTEC_LAYERS=0,tr.MAX_NB_BITS=32,tr.MAX_NB_BITS_COMPACT=4,tr.WORD_SIZE=Int32Array.from([4,6,6,8,8,8,8,8,8,10,10,10,10,10,10,10,10,10,10,10,10,10,10,12,12,12,12,12,12,12,12,12,12]);class Qh{encode(p,v,x,C){return this.encodeWithHints(p,v,x,C,null)}encodeWithHints(p,v,x,C,E){let A=Av.ISO_8859_1,P=tr.DEFAULT_EC_PERCENT,H=tr.DEFAULT_AZTEC_LAYERS;return E!=null&&(E.has(Oo.CHARACTER_SET)&&(A=o4.forName(E.get(Oo.CHARACTER_SET).toString())),E.has(Oo.ERROR_CORRECTION)&&(P=N.parseInt(E.get(Oo.ERROR_CORRECTION).toString())),E.has(Oo.AZTEC_LAYERS)&&(H=N.parseInt(E.get(Oo.AZTEC_LAYERS).toString()))),Qh.encodeLayers(p,v,x,C,A,P,H)}static encodeLayers(p,v,x,C,E,A,P){if(v!==ve.AZTEC)throw new f("Can only encode AZTEC, but got "+v);let H=tr.encode(Y.getBytes(p,E),A,P);return Qh.renderResult(H,x,C)}static renderResult(p,v,x){let C=p.getMatrix();if(C==null)throw new Ae;let E=C.getWidth(),A=C.getHeight(),P=Math.max(v,E),H=Math.max(x,A),ee=Math.min(P/E,H/A),ae=(P-E*ee)/2,fe=(H-A*ee)/2,be=new W(P,H);for(let _e=0,He=fe;_e<A;_e++,He+=ee)for(let Ge=0,tt=ae;Ge<E;Ge++,tt+=ee)C.get(Ge,_e)&&be.setRegion(tt,He,ee,ee);return be}}n.AbstractExpandedDecoder=vv,n.ArgumentException=d,n.ArithmeticException=le,n.AztecCode=s4,n.AztecCodeReader=Ce,n.AztecCodeWriter=Qh,n.AztecDecoder=nt,n.AztecDetector=ie,n.AztecDetectorResult=pt,n.AztecEncoder=tr,n.AztecHighLevelEncoder=Zh,n.AztecPoint=Z,n.BarcodeFormat=ve,n.Binarizer=w,n.BinaryBitmap=m,n.BitArray=M,n.BitMatrix=W,n.BitSource=xv,n.BrowserAztecCodeReader=Te,n.BrowserBarcodeReader=Qx,n.BrowserCodeReader=re,n.BrowserDatamatrixCodeReader=JE,n.BrowserMultiFormatReader=Gh,n.BrowserPDF417Reader=h1,n.BrowserQRCodeReader=r4,n.BrowserQRCodeSvgWriter=Ef,n.CharacterSetECI=T,n.ChecksumException=g,n.Code128Reader=ye,n.Code39Reader=We,n.DataMatrixDecodedBitStreamParser=zi,n.DataMatrixReader=Fi,n.DecodeHintType=O,n.DecoderResult=pe,n.DefaultGridSampler=se,n.DetectorResult=et,n.EAN13Reader=_t,n.EncodeHintType=Oo,n.Exception=u,n.FormatException=L,n.GenericGF=he,n.GenericGFPoly=ke,n.GlobalHistogramBinarizer=X,n.GridSampler=st,n.GridSamplerInstance=q,n.HTMLCanvasElementLuminanceSource=G,n.HybridBinarizer=$,n.ITFReader=Ee,n.IllegalArgumentException=f,n.IllegalStateException=Ae,n.InvertedLuminanceSource=K,n.LuminanceSource=V,n.MathUtils=$e,n.MultiFormatOneDReader=Nd,n.MultiFormatReader=p1,n.MultiFormatWriter=eN,n.NotFoundException=F,n.OneDReader=Se,n.PDF417DecodedBitStreamParser=ct,n.PDF417DecoderErrorCorrection=Cv,n.PDF417Reader=is,n.PDF417ResultMetadata=f1,n.PerspectiveTransform=De,n.PlanarYUVLuminanceSource=jl,n.QRCodeByteMatrix=m1,n.QRCodeDataMask=Fn,n.QRCodeDecodedBitStreamParser=Wr,n.QRCodeDecoderErrorCorrectionLevel=Ir,n.QRCodeDecoderFormatInformation=rs,n.QRCodeEncoder=Dr,n.QRCodeEncoderQRCode=Sf,n.QRCodeMaskUtil=Yr,n.QRCodeMatrixUtil=vn,n.QRCodeMode=mn,n.QRCodeReader=Hs,n.QRCodeVersion=hn,n.QRCodeWriter=Td,n.RGBLuminanceSource=qh,n.RSS14Reader=zr,n.RSSExpandedReader=jt,n.ReaderException=Rd,n.ReedSolomonDecoder=Ve,n.ReedSolomonEncoder=Iv,n.ReedSolomonException=we,n.Result=de,n.ResultMetadataType=ce,n.ResultPoint=Me,n.StringUtils=Y,n.UnsupportedOperationException=R,n.VideoInputDevice=J,n.WhiteRectangleDetector=ht,n.WriterException=Mr,n.ZXingArrays=I,n.ZXingCharset=o4,n.ZXingInteger=N,n.ZXingStandardCharsets=Av,n.ZXingStringBuilder=Q,n.ZXingStringEncoding=z,n.ZXingSystem=b,n.createAbstractExpandedDecoder=Kx,Object.defineProperty(n,"__esModule",{value:!0})}))})($w,$w.exports)),$w.exports}var to=Ggt();const qgt=rc(to),Kgt=pJ({__proto__:null,default:qgt},[to]);var DQ=(function(){function t(e,n,r){if(this.formatMap=new Map([[nn.QR_CODE,to.BarcodeFormat.QR_CODE],[nn.AZTEC,to.BarcodeFormat.AZTEC],[nn.CODABAR,to.BarcodeFormat.CODABAR],[nn.CODE_39,to.BarcodeFormat.CODE_39],[nn.CODE_93,to.BarcodeFormat.CODE_93],[nn.CODE_128,to.BarcodeFormat.CODE_128],[nn.DATA_MATRIX,to.BarcodeFormat.DATA_MATRIX],[nn.MAXICODE,to.BarcodeFormat.MAXICODE],[nn.ITF,to.BarcodeFormat.ITF],[nn.EAN_13,to.BarcodeFormat.EAN_13],[nn.EAN_8,to.BarcodeFormat.EAN_8],[nn.PDF_417,to.BarcodeFormat.PDF_417],[nn.RSS_14,to.BarcodeFormat.RSS_14],[nn.RSS_EXPANDED,to.BarcodeFormat.RSS_EXPANDED],[nn.UPC_A,to.BarcodeFormat.UPC_A],[nn.UPC_E,to.BarcodeFormat.UPC_E],[nn.UPC_EAN_EXTENSION,to.BarcodeFormat.UPC_EAN_EXTENSION]]),this.reverseFormatMap=this.createReverseFormatMap(),!Kgt)throw"Use html5qrcode.min.js without edit, ZXing not found.";this.verbose=n,this.logger=r;var o=this.createZXingFormats(e),s=new Map;s.set(to.DecodeHintType.POSSIBLE_FORMATS,o),s.set(to.DecodeHintType.TRY_HARDER,!1),this.hints=s}return t.prototype.decodeAsync=function(e){var n=this;return new Promise(function(r,o){try{r(n.decode(e))}catch(s){o(s)}})},t.prototype.decode=function(e){var n=new to.MultiFormatReader(this.verbose,this.hints),r=new to.HTMLCanvasElementLuminanceSource(e),o=new to.BinaryBitmap(new to.HybridBinarizer(r)),s=n.decode(o);return{text:s.text,format:rye.create(this.toHtml5QrcodeSupportedFormats(s.format)),debugData:this.createDebugData()}},t.prototype.createReverseFormatMap=function(){var e=new Map;return this.formatMap.forEach(function(n,r,o){e.set(n,r)}),e},t.prototype.toHtml5QrcodeSupportedFormats=function(e){if(!this.reverseFormatMap.has(e))throw"reverseFormatMap doesn't have ".concat(e);return this.reverseFormatMap.get(e)},t.prototype.createZXingFormats=function(e){for(var n=[],r=0,o=e;r<o.length;r++){var s=o[r];this.formatMap.has(s)?n.push(this.formatMap.get(s)):this.logger.logError("".concat(s," is not supported by")+"ZXingHtml5QrcodeShim")}return n},t.prototype.createDebugData=function(){return{decoderName:"zxing-js"}},t})(),Zgt=function(t,e,n,r){function o(s){return s instanceof n?s:new n(function(a){a(s)})}return new(n||(n=Promise))(function(s,a){function i(d){try{u(r.next(d))}catch(f){a(f)}}function l(d){try{u(r.throw(d))}catch(f){a(f)}}function u(d){d.done?s(d.value):o(d.value).then(i,l)}u((r=r.apply(t,e||[])).next())})},Qgt=function(t,e){var n={label:0,sent:function(){if(s[0]&1)throw s[1];return s[1]},trys:[],ops:[]},r,o,s,a;return a={next:i(0),throw:i(1),return:i(2)},typeof Symbol=="function"&&(a[Symbol.iterator]=function(){return this}),a;function i(u){return function(d){return l([u,d])}}function l(u){if(r)throw new TypeError("Generator is already executing.");for(;a&&(a=0,u[0]&&(n=0)),n;)try{if(r=1,o&&(s=u[0]&2?o.return:u[0]?o.throw||((s=o.return)&&s.call(o),0):o.next)&&!(s=s.call(o,u[1])).done)return s;switch(o=0,s&&(u=[u[0]&2,s.value]),u[0]){case 0:case 1:s=u;break;case 4:return n.label++,{value:u[1],done:!1};case 5:n.label++,o=u[1],u=[0];continue;case 7:u=n.ops.pop(),n.trys.pop();continue;default:if(s=n.trys,!(s=s.length>0&&s[s.length-1])&&(u[0]===6||u[0]===2)){n=0;continue}if(u[0]===3&&(!s||u[1]>s[0]&&u[1]<s[3])){n.label=u[1];break}if(u[0]===6&&n.label<s[1]){n.label=s[1],s=u;break}if(s&&n.label<s[2]){n.label=s[2],n.ops.push(u);break}s[2]&&n.ops.pop(),n.trys.pop();continue}u=e.call(t,n)}catch(d){u=[6,d],o=0}finally{r=s=0}if(u[0]&5)throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}},LQ=(function(){function t(e,n,r){if(this.formatMap=new Map([[nn.QR_CODE,"qr_code"],[nn.AZTEC,"aztec"],[nn.CODABAR,"codabar"],[nn.CODE_39,"code_39"],[nn.CODE_93,"code_93"],[nn.CODE_128,"code_128"],[nn.DATA_MATRIX,"data_matrix"],[nn.ITF,"itf"],[nn.EAN_13,"ean_13"],[nn.EAN_8,"ean_8"],[nn.PDF_417,"pdf417"],[nn.UPC_A,"upc_a"],[nn.UPC_E,"upc_e"]]),this.reverseFormatMap=this.createReverseFormatMap(),!t.isSupported())throw"Use html5qrcode.min.js without edit, Use BarcodeDetectorDelegate only if it isSupported();";this.verbose=n,this.logger=r;var o=this.createBarcodeDetectorFormats(e);if(this.detector=new BarcodeDetector(o),!this.detector)throw"BarcodeDetector detector not supported"}return t.isSupported=function(){if(!("BarcodeDetector"in window))return!1;var e=new BarcodeDetector({formats:["qr_code"]});return typeof e<"u"},t.prototype.decodeAsync=function(e){return Zgt(this,void 0,void 0,function(){var n,r;return Qgt(this,function(o){switch(o.label){case 0:return[4,this.detector.detect(e)];case 1:if(n=o.sent(),!n||n.length===0)throw"No barcode or QR code detected.";return r=this.selectLargestBarcode(n),[2,{text:r.rawValue,format:rye.create(this.toHtml5QrcodeSupportedFormats(r.format)),debugData:this.createDebugData()}]}})})},t.prototype.selectLargestBarcode=function(e){for(var n=null,r=0,o=0,s=e;o<s.length;o++){var a=s[o],i=a.boundingBox.width*a.boundingBox.height;i>r&&(r=i,n=a)}if(!n)throw"No largest barcode found";return n},t.prototype.createBarcodeDetectorFormats=function(e){for(var n=[],r=0,o=e;r<o.length;r++){var s=o[r];this.formatMap.has(s)?n.push(this.formatMap.get(s)):this.logger.warn("".concat(s," is not supported by")+"BarcodeDetectorDelegate")}return{formats:n}},t.prototype.toHtml5QrcodeSupportedFormats=function(e){if(!this.reverseFormatMap.has(e))throw"reverseFormatMap doesn't have ".concat(e);return this.reverseFormatMap.get(e)},t.prototype.createReverseFormatMap=function(){var e=new Map;return this.formatMap.forEach(function(n,r,o){e.set(n,r)}),e},t.prototype.createDebugData=function(){return{decoderName:"BarcodeDetector"}},t})(),PQ=function(t,e,n,r){function o(s){return s instanceof n?s:new n(function(a){a(s)})}return new(n||(n=Promise))(function(s,a){function i(d){try{u(r.next(d))}catch(f){a(f)}}function l(d){try{u(r.throw(d))}catch(f){a(f)}}function u(d){d.done?s(d.value):o(d.value).then(i,l)}u((r=r.apply(t,e||[])).next())})},OQ=function(t,e){var n={label:0,sent:function(){if(s[0]&1)throw s[1];return s[1]},trys:[],ops:[]},r,o,s,a;return a={next:i(0),throw:i(1),return:i(2)},typeof Symbol=="function"&&(a[Symbol.iterator]=function(){return this}),a;function i(u){return function(d){return l([u,d])}}function l(u){if(r)throw new TypeError("Generator is already executing.");for(;a&&(a=0,u[0]&&(n=0)),n;)try{if(r=1,o&&(s=u[0]&2?o.return:u[0]?o.throw||((s=o.return)&&s.call(o),0):o.next)&&!(s=s.call(o,u[1])).done)return s;switch(o=0,s&&(u=[u[0]&2,s.value]),u[0]){case 0:case 1:s=u;break;case 4:return n.label++,{value:u[1],done:!1};case 5:n.label++,o=u[1],u=[0];continue;case 7:u=n.ops.pop(),n.trys.pop();continue;default:if(s=n.trys,!(s=s.length>0&&s[s.length-1])&&(u[0]===6||u[0]===2)){n=0;continue}if(u[0]===3&&(!s||u[1]>s[0]&&u[1]<s[3])){n.label=u[1];break}if(u[0]===6&&n.label<s[1]){n.label=s[1],s=u;break}if(s&&n.label<s[2]){n.label=s[2],n.ops.push(u);break}s[2]&&n.ops.pop(),n.trys.pop();continue}u=e.call(t,n)}catch(d){u=[6,d],o=0}finally{r=s=0}if(u[0]&5)throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}},Jgt=(function(){function t(e,n,r,o){this.EXECUTIONS_TO_REPORT_PERFORMANCE=100,this.executions=0,this.executionResults=[],this.wasPrimaryDecoderUsedInLastDecode=!1,this.verbose=r,n&&LQ.isSupported()?(this.primaryDecoder=new LQ(e,r,o),this.secondaryDecoder=new DQ(e,r,o)):this.primaryDecoder=new DQ(e,r,o)}return t.prototype.decodeAsync=function(e){return PQ(this,void 0,void 0,function(){var n;return OQ(this,function(r){switch(r.label){case 0:n=performance.now(),r.label=1;case 1:return r.trys.push([1,,3,4]),[4,this.getDecoder().decodeAsync(e)];case 2:return[2,r.sent()];case 3:return this.possiblyLogPerformance(n),[7];case 4:return[2]}})})},t.prototype.decodeRobustlyAsync=function(e){return PQ(this,void 0,void 0,function(){var n,r;return OQ(this,function(o){switch(o.label){case 0:n=performance.now(),o.label=1;case 1:return o.trys.push([1,3,4,5]),[4,this.primaryDecoder.decodeAsync(e)];case 2:return[2,o.sent()];case 3:if(r=o.sent(),this.secondaryDecoder)return[2,this.secondaryDecoder.decodeAsync(e)];throw r;case 4:return this.possiblyLogPerformance(n),[7];case 5:return[2]}})})},t.prototype.getDecoder=function(){return this.secondaryDecoder?this.wasPrimaryDecoderUsedInLastDecode===!1?(this.wasPrimaryDecoderUsedInLastDecode=!0,this.primaryDecoder):(this.wasPrimaryDecoderUsedInLastDecode=!1,this.secondaryDecoder):this.primaryDecoder},t.prototype.possiblyLogPerformance=function(e){if(this.verbose){var n=performance.now()-e;this.executionResults.push(n),this.executions++,this.possiblyFlushPerformanceReport()}},t.prototype.possiblyFlushPerformanceReport=function(){if(!(this.executions<this.EXECUTIONS_TO_REPORT_PERFORMANCE)){for(var e=0,n=0,r=this.executionResults;n<r.length;n++){var o=r[n];e+=o}var s=e/this.executionResults.length;console.log("".concat(s," ms for ").concat(this.executionResults.length," last runs.")),this.executions=0,this.executionResults=[]}},t})(),_O=(function(){var t=function(e,n){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,o){r.__proto__=o}||function(r,o){for(var s in o)Object.prototype.hasOwnProperty.call(o,s)&&(r[s]=o[s])},t(e,n)};return function(e,n){if(typeof n!="function"&&n!==null)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");t(e,n);function r(){this.constructor=e}e.prototype=n===null?Object.create(n):(r.prototype=n.prototype,new r)}})(),rC=function(t,e,n,r){function o(s){return s instanceof n?s:new n(function(a){a(s)})}return new(n||(n=Promise))(function(s,a){function i(d){try{u(r.next(d))}catch(f){a(f)}}function l(d){try{u(r.throw(d))}catch(f){a(f)}}function u(d){d.done?s(d.value):o(d.value).then(i,l)}u((r=r.apply(t,e||[])).next())})},oC=function(t,e){var n={label:0,sent:function(){if(s[0]&1)throw s[1];return s[1]},trys:[],ops:[]},r,o,s,a;return a={next:i(0),throw:i(1),return:i(2)},typeof Symbol=="function"&&(a[Symbol.iterator]=function(){return this}),a;function i(u){return function(d){return l([u,d])}}function l(u){if(r)throw new TypeError("Generator is already executing.");for(;a&&(a=0,u[0]&&(n=0)),n;)try{if(r=1,o&&(s=u[0]&2?o.return:u[0]?o.throw||((s=o.return)&&s.call(o),0):o.next)&&!(s=s.call(o,u[1])).done)return s;switch(o=0,s&&(u=[u[0]&2,s.value]),u[0]){case 0:case 1:s=u;break;case 4:return n.label++,{value:u[1],done:!1};case 5:n.label++,o=u[1],u=[0];continue;case 7:u=n.ops.pop(),n.trys.pop();continue;default:if(s=n.trys,!(s=s.length>0&&s[s.length-1])&&(u[0]===6||u[0]===2)){n=0;continue}if(u[0]===3&&(!s||u[1]>s[0]&&u[1]<s[3])){n.label=u[1];break}if(u[0]===6&&n.label<s[1]){n.label=s[1],s=u;break}if(s&&n.label<s[2]){n.label=s[2],n.ops.push(u);break}s[2]&&n.ops.pop(),n.trys.pop();continue}u=e.call(t,n)}catch(d){u=[6,d],o=0}finally{r=s=0}if(u[0]&5)throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}},sye=(function(){function t(e,n){this.name=e,this.track=n}return t.prototype.isSupported=function(){return this.track.getCapabilities?this.name in this.track.getCapabilities():!1},t.prototype.apply=function(e){var n={};n[this.name]=e;var r={advanced:[n]};return this.track.applyConstraints(r)},t.prototype.value=function(){var e=this.track.getSettings();if(this.name in e){var n=e[this.name];return n}return null},t})(),Xgt=(function(t){_O(e,t);function e(n,r){return t.call(this,n,r)||this}return e.prototype.min=function(){return this.getCapabilities().min},e.prototype.max=function(){return this.getCapabilities().max},e.prototype.step=function(){return this.getCapabilities().step},e.prototype.apply=function(n){var r={};r[this.name]=n;var o={advanced:[r]};return this.track.applyConstraints(o)},e.prototype.getCapabilities=function(){this.failIfNotSupported();var n=this.track.getCapabilities(),r=n[this.name];return{min:r.min,max:r.max,step:r.step}},e.prototype.failIfNotSupported=function(){if(!this.isSupported())throw new Error("".concat(this.name," capability not supported"))},e})(sye),e1t=(function(t){_O(e,t);function e(n){return t.call(this,"zoom",n)||this}return e})(Xgt),t1t=(function(t){_O(e,t);function e(n){return t.call(this,"torch",n)||this}return e})(sye),n1t=(function(){function t(e){this.track=e}return t.prototype.zoomFeature=function(){return new e1t(this.track)},t.prototype.torchFeature=function(){return new t1t(this.track)},t})(),r1t=(function(){function t(e,n,r){this.isClosed=!1,this.parentElement=e,this.mediaStream=n,this.callbacks=r,this.surface=this.createVideoElement(this.parentElement.clientWidth),e.append(this.surface)}return t.prototype.createVideoElement=function(e){var n=document.createElement("video");return n.style.width="".concat(e,"px"),n.style.display="block",n.muted=!0,n.setAttribute("muted","true"),n.playsInline=!0,n},t.prototype.setupSurface=function(){var e=this;this.surface.onabort=function(){throw"RenderedCameraImpl video surface onabort() called"},this.surface.onerror=function(){throw"RenderedCameraImpl video surface onerror() called"};var n=function(){var r=e.surface.clientWidth,o=e.surface.clientHeight;e.callbacks.onRenderSurfaceReady(r,o),e.surface.removeEventListener("playing",n)};this.surface.addEventListener("playing",n),this.surface.srcObject=this.mediaStream,this.surface.play()},t.create=function(e,n,r,o){return rC(this,void 0,void 0,function(){var s,a;return oC(this,function(i){switch(i.label){case 0:return s=new t(e,n,o),r.aspectRatio?(a={aspectRatio:r.aspectRatio},[4,s.getFirstTrackOrFail().applyConstraints(a)]):[3,2];case 1:i.sent(),i.label=2;case 2:return s.setupSurface(),[2,s]}})})},t.prototype.failIfClosed=function(){if(this.isClosed)throw"The RenderedCamera has already been closed."},t.prototype.getFirstTrackOrFail=function(){if(this.failIfClosed(),this.mediaStream.getVideoTracks().length===0)throw"No video tracks found";return this.mediaStream.getVideoTracks()[0]},t.prototype.pause=function(){this.failIfClosed(),this.surface.pause()},t.prototype.resume=function(e){this.failIfClosed();var n=this,r=function(){setTimeout(e,200),n.surface.removeEventListener("playing",r)};this.surface.addEventListener("playing",r),this.surface.play()},t.prototype.isPaused=function(){return this.failIfClosed(),this.surface.paused},t.prototype.getSurface=function(){return this.failIfClosed(),this.surface},t.prototype.getRunningTrackCapabilities=function(){return this.getFirstTrackOrFail().getCapabilities()},t.prototype.getRunningTrackSettings=function(){return this.getFirstTrackOrFail().getSettings()},t.prototype.applyVideoConstraints=function(e){return rC(this,void 0,void 0,function(){return oC(this,function(n){if("aspectRatio"in e)throw"Changing 'aspectRatio' in run-time is not yet supported.";return[2,this.getFirstTrackOrFail().applyConstraints(e)]})})},t.prototype.close=function(){if(this.isClosed)return Promise.resolve();var e=this;return new Promise(function(n,r){var o=e.mediaStream.getVideoTracks(),s=o.length,a=0;e.mediaStream.getVideoTracks().forEach(function(i){e.mediaStream.removeTrack(i),i.stop(),++a,a>=s&&(e.isClosed=!0,e.parentElement.removeChild(e.surface),n())})})},t.prototype.getCapabilities=function(){return new n1t(this.getFirstTrackOrFail())},t})(),o1t=(function(){function t(e){this.mediaStream=e}return t.prototype.render=function(e,n,r){return rC(this,void 0,void 0,function(){return oC(this,function(o){return[2,r1t.create(e,this.mediaStream,n,r)]})})},t.create=function(e){return rC(this,void 0,void 0,function(){var n,r;return oC(this,function(o){switch(o.label){case 0:if(!navigator.mediaDevices)throw"navigator.mediaDevices not supported";return n={audio:!1,video:e},[4,navigator.mediaDevices.getUserMedia(n)];case 1:return r=o.sent(),[2,new t(r)]}})})},t})(),zQ=function(t,e,n,r){function o(s){return s instanceof n?s:new n(function(a){a(s)})}return new(n||(n=Promise))(function(s,a){function i(d){try{u(r.next(d))}catch(f){a(f)}}function l(d){try{u(r.throw(d))}catch(f){a(f)}}function u(d){d.done?s(d.value):o(d.value).then(i,l)}u((r=r.apply(t,e||[])).next())})},FQ=function(t,e){var n={label:0,sent:function(){if(s[0]&1)throw s[1];return s[1]},trys:[],ops:[]},r,o,s,a;return a={next:i(0),throw:i(1),return:i(2)},typeof Symbol=="function"&&(a[Symbol.iterator]=function(){return this}),a;function i(u){return function(d){return l([u,d])}}function l(u){if(r)throw new TypeError("Generator is already executing.");for(;a&&(a=0,u[0]&&(n=0)),n;)try{if(r=1,o&&(s=u[0]&2?o.return:u[0]?o.throw||((s=o.return)&&s.call(o),0):o.next)&&!(s=s.call(o,u[1])).done)return s;switch(o=0,s&&(u=[u[0]&2,s.value]),u[0]){case 0:case 1:s=u;break;case 4:return n.label++,{value:u[1],done:!1};case 5:n.label++,o=u[1],u=[0];continue;case 7:u=n.ops.pop(),n.trys.pop();continue;default:if(s=n.trys,!(s=s.length>0&&s[s.length-1])&&(u[0]===6||u[0]===2)){n=0;continue}if(u[0]===3&&(!s||u[1]>s[0]&&u[1]<s[3])){n.label=u[1];break}if(u[0]===6&&n.label<s[1]){n.label=s[1],s=u;break}if(s&&n.label<s[2]){n.label=s[2],n.ops.push(u);break}s[2]&&n.ops.pop(),n.trys.pop();continue}u=e.call(t,n)}catch(d){u=[6,d],o=0}finally{r=s=0}if(u[0]&5)throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}},s1t=(function(){function t(){}return t.failIfNotSupported=function(){return zQ(this,void 0,void 0,function(){return FQ(this,function(e){if(!navigator.mediaDevices)throw"navigator.mediaDevices not supported";return[2,new t]})})},t.prototype.create=function(e){return zQ(this,void 0,void 0,function(){return FQ(this,function(n){return[2,o1t.create(e)]})})},t})(),a1t=function(t,e,n,r){function o(s){return s instanceof n?s:new n(function(a){a(s)})}return new(n||(n=Promise))(function(s,a){function i(d){try{u(r.next(d))}catch(f){a(f)}}function l(d){try{u(r.throw(d))}catch(f){a(f)}}function u(d){d.done?s(d.value):o(d.value).then(i,l)}u((r=r.apply(t,e||[])).next())})},i1t=function(t,e){var n={label:0,sent:function(){if(s[0]&1)throw s[1];return s[1]},trys:[],ops:[]},r,o,s,a;return a={next:i(0),throw:i(1),return:i(2)},typeof Symbol=="function"&&(a[Symbol.iterator]=function(){return this}),a;function i(u){return function(d){return l([u,d])}}function l(u){if(r)throw new TypeError("Generator is already executing.");for(;a&&(a=0,u[0]&&(n=0)),n;)try{if(r=1,o&&(s=u[0]&2?o.return:u[0]?o.throw||((s=o.return)&&s.call(o),0):o.next)&&!(s=s.call(o,u[1])).done)return s;switch(o=0,s&&(u=[u[0]&2,s.value]),u[0]){case 0:case 1:s=u;break;case 4:return n.label++,{value:u[1],done:!1};case 5:n.label++,o=u[1],u=[0];continue;case 7:u=n.ops.pop(),n.trys.pop();continue;default:if(s=n.trys,!(s=s.length>0&&s[s.length-1])&&(u[0]===6||u[0]===2)){n=0;continue}if(u[0]===3&&(!s||u[1]>s[0]&&u[1]<s[3])){n.label=u[1];break}if(u[0]===6&&n.label<s[1]){n.label=s[1],s=u;break}if(s&&n.label<s[2]){n.label=s[2],n.ops.push(u);break}s[2]&&n.ops.pop(),n.trys.pop();continue}u=e.call(t,n)}catch(d){u=[6,d],o=0}finally{r=s=0}if(u[0]&5)throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}},l1t=(function(){function t(){}return t.retrieve=function(){if(navigator.mediaDevices)return t.getCamerasFromMediaDevices();var e=MediaStreamTrack;return MediaStreamTrack&&e.getSources?t.getCamerasFromMediaStreamTrack():t.rejectWithError()},t.rejectWithError=function(){var e=w0.unableToQuerySupportedDevices();return t.isHttpsOrLocalhost()||(e=w0.insecureContextCameraQueryError()),Promise.reject(e)},t.isHttpsOrLocalhost=function(){if(location.protocol==="https:")return!0;var e=location.host.split(":")[0];return e==="127.0.0.1"||e==="localhost"},t.getCamerasFromMediaDevices=function(){return a1t(this,void 0,void 0,function(){var e,n,r,o,s,a,i;return i1t(this,function(l){switch(l.label){case 0:return e=function(u){for(var d=u.getVideoTracks(),f=0,m=d;f<m.length;f++){var g=m[f];g.enabled=!1,g.stop(),u.removeTrack(g)}},[4,navigator.mediaDevices.getUserMedia({audio:!1,video:!0})];case 1:return n=l.sent(),[4,navigator.mediaDevices.enumerateDevices()];case 2:for(r=l.sent(),o=[],s=0,a=r;s<a.length;s++)i=a[s],i.kind==="videoinput"&&o.push({id:i.deviceId,label:i.label});return e(n),[2,o]}})})},t.getCamerasFromMediaStreamTrack=function(){return new Promise(function(e,n){var r=function(s){for(var a=[],i=0,l=s;i<l.length;i++){var u=l[i];u.kind==="video"&&a.push({id:u.id,label:u.label})}e(a)},o=MediaStreamTrack;o.getSources(r)})},t})(),Ao;(function(t){t[t.UNKNOWN=0]="UNKNOWN",t[t.NOT_STARTED=1]="NOT_STARTED",t[t.SCANNING=2]="SCANNING",t[t.PAUSED=3]="PAUSED"})(Ao||(Ao={}));var c1t=(function(){function t(){this.state=Ao.NOT_STARTED,this.onGoingTransactionNewState=Ao.UNKNOWN}return t.prototype.directTransition=function(e){this.failIfTransitionOngoing(),this.validateTransition(e),this.state=e},t.prototype.startTransition=function(e){return this.failIfTransitionOngoing(),this.validateTransition(e),this.onGoingTransactionNewState=e,this},t.prototype.execute=function(){if(this.onGoingTransactionNewState===Ao.UNKNOWN)throw"Transaction is already cancelled, cannot execute().";var e=this.onGoingTransactionNewState;this.onGoingTransactionNewState=Ao.UNKNOWN,this.directTransition(e)},t.prototype.cancel=function(){if(this.onGoingTransactionNewState===Ao.UNKNOWN)throw"Transaction is already cancelled, cannot cancel().";this.onGoingTransactionNewState=Ao.UNKNOWN},t.prototype.getState=function(){return this.state},t.prototype.failIfTransitionOngoing=function(){if(this.onGoingTransactionNewState!==Ao.UNKNOWN)throw"Cannot transition to a new state, already under transition"},t.prototype.validateTransition=function(e){switch(this.state){case Ao.UNKNOWN:throw"Transition from unknown is not allowed";case Ao.NOT_STARTED:this.failIfNewStateIs(e,[Ao.PAUSED]);break;case Ao.SCANNING:break;case Ao.PAUSED:break}},t.prototype.failIfNewStateIs=function(e,n){for(var r=0,o=n;r<o.length;r++){var s=o[r];if(e===s)throw"Cannot transition from ".concat(this.state," to ").concat(e)}},t})(),u1t=(function(){function t(e){this.stateManager=e}return t.prototype.startTransition=function(e){return this.stateManager.startTransition(e)},t.prototype.directTransition=function(e){this.stateManager.directTransition(e)},t.prototype.getState=function(){return this.stateManager.getState()},t.prototype.canScanFile=function(){return this.stateManager.getState()===Ao.NOT_STARTED},t.prototype.isScanning=function(){return this.stateManager.getState()!==Ao.NOT_STARTED},t.prototype.isStrictlyScanning=function(){return this.stateManager.getState()===Ao.SCANNING},t.prototype.isPaused=function(){return this.stateManager.getState()===Ao.PAUSED},t})(),f1t=(function(){function t(){}return t.create=function(){return new u1t(new c1t)},t})(),d1t=(function(){var t=function(e,n){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,o){r.__proto__=o}||function(r,o){for(var s in o)Object.prototype.hasOwnProperty.call(o,s)&&(r[s]=o[s])},t(e,n)};return function(e,n){if(typeof n!="function"&&n!==null)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");t(e,n);function r(){this.constructor=e}e.prototype=n===null?Object.create(n):(r.prototype=n.prototype,new r)}})(),Ki=(function(t){d1t(e,t);function e(){return t!==null&&t.apply(this,arguments)||this}return e.DEFAULT_WIDTH=300,e.DEFAULT_WIDTH_OFFSET=2,e.FILE_SCAN_MIN_HEIGHT=300,e.FILE_SCAN_HIDDEN_CANVAS_PADDING=100,e.MIN_QR_BOX_SIZE=50,e.SHADED_LEFT=1,e.SHADED_RIGHT=2,e.SHADED_TOP=3,e.SHADED_BOTTOM=4,e.SHADED_REGION_ELEMENT_ID="qr-shaded-region",e.VERBOSE=!1,e.BORDER_SHADER_DEFAULT_COLOR="#ffffff",e.BORDER_SHADER_MATCH_COLOR="rgb(90, 193, 56)",e})(Vgt),p1t=(function(){function t(e,n){this.logger=n,this.fps=Ki.SCAN_DEFAULT_FPS,e?(e.fps&&(this.fps=e.fps),this.disableFlip=e.disableFlip===!0,this.qrbox=e.qrbox,this.aspectRatio=e.aspectRatio,this.videoConstraints=e.videoConstraints):this.disableFlip=Ki.DEFAULT_DISABLE_FLIP}return t.prototype.isMediaStreamConstraintsValid=function(){return this.videoConstraints?oye.isMediaStreamConstraintsValid(this.videoConstraints,this.logger):(this.logger.logError("Empty videoConstraints",!0),!1)},t.prototype.isShadedBoxEnabled=function(){return!$f(this.qrbox)},t.create=function(e,n){return new t(e,n)},t})(),h1t=(function(){function t(e,n){if(this.element=null,this.canvasElement=null,this.scannerPausedUiElement=null,this.hasBorderShaders=null,this.borderShaders=null,this.qrMatch=null,this.renderedCamera=null,this.qrRegion=null,this.context=null,this.lastScanImageFile=null,this.isScanning=!1,!document.getElementById(e))throw"HTML Element with id=".concat(e," not found");this.elementId=e,this.verbose=!1;var r;typeof n=="boolean"?this.verbose=n===!0:n&&(r=n,this.verbose=r.verbose===!0,r.experimentalFeatures),this.logger=new Wgt(this.verbose),this.qrcode=new Jgt(this.getSupportedFormats(n),this.getUseBarCodeDetectorIfSupported(r),this.verbose,this.logger),this.foreverScanTimeout,this.shouldScan=!0,this.stateManagerProxy=f1t.create()}return t.prototype.start=function(e,n,r,o){var s=this;if(!e)throw"cameraIdOrConfig is required";if(!r||typeof r!="function")throw"qrCodeSuccessCallback is required and should be a function.";var a;o?a=o:a=this.verbose?this.logger.log:function(){};var i=p1t.create(n,this.logger);this.clearElement();var l=!1;i.videoConstraints&&(i.isMediaStreamConstraintsValid()?l=!0:this.logger.logError("'videoConstraints' is not valid 'MediaStreamConstraints, it will be ignored.'",!0));var u=l,d=document.getElementById(this.elementId);d.clientWidth?d.clientWidth:Ki.DEFAULT_WIDTH,d.style.position="relative",this.shouldScan=!0,this.element=d;var f=this,m=this.stateManagerProxy.startTransition(Ao.SCANNING);return new Promise(function(g,w){var b=u?i.videoConstraints:f.createVideoConstraints(e);if(!b){m.cancel(),w("videoConstraints should be defined");return}var j={};(!u||i.aspectRatio)&&(j.aspectRatio=i.aspectRatio);var S={onRenderSurfaceReady:function(I,N){f.setupUi(I,N,i),f.isScanning=!0,f.foreverScan(i,r,a)}};s1t.failIfNotSupported().then(function(I){I.create(b).then(function(N){return N.render(s.element,j,S).then(function(M){f.renderedCamera=M,m.execute(),g(null)}).catch(function(M){m.cancel(),w(M)})}).catch(function(N){m.cancel(),w(w0.errorGettingUserMedia(N))})}).catch(function(I){m.cancel(),w(w0.cameraStreamingNotSupported())})})},t.prototype.pause=function(e){if(!this.stateManagerProxy.isStrictlyScanning())throw"Cannot pause, scanner is not scanning.";this.stateManagerProxy.directTransition(Ao.PAUSED),this.showPausedState(),($f(e)||e!==!0)&&(e=!1),e&&this.renderedCamera&&this.renderedCamera.pause()},t.prototype.resume=function(){if(!this.stateManagerProxy.isPaused())throw"Cannot result, scanner is not paused.";if(!this.renderedCamera)throw"renderedCamera doesn't exist while trying resume()";var e=this,n=function(){e.stateManagerProxy.directTransition(Ao.SCANNING),e.hidePausedState()};if(!this.renderedCamera.isPaused()){n();return}this.renderedCamera.resume(function(){n()})},t.prototype.getState=function(){return this.stateManagerProxy.getState()},t.prototype.stop=function(){var e=this;if(!this.stateManagerProxy.isScanning())throw"Cannot stop, scanner is not running or paused.";var n=this.stateManagerProxy.startTransition(Ao.NOT_STARTED);this.shouldScan=!1,this.foreverScanTimeout&&clearTimeout(this.foreverScanTimeout);var r=function(){if(e.element){var s=document.getElementById(Ki.SHADED_REGION_ELEMENT_ID);s&&e.element.removeChild(s)}},o=this;return this.renderedCamera.close().then(function(){return o.renderedCamera=null,o.element&&(o.element.removeChild(o.canvasElement),o.canvasElement=null),r(),o.qrRegion&&(o.qrRegion=null),o.context&&(o.context=null),n.execute(),o.hidePausedState(),o.isScanning=!1,Promise.resolve()})},t.prototype.scanFile=function(e,n){return this.scanFileV2(e,n).then(function(r){return r.decodedText})},t.prototype.scanFileV2=function(e,n){var r=this;if(!e||!(e instanceof File))throw"imageFile argument is mandatory and should be instance of File. Use 'event.target.files[0]'.";if($f(n)&&(n=!0),!this.stateManagerProxy.canScanFile())throw"Cannot start file scan - ongoing camera scan";return new Promise(function(o,s){r.possiblyCloseLastScanImageFile(),r.clearElement(),r.lastScanImageFile=URL.createObjectURL(e);var a=new Image;a.onload=function(){var i=a.width,l=a.height,u=document.getElementById(r.elementId),d=u.clientWidth?u.clientWidth:Ki.DEFAULT_WIDTH,f=Math.max(u.clientHeight?u.clientHeight:l,Ki.FILE_SCAN_MIN_HEIGHT),m=r.computeCanvasDrawConfig(i,l,d,f);if(n){var g=r.createCanvasElement(d,f,"qr-canvas-visible");g.style.display="inline-block",u.appendChild(g);var w=g.getContext("2d");if(!w)throw"Unable to get 2d context from canvas";w.canvas.width=d,w.canvas.height=f,w.drawImage(a,0,0,i,l,m.x,m.y,m.width,m.height)}var b=Ki.FILE_SCAN_HIDDEN_CANVAS_PADDING,j=Math.max(a.width,m.width),S=Math.max(a.height,m.height),I=j+2*b,N=S+2*b,M=r.createCanvasElement(I,N);u.appendChild(M);var D=M.getContext("2d");if(!D)throw"Unable to get 2d context from canvas";D.canvas.width=I,D.canvas.height=N,D.drawImage(a,0,0,i,l,b,b,j,S);try{r.qrcode.decodeRobustlyAsync(M).then(function(O){o(RQ.createFromQrcodeResult(O))}).catch(s)}catch(O){s("QR code parse error, error = ".concat(O))}},a.onerror=s,a.onabort=s,a.onstalled=s,a.onsuspend=s,a.src=URL.createObjectURL(e)})},t.prototype.clear=function(){this.clearElement()},t.getCameras=function(){return l1t.retrieve()},t.prototype.getRunningTrackCapabilities=function(){return this.getRenderedCameraOrFail().getRunningTrackCapabilities()},t.prototype.getRunningTrackSettings=function(){return this.getRenderedCameraOrFail().getRunningTrackSettings()},t.prototype.getRunningTrackCameraCapabilities=function(){return this.getRenderedCameraOrFail().getCapabilities()},t.prototype.applyVideoConstraints=function(e){if(e){if(!oye.isMediaStreamConstraintsValid(e,this.logger))throw"invalid videoConstaints passed, check logs for more details"}else throw"videoConstaints is required argument.";return this.getRenderedCameraOrFail().applyVideoConstraints(e)},t.prototype.getRenderedCameraOrFail=function(){if(this.renderedCamera==null)throw"Scanning is not in running state, call this API only when QR code scanning using camera is in running state.";return this.renderedCamera},t.prototype.getSupportedFormats=function(e){var n=[nn.QR_CODE,nn.AZTEC,nn.CODABAR,nn.CODE_39,nn.CODE_93,nn.CODE_128,nn.DATA_MATRIX,nn.MAXICODE,nn.ITF,nn.EAN_13,nn.EAN_8,nn.PDF_417,nn.RSS_14,nn.RSS_EXPANDED,nn.UPC_A,nn.UPC_E,nn.UPC_EAN_EXTENSION];if(!e||typeof e=="boolean"||!e.formatsToSupport)return n;if(!Array.isArray(e.formatsToSupport))throw"configOrVerbosityFlag.formatsToSupport should be undefined or an array.";if(e.formatsToSupport.length===0)throw"Atleast 1 formatsToSupport is needed.";for(var r=[],o=0,s=e.formatsToSupport;o<s.length;o++){var a=s[o];$gt(a)?r.push(a):this.logger.warn("Invalid format: ".concat(a," passed in config, ignoring."))}if(r.length===0)throw"None of formatsToSupport match supported values.";return r},t.prototype.getUseBarCodeDetectorIfSupported=function(e){if($f(e))return!0;if(!$f(e.useBarCodeDetectorIfSupported))return e.useBarCodeDetectorIfSupported!==!1;if($f(e.experimentalFeatures))return!0;var n=e.experimentalFeatures;return $f(n.useBarCodeDetectorIfSupported)?!0:n.useBarCodeDetectorIfSupported!==!1},t.prototype.validateQrboxSize=function(e,n,r){var o=this,s=r.qrbox;this.validateQrboxConfig(s);var a=this.toQrdimensions(e,n,s),i=function(u){if(u<Ki.MIN_QR_BOX_SIZE)throw"minimum size of 'config.qrbox' dimension value is"+" ".concat(Ki.MIN_QR_BOX_SIZE,"px.")},l=function(u){return u>e&&(o.logger.warn("`qrbox.width` or `qrbox` is larger than the width of the root element. The width will be truncated to the width of root element."),u=e),u};i(a.width),i(a.height),a.width=l(a.width)},t.prototype.validateQrboxConfig=function(e){if(typeof e!="number"&&typeof e!="function"&&(e.width===void 0||e.height===void 0))throw"Invalid instance of QrDimensions passed for 'config.qrbox'. Both 'width' and 'height' should be set."},t.prototype.toQrdimensions=function(e,n,r){if(typeof r=="number")return{width:r,height:r};if(typeof r=="function")try{return r(e,n)}catch(o){throw new Error("qrbox config was passed as a function but it failed with unknown error"+o)}return r},t.prototype.setupUi=function(e,n,r){r.isShadedBoxEnabled()&&this.validateQrboxSize(e,n,r);var o=$f(r.qrbox)?{width:e,height:n}:r.qrbox;this.validateQrboxConfig(o);var s=this.toQrdimensions(e,n,o);s.height>n&&this.logger.warn("[Html5Qrcode] config.qrbox has height that isgreater than the height of the video stream. Shading will be ignored");var a=r.isShadedBoxEnabled()&&s.height<=n,i={x:0,y:0,width:e,height:n},l=a?this.getShadedRegionBounds(e,n,s):i,u=this.createCanvasElement(l.width,l.height),d={willReadFrequently:!0},f=u.getContext("2d",d);f.canvas.width=l.width,f.canvas.height=l.height,this.element.append(u),a&&this.possiblyInsertShadingElement(this.element,e,n,s),this.createScannerPausedUiElement(this.element),this.qrRegion=l,this.context=f,this.canvasElement=u},t.prototype.createScannerPausedUiElement=function(e){var n=document.createElement("div");n.innerText=w0.scannerPaused(),n.style.display="none",n.style.position="absolute",n.style.top="0px",n.style.zIndex="1",n.style.background="rgba(9, 9, 9, 0.46)",n.style.color="#FFECEC",n.style.textAlign="center",n.style.width="100%",e.appendChild(n),this.scannerPausedUiElement=n},t.prototype.scanContext=function(e,n){var r=this;return this.stateManagerProxy.isPaused()?Promise.resolve(!1):this.qrcode.decodeAsync(this.canvasElement).then(function(o){return e(o.text,RQ.createFromQrcodeResult(o)),r.possiblyUpdateShaders(!0),!0}).catch(function(o){r.possiblyUpdateShaders(!1);var s=w0.codeParseError(o);return n(s,Hgt.createFrom(s)),!1})},t.prototype.foreverScan=function(e,n,r){var o=this;if(this.shouldScan&&this.renderedCamera){var s=this.renderedCamera.getSurface(),a=s.videoWidth/s.clientWidth,i=s.videoHeight/s.clientHeight;if(!this.qrRegion)throw"qrRegion undefined when localMediaStream is ready.";var l=this.qrRegion.width*a,u=this.qrRegion.height*i,d=this.qrRegion.x*a,f=this.qrRegion.y*i;this.context.drawImage(s,d,f,l,u,0,0,this.qrRegion.width,this.qrRegion.height);var m=function(){o.foreverScanTimeout=setTimeout(function(){o.foreverScan(e,n,r)},o.getTimeoutFps(e.fps))};this.scanContext(n,r).then(function(g){!g&&e.disableFlip!==!0?(o.context.translate(o.context.canvas.width,0),o.context.scale(-1,1),o.scanContext(n,r).finally(function(){m()})):m()}).catch(function(g){o.logger.logError("Error happend while scanning context",g),m()})}},t.prototype.createVideoConstraints=function(e){if(typeof e=="string")return{deviceId:{exact:e}};if(typeof e=="object"){var n="facingMode",r="deviceId",o={user:!0,environment:!0},s="exact",a=function(w){if(w in o)return!0;throw"config has invalid 'facingMode' value = "+"'".concat(w,"'")},i=Object.keys(e);if(i.length!==1)throw"'cameraIdOrConfig' object should have exactly 1 key,"+" if passed as an object, found ".concat(i.length," keys");var l=Object.keys(e)[0];if(l!==n&&l!==r)throw"Only '".concat(n,"' and '").concat(r,"' ")+" are supported for 'cameraIdOrConfig'";if(l===n){var u=e.facingMode;if(typeof u=="string"){if(a(u))return{facingMode:u}}else if(typeof u=="object")if(s in u){if(a(u["".concat(s)]))return{facingMode:{exact:u["".concat(s)]}}}else throw"'facingMode' should be string or object with"+" ".concat(s," as key.");else{var d=typeof u;throw"Invalid type of 'facingMode' = ".concat(d)}}else{var f=e.deviceId;if(typeof f=="string")return{deviceId:f};if(typeof f=="object"){if(s in f)return{deviceId:{exact:f["".concat(s)]}};throw"'deviceId' should be string or object with"+" ".concat(s," as key.")}else{var m=typeof f;throw"Invalid type of 'deviceId' = ".concat(m)}}}var g=typeof e;throw"Invalid type of 'cameraIdOrConfig' = ".concat(g)},t.prototype.computeCanvasDrawConfig=function(e,n,r,o){if(e<=r&&n<=o){var s=(r-e)/2,a=(o-n)/2;return{x:s,y:a,width:e,height:n}}else{var i=e,l=n;return e>r&&(n=r/e*n,e=r),n>o&&(e=o/n*e,n=o),this.logger.log("Image downsampled from "+"".concat(i,"X").concat(l)+" to ".concat(e,"X").concat(n,".")),this.computeCanvasDrawConfig(e,n,r,o)}},t.prototype.clearElement=function(){if(this.stateManagerProxy.isScanning())throw"Cannot clear while scan is ongoing, close it first.";var e=document.getElementById(this.elementId);e&&(e.innerHTML="")},t.prototype.possiblyUpdateShaders=function(e){this.qrMatch!==e&&(this.hasBorderShaders&&this.borderShaders&&this.borderShaders.length&&this.borderShaders.forEach(function(n){n.style.backgroundColor=e?Ki.BORDER_SHADER_MATCH_COLOR:Ki.BORDER_SHADER_DEFAULT_COLOR}),this.qrMatch=e)},t.prototype.possiblyCloseLastScanImageFile=function(){this.lastScanImageFile&&(URL.revokeObjectURL(this.lastScanImageFile),this.lastScanImageFile=null)},t.prototype.createCanvasElement=function(e,n,r){var o=e,s=n,a=document.createElement("canvas");return a.style.width="".concat(o,"px"),a.style.height="".concat(s,"px"),a.style.display="none",a.id=$f(r)?"qr-canvas":r,a},t.prototype.getShadedRegionBounds=function(e,n,r){if(r.width>e||r.height>n)throw"'config.qrbox' dimensions should not be greater than the dimensions of the root HTML element.";return{x:(e-r.width)/2,y:(n-r.height)/2,width:r.width,height:r.height}},t.prototype.possiblyInsertShadingElement=function(e,n,r,o){if(!(n-o.width<1||r-o.height<1)){var s=document.createElement("div");s.style.position="absolute";var a=(n-o.width)/2,i=(r-o.height)/2;if(s.style.borderLeft="".concat(a,"px solid rgba(0, 0, 0, 0.48)"),s.style.borderRight="".concat(a,"px solid rgba(0, 0, 0, 0.48)"),s.style.borderTop="".concat(i,"px solid rgba(0, 0, 0, 0.48)"),s.style.borderBottom="".concat(i,"px solid rgba(0, 0, 0, 0.48)"),s.style.boxSizing="border-box",s.style.top="0px",s.style.bottom="0px",s.style.left="0px",s.style.right="0px",s.id="".concat(Ki.SHADED_REGION_ELEMENT_ID),n-o.width<11||r-o.height<11)this.hasBorderShaders=!1;else{var l=5,u=40;this.insertShaderBorders(s,u,l,-l,null,0,!0),this.insertShaderBorders(s,u,l,-l,null,0,!1),this.insertShaderBorders(s,u,l,null,-l,0,!0),this.insertShaderBorders(s,u,l,null,-l,0,!1),this.insertShaderBorders(s,l,u+l,-l,null,-l,!0),this.insertShaderBorders(s,l,u+l,null,-l,-l,!0),this.insertShaderBorders(s,l,u+l,-l,null,-l,!1),this.insertShaderBorders(s,l,u+l,null,-l,-l,!1),this.hasBorderShaders=!0}e.append(s)}},t.prototype.insertShaderBorders=function(e,n,r,o,s,a,i){var l=document.createElement("div");l.style.position="absolute",l.style.backgroundColor=Ki.BORDER_SHADER_DEFAULT_COLOR,l.style.width="".concat(n,"px"),l.style.height="".concat(r,"px"),o!==null&&(l.style.top="".concat(o,"px")),s!==null&&(l.style.bottom="".concat(s,"px")),i?l.style.left="".concat(a,"px"):l.style.right="".concat(a,"px"),this.borderShaders||(this.borderShaders=[]),this.borderShaders.push(l),e.appendChild(l)},t.prototype.showPausedState=function(){if(!this.scannerPausedUiElement)throw"[internal error] scanner paused UI element not found";this.scannerPausedUiElement.style.display="block"},t.prototype.hidePausedState=function(){if(!this.scannerPausedUiElement)throw"[internal error] scanner paused UI element not found";this.scannerPausedUiElement.style.display="none"},t.prototype.getTimeoutFps=function(e){return 1e3/e},t})(),BQ;(function(t){t[t.STATUS_DEFAULT=0]="STATUS_DEFAULT",t[t.STATUS_SUCCESS=1]="STATUS_SUCCESS",t[t.STATUS_WARNING=2]="STATUS_WARNING",t[t.STATUS_REQUESTING_PERMISSION=3]="STATUS_REQUESTING_PERMISSION"})(BQ||(BQ={}));function m1t(){const{t}=qe(),{pubkey:e}=wt(),{isEnabled:n,isConnected:r,connections:o,activeSessions:s,rendezvousUrl:a,enable:i,disable:l,addConnection:u,removeConnection:d,getConnectionURI:f,setRendezvousUrl:m,remoteConnections:g,isSyncing:w,syncProgress:b,addRemoteConnection:j,removeRemoteConnection:S,testRemoteConnection:I,syncFromDevice:N,syncAllRemotes:M}=vgt(),[D,O]=h.useState(""),[L,B]=h.useState(""),[T,R]=h.useState(!1),[z,Y]=h.useState(!1),[Q,W]=h.useState(null),[F,X]=h.useState(""),[$,V]=h.useState(""),[K,G]=h.useState(!1),[J,ne]=h.useState(!1),[re,de]=h.useState(null),[Ne,ve]=h.useState(null),[xe,ce]=h.useState(""),[pe,me]=h.useState(""),[ke,le]=h.useState(!1),[he,we]=h.useState(!1),[Ae,Ve]=h.useState(""),Ze=h.useRef(null),nt=h.useRef(null),[$e,Ke]=h.useState(Xe.getNrcOnlyConfigSync()),Me=h.useCallback(Pe=>{Xe.setNrcOnlyConfigSync(Pe),Ke(Pe),kr()},[]),et=h.useCallback(async Pe=>{try{const Qe=await nye.toDataURL(Pe,{width:256,margin:2,color:{dark:"#000000",light:"#ffffff"}});V(Qe)}catch(Qe){console.error("Failed to generate QR code:",Qe)}},[]),pt=h.useCallback(async()=>{if(n)l(),de(null);else{ne(!0),de(null);try{await i()}catch(Pe){const Qe=Pe instanceof Error?Pe.message:"Failed to enable NRC";de(Qe),console.error("Failed to enable NRC:",Pe)}finally{ne(!1)}}},[n,i,l]),ht=h.useCallback(async()=>{if(D.trim()){ne(!0),ve(null);try{const Pe=L.trim()||void 0,{uri:Qe,connection:mt}=await u(D.trim(),Pe);R(!1),O(""),B(""),W(mt),X(Qe),await et(Qe),Y(!0)}catch(Pe){const Qe=Pe instanceof Error?Pe.message:"Failed to add connection";ve(Qe),console.error("Failed to add connection:",Pe)}finally{ne(!1)}}},[D,L,u]),st=h.useCallback(async Pe=>{try{const Qe=f(Pe);W(Pe),X(Qe),await et(Qe),Y(!0)}catch(Qe){console.error("Failed to get connection URI:",Qe)}},[f,et]),De=h.useCallback(async()=>{try{await navigator.clipboard.writeText(F),G(!0),setTimeout(()=>G(!1),2e3)}catch(Pe){console.error("Failed to copy URI:",Pe)}},[F]),se=h.useCallback(async Pe=>{try{await d(Pe)}catch(Qe){console.error("Failed to remove connection:",Qe)}},[d]),q=h.useCallback(async()=>{if(!(!xe.trim()||!pe.trim())){ne(!0);try{await j(xe.trim(),pe.trim()),le(!1),ce(""),me("")}catch(Pe){console.error("Failed to add remote connection:",Pe)}finally{ne(!1)}}},[xe,pe,j]),Z=h.useCallback(async Pe=>{try{await S(Pe)}catch(Qe){console.error("Failed to remove remote connection:",Qe)}},[S]),ie=h.useCallback(async Pe=>{try{await N(Pe)}catch(Qe){console.error("Failed to sync from device:",Qe)}},[N]),Ce=h.useCallback(async Pe=>{try{await I(Pe)}catch(Qe){console.error("Failed to test connection:",Qe)}},[I]),Te=h.useCallback(async()=>{try{await M()}catch(Pe){console.error("Failed to sync all remotes:",Pe)}},[M]),Se=h.useCallback(async()=>{if(nt.current){Ve("");try{const Pe=new h1t("qr-scanner-container");Ze.current=Pe,await Pe.start({facingMode:"environment"},{fps:10,qrbox:{width:250,height:250}},Qe=>{Qe.startsWith("nostr+relayconnect://")&&(ce(Qe),ye(),we(!1),le(!0))},()=>{})}catch(Pe){console.error("Failed to start scanner:",Pe),Ve(Pe instanceof Error?Pe.message:"Failed to start camera")}}},[]),ye=h.useCallback(()=>{Ze.current&&(Ze.current.stop().catch(()=>{}),Ze.current=null)},[]),We=h.useCallback(()=>{we(!0),setTimeout(Se,100)},[Se]),Ee=h.useCallback(()=>{ye(),we(!1),Ve("")},[ye]);return e?c.jsxs("div",{className:"space-y-6",children:[c.jsxs("div",{className:"flex items-center justify-between p-3 bg-muted/30 rounded-lg",children:[c.jsxs("div",{className:"space-y-1",children:[c.jsx(Ot,{htmlFor:"nrc-only-config",className:"text-base font-medium",children:t("Private Configuration Sync")}),c.jsx("p",{className:"text-sm text-muted-foreground",children:t("Only sync configurations between paired devices, not to public relays")})]}),c.jsx(Ar,{id:"nrc-only-config",checked:$e,onCheckedChange:Me})]}),c.jsxs(Ex,{defaultValue:"listener",className:"w-full",children:[c.jsxs(lv,{className:"grid w-full grid-cols-2",children:[c.jsxs(rl,{value:"listener",className:"gap-2",children:[c.jsx(ei,{className:"w-4 h-4"}),t("Share")]}),c.jsxs(rl,{value:"client",className:"gap-2",children:[c.jsx(Y7e,{className:"w-4 h-4"}),t("Connect")]})]}),c.jsxs(ol,{value:"listener",className:"space-y-6 mt-4",children:[c.jsxs("div",{className:"flex items-center justify-between",children:[c.jsxs("div",{className:"space-y-1",children:[c.jsx(Ot,{htmlFor:"nrc-enabled",className:"text-base font-medium",children:t("Enable Relay Connect")}),c.jsx("p",{className:"text-sm text-muted-foreground",children:t("Allow other devices to sync with this client")})]}),c.jsx(Ar,{id:"nrc-enabled",checked:n,onCheckedChange:pt,disabled:J})]}),re&&c.jsx("div",{className:"p-3 bg-destructive/10 border border-destructive/20 rounded-lg text-sm text-destructive",children:re}),n&&c.jsxs("div",{className:"flex items-center gap-4 p-3 bg-muted/50 rounded-lg",children:[c.jsxs("div",{className:"flex items-center gap-2",children:[r?c.jsx(rPe,{className:"w-4 h-4 text-green-500"}):c.jsx(nPe,{className:"w-4 h-4 text-yellow-500"}),c.jsx("span",{className:"text-sm",children:t(r?"Connected":"Connecting...")})]}),s>0&&c.jsxs("div",{className:"flex items-center gap-2",children:[c.jsx(Cg,{className:"w-4 h-4"}),c.jsxs("span",{className:"text-sm",children:[s," ",t("active session(s)")]})]})]}),c.jsxs("div",{className:"space-y-2",children:[c.jsxs(Ot,{htmlFor:"rendezvous-url",className:"flex items-center gap-2",children:[c.jsx(ei,{className:"w-4 h-4"}),t("Rendezvous Relay")]}),c.jsx(On,{id:"rendezvous-url",value:a,onChange:Pe=>m(Pe.target.value),placeholder:"wss://relay.example.com",disabled:n}),n&&c.jsx("p",{className:"text-xs text-muted-foreground",children:t("Disable NRC to change the relay")})]}),c.jsxs("div",{className:"space-y-3",children:[c.jsxs("div",{className:"flex items-center justify-between",children:[c.jsxs(Ot,{className:"flex items-center gap-2",children:[c.jsx(_7e,{className:"w-4 h-4"}),t("Authorized Devices")]}),c.jsxs(Le,{variant:"outline",size:"sm",onClick:()=>R(!0),className:"gap-1",children:[c.jsx(Kl,{className:"w-4 h-4"}),t("Add")]})]}),o.length===0?c.jsx("div",{className:"text-sm text-muted-foreground p-4 text-center border border-dashed rounded-lg",children:t("No devices connected yet")}):c.jsx("div",{className:"space-y-2",children:o.map(Pe=>c.jsxs("div",{className:"flex items-center justify-between p-3 bg-muted/30 rounded-lg",children:[c.jsxs("div",{className:"flex-1 min-w-0",children:[c.jsx("div",{className:"font-medium truncate",children:Pe.label}),c.jsx("div",{className:"text-xs text-muted-foreground",children:new Date(Pe.createdAt).toLocaleDateString()})]}),c.jsxs("div",{className:"flex items-center gap-1",children:[c.jsx(Le,{variant:"ghost",size:"icon",onClick:()=>st(Pe),title:t("Show QR Code"),children:c.jsx(s2,{className:"w-4 h-4"})}),c.jsxs(af,{children:[c.jsx(Ng,{asChild:!0,children:c.jsx(Le,{variant:"ghost",size:"icon",className:"text-destructive hover:text-destructive",title:t("Remove"),children:c.jsx(of,{className:"w-4 h-4"})})}),c.jsxs(nu,{children:[c.jsxs(ru,{children:[c.jsx(su,{children:t("Remove Device?")}),c.jsx(au,{children:t('This will revoke access for "{{label}}". The device will no longer be able to sync.',{label:Pe.label})})]}),c.jsxs(ou,{children:[c.jsx(cf,{children:t("Cancel")}),c.jsx(lf,{onClick:()=>se(Pe.id),className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",children:t("Remove")})]})]})]})]})]},Pe.id))})]})]}),c.jsxs(ol,{value:"client",className:"space-y-6 mt-4",children:[w&&b&&c.jsxs("div",{className:"p-3 bg-muted/50 rounded-lg space-y-2",children:[c.jsxs("div",{className:"flex items-center gap-2",children:[c.jsx(Hl,{className:"w-4 h-4 animate-spin"}),c.jsxs("span",{className:"text-sm font-medium",children:[b.phase==="connecting"&&t("Connecting..."),b.phase==="requesting"&&t("Requesting events..."),b.phase==="receiving"&&t("Receiving events..."),b.phase==="complete"&&t("Sync complete"),b.phase==="error"&&t("Error")]})]}),b.eventsReceived>0&&c.jsx("div",{className:"text-xs text-muted-foreground",children:t("{{count}} events received",{count:b.eventsReceived})}),b.message&&b.phase==="error"&&c.jsx("div",{className:"text-xs text-destructive",children:b.message})]}),c.jsxs("div",{className:"space-y-3",children:[c.jsxs("div",{className:"flex items-center justify-between",children:[c.jsxs(Ot,{className:"flex items-center gap-2",children:[c.jsx(rL,{className:"w-4 h-4"}),t("Remote Devices")]}),c.jsxs("div",{className:"flex gap-2",children:[c.jsxs(Le,{variant:"outline",size:"sm",onClick:We,className:"gap-1",children:[c.jsx(m7e,{className:"w-4 h-4"}),t("Scan")]}),c.jsxs(Le,{variant:"outline",size:"sm",onClick:()=>le(!0),className:"gap-1",children:[c.jsx(Kl,{className:"w-4 h-4"}),t("Add")]})]})]}),g.length===0?c.jsx("div",{className:"text-sm text-muted-foreground p-4 text-center border border-dashed rounded-lg",children:t("No remote devices configured")}):c.jsxs("div",{className:"space-y-2",children:[g.length>1&&c.jsxs(Le,{variant:"secondary",size:"sm",onClick:Te,disabled:w,className:"w-full gap-2",children:[c.jsx(Hl,{className:`w-4 h-4 ${w?"animate-spin":""}`}),t("Sync All Devices")]}),g.map(Pe=>c.jsxs("div",{className:"flex items-center justify-between p-3 bg-muted/30 rounded-lg",children:[c.jsxs("div",{className:"flex-1 min-w-0",children:[c.jsx("div",{className:"font-medium truncate",children:Pe.label}),c.jsx("div",{className:"text-xs text-muted-foreground",children:Pe.lastSync?c.jsxs(c.Fragment,{children:[t("Last sync"),": ",new Date(Pe.lastSync).toLocaleString(),Pe.eventCount!==void 0&&c.jsxs("span",{className:"ml-2",children:["(",Pe.eventCount," ",t("events"),")"]})]}):t("Never synced")})]}),c.jsxs("div",{className:"flex items-center gap-1",children:[Pe.lastSync?null:c.jsx(Le,{variant:"ghost",size:"icon",onClick:()=>Ce(Pe.id),disabled:w,title:t("Test Connection"),children:c.jsx(uc,{className:`w-4 h-4 ${w?"animate-pulse":""}`})}),c.jsx(Le,{variant:"ghost",size:"icon",onClick:()=>ie(Pe.id),disabled:w,title:t("Sync"),children:c.jsx(Hl,{className:`w-4 h-4 ${w?"animate-spin":""}`})}),c.jsxs(af,{children:[c.jsx(Ng,{asChild:!0,children:c.jsx(Le,{variant:"ghost",size:"icon",className:"text-destructive hover:text-destructive",title:t("Remove"),children:c.jsx(of,{className:"w-4 h-4"})})}),c.jsxs(nu,{children:[c.jsxs(ru,{children:[c.jsx(su,{children:t("Remove Remote Device?")}),c.jsx(au,{children:t('This will remove "{{label}}" from your remote devices list.',{label:Pe.label})})]}),c.jsxs(ou,{children:[c.jsx(cf,{children:t("Cancel")}),c.jsx(lf,{onClick:()=>Z(Pe.id),className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",children:t("Remove")})]})]})]})]})]},Pe.id))]})]})]})]}),c.jsx(Ls,{open:T,onOpenChange:Pe=>{R(Pe),Pe?(B(a),ve(null)):(O(""),B(""),ve(null))},children:c.jsxs(ms,{children:[c.jsxs(Za,{children:[c.jsx(Qa,{children:t("Add Device")}),c.jsx(nl,{children:t("Create a connection URI to link another device")})]}),c.jsxs("div",{className:"space-y-4 py-4",children:[c.jsxs("div",{className:"space-y-2",children:[c.jsx(Ot,{htmlFor:"device-label",children:t("Device Name")}),c.jsx(On,{id:"device-label",value:D,onChange:Pe=>O(Pe.target.value),placeholder:t("e.g., Phone, Laptop")})]}),c.jsxs("div",{className:"space-y-2",children:[c.jsxs(Ot,{htmlFor:"device-rendezvous",className:"flex items-center gap-2",children:[c.jsx(ei,{className:"w-4 h-4"}),t("Rendezvous Relay")]}),c.jsx(On,{id:"device-rendezvous",value:L,onChange:Pe=>B(Pe.target.value),placeholder:"wss://relay.example.com",onKeyDown:Pe=>{Pe.key==="Enter"&&ht()}}),c.jsx("p",{className:"text-xs text-muted-foreground",children:t("Relay used to establish the connection")})]}),Ne&&c.jsx("div",{className:"p-3 bg-destructive/10 border border-destructive/20 rounded-lg text-sm text-destructive",children:Ne})]}),c.jsxs(zm,{children:[c.jsx(Le,{variant:"outline",onClick:()=>R(!1),children:t("Cancel")}),c.jsx(Le,{onClick:ht,disabled:!D.trim()||J,children:t("Create")})]})]})}),c.jsx(Ls,{open:z,onOpenChange:Y,children:c.jsxs(ms,{className:"sm:max-w-md",children:[c.jsxs(Za,{children:[c.jsx(Qa,{children:t("Connection QR Code")}),c.jsx(nl,{children:Q&&c.jsx(c.Fragment,{children:t('Scan this code with "{{label}}" to connect',{label:Q.label})})})]}),c.jsxs("div",{className:"flex flex-col items-center gap-4 py-4",children:[$&&c.jsx("div",{className:"p-4 bg-white rounded-lg",children:c.jsx("img",{src:$,alt:"Connection QR Code",className:"w-64 h-64"})}),c.jsx("div",{className:"w-full",children:c.jsxs("div",{className:"flex items-center gap-2",children:[c.jsx(On,{value:F,readOnly:!0,className:"font-mono text-xs"}),c.jsx(Le,{variant:"outline",size:"icon",onClick:De,title:t("Copy"),children:K?c.jsx(Zr,{className:"w-4 h-4 text-green-500"}):c.jsx(Pa,{className:"w-4 h-4"})})]})})]}),c.jsx(zm,{children:c.jsx(Le,{onClick:()=>Y(!1),children:t("Done")})})]})}),c.jsx(Ls,{open:ke,onOpenChange:le,children:c.jsxs(ms,{children:[c.jsxs(Za,{children:[c.jsx(Qa,{children:t("Connect to Device")}),c.jsx(nl,{children:t("Enter a connection URI from another device to sync with it")})]}),c.jsxs("div",{className:"space-y-4 py-4",children:[c.jsxs("div",{className:"space-y-2",children:[c.jsx(Ot,{htmlFor:"connection-uri",children:t("Connection URI")}),c.jsx(On,{id:"connection-uri",value:xe,onChange:Pe=>ce(Pe.target.value),placeholder:"nostr+relayconnect://...",className:"font-mono text-xs"})]}),c.jsxs("div",{className:"space-y-2",children:[c.jsx(Ot,{htmlFor:"remote-label",children:t("Device Name")}),c.jsx(On,{id:"remote-label",value:pe,onChange:Pe=>me(Pe.target.value),placeholder:t("e.g., Desktop, Main Phone"),onKeyDown:Pe=>{Pe.key==="Enter"&&q()}})]})]}),c.jsxs(zm,{children:[c.jsx(Le,{variant:"outline",onClick:()=>le(!1),children:t("Cancel")}),c.jsx(Le,{onClick:q,disabled:!xe.trim()||!pe.trim()||J,children:t("Connect")})]})]})}),c.jsx(Ls,{open:he,onOpenChange:Ee,children:c.jsxs(ms,{className:"sm:max-w-md",children:[c.jsxs(Za,{children:[c.jsx(Qa,{children:t("Scan QR Code")}),c.jsx(nl,{children:t("Point your camera at a connection QR code")})]}),c.jsxs("div",{className:"py-4",children:[c.jsx("div",{id:"qr-scanner-container",ref:nt,className:"w-full aspect-square bg-muted rounded-lg overflow-hidden"}),Ae&&c.jsx("div",{className:"mt-2 text-sm text-destructive",children:Ae})]}),c.jsx(zm,{children:c.jsx(Le,{variant:"outline",onClick:Ee,children:t("Cancel")})})]})})]}):c.jsx("div",{className:"text-muted-foreground text-sm",children:t("Login required to use NRC")})}const UQ={apiKey:"",model:"",systemPrompt:"",autoRewrite:!1};function aye(){const{t}=qe(),{pubkey:e}=wt(),[n,r]=h.useState(UQ),[o,s]=h.useState([]),[a,i]=h.useState(!1);h.useEffect(()=>{e&&r(Xe.getLlmConfig(e)??UQ)},[e]),h.useEffect(()=>{if(!n.apiKey||n.apiKey.length<10){s([]);return}let d=!1;const f=setTimeout(async()=>{i(!0);try{const m=await FXe(n.apiKey);d||s(m)}catch(m){console.error("[LLM] Failed to fetch models:",m),d||s([])}finally{d||i(!1)}},500);return()=>{d=!0,clearTimeout(f)}},[n.apiKey]);const l=h.useCallback(d=>{r(d),e&&(Xe.setLlmConfig(e,d),kr())},[e]),u=n.model||Vde;return c.jsxs("div",{className:"space-y-2",children:[c.jsx(Ot,{className:"text-base font-semibold",children:t("LLM Settings")}),c.jsxs("div",{className:"space-y-1",children:[c.jsx(Ot,{htmlFor:"llm-api-key",children:t("Anthropic API key")}),c.jsx(On,{id:"llm-api-key",type:"password",placeholder:"sk-ant-...",value:n.apiKey,onChange:d=>l({...n,apiKey:d.target.value})})]}),c.jsxs("div",{className:"space-y-1",children:[c.jsx(Ot,{children:t("Model")}),a?c.jsxs("div",{className:"flex items-center gap-2 h-10 px-3 text-sm text-muted-foreground",children:[c.jsx(so,{className:"size-4 animate-spin"}),t("Loading models...")]}):o.length>0?c.jsxs(Zu,{value:u,onValueChange:d=>l({...n,model:d}),children:[c.jsx(qc,{children:c.jsx(ag,{})}),c.jsx(Kc,{children:o.map(d=>c.jsx(jo,{value:d.id,children:d.display_name},d.id))})]}):c.jsx("div",{className:"flex items-center h-10 px-3 text-sm text-muted-foreground rounded-lg border border-input",children:n.apiKey?t("Enter a valid API key to load models"):t("Enter API key first")})]}),c.jsxs("div",{className:"space-y-1",children:[c.jsx(Ot,{htmlFor:"llm-system-prompt",children:t("Rewrite instructions")}),c.jsx(dv,{id:"llm-system-prompt",rows:6,placeholder:t("e.g. Rewrite the following note to be concise and clear. Preserve the original meaning and tone."),value:n.systemPrompt,onChange:d=>l({...n,systemPrompt:d.target.value})})]}),c.jsxs("div",{className:"flex items-center justify-between min-h-9",children:[c.jsx(Ot,{htmlFor:"llm-auto-rewrite",className:"text-base font-normal",children:t("Auto-rewrite on publish")}),c.jsx(Ar,{id:"llm-auto-rewrite",checked:n.autoRewrite,onCheckedChange:d=>l({...n,autoRewrite:d})})]}),c.jsxs("p",{className:"text-xs text-muted-foreground",children:[t("Only Anthropic Claude is supported.")," ",c.jsx("a",{href:"https://git.mleku.dev/mleku/smesh",target:"_blank",rel:"noopener noreferrer",className:"underline",children:t("Create an issue or PR for other APIs")})]})]})}const iye=h.createContext(void 0),g1t=()=>{const t=h.useContext(iye);if(!t)throw new Error("useMediaUploadService must be used within MediaUploadServiceProvider");return t};function y1t({children:t}){const{pubkey:e,isInitialized:n,startLogin:r}=wt(),[o,s]=h.useState(()=>Xe.getMediaUploadServiceConfig(e??void 0));h.useEffect(()=>{const i=Xe.getMediaUploadServiceConfig(e??void 0);s(i),lh.setServiceConfig(i)},[e,n]);const a=i=>{if(!e){r();return}s(i),Xe.setMediaUploadServiceConfig(e,i),lh.setServiceConfig(i),kr()};return c.jsx(iye.Provider,{value:{serviceConfig:o,updateServiceConfig:a},children:t})}function v1t(){const{t}=qe(),{pubkey:e,publish:n}=wt(),[r,o]=h.useState(null),s=h.useMemo(()=>Iee(r?r.tags:[]),[r]),[a,i]=h.useState(""),[l,u]=h.useState(-1),[d,f]=h.useState(-1),[m,g]=h.useState(!1);h.useEffect(()=>{(async()=>{if(!e){o(null);return}const N=await ze.fetchBlossomServerListEvent(e);o(N)})()},[e]);const w=async I=>{if(!(!I||m||l>=0||d>=0)){g(!0);try{const N=XI([...s,I]),M=await n(N);await ze.updateBlossomServerListEventCache(M),o(M),i("")}catch(N){console.error("Failed to add Blossom URL:",N)}finally{g(!1)}}},b=I=>{if(I.key==="Enter"){I.preventDefault();const N=oy(a.trim());if(!N)return;w(N)}},j=async I=>{if(!(l>=0||m||d>=0)){u(I);try{const N=XI(s.filter((D,O)=>O!==I)),M=await n(N);await ze.updateBlossomServerListEventCache(M),o(M)}catch(N){console.error("Failed to remove Blossom URL:",N)}finally{u(-1)}}},S=async I=>{if(!(l>=0||m||d>=0||I===0)){f(I);try{const N=[s[I],...s.filter((O,L)=>L!==I)],M=XI(N),D=await n(M);await ze.updateBlossomServerListEventCache(D),o(D)}catch(N){console.error("Failed to move Blossom URL to top:",N)}finally{f(-1)}}};return c.jsxs("div",{className:"space-y-2",children:[c.jsx("div",{className:"text-sm font-medium",children:t("Blossom server URLs")}),s.length===0&&c.jsxs("div",{className:"flex flex-col gap-1 text-sm border rounded-lg p-2 bg-muted text-muted-foreground",children:[c.jsxs("div",{className:"font-medium flex gap-2 items-center",children:[c.jsx(Wse,{className:"size-4"}),t("You need to add at least one media server in order to upload media files.")]}),c.jsx(ri,{className:"bg-muted-foreground my-2"}),c.jsxs("div",{className:"font-medium",children:[t("Recommended blossom servers"),":"]}),c.jsx("div",{className:"flex flex-col",children:gk.map(I=>c.jsx(Le,{variant:"link",onClick:()=>w(I),disabled:l>=0||m||d>=0,className:"w-fit p-0 text-muted-foreground hover:text-foreground h-fit",children:I},I))})]}),s.map((I,N)=>c.jsxs("div",{className:Re("flex items-center justify-between gap-2 pl-3 pr-1 py-1 border rounded-lg",N===0&&"border-primary"),children:[c.jsx("a",{href:I,target:"_blank",rel:"noopener noreferrer",className:"truncate hover:underline",children:I}),c.jsxs("div",{className:"flex items-center gap-2",children:[N>0?c.jsx(Le,{variant:"ghost",size:"icon",onClick:()=>S(N),title:t("Move to top"),disabled:l>=0||m||d>=0,className:"text-muted-foreground",children:d===N?c.jsx(_r,{className:"animate-spin"}):c.jsx(f7e,{})}):c.jsx(Vl,{children:t("Preferred")}),c.jsx(Le,{variant:"ghost-destructive",size:"icon",onClick:()=>j(N),title:t("Remove"),disabled:l>=0||m||d>=0,children:l===N?c.jsx(_r,{className:"animate-spin"}):c.jsx(Us,{})})]})]},I)),c.jsxs("div",{className:"flex items-center gap-2",children:[c.jsx(On,{value:a,onChange:I=>i(I.target.value),placeholder:t("Enter Blossom server URL"),onKeyDown:b}),c.jsxs(Le,{type:"button",onClick:()=>{const I=oy(a.trim());I&&w(I)},title:t("Add"),children:[m&&c.jsx(_r,{className:"animate-spin"}),t("Add")]})]})]})}const u3="blossom";function lye(){const{t}=qe(),{serviceConfig:e,updateServiceConfig:n}=g1t(),r=h.useMemo(()=>e.type==="blossom"?u3:e.service,[e]),o=s=>n(s===u3?{type:"blossom"}:{type:"nip96",service:s});return c.jsxs("div",{className:"space-y-2",children:[c.jsx(Ot,{htmlFor:"media-upload-service-select",children:t("Media upload service")}),c.jsxs(Zu,{defaultValue:K3e,value:r,onValueChange:o,children:[c.jsx(qc,{id:"media-upload-service-select",className:"w-48",children:c.jsx(ag,{})}),c.jsxs(Kc,{children:[c.jsx(jo,{value:u3,children:t("Blossom")}),q3e.map(s=>c.jsx(jo,{value:s,children:la(s)},s))]})]}),r===u3&&c.jsx(v1t,{})]})}function cye(){const{t}=qe(),{defaultZapSats:e,updateDefaultSats:n}=zh(),[r,o]=h.useState(e);return c.jsxs("div",{className:"w-full space-y-1",children:[c.jsx(Ot,{htmlFor:"default-zap-amount-input",children:t("Default zap amount")}),c.jsx("div",{className:"flex w-full items-center gap-2",children:c.jsx(On,{id:"default-zap-amount-input",value:r,onChange:s=>{o(a=>{if(s.target.value==="")return 0;let i=parseInt(s.target.value,10);return(isNaN(i)||i<0)&&(i=a),i})},onBlur:()=>{n(r)}})})]})}function uye(){const{t}=qe(),{defaultZapComment:e,updateDefaultComment:n}=zh(),[r,o]=h.useState(e);return c.jsxs("div",{className:"w-full space-y-1",children:[c.jsx(Ot,{htmlFor:"default-zap-comment-input",children:t("Default zap comment")}),c.jsx("div",{className:"flex w-full items-center gap-2",children:c.jsx(On,{id:"default-zap-comment-input",value:r,onChange:s=>o(s.target.value),onBlur:()=>{n(r)}})})]})}function fye(){const{t}=qe(),{profile:e,profileEvent:n,publish:r,updateProfileEvent:o}=wt(),[s,a]=h.useState(""),[i,l]=h.useState(!1),[u,d]=h.useState(!1);if(h.useEffect(()=>{e&&a(e.lightningAddress||"")},[e]),!e||!n)return null;const f=async()=>{d(!0);const m=n?JSON.parse(n.content):{};if(s.startsWith("lnurl"))m.lud06=s;else if(sy(s))m.lud16=s;else if(s){on.error(t("Invalid Lightning Address. Please enter a valid Lightning Address or LNURL.")),d(!1);return}else delete m.lud16;const g=JT(JSON.stringify(m),n==null?void 0:n.tags),w=await r(g);await o(w),d(!1)};return c.jsxs("div",{className:"w-full space-y-1",children:[c.jsx(Ot,{htmlFor:"ln-address",children:t("Lightning Address (or LNURL)")}),c.jsxs("div",{className:"flex w-full items-center gap-2",children:[c.jsx(On,{id:"ln-address",placeholder:"xxxxxxxx@xxx.xxx",value:s,onChange:m=>{a(m.target.value),l(!0)}}),c.jsx(Le,{onClick:f,disabled:u||!i,className:"w-20",children:u?c.jsx(_r,{className:"animate-spin"}):t("Save")})]})]})}function dye(){const{t}=qe(),{quickZap:e,updateQuickZap:n}=zh();return c.jsxs("div",{className:"w-full flex justify-between items-center",children:[c.jsxs(Ot,{htmlFor:"quick-zap-switch",children:[c.jsx("div",{className:"text-base font-medium",children:t("Quick zap")}),c.jsx("div",{className:"text-muted-foreground text-sm",children:t("If enabled, you can zap with a single click. Click and hold for custom amounts")})]}),c.jsx(Ar,{id:"quick-zap-switch",checked:e,onCheckedChange:n})]})}const w1t=[{key:"system",label:"System",icon:c.jsx(sae,{className:"size-5"})},{key:"light",label:"Light",icon:c.jsx(gae,{className:"size-5"})},{key:"dark",label:"Dark",icon:c.jsx(aae,{className:"size-5"})}],b1t=[{key:!1,label:"Two-column",icon:c.jsx(Jk,{className:"size-5"})},{key:!0,label:"Single-column",icon:c.jsx(ej,{className:"size-5"})}],x1t=[{key:"detailed",label:"Detailed",icon:c.jsx(nae,{className:"size-5"})},{key:"compact",label:"Compact",icon:c.jsx(oae,{className:"size-5"})}],$Q=["general","appearance","relays","sync","wallet","posts","emoji-packs","messaging","system","tools"];function pye(){const{t,i18n:e}=qe(),{pubkey:n,nsec:r,ncryptsec:o}=wt(),{isSmallScreen:s}=gn(),[a,i]=h.useState(!1),[l,u]=h.useState(!1),[d,f]=h.useState(""),[m,g]=h.useState(-1),w=h.useRef([]),{activeColumn:b,scrollToCenter:j}=ii(),{current:S}=Lo(),I=n?$Q:$Q.filter(Ee=>!["sync","wallet","posts","emoji-packs","messaging"].includes(Ee)),N=h.useCallback(Ee=>{switch(Ee){case"up":return g(Pe=>{const Qe=Pe<=0?0:Pe-1;return setTimeout(()=>{const mt=w.current[Qe];mt&&j(mt)},0),Qe}),!0;case"down":return g(Pe=>{const Qe=Pe<0?0:Math.min(Pe+1,I.length-1);return setTimeout(()=>{const mt=w.current[Qe];mt&&j(mt)},0),Qe}),!0;case"activate":if(m>=0&&m<I.length){const Pe=I[m];return f(Qe=>Qe===Pe?"":Pe),!0}return!1;case"cancel":return d?(f(""),!0):!1;default:return!1}},[m,d,I,j]);xFe("settings-accordion",100,()=>b===1&&S==="settings",N,[N,b,S]),h.useEffect(()=>{b!==1&&g(-1)},[b]);const M=h.useCallback(Ee=>I.indexOf(Ee),[I]),D=h.useCallback(Ee=>m===M(Ee),[m,M]),O=h.useCallback(Ee=>Pe=>{const Qe=I.indexOf(Ee);Qe!==-1&&(w.current[Qe]=Pe)},[I]),[L,B]=h.useState(e.language),{nsfwDisplayPolicy:T,setNsfwDisplayPolicy:R,hideContentMentioningMutedUsers:z,setHideContentMentioningMutedUsers:Y,mediaAutoLoadPolicy:Q,setMediaAutoLoadPolicy:W,faviconUrlTemplate:F,setFaviconUrlTemplate:X}=lo(),{hideUntrustedNotes:$,updateHideUntrustedNotes:V,hideUntrustedInteractions:K,updateHideUntrustedInteractions:G,hideUntrustedNotifications:J,updateHideUntrustedNotifications:ne}=da(),{quickReaction:re,updateQuickReaction:de,quickReactionEmoji:Ne,updateQuickReactionEmoji:ve,enableSingleColumnLayout:xe,updateEnableSingleColumnLayout:ce,autoInsertNewNotes:pe,updateAutoInsertNewNotes:me,notificationListStyle:ke,updateNotificationListStyle:le}=ts(),{themeSetting:he,setThemeSetting:we,primaryColor:Ae,setPrimaryColor:Ve}=gf(),{isWalletConnected:Ze,walletInfo:nt}=zh(),[$e,Ke]=h.useState("favorite-relays"),[Me,et]=h.useState("my-packs"),[pt,ht]=h.useState(Xe.getFilterOutOnionRelays()),[st,De]=h.useState(Xe.getGraphQueriesEnabled()),[se,q]=h.useState(Xe.getPreferNip44()),[Z,ie]=h.useState(Xe.getAddClientTag()),[Ce,Te]=h.useState(!1),Se=h.useCallback(Ee=>{Ee.startsWith("nostr+walletconnect://")&&qoe(Ee)},[]),ye=Ee=>{e.changeLanguage(Ee),B(Ee)},We=h.useCallback(Ee=>{const Pe=window.scrollY;f(Ee),requestAnimationFrame(()=>{window.scrollTo(0,Pe)})},[]);return c.jsxs("div",{children:[c.jsxs(j1e,{type:"single",collapsible:!0,value:d,onValueChange:We,className:"w-full",children:[c.jsx(_c,{ref:O("general"),isSelected:D("general"),children:c.jsxs(Xs,{value:"general",children:[c.jsx(ea,{className:"px-4 hover:no-underline",children:c.jsxs("div",{className:"flex items-center gap-4",children:[c.jsx(iL,{className:"size-4"}),c.jsx("span",{children:t("General")})]})}),c.jsxs(ta,{className:"px-4 space-y-4",children:[c.jsxs(Cs,{children:[c.jsx(Ot,{htmlFor:"languages",className:"text-base font-normal",children:t("Languages")}),c.jsxs(Zu,{defaultValue:"en",value:L,onValueChange:ye,children:[c.jsx(qc,{id:"languages",className:"w-48",children:c.jsx(ag,{})}),c.jsx(Kc,{children:Object.entries(BR).map(([Ee,Pe])=>c.jsx(jo,{value:Ee,children:Pe},Ee))})]})]}),c.jsxs(Cs,{children:[c.jsx(Ot,{htmlFor:"media-auto-load-policy",className:"text-base font-normal",children:t("Auto-load media")}),c.jsxs(Zu,{defaultValue:"wifi-only",value:Q,onValueChange:Ee=>W(Ee),children:[c.jsx(qc,{id:"media-auto-load-policy",className:"w-48",children:c.jsx(ag,{})}),c.jsxs(Kc,{children:[c.jsx(jo,{value:Hu.ALWAYS,children:t("Always")}),Vee()&&c.jsx(jo,{value:Hu.WIFI_ONLY,children:t("Wi-Fi only")}),c.jsx(jo,{value:Hu.NEVER,children:t("Never")})]})]})]}),c.jsxs(Cs,{children:[c.jsxs(Ot,{htmlFor:"auto-insert-new-notes",className:"text-base font-normal",children:[c.jsx("div",{children:t("Live feed")}),c.jsx("div",{className:"text-muted-foreground",children:t("Automatically insert new notes into the feed")})]}),c.jsx(Ar,{id:"auto-insert-new-notes",checked:pe,onCheckedChange:me})]}),c.jsxs(Cs,{children:[c.jsx(Ot,{htmlFor:"hide-untrusted-notes",className:"text-base font-normal",children:t("Hide untrusted notes")}),c.jsx(Ar,{id:"hide-untrusted-notes",checked:$,onCheckedChange:V})]}),c.jsxs(Cs,{children:[c.jsx(Ot,{htmlFor:"hide-untrusted-interactions",className:"text-base font-normal",children:t("Hide untrusted interactions")}),c.jsx(Ar,{id:"hide-untrusted-interactions",checked:K,onCheckedChange:G})]}),c.jsxs(Cs,{children:[c.jsx(Ot,{htmlFor:"hide-untrusted-notifications",className:"text-base font-normal",children:t("Hide untrusted notifications")}),c.jsx(Ar,{id:"hide-untrusted-notifications",checked:J,onCheckedChange:ne})]}),c.jsxs(Cs,{children:[c.jsx(Ot,{htmlFor:"hide-content-mentioning-muted-users",className:"text-base font-normal",children:t("Hide content mentioning muted users")}),c.jsx(Ar,{id:"hide-content-mentioning-muted-users",checked:z,onCheckedChange:Y})]}),c.jsxs(Cs,{children:[c.jsx(Ot,{htmlFor:"nsfw-display-policy",className:"text-base font-normal",children:t("NSFW content display")}),c.jsxs(Zu,{value:T,onValueChange:Ee=>R(Ee),children:[c.jsx(qc,{id:"nsfw-display-policy",className:"w-48",children:c.jsx(ag,{})}),c.jsxs(Kc,{children:[c.jsx(jo,{value:Ul.HIDE,children:t("Hide completely")}),c.jsx(jo,{value:Ul.HIDE_CONTENT,children:t("Show but hide content")}),c.jsx(jo,{value:Ul.SHOW,children:t("Show directly")})]})]})]}),c.jsxs(Cs,{children:[c.jsxs(Ot,{htmlFor:"quick-reaction",className:"text-base font-normal",children:[c.jsx("div",{children:t("Quick reaction")}),c.jsx("div",{className:"text-muted-foreground",children:t("If enabled, you can react with a single click. Click and hold for more options")})]}),c.jsx(Ar,{id:"quick-reaction",checked:re,onCheckedChange:de})]}),re&&c.jsxs(Cs,{children:[c.jsx(Ot,{htmlFor:"quick-reaction-emoji",className:"text-base font-normal",children:t("Quick reaction emoji")}),c.jsxs("div",{className:"flex items-center gap-2",children:[c.jsx(Le,{variant:"ghost",size:"icon",onClick:()=>ve("+"),className:"text-muted-foreground hover:text-foreground",children:c.jsx(uae,{})}),c.jsx(K7,{onEmojiClick:Ee=>{Ee&&ve(Ee)},children:c.jsx(Le,{variant:"ghost",size:"icon",className:"border",children:c.jsx(Mi,{emoji:Ne})})})]})]})]})]})}),c.jsx(_c,{ref:O("appearance"),isSelected:D("appearance"),children:c.jsxs(Xs,{value:"appearance",children:[c.jsx(ea,{className:"px-4 hover:no-underline",children:c.jsxs("div",{className:"flex items-center gap-4",children:[c.jsx(O7e,{className:"size-4"}),c.jsx("span",{children:t("Appearance")})]})}),c.jsxs(ta,{className:"px-4 space-y-4",children:[c.jsxs("div",{className:"flex flex-col gap-2",children:[c.jsx(Ot,{className:"text-base",children:t("Theme")}),c.jsx("div",{className:"grid grid-cols-2 md:grid-cols-4 gap-4 w-full",children:w1t.map(({key:Ee,label:Pe,icon:Qe})=>c.jsx(f3,{isSelected:he===Ee,icon:Qe,label:t(Pe),onClick:()=>we(Ee)},Ee))})]}),!s&&c.jsxs("div",{className:"flex flex-col gap-2",children:[c.jsx(Ot,{className:"text-base",children:t("Layout")}),c.jsx("div",{className:"grid grid-cols-2 gap-4 w-full",children:b1t.map(({key:Ee,label:Pe,icon:Qe})=>c.jsx(f3,{isSelected:xe===Ee,icon:Qe,label:t(Pe),onClick:()=>ce(Ee)},Ee.toString()))})]}),c.jsxs("div",{className:"flex flex-col gap-2",children:[c.jsx(Ot,{className:"text-base",children:t("Notification list style")}),c.jsx("div",{className:"grid grid-cols-2 gap-4 w-full",children:x1t.map(({key:Ee,label:Pe,icon:Qe})=>c.jsx(f3,{isSelected:ke===Ee,icon:Qe,label:t(Pe),onClick:()=>le(Ee)},Ee))})]}),c.jsxs("div",{className:"flex flex-col gap-2",children:[c.jsx(Ot,{className:"text-base",children:t("Primary color")}),c.jsx("div",{className:"grid grid-cols-4 gap-4 w-full",children:Object.entries(vk).map(([Ee,Pe])=>c.jsx(f3,{isSelected:Ae===Ee,icon:c.jsx("div",{className:"size-8 rounded-full shadow-md",style:{backgroundColor:`hsl(${Pe.light.primary})`}}),label:t(Pe.name),onClick:()=>Ve(Ee)},Ee))})]})]})]})}),c.jsx(_c,{ref:O("relays"),isSelected:D("relays"),children:c.jsxs(Xs,{value:"relays",children:[c.jsx(ea,{className:"px-4 hover:no-underline",children:c.jsxs("div",{className:"flex items-center gap-4",children:[c.jsx(ei,{className:"size-4"}),c.jsx("span",{children:t("Relays")})]})}),c.jsx(ta,{className:"px-4",children:c.jsxs(Ex,{value:$e,onValueChange:Ke,className:"space-y-4",children:[c.jsxs(lv,{children:[c.jsx(rl,{value:"favorite-relays",children:t("Favorite Relays")}),c.jsx(rl,{value:"mailbox",children:t("Read & Write Relays")}),c.jsx(rl,{value:"cache-relays",children:t("Cache Relays")}),c.jsx(rl,{value:"outbox",children:t("Outbox")})]}),c.jsx(ol,{value:"favorite-relays",children:c.jsx(u0e,{})}),c.jsx(ol,{value:"mailbox",children:c.jsx(K0e,{})}),c.jsx(ol,{value:"cache-relays",children:c.jsx(ymt,{})}),c.jsx(ol,{value:"outbox",children:c.jsx(fgt,{})})]})})]})}),!!n&&c.jsx(_c,{ref:O("sync"),isSelected:D("sync"),children:c.jsxs(Xs,{value:"sync",children:[c.jsx(ea,{className:"px-4 hover:no-underline",children:c.jsxs("div",{className:"flex items-center gap-4",children:[c.jsx(Hl,{className:"size-4"}),c.jsx("span",{children:t("Device Sync")})]})}),c.jsx(ta,{className:"px-4",children:c.jsx(m1t,{})})]})}),!!n&&c.jsx(_c,{ref:O("wallet"),isSelected:D("wallet"),children:c.jsxs(Xs,{value:"wallet",children:[c.jsx(ea,{className:"px-4 hover:no-underline",children:c.jsxs("div",{className:"flex items-center gap-4",children:[c.jsx(uL,{className:"size-4"}),c.jsx("span",{children:t("Wallet")})]})}),c.jsx(ta,{className:"px-4 space-y-4",children:Ze?c.jsxs(c.Fragment,{children:[c.jsxs("div",{children:[(nt==null?void 0:nt.node.alias)&&c.jsxs("div",{className:"mb-2",children:[t("Connected to")," ",c.jsx("strong",{children:nt.node.alias})]}),c.jsxs(af,{children:[c.jsx(Ng,{asChild:!0,children:c.jsx(Le,{variant:"destructive",children:t("Disconnect Wallet")})}),c.jsxs(nu,{children:[c.jsxs(ru,{children:[c.jsx(su,{children:t("Are you absolutely sure?")}),c.jsx(au,{children:t("You will not be able to send zaps to others.")})]}),c.jsxs(ou,{children:[c.jsx(cf,{children:t("Cancel")}),c.jsx(lf,{variant:"destructive",onClick:()=>Koe(),children:t("Disconnect")})]})]})]})]}),c.jsx(cye,{}),c.jsx(uye,{}),c.jsx(dye,{}),c.jsx(fye,{})]}):c.jsxs(c.Fragment,{children:[Ce&&c.jsx(fx,{onScan:Se,onClose:()=>Te(!1)}),c.jsxs("div",{className:"flex items-center gap-2",children:[c.jsx(Le,{className:"bg-foreground hover:bg-foreground/90",onClick:()=>VD(),children:t("Connect Wallet")}),c.jsx(Le,{variant:"outline",size:"icon",onClick:()=>Te(!0),title:t("Scan NWC QR code"),children:c.jsx(SS,{className:"h-4 w-4"})})]})]})})]})}),!!n&&c.jsx(_c,{ref:O("posts"),isSelected:D("posts"),children:c.jsxs(Xs,{value:"posts",children:[c.jsx(ea,{className:"px-4 hover:no-underline",children:c.jsxs("div",{className:"flex items-center gap-4",children:[c.jsx(o2,{className:"size-4"}),c.jsx("span",{children:t("Post settings")})]})}),c.jsxs(ta,{className:"px-4 space-y-4",children:[c.jsx(lye,{}),c.jsx(aye,{}),c.jsxs(Cs,{children:[c.jsxs("div",{children:[c.jsx(Ot,{htmlFor:"add-client-tag",className:"text-base font-normal",children:t("Include client tag")}),c.jsx("p",{className:"text-sm text-muted-foreground",children:t("Add a tag to identify posts as coming from smesh")})]}),c.jsx(Ar,{id:"add-client-tag",checked:Z,onCheckedChange:Ee=>{Xe.setAddClientTag(Ee),ie(Ee),kr()}})]})]})]})}),!!n&&c.jsx(_c,{ref:O("emoji-packs"),isSelected:D("emoji-packs"),children:c.jsxs(Xs,{value:"emoji-packs",children:[c.jsx(ea,{className:"px-4 hover:no-underline",children:c.jsxs("div",{className:"flex items-center gap-4",children:[c.jsx(mae,{className:"size-4"}),c.jsx("span",{children:t("Emoji Packs")})]})}),c.jsxs(ta,{className:"px-4",children:[c.jsx(Px,{value:Me,tabs:[{value:"my-packs",label:"My Packs"},{value:"explore",label:"Explore"}],onTabChange:Ee=>et(Ee)}),Me==="my-packs"?c.jsx(z1e,{}):c.jsx(a1,{showKinds:[Ue.Emojisets],subRequests:[{urls:ze.currentRelays,filter:{}}],hideUntrustedNotes:$})]})]})}),!!n&&c.jsx(_c,{ref:O("messaging"),isSelected:D("messaging"),children:c.jsxs(Xs,{value:"messaging",children:[c.jsx(ea,{className:"px-4 hover:no-underline",children:c.jsxs("div",{className:"flex items-center gap-4",children:[c.jsx(rf,{className:"size-4"}),c.jsx("span",{children:t("Messaging")})]})}),c.jsx(ta,{className:"px-4 space-y-4",children:c.jsxs(Cs,{children:[c.jsxs(Ot,{htmlFor:"prefer-nip44",className:"text-base font-normal",children:[c.jsx("div",{children:t("Prefer NIP-44 encryption")}),c.jsx("div",{className:"text-muted-foreground text-sm",children:t("Use modern encryption for new conversations")})]}),c.jsx(Ar,{id:"prefer-nip44",checked:se,onCheckedChange:Ee=>{Xe.setPreferNip44(Ee),q(Ee),kr()}})]})})]})}),c.jsx(_c,{ref:O("system"),isSelected:D("system"),children:c.jsxs(Xs,{value:"system",children:[c.jsx(ea,{className:"px-4 hover:no-underline",children:c.jsxs("div",{className:"flex items-center gap-4",children:[c.jsx(x7e,{className:"size-4"}),c.jsx("span",{children:t("System")})]})}),c.jsxs(ta,{className:"px-4 space-y-4",children:[c.jsxs("div",{className:"space-y-2",children:[c.jsx(Ot,{htmlFor:"favicon-url",className:"text-base font-normal",children:t("Favicon URL")}),c.jsx(On,{id:"favicon-url",type:"text",value:F,onChange:Ee=>X(Ee.target.value),placeholder:yk})]}),c.jsxs(Cs,{children:[c.jsx(Ot,{htmlFor:"filter-out-onion-relays",className:"text-base font-normal",children:t("Filter out onion relays")}),c.jsx(Ar,{id:"filter-out-onion-relays",checked:pt,onCheckedChange:Ee=>{Xe.setFilterOutOnionRelays(Ee),ht(Ee),kr()}})]}),c.jsxs(Cs,{children:[c.jsxs("div",{children:[c.jsx(Ot,{htmlFor:"graph-queries-enabled",className:"text-base font-normal",children:t("Graph query optimization")}),c.jsx("p",{className:"text-sm text-muted-foreground",children:t("Use graph queries for faster follow/thread loading on supported relays")})]}),c.jsx(Ar,{id:"graph-queries-enabled",checked:st,onCheckedChange:Ee=>{Xe.setGraphQueriesEnabled(Ee),De(Ee),kr()}})]})]})]})}),c.jsx(_c,{ref:O("tools"),isSelected:D("tools"),children:c.jsxs(Xs,{value:"tools",children:[c.jsx(ea,{className:"px-4 hover:no-underline",children:c.jsxs("div",{className:"flex items-center gap-4",children:[c.jsx(oPe,{className:"size-4"}),c.jsx("span",{children:t("Tools")})]})}),c.jsx(ta,{className:"px-4 space-y-4",children:c.jsxs("div",{className:"space-y-2",children:[c.jsx("h4",{className:"font-medium",children:t("Relay Discovery")}),c.jsx(xpt,{})]})})]})})]}),!!r&&c.jsxs(Cs,{className:"clickable",onClick:()=>{navigator.clipboard.writeText(r),i(!0),setTimeout(()=>i(!1),2e3)},children:[c.jsxs("div",{className:"flex items-center gap-4",children:[c.jsx(pY,{}),c.jsxs("div",{children:[t("Copy private key")," (nsec)"]})]}),a?c.jsx(Zr,{}):c.jsx(Pa,{})]}),!!o&&c.jsxs(Cs,{className:"clickable",onClick:()=>{navigator.clipboard.writeText(o),u(!0),setTimeout(()=>u(!1),2e3)},children:[c.jsxs("div",{className:"flex items-center gap-4",children:[c.jsx(pY,{}),c.jsxs("div",{children:[t("Copy private key")," (ncryptsec)"]})]}),l?c.jsx(Zr,{}):c.jsx(Pa,{})]}),c.jsx(vpt,{children:c.jsxs(Cs,{className:"clickable",children:[c.jsxs("div",{className:"flex items-center gap-4",children:[c.jsx(sL,{}),c.jsx("div",{children:t("About")})]}),c.jsx("div",{className:"flex gap-2 items-center",children:c.jsxs("div",{className:"text-muted-foreground",children:["v","0.6.10"," (","f7e2166c",")"]})})]})}),c.jsx("div",{className:"p-4",children:c.jsx(bpt,{})})]})}const Cs=h.forwardRef(({children:t,className:e,...n},r)=>c.jsx("div",{className:Re("flex justify-between select-none items-center px-4 min-h-9 [&_svg]:size-4 [&_svg]:shrink-0",e),...n,ref:r,children:t}));Cs.displayName="SettingItem";const f3=({isSelected:t,onClick:e,icon:n,label:r})=>c.jsxs("button",{onClick:e,className:Re("flex flex-col items-center gap-2 py-4 rounded-lg border-2 transition-all",t?"border-primary":"border-border hover:border-muted-foreground/40"),children:[c.jsx("div",{className:"flex items-center justify-center w-8 h-8",children:n}),c.jsx("span",{className:"text-xs font-medium",children:r})]}),_c=h.forwardRef(({isSelected:t,children:e},n)=>c.jsx("div",{ref:n,className:Re("rounded-lg transition-all",t&&"ring-2 ring-primary ring-offset-2 ring-offset-background"),children:e}));_c.displayName="NavigableAccordionItem";const hye=h.forwardRef((t,e)=>c.jsx(Xl,{pageName:"settings",ref:e,titlebar:c.jsx(k1t,{}),displayScrollToTopButton:!0,children:c.jsx(pye,{})}));hye.displayName="SettingsPage";function k1t(){const{t}=qe();return c.jsxs("div",{className:"flex gap-2 items-center h-full pl-3",children:[c.jsx(Ch,{}),c.jsx("div",{className:"text-lg font-semibold",children:t("Settings")})]})}const mye=[{key:"home",component:M1e},{key:"inbox",component:xR},{key:"notifications",component:T1e},{key:"me",component:E1e},{key:"profile",component:D1e},{key:"relay",component:P1e},{key:"search",component:O1e},{key:"bookmark",component:n1e},{key:"settings",component:hye},{key:"help",component:S1e},{key:"chat",component:xR}],gye=mye.reduce((t,{key:e})=>(t[e]=h.createRef(),t),{}),VQ=mye.reduce((t,{key:e,component:n})=>(t[e]=c.jsx(n,{ref:gye[e]}),t),{}),yye=h.forwardRef(({channelId:t},e)=>{const n=h.useRef(null),{selectChannelById:r}=gc(),{pop:o}=kn();h.useImperativeHandle(e,()=>n.current),h.useEffect(()=>{t&&r(t)},[t,r]),h.useEffect(()=>()=>{r(null)},[]);const s=()=>{r(null),o()};return c.jsxs("div",{className:"flex flex-col h-[var(--vh)]",children:[c.jsx(I2,{className:"p-1 shrink-0",hideBottomBorder:!0,children:c.jsx("div",{className:"flex items-center w-full px-1",children:c.jsx(Le,{className:"flex gap-1 items-center justify-start pl-2 pr-1",variant:"ghost",size:"titlebar-icon",title:"Back to channels",onClick:s,children:c.jsx(bS,{})})})}),c.jsx("div",{className:"flex-1 min-h-0",children:c.jsx(r1e,{})})]})});yye.displayName="ChatChannelPage";const vr=h.forwardRef(({children:t,index:e,title:n,controls:r,hideBackButton:o=!1,hideTitlebarBottomBorder:s=!1,displayScrollToTopButton:a=!1,titlebar:i},l)=>{const u=h.useRef(null),{enableSingleColumnLayout:d}=ts(),{currentIndex:f}=kn();return h.useImperativeHandle(l,()=>({scrollToTop:(m="smooth")=>{setTimeout(()=>{if(u.current)return u.current.scrollTo({top:0,behavior:m});window.scrollTo({top:0,behavior:m})},10)}}),[]),h.useEffect(()=>{if(d){setTimeout(()=>window.scrollTo({top:0}),10);return}},[]),d?c.jsxs(Yj,{active:f===e,children:[c.jsxs("div",{style:{paddingBottom:"env(safe-area-inset-bottom)"},children:[c.jsx(HQ,{title:n,controls:r,hideBackButton:o,hideBottomBorder:s,titlebar:i}),t]}),a&&c.jsx(Kj,{})]}):c.jsxs(Yj,{active:f===e,scrollAreaRef:u,children:[c.jsxs(Fa,{className:"h-full overflow-auto",scrollBarClassName:"z-30 pt-12",ref:u,children:[c.jsx(HQ,{title:n,controls:r,hideBackButton:o,hideBottomBorder:s,titlebar:i}),t,c.jsx("div",{className:"h-4"})]}),a&&c.jsx(Kj,{scrollAreaRef:u})]})});vr.displayName="SecondaryPageLayout";function HQ({title:t,controls:e,hideBackButton:n=!1,hideBottomBorder:r=!1,titlebar:o}){return o?c.jsx(I2,{className:"p-1",hideBottomBorder:r,children:o}):c.jsxs(I2,{className:"flex gap-1 p-1 items-center justify-between font-semibold",hideBottomBorder:r,children:[n?c.jsx("div",{className:"flex gap-2 items-center pl-3 w-fit truncate text-lg font-semibold",children:t}):c.jsx("div",{className:"flex items-center flex-1 w-0",children:c.jsx(j1t,{children:t})}),c.jsx("div",{className:"flex-shrink-0",children:e})]})}function j1t({children:t}){const{t:e}=qe(),{pop:n}=kn();return c.jsxs(Le,{className:"flex gap-1 items-center w-fit max-w-full justify-start pl-2 pr-3",variant:"ghost",size:"titlebar-icon",title:e("back"),onClick:()=>n(),children:[c.jsx(bS,{}),c.jsx("div",{className:"truncate text-lg font-semibold",children:t})]})}const C1t=[{key:"system",label:"System",icon:c.jsx(sae,{className:"size-5"})},{key:"light",label:"Light",icon:c.jsx(gae,{className:"size-5"})},{key:"dark",label:"Dark",icon:c.jsx(aae,{className:"size-5"})}],S1t=[{key:!1,label:"Two-column",icon:c.jsx(Jk,{className:"size-5"})},{key:!0,label:"Single-column",icon:c.jsx(ej,{className:"size-5"})}],E1t=[{key:"detailed",label:"Detailed",icon:c.jsx(nae,{className:"size-5"})},{key:"compact",label:"Compact",icon:c.jsx(oae,{className:"size-5"})}],vye=h.forwardRef(({index:t},e)=>{const{t:n}=qe(),{isSmallScreen:r}=gn(),{themeSetting:o,setThemeSetting:s,primaryColor:a,setPrimaryColor:i}=gf(),{enableSingleColumnLayout:l,updateEnableSingleColumnLayout:u,notificationListStyle:d,updateNotificationListStyle:f}=ts();return c.jsx(vr,{ref:e,index:t,title:n("Appearance"),children:c.jsxs("div",{className:"space-y-4 my-3",children:[c.jsxs("div",{className:"flex flex-col gap-2 px-4",children:[c.jsx(Ot,{className:"text-base",children:n("Theme")}),c.jsx("div",{className:"grid grid-cols-2 md:grid-cols-4 gap-4 w-full",children:C1t.map(({key:m,label:g,icon:w})=>c.jsx(d3,{isSelected:o===m,icon:w,label:n(g),onClick:()=>s(m)},m))})]}),!r&&c.jsxs("div",{className:"flex flex-col gap-2 px-4",children:[c.jsx(Ot,{className:"text-base",children:n("Layout")}),c.jsx("div",{className:"grid grid-cols-2 gap-4 w-full",children:S1t.map(({key:m,label:g,icon:w})=>c.jsx(d3,{isSelected:l===m,icon:w,label:n(g),onClick:()=>u(m)},m.toString()))})]}),c.jsxs("div",{className:"flex flex-col gap-2 px-4",children:[c.jsx(Ot,{className:"text-base",children:n("Notification list style")}),c.jsx("div",{className:"grid grid-cols-2 gap-4 w-full",children:E1t.map(({key:m,label:g,icon:w})=>c.jsx(d3,{isSelected:d===m,icon:w,label:n(g),onClick:()=>f(m)},m))})]}),c.jsxs("div",{className:"flex flex-col gap-2 px-4",children:[c.jsx(Ot,{className:"text-base",children:n("Primary color")}),c.jsx("div",{className:"grid grid-cols-4 gap-4 w-full",children:Object.entries(vk).map(([m,g])=>c.jsx(d3,{isSelected:a===m,icon:c.jsx("div",{className:"size-8 rounded-full shadow-md",style:{backgroundColor:`hsl(${g.light.primary})`}}),label:n(g.name),onClick:()=>i(m)},m))})]})]})})});vye.displayName="AppearanceSettingsPage";const d3=({isSelected:t,onClick:e,icon:n,label:r})=>c.jsxs("button",{onClick:e,className:Re("flex flex-col items-center gap-2 py-4 rounded-lg border-2 transition-all",t?"border-primary":"border-border hover:border-muted-foreground/40"),children:[c.jsx("div",{className:"flex items-center justify-center w-8 h-8",children:n}),c.jsx("span",{className:"text-xs font-medium",children:r})]}),wye=h.forwardRef(({index:t},e)=>{const{t:n}=qe();return c.jsx(vr,{index:t,title:n("Bookmarks"),displayScrollToTopButton:!0,ref:e,children:c.jsx(t1e,{})})});wye.displayName="BookmarkPage";function N1t(){const{t}=qe(),{sendMessage:e,currentConversation:n}=bf(),{relayList:r}=wt(),[o,s]=h.useState(""),[a,i]=h.useState(!1),[l,u]=h.useState(null),[d,f]=h.useState(!1),[m,g]=h.useState(new Set),w=h.useRef(null),b=h.useMemo(()=>(r==null?void 0:r.write)||[],[r]);h.useEffect(()=>{b.length>0&&m.size===0&&g(new Set(b))},[b]),h.useEffect(()=>{if(n&&!cu()){const D=setTimeout(()=>{var O;return(O=w.current)==null?void 0:O.focus()},100);return()=>clearTimeout(D)}},[n]);const j=h.useCallback(()=>{const D=w.current;if(!D)return;D.style.height="auto";const O=window.innerHeight*.5;D.style.height=`${Math.min(D.scrollHeight,O)}px`,D.style.overflowY=D.scrollHeight>O?"auto":"hidden"},[]),S=D=>{g(O=>{const L=new Set(O);return L.has(D)?L.size>1&&L.delete(D):L.add(D),L})},I=async()=>{if(!(!o.trim()||!n||a)){i(!0),u(null);try{const D=Array.from(m);await e(o.trim(),D.length>0?D:void 0),s(""),w.current&&(w.current.style.height="auto",w.current.style.overflowY="hidden",w.current.focus())}catch(D){console.error("Failed to send message:",D),u(D instanceof Error?D.message:t("Failed to send message"))}finally{i(!1)}}},N=D=>{D.key==="Enter"&&(D.ctrlKey||D.metaKey)&&(D.preventDefault(),I())},M=D=>D.replace(/^wss?:\/\//,"").replace(/\/$/,"");return c.jsxs("div",{className:"p-3 space-y-2",children:[l&&c.jsxs("div",{className:"flex items-center gap-2 text-destructive text-xs",children:[c.jsx(Wse,{className:"size-3 flex-shrink-0"}),c.jsx("span",{children:l})]}),c.jsx("div",{className:"flex items-center gap-3",children:b.length>0&&c.jsx("div",{className:"space-y-1",children:c.jsxs("button",{onClick:()=>f(!d),className:"flex items-center gap-1 text-xs text-muted-foreground hover:text-foreground transition-colors",children:[d?c.jsx(bd,{className:"size-3"}):c.jsx(cc,{className:"size-3"}),c.jsxs("span",{children:[t("Relays")," (",m.size,"/",b.length,")"]})]})})}),d&&b.length>0&&c.jsx("div",{className:"flex flex-wrap gap-1",children:b.map(D=>c.jsx("button",{onClick:()=>S(D),className:Re("text-xs px-2 py-0.5 rounded-full border transition-colors",m.has(D)?"bg-primary text-primary-foreground border-primary":"bg-muted text-muted-foreground border-muted hover:border-primary/50"),title:D,children:M(D)},D))}),c.jsxs("div",{className:"flex items-end gap-2",children:[c.jsx(dv,{ref:w,value:o,onChange:D=>{s(D.target.value),l&&u(null),j()},onKeyDown:N,placeholder:t("Type a message..."),className:"min-h-[40px] resize-none overflow-hidden",disabled:a||!n}),c.jsx(Le,{onClick:I,disabled:!o.trim()||a||!n,size:"icon",className:"flex-shrink-0",children:a?c.jsx(so,{className:"size-4 animate-spin"}):c.jsx(fae,{className:"size-4"})})]})]})}function I1t({content:t,className:e,isOwnMessage:n}){const{push:r}=kn(),o=h.useMemo(()=>qg(t,[VS,dx,nv]),[t]),s=Re("underline cursor-pointer hover:opacity-80",n?"text-primary-foreground":"text-primary");return c.jsx("span",{className:Re("whitespace-pre-wrap break-words",e),children:o.map((a,i)=>{if(a.type==="text")return a.data;if(a.type==="url"||a.type==="image"||a.type==="media"){const l=a.data;return c.jsx("a",{href:l,target:"_blank",rel:"noreferrer",className:s,onClick:u=>u.stopPropagation(),children:jb(l)},i)}if(a.type==="youtube"||a.type==="x-post"){const l=a.data;return c.jsx("a",{href:l,target:"_blank",rel:"noreferrer",className:s,onClick:u=>u.stopPropagation(),children:jb(l)},i)}if(a.type==="mention"){const l=a.data.replace("nostr:","");return c.jsxs("button",{className:s,onClick:u=>{u.stopPropagation(),r(wf(l))},children:["@",l.slice(0,12),"..."]},i)}if(a.type==="event"){const l=a.data.replace("nostr:",""),d=l.startsWith("note1")?"note":l.startsWith("nevent")?"nevent":"naddr";return c.jsxs("button",{className:s,onClick:f=>{f.stopPropagation(),r(yl(l))},children:[d,":",l.slice(d.length,d.length+8),"..."]},i)}return null})})}function A1t({message:t,open:e,onOpenChange:n,onRelaysUpdated:r}){const{t:o}=qe(),[s,a]=h.useState(!1),[i,l]=h.useState([]);if(!t)return null;const u=[...t.seenOnRelays||[],...i],d=[...new Set(u)],f=async()=>{a(!0);try{const g=await Dl.checkOtherRelaysForEvent(t.id,d);if(g.length>0){const w=[...i,...g];l(w),r==null||r([...t.seenOnRelays||[],...w])}}catch(g){console.error("Failed to check other relays:",g)}finally{a(!1)}},m=g=>{try{const w=new URL(g);return w.hostname+(w.pathname!=="/"?w.pathname:"")}catch{return g}};return c.jsx(Ls,{open:e,onOpenChange:n,children:c.jsxs(ms,{className:"max-w-sm",children:[c.jsx(Za,{children:c.jsxs(Qa,{className:"flex items-center gap-2",children:[c.jsx(ei,{className:"size-4"}),o("Message Info")]})}),c.jsxs("div",{className:"space-y-4",children:[c.jsxs("div",{children:[c.jsx("span",{className:"text-sm font-medium text-muted-foreground",children:o("Encryption")}),c.jsx("p",{className:"text-sm mt-1",children:t.encryptionType==="nip17"?"NIP-44 (Gift Wrap)":"NIP-04 (Legacy)"})]}),c.jsxs("div",{children:[c.jsx("span",{className:"text-sm font-medium text-muted-foreground",children:o("Seen on relays")}),d.length>0?c.jsx("ul",{className:"mt-1 space-y-1",children:d.map(g=>c.jsx("li",{className:"text-sm font-mono bg-muted px-2 py-1 rounded truncate",title:g,children:m(g)},g))}):c.jsx("p",{className:"text-sm text-muted-foreground mt-1",children:o("No relay information available")})]}),c.jsx(Le,{variant:"outline",size:"sm",className:"w-full",onClick:f,disabled:s,children:s?c.jsxs(c.Fragment,{children:[c.jsx(so,{className:"size-4 mr-2 animate-spin"}),o("Checking...")]}):c.jsxs(c.Fragment,{children:[c.jsx(Hl,{className:"size-4 mr-2"}),o("Check for other relays")]})})]})]})})}function bye({partnerPubkey:t,open:e,onOpenChange:n,selectedRelays:r,onSelectedRelaysChange:o}){const{t:s}=qe(),{pubkey:a,relayList:i,hasNip44Support:l}=wt(),[u,d]=h.useState(null),[f,m]=h.useState(!1),[g,w]=h.useState([]),[b,j]=h.useState("auto"),[S,I]=h.useState(0),N=[{label:"No expiry",seconds:0},{label:"1 day",seconds:86400},{label:"1 week",seconds:604800},{label:"1 month",seconds:2592e3}];h.useEffect(()=>{if(!e||!t)return;(async()=>{m(!0);try{const z=await ze.fetchRelayList(t);d(z)}catch(z){console.error("Failed to fetch partner relay list:",z)}finally{m(!1)}})()},[e,t]),h.useEffect(()=>{if(!e||!t||!a)return;(async()=>{const z=await kt.getConversationEncryptionPreference(a,t);j(z||"auto");const Y=await kt.getConversationExpirationPreference(a,t);I(Y)})()},[e,t,a]);const M=async R=>{j(R),a&&t&&await kt.putConversationEncryptionPreference(a,t,R)},D=async R=>{I(R),a&&t&&await kt.putConversationExpirationPreference(a,t,R)};h.useEffect(()=>{if(!i||!u)return;const R=new Set(i.write.map(W=>W.replace(/\/$/,""))),z=new Set(u.read.map(W=>W.replace(/\/$/,""))),Y=new Set;i.write.forEach(W=>Y.add(W.replace(/\/$/,""))),u.read.forEach(W=>Y.add(W.replace(/\/$/,"")));const Q=Array.from(Y).map(W=>{const F=W.replace(/\/$/,""),X=R.has(F),$=z.has(F);return{url:W,isYours:X,isTheirs:$,isShared:X&&$}});if(Q.sort((W,F)=>W.isShared&&!F.isShared?-1:!W.isShared&&F.isShared?1:W.isYours&&!F.isYours?-1:!W.isYours&&F.isYours?1:W.url.localeCompare(F.url)),w(Q),r.length===0){const W=Q.filter(F=>F.isShared).map(F=>F.url);W.length>0&&o(W)}},[i,u]);const O=R=>{r.includes(R)?o(r.filter(z=>z!==R)):o([...r,R])},L=()=>{const R=g.filter(z=>z.isShared).map(z=>z.url);o(R)},B=()=>{o(g.map(R=>R.url))},T=R=>{try{const z=new URL(R);return z.hostname+(z.pathname!=="/"?z.pathname:"")}catch{return R}};return!t||!a?null:c.jsx(Ls,{open:e,onOpenChange:n,children:c.jsxs(ms,{className:"max-w-md max-h-[80vh] flex flex-col",children:[c.jsx(Za,{children:c.jsx(Qa,{children:s("Conversation Settings")})}),c.jsxs("div",{className:"flex-1 overflow-hidden flex flex-col gap-4",children:[c.jsxs("div",{className:"space-y-2",children:[c.jsx(Ot,{className:"text-sm font-medium",children:s("Encryption")}),c.jsxs(V7,{value:b,onValueChange:R=>M(R),className:"grid grid-cols-3 gap-2",children:[c.jsxs("div",{className:"flex items-center space-x-2",children:[c.jsx(rb,{value:"auto",id:"enc-auto"}),c.jsxs(Ot,{htmlFor:"enc-auto",className:"flex items-center gap-1 text-xs cursor-pointer",children:[c.jsx(uc,{className:"size-3"}),s("Auto")]})]}),c.jsxs("div",{className:"flex items-center space-x-2",children:[c.jsx(rb,{value:"nip04",id:"enc-nip04"}),c.jsxs(Ot,{htmlFor:"enc-nip04",className:"flex items-center gap-1 text-xs cursor-pointer",children:[c.jsx(jS,{className:"size-3"}),"NIP-04"]})]}),c.jsxs("div",{className:"flex items-center space-x-2",children:[c.jsx(rb,{value:"nip17",id:"enc-nip17",disabled:!l}),c.jsxs(Ot,{htmlFor:"enc-nip17",className:`flex items-center gap-1 text-xs cursor-pointer ${l?"":"opacity-50"}`,children:[c.jsx(uh,{className:"size-3"}),"NIP-17"]})]})]}),c.jsx("p",{className:"text-xs text-muted-foreground",children:s(b==="auto"?"Matches existing conversation encryption, or sends both on first message":b==="nip04"?"Classic encryption (NIP-04) - compatible with all clients":"Modern encryption (NIP-17) - more private with metadata protection")})]}),c.jsxs("div",{className:"space-y-2",children:[c.jsxs(Ot,{className:"text-sm font-medium flex items-center gap-1",children:[c.jsx(v7e,{className:"size-3.5"}),s("Message Expiration")]}),c.jsx("div",{className:"flex flex-wrap gap-2",children:N.map(R=>c.jsx(Le,{variant:S===R.seconds?"default":"outline",size:"sm",className:"text-xs",onClick:()=>D(R.seconds),children:s(R.label)},R.seconds))}),c.jsx("p",{className:"text-xs text-muted-foreground",children:s(S===0?"Messages will not expire":"Messages will include an expiration tag for relay garbage collection")})]}),c.jsx("div",{className:"border-t pt-4",children:c.jsx(Ot,{className:"text-sm font-medium",children:s("Relays")})}),c.jsxs("div",{className:"flex flex-wrap gap-3 text-xs text-muted-foreground",children:[c.jsxs("div",{className:"flex items-center gap-1",children:[c.jsx(L8,{className:"size-3"}),c.jsx("span",{children:s("You")})]}),c.jsxs("div",{className:"flex items-center gap-1",children:[c.jsx(Cg,{className:"size-3"}),c.jsx("span",{children:s("Them")})]}),c.jsxs("div",{className:"flex items-center gap-1",children:[c.jsx("div",{className:"size-3 rounded bg-green-500/20 border border-green-500/50"}),c.jsx("span",{children:s("Shared")})]}),c.jsxs("div",{className:"flex items-center gap-1",children:[c.jsx(Zr,{className:"size-3"}),c.jsx("span",{children:s("Selected for sending")})]})]}),c.jsxs("div",{className:"flex gap-2",children:[c.jsx(Le,{variant:"outline",size:"sm",onClick:L,children:s("Select shared")}),c.jsx(Le,{variant:"outline",size:"sm",onClick:B,children:s("Select all")})]}),c.jsx("div",{className:"flex-1 overflow-y-auto space-y-1 min-h-0",children:f?c.jsx("div",{className:"flex items-center justify-center py-8",children:c.jsx(so,{className:"size-6 animate-spin text-muted-foreground"})}):g.length===0?c.jsx("p",{className:"text-sm text-muted-foreground text-center py-4",children:s("No relay information available")}):g.map(R=>c.jsxs("div",{className:`flex items-center gap-2 p-2 rounded-lg cursor-pointer hover:bg-accent/50 transition-colors ${R.isShared?"bg-green-500/10 border border-green-500/30":"bg-muted/50"}`,onClick:()=>O(R.url),children:[c.jsx(Ox,{checked:r.includes(R.url),onCheckedChange:()=>O(R.url)}),c.jsx("div",{className:"flex-1 min-w-0",children:c.jsx("span",{className:"text-sm font-mono truncate block",title:R.url,children:T(R.url)})}),c.jsxs("div",{className:"flex items-center gap-1 flex-shrink-0",children:[R.isYours&&c.jsx("span",{className:"text-xs px-1.5 py-0.5 rounded bg-blue-500/20 text-blue-600 dark:text-blue-400",title:s("Your write relay"),children:c.jsx(L8,{className:"size-3"})}),R.isTheirs&&c.jsx("span",{className:"text-xs px-1.5 py-0.5 rounded bg-purple-500/20 text-purple-600 dark:text-purple-400",title:s("Their read relay"),children:c.jsx(Cg,{className:"size-3"})})]})]},R.url))}),c.jsx("p",{className:"text-xs text-muted-foreground",children:s("Selected relays will be used when sending new messages in this conversation.")})]})]})})}function _1t({onBack:t,hideHeader:e}){const{t:n}=qe(),{pubkey:r}=wt(),{currentConversation:o,messages:s,isLoadingConversation:a,isNewConversation:i,clearNewConversationFlag:l,reloadConversation:u,selectedMessages:d,isSelectionMode:f,toggleMessageSelection:m,clearSelection:g,deleteSelectedMessages:w,deleteAllInConversation:b,undeleteAllInConversation:j}=bf(),{followingSet:S}=Gg(),[I,N]=h.useState(null),M=h.useRef(null),[D,O]=h.useState(null),[L,B]=h.useState(!1),[T,R]=h.useState(!1),[z,Y]=h.useState([]),[Q,W]=h.useState(!1),[F,X]=h.useState(!1),[$,V]=h.useState(0),K=h.useRef(0),G=h.useRef(!0),[J,ne]=h.useState(20),re=20,de=o?S.has(o):!1,Ne=s.length>J,ve=Ne?s.slice(-J):s,xe=()=>{ne(he=>he+re)};h.useEffect(()=>{ne(20)},[o]),h.useEffect(()=>{if(i){W(!0);const he=setTimeout(()=>{W(!1),l()},1e4);return()=>clearTimeout(he)}},[i,l]),h.useEffect(()=>{if(!o)return;(async()=>{try{const we=await ze.fetchProfile(o);we&&N(we)}catch(we){console.error("Failed to fetch profile:",we)}})()},[o]),h.useEffect(()=>{if(!o||!r)return;(async()=>{const we=await kt.getConversationRelaySettings(r,o);Y(we||[])})()},[o,r]);const ce=async he=>{Y(he),r&&o&&await kt.putConversationRelaySettings(r,o,he)},pe=()=>{if(!M.current)return;const{scrollTop:he,scrollHeight:we,clientHeight:Ae}=M.current,Ze=we-he-Ae<100;G.current=Ze,X(!Ze),Ze&&(V(0),K.current=s.length)};h.useEffect(()=>{!G.current&&s.length>K.current?V(s.length-K.current):G.current&&(K.current=s.length)},[s.length]),h.useEffect(()=>{M.current&&G.current&&(M.current.scrollTop=M.current.scrollHeight,K.current=s.length)},[s]);const me=()=>{M.current&&(M.current.scrollTo({top:M.current.scrollHeight,behavior:"smooth"}),V(0),K.current=s.length,G.current=!0,X(!1))};h.useEffect(()=>{G.current=!0,X(!1),V(0),K.current=0},[o]);const ke=s.length>0;if(h.useEffect(()=>{o&&ke&&M.current&&requestAnimationFrame(()=>{M.current&&(M.current.scrollTop=M.current.scrollHeight,K.current=s.length)})},[o,ke]),!o||!r)return null;const le=(I==null?void 0:I.username)||o.slice(0,8)+"...";return c.jsxs("div",{className:"flex flex-col h-full",children:[(!e||f)&&c.jsx("div",{className:"flex items-center gap-3 p-3 border-b",children:f?c.jsxs(c.Fragment,{children:[c.jsx(Le,{variant:"ghost",size:"icon",onClick:g,className:"size-8",title:n("Cancel"),children:c.jsx(Us,{className:"size-4"})}),c.jsxs("div",{className:"flex items-center gap-2",children:[c.jsx(of,{className:"size-4 text-destructive"}),c.jsx("span",{className:"font-medium text-sm",children:n("Delete")})]}),c.jsx("div",{className:"flex-1"}),c.jsxs(Le,{variant:"outline",size:"sm",onClick:w,disabled:d.size===0,className:"text-xs",children:[n("Selected")," (",d.size,")"]}),c.jsx(Le,{variant:"destructive",size:"sm",onClick:b,className:"text-xs",children:n("All")})]}):c.jsxs(c.Fragment,{children:[c.jsx(Ro,{userId:o,className:"size-8"}),c.jsxs("div",{className:"flex-1 min-w-0",children:[c.jsxs("div",{className:"flex items-center gap-1.5",children:[c.jsx("span",{className:"font-medium text-sm truncate",children:le}),de&&c.jsx("span",{title:"Following",children:c.jsx(Cg,{className:"size-3 text-primary"})})]}),(I==null?void 0:I.nip05)&&c.jsx("span",{className:"text-xs text-muted-foreground truncate",children:I.nip05})]}),c.jsx(Le,{variant:"ghost",size:"icon",className:"size-8",title:n("Reload messages"),onClick:u,disabled:a,children:c.jsx(Hl,{className:Re("size-4",a&&"animate-spin")})}),c.jsx(Le,{variant:"ghost",size:"icon",className:Re("size-8",Q&&"animate-pulse ring-2 ring-primary ring-offset-2"),title:n("Conversation settings"),onClick:()=>{W(!1),l(),R(!0)},children:c.jsx(Ch,{className:"size-4"})}),c.jsxs(li,{children:[c.jsx(Ti,{asChild:!0,children:c.jsx(Le,{variant:"ghost",size:"icon",className:"size-8",children:c.jsx(xS,{className:"size-4"})})}),c.jsxs(ci,{align:"end",children:[c.jsxs(Sr,{onClick:b,className:"text-destructive focus:text-destructive",children:[c.jsx(of,{className:"size-4 mr-2"}),n("Delete All")]}),c.jsxs(Sr,{onClick:j,children:[c.jsx(cL,{className:"size-4 mr-2"}),n("Undelete All")]})]})]}),t&&c.jsx(Le,{variant:"ghost",size:"icon",className:"size-8",title:n("Close conversation"),onClick:t,children:c.jsx(Us,{className:"size-4"})})]})}),c.jsxs("div",{className:"flex-1 relative overflow-hidden",children:[c.jsx(Fa,{ref:M,className:"h-full p-3",onScrollCapture:pe,children:a&&s.length===0?c.jsx("div",{className:"flex items-center justify-center h-full",children:c.jsx(so,{className:"size-6 animate-spin text-muted-foreground"})}):s.length===0?c.jsx("div",{className:"flex items-center justify-center h-full text-muted-foreground",children:c.jsx("p",{className:"text-sm",children:n("No messages yet. Send one to start the conversation!")})}):c.jsxs("div",{className:"space-y-3",children:[Ne&&c.jsx("div",{className:"flex justify-center py-2",children:c.jsxs(Le,{variant:"ghost",size:"sm",onClick:xe,className:"text-xs text-muted-foreground",children:[c.jsx(bd,{className:"size-4 mr-1"}),n("Load older messages")," (",s.length-J," more)"]})}),a&&c.jsx("div",{className:"flex justify-center py-2",children:c.jsx(so,{className:"size-4 animate-spin text-muted-foreground"})}),ve.map(he=>{const we=he.senderPubkey===r,Ae=d.has(he.id);return c.jsxs("div",{className:Re("flex items-start gap-2 group",we?"flex-row-reverse":"flex-row"),children:[c.jsx("div",{className:Re("flex-shrink-0 transition-opacity",f||Ae?"opacity-100":"opacity-0 group-hover:opacity-100"),children:c.jsx(Ox,{checked:Ae,onCheckedChange:()=>m(he.id),className:"mt-2"})}),c.jsxs("div",{className:Re("max-w-[80%] rounded-lg px-3 py-2",we?"bg-primary text-primary-foreground":"bg-muted",Ae&&"ring-2 ring-primary ring-offset-2"),children:[c.jsx(I1t,{content:he.content,className:"text-sm",isOwnMessage:we}),c.jsxs("div",{className:Re("flex items-center justify-between gap-2 mt-1 text-xs",we?"text-primary-foreground/70":"text-muted-foreground"),children:[c.jsx("span",{children:o1e(he.createdAt)}),c.jsx("button",{onClick:()=>{O(he),B(!0)},className:Re("font-mono opacity-60 hover:opacity-100 transition-opacity",we?"hover:text-primary-foreground":"hover:text-foreground"),title:n("Message info"),children:he.encryptionType==="nip17"?"44":"4"})]})]})]},he.id)})]})}),F&&c.jsxs(Le,{onClick:me,className:"absolute bottom-4 right-4 rounded-full shadow-lg size-10 p-0",size:"icon",children:[c.jsx(cc,{className:"size-5"}),$>0&&c.jsx("span",{className:"absolute -top-1 -right-1 bg-destructive text-destructive-foreground rounded-full min-w-5 h-5 flex items-center justify-center text-xs font-medium px-1",children:$>99?"99+":$})]})]}),c.jsx("div",{className:"border-t",children:c.jsx(N1t,{})}),c.jsx(A1t,{message:D,open:L,onOpenChange:B}),c.jsx(bye,{partnerPubkey:o,open:T,onOpenChange:R,selectedRelays:z,onSelectedRelaysChange:ce})]})}const xye=h.forwardRef(({pubkey:t},e)=>{const{t:n}=qe(),r=h.useRef(null),{pubkey:o}=wt(),{selectConversation:s,currentConversation:a,isLoadingConversation:i,isNewConversation:l,clearNewConversationFlag:u,reloadConversation:d,deleteAllInConversation:f,undeleteAllInConversation:m}=bf(),{pop:g}=kn(),{followingSet:w}=Gg(),[b,j]=h.useState(null),[S,I]=h.useState(!1),[N,M]=h.useState([]),[D,O]=h.useState(!1),L=h.useMemo(()=>{if(!t)return null;if(t.startsWith("npub"))try{const Q=yr.decode(t);return Q.type==="npub"?Q.data:null}catch{return null}return t},[t]),B=L?w.has(L):!1;h.useImperativeHandle(e,()=>r.current),h.useEffect(()=>{L&&L!==a&&s(L)},[L,s,a]),h.useEffect(()=>()=>{s(null)},[]),h.useEffect(()=>{if(!L)return;(async()=>{try{const W=await ze.fetchProfile(L);W&&j(W)}catch(W){console.error("Failed to fetch profile:",W)}})()},[L]),h.useEffect(()=>{if(l){O(!0);const Q=setTimeout(()=>{O(!1),u()},1e4);return()=>clearTimeout(Q)}},[l,u]),h.useEffect(()=>{if(!L||!o)return;(async()=>{const W=await kt.getConversationRelaySettings(o,L);M(W||[])})()},[L,o]);const T=async Q=>{M(Q),o&&L&&await kt.putConversationRelaySettings(o,L,Q)},R=()=>{s(null),g()},z=(b==null?void 0:b.username)||(L?L.slice(0,8)+"...":""),Y=c.jsxs("div",{className:"flex items-center gap-2 w-full px-1",children:[c.jsx(Le,{className:"flex gap-1 items-center justify-start pl-2 pr-1",variant:"ghost",size:"titlebar-icon",title:n("back"),onClick:R,children:c.jsx(bS,{})}),L&&c.jsxs(c.Fragment,{children:[c.jsx(Ro,{userId:L,className:"size-7"}),c.jsxs("div",{className:"flex-1 min-w-0",children:[c.jsxs("div",{className:"flex items-center gap-1.5",children:[c.jsx("span",{className:"font-semibold text-sm truncate",children:z}),B&&c.jsx("span",{title:"Following",children:c.jsx(Cg,{className:"size-3 text-primary"})})]}),(b==null?void 0:b.nip05)&&c.jsx("span",{className:"text-xs text-muted-foreground truncate block",children:b.nip05})]}),c.jsx(Le,{variant:"ghost",size:"icon",className:"size-8",title:n("Reload messages"),onClick:d,disabled:i,children:c.jsx(Hl,{className:Re("size-4",i&&"animate-spin")})}),c.jsx(Le,{variant:"ghost",size:"icon",className:Re("size-8",D&&"animate-pulse ring-2 ring-primary ring-offset-2"),title:n("Conversation settings"),onClick:()=>{O(!1),u(),I(!0)},children:c.jsx(Ch,{className:"size-4"})}),c.jsxs(li,{children:[c.jsx(Ti,{asChild:!0,children:c.jsx(Le,{variant:"ghost",size:"icon",className:"size-8",children:c.jsx(xS,{className:"size-4"})})}),c.jsxs(ci,{align:"end",children:[c.jsxs(Sr,{onClick:f,className:"text-destructive focus:text-destructive",children:[c.jsx(of,{className:"size-4 mr-2"}),n("Delete All")]}),c.jsxs(Sr,{onClick:m,children:[c.jsx(cL,{className:"size-4 mr-2"}),n("Undelete All")]})]})]}),c.jsx(Le,{variant:"ghost",size:"icon",className:"size-8",title:n("Close conversation"),onClick:R,children:c.jsx(Us,{className:"size-4"})})]})]});return c.jsxs("div",{className:"flex flex-col h-[var(--vh)]",children:[c.jsx(I2,{className:"p-1 shrink-0",hideBottomBorder:!1,children:Y}),c.jsx("div",{className:"flex-1 min-h-0",children:c.jsx(_1t,{hideHeader:!0})}),L&&c.jsx(bye,{partnerPubkey:L,open:S,onOpenChange:I,selectedRelays:N,onSelectedRelaysChange:T})]})});xye.displayName="DMConversationPage";const kye=h.forwardRef(({index:t},e)=>{const{t:n}=qe(),{hideUntrustedNotes:r}=da(),[o,s]=h.useState("my-packs");return c.jsxs(vr,{ref:e,index:t,title:n("Emoji Packs"),displayScrollToTopButton:!0,children:[c.jsx(Px,{value:o,tabs:[{value:"my-packs",label:"My Packs"},{value:"explore",label:"Explore"}],onTabChange:a=>{s(a)}}),o==="my-packs"?c.jsx(z1e,{}):c.jsx(a1,{showKinds:[Ue.Emojisets],subRequests:[{urls:ze.currentRelays,filter:{}}],hideUntrustedNotes:r})]})});kye.displayName="EmojiPackSettingsPage";function M1t({content:t,className:e,mustLoadMedia:n}){const r=h.useMemo(()=>t?qg(t,[nv,LL,$S]):[],[t]);if(!r||r.length===0)return null;const o=r[0];if(o.type==="text")return c.jsx("div",{className:Re("text-wrap break-words whitespace-pre-wrap",e),children:t});if(o.type==="url")return c.jsx(zue,{url:o.data,className:e,mustLoad:n});if(o.type==="x-post")return c.jsx(Bue,{url:o.data,className:e,mustLoad:n,embedded:!1});if(o.type==="youtube")return c.jsx($ue,{url:o.data,className:e,mustLoad:n});if(o.type==="image"||o.type==="images"){const s=Array.isArray(o.data)?o.data:[o.data];return c.jsx(Ude,{className:e,images:s.map(a=>({url:a})),mustLoad:n})}return o.type==="media"?c.jsx(v7,{className:e,src:o.data,mustLoad:n}):o.type==="invoice"?c.jsx(yle,{invoice:o.data,className:e}):o.type==="websocket-url"?c.jsx(FP,{url:o.data}):o.type==="hashtag"?c.jsx(HS,{hashtag:o.data}):null}function jye({stuff:t}){const{event:e,externalContent:n}=mc(t),[r,o]=h.useState([]);return h.useEffect(()=>{async function s(){const a=new Set(ze.currentRelays),i=[];if(e){(await ze.fetchRelayList(e.pubkey)).read.slice(0,5).forEach(g=>a.add(g)),ze.getSeenEventRelayUrls(e.id).forEach(g=>a.add(g));const f=Fs(e.kind),m=f?ti(e):e.id;i.push({"#q":[m],kinds:[Ue.ShortTextNote,Ue.LongFormArticle,gt.COMMENT,gt.POLL]}),f?i.push({"#a":[m],kinds:[Ue.Highlights]}):i.push({"#e":[m],kinds:[Ue.Highlights]})}n&&i.push({"#r":[n],kinds:[Ue.Highlights]});const l=Array.from(a);o(i.map(u=>({urls:l,filter:u})))}s()},[e]),c.jsx(a1,{subRequests:r})}const WQ=20;function Cye({stuff:t}){const{t:e}=qe(),{push:n}=kn(),{isSmallScreen:r}=gn(),{hideUntrustedInteractions:o,isUserTrusted:s}=da(),{stuffKey:a}=mc(t),i=Oh(a),l=h.useMemo(()=>((i==null?void 0:i.likes)??[]).filter(m=>!o||s(m.pubkey)).sort((m,g)=>g.created_at-m.created_at),[i,a,o,s]),[u,d]=h.useState(WQ),f=h.useRef(null);return h.useEffect(()=>{if(!f.current||l.length<=u)return;const m=new IntersectionObserver(([g])=>{g.isIntersecting&&d(w=>w+WQ)},{rootMargin:"10px",threshold:.1});return m.observe(f.current),()=>m.disconnect()},[l.length,u]),c.jsxs("div",{className:"min-h-[80vh]",children:[l.slice(0,u).map(m=>c.jsxs("div",{className:"px-4 py-3 border-b transition-colors clickable flex items-center gap-3",onClick:()=>n(wf(m.pubkey)),children:[c.jsx("div",{className:"w-6 flex flex-col items-center",children:c.jsx(Mi,{emoji:m.emoji,classNames:{text:"text-xl"}})}),c.jsx(Ro,{userId:m.pubkey,size:"medium",className:"shrink-0"}),c.jsxs("div",{className:"flex-1 w-0",children:[c.jsx(zs,{userId:m.pubkey,className:"text-sm font-semibold text-muted-foreground hover:text-foreground max-w-fit truncate",skeletonClassName:"h-3"}),c.jsxs("div",{className:"flex items-center gap-1 text-sm text-muted-foreground",children:[c.jsx(dc,{pubkey:m.pubkey,append:"·"}),c.jsx(mh,{timestamp:m.created_at,className:"shrink-0",short:r})]})]})]},m.id)),c.jsx("div",{ref:f}),c.jsx("div",{className:"text-sm mt-2 text-center text-muted-foreground",children:l.length>0?e("No more reactions"):e("No reactions yet")})]})}function R1t({className:t}){return c.jsx("div",{className:Re("h-0.5 w-full overflow-hidden",t),children:c.jsx("div",{className:"h-full w-full bg-gradient-to-r from-primary/40 from-25% via-primary via-50% to-primary/40 to-75% animate-shimmer",style:{backgroundSize:"400% 100%"}})})}function Sye({event:t,parentEventId:e,onClickParent:n=()=>{},highlight:r=!1,className:o="",navColumn:s,navIndex:a}){const{t:i}=qe(),{isSmallScreen:l}=gn(),{push:u}=kn(),{mutePubkeySet:d}=ns(),{hideUntrustedInteractions:f,isUserTrusted:m}=da(),{hideContentMentioningMutedUsers:g}=lo(),w=h.useMemo(()=>Qo(t),[t]),b=hct(w),[j,S]=h.useState(!1),{ref:I,isSelected:N}=o1(s??2,a??0,{meta:{type:"note",event:t}}),M=h.useMemo(()=>j?!0:!(d.has(t.pubkey)||g&&Qu(t,d)),[j,d,t,g]),D=h.useMemo(()=>{if(!b||b.length===0)return!1;for(const O of b)if(!(f&&!m(O.pubkey))&&!d.has(O.pubkey)&&!(g&&Qu(O,d)))return!0},[b]);return c.jsxs("div",{ref:I,className:Re("relative pb-3 transition-colors duration-500 clickable scroll-mt-[6.5rem]",r?"bg-primary/40":"",N&&"ring-2 ring-primary ring-inset",o),onClick:()=>u(yl(t)),children:[D&&c.jsx("div",{className:"absolute left-[34px] top-14 bottom-0 border-l z-20"}),c.jsx(MP,{children:c.jsxs("div",{className:"flex space-x-2 items-start px-4 pt-3",children:[c.jsx(Ro,{userId:t.pubkey,size:"medium",className:"shrink-0 mt-0.5"}),c.jsxs("div",{className:"w-full overflow-hidden",children:[c.jsxs("div",{className:"flex items-start justify-between gap-2",children:[c.jsxs("div",{className:"flex-1 w-0",children:[c.jsxs("div",{className:"flex gap-1 items-center",children:[c.jsx(zs,{userId:t.pubkey,className:"text-sm font-semibold text-muted-foreground hover:text-foreground truncate",skeletonClassName:"h-3"}),c.jsx(Sx,{pubkey:t.pubkey,className:"!size-3.5"}),c.jsx(t7,{event:t})]}),c.jsxs("div",{className:"flex items-center gap-1 text-sm text-muted-foreground",children:[c.jsx(dc,{pubkey:t.pubkey,append:"·"}),c.jsx(mh,{timestamp:t.created_at,className:"shrink-0",short:l})]})]}),c.jsx(Ode,{event:t,className:"shrink-0 [&_svg]:size-5"})]}),e&&c.jsx(Y7,{className:"mt-2",eventId:e,onClick:O=>{O.stopPropagation(),n()}}),M?c.jsx(pd,{className:"mt-2",event:t}):c.jsx(Le,{variant:"outline",className:"text-muted-foreground font-medium mt-2",onClick:O=>{O.stopPropagation(),S(!0)},children:i("Temporarily display this reply")})]})]})}),M&&c.jsx(Dx,{className:"ml-14 pl-1 mr-4 mt-2",stuff:t,displayTopZapsAndLikes:!0})]})}function T1t(){return c.jsxs("div",{className:"px-4 py-3 flex items-start space-x-2 w-full",children:[c.jsx(Ln,{className:"w-9 h-9 rounded-full shrink-0 mt-0.5"}),c.jsxs("div",{className:"w-full",children:[c.jsx("div",{className:"py-1",children:c.jsx(Ln,{className:"h-3 w-16"})}),c.jsx("div",{className:"my-1",children:c.jsx(Ln,{className:"w-full h-4 my-1 mt-2"})}),c.jsx("div",{className:"my-1",children:c.jsx(Ln,{className:"w-2/3 h-4 my-1"})})]})]})}function D1t({parentKey:t,revealerNavIndex:e,subReplyNavIndexStart:n}){const{push:r}=kn(),o=OP(t),{hideUntrustedInteractions:s,isUserTrusted:a}=da(),{mutePubkeySet:i}=ns(),{hideContentMentioningMutedUsers:l}=lo(),[u,d]=h.useState(!1),f=h.useMemo(()=>{const j=new Set,S=[];let I=[t];for(;I.length>0;){const N=I.flatMap(M=>o.get(M)??[]);N.forEach(M=>{const D=Qo(M);if(!j.has(D)&&!i.has(M.pubkey)&&!(l&&Qu(M,i))){if(s&&!a(M.pubkey)){const O=Qo(M),L=o.get(O);if(!L||L.every(B=>!a(B.pubkey)))return}j.add(D),S.push(M)}}),I=N.map(M=>Qo(M))}return S.sort((N,M)=>N.created_at-M.created_at)},[t,o,i,l,s]),[m,g]=h.useState(void 0),w=h.useRef({}),b=h.useCallback((j,S,I=!0)=>{let N=!1;if(I){const M=w.current[j];M&&(N=!0,M.scrollIntoView({behavior:"smooth",block:"nearest"}))}if(!N){S&&r(yl(S));return}g(j),setTimeout(()=>{g(M=>M===j?void 0:M)},1500)},[]);return f.length===0?null:c.jsxs("div",{children:[f.length>1&&c.jsx(L1t,{isExpanded:u,onToggle:()=>d(j=>!j),replyCount:f.length,navIndex:e}),(u||f.length===1)&&c.jsx("div",{children:f.map((j,S)=>{const I=Qo(j),N=O2(j);if((N==null?void 0:N.type)!=="e")return null;const M=N?jC(N.tag):void 0,D=oc(N.tag);return c.jsxs("div",{ref:O=>w.current[I]=O,className:"scroll-mt-12 flex relative",children:[c.jsx("div",{className:"absolute left-[34px] top-0 h-8 w-4 rounded-bl-lg border-l border-b z-20"}),S<f.length-1&&c.jsx("div",{className:"absolute left-[34px] top-0 bottom-0 border-l z-20"}),c.jsx(Sye,{className:"flex-1 w-0 pl-10",event:j,navColumn:2,navIndex:n!==void 0?n+S:void 0,parentEventId:M!==t?D:void 0,onClickParent:()=>{M&&b(M,D)},highlight:m===I})]},I)})})]})}function L1t({isExpanded:t,onToggle:e,replyCount:n,navIndex:r}){const{t:o}=qe(),{ref:s,isSelected:a}=o1(2,r??0,{meta:{type:"note",onActivate:e}});return c.jsx("div",{ref:s,className:"scroll-mt-[6.5rem]",children:c.jsxs("button",{onClick:i=>{i.stopPropagation(),e()},className:Re("relative w-full flex items-center gap-1.5 pl-14 py-2 text-sm text-muted-foreground hover:text-foreground transition-colors clickable",a&&"ring-2 ring-primary ring-inset"),children:[c.jsx("div",{className:Re("absolute left-[34px] top-0 bottom-0 w-px text-border z-20"),style:{background:t?"currentColor":"repeating-linear-gradient(to bottom, currentColor 0 3px, transparent 3px 7px)"}}),t?c.jsxs(c.Fragment,{children:[c.jsx(bd,{className:"size-3.5"}),c.jsxs("span",{children:[o("Hide replies")," (",n,")"]})]}):c.jsxs(c.Fragment,{children:[c.jsx(cc,{className:"size-3.5"}),c.jsxs("span",{children:[o("Show replies")," (",n,")"]})]})]})})}const YQ=100,P1t=10;function Eye({stuff:t,navIndexOffset:e=0}){const{t:n}=qe(),{hideUntrustedInteractions:r,isUserTrusted:o}=da(),{mutePubkeySet:s}=ns(),{hideContentMentioningMutedUsers:a}=lo(),{stuffKey:i}=mc(t),l=OP(i),[u,d]=h.useState(!1),f=h.useMemo(()=>{const S=new Set;return(l.get(i)||[]).filter(M=>{const D=Qo(M);if(S.has(D)||s.has(M.pubkey)||a&&Qu(M,s))return!1;if(r&&!o(M.pubkey)){const O=Qo(M),L=l.get(O);if(!L||L.every(B=>!o(B.pubkey)))return!1}return S.add(D),!0}).sort((M,D)=>D.created_at-M.created_at)},[i,l,s,a,r,o]);h.useEffect(()=>((async()=>{d(!0),await fl.subscribe(t,YQ),d(!1)})(),()=>{fl.unsubscribe(t)}),[t]);const m=h.useCallback(async()=>await fl.loadMore(t,YQ),[t]),{visibleItems:g,loading:w,shouldShowLoadingIndicator:b,bottomRef:j}=Cie({items:f,showCount:P1t,onLoadMore:m,initialLoading:u});return c.jsxs("div",{className:"min-h-[80vh]",children:[(w||u)&&c.jsx(R1t,{}),c.jsx("div",{children:g.map((S,I)=>c.jsx(z1t,{reply:S,navIndex:e+I},S.id))}),c.jsx("div",{ref:j}),b?c.jsx(T1t,{}):c.jsx("div",{className:"text-sm mt-2 mb-3 text-center text-muted-foreground",children:f.length>0?n("no more replies"):n("no replies")})]})}const O1t=100;function z1t({reply:t,navIndex:e}){const n=h.useMemo(()=>Qo(t),[t]),r=e*O1t;return c.jsxs("div",{className:"relative border-b",children:[c.jsx(Sye,{event:t,navColumn:2,navIndex:r}),c.jsx(D1t,{parentKey:n,revealerNavIndex:r+1,subReplyNavIndexStart:r+2})]})}const GQ=[{value:"replies",label:"Replies"},{value:"reactions",label:"Reactions"},{value:"quotes",label:"Quotes"}];function F1t({selectedTab:t,onTabChange:e}){const{t:n}=qe(),r=h.useRef([]),[o,s]=h.useState({width:0,left:0});return h.useEffect(()=>{setTimeout(()=>{const a=GQ.findIndex(i=>i.value===t);if(a>=0&&r.current[a]){const i=r.current[a],{offsetWidth:l,offsetLeft:u}=i,d=32;s({width:l-d,left:u+d/2})}},20)},[t]),c.jsx("div",{className:"w-fit",children:c.jsxs("div",{className:"flex relative",children:[GQ.map((a,i)=>c.jsx("div",{ref:l=>r.current[i]=l,className:Re("text-center px-4 py-2 font-semibold clickable cursor-pointer rounded-lg",t===a.value?"":"text-muted-foreground"),onClick:()=>e(a.value),children:n(a.label)},a.value)),c.jsx("div",{className:"absolute bottom-0 h-1 bg-primary rounded-full transition-all duration-500",style:{width:`${o.width}px`,left:`${o.left}px`}})]})})}function B1t({externalContent:t}){const[e,n]=h.useState("replies");let r;switch(e){case"replies":r=c.jsx(Eye,{stuff:t});break;case"reactions":r=c.jsx(Cye,{stuff:t});break;case"quotes":r=c.jsx(jye,{stuff:t});break}return c.jsxs(c.Fragment,{children:[c.jsxs("div",{className:"flex items-center justify-between",children:[c.jsxs(Fa,{className:"flex-1 w-0",children:[c.jsx(F1t,{selectedTab:e,onTabChange:n}),c.jsx(Ed,{orientation:"horizontal",className:"opacity-0 pointer-events-none"})]}),c.jsx(ri,{orientation:"vertical",className:"h-6"}),c.jsx("div",{className:"size-10 flex items-center justify-center",children:c.jsx(fO,{type:"interactions"})})]}),c.jsx(ri,{}),r]})}const Yx=h.forwardRef(({index:t},e)=>c.jsx(vr,{ref:e,index:t,hideBackButton:!0,children:c.jsx(WP,{})}));Yx.displayName="NotFoundPage";const Nye=h.forwardRef(({index:t},e)=>{const{t:n}=qe(),[r,o]=h.useState();return h.useEffect(()=>{const a=new URLSearchParams(window.location.search).get("id");a&&o(a)},[]),r?c.jsxs(vr,{ref:e,index:t,title:n("External Content"),displayScrollToTopButton:!0,children:[c.jsxs("div",{className:"px-4 mt-3",children:[c.jsx(M1t,{content:r,mustLoadMedia:!0}),c.jsx(Dx,{className:"mt-3",stuff:r,fetchIfNotExisting:!0,displayTopZapsAndLikes:!0})]}),c.jsx(ri,{className:"mt-4"}),c.jsx(B1t,{externalContent:r})]}):c.jsx(Yx,{index:t})});Nye.displayName="ExternalContentPage";function MO({pubkeys:t}){const[e,n]=h.useState([]),r=h.useRef(null);return h.useEffect(()=>{n(t.slice(0,10))},[t]),h.useEffect(()=>{const o={root:null,rootMargin:"10px",threshold:1},s=new IntersectionObserver(i=>{i[0].isIntersecting&&t.length>e.length&&n(l=>[...l,...t.slice(l.length,l.length+10)])},o),a=r.current;return a&&s.observe(a),()=>{s&&a&&s.unobserve(a)}},[e,t]),c.jsxs("div",{className:"px-4 pt-2",children:[e.map((o,s)=>c.jsx(BP,{userId:o},`${s}-${o}`)),t.length>e.length&&c.jsx("div",{ref:r})]})}const Iye=h.forwardRef(({id:t,index:e},n)=>{const{t:r}=qe(),{profile:o}=ua(t),{followings:s}=NL(o==null?void 0:o.pubkey);return c.jsx(vr,{ref:n,index:e,title:o!=null&&o.username?r("username's following",{username:o.username}):r("Following"),displayScrollToTopButton:!0,children:c.jsx(MO,{pubkeys:s})})});Iye.displayName="FollowingListPage";const Aye=h.forwardRef(({id:t,index:e},n)=>{const{t:r}=qe(),[o,s]=h.useState("users"),{event:a,isFetching:i}=ll(t),{title:l,description:u,image:d,pubkeys:f}=h.useMemo(()=>a?aD(a):{title:"",description:"",image:"",pubkeys:[]},[a]);return i?c.jsx(vr,{ref:n,index:e,title:r("Follow Pack"),children:c.jsxs("div",{className:"px-4 py-3 space-y-2",children:[c.jsx(Ln,{className:"h-48 w-full"}),c.jsx(Ln,{className:"h-7 py-1 w-full"})]})}):a?c.jsx(vr,{ref:n,index:e,title:r("Follow Pack"),displayScrollToTopButton:!0,children:c.jsxs("div",{children:[c.jsxs("div",{className:"px-4 pt-3 space-y-2",children:[d&&c.jsx(Ag,{image:{url:d,pubkey:a.pubkey},className:"w-full h-48 object-cover rounded-lg",classNames:{wrapper:"w-full h-48 border-none"}}),c.jsxs("div",{className:"flex items-center gap-2",children:[c.jsx("h3",{className:"text-2xl font-semibold mb-1 truncate",children:l}),c.jsx("span",{className:"text-xs text-muted-foreground shrink-0",children:r("n users",{count:f.length})})]}),u&&c.jsx("p",{className:"text-sm text-muted-foreground whitespace-pre-wrap",children:u}),c.jsxs("div",{className:"inline-flex items-center rounded-lg border bg-muted/50",children:[c.jsx("button",{onClick:()=>s("users"),className:Re("px-3 py-1.5 text-sm font-medium rounded-l-lg transition-colors",o==="users"?"bg-background text-foreground shadow-sm":"text-muted-foreground hover:text-foreground"),children:r("Users")}),c.jsx("button",{onClick:()=>s("feed"),className:Re("px-3 py-1.5 text-sm font-medium rounded-r-lg transition-colors",o==="feed"?"bg-background text-foreground shadow-sm":"text-muted-foreground hover:text-foreground"),children:r("Feed")})]})]}),o==="users"&&c.jsx(MO,{pubkeys:f}),o==="feed"&&f.length>0&&c.jsx(U1t,{pubkeys:f})]})}):c.jsx(vr,{ref:n,index:e,title:r("Follow Pack"),children:c.jsx("div",{className:"p-4 text-center text-muted-foreground",children:r("Follow pack not found")})})});Aye.displayName="FollowPackPage";function U1t({pubkeys:t}){const{pubkey:e}=wt(),[n,r]=h.useState([]);return h.useEffect(()=>{ze.generateSubRequestsForPubkeys(t,e).then(r)},[t,e]),c.jsx(ad,{subRequests:n})}const _ye=h.forwardRef(({index:t},e)=>{const{t:n,i18n:r}=qe(),[o,s]=h.useState(r.language),{nsfwDisplayPolicy:a,setNsfwDisplayPolicy:i,hideContentMentioningMutedUsers:l,setHideContentMentioningMutedUsers:u,mediaAutoLoadPolicy:d,setMediaAutoLoadPolicy:f,verboseLogging:m,setVerboseLogging:g,enableMarkdown:w,setEnableMarkdown:b}=lo(),{quickReaction:j,updateQuickReaction:S,quickReactionEmoji:I,updateQuickReactionEmoji:N}=ts(),M=D=>{r.changeLanguage(D),s(D),kr()};return c.jsx(vr,{ref:e,index:t,title:n("General"),children:c.jsxs("div",{className:"space-y-4 mt-3",children:[c.jsxs(Vf,{children:[c.jsx(Ot,{htmlFor:"languages",className:"text-base font-normal",children:n("Languages")}),c.jsxs(Zu,{defaultValue:"en",value:o,onValueChange:M,children:[c.jsx(qc,{id:"languages",className:"w-48",children:c.jsx(vb,{})}),c.jsx(Kc,{children:Object.entries(BR).map(([D,O])=>c.jsx(jo,{value:D,children:O},D))})]})]}),c.jsxs(Vf,{children:[c.jsx(Ot,{htmlFor:"media-auto-load-policy",className:"text-base font-normal",children:n("Auto-load media")}),c.jsxs(Zu,{defaultValue:"wifi-only",value:d,onValueChange:D=>f(D),children:[c.jsx(qc,{id:"media-auto-load-policy",className:"w-48",children:c.jsx(vb,{})}),c.jsxs(Kc,{children:[c.jsx(jo,{value:Hu.ALWAYS,children:n("Always")}),Vee()&&c.jsx(jo,{value:Hu.WIFI_ONLY,children:n("Wi-Fi only")}),c.jsx(jo,{value:Hu.NEVER,children:n("Never")})]})]})]}),c.jsxs(Vf,{children:[c.jsxs(Ot,{htmlFor:"enable-markdown",className:"text-base font-normal",children:[c.jsx("div",{children:n("Render Markdown")}),c.jsx("div",{className:"text-muted-foreground",children:n("Parse and render markdown formatting in notes")})]}),c.jsx(Ar,{id:"enable-markdown",checked:w,onCheckedChange:b})]}),c.jsxs(Vf,{children:[c.jsx(Ot,{htmlFor:"hide-content-mentioning-muted-users",className:"text-base font-normal",children:n("Hide content mentioning muted users")}),c.jsx(Ar,{id:"hide-content-mentioning-muted-users",checked:l,onCheckedChange:u})]}),c.jsxs(Vf,{children:[c.jsx(Ot,{htmlFor:"nsfw-display-policy",className:"text-base font-normal",children:n("NSFW content display")}),c.jsxs(Zu,{value:a,onValueChange:D=>i(D),children:[c.jsx(qc,{id:"nsfw-display-policy",className:"w-48",children:c.jsx(vb,{})}),c.jsxs(Kc,{children:[c.jsx(jo,{value:Ul.HIDE,children:n("Hide completely")}),c.jsx(jo,{value:Ul.HIDE_CONTENT,children:n("Show but hide content")}),c.jsx(jo,{value:Ul.SHOW,children:n("Show directly")})]})]})]}),c.jsxs(Vf,{children:[c.jsxs(Ot,{htmlFor:"quick-reaction",className:"text-base font-normal",children:[c.jsx("div",{children:n("Quick reaction")}),c.jsx("div",{className:"text-muted-foreground",children:n("If enabled, you can react with a single click. Click and hold for more options")})]}),c.jsx(Ar,{id:"quick-reaction",checked:j,onCheckedChange:S})]}),j&&c.jsxs(Vf,{children:[c.jsx(Ot,{htmlFor:"quick-reaction-emoji",className:"text-base font-normal",children:n("Quick reaction emoji")}),c.jsxs("div",{className:"flex items-center gap-2",children:[c.jsx(Le,{variant:"ghost",size:"icon",onClick:()=>N("+"),className:"text-muted-foreground hover:text-foreground",children:c.jsx(uae,{})}),c.jsx(K7,{onEmojiClick:D=>{D&&N(D)},children:c.jsx(Le,{variant:"ghost",size:"icon",className:"border",children:c.jsx(Mi,{emoji:I})})})]})]}),c.jsxs(Vf,{children:[c.jsxs(Ot,{htmlFor:"verbose-logging",className:"text-base font-normal",children:[c.jsx("div",{children:n("Verbose logging")}),c.jsx("div",{className:"text-muted-foreground",children:n("Enable detailed logging for debugging (check browser console)")})]}),c.jsx(Ar,{id:"verbose-logging",checked:m,onCheckedChange:g})]})]})})});_ye.displayName="GeneralSettingsPage";const Vf=h.forwardRef(({children:t,className:e,...n},r)=>c.jsx("div",{className:Re("flex justify-between select-none items-center px-4 min-h-9 [&_svg]:size-4 [&_svg]:shrink-0",e),...n,ref:r,children:t}));Vf.displayName="SettingItem";const Mye=h.forwardRef(({index:t},e)=>{const{t:n}=qe();return c.jsx(vr,{ref:e,index:t,title:n("Help"),children:c.jsx(C1e,{})})});Mye.displayName="HelpPage";const Rye=h.forwardRef(({index:t},e)=>{const{t:n}=qe(),{pop:r}=kn();return c.jsx(vr,{ref:e,index:t,title:n("Login"),children:c.jsx("div",{className:"p-4",children:c.jsx(sC,{close:()=>r()})})})});Rye.displayName="LoginPage";const Tye=h.forwardRef(({index:t},e)=>{const{t:n}=qe(),{pop:r}=kn(),{account:o,removeAccount:s}=wt(),a=()=>{o&&(s(o),r())};return c.jsx(vr,{ref:e,index:t,title:n("Logout"),children:c.jsxs("div",{className:"p-4 space-y-6",children:[c.jsx("p",{className:"text-muted-foreground",children:n("Are you sure you want to logout?")}),c.jsxs("div",{className:"flex flex-col gap-3",children:[c.jsx(Le,{variant:"outline",onClick:()=>r(),className:"w-full",children:n("Cancel")}),c.jsx(Le,{variant:"destructive",onClick:a,className:"w-full",children:n("Logout")})]})]})})});Tye.displayName="LogoutPage";function $1t({pubkey:t}){const{t:e}=qe(),{isSmallScreen:n}=gn(),{pubkey:r,checkLogin:o}=wt(),{mutePubkeySet:s,changing:a,mutePubkeyPrivately:i,mutePubkeyPublicly:l,unmutePubkey:u}=ns(),[d,f]=h.useState(!1),m=h.useMemo(()=>s.has(t),[s,t]);if(!r||t&&t===r)return null;const g=async(j,S=!0)=>{j.stopPropagation(),o(async()=>{if(!m){f(!0);try{S?await i(t):await l(t)}catch(I){on.error(`${e("Mute failed")}: ${I.message}`)}finally{f(!1)}}})},w=async j=>{j.stopPropagation(),o(async()=>{if(m){f(!0);try{await u(t)}catch(S){on.error(`${e("Unmute failed")}: ${S.message}`)}finally{f(!1)}}})};if(m)return c.jsx(Le,{className:"w-20 min-w-20 rounded-full",variant:"secondary",onClick:w,disabled:d||a,children:d?c.jsx(_r,{className:"animate-spin"}):e("Unmute")});const b=c.jsx(Le,{variant:"destructive",className:"w-20 min-w-20 rounded-full",disabled:d||a,children:d?c.jsx(_r,{className:"animate-spin"}):e("Mute")});return n?c.jsxs(ao,{children:[c.jsx(Sh,{asChild:!0,children:b}),c.jsx(io,{children:c.jsxs("div",{className:"py-2",children:[c.jsx(Le,{className:"w-full p-6 justify-start text-destructive text-lg gap-4 [&_svg]:size-5 focus:text-destructive",variant:"ghost",onClick:j=>g(j,!0),disabled:d||a,children:d?c.jsx(_r,{className:"animate-spin"}):e("Mute user privately")}),c.jsx(Le,{className:"w-full p-6 justify-start text-destructive text-lg gap-4 [&_svg]:size-5 focus:text-destructive",variant:"ghost",onClick:j=>g(j,!1),disabled:d||a,children:d?c.jsx(_r,{className:"animate-spin"}):e("Mute user publicly")})]})})]}):c.jsxs(li,{children:[c.jsx(Ti,{asChild:!0,children:b}),c.jsxs(ci,{children:[c.jsxs(Sr,{onClick:j=>g(j,!0),className:"text-destructive focus:text-destructive",children:[c.jsx($u,{}),e("Mute user privately")]}),c.jsxs(Sr,{onClick:j=>g(j,!1),className:"text-destructive focus:text-destructive",children:[c.jsx($u,{}),e("Mute user publicly")]})]})]})}const Dye=h.forwardRef(({index:t},e)=>{const{t:n}=qe(),{profile:r,pubkey:o}=wt(),{getMutePubkeys:s}=ns(),a=h.useMemo(()=>s(),[o]),[i,l]=h.useState([]),u=h.useRef(null);return h.useEffect(()=>{l(a.slice(0,10))},[a]),h.useEffect(()=>{const d={root:null,rootMargin:"10px",threshold:1},f=new IntersectionObserver(g=>{g[0].isIntersecting&&a.length>i.length&&l(w=>[...w,...a.slice(w.length,w.length+10)])},d),m=u.current;return m&&f.observe(m),()=>{f&&m&&f.unobserve(m)}},[i,a]),r?c.jsx(vr,{ref:e,index:t,title:n("username's muted",{username:r.username}),displayScrollToTopButton:!0,children:c.jsxs("div",{className:"space-y-2 px-4 pt-2",children:[i.map((d,f)=>c.jsx(V1t,{pubkey:d},`${f}-${d}`)),a.length>i.length&&c.jsx("div",{ref:u})]})}):c.jsx(Yx,{})});Dye.displayName="MuteListPage";function V1t({pubkey:t}){const{changing:e,getMuteType:n,switchToPrivateMute:r,switchToPublicMute:o}=ns(),{profile:s}=ua(t),a=h.useMemo(()=>n(t),[t,n]),[i,l]=h.useState(!1);return c.jsxs("div",{className:"flex gap-2 items-start",children:[c.jsx(Ro,{userId:t,className:"shrink-0"}),c.jsxs("div",{className:"w-full overflow-hidden",children:[c.jsx(zs,{userId:t,className:"font-semibold truncate max-w-full w-fit",skeletonClassName:"h-4"}),c.jsx(dc,{pubkey:t}),c.jsx("div",{className:"truncate text-muted-foreground text-sm",children:s==null?void 0:s.about})]}),c.jsxs("div",{className:"flex gap-2 items-center",children:[i?c.jsx(Le,{disabled:!0,variant:"ghost",size:"icon",children:c.jsx(_r,{className:"animate-spin"})}):a==="private"?c.jsx(Le,{variant:"ghost",size:"icon",onClick:()=>{i||(l(!0),o(t).finally(()=>l(!1)))},disabled:e,children:c.jsx(uh,{className:"text-green-400"})}):a==="public"?c.jsx(Le,{variant:"ghost",size:"icon",onClick:()=>{i||(l(!0),r(t).finally(()=>l(!1)))},disabled:e,children:c.jsx(jS,{className:"text-muted-foreground"})}):null,c.jsx($1t,{pubkey:t})]})]})}const Lye=h.forwardRef(({index:t},e)=>{const{t:n}=qe(),{push:r}=kn(),{pubkey:o}=wt(),[s,a]=h.useState(null),[i,l]=h.useState(null),[u,d]=h.useState(null),[f,m]=h.useState([]);h.useEffect(()=>{(async()=>{const b=new URLSearchParams(window.location.search),j=b.getAll("k").map(M=>parseInt(M)).filter(M=>!isNaN(M)),S=b.get("t");if(S){d({type:"hashtag"}),a(`# ${S}`),m([{filter:{"#t":[S],...j.length>0?{kinds:j}:{}},urls:ze.currentRelays}]);return}const I=b.get("s");if(I){d({type:"search"}),a(`${n("Search")}: ${I}`),m([{filter:{search:I,...j.length>0?{kinds:j}:{}},urls:Xe.getSearchRelays()}]);return}const N=b.get("d");if(N){a(c.jsxs("div",{className:"flex items-center gap-1",children:[N,c.jsx(TL,{domain:N,className:"w-5 h-5"})]}));const M=await bie(N);d({type:"domain",domain:N}),M.length?(m(await ze.generateSubRequestsForPubkeys(M,o)),l(c.jsxs(Le,{variant:"ghost",className:"h-10 [&_svg]:size-3",onClick:()=>r(iFe({domain:N})),children:[M.length.toLocaleString()," ",c.jsx(ES,{})]}))):m([]);return}})()},[]);let g=null;return(u==null?void 0:u.type)==="domain"&&f.length===0?g=c.jsx("div",{className:"text-center w-full py-10",children:c.jsx("span",{className:"text-muted-foreground",children:n("No pubkeys found from {url}",{url:IL(u.domain)})})}):u&&(g=c.jsx(ad,{subRequests:f})),c.jsx(vr,{ref:e,index:t,title:s,controls:i,displayScrollToTopButton:!0,children:g})});Lye.displayName="NoteListPage";const qQ=20;function H1t({event:t}){const{t:e}=qe(),{push:n}=kn(),{isSmallScreen:r}=gn(),{hideUntrustedInteractions:o,isUserTrusted:s}=da(),a=Oh(Qo(t)),i=h.useMemo(()=>((a==null?void 0:a.reposts)??[]).filter(f=>!o||s(f.pubkey)).sort((f,m)=>m.created_at-f.created_at),[a,t.id,o,s]),[l,u]=h.useState(qQ),d=h.useRef(null);return h.useEffect(()=>{if(!d.current||i.length<=l)return;const f=new IntersectionObserver(([m])=>{m.isIntersecting&&u(g=>g+qQ)},{rootMargin:"10px",threshold:.1});return f.observe(d.current),()=>f.disconnect()},[i.length,l]),c.jsxs("div",{className:"min-h-[80vh]",children:[i.slice(0,l).map(f=>c.jsxs("div",{className:"px-4 py-3 border-b transition-colors clickable flex items-center gap-3",onClick:()=>n(wf(f.pubkey)),children:[c.jsx(Jw,{className:"text-green-400 size-5"}),c.jsx(Ro,{userId:f.pubkey,size:"medium",className:"shrink-0"}),c.jsxs("div",{className:"flex-1 w-0",children:[c.jsx(zs,{userId:f.pubkey,className:"text-sm font-semibold text-muted-foreground hover:text-foreground max-w-fit truncate",skeletonClassName:"h-3"}),c.jsxs("div",{className:"flex items-center gap-1 text-sm text-muted-foreground",children:[c.jsx(dc,{pubkey:f.pubkey,append:"·"}),c.jsx(mh,{timestamp:f.created_at,className:"shrink-0",short:r})]})]})]},f.id)),c.jsx("div",{ref:d}),c.jsx("div",{className:"text-sm mt-2 text-center text-muted-foreground",children:i.length>0?e("No more reposts"):e("No reposts yet")})]})}const KQ=20;function W1t({event:t}){const{t:e}=qe(),{push:n}=kn(),{isSmallScreen:r}=gn(),o=Oh(t.id),s=h.useMemo(()=>((o==null?void 0:o.zaps)??[]).sort((u,d)=>d.amount-u.amount),[o,t.id]),[a,i]=h.useState(KQ),l=h.useRef(null);return h.useEffect(()=>{if(!l.current||s.length<=a)return;const u=new IntersectionObserver(([d])=>{d.isIntersecting&&i(f=>f+KQ)},{rootMargin:"10px",threshold:.1});return u.observe(l.current),()=>u.disconnect()},[s.length,a]),c.jsxs("div",{className:"min-h-[80vh]",children:[s.slice(0,a).map(u=>c.jsxs("div",{className:"px-4 py-3 border-b transition-colors clickable flex gap-2",onClick:()=>n(wf(u.pubkey)),children:[c.jsxs("div",{className:"w-8 flex flex-col items-center mt-0.5",children:[c.jsx(uc,{className:"text-yellow-400 size-5"}),c.jsx("div",{className:"text-sm font-semibold text-yellow-400",children:G2(u.amount)})]}),c.jsxs("div",{className:"flex space-x-2 items-start",children:[c.jsx(Ro,{userId:u.pubkey,size:"medium",className:"shrink-0 mt-0.5"}),c.jsxs("div",{className:"flex-1",children:[c.jsx(zs,{userId:u.pubkey,className:"text-sm font-semibold text-muted-foreground hover:text-foreground max-w-fit truncate",skeletonClassName:"h-3"}),c.jsxs("div",{className:"flex items-center gap-1 text-sm text-muted-foreground",children:[c.jsx(dc,{pubkey:u.pubkey,append:"·"}),c.jsx(mh,{timestamp:u.created_at,className:"shrink-0",short:r})]}),c.jsx(pd,{className:"mt-2",content:u.comment})]})]})]},u.pr)),c.jsx("div",{ref:l}),c.jsx("div",{className:"text-sm mt-2 text-center text-muted-foreground",children:s.length>0?e("No more zaps"):e("No zaps yet")})]})}const ZQ=[{value:"replies",label:"Replies"},{value:"zaps",label:"Zaps"},{value:"reposts",label:"Reposts"},{value:"reactions",label:"Reactions"},{value:"quotes",label:"Quotes"}];function Y1t({selectedTab:t,onTabChange:e}){const{t:n}=qe(),r=h.useRef([]),[o,s]=h.useState({width:0,left:0});return h.useEffect(()=>{setTimeout(()=>{const a=ZQ.findIndex(i=>i.value===t);if(a>=0&&r.current[a]){const i=r.current[a],{offsetWidth:l,offsetLeft:u}=i,d=32;s({width:l-d,left:u+d/2})}},20)},[t]),c.jsx("div",{className:"w-fit",children:c.jsxs("div",{className:"flex relative",children:[ZQ.map((a,i)=>c.jsx("div",{ref:l=>r.current[i]=l,className:Re("text-center px-4 py-2 font-semibold clickable cursor-pointer rounded-lg",t===a.value?"":"text-muted-foreground"),onClick:()=>e(a.value),children:n(a.label)},a.value)),c.jsx("div",{className:"absolute bottom-0 h-1 bg-primary rounded-full transition-all duration-500",style:{width:`${o.width}px`,left:`${o.left}px`}})]})})}function G1t({event:t,navIndexOffset:e=0}){const[n,r]=h.useState("replies");let o;switch(n){case"replies":o=c.jsx(Eye,{stuff:t,navIndexOffset:e});break;case"quotes":o=c.jsx(jye,{stuff:t});break;case"reactions":o=c.jsx(Cye,{stuff:t});break;case"reposts":o=c.jsx(H1t,{event:t});break;case"zaps":o=c.jsx(W1t,{event:t});break}return c.jsxs(c.Fragment,{children:[c.jsxs("div",{className:"flex items-center justify-between",children:[c.jsxs(Fa,{className:"flex-1 w-0",children:[c.jsx(Y1t,{selectedTab:n,onTabChange:r}),c.jsx(Ed,{orientation:"horizontal",className:"opacity-0 pointer-events-none"})]}),c.jsx(ri,{orientation:"vertical",className:"h-6"}),c.jsx("div",{className:"size-10 flex items-center justify-center",children:c.jsx(fO,{type:"interactions"})})]}),c.jsx(ri,{}),o]})}function q1t({bech32Id:t}){const{t:e}=qe();return c.jsxs("div",{className:"text-muted-foreground w-full h-full flex flex-col items-center justify-center gap-2",children:[c.jsx("div",{children:e("Note not found")}),c.jsx(Ig,{originalNoteId:t})]})}const Pye=h.forwardRef(({id:t,index:e},n)=>{const{t:r}=qe(),{event:o,isFetching:s}=ll(t),a=h.useMemo(()=>Mee(o),[o]),i=h.useMemo(()=>Rke(o),[o]),l=h.useMemo(()=>(o==null?void 0:o.kind)===gt.COMMENT?o.tags.find(An("I")):void 0,[o]),{isFetching:u,event:d}=ll(i),{isFetching:f,event:m}=ll(a);if(!o&&s)return c.jsx(vr,{ref:n,index:e,title:r("Note"),children:c.jsxs("div",{className:"px-4 pt-3",children:[c.jsxs("div",{className:"flex items-center space-x-2",children:[c.jsx(Ln,{className:"w-10 h-10 rounded-full"}),c.jsxs("div",{className:"flex-1 w-0",children:[c.jsx("div",{className:"py-1",children:c.jsx(Ln,{className:"h-4 w-16"})}),c.jsx("div",{className:"py-0.5",children:c.jsx(Ln,{className:"h-4 w-12"})})]})]}),c.jsxs("div",{className:"pt-2",children:[c.jsx("div",{className:"my-1",children:c.jsx(Ln,{className:"w-full h-4 my-1 mt-2"})}),c.jsx("div",{className:"my-1",children:c.jsx(Ln,{className:"w-2/3 h-4 my-1"})})]})]})});if(!o)return c.jsx(vr,{ref:n,index:e,title:r("Note"),displayScrollToTopButton:!0,children:c.jsx(q1t,{bech32Id:t})});const g=i&&i!==a,w=!!a,b=(g?1:0)+(w?1:0);return c.jsxs(vr,{ref:n,index:e,title:r("Note"),displayScrollToTopButton:!0,children:[c.jsxs("div",{className:"px-4 pt-3",children:[l&&c.jsx(K1t,{value:l[1]}),g&&c.jsx(QQ,{isFetching:u,event:d,eventBech32Id:i,isConsecutive:Z1t(d,m),navIndex:0},`root-note-${o.id}`),w&&c.jsx(QQ,{isFetching:f,event:m,eventBech32Id:a,navIndex:g?1:0},`parent-note-${o.id}`),c.jsx(q7,{event:o,className:"select-text",hideParentNotePreview:!0,originalNoteId:t,showFull:!0},`note-${o.id}`),c.jsx(Dx,{className:"mt-3",stuff:o,fetchIfNotExisting:!0,displayTopZapsAndLikes:!0})]}),c.jsx(ri,{className:"mt-4"}),c.jsx(G1t,{event:o,navIndexOffset:b},`note-interactions-${o.id}`)]})});Pye.displayName="NotePage";function K1t({value:t}){const{push:e}=kn();return c.jsxs("div",{children:[c.jsx(ME,{className:"flex space-x-1 px-1.5 py-1 items-center clickable text-sm text-muted-foreground hover:text-foreground",onClick:()=>e(vy(t)),children:c.jsx("div",{className:"truncate",children:t})}),c.jsx("div",{className:"ml-5 w-px h-2 bg-border"})]})}function QQ({event:t,eventBech32Id:e,isFetching:n,isConsecutive:r=!0,navIndex:o}){const{push:s}=kn(),a=h.useCallback(()=>{s(yl(t??e))},[s,t,e]),{ref:i,isSelected:l}=o1(2,o??0,{meta:{type:"note",onActivate:a}});return n?c.jsxs("div",{children:[c.jsxs("div",{className:"flex space-x-1 px-[0.4375rem] py-1 items-center rounded-full border clickable text-sm text-muted-foreground",children:[c.jsx(Ln,{className:"shrink w-4 h-4 rounded-full"}),c.jsx("div",{className:"py-1 flex-1",children:c.jsx(Ln,{className:"h-3"})})]}),c.jsx("div",{className:"ml-5 w-px h-3 bg-border"})]}):c.jsxs("div",{ref:i,className:"scroll-mt-[6.5rem]",children:[c.jsxs("div",{className:Re("flex space-x-1 px-[0.4375rem] py-1 items-center rounded-full border clickable text-sm text-muted-foreground",t&&"hover:text-foreground",l&&"ring-2 ring-primary"),onClick:a,children:[t&&c.jsx(Ro,{userId:t.pubkey,size:"tiny",className:"shrink-0"}),c.jsx(jy,{className:"truncate",event:t})]}),r?c.jsx("div",{className:"ml-5 w-px h-3 bg-border"}):c.jsx(kS,{className:"ml-3.5 text-muted-foreground/60 size-3"})]})}function Z1t(t,e){if(!t||!e)return!1;const n=O2(e);return n?Qo(t)===jC(n.tag):!1}function Q1t({relayInfo:t,users:e,className:n,...r}){const{t:o}=qe();return c.jsxs("div",{className:Re("space-y-1",n),...r,children:[c.jsxs("div",{className:"flex items-start justify-between gap-2 w-full",children:[c.jsxs("div",{className:"flex flex-1 w-0 items-center gap-2",children:[c.jsx(Zl,{url:t==null?void 0:t.url,className:"h-9 w-9"}),c.jsxs("div",{className:"flex-1 w-0",children:[c.jsx("div",{className:"truncate font-semibold",children:(t==null?void 0:t.name)||(t==null?void 0:t.shortUrl)}),(t==null?void 0:t.name)&&c.jsx("div",{className:"text-xs text-muted-foreground truncate",children:t==null?void 0:t.shortUrl})]})]}),t&&c.jsx(qP,{urls:[t.url]})]}),!!(t!=null&&t.description)&&c.jsx("div",{className:"line-clamp-3 break-words whitespace-pre-wrap",style:{overflowWrap:"anywhere"},children:t.description}),!!(e!=null&&e.length)&&c.jsxs("div",{className:"flex items-center gap-2",children:[c.jsxs("div",{className:"text-muted-foreground",children:[o("Favorited by")," "]}),c.jsxs("div",{className:"flex items-center gap-1",children:[e.slice(0,10).map(s=>c.jsx(nc,{userId:s,size:"xSmall"},s)),e.length>10&&c.jsxs("div",{className:"text-muted-foreground text-xs rounded-full bg-muted w-5 h-5 flex items-center justify-center",children:["+",e.length-10]})]})]})]})}function J1t({userId:t}){const{t:e}=qe(),n=h.useMemo(()=>{var s;return((s=Ut.tryFromString(t))==null?void 0:s.hex)??t},[t]),{relayList:r,isFetching:o}=jie(n);return o?c.jsx("div",{className:"text-center text-sm text-muted-foreground",children:e("loading...")}):c.jsx("div",{className:"space-y-4",children:r.originalRelays.map((s,a)=>c.jsx(X1t,{relay:s},`read-${s.url}-${a}`))})}function X1t({relay:t}){const{t:e}=qe(),{push:n}=kn(),{relayInfo:r}=OS(t.url),{url:o,scope:s}=t;return c.jsxs("div",{className:"p-4 rounded-lg border clickable space-y-1",onClick:()=>n(Eg(o)),children:[c.jsx(Q1t,{relayInfo:r}),c.jsxs("div",{className:"flex gap-2",children:[["both","read"].includes(s)&&c.jsx(Vl,{className:"bg-blue-400 hover:bg-blue-400/80",children:e("Read")}),["both","write"].includes(s)&&c.jsx(Vl,{className:"bg-green-400 hover:bg-green-400/80",children:e("Write")})]})]})}const Oye=h.forwardRef(({id:t,index:e},n)=>{const{t:r}=qe(),{profile:o}=ua(t);return!t||!o?null:c.jsx(vr,{ref:n,index:e,title:r("username's used relays",{username:o.username}),children:c.jsx("div",{className:"px-4 pt-3",children:c.jsx(J1t,{userId:t})})})});Oye.displayName="RelaySettingsPage";const zye=h.forwardRef(({index:t},e)=>{const{t:n}=qe();return c.jsx(vr,{ref:e,index:t,title:n("Post settings"),children:c.jsxs("div",{className:"px-4 pt-3 space-y-4",children:[c.jsx(lye,{}),c.jsx(aye,{})]})})});zye.displayName="PostSettingsPage";function e0t({pubkey:t,banner:e,className:n}){const r=h.useMemo(()=>ux(t),[t]),[o,s]=h.useState(e??r);return h.useEffect(()=>{s(e||r)},[r,e]),c.jsx($o,{image:{url:o,pubkey:t},alt:`${t} banner`,className:n,classNames:{wrapper:"rounded-none"},errorPlaceholder:r})}function t0t(t,e=[]){let n=[];function r(s,a){const i=h.createContext(a),l=n.length;n=[...n,a];const u=f=>{var S;const{scope:m,children:g,...w}=f,b=((S=m==null?void 0:m[t])==null?void 0:S[l])||i,j=h.useMemo(()=>w,Object.values(w));return c.jsx(b.Provider,{value:j,children:g})};u.displayName=s+"Provider";function d(f,m){var b;const g=((b=m==null?void 0:m[t])==null?void 0:b[l])||i,w=h.useContext(g);if(w)return w;if(a!==void 0)return a;throw new Error(`\`${f}\` must be used within \`${s}\``)}return[u,d]}const o=()=>{const s=n.map(a=>h.createContext(a));return function(i){const l=(i==null?void 0:i[t])||s;return h.useMemo(()=>({[`__scope${t}`]:{...i,[t]:l}}),[i,l])}};return o.scopeName=t,[r,n0t(o,...e)]}function n0t(...t){const e=t[0];if(t.length===1)return e;const n=()=>{const r=t.map(o=>({useScope:o(),scopeName:o.scopeName}));return function(s){const a=r.reduce((i,{useScope:l,scopeName:u})=>{const f=l(s)[`__scope${u}`];return{...i,...f}},{});return h.useMemo(()=>({[`__scope${e.scopeName}`]:a}),[a])}};return n.scopeName=e.scopeName,n}function JQ(t,e){if(typeof t=="function")return t(e);t!=null&&(t.current=e)}function r0t(...t){return e=>{let n=!1;const r=t.map(o=>{const s=JQ(o,e);return!n&&typeof s=="function"&&(n=!0),s});if(n)return()=>{for(let o=0;o<r.length;o++){const s=r[o];typeof s=="function"?s():JQ(t[o],null)}}}}var Fye=h.forwardRef((t,e)=>{const{children:n,...r}=t,o=h.Children.toArray(n),s=o.find(s0t);if(s){const a=s.props.children,i=o.map(l=>l===s?h.Children.count(a)>1?h.Children.only(null):h.isValidElement(a)?a.props.children:null:l);return c.jsx(OR,{...r,ref:e,children:h.isValidElement(a)?h.cloneElement(a,void 0,i):null})}return c.jsx(OR,{...r,ref:e,children:n})});Fye.displayName="Slot";var OR=h.forwardRef((t,e)=>{const{children:n,...r}=t;if(h.isValidElement(n)){const o=i0t(n);return h.cloneElement(n,{...a0t(r,n.props),ref:e?r0t(e,o):o})}return h.Children.count(n)>1?h.Children.only(null):null});OR.displayName="SlotClone";var o0t=({children:t})=>c.jsx(c.Fragment,{children:t});function s0t(t){return h.isValidElement(t)&&t.type===o0t}function a0t(t,e){const n={...e};for(const r in e){const o=t[r],s=e[r];/^on[A-Z]/.test(r)?o&&s?n[r]=(...i)=>{s(...i),o(...i)}:o&&(n[r]=o):r==="style"?n[r]={...o,...s}:r==="className"&&(n[r]=[o,s].filter(Boolean).join(" "))}return{...t,...n}}function i0t(t){var r,o;let e=(r=Object.getOwnPropertyDescriptor(t.props,"ref"))==null?void 0:r.get,n=e&&"isReactWarning"in e&&e.isReactWarning;return n?t.ref:(e=(o=Object.getOwnPropertyDescriptor(t,"ref"))==null?void 0:o.get,n=e&&"isReactWarning"in e&&e.isReactWarning,n?t.props.ref:t.props.ref||t.ref)}var l0t=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","span","svg","ul"],RO=l0t.reduce((t,e)=>{const n=h.forwardRef((r,o)=>{const{asChild:s,...a}=r,i=s?Fye:e;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),c.jsx(i,{...a,ref:o})});return n.displayName=`Primitive.${e}`,{...t,[e]:n}},{}),TO="Avatar",[c0t]=t0t(TO),[u0t,Bye]=c0t(TO),Uye=h.forwardRef((t,e)=>{const{__scopeAvatar:n,...r}=t,[o,s]=h.useState("idle");return c.jsx(u0t,{scope:n,imageLoadingStatus:o,onImageLoadingStatusChange:s,children:c.jsx(RO.span,{...r,ref:e})})});Uye.displayName=TO;var $ye="AvatarImage",Vye=h.forwardRef((t,e)=>{const{__scopeAvatar:n,src:r,onLoadingStatusChange:o=()=>{},...s}=t,a=Bye($ye,n),i=f0t(r,s.referrerPolicy),l=or(u=>{o(u),a.onImageLoadingStatusChange(u)});return fr(()=>{i!=="idle"&&l(i)},[i,l]),i==="loaded"?c.jsx(RO.img,{...s,ref:e,src:r}):null});Vye.displayName=$ye;var Hye="AvatarFallback",Wye=h.forwardRef((t,e)=>{const{__scopeAvatar:n,delayMs:r,...o}=t,s=Bye(Hye,n),[a,i]=h.useState(r===void 0);return h.useEffect(()=>{if(r!==void 0){const l=window.setTimeout(()=>i(!0),r);return()=>window.clearTimeout(l)}},[r]),a&&s.imageLoadingStatus!=="loaded"?c.jsx(RO.span,{...o,ref:e}):null});Wye.displayName=Hye;function f0t(t,e){const[n,r]=h.useState("idle");return fr(()=>{if(!t){r("error");return}let o=!0;const s=new window.Image,a=i=>()=>{o&&r(i)};return r("loading"),s.onload=a("loaded"),s.onerror=a("error"),s.src=t,e&&(s.referrerPolicy=e),()=>{o=!1}},[t,e]),n}var Yye=Uye,Gye=Vye,qye=Wye;const Kye=h.forwardRef(({className:t,...e},n)=>c.jsx(Yye,{ref:n,className:Re("relative flex h-10 w-10 shrink-0 overflow-hidden rounded-full",t),...e}));Kye.displayName=Yye.displayName;const Zye=h.forwardRef(({className:t,...e},n)=>c.jsx(Gye,{ref:n,className:Re("aspect-square h-full w-full",t),...e}));Zye.displayName=Gye.displayName;const Qye=h.forwardRef(({className:t,...e},n)=>c.jsx(qye,{ref:n,className:Re("flex h-full w-full items-center justify-center rounded-full bg-muted",t),...e}));Qye.displayName=qye.displayName;const Jye=h.forwardRef(({index:t},e)=>{const{t:n}=qe(),{pop:r}=kn(),{account:o,profile:s,profileEvent:a,publish:i,updateProfileEvent:l}=wt(),[u,d]=h.useState(""),[f,m]=h.useState(""),[g,w]=h.useState(""),[b,j]=h.useState(""),[S,I]=h.useState(""),[N,M]=h.useState(""),[D,O]=h.useState(""),[L,B]=h.useState(""),[T,R]=h.useState(""),[z,Y]=h.useState(!1),[Q,W]=h.useState(!1),[F,X]=h.useState(!1),[$,V]=h.useState(!1),K=h.useMemo(()=>o?ux(o.pubkey):void 0,[o]);if(h.useEffect(()=>{s?(d(s.banner??""),m(s.avatar??""),w(s.original_username??""),j(s.about??""),I(s.website??""),M(s.nip05??""),B(s.lightningAddress||"")):(d(""),m(""),w(""),j(""),I(""),M(""),B(""))},[s]),!o||!s)return null;const G=async()=>{if(N&&!sy(N)){O(n("Invalid NIP-05 address"));return}const de=a?JSON.parse(a.content):{},Ne={...de,display_name:g,displayName:g,name:de.name??g,about:b,website:S,nip05:N,banner:u,picture:f};if(L)if(sy(L))Ne.lud16=L;else if(L.startsWith("lnurl"))Ne.lud06=L;else{R(n("Invalid Lightning Address"));return}else delete Ne.lud16;W(!0),Y(!1);const ve=JT(JSON.stringify(Ne),a==null?void 0:a.tags),xe=await i(ve);await l(xe),W(!1),r()},J=({url:de})=>{d(de),Y(!0)},ne=({url:de})=>{m(de),Y(!0)},re=c.jsx("div",{className:"pr-3",children:c.jsx(Le,{className:"w-16 rounded-full",onClick:G,disabled:Q||!z,children:Q?c.jsx(_r,{className:"animate-spin"}):n("Save")})});return c.jsxs(vr,{ref:e,index:t,title:s.username,controls:re,children:[c.jsxs("div",{className:"relative bg-cover bg-center mb-2",children:[c.jsxs(pR,{onUploadSuccess:J,onUploadStart:()=>X(!0),onUploadEnd:()=>X(!1),className:"w-full relative cursor-pointer",children:[c.jsx(e0t,{banner:u,pubkey:o.pubkey,className:"w-full aspect-[3/1]"}),c.jsx("div",{className:"absolute top-0 bg-muted/30 w-full h-full flex flex-col justify-center items-center",children:F?c.jsx(_r,{size:36,className:"animate-spin"}):c.jsx(mY,{size:36})})]}),c.jsxs(pR,{onUploadSuccess:ne,onUploadStart:()=>V(!0),onUploadEnd:()=>V(!1),className:"w-24 h-24 absolute bottom-0 left-4 translate-y-1/2 border-4 border-background cursor-pointer rounded-full",children:[c.jsxs(Kye,{className:"w-full h-full",children:[c.jsx(Zye,{src:f,className:"object-cover object-center"}),c.jsx(Qye,{children:c.jsx("img",{src:K})})]}),c.jsx("div",{className:"absolute top-0 bg-muted/30 w-full h-full rounded-full flex flex-col justify-center items-center",children:$?c.jsx(_r,{className:"animate-spin"}):c.jsx(mY,{})})]})]}),c.jsxs("div",{className:"pt-14 px-4 flex flex-col gap-4",children:[c.jsxs(Iw,{children:[c.jsx(Ot,{htmlFor:"profile-username-input",children:n("Display Name")}),c.jsx(On,{id:"profile-username-input",value:g,onChange:de=>{w(de.target.value),Y(!0)}})]}),c.jsxs(Iw,{children:[c.jsx(Ot,{htmlFor:"profile-about-textarea",children:n("Bio")}),c.jsx(dv,{id:"profile-about-textarea",className:"h-44",value:b,onChange:de=>{j(de.target.value),Y(!0)}})]}),c.jsxs(Iw,{children:[c.jsx(Ot,{htmlFor:"profile-website-input",children:n("Website")}),c.jsx(On,{id:"profile-website-input",value:S,onChange:de=>{I(de.target.value),Y(!0)}})]}),c.jsxs(Iw,{children:[c.jsx(Ot,{htmlFor:"profile-nip05-input",children:n("Nostr Address (NIP-05)")}),c.jsx(On,{id:"profile-nip05-input",value:N,onChange:de=>{O(""),M(de.target.value),Y(!0)},className:D?"border-destructive":""}),D&&c.jsx("div",{className:"text-xs text-destructive pl-3",children:D})]}),c.jsxs(Iw,{children:[c.jsx(Ot,{htmlFor:"profile-lightning-address-input",children:n("Lightning Address (or LNURL)")}),c.jsx(On,{id:"profile-lightning-address-input",value:L,onChange:de=>{R(""),B(de.target.value),Y(!0)},className:T?"border-destructive":""}),T&&c.jsx("div",{className:"text-xs text-destructive pl-3",children:T})]})]})]})});Jye.displayName="ProfileEditorPage";function Iw({children:t}){return c.jsx("div",{className:"grid gap-2",children:t})}const Xye=h.forwardRef(({index:t},e)=>{const{t:n}=qe(),[r,o]=h.useState(),[s,a]=h.useState(null);h.useEffect(()=>{const l=new URLSearchParams(window.location.search),u=l.get("s");if(u){o(`${n("Search")}: ${u}`),a({type:"search",id:u});return}const d=l.get("d");if(d){o(c.jsxs("div",{className:"flex items-center gap-1",children:[d,c.jsx(TL,{domain:d,className:"w-5 h-5"})]})),a({type:"domain",id:d});return}},[]);let i=null;return(s==null?void 0:s.type)==="search"?i=c.jsx(Age,{search:s.id}):(s==null?void 0:s.type)==="domain"&&(i=c.jsx(d0t,{domain:s.id})),c.jsx(vr,{ref:e,index:t,title:r,displayScrollToTopButton:!0,children:i})});Xye.displayName="ProfileListPage";function d0t({domain:t}){const[e,n]=h.useState([]);return h.useEffect(()=>{(async()=>{const o=await bie(t);n(o)})()},[t]),c.jsx(MO,{pubkeys:e})}const eve=h.forwardRef(({id:t,index:e},n)=>{const{profile:r}=ua(t);return c.jsx(vr,{index:e,title:r==null?void 0:r.username,displayScrollToTopButton:!0,ref:n,children:c.jsx(GP,{id:t})})});eve.displayName="ProfilePage";const tve=h.forwardRef(({url:t,index:e},n)=>{const r=h.useMemo(()=>t?oo(t):void 0,[t]),o=h.useMemo(()=>t?la(t):void 0,[t]);return r?c.jsx(vr,{ref:n,index:e,title:o,displayScrollToTopButton:!0,children:c.jsx(tO,{url:r})}):c.jsx(Yx,{ref:n})});tve.displayName="RelayPage";const nve=h.forwardRef(({url:t,index:e},n)=>{const{t:r}=qe(),o=h.useMemo(()=>t?oo(t):void 0,[t]),s=h.useMemo(()=>t?r("Reviews for {{relay}}",{relay:la(t)}):void 0,[t]);return o?c.jsx(vr,{ref:n,index:e,title:s,displayScrollToTopButton:!0,children:c.jsx(a1,{showKinds:[gt.RELAY_REVIEW],subRequests:[{urls:[o,...ze.currentRelays],filter:{"#d":[o]}}],hideSpam:!0})}):c.jsx(Yx,{ref:n})});nve.displayName="RelayReviewsPage";const rve=h.forwardRef(({index:t},e)=>{const{t:n}=qe(),[r,o]=h.useState("favorite-relays");return h.useEffect(()=>{switch(window.location.hash){case"#mailbox":o("mailbox");break;case"#favorite-relays":o("favorite-relays");break}},[]),c.jsx(vr,{ref:e,index:t,title:n("Relay settings"),children:c.jsxs(Ex,{value:r,onValueChange:o,className:"px-4 py-3 space-y-4",children:[c.jsxs(lv,{children:[c.jsx(rl,{value:"favorite-relays",children:n("Favorite Relays")}),c.jsx(rl,{value:"mailbox",children:n("Read & Write Relays")})]}),c.jsx(ol,{value:"favorite-relays",children:c.jsx(u0e,{})}),c.jsx(ol,{value:"mailbox",children:c.jsx(K0e,{})})]})})});rve.displayName="RelaySettingsPage";const DO="https://rizful.com",p0t=`${DO}/create-account`,h0t=`${DO}/nostr_onboarding_auth_token/get_token`,m0t=`${DO}/nostr_onboarding_auth_token/post_for_secrets`,ove=h.forwardRef(({index:t},e)=>{const{t:n}=qe(),{pubkey:r,profile:o,profileEvent:s,publish:a,updateProfileEvent:i}=wt(),{provider:l}=zh(),[u,d]=h.useState(""),[f,m]=h.useState(!1),[g,w]=h.useState(!1),[b,j]=h.useState(!1),[S,I]=h.useState("");h.useEffect(()=>{if(l instanceof jTe.NostrWebLNProvider){const D=l.client.lud16;if((D==null?void 0:D.split("@")[1])!=="rizful.com")return;D&&(w(!0),I(D))}},[l]);const N=async D=>{try{if(o!=null&&o.lightningAddress)return;const O=s?JSON.parse(s.content):{};if(sy(D))O.lud16=D;else if(D.startsWith("lnurl"))O.lud06=D;else throw new Error(n("Invalid Lightning Address"));O.nip05||(O.nip05=D);const L=JT(JSON.stringify(O),s==null?void 0:s.tags),B=await a(L);await i(B)}catch(O){on.error(O instanceof Error?O.message:String(O))}},M=async()=>{m(!0);try{const D=await fetch(m0t,{method:"POST",headers:{"Content-Type":"application/json"},credentials:"omit",body:JSON.stringify({secret_code:u.trim(),nostr_public_key:r})});if(!D.ok){const L=await D.text();throw new Error(L||"Exchange failed")}const O=await D.json();O.nwc_uri&&qoe(O.nwc_uri),O.lightning_address&&N(O.lightning_address)}catch(D){on.error(D instanceof Error?D.message:String(D))}finally{setTimeout(()=>m(!1),5e3)}};return g?c.jsx(vr,{ref:e,index:t,title:n("Rizful Vault"),children:c.jsxs("div",{className:"px-4 pt-3 space-y-6 flex flex-col items-center",children:[c.jsx(nL,{className:"size-40 fill-green-400 text-background"}),c.jsx("div",{className:"font-semibold text-2xl",children:n("Rizful Vault connected!")}),c.jsx("div",{className:"text-center text-sm text-muted-foreground",children:n("You can now use your Rizful Vault to zap your favorite notes and creators.")}),S&&c.jsxs("div",{className:"flex flex-col items-center gap-2",children:[c.jsxs("div",{children:[n("Your Lightning Address"),":"]}),c.jsxs("div",{className:"font-semibold text-lg rounded-lg px-4 py-1 flex justify-center items-center gap-2 cursor-pointer hover:bg-accent/80",onClick:()=>{navigator.clipboard.writeText(S),j(!0),setTimeout(()=>j(!1),2e3)},children:[S," ",b?c.jsx(Zr,{className:"size-4"}):c.jsx(Pa,{className:"size-4"})]})]})]})}):c.jsx(vr,{ref:e,index:t,title:n("Rizful Vault"),children:c.jsxs("div",{className:"px-4 pt-3 space-y-6",children:[c.jsxs("div",{className:"space-y-2",children:[c.jsxs("div",{className:"font-semibold",children:["1. ",n("New to Rizful?")]}),c.jsxs(Le,{className:"bg-lime-500 hover:bg-lime-500/90 w-64",onClick:()=>window.open(p0t,"_blank"),children:[n("Sign up for Rizful")," ",c.jsx(nf,{})]}),c.jsx("div",{className:"text-sm text-muted-foreground",children:n("If you already have a Rizful account, you can skip this step.")})]}),c.jsxs("div",{className:"space-y-2",children:[c.jsxs("div",{className:"font-semibold",children:["2. ",n("Get your one-time code")]}),c.jsxs(Le,{className:"bg-orange-500 hover:bg-orange-500/90 w-64",onClick:()=>g0t(h0t,"rizful_codes"),children:[n("Get code"),c.jsx(nf,{})]})]}),c.jsxs("div",{className:"space-y-2",children:[c.jsxs("div",{className:"font-semibold",children:["3. ",n("Connect to your Rizful Vault")]}),c.jsx(On,{placeholder:n("Paste your one-time code here"),value:u,onChange:D=>{d(D.target.value.trim())}}),c.jsxs(Le,{className:"bg-sky-500 hover:bg-sky-500/90 w-64",disabled:!u||f,onClick:()=>M(),children:[f&&c.jsx(so,{className:"animate-spin"}),n("Connect")]})]})]})})});ove.displayName="RizfulPage";function g0t(t,e,n=520,r=700){const o=Math.max((window.screenX||0)+(window.innerWidth-n)/2,0),s=Math.max((window.screenY||0)+(window.innerHeight-r)/2,0);return window.open(t,e,`width=${n},height=${r},left=${o},top=${s},resizable=yes,scrollbars=yes,menubar=no,toolbar=no,location=no,status=no`)}const sve=h.forwardRef(({index:t},e)=>{const{push:n,pop:r}=kn(),[o,s]=h.useState(""),a=h.useRef(null),i=h.useMemo(()=>{const u=new URLSearchParams(window.location.search),d=u.get("t");if(d!=="profile"&&d!=="profiles"&&d!=="notes"&&d!=="hashtag"&&d!=="relay"&&d!=="nak")return null;const f=u.get("q");if(!f)return null;const m=u.get("i")??"";let g;if(d==="nak")try{g=$ie(m)}catch{}return s(m||f),{type:d,search:f,input:m,request:g}},[]);h.useEffect(()=>{var u;window.location.search||(u=a.current)==null||u.focus()},[]);const l=u=>{u&&n(uFe(u))};return c.jsx(vr,{ref:e,index:t,titlebar:c.jsxs("div",{className:"flex items-center gap-1 h-full",children:[c.jsx(Le,{variant:"ghost",size:"titlebar-icon",onClick:()=>r(),children:c.jsx(bS,{})}),c.jsx(LE,{ref:a,input:o,setInput:s,onSearch:l})]}),displayScrollToTopButton:!0,children:c.jsx(nO,{searchParams:i})})});sve.displayName="SearchPage";const ave=h.forwardRef(({index:t},e)=>{const{t:n}=qe();return c.jsx(vr,{ref:e,index:t,title:n("Settings"),children:c.jsx(pye,{})})});ave.displayName="SettingsPage";const ive=h.forwardRef(({index:t},e)=>{const{t:n}=qe(),{faviconUrlTemplate:r,setFaviconUrlTemplate:o}=lo(),[s,a]=h.useState(Xe.getFilterOutOnionRelays());return c.jsx(vr,{ref:e,index:t,title:n("System"),children:c.jsxs("div",{className:"space-y-4 mt-3",children:[c.jsxs("div",{className:"px-4 space-y-2",children:[c.jsx(Ot,{htmlFor:"favicon-url",className:"text-base font-normal",children:n("Favicon URL")}),c.jsx(On,{id:"favicon-url",type:"text",value:r,onChange:i=>o(i.target.value),placeholder:yk})]}),c.jsxs("div",{className:"flex justify-between items-center px-4 min-h-9",children:[c.jsx(Ot,{htmlFor:"filter-out-onion-relays",className:"text-base font-normal",children:n("Filter out onion relays")}),c.jsx(Ar,{id:"filter-out-onion-relays",checked:s,onCheckedChange:i=>{Xe.setFilterOutOnionRelays(i),a(i),kr()}})]})]})})});ive.displayName="SystemSettingsPage";const lve=h.forwardRef(({index:t},e)=>{const{t:n}=qe(),{push:r}=kn(),{isWalletConnected:o,walletInfo:s}=zh();return c.jsx(vr,{ref:e,index:t,title:n("Wallet"),children:o?c.jsxs("div",{className:"px-4 pt-3 space-y-4",children:[c.jsxs("div",{children:[(s==null?void 0:s.node.alias)&&c.jsxs("div",{className:"mb-2",children:[n("Connected to")," ",c.jsx("strong",{children:s.node.alias})]}),c.jsxs(af,{children:[c.jsx(Ng,{asChild:!0,children:c.jsx(Le,{variant:"destructive",children:n("Disconnect Wallet")})}),c.jsxs(nu,{children:[c.jsxs(ru,{children:[c.jsx(su,{children:n("Are you absolutely sure?")}),c.jsx(au,{children:n("You will not be able to send zaps to others.")})]}),c.jsxs(ou,{children:[c.jsx(cf,{children:n("Cancel")}),c.jsx(lf,{variant:"destructive",onClick:()=>Koe(),children:n("Disconnect")})]})]})]})]}),c.jsx(cye,{}),c.jsx(uye,{}),c.jsx(dye,{}),c.jsx(fye,{})]}):c.jsxs("div",{className:"px-4 pt-3 flex items-center gap-2",children:[c.jsx(Le,{className:"bg-foreground hover:bg-foreground/90",onClick:()=>r(hFe()),children:n("Start with a Rizful Vault")}),c.jsx(Le,{variant:"link",className:"text-muted-foreground hover:text-foreground px-0",onClick:()=>{VD()},children:n("or other wallets")})]})})});lve.displayName="WalletPage";var Au={},XQ;function y0t(){if(XQ)return Au;XQ=1,Object.defineProperty(Au,"__esModule",{value:!0}),Au.TokenData=void 0,Au.parse=f,Au.compile=m,Au.match=b,Au.pathToRegexp=j,Au.stringify=M;const t="/",e=L=>L,n=/^[$_\p{ID_Start}]$/u,r=/^[$\u200c\u200d\p{ID_Continue}]$/u,o="https://git.new/pathToRegexpError",s={"{":"{","}":"}","(":"(",")":")","[":"[","]":"]","+":"+","?":"?","!":"!"};function a(L){return L.replace(/[{}()\[\]+?!:*]/g,"\\$&")}function i(L){return L.replace(/[.+*?^${}()[\]|/\\]/g,"\\$&")}function*l(L){const B=[...L];let T=0;function R(){let z="";if(n.test(B[++T]))for(z+=B[T];r.test(B[++T]);)z+=B[T];else if(B[T]==='"'){let Y=T;for(;T<B.length;){if(B[++T]==='"'){T++,Y=0;break}B[T]==="\\"?z+=B[++T]:z+=B[T]}if(Y)throw new TypeError(`Unterminated quote at ${Y}: ${o}`)}if(!z)throw new TypeError(`Missing parameter name at ${T}: ${o}`);return z}for(;T<B.length;){const z=B[T],Y=s[z];if(Y)yield{type:Y,index:T++,value:z};else if(z==="\\")yield{type:"ESCAPED",index:T++,value:B[T++]};else if(z===":"){const Q=R();yield{type:"PARAM",index:T,value:Q}}else if(z==="*"){const Q=R();yield{type:"WILDCARD",index:T,value:Q}}else yield{type:"CHAR",index:T,value:B[T++]}}return{type:"END",index:T,value:""}}class u{constructor(B){this.tokens=B}peek(){if(!this._peek){const B=this.tokens.next();this._peek=B.value}return this._peek}tryConsume(B){const T=this.peek();if(T.type===B)return this._peek=void 0,T.value}consume(B){const T=this.tryConsume(B);if(T!==void 0)return T;const{type:R,index:z}=this.peek();throw new TypeError(`Unexpected ${R} at ${z}, expected ${B}: ${o}`)}text(){let B="",T;for(;T=this.tryConsume("CHAR")||this.tryConsume("ESCAPED");)B+=T;return B}}class d{constructor(B){this.tokens=B}}Au.TokenData=d;function f(L,B={}){const{encodePath:T=e}=B,R=new u(l(L));function z(Q){const W=[];for(;;){const F=R.text();F&&W.push({type:"text",value:T(F)});const X=R.tryConsume("PARAM");if(X){W.push({type:"param",name:X});continue}const $=R.tryConsume("WILDCARD");if($){W.push({type:"wildcard",name:$});continue}if(R.tryConsume("{")){W.push({type:"group",tokens:z("}")});continue}return R.consume(Q),W}}const Y=z("END");return new d(Y)}function m(L,B={}){const{encode:T=encodeURIComponent,delimiter:R=t}=B,z=L instanceof d?L:f(L,B),Y=g(z.tokens,R,T);return function(W={}){const[F,...X]=Y(W);if(X.length)throw new TypeError(`Missing parameters: ${X.join(", ")}`);return F}}function g(L,B,T){const R=L.map(z=>w(z,B,T));return z=>{const Y=[""];for(const Q of R){const[W,...F]=Q(z);Y[0]+=W,Y.push(...F)}return Y}}function w(L,B,T){if(L.type==="text")return()=>[L.value];if(L.type==="group"){const z=g(L.tokens,B,T);return Y=>{const[Q,...W]=z(Y);return W.length?[""]:[Q]}}const R=T||e;return L.type==="wildcard"&&T!==!1?z=>{const Y=z[L.name];if(Y==null)return["",L.name];if(!Array.isArray(Y)||Y.length===0)throw new TypeError(`Expected "${L.name}" to be a non-empty array`);return[Y.map((Q,W)=>{if(typeof Q!="string")throw new TypeError(`Expected "${L.name}/${W}" to be a string`);return R(Q)}).join(B)]}:z=>{const Y=z[L.name];if(Y==null)return["",L.name];if(typeof Y!="string")throw new TypeError(`Expected "${L.name}" to be a string`);return[R(Y)]}}function b(L,B={}){const{decode:T=decodeURIComponent,delimiter:R=t}=B,{regexp:z,keys:Y}=j(L,B),Q=Y.map(W=>T===!1?e:W.type==="param"?T:F=>F.split(R).map(T));return function(F){const X=z.exec(F);if(!X)return!1;const $=X[0],V=Object.create(null);for(let K=1;K<X.length;K++){if(X[K]===void 0)continue;const G=Y[K-1],J=Q[K-1];V[G.name]=J(X[K])}return{path:$,params:V}}}function j(L,B={}){const{delimiter:T=t,end:R=!0,sensitive:z=!1,trailing:Y=!0}=B,Q=[],W=[],F=z?"":"i",$=(Array.isArray(L)?L:[L]).map(G=>G instanceof d?G:f(G,B));for(const{tokens:G}of $)for(const J of S(G,0,[])){const ne=I(J,T,Q);W.push(ne)}let V=`^(?:${W.join("|")})`;return Y&&(V+=`(?:${i(T)}$)?`),V+=R?"$":`(?=${i(T)}|$)`,{regexp:new RegExp(V,F),keys:Q}}function*S(L,B,T){if(B===L.length)return yield T;const R=L[B];if(R.type==="group"){const z=T.slice();for(const Y of S(R.tokens,0,z))yield*S(L,B+1,Y)}else T.push(R);yield*S(L,B+1,T)}function I(L,B,T){let R="",z="",Y=!0;for(let Q=0;Q<L.length;Q++){const W=L[Q];if(W.type==="text"){R+=i(W.value),z+=W.value,Y||(Y=W.value.includes(B));continue}if(W.type==="param"||W.type==="wildcard"){if(!Y&&!z)throw new TypeError(`Missing text after "${W.name}": ${o}`);W.type==="param"?R+=`(${N(B,Y?"":z)}+)`:R+="([\\s\\S]+)",T.push(W),z="",Y=!1;continue}}return R}function N(L,B){return B.length<2?L.length<2?`[^${i(L+B)}]`:`(?:(?!${i(L)})[^${i(B)}])`:L.length<2?`(?:(?!${i(B)})[^${i(L)}])`:`(?:(?!${i(B)}|${i(L)})[\\s\\S])`}function M(L){return L.tokens.map(function B(T,R,z){if(T.type==="text")return a(T.value);if(T.type==="group")return`{${T.tokens.map(B).join("")}}`;const Q=D(T.name)&&O(z[R+1])?T.name:JSON.stringify(T.name);if(T.type==="param")return`:${Q}`;if(T.type==="wildcard")return`*${Q}`;throw new TypeError(`Unexpected token: ${T}`)}).join("")}function D(L){const[B,...T]=L;return n.test(B)?T.every(R=>r.test(R)):!1}function O(L){return(L==null?void 0:L.type)!=="text"?!0:!r.test(L.value[0])}return Au}var v0t=y0t();const w0t=[{path:"/login",element:c.jsx(Rye,{})},{path:"/logout",element:c.jsx(Tye,{})},{path:"/notes",element:c.jsx(Lye,{})},{path:"/notes/:id",element:c.jsx(Pye,{})},{path:"/users",element:c.jsx(Xye,{})},{path:"/users/:id",element:c.jsx(eve,{})},{path:"/users/:id/following",element:c.jsx(Iye,{})},{path:"/users/:id/relays",element:c.jsx(Oye,{})},{path:"/relays/:url",element:c.jsx(tve,{})},{path:"/relays/:url/reviews",element:c.jsx(nve,{})},{path:"/search",element:c.jsx(sve,{})},{path:"/external-content",element:c.jsx(Nye,{})},{path:"/settings",element:c.jsx(ave,{})},{path:"/help",element:c.jsx(Mye,{})},{path:"/settings/relays",element:c.jsx(rve,{})},{path:"/settings/wallet",element:c.jsx(lve,{})},{path:"/settings/posts",element:c.jsx(zye,{})},{path:"/settings/general",element:c.jsx(_ye,{})},{path:"/settings/appearance",element:c.jsx(vye,{})},{path:"/settings/emoji-packs",element:c.jsx(kye,{})},{path:"/settings/system",element:c.jsx(ive,{})},{path:"/profile-editor",element:c.jsx(Jye,{})},{path:"/mutes",element:c.jsx(Dye,{})},{path:"/rizful",element:c.jsx(ove,{})},{path:"/bookmarks",element:c.jsx(wye,{})},{path:"/dm/:pubkey",element:c.jsx(xye,{})},{path:"/follow-packs/:id",element:c.jsx(Aye,{})},{path:"/chat/:channelId",element:c.jsx(yye,{})}],b0t=w0t.map(({path:t,element:e})=>({path:t,element:h.isValidElement(e)?e:null,matcher:v0t.match(t)})),rk=h.createContext(void 0),ok=h.createContext(void 0),cve=h.createContext(void 0);function Lo(){const t=h.useContext(rk);if(!t)throw new Error("usePrimaryPage must be used within a PrimaryPageContext.Provider");return t}function kn(){const t=h.useContext(ok);if(!t)throw new Error("usePrimaryPage must be used within a SecondaryPageContext.Provider");return t}function uve(){const t=h.useContext(cve);return t||{isOpen:!1,open:()=>{},close:()=>{},toggle:()=>{}}}function x0t({maxStackSize:t=5}){const[e,n]=h.useState("home"),[r,o]=h.useState([{name:"home",element:VQ.home}]),[s,a]=h.useState([]),[i,l]=h.useState(!1),{isSmallScreen:u}=gn(),{themeSetting:d}=gf(),{enableSingleColumnLayout:f}=ts(),m=h.useRef(!1),g={isOpen:i,open:()=>l(!0),close:()=>l(!1),toggle:()=>l(I=>!I)};h.useEffect(()=>{if(u)return;const I=N=>{(N.metaKey||N.ctrlKey)&&N.key==="k"&&(N.preventDefault(),w("search"))};return window.addEventListener("keydown",I),()=>{window.removeEventListener("keydown",I)}},[u]),h.useEffect(()=>{if(["/npub1","/nprofile1"].some(N=>window.location.pathname.startsWith(N))?window.history.replaceState(null,"","/users"+window.location.pathname+window.location.search+window.location.hash):["/note1","/nevent1","/naddr1"].some(N=>window.location.pathname.startsWith(N))&&window.history.replaceState(null,"","/notes"+window.location.pathname+window.location.search+window.location.hash),window.history.pushState(null,"",window.location.href),window.location.pathname!=="/"){const N=window.location.pathname+window.location.search+window.location.hash;a(M=>{var L;if(eJ(M,N))return M;const{newStack:D,newItem:O}=t_(M,N,t,(L=window.history.state)==null?void 0:L.index);return O&&window.history.replaceState({index:O.index,url:N},"",N),D})}else{const M=new URLSearchParams(window.location.search).get("r");if(M){const D=oo(M);D&&w("relay",{url:D})}}const I=N=>{if(m.current){m.current=!1;return}if(po.pop()){m.current=!0,window.history.forward();return}let D=N.state;a(O=>{const L=O[O.length-1],B=L==null?void 0:L.index;if(!D){if(window.location.pathname+window.location.search+window.location.hash!=="/")return O;D={index:-1,url:"/"}}if(B===void 0||D.index>B){const{newStack:z}=t_(O,D.url,t);return z}if(D.index===B)return O;const T=O.filter(z=>z.index<=D.index),R=T[T.length-1];if(R){if(!R.element){const{element:z,ref:Y}=zR(R.url,D.index);z&&(R.element=z,R.ref=Y)}}else{const{element:z,ref:Y}=zR(D.url,D.index);z&&T.push({index:D.index,url:D.url,element:z,ref:Y})}return T.length===0&&window.history.replaceState(null,"","/"),T})};return window.addEventListener("popstate",I),()=>{window.removeEventListener("popstate",I)}},[]);const w=(I,N)=>{var D;const M=I===e;o(O=>{const L=O.find(B=>B.name===I);return L&&N?(L.props=N,[...O]):L?O:[...O,{name:I,element:VQ[I],props:N}]}),n(I),M&&((D=gye[I].current)==null||D.scrollToTop("smooth")),f&&S()},b=(I,N)=>{a(M=>{var L;if(eJ(M,I)){const B=M[M.length-1];return(L=B==null?void 0:B.ref)!=null&&L.current&&B.ref.current.scrollToTop("instant"),M}const{newStack:D,newItem:O}=t_(M,I,t,N);return O&&window.history.pushState({index:O.index,url:I},"",I),D})},j=(I=-1)=>{s.length<=-I?(window.history.replaceState(null,"","/"),a([])):window.history.go(I)},S=()=>{s.length!==0&&j(-s.length)};return u?c.jsx(rk.Provider,{value:{navigate:w,current:e,display:s.length===0},children:c.jsx(ok.Provider,{value:{push:b,pop:j,currentIndex:s.length?s[s.length-1].index:0},children:c.jsx(cve.Provider,{value:g,children:c.jsx(BA,{children:c.jsx(j5,{children:c.jsxs(sA,{secondaryStackLength:s.length,sidebarDrawerOpen:i,onBack:()=>j(),onCloseSecondary:()=>S(),children:[!!s.length&&s.map((I,N)=>c.jsx("div",{style:{display:N===s.length-1?"block":"none"},children:I.element},I.index)),r.map(({name:I,element:N,props:M})=>c.jsx("div",{style:{display:s.length===0&&e===I?"block":"none"},children:M?h.cloneElement(N,M):N},I)),c.jsx(qft,{open:i,onOpenChange:l}),c.jsx(S5,{}),c.jsx(C5,{}),c.jsx(aA,{}),c.jsx(mZ,{})]})})})})})}):f?c.jsx(rk.Provider,{value:{navigate:w,current:e,display:s.length===0},children:c.jsx(ok.Provider,{value:{push:b,pop:j,currentIndex:s.length?s[s.length-1].index:0},children:c.jsx(BA,{children:c.jsx(j5,{children:c.jsxs(sA,{secondaryStackLength:s.length,sidebarDrawerOpen:!1,onBack:()=>j(),onCloseSecondary:()=>S(),children:[c.jsxs("div",{className:"flex lg:justify-around w-full bg-chrome-background",children:[c.jsx("div",{className:"sticky top-0 z-40 lg:w-full flex self-start h-[var(--vh)]",children:c.jsx(xZ,{})}),c.jsxs("div",{className:"flex-1 w-0 bg-background border-x lg:flex-auto lg:w-[640px] lg:shrink-0",children:[!!s.length&&s.map((I,N)=>c.jsx("div",{style:{display:N===s.length-1?"block":"none"},children:I.element},I.index)),r.map(({name:I,element:N,props:M})=>c.jsx("div",{style:{display:s.length===0&&e===I?"block":"none"},children:M?h.cloneElement(N,M):N},I))]}),c.jsx("div",{className:"hidden lg:w-full lg:block"})]}),c.jsx(S5,{}),c.jsx(C5,{}),c.jsx(jZ,{className:"fixed bottom-20 right-0 z-50 w-80 rounded-l-full rounded-r-none overflow-hidden shadow-lg border"}),c.jsx(aA,{}),c.jsx(mZ,{})]})})})})}):c.jsx(rk.Provider,{value:{navigate:w,current:e,display:!0},children:c.jsx(ok.Provider,{value:{push:b,pop:j,currentIndex:s.length?s[s.length-1].index:0},children:c.jsx(BA,{children:c.jsx(j5,{children:c.jsxs(sA,{secondaryStackLength:s.length,sidebarDrawerOpen:!1,onBack:()=>j(),onCloseSecondary:()=>S(),children:[c.jsx("div",{className:"flex flex-col items-center bg-surface-background",children:c.jsxs("div",{className:"flex h-[var(--vh)] w-full bg-surface-background",style:{maxWidth:"1920px"},children:[c.jsx(xZ,{}),c.jsxs("div",{className:Re("grid grid-cols-2 w-full",d==="dark"?"":"gap-2 pr-2 py-2"),children:[c.jsx("div",{className:Re("bg-background overflow-hidden",d==="dark"?"border-l":"rounded-2xl shadow-lg"),children:r.map(({name:I,element:N,props:M})=>c.jsx("div",{className:"flex flex-col h-full w-full",style:{display:e===I?"block":"none"},children:M?h.cloneElement(N,M):N},I))}),c.jsx("div",{className:Re("bg-background overflow-hidden",d==="dark"?"border-l":"rounded-2xl",d!=="dark"&&s.length>0&&"shadow-lg",s.length===0?"bg-surface":""),children:s.map((I,N)=>c.jsx("div",{className:"flex flex-col h-full w-full",style:{display:N===s.length-1?"block":"none"},children:I.element},I.index))})]})]})}),c.jsx(S5,{}),c.jsx(C5,{}),c.jsx(jZ,{className:"fixed bottom-20 right-0 z-50 w-80 rounded-l-full rounded-r-none overflow-hidden shadow-lg border"}),c.jsx(aA,{})]})})})})})}function tc({to:t,children:e,className:n,onClick:r}){const{push:o}=kn();return c.jsx("span",{className:Re("cursor-pointer",n),onClick:s=>{r&&r(s),o(t)},children:e})}function eJ(t,e){const n=t[t.length-1];return n?n.url===e:!1}function zR(t,e){const n=t.split("?")[0].split("#")[0];for(const{matcher:r,element:o}of b0t){const s=r(n);if(!s)continue;if(!o)return{};const a=h.createRef();return{element:h.cloneElement(o,{...s.params,index:e,ref:a}),ref:a}}return{}}function t_(t,e,n=5,r){const o=t[t.length-1],s=r??(o?o.index+1:0),{element:a,ref:i}=zR(e,s);if(!a)return{newStack:t,newItem:null};const l={element:a,ref:i,url:e,index:s},u=[...t,l],d=u.findIndex(f=>f.element);return u.length-d>n&&(u[d].element=null),{newStack:u,newItem:l}}const tJ={large:"w-24 h-24",big:"w-16 h-16",semiBig:"w-12 h-12",normal:"w-10 h-10",medium:"w-9 h-9",small:"w-7 h-7",xSmall:"w-5 h-5",tiny:"w-4 h-4"};function Ro({userId:t,className:e,size:n="normal"}){const r=h.useMemo(()=>cu(),[]),o=c.jsx(tc,{to:wf(t),onClick:s=>s.stopPropagation(),children:c.jsx(nc,{userId:t,size:n,className:e})});return r?o:c.jsxs(CL,{children:[c.jsx(SL,{children:o}),c.jsx(PS,{className:"w-72",children:c.jsx(cge,{userId:t})})]})}function nc({userId:t,size:e="normal",className:n,onClick:r}){const{profile:o}=ua(t),s=h.useMemo(()=>o!=null&&o.pubkey?ux(o.pubkey):"",[o]);if(!o)return c.jsx(Ln,{className:Re("shrink-0",tJ[e],"rounded-full",n)});const{avatar:a,pubkey:i}=o||{};return c.jsx($o,{image:{url:a??s,pubkey:i},errorPlaceholder:s,className:"object-cover object-center",classNames:{wrapper:Re("shrink-0 rounded-full bg-background",tJ[e],n)},onClick:r})}function k0t({className:t,afterSwitch:e}){const{accounts:n,account:r,switchAccount:o,removeAccount:s}=wt(),[a,i]=h.useState(null);return c.jsx("div",{className:Re("space-y-2",t),children:n.map(l=>{var u;return c.jsxs("div",{className:Re("relative rounded-lg",Wf(l,r)?"border border-primary":"clickable"),onClick:()=>{Wf(l,r)||(i(l),o(l).then(()=>e()).finally(()=>i(null)))},children:[c.jsxs("div",{className:"flex justify-between items-center p-2",children:[c.jsxs("div",{className:"flex-1 flex items-center gap-2 relative",children:[c.jsx(nc,{userId:l.pubkey}),c.jsxs("div",{className:"flex-1 w-0",children:[c.jsx(sd,{userId:l.pubkey,className:"font-semibold truncate"}),c.jsx("div",{className:"text-sm rounded-full bg-muted px-2 w-fit",children:((u=Ut.tryFromString(l.pubkey))==null?void 0:u.formatNpub(12))??l.pubkey.slice(0,8)})]})]}),c.jsxs("div",{className:"flex items-center gap-2",children:[c.jsx("div",{className:"flex gap-2 items-center",children:c.jsx(zae,{signerType:l.signerType})}),c.jsx(Le,{variant:"ghost",size:"icon",className:"text-muted-foreground hover:text-destructive",onClick:d=>{d.stopPropagation(),s(l)},children:c.jsx(of,{})})]})]}),a&&Wf(l,a)&&c.jsx("div",{className:"absolute top-0 left-0 flex w-full h-full items-center justify-center rounded-lg bg-muted/60",children:c.jsx(_r,{size:16,className:"animate-spin"})})]},`${l.pubkey}-${l.signerType}`)})})}const vm={CONNECT:"connect",GET_PUBLIC_KEY:"get_public_key",SIGN_EVENT:"sign_event",NIP04_ENCRYPT:"nip04_encrypt",NIP04_DECRYPT:"nip04_decrypt",NIP44_ENCRYPT:"nip44_encrypt",NIP44_DECRYPT:"nip44_decrypt"};function p3(){const t=crypto.getRandomValues(new Uint8Array(16));return Zc(t)}function j0t(t){if(!t.startsWith("bunker://"))throw new Error("Invalid bunker URL: must start with bunker://");const e=t.slice(9),[n,r]=e.split("?");if(!n||n.length!==64)throw new Error("Invalid bunker URL: missing or invalid pubkey");const o=new URLSearchParams(r||""),s=o.getAll("relay"),a=o.get("secret")||void 0;if(s.length===0)throw new Error("Invalid bunker URL: no relay specified");return{pubkey:n,relays:s,secret:a}}function C0t(t,e,n){let r=t.replace("wss://","").replace("ws://","").replace("https://","").replace("http://","").replace(/\/$/,"");const o=new URLSearchParams;return o.set("pubkey",e),n&&o.set("secret",n),`nostr+connect://${r}?${o.toString()}`}function S0t(t,e,n){const r=new URLSearchParams;return e.forEach(o=>r.append("relay",o)),`bunker://${t}?${r.toString()}`}class T2{constructor(e,n,r){je(this,"bunkerPubkey");je(this,"relayUrls");je(this,"connectionSecret");je(this,"localPrivkey");je(this,"localPubkey");je(this,"remotePubkey",null);je(this,"ws",null);je(this,"pendingRequests",new Map);je(this,"connected",!1);je(this,"requestTimeout",3e4);je(this,"awaitingConnection",!1);je(this,"connectionResolve",null);this.bunkerPubkey=e,this.relayUrls=n,this.connectionSecret=r,this.localPrivkey=ql.utils.randomPrivateKey(),this.localPubkey=ug(this.localPrivkey)}static async awaitSignerConnection(e,n,r=12e4){const o=ql.utils.randomPrivateKey(),s=ug(o),a=n||p3(),i=C0t(e,s,a),l=new T2("",[e],a);l.localPrivkey=o,l.localPubkey=s,l.awaitingConnection=!0;const u=new Promise((d,f)=>{l.connectionResolve=m=>{l.bunkerPubkey=m,l.awaitingConnection=!1,d(l)},setTimeout(()=>{l.awaitingConnection&&(l.disconnect(),f(new Error("Connection timeout waiting for signer")))},r),l.connectAndWait(e).catch(f)});return{connectUrl:i,signer:u}}async connectAndWait(e){await this.connectToRelayAndListen(e)}async connectToRelayAndListen(e){return new Promise((n,r)=>{let o=e;e.startsWith("http://")?o="ws://"+e.slice(7):e.startsWith("https://")?o="wss://"+e.slice(8):!e.startsWith("ws://")&&!e.startsWith("wss://")&&(o="wss://"+e);const s=new WebSocket(o),a=setTimeout(()=>{s.close(),r(new Error("Connection timeout"))},1e4);s.onopen=()=>{clearTimeout(a),this.ws=s,this.connected=!0;const i=p3();s.send(JSON.stringify(["REQ",i,{kinds:[24133],"#p":[this.localPubkey],since:Math.floor(Date.now()/1e3)-60}])),n()},s.onerror=()=>{clearTimeout(a),r(new Error("WebSocket error"))},s.onclose=()=>{this.connected=!1,this.ws=null},s.onmessage=i=>{this.handleMessage(i.data)}})}getLocalPubkey(){return this.localPubkey}async init(){for(const e of this.relayUrls)try{await this.connectToRelay(e);break}catch(n){console.warn(`Failed to connect to ${e}:`,n)}if(!this.connected)throw new Error("Failed to connect to any bunker relay");await this.connect()}async connectToRelay(e){return new Promise((n,r)=>{let o=e;e.startsWith("http://")?o="ws://"+e.slice(7):e.startsWith("https://")?o="wss://"+e.slice(8):!e.startsWith("ws://")&&!e.startsWith("wss://")&&(o="wss://"+e);const s=new WebSocket(o),a=setTimeout(()=>{s.close(),r(new Error("Connection timeout"))},1e4);s.onopen=()=>{clearTimeout(a),this.ws=s,this.connected=!0;const i=p3();s.send(JSON.stringify(["REQ",i,{kinds:[24133],"#p":[this.localPubkey],since:Math.floor(Date.now()/1e3)-60}])),n()},s.onerror=()=>{clearTimeout(a),r(new Error("WebSocket error"))},s.onclose=()=>{this.connected=!1,this.ws=null},s.onmessage=i=>{this.handleMessage(i.data)}})}async handleMessage(e){try{const n=JSON.parse(e);if(!Array.isArray(n))return;const[r,...o]=n;if(r==="EVENT"){const[,s]=o;s.kind===24133&&await this.handleNIP46Response(s)}else r==="OK"||r==="NOTICE"&&console.warn("Relay notice:",o[0])}catch(n){console.error("Failed to parse message:",n)}}async handleNIP46Response(e){var n;try{const r=await D0.decrypt(this.localPrivkey,e.pubkey,e.content),o=JSON.parse(r);if(this.awaitingConnection&&o.method==="connect"){const i=o;if(console.log("Received connect request from signer:",e.pubkey),this.connectionSecret&&i.params[1]!==this.connectionSecret){console.warn("Connect request has wrong secret, ignoring");return}const l={id:i.id,result:"ack"},u=await D0.encrypt(this.localPrivkey,e.pubkey,JSON.stringify(l)),d={kind:24133,created_at:Math.floor(Date.now()/1e3),content:u,tags:[["p",e.pubkey]]},f=_i(d,this.localPrivkey);(n=this.ws)==null||n.send(JSON.stringify(["EVENT",f])),this.connectionResolve&&this.connectionResolve(e.pubkey);return}const s=o,a=this.pendingRequests.get(s.id);a&&(clearTimeout(a.timeout),this.pendingRequests.delete(s.id),s.error?a.reject(new Error(s.error)):s.result!==void 0?a.resolve(s.result):a.reject(new Error("Empty response")))}catch(r){console.error("Failed to handle NIP-46 response:",r)}}async sendRequest(e,n=[]){if(!this.ws||!this.connected)throw new Error("Not connected to bunker");const r={id:p3(),method:e,params:n},o=await D0.encrypt(this.localPrivkey,this.bunkerPubkey,JSON.stringify(r)),s={kind:24133,created_at:Math.floor(Date.now()/1e3),content:o,tags:[["p",this.bunkerPubkey]]},a=_i(s,this.localPrivkey);return this.ws.send(JSON.stringify(["EVENT",a])),new Promise((i,l)=>{const u=setTimeout(()=>{this.pendingRequests.delete(r.id),l(new Error("Request timeout"))},this.requestTimeout);this.pendingRequests.set(r.id,{resolve:i,reject:l,timeout:u})})}async connect(){const e=[this.localPubkey];this.connectionSecret&&e.push(this.connectionSecret);const n=await this.sendRequest(vm.CONNECT,e);if(n!=="ack")throw new Error(`Connect failed: ${n}`)}async getPublicKey(){if(this.remotePubkey)return this.remotePubkey;const e=await this.sendRequest(vm.GET_PUBLIC_KEY);return this.remotePubkey=e,e}async signEvent(e){const n=JSON.stringify({...e,pubkey:await this.getPublicKey()}),r=await this.sendRequest(vm.SIGN_EVENT,[n]);return JSON.parse(r)}async nip04Encrypt(e,n){return this.sendRequest(vm.NIP04_ENCRYPT,[e,n])}async nip04Decrypt(e,n){return this.sendRequest(vm.NIP04_DECRYPT,[e,n])}async nip44Encrypt(e,n){return this.sendRequest(vm.NIP44_ENCRYPT,[e,n])}async nip44Decrypt(e,n){return this.sendRequest(vm.NIP44_DECRYPT,[e,n])}isConnected(){return this.connected}disconnect(){this.ws&&(this.ws.close(),this.ws=null),this.connected=!1,this.pendingRequests.forEach(e=>{clearTimeout(e.timeout),e.reject(new Error("Disconnected"))}),this.pendingRequests.clear()}getBunkerPubkey(){return this.bunkerPubkey}getRelayUrls(){return this.relayUrls}getBunkerUrl(){return S0t(this.bunkerPubkey,this.relayUrls)}}const E0t="";function N0t({back:t,onLoginSuccess:e}){const{t:n}=qe(),{bunkerLoginWithSigner:r,bunkerLogin:o}=wt(),[s,a]=h.useState("choose"),[i,l]=h.useState(""),[u,d]=h.useState(E0t),[f,m]=h.useState(!1),[g,w]=h.useState(null),[b,j]=h.useState(null),[S,I]=h.useState(null),[N,M]=h.useState(!1),[D,O]=h.useState(!1);h.useEffect(()=>{if(s!=="scan")return;let R=!1;return(async()=>{if(m(!0),w(null),!u.trim()){w(n("Relay URL is required - enter a relay to use for bunker connection")),m(!1);return}try{const{connectUrl:Y,signer:Q}=await T2.awaitSignerConnection(u,void 0,12e4);if(R)return;j(Y);const W=await nye.toDataURL(Y,{width:256,margin:2,color:{dark:"#000000",light:"#ffffff"}});I(W),m(!1);const F=await Q;if(R){F.disconnect();return}const X=await F.getPublicKey();await r(F,X),e()}catch(Y){R||(w(Y.message),m(!1))}})(),()=>{R=!0}},[s,u,r,e]);const L=R=>{l(R),w(null)},B=async R=>{if(R.preventDefault(),!i.trim()){w(n("Please enter a bunker URL"));return}if(!i.startsWith("bunker://")){w(n("Invalid bunker URL format. Must start with bunker://"));return}m(!0),w(null);try{await o(i.trim()),e()}catch(z){w(z.message)}finally{m(!1)}},T=async()=>{b&&(await navigator.clipboard.writeText(b),M(!0),setTimeout(()=>M(!1),2e3))};return s==="choose"?c.jsxs("div",{className:"flex flex-col gap-4",onClick:R=>R.stopPropagation(),children:[c.jsxs("div",{className:"flex items-center gap-2",children:[c.jsx(Le,{size:"icon",variant:"ghost",className:"rounded-full",onClick:t,children:c.jsx(Zm,{className:"size-4"})}),c.jsxs("div",{className:"flex items-center gap-2",children:[c.jsx(ei,{className:"size-5"}),c.jsx("span",{className:"font-semibold",children:n("Login with Bunker")})]})]}),c.jsxs("div",{className:"space-y-3",children:[c.jsxs(Le,{variant:"outline",className:"w-full justify-start gap-3 h-auto py-4",onClick:()=>a("scan"),children:[c.jsx(s2,{className:"size-6"}),c.jsxs("div",{className:"text-left",children:[c.jsx("div",{className:"font-medium",children:n("Show QR Code")}),c.jsx("div",{className:"text-xs text-muted-foreground",children:n("Scan with Amber or another NIP-46 signer")})]})]}),c.jsxs(Le,{variant:"outline",className:"w-full justify-start gap-3 h-auto py-4",onClick:()=>a("paste"),children:[c.jsx(ei,{className:"size-6"}),c.jsxs("div",{className:"text-left",children:[c.jsx("div",{className:"font-medium",children:n("Paste Bunker URL")}),c.jsx("div",{className:"text-xs text-muted-foreground",children:n("Enter a bunker:// URL from your signer")})]})]})]}),c.jsxs("div",{className:"text-xs text-muted-foreground space-y-2 pt-2",children:[c.jsx("p",{children:c.jsx("strong",{children:n("What is a bunker?")})}),c.jsx("p",{children:n("A bunker (NIP-46) is a remote signing service that keeps your private key secure while allowing you to sign Nostr events. Your key never leaves the bunker.")})]})]}):s==="scan"?c.jsxs("div",{className:"flex flex-col gap-4",onClick:R=>R.stopPropagation(),children:[c.jsxs("div",{className:"flex items-center gap-2",children:[c.jsx(Le,{size:"icon",variant:"ghost",className:"rounded-full",onClick:()=>a("choose"),children:c.jsx(Zm,{className:"size-4"})}),c.jsxs("div",{className:"flex items-center gap-2",children:[c.jsx(s2,{className:"size-5"}),c.jsx("span",{className:"font-semibold",children:n("Scan with Signer")})]})]}),c.jsxs("div",{className:"space-y-4",children:[c.jsxs("div",{className:"space-y-2",children:[c.jsx(Ot,{htmlFor:"relayUrl",children:n("Relay URL")}),c.jsx(On,{id:"relayUrl",type:"text",placeholder:"wss://relay.nsec.app",value:u,onChange:R=>d(R.target.value),disabled:f||!!S,className:"font-mono text-sm"}),c.jsx("p",{className:"text-xs text-muted-foreground",children:n("Enter a relay URL for bunker connection (e.g., wss://relay.nsec.app)")})]}),f&&!S&&c.jsx("div",{className:"flex items-center justify-center py-8",children:c.jsx(so,{className:"h-8 w-8 animate-spin text-muted-foreground"})}),S&&c.jsxs("div",{className:"flex flex-col items-center gap-4",children:[c.jsxs("div",{className:"relative cursor-pointer rounded-lg overflow-hidden",onClick:T,title:n("Click to copy URL"),children:[c.jsx("img",{src:S,alt:"Bunker QR Code",className:"w-64 h-64"}),c.jsx("div",{className:"absolute inset-0 flex items-center justify-center bg-black/50 opacity-0 hover:opacity-100 transition-opacity",children:N?c.jsx(Zr,{className:"size-8 text-white"}):c.jsx(Pa,{className:"size-8 text-white"})})]}),c.jsx("p",{className:"text-sm text-muted-foreground text-center",children:n("Scan this QR code with Amber or your NIP-46 signer")}),c.jsxs("div",{className:"flex items-center gap-2",children:[c.jsx(so,{className:"h-4 w-4 animate-spin"}),c.jsx("span",{className:"text-sm text-muted-foreground",children:n("Waiting for connection...")})]}),b&&c.jsxs("div",{className:"w-full",children:[c.jsx(Ot,{className:"text-xs text-muted-foreground",children:n("Connection URL")}),c.jsxs("div",{className:"flex gap-2 mt-1",children:[c.jsx(On,{value:b,readOnly:!0,className:"font-mono text-xs"}),c.jsx(Le,{size:"icon",variant:"outline",onClick:T,children:N?c.jsx(Zr,{className:"size-4"}):c.jsx(Pa,{className:"size-4"})})]})]})]}),g&&c.jsx("div",{className:"text-sm text-destructive text-center",children:g})]})]}):c.jsxs(c.Fragment,{children:[D&&c.jsx(fx,{onScan:L,onClose:()=>O(!1)}),c.jsxs("div",{className:"flex flex-col gap-4",onClick:R=>R.stopPropagation(),children:[c.jsxs("div",{className:"flex items-center gap-2",children:[c.jsx(Le,{size:"icon",variant:"ghost",className:"rounded-full",onClick:()=>a("choose"),children:c.jsx(Zm,{className:"size-4"})}),c.jsxs("div",{className:"flex items-center gap-2",children:[c.jsx(ei,{className:"size-5"}),c.jsx("span",{className:"font-semibold",children:n("Paste Bunker URL")})]})]}),c.jsxs("form",{onSubmit:B,className:"space-y-4",children:[c.jsxs("div",{className:"space-y-2",children:[c.jsx(Ot,{htmlFor:"bunkerUrl",children:n("Bunker URL")}),c.jsxs("div",{className:"flex gap-2",children:[c.jsx(On,{id:"bunkerUrl",type:"text",placeholder:"bunker://pubkey?relay=wss://...",value:i,onChange:R=>l(R.target.value),disabled:f,className:"font-mono text-sm"}),c.jsx(Le,{type:"button",variant:"outline",size:"icon",onClick:()=>O(!0),disabled:f,title:n("Scan QR code"),children:c.jsx(SS,{className:"h-4 w-4"})})]}),c.jsx("p",{className:"text-xs text-muted-foreground",children:n("Enter the bunker connection URL. This is typically provided by your signing device or service.")})]}),g&&c.jsx("div",{className:"text-sm text-destructive",children:g}),c.jsx(Le,{type:"submit",className:"w-full",disabled:f||!i.trim(),children:f?c.jsxs(c.Fragment,{children:[c.jsx(so,{className:"mr-2 h-4 w-4 animate-spin"}),n("Connecting...")]}):n("Connect to Bunker")})]})]})]})}function I0t({back:t,onLoginSuccess:e}){const{t:n}=qe(),{npubLogin:r}=wt(),[o,s]=h.useState(!1),[a,i]=h.useState(""),[l,u]=h.useState(null),d=m=>{i(m.target.value),u(null)},f=()=>{a!==""&&(s(!0),r(a).then(()=>e()).catch(m=>u(m.message)).finally(()=>s(!1)))};return c.jsxs(c.Fragment,{children:[c.jsxs("div",{className:"space-y-1",children:[c.jsx(On,{placeholder:"npub...",value:a,onChange:d,className:l?"border-destructive":""}),l&&c.jsx("div",{className:"text-xs text-destructive pl-3",children:l})]}),c.jsxs(Le,{onClick:f,disabled:o,children:[c.jsx(_r,{className:o?"animate-spin":"hidden"}),n("Login")]}),c.jsx(Le,{variant:"secondary",onClick:t,children:n("Back")})]})}function A0t({back:t,onLoginSuccess:e}){return c.jsxs(Ex,{defaultValue:"nsec",children:[c.jsxs(lv,{children:[c.jsx(rl,{value:"nsec",children:"nsec"}),c.jsx(rl,{value:"ncryptsec",children:"ncryptsec"})]}),c.jsx(ol,{value:"nsec",children:c.jsx(_0t,{back:t,onLoginSuccess:e})}),c.jsx(ol,{value:"ncryptsec",children:c.jsx(M0t,{back:t,onLoginSuccess:e})})]})}function _0t({back:t,onLoginSuccess:e}){const{t:n}=qe(),{nsecLogin:r}=wt(),[o,s]=h.useState(""),[a,i]=h.useState(null),[l,u]=h.useState(""),[d,f]=h.useState(!1),m=b=>{s(b.target.value),i(null)},g=b=>{s(b),i(null)},w=()=>{o!==""&&r(o,l).then(()=>e()).catch(b=>{i(b.message)})};return c.jsxs(c.Fragment,{children:[d&&c.jsx(fx,{onScan:g,onClose:()=>f(!1)}),c.jsxs("form",{className:"space-y-4",onSubmit:b=>{b.preventDefault(),w()},children:[c.jsx("div",{className:"text-orange-400",children:n("Using private key login is insecure. It is recommended to use a browser extension for login, such as alby, nostr-keyx or nos2x. If you must use a private key, please set a password for encryption at minimum.")}),c.jsxs("div",{className:"grid gap-2",children:[c.jsx(Ot,{htmlFor:"nsec-input",children:"nsec or hex"}),c.jsxs("div",{className:"flex gap-2",children:[c.jsx(On,{id:"nsec-input",type:"password",placeholder:"nsec1.. or hex",value:o,onChange:m,className:a?"border-destructive":""}),c.jsx(Le,{type:"button",variant:"outline",size:"icon",onClick:()=>f(!0),title:n("Scan QR code"),children:c.jsx(SS,{className:"h-4 w-4"})})]}),a&&c.jsx("div",{className:"text-xs text-destructive",children:a})]}),c.jsxs("div",{className:"grid gap-2",children:[c.jsx(Ot,{htmlFor:"password-input",children:n("password")}),c.jsx(On,{id:"password-input",type:"password",placeholder:n("optional: encrypt nsec"),value:l,onChange:b=>u(b.target.value)})]}),c.jsxs("div",{className:"flex gap-2",children:[c.jsx(Le,{className:"w-fit px-8",variant:"secondary",type:"button",onClick:t,children:n("Back")}),c.jsx(Le,{className:"flex-1",type:"submit",children:n("Login")})]})]})]})}function M0t({back:t,onLoginSuccess:e}){const{t:n}=qe(),{ncryptsecLogin:r}=wt(),[o,s]=h.useState(""),[a,i]=h.useState(null),[l,u]=h.useState(!1),d=g=>{s(g.target.value),i(null)},f=g=>{s(g),i(null)},m=()=>{o!==""&&r(o).then(()=>e()).catch(g=>{i(g.message)})};return c.jsxs(c.Fragment,{children:[l&&c.jsx(fx,{onScan:f,onClose:()=>u(!1)}),c.jsxs("form",{className:"space-y-4",onSubmit:g=>{g.preventDefault(),m()},children:[c.jsxs("div",{className:"grid gap-2",children:[c.jsx(Ot,{htmlFor:"ncryptsec-input",children:"ncryptsec"}),c.jsxs("div",{className:"flex gap-2",children:[c.jsx(On,{id:"ncryptsec-input",type:"password",placeholder:"ncryptsec1..",value:o,onChange:d,className:a?"border-destructive":""}),c.jsx(Le,{type:"button",variant:"outline",size:"icon",onClick:()=>u(!0),title:n("Scan QR code"),children:c.jsx(SS,{className:"h-4 w-4"})})]}),a&&c.jsx("div",{className:"text-xs text-destructive",children:a})]}),c.jsxs("div",{className:"flex gap-2",children:[c.jsx(Le,{className:"w-fit px-8",variant:"secondary",type:"button",onClick:t,children:n("Back")}),c.jsx(Le,{className:"flex-1",type:"submit",children:n("Login")})]})]})]})}function R0t({back:t,onSignupSuccess:e}){const{t:n}=qe(),{nsecLogin:r}=wt(),[o,s]=h.useState("generate"),[a,i]=h.useState(nJ()),[l,u]=h.useState(!1),[d,f]=h.useState(""),[m,g]=h.useState(""),[w,b]=h.useState(!1),j=()=>{const D=new Blob([a],{type:"text/plain"}),O=URL.createObjectURL(D),L=document.createElement("a");L.href=O,L.download="nostr-private-key.txt",document.body.appendChild(L),L.click(),document.body.removeChild(L),URL.revokeObjectURL(O)},S=async()=>{await r(a,d||void 0,!0),e()},I=d===m,N=!d||I,M=()=>c.jsx("div",{className:"flex items-center justify-center gap-2",children:["generate","password"].map((D,O)=>c.jsxs("div",{className:"flex items-center",children:[c.jsx("div",{className:`w-8 h-8 rounded-full flex items-center justify-center text-sm font-semibold ${o===D?"bg-primary text-primary-foreground":o==="password"&&D==="generate"?"bg-primary/20 text-primary":"bg-muted text-muted-foreground"}`,children:O+1}),O<1&&c.jsx("div",{className:"w-12 h-0.5 bg-muted mx-1"})]},D))});return o==="generate"?c.jsxs("div",{className:"space-y-6",children:[M(),c.jsxs("div",{className:"text-center",children:[c.jsx("h3",{className:"text-lg font-semibold mb-2",children:n("Create Your Nostr Account")}),c.jsx("p",{className:"text-sm text-muted-foreground",children:n("Generate your unique private key. This is your digital identity.")})]}),c.jsx(Ej,{variant:"alert",title:n("Critical: Save Your Private Key"),content:n("Your private key IS your account. There is no password recovery. If you lose it, you lose your account forever. Please save it in a secure location.")}),c.jsxs("div",{className:"space-y-1",children:[c.jsx(Ot,{children:n("Your Private Key")}),c.jsxs("div",{className:"flex gap-2",children:[c.jsx(On,{value:a,readOnly:!0,className:"font-mono text-sm",onClick:D=>D.currentTarget.select()}),c.jsx(Le,{type:"button",variant:"secondary",size:"icon",onClick:()=>i(nJ()),title:n("Generate new key"),children:c.jsx(lae,{})})]})]}),c.jsxs("div",{className:"w-full flex flex-wrap gap-2",children:[c.jsxs(Le,{onClick:j,className:"flex-1",children:[c.jsx(rL,{}),n("Download Backup File")]}),c.jsxs(Le,{onClick:()=>{navigator.clipboard.writeText(a),b(!0),setTimeout(()=>b(!1),2e3)},variant:"secondary",className:"flex-1",children:[w?c.jsx(Zr,{}):c.jsx(Pa,{}),n(w?"Copied to Clipboard":"Copy to Clipboard")]})]}),c.jsxs("div",{className:"flex items-center gap-2 ml-2",children:[c.jsx(Ox,{id:"acknowledge-checkbox",checked:l,onCheckedChange:D=>u(!!D)}),c.jsx(Ot,{htmlFor:"acknowledge-checkbox",className:"cursor-pointer",children:n("I have safely backed up my private key")})]}),c.jsxs("div",{className:"flex gap-2",children:[c.jsx(Le,{variant:"secondary",onClick:t,className:"w-fit px-6",children:n("Back")}),c.jsx(Le,{onClick:()=>s("password"),className:"flex-1",disabled:!l,children:n("Continue")})]})]}):c.jsxs("div",{className:"space-y-6",children:[M(),c.jsxs("div",{className:"text-center",children:[c.jsx("h3",{className:"text-lg font-semibold mb-2",children:n("Secure Your Account")}),c.jsx("p",{className:"text-sm text-muted-foreground",children:n("Add an extra layer of protection with a password")})]}),c.jsx(Ej,{title:n("Password Protection (Recommended)"),content:n("Add a password to encrypt your private key in this browser. This is optional but strongly recommended for better security.")}),c.jsxs("div",{className:"space-y-2",children:[c.jsxs("div",{className:"space-y-1",children:[c.jsx(Ot,{htmlFor:"password-input",children:n("Password (Optional)")}),c.jsx(On,{id:"password-input",type:"password",placeholder:n("Create a password (or skip)"),value:d,onChange:D=>f(D.target.value)})]}),d&&c.jsxs("div",{className:"space-y-1",children:[c.jsx(Ot,{htmlFor:"confirm-password-input",children:n("Confirm Password")}),c.jsx(On,{id:"confirm-password-input",type:"password",placeholder:n("Enter your password again"),value:m,onChange:D=>g(D.target.value)}),m&&!I&&c.jsx("p",{className:"text-xs text-red-500",children:n("Passwords do not match")})]})]}),c.jsxs("div",{className:"w-full flex gap-2",children:[c.jsx(Le,{variant:"secondary",onClick:()=>{s("generate"),f(""),g("")},className:"w-fit px-6",children:n("Back")}),c.jsx(Le,{onClick:S,className:"flex-1",disabled:!N,children:n("Complete Signup")})]})]})}function nJ(){const t=hX();return SFe(t)}function sC({close:t}){const[e,n]=h.useState(null);return c.jsx(c.Fragment,{children:e==="nsec"?c.jsx(A0t,{back:()=>n(null),onLoginSuccess:()=>t==null?void 0:t()}):e==="npub"?c.jsx(I0t,{back:()=>n(null),onLoginSuccess:()=>t==null?void 0:t()}):e==="signup"?c.jsx(R0t,{back:()=>n(null),onSignupSuccess:()=>t==null?void 0:t()}):e==="bunker"?c.jsx(N0t,{back:()=>n(null),onLoginSuccess:()=>t==null?void 0:t()}):c.jsx(T0t,{setPage:n,close:t})})}function T0t({setPage:t,close:e}){const{t:n}=qe(),{nip07Login:r,accounts:o}=wt();return c.jsxs("div",{onClick:s=>s.stopPropagation(),className:"flex flex-col gap-8",children:[c.jsxs("div",{children:[c.jsx("div",{className:"text-center text-muted-foreground text-sm font-semibold",children:n("Add an Account")}),c.jsxs("div",{className:"space-y-2 mt-4",children:[Aw.loginMethods.includes("nip07")&&!!window.nostr&&c.jsx(Le,{onClick:()=>r().then(()=>e==null?void 0:e()),className:"w-full",children:n("Login with Browser Extension")}),Aw.loginMethods.includes("nsec")&&c.jsx(Le,{variant:"secondary",onClick:()=>t("nsec"),className:"w-full",children:n("Login with Private Key")}),Aw.loginMethods.includes("bunker")&&c.jsx(Le,{variant:"secondary",onClick:()=>t("bunker"),className:"w-full",children:n("Login with Bunker")}),bje()]})]}),Aw.loginMethods.includes("nsec")&&c.jsxs(c.Fragment,{children:[c.jsx(ri,{}),c.jsxs("div",{children:[c.jsx("div",{className:"text-center text-muted-foreground text-sm font-semibold",children:n("Don't have an account yet?")}),c.jsx(Le,{onClick:()=>t("signup"),className:"w-full mt-4",children:n("Create New Account")})]})]}),o.length>0&&c.jsxs(c.Fragment,{children:[c.jsx(ri,{}),c.jsxs("div",{children:[c.jsx("div",{className:"text-center text-muted-foreground text-sm font-semibold",children:n("Logged in Accounts")}),c.jsx(k0t,{className:"mt-4",afterSwitch:()=>e==null?void 0:e()})]})]})]})}function QE({open:t,setOpen:e}){const{isSmallScreen:n}=gn();return n?c.jsx(ao,{open:t,onOpenChange:e,children:c.jsx(io,{className:"max-h-[90vh]",children:c.jsx("div",{className:"flex flex-col p-4 gap-4 overflow-auto",children:c.jsx(sC,{close:()=>e(!1)})})})}):c.jsx(Ls,{open:t,onOpenChange:e,children:c.jsx(ms,{className:"w-[520px] max-h-[90vh] py-8 overflow-auto",children:c.jsx(sC,{close:()=>e(!1)})})})}function D0t(t,e,n,r){qo.hash(t);const o=HJ({dkLen:32,asyncTick:10},r),{c:s,dkLen:a,asyncTick:i}=o;if(qo.number(s),qo.number(a),qo.number(i),s<1)throw new Error("PBKDF2: iterations (c) should be >= 1");const l=cg(e),u=cg(n),d=new Uint8Array(a),f=Py.create(t,l),m=f._cloneInto().update(u);return{c:s,dkLen:a,asyncTick:i,DK:d,PRF:f,PRFSalt:m}}function L0t(t,e,n,r,o){return t.destroy(),e.destroy(),r&&r.destroy(),o.fill(0),n}function fve(t,e,n,r){const{c:o,dkLen:s,DK:a,PRF:i,PRFSalt:l}=D0t(t,e,n,r);let u;const d=new Uint8Array(4),f=y3(d),m=new Uint8Array(i.outputLen);for(let g=1,w=0;w<s;g++,w+=i.outputLen){const b=a.subarray(w,w+i.outputLen);f.setInt32(0,g,!1),(u=l._cloneInto(u)).update(d).digestInto(m),b.set(m.subarray(0,b.length));for(let j=1;j<o;j++){i._cloneInto(u).update(m).digestInto(m);for(let S=0;S<b.length;S++)b[S]^=m[S]}}return L0t(i,l,a,u,m)}const br=(t,e)=>t<<e|t>>>32-e;function rJ(t,e,n,r,o,s){let a=t[e++]^n[r++],i=t[e++]^n[r++],l=t[e++]^n[r++],u=t[e++]^n[r++],d=t[e++]^n[r++],f=t[e++]^n[r++],m=t[e++]^n[r++],g=t[e++]^n[r++],w=t[e++]^n[r++],b=t[e++]^n[r++],j=t[e++]^n[r++],S=t[e++]^n[r++],I=t[e++]^n[r++],N=t[e++]^n[r++],M=t[e++]^n[r++],D=t[e++]^n[r++],O=a,L=i,B=l,T=u,R=d,z=f,Y=m,Q=g,W=w,F=b,X=j,$=S,V=I,K=N,G=M,J=D;for(let ne=0;ne<8;ne+=2)R^=br(O+V|0,7),W^=br(R+O|0,9),V^=br(W+R|0,13),O^=br(V+W|0,18),F^=br(z+L|0,7),K^=br(F+z|0,9),L^=br(K+F|0,13),z^=br(L+K|0,18),G^=br(X+Y|0,7),B^=br(G+X|0,9),Y^=br(B+G|0,13),X^=br(Y+B|0,18),T^=br(J+$|0,7),Q^=br(T+J|0,9),$^=br(Q+T|0,13),J^=br($+Q|0,18),L^=br(O+T|0,7),B^=br(L+O|0,9),T^=br(B+L|0,13),O^=br(T+B|0,18),Y^=br(z+R|0,7),Q^=br(Y+z|0,9),R^=br(Q+Y|0,13),z^=br(R+Q|0,18),$^=br(X+F|0,7),W^=br($+X|0,9),F^=br(W+$|0,13),X^=br(F+W|0,18),V^=br(J+G|0,7),K^=br(V+J|0,9),G^=br(K+V|0,13),J^=br(G+K|0,18);o[s++]=a+O|0,o[s++]=i+L|0,o[s++]=l+B|0,o[s++]=u+T|0,o[s++]=d+R|0,o[s++]=f+z|0,o[s++]=m+Y|0,o[s++]=g+Q|0,o[s++]=w+W|0,o[s++]=b+F|0,o[s++]=j+X|0,o[s++]=S+$|0,o[s++]=I+V|0,o[s++]=N+K|0,o[s++]=M+G|0,o[s++]=D+J|0}function n_(t,e,n,r,o){let s=r+0,a=r+16*o;for(let i=0;i<16;i++)n[a+i]=t[e+(2*o-1)*16+i];for(let i=0;i<o;i++,s+=16,e+=16)rJ(n,a,t,e,n,s),i>0&&(a+=16),rJ(n,s,t,e+=16,n,a)}function P0t(t,e,n){const r=HJ({dkLen:32,asyncTick:10,maxmem:1073742848},n),{N:o,r:s,p:a,dkLen:i,asyncTick:l,maxmem:u,onProgress:d}=r;if(qo.number(o),qo.number(s),qo.number(a),qo.number(i),qo.number(l),qo.number(u),d!==void 0&&typeof d!="function")throw new Error("progressCb should be function");const f=128*s,m=f/4;if(o<=1||(o&o-1)!==0||o>=2**(f/8)||o>2**32)throw new Error("Scrypt: N must be larger than 1, a power of 2, less than 2^(128 * r / 8) and less than 2^32");if(a<0||a>(2**32-1)*32/f)throw new Error("Scrypt: p must be a positive integer less than or equal to ((2^32 - 1) * 32) / (128 * r)");if(i<0||i>(2**32-1)*32)throw new Error("Scrypt: dkLen should be positive integer less than or equal to (2^32 - 1) * 32");const g=f*(o+a);if(g>u)throw new Error(`Scrypt: parameters too large, ${g} (128 * r * (N + p)) > ${u} (maxmem)`);const w=fve(ml,t,e,{c:1,dkLen:f*a}),b=II(w),j=II(new Uint8Array(f*o)),S=II(new Uint8Array(f));let I=()=>{};if(d){const N=2*o*a,M=Math.max(Math.floor(N/1e4),1);let D=0;I=()=>{D++,d&&(!(D%M)||D===N)&&d(D/N)}}return{N:o,r:s,p:a,dkLen:i,blockSize32:m,V:j,B32:b,B:w,tmp:S,blockMixCb:I,asyncTick:l}}function O0t(t,e,n,r,o){const s=fve(ml,t,n,{c:1,dkLen:e});return n.fill(0),r.fill(0),o.fill(0),s}function dve(t,e,n){const{N:r,r:o,p:s,dkLen:a,blockSize32:i,V:l,B32:u,B:d,tmp:f,blockMixCb:m}=P0t(t,e,n);for(let g=0;g<s;g++){const w=i*g;for(let b=0;b<i;b++)l[b]=u[w+b];for(let b=0,j=0;b<r-1;b++)n_(l,j,l,j+=i,o),m();n_(l,(r-1)*i,u,w,o),m();for(let b=0;b<r;b++){const j=u[w+i-16]%r;for(let S=0;S<i;S++)f[S]=u[w+S]^l[j*i+S];n_(f,0,u,w,o),m()}}return O0t(t,a,d,l,f)}var pve=5e3;function z0t(t,e){let n=Pr.toWords(e);return Pr.encode(t,n,pve)}function F0t(t,e){return z0t(t,e)}function B0t(t,e,n=16,r=2){let o=xb(16),s=2**n,a=dve(e.normalize("NFKC"),o,{N:s,r:8,p:1,dkLen:32}),i=xb(24),l=Uint8Array.from([r]),d=lX(a,i,l).encrypt(t),f=vh(Uint8Array.from([2]),Uint8Array.from([n]),o,i,l,d);return F0t("ncryptsec",f)}function oJ(t,e){let{prefix:n,words:r}=Pr.decode(t,pve);if(n!=="ncryptsec")throw new Error(`invalid prefix ${n}, expected 'ncryptsec'`);let o=new Uint8Array(Pr.fromWords(r)),s=o[0];if(s!==2)throw new Error(`invalid version ${s}, expected 0x02`);let i=2**o[1],l=o.slice(2,18),u=o.slice(18,42),d=o[42],f=Uint8Array.from([d]),m=o.slice(43),g=dve(e.normalize("NFKC"),l,{N:i,r:8,p:1,dkLen:32});return lX(g,u,f).decrypt(m)}const hve=h.createContext(void 0),U0t=()=>{const t=h.useContext(hve);if(!t)throw new Error("usePasswordPrompt must be used within PasswordPromptProvider");return t};function $0t({children:t}){const{t:e}=qe(),[n,r]=h.useState(!1),[o,s]=h.useState(""),[a,i]=h.useState(""),l=h.useRef(null),u=h.useCallback(m=>new Promise(g=>{s(m),i(""),r(!0),l.current=g}),[]),d=()=>{var m;r(!1),(m=l.current)==null||m.call(l,a),l.current=null},f=()=>{var m;r(!1),(m=l.current)==null||m.call(l,null),l.current=null};return c.jsxs(hve.Provider,{value:{promptPassword:u},children:[t,c.jsx(af,{open:n,onOpenChange:m=>!m&&f(),children:c.jsxs(nu,{children:[c.jsxs(ru,{children:[c.jsx(su,{children:e("Password Required")}),c.jsx(au,{children:o})]}),c.jsx(On,{type:"password",value:a,onChange:m=>i(m.target.value),placeholder:e("Enter password"),autoFocus:!0,onKeyDown:m=>{m.key==="Enter"&&(m.preventDefault(),d())}}),c.jsxs(ou,{children:[c.jsx(cf,{onClick:f,children:e("Cancel")}),c.jsx(lf,{onClick:d,children:e("Confirm")})]})]})})]})}class sJ{constructor(){je(this,"signer");je(this,"pubkey",null)}async init(){for(let r=0;r<50;r++){if(window.nostr){this.signer=window.nostr;return}await new Promise(o=>setTimeout(o,100))}throw new Error("You need to install a nostr signer extension to login. Such as alby, nostr-keyx or nos2x.")}async getPublicKey(){if(!this.signer)throw new Error("Should call init() first");return this.pubkey||(this.pubkey=await this.signer.getPublicKey()),this.pubkey}async signEvent(e){if(!this.signer)throw new Error("Should call init() first");return await this.signer.signEvent(e)}async nip04Encrypt(e,n){var r;if(!this.signer)throw new Error("Should call init() first");if(!((r=this.signer.nip04)!=null&&r.encrypt))throw new Error("The extension you are using does not support nip04 encryption");return await this.signer.nip04.encrypt(e,n)}async nip04Decrypt(e,n){var r;if(!this.signer)throw new Error("Should call init() first");if(!((r=this.signer.nip04)!=null&&r.decrypt))throw new Error("The extension you are using does not support nip04 decryption");return await this.signer.nip04.decrypt(e,n)}async nip44Encrypt(e,n){var r;if(!this.signer)throw new Error("Should call init() first");if(!((r=this.signer.nip44)!=null&&r.encrypt))throw new Error("The extension you are using does not support nip44 encryption");return await this.signer.nip44.encrypt(e,n)}async nip44Decrypt(e,n){var r;if(!this.signer)throw new Error("Should call init() first");if(!((r=this.signer.nip44)!=null&&r.decrypt))throw new Error("The extension you are using does not support nip44 decryption");return await this.signer.nip44.decrypt(e,n)}}class aJ{constructor(){je(this,"pubkey",null)}login(e){const{type:n,data:r}=yr.decode(e);if(n!=="npub")throw new Error("invalid nsec");return this.pubkey=r,this.pubkey}async getPublicKey(){if(!this.pubkey)throw new Error("Not logged in");return this.pubkey}async signEvent(){throw new Error("Not logged in")}async nip04Encrypt(){throw new Error("Not logged in")}async nip04Decrypt(){throw new Error("Not logged in")}}function V0t(t){const{prefix:e,words:n}=Pr.decode(t,5e3);if(e!=="nsec")throw new Error("Invalid nsec prefix");const r=new Uint8Array(Pr.fromWords(n));return Zc(r)}function H0t(t){return t.startsWith("nsec")?V0t(t):t}function W0t(t){if(!/^[0-9a-fA-F]{64}$/.test(t))throw new Error("Private key must be 64 hex characters")}class h3{constructor(){je(this,"privkey",null);je(this,"pubkey",null)}login(e){let n;if(typeof e=="string")try{const r=H0t(e);W0t(r),n=id(r)}catch(r){throw new Error(`Invalid private key: ${r instanceof Error?r.message:"unknown error"}`)}else n=e;return this.privkey=n,this.pubkey=ug(n),this.pubkey}async getPublicKey(){if(!this.pubkey)throw new Error("Not logged in");return this.pubkey}async signEvent(e){if(!this.privkey)throw new Error("Not logged in");return _i(e,this.privkey)}async nip04Encrypt(e,n){if(!this.privkey)throw new Error("Not logged in");return D0.encrypt(this.privkey,e,n)}async nip04Decrypt(e,n){if(!this.privkey)throw new Error("Not logged in");return D0.decrypt(this.privkey,e,n)}async nip44Encrypt(e,n){if(!this.privkey)throw new Error("Not logged in");const r=Lm.utils.getConversationKey(this.privkey,e);return Lm.encrypt(n,r)}async nip44Decrypt(e,n){if(!this.privkey)throw new Error("Not logged in");const r=Lm.utils.getConversationKey(this.privkey,e);return Lm.decrypt(n,r)}}const mve=h.createContext(void 0),iJ=new Map,wt=()=>{const t=h.useContext(mve);if(!t)throw new Error("useNostr must be used within a NostrProvider");return t};function Y0t({children:t}){const{t:e}=qe(),{addDeletedEvent:n}=EL(),{promptPassword:r}=U0t(),[o,s]=h.useState(Xe.getAccounts().map(q=>({pubkey:q.pubkey,signerType:q.signerType}))),[a,i]=h.useState(null),[l,u]=h.useState(null),[d,f]=h.useState(null),[m,g]=h.useState(null),[w,b]=h.useState(!1),[j,S]=h.useState(null),[I,N]=h.useState(null),[M,D]=h.useState(null),[O,L]=h.useState(null),[B,T]=h.useState(null),[R,z]=h.useState(null),[Y,Q]=h.useState(null),[W,F]=h.useState(-1),[X,$]=h.useState(!1);h.useEffect(()=>{(async()=>{if(V()){await K(),$(!0);return}const ie=Xe.getAccounts(),Ce=Xe.getCurrentAccount()??ie[0];if(!Ce){$(!0);return}i({pubkey:Ce.pubkey,signerType:Ce.signerType}),$(!0),await pe(Ce)})();const Z=()=>{V()&&K()};return window.addEventListener("hashchange",Z),()=>{window.removeEventListener("hashchange",Z)}},[]),h.useEffect(()=>{const Z=(async()=>{if(D(null),S(null),N(null),u(null),T(null),L(null),Q(null),F(-1),!a)return;const ie=new AbortController,Ce=Xe.getAccountNsec(a.pubkey);u(Ce||null);const Te=Xe.getAccountNcryptsec(a.pubkey);f(Te||null);const Se=Xe.getLastReadNotificationTime(a.pubkey),[ye,We,Ee,Pe,Qe,mt]=await Promise.all([kt.getReplaceableEvent(a.pubkey,Ue.RelayList),kt.getReplaceableEvent(a.pubkey,Ue.Metadata),kt.getReplaceableEvent(a.pubkey,Ue.BookmarkList),kt.getReplaceableEvent(a.pubkey,gt.FAVORITE_RELAYS),kt.getReplaceableEvent(a.pubkey,Ue.UserEmojiList),kt.getReplaceableEvent(a.pubkey,Ue.Pinlist)]);ye&&D(T3(ye,Xe.getFilterOutOnionRelays())),We&&(N(We),S(U0(We))),Ee&&L(Ee),Pe&&T(Pe),Qe&&z(Qe),mt&&Q(mt);const Rt=await ze.fetchEvents(ze.currentRelays,{kinds:[Ue.RelayList],authors:[a.pubkey]}),At=Lke(Rt)??ye,_t=T3(At,Xe.getFilterOutOnionRelays());At&&(ze.updateRelayListCache(At),await kt.putReplaceableEvent(At)),D(_t);const dt=(await ze.fetchEvents(_t.write.concat(ze.currentRelays).slice(0,4),[{kinds:[Ue.Metadata,Ue.BookmarkList,gt.FAVORITE_RELAYS,gt.BLOSSOM_SERVER_LIST,Ue.UserEmojiList,Ue.Pinlist],authors:[a.pubkey]},{kinds:[Ue.Application],authors:[a.pubkey],"#d":[Xp.NOTIFICATIONS_SEEN_AT]}])).sort((Jt,jr)=>jr.created_at-Jt.created_at),xt=dt.find(Jt=>Jt.kind===Ue.Metadata),vt=dt.find(Jt=>Jt.kind===Ue.BookmarkList),yt=dt.find(Jt=>Jt.kind===gt.FAVORITE_RELAYS),Wt=dt.find(Jt=>Jt.kind===gt.BLOSSOM_SERVER_LIST),qt=dt.find(Jt=>Jt.kind===Ue.UserEmojiList),Ct=dt.find(Jt=>Jt.kind===Ue.Application&&Uy(Jt)===Xp.NOTIFICATIONS_SEEN_AT),sn=dt.find(Jt=>Jt.kind===Ue.Pinlist);if(xt){const Jt=await kt.putReplaceableEvent(xt);Jt.id===xt.id&&(N(Jt),S(U0(Jt)))}else if(!We){const Jt=Ut.tryFromString(a.pubkey);S({pubkey:a.pubkey,npub:(Jt==null?void 0:Jt.npub)??"",username:(Jt==null?void 0:Jt.formatNpub(12))??a.pubkey.slice(0,8)})}if(vt&&(await kt.putReplaceableEvent(vt)).id===vt.id&&L(vt),yt){const Jt=await kt.putReplaceableEvent(yt);Jt.id===yt.id&&T(Jt)}if(Wt&&await ze.updateBlossomServerListEventCache(Wt),qt){const Jt=await kt.putReplaceableEvent(qt);Jt.id===qt.id&&z(Jt)}if(sn){const Jt=await kt.putReplaceableEvent(sn);Jt.id===sn.id&&Q(Jt)}const yn=Math.max((Ct==null?void 0:Ct.created_at)??0,Se);return F(yn),Xe.setLastReadNotificationTime(a.pubkey,yn),ze.initUserIndexFromFollowings(a.pubkey,ie.signal),ie})();return()=>{Z.then(ie=>{ie==null||ie.abort()})}},[a]),h.useEffect(()=>{if(!a)return;(async()=>{const Z=a.pubkey,ie=await ze.fetchRelayList(Z),Ce=await ze.fetchEvents(ie.write.slice(0,4),[{authors:[Z],kinds:[Ue.Reaction,Ue.Repost],limit:100},{"#P":[Z],kinds:[Ue.Zap],limit:100}]);Ai.updateStuffStatsByEvents(Ce)})()},[a]),h.useEffect(()=>{m?ze.signer=m:ze.signer=void 0},[m]),h.useEffect(()=>{a?ze.pubkey=a.pubkey:ze.pubkey=void 0},[a]),h.useEffect(()=>{Ju.init(R)},[R]);const V=()=>window.location.hash&&window.location.hash.startsWith("#nostr-login"),K=async()=>{const q=window.location.hash.replace("#nostr-login=",""),Z=window.location.href.split("#")[0];if(history.replaceState(null,"",Z),q.startsWith("ncryptsec"))return await de(q);if(q.startsWith("nsec"))return await re(q)},G=(q,Z)=>{const ie=Xe.addAccount(Z);return s(ie),Xe.switchAccount(Z),i({pubkey:Z.pubkey,signerType:Z.signerType}),g(q),Z.pubkey},J=q=>{const Z=Xe.removeAccount(q);s(Z),(a==null?void 0:a.pubkey)===q.pubkey&&(i(null),g(null))},ne=async q=>{if(!q){Xe.switchAccount(null),i(null),g(null);return}await pe(q)},re=async(q,Z,ie)=>{const Ce=new h3;let Te;const Se=q.trim();if(Se.startsWith("nsec"))try{const{prefix:We,words:Ee}=Pr.decode(Se,5e3);if(We!=="nsec")throw new Error("invalid nsec prefix");Te=new Uint8Array(Pr.fromWords(Ee))}catch(We){throw new Error(`invalid nsec: ${We instanceof Error?We.message:"decode failed"}`)}else if(/^[0-9a-fA-F]{64}$/.test(Se))Te=id(Se);else throw new Error("invalid nsec or hex");const ye=Ce.login(Te);if(Z){const We=B0t(Te,Z);G(Ce,{pubkey:ye,signerType:"ncryptsec",ncryptsec:We})}else{const We=Pr.toWords(Te),Ee=Pr.encode("nsec",We,5e3);G(Ce,{pubkey:ye,signerType:"nsec",nsec:Ee})}return ie&&me(Ce),ye},de=async q=>{const Z=await r(e("Enter the password to decrypt your ncryptsec"));if(!Z)throw new Error("Password is required");const ie=oJ(q,Z),Ce=new h3,Te=Ce.login(ie);return G(Ce,{pubkey:Te,signerType:"ncryptsec",ncryptsec:q})},Ne=async q=>{const Z=new aJ,ie=Z.login(q);return G(Z,{pubkey:ie,signerType:"npub",npub:q})},ve=async()=>{try{const q=new sJ;await q.init();const Z=await q.getPublicKey();if(!Z)throw new Error("You did not allow to access your pubkey");return G(q,{pubkey:Z,signerType:"nip-07"})}catch(q){throw on.error(e("Login failed")+": "+q.message),q}},xe=async q=>{try{const{pubkey:Z,relays:ie,secret:Ce}=j0t(q),Te=new T2(Z,ie,Ce);await Te.init();const Se=await Te.getPublicKey();return G(Te,{pubkey:Se,signerType:"bunker",bunkerPubkey:Z,bunkerRelays:ie,bunkerSecret:Ce})}catch(Z){throw on.error(e("Bunker login failed")+": "+Z.message),Z}},ce=async(q,Z)=>{try{return G(q,{pubkey:Z,signerType:"bunker",bunkerPubkey:q.getBunkerPubkey(),bunkerRelays:q.getRelayUrls(),bunkerSecret:void 0})}catch(ie){throw on.error(e("Bunker login failed")+": "+ie.message),ie}},pe=async q=>{let Z=Xe.findAccount(q);if(!Z)return null;if(Z.signerType==="nsec"||Z.signerType==="browser-nsec"){if(Z.nsec){const ie=new h3;return ie.login(Z.nsec),Z.signerType==="browser-nsec"&&(Xe.removeAccount(Z),Z={...Z,signerType:"nsec"},Xe.addAccount(Z)),G(ie,Z)}}else if(Z.signerType==="ncryptsec"){if(Z.ncryptsec){const ie=await r(e("Enter the password to decrypt your ncryptsec"));if(!ie)return null;const Ce=oJ(Z.ncryptsec,ie),Te=new h3;return Te.login(Ce),G(Te,Z)}}else if(Z.signerType==="nip-07"){const ie=new sJ;return await ie.init(),G(ie,Z)}else if(Z.signerType==="npub"&&Z.npub){const ie=new aJ,Ce=ie.login(Z.npub);return Ce?(Ce!==Z.pubkey&&(Xe.removeAccount(Z),Z={...Z,pubkey:Ce},Xe.addAccount(Z)),G(ie,Z)):(Xe.removeAccount(Z),null)}else if(Z.signerType==="bunker"&&Z.bunkerPubkey&&Z.bunkerRelays)try{const ie=new T2(Z.bunkerPubkey,Z.bunkerRelays,Z.bunkerSecret);return await ie.init(),G(ie,Z)}catch(ie){return console.error("Failed to reconnect to bunker:",ie),on.error(e("Failed to reconnect to bunker")),null}return Xe.removeAccount(Z),null},me=async q=>{const Z=ze.currentRelays.length>0?ze.currentRelays:[];Z.length!==0&&await Promise.allSettled([ze.publishEvent(Z,await q.signEvent(kAe([]))),ze.publishEvent(Z,await q.signEvent(jAe([]))),ze.publishEvent(Z,await q.signEvent(ore(Z.map(ie=>({url:ie,scope:"both"})))))])},ke=async q=>{const Z=await(m==null?void 0:m.signEvent(q));if(!Z)throw new Error("sign event failed");return Z},le=async(q,{minPow:Z=0,...ie}={})=>{if(!a||!m||a.signerType==="npub")throw new Error("You need to login first");const Ce=JSON.parse(JSON.stringify(q));let Te;if(Z>0){const ye=await Pke({...Ce,pubkey:a.pubkey},Z);Te=await ke(ye)}else Te=await ke(Ce);if(Te.kind!==Ue.Application&&Te.pubkey!==a.pubkey){const ye=await ze.fetchProfile(Te.pubkey);if(!confirm(e("You are about to publish an event signed by [{{eventAuthorName}}]. You are currently logged in as [{{currentUsername}}]. Are you sure?",{eventAuthorName:ye==null?void 0:ye.username,currentUsername:j==null?void 0:j.username})))throw new Error(e("Cancelled"))}const Se=await ze.determineTargetRelays(Te,ie);return await ze.publishEvent(Se,Te),Te},he=async q=>{if(!m)throw new Error(e("You need to login first"));if((a==null?void 0:a.pubkey)!==q.pubkey)throw new Error(e("You can only delete your own notes"));const Z=await ke(AAe(q)),ie=ze.getSeenEventRelayUrls(q.id),Ce=await ze.determineTargetRelays(q,{specifiedRelayUrls:vT(q)?ie:void 0,additionalRelayUrls:ie});await ze.publishEvent(Ce,Z),n(q),on.success(e("Deletion request sent to {{count}} relays",{count:Ce.length}))},we=async(q,Z,ie="")=>{const Ce=await ke({content:ie,kind:Ue.HTTPAuth,created_at:Nn().unix(),tags:[["u",q],["method",Z]]});return"Nostr "+btoa(JSON.stringify(Ce))},Ae=async(q,Z)=>{if(!m)throw new Error("No signer available for NIP-04 encryption");try{const ie=await m.nip04Encrypt(q,Z);if(!ie)throw new Error("NIP-04 encryption returned empty result");return ie}catch(ie){throw console.error("NIP-04 encryption failed:",ie),ie}},Ve=async(q,Z)=>(m==null?void 0:m.nip04Decrypt(q,Z))??"",Ze=async(q,Z)=>{if(!(m!=null&&m.nip44Encrypt))throw new Error("NIP-44 encryption not supported by this signer");return m.nip44Encrypt(q,Z)},nt=async(q,Z)=>{if(!(m!=null&&m.nip44Decrypt))throw new Error("NIP-44 decryption not supported by this signer");return m.nip44Decrypt(q,Z)},$e=!!(m!=null&&m.nip44Encrypt)&&!!(m!=null&&m.nip44Decrypt),Ke=async q=>m?q&&q():b(!0),Me=async q=>{const Z=await ze.updateRelayListCache(q);D(T3(Z,Xe.getFilterOutOnionRelays()))},et=async q=>{const Z=await kt.putReplaceableEvent(q);N(Z),S(U0(Z))},pt=async q=>{const Z=await kt.putReplaceableEvent(q);Z.id===q.id&&L(Z)},ht=async q=>{const Z=await kt.putReplaceableEvent(q);Z.id===q.id&&T(Z)},st=async q=>{const Z=await kt.putReplaceableEvent(q);Z.id===q.id&&z(Z)},De=async q=>{const Z=await kt.putReplaceableEvent(q);Z.id===q.id&&Q(Z)},se=async(q=!1)=>{if(!a)return;const Z=Nn().unix();Xe.setLastReadNotificationTime(a.pubkey,Z),setTimeout(()=>{F(Z)},5e3);const ie=iJ.get(a.pubkey)??-1;!q&&(ie<0||Z-ie>600)&&(await le(CAe()),iJ.set(a.pubkey,Z))};return c.jsxs(mve.Provider,{value:{isInitialized:X,pubkey:(a==null?void 0:a.pubkey)??null,profile:j,profileEvent:I,relayList:M,bookmarkListEvent:O,favoriteRelaysEvent:B,userEmojiListEvent:R,pinListEvent:Y,notificationsSeenAt:W,account:a,accounts:o,nsec:l,ncryptsec:d,switchAccount:ne,nsecLogin:re,ncryptsecLogin:de,nip07Login:ve,npubLogin:Ne,bunkerLogin:xe,bunkerLoginWithSigner:ce,removeAccount:J,publish:le,attemptDelete:he,signHttpAuth:we,nip04Encrypt:Ae,nip04Decrypt:Ve,nip44Encrypt:Ze,nip44Decrypt:nt,hasNip44Support:$e,startLogin:()=>b(!0),checkLogin:Ke,signEvent:ke,updateRelayListEvent:Me,updateProfileEvent:et,updateBookmarkListEvent:pt,updateFavoriteRelaysEvent:ht,updateUserEmojiListEvent:st,updatePinListEvent:De,updateNotificationsSeenAt:se},children:[t,c.jsx(QE,{open:w,setOpen:b})]})}function G0t(){const{isInitialized:t}=wt();return h.useEffect(()=>{if(!t)return;const e=setTimeout(()=>{Yf.discoverIfNeeded()},15e3);return()=>clearTimeout(e)},[t]),null}function q0t(t={}){const{immediate:e=!1,onNeedRefresh:n,onOfflineReady:r,onRegistered:o,onRegisteredSW:s,onRegisterError:a}=t;let i,l;const u=async(f=!0)=>{await l};async function d(){if("serviceWorker"in navigator){if(i=await Bs(async()=>{const{Workbox:f}=await import("./workbox-window.prod.es5-CwtvwXb3.js");return{Workbox:f}},[]).then(({Workbox:f})=>new f("/sw.js",{scope:"/",type:"classic"})).catch(f=>{a==null||a(f)}),!i)return;i.addEventListener("activated",f=>{(f.isUpdate||f.isExternal)&&window.location.reload()}),i.addEventListener("installed",f=>{f.isUpdate||r==null||r()}),i.register({immediate:e}).then(f=>{s?s("/sw.js",f):o==null||o(f)}).catch(f=>{a==null||a(f)})}}return l=d(),u}function K0t(t={}){const{immediate:e=!0,onNeedRefresh:n,onOfflineReady:r,onRegistered:o,onRegisteredSW:s,onRegisterError:a}=t,[i,l]=h.useState(!1),[u,d]=h.useState(!1),[f]=h.useState(()=>q0t({immediate:e,onOfflineReady(){d(!0),r==null||r()},onNeedRefresh(){l(!0),n==null||n()},onRegistered:o,onRegisteredSW:s,onRegisterError:a}));return{needRefresh:[i,l],offlineReady:[u,d],updateServiceWorker:f}}function Z0t(){return K0t({onRegisteredSW(t,e){e&&setInterval(()=>{e.update()},60*1e3)},onRegisterError(t){console.error("SW registration error:",t)}}),typeof window<"u"&&navigator.serviceWorker&&navigator.serviceWorker.addEventListener("controllerchange",()=>{window.location.reload()}),null}let Ja={};function Q0t(){Ja={}}const gve=async t=>{console.debug("[ContentEventHandler] Event bookmarked:",{actor:t.actor.formatted,bookmarkedEventId:t.bookmarkedEventId,type:t.bookmarkType})},yve=async t=>{console.debug("[ContentEventHandler] Event unbookmarked:",{actor:t.actor.formatted,unbookmarkedEventId:t.unbookmarkedEventId})},vve=async t=>{console.debug("[ContentEventHandler] Bookmark list published:",{owner:t.owner.formatted,bookmarkCount:t.bookmarkCount})},wve=async t=>{console.debug("[ContentEventHandler] Note pinned:",{actor:t.actor.formatted,pinnedEventId:t.pinnedEventId.hex}),Ja.onUpdateProfilePins&&Ja.onUpdateProfilePins(t.actor.hex)},bve=async t=>{console.debug("[ContentEventHandler] Note unpinned:",{actor:t.actor.formatted,unpinnedEventId:t.unpinnedEventId}),Ja.onUpdateProfilePins&&Ja.onUpdateProfilePins(t.actor.hex)},xve=async t=>{console.debug("[ContentEventHandler] Pins limit exceeded:",{actor:t.actor.formatted,removedCount:t.removedEventIds.length}),Ja.onShowToast&&Ja.onShowToast(`Pin limit reached. ${t.removedEventIds.length} older pin(s) were removed.`,"warning")},kve=async t=>{console.debug("[ContentEventHandler] Pin list published:",{owner:t.owner.formatted,pinCount:t.pinCount})},jve=async t=>{console.debug("[ContentEventHandler] Reaction added:",{actor:t.actor.formatted,targetEventId:t.targetEventId.hex,targetAuthor:t.targetAuthor.formatted,emoji:t.emoji,isLike:t.isLike}),Ja.onUpdateReactionCount&&Ja.onUpdateReactionCount(t.targetEventId.hex,t.emoji,1),Ja.onCreateNotification&&t.actor.hex!==t.targetAuthor.hex&&Ja.onCreateNotification("reaction",t.actor.hex,t.targetEventId.hex)},Cve=async t=>{console.debug("[ContentEventHandler] Content reposted:",{actor:t.actor.formatted,originalEventId:t.originalEventId.hex,originalAuthor:t.originalAuthor.formatted}),Ja.onUpdateRepostCount&&Ja.onUpdateRepostCount(t.originalEventId.hex,1),Ja.onCreateNotification&&t.actor.hex!==t.originalAuthor.hex&&Ja.onCreateNotification("repost",t.actor.hex,t.originalEventId.hex)};function J0t(){Vt.on("content.event_bookmarked",gve),Vt.on("content.event_unbookmarked",yve),Vt.on("content.bookmark_list_published",vve),Vt.on("content.note_pinned",wve),Vt.on("content.note_unpinned",bve),Vt.on("content.pins_limit_exceeded",xve),Vt.on("content.pin_list_published",kve),Vt.on("content.reaction_added",jve),Vt.on("content.reposted",Cve)}function X0t(){Vt.off("content.event_bookmarked",gve),Vt.off("content.event_unbookmarked",yve),Vt.off("content.bookmark_list_published",vve),Vt.off("content.note_pinned",wve),Vt.off("content.note_unpinned",bve),Vt.off("content.pins_limit_exceeded",xve),Vt.off("content.pin_list_published",kve),Vt.off("content.reaction_added",jve),Vt.off("content.reposted",Cve)}const Sve=async t=>{var e,n;console.debug("[FeedEventHandler] Feed switched:",{owner:(e=t.owner)==null?void 0:e.formatted,fromType:((n=t.fromType)==null?void 0:n.value)??"none",toType:t.toType.value,relaySetId:t.relaySetId})},Eve=async t=>{console.debug("[FeedEventHandler] Content filter updated:",{owner:t.owner.formatted,hideRepliesChanged:t.previousFilter.hideReplies!==t.newFilter.hideReplies,hideRepostsChanged:t.previousFilter.hideReposts!==t.newFilter.hideReposts,nsfwPolicyChanged:t.previousFilter.nsfwPolicy!==t.newFilter.nsfwPolicy})},Nve=async t=>{var e;console.debug("[FeedEventHandler] Feed refreshed:",{owner:(e=t.owner)==null?void 0:e.formatted,feedType:t.feedType.value})},Ive=async t=>{console.debug("[FeedEventHandler] Note created:",{author:t.author.formatted,noteId:t.noteId.hex,mentionCount:t.mentions.length,isReply:t.isReply,isQuote:t.isQuote})},Ave=async t=>{console.debug("[FeedEventHandler] Note deleted:",{author:t.author.formatted,noteId:t.noteId.hex})},_ve=async t=>{console.debug("[FeedEventHandler] Note replied:",{replier:t.replier.formatted,replyNoteId:t.replyNoteId.hex,originalNoteId:t.originalNoteId.hex,originalAuthor:t.originalAuthor.formatted})},Mve=async t=>{console.debug("[FeedEventHandler] Users mentioned:",{author:t.author.formatted,noteId:t.noteId.hex,mentionedCount:t.mentionedPubkeys.length})},Rve=async t=>{console.debug("[FeedEventHandler] Timeline events received:",{feedType:t.feedType.value,eventCount:t.eventCount,newestTimestamp:t.newestTimestamp.unix,isHistorical:t.isHistorical})},Tve=async t=>{console.debug("[FeedEventHandler] Timeline EOSE:",{feedType:t.feedType.value,totalEvents:t.totalEvents})};function eyt(){Vt.on("feed.switched",Sve),Vt.on("feed.content_filter_updated",Eve),Vt.on("feed.refreshed",Nve),Vt.on("feed.note_created",Ive),Vt.on("feed.note_deleted",Ave),Vt.on("feed.note_replied",_ve),Vt.on("feed.users_mentioned",Mve),Vt.on("feed.timeline_events_received",Rve),Vt.on("feed.timeline_eosed",Tve)}function tyt(){Vt.off("feed.switched",Sve),Vt.off("feed.content_filter_updated",Eve),Vt.off("feed.refreshed",Nve),Vt.off("feed.note_created",Ive),Vt.off("feed.note_deleted",Ave),Vt.off("feed.note_replied",_ve),Vt.off("feed.users_mentioned",Mve),Vt.off("feed.timeline_events_received",Rve),Vt.off("feed.timeline_eosed",Tve)}const Dve=async t=>{console.debug("[RelayEventHandler] Favorite relay added:",{owner:t.owner.formatted,relay:t.relayUrl.value})},Lve=async t=>{console.debug("[RelayEventHandler] Favorite relay removed:",{owner:t.owner.formatted,relay:t.relayUrl.value})},Pve=async t=>{console.debug("[RelayEventHandler] Favorite relays published:",{owner:t.owner.formatted,relayCount:t.relayCount})},Ove=async t=>{console.debug("[RelayEventHandler] Relay set created:",{owner:t.owner.formatted,setId:t.setId,name:t.name,relayCount:t.relays.length})},zve=async t=>{var e,n;console.debug("[RelayEventHandler] Relay set updated:",{owner:t.owner.formatted,setId:t.setId,nameChanged:t.nameChanged,changes:{addedCount:((e=t.changes.addedRelays)==null?void 0:e.length)??0,removedCount:((n=t.changes.removedRelays)==null?void 0:n.length)??0}})},Fve=async t=>{console.debug("[RelayEventHandler] Relay set deleted:",{owner:t.owner.formatted,setId:t.setId})},Bve=async t=>{console.debug("[RelayEventHandler] Mailbox relay added:",{owner:t.owner.formatted,relay:t.relayUrl.value,scope:t.scope})},Uve=async t=>{console.debug("[RelayEventHandler] Mailbox relay removed:",{owner:t.owner.formatted,relay:t.relayUrl.value})},$ve=async t=>{console.debug("[RelayEventHandler] Mailbox relay scope changed:",{owner:t.owner.formatted,relay:t.relayUrl.value,fromScope:t.fromScope,toScope:t.toScope})},Vve=async t=>{console.debug("[RelayEventHandler] Relay list published:",{owner:t.owner.formatted,readRelayCount:t.readRelayCount,writeRelayCount:t.writeRelayCount})};function nyt(){Vt.on("relay.favorite_added",Dve),Vt.on("relay.favorite_removed",Lve),Vt.on("relay.favorites_published",Pve),Vt.on("relay.set_created",Ove),Vt.on("relay.set_updated",zve),Vt.on("relay.set_deleted",Fve),Vt.on("relay.mailbox_added",Bve),Vt.on("relay.mailbox_removed",Uve),Vt.on("relay.mailbox_scope_changed",$ve),Vt.on("relay.list_published",Vve)}function ryt(){Vt.off("relay.favorite_added",Dve),Vt.off("relay.favorite_removed",Lve),Vt.off("relay.favorites_published",Pve),Vt.off("relay.set_created",Ove),Vt.off("relay.set_updated",zve),Vt.off("relay.set_deleted",Fve),Vt.off("relay.mailbox_added",Bve),Vt.off("relay.mailbox_removed",Uve),Vt.off("relay.mailbox_scope_changed",$ve),Vt.off("relay.list_published",Vve)}function oyt({children:t}){return h.useEffect(()=>(rFe(),J0t(),eyt(),nyt(),console.debug("[EventHandlerProvider] Domain event handlers registered"),()=>{oFe(),X0t(),tyt(),ryt(),nFe(),Q0t(),console.debug("[EventHandlerProvider] Domain event handlers unregistered")}),[]),c.jsx(c.Fragment,{children:t})}const syt=h.createContext(void 0);function ayt({children:t}){const{pubkey:e,publish:n,nip04Encrypt:r,nip04Decrypt:o}=wt(),s=h.useMemo(()=>{if(!e)return null;const a=new dle({publish:n}),i=new ple({publish:n,currentUserPubkey:e,decrypt:async(u,d)=>o(d,u),encrypt:async(u,d)=>r(d,u)}),l=new hle({publish:n,currentUserPubkey:e,decrypt:async(u,d)=>o(d,u),encrypt:async(u,d)=>r(d,u)});return{followListRepository:a,muteListRepository:i,pinnedUsersListRepository:l}},[e,n,r,o]);return s?c.jsx(syt.Provider,{value:s,children:t}):c.jsx(c.Fragment,{children:t})}const iyt=h.createContext(void 0);function m3(t){return{language:window.localStorage.getItem("i18nextLng")||void 0,themeSetting:Xe.getThemeSetting(),primaryColor:Xe.getPrimaryColor(),defaultZapSats:Xe.getDefaultZapSats(),defaultZapComment:Xe.getDefaultZapComment(),quickZap:Xe.getQuickZap(),nsfwDisplayPolicy:Xe.getNsfwDisplayPolicy(),showKinds:Xe.getShowKinds(),hideContentMentioningMutedUsers:Xe.getHideContentMentioningMutedUsers(),notificationListStyle:Xe.getNotificationListStyle(),mediaAutoLoadPolicy:Xe.getMediaAutoLoadPolicy(),sidebarCollapse:Xe.getSidebarCollapse(),enableSingleColumnLayout:Xe.getEnableSingleColumnLayout(),faviconUrlTemplate:Xe.getFaviconUrlTemplate(),filterOutOnionRelays:Xe.getFilterOutOnionRelays(),quickReaction:Xe.getQuickReaction(),quickReactionEmoji:Xe.getQuickReactionEmoji(),noteListMode:Xe.getNoteListMode(),nrcOnlyConfigSync:Xe.getNrcOnlyConfigSync(),autoInsertNewNotes:Xe.getAutoInsertNewNotes(),addClientTag:Xe.getAddClientTag(),enableMarkdown:Xe.getEnableMarkdown(),verboseLogging:Xe.getVerboseLogging(),fallbackRelayCount:Xe.getFallbackRelayCount(),preferNip44:Xe.getPreferNip44(),dmConversationFilter:Xe.getDMConversationFilter(),graphQueriesEnabled:Xe.getGraphQueriesEnabled(),socialGraphProximity:Xe.getSocialGraphProximity(),socialGraphIncludeMode:Xe.getSocialGraphIncludeMode(),llmConfig:t?Xe.getLlmConfig(t):null,mediaUploadServiceConfig:t?Xe.getMediaUploadServiceConfig(t):void 0,searchRelays:Xe.getSearchRelays(),nrcRendezvousUrl:Xe.getNrcRendezvousUrl()||void 0,outboxMode:Xe.getOutboxMode(),relayStatsData:btoa(String.fromCharCode(...qr.encodeBinary()))}}function lyt(t,e){if(t.language!==void 0&&Vs.changeLanguage(t.language),t.themeSetting!==void 0&&Xe.setThemeSetting(t.themeSetting),t.primaryColor!==void 0&&Xe.setPrimaryColor(t.primaryColor),t.defaultZapSats!==void 0&&Xe.setDefaultZapSats(t.defaultZapSats),t.defaultZapComment!==void 0&&Xe.setDefaultZapComment(t.defaultZapComment),t.quickZap!==void 0&&Xe.setQuickZap(t.quickZap),t.nsfwDisplayPolicy!==void 0&&Xe.setNsfwDisplayPolicy(t.nsfwDisplayPolicy),t.showKinds!==void 0&&Xe.setShowKinds(t.showKinds),t.hideContentMentioningMutedUsers!==void 0&&Xe.setHideContentMentioningMutedUsers(t.hideContentMentioningMutedUsers),t.notificationListStyle!==void 0&&Xe.setNotificationListStyle(t.notificationListStyle),t.mediaAutoLoadPolicy!==void 0&&Xe.setMediaAutoLoadPolicy(t.mediaAutoLoadPolicy),t.sidebarCollapse!==void 0&&Xe.setSidebarCollapse(t.sidebarCollapse),t.enableSingleColumnLayout!==void 0&&Xe.setEnableSingleColumnLayout(t.enableSingleColumnLayout),t.faviconUrlTemplate!==void 0&&Xe.setFaviconUrlTemplate(t.faviconUrlTemplate),t.filterOutOnionRelays!==void 0&&Xe.setFilterOutOnionRelays(t.filterOutOnionRelays),t.quickReaction!==void 0&&Xe.setQuickReaction(t.quickReaction),t.quickReactionEmoji!==void 0&&Xe.setQuickReactionEmoji(t.quickReactionEmoji),t.noteListMode!==void 0&&Xe.setNoteListMode(t.noteListMode),t.nrcOnlyConfigSync!==void 0&&Xe.setNrcOnlyConfigSync(t.nrcOnlyConfigSync),t.autoInsertNewNotes!==void 0&&Xe.setAutoInsertNewNotes(t.autoInsertNewNotes),t.addClientTag!==void 0&&Xe.setAddClientTag(t.addClientTag),t.enableMarkdown!==void 0&&Xe.setEnableMarkdown(t.enableMarkdown),t.verboseLogging!==void 0&&Xe.setVerboseLogging(t.verboseLogging),t.fallbackRelayCount!==void 0&&Xe.setFallbackRelayCount(t.fallbackRelayCount),t.preferNip44!==void 0&&Xe.setPreferNip44(t.preferNip44),t.dmConversationFilter!==void 0&&Xe.setDMConversationFilter(t.dmConversationFilter),t.graphQueriesEnabled!==void 0&&Xe.setGraphQueriesEnabled(t.graphQueriesEnabled),t.socialGraphProximity!==void 0&&Xe.setSocialGraphProximity(t.socialGraphProximity),t.socialGraphIncludeMode!==void 0&&Xe.setSocialGraphIncludeMode(t.socialGraphIncludeMode),t.searchRelays!==void 0&&Xe.setSearchRelays(t.searchRelays.length>0?t.searchRelays:null),t.nrcRendezvousUrl!==void 0&&Xe.setNrcRendezvousUrl(t.nrcRendezvousUrl),t.outboxMode!==void 0&&Xe.setOutboxMode(t.outboxMode),t.relayStatsData)try{const n=atob(t.relayStatsData),r=new Uint8Array(n.length);for(let o=0;o<n.length;o++)r[o]=n.charCodeAt(o);qr.decodeBinary(r)}catch{console.error("Failed to decode relay stats data")}e&&(t.llmConfig!==void 0&&t.llmConfig&&Xe.setLlmConfig(e,t.llmConfig),t.mediaUploadServiceConfig!==void 0&&Xe.setMediaUploadServiceConfig(e,t.mediaUploadServiceConfig))}function cyt({children:t}){const{pubkey:e,account:n,publish:r,nip44Encrypt:o,nip44Decrypt:s,hasNip44Support:a}=wt(),[i,l]=h.useState(!1),u=h.useRef(null),d=h.useRef(null),f=h.useRef(!1),m=h.useRef({nip44Encrypt:o,nip44Decrypt:s,hasNip44Support:a});m.current={nip44Encrypt:o,nip44Decrypt:s,hasNip44Support:a};const g=h.useCallback(async(S,I)=>{try{const D=JSON.parse(S);if(typeof D=="object"&&D!==null)return D}catch{}const{hasNip44Support:N,nip44Decrypt:M}=m.current;if(N)try{const D=await M(I,S);return JSON.parse(D)}catch(D){console.error("Failed to decrypt settings:",D)}return null},[]),w=h.useCallback(async()=>{if(!e)return null;try{const S=await ze.fetchRelayList(e),I=S.write.length>0?S.write.slice(0,5):ze.currentRelays.slice(0,5),M=(await ze.fetchEvents(I,{kinds:[Ue.Application],authors:[e],"#d":[Xp.SETTINGS],limit:1})).filter(D=>Uy(D)===Xp.SETTINGS).sort((D,O)=>O.created_at-D.created_at)[0];if(M)return await g(M.content,M.pubkey)}catch(S){console.error("Failed to fetch remote settings:",S)}return null},[e,g]),b=h.useCallback(async()=>{if(!e||!n||Xe.getNrcOnlyConfigSync())return;const S=m3(e),I=JSON.stringify(S);if(I!==d.current){l(!0);try{const{hasNip44Support:N,nip44Encrypt:M}=m.current;let D;N?D=await M(e,I):D=I;const O=SAe(D);await r(O),d.current=I}catch(N){console.error("Failed to sync settings:",N)}finally{l(!1)}}},[e,n,r]),j=h.useCallback(()=>{u.current&&clearTimeout(u.current),u.current=setTimeout(()=>{b()},2e3)},[b]);return h.useEffect(()=>{if(!e){d.current=null,f.current=!1;return}if(f.current)return;if(f.current=!0,Xe.getNrcOnlyConfigSync()){d.current=JSON.stringify(m3(e));return}(async()=>{m.current.hasNip44Support||await new Promise(I=>setTimeout(I,500)),l(!0);try{const I=m3(e),N=JSON.stringify(I),M=await w();if(M){lyt(M,e);const D=JSON.stringify(m3(e));N!==D?(d.current=D,window.dispatchEvent(new CustomEvent(N3))):d.current=N}else d.current=N}catch(I){console.error("Failed to load remote settings:",I)}finally{l(!1)}})()},[e,w]),h.useEffect(()=>{if(!e||!n)return;const S=()=>{j()};return window.addEventListener(N3,S),()=>{window.removeEventListener(N3,S),u.current&&clearTimeout(u.current)}},[e,n,j]),c.jsx(iyt.Provider,{value:{syncSettings:b,isLoading:i},children:t})}function uyt(){return c.jsx(LPe,{children:c.jsx(oyt,{children:c.jsx(bFe,{children:c.jsx(UTe,{children:c.jsx(rBe,{children:c.jsx(Uze,{children:c.jsx($0t,{children:c.jsx(Y0t,{children:c.jsx(hpt,{children:c.jsx(wgt,{children:c.jsx(ayt,{children:c.jsx(cyt,{children:c.jsx(mct,{children:c.jsx(qze,{children:c.jsx(QFe,{children:c.jsx(EBe,{children:c.jsx(SBe,{children:c.jsx(_ft,{children:c.jsx(fXe,{children:c.jsx(zlt,{children:c.jsx(hXe,{children:c.jsx(JJe,{children:c.jsx(aut,{children:c.jsx(sFe,{children:c.jsx(y1t,{children:c.jsx(Rct,{children:c.jsx(Hct,{children:c.jsxs(CFe,{children:[c.jsx(Z0t,{}),c.jsx(G0t,{}),c.jsx(x0t,{}),c.jsx(mDe,{})]})})})})})})})})})})})})})})})})})})})})})})})})})})})})}class fyt extends h.Component{constructor(e){super(e),this.state={hasError:!1}}static getDerivedStateFromError(e){return{hasError:!0,error:e}}componentDidCatch(e,n){console.error("ErrorBoundary caught an error:",e,n)}render(){var e;return this.state.hasError?c.jsxs("div",{className:"w-screen h-screen flex flex-col items-center justify-center p-4 gap-4",children:[c.jsx("h1",{className:"text-2xl font-bold",children:"Oops, something went wrong."}),c.jsxs("p",{className:"text-lg text-center max-w-md",children:["Sorry for the inconvenience. If you don't mind helping, you can"," ",c.jsx("a",{href:"https://git.mleku.dev/mleku/smesh/issues/new",target:"_blank",rel:"noopener noreferrer",className:"text-primary underline",children:"submit an issue"})," ","with the error details, or"," ",c.jsx("a",{href:"https://smesh.mleku.dev/npub1syjmjy0dp62dhccq3g97fr87tngvpvzey08llyt6ul58m2zqpzps9wf6wl",target:"_blank",rel:"noopener noreferrer",className:"text-primary underline",children:"mention me"}),". Thank you for your support!"]}),((e=this.state.error)==null?void 0:e.message)&&c.jsxs(c.Fragment,{children:[c.jsx(Le,{onClick:()=>{navigator.clipboard.writeText(this.state.error.message)},variant:"secondary",children:"Copy Error Message"}),c.jsxs("pre",{className:"bg-destructive/10 text-destructive p-2 rounded text-wrap break-words whitespace-pre-wrap",children:["Error: ",this.state.error.message]})]}),c.jsxs(Le,{onClick:()=>window.location.reload(),className:"mt-2",children:[c.jsx($7e,{}),"Reload Page"]})]}):this.props.children}}const aC=()=>{var e;const t=((e=window.visualViewport)==null?void 0:e.height)??window.innerHeight;document.documentElement.style.setProperty("--vh",`${t}px`)};window.visualViewport?window.visualViewport.addEventListener("resize",aC):window.addEventListener("resize",aC);window.addEventListener("orientationchange",aC);aC();zTe.createRoot(document.getElementById("root")).render(c.jsx(h.StrictMode,{children:c.jsx(fyt,{children:c.jsx(uyt,{})})}));export{Le as B,o9e as H,On as I,LX as S,Ex as T,Bs as _,ppt as a,o0 as b,Re as c,lv as d,rl as e,ol as f,rc as g,ze as i,c as j,yr as n,h as r,on as t,wt as u};
2368