@devvit/public-api 0.10.22-next-2024-06-06-cf36c56e2.0 → 0.10.22-next-2024-06-06-0f86ae113.0

Sign up to get free protection for your applications and to get access to all the features.
package/public-api.min.js CHANGED
@@ -1,8 +1,8 @@
1
- var KP=Object.create;var Tm=Object.defineProperty;var XP=Object.getOwnPropertyDescriptor;var ZP=Object.getOwnPropertyNames;var YP=Object.getPrototypeOf,QP=Object.prototype.hasOwnProperty;var h=(r,e)=>()=>(e||r((e={exports:{}}).exports,e),e.exports);var ek=(r,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of ZP(e))!QP.call(r,n)&&n!==t&&Tm(r,n,{get:()=>e[n],enumerable:!(i=XP(e,n))||i.enumerable});return r};var Cn=(r,e,t)=>(t=r!=null?KP(YP(r)):{},ek(e||!r||!r.__esModule?Tm(t,"default",{value:r,enumerable:!0}):t,r));var fl=(r,e,t)=>{if(!e.has(r))throw TypeError("Cannot "+t)};var s=(r,e,t)=>(fl(r,e,"read from private field"),t?t.call(r):e.get(r)),l=(r,e,t)=>{if(e.has(r))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(r):e.set(r,t)},d=(r,e,t,i)=>(fl(r,e,"write to private field"),i?i.call(r,t):e.set(r,t),t);var b=(r,e,t)=>(fl(r,e,"access private method"),t);var se=h((CF,Em)=>{Em.exports=function(r){try{return!!r()}catch{return!0}}});var da=h((IF,Rm)=>{var tk=se();Rm.exports=!tk(function(){var r=function(){}.bind();return typeof r!="function"||r.hasOwnProperty("prototype")})});var $=h((wF,Mm)=>{var Fm=da(),Om=Function.prototype,gl=Om.call,rk=Fm&&Om.bind.bind(gl,gl);Mm.exports=Fm?rk:function(r){return function(){return gl.apply(r,arguments)}}});var Lm=h((AF,Um)=>{var ik=Math.ceil,nk=Math.floor;Um.exports=Math.trunc||function(e){var t=+e;return(t>0?nk:ik)(t)}});var la=h((xF,Bm)=>{var sk=Lm();Bm.exports=function(r){var e=+r;return e!==e||e===0?0:sk(e)}});var ue=h((TF,Dm)=>{var ua=function(r){return r&&r.Math==Math&&r};Dm.exports=ua(typeof globalThis=="object"&&globalThis)||ua(typeof window=="object"&&window)||ua(typeof self=="object"&&self)||ua(typeof global=="object"&&global)||function(){return this}()||Function("return this")()});var wr=h((EF,_m)=>{_m.exports=!1});var ca=h((RF,qm)=>{var Nm=ue(),ok=Object.defineProperty;qm.exports=function(r,e){try{ok(Nm,r,{value:e,configurable:!0,writable:!0})}catch{Nm[r]=e}return e}});var ma=h((FF,jm)=>{var ak=ue(),dk=ca(),Hm="__core-js_shared__",lk=ak[Hm]||dk(Hm,{});jm.exports=lk});var hl=h((OF,Gm)=>{var uk=wr(),Wm=ma();(Gm.exports=function(r,e){return Wm[r]||(Wm[r]=e!==void 0?e:{})})("versions",[]).push({version:"3.27.2",mode:uk?"pure":"global",copyright:"\xA9 2014-2023 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.27.2/LICENSE",source:"https://github.com/zloirock/core-js"})});var pa=h((MF,zm)=>{zm.exports=function(r){return r==null}});var fa=h((UF,Vm)=>{var ck=pa(),mk=TypeError;Vm.exports=function(r){if(ck(r))throw mk("Can't call method on "+r);return r}});var In=h((LF,Jm)=>{var pk=fa(),fk=Object;Jm.exports=function(r){return fk(pk(r))}});var ke=h((BF,$m)=>{var gk=$(),hk=In(),vk=gk({}.hasOwnProperty);$m.exports=Object.hasOwn||function(e,t){return vk(hk(e),t)}});var vl=h((DF,Km)=>{var yk=$(),bk=0,Pk=Math.random(),kk=yk(1 .toString);Km.exports=function(r){return"Symbol("+(r===void 0?"":r)+")_"+kk(++bk+Pk,36)}});var Zm=h((_F,Xm)=>{Xm.exports=typeof navigator<"u"&&String(navigator.userAgent)||""});var np=h((NF,ip)=>{var rp=ue(),yl=Zm(),Ym=rp.process,Qm=rp.Deno,ep=Ym&&Ym.versions||Qm&&Qm.version,tp=ep&&ep.v8,Ne,ga;tp&&(Ne=tp.split("."),ga=Ne[0]>0&&Ne[0]<4?1:+(Ne[0]+Ne[1]));!ga&&yl&&(Ne=yl.match(/Edge\/(\d+)/),(!Ne||Ne[1]>=74)&&(Ne=yl.match(/Chrome\/(\d+)/),Ne&&(ga=+Ne[1])));ip.exports=ga});var bl=h((qF,op)=>{var sp=np(),Sk=se();op.exports=!!Object.getOwnPropertySymbols&&!Sk(function(){var r=Symbol();return!String(r)||!(Object(r)instanceof Symbol)||!Symbol.sham&&sp&&sp<41})});var Pl=h((HF,ap)=>{var Ck=bl();ap.exports=Ck&&!Symbol.sham&&typeof Symbol.iterator=="symbol"});var Se=h((jF,lp)=>{var Ik=ue(),wk=hl(),dp=ke(),Ak=vl(),xk=bl(),Tk=Pl(),Ar=Ik.Symbol,kl=wk("wks"),Ek=Tk?Ar.for||Ar:Ar&&Ar.withoutSetter||Ak;lp.exports=function(r){return dp(kl,r)||(kl[r]=xk&&dp(Ar,r)?Ar[r]:Ek("Symbol."+r)),kl[r]}});var mp=h((WF,cp)=>{var Rk=Se(),Fk=Rk("toStringTag"),up={};up[Fk]="z";cp.exports=String(up)==="[object z]"});var Cl=h((GF,pp)=>{var Sl=typeof document=="object"&&document.all,Ok=typeof Sl>"u"&&Sl!==void 0;pp.exports={all:Sl,IS_HTMLDDA:Ok}});var K=h((zF,gp)=>{var fp=Cl(),Mk=fp.all;gp.exports=fp.IS_HTMLDDA?function(r){return typeof r=="function"||r===Mk}:function(r){return typeof r=="function"}});var ha=h((VF,vp)=>{var hp=$(),Uk=hp({}.toString),Lk=hp("".slice);vp.exports=function(r){return Lk(Uk(r),8,-1)}});var wn=h((JF,yp)=>{var Bk=mp(),Dk=K(),va=ha(),_k=Se(),Nk=_k("toStringTag"),qk=Object,Hk=va(function(){return arguments}())=="Arguments",jk=function(r,e){try{return r[e]}catch{}};yp.exports=Bk?va:function(r){var e,t,i;return r===void 0?"Undefined":r===null?"Null":typeof(t=jk(e=qk(r),Nk))=="string"?t:Hk?va(e):(i=va(e))=="Object"&&Dk(e.callee)?"Arguments":i}});var An=h(($F,bp)=>{var Wk=wn(),Gk=String;bp.exports=function(r){if(Wk(r)==="Symbol")throw TypeError("Cannot convert a Symbol value to a string");return Gk(r)}});var wl=h((KF,Sp)=>{var Il=$(),zk=la(),Vk=An(),Jk=fa(),$k=Il("".charAt),Pp=Il("".charCodeAt),Kk=Il("".slice),kp=function(r){return function(e,t){var i=Vk(Jk(e)),n=zk(t),o=i.length,a,c;return n<0||n>=o?r?"":void 0:(a=Pp(i,n),a<55296||a>56319||n+1===o||(c=Pp(i,n+1))<56320||c>57343?r?$k(i,n):a:r?Kk(i,n,n+2):(a-55296<<10)+(c-56320)+65536)}};Sp.exports={codeAt:kp(!1),charAt:kp(!0)}});var wp=h((XF,Ip)=>{var Xk=ue(),Zk=K(),Cp=Xk.WeakMap;Ip.exports=Zk(Cp)&&/native code/.test(String(Cp))});var pt=h((ZF,Tp)=>{var Ap=K(),xp=Cl(),Yk=xp.all;Tp.exports=xp.IS_HTMLDDA?function(r){return typeof r=="object"?r!==null:Ap(r)||r===Yk}:function(r){return typeof r=="object"?r!==null:Ap(r)}});var ce=h((YF,Ep)=>{var Qk=se();Ep.exports=!Qk(function(){return Object.defineProperty({},1,{get:function(){return 7}})[1]!=7})});var xl=h((QF,Fp)=>{var eS=ue(),Rp=pt(),Al=eS.document,tS=Rp(Al)&&Rp(Al.createElement);Fp.exports=function(r){return tS?Al.createElement(r):{}}});var Tl=h((eO,Op)=>{var rS=ce(),iS=se(),nS=xl();Op.exports=!rS&&!iS(function(){return Object.defineProperty(nS("div"),"a",{get:function(){return 7}}).a!=7})});var El=h((tO,Mp)=>{var sS=ce(),oS=se();Mp.exports=sS&&oS(function(){return Object.defineProperty(function(){},"prototype",{value:42,writable:!1}).prototype!=42})});var Je=h((rO,Up)=>{var aS=pt(),dS=String,lS=TypeError;Up.exports=function(r){if(aS(r))return r;throw lS(dS(r)+" is not an object")}});var qe=h((iO,Lp)=>{var uS=da(),ya=Function.prototype.call;Lp.exports=uS?ya.bind(ya):function(){return ya.apply(ya,arguments)}});var xn=h((nO,Bp)=>{var Rl=ue(),cS=K(),mS=function(r){return cS(r)?r:void 0};Bp.exports=function(r,e){return arguments.length<2?mS(Rl[r]):Rl[r]&&Rl[r][e]}});var Fl=h((sO,Dp)=>{var pS=$();Dp.exports=pS({}.isPrototypeOf)});var Ol=h((oO,_p)=>{var fS=xn(),gS=K(),hS=Fl(),vS=Pl(),yS=Object;_p.exports=vS?function(r){return typeof r=="symbol"}:function(r){var e=fS("Symbol");return gS(e)&&hS(e.prototype,yS(r))}});var Ml=h((aO,Np)=>{var bS=String;Np.exports=function(r){try{return bS(r)}catch{return"Object"}}});var ba=h((dO,qp)=>{var PS=K(),kS=Ml(),SS=TypeError;qp.exports=function(r){if(PS(r))return r;throw SS(kS(r)+" is not a function")}});var Pa=h((lO,Hp)=>{var CS=ba(),IS=pa();Hp.exports=function(r,e){var t=r[e];return IS(t)?void 0:CS(t)}});var Wp=h((uO,jp)=>{var Ul=qe(),Ll=K(),Bl=pt(),wS=TypeError;jp.exports=function(r,e){var t,i;if(e==="string"&&Ll(t=r.toString)&&!Bl(i=Ul(t,r))||Ll(t=r.valueOf)&&!Bl(i=Ul(t,r))||e!=="string"&&Ll(t=r.toString)&&!Bl(i=Ul(t,r)))return i;throw wS("Can't convert object to primitive value")}});var Jp=h((cO,Vp)=>{var AS=qe(),Gp=pt(),zp=Ol(),xS=Pa(),TS=Wp(),ES=Se(),RS=TypeError,FS=ES("toPrimitive");Vp.exports=function(r,e){if(!Gp(r)||zp(r))return r;var t=xS(r,FS),i;if(t){if(e===void 0&&(e="default"),i=AS(t,r,e),!Gp(i)||zp(i))return i;throw RS("Can't convert object to primitive value")}return e===void 0&&(e="number"),TS(r,e)}});var ka=h((mO,$p)=>{var OS=Jp(),MS=Ol();$p.exports=function(r){var e=OS(r,"string");return MS(e)?e:e+""}});var $e=h(Xp=>{var US=ce(),LS=Tl(),BS=El(),Sa=Je(),Kp=ka(),DS=TypeError,Dl=Object.defineProperty,_S=Object.getOwnPropertyDescriptor,_l="enumerable",Nl="configurable",ql="writable";Xp.f=US?BS?function(e,t,i){if(Sa(e),t=Kp(t),Sa(i),typeof e=="function"&&t==="prototype"&&"value"in i&&ql in i&&!i[ql]){var n=_S(e,t);n&&n[ql]&&(e[t]=i.value,i={configurable:Nl in i?i[Nl]:n[Nl],enumerable:_l in i?i[_l]:n[_l],writable:!1})}return Dl(e,t,i)}:Dl:function(e,t,i){if(Sa(e),t=Kp(t),Sa(i),LS)try{return Dl(e,t,i)}catch{}if("get"in i||"set"in i)throw DS("Accessors not supported");return"value"in i&&(e[t]=i.value),e}});var xr=h((fO,Zp)=>{Zp.exports=function(r,e){return{enumerable:!(r&1),configurable:!(r&2),writable:!(r&4),value:e}}});var Ca=h((gO,Yp)=>{var NS=ce(),qS=$e(),HS=xr();Yp.exports=NS?function(r,e,t){return qS.f(r,e,HS(1,t))}:function(r,e,t){return r[e]=t,r}});var Ia=h((hO,ef)=>{var jS=hl(),WS=vl(),Qp=jS("keys");ef.exports=function(r){return Qp[r]||(Qp[r]=WS(r))}});var wa=h((vO,tf)=>{tf.exports={}});var Tr=h((yO,sf)=>{var GS=wp(),nf=ue(),zS=pt(),VS=Ca(),Hl=ke(),jl=ma(),JS=Ia(),$S=wa(),rf="Object already initialized",Wl=nf.TypeError,KS=nf.WeakMap,Aa,Tn,xa,XS=function(r){return xa(r)?Tn(r):Aa(r,{})},ZS=function(r){return function(e){var t;if(!zS(e)||(t=Tn(e)).type!==r)throw Wl("Incompatible receiver, "+r+" required");return t}};GS||jl.state?(He=jl.state||(jl.state=new KS),He.get=He.get,He.has=He.has,He.set=He.set,Aa=function(r,e){if(He.has(r))throw Wl(rf);return e.facade=r,He.set(r,e),e},Tn=function(r){return He.get(r)||{}},xa=function(r){return He.has(r)}):(zt=JS("state"),$S[zt]=!0,Aa=function(r,e){if(Hl(r,zt))throw Wl(rf);return e.facade=r,VS(r,zt,e),e},Tn=function(r){return Hl(r,zt)?r[zt]:{}},xa=function(r){return Hl(r,zt)});var He,zt;sf.exports={set:Aa,get:Tn,has:xa,enforce:XS,getterFor:ZS}});var Gl=h(df=>{"use strict";var of={}.propertyIsEnumerable,af=Object.getOwnPropertyDescriptor,YS=af&&!of.call({1:2},1);df.f=YS?function(e){var t=af(this,e);return!!t&&t.enumerable}:of});var Vl=h((PO,lf)=>{var QS=$(),eC=se(),tC=ha(),zl=Object,rC=QS("".split);lf.exports=eC(function(){return!zl("z").propertyIsEnumerable(0)})?function(r){return tC(r)=="String"?rC(r,""):zl(r)}:zl});var Er=h((kO,uf)=>{var iC=Vl(),nC=fa();uf.exports=function(r){return iC(nC(r))}});var Jl=h(mf=>{var sC=ce(),oC=qe(),aC=Gl(),dC=xr(),lC=Er(),uC=ka(),cC=ke(),mC=Tl(),cf=Object.getOwnPropertyDescriptor;mf.f=sC?cf:function(e,t){if(e=lC(e),t=uC(t),mC)try{return cf(e,t)}catch{}if(cC(e,t))return dC(!oC(aC.f,e,t),e[t])}});var Xl=h((CO,ff)=>{var $l=ce(),pC=ke(),pf=Function.prototype,fC=$l&&Object.getOwnPropertyDescriptor,Kl=pC(pf,"name"),gC=Kl&&function(){}.name==="something",hC=Kl&&(!$l||$l&&fC(pf,"name").configurable);ff.exports={EXISTS:Kl,PROPER:gC,CONFIGURABLE:hC}});var Yl=h((IO,gf)=>{var vC=$(),yC=K(),Zl=ma(),bC=vC(Function.toString);yC(Zl.inspectSource)||(Zl.inspectSource=function(r){return bC(r)});gf.exports=Zl.inspectSource});var tu=h((wO,yf)=>{var eu=$(),PC=se(),kC=K(),Ta=ke(),Ql=ce(),SC=Xl().CONFIGURABLE,CC=Yl(),vf=Tr(),IC=vf.enforce,wC=vf.get,hf=String,Ea=Object.defineProperty,AC=eu("".slice),xC=eu("".replace),TC=eu([].join),EC=Ql&&!PC(function(){return Ea(function(){},"length",{value:8}).length!==8}),RC=String(String).split("String"),FC=yf.exports=function(r,e,t){AC(hf(e),0,7)==="Symbol("&&(e="["+xC(hf(e),/^Symbol\(([^)]*)\)/,"$1")+"]"),t&&t.getter&&(e="get "+e),t&&t.setter&&(e="set "+e),(!Ta(r,"name")||SC&&r.name!==e)&&(Ql?Ea(r,"name",{value:e,configurable:!0}):r.name=e),EC&&t&&Ta(t,"arity")&&r.length!==t.arity&&Ea(r,"length",{value:t.arity});try{t&&Ta(t,"constructor")&&t.constructor?Ql&&Ea(r,"prototype",{writable:!1}):r.prototype&&(r.prototype=void 0)}catch{}var i=IC(r);return Ta(i,"source")||(i.source=TC(RC,typeof e=="string"?e:"")),r};Function.prototype.toString=FC(function(){return kC(this)&&wC(this).source||CC(this)},"toString")});var Vt=h((AO,bf)=>{var OC=K(),MC=$e(),UC=tu(),LC=ca();bf.exports=function(r,e,t,i){i||(i={});var n=i.enumerable,o=i.name!==void 0?i.name:e;if(OC(t)&&UC(t,o,i),i.global)n?r[e]=t:LC(e,t);else{try{i.unsafe?r[e]&&(n=!0):delete r[e]}catch{}n?r[e]=t:MC.f(r,e,{value:t,enumerable:!1,configurable:!i.nonConfigurable,writable:!i.nonWritable})}return r}});var ru=h((xO,Pf)=>{var BC=la(),DC=Math.max,_C=Math.min;Pf.exports=function(r,e){var t=BC(r);return t<0?DC(t+e,0):_C(t,e)}});var Sf=h((TO,kf)=>{var NC=la(),qC=Math.min;kf.exports=function(r){return r>0?qC(NC(r),9007199254740991):0}});var Ra=h((EO,Cf)=>{var HC=Sf();Cf.exports=function(r){return HC(r.length)}});var Af=h((RO,wf)=>{var jC=Er(),WC=ru(),GC=Ra(),If=function(r){return function(e,t,i){var n=jC(e),o=GC(n),a=WC(i,o),c;if(r&&t!=t){for(;o>a;)if(c=n[a++],c!=c)return!0}else for(;o>a;a++)if((r||a in n)&&n[a]===t)return r||a||0;return!r&&-1}};wf.exports={includes:If(!0),indexOf:If(!1)}});var nu=h((FO,Tf)=>{var zC=$(),iu=ke(),VC=Er(),JC=Af().indexOf,$C=wa(),xf=zC([].push);Tf.exports=function(r,e){var t=VC(r),i=0,n=[],o;for(o in t)!iu($C,o)&&iu(t,o)&&xf(n,o);for(;e.length>i;)iu(t,o=e[i++])&&(~JC(n,o)||xf(n,o));return n}});var Fa=h((OO,Ef)=>{Ef.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]});var Ff=h(Rf=>{var KC=nu(),XC=Fa(),ZC=XC.concat("length","prototype");Rf.f=Object.getOwnPropertyNames||function(e){return KC(e,ZC)}});var su=h(Of=>{Of.f=Object.getOwnPropertySymbols});var Uf=h((LO,Mf)=>{var YC=xn(),QC=$(),eI=Ff(),tI=su(),rI=Je(),iI=QC([].concat);Mf.exports=YC("Reflect","ownKeys")||function(e){var t=eI.f(rI(e)),i=tI.f;return i?iI(t,i(e)):t}});var Df=h((BO,Bf)=>{var Lf=ke(),nI=Uf(),sI=Jl(),oI=$e();Bf.exports=function(r,e,t){for(var i=nI(e),n=oI.f,o=sI.f,a=0;a<i.length;a++){var c=i[a];!Lf(r,c)&&!(t&&Lf(t,c))&&n(r,c,o(e,c))}}});var Nf=h((DO,_f)=>{var aI=se(),dI=K(),lI=/#|\.prototype\./,En=function(r,e){var t=cI[uI(r)];return t==pI?!0:t==mI?!1:dI(e)?aI(e):!!e},uI=En.normalize=function(r){return String(r).replace(lI,".").toLowerCase()},cI=En.data={},mI=En.NATIVE="N",pI=En.POLYFILL="P";_f.exports=En});var Rn=h((_O,qf)=>{var ou=ue(),fI=Jl().f,gI=Ca(),hI=Vt(),vI=ca(),yI=Df(),bI=Nf();qf.exports=function(r,e){var t=r.target,i=r.global,n=r.stat,o,a,c,p,f,v;if(i?a=ou:n?a=ou[t]||vI(t,{}):a=(ou[t]||{}).prototype,a)for(c in e){if(f=e[c],r.dontCallGetSet?(v=fI(a,c),p=v&&v.value):p=a[c],o=bI(i?c:t+(n?".":"#")+c,r.forced),!o&&p!==void 0){if(typeof f==typeof p)continue;yI(f,p)}(r.sham||p&&p.sham)&&gI(f,"sham",!0),hI(a,c,f,r)}}});var au=h((NO,Hf)=>{var PI=nu(),kI=Fa();Hf.exports=Object.keys||function(e){return PI(e,kI)}});var Wf=h(jf=>{var SI=ce(),CI=El(),II=$e(),wI=Je(),AI=Er(),xI=au();jf.f=SI&&!CI?Object.defineProperties:function(e,t){wI(e);for(var i=AI(t),n=xI(t),o=n.length,a=0,c;o>a;)II.f(e,c=n[a++],i[c]);return e}});var zf=h((HO,Gf)=>{var TI=xn();Gf.exports=TI("document","documentElement")});var Fn=h((jO,Yf)=>{var EI=Je(),RI=Wf(),Vf=Fa(),FI=wa(),OI=zf(),MI=xl(),UI=Ia(),Jf=">",$f="<",lu="prototype",uu="script",Xf=UI("IE_PROTO"),du=function(){},Zf=function(r){return $f+uu+Jf+r+$f+"/"+uu+Jf},Kf=function(r){r.write(Zf("")),r.close();var e=r.parentWindow.Object;return r=null,e},LI=function(){var r=MI("iframe"),e="java"+uu+":",t;return r.style.display="none",OI.appendChild(r),r.src=String(e),t=r.contentWindow.document,t.open(),t.write(Zf("document.F=Object")),t.close(),t.F},Oa,Ma=function(){try{Oa=new ActiveXObject("htmlfile")}catch{}Ma=typeof document<"u"?document.domain&&Oa?Kf(Oa):LI():Kf(Oa);for(var r=Vf.length;r--;)delete Ma[lu][Vf[r]];return Ma()};FI[Xf]=!0;Yf.exports=Object.create||function(e,t){var i;return e!==null?(du[lu]=EI(e),i=new du,du[lu]=null,i[Xf]=e):i=Ma(),t===void 0?i:RI.f(i,t)}});var eg=h((WO,Qf)=>{var BI=se();Qf.exports=!BI(function(){function r(){}return r.prototype.constructor=null,Object.getPrototypeOf(new r)!==r.prototype})});var mu=h((GO,rg)=>{var DI=ke(),_I=K(),NI=In(),qI=Ia(),HI=eg(),tg=qI("IE_PROTO"),cu=Object,jI=cu.prototype;rg.exports=HI?cu.getPrototypeOf:function(r){var e=NI(r);if(DI(e,tg))return e[tg];var t=e.constructor;return _I(t)&&e instanceof t?t.prototype:e instanceof cu?jI:null}});var hu=h((zO,sg)=>{"use strict";var WI=se(),GI=K(),zI=pt(),VI=Fn(),ig=mu(),JI=Vt(),$I=Se(),KI=wr(),gu=$I("iterator"),ng=!1,et,pu,fu;[].keys&&(fu=[].keys(),"next"in fu?(pu=ig(ig(fu)),pu!==Object.prototype&&(et=pu)):ng=!0);var XI=!zI(et)||WI(function(){var r={};return et[gu].call(r)!==r});XI?et={}:KI&&(et=VI(et));GI(et[gu])||JI(et,gu,function(){return this});sg.exports={IteratorPrototype:et,BUGGY_SAFARI_ITERATORS:ng}});var On=h((VO,ag)=>{var ZI=$e().f,YI=ke(),QI=Se(),og=QI("toStringTag");ag.exports=function(r,e,t){r&&!t&&(r=r.prototype),r&&!YI(r,og)&&ZI(r,og,{configurable:!0,value:e})}});var Rr=h((JO,dg)=>{dg.exports={}});var vu=h(($O,lg)=>{"use strict";var ew=hu().IteratorPrototype,tw=Fn(),rw=xr(),iw=On(),nw=Rr(),sw=function(){return this};lg.exports=function(r,e,t,i){var n=e+" Iterator";return r.prototype=tw(ew,{next:rw(+!i,t)}),iw(r,n,!1,!0),nw[n]=sw,r}});var cg=h((KO,ug)=>{var ow=K(),aw=String,dw=TypeError;ug.exports=function(r){if(typeof r=="object"||ow(r))return r;throw dw("Can't set "+aw(r)+" as a prototype")}});var pg=h((XO,mg)=>{var lw=$(),uw=Je(),cw=cg();mg.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var r=!1,e={},t;try{t=lw(Object.getOwnPropertyDescriptor(Object.prototype,"__proto__").set),t(e,[]),r=e instanceof Array}catch{}return function(n,o){return uw(n),cw(o),r?t(n,o):n.__proto__=o,n}}():void 0)});var bu=h((ZO,Cg)=>{"use strict";var mw=Rn(),pw=qe(),Ua=wr(),kg=Xl(),fw=K(),gw=vu(),fg=mu(),gg=pg(),hw=On(),vw=Ca(),yu=Vt(),yw=Se(),hg=Rr(),Sg=hu(),bw=kg.PROPER,Pw=kg.CONFIGURABLE,vg=Sg.IteratorPrototype,La=Sg.BUGGY_SAFARI_ITERATORS,Mn=yw("iterator"),yg="keys",Un="values",bg="entries",Pg=function(){return this};Cg.exports=function(r,e,t,i,n,o,a){gw(t,e,i);var c=function(U){if(U===n&&y)return y;if(!La&&U in v)return v[U];switch(U){case yg:return function(){return new t(this,U)};case Un:return function(){return new t(this,U)};case bg:return function(){return new t(this,U)}}return function(){return new t(this)}},p=e+" Iterator",f=!1,v=r.prototype,m=v[Mn]||v["@@iterator"]||n&&v[n],y=!La&&m||c(n),P=e=="Array"&&v.entries||m,C,I,A;if(P&&(C=fg(P.call(new r)),C!==Object.prototype&&C.next&&(!Ua&&fg(C)!==vg&&(gg?gg(C,vg):fw(C[Mn])||yu(C,Mn,Pg)),hw(C,p,!0,!0),Ua&&(hg[p]=Pg))),bw&&n==Un&&m&&m.name!==Un&&(!Ua&&Pw?vw(v,"name",Un):(f=!0,y=function(){return pw(m,this)})),n)if(I={values:c(Un),keys:o?y:c(yg),entries:c(bg)},a)for(A in I)(La||f||!(A in v))&&yu(v,A,I[A]);else mw({target:e,proto:!0,forced:La||f},I);return(!Ua||a)&&v[Mn]!==y&&yu(v,Mn,y,{name:n}),hg[e]=y,I}});var Pu=h((YO,Ig)=>{Ig.exports=function(r,e){return{value:r,done:e}}});var Tg=h(()=>{"use strict";var kw=wl().charAt,Sw=An(),Ag=Tr(),Cw=bu(),wg=Pu(),xg="String Iterator",Iw=Ag.set,ww=Ag.getterFor(xg);Cw(String,"String",function(r){Iw(this,{type:xg,string:Sw(r),index:0})},function(){var e=ww(this),t=e.string,i=e.index,n;return i>=t.length?wg(void 0,!0):(n=kw(t,i),e.index+=n.length,wg(n,!1))})});var ku=h((tM,Eg)=>{var Aw=se(),xw=Se(),Tw=wr(),Ew=xw("iterator");Eg.exports=!Aw(function(){var r=new URL("b?a=1&b=2&c=3","http://a"),e=r.searchParams,t="";return r.pathname="c%20d",e.forEach(function(i,n){e.delete("b"),t+=n+i}),Tw&&!r.toJSON||!e.sort||r.href!=="http://a/c%20d?a=1&c=3"||e.get("c")!=="3"||String(new URLSearchParams("?a=1"))!=="a=1"||!e[Ew]||new URL("https://a@b").username!=="a"||new URLSearchParams(new URLSearchParams("a=b")).get("a")!=="b"||new URL("http://\u0442\u0435\u0441\u0442").host!=="xn--e1aybc"||new URL("http://a#\u0431").hash!=="#%D0%B1"||t!=="a1c3"||new URL("http://x",void 0).host!=="x"})});var Fg=h((rM,Rg)=>{var Rw=ha(),Fw=$();Rg.exports=function(r){if(Rw(r)==="Function")return Fw(r)}});var Ba=h((iM,Mg)=>{var Og=Fg(),Ow=ba(),Mw=da(),Uw=Og(Og.bind);Mg.exports=function(r,e){return Ow(r),e===void 0?r:Mw?Uw(r,e):function(){return r.apply(e,arguments)}}});var Bg=h((nM,Lg)=>{var Ug=tu(),Lw=$e();Lg.exports=function(r,e,t){return t.get&&Ug(t.get,e,{getter:!0}),t.set&&Ug(t.set,e,{setter:!0}),Lw.f(r,e,t)}});var Su=h((sM,Dg)=>{var Bw=Fl(),Dw=TypeError;Dg.exports=function(r,e){if(Bw(e,r))return r;throw Dw("Incorrect invocation")}});var Hg=h((oM,qg)=>{"use strict";var _g=ce(),_w=$(),Nw=qe(),qw=se(),Cu=au(),Hw=su(),jw=Gl(),Ww=In(),Gw=Vl(),Fr=Object.assign,Ng=Object.defineProperty,zw=_w([].concat);qg.exports=!Fr||qw(function(){if(_g&&Fr({b:1},Fr(Ng({},"a",{enumerable:!0,get:function(){Ng(this,"b",{value:3,enumerable:!1})}}),{b:2})).b!==1)return!0;var r={},e={},t=Symbol(),i="abcdefghijklmnopqrst";return r[t]=7,i.split("").forEach(function(n){e[n]=n}),Fr({},r)[t]!=7||Cu(Fr({},e)).join("")!=i})?function(e,t){for(var i=Ww(e),n=arguments.length,o=1,a=Hw.f,c=jw.f;n>o;)for(var p=Gw(arguments[o++]),f=a?zw(Cu(p),a(p)):Cu(p),v=f.length,m=0,y;v>m;)y=f[m++],(!_g||Nw(c,p,y))&&(i[y]=p[y]);return i}:Fr});var Gg=h((aM,Wg)=>{var Vw=qe(),jg=Je(),Jw=Pa();Wg.exports=function(r,e,t){var i,n;jg(r);try{if(i=Jw(r,"return"),!i){if(e==="throw")throw t;return t}i=Vw(i,r)}catch(o){n=!0,i=o}if(e==="throw")throw t;if(n)throw i;return jg(i),t}});var Vg=h((dM,zg)=>{var $w=Je(),Kw=Gg();zg.exports=function(r,e,t,i){try{return i?e($w(t)[0],t[1]):e(t)}catch(n){Kw(r,"throw",n)}}});var $g=h((lM,Jg)=>{var Xw=Se(),Zw=Rr(),Yw=Xw("iterator"),Qw=Array.prototype;Jg.exports=function(r){return r!==void 0&&(Zw.Array===r||Qw[Yw]===r)}});var eh=h((uM,Qg)=>{var eA=$(),tA=se(),Kg=K(),rA=wn(),iA=xn(),nA=Yl(),Xg=function(){},sA=[],Zg=iA("Reflect","construct"),Iu=/^\s*(?:class|function)\b/,oA=eA(Iu.exec),aA=!Iu.exec(Xg),Ln=function(e){if(!Kg(e))return!1;try{return Zg(Xg,sA,e),!0}catch{return!1}},Yg=function(e){if(!Kg(e))return!1;switch(rA(e)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}try{return aA||!!oA(Iu,nA(e))}catch{return!0}};Yg.sham=!0;Qg.exports=!Zg||tA(function(){var r;return Ln(Ln.call)||!Ln(Object)||!Ln(function(){r=!0})||r})?Yg:Ln});var wu=h((cM,th)=>{"use strict";var dA=ka(),lA=$e(),uA=xr();th.exports=function(r,e,t){var i=dA(e);i in r?lA.f(r,i,uA(0,t)):r[i]=t}});var Da=h((mM,ih)=>{var cA=wn(),rh=Pa(),mA=pa(),pA=Rr(),fA=Se(),gA=fA("iterator");ih.exports=function(r){if(!mA(r))return rh(r,gA)||rh(r,"@@iterator")||pA[cA(r)]}});var Au=h((pM,nh)=>{var hA=qe(),vA=ba(),yA=Je(),bA=Ml(),PA=Da(),kA=TypeError;nh.exports=function(r,e){var t=arguments.length<2?PA(r):e;if(vA(t))return yA(hA(t,r));throw kA(bA(r)+" is not iterable")}});var dh=h((fM,ah)=>{"use strict";var SA=Ba(),CA=qe(),IA=In(),wA=Vg(),AA=$g(),xA=eh(),TA=Ra(),sh=wu(),EA=Au(),RA=Da(),oh=Array;ah.exports=function(e){var t=IA(e),i=xA(this),n=arguments.length,o=n>1?arguments[1]:void 0,a=o!==void 0;a&&(o=SA(o,n>2?arguments[2]:void 0));var c=RA(t),p=0,f,v,m,y,P,C;if(c&&!(this===oh&&AA(c)))for(y=EA(t,c),P=y.next,v=i?new this:[];!(m=CA(P,y)).done;p++)C=a?wA(y,o,[m.value,p],!0):m.value,sh(v,p,C);else for(f=TA(t),v=i?new this(f):oh(f);f>p;p++)C=a?o(t[p],p):t[p],sh(v,p,C);return v.length=p,v}});var xu=h((gM,uh)=>{var lh=ru(),FA=Ra(),OA=wu(),MA=Array,UA=Math.max;uh.exports=function(r,e,t){for(var i=FA(r),n=lh(e,i),o=lh(t===void 0?i:t,i),a=MA(UA(o-n,0)),c=0;n<o;n++,c++)OA(a,c,r[n]);return a.length=c,a}});var bh=h((hM,yh)=>{var Jt=$(),Tu=2147483647,Bn=36,gh=1,Fu=26,LA=38,BA=700,DA=72,_A=128,NA="-",qA=/[^\0-\u007E]/,hh=/[.\u3002\uFF0E\uFF61]/g,ch="Overflow: input needs wider integers to process",Eu=Bn-gh,mh=RangeError,HA=Jt(hh.exec),Or=Math.floor,Ru=String.fromCharCode,ph=Jt("".charCodeAt),vh=Jt([].join),ft=Jt([].push),jA=Jt("".replace),WA=Jt("".split),GA=Jt("".toLowerCase),zA=function(r){for(var e=[],t=0,i=r.length;t<i;){var n=ph(r,t++);if(n>=55296&&n<=56319&&t<i){var o=ph(r,t++);(o&64512)==56320?ft(e,((n&1023)<<10)+(o&1023)+65536):(ft(e,n),t--)}else ft(e,n)}return e},fh=function(r){return r+22+75*(r<26)},VA=function(r,e,t){var i=0;for(r=t?Or(r/BA):r>>1,r+=Or(r/e);r>Eu*Fu>>1;)r=Or(r/Eu),i+=Bn;return Or(i+(Eu+1)*r/(r+LA))},JA=function(r){var e=[];r=zA(r);var t=r.length,i=_A,n=0,o=DA,a,c;for(a=0;a<r.length;a++)c=r[a],c<128&&ft(e,Ru(c));var p=e.length,f=p;for(p&&ft(e,NA);f<t;){var v=Tu;for(a=0;a<r.length;a++)c=r[a],c>=i&&c<v&&(v=c);var m=f+1;if(v-i>Or((Tu-n)/m))throw mh(ch);for(n+=(v-i)*m,i=v,a=0;a<r.length;a++){if(c=r[a],c<i&&++n>Tu)throw mh(ch);if(c==i){for(var y=n,P=Bn;;){var C=P<=o?gh:P>=o+Fu?Fu:P-o;if(y<C)break;var I=y-C,A=Bn-C;ft(e,Ru(fh(C+I%A))),y=Or(I/A),P+=Bn}ft(e,Ru(fh(y))),o=VA(n,m,f==p),n=0,f++}}n++,i++}return vh(e,"")};yh.exports=function(r){var e=[],t=WA(jA(GA(r),hh,"."),"."),i,n;for(i=0;i<t.length;i++)n=t[i],ft(e,HA(qA,n)?"xn--"+JA(n):n);return vh(e,".")}});var Ou=h((vM,Ph)=>{var $A=TypeError;Ph.exports=function(r,e){if(r<e)throw $A("Not enough arguments");return r}});var Sh=h((yM,kh)=>{var KA=Se(),XA=Fn(),ZA=$e().f,Mu=KA("unscopables"),Uu=Array.prototype;Uu[Mu]==null&&ZA(Uu,Mu,{configurable:!0,value:XA(null)});kh.exports=function(r){Uu[Mu][r]=!0}});var Th=h((bM,xh)=>{"use strict";var YA=Er(),Lu=Sh(),Ch=Rr(),wh=Tr(),QA=$e().f,ex=bu(),_a=Pu(),tx=wr(),rx=ce(),Ah="Array Iterator",ix=wh.set,nx=wh.getterFor(Ah);xh.exports=ex(Array,"Array",function(r,e){ix(this,{type:Ah,target:YA(r),index:0,kind:e})},function(){var r=nx(this),e=r.target,t=r.kind,i=r.index++;return!e||i>=e.length?(r.target=void 0,_a(void 0,!0)):t=="keys"?_a(i,!1):t=="values"?_a(e[i],!1):_a([i,e[i]],!1)},"values");var Ih=Ch.Arguments=Ch.Array;Lu("keys");Lu("values");Lu("entries");if(!tx&&rx&&Ih.name!=="values")try{QA(Ih,"name",{value:"values"})}catch{}});var Rh=h((PM,Eh)=>{var sx=Vt();Eh.exports=function(r,e,t){for(var i in e)sx(r,i,e[i],t);return r}});var Mh=h((kM,Oh)=>{var Fh=xu(),ox=Math.floor,Bu=function(r,e){var t=r.length,i=ox(t/2);return t<8?ax(r,e):dx(r,Bu(Fh(r,0,i),e),Bu(Fh(r,i),e),e)},ax=function(r,e){for(var t=r.length,i=1,n,o;i<t;){for(o=i,n=r[i];o&&e(r[o-1],n)>0;)r[o]=r[--o];o!==i++&&(r[o]=n)}return r},dx=function(r,e,t,i){for(var n=e.length,o=t.length,a=0,c=0;a<n||c<o;)r[a+c]=a<n&&c<o?i(e[a],t[c])<=0?e[a++]:t[c++]:a<n?e[a++]:t[c++];return r};Oh.exports=Bu});var Vu=h((SM,Qh)=>{"use strict";Th();var Hu=Rn(),Ur=ue(),Na=qe(),Ke=$(),lx=ce(),zh=ku(),Vh=Vt(),ux=Rh(),cx=On(),mx=vu(),Gu=Tr(),Jh=Su(),Du=K(),px=ke(),fx=Ba(),gx=wn(),hx=Je(),$h=pt(),me=An(),vx=Fn(),Uh=xr(),ju=Au(),yx=Da(),Mr=Ou(),bx=Se(),Px=Mh(),kx=bx("iterator"),Nn="URLSearchParams",Kh=Nn+"Iterator",Xh=Gu.set,je=Gu.getterFor(Nn),Sx=Gu.getterFor(Kh),Cx=Object.getOwnPropertyDescriptor,zu=function(r){if(!lx)return Ur[r];var e=Cx(Ur,r);return e&&e.value},Lh=zu("fetch"),Ha=zu("Request"),Dn=zu("Headers"),_u=Ha&&Ha.prototype,Bh=Dn&&Dn.prototype,Ix=Ur.RegExp,wx=Ur.TypeError,Zh=Ur.decodeURIComponent,Ax=Ur.encodeURIComponent,xx=Ke("".charAt),Dh=Ke([].join),$t=Ke([].push),Wu=Ke("".replace),Tx=Ke([].shift),_h=Ke([].splice),Nh=Ke("".split),Ex=Ke("".slice),Rx=/\+/g,qh=Array(4),Fx=function(r){return qh[r-1]||(qh[r-1]=Ix("((?:%[\\da-f]{2}){"+r+"})","gi"))},Ox=function(r){try{return Zh(r)}catch{return r}},Hh=function(r){var e=Wu(r,Rx," "),t=4;try{return Zh(e)}catch{for(;t;)e=Wu(e,Fx(t--),Ox);return e}},Mx=/[!'()~]|%20/g,Ux={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+"},Lx=function(r){return Ux[r]},jh=function(r){return Wu(Ax(r),Mx,Lx)},Nu=mx(function(e,t){Xh(this,{type:Kh,iterator:ju(je(e).entries),kind:t})},"Iterator",function(){var e=Sx(this),t=e.kind,i=e.iterator.next(),n=i.value;return i.done||(i.value=t==="keys"?n.key:t==="values"?n.value:[n.key,n.value]),i},!0),Yh=function(r){this.entries=[],this.url=null,r!==void 0&&($h(r)?this.parseObject(r):this.parseQuery(typeof r=="string"?xx(r,0)==="?"?Ex(r,1):r:me(r)))};Yh.prototype={type:Nn,bindURL:function(r){this.url=r,this.update()},parseObject:function(r){var e=yx(r),t,i,n,o,a,c,p;if(e)for(t=ju(r,e),i=t.next;!(n=Na(i,t)).done;){if(o=ju(hx(n.value)),a=o.next,(c=Na(a,o)).done||(p=Na(a,o)).done||!Na(a,o).done)throw wx("Expected sequence with length 2");$t(this.entries,{key:me(c.value),value:me(p.value)})}else for(var f in r)px(r,f)&&$t(this.entries,{key:f,value:me(r[f])})},parseQuery:function(r){if(r)for(var e=Nh(r,"&"),t=0,i,n;t<e.length;)i=e[t++],i.length&&(n=Nh(i,"="),$t(this.entries,{key:Hh(Tx(n)),value:Hh(Dh(n,"="))}))},serialize:function(){for(var r=this.entries,e=[],t=0,i;t<r.length;)i=r[t++],$t(e,jh(i.key)+"="+jh(i.value));return Dh(e,"&")},update:function(){this.entries.length=0,this.parseQuery(this.url.query)},updateURL:function(){this.url&&this.url.update()}};var ja=function(){Jh(this,_n);var e=arguments.length>0?arguments[0]:void 0;Xh(this,new Yh(e))},_n=ja.prototype;ux(_n,{append:function(e,t){Mr(arguments.length,2);var i=je(this);$t(i.entries,{key:me(e),value:me(t)}),i.updateURL()},delete:function(r){Mr(arguments.length,1);for(var e=je(this),t=e.entries,i=me(r),n=0;n<t.length;)t[n].key===i?_h(t,n,1):n++;e.updateURL()},get:function(e){Mr(arguments.length,1);for(var t=je(this).entries,i=me(e),n=0;n<t.length;n++)if(t[n].key===i)return t[n].value;return null},getAll:function(e){Mr(arguments.length,1);for(var t=je(this).entries,i=me(e),n=[],o=0;o<t.length;o++)t[o].key===i&&$t(n,t[o].value);return n},has:function(e){Mr(arguments.length,1);for(var t=je(this).entries,i=me(e),n=0;n<t.length;)if(t[n++].key===i)return!0;return!1},set:function(e,t){Mr(arguments.length,1);for(var i=je(this),n=i.entries,o=!1,a=me(e),c=me(t),p=0,f;p<n.length;p++)f=n[p],f.key===a&&(o?_h(n,p--,1):(o=!0,f.value=c));o||$t(n,{key:a,value:c}),i.updateURL()},sort:function(){var e=je(this);Px(e.entries,function(t,i){return t.key>i.key?1:-1}),e.updateURL()},forEach:function(e){for(var t=je(this).entries,i=fx(e,arguments.length>1?arguments[1]:void 0),n=0,o;n<t.length;)o=t[n++],i(o.value,o.key,this)},keys:function(){return new Nu(this,"keys")},values:function(){return new Nu(this,"values")},entries:function(){return new Nu(this,"entries")}},{enumerable:!0});Vh(_n,kx,_n.entries,{name:"entries"});Vh(_n,"toString",function(){return je(this).serialize()},{enumerable:!0});cx(ja,Nn);Hu({global:!0,constructor:!0,forced:!zh},{URLSearchParams:ja});!zh&&Du(Dn)&&(Wh=Ke(Bh.has),Gh=Ke(Bh.set),qu=function(r){if($h(r)){var e=r.body,t;if(gx(e)===Nn)return t=r.headers?new Dn(r.headers):new Dn,Wh(t,"content-type")||Gh(t,"content-type","application/x-www-form-urlencoded;charset=UTF-8"),vx(r,{body:Uh(0,me(e)),headers:Uh(0,t)})}return r},Du(Lh)&&Hu({global:!0,enumerable:!0,dontCallGetSet:!0,forced:!0},{fetch:function(e){return Lh(e,arguments.length>1?qu(arguments[1]):{})}}),Du(Ha)&&(qa=function(e){return Jh(this,_u),new Ha(e,arguments.length>1?qu(arguments[1]):{})},_u.constructor=qa,qa.prototype=_u,Hu({global:!0,constructor:!0,dontCallGetSet:!0,forced:!0},{Request:qa})));var Wh,Gh,qu,qa;Qh.exports={URLSearchParams:ja,getState:je}});var yv=h(()=>{"use strict";Tg();var Bx=Rn(),dc=ce(),Dx=ku(),lc=ue(),ev=Ba(),xe=$(),Ja=Vt(),Ce=Bg(),_x=Su(),sc=ke(),uc=Hg(),Lr=dh(),We=xu(),Nx=wl().codeAt,qx=bh(),rt=An(),Hx=On(),jx=Ou(),mv=Vu(),pv=Tr(),Wx=pv.set,$a=pv.getterFor("URL"),Gx=mv.URLSearchParams,zx=mv.getState,qn=lc.URL,oc=lc.TypeError,Ka=lc.parseInt,Vx=Math.floor,tv=Math.pow,Ae=xe("".charAt),Ge=xe(/./.exec),jn=xe([].join),Jx=xe(1 .toString),$x=xe([].pop),Dr=xe([].push),rv=xe("".replace),Kx=xe([].shift),Xx=xe("".split),Gn=xe("".slice),Xa=xe("".toLowerCase),Zx=xe([].unshift),Yx="Invalid authority",Ju="Invalid scheme",Kt="Invalid host",iv="Invalid port",fv=/[a-z]/i,Qx=/[\d+-.a-z]/i,ac=/\d/,e0=/^0x/i,t0=/^[0-7]+$/,r0=/^\d+$/,gv=/^[\da-f]+$/i,i0=/[\0\t\n\r #%/:<>?@[\\\]^|]/,n0=/[\0\t\n\r #/:<>?@[\\\]^|]/,s0=/^[\u0000-\u0020]+|[\u0000-\u0020]+$/g,o0=/[\t\n\r]/g,Ie,a0=function(r){var e=Xx(r,"."),t,i,n,o,a,c,p;if(e.length&&e[e.length-1]==""&&e.length--,t=e.length,t>4)return r;for(i=[],n=0;n<t;n++){if(o=e[n],o=="")return r;if(a=10,o.length>1&&Ae(o,0)=="0"&&(a=Ge(e0,o)?16:8,o=Gn(o,a==8?1:2)),o==="")c=0;else{if(!Ge(a==10?r0:a==8?t0:gv,o))return r;c=Ka(o,a)}Dr(i,c)}for(n=0;n<t;n++)if(c=i[n],n==t-1){if(c>=tv(256,5-t))return null}else if(c>255)return null;for(p=$x(i),n=0;n<i.length;n++)p+=i[n]*tv(256,3-n);return p},d0=function(r){var e=[0,0,0,0,0,0,0,0],t=0,i=null,n=0,o,a,c,p,f,v,m,y=function(){return Ae(r,n)};if(y()==":"){if(Ae(r,1)!=":")return;n+=2,t++,i=t}for(;y();){if(t==8)return;if(y()==":"){if(i!==null)return;n++,t++,i=t;continue}for(o=a=0;a<4&&Ge(gv,y());)o=o*16+Ka(y(),16),n++,a++;if(y()=="."){if(a==0||(n-=a,t>6))return;for(c=0;y();){if(p=null,c>0)if(y()=="."&&c<4)n++;else return;if(!Ge(ac,y()))return;for(;Ge(ac,y());){if(f=Ka(y(),10),p===null)p=f;else{if(p==0)return;p=p*10+f}if(p>255)return;n++}e[t]=e[t]*256+p,c++,(c==2||c==4)&&t++}if(c!=4)return;break}else if(y()==":"){if(n++,!y())return}else if(y())return;e[t++]=o}if(i!==null)for(v=t-i,t=7;t!=0&&v>0;)m=e[t],e[t--]=e[i+v-1],e[i+--v]=m;else if(t!=8)return;return e},l0=function(r){for(var e=null,t=1,i=null,n=0,o=0;o<8;o++)r[o]!==0?(n>t&&(e=i,t=n),i=null,n=0):(i===null&&(i=o),++n);return n>t&&(e=i,t=n),e},Hn=function(r){var e,t,i,n;if(typeof r=="number"){for(e=[],t=0;t<4;t++)Zx(e,r%256),r=Vx(r/256);return jn(e,".")}else if(typeof r=="object"){for(e="",i=l0(r),t=0;t<8;t++)n&&r[t]===0||(n&&(n=!1),i===t?(e+=t?":":"::",n=!0):(e+=Jx(r[t],16),t<7&&(e+=":")));return"["+e+"]"}return r},Va={},hv=uc({},Va,{" ":1,'"':1,"<":1,">":1,"`":1}),vv=uc({},hv,{"#":1,"?":1,"{":1,"}":1}),$u=uc({},vv,{"/":1,":":1,";":1,"=":1,"@":1,"[":1,"\\":1,"]":1,"^":1,"|":1}),gt=function(r,e){var t=Nx(r,0);return t>32&&t<127&&!sc(e,r)?r:encodeURIComponent(r)},Wa={ftp:21,file:null,http:80,https:443,ws:80,wss:443},Wn=function(r,e){var t;return r.length==2&&Ge(fv,Ae(r,0))&&((t=Ae(r,1))==":"||!e&&t=="|")},nv=function(r){var e;return r.length>1&&Wn(Gn(r,0,2))&&(r.length==2||(e=Ae(r,2))==="/"||e==="\\"||e==="?"||e==="#")},u0=function(r){return r==="."||Xa(r)==="%2e"},c0=function(r){return r=Xa(r),r===".."||r==="%2e."||r===".%2e"||r==="%2e%2e"},Ku={},sv={},Xu={},ov={},av={},Zu={},dv={},lv={},Ga={},za={},Yu={},Qu={},ec={},tc={},uv={},rc={},Br={},Xe={},cv={},Xt={},tt={},cc=function(r,e,t){var i=rt(r),n,o,a;if(e){if(o=this.parse(i),o)throw oc(o);this.searchParams=null}else{if(t!==void 0&&(n=new cc(t,!0)),o=this.parse(i,null,n),o)throw oc(o);a=zx(new Gx),a.bindURL(this),this.searchParams=a}};cc.prototype={type:"URL",parse:function(r,e,t){var i=this,n=e||Ku,o=0,a="",c=!1,p=!1,f=!1,v,m,y,P;for(r=rt(r),e||(i.scheme="",i.username="",i.password="",i.host=null,i.port=null,i.path=[],i.query=null,i.fragment=null,i.cannotBeABaseURL=!1,r=rv(r,s0,"")),r=rv(r,o0,""),v=Lr(r);o<=v.length;){switch(m=v[o],n){case Ku:if(m&&Ge(fv,m))a+=Xa(m),n=sv;else{if(e)return Ju;n=Xu;continue}break;case sv:if(m&&(Ge(Qx,m)||m=="+"||m=="-"||m=="."))a+=Xa(m);else if(m==":"){if(e&&(i.isSpecial()!=sc(Wa,a)||a=="file"&&(i.includesCredentials()||i.port!==null)||i.scheme=="file"&&!i.host))return;if(i.scheme=a,e){i.isSpecial()&&Wa[i.scheme]==i.port&&(i.port=null);return}a="",i.scheme=="file"?n=tc:i.isSpecial()&&t&&t.scheme==i.scheme?n=ov:i.isSpecial()?n=lv:v[o+1]=="/"?(n=av,o++):(i.cannotBeABaseURL=!0,Dr(i.path,""),n=cv)}else{if(e)return Ju;a="",n=Xu,o=0;continue}break;case Xu:if(!t||t.cannotBeABaseURL&&m!="#")return Ju;if(t.cannotBeABaseURL&&m=="#"){i.scheme=t.scheme,i.path=We(t.path),i.query=t.query,i.fragment="",i.cannotBeABaseURL=!0,n=tt;break}n=t.scheme=="file"?tc:Zu;continue;case ov:if(m=="/"&&v[o+1]=="/")n=Ga,o++;else{n=Zu;continue}break;case av:if(m=="/"){n=za;break}else{n=Xe;continue}case Zu:if(i.scheme=t.scheme,m==Ie)i.username=t.username,i.password=t.password,i.host=t.host,i.port=t.port,i.path=We(t.path),i.query=t.query;else if(m=="/"||m=="\\"&&i.isSpecial())n=dv;else if(m=="?")i.username=t.username,i.password=t.password,i.host=t.host,i.port=t.port,i.path=We(t.path),i.query="",n=Xt;else if(m=="#")i.username=t.username,i.password=t.password,i.host=t.host,i.port=t.port,i.path=We(t.path),i.query=t.query,i.fragment="",n=tt;else{i.username=t.username,i.password=t.password,i.host=t.host,i.port=t.port,i.path=We(t.path),i.path.length--,n=Xe;continue}break;case dv:if(i.isSpecial()&&(m=="/"||m=="\\"))n=Ga;else if(m=="/")n=za;else{i.username=t.username,i.password=t.password,i.host=t.host,i.port=t.port,n=Xe;continue}break;case lv:if(n=Ga,m!="/"||Ae(a,o+1)!="/")continue;o++;break;case Ga:if(m!="/"&&m!="\\"){n=za;continue}break;case za:if(m=="@"){c&&(a="%40"+a),c=!0,y=Lr(a);for(var C=0;C<y.length;C++){var I=y[C];if(I==":"&&!f){f=!0;continue}var A=gt(I,$u);f?i.password+=A:i.username+=A}a=""}else if(m==Ie||m=="/"||m=="?"||m=="#"||m=="\\"&&i.isSpecial()){if(c&&a=="")return Yx;o-=Lr(a).length+1,a="",n=Yu}else a+=m;break;case Yu:case Qu:if(e&&i.scheme=="file"){n=rc;continue}else if(m==":"&&!p){if(a=="")return Kt;if(P=i.parseHost(a),P)return P;if(a="",n=ec,e==Qu)return}else if(m==Ie||m=="/"||m=="?"||m=="#"||m=="\\"&&i.isSpecial()){if(i.isSpecial()&&a=="")return Kt;if(e&&a==""&&(i.includesCredentials()||i.port!==null))return;if(P=i.parseHost(a),P)return P;if(a="",n=Br,e)return;continue}else m=="["?p=!0:m=="]"&&(p=!1),a+=m;break;case ec:if(Ge(ac,m))a+=m;else if(m==Ie||m=="/"||m=="?"||m=="#"||m=="\\"&&i.isSpecial()||e){if(a!=""){var U=Ka(a,10);if(U>65535)return iv;i.port=i.isSpecial()&&U===Wa[i.scheme]?null:U,a=""}if(e)return;n=Br;continue}else return iv;break;case tc:if(i.scheme="file",m=="/"||m=="\\")n=uv;else if(t&&t.scheme=="file")if(m==Ie)i.host=t.host,i.path=We(t.path),i.query=t.query;else if(m=="?")i.host=t.host,i.path=We(t.path),i.query="",n=Xt;else if(m=="#")i.host=t.host,i.path=We(t.path),i.query=t.query,i.fragment="",n=tt;else{nv(jn(We(v,o),""))||(i.host=t.host,i.path=We(t.path),i.shortenPath()),n=Xe;continue}else{n=Xe;continue}break;case uv:if(m=="/"||m=="\\"){n=rc;break}t&&t.scheme=="file"&&!nv(jn(We(v,o),""))&&(Wn(t.path[0],!0)?Dr(i.path,t.path[0]):i.host=t.host),n=Xe;continue;case rc:if(m==Ie||m=="/"||m=="\\"||m=="?"||m=="#"){if(!e&&Wn(a))n=Xe;else if(a==""){if(i.host="",e)return;n=Br}else{if(P=i.parseHost(a),P)return P;if(i.host=="localhost"&&(i.host=""),e)return;a="",n=Br}continue}else a+=m;break;case Br:if(i.isSpecial()){if(n=Xe,m!="/"&&m!="\\")continue}else if(!e&&m=="?")i.query="",n=Xt;else if(!e&&m=="#")i.fragment="",n=tt;else if(m!=Ie&&(n=Xe,m!="/"))continue;break;case Xe:if(m==Ie||m=="/"||m=="\\"&&i.isSpecial()||!e&&(m=="?"||m=="#")){if(c0(a)?(i.shortenPath(),m!="/"&&!(m=="\\"&&i.isSpecial())&&Dr(i.path,"")):u0(a)?m!="/"&&!(m=="\\"&&i.isSpecial())&&Dr(i.path,""):(i.scheme=="file"&&!i.path.length&&Wn(a)&&(i.host&&(i.host=""),a=Ae(a,0)+":"),Dr(i.path,a)),a="",i.scheme=="file"&&(m==Ie||m=="?"||m=="#"))for(;i.path.length>1&&i.path[0]==="";)Kx(i.path);m=="?"?(i.query="",n=Xt):m=="#"&&(i.fragment="",n=tt)}else a+=gt(m,vv);break;case cv:m=="?"?(i.query="",n=Xt):m=="#"?(i.fragment="",n=tt):m!=Ie&&(i.path[0]+=gt(m,Va));break;case Xt:!e&&m=="#"?(i.fragment="",n=tt):m!=Ie&&(m=="'"&&i.isSpecial()?i.query+="%27":m=="#"?i.query+="%23":i.query+=gt(m,Va));break;case tt:m!=Ie&&(i.fragment+=gt(m,hv));break}o++}},parseHost:function(r){var e,t,i;if(Ae(r,0)=="["){if(Ae(r,r.length-1)!="]"||(e=d0(Gn(r,1,-1)),!e))return Kt;this.host=e}else if(this.isSpecial()){if(r=qx(r),Ge(i0,r)||(e=a0(r),e===null))return Kt;this.host=e}else{if(Ge(n0,r))return Kt;for(e="",t=Lr(r),i=0;i<t.length;i++)e+=gt(t[i],Va);this.host=e}},cannotHaveUsernamePasswordPort:function(){return!this.host||this.cannotBeABaseURL||this.scheme=="file"},includesCredentials:function(){return this.username!=""||this.password!=""},isSpecial:function(){return sc(Wa,this.scheme)},shortenPath:function(){var r=this.path,e=r.length;e&&(this.scheme!="file"||e!=1||!Wn(r[0],!0))&&r.length--},serialize:function(){var r=this,e=r.scheme,t=r.username,i=r.password,n=r.host,o=r.port,a=r.path,c=r.query,p=r.fragment,f=e+":";return n!==null?(f+="//",r.includesCredentials()&&(f+=t+(i?":"+i:"")+"@"),f+=Hn(n),o!==null&&(f+=":"+o)):e=="file"&&(f+="//"),f+=r.cannotBeABaseURL?a[0]:a.length?"/"+jn(a,"/"):"",c!==null&&(f+="?"+c),p!==null&&(f+="#"+p),f},setHref:function(r){var e=this.parse(r);if(e)throw oc(e);this.searchParams.update()},getOrigin:function(){var r=this.scheme,e=this.port;if(r=="blob")try{return new _r(r.path[0]).origin}catch{return"null"}return r=="file"||!this.isSpecial()?"null":r+"://"+Hn(this.host)+(e!==null?":"+e:"")},getProtocol:function(){return this.scheme+":"},setProtocol:function(r){this.parse(rt(r)+":",Ku)},getUsername:function(){return this.username},setUsername:function(r){var e=Lr(rt(r));if(!this.cannotHaveUsernamePasswordPort()){this.username="";for(var t=0;t<e.length;t++)this.username+=gt(e[t],$u)}},getPassword:function(){return this.password},setPassword:function(r){var e=Lr(rt(r));if(!this.cannotHaveUsernamePasswordPort()){this.password="";for(var t=0;t<e.length;t++)this.password+=gt(e[t],$u)}},getHost:function(){var r=this.host,e=this.port;return r===null?"":e===null?Hn(r):Hn(r)+":"+e},setHost:function(r){this.cannotBeABaseURL||this.parse(r,Yu)},getHostname:function(){var r=this.host;return r===null?"":Hn(r)},setHostname:function(r){this.cannotBeABaseURL||this.parse(r,Qu)},getPort:function(){var r=this.port;return r===null?"":rt(r)},setPort:function(r){this.cannotHaveUsernamePasswordPort()||(r=rt(r),r==""?this.port=null:this.parse(r,ec))},getPathname:function(){var r=this.path;return this.cannotBeABaseURL?r[0]:r.length?"/"+jn(r,"/"):""},setPathname:function(r){this.cannotBeABaseURL||(this.path=[],this.parse(r,Br))},getSearch:function(){var r=this.query;return r?"?"+r:""},setSearch:function(r){r=rt(r),r==""?this.query=null:(Ae(r,0)=="?"&&(r=Gn(r,1)),this.query="",this.parse(r,Xt)),this.searchParams.update()},getSearchParams:function(){return this.searchParams.facade},getHash:function(){var r=this.fragment;return r?"#"+r:""},setHash:function(r){if(r=rt(r),r==""){this.fragment=null;return}Ae(r,0)=="#"&&(r=Gn(r,1)),this.fragment="",this.parse(r,tt)},update:function(){this.query=this.searchParams.serialize()||null}};var _r=function(e){var t=_x(this,Q),i=jx(arguments.length,1)>1?arguments[1]:void 0,n=Wx(t,new cc(e,!1,i));dc||(t.href=n.serialize(),t.origin=n.getOrigin(),t.protocol=n.getProtocol(),t.username=n.getUsername(),t.password=n.getPassword(),t.host=n.getHost(),t.hostname=n.getHostname(),t.port=n.getPort(),t.pathname=n.getPathname(),t.search=n.getSearch(),t.searchParams=n.getSearchParams(),t.hash=n.getHash())},Q=_r.prototype,we=function(r,e){return{get:function(){return $a(this)[r]()},set:e&&function(t){return $a(this)[e](t)},configurable:!0,enumerable:!0}};dc&&(Ce(Q,"href",we("serialize","setHref")),Ce(Q,"origin",we("getOrigin")),Ce(Q,"protocol",we("getProtocol","setProtocol")),Ce(Q,"username",we("getUsername","setUsername")),Ce(Q,"password",we("getPassword","setPassword")),Ce(Q,"host",we("getHost","setHost")),Ce(Q,"hostname",we("getHostname","setHostname")),Ce(Q,"port",we("getPort","setPort")),Ce(Q,"pathname",we("getPathname","setPathname")),Ce(Q,"search",we("getSearch","setSearch")),Ce(Q,"searchParams",we("getSearchParams")),Ce(Q,"hash",we("getHash","setHash")));Ja(Q,"toJSON",function(){return $a(this).serialize()},{enumerable:!0});Ja(Q,"toString",function(){return $a(this).serialize()},{enumerable:!0});qn&&(ic=qn.createObjectURL,nc=qn.revokeObjectURL,ic&&Ja(_r,"createObjectURL",ev(ic,qn)),nc&&Ja(_r,"revokeObjectURL",ev(nc,qn)));var ic,nc;Hx(_r,"URL");Bx({global:!0,constructor:!0,forced:!Dx,sham:!dc},{URL:_r})});var bv=h(()=>{yv()});var Pv=h(()=>{"use strict";var m0=Rn(),p0=qe();m0({target:"URL",proto:!0,enumerable:!0},{toJSON:function(){return p0(URL.prototype.toString,this)}})});var kv=h(()=>{Vu()});var Cv=h((FM,Sv)=>{var f0=ue();Sv.exports=f0});var wv=h((OM,Iv)=>{bv();Pv();kv();var g0=Cv();Iv.exports=g0.URL});var Nc=h((KB,Ry)=>{var RT=Object.prototype.toString;Ry.exports=function(e){if(e===void 0)return"undefined";if(e===null)return"null";var t=typeof e;if(t==="boolean")return"boolean";if(t==="string")return"string";if(t==="number")return"number";if(t==="symbol")return"symbol";if(t==="function")return LT(e)?"generatorfunction":"function";if(FT(e))return"array";if(_T(e))return"buffer";if(DT(e))return"arguments";if(MT(e))return"date";if(OT(e))return"error";if(UT(e))return"regexp";switch(Ey(e)){case"Symbol":return"symbol";case"Promise":return"promise";case"WeakMap":return"weakmap";case"WeakSet":return"weakset";case"Map":return"map";case"Set":return"set";case"Int8Array":return"int8array";case"Uint8Array":return"uint8array";case"Uint8ClampedArray":return"uint8clampedarray";case"Int16Array":return"int16array";case"Uint16Array":return"uint16array";case"Int32Array":return"int32array";case"Uint32Array":return"uint32array";case"Float32Array":return"float32array";case"Float64Array":return"float64array"}if(BT(e))return"generator";switch(t=RT.call(e),t){case"[object Object]":return"object";case"[object Map Iterator]":return"mapiterator";case"[object Set Iterator]":return"setiterator";case"[object String Iterator]":return"stringiterator";case"[object Array Iterator]":return"arrayiterator"}return t.slice(8,-1).toLowerCase().replace(/\s/g,"")};function Ey(r){return typeof r.constructor=="function"?r.constructor.name:null}function FT(r){return Array.isArray?Array.isArray(r):r instanceof Array}function OT(r){return r instanceof Error||typeof r.message=="string"&&r.constructor&&typeof r.constructor.stackTraceLimit=="number"}function MT(r){return r instanceof Date?!0:typeof r.toDateString=="function"&&typeof r.getDate=="function"&&typeof r.setDate=="function"}function UT(r){return r instanceof RegExp?!0:typeof r.flags=="string"&&typeof r.ignoreCase=="boolean"&&typeof r.multiline=="boolean"&&typeof r.global=="boolean"}function LT(r,e){return Ey(r)==="GeneratorFunction"}function BT(r){return typeof r.throw=="function"&&typeof r.return=="function"&&typeof r.next=="function"}function DT(r){try{if(typeof r.length=="number"&&typeof r.callee=="function")return!0}catch(e){if(e.message.indexOf("callee")!==-1)return!0}return!1}function _T(r){return r.constructor&&typeof r.constructor.isBuffer=="function"?r.constructor.isBuffer(r):!1}});var My=h((XB,Oy)=>{"use strict";var Fy=Symbol.prototype.valueOf,NT=Nc();function qT(r,e){switch(NT(r)){case"array":return r.slice();case"object":return Object.assign({},r);case"date":return new r.constructor(Number(r));case"map":return new Map(r);case"set":return new Set(r);case"buffer":return GT(r);case"symbol":return zT(r);case"arraybuffer":return jT(r);case"float32array":case"float64array":case"int16array":case"int32array":case"int8array":case"uint16array":case"uint32array":case"uint8clampedarray":case"uint8array":return WT(r);case"regexp":return HT(r);case"error":return Object.create(r);default:return r}}function HT(r){let e=r.flags!==void 0?r.flags:/\w+$/.exec(r)||void 0,t=new r.constructor(r.source,e);return t.lastIndex=r.lastIndex,t}function jT(r){let e=new r.constructor(r.byteLength);return new Uint8Array(e).set(new Uint8Array(r)),e}function WT(r,e){return new r.constructor(r.buffer,r.byteOffset,r.length)}function GT(r){let e=r.length,t=Buffer.allocUnsafe?Buffer.allocUnsafe(e):Buffer.from(e);return r.copy(t),t}function zT(r){return Fy?Object(Fy.call(r)):{}}Oy.exports=qT});var Ly=h((ZB,Uy)=>{"use strict";Uy.exports=function(e){return e!=null&&typeof e=="object"&&Array.isArray(e)===!1}});var _y=h((YB,Dy)=>{"use strict";var VT=Ly();function By(r){return VT(r)===!0&&Object.prototype.toString.call(r)==="[object Object]"}Dy.exports=function(e){var t,i;return!(By(e)===!1||(t=e.constructor,typeof t!="function")||(i=t.prototype,By(i)===!1)||i.hasOwnProperty("isPrototypeOf")===!1)}});var qy=h((QB,Ny)=>{"use strict";var JT=My(),$T=Nc(),KT=_y();function qc(r,e){switch($T(r)){case"object":return XT(r,e);case"array":return ZT(r,e);default:return JT(r)}}function XT(r,e){if(typeof e=="function")return e(r);if(e||KT(r)){let t=new r.constructor;for(let i in r)t[i]=qc(r[i],e);return t}return r}function ZT(r,e){let t=new r.constructor(r.length);for(let i=0;i<r.length;i++)t[i]=qc(r[i],e);return t}Ny.exports=qc});var Yc=h((ns,ai)=>{var YT=200,Zc="__lodash_hash_undefined__",xd=1,Yy=2,Qy=9007199254740991,Pd="[object Arguments]",Gc="[object Array]",QT="[object AsyncFunction]",eb="[object Boolean]",tb="[object Date]",rb="[object Error]",ib="[object Function]",eE="[object GeneratorFunction]",kd="[object Map]",nb="[object Number]",tE="[object Null]",oi="[object Object]",Hy="[object Promise]",rE="[object Proxy]",sb="[object RegExp]",Sd="[object Set]",ob="[object String]",iE="[object Symbol]",nE="[object Undefined]",zc="[object WeakMap]",ab="[object ArrayBuffer]",Cd="[object DataView]",sE="[object Float32Array]",oE="[object Float64Array]",aE="[object Int8Array]",dE="[object Int16Array]",lE="[object Int32Array]",uE="[object Uint8Array]",cE="[object Uint8ClampedArray]",mE="[object Uint16Array]",pE="[object Uint32Array]",fE=/[\\^$.*+?()[\]{}|]/g,gE=/^\[object .+?Constructor\]$/,hE=/^(?:0|[1-9]\d*)$/,H={};H[sE]=H[oE]=H[aE]=H[dE]=H[lE]=H[uE]=H[cE]=H[mE]=H[pE]=!0;H[Pd]=H[Gc]=H[ab]=H[eb]=H[Cd]=H[tb]=H[rb]=H[ib]=H[kd]=H[nb]=H[oi]=H[sb]=H[Sd]=H[ob]=H[zc]=!1;var db=typeof global=="object"&&global&&global.Object===Object&&global,vE=typeof self=="object"&&self&&self.Object===Object&&self,ot=db||vE||Function("return this")(),lb=typeof ns=="object"&&ns&&!ns.nodeType&&ns,jy=lb&&typeof ai=="object"&&ai&&!ai.nodeType&&ai,ub=jy&&jy.exports===lb,Hc=ub&&db.process,Wy=function(){try{return Hc&&Hc.binding&&Hc.binding("util")}catch{}}(),Gy=Wy&&Wy.isTypedArray;function yE(r,e){for(var t=-1,i=r==null?0:r.length,n=0,o=[];++t<i;){var a=r[t];e(a,t,r)&&(o[n++]=a)}return o}function bE(r,e){for(var t=-1,i=e.length,n=r.length;++t<i;)r[n+t]=e[t];return r}function PE(r,e){for(var t=-1,i=r==null?0:r.length;++t<i;)if(e(r[t],t,r))return!0;return!1}function kE(r,e){for(var t=-1,i=Array(r);++t<r;)i[t]=e(t);return i}function SE(r){return function(e){return r(e)}}function CE(r,e){return r.has(e)}function IE(r,e){return r?.[e]}function wE(r){var e=-1,t=Array(r.size);return r.forEach(function(i,n){t[++e]=[n,i]}),t}function AE(r,e){return function(t){return r(e(t))}}function xE(r){var e=-1,t=Array(r.size);return r.forEach(function(i){t[++e]=i}),t}var TE=Array.prototype,EE=Function.prototype,Td=Object.prototype,jc=ot["__core-js_shared__"],cb=EE.toString,Ze=Td.hasOwnProperty,zy=function(){var r=/[^.]+$/.exec(jc&&jc.keys&&jc.keys.IE_PROTO||"");return r?"Symbol(src)_1."+r:""}(),mb=Td.toString,RE=RegExp("^"+cb.call(Ze).replace(fE,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),Vy=ub?ot.Buffer:void 0,Id=ot.Symbol,Jy=ot.Uint8Array,pb=Td.propertyIsEnumerable,FE=TE.splice,sr=Id?Id.toStringTag:void 0,$y=Object.getOwnPropertySymbols,OE=Vy?Vy.isBuffer:void 0,ME=AE(Object.keys,Object),Vc=di(ot,"DataView"),ss=di(ot,"Map"),Jc=di(ot,"Promise"),$c=di(ot,"Set"),Kc=di(ot,"WeakMap"),os=di(Object,"create"),UE=dr(Vc),LE=dr(ss),BE=dr(Jc),DE=dr($c),_E=dr(Kc),Ky=Id?Id.prototype:void 0,Wc=Ky?Ky.valueOf:void 0;function or(r){var e=-1,t=r==null?0:r.length;for(this.clear();++e<t;){var i=r[e];this.set(i[0],i[1])}}function NE(){this.__data__=os?os(null):{},this.size=0}function qE(r){var e=this.has(r)&&delete this.__data__[r];return this.size-=e?1:0,e}function HE(r){var e=this.__data__;if(os){var t=e[r];return t===Zc?void 0:t}return Ze.call(e,r)?e[r]:void 0}function jE(r){var e=this.__data__;return os?e[r]!==void 0:Ze.call(e,r)}function WE(r,e){var t=this.__data__;return this.size+=this.has(r)?0:1,t[r]=os&&e===void 0?Zc:e,this}or.prototype.clear=NE;or.prototype.delete=qE;or.prototype.get=HE;or.prototype.has=jE;or.prototype.set=WE;function at(r){var e=-1,t=r==null?0:r.length;for(this.clear();++e<t;){var i=r[e];this.set(i[0],i[1])}}function GE(){this.__data__=[],this.size=0}function zE(r){var e=this.__data__,t=Ed(e,r);if(t<0)return!1;var i=e.length-1;return t==i?e.pop():FE.call(e,t,1),--this.size,!0}function VE(r){var e=this.__data__,t=Ed(e,r);return t<0?void 0:e[t][1]}function JE(r){return Ed(this.__data__,r)>-1}function $E(r,e){var t=this.__data__,i=Ed(t,r);return i<0?(++this.size,t.push([r,e])):t[i][1]=e,this}at.prototype.clear=GE;at.prototype.delete=zE;at.prototype.get=VE;at.prototype.has=JE;at.prototype.set=$E;function ar(r){var e=-1,t=r==null?0:r.length;for(this.clear();++e<t;){var i=r[e];this.set(i[0],i[1])}}function KE(){this.size=0,this.__data__={hash:new or,map:new(ss||at),string:new or}}function XE(r){var e=Rd(this,r).delete(r);return this.size-=e?1:0,e}function ZE(r){return Rd(this,r).get(r)}function YE(r){return Rd(this,r).has(r)}function QE(r,e){var t=Rd(this,r),i=t.size;return t.set(r,e),this.size+=t.size==i?0:1,this}ar.prototype.clear=KE;ar.prototype.delete=XE;ar.prototype.get=ZE;ar.prototype.has=YE;ar.prototype.set=QE;function wd(r){var e=-1,t=r==null?0:r.length;for(this.__data__=new ar;++e<t;)this.add(r[e])}function eR(r){return this.__data__.set(r,Zc),this}function tR(r){return this.__data__.has(r)}wd.prototype.add=wd.prototype.push=eR;wd.prototype.has=tR;function wt(r){var e=this.__data__=new at(r);this.size=e.size}function rR(){this.__data__=new at,this.size=0}function iR(r){var e=this.__data__,t=e.delete(r);return this.size=e.size,t}function nR(r){return this.__data__.get(r)}function sR(r){return this.__data__.has(r)}function oR(r,e){var t=this.__data__;if(t instanceof at){var i=t.__data__;if(!ss||i.length<YT-1)return i.push([r,e]),this.size=++t.size,this;t=this.__data__=new ar(i)}return t.set(r,e),this.size=t.size,this}wt.prototype.clear=rR;wt.prototype.delete=iR;wt.prototype.get=nR;wt.prototype.has=sR;wt.prototype.set=oR;function aR(r,e){var t=Ad(r),i=!t&&SR(r),n=!t&&!i&&Xc(r),o=!t&&!i&&!n&&Pb(r),a=t||i||n||o,c=a?kE(r.length,String):[],p=c.length;for(var f in r)(e||Ze.call(r,f))&&!(a&&(f=="length"||n&&(f=="offset"||f=="parent")||o&&(f=="buffer"||f=="byteLength"||f=="byteOffset")||vR(f,p)))&&c.push(f);return c}function Ed(r,e){for(var t=r.length;t--;)if(hb(r[t][0],e))return t;return-1}function dR(r,e,t){var i=e(r);return Ad(r)?i:bE(i,t(r))}function ds(r){return r==null?r===void 0?nE:tE:sr&&sr in Object(r)?gR(r):kR(r)}function Xy(r){return as(r)&&ds(r)==Pd}function fb(r,e,t,i,n){return r===e?!0:r==null||e==null||!as(r)&&!as(e)?r!==r&&e!==e:lR(r,e,t,i,fb,n)}function lR(r,e,t,i,n,o){var a=Ad(r),c=Ad(e),p=a?Gc:It(r),f=c?Gc:It(e);p=p==Pd?oi:p,f=f==Pd?oi:f;var v=p==oi,m=f==oi,y=p==f;if(y&&Xc(r)){if(!Xc(e))return!1;a=!0,v=!1}if(y&&!v)return o||(o=new wt),a||Pb(r)?gb(r,e,t,i,n,o):pR(r,e,p,t,i,n,o);if(!(t&xd)){var P=v&&Ze.call(r,"__wrapped__"),C=m&&Ze.call(e,"__wrapped__");if(P||C){var I=P?r.value():r,A=C?e.value():e;return o||(o=new wt),n(I,A,t,i,o)}}return y?(o||(o=new wt),fR(r,e,t,i,n,o)):!1}function uR(r){if(!bb(r)||bR(r))return!1;var e=vb(r)?RE:gE;return e.test(dr(r))}function cR(r){return as(r)&&yb(r.length)&&!!H[ds(r)]}function mR(r){if(!PR(r))return ME(r);var e=[];for(var t in Object(r))Ze.call(r,t)&&t!="constructor"&&e.push(t);return e}function gb(r,e,t,i,n,o){var a=t&xd,c=r.length,p=e.length;if(c!=p&&!(a&&p>c))return!1;var f=o.get(r);if(f&&o.get(e))return f==e;var v=-1,m=!0,y=t&Yy?new wd:void 0;for(o.set(r,e),o.set(e,r);++v<c;){var P=r[v],C=e[v];if(i)var I=a?i(C,P,v,e,r,o):i(P,C,v,r,e,o);if(I!==void 0){if(I)continue;m=!1;break}if(y){if(!PE(e,function(A,U){if(!CE(y,U)&&(P===A||n(P,A,t,i,o)))return y.push(U)})){m=!1;break}}else if(!(P===C||n(P,C,t,i,o))){m=!1;break}}return o.delete(r),o.delete(e),m}function pR(r,e,t,i,n,o,a){switch(t){case Cd:if(r.byteLength!=e.byteLength||r.byteOffset!=e.byteOffset)return!1;r=r.buffer,e=e.buffer;case ab:return!(r.byteLength!=e.byteLength||!o(new Jy(r),new Jy(e)));case eb:case tb:case nb:return hb(+r,+e);case rb:return r.name==e.name&&r.message==e.message;case sb:case ob:return r==e+"";case kd:var c=wE;case Sd:var p=i&xd;if(c||(c=xE),r.size!=e.size&&!p)return!1;var f=a.get(r);if(f)return f==e;i|=Yy,a.set(r,e);var v=gb(c(r),c(e),i,n,o,a);return a.delete(r),v;case iE:if(Wc)return Wc.call(r)==Wc.call(e)}return!1}function fR(r,e,t,i,n,o){var a=t&xd,c=Zy(r),p=c.length,f=Zy(e),v=f.length;if(p!=v&&!a)return!1;for(var m=p;m--;){var y=c[m];if(!(a?y in e:Ze.call(e,y)))return!1}var P=o.get(r);if(P&&o.get(e))return P==e;var C=!0;o.set(r,e),o.set(e,r);for(var I=a;++m<p;){y=c[m];var A=r[y],U=e[y];if(i)var le=a?i(U,A,y,e,r,o):i(A,U,y,r,e,o);if(!(le===void 0?A===U||n(A,U,t,i,o):le)){C=!1;break}I||(I=y=="constructor")}if(C&&!I){var Sn=r.constructor,aa=e.constructor;Sn!=aa&&"constructor"in r&&"constructor"in e&&!(typeof Sn=="function"&&Sn instanceof Sn&&typeof aa=="function"&&aa instanceof aa)&&(C=!1)}return o.delete(r),o.delete(e),C}function Zy(r){return dR(r,wR,hR)}function Rd(r,e){var t=r.__data__;return yR(e)?t[typeof e=="string"?"string":"hash"]:t.map}function di(r,e){var t=IE(r,e);return uR(t)?t:void 0}function gR(r){var e=Ze.call(r,sr),t=r[sr];try{r[sr]=void 0;var i=!0}catch{}var n=mb.call(r);return i&&(e?r[sr]=t:delete r[sr]),n}var hR=$y?function(r){return r==null?[]:(r=Object(r),yE($y(r),function(e){return pb.call(r,e)}))}:AR,It=ds;(Vc&&It(new Vc(new ArrayBuffer(1)))!=Cd||ss&&It(new ss)!=kd||Jc&&It(Jc.resolve())!=Hy||$c&&It(new $c)!=Sd||Kc&&It(new Kc)!=zc)&&(It=function(r){var e=ds(r),t=e==oi?r.constructor:void 0,i=t?dr(t):"";if(i)switch(i){case UE:return Cd;case LE:return kd;case BE:return Hy;case DE:return Sd;case _E:return zc}return e});function vR(r,e){return e=e??Qy,!!e&&(typeof r=="number"||hE.test(r))&&r>-1&&r%1==0&&r<e}function yR(r){var e=typeof r;return e=="string"||e=="number"||e=="symbol"||e=="boolean"?r!=="__proto__":r===null}function bR(r){return!!zy&&zy in r}function PR(r){var e=r&&r.constructor,t=typeof e=="function"&&e.prototype||Td;return r===t}function kR(r){return mb.call(r)}function dr(r){if(r!=null){try{return cb.call(r)}catch{}try{return r+""}catch{}}return""}function hb(r,e){return r===e||r!==r&&e!==e}var SR=Xy(function(){return arguments}())?Xy:function(r){return as(r)&&Ze.call(r,"callee")&&!pb.call(r,"callee")},Ad=Array.isArray;function CR(r){return r!=null&&yb(r.length)&&!vb(r)}var Xc=OE||xR;function IR(r,e){return fb(r,e)}function vb(r){if(!bb(r))return!1;var e=ds(r);return e==ib||e==eE||e==QT||e==rE}function yb(r){return typeof r=="number"&&r>-1&&r%1==0&&r<=Qy}function bb(r){var e=typeof r;return r!=null&&(e=="object"||e=="function")}function as(r){return r!=null&&typeof r=="object"}var Pb=Gy?SE(Gy):cR;function wR(r){return CR(r)?aR(r):mR(r)}function AR(){return[]}function xR(){return!1}ai.exports=IR});var jP=h(Jd=>{"use strict";Jd.byteLength=XR;Jd.toByteArray=YR;Jd.fromByteArray=tF;var Ye=[],Be=[],KR=typeof Uint8Array<"u"?Uint8Array:Array,Cm="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(yr=0,qP=Cm.length;yr<qP;++yr)Ye[yr]=Cm[yr],Be[Cm.charCodeAt(yr)]=yr;var yr,qP;Be["-".charCodeAt(0)]=62;Be["_".charCodeAt(0)]=63;function HP(r){var e=r.length;if(e%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var t=r.indexOf("=");t===-1&&(t=e);var i=t===e?0:4-t%4;return[t,i]}function XR(r){var e=HP(r),t=e[0],i=e[1];return(t+i)*3/4-i}function ZR(r,e,t){return(e+t)*3/4-t}function YR(r){var e,t=HP(r),i=t[0],n=t[1],o=new KR(ZR(r,i,n)),a=0,c=n>0?i-4:i,p;for(p=0;p<c;p+=4)e=Be[r.charCodeAt(p)]<<18|Be[r.charCodeAt(p+1)]<<12|Be[r.charCodeAt(p+2)]<<6|Be[r.charCodeAt(p+3)],o[a++]=e>>16&255,o[a++]=e>>8&255,o[a++]=e&255;return n===2&&(e=Be[r.charCodeAt(p)]<<2|Be[r.charCodeAt(p+1)]>>4,o[a++]=e&255),n===1&&(e=Be[r.charCodeAt(p)]<<10|Be[r.charCodeAt(p+1)]<<4|Be[r.charCodeAt(p+2)]>>2,o[a++]=e>>8&255,o[a++]=e&255),o}function QR(r){return Ye[r>>18&63]+Ye[r>>12&63]+Ye[r>>6&63]+Ye[r&63]}function eF(r,e,t){for(var i,n=[],o=e;o<t;o+=3)i=(r[o]<<16&16711680)+(r[o+1]<<8&65280)+(r[o+2]&255),n.push(QR(i));return n.join("")}function tF(r){for(var e,t=r.length,i=t%3,n=[],o=16383,a=0,c=t-i;a<c;a+=o)n.push(eF(r,a,a+o>c?c:a+o));return i===1?(e=r[t-1],n.push(Ye[e>>2]+Ye[e<<4&63]+"==")):i===2&&(e=(r[t-2]<<8)+r[t-1],n.push(Ye[e>>10]+Ye[e>>4&63]+Ye[e<<2&63]+"=")),n.join("")}});var iH=Cn(wv(),1);function g(r,e){if(r==null)throw Error(e??"Expected nonnullish value.")}function Zt(r,e){if(!r)throw Error(e)}var ee;(function(r){r.COMMENT="t1_",r.ACCOUNT="t2_",r.LINK="t3_",r.MESSAGE="t4_",r.SUBREDDIT="t5_",r.AWARD="t6_"})(ee||(ee={}));function ht(r){return r.startsWith(ee.COMMENT)}function Za(r){return r.startsWith(ee.ACCOUNT)}function Yt(r){return r.startsWith(ee.LINK)}function Av(r){return r.startsWith(ee.MESSAGE)}function xv(r){return r.startsWith(ee.SUBREDDIT)}function Tv(r){return r.startsWith(ee.AWARD)}function h0(r){Zt(ht(r),`Expected comment id to start with ${ee.COMMENT}, got ${r}}`)}function v0(r){Zt(Za(r),`Expected account id to start with ${ee.ACCOUNT}, got ${r}}`)}function y0(r){Zt(Yt(r),`Expected link id to start with ${ee.LINK}, got ${r}}`)}function b0(r){Zt(Av(r),`Expected message id to start with ${ee.MESSAGE}, got ${r}}`)}function P0(r){Zt(xv(r),`Expected subreddit id to start with ${ee.SUBREDDIT}, got ${r}}`)}function k0(r){Zt(Tv(r),`Expected award id to start with ${ee.AWARD}, got ${r}}`)}function Nr(r){return h0(r),r}function te(r){return v0(r),r}function pe(r){return y0(r),r}function S0(r){return b0(r),r}function Te(r){return P0(r),r}function C0(r){return k0(r),r}function fe(r){if(ht(r))return Nr(r);if(Za(r))return te(r);if(Yt(r))return pe(r);if(Av(r))return S0(r);if(xv(r))return Te(r);if(Tv(r))return C0(r);throw new Error(`Expected thing id to start with ${Object.values(ee).join(", ")} got ${r}}`)}function mc(r){return ht(r)}import*as S from"@devvit/protos";var Ya=class{constructor(e){}};var pc=(t=>(t.Installation="installation",t.App="app",t))(pc||{});function Qt(r,e=new Set){for(let t of r){if(t.type==="group"){Qt(t.fields,e);continue}let i=t.name;if(e.has(i))throw new Error(`Duplicate field name: ${i}`);e.add(i)}I0(r)}function I0(r){for(let e of r)if(e.type==="string"&&e.isSecret&&e.scope!=="app")throw`Invalid setting: only app settings can be secrets. Add "scope: SettingScope.App" to field "${e.name}"`}var vt=Object.freeze({INTERVAL:0,FORM:1,STATE:2,CHANNEL:3});var jM=["activity","add-emoji","add","add-media","add-to-feed","admin","align-center","align-left","align-right","all","appearance","approve","archived","aspect-ratio","aspect-rectangle","attach","audio","author","avatar-style","award","back","ban","best","binoculars","block","blockchain","bold","bot","boost","bounce","brand-awareness","browse","browser","cake","calendar","camera","caret-down","caret-left","caret-right","caret-up","chat","chat-group","chat-new","checkbox-dismiss","checkbox","checkmark","chrome","clear","close","closed-captioning","code-block","code-inline","coins-color-old","coins-color","coins","collapse-left","collapse-right","collection","comment","comments","community","contest","controversial","crop","crosspost","crowd-control","custom-feed","customize","day","delete","discover","dismiss-all","distinguish","down-arrow","down","download","downvote","downvotes","drag","drugs","duplicate","edit","effect","embed","emoji","end-live-chat","error","expand-left","expand-right","external","feed-video","filter","format","forward","gif-post","heart","help","hide","history","home","hot","ignore-reports","image-post","inbox","info","invite","italic","join","joined","jump-down","jump-up","karma","keyboard","kick","language","leave","left","link","link-post","list-bulleted","list-numbered","live-chat","live","load","location","lock","logout","loop","mark-read","mask","media-gallery","meme","menu","message","mic","mic-mute","mod","mod-mail","mod-mode","mod-mute","mod-overflow","mod-queue","mod-unmute","music","new","night","notification","notification-frequent","notification-off","nsfw","nsfw-language","nsfw-violence","original","overflow-caret","overflow-horizontal","overflow-vertical","pause","payment","peace","pending-posts","phone","pin","planet","play","poll-post","popular","posts","powerup-color-outline","powerup-fill-color","powerup","predictions","premium","privacy","profile","qa","qr-code","quarantined","quote","r-slash","radio-button","raise-hand","random","ratings-everyone","ratings-mature","ratings-nsfw","ratings-violence","refresh","remove","reply","report","reverse","right","rising","rotate","rotate-image","rpan","rules","safari","save","saved","search","self","send","settings","share-android","share","share-ios","show","side-menu","skipback10","skipforward10","sort-az","sort","sort-price","sort-za","spam","spoiler","sponsored","star","statistics","status-live","sticker","strikethrough","subtract","superscript","swap-camera","swipe-back","swipe-down","swipe","swipe-up","table","tag","tap","telescope","text","text-post","text-size","toggle","tools","top","topic-activism","topic-addictionsupport","topic-advice","topic-animals","topic-anime","topic-art","topic-beauty","topic-business","topic-careers","topic-cars","topic-celebrity","topic-craftsdiy","topic-crypto","topic-culture","topic-diy","topic-entertainment","topic-ethics","topic-family","topic-fashion","topic","topic-fitness","topic-food","topic-funny","topic-gender","topic-health","topic-help","topic-history","topic-hobbies","topic-homegarden","topic-internet","topic-law","topic-learning","topic-lifestyle","topic-marketplace","topic-mature","topic-mensfashion","topic-menshealth","topic-meta","topic-military","topic-movies","topic-music","topic-news","topic-other","topic-outdoors","topic-pets","topic-photography","topic-places","topic-podcasts","topic-politics","topic-programming","topic-reading","topic-religion","topic-science","topic-sexorientation","topic-sports","topic-style","topic-tabletop","topic-technology","topic-television","topic-traumasupport","topic-travel","topic-videogaming","topic-womensfashion","topic-womenshealth","translate","trim","u-slash","unban","undo","unheart","unlock","unmod","unpin","unverified","up-arrow","up","upload","upvote","upvotes","user","user-note","users","vault","verified","video-camera","video-feed","video-live-1","video-live-fill-1","video-live","video-post","video-thread","video-transcription","view-card","view-classic","view-compact","view-grid","views","volume","volume-mute","wallet","warning","wiki-ban","wiki","wiki-unban","world"];import{AppSettingsDefinition as _0,GetFieldsResponse as N0}from"@devvit/protos";import{FormField as er,FormFieldType as Ee}from"@devvit/protos";function it(r){return r.map(e=>{switch(e.type){case"string":return w0(e);case"image":return A0(e);case"paragraph":return x0(e);case"number":return T0(e);case"select":return E0(e);case"boolean":return R0(e);case"group":return F0(e);default:throw new Error("Unknown field type.")}})}function w0(r){return er.fromPartial({defaultValue:{fieldType:Ee.STRING,stringValue:r.defaultValue},disabled:r.disabled,fieldConfig:{stringConfig:{placeholder:r.placeholder}},fieldId:r.name,fieldType:Ee.STRING,helpText:r.helpText,label:r.label,required:r.required,isSecret:r.isSecret})}function A0(r){return er.fromPartial({disabled:r.disabled,fieldId:r.name,fieldType:Ee.IMAGE,helpText:r.helpText,label:r.label,required:r.required})}function x0(r){return er.fromPartial({defaultValue:{fieldType:Ee.PARAGRAPH,stringValue:r.defaultValue},disabled:r.disabled,fieldConfig:{paragraphConfig:{lineHeight:r.lineHeight,placeholder:r.placeholder}},fieldId:r.name,fieldType:Ee.PARAGRAPH,helpText:r.helpText,label:r.label,required:r.required})}function T0(r){return er.fromPartial({defaultValue:{fieldType:Ee.NUMBER,numberValue:r.defaultValue},disabled:r.disabled,fieldConfig:{numberConfig:{}},fieldId:r.name,fieldType:Ee.NUMBER,helpText:r.helpText,label:r.label,required:r.required})}function E0(r){return er.fromPartial({defaultValue:{fieldType:Ee.SELECTION,selectionValue:{values:r.defaultValue}},disabled:r.disabled,fieldConfig:{selectionConfig:{choices:r.options,multiSelect:r.multiSelect}},fieldId:r.name,fieldType:Ee.SELECTION,helpText:r.helpText,label:r.label,required:r.required})}function R0(r){return er.fromPartial({defaultValue:{fieldType:Ee.BOOLEAN,boolValue:r.defaultValue},disabled:r.disabled,fieldId:r.name,fieldType:Ee.BOOLEAN,helpText:r.helpText,label:r.label})}function F0(r){return er.fromPartial({fieldType:Ee.GROUP,fieldConfig:{groupConfig:{fields:it(r.fields)}},label:r.label,helpText:r.helpText})}function M(r,e){u.prototype[r]=e}import{ValidateFormResponse as D0}from"@devvit/protos";import{RealtimeSubscriptionStatus as Ev}from"@devvit/protos";var L=Object.freeze({Actor:"devvit-actor",App:"devvit-app",AppUser:"devvit-app-user",AppViewerAuthToken:"devvit-app-viewer-authorization",Caller:"devvit-caller",CallerPortID:"devvit-caller-port-id",Canary:"devvit-canary",DebugRenderXML:"devvit-debug-render-xml",GQLHost:"devvit-gql-host",Installation:"devvit-installation",ModPermissions:"devvit-mod-permissions",R2Auth:"devvit-sec-authorization",R2Host:"devvit-r2-host",RemoteHostname:"devvit-remote-hostname",SettingsUri:"devvit-sec-settings-uri",StreamID:"devvit-stream-id",Subreddit:"devvit-subreddit",TraceID:"devvit-trace-id",User:"devvit-user",Version:"devvit-version",Language:"devvit-accept-language",Timezone:"devvit-accept-timezone"});function Rv(r){function e(t){let i=r.currentHookIndex,n=r.getCurrentComponentState(),o=r.getPreviousComponentState(),a=r.metadata[L.App]?.values[0];g(a,"useChannel - app is missing from Context");let c=r.metadata[L.Installation]?.values[0];g(c,"useChannel - installation is missing from Context");async function p(I){let A=n[i].channel;if(n[i].active)if(n[i].connected)await r.realtime.send(A,I);else throw Error(`Failed to send to channel '${A}'; it is active but not yet connected`);else throw Error(`Cannot send a message over inactive channel: ${A}`)}function f(){if(!n[i].active){let I=n[i].channel;n[i].active=!0,r.addRealtimeChannel(I)}}function v(){if(n[i].active){let I=n[i].channel;n[i].active=!1,r.removeRealtimeChannel(I)}}function m(I){return async()=>{let A;switch(I.status){case Ev.REALTIME_SUBSCRIBED:n[i].connected=!0,A=t.onSubscribed?.();break;case Ev.REALTIME_UNSUBSCRIBED:n[i].connected=!1,A=t.onUnsubscribed?.();break;default:A=t.onMessage(I.event?.data??{});break}await A}}let y={channel:`${a}:${c}:${t.name}`,active:!1,connected:!1,preventCallback:!1,type:vt.CHANNEL};i in n?y=n[i]:i in o&&(y=o[i]);let P=r.realtimeEvent;r.isInitialRender?y.active=!1:P&&y.active&&P.event.channel===y.channel&&(y.preventCallback||r.runHook(m(P)),r.rerenderIn(0)),n[i]=y,r.currentHookIndex++;let C=0;return y.active&&y.connected?C=2:y.active&&!y.connected?C=1:!y.active&&y.connected?C=3:!y.active&&!y.connected&&(C=4),{subscribe:f,unsubscribe:v,send:p,status:C}}return e}import{FormFieldType as qr}from"@devvit/protos";function fc(r){switch(r.fieldType){case qr.STRING:return r.stringValue;case qr.IMAGE:return r.stringValue;case qr.PARAGRAPH:return r.stringValue;case qr.NUMBER:return r.numberValue;case qr.BOOLEAN:return r.boolValue;case qr.SELECTION:return r.selectionValue?.values??[];default:return}}function yt(r){return Object.keys(r).reduce((e,t)=>(e[t]=fc(r[t]),e),{})}function Fv(r){function e(t,i){let n=r.currentHookIndex,o=r.getCurrentComponentKey(),a=r.getCurrentComponentState(),c=r.getPreviousComponentState(),p=`form.hook.${o}.${n}`,f={formKey:p,preventSubmit:!1,type:vt.FORM};n in a?f=a[n]:n in c&&(f=c[n]),a[n]=f,r.forms.set(p,t);let v=r.formSubmittedEvent;return v&&!f.preventSubmit&&v.formId===p&&r.runHook(async()=>{let m=i(yt(v.results));m&&m instanceof Promise&&await m,r.rerenderIn(0)}),a[n].preventSubmit=!1,r.currentHookIndex++,p}return e}function Ov(r){function e(t,i){let n=r.currentHookIndex,o=r.getCurrentComponentState(),a=r.getPreviousComponentState(),c=100,p=Math.max(c,i),f={lastRun:void 0,running:!1,preventCallback:!1,type:vt.INTERVAL};n in o?f=o[n]:n in a&&(f=a[n]);function v(){i<c&&console.error(`useInterval delay must be at least ${c}ms. Your interval of ${i}ms was automatically extended.`);for(let[y,P]of Object.entries(o))if(y!==n.toString()&&P?.type===vt.INTERVAL&&P?.running)throw new Error("Only one useInterval hook may be running at a time");o[n]={running:!0,lastRun:o[n]?.lastRun??Date.now(),preventCallback:!1,type:vt.INTERVAL},r.rerenderIn(p)}function m(){o[n].running=!1,o[n].lastRun=void 0,o[n].preventCallback=!1}return r.isEffectRender&&f.running&&(f.preventCallback||(f.lastRun===void 0||f.lastRun+p<Date.now())&&r.runHook(async()=>{let y=t();y&&y instanceof Promise&&await y,f.lastRun=Date.now()}),r.rerenderIn(p)),f.preventCallback=!1,o[n]=f,r.currentHookIndex++,{start:v,stop:m}}return e}function Mv(r){function e(t){let i=r.currentHookIndex,n=r.getCurrentComponentState(),o=r.getPreviousComponentState();if(i in n)return r.currentHookIndex++,[n[i],a];if(r.isInitialRender||!(i in o)){let c=t instanceof Function?t():t;if(c instanceof Promise)throw(async()=>{n[i]=await c,r.currentHookIndex=0})();n[i]=c}else n[i]=o[i];function a(c){if(r.isRendering)throw new Error("Cannot call setState while rendering.");n[i]=c instanceof Function?c(n[i]):c}return r.currentHookIndex++,[n[i],a]}return e}var Hr,jr,Qa,Uv,ed,Lv,Wr=class{constructor(e,t){l(this,Qa);l(this,ed);l(this,Hr,void 0);l(this,jr,void 0);d(this,Hr,e),d(this,jr,t)}async getURL(e){return typeof e=="string"?b(this,Qa,Uv).call(this,e):b(this,ed,Lv).call(this,e)}};Hr=new WeakMap,jr=new WeakMap,Qa=new WeakSet,Uv=async function(e){let t=globalThis.devvit?.config?.assets?.[e];if(t)return t;let i=await s(this,jr).call(this).GetAssetURL({path:e},s(this,Hr));if(!i.found)throw new Error(`Could not load the URL for asset ${e}`);return i.url},ed=new WeakSet,Lv=async function(e){let t={},i=[],n=globalThis.devvit?.config?.assets;if(n)for(let a of e)n[a]?t[a]=n[a]:i.push(a);else i=e;if(i.length===0)return t;let o=await s(this,jr).call(this).GetAssetURLs({paths:i},s(this,Hr));i=[];for(let[a,c]of Object.entries(o.urls))c.found?t[a]=c.paths[0]:i.push(a);if(i.length>0)throw new Error(`The following assets were missing from the assets list: ${i.join(", ")}`);return t};var bt,Gr=class{constructor(e){l(this,bt,void 0);d(this,bt,e)}async get(e){let{messages:t}=await u.kvStorePlugin.Get({keys:[e]},s(this,bt));try{if(t[e])return JSON.parse(t[e])}catch{return}}async put(e,t){let i={};i[e]=JSON.stringify(t),await u.kvStorePlugin.Put({messages:i},s(this,bt))}async delete(e){await u.kvStorePlugin.Del({keys:[e]},s(this,bt))}async list(){let{keys:e}=await u.kvStorePlugin.List({filter:"*"},s(this,bt));return e}};bt=new WeakMap;var zn,zr=class{constructor(e){l(this,zn,void 0);d(this,zn,e)}async upload(e){let t=await u.mediaPlugin.Upload(e,s(this,zn));if(!t.mediaId)throw new Error("unable to get mediaId via uploads");return Promise.resolve({mediaId:t.mediaId,mediaUrl:t.mediaUrl})}};zn=new WeakMap;var Vn,Vr=class{constructor(e){l(this,Vn,void 0);d(this,Vn,e)}async add(e){await u.modLogPlugin.Add(e,s(this,Vn))}};Vn=new WeakMap;var k,Jn,$r=class{constructor(e){l(this,k,void 0);l(this,Jn,void 0);d(this,k,e),d(this,Jn,new rd(e))}get modMail(){return s(this,Jn)}getSubredditById(e){return ge.getById(fe(e),s(this,k))}getSubredditByName(e){return ge.getByName(e,s(this,k))}addSubredditRemovalReason(e,t){return ge.addRemovalReason(e,t.title,t.message,s(this,k))}getSubredditRemovalReasons(e){return ge.getRemovalReasons(e,s(this,k))}getCurrentSubreddit(){return ge.getFromMetadata(s(this,k))}getPostById(e){return V.getById(fe(e),s(this,k))}submitPost(e){return V.submit(e,s(this,k))}crosspost(e){return V.crosspost(e,s(this,k))}getUserById(e){return w.getById(fe(e),s(this,k))}getCollectionById(e){return Jr.getCollectionById({collectionId:e},s(this,k))}createCollection(e){return Jr.create(e,s(this,k))}getCollectionsForSubreddit(e){return Jr.getCollectionsForSubreddit({subredditId:e},s(this,k))}getUserByUsername(e){return w.getByUsername(e,s(this,k))}getCurrentUser(){return w.getFromMetadata(L.User,s(this,k))}getAppUser(){return w.getFromMetadata(L.AppUser,s(this,k))}getSnoovatarUrl(e){return w.getSnoovatarUrl(e,s(this,k))}getCommentById(e){return X.getById(fe(e),s(this,k))}getComments(e){return X.getComments(e,s(this,k))}getCommentsByUser(e){return X.getCommentsByUser(e,s(this,k))}submitComment(e){return X.submit({...e,id:fe(e.id)},s(this,k))}getControversialPosts(e){return V.getControversialPosts(e,s(this,k))}getTopPosts(e){return V.getTopPosts(e,s(this,k))}getHotPosts(e){return V.getHotPosts(e,s(this,k))}getNewPosts(e){return V.getNewPosts(e,s(this,k))}getRisingPosts(e){return V.getRisingPosts(e,s(this,k))}getPostsByUser(e){return V.getPostsByUser(e,s(this,k))}getCommentsAndPostsByUser(e){return w.getOverview(e,s(this,k))}getModerationLog(e){return td(e,s(this,k))}getApprovedUsers(e){return w.getSubredditUsersByType({type:"contributors",...e},s(this,k))}approveUser(e,t){return w.createRelationship({username:e,subredditName:t,type:"contributor"},s(this,k))}removeUser(e,t){return w.removeRelationship({username:e,subredditName:t,type:"contributor"},s(this,k))}getWikiContributors(e){return w.getSubredditUsersByType({type:"wikicontributors",...e},s(this,k))}addWikiContributor(e,t){return w.createRelationship({username:e,subredditName:t,type:"wikicontributor"},s(this,k))}removeWikiContributor(e,t){return w.removeRelationship({username:e,subredditName:t,type:"wikicontributor"},s(this,k))}getBannedUsers(e){return w.getSubredditUsersByType({type:"banned",...e},s(this,k))}banUser(e){return w.createRelationship({username:e.username,subredditName:e.subredditName,type:"banned",banReason:e.reason,banMessage:e.message,note:e.note,duration:e.duration},s(this,k))}unbanUser(e,t){return w.removeRelationship({username:e,subredditName:t,type:"banned"},s(this,k))}getBannedWikiContributors(e){return w.getSubredditUsersByType({type:"wikibanned",...e},s(this,k))}banWikiContributor(e){return w.createRelationship({...e,type:"wikibanned"},s(this,k))}unbanWikiContributor(e,t){return w.removeRelationship({username:e,subredditName:t,type:"wikibanned"},s(this,k))}getModerators(e){return w.getSubredditUsersByType({type:"moderators",...e},s(this,k))}inviteModerator(e){return w.createRelationship({type:"moderator_invite",subredditName:e.subredditName,username:e.subredditName,permissions:e.permissions??[]},s(this,k))}revokeModeratorInvite(e,t){return w.removeRelationship({username:e,subredditName:t,type:"moderator_invite"},s(this,k))}removeModerator(e,t){return w.removeRelationship({type:"moderator",subredditName:t,username:e},s(this,k))}setModeratorPermissions(e,t,i){return w.setModeratorPermissions(e,t,i,s(this,k))}getMutedUsers(e){return w.getSubredditUsersByType({type:"muted",...e},s(this,k))}muteUser(e){return w.createRelationship({...e,type:"muted"},s(this,k))}unmuteUser(e,t){return w.removeRelationship({username:e,subredditName:t,type:"muted"},s(this,k))}getModNotes(e){return Re.get(e,s(this,k))}deleteModNote(e){return Re.delete(e,s(this,k))}addModNote(e){let t={...e,redditId:fe(e.redditId)};return Re.add(t,s(this,k))}addRemovalNote(e){return Re.addRemovalNote(e,s(this,k))}async sendPrivateMessage(e){return tr.send(e,s(this,k))}async sendPrivateMessageAsSubreddit(e){return tr.sendAsSubreddit(e,s(this,k))}async approve(e){if(ht(e))return X.approve(e,s(this,k));if(Yt(e))return V.approve(e,s(this,k));throw new Error("id must start with either t1_ or t3_")}async remove(e,t){if(ht(e))return X.remove(e,t,s(this,k));if(Yt(e))return V.remove(e,t,s(this,k));throw new Error("id must start with either t1_ or t3_")}async getPostFlairTemplates(e){return oe.getPostFlairTemplates(e,s(this,k))}async getUserFlairTemplates(e){return oe.getUserFlairTemplates(e,s(this,k))}async createPostFlairTemplate(e){return oe.createPostFlairTemplate(e,s(this,k))}async createUserFlairTemplate(e){return oe.createUserFlairTemplate(e,s(this,k))}async editFlairTemplate(e){return oe.editFlairTemplate(e,s(this,k))}async deleteFlairTemplate(e,t){return oe.deleteFlairTemplate(e,t,s(this,k))}async setUserFlair(e){return Fe.setUserFlair(e,s(this,k))}async removeUserFlair(e,t){return Fe.removeUserFlair(e,t,s(this,k))}async setPostFlair(e){return Fe.setPostFlair(e,s(this,k))}async removePostFlair(e,t){return Fe.removePostFlair(e,pe(t),s(this,k))}async getWidgets(e){return re.getWidgets(e,s(this,k))}async deleteWidget(e,t){return re.delete(e,t,s(this,k))}async addWidget(e){return re.add(e,s(this,k))}async reorderWidgets(e,t){return re.reorder(e,t,s(this,k))}async getWikiPage(e,t){return he.getPage(e,t,s(this,k))}async getWikiPages(e){return he.getPages(e,s(this,k))}async createWikiPage(e){return he.createPage(e,s(this,k))}async updateWikiPage(e){return he.updatePage(e,s(this,k))}getWikiPageRevisions(e){return he.getPageRevisions(e,s(this,k))}async revertWikiPage(e,t,i){return he.revertPage(e,t,i,s(this,k))}async getWikiPageSettings(e,t){return he.getPageSettings(e,t,s(this,k))}async updateWikiPageSettings(e){return he.updatePageSettings(e,s(this,k))}async addEditorToWikiPage(e,t,i){return he.addEditor(e,t,i,s(this,k))}async removeEditorFromWikiPage(e,t,i){return he.removeEditor(e,t,i,s(this,k))}getMessages(e){return tr.getMessages(e,s(this,k))}markAllMessagesAsRead(){return tr.markAllAsRead(s(this,k))}report(e,t){return u.redditAPIPlugins.LinksAndComments.Report({reason:t.reason,thingId:e.id,srName:e.subredditName,usernames:e.authorName},s(this,k))}getModQueue(e){return ge.aboutLocation({...e,location:"modqueue"},s(this,k))}getReports(e){return ge.aboutLocation({...e,location:"reports"},s(this,k))}getSpam(e){return ge.aboutLocation({...e,location:"spam"},s(this,k))}getUnmoderated(e){return ge.aboutLocation({...e,location:"unmoderated"},s(this,k))}getEdited(e){return ge.aboutLocation({...e,location:"edited"},s(this,k))}getVaultByAddress(e){return Dv(e,s(this,k))}getVaultByUserId(e){return _v(fe(e),s(this,k))}};k=new WeakMap,Jn=new WeakMap;import{RedisKeyScope as gc}from"@devvit/protos";var E,R,F,hc=class{constructor(e,t,i){l(this,E,void 0);l(this,R,void 0);l(this,F,void 0);d(this,E,e),d(this,R,t),d(this,F,i)}async get(e){return await s(this,E).Get({key:e,transactionId:s(this,R)},s(this,F)),this}async multi(){await s(this,E).Multi(s(this,R),s(this,F))}async set(e,t,i){let n;return i?.expiration&&(n=Math.floor((i.expiration.getTime()-Date.now())/1e3),n<1&&(n=1)),await s(this,E).Set({key:e,value:t,nx:i?.nx===!0,xx:i?.xx===!0,expiration:n||0,transactionId:s(this,R)},s(this,F)),this}async del(...e){return await s(this,E).Del({keys:e,transactionId:s(this,R)},s(this,F)),this}async type(e){return await s(this,E).Type({key:e,transactionId:s(this,R)},s(this,F)),this}async exec(){let e=await s(this,E).Exec(s(this,R),s(this,F)),t=[];for(let i of e.response)i.members?t.push(i.members):i.nil!==void 0?t.push(null):i.num!==void 0?t.push(i.num):i.values!==void 0?t.push(i.values.values):i.str!==void 0&&t.push(i.str);return t}async discard(){await s(this,E).Discard(s(this,R),s(this,F))}async watch(...e){return await s(this,E).Watch({keys:e,transactionId:s(this,R)},s(this,F)),this}async unwatch(){return await s(this,E).Unwatch(s(this,R),s(this,F)),this}async getRange(e,t,i){return await s(this,E).GetRange({key:e,start:t,end:i,transactionId:s(this,R)},s(this,F)),this}async setRange(e,t,i){return await s(this,E).SetRange({key:e,offset:t,value:i,transactionId:s(this,R)},s(this,F)),this}async strlen(e){return await s(this,E).Strlen({key:e,transactionId:s(this,R)},s(this,F)),this}async mget(e){return await s(this,E).MGet({keys:e,transactionId:s(this,R)},s(this,F)),this}async mset(e){let t=Object.entries(e).map(([i,n])=>({key:i,value:n}));return await s(this,E).MSet({kv:t,transactionId:s(this,R)},s(this,F)),this}async incrBy(e,t){return await s(this,E).IncrBy({key:e,value:t,transactionId:s(this,R)},s(this,F)),this}async expire(e,t){return await s(this,E).Expire({key:e,seconds:t,transactionId:s(this,R)},s(this,F)),this}async expireTime(e){return await s(this,E).ExpireTime({key:e,transactionId:s(this,R)},s(this,F)),this}async zAdd(e,...t){return await s(this,E).ZAdd({key:e,members:t,transactionId:s(this,R)},s(this,F)),this}async zScore(e,t){return await s(this,E).ZScore({key:{key:e,transactionId:s(this,R)},member:t},s(this,F)),this}async zRank(e,t){return await s(this,E).ZRank({key:{key:e,transactionId:s(this,R)},member:t},s(this,F)),this}async zIncrBy(e,t,i){return await s(this,E).ZIncrBy({key:e,member:t,value:i,transactionId:s(this,R)},s(this,F)),this}async zScan(e,t,i,n){let o={key:e,cursor:t,pattern:i,count:n,transactionId:s(this,R)};return await s(this,E).ZScan(o,s(this,F)),this}async zCard(e){return await s(this,E).ZCard({key:e,transactionId:s(this,R)},s(this,F)),this}async zRange(e,t,i,n){let o={rev:!1,byLex:!1,byScore:!1,offset:0,count:1e3};return n?.reverse&&(o.rev=n.reverse),n?.by==="lex"?o.byLex=!0:n?.by==="score"&&(o.byScore=!0),await s(this,E).ZRange({key:{key:e,transactionId:s(this,R)},start:t+"",stop:i+"",...o},s(this,F)),this}async zRem(e,t){return await s(this,E).ZRem({key:{key:e,transactionId:s(this,R)},members:t},s(this,F)),this}async zRemRangeByLex(e,t,i){return await s(this,E).ZRemRangeByLex({key:{key:e,transactionId:s(this,R)},min:t,max:i},s(this,F)),this}async zRemRangeByRank(e,t,i){return await s(this,E).ZRemRangeByRank({key:{key:e,transactionId:s(this,R)},start:t,stop:i},s(this,F)),this}async zRemRangeByScore(e,t,i){return await s(this,E).ZRemRangeByScore({key:{key:e,transactionId:s(this,R)},min:t,max:i},s(this,F)),this}async hgetall(e){return await s(this,E).HGetAll({key:e,transactionId:s(this,R)},s(this,F)),this}async hget(e,t){return await s(this,E).HGet({key:e,field:t,transactionId:s(this,R)},s(this,F)),this}async hset(e,t){let i=Object.entries(t).map(([n,o])=>({field:n,value:o}));return await s(this,E).HSet({key:e,fv:i,transactionId:s(this,R)},s(this,F)),this}async hincrby(e,t,i){return await s(this,E).HIncrBy({key:e,field:t,value:i,transactionId:s(this,R)},s(this,F)),this}async hdel(e,t){return await s(this,E).HDel({key:e,fields:t,transactionId:s(this,R)},s(this,F)),this}async hscan(e,t,i,n){let o={key:e,cursor:t,pattern:i,count:n,transactionId:s(this,R)};return await s(this,E).HScan(o,s(this,F)),this}async hkeys(e){return await s(this,E).HKeys({key:e,transactionId:s(this,R)},s(this,F)),this}async hlen(e){return await s(this,E).HLen({key:e,transactionId:s(this,R)},s(this,F)),this}};E=new WeakMap,R=new WeakMap,F=new WeakMap;var O,Kr,vc=class vc{constructor(e,t=void 0,i=gc.INSTALLATION){l(this,O,void 0);l(this,Kr,void 0);d(this,O,e),d(this,Kr,t),this.scope=i,this.global=i===gc.INSTALLATION?new vc(s(this,O),s(this,Kr),gc.GLOBAL):this}get storage(){return s(this,Kr)||u.redisPlugin}async watch(...e){let t=await this.storage.Watch({keys:e},s(this,O));return new hc(this.storage,t,s(this,O))}async get(e){let t=await this.storage.Get({key:e,scope:this.scope},s(this,O));return t!==null?t.value??void 0:t}async set(e,t,i){let n;return i?.expiration&&(n=Math.floor((i.expiration.getTime()-Date.now())/1e3),n<1&&(n=1)),(await this.storage.Set({key:e,value:t,nx:i?.nx===!0&&!i.xx,xx:i?.xx===!0&&!i.nx,expiration:n||0,scope:this.scope},s(this,O))).value}async del(...e){await this.storage.Del({keys:e,scope:this.scope},s(this,O))}async incrBy(e,t){return(await this.storage.IncrBy({key:e,value:t,scope:this.scope},s(this,O))).value}async getRange(e,t,i){let n=await this.storage.GetRange({key:e,start:t,end:i,scope:this.scope},s(this,O));return n!==null?n.value:n}async setRange(e,t,i){return(await this.storage.SetRange({key:e,offset:t,value:i,scope:this.scope},s(this,O))).value}async strlen(e){return(await this.storage.Strlen({key:e,scope:this.scope},s(this,O))).value}async expire(e,t){await this.storage.Expire({key:e,seconds:t,scope:this.scope},s(this,O))}async expireTime(e){return(await this.storage.ExpireTime({key:e,scope:this.scope},s(this,O))).value}async zAdd(e,...t){return(await this.storage.ZAdd({key:e,members:t,scope:this.scope},s(this,O))).value}async zRange(e,t,i,n){let o={rev:!1,byLex:!1,byScore:!1,offset:0,count:1e3};return n?.reverse&&(o.rev=n.reverse),n?.by==="lex"?o.byLex=!0:n?.by==="score"?o.byScore=!0:(o.offset=0,o.count=0),(await this.storage.ZRange({key:{key:e},start:t+"",stop:i+"",...o,scope:this.scope},s(this,O))).members}async zRem(e,t){return(await this.storage.ZRem({key:{key:e},members:t,scope:this.scope},s(this,O))).value}async zRemRangeByLex(e,t,i){return(await this.storage.ZRemRangeByLex({key:{key:e},min:t,max:i,scope:this.scope},s(this,O))).value}async zRemRangeByRank(e,t,i){return(await this.storage.ZRemRangeByRank({key:{key:e},start:t,stop:i,scope:this.scope},s(this,O))).value}async zRemRangeByScore(e,t,i){return(await this.storage.ZRemRangeByScore({key:{key:e},min:t,max:i,scope:this.scope},s(this,O))).value}async zScore(e,t){let i=await this.storage.ZScore({key:{key:e},member:t,scope:this.scope},s(this,O));return i!==null?i.value:i}async zRank(e,t){let i=await this.storage.ZRank({key:{key:e},member:t,scope:this.scope},s(this,O));return i!==null?i.value:i}async zIncrBy(e,t,i){let n=await this.storage.ZIncrBy({key:e,member:t,value:i,scope:this.scope},s(this,O));return n!==null?n.value:n}async mget(e){let t=await this.storage.MGet({keys:e,scope:this.scope},s(this,O));return t!==null?t.values.map(i=>i||null):t}async mset(e){let t=Object.entries(e).map(([i,n])=>({key:i,value:n}));await this.storage.MSet({kv:t,scope:this.scope},s(this,O))}async zCard(e){let t=await this.storage.ZCard({key:e,scope:this.scope},s(this,O));return t!==null?t.value:t}async zScan(e,t,i,n){let o={key:e,cursor:t,pattern:i,count:n,scope:this.scope};return await this.storage.ZScan(o,s(this,O))}async type(e){let t=await this.storage.Type({key:e,scope:this.scope},s(this,O));return t!==null?t.value:t}async hget(e,t){let i=await this.storage.HGet({key:e,field:t,scope:this.scope},s(this,O));return i!==null?i.value??void 0:i}async hset(e,t){let i=Object.entries(t).map(([o,a])=>({field:o,value:a}));return(await this.storage.HSet({key:e,fv:i,scope:this.scope},s(this,O))).value}async hgetall(e){let t=await this.storage.HGetAll({key:e,scope:this.scope},s(this,O));return t!==null?t.fieldValues:t}async hdel(e,t){return(await this.storage.HDel({key:e,fields:t,scope:this.scope},s(this,O))).value}async hscan(e,t,i,n){let o={key:e,cursor:t,pattern:i,count:n,scope:this.scope};return await this.storage.HScan(o,s(this,O))}async hkeys(e){let t=await this.storage.HKeys({key:e,scope:this.scope},s(this,O));return t!==null?t.keys:t}async hincrby(e,t,i){return(await this.storage.HIncrBy({key:e,field:t,value:i,scope:this.scope},s(this,O))).value}async hlen(e){return(await this.storage.HLen({key:e,scope:this.scope})).value}};O=new WeakMap,Kr=new WeakMap;var Xr=vc;var rr,Zr=class{constructor(e){l(this,rr,void 0);d(this,rr,e)}async runJob(e){return(await u.schedulerPlugin.Schedule({action:{type:e.name,data:e.data},cron:"cron"in e?e.cron:void 0,when:"runAt"in e?e.runAt:void 0},s(this,rr))).id}async cancelJob(e){await u.schedulerPlugin.Cancel({id:e},s(this,rr))}async listJobs(){return(await u.schedulerPlugin.List({after:new Date(0),before:new Date(Date.now()+31536e7)},s(this,rr))).actions.map(t=>(g(t.request?.action,"Scheduled job is malformed"),"when"in t.request&&t.request.when!=null?{id:t.id,name:t.request.action.type,runAt:t.request.when,data:t.request.action.data}:{id:t.id,name:t.request.action.type,cron:t.request.cron??"",data:t.request.action}))}};rr=new WeakMap;var $n,Yr=class{constructor(e){l(this,$n,void 0);d(this,$n,e)}async get(e){return(await this.getAll())[e]}async getAll(){let t=await u.settingsPlugin.GetSettings({},s(this,$n));if(!t.installationSettings)throw new Error("Could not get installation settings");if(!t.appSettings)throw new Error("Could not get app settings");return{...Nv(t.installationSettings.settings,u.installationSettings),...Nv(t.appSettings.settings,u.appSettings)}}};$n=new WeakMap;function Nv(r,e){let t=Object.keys(r).reduce((i,n)=>(i[n]=fc(r[n]),i),{});return e&&qv(t,e),t}function qv(r,e){for(let t of e)t.type==="group"?qv(r,t.fields):!(t.name in r)&&"defaultValue"in t&&(r[t.name]=t.defaultValue)}import{EffectType as yc,Form as M0,ToastAppearance as Hv}from"@devvit/protos";var ir,Qr,id=class{constructor(e){l(this,ir,[]);l(this,Qr,void 0);d(this,Qr,e)}showForm(e,t){let i=u.formDefinitions.get(e);if(!i&&s(this,Qr)){let a=s(this,Qr).forms.get(e);a&&(i={form:a,onSubmit:()=>{}})}if(!i)throw new Error("Form does not exist. Make sure you have added it using Devvit.createForm at the root of your app.");let n=i.form instanceof Function?i.form(t??{}):i.form,o=M0.fromPartial({id:e,title:n.title,acceptLabel:n.acceptLabel,cancelLabel:n.cancelLabel,shortDescription:n.description});Qt(n.fields),o.fields=it(n.fields),s(this,ir).push({type:yc.EFFECT_SHOW_FORM,showForm:{form:o}})}showToast(e){let t;e instanceof Object?t={text:e.text,appearance:e.appearance==="success"?Hv.SUCCESS:Hv.NEUTRAL}:t={text:e},s(this,ir).push({type:yc.EFFECT_SHOW_TOAST,showToast:{toast:t}})}navigateTo(e){let t;typeof e=="string"?t=new URL(e).toString():t=new URL(e.permalink,"https://www.reddit.com").toString(),s(this,ir).push({type:yc.EFFECT_NAVIGATE_TO_URL,navigateToUrl:{url:t}})}get __effects(){return s(this,ir)}};ir=new WeakMap,Qr=new WeakMap;var Sc={now(){return new Date}};function jv(r){return`__autocache__${r}`}function Wv(r){return`__lock__${r}`}var U0=300,L0=1e3,nd=5e3,bc=3,Gv=.1,zv=1e3,B0=3e4;function Vv(r){if(r.error)throw new Error(r.error);return r.value}var Pt,kt,Oe,ei,od,Jv,ad,$v,dd,Kv,Kn,Pc,ld,Xv,ud,Zv,Xn,kc,cd,Yv,sd=class{constructor(e,t,i=Sc){l(this,od);l(this,ad);l(this,dd);l(this,Kn);l(this,ld);l(this,ud);l(this,Xn);l(this,cd);l(this,Pt,void 0);l(this,kt,{});l(this,Oe,void 0);l(this,ei,void 0);d(this,Pt,e),d(this,ei,t),d(this,Oe,i)}async cache(e,t){d(this,kt,s(this,ei).__cache=s(this,ei).__cache??{}),b(this,cd,Yv).call(this,t);let i=b(this,od,Jv).call(this,t.key);if(i!==void 0)return i;let n=await b(this,Xn,kc).call(this,t.key),o=await b(this,ad,$v).call(this,t,n,e);return Vv(o)}};Pt=new WeakMap,kt=new WeakMap,Oe=new WeakMap,ei=new WeakMap,od=new WeakSet,Jv=function(e){let t=s(this,kt)[e];if(t){let i=s(this,Oe).now().getTime(),n=t?.error&&t?.errorTime&&t.errorCount<bc&&Math.random()<Gv&&t.errorTime+zv<i;if(t?.expires&&t.expires<i&&t.checkedAt+zv<i||n){delete s(this,kt)[e];return}else return Vv(t)}},ad=new WeakSet,$v=async function(e,t,i){let n=t?.expires,o=n?b(this,ud,Zv).call(this,n):1;return!t||t?.error&&t.errorCount<bc&&Gv>Math.random()||o>Math.random()?b(this,dd,Kv).call(this,e,t,i):t},dd=new WeakSet,Kv=async function(e,t,i){let n=Wv(e.key),o=s(this,Oe).now().getTime(),a=new Date(o+e.ttl/2);if(await s(this,Pt).set(n,"1",{expiration:a,nx:!0}))return b(this,ld,Xv).call(this,e.key,t,i,e.ttl);if(t)return t;{let p=s(this,Oe).now();return b(this,Kn,Pc).call(this,p,e.key,e.ttl)}},Kn=new WeakSet,Pc=async function(e,t,i){let n=Math.min(i,L0),o=await b(this,Xn,kc).call(this,t);if(o)return o;if(s(this,Oe).now().getTime()-e.getTime()>=n)throw new Error(`Cache request timed out trying to get data at key: ${t}`);return await new Promise(a=>setTimeout(a,U0)),b(this,Kn,Pc).call(this,e,t,i)},ld=new WeakSet,Xv=async function(e,t,i,n){let o=s(this,Oe).now().getTime()+n;t=t??{value:null,expires:o,errorCount:0,error:null,errorTime:null,checkedAt:0};try{t.value=await i(),t.error=null,t.errorCount=0,t.errorTime=null}catch(a){t.value=null,t.error=a.message??"Unknown error",t.errorTime=s(this,Oe).now().getTime(),t.errorCount++}return s(this,kt)[e]=t,await s(this,Pt).set(jv(e),JSON.stringify(t),{expiration:new Date(o+B0)}),t.error&&t.errorCount<bc&&await s(this,Pt).del(Wv(e)),t},ud=new WeakSet,Zv=function(e){let t=s(this,Oe).now().getTime(),i=e-t;return i<0?1:i<1e3?.1:i<2e3?.01:i<3e3?.001:0},Xn=new WeakSet,kc=async function(e){let t=await s(this,Pt).get(jv(e));if(t){let i=JSON.parse(t);return i.checkedAt=s(this,Oe).now().getTime(),s(this,kt)[e]=i,i}},cd=new WeakSet,Yv=function(e){e.ttl<nd&&(console.warn(`Cache TTL cannot be less than ${nd} milliseconds! Updating ttl value of ${e.ttl} to ${nd}.`),e.ttl=nd)};function Qv(r,e,t=Sc){let i=new sd(r,e,t);return i.cache.bind(i)}var Zn,ti=class{constructor(e){l(this,Zn,void 0);d(this,Zn,e)}async send(e,t){await u.realtimePlugin.Send({channel:e,data:t},s(this,Zn))}};Zn=new WeakMap;function Me({metadata:r,ui:e,hooks:t,reconciler:i}){let n=new Vr(r),o=new Gr(r),a=new Xr(r),c=Qv(a,i?i.state:{}),p=new $r(r),f=new Zr(r),v=new Yr(r),m=e?new id(i):void 0,y=new zr(r),P=new Wr(r,()=>u.assetsPlugin),C=new ti(r),I=t&&i?Mv(i):void 0,A=t&&i?Ov(i):void 0,U=t&&i?Fv(i):void 0,le=t&&i?Rv(i):void 0;return{modLog:n,kvStore:o,redis:a,reddit:p,scheduler:f,settings:v,media:y,assets:P,realtime:C,get useForm(){return U??(()=>{throw new Error("useForm() is unavailable")})},get cache(){return c??(()=>{throw new Error("cache() is unavailable")})},get useState(){return I??(()=>{throw new Error("useState() is unavailable")})},get useInterval(){return A??(()=>{throw new Error("useInterval() is unavailable")})},get useChannel(){return le??(()=>{throw new Error("useChannel() is unavailable")})},get ui(){if(!m)throw new Error("ui client is not available");return m}}}function ae(r,e,t){let i=r[L.Subreddit]?.values[0];g(i,"subreddit is missing from Context");let n=r[L.AppUser]?.values[0];g(n,"appAccountId is missing from Context");let o=r[L.User]?.values[0],a={metadata:r};return{appAccountId:n,subredditId:i,userId:o,postId:e,commentId:t,debug:a,toJSON(){return{appAccountId:n,subredditId:i,userId:o,postId:e,commentId:t,debug:a}}}}async function md(r,e,t){if(!e)throw new Error("Settings were not defined.");let i=D0.fromPartial({success:!0,errors:{}}),n=yt(r.fieldValues),o=e.flatMap(a=>a.type==="group"?a.fields:a);return await Promise.all(o.map(async a=>{let c=a.name;if(c&&a.type!=="group"&&a.onValidate){let p=n[c],f=a.onValidate,v=Object.assign(Me({metadata:t}),ae(t)),m=await f({value:p,isEditing:r.editing},v);m&&(i.success=!1,i.errors[c]=m)}})),i}async function q0(){if(!u.appSettings)throw new Error("App settings were not defined.");return N0.fromPartial({fields:{fields:it(u.appSettings)}})}async function H0(r,e){return md(r,u.appSettings,e)}function ey(r){r.provides(_0),M("GetAppSettingsFields",q0),M("ValidateAppForm",H0)}import{CustomPostDefinition as eT}from"@devvit/protos";import{BlockRenderEventType as Bc,EffectType as by}from"@devvit/protos";var ty="redd.it",j0="redditstatic.com",W0="redditmedia.com",G0="snoo.dev";var z0=[G0,ty,j0,W0],V0=/^data:([a-zA-Z]+\/[a-zA-Z0-9.+_-]+)?(;charset=[a-zA-Z0-9._+-]+)?(;base64)?,(.*)/;function J0(r){return r.trim().replace(/[\r\n]+/g,"")}function $0(r){let e=V0.exec(J0(r));if(e)return{mimeType:e[1],charset:e[2]?.split("=")[1],isBase64:!!e[3],data:e[4].trim()}}function K0(r){return["image/svg+xml"].includes(r)}function Cc(r){let e=$0(r);return e?.mimeType?K0(e.mimeType):!1}function ry(r){try{let e=new URL(r).protocol;return e==="http"||e==="https"}catch{return!1}}function iy(r){try{if(Cc(r))return!0;let t=(new URL(r,`https://i.${ty}`)?.hostname).split(".").slice(-2).join(".");return!!t&&z0.includes(t)}catch{return!1}}function ri(r){return r.__effects}function ny(){let r=new Set;return e=>{let t=e,i=1;for(;r.has(t);)t=`${e}.${i++}`;return r.add(t),t}}import{BlockActionType as Lc,BlockAnimationDirection as my,BlockAnimationLoopMode as py,BlockAnimationType as fy,BlockAvatarBackground as gy,BlockAvatarFacing as hy,BlockAvatarSize as St,BlockBorderWidth as fd,BlockButtonAppearance as Ct,BlockButtonSize as Ac,BlockFullSnooSize as ii,BlockGap as gd,BlockHorizontalAlignment as xc,BlockIconSize as hd,BlockImageResizeMode as Yn,BlockPadding as Qn,BlockRadius as es,BlockSizeUnit as Tc,BlockSpacerShape as Ec,BlockSpacerSize as vd,BlockStackDirection as Rc,BlockTextOutline as Fc,BlockTextOverflow as Oc,BlockTextSize as ni,BlockTextStyle as Mc,BlockTextWeight as vy,BlockType as Ue,BlockVerticalAlignment as Uc}from"@devvit/protos";var Ic={transparent:"transparent",black:"#000000",white:"#ffffff","coolgray-950":"#04090A","coolgray-900":"#0B1416","coolgray-850":"#0F1A1C","coolgray-800":"#131F23","coolgray-750":"#1A282D","coolgray-700":"#223237","coolgray-650":"#2A3C42","coolgray-600":"#33464C","coolgray-550":"#4B6066","coolgray-525":"#576F76","coolgray-500":"#667A80","coolgray-450":"#82959B","coolgray-400":"#A0B0B5","coolgray-350":"#B8C5C9","coolgray-300":"#D2DADD","coolgray-250":"#DAE0E3","coolgray-200":"#E2E7E9","coolgray-150":"#EAEDEF","coolgray-100":"#F2F4F5","coolgray-50":"#F9FAFA","puregray-950":"#080808","puregray-900":"#131313","puregray-850":"#181818","puregray-800":"#1E1E1E","puregray-750":"#272727","puregray-700":"#303030","puregray-650":"#393939","puregray-600":"#434343","puregray-550":"#5C5C5C","puregray-500":"#767676","puregray-450":"#919191","puregray-400":"#ACACAC","puregray-350":"#C3C3C3","puregray-300":"#D6D6D6","puregray-250":"#DDDDDD","puregray-200":"#E4E4E4","puregray-150":"#EBEBEB","puregray-100":"#F2F2F2","puregray-50":"#F8F8F8","orangered-950":"#190600","orangered-900":"#340E00","orangered-800":"#4F1500","orangered-700":"#721F00","orangered-600":"#962900","orangered-500":"#D93A00","orangered-400":"#FE7C53","orangered-300":"#FFBEA6","orangered-200":"#FFD5C6","orangered-100":"#FFEDE5","orangered-50":"#FFF6F3","red-950":"#1C0004","red-900":"#3A0008","red-800":"#58000C","red-700":"#7E0011","red-600":"#A50016","red-500":"#EB001F","red-400":"#FF6E80","red-300":"#FFADB8","red-200":"#FFCCD2","red-100":"#FFEAED","red-50":"#FFF6F7","sakurapink-950":"#1A0011","sakurapink-900":"#360024","sakurapink-800":"#530037","sakurapink-700":"#770051","sakurapink-600":"#9B006A","sakurapink-500":"#E00096","sakurapink-400":"#FF55BD","sakurapink-300":"#FFA5E3","sakurapink-200":"#FFC5EC","sakurapink-100":"#FFE5F9","sakurapink-50":"#FFF3FB","berrypurple-950":"#16001F","berrypurple-900":"#2E0041","berrypurple-800":"#470062","berrypurple-700":"#66008C","berrypurple-600":"#8700B5","berrypurple-500":"#BC0EFF","berrypurple-400":"#D55EFF","berrypurple-300":"#EEA7FF","berrypurple-200":"#F2C8FF","berrypurple-100":"#FBE6FF","berrypurple-50":"#FCF4FF","periwinkle-950":"#0D0B1F","periwinkle-900":"#1A1741","periwinkle-800":"#272262","periwinkle-700":"#372F8C","periwinkle-600":"#453BB5","periwinkle-500":"#6A5CFF","periwinkle-400":"#988EFF","periwinkle-300":"#C3BDFF","periwinkle-200":"#D8D4FF","periwinkle-100":"#ECEAFF","periwinkle-50":"#F7F6FF","alienblue-950":"#000C1D","alienblue-900":"#00183D","alienblue-800":"#00255D","alienblue-700":"#003584","alienblue-600":"#0045AC","alienblue-500":"#1870F4","alienblue-400":"#629FFF","alienblue-300":"#A7CCFF","alienblue-200":"#C6DCFF","alienblue-100":"#E4EFFF","alienblue-50":"#F3F7FF","lightblue-950":"#000D12","lightblue-900":"#001C26","lightblue-800":"#002A3A","lightblue-700":"#003F56","lightblue-600":"#005472","lightblue-500":"#007FAE","lightblue-400":"#47B0DB","lightblue-300":"#95DCFB","lightblue-200":"#B6E9FF","lightblue-100":"#D9F6FF","lightblue-50":"#ECFAFF","mintgreen-950":"#00100E","mintgreen-900":"#001E1B","mintgreen-800":"#002E28","mintgreen-700":"#00443C","mintgreen-600":"#005A4F","mintgreen-500":"#008675","mintgreen-400":"#45B9AB","mintgreen-300":"#96E1D8","mintgreen-200":"#B7ECE5","mintgreen-100":"#DAF7F4","mintgreen-50":"#ECFBF9","kiwigreen-950":"#021000","kiwigreen-900":"#032200","kiwigreen-800":"#053200","kiwigreen-700":"#084A00","kiwigreen-600":"#0A6000","kiwigreen-500":"#0E8A00","kiwigreen-400":"#55BD46","kiwigreen-300":"#A3E398","kiwigreen-200":"#BFEEB8","kiwigreen-100":"#DFF8DB","kiwigreen-50":"#EEFCED","lime-950":"#0C0E00","lime-900":"#1A1F00","lime-800":"#282F00","lime-700":"#3A4501","lime-600":"#4D5A01","lime-500":"#6B7E01","lime-400":"#A1B33B","lime-300":"#CFDB83","lime-200":"#DFE8A6","lime-100":"#EFF4CC","lime-50":"#F7FAE5","yellow-950":"#100D01","yellow-900":"#251E02","yellow-800":"#382D03","yellow-700":"#504104","yellow-600":"#665505","yellow-500":"#8F7407","yellow-400":"#DBAF00","yellow-300":"#FADB61","yellow-200":"#FFE88F","yellow-100":"#FFF2BD","yellow-50":"#FFFAE5","yelloworange-950":"#150C00","yelloworange-900":"#2C1A00","yelloworange-800":"#432700","yelloworange-700":"#623A00","yelloworange-600":"#814C00","yelloworange-500":"#B06400","yelloworange-400":"#FF9C1A","yelloworange-300":"#FFCD7C","yelloworange-200":"#FFDDA8","yelloworange-100":"#FFF0D3","yelloworange-50":"#FFF7EA","poopbrown-950":"#110B04","poopbrown-900":"#29190A","poopbrown-800":"#3B2510","poopbrown-700":"#54371A","poopbrown-600":"#6E4924","poopbrown-500":"#9A6D3F","poopbrown-400":"#CAA075","poopbrown-300":"#EECCAA","poopbrown-200":"#F6DDC3","poopbrown-100":"#FEEEDD","poopbrown-50":"#FEF7EE",pizzaRed:{light:"#ef5350",dark:"#c62828"},"global-brand-orangered":{light:"#FF4500",dark:"#FF4500"},"global-focus":{light:"#47B0DB",dark:"#007FAE"},"interactive-content-disabled":{light:"#0000003f",dark:"#ffffff3f"},"interactive-background-disabled":{light:"#0000000c",dark:"#ffffff0c"},"interactive-pressed":{light:"#00000028",dark:"#ffffff28"},"neutral-content":{light:"#2A3C42",dark:"#B8C5C9"},"neutral-content-disabled":{light:"#D6D6D6",dark:"#303030"},"neutral-content-weak":{light:"#576F76",dark:"#82959B"},"neutral-content-strong":{light:"#0F1A1C",dark:"#F2F4F5"},"neutral-background":{light:"#ffffff",dark:"#0B1416"},"neutral-background-selected":{light:"#EAEDEF",dark:"#1A282D"},"neutral-background-weak":{light:"#F9FAFA",dark:"#04090A"},"neutral-background-medium":{light:"#F8F8F8",dark:"#131313"},"neutral-background-strong":{light:"#ffffff",dark:"#0F1A1C"},"neutral-background-hover":{light:"#F2F4F5",dark:"#131F23"},"neutral-border":{light:"#00000033",dark:"#ffffff33"},"neutral-border-medium":{light:"#0000007f",dark:"#ffffff7f"},"neutral-border-weak":{light:"#00000019",dark:"#ffffff19"},"neutral-border-strong":{light:"#0F1A1C",dark:"#F2F4F5"},primary:{light:"#0045AC",dark:"#629FFF"},"primary-hover":{light:"#003584",dark:"#A7CCFF"},"primary-visited":{light:"#8700B5",dark:"#D55EFF"},"primary-onBackground":{light:"#ffffff",dark:"#ffffff"},"primary-onBackground-selected":{light:"#ffffff",dark:"#000000"},"primary-background":{light:"#0045AC",dark:"#0045AC"},"primary-background-hover":{light:"#003584",dark:"#1870F4"},"primary-background-selected":{light:"#00255D",dark:"#629FFF"},secondary:{light:"#0F1A1C",dark:"#F2F4F5"},"secondary-hover":{light:"#000000",dark:"#ffffff"},"secondary-weak":{light:"#576F76",dark:"#82959B"},"secondary-onBackground":{light:"#000000",dark:"#ffffff"},"secondary-background":{light:"#EAEDEF",dark:"#1A282D"},"secondary-background-hover":{light:"#E2E7E9",dark:"#223237"},"secondary-background-selected":{light:"#D2DADD",dark:"#33464C"},"secondary-plain":{light:"#0F1A1C",dark:"#F2F4F5"},"secondary-plain-hover":{light:"#000000",dark:"#ffffff"},"danger-background":{light:"#EB001F",dark:"#A50016"},"danger-background-disabled":{light:"#FFCCD2",dark:"#3A0008"},"danger-background-hover":{light:"#A50016",dark:"#EB001F"},"danger-onBackground":{light:"#ffffff",dark:"#ffffff"},"danger-content":{light:"#A50016",dark:"#FF6E80"},"danger-content-hover":{light:"#7E0011",dark:"#FFADB8"},"danger-content-default":{light:"#ffffff",dark:"#ffffff"},"brand-background":{light:"#D93A00",dark:"#D93A00"},"brand-onBackground":{light:"#ffffff",dark:"#ffffff"},"brand-background-hover":{light:"#962900",dark:"#962900"},"media-background":{light:"#00000099",dark:"#00000099"},"media-onbackground":{light:"#ffffff",dark:"#ffffff"},"media-onbackground-weak":{light:"#E2E7E9",dark:"#E2E7E9"},"media-background-hover":{light:"#000000cc",dark:"#000000cc"},"media-onbackground-disabled":{light:"#ffffff3f",dark:"#ffffff3f"},"media-border-selected":{light:"#ffffff",dark:"#ffffff"},"media-background-selected":{light:"#000000cc",dark:"#000000cc"},"success-content":{light:"#0A6000",dark:"#55BD46"},"success-hover":{light:"#084A00",dark:"#A3E398"},"success-onBackground":{light:"#ffffff",dark:"#ffffff"},"success-background":{light:"#0E8A00",dark:"#0A6000"},"success-background-hover":{light:"#0A6000",dark:"#0E8A00"},"warning-content":{light:"#665505",dark:"#DBAF00"},"warning-content-hover":{light:"#504104",dark:"#FADB61"},"warning-onBackground":{light:"#000000",dark:"#000000"},"warning-background":{light:"#DBAF00",dark:"#DBAF00"},"warning-background-hover":{light:"#8F7407",dark:"#FADB61"},"upvote-content":{light:"#962900",dark:"#FE7C53"},"upvote-content-weak":{light:"#FF4500",dark:"#FF4500"},"upvote-disabled":{light:"#9629004c",dark:"#FE7C534c"},"upvote-onBackground":{light:"#ffffff",dark:"#ffffff"},"upvote-background":{light:"#D93A00",dark:"#D93A00"},"upvote-background-hover":{light:"#962900",dark:"#962900"},"upvote-background-disabled":{light:"#D93A004c",dark:"#D93A004c"},"downvote-content":{light:"#453BB5",dark:"#988EFF"},"downvote-content-weak":{light:"#6A5CFF",dark:"#6A5CFF"},"downvote-disabled":{light:"#453BB54c",dark:"#988EFF4c"},"downvote-onBackground":{light:"#ffffff",dark:"#ffffff"},"downvote-background":{light:"#6A5CFF",dark:"#453BB5"},"downvote-background-hover":{light:"#453BB5",dark:"#453BB5"},"downvote-background-disabled":{light:"#6A5CFF4c",dark:"#6A5CFF4c"},"brand-gradient-default":{light:"",dark:""},"brand-gradient-default-highlight":{light:"",dark:""},"brand-gradient-hover":{light:"",dark:""},"brand-gradient-hover-highlight":{light:"",dark:""},"brand-gradient-active":{light:"",dark:""},"brand-gradient-active-highlight":{light:"",dark:""},"gradient-media":{light:"",dark:""},"gradient-media-strong":{light:"",dark:""},"transparent-background-hover":{light:"#82959B19",dark:"#667A8019"},"global-black":{light:"#000000",dark:"#000000"},"global-white":{light:"#ffffff",dark:"#ffffff"},"global-orangered":{light:"#D93A00",dark:"#D93A00"},"global-alienblue":{light:"#1870F4",dark:"#1870F4"},"global-darkblue":{light:"#131F23",dark:"#131F23"},"tone-1":{light:"#131313",dark:"#F2F2F2"},"tone-2":{light:"#434343",dark:"#ACACAC"},"tone-3":{light:"#ACACAC",dark:"#434343"},"tone-4":{light:"#E4E4E4",dark:"#303030"},"tone-5":{light:"#F2F2F2",dark:"#1E1E1E"},"tone-6":{light:"#F8F8F8",dark:"#131313"},"tone-7":{light:"#ffffff",dark:"#080808"},"action-upvote":{light:"#D93A00",dark:"#D93A00"},"action-downvote":{light:"#6A5CFF",dark:"#6A5CFF"},"alert-caution":{light:"#8F7407",dark:"#8F7407"},"identity-admin":{light:"#D93A00",dark:"#D93A00"},"identity-moderator":{light:"#0E8A00",dark:"#0E8A00"},"identity-self":{light:"#008675",dark:"#008675"},"identity-coins":{light:"#DBAF00",dark:"#DBAF00"},"category-live":{light:"#D93A00",dark:"#D93A00"},"category-nsfw":{light:"#E00096",dark:"#E00096"},"category-spoiler":{light:"#131313",dark:"#F2F2F2"},"ui-canvas":{light:"#F2F2F2",dark:"#080808"},"ui-modalbackground":{light:"#ffffff",dark:"#0F1A1C"},"avatar-gradient":{light:"",dark:""},"opacity-highlight":{light:"",dark:""},"opacity-08":{light:"#13131314",dark:"#13131314"},"opacity-50":{light:"#0000007f",dark:"#F2F2F27f"},scrim:{light:"#00000099",dark:"#00000099"},"scrim-strong":{light:"#000000cc",dark:"#000000cc"},"scrim-gradient":{light:"",dark:""},online:{light:"#55BD46",dark:"#55BD46"},favorite:{light:"#8F7407",dark:"#DBAF00"}};var sy={aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",transparent:"#FFFFFF00",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"},oy=r=>!!r.match(/^(#[0-9a-fA-F]{3,8}).*/),ay=r=>r in Ic,wc=r=>r in sy,dy=r=>!!r.match(/^rgba?\(.*/),ly=r=>!!r.match(/^hsla?\(.*/),uy=(r,e="light")=>{if(wc(r))return pd(r);let i=Ic[r];return typeof i=="string"?i:i[e]},pd=r=>sy[r]??r,cy=r=>{let[e,t,i,n]=r.replace(/^rgba?\(|\s+|\)$/g,"").split(",");if(!e||!t||!i)return r;let a=[...[e,t,i].map(p=>parseFloat(p))];if(n){let p=parseFloat(n),f=Math.round(p*255);a.push(f)}return`#${a.map(p=>p.toString(16).padStart(2,"0")).join("")}`};var yy="data-",X0=new Set(["onPress","onMessage"]),Z0=new Map([["onPress",Lc.ACTION_CLICK],["onMessage",Lc.ACTION_WEBVIEW]]),si=class{async createBlocksElementOrThrow({type:e,props:t,children:i}){let n=await this.createBlocksElement({type:e,props:t,children:i});if(!n)throw new Error(`Could not create block of type ${e}`);return n}async createBlocksElement({type:e,props:t,children:i}){switch(e){case"blocks":return this.makeRoot(t,...i);case"hstack":return this.makeHStack(t,...i);case"vstack":return this.makeVStack(t,...i);case"zstack":return this.makeZStack(t,...i);case"text":return this.makeText(t,...i);case"button":return this.makeButton(t,...i);case"image":return await this.makeImage(t);case"spacer":return this.makeSpacer(t);case"icon":return this.makeIcon(t);case"avatar":return this.makeAvatar(t);case"fullsnoo":return this.makeFullSnoo(t);case"animation":return await this.makeAnimation(t);case"webview":return this.makeWebView(t);case"__fragment":throw new Error("root fragment is not supported - use 'blocks' instead")}}makeRootHeight(e){switch(e){case"regular":return 320;case"tall":return 512}}makeBlockPadding(e){switch(e){case"none":return Qn.PADDING_NONE;case"xsmall":return Qn.PADDING_XSMALL;case"small":return Qn.PADDING_SMALL;case"medium":return Qn.PADDING_MEDIUM;case"large":return Qn.PADDING_LARGE}}makeBlockRadius(e){switch(e){case"none":return es.RADIUS_NONE;case"small":return es.RADIUS_SMALL;case"medium":return es.RADIUS_MEDIUM;case"large":return es.RADIUS_LARGE;case"full":return es.RADIUS_FULL}}makeBlockGap(e){switch(e){case"none":return gd.GAP_NONE;case"small":return gd.GAP_SMALL;case"medium":return gd.GAP_MEDIUM;case"large":return gd.GAP_LARGE}}makeBlockAlignment(e){if(e===void 0)return;let t,i;if(e.includes("top")?t=Uc.ALIGN_TOP:e.includes("middle")?t=Uc.ALIGN_MIDDLE:e.includes("bottom")&&(t=Uc.ALIGN_BOTTOM),e.includes("start")?i=xc.ALIGN_START:e.includes("center")?i=xc.ALIGN_CENTER:e.includes("end")&&(i=xc.ALIGN_END),t!==void 0||i!==void 0)return{vertical:t,horizontal:i}}makeBlockBorder(e,t,i,n){if(!e&&!t)return;let o;switch(e){case"none":o=fd.BORDER_WIDTH_NONE;break;case"thin":o=fd.BORDER_WIDTH_THIN;break;case"thick":o=fd.BORDER_WIDTH_THICK;break;default:o=fd.BORDER_WIDTH_THIN;break}let a=t??"neutral-border-weak",c=this.getThemedColors(a,i,n);return{width:o,color:c?.light,colors:c}}makeBlockTextSize(e){switch(e){case"xsmall":return ni.TEXT_SIZE_XSMALL;case"small":return ni.TEXT_SIZE_SMALL;case"medium":return ni.TEXT_SIZE_MEDIUM;case"large":return ni.TEXT_SIZE_LARGE;case"xlarge":return ni.TEXT_SIZE_XLARGE;case"xxlarge":return ni.TEXT_SIZE_XXLARGE}}makeBlockTextStyle(e){switch(e){case"body":return Mc.TEXT_STYLE_BODY;case"metadata":return Mc.TEXT_STYLE_METADATA;case"heading":return Mc.TEXT_STYLE_HEADING}}makeBlockTextOutline(e){switch(e){case"none":return Fc.TEXT_OUTLINE_NONE;case"thin":return Fc.TEXT_OUTLINE_THIN;case"thick":return Fc.TEXT_OUTLINE_THICK}}makeBlockTextWeight(e){switch(e){case"regular":return vy.TEXT_WEIGHT_REGULAR;case"bold":return vy.TEXT_WEIGHT_BOLD}}makeBlockTextOverflow(e){switch(e){case"clip":return Oc.TEXT_OVERFLOW_CLIP;case"ellipsis":return Oc.TEXT_OVERFLOW_ELLIPSE}return Oc.TEXT_OVERFLOW_ELLIPSE}makeBlockButtonAppearance(e){switch(e){case"secondary":return Ct.BUTTON_APPEARANCE_SECONDARY;case"primary":return Ct.BUTTON_APPEARANCE_PRIMARY;case"plain":return Ct.BUTTON_APPEARANCE_PLAIN;case"bordered":return Ct.BUTTON_APPEARANCE_BORDERED;case"media":return Ct.BUTTON_APPEARANCE_MEDIA;case"destructive":return Ct.BUTTON_APPEARANCE_DESTRUCTIVE;case"caution":return Ct.BUTTON_APPEARANCE_CAUTION;case"success":return Ct.BUTTON_APPEARANCE_SUCCESS}}makeBlockButtonSize(e){switch(e){case"small":return Ac.BUTTON_SIZE_SMALL;case"medium":return Ac.BUTTON_SIZE_MEDIUM;case"large":return Ac.BUTTON_SIZE_LARGE}}makeBlockImageResizeMode(e){switch(e){case"none":return Yn.IMAGE_RESIZE_NONE;case"fit":return Yn.IMAGE_RESIZE_FIT;case"fill":return Yn.IMAGE_RESIZE_FILL;case"cover":return Yn.IMAGE_RESIZE_COVER;case"scale-down":return Yn.IMAGE_RESIZE_SCALE_DOWN}}makeBlockSpacerSize(e){switch(e){case"xsmall":return vd.SPACER_XSMALL;case"small":return vd.SPACER_SMALL;case"medium":return vd.SPACER_MEDIUM;case"large":return vd.SPACER_LARGE}}makeBlockSpacerShape(e){switch(e){case"invisible":return Ec.SPACER_INVISIBLE;case"thin":return Ec.SPACER_THIN;case"square":return Ec.SPACER_SQUARE}}makeBlockIconSize(e){switch(e){case"xsmall":return hd.ICON_SIZE_XSMALL;case"small":return hd.ICON_SIZE_SMALL;case"medium":return hd.ICON_SIZE_MEDIUM;case"large":return hd.ICON_SIZE_LARGE}}makeBlockAvatarSize(e){switch(e){case"xxsmall":return St.AVATAR_SIZE_XXSMALL;case"xsmall":return St.AVATAR_SIZE_XSMALL;case"small":return St.AVATAR_SIZE_SMALL;case"medium":return St.AVATAR_SIZE_MEDIUM;case"large":return St.AVATAR_SIZE_LARGE;case"xlarge":return St.AVATAR_SIZE_XXLARGE;case"xxlarge":return St.AVATAR_SIZE_XXLARGE;case"xxxlarge":return St.AVATAR_SIZE_XXXLARGE}}makeBlockAvatarFacing(e){switch(e){case"left":return hy.AVATAR_FACING_LEFT;case"right":return hy.AVATAR_FACING_RIGHT}}makeBlockFullSnooSize(e){switch(e){case"xsmall":return ii.FULLSNOO_XSMALL;case"small":return ii.FULLSNOO_SMALL;case"medium":return ii.FULLSNOO_MEDIUM;case"large":return ii.FULLSNOO_LARGE;case"xlarge":return ii.FULLSNOO_XLARGE;case"xxlarge":return ii.FULLSNOO_XXLARGE}}makeBlockAvatarBackground(e){switch(e){case"dark":return gy.AVATAR_BG_DARK;case"light":return gy.AVATAR_BG_LIGHT}}makeBlockAnimationType(e){return e==="lottie"||e===void 0?fy.ANIM_LOTTIE:fy.UNRECOGNIZED}makeBlockAnimationDirection(e){switch(e){case"backward":return my.ANIM_DIR_BACKWARD;case"forward":return my.ANIM_DIR_FORWARD}}makeBlockLoopMode(e){switch(e){case"repeat":return py.ANIM_LOOP_REPEAT;case"bounce":return py.ANIM_LOOP_BOUNCE}}makeBlockSize(e){if(e&&(e.width!=null||e.height!=null||e.grow)){let{value:t,unit:i}=this.parseSize(e.width)??{},{value:n,unit:o}=this.parseSize(e.height)??{};return{width:t,widthUnit:i,height:n,heightUnit:o,grow:e.grow}}}makeBlockSizes(e){if(e){let t=e.width!=null||e.minWidth!=null||e.maxWidth!=null,i=e.height!=null||e.minHeight!=null||e.maxHeight!=null;if(t||i||e.grow!=null)return{width:t?{value:this.parseSize(e.width),min:this.parseSize(e.minWidth),max:this.parseSize(e.maxWidth)}:void 0,height:i?{value:this.parseSize(e.height),min:this.parseSize(e.minHeight),max:this.parseSize(e.maxHeight)}:void 0,grow:e.grow}}}parseSize(e){if(e==null)return;if(typeof e=="number")return{value:e,unit:Tc.SIZE_UNIT_PERCENT};let t=e.match(/^(\d+(?:\.\d+)?)(px|%)?$/);if(t==null)return;let i=Tc.SIZE_UNIT_PERCENT;return t?.at(2)==="px"&&(i=Tc.SIZE_UNIT_PIXELS),{value:Number.parseFloat(t[1]),unit:i}}getDataSet(e){return Object.keys(e).filter(t=>t.startsWith(yy)).reduce((t,i)=>(t[i.substring(yy.length)]=e[i],t),{})}makeActions(e,t){let i=[],n=this.getDataSet(t);return X0.forEach(o=>{if(o in t){let a=t[o];i.push({type:Z0.get(o)??Lc.UNRECOGNIZED,id:a.toString(),data:n})}}),i}blockColorToHex(e,t="light"){if(e)return e=e.toLowerCase(),oy(e)?e:ay(e)?uy(e,t):wc(e)?pd(e):dy(e)?cy(e):ly(e)?e:(console.warn(`Could not parse color: ${e}.`),pd("red"))}async childrenToBlocks(e){let t=e.map(n=>{if(typeof n!="string")return this.createBlocksElement(n)});return(await Promise.all(t)).filter(n=>n!==void 0)}getThemedColors(e,t,i){let n=this.blockColorToHex(t,"light"),o=this.blockColorToHex(i,"dark"),a=[];if(e&&(!n||!o)){let c=Array.from(e?.matchAll(/[\w#-]+(?:\([\w\t ,.#-]+\))?/g)??[]);a.push(...c.map(p=>p[0]))}return n||(n=this.blockColorToHex(a?.at(0),"light")),o||(o=this.blockColorToHex(a?.at(1)??a?.at(0),"dark")),n||o?{light:n,dark:o}:void 0}parsePixels(e){return typeof e=="string"?Number(e.slice(0,-2)):e}childrenToString(e){return e.map(t=>t.toString()).join("")}async makeRoot(e,...t){return this.wrapRoot(e,await this.childrenToBlocks(t))}async wrapRoot(e,t){return this.makeBlock(Ue.BLOCK_ROOT,{},{rootConfig:{children:t,height:this.makeRootHeight(u.customPostType?.height??e?.height??"regular")}})}async makeStackBlock(e,t,i){let n=this.getThemedColors(t?.backgroundColor,t?.lightBackgroundColor,t?.darkBackgroundColor);return this.makeBlock(Ue.BLOCK_STACK,t,{stackConfig:{alignment:this.makeBlockAlignment(t?.alignment),backgroundColor:n?.light,backgroundColors:n,border:this.makeBlockBorder(t?.border,t?.borderColor,t?.lightBorderColor,t?.darkBorderColor),children:await this.childrenToBlocks(i),cornerRadius:this.makeBlockRadius(t?.cornerRadius),direction:e,gap:this.makeBlockGap(t?.gap),padding:this.makeBlockPadding(t?.padding),reverse:t?.reverse}})}async makeHStack(e,...t){return this.makeStackBlock(Rc.STACK_HORIZONTAL,e,t)}async makeVStack(e,...t){return this.makeStackBlock(Rc.STACK_VERTICAL,e,t)}async makeZStack(e,...t){return this.makeStackBlock(Rc.STACK_DEPTH,e,t)}makeText(e,...t){let i=this.getThemedColors(e?.color,e?.lightColor,e?.darkColor);return this.makeBlock(Ue.BLOCK_TEXT,e,{textConfig:{alignment:this.makeBlockAlignment(e?.alignment),color:i?.light,colors:i,outline:this.makeBlockTextOutline(e?.outline),size:this.makeBlockTextSize(e?.size),style:this.makeBlockTextStyle(e?.style),text:this.childrenToString(t),weight:this.makeBlockTextWeight(e?.weight),selectable:e?.selectable,wrap:e?.wrap,overflow:this.makeBlockTextOverflow(e?.overflow)}})}makeButton(e,...t){let i=this.getThemedColors(e?.textColor,e?.lightTextColor,e?.darkTextColor);return this.makeBlock(Ue.BLOCK_BUTTON,e,{buttonConfig:{buttonAppearance:this.makeBlockButtonAppearance(e?.appearance),icon:e?.icon,buttonSize:this.makeBlockButtonSize(e?.size),text:this.childrenToString(t),textColor:i?.light,textColors:i,disabled:e?.disabled}})}async makeImage(e){return e&&this.makeBlock(Ue.BLOCK_IMAGE,e,{imageConfig:{description:e?.description,resizeMode:this.makeBlockImageResizeMode(e.resizeMode),url:e.url,width:this.parsePixels(e.imageWidth),height:this.parsePixels(e.imageHeight)}})}makeSpacer(e){return this.makeBlock(Ue.BLOCK_SPACER,e,{spacerConfig:{size:this.makeBlockSpacerSize(e?.size),shape:this.makeBlockSpacerShape(e?.shape)}})}makeIcon(e){let t=this.getThemedColors(e?.color,e?.lightColor,e?.darkColor);return e&&this.makeBlock(Ue.BLOCK_ICON,e,{iconConfig:{icon:e.name,color:t?.light,colors:t,size:this.makeBlockIconSize(e.size)}})}makeAvatar(e){return e&&this.makeBlock(Ue.BLOCK_AVATAR,e,{avatarConfig:{thingId:e.thingId,size:this.makeBlockAvatarSize(e.size),facing:this.makeBlockAvatarFacing(e.facing),background:this.makeBlockAvatarBackground(e.background)}})}makeFullSnoo(e){return e&&this.makeBlock(Ue.BLOCK_FULLSNOO,e,{fullsnooConfig:{userId:e.userId,facing:this.makeBlockAvatarFacing(e.facing),size:this.makeBlockFullSnooSize(e.size)}})}async makeAnimation(e){return e&&this.makeBlock(Ue.BLOCK_ANIMATION,e,{animationConfig:{type:this.makeBlockAnimationType(e.type),url:e.url,loop:e.loop,loopMode:this.makeBlockLoopMode(e.loopMode),autoplay:e.autoplay,width:this.parsePixels(e.imageWidth),height:this.parsePixels(e.imageHeight),direction:this.makeBlockAnimationDirection(e.direction),speed:e.speed}})}makeWebView(e){return e&&this.makeBlock(Ue.BLOCK_WEBVIEW,e,{webviewConfig:{url:e.url,state:e.state}})}makeBlock(e,t,i){return{type:e,size:this.makeBlockSize(t),sizes:this.makeBlockSizes(t),config:i,actions:(t&&this.makeActions(e,t))??[],id:t?.id,key:t?.key}}async ensureRootBlock(e){let t=e;if(t.type===Ue.BLOCK_ROOT)return t.config?.rootConfig&&u.customPostType?.height&&(t.config.rootConfig.height=this.makeRootHeight(u.customPostType?.height)),t;let i=await this.wrapRoot(void 0,[t]);if(!i)throw new Error("Could not create root block");return i}};function Py(r){if(typeof r=="string")throw new Error("Root element cannot be a string")}var ky=r=>{let e="",t=r.props?Object.keys(r.props).map(i=>i==="onPress"?"":`${i}="${r.props[i]}"`).join(" "):"";e+=`<${r.type}${t?" "+t:""}>`;for(let i of r.children)typeof i=="string"?e+=i:e+=ky(i);return e+=`</${r.type}>`,e};function Y0(r){return" ".repeat(r)}function Q0(r){let e="",t=0,i=r.split(/>\s*</);for(let n=0;n<i.length;n++){let o=i[n];n===0&&(o=o.trim()),n===i.length-1&&(o=o.trim());let a=o.charAt(0)==="/";a&&t--,e+=Y0(t),n!==0&&(e+="<"),e+=o,n!==i.length-1&&(e+=`>
2
- `),!a&&o.indexOf("</")===-1&&o.charAt(o.length-1)!=="/"&&t++}return e}var yd,Sy,nr,ts,rs,Dc,is,nt=class{constructor(e,t,i,n,o){l(this,yd);l(this,nr);l(this,rs);this.renderState={};this.currentComponentKey=[];this.currentHookIndex=0;this.actions=new Map;this.forms=new Map;this.realtimeChannels=[];this.realtimeUpdated=!1;this.pendingHooks=[];this.isRendering=!1;this.transformer=new si;this.effects=[];l(this,is,!1);this.component=e,this.event=t,this.state={__renderState:{},...i},this.metadata=n,this.state.__realtimeChannels&&(this.realtimeChannels=this.state.__realtimeChannels);let a=Me({reconciler:this,hooks:!0,ui:!0,metadata:n});this.cache=a.cache,this.modLog=a.modLog,this.reddit=a.reddit,this.kvStore=a.kvStore,this.redis=a.redis,this.settings=a.settings,this.scheduler=a.scheduler,this.media=a.media,this.assets=a.assets,this.realtime=a.realtime,this.dimensions=o,this.ui=a.ui,this.hooks={useState:a.useState,useInterval:a.useInterval,useForm:a.useForm,useChannel:a.useChannel}}emitEffect(e,t){this.effects.push(t)}async render(){await this.reconcile(),this.isRendering=!0;let e=await this.buildBlocksUI();return this.isRendering=!1,e}makeUniqueActionID(e){let t=e,i=1;for(;this.actions.has(t);)t=`${e}.${i++}`;return t}async reconcile(){let e={type:this.component,props:b(this,nr,ts).call(this),children:[]},t=await this.processBlock(e);if(Py(t),await this.transformer.createBlocksElementOrThrow(t),this.isUserActionRender&&this.blockRenderEventId){let i=this.actions.get(this.blockRenderEventId);i&&await i(this.event.data)}for(let i of this.pendingHooks)await i();this.buildNextState(),b(this,yd,Sy).call(this)}async buildBlocksUI(){let e={type:this.component,props:b(this,nr,ts).call(this),children:[]},t=await this.renderElement(e);return this.transformer.ensureRootBlock(t)}async renderElement(e){let t=await this.processBlock(e);return Py(t),(u.debug.emitSnapshots||this.metadata[L.DebugRenderXML]?.values[0])&&console.log(Q0(ky(t))),u.debug.emitState&&console.log(JSON.stringify(this.state,null,2)),await this.transformer.createBlocksElementOrThrow(t)}async processProps(e){let t=e.props??{},i=["onPress","onMessage"];for(let n of i)if(n in t){let o=t[n],a=o?.name,c=this.makeUniqueActionID(`${e.type}.${a??n}`);this.actions.set(c,o),t[n]=c}t.url&&(t.url=await this.getAssetUrl(t.url))}async getAssetUrl(e){let t,i=globalThis.devvit?.config?.assets;if(i&&(t=i[e]),!t&&!iy(e)){console.log("No assets loaded on the config - falling back to plugin");try{t=await this.assets.getURL(e),i&&t&&(i[e]=t)}catch{}}return t??e}async processBlock(e,t=ny(),i=[]){let n=e;if(typeof n.type=="string"){let p=(await Promise.all(n.children.flatMap(async(m,y)=>m==null?[]:await this.processBlock(m,t,[...i,`${n.type}.${y}`])))).flat(),f=b(this,rs,Dc).call(this,p);return await this.processProps(n),{type:n.type,props:n.props,children:f}}if(typeof n.type=="function"){let c=t(`${i.length?i.join("."):"root"}.${n.type.name.length?n.type.name:"anonymous"}`);this.currentComponentKey.push(c),this.renderState[c]||(this.renderState[c]={});let p=n.children.flatMap(m=>m),f={...b(this,nr,ts).call(this),...n.props,children:p},v;for(;v===void 0;)try{v=await n.type(f,b(this,nr,ts).call(this))}catch(m){if(m instanceof Promise)v=await m;else throw m}if(!this.isInitialRender){let m=this.getPreviousComponentState();if(Object.keys(m).length!==this.currentHookIndex)throw new Error("Invalid hook call. Hooks can only be called at the top-level of a function component. Make sure that you are not calling hooks inside loops, conditions, or nested functions.")}if(this.currentComponentKey.pop(),this.currentHookIndex=0,typeof v=="object")return this.processBlock(v,t,[...i,n.type.name])}if(typeof n=="string")return n;if(typeof n=="number")return`${n}`;let o=[],a="";return Array.isArray(n)?o=n:typeof n.type>"u"&&n.children&&(o=n.children,a="fragmentChild."),{type:"__fragment",props:void 0,children:await Promise.all(o.flatMap(async(c,p)=>await this.processBlock(c,t,[...i,`${a}${p}`])))}}getCurrentComponentKey(){if(!this.currentComponentKey.at(-1))throw new Error("Current component key is missing");return this.currentComponentKey}getCurrentComponentState(){let e=this.currentComponentKey.at(-1);if(!e)throw new Error("Current component key is missing");return this.renderState[e]}getPreviousComponentState(){let e=this.currentComponentKey.at(-1);if(!e)throw new Error("Current component key is missing");return this.state.__renderState[e]||(this.state.__renderState[e]={}),this.state.__renderState[e]}get isInitialRender(){return this.event?this.event.type===Bc.RENDER_INITIAL:!1}get isUserActionRender(){return this.event?this.event.type===Bc.RENDER_USER_ACTION:!1}get isEffectRender(){return this.event?this.event.type===Bc.RENDER_EFFECT_EVENT:!1}get formSubmittedEvent(){return this.event?this.event.formSubmitted:!1}get blockRenderEventId(){return this.event?this.event.id:!1}get realtimeEvent(){if(!this.event)return!1;let e=this.event.realtimeEvent;return e?.event?.channel?e:!1}runHook(e){this.pendingHooks.push(e)}rerenderIn(e){s(this,is)||(d(this,is,!0),this.effects.push({type:by.EFFECT_RERENDER_UI,rerenderUi:{delaySeconds:e/1e3}}))}addRealtimeChannel(e){this.realtimeChannels.push(e),this.realtimeUpdated=!0}removeRealtimeChannel(e){this.realtimeChannels=this.realtimeChannels.filter(t=>t!==e),this.realtimeUpdated=!0}get realtimeEffect(){return this.realtimeUpdated&&this.realtimeChannels.length>0?[{type:by.EFFECT_REALTIME_SUB,realtimeSubscriptions:{subscriptionIds:this.realtimeChannels}}]:[]}getEffects(){return[...ri(this.ui),...this.effects,...this.realtimeEffect]}buildNextState(){for(let e of Object.keys(this.renderState))this.renderState[e]=Object.values(this.renderState[e]);this.state={__postData:this.state.__postData,__renderState:this.renderState,__cache:this.state.__cache,...this.realtimeChannels.length>0?{__realtimeChannels:this.realtimeChannels}:{}}}};yd=new WeakSet,Sy=function(){this.actions.clear(),this.currentComponentKey=[],this.currentHookIndex=0,this.pendingHooks=[],this.realtimeChannels=[],this.realtimeUpdated=!1},nr=new WeakSet,ts=function(){let e={...ae(this.metadata,this.state.__postData?.thingId),modLog:this.modLog,reddit:this.reddit,cache:this.cache,kvStore:this.kvStore,redis:this.redis,settings:this.settings,scheduler:this.scheduler,media:this.media,assets:this.assets,realtime:this.realtime,ui:this.ui,dimensions:this.dimensions,uiEnvironment:{timezone:this.metadata[L.Timezone]?.values[0],locale:this.metadata[L.Language]?.values[0],dimensions:this.dimensions},...this.hooks};return e.debug.effects=this,e},rs=new WeakSet,Dc=function(e){let t=[];for(let i of e)typeof i=="string"?t.push(i):i.type==="__fragment"?t.push(...b(this,rs,Dc).call(this,i.children)):t.push(i);return t},is=new WeakMap;async function tT(r,e){let t=u.customPostType;if(!t)throw new Error("Custom post type not registered");let i=new nt((o,a)=>t.render(a),r.blocks,r.state,e,r.dimensions),n=await i.render();return{state:i.state,blocks:{ui:n},effects:i.getEffects()}}function Cy(r){r.provides(eT),M("RenderPost",tT)}import{GetFieldsResponse as rT,InstallationSettingsDefinition as iT}from"@devvit/protos";async function nT(){if(!u.installationSettings)throw new Error("Installation settings were not defined.");return rT.fromPartial({fields:{fields:it(u.installationSettings)}})}async function sT(r,e){return md(r,u.installationSettings,e)}function Iy(r){r.provides(iT),M("GetSettingsFields",nT),M("ValidateForm",sT)}import{ContextActionDefinition as oT,ContextActionDescription as aT,ContextActionResponse as dT}from"@devvit/protos";var wy=r=>`menuItem.${r}`;function _c(r){return u.menuItems.find((e,t)=>wy(t)===r)}async function lT(r,e){let t=u.menuItems;if(!t.length)throw new Error("No menu items registered.");return{actions:t.map((n,o)=>aT.fromPartial({actionId:wy(o),name:n.label,description:n.description,contexts:{subreddit:n.location.includes("subreddit"),post:n.location.includes("post"),comment:n.location.includes("comment")},users:{loggedOut:n.forUserType?.includes("loggedOut"),member:n.forUserType?.includes("member"),moderator:n.forUserType?.includes("moderator")},postFilters:n.postFilter==="currentApp"?{currentApp:!0}:void 0}))}}async function uT(r,e){let t=_c(r.actionId);if(!t)throw new Error(`MenuItem ${r.actionId} not found`);let i=r.comment?.id&&`t1_${r.comment.id}`,n=r.post?.id&&`t3_${r.post.id}`,o=r.subreddit?.id&&`t5_${r.subreddit.id}`,a=i||n||o;g(a,"targetId is missing from ContextActionRequest");let c={targetId:a,location:r.comment?"comment":r.post?"post":"subreddit"},p=Object.assign(Me({ui:!0,metadata:e}),ae(e,n,i),{uiEnvironment:{timezone:e[L.Timezone]?.values[0],locale:e[L.Language]?.values[0]}});return await t.onPress(c,p),dT.fromPartial({effects:ri(p.ui)})}function Ay(r){r.provides(oT),M("GetActions",lT),M("OnAction",uT)}function st(r){return r?r===!0?!0:r.enabled:!1}import{SchedulerHandlerDefinition as cT}from"@devvit/protos";async function mT(r,e){let t=r.type,i=u.scheduledJobHandlers.get(t);if(!i)throw new Error(`Job ${t} not found`);let n={name:t,data:r.data},o=Object.assign(Me({metadata:e}),ae(e));await i(n,o)}function xy(r){r.provides(cT),M("HandleScheduledAction",mT)}import{HandlerResult as pT,OnAppInstallDefinition as fT,OnAppUpgradeDefinition as gT,OnCommentCreateDefinition as hT,OnCommentDeleteDefinition as vT,OnCommentReportDefinition as yT,OnCommentSubmitDefinition as bT,OnCommentUpdateDefinition as PT,OnModActionDefinition as kT,OnModMailDefinition as ST,OnPostCreateDefinition as CT,OnPostDeleteDefinition as IT,OnPostFlairUpdateDefinition as wT,OnPostReportDefinition as AT,OnPostSubmitDefinition as xT,OnPostUpdateDefinition as TT}from"@devvit/protos";var bd;(function(r){function e(o,a){return o.length<=a?o:`${o.slice(0,a-1)}\u2026`}r.ellipsize=e;function t(o){return o[0]==null?o:`${o[0].toLocaleUpperCase()}${o.slice(1)}`}r.capitalize=t;function i(o){return o==null||/^\s*$/.test(o)}r.isBlank=i;function n(o){return o instanceof Error?`${o.stack||o.message||o.name}`:String(o)}r.caughtToString=n})(bd||(bd={}));function ie(r,e){return g(e),async(t,i)=>{let n={...t,type:r},o=Object.assign(Me({metadata:i}),ae(i)),a=await Promise.allSettled(e.map(p=>p(n,o))),c=ET(a);if(c)throw c.err;return pT.fromPartial({})}}function Ty(r){for(let e of u.triggerOnEventHandlers.keys())switch(e){case"PostSubmit":r.provides(xT),M("OnPostSubmit",ie("PostSubmit",u.triggerOnEventHandlers.get(e)));break;case"PostCreate":r.provides(CT),M("OnPostCreate",ie("PostCreate",u.triggerOnEventHandlers.get(e)));break;case"PostUpdate":r.provides(TT),M("OnPostUpdate",ie("PostUpdate",u.triggerOnEventHandlers.get(e)));break;case"PostReport":r.provides(AT),M("OnPostReport",ie("PostReport",u.triggerOnEventHandlers.get(e)));break;case"PostDelete":r.provides(IT),M("OnPostDelete",ie("PostDelete",u.triggerOnEventHandlers.get(e)));break;case"PostFlairUpdate":r.provides(wT),M("OnPostFlairUpdate",ie("PostFlairUpdate",u.triggerOnEventHandlers.get(e)));break;case"CommentSubmit":r.provides(bT),M("OnCommentSubmit",ie("CommentSubmit",u.triggerOnEventHandlers.get(e)));break;case"CommentCreate":r.provides(hT),M("OnCommentCreate",ie("CommentCreate",u.triggerOnEventHandlers.get(e)));break;case"CommentUpdate":r.provides(PT),M("OnCommentUpdate",ie("CommentUpdate",u.triggerOnEventHandlers.get(e)));break;case"CommentReport":r.provides(yT),M("OnCommentReport",ie("CommentReport",u.triggerOnEventHandlers.get(e)));break;case"CommentDelete":r.provides(vT),M("OnCommentDelete",ie("CommentDelete",u.triggerOnEventHandlers.get(e)));break;case"AppInstall":r.provides(fT),M("OnAppInstall",ie("AppInstall",u.triggerOnEventHandlers.get(e)));break;case"AppUpgrade":r.provides(gT),M("OnAppUpgrade",ie("AppUpgrade",u.triggerOnEventHandlers.get(e)));break;case"ModAction":r.provides(kT),M("OnModAction",ie("ModAction",u.triggerOnEventHandlers.get(e)));break;case"ModMail":r.provides(ST),M("OnModMail",ie("ModMail",u.triggerOnEventHandlers.get(e)));break;default:throw new Error(`Unknown trigger event: ${e}`)}}function ET(r){let e=r.reduce((t,i)=>i.status==="rejected"?[...t,i.reason]:t,[]);if(e.length!==0)return e.length===1?{err:e[0]}:{err:new Error(e.map(t=>bd.caughtToString(t)).join(`
3
- `))}}var kb=Cn(qy(),1),Sb=Cn(Yc(),1);import{EffectType as TR,UIEventHandlerDefinition as ER}from"@devvit/protos";async function RR(r,e){let t=r.state??{},i=(0,kb.default)(t),n=Me({ui:!0,metadata:e});if(r.event?.formSubmitted&&r.event.formSubmitted.formId){let p=r.event.formSubmitted.formId;if(p.includes("form.hook.")&&u.customPostType){let P=new nt((C,I)=>u.customPostType?.render(I)??null,r.event,r.state,e,void 0);return await P.reconcile(),{state:P.state,effects:P.getEffects()}}let f=u.formDefinitions.get(p);if(!f)throw new Error(`Form with key ${p} not found`);let v,m;if(i.__contextAction){let{actionId:P,thingId:C}=i.__contextAction,I=_c(P);I?.location==="post"?v=C:I?.location==="comment"&&(m=C)}let y=Object.assign(n,ae(e,v,m),{uiEnvironment:{timezone:e[L.Timezone]?.values[0],locale:e[L.Language]?.values[0]}});await f.onSubmit({values:yt(r.event.formSubmitted.results)},y)}else if(r.event?.realtimeEvent){if(u.customPostType){let p=new nt((f,v)=>u.customPostType?.render(v)??null,r.event,r.state,e,void 0);return await p.reconcile(),{state:p.state,effects:p.getEffects()}}}else if(r.event?.toastAction)throw new Error("Toast actions not yet implemented");let o=!(0,Sb.default)(t,i),a=ri(n.ui),c=o?[...a,{type:TR.EFFECT_RERENDER_UI,rerenderUi:{delaySeconds:0}}]:a;return{state:i,effects:c}}function Cb(r){r.provides(ER),M("HandleUIEvent",RR)}import{CustomPostDefinition as Ob}from"@devvit/protos";var Md=Cn(Yc(),1);import{EffectType as tm,Form as MR,ToastAppearance as wb}from"@devvit/protos";var Qc=class{constructor(e,t,i){this.state=null;this.hookId=e.hookId,this.form=t,this.onSubmit=i,this.onUIEvent=async n=>{n.formSubmitted&&await i(yt(n.formSubmitted.results))}}};function em(r,e){let t=Le({namespace:"useForm"},i=>new Qc(i,r,e));return FR({id:t.hookId})}function FR(r){return`form.hook.${r.id}.0`}function OR(r){return{id:r.match(/form\.hook\.(.+)\.0/)[1]}}function Ib(r,e){let t=OR(e);return r.getHook(t)}var At,Fd=class{constructor(e){l(this,At,void 0);d(this,At,e)}showForm(e,t){let i=Ib(s(this,At),e);if(!i)throw new Error("Form does not exist. Make sure you have added it using useForm.");let n=i.form instanceof Function?i.form(t??{}):i.form,o=MR.fromPartial({id:e,title:n.title,acceptLabel:n.acceptLabel,cancelLabel:n.cancelLabel,shortDescription:n.description});Qt(n.fields),o.fields=it(n.fields),s(this,At).emitEffect(e,{type:tm.EFFECT_SHOW_FORM,showForm:{form:o}})}showToast(e){let t;e instanceof Object?t={text:e.text,appearance:e.appearance==="success"?wb.SUCCESS:wb.NEUTRAL}:t={text:e},s(this,At).emitEffect(e.toString(),{type:tm.EFFECT_SHOW_TOAST,showToast:{toast:t}})}navigateTo(e){let t;typeof e=="string"?t=new URL(e).toString():t=new URL(e.permalink,"https://www.reddit.com").toString(),s(this,At).emitEffect(t,{type:tm.EFFECT_NAVIGATE_TO_URL,navigateToUrl:{url:t}})}};At=new WeakMap;import{RealtimeSubscriptionStatus as Ab}from"@devvit/protos";var ls,xt,lr,rm=class{constructor(e,t){l(this,ls,void 0);l(this,xt,void 0);l(this,lr,void 0);d(this,ls,t.context),d(this,lr,e),d(this,xt,t.invalidate);let i=t.context.meta[L.App]?.values[0];if(!i)throw Error("useChannel() missing app ID metadata");let n=t.context.meta[L.Installation]?.values[0];if(!n)throw Error("useChannel() missing install ID from metadata");this.state={channel:`${i}:${n}:${e.name}`,connected:!1,subscribed:!1}}async onUIEvent(e){let t=e.realtimeEvent;if(!(!t||!this.state.subscribed))switch(t.status){case Ab.REALTIME_SUBSCRIBED:this.state.connected=!0,s(this,xt).call(this),await s(this,lr).onSubscribed?.();break;case Ab.REALTIME_UNSUBSCRIBED:this.state.connected=!1,s(this,xt).call(this),await s(this,lr).onUnsubscribed?.();break;default:s(this,lr).onMessage(t.event?.data??{});break}}async send(e){if(!this.state.subscribed||!this.state.connected)throw Error(`send failed; ${this.state.channel} channel not connected`);await s(this,ls).devvitContext.realtime.send(this.state.channel,e)}get status(){return this.state.subscribed&&this.state.connected?2:this.state.subscribed&&!this.state.connected?1:!this.state.subscribed&&this.state.connected?3:4}subscribe(){this.state.subscribed||(this.state.subscribed=!0,s(this,xt).call(this))}unsubscribe(){this.state.subscribed&&(this.state.subscribed=!1,s(this,xt).call(this))}};ls=new WeakMap,xt=new WeakMap,lr=new WeakMap;function xb(r){return Le({namespace:"useChannel"},e=>new rm(r,e))}import{EffectType as im}from"@devvit/protos";var ui,li=class li{constructor(e,t){l(this,ui,void 0);this._segments=[];this._hooks={};this._prevHookId="";this._effects={};this._changed={};this._requeueEvents=[];this._rootProps={};this._generated={};this._undeliveredHandlers={};this.request=e,this.meta=t,d(this,ui,e.state??{}),this._rootProps=e.props??{}}get devvitContext(){if(!this._devvitContext)throw new Error("Devvit context not available");return this._devvitContext}set devvitContext(e){this._devvitContext=e}get _changedState(){let e={};for(let t in this._changed)e[t]=this._state[t];return e}get _state(){return s(this,ui)}set _state(e){this._changed={},d(this,ui,e)}push(e){this._segments.push({...e,next:0})}pop(){this._segments.pop()}addUndeliveredEventHandler(e,t){this._undeliveredHandlers[e]=t}addGlobalUndeliveredEventHandler(e,t){li.addGlobalUndeliveredEventHandler(e,t)}getHook(e){return this._hooks[e.id]}static addGlobalUndeliveredEventHandler(e,t){li._staticUndeliveredHandlers[e]=t}async handleUndeliveredEvent(e){let t={...li._staticUndeliveredHandlers,...this._undeliveredHandlers};for(let[i,n]of Object.entries(t))await n(e,this)}emitEffect(e,t){this._effects[e]=t}addToRequeueEvents(...e){console.debug("requeueing events",e);let t=e.reduce((i,n)=>(n.retry?i.retry.push(n):i.normal.push(n),i),{retry:[],normal:[]});this._requeueEvents=[...t.retry,...this._requeueEvents,...t.normal]}get effects(){return Object.values(this._effects)}nextHookId(e){e.key===void 0&&(e.key=this._segments[this._segments.length-1].next+++""),this.push(e);try{let t=[];for(let n=this._segments.length-1;n>=0;n--){let o=this._segments[n];if(o.id){t.unshift(o.id);break}let a=[];o.namespace&&a.push(o.namespace),o.key!==void 0&&o.key!==!1&&a.push(o.key),t.unshift(a.join("-"))}let i=t.join(".");if(this._generated[i]&&!e.shared)throw new Error(`Hook id ${i} already used, cannot register another hook with the same id`);return this._generated[i]=!0,this._prevHookId=i,i}finally{this.pop()}}};ui=new WeakMap,li._staticUndeliveredHandlers={};var ci=li;var Tt={};ci.addGlobalUndeliveredEventHandler("intervals",async(r,e)=>{r.timer&&r.hook&&(delete Tt[r.hook],e.emitEffect("timers",{type:im.EFFECT_SET_INTERVALS,interval:{intervals:Tt}}))});var Et,mi,us,pi,nm=class{constructor(e,t,i){l(this,Et,void 0);l(this,mi,void 0);l(this,us,void 0);l(this,pi,void 0);this.state={duration:{seconds:0,nanos:0},running:!1};d(this,mi,i.invalidate),d(this,Et,i.hookId),d(this,us,e),d(this,pi,i.context);let n=Math.floor(t/1e3),o=t%1e3*1e6;this.state.duration={seconds:n,nanos:o}}onStateLoaded(){this.state.running?Tt[s(this,Et)]={duration:this.state.duration}:delete Tt[s(this,Et)]}async onUIEvent(e){await s(this,us).call(this)}start(){Tt[s(this,Et)]={duration:this.state.duration},this.state.running=!0,s(this,mi).call(this),s(this,pi).emitEffect("timers",{type:im.EFFECT_SET_INTERVALS,interval:{intervals:Tt}})}stop(){delete Tt[s(this,Et)],this.state.running=!1,s(this,mi).call(this),s(this,pi).emitEffect("timers",{type:im.EFFECT_SET_INTERVALS,interval:{intervals:Tt}})}};Et=new WeakMap,mi=new WeakMap,us=new WeakMap,pi=new WeakMap;function sm(r,e){return Le({namespace:"useInterval"},t=>new nm(r,e,t))}var fi=class extends Error{};function am(r){let e=Le({namespace:"useState"},({invalidate:t})=>{let i=r instanceof Function?r():r;if(i instanceof Promise)throw new Error("Cannot use async initializer with context.useState. Please use useAsyncState instead by importing it: import { Devvit, useAsyncState } from '@devvit/public-api';");return{state:i,setter:o=>{e.state=o instanceof Function?o(e.state):o,t()}}});return[e.state,e.setter]}var ur,cs,ms,gi,om=class{constructor(e,t){this.state={value:null,loading:!1};l(this,ur,void 0);l(this,cs,void 0);l(this,ms,void 0);l(this,gi,void 0);d(this,ms,e),d(this,gi,t.hookId),d(this,ur,t.invalidate),d(this,cs,t.context)}async onUIEvent(){this.state.value===null&&(this.state.value=await s(this,ms).call(this),this.state.loading=!1,s(this,ur).call(this))}setter(e){this.state.value=e instanceof Function?e(this.state.value):e,s(this,ur).call(this)}onStateLoaded(){if(this.state.value===null){this.state.loading=!0,s(this,ur).call(this);let e={asyncRequest:{requestId:s(this,gi)},hook:s(this,gi)};throw s(this,cs).addToRequeueEvents(e),new fi}}};ur=new WeakMap,cs=new WeakMap,ms=new WeakMap,gi=new WeakMap;function UR(r){let e=Le({namespace:"useAsyncState"},t=>new om(r,t));return[e.state.value,e.setter.bind(e)]}var LR=new Proxy({},{get:function(r,e,t){throw new Error(`Unimplemented API: ${String(e)}`)}}),Od=class{buildContext(e,t,i){let n=new Vr(i),o=new Gr(i),a=new Xr(i),c=new $r(i),p=new Zr(i),f=new Yr(i),v=new Fd(e),m=new zr(i),y=new Wr(i,()=>u.assetsPlugin),P=new ti(i),I={modLog:n,kvStore:o,redis:a,reddit:c,scheduler:p,settings:f,media:m,assets:y,realtime:P,ui:v,useState:am,useChannel:xb,useInterval:sm,useForm:em,cache:LR,dimensions:t.env?.dimensions,uiEnvironment:{timezone:i[L.Timezone]?.values[0],locale:i[L.Language]?.values[0],dimensions:t.env?.dimensions}},A=ae(i,t.props?.postId);return A.debug.effects=e,{...A,...I}}};var Rt,ps,hi,fs,dm=class{constructor(e,t){l(this,Rt,void 0);l(this,ps,void 0);l(this,hi,void 0);l(this,fs,void 0);console.debug("useAsync v1"),this.state={data:null,loading:!1,error:null},d(this,Rt,t.hookId),d(this,ps,e),d(this,hi,t.invalidate),d(this,fs,t.context)}onStateLoaded(){if(console.debug("async onLoad ",s(this,Rt),this.state),this.state.data===null&&this.state.error===null&&this.state.loading===!1){this.state.loading=!0,s(this,hi).call(this);let e={hook:s(this,Rt),async:!0,asyncRequest:{requestId:s(this,Rt)}};console.debug("onLoad requeue"),s(this,fs).addToRequeueEvents(e)}}async onUIEvent(e,t){if(e.asyncRequest){let i={requestId:e.asyncRequest.requestId};try{i.data={value:await s(this,ps).call(this)}}catch(o){o instanceof Error?i.error={message:o.message,details:o.stack??""}:i.error={message:"Unknown error",details:String(o)}}let n={asyncResponse:i,hook:s(this,Rt)};console.debug("onReq requeue"),t.addToRequeueEvents(n)}else if(e.asyncResponse){let i={data:e.asyncResponse.data?.value,loading:!1,error:e.asyncResponse.error??null};this.state=i,s(this,hi).call(this)}else throw new Error("Unknown event type")}};Rt=new WeakMap,ps=new WeakMap,hi=new WeakMap,fs=new WeakMap;function lm(r){return Le({namespace:"useAsync"},t=>new dm(r,t)).state}var ve=null;function um(r){return JSON.parse(JSON.stringify(r))}function Le(r,e){if(!ve)throw new Error("Hooks can only be declared at the top of a component. You cannot declare hooks outside of components or inside of event handlers. It's almost always a mistake to declare hooks inside of loops or conditionals.");let t=ve.nextHookId(r),i=ve,n={hookId:t,invalidate:()=>{i._changed[t]=!0,i._state[t]=i?._hooks[t]?.state},context:ve},o=ve._state[t]===void 0;ve._hooks[t]=ve._hooks[t]??e(n);let a=ve._hooks[t];return ve._state[t]!==void 0&&(a.state=ve._state[t]),a.onStateLoaded?.(),o&&a.state!==void 0&&a.state!==null&&n.invalidate(),a}var BR=null,vi,Dd,gs,yi,Ud,_d,Tb,hs,cm,Nd,Eb,vs,mm,ys,pm,bi,Ld,bs,fm,qd,Rb,Hd,Fb,Bd=class{constructor(e){l(this,yi);l(this,_d);l(this,hs);l(this,Nd);l(this,vs);l(this,ys);l(this,bi);l(this,bs);l(this,qd);l(this,Hd);l(this,vi,void 0);l(this,Dd,new Od);l(this,gs,new si);this._latestRenderContext=null;console.log("BlocksHandler v1"),d(this,vi,e),BR=this}async handle(e,t){let i=new ci(e,t),n=s(this,Dd).buildContext(i,e,t);i.devvitContext=n;let o,a=e.events,p=!e.events?.length||a.some(P=>!P.async),f=a.some(P=>P.blocking),v,m,y=[...a];for(;a.length>0;){let P=[];if(!a[0].async)P.push(a.shift());else for(;a[0]?.async;)P.push(a.shift());if(!P.length)throw Error("batch must have at least one event");try{if(P[0].async){let I=um(i._state);await b(this,_d,Tb).call(this,i,...P),i._state=I}else await b(this,Nd,Eb).call(this,i,...P)}catch(I){if(console.debug("caught in handler",I),m){i._state=m._state,i._changed=v,i._effects=m._effects;let A=y.map(U=>{let le={...U};return le.retry=!0,le});i.addToRequeueEvents(...A);break}else throw I}console.debug("remaining events",i._requeueEvents);let C=[];for(let I of i._requeueEvents){if(!p&&!I.async){console.debug("NOT reprocessing event in BlocksHandler, sync mismatch A",I),C.push(I);continue}if(p&&I.async&&!f){console.debug("NOT reprocessing event in BlocksHandler, sync mismatch B",I),C.push(I);continue}console.debug("reprocessing event in BlocksHandler",I),a.push(I)}i._requeueEvents=C,a.length>0&&(v={...i._changed},m={_state:um(i._state),_effects:{...i._effects}},y=[...a])}if(p){let P=um(i._state),C=[...i._requeueEvents],I={...i._effects},A=b(this,vs,mm).call(this,s(this,vi),i._rootProps??{},i);(0,Md.default)(i._state,P)||console.error("State was mutated during rendering",i._state,P),(0,Md.default)(i._requeueEvents,C)||console.error("Events were mutated during rendering",i._requeueEvents,C),(0,Md.default)(i._effects,I)||console.error("Effects were mutated during rendering",i._effects,I),A&&(o=await s(this,gs).createBlocksElementOrThrow(A),o=await s(this,gs).ensureRootBlock(o))}return{state:i._changedState,effects:i.effects,blocks:o,events:i._requeueEvents}}};vi=new WeakMap,Dd=new WeakMap,gs=new WeakMap,yi=new WeakSet,Ud=function(e,...t){b(this,vs,mm).call(this,s(this,vi),e.request.props??{},e)},_d=new WeakSet,Tb=async function(e,...t){b(this,yi,Ud).call(this,e,...t),await Promise.all(t.map(async i=>{if(!i.async)throw new Error("You can't mix main and other queues in one batch. This is likely a platform bug. Please file an issue in the Discord for someone to help! https://discord.com/channels/1050224141732687912/1115441897079574620");await b(this,hs,cm).call(this,e,i)}))},hs=new WeakSet,cm=async function(e,t){let i=e._hooks[t.hook];if(i?.onUIEvent)try{await i.onUIEvent(t,e)}catch(n){throw console.error("Error in event handler",n),n}else await e.handleUndeliveredEvent(t)},Nd=new WeakSet,Eb=async function(e,...t){for(let i of t)b(this,yi,Ud).call(this,e,i),await b(this,hs,cm).call(this,e,i);b(this,yi,Ud).call(this,e)},vs=new WeakSet,mm=function(e,t,i){console.debug("renderRoot"),i._generated={},ve=i,this._latestRenderContext=i;try{let n=b(this,ys,pm).call(this,e,t,i);if(n.length!==1)throw new Error("only one root");let o=n[0];if(typeof o=="string")throw new Error("There must be a root tag. Try wrapping your app in a <text></text>, <vstack> or other tag.");return o}catch(n){if(n instanceof fi)return;throw n}finally{ve=null}},ys=new WeakSet,pm=function(e,t,i){i.push({namespace:e.name,...t});try{let n=e(t,i.devvitContext);return b(this,bs,fm).call(this,n,i)}finally{i.pop()}},bi=new WeakSet,Ld=function(e,t){return e=e.flat(1/0),e.flatMap((i,n)=>(i&&typeof i=="object"&&"props"in i&&(i.props?.key||(i.props=i.props??{},i.props.key=`${n}`)),b(this,bs,fm).call(this,i,t)))},bs=new WeakSet,fm=function(e,t){if(Array.isArray(e))return b(this,bi,Ld).call(this,e,t);if(DR(e)){if(e.type===void 0)return b(this,bi,Ld).call(this,e.children,t);if(typeof e.type=="function"){let i={...e.props,children:e.children};return b(this,ys,pm).call(this,e.type,i,t)}else{t.push({namespace:e.type,...e.props});let i=b(this,bi,Ld).call(this,e.children,t),n=b(this,qd,Rb).call(this,e.props??{});return t.pop(),[{type:e.type,children:i,props:n}]}}else return[(e??"").toString()]},qd=new WeakSet,Rb=function(e){let t={};for(let i in e)if(typeof e[i]=="function"){let n=Le({namespace:i,key:!1},({hookId:o})=>({hookId:o,state:null,onUIEvent:e[i]}));t[i]=n.hookId,"captureHookRef"in e[i]&&e[i].captureHookRef()}else{let n=e[i];n!=null&&(t[i]=i==="url"?b(this,Hd,Fb).call(this,n):n)}return t},Hd=new WeakSet,Fb=function(e){let t=globalThis.devvit?.config?.assets?.[e];if(t)return t;if(ry(e)||Cc(e))return e;let{data:i,loading:n}=lm(async()=>await this._latestRenderContext?.devvitContext.assets.getURL(e)??null);return n?"":i??"[missing]"};function DR(r){return typeof r=="object"&&r!=null&&"type"in r}var _R=[[Ob,Ob.methods.renderPostContent,(r,e)=>u.customPostType?.render(e)??null]];function NR(r){return async(e,t)=>new Bd(r).handle(e,t)}function Mb(r){for(let[e,t,i]of _R)r.provides(e),M(t.name,NR(i))}var Ps,Pi,cr,mr,pr,ki,Si,Ft,fr,B,N,G,_=class _ extends Ya{static configure(e){d(this,Ps,e),st(e.http)&&b(this,N,G).call(this,S.HTTPDefinition),(st(e.kvStore)||st(e.redis))&&(b(this,N,G).call(this,S.KVStoreDefinition),b(this,N,G).call(this,S.RedisAPIDefinition)),st(e.media)&&b(this,N,G).call(this,S.MediaServiceDefinition),st(e.modLog)&&b(this,N,G).call(this,S.ModlogDefinition),st(e.redditAPI)&&(b(this,N,G).call(this,S.FlairDefinition),b(this,N,G).call(this,S.GraphQLDefinition),b(this,N,G).call(this,S.LinksAndCommentsDefinition),b(this,N,G).call(this,S.ListingsDefinition),b(this,N,G).call(this,S.ModerationDefinition),b(this,N,G).call(this,S.ModNoteDefinition),b(this,N,G).call(this,S.NewModmailDefinition),b(this,N,G).call(this,S.PrivateMessagesDefinition),b(this,N,G).call(this,S.SubredditsDefinition),b(this,N,G).call(this,S.PostCollectionsDefinition),b(this,N,G).call(this,S.UsersDefinition),b(this,N,G).call(this,S.WidgetsDefinition),b(this,N,G).call(this,S.WikiDefinition),b(this,N,G).call(this,S.RedditAPIV2Definition)),st(e.realtime)&&b(this,N,G).call(this,S.RealtimeDefinition)}static addMenuItem(e){s(this,Pi).push(e)}static addCustomPostType(e){d(this,cr,e)}static createForm(e,t){let i=`form.${s(this,mr).size}`;return s(this,mr).set(i,{form:e,onSubmit:t}),i}static addSchedulerJob(e){if(s(this,B)[S.SchedulerDefinition.fullName]||b(this,N,G).call(this,S.SchedulerDefinition),s(this,pr).has(e.name))throw new Error(`Job ${e.name} is already defined`);s(this,pr).set(e.name,e.onRun)}static addSettings(e){Qt(e);let t=e.filter(n=>n.type==="group"||!n.scope||n.scope==="installation"),i=e.filter(n=>n.type!=="group"&&n.scope==="app");t.length>0&&d(this,ki,t),i.length>0&&d(this,Si,i),s(this,B)[S.SettingsDefinition.fullName]||b(this,N,G).call(this,S.SettingsDefinition)}static addTrigger(e){if("events"in e){for(let t of e.events)this.addTrigger({event:t,onEvent:(i,n)=>e.onEvent(i,n)});return this}return s(this,Ft).has(e.event)?s(this,Ft).get(e.event)?.push(e.onEvent):s(this,Ft).set(e.event,[e.onEvent]),_}static get redditAPIPlugins(){if(!st(s(this,Ps).redditAPI))throw new Error("Reddit API is not enabled. You can enable it by passing `redditAPI: true` to `Devvit.configure`.");return{Flair:s(this,B)[S.FlairDefinition.fullName],GraphQL:s(this,B)[S.GraphQLDefinition.fullName],LinksAndComments:s(this,B)[S.LinksAndCommentsDefinition.fullName],Listings:s(this,B)[S.ListingsDefinition.fullName],Moderation:s(this,B)[S.ModerationDefinition.fullName],ModNote:s(this,B)[S.ModNoteDefinition.fullName],NewModmail:s(this,B)[S.NewModmailDefinition.fullName],PrivateMessages:s(this,B)[S.PrivateMessagesDefinition.fullName],Subreddits:s(this,B)[S.SubredditsDefinition.fullName],PostCollections:s(this,B)[S.PostCollectionsDefinition.fullName],Users:s(this,B)[S.UsersDefinition.fullName],Widgets:s(this,B)[S.WidgetsDefinition.fullName],Wiki:s(this,B)[S.WikiDefinition.fullName]}}static get modLogPlugin(){let e=s(this,B)[S.ModlogDefinition.fullName];if(!e)throw new Error("ModLog is not enabled. You can enable it by passing `modLog: true` to `Devvit.configure`");return e}static get schedulerPlugin(){let e=s(this,B)[S.SchedulerDefinition.fullName];if(!e)throw new Error("Scheduler is not enabled. You can enable it by calling `Devvit.addSchedulerJob` at the top level of your app.");return e}static get kvStorePlugin(){let e=s(this,B)[S.KVStoreDefinition.fullName];if(!e)throw new Error("Key Value Store is not enabled. You can enable it by passing `kvStore: true` to `Devvit.configure`");return e}static get redisPlugin(){let e=s(this,B)[S.RedisAPIDefinition.fullName];if(!e)throw new Error("Redis is not enabled. You can enable it by passing `redis: true` to `Devvit.configure`");return e}static get mediaPlugin(){let e=s(this,B)[S.MediaServiceDefinition.fullName];if(!e)throw new Error("MediaService is not enabled. You can enable it by passing `media: true` to `Devvit.configure`");return e}static get redditapiv2Plugin(){let e=s(this,B)[S.RedditAPIV2Definition.fullName];if(!e)throw new Error("RedditAPIV2 is not enabled. You can enable it by passing `apiV2: true` to `Devvit.configure`");return e}static get assetsPlugin(){let e=s(this,B)[S.AssetResolverDefinition.fullName];if(!e)throw new Error("AssetsService is not available. This should not happen, and indicates a setup problem with the runtime.");return e}static get settingsPlugin(){let e=s(this,B)[S.SettingsDefinition.fullName];if(!e)throw new Error("Settings is not enabled. You can enable it by passing `settings: true` to `Devvit.configure`");return e}static get realtimePlugin(){let e=s(this,B)[S.RealtimeDefinition.fullName];if(!e)throw new Error("Realtime is not enabled. You can enable it by passing `realtime: true` to `Devvit.configure`");return e}static get menuItems(){return s(this,Pi)}static get customPostType(){return s(this,cr)}static get formDefinitions(){return s(this,mr)}static get scheduledJobHandlers(){return s(this,pr)}static get installationSettings(){return s(this,ki)}static get appSettings(){return s(this,Si)}static get triggerOnEventHandlers(){return s(this,Ft)}constructor(e){var t;super(e),b(t=_,N,G).call(t,S.AssetResolverDefinition);for(let i in s(_,fr)){let n=s(_,fr)[i];n.handler=e.use(n.def,n.options)}s(_,Pi).length>0&&Ay(e),s(_,pr).size>0&&xy(e),s(_,cr)&&(Cy(e),Mb(e)),(s(_,cr)||s(_,mr).size>0)&&Cb(e),s(_,ki)&&Iy(e),s(_,Si)&&ey(e),s(_,Ft).size>0&&Ty(e)}};Ps=new WeakMap,Pi=new WeakMap,cr=new WeakMap,mr=new WeakMap,pr=new WeakMap,ki=new WeakMap,Si=new WeakMap,Ft=new WeakMap,fr=new WeakMap,B=new WeakMap,N=new WeakSet,G=function(e,t){s(this,fr)[e.fullName]={def:e,options:t??{},handler:void 0};let i={};for(let n of Object.values(e.methods))i[n.name]=(o,a)=>s(this,fr)[e.fullName].handler?.[n.name]?.(n.requestType?.fromPartial(o??{}),a);return s(this,B)[e.fullName]=i,i},l(_,N),_.debug={emitSnapshots:!1,emitState:!1},l(_,Ps,{}),l(_,Pi,[]),l(_,cr,void 0),l(_,mr,new Map),l(_,pr,new Map),l(_,ki,void 0),l(_,Si,void 0),l(_,Ft,new Map),l(_,fr,{}),l(_,B,{});var u=_;(e=>{function r(t,i,...n){return{type:t,props:i,children:n}}e.createElement=r})(u||(u={}));function J(r){let e=Object.getOwnPropertyDescriptors(r.constructor.prototype);for(let[t,i]of Object.entries(e))i.get&&Object.defineProperty(r,t,{...i,enumerable:!0})}var gm;(function(r){r[r.bold=1]="bold",r[r.italic=2]="italic",r[r.underline=4]="underline",r[r.strikethrough=8]="strikethrough",r[r.subscript=16]="subscript",r[r.superscript=32]="superscript",r[r.monospace=64]="monospace"})(gm||(gm={}));var Ub="text",Lb="raw",Bb="br",Db="link",_b="c/",Nb="p/",qb="r/",Hb="u/",jb="@",Wb="spoilertext",Gb="par",zb="h",Vb="hr",Jb="blockquote",$b="code",Kb="li",Xb="list",Zb="L",Yb="R",Qb="C",eP="table",tP="embed",rP="img",iP="gif",nP="video";function sP(r){return{e:iP,id:r.mediaId,...r.caption&&{c:r.caption},...r.blur&&{o:r.blur}}}function oP(r,e){let t={},i=[];return Object.assign(t,ks(t,i),Ss(t,i),Cs(t,i),As(t,i),xs(t,i),Ts(t,i)),e(t),{e:Jb,c:i,...r.author&&{a:r.author}}}function aP(r,e){let t={},i=[];return Object.assign(t,vm(t,i)),e(t),{e:$b,c:i,...r.language&&{l:r.language}}}function dP(r){return{e:_b,t:r.permalink}}function lP(r,e){let t={},i=[];return Object.assign(t,vm(t,i),ws(t,i)),e(t),{e:zb,l:r.level,c:i}}function uP(r){return{e:tP,u:r.sourceUrl,c:r.contentUrl,x:r.width,y:r.height}}function cP(){return{e:Vb}}function mP(r){return{e:rP,id:r.mediaId,...r.caption&&{c:r.caption},...r.blur&&{o:r.blur}}}function pP(){return{e:Bb}}function fP(r){return{e:Db,t:r.text,u:r.url,...r.formatting&&{f:r.formatting},...r.tooltip&&{a:r.tooltip}}}function gP(r,e){let t={},i=[];return Object.assign(t,FP(t,i)),e(t),{e:Xb,o:r.ordered,c:i}}function hP(r){let e={},t=[];return Object.assign(e,ks(e,t),Ss(e,t),Cs(e,t),jd(e,t),As(e,t),xs(e,t),Ts(e,t)),r(e),{e:Kb,c:t}}function vP(r){let e={},t=[];return Object.assign(e,Wd(e,t),ws(e,t),hm(e,t),ym(e,t),Is(e,t)),r(e),{e:Gb,c:t}}function yP(r){return{e:Nb,t:r.permalink}}function bP(r){return{e:Lb,t:r}}function PP(r){let e={},t=[];return Object.assign(e,Wd(e,t),ws(e,t),hm(e,t)),r(e),{e:Wb,c:t}}function kP(r){return{e:qb,t:r.subredditName,l:r.showPrefix}}function SP(r){let e={},t=[],i=[];return Object.assign(e,OP(e,t,i)),r(e),{e:eP,h:t,c:i}}function CP(r){let[e,t]=RP();return r(e),{c:t}}function IP(r,e){let[t,i]=RP();e(t);let n;switch(r.columnAlignment){case"left":n=Zb;break;case"right":n=Yb;break;case"center":n=Qb;break}return{...n&&{a:n},...i&&{c:i}}}function wP(r){let e={},t=[];return Object.assign(e,MP(e,t)),r(e),t}function AP(r){return{e:Ub,t:r.text,...r.formatting&&{f:r.formatting}}}function xP(r){return{e:Hb,t:r.username,l:r.showPrefix}}function TP(r){return{e:jb,t:r.username,l:r.showPrefix}}function EP(r){return{e:nP,id:r.mediaId,...r.caption&&{c:r.caption},...r.blur&&{o:r.blur},...r.thumbnail&&{p:r.thumbnail},...r.convertToGif&&{gifify:r.convertToGif}}}function RP(){let r={},e=[];return Object.assign(r,Wd(r,e),ws(r,e),ym(r,e),Is(r,e)),[r,e]}function ks(r,e){return{blockQuote(t,i){return e.push(oP(t,i)),r}}}function Ss(r,e){return{codeBlock(t,i){return e.push(aP(t,i)),r}}}function UP(r,e){return{embed(t){return e.push(uP(t)),r}}}function Cs(r,e){return{heading(t,i){return e.push(lP(t,i)),r}}}function jd(r,e){return{horizontalRule(){return e.push(cP()),r}}}function Is(r,e){return{image(t){return e.push(mP(t)),r},animatedImage(t){return e.push(sP(t)),r}}}function hm(r,e){return{linebreak(){return e.push(pP()),r}}}function ws(r,e){return{link(t){return e.push(fP(t)),r},commentLink(t){return e.push(dP(t)),r},postLink(t){return e.push(yP(t)),r},subredditLink(t){return e.push(kP(t)),r},userLink(t){return e.push(xP(t)),r},userMention(t){return e.push(TP(t)),r}}}function As(r,e){return{list(t,i){return e.push(gP(t,i)),r}}}function FP(r,e){return{item(t){return e.push(hP(t)),r}}}function xs(r,e){return{paragraph(t){return e.push(vP(t)),r}}}function vm(r,e){return{rawText(t){return e.push(bP(t)),r}}}function ym(r,e){return{spoiler(t){return e.push(PP(t)),r}}}function OP(r,e,t){return{headerCell(i,n){return e.push(IP(i,n)),r},row(i){return t.push(wP(i)),r}}}function Ts(r,e){return{table(t){return e.push(SP(t)),r}}}function MP(r,e){return{cell(t){return e.push(CP(t)),r}}}function Wd(r,e){return{text(t){return e.push(AP(t)),r}}}function LP(r,e){return{video(t){return e.push(EP(t)),r}}}var qR=function(r,e,t,i,n){if(i==="m")throw new TypeError("Private method is not writable");if(i==="a"&&!n)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?r!==e||!n:!e.has(r))throw new TypeError("Cannot write private member to an object whose class did not declare it");return i==="a"?n.call(r,t):n?n.value=t:e.set(r,t),t},HR=function(r,e,t,i){if(t==="a"&&!i)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?r!==e||!i:!e.has(r))throw new TypeError("Cannot read private member from an object whose class did not declare it");return t==="m"?i:t==="a"?i.call(r):i?i.value:e.get(r)},Gd,Es=class{constructor(){Gd.set(this,void 0);let e=[];Object.assign(this,xs(this,e),Cs(this,e),jd(this,e),ks(this,e),Ss(this,e),UP(this,e),As(this,e),Ts(this,e),Is(this,e),LP(this,e)),qR(this,Gd,{document:e},"f")}build(){return JSON.stringify(HR(this,Gd,"f"))}paragraph(e){return this}heading(e,t){return this}horizontalRule(){return this}blockQuote(e,t){return this}codeBlock(e,t){return this}embed(e){return this}list(e,t){return this}table(e){return this}image(e){return this}animatedImage(e){return this}video(e){return this}};Gd=new WeakMap;function Ci(r){let e;return r instanceof Es?e=r.build():typeof r=="object"?e=JSON.stringify(r):e=r,e}var BP=100,DP=1/0,gr,hr,Ot,Ii,wi,zd,j=class{constructor(e){l(this,wi);l(this,gr,void 0);l(this,hr,void 0);l(this,Ot,void 0);l(this,Ii,!1);this.pageSize=BP;this.limit=DP;this.children=[];J(this),this._fetch=e.fetch,this.pageSize=e.pageSize??BP,this.limit=e.limit??DP,d(this,hr,e.after),d(this,gr,e.before),d(this,Ot,e.more),e.children&&(this.children=e.children)}get hasMore(){return!s(this,Ii)||!!(s(this,hr)||s(this,gr)||s(this,Ot))}async*[Symbol.asyncIterator](){let e=0;for(;;){if(e===this.children.length)if(this.hasMore){if((await b(this,wi,zd).call(this)).length===0)break}else break;if(yield this.children[e],e++,e===this.limit)break}}setMore(e){d(this,Ot,e)}preventInitialFetch(){d(this,Ii,!0)}async all(){for(;this.hasMore&&this.children.length<this.limit;)await b(this,wi,zd).call(this);return this.children.slice(0,this.limit)}async get(e){let t=e<=this.limit?e:this.limit;for(;this.hasMore&&this.children.length<t;)await b(this,wi,zd).call(this);return this.children.slice(0,t)}};gr=new WeakMap,hr=new WeakMap,Ot=new WeakMap,Ii=new WeakMap,wi=new WeakSet,zd=async function(){if(!this.hasMore)throw new Error("This listing does not have any more items to load.");let{children:e,before:t,after:i,more:n}=await this._fetch({before:s(this,gr),after:s(this,hr),limit:this.pageSize,more:s(this,Ot)});return this.children.push(...e),d(this,gr,t),d(this,hr,i),d(this,Ot,n),d(this,Ii,!0),e};function jR(r){try{return!0}catch{return!1}}function WR(r){try{return!0}catch{return!1}}var Rs,bm,Re=class{constructor(){}static get(e,t){let i=u.redditAPIPlugins.ModNote;return new j({hasMore:!0,before:e.before,limit:e.limit,pageSize:e.limit,fetch:async n=>{let o=await i.GetNotes({subreddit:e.subreddit,user:e.user,filter:e.filter,before:n.before,limit:n.limit},t);return{children:o.modNotes?.map(a=>b(this,Rs,bm).call(this,a))||[],before:o.hasNextPage?o.endCursor:void 0,hasMore:o.hasNextPage}}})}static async delete(e,t){let i=u.redditAPIPlugins.ModNote,{deleted:n}=await i.DeleteNotes(e,t);return!!n}static async add(e,t){let n=await u.redditAPIPlugins.ModNote.PostNotes(e,t);if(!n?.created)throw new Error("Failed to create mod note");return b(this,Rs,bm).call(this,n.created)}static async addRemovalNote(e,t){await u.redditAPIPlugins.ModNote.PostRemovalNote(e,t)}};Rs=new WeakSet,bm=function(e){if(g(e.id,"Mod note ID is null or undefined"),g(e.createdAt,"Mod note createdAt is null or undefined"),g(e.type,"Mod note type is null or undefined"),g(e.subreddit,"Mod note subreddit is null or undefined"),g(e.subredditId,"Mod note subredditId is null or undefined"),g(e.operator,"Mod note operator is null or undefined"),g(e.operatorId,"Mod note operatorId is null or undefined"),g(e.user,"Mod note user is null or undefined"),g(e.userId,"Mod note userId is null or undefined"),g(e.userNoteData,"Mod note userNote is null or undefined"),g(e.modActionData,"Mod note modAction is null or undefined"),!jR(e.userNoteData?.label??""))throw new Error(`Invalid user note label: ${e.userNoteData?.label}`);if(!WR(e.type))throw new Error(`Invalid mod note type: ${e.type}`);return{id:e.id,user:{id:te(e.userId??""),name:e.user},subreddit:{id:Te(e.subredditId??""),name:e.subreddit},operator:{id:te(e.operatorId??""),name:e.operator},createdAt:new Date(e.createdAt*1e3),userNote:{note:e.userNoteData?.note,redditId:fe(e.userNoteData?.redditId??""),label:e.userNoteData?.label},type:e.type}},l(Re,Rs);var Ai=class{static queryWithQueryString(e,t){return u.redditAPIPlugins.GraphQL.Query({query:e},t)}static query(e,t,i,n){return u.redditAPIPlugins.GraphQL.PersistedQuery({operationName:e,id:t,variables:i},n)}};var _P=["all","wiki","posts","access","mail","config","flair","channels","chat_config","chat_community","chat_operator"];function GR(r,e,t=!1){let i=t?"%2b":"+";return e.map(n=>(r.includes(n)?i:"-")+n).join(",")}function Pm(r){return GR(r,_P,!0)}function NP(r){return r.filter(e=>_P.includes(e))}var zR=(t=>(t.User="USER_FLAIR",t.Post="LINK_FLAIR",t))(zR||{}),vr,xi,Ti,Ei,Ri,Fi,Oi,Mi,Ui,Li,Bi,Vd,ze=class ze{constructor(e,t,i){l(this,vr,void 0);l(this,xi,void 0);l(this,Ti,void 0);l(this,Ei,void 0);l(this,Ri,void 0);l(this,Fi,void 0);l(this,Oi,void 0);l(this,Mi,void 0);l(this,Ui,void 0);l(this,Li,void 0);J(this),g(e.id),g(e.text),d(this,vr,e.id),d(this,xi,t),d(this,Ti,e.text),d(this,Ei,VR(e.textColor)),d(this,Ri,JR(e.backgroundColor)),d(this,Fi,$R(e.allowableContent)),d(this,Oi,e.modOnly),d(this,Mi,e.maxEmojis),d(this,Ui,e.textEditable),d(this,Li,i)}get id(){return s(this,vr)}get text(){return s(this,Ti)}get textColor(){return s(this,Ei)}get backgroundColor(){return s(this,Ri)}get allowableContent(){return s(this,Fi)}get modOnly(){return s(this,Oi)}get maxEmojis(){return s(this,Mi)}get allowUserEdits(){return s(this,Ui)}async delete(){return ze.deleteFlairTemplate(s(this,vr),s(this,xi),s(this,Li))}async edit(e){return ze.editFlairTemplate({id:s(this,vr),subredditName:s(this,xi),text:e.text??s(this,Ti),allowableContent:e.allowableContent??s(this,Fi),backgroundColor:e.backgroundColor??s(this,Ri),maxEmojis:e.maxEmojis??s(this,Mi),modOnly:e.modOnly??s(this,Oi),textColor:e.textColor??s(this,Ei),allowUserEdits:e.allowUserEdits??s(this,Ui)},s(this,Li))}static async createPostFlairTemplate(e,t){var i;return b(i=ze,Bi,Vd).call(i,{...e,flairType:"LINK_FLAIR"},t)}static async createUserFlairTemplate(e,t){var i;return b(i=ze,Bi,Vd).call(i,{...e,flairType:"USER_FLAIR"},t)}static async editFlairTemplate(e,t){var i;return b(i=ze,Bi,Vd).call(i,e,t)}static async getPostFlairTemplates(e,t){return(await u.redditAPIPlugins.Flair.LinkFlair({subreddit:e},t)).flair?.map(o=>new ze(o,e,t))||[]}static async getUserFlairTemplates(e,t){return(await u.redditAPIPlugins.Flair.UserFlair({subreddit:e},t)).flair?.map(o=>new ze(o,e,t))||[]}static async deleteFlairTemplate(e,t,i){await u.redditAPIPlugins.Flair.DeleteFlairTemplate({subreddit:e,flairTemplateId:t},i)}};vr=new WeakMap,xi=new WeakMap,Ti=new WeakMap,Ei=new WeakMap,Ri=new WeakMap,Fi=new WeakMap,Oi=new WeakMap,Mi=new WeakMap,Ui=new WeakMap,Li=new WeakMap,Bi=new WeakSet,Vd=async function(e,t){let{subredditName:i,allowableContent:n="all",backgroundColor:o="transparent",flairType:a="",maxEmojis:c=10,modOnly:p=!1,text:f,textColor:v="dark",allowUserEdits:m=!1,id:y=""}=e;if(p&&m)throw new Error("Cannot have a mod only flair that is editable by users");let C=await u.redditAPIPlugins.Flair.FlairTemplate({subreddit:i,allowableContent:n,backgroundColor:o,flairType:a,maxEmojis:c,modOnly:p,text:f,textColor:v,textEditable:m,flairTemplateId:y,cssClass:"",overrideCss:!1},t);return new ze(C,i,t)},l(ze,Bi);var oe=ze;function Ms(r){return{flairCssClass:r.flairCssClass,user:r.user,flairText:r.flairText}}var Fs,km,Os,Sm,Mt=class Mt{static async getUserFlairBySubreddit(e,t){return u.redditAPIPlugins.Flair.FlairList(e,t)}static setUserFlair(e,t){var i;return b(i=Mt,Fs,km).call(i,e,t)}static setPostFlair(e,t){var i;return b(i=Mt,Fs,km).call(i,{...e,postId:pe(e.postId)},t)}static async removePostFlair(e,t,i){var n;return b(n=Mt,Os,Sm).call(n,e,t,void 0,i)}static async removeUserFlair(e,t,i){var n;return b(n=Mt,Os,Sm).call(n,e,void 0,t,i)}};Fs=new WeakSet,km=async function(e,t){await u.redditAPIPlugins.Flair.SelectFlair({subreddit:e.subredditName,flairTemplateId:e.flairTemplateId??"",text:e.text??"",name:e.username,link:e.postId,backgroundColor:e.backgroundColor??"",textColor:e.textColor??"dark",cssClass:e.cssClass??"",returnRtjson:"none"},t)},Os=new WeakSet,Sm=async function(e,t,i,n){await u.redditAPIPlugins.Flair.SelectFlair({subreddit:e,name:i??"",link:t??"",flairTemplateId:"",backgroundColor:"",text:"",textColor:"",cssClass:"",returnRtjson:"none"},n)},l(Mt,Fs),l(Mt,Os);var Fe=Mt;function VR(r){if(g(r,"Flair text color is required"),r==="light"||r==="dark")return r;throw new Error(`Invalid flair text color: ${r}`)}function JR(r){if(g(r,"Flair background color is required"),r==="transparent"||/^#([A-Fa-f0-9]{6})$/.test(r))return r;throw new Error(`Invalid flair background color: ${r}`)}function $R(r){if(r==="all"||r==="text"||r==="emoji")return r;throw new Error(`Invalid allowable content: ${r}`)}import{Block as rF}from"@devvit/protos";var WP=Cn(jP(),1);var Di,Ls,_i,Bs,Ds,_s,Ns,qs,Ni,Hs,js,Ws,Gs,zs,Vs,Ut,br,qi,Lt,Hi,ji,Wi,Pr,Bt,Dt,Gi,_t,Nt,qt,dt,Js,$s,zi,Vi,D,q=class q{constructor(e,t){l(this,Di,void 0);l(this,Ls,void 0);l(this,_i,void 0);l(this,Bs,void 0);l(this,Ds,void 0);l(this,_s,void 0);l(this,Ns,void 0);l(this,qs,void 0);l(this,Ni,void 0);l(this,Hs,void 0);l(this,js,void 0);l(this,Ws,void 0);l(this,Gs,void 0);l(this,zs,void 0);l(this,Vs,void 0);l(this,Ut,void 0);l(this,br,void 0);l(this,qi,void 0);l(this,Lt,void 0);l(this,Hi,void 0);l(this,ji,void 0);l(this,Wi,void 0);l(this,Pr,void 0);l(this,Bt,void 0);l(this,Dt,void 0);l(this,Gi,void 0);l(this,_t,void 0);l(this,Nt,void 0);l(this,qt,void 0);l(this,dt,void 0);l(this,Js,void 0);l(this,$s,void 0);l(this,zi,void 0);l(this,Vi,void 0);l(this,D,void 0);J(this),g(e.id,"Post is missing id"),g(e.title,"Post is missing title"),g(e.createdUtc,"Post is missing created date"),g(e.author,"Post is missing author name"),g(e.subreddit,"Post is missing subreddit name"),g(e.subredditId,"Post is missing subreddit id"),g(e.url,"Post is missing url"),g(e.permalink,"Post is missing permalink"),d(this,Di,pe(`t3_${e.id}`)),d(this,_i,e.author),d(this,Ls,e.authorFullname?te(e.authorFullname):void 0),d(this,Ds,Te(e.subredditId)),d(this,_s,e.subreddit),d(this,Ws,e.score??0),d(this,Gs,e.numComments??0),d(this,zs,e.numReports??0);let i=new Date(0);i.setUTCSeconds(e.createdUtc),d(this,Bs,i),d(this,qs,e.title),d(this,Ni,e.selftext),d(this,Hs,e.selftextHtml),d(this,js,e.url),d(this,Ns,e.permalink),e.thumbnail&&e.thumbnail!=="self"&&e.thumbnail!=="nsfw"&&e.thumbnailHeight!=null&&e.thumbnailWidth!=null&&d(this,Vs,{url:e.thumbnail,height:e.thumbnailHeight,width:e.thumbnailWidth}),d(this,Ut,e.approved??!1),d(this,Lt,e.removed??!1),d(this,Hi,e.removedBy),d(this,ji,e.removedByCategory),d(this,br,e.spam??!1),d(this,qi,e.stickied??!1),d(this,Wi,e.archived??!1),d(this,Pr,e.edited??!1),d(this,Bt,e.locked??!1),d(this,Dt,e.over18??!1),d(this,Gi,e.quarantine??!1),d(this,_t,e.spoiler),d(this,Nt,e.hidden??!1),d(this,qt,e.ignoreReports??!1),d(this,dt,e.distinguished),d(this,$s,e.secureMedia),d(this,zi,(e.modReports??[]).map(([n])=>n)),d(this,Vi,(e.userReports??[]).map(([n])=>n)),d(this,D,t),(e.linkFlairBackgroundColor||e.linkFlairCssClass||e.linkFlairText||e.linkFlairType||e.linkFlairTemplateId||e.linkFlairRichtext||e.linkFlairTextColor)&&d(this,Js,{backgroundColor:e.linkFlairBackgroundColor,cssClass:e.linkFlairCssClass,text:e.linkFlairText,type:e.linkFlairType,templateId:e.linkFlairTemplateId,richtext:(e.linkFlairRichtext??[]).map(({e:n,t:o,a,u:c})=>({elementType:n,text:o,emojiRef:a,url:c})),textColor:e.linkFlairTextColor})}get id(){return s(this,Di)}get authorId(){return s(this,Ls)}get authorName(){return s(this,_i)}get subredditId(){return s(this,Ds)}get subredditName(){return s(this,_s)}get permalink(){return s(this,Ns)}get title(){return s(this,qs)}get body(){return s(this,Ni)}get bodyHtml(){return s(this,Hs)}get url(){return s(this,js)}get thumbnail(){return s(this,Vs)}get createdAt(){return s(this,Bs)}get score(){return s(this,Ws)}get numberOfComments(){return s(this,Gs)}get numberOfReports(){return s(this,zs)}get approved(){return s(this,Ut)}get spam(){return s(this,br)}get stickied(){return s(this,qi)}get removed(){return s(this,Lt)}get removedBy(){return s(this,Hi)}get removedByCategory(){return s(this,ji)}get archived(){return s(this,Wi)}get edited(){return s(this,Pr)}get locked(){return s(this,Bt)}get nsfw(){return s(this,Dt)}get quarantined(){return s(this,Gi)}get spoiler(){return s(this,_t)}get hidden(){return s(this,Nt)}get ignoringReports(){return s(this,qt)}get distinguishedBy(){return s(this,dt)}get comments(){return X.getComments({postId:this.id},s(this,D))}get flair(){return s(this,Js)}get secureMedia(){return s(this,$s)}get userReportReasons(){return s(this,Vi)}get modReportReasons(){return s(this,zi)}toJSON(){return{id:this.id,authorId:this.authorId,authorName:this.authorName,subredditId:this.subredditId,subredditName:this.subredditName,permalink:this.permalink,title:this.title,body:this.body,bodyHtml:this.bodyHtml,url:this.url,thumbnail:this.thumbnail,score:this.score,numberOfComments:this.numberOfComments,numberOfReports:this.numberOfReports,createdAt:this.createdAt,approved:this.approved,spam:this.spam,stickied:this.stickied,removed:this.removed,removedBy:s(this,Hi),removedByCategory:s(this,ji),archived:this.archived,edited:this.edited,locked:this.locked,nsfw:this.nsfw,quarantined:this.quarantined,spoiler:this.spoiler,hidden:this.hidden,ignoringReports:this.ignoringReports,distinguishedBy:this.distinguishedBy,flair:this.flair,secureMedia:this.secureMedia,modReportReasons:s(this,zi),userReportReasons:s(this,Vi)}}isApproved(){return s(this,Ut)}isSpam(){return s(this,br)}isStickied(){return s(this,qi)}isRemoved(){return s(this,Lt)}isArchived(){return s(this,Wi)}isEdited(){return s(this,Pr)}isLocked(){return s(this,Bt)}isNsfw(){return s(this,Dt)}isQuarantined(){return s(this,Gi)}isSpoiler(){return s(this,_t)}isHidden(){return s(this,Nt)}isIgnoringReports(){return s(this,qt)}isDistinguishedBy(){return s(this,dt)}async edit(e){let t=await q.edit({id:this.id,...e},s(this,D));d(this,Ni,t.body),d(this,Pr,t.edited)}async addComment(e){return X.submit({id:this.id,...e},s(this,D))}async delete(){return q.delete(this.id,s(this,D))}async approve(){await q.approve(this.id,s(this,D)),d(this,Ut,!0),d(this,Lt,!1)}async remove(e=!1){await q.remove(this.id,e,s(this,D)),d(this,Lt,!0),d(this,br,e),d(this,Ut,!1)}async lock(){await q.lock(this.id,s(this,D)),d(this,Bt,!0)}async unlock(){await q.unlock(this.id,s(this,D)),d(this,Bt,!1)}async hide(){await q.hide(this.id,s(this,D)),d(this,Nt,!0)}async unhide(){await q.unhide(this.id,s(this,D)),d(this,Nt,!1)}async markAsNsfw(){await q.markAsNsfw(this.id,s(this,D)),d(this,Dt,!0)}async unmarkAsNsfw(){await q.unmarkAsNsfw(this.id,s(this,D)),d(this,Dt,!1)}async markAsSpoiler(){await q.markAsSpoiler(this.id,s(this,D)),d(this,_t,!0)}async unmarkAsSpoiler(){await q.unmarkAsSpoiler(this.id,s(this,D)),d(this,_t,!1)}async sticky(e){await q.sticky(this.id,e,s(this,D))}async unsticky(){await q.unsticky(this.id,s(this,D))}async distinguish(){let{distinguishedBy:e}=await q.distinguish(this.id,!1,s(this,D));d(this,dt,e)}async distinguishAsAdmin(){let{distinguishedBy:e}=await q.distinguish(this.id,!0,s(this,D));d(this,dt,e)}async undistinguish(){let{distinguishedBy:e}=await q.undistinguish(this.id,s(this,D));d(this,dt,e)}async ignoreReports(){await q.ignoreReports(this.id,s(this,D)),d(this,qt,!0)}async unignoreReports(){await q.unignoreReports(this.id,s(this,D)),d(this,qt,!1)}async getAuthor(){return w.getByUsername(s(this,_i),s(this,D))}async crosspost(e){return q.crosspost({...e,postId:this.id},s(this,D))}addRemovalNote(e){return Re.addRemovalNote({itemIds:[s(this,Di)],...e},s(this,D))}static async getById(e,t){let i=u.redditAPIPlugins.LinksAndComments,n=Yt(e)?e:`t3_${e}`,o=await i.Info({subreddits:[],thingIds:[n]},t);if(!o.data?.children?.length)throw new Error("could not find post");let a=o.data.children[0];if(!a?.data)throw new Error("could not find post");return new q(a.data,t)}static async submit(e,t){let i=u.redditAPIPlugins.LinksAndComments,n;if("preview"in e){g(t,"Missing metadata in `SubmitPostOptions`");let c=await new nt(()=>e.preview,void 0,{},t,void 0).buildBlocksUI(),p=rF.encode(c).finish();n=await i.Submit({kind:"custom",sr:e.subredditName,richtextJson:(0,WP.fromByteArray)(p),...e},t)}else n=await i.Submit({kind:"kind"in e?e.kind:"url"in e?"link":"self",sr:e.subredditName,richtextJson:"richtext"in e?Ci(e.richtext):void 0,...e},t);if("kind"in e&&["image","video","videogif"].includes(e.kind)&&!n.json?.data?.id&&"url"in e)throw new Error(`Post of ${e.kind} type with ${e.url} is being created asynchronously and should be updated in the subreddit soon.`);if(!n.json?.data?.id||n.json?.errors?.length)throw new Error(`failed to submit post - either post ID is empty or request failed with errors: ${n.json?.errors}`);return q.getById(`t3_${n.json.data.id}`,t)}static async crosspost(e,t){let i=u.redditAPIPlugins.LinksAndComments,{postId:n,subredditName:o,...a}=e,c=await i.Submit({kind:"crosspost",sr:o,crosspostFullname:pe(n),...a},t);if(!c.json?.data?.id||c.json?.errors?.length)throw new Error("failed to crosspost post");return q.getById(`t3_${c.json.data.id}`,t)}static async edit(e,t){let i=u.redditAPIPlugins.LinksAndComments,{id:n}=e,o;if("richtext"in e&&(o=Ci(e.richtext)),(await i.EditUserText({thingId:n,text:"text"in e?e.text:"",richtextJson:o},t)).json?.errors?.length)throw new Error("Failed to edit post");return q.getById(n,t)}static async delete(e,t){await u.redditAPIPlugins.LinksAndComments.Del({id:e},t)}static async approve(e,t){await u.redditAPIPlugins.Moderation.Approve({id:e},t)}static async remove(e,t=!1,i){await u.redditAPIPlugins.Moderation.Remove({id:e,spam:t},i)}static async hide(e,t){await u.redditAPIPlugins.LinksAndComments.Hide({id:e},t)}static async unhide(e,t){await u.redditAPIPlugins.LinksAndComments.Unhide({id:e},t)}static async markAsNsfw(e,t){await u.redditAPIPlugins.LinksAndComments.MarkNSFW({id:e},t)}static async unmarkAsNsfw(e,t){await u.redditAPIPlugins.LinksAndComments.UnmarkNSFW({id:e},t)}static async markAsSpoiler(e,t){await u.redditAPIPlugins.LinksAndComments.Spoiler({id:e},t)}static async unmarkAsSpoiler(e,t){await u.redditAPIPlugins.LinksAndComments.Unspoiler({id:e},t)}static async sticky(e,t,i){await u.redditAPIPlugins.LinksAndComments.SetSubredditSticky({id:e,state:!0,num:t},i)}static async unsticky(e,t){await u.redditAPIPlugins.LinksAndComments.SetSubredditSticky({id:e,state:!1},t)}static async lock(e,t){await u.redditAPIPlugins.LinksAndComments.Lock({id:e},t)}static async unlock(e,t){await u.redditAPIPlugins.LinksAndComments.Unlock({id:e},t)}static async distinguish(e,t,i){let a=(await u.redditAPIPlugins.Moderation.Distinguish({id:e,how:t?"admin":"yes",sticky:!1},i)).json?.data?.things?.[0]?.data;return g(a),{distinguishedBy:a.distinguished}}static async undistinguish(e,t){let o=(await u.redditAPIPlugins.Moderation.Distinguish({id:e,how:"no",sticky:!1},t)).json?.data?.things?.[0]?.data;return g(o),{distinguishedBy:o.distinguished}}static async ignoreReports(e,t){await u.redditAPIPlugins.Moderation.IgnoreReports({id:e},t)}static async unignoreReports(e,t){await u.redditAPIPlugins.Moderation.UnignoreReports({id:e},t)}static getControversialPosts(e={},t){return this.getSortedPosts({...e,sort:"controversial"},t)}static getTopPosts(e={},t){return this.getSortedPosts({...e,sort:"top"},t)}static getSortedPosts(e,t){let i=u.redditAPIPlugins.Listings;return new j({hasMore:!0,before:e.before,after:e.after,pageSize:e.pageSize,limit:e.limit,fetch:async n=>{let o=await i.Sort({show:"all",sort:e.sort,t:e.timeframe,subreddit:e.subredditName,...n},t);return Us(o,t)}})}static getHotPosts(e={location:"GLOBAL"},t){let i=u.redditAPIPlugins.Listings;return new j({hasMore:!0,before:e.before,after:e.after,pageSize:e.pageSize,limit:e.limit,fetch:async n=>{let o=await i.Hot({g:e.location,show:"all",subreddit:e.subredditName,...n},t);return Us(o,t)}})}static getNewPosts(e,t){let i=u.redditAPIPlugins.Listings;return new j({hasMore:!0,before:e.before,after:e.after,pageSize:e.pageSize,limit:e.limit,fetch:async n=>{let o=await i.New({show:"all",subreddit:e.subredditName,...n},t);return Us(o,t)}})}static getRisingPosts(e,t){let i=u.redditAPIPlugins.Listings;return new j({hasMore:!0,before:e.before,after:e.after,pageSize:e.pageSize,limit:e.limit,fetch:async n=>{let o=await i.Rising({show:"all",subreddit:e.subredditName,...n},t);return Us(o,t)}})}static getPostsByUser(e,t){let i=u.redditAPIPlugins.Users;return new j({hasMore:!0,before:e.before,after:e.after,pageSize:e.pageSize,limit:e.limit,async fetch(n){let o=await i.UserWhere({username:e.username,where:"submitted",...n},t);return Us(o,t)}})}};Di=new WeakMap,Ls=new WeakMap,_i=new WeakMap,Bs=new WeakMap,Ds=new WeakMap,_s=new WeakMap,Ns=new WeakMap,qs=new WeakMap,Ni=new WeakMap,Hs=new WeakMap,js=new WeakMap,Ws=new WeakMap,Gs=new WeakMap,zs=new WeakMap,Vs=new WeakMap,Ut=new WeakMap,br=new WeakMap,qi=new WeakMap,Lt=new WeakMap,Hi=new WeakMap,ji=new WeakMap,Wi=new WeakMap,Pr=new WeakMap,Bt=new WeakMap,Dt=new WeakMap,Gi=new WeakMap,_t=new WeakMap,Nt=new WeakMap,qt=new WeakMap,dt=new WeakMap,Js=new WeakMap,$s=new WeakMap,zi=new WeakMap,Vi=new WeakMap,D=new WeakMap;var V=q;function Us(r,e){if(!r.data?.children)throw new Error("Listing response is missing children");return{children:r.data.children.map(i=>new V(i.data,e)),before:r.data.before,after:r.data.after}}var Ks,Ji,Xs,Zs,Ys,Qs,eo,Ht,to,ro,lt,kr=class kr{constructor(e,t){l(this,Ks,void 0);l(this,Ji,void 0);l(this,Xs,void 0);l(this,Zs,void 0);l(this,Ys,void 0);l(this,Qs,void 0);l(this,eo,void 0);l(this,Ht,new Map);l(this,to,void 0);l(this,ro,void 0);l(this,lt,void 0);J(this),g(e.id,"User ID is missing or undefined"),g(e.name,"Username is missing or undefined"),g(e.createdUtc,"User is missing created date"),d(this,Ks,te(Za(e.id)?e.id:`t2_${e.id}`)),d(this,Ji,e.name),d(this,Qs,e.over18??!1),d(this,eo,e.isEmployee??!1);let i=new Date(0);if(i.setUTCSeconds(e.createdUtc),d(this,Xs,i),d(this,Zs,e.linkKarma??0),d(this,Ys,e.commentKarma??0),e.modPermissions)for(let[n,o]of Object.entries(e.modPermissions))s(this,Ht).set(n,NP(o));d(this,to,new URL(e.subreddit?.url??"","https://www.reddit.com").toString()),d(this,ro,e.subreddit?.url??""),d(this,lt,t)}get id(){return s(this,Ks)}get username(){return s(this,Ji)}get createdAt(){return s(this,Xs)}get linkKarma(){return s(this,Zs)}get commentKarma(){return s(this,Ys)}get nsfw(){return s(this,Qs)}get isAdmin(){return s(this,eo)}get modPermissions(){return s(this,Ht)}get url(){return s(this,to)}get permalink(){return s(this,ro)}toJSON(){return{id:this.id,username:this.username,createdAt:this.createdAt,linkKarma:this.linkKarma,commentKarma:this.commentKarma,nsfw:this.nsfw,modPermissionsBySubreddit:Object.fromEntries(this.modPermissions)}}async getModPermissionsForSubreddit(e){if(s(this,Ht).has(e))return s(this,Ht).get(e);let t=await kr.getSubredditUsersByType({subredditName:e,type:"moderators",username:this.username},s(this,lt)).all();if(t.length===0)return[];let i=t[0].modPermissions.get(e)??[];return i.length>0&&s(this,Ht).set(e,i),i}getComments(e){return X.getCommentsByUser({username:this.username,...e},s(this,lt))}getPosts(e){return V.getPostsByUser({username:this.username,...e},s(this,lt))}async getUserFlairBySubreddit(e){let t=await Fe.getUserFlairBySubreddit({subreddit:e,name:s(this,Ji)},s(this,lt));return t.users[0]?Ms(t.users[0]):void 0}getSnoovatarUrl(){return kr.getSnoovatarUrl(this.username,s(this,lt))}static async getById(e,t){let o=(await u.redditAPIPlugins.Users.UserDataByAccountIds({ids:e},t))?.users?.[e]?.name;return g(o,"Expected the username in response to be not null"),kr.getByUsername(o,t)}static async getByUsername(e,t){let n=await u.redditAPIPlugins.Users.UserAbout({username:e},t);if(!n.data?.id)throw new Error("failed to get user");return new kr(n.data,t)}static async getFromMetadata(e,t){g(t);let i=t?.[e]?.values[0];return i?kr.getById(te(i),t):Promise.resolve(void 0)}static getSubredditUsersByType(e,t){let i=u.redditAPIPlugins.Subreddits;return new j({hasMore:!0,pageSize:e.pageSize,limit:e.limit,after:e.after,before:e.before,fetch:async n=>{let o=await i.AboutWhere({where:e.type,user:e.username,subreddit:e.subredditName,show:"all",...n},t);return nF(o,e.subredditName,t)}})}static async createRelationship(e,t){let i=u.redditAPIPlugins.Users,{type:n,subredditName:o,username:a,permissions:c,...p}=e,f=await i.Friend({type:n,subreddit:o,name:a,permissions:c?Pm(c):void 0,...p},t);if(f.json?.errors?.length)throw new Error(f.json.errors.join(`
4
- `))}static async removeRelationship(e,t){await u.redditAPIPlugins.Users.Unfriend({type:e.type,subreddit:e.subredditName,name:e.username},t)}static async setModeratorPermissions(e,t,i,n){let a=await u.redditAPIPlugins.Users.SetPermissions({subreddit:t,name:e,type:"moderator",permissions:Pm(i)},n);if(a.json?.errors?.length)throw new Error(a.json.errors.join(`
5
- `))}static async getSnoovatarUrl(e,t){let i="GetSnoovatarUrlByName",n="c47fd42345af268616d2d8904b56856acdc05cf61d3650380f539ad7d596ac0c";return(await Ai.query(i,n,{username:e},t)).data?.redditorInfoByName?.snoovatarIcon?.url}static getOverview(e,t){let i=u.redditAPIPlugins.Users;return new j({hasMore:!0,before:e.before,after:e.after,pageSize:e.pageSize,limit:e.limit,async fetch(n){let o=await i.UserWhere({username:e.username,where:"overview",...n},t);return iF(o,t)}})}};Ks=new WeakMap,Ji=new WeakMap,Xs=new WeakMap,Zs=new WeakMap,Ys=new WeakMap,Qs=new WeakMap,eo=new WeakMap,Ht=new WeakMap,to=new WeakMap,ro=new WeakMap,lt=new WeakMap;var w=kr;function iF(r,e){if(!r.data?.children)throw new Error("Listing response is missing children");return{children:r.data.children.map(i=>{if(i.kind==="t3")return new V(i.data,e);if(i.kind==="t1")return new X(i.data,e);throw new Error(`Type ${i.kind} is not supported`)}),before:r.data.before,after:r.data.after}}async function nF(r,e,t){let i=u.redditAPIPlugins.Users;if(!r.data?.children)throw new Error("Listing response is missing children");let n=r.data.children.map(v=>(g(v.data?.id,"User id is still from listing data"),v.data.id)),o=100,a=[];for(let v=0;v<n.length;v+=o)a.push(n.slice(v,v+o));let p=(await Promise.all(a.map(v=>i.UserDataByAccountIds({ids:v.join(",")},t)))).reduce((v,m)=>({...v,...m.users}),{});return{children:r.data.children.map(v=>{let m=v.data?.id;g(m,"User id is missing from listing");let y=p[m];return g(y,"User data is missing from response"),new w({id:m,name:y.name,linkKarma:y.linkKarma,commentKarma:y.commentKarma,createdUtc:y.createdUtc,over18:y.profileOver18,snoovatarSize:[],modPermissions:{[e]:v.data?.modPermissions??[]}},t)}),before:r.data.before,after:r.data.after}}var Sr,io,$i,Ki,no,so,Xi,oo,ao,Zi,jt,Cr,Wt,Gt,ut,Ir,ct,lo,uo,co,mo,po,fo,go,Y,Yi,$d,Qi,Kd,W=class W{constructor(e,t){l(this,Sr,void 0);l(this,io,void 0);l(this,$i,void 0);l(this,Ki,void 0);l(this,no,void 0);l(this,so,void 0);l(this,Xi,void 0);l(this,oo,void 0);l(this,ao,void 0);l(this,Zi,void 0);l(this,jt,void 0);l(this,Cr,void 0);l(this,Wt,void 0);l(this,Gt,void 0);l(this,ut,void 0);l(this,Ir,void 0);l(this,ct,void 0);l(this,lo,void 0);l(this,uo,void 0);l(this,co,void 0);l(this,mo,void 0);l(this,po,void 0);l(this,fo,void 0);l(this,go,void 0);l(this,Y,void 0);var n;J(this),g(e.id,"Comment id is null or undefined"),g(e.body,"Comment body is null or undefined"),g(e.createdUtc,"Comment is missing created date"),g(e.author,"Comment author is null or undefined"),g(e.parentId,"Comment parentId is null or undefined"),g(e.linkId,"Comment linkId is null or undefined"),g(e.permalink,"Comment permalink is null or undefined"),g(e.subreddit,"Comment is missing subreddit name"),g(e.subredditId,"Comment is missing subreddit id"),d(this,Sr,Nr(`t1_${e.id}`)),d(this,io,e.authorFullname?te(e.authorFullname):void 0),d(this,$i,e.author),d(this,Ki,e.body),d(this,oo,Te(e.subredditId)),d(this,ao,e.subreddit),d(this,so,mc(e.parentId)?Nr(e.parentId):pe(e.parentId)),d(this,Xi,pe(e.linkId)),d(this,Cr,e.edited??!1),d(this,Wt,e.locked??!1),d(this,Gt,e.removed??!1),d(this,ut,e.stickied??!1),d(this,jt,e.approved??!1),d(this,Ir,e.spam??!1),d(this,ct,e.distinguished),d(this,lo,e.numReports??0),d(this,uo,e.collapsedBecauseCrowdControl??!1),d(this,co,e.score??0),d(this,mo,e.permalink),d(this,go,new URL(e.permalink??"","https://www.reddit.com/").toString()),d(this,po,(e.modReports??[]).map(([o])=>o)),d(this,fo,(e.userReports??[]).map(([o])=>o));let i=new Date(0);i.setUTCSeconds(e.createdUtc),d(this,no,i),d(this,Zi,b(n=W,Yi,$d).call(n,{postId:s(this,Xi),commentId:s(this,Sr)},t)),d(this,Y,t)}get id(){return s(this,Sr)}get authorId(){return s(this,io)}get authorName(){return s(this,$i)}get subredditId(){return s(this,oo)}get subredditName(){return s(this,ao)}get body(){return s(this,Ki)}get createdAt(){return s(this,no)}get parentId(){return s(this,so)}get postId(){return s(this,Xi)}get replies(){return s(this,Zi)}get distinguishedBy(){return s(this,ct)}get locked(){return s(this,Wt)}get stickied(){return s(this,ut)}get removed(){return s(this,Gt)}get approved(){return s(this,jt)}get spam(){return s(this,Ir)}get edited(){return s(this,Cr)}get numReports(){return s(this,lo)}get collapsedBecauseCrowdControl(){return s(this,uo)}get score(){return s(this,co)}get permalink(){return s(this,mo)}get userReportReasons(){return s(this,fo)}get modReportReasons(){return s(this,po)}get url(){return s(this,go)}toJSON(){return{id:this.id,authorName:this.authorName,subredditId:this.subredditId,subredditName:this.subredditName,body:this.body,createdAt:this.createdAt,parentId:this.parentId,postId:this.postId,replies:this.replies,approved:this.approved,locked:this.locked,removed:this.removed,stickied:this.stickied,spam:this.spam,edited:this.edited,distinguishedBy:this.distinguishedBy,numReports:this.numReports,collapsedBecauseCrowdControl:this.collapsedBecauseCrowdControl,score:this.score,permalink:this.permalink,modReportReasons:this.modReportReasons,userReportReasons:this.userReportReasons,url:this.url}}isLocked(){return s(this,Wt)}isApproved(){return s(this,jt)}isRemoved(){return s(this,Gt)}isSpam(){return s(this,Ir)}isStickied(){return s(this,ut)}isDistinguished(){return!!s(this,ct)}isEdited(){return s(this,Cr)}async delete(){return W.delete(this.id,s(this,Y))}async edit(e){let t=await W.edit({id:this.id,...e},s(this,Y));return d(this,Ki,t.body),d(this,Cr,t.edited),this}async approve(){await W.approve(this.id,s(this,Y)),d(this,jt,!0),d(this,Gt,!1)}async remove(e=!1){await W.remove(this.id,e,s(this,Y)),d(this,Gt,!0),d(this,Ir,e),d(this,jt,!1)}async lock(){await W.lock(this.id,s(this,Y)),d(this,Wt,!0)}async unlock(){await W.unlock(this.id,s(this,Y)),d(this,Wt,!1)}async reply(e){return W.submit({id:this.id,...e},s(this,Y))}async getAuthor(){return w.getByUsername(s(this,$i),s(this,Y))}async distinguish(e=!1){let{distinguishedBy:t,stickied:i}=await W.distinguish(this.id,e,!1,s(this,Y));d(this,ct,t),d(this,ut,i)}async distinguishAsAdmin(e=!1){let{distinguishedBy:t,stickied:i}=await W.distinguish(this.id,e,!0,s(this,Y));d(this,ct,t),d(this,ut,i)}async undistinguish(){let{distinguishedBy:e,stickied:t}=await W.undistinguish(this.id,s(this,Y));d(this,ct,e),d(this,ut,t)}addRemovalNote(e){return Re.addRemovalNote({itemIds:[s(this,Sr)],...e},s(this,Y))}static async getById(e,t){let i=u.redditAPIPlugins.LinksAndComments,n=ht(e)?e:`t1_${e}`,o=await i.Info({subreddits:[],thingIds:[n]},t);if(!o.data?.children?.[0]?.data)throw new Error("not found");return new W(o.data.children[0].data,t)}static getComments(e,t){var a;let{postId:i,commentId:n,...o}=e;return b(a=W,Yi,$d).call(a,{postId:pe(i),commentId:n?Nr(n):void 0,...o},t)}static async edit(e,t){let i=u.redditAPIPlugins.LinksAndComments,{id:n}=e,o;"richtext"in e&&(o=Ci(e.richtext));let a=await i.EditUserText({thingId:n,text:"text"in e?e.text:"",richtextJson:o},t);if(a.json?.errors?.length)throw new Error("Failed to edit comment");let c=a.json?.data?.things?.[0]?.data;return g(c),new W(c,t)}static async delete(e,t){await u.redditAPIPlugins.LinksAndComments.Del({id:e},t)}static async approve(e,t){await u.redditAPIPlugins.Moderation.Approve({id:e},t)}static async remove(e,t=!1,i){await u.redditAPIPlugins.Moderation.Remove({id:e,spam:t},i)}static async lock(e,t){await u.redditAPIPlugins.LinksAndComments.Lock({id:e},t)}static async unlock(e,t){await u.redditAPIPlugins.LinksAndComments.Unlock({id:e},t)}static async submit(e,t){let i=u.redditAPIPlugins.LinksAndComments,{id:n}=e,o;"richtext"in e&&(o=Ci(e.richtext));let a=await i.Comment({thingId:n,text:"text"in e?e.text:"",richtextJson:o},t);if(a.json?.errors?.length)throw new Error("failed to reply to comment");let c=a.json?.data?.things?.[0]?.data;return g(c),new W(c,t)}static async distinguish(e,t,i,n){let c=(await u.redditAPIPlugins.Moderation.Distinguish({id:e,how:i?"admin":"yes",sticky:t},n)).json?.data?.things?.[0]?.data;return g(c),{distinguishedBy:c.distinguished,stickied:!!c.stickied}}static async undistinguish(e,t){let o=(await u.redditAPIPlugins.Moderation.Distinguish({id:e,how:"no",sticky:!1},t)).json?.data?.things?.[0]?.data;return g(o),{distinguishedBy:o.distinguished,stickied:!!o.stickied}}static getCommentsByUser(e,t){let i=u.redditAPIPlugins.Users;return new j({hasMore:!0,before:e.before,after:e.after,pageSize:e.pageSize,limit:e.limit,async fetch(n){let o=await i.UserWhere({username:e.username,where:"comments",...n},t);return g(o.data,"Failed to get comments for user"),{children:o.data.children?.map(c=>new W(c.data,t))||[],before:o.data.before,after:o.data.after}}})}};Sr=new WeakMap,io=new WeakMap,$i=new WeakMap,Ki=new WeakMap,no=new WeakMap,so=new WeakMap,Xi=new WeakMap,oo=new WeakMap,ao=new WeakMap,Zi=new WeakMap,jt=new WeakMap,Cr=new WeakMap,Wt=new WeakMap,Gt=new WeakMap,ut=new WeakMap,Ir=new WeakMap,ct=new WeakMap,lo=new WeakMap,uo=new WeakMap,co=new WeakMap,mo=new WeakMap,po=new WeakMap,fo=new WeakMap,go=new WeakMap,Y=new WeakMap,Yi=new WeakSet,$d=function(e,t,i=0){return new j({limit:e.limit,pageSize:e.pageSize,fetch:async n=>{var y,P;let o=n.limit,a=u.redditAPIPlugins.Listings,c=u.redditAPIPlugins.LinksAndComments,p=e.commentId;if(n.more)if(n.more.children.length){let C=n.more;(!o||o>100)&&(o=100);let I=C.children.splice(0,o),A=await c.MoreChildren({linkId:e.postId,children:I,sort:e.sort},t);if(!A.json?.data?.things?.length)return{children:[]};let{children:U}=b(y=W,Qi,Kd).call(y,A.json.data.things,e.postId,e,t);return{children:U,more:C.children.length?C:void 0}}else p=n.more.parentId,i=i+n.more.depth;let v=(await a.Comments({article:e.postId.substring(3),comment:p?.substring(3),limit:o,depth:e.depth,sort:e.sort},t)).listings?.[1]?.data?.children??[],m=v[0];return p&&m?.data?.replyList?.data&&(v=m.data.replyList.data.children),b(P=W,Qi,Kd).call(P,v,p??e.postId,e,t,i)}})},Qi=new WeakSet,Kd=function(e,t,i,n,o=0){var f,v;let a=[],c,p={};for(let m of e){if(!m.data||(m.data.depth!=null&&(m.data.depth=m.data.depth+o),m.data.depth!=null&&i.depth!=null&&m.data.depth>=i.depth))continue;let y=m.data.parentId?p[m.data.parentId]:void 0;if(m.kind==="t1"){if(m.data.name===t)continue;let P=new W(m.data,n);if(p[P.id]=P,d(P,Zi,b(f=W,Yi,$d).call(f,{...i,postId:P.postId,commentId:P.id},n,o)),"replyList"in m.data&&m.data.replyList?.data){let{children:C,more:I}=b(v=W,Qi,Kd).call(v,m.data.replyList.data.children,P.id,i,n,o);C.length&&P.replies.children.push(...C),I&&P.replies.setMore(I)}P.replies.preventInitialFetch(),y?y.replies.children.push(P):a.push(P)}else if(m.kind==="more"&&m.data.parentId&&m.data.depth!=null){let P={parentId:mc(m.data.parentId)?Nr(m.data.parentId):pe(m.data.parentId),children:m.data.children??[],depth:m.data.depth};y?y.replies.setMore(P):P.parentId===t&&(c=P)}}return{children:a,more:c}},l(W,Yi),l(W,Qi);var X=W;function td(r,e){let t=u.redditAPIPlugins.Moderation;return new j({hasMore:!0,after:r.after,before:r.before,limit:r.limit,pageSize:r.pageSize,fetch:async i=>{let n=await t.AboutLog({subreddit:r.subredditName,mod:r.moderatorUsernames?r.moderatorUsernames.join(","):void 0,type:r.type,...i},e);return sF(n)}})}function sF(r){if(!r.data?.children)throw new Error("AboutLogResponse is missing children");return{children:r.data.children.map(t=>{if(!t.data)throw new Error("ModAction from AboutLogResponse is missing or invalid");let{id:i,mod:n,modId36:o,createdUtc:a,subreddit:c,subredditNamePrefixed:p,action:f,srId36:v,description:m,details:y,targetAuthor:P,targetBody:C,targetFullname:I,targetPermalink:A,targetTitle:U}=t.data;g(i,"ModAction from AboutLogResponse is missing id"),g(n,"ModAction from AboutLogResponse is missing mod"),g(o,"ModAction from AboutLogResponse is missing modId36"),g(a,"ModAction from AboutLogResponse is missing createdUtc"),g(c,"ModAction from AboutLogResponse is missing subreddit"),g(p,"ModAction from AboutLogResponse is missing subredditNamePrefixed"),g(f,"ModAction from AboutLogResponse is missing action"),g(v,"ModAction from AboutLogResponse is missing srId36");let le=new Date(0);return le.setUTCSeconds(a),{id:i,type:f,moderatorName:n,moderatorId:`t2_${o}`,createdAt:le,subredditName:c,subredditId:`t5_${v}`,description:m,details:y,target:I?{id:I,author:P,body:C,permalink:A,title:U}:void 0}}),after:r.data.after,before:r.data.before}}var oF=(a=>(a.New="New",a.InProgress="InProgress",a.Archived="Archived",a.Appeals="Appeals",a.JoinRequests="JoinRequests",a.Filtered="Filtered",a))(oF||{}),aF={0:"New",1:"InProgress",2:"Archived",3:"Appeals",4:"JoinRequests",5:"Filtered"},dF=(P=>(P.Highlighted="Highlighted",P.Unhighlighted="Unhighlighted",P.Archived="Archived",P.Unarchived="Unarchived",P.ReportedToAdmins="ReportedToAdmins",P.Muted="Muted",P.Unmuted="Unmuted",P.Banned="Banned",P.Unbanned="Unbanned",P.Approved="Approved",P.Disapproved="Disapproved",P.Filtered="Filtered",P.Unfiltered="Unfiltered",P))(dF||{}),lF={0:"Highlighted",1:"Unhighlighted",2:"Archived",3:"Unarchived",4:"ReportedToAdmins",5:"Muted",6:"Unmuted",7:"Banned",8:"Unbanned",9:"Approved",10:"Disapproved",11:"Filtered",12:"Unfiltered"},z,Z,ne,Xd,GP,Zd,zP,rd=class{constructor(e){l(this,Z);l(this,Xd);l(this,Zd);l(this,z,void 0);d(this,z,e)}async bulkReadConversations(e,t){let i=u.redditAPIPlugins.NewModmail,{conversationIds:n}=await i.BulkReadConversations({entity:e.join(","),state:t},s(this,z));return n}async getConversations(e){let i=await u.redditAPIPlugins.NewModmail.GetConversations({after:e.after,entity:e.subreddits?e.subreddits.join(","):void 0,limit:e.limit,sort:e.sort,state:e.state},s(this,z)),n={};for(let o in i.conversations)n[o]=b(this,Z,ne).call(this,{protoConversation:i.conversations[o],protoMessages:i.messages,protoModActions:{}});return{conversations:n,viewerId:i.viewerId}}async getConversation(e){let i=await u.redditAPIPlugins.NewModmail.GetConversation({...e,markRead:!!e.markRead},s(this,z));return{participantSubreddit:i.participantSubreddit,conversation:b(this,Z,ne).call(this,{protoConversation:i.conversation,protoMessages:i.messages,protoModActions:i.modActions}),user:i.user}}async getSubreddits(){let e=u.redditAPIPlugins.NewModmail,{subreddits:t}=await e.Subreddits({},s(this,z));return t}async createConversation(e){let i=await u.redditAPIPlugins.NewModmail.CreateConversation({body:e.body,isAuthorHidden:e.isAuthorHidden??!1,srName:e.subredditName,subject:e.subject,to:e.to?e.to:void 0},s(this,z));return{conversation:b(this,Z,ne).call(this,{protoConversation:i.conversation,protoMessages:i.messages,protoModActions:i.modActions}),user:i.user}}async reply(e){let i=await u.redditAPIPlugins.NewModmail.CreateConversationMessage({body:e.body,conversationId:e.conversationId,isAuthorHidden:e.isAuthorHidden??!1,isInternal:e.isInternal??!1},s(this,z));return{conversation:b(this,Z,ne).call(this,{protoConversation:i.conversation,protoMessages:i.messages,protoModActions:{}}),user:i.user}}async highlightConversation(e){let i=await u.redditAPIPlugins.NewModmail.HighlightConversation({conversationId:e},s(this,z));return{conversation:b(this,Z,ne).call(this,{protoConversation:i.conversation,protoMessages:i.messages,protoModActions:i.modActions})}}async unhighlightConversation(e){let i=await u.redditAPIPlugins.NewModmail.UnhighlightConversation({conversationId:e},s(this,z));return{conversation:b(this,Z,ne).call(this,{protoConversation:i.conversation,protoMessages:i.messages,protoModActions:i.modActions})}}async archiveConversation(e){let i=await u.redditAPIPlugins.NewModmail.ArchiveConversation({conversationId:e},s(this,z));return{conversation:b(this,Z,ne).call(this,{protoConversation:i.conversation,protoMessages:i.messages,protoModActions:i.modActions})}}async unarchiveConversation(e){let i=await u.redditAPIPlugins.NewModmail.UnarchiveConversation({conversationId:e},s(this,z));return{conversation:b(this,Z,ne).call(this,{protoConversation:i.conversation,protoMessages:i.messages,protoModActions:i.modActions})}}async muteConversation(e){let i=await u.redditAPIPlugins.NewModmail.MuteConversation({conversationId:e.conversationId,numHours:e.numHours},s(this,z));return{conversation:b(this,Z,ne).call(this,{protoConversation:i.conversations,protoMessages:i.messages,protoModActions:i.modActions}),user:i.user}}async unmuteConversation(e){let i=await u.redditAPIPlugins.NewModmail.UnmuteConversation({conversationId:e},s(this,z));return{conversation:b(this,Z,ne).call(this,{protoConversation:i.conversations,protoMessages:i.messages,protoModActions:i.modActions}),user:i.user}}async readConversations(e){await u.redditAPIPlugins.NewModmail.Read({conversationIds:e.join(",")},s(this,z))}async unreadConversations(e){await u.redditAPIPlugins.NewModmail.Unread({conversationIds:e.join(",")},s(this,z))}async approveConversation(e){let i=await u.redditAPIPlugins.NewModmail.ApproveConversation({conversationId:e},s(this,z));return{conversation:b(this,Z,ne).call(this,{protoConversation:i.conversations,protoMessages:i.messages,protoModActions:i.modActions}),user:i.user}}async disapproveConversation(e){let i=await u.redditAPIPlugins.NewModmail.DisapproveConversation({conversationId:e},s(this,z));return{conversation:b(this,Z,ne).call(this,{protoConversation:i.conversations,protoMessages:i.messages,protoModActions:i.modActions}),user:i.user}}async tempBanConversation(e){let i=await u.redditAPIPlugins.NewModmail.TempBan({...e},s(this,z));return{conversation:b(this,Z,ne).call(this,{protoConversation:i.conversations,protoMessages:i.messages,protoModActions:i.modActions}),user:i.user}}async unbanConversation(e){let i=await u.redditAPIPlugins.NewModmail.Unban({conversationId:e},s(this,z));return{conversation:b(this,Z,ne).call(this,{protoConversation:i.conversations,protoMessages:i.messages,protoModActions:i.modActions}),user:i.user}}async getUnreadCount(){return await u.redditAPIPlugins.NewModmail.UnreadCount({},s(this,z))}async getUserConversations(e){return await u.redditAPIPlugins.NewModmail.UserConversations({conversationId:e},s(this,z))}};z=new WeakMap,Z=new WeakSet,ne=function({protoConversation:e,protoMessages:t,protoModActions:i}){return{...e,state:aF[e.state],messages:b(this,Xd,GP).call(this,e,t),modActions:b(this,Zd,zP).call(this,e,i)}},Xd=new WeakSet,GP=function(e,t){let i={},n=e.objIds.filter(o=>o.key==="messages").map(({id:o})=>o);for(let o of n){let a=t[o];a&&(i[o]=a)}return i},Zd=new WeakSet,zP=function(e,t){let i={},n=e.objIds.filter(o=>o.key==="modActions").map(({id:o})=>o);for(let o of n){let a=t[o];a&&(i[o]={...a,actionType:lF[a.actionTypeId]})}return i};var en,tn,Yd,ho,vo,yo,bo,Im=class Im{constructor(e,t){l(this,en,void 0);l(this,tn,void 0);l(this,Yd,void 0);l(this,ho,void 0);l(this,vo,void 0);l(this,yo,void 0);l(this,bo,void 0);if(J(this),g(e.id,"PrivateMessage: Invalid data, no id"),g(e.name,"PrivateMessage: Invalid data, no name"),g(e.created,"PrivateMessage: Invalid data, no created date"),d(this,en,fe(e.name)),e.author!=null)d(this,tn,{type:"user",username:e.author,id:e.authorFullname?te(e.authorFullname):void 0});else if(e.subreddit!=null)d(this,tn,{type:"subreddit",name:e.subreddit,id:e.subredditId?Te(e.subredditId):void 0});else throw new Error("PrivateMessage: Invalid data, no author or subreddit");d(this,ho,e.body??""),d(this,vo,e.bodyHtml??"");let i=new Date(0);i.setUTCSeconds(e.createdUtc),d(this,yo,i),d(this,Yd,e.parentId?fe(e.parentId):void 0),d(this,bo,t)}static async getMessages(e,t){let i=u.redditAPIPlugins.PrivateMessages;return new j({...e,fetch:async n=>{let o=await i.MessageWhere({...n,where:e.type??"inbox"},t);return{after:o.data?.after,before:o.data?.before,children:o.data?.children?.map(a=>new Im(a.data,t)).filter(Boolean)||[]}}})}static async send({to:e,subject:t,text:i},n){await u.redditAPIPlugins.PrivateMessages.Compose({to:e,subject:t,text:i,fromSr:""},n)}static async sendAsSubreddit({to:e,fromSubredditName:t,subject:i,text:n},o){await u.redditAPIPlugins.PrivateMessages.Compose({to:e,fromSr:t,subject:i,text:n},o)}static async markAllAsRead(e){await u.redditAPIPlugins.PrivateMessages.ReadAllMessages({filterTypes:""},e)}get id(){return s(this,en)}get from(){return s(this,tn)}get body(){return s(this,ho)}get bodyHtml(){return s(this,vo)}get created(){return s(this,yo)}async markAsRead(){await u.redditAPIPlugins.PrivateMessages.ReadMessage({id:s(this,en)},s(this,bo))}};en=new WeakMap,tn=new WeakMap,Yd=new WeakMap,ho=new WeakMap,vo=new WeakMap,yo=new WeakMap,bo=new WeakMap;var tr=Im;var Bv=(o=>(o.Reports="reports",o.Spam="spam",o.Modqueue="modqueue",o.Unmoderated="unmoderated",o.Edited="edited",o))(Bv||{}),rn,x,Po,ko,So,Co,Io,wo,Ao,xo,To,nn,T,Qe=class Qe{constructor(e,t){l(this,rn,void 0);l(this,x,void 0);l(this,Po,void 0);l(this,ko,void 0);l(this,So,void 0);l(this,Co,void 0);l(this,Io,void 0);l(this,wo,void 0);l(this,Ao,void 0);l(this,xo,void 0);l(this,To,void 0);l(this,nn,void 0);l(this,T,void 0);J(this),g(e.id,"Subreddit id is missing or undefined"),g(e.displayName,"Subreddit name is missing or undefined"),d(this,rn,Te(`t5_${e.id}`)),d(this,x,e.displayName),g(e.createdUtc,"Subreddit is missing created date");let i=new Date(0);i.setUTCSeconds(e.createdUtc),d(this,Po,i),d(this,ko,uF(e.subredditType)),d(this,So,e.title),d(this,Co,e.description),g(e.lang,"Subreddit is missing language"),d(this,Io,e.lang),d(this,wo,e.subscribers??0),d(this,Ao,e.activeUserCount??0),d(this,xo,e.over18??!1),d(this,nn,e.url??""),d(this,To,{acceptFollowers:e.acceptFollowers??!1,allOriginalContent:e.allOriginalContent??!1,allowChatPostCreation:e.allowChatPostCreation??!1,allowDiscovery:e.allowDiscovery??!1,allowGalleries:e.allowGalleries??!1,allowImages:e.allowImages??!1,allowPolls:e.allowPolls??!1,allowPredictionContributors:e.allowPredictionContributors??!1,allowPredictions:e.allowPredictions??!1,allowPredictionsTournament:e.allowPredictionsTournament??!1,allowTalks:e.allowTalks??!1,allowVideoGifs:e.allowVideogifs??!1,allowVideos:e.allowVideos??!1,chatPostEnabled:e.isChatPostFeatureEnabled??!1,collectionsEnabled:e.collectionsEnabled??!1,crosspostable:e.isCrosspostableSubreddit??!1,emojisEnabled:e.emojisEnabled??!1,eventPostsEnabled:e.eventPostsEnabled??!1,linkFlairEnabled:e.linkFlairEnabled??!1,originalContentTagEnabled:e.originalContentTagEnabled??!1,restrictCommenting:e.restrictCommenting??!1,restrictPosting:e.restrictPosting??!1,shouldArchivePosts:e.shouldArchivePosts??!1,spoilersEnabled:e.spoilersEnabled??!1,wikiEnabled:e.wikiEnabled??!1,allowedPostType:cF(e.submissionType),allowedMediaInComments:(e.allowedMediaInComments??[]).map(mF),bannerBackgroundColor:e.bannerBackgroundColor,bannerBackgroundImage:e.bannerBackgroundImage,bannerImage:e.bannerImg,communityIcon:e.communityIcon,headerTitle:e.headerTitle,mobileBannerImage:e.mobileBannerImage,userFlairs:{enabled:e.userFlairEnabledInSr??!1,usersCanAssign:e.canAssignUserFlair??!1},postFlairs:{enabled:e.linkFlairEnabled??!1,usersCanAssign:e.canAssignLinkFlair??!1},url:new URL(s(this,nn),"https://www.reddit.com").toString()}),d(this,T,t)}get id(){return s(this,rn)}get name(){return s(this,x)}get createdAt(){return s(this,Po)}get type(){return s(this,ko)}get title(){return s(this,So)}get description(){return s(this,Co)}get language(){return s(this,Io)}get numberOfSubscribers(){return s(this,wo)}get numberOfActiveUsers(){return s(this,Ao)}get nsfw(){return s(this,xo)}get settings(){return s(this,To)}get userFlairsEnabled(){return this.settings.userFlairs.enabled}get postFlairsEnabled(){return this.settings.postFlairs.enabled}get usersCanAssignUserFlairs(){return this.settings.userFlairs.usersCanAssign}get usersCanAssignPostFlairs(){return this.settings.postFlairs.usersCanAssign}get url(){return this.settings.url}get permalink(){return s(this,nn)}toJSON(){return{id:this.id,name:this.name,createdAt:this.createdAt,type:this.type,title:this.title,description:this.description,language:this.language,nsfw:this.nsfw,numberOfSubscribers:this.numberOfSubscribers,numberOfActiveUsers:this.numberOfActiveUsers,settings:this.settings}}async submitPost(e){let t={...e,subredditName:s(this,x)};return V.submit(t,s(this,T))}getControversialPosts(e={}){if(!s(this,x))throw new Error("subreddit missing displayName - it might not have been fetched");return V.getControversialPosts({...e,subredditName:s(this,x)},s(this,T))}getTopPosts(e={}){if(!s(this,x))throw new Error("subreddit missing displayName - it might not have been fetched");return V.getTopPosts({...e,subredditName:s(this,x)},s(this,T))}getApprovedUsers(e={}){return w.getSubredditUsersByType({type:"contributors",subredditName:s(this,x),...e},s(this,T))}approveUser(e){return w.createRelationship({username:e,subredditName:s(this,x),type:"contributor"},s(this,T))}removeUser(e){return w.removeRelationship({username:e,subredditName:s(this,x),type:"contributor"},s(this,T))}getWikiContributors(e={}){return w.getSubredditUsersByType({type:"wikicontributors",subredditName:s(this,x),...e},s(this,T))}addWikiContributor(e){return w.createRelationship({username:e,subredditName:s(this,x),type:"wikicontributor"},s(this,T))}removeWikiContributor(e){return w.removeRelationship({username:e,subredditName:s(this,x),type:"wikicontributor"},s(this,T))}getBannedUsers(e={}){return w.getSubredditUsersByType({type:"banned",subredditName:s(this,x),...e},s(this,T))}banUser(e){return w.createRelationship({username:e.username,subredditName:s(this,x),type:"banned",banReason:e.reason,banMessage:e.message,note:e.note,duration:e.duration},s(this,T))}unbanUser(e){return w.removeRelationship({username:e,subredditName:s(this,x),type:"banned"},s(this,T))}getBannedWikiContributors(e={}){return w.getSubredditUsersByType({type:"wikibanned",subredditName:s(this,x),...e},s(this,T))}banWikiContributor(e){return w.createRelationship({username:e.username,subredditName:s(this,x),type:"wikibanned",banReason:e.reason,note:e.note,duration:e.duration},s(this,T))}unbanWikiContributor(e){return w.removeRelationship({username:e,subredditName:s(this,x),type:"wikibanned"},s(this,T))}getModerators(e={}){return w.getSubredditUsersByType({type:"moderators",subredditName:s(this,x),...e},s(this,T))}inviteModerator(e,t){return w.createRelationship({type:"moderator_invite",subredditName:s(this,x),username:e,permissions:t??[]},s(this,T))}revokeModeratorInvite(e){return w.removeRelationship({username:e,subredditName:s(this,x),type:"moderator_invite"},s(this,T))}removeModerator(e){return w.removeRelationship({type:"moderator",subredditName:s(this,x),username:e},s(this,T))}setModeratorPermissions(e,t){return w.setModeratorPermissions(e,s(this,x),t,s(this,T))}getMutedUsers(e={}){return w.getSubredditUsersByType({type:"muted",subredditName:s(this,x),...e},s(this,T))}muteUser(e,t){return w.createRelationship({username:e,subredditName:s(this,x),type:"muted",note:t},s(this,T))}unmuteUser(e){return w.removeRelationship({username:e,subredditName:s(this,x),type:"muted"},s(this,T))}getModerationLog(e){return td({subredditName:s(this,x),...e},s(this,T))}getUserFlairTemplates(){return oe.getUserFlairTemplates(s(this,x),s(this,T))}getPostFlairTemplates(){return oe.getPostFlairTemplates(s(this,x),s(this,T))}createPostFlairTemplate(e){return oe.createPostFlairTemplate({subredditName:s(this,x),...e},s(this,T))}createUserFlairTemplate(e){return oe.createUserFlairTemplate({subredditName:s(this,x),...e},s(this,T))}async getUserFlair(e){if(e?.usernames!==void 0)return{users:await Promise.all(e.usernames.map(async i=>{let n=await Fe.getUserFlairBySubreddit({subreddit:s(this,x),name:i},s(this,T));return Ms(n.users[0])}))};{let t=await Fe.getUserFlairBySubreddit({...e,subreddit:s(this,x)},s(this,T));return{next:t.next,prev:t.prev,users:t.users.map(i=>Ms(i))}}}getModQueue(e={type:"all"}){return Qe.aboutLocation({...e,location:"modqueue",subreddit:s(this,x)},s(this,T))}getReports(e={type:"all"}){return Qe.aboutLocation({...e,location:"reports",subreddit:s(this,x)},s(this,T))}getSpam(e={type:"all"}){return Qe.aboutLocation({...e,location:"spam",subreddit:s(this,x)},s(this,T))}getUnmoderated(e={type:"all"}){return Qe.aboutLocation({...e,location:"unmoderated",subreddit:s(this,x)},s(this,T))}getEdited(e={type:"all"}){return Qe.aboutLocation({...e,location:"edited",subreddit:s(this,x)},s(this,T))}static aboutLocation(e,t){let i=u.redditAPIPlugins.Moderation,n;switch(e.type){case"post":n="links";break;case"comment":n="comments";break;default:n=void 0}return new j({...e,fetch:async o=>{let a=await i.AboutLocation({...o,...e,only:n},t);return VP(a,t)}})}getCommentsAndPostsByIds(e){let t=u.redditAPIPlugins.LinksAndComments;return new j({fetch:async()=>{let i=await t.Info({thingIds:e,subreddits:[s(this,rn)]},s(this,T));return VP(i,s(this,T))}})}static async addRemovalReason(e,t,i,n){return(await u.redditAPIPlugins.Subreddits.SubredditAddRemovalReason({title:t,message:i,subreddit:e},n)).id}static async getRemovalReasons(e,t){let n=await u.redditAPIPlugins.Subreddits.SubredditGetRemovalReasons({subreddit:e},t);return n.order.map(o=>({...n.data[o]}))}static async getFromMetadata(e){g(e);let t=e?.[L.Subreddit]?.values[0];return g(t),Qe.getById(Te(t),e)}static async getById(e,t){let o=(await u.redditAPIPlugins.LinksAndComments.Info({thingIds:[e],subreddits:[]},t)).data?.children[0]?.data?.displayName;return g(o),Qe.getByName(o,t)}static async getByName(e,t){let n=await u.redditAPIPlugins.Subreddits.SubredditAbout({subreddit:e},t);if(!n?.data)throw new Error("not found");return new Qe(n.data,t)}};rn=new WeakMap,x=new WeakMap,Po=new WeakMap,ko=new WeakMap,So=new WeakMap,Co=new WeakMap,Io=new WeakMap,wo=new WeakMap,Ao=new WeakMap,xo=new WeakMap,To=new WeakMap,nn=new WeakMap,T=new WeakMap;var ge=Qe;function uF(r){if(r==="public"||r==="private"||r==="restricted"||r==="employees_only"||r==="gold_restricted"||r==="archived")return r;throw new Error(`invalid subreddit type: ${r}`)}function cF(r){if(r==="any"||r==="link"||r==="self")return r;throw new Error(`invalid allowed post type: ${r}`)}function mF(r){if(r==="animated"||r==="giphy"||r==="static"||r==="expression")return r;throw new Error(`invalid comment media type: ${r}`)}function VP(r,e){let i=(r.data?.children??[]).map(a=>{let c=n(a);if(c!=null)return c;let p=o(a);return p??null}).filter(Boolean);return{after:r.data?.after,before:r.data?.before,children:i};function n(a){try{return new V(a.data,e)}catch{return null}}function o(a){try{return new X(a.data,e)}catch{return null}}}async function Dv(r,e){return JP("GetVaultContactByAddress","3e2f7966a5c120e64fd2795d06a46595c52d988185be98d3ed71c3f81ae80d2e",{provider:"ethereum",address:r},e)}async function _v(r,e){return JP("GetVaultContactByUserId","a854ddc19d0e22c4f36ed917fdbd568f299f3571427e393aee5e2972080fffe9",{provider:"ethereum",userId:r},e)}async function JP(r,e,t,i){let o=(await Ai.query(r,e,t,i))?.data?.vault?.contact;return{provider:o?.provider,userId:te(o?.userId),address:o?.address,createdAt:o?.createdAt,isActive:o?.isActive}}import{CommunityListWidget_CommunityData as pF,GetWidgetsResponse_WidgetItem as de}from"@devvit/protos";var Eo,Ro,Fo,Oo,Am=class Am{constructor(e,t,i){l(this,Eo,void 0);l(this,Ro,void 0);l(this,Fo,void 0);l(this,Oo,void 0);J(this),d(this,Eo,e.id),d(this,Ro,e.shortName),d(this,Fo,t),d(this,Oo,i)}get id(){return s(this,Eo)}get name(){return s(this,Ro)}get subredditName(){return s(this,Fo)}toJSON(){return{id:this.id,name:this.name,subredditName:this.subredditName}}delete(){return Am.delete(this.subredditName,this.id,s(this,Oo))}static async getWidgets(e,t){let n=await u.redditAPIPlugins.Widgets.GetWidgets({subreddit:e},t);g(n.layout,"Failed to load widgets for subreddit");let o=n.items,a=[];for(let c of n.layout.sidebar?.order??[]){let p=o[c];switch(p?.kind){case"image":a.push(new Qd(p,e,t));break;case"calendar":a.push(new el(p,e,t));break;case"textarea":a.push(new tl(p,e,t));break;case"button":a.push(new rl(p,e,t));break;case"community-list":a.push(new il(p,e,t));break;case"post-flair":a.push(new nl(p,e,t));break;case"custom":a.push(new sl(p,e,t));break;case"subreddit-rules":{let f=await u.redditAPIPlugins.Subreddits.SubredditAboutRules({subreddit:e},t);a.push(new wm(f,p,e,t));break}default:throw new Error(`Unknown widget type: ${p.kind}`)}}return a}static async delete(e,t,i){await u.redditAPIPlugins.Widgets.DeleteWidget({subreddit:e,id:t},i)}static async reorder(e,t,i){await u.redditAPIPlugins.Widgets.OrderWidgets({subreddit:e,order:t},i)}static async add(e,t){switch(e?.type){case"image":return Qd.create(e,t);case"calendar":return el.create(e,t);case"textarea":return tl.create(e,t);case"button":return rl.create(e,t);case"community-list":return il.create(e,t);case"post-flair":return nl.create(e,t);case"custom":return sl.create(e,t);default:throw new Error("Unknown widget type")}}};Eo=new WeakMap,Ro=new WeakMap,Fo=new WeakMap,Oo=new WeakMap;var re=Am,Mo,ol=class ol extends re{constructor(t,i,n){super(t,i,n);l(this,Mo,void 0);d(this,Mo,t.data.map(o=>(g(o.url,"Image widget data is missing url"),g(o.height,"Image widget data is missing height"),g(o.width,"Image widget data is missing width"),g(o.linkUrl,"Image widget data is missing linkUrl"),{url:o.url,height:o.height,width:o.width,linkUrl:o.linkUrl})))}get images(){return s(this,Mo)}toJSON(){return{...super.toJSON(),images:this.images}}static async create(t,i){let o=await u.redditAPIPlugins.Widgets.AddImageWidget(t,i);return new ol(de.fromJSON(o),t.subreddit,i)}static async update(t,i){let o=await u.redditAPIPlugins.Widgets.UpdateImageWidget(t,i);return new ol(de.fromJSON(o),t.subreddit,i)}};Mo=new WeakMap;var Qd=ol,Uo,Lo,Bo,al=class al extends re{constructor(t,i,n){super(t,i,n);l(this,Uo,void 0);l(this,Lo,void 0);l(this,Bo,void 0);g(t.googleCalendarId,"Calendar widget data is missing googleCalendarId"),g(t.configuration,"Calendar widget data is missing configuration"),g(t.styles,"Calendar widget data is missing styles"),d(this,Uo,t.googleCalendarId),d(this,Lo,t.configuration),d(this,Bo,t.styles)}get googleCalendarId(){return s(this,Uo)}get configuration(){return s(this,Lo)}get styles(){return s(this,Bo)}toJSON(){return{...super.toJSON(),googleCalendarId:this.googleCalendarId,configuration:this.configuration,styles:this.styles}}static async create(t,i){let o=await u.redditAPIPlugins.Widgets.AddCalendarWidget(t,i);return new al(de.fromJSON(o),t.subreddit,i)}static async update(t,i){let o=await u.redditAPIPlugins.Widgets.UpdateCalendarWidget(t,i);return new al(de.fromJSON(o),t.subreddit,i)}};Uo=new WeakMap,Lo=new WeakMap,Bo=new WeakMap;var el=al,Do,_o,dl=class dl extends re{constructor(t,i,n){super(t,i,n);l(this,Do,void 0);l(this,_o,void 0);g(t.text,"Textarea widget data is missing text"),g(t.styles,"Textarea widget data is missing styles"),d(this,Do,t.text),d(this,_o,t.styles)}get text(){return s(this,Do)}get styles(){return s(this,_o)}toJSON(){return{...super.toJSON(),text:this.text,styles:this.styles}}static async create(t,i){let o=await u.redditAPIPlugins.Widgets.AddTextAreaWidget(t,i);return new dl(de.fromJSON(o),t.subreddit,i)}static async update(t,i){let o=await u.redditAPIPlugins.Widgets.UpdateTextAreaWidget(t,i);return new dl(de.fromJSON(o),t.subreddit,i)}};Do=new WeakMap,_o=new WeakMap;var tl=dl,No,qo,Ho,ll=class ll extends re{constructor(t,i,n){super(t,i,n);l(this,No,void 0);l(this,qo,void 0);l(this,Ho,void 0);g(t.styles,"Button widget data is missing styles"),d(this,No,t.buttons),d(this,qo,t.description??""),d(this,Ho,t.styles)}get buttons(){return s(this,No)}get description(){return s(this,qo)}get styles(){return s(this,Ho)}toJSON(){return{...super.toJSON(),buttons:this.buttons,description:this.description,styles:this.styles}}static async create(t,i){let o=await u.redditAPIPlugins.Widgets.AddButtonWidget(t,i);return new ll(de.fromJSON(o),t.subreddit,i)}static async update(t,i){let o=await u.redditAPIPlugins.Widgets.UpdateButtonWidget(t,i);return new ll(de.fromJSON(o),t.subreddit,i)}};No=new WeakMap,qo=new WeakMap,Ho=new WeakMap;var rl=ll,jo,Wo,ul=class ul extends re{constructor(t,i,n){super(t,i,n);l(this,jo,void 0);l(this,Wo,void 0);d(this,jo,t.data.map(o=>pF.fromJSON(o))),g(t.styles,"Community list widget data is missing styles"),d(this,Wo,t.styles)}get communities(){return s(this,jo)}get styles(){return s(this,Wo)}toJSON(){return{...super.toJSON(),communities:this.communities,styles:this.styles}}static async create(t,i){let o=await u.redditAPIPlugins.Widgets.AddCommunityListWidget(t,i);return new ul(de.fromJSON(o),t.subreddit,i)}static async update(t,i){let o=await u.redditAPIPlugins.Widgets.UpdateCommunityListWidget(t,i);return new ul(de.fromJSON(o),t.subreddit,i)}};jo=new WeakMap,Wo=new WeakMap;var il=ul,Go,zo,Vo,cl=class cl extends re{constructor(t,i,n){super(t,i,n);l(this,Go,void 0);l(this,zo,void 0);l(this,Vo,void 0);if(g(t.styles,"Post flair widget data is missing styles"),d(this,Go,t.styles),d(this,zo,t.order.map(o=>t.templates[o])),!(t.display&&t.display==="list"||t.display==="cloud"))throw new Error("Post flair widget data is missing display type");d(this,Vo,t.display)}get styles(){return s(this,Go)}get templates(){return s(this,zo)}get display(){return s(this,Vo)}toJSON(){return{...super.toJSON(),styles:this.styles,templates:this.templates,display:this.display}}static async create(t,i){let o=await u.redditAPIPlugins.Widgets.AddPostFlairWidget(t,i);return new cl(de.fromJSON(o),t.subreddit,i)}static async update(t,i){let o=await u.redditAPIPlugins.Widgets.UpdatePostFlairWidget(t,i);return new cl(de.fromJSON(o),t.subreddit,i)}};Go=new WeakMap,zo=new WeakMap,Vo=new WeakMap;var nl=cl,Jo,$o,Ko,Xo,Zo,ml=class ml extends re{constructor(t,i,n){super(t,i,n);l(this,Jo,void 0);l(this,$o,void 0);l(this,Ko,void 0);l(this,Xo,void 0);l(this,Zo,void 0);g(t.stylesheetUrl,"Custom widget data is missing stylesheetUrl"),g(t.height,"Custom widget data is missing height"),g(t.css,"Custom widget data is missing css"),d(this,Jo,t.imageData??[]),d(this,$o,t.text??""),d(this,Ko,t.stylesheetUrl),d(this,Xo,t.height),d(this,Zo,t.css)}get images(){return s(this,Jo)}get text(){return s(this,$o)}get stylesheetUrl(){return s(this,Ko)}get height(){return s(this,Xo)}get css(){return s(this,Zo)}toJSON(){return{...super.toJSON(),images:this.images,text:this.text,stylesheetUrl:this.stylesheetUrl,height:this.height,css:this.css}}static async create(t,i){let o=await u.redditAPIPlugins.Widgets.AddCustomWidget(t,i);return new ml(de.fromJSON(o),t.subreddit,i)}static async update(t,i){let o=await u.redditAPIPlugins.Widgets.UpdateCustomWidget(t,i);return new ml(de.fromJSON(o),t.subreddit,i)}};Jo=new WeakMap,$o=new WeakMap,Ko=new WeakMap,Xo=new WeakMap,Zo=new WeakMap;var sl=ml,Yo,wm=class extends re{constructor(t,i,n,o){super(i,n,o);l(this,Yo,void 0);let a=t.rules.map(({description:c,priority:p,shortName:f,violationReason:v})=>(g(c,"Subreddit rule is missing description"),g(p,"Subreddit rule is missing priority"),g(f,"Subreddit rule is missing shortName"),g(v,"Subreddit rule is missing violationReason"),{description:c,priority:p,shortName:f,violationReason:v}));d(this,Yo,a)}get rules(){return s(this,Yo)}toJSON(){return{...super.toJSON(),rules:this.rules}}};Yo=new WeakMap;var fF=(i=>(i[i.SUBREDDIT_PERMISSIONS=0]="SUBREDDIT_PERMISSIONS",i[i.APPROVED_CONTRIBUTORS_ONLY=1]="APPROVED_CONTRIBUTORS_ONLY",i[i.MODS_ONLY=2]="MODS_ONLY",i))(fF||{}),ye,be,sn,on,an,dn,ln,Ve,De=class De{constructor(e,t,i,n){l(this,ye,void 0);l(this,be,void 0);l(this,sn,void 0);l(this,on,void 0);l(this,an,void 0);l(this,dn,void 0);l(this,ln,void 0);l(this,Ve,void 0);J(this),d(this,ye,e),d(this,be,t),d(this,sn,i.contentMd),d(this,on,i.revisionId),d(this,an,new Date(i.revisionDate)),d(this,dn,i.reason??""),g(i.revisionBy?.data,"Wiki page author details are missing"),d(this,ln,new w(i.revisionBy.data,n)),d(this,Ve,n)}get name(){return s(this,ye)}get subredditName(){return s(this,be)}get content(){return s(this,sn)}get revisionId(){return s(this,on)}get revisionDate(){return s(this,an)}get revisionReason(){return s(this,dn)}get revisionAuthor(){return s(this,ln)}toJSON(){return{name:s(this,ye),subredditName:s(this,be),content:s(this,sn),revisionId:s(this,on),revisionDate:s(this,an),revisionReason:s(this,dn),revisionAuthor:s(this,ln).toJSON()}}async update(e,t){return De.updatePage({subredditName:s(this,be),page:s(this,ye),content:e,reason:t},s(this,Ve))}async getRevisions(e){return De.getPageRevisions({subredditName:s(this,be),page:s(this,ye),...e},s(this,Ve))}async revertTo(e){return De.revertPage(s(this,be),s(this,ye),e,s(this,Ve))}async getSettings(){return De.getPageSettings(s(this,be),s(this,ye),s(this,Ve))}async updateSettings(e){return De.updatePageSettings({subredditName:s(this,be),page:s(this,ye),listed:e.listed,permLevel:e.permLevel},s(this,Ve))}async addEditor(e){return De.addEditor(s(this,be),s(this,ye),e,s(this,Ve))}async removeEditor(e){return De.removeEditor(s(this,be),s(this,ye),e,s(this,Ve))}static async getPage(e,t,i){let o=await u.redditAPIPlugins.Wiki.GetWikiPage({subreddit:e,page:t},i);return g(o.data,"Failed to get wiki page"),new De(t,e,o.data,i)}static async getPages(e,t){return(await u.redditAPIPlugins.Wiki.GetWikiPages({subreddit:e},t)).data||[]}static async createPage(e,t){return De.updatePage(e,t)}static async updatePage(e,t){return await u.redditAPIPlugins.Wiki.EditWikiPage({subreddit:e.subredditName,page:e.page,content:e.content,reason:e.reason??""},t),De.getPage(e.subredditName,e.page,t)}static getPageRevisions(e,t){let i=u.redditAPIPlugins.Wiki;return new j({hasMore:!0,after:e.after,limit:e.limit,pageSize:e.pageSize,async fetch(n){let o=await i.GetWikiPageRevisions({subreddit:e.subredditName,page:e.page,limit:n.limit,after:n.after,before:n.before},t);return gF(o,t)}})}static async revertPage(e,t,i,n){await u.redditAPIPlugins.Wiki.RevertWikiPage({subreddit:e,page:t,revision:i},n)}static async getPageSettings(e,t,i){let o=await u.redditAPIPlugins.Wiki.GetWikiPageSettings({subreddit:e,page:t},i);return g(o.data,"Failed to get wiki page settings"),new pl(o.data,i)}static async updatePageSettings(e,t){let n=await u.redditAPIPlugins.Wiki.UpdateWikiPageSettings({subreddit:e.subredditName,page:e.page,listed:e.listed?"on":"",permlevel:e.permLevel},t);return g(n.data,"Failed to update wiki page settings"),new pl(n.data,t)}static async addEditor(e,t,i,n){await u.redditAPIPlugins.Wiki.AllowEditor({act:"add",subreddit:e,page:t,username:i},n)}static async removeEditor(e,t,i,n){await u.redditAPIPlugins.Wiki.AllowEditor({act:"del",subreddit:e,page:t,username:i},n)}};ye=new WeakMap,be=new WeakMap,sn=new WeakMap,on=new WeakMap,an=new WeakMap,dn=new WeakMap,ln=new WeakMap,Ve=new WeakMap;var he=De,un,cn,mn,pn,fn,gn,xm=class{constructor(e,t){l(this,un,void 0);l(this,cn,void 0);l(this,mn,void 0);l(this,pn,void 0);l(this,fn,void 0);l(this,gn,void 0);d(this,un,e.id),d(this,cn,e.page),d(this,mn,new Date(e.timestamp)),g(e.author?.data,"Wiki page revision author details are missing"),d(this,pn,new w(e.author.data,t)),d(this,fn,e.reason??""),d(this,gn,e.revisionHidden??!1)}get id(){return s(this,un)}get page(){return s(this,cn)}get date(){return s(this,mn)}get author(){return s(this,pn)}get reason(){return s(this,fn)}get hidden(){return s(this,gn)}toJSON(){return{id:s(this,un),page:s(this,cn),date:s(this,mn),author:s(this,pn).toJSON(),reason:s(this,fn),hidden:s(this,gn)}}};un=new WeakMap,cn=new WeakMap,mn=new WeakMap,pn=new WeakMap,fn=new WeakMap,gn=new WeakMap;var hn,vn,yn,pl=class{constructor(e,t){l(this,hn,void 0);l(this,vn,void 0);l(this,yn,void 0);d(this,hn,e.listed),d(this,vn,e.permLevel),d(this,yn,e.editors.map(i=>(g(i.data,"Wiki page editor details are missing"),new w(i.data,t))))}get listed(){return s(this,hn)}get permLevel(){return s(this,vn)}get editors(){return s(this,yn)}toJSON(){return{listed:s(this,hn),permLevel:s(this,vn),editors:s(this,yn).map(e=>e.toJSON())}}};hn=new WeakMap,vn=new WeakMap,yn=new WeakMap;function gF(r,e){return g(r.data?.children,"Wiki page revision listing is missing children"),{children:r.data.children.map(i=>new xm(i,e)),before:r.data.before,after:r.data.after}}var hF=(t=>(t.Gallery="GALLERY",t.Timeline="TIMELINE",t))(hF||{});function vF(r){return r==="GALLERY"?"GALLERY":"TIMELINE"}var _e,Pe,ea,bn,Pn,ta,ra,ia,na,mt,sa,oa,kn,Qo=class Qo{constructor(e,t){l(this,_e,void 0);l(this,Pe,void 0);l(this,ea,void 0);l(this,bn,void 0);l(this,Pn,void 0);l(this,ta,void 0);l(this,ra,void 0);l(this,ia,void 0);l(this,na,void 0);l(this,mt,void 0);l(this,sa,void 0);l(this,oa,void 0);l(this,kn,void 0);g(e.collectionId,"Collection Id is missing or undefined"),g(e.subredditId,"Subreddit Id is missing or undefined"),g(e.title,"Collection title is missing or undefined"),g(e.authorId,"Collection author's id is missing or undefined"),g(e.authorName,"Collection author's id is missing or undefined"),g(e.createdAtUtc,"Collection create timestamp is missing"),g(e.lastUpdateUtc,"Collection last updated timestamp is missing"),d(this,_e,t),d(this,Pe,e.collectionId),d(this,ea,e.subredditId),d(this,bn,e.title),d(this,Pn,e.description||""),d(this,ta,e.authorId),d(this,ra,e.authorName),d(this,ia,e.permalink),d(this,na,e.primaryLinkId),d(this,mt,e.linkIds||[]),d(this,kn,vF(e.displayLayout)),d(this,sa,e.createdAtUtc),d(this,oa,e.lastUpdateUtc),J(this)}get id(){return s(this,Pe)}get subredditId(){return s(this,ea)}get title(){return s(this,bn)}get description(){return s(this,Pn)}get authorId(){return s(this,ta)}get authorName(){return s(this,ra)}get permalink(){return s(this,ia)}get primaryLinkId(){return s(this,na)}get linkIds(){return s(this,mt)}get createdAtUtc(){return s(this,sa)}get lastUpdateUtc(){return s(this,oa)}get displayLayout(){return s(this,kn)}static async getCollectionById(e,t){let n=await u.redditAPIPlugins.PostCollections.Collection(e,t);return new Qo(n,t)}static async create(e,t){let n=await u.redditAPIPlugins.PostCollections.Create({srFullname:e.subredditId,title:e.title,description:e.description,displayLayout:e.displayLayout},t);return new Qo(n,t)}static async getCollectionsForSubreddit(e,t){return(await u.redditapiv2Plugin.GetSubredditCollections({srFullname:e.subredditId},t)).collections.map(n=>new Qo(n,t))}async addPost(e){await u.redditAPIPlugins.PostCollections.AddPost({collectionId:s(this,Pe),linkFullname:e},s(this,_e)),s(this,mt).push(e)}async removePost(e){await u.redditAPIPlugins.PostCollections.RemovePost({collectionId:s(this,Pe),linkFullname:e},s(this,_e)),d(this,mt,s(this,mt).filter(i=>i!==e))}async delete(){await u.redditAPIPlugins.PostCollections.Delete({collectionId:s(this,Pe)},s(this,_e))}async follow(e){await u.redditAPIPlugins.PostCollections.Follow({collectionId:s(this,Pe),follow:e},s(this,_e))}async reorder(e){await u.redditAPIPlugins.PostCollections.Reorder({collectionId:s(this,Pe),linkIds:e.join(",")},s(this,_e)),d(this,mt,e)}async updateTitle(e){await u.redditAPIPlugins.PostCollections.UpdateTitle({collectionId:s(this,Pe),title:e},s(this,_e)),d(this,bn,e)}async updateDescription(e){await u.redditAPIPlugins.PostCollections.UpdateDescription({collectionId:s(this,Pe),description:e},s(this,_e)),d(this,Pn,e)}async updateLayout(e){await u.redditAPIPlugins.PostCollections.UpdateDisplayLayout({collectionId:s(this,Pe),displayLayout:e},s(this,_e)),d(this,kn,e)}};_e=new WeakMap,Pe=new WeakMap,ea=new WeakMap,bn=new WeakMap,Pn=new WeakMap,ta=new WeakMap,ra=new WeakMap,ia=new WeakMap,na=new WeakMap,mt=new WeakMap,sa=new WeakMap,oa=new WeakMap,kn=new WeakMap;var Jr=Qo;var yF=["animate","color-profile","cursor","discard","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","foreignobject","hatch","hatchpath","mesh","meshgradient","meshpatch","meshrow","missing-glyph","script","set","solidcolor","unknown","use"],bF=["border-image","border-image-source","behavior","expression","list-style-image","cursor","content"],PF=["onload","onerror","onclick","onmouseover"];function kF(r){return/xmlns=["']http:\/\/www\.w3\.org\/2000\/svg["']/.test(r)?r:r.replace(/<svg\b/,'<svg xmlns="http://www.w3.org/2000/svg"')}function $P(r){if(r){if(!r.trim().startsWith("<svg")){console.log("The provided string is not a valid SVG.");return}try{let e=new RegExp(`<\\s*(${yF.join("|")})\\b`,"gi"),t=new RegExp(`(${bF.join("|")})\\s*:\\s*url\\s*\\((['"]?)(.*?)\\2\\)`,"gi"),i=new RegExp(`(${PF.join("|")})\\s*(=\\s*(['"]?)(.*?)\\3)?`,"gi");r=r.trim().replace(/\s+/g," "),r=kF(r);let n=r.match(e)||[],o=r.match(t)||[],a=r.match(i)||[],c=!1;return n.length>0&&(c=!0,console.warn(`Disallowed elements detected in SVG: ${n.map(p=>p.replace("<","")).join(", ")}`)),o.length>0&&(c=!0,console.warn(`Disallowed styles detected in SVG: ${o.map(p=>p.split(":")[0]).join(", ")}`)),a.length>0&&(c=!0,console.warn(`Disallowed attributes detected in SVG: ${a.map(p=>p.split("=")[0]).join(", ")}`)),c?void 0:r}catch{return}}}function tH(r,...e){let t="";return r.forEach((i,n)=>{t+=i;let o=e[n];o!==void 0&&(t+=`${o}`)}),t=$P(t),t===void 0?"":`data:image/svg+xml;charset=UTF-8,${encodeURIComponent(t)}`}export{jM as ALL_ICON_NAMES,Bv as AboutLocations,rl as ButtonWidget,el as CalendarWidget,hF as CollectionDisplayLayout,X as Comment,il as CommunityListWidget,sl as CustomWidget,u as Devvit,Fe as Flair,oe as FlairTemplate,zR as FlairType,vt as Hook,Qd as ImageWidget,j as Listing,dF as ModMailActionType,oF as ModMailConversationState,rd as ModMailService,Re as ModNote,V as Post,Jr as PostCollection,nl as PostFlairWidget,tr as PrivateMessage,Es as RichTextBuilder,pc as SettingScope,ge as Subreddit,wm as SubredditRulesWidget,tl as TextAreaWidget,w as User,re as Widget,he as WikiPage,fF as WikiPagePermissionLevel,xm as WikiPageRevision,pl as WikiPageSettings,Ms as convertUserFlairProtoToAPI,td as getModerationLog,Dv as getVaultByAddress,_v as getVaultByUserId,tH as svg,lm as useAsync,UR as useAsyncState,em as useForm,sm as useInterval,am as useState};
1
+ var eP=Object.create;var Om=Object.defineProperty;var tP=Object.getOwnPropertyDescriptor;var rP=Object.getOwnPropertyNames;var iP=Object.getPrototypeOf,nP=Object.prototype.hasOwnProperty;var h=(r,e)=>()=>(e||r((e={exports:{}}).exports,e),e.exports);var sP=(r,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of rP(e))!nP.call(r,n)&&n!==t&&Om(r,n,{get:()=>e[n],enumerable:!(i=tP(e,n))||i.enumerable});return r};var Ar=(r,e,t)=>(t=r!=null?eP(iP(r)):{},sP(e||!r||!r.__esModule?Om(t,"default",{value:r,enumerable:!0}):t,r));var yl=(r,e,t)=>{if(!e.has(r))throw TypeError("Cannot "+t)};var s=(r,e,t)=>(yl(r,e,"read from private field"),t?t.call(r):e.get(r)),l=(r,e,t)=>{if(e.has(r))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(r):e.set(r,t)},d=(r,e,t,i)=>(yl(r,e,"write to private field"),i?i.call(r,t):e.set(r,t),t);var b=(r,e,t)=>(yl(r,e,"access private method"),t);var se=h((TO,Fm)=>{Fm.exports=function(r){try{return!!r()}catch{return!0}}});var ua=h((EO,Mm)=>{var oP=se();Mm.exports=!oP(function(){var r=function(){}.bind();return typeof r!="function"||r.hasOwnProperty("prototype")})});var $=h((RO,Lm)=>{var Um=ua(),Bm=Function.prototype,bl=Bm.call,aP=Um&&Bm.bind.bind(bl,bl);Lm.exports=Um?aP:function(r){return function(){return bl.apply(r,arguments)}}});var _m=h((OO,Dm)=>{var dP=Math.ceil,lP=Math.floor;Dm.exports=Math.trunc||function(e){var t=+e;return(t>0?lP:dP)(t)}});var ca=h((FO,Nm)=>{var uP=_m();Nm.exports=function(r){var e=+r;return e!==e||e===0?0:uP(e)}});var ue=h((MO,qm)=>{var ma=function(r){return r&&r.Math==Math&&r};qm.exports=ma(typeof globalThis=="object"&&globalThis)||ma(typeof window=="object"&&window)||ma(typeof self=="object"&&self)||ma(typeof global=="object"&&global)||function(){return this}()||Function("return this")()});var xr=h((UO,Hm)=>{Hm.exports=!1});var pa=h((BO,Wm)=>{var jm=ue(),cP=Object.defineProperty;Wm.exports=function(r,e){try{cP(jm,r,{value:e,configurable:!0,writable:!0})}catch{jm[r]=e}return e}});var ga=h((LO,zm)=>{var mP=ue(),pP=pa(),Gm="__core-js_shared__",gP=mP[Gm]||pP(Gm,{});zm.exports=gP});var kl=h((DO,Jm)=>{var fP=xr(),Vm=ga();(Jm.exports=function(r,e){return Vm[r]||(Vm[r]=e!==void 0?e:{})})("versions",[]).push({version:"3.27.2",mode:fP?"pure":"global",copyright:"\xA9 2014-2023 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.27.2/LICENSE",source:"https://github.com/zloirock/core-js"})});var fa=h((_O,$m)=>{$m.exports=function(r){return r==null}});var ha=h((NO,Km)=>{var hP=fa(),vP=TypeError;Km.exports=function(r){if(hP(r))throw vP("Can't call method on "+r);return r}});var wn=h((qO,Xm)=>{var yP=ha(),bP=Object;Xm.exports=function(r){return bP(yP(r))}});var Pe=h((HO,Zm)=>{var kP=$(),PP=wn(),SP=kP({}.hasOwnProperty);Zm.exports=Object.hasOwn||function(e,t){return SP(PP(e),t)}});var Pl=h((jO,Ym)=>{var CP=$(),IP=0,wP=Math.random(),AP=CP(1 .toString);Ym.exports=function(r){return"Symbol("+(r===void 0?"":r)+")_"+AP(++IP+wP,36)}});var ep=h((WO,Qm)=>{Qm.exports=typeof navigator<"u"&&String(navigator.userAgent)||""});var ap=h((GO,op)=>{var sp=ue(),Sl=ep(),tp=sp.process,rp=sp.Deno,ip=tp&&tp.versions||rp&&rp.version,np=ip&&ip.v8,Ne,va;np&&(Ne=np.split("."),va=Ne[0]>0&&Ne[0]<4?1:+(Ne[0]+Ne[1]));!va&&Sl&&(Ne=Sl.match(/Edge\/(\d+)/),(!Ne||Ne[1]>=74)&&(Ne=Sl.match(/Chrome\/(\d+)/),Ne&&(va=+Ne[1])));op.exports=va});var Cl=h((zO,lp)=>{var dp=ap(),xP=se();lp.exports=!!Object.getOwnPropertySymbols&&!xP(function(){var r=Symbol();return!String(r)||!(Object(r)instanceof Symbol)||!Symbol.sham&&dp&&dp<41})});var Il=h((VO,up)=>{var TP=Cl();up.exports=TP&&!Symbol.sham&&typeof Symbol.iterator=="symbol"});var Se=h((JO,mp)=>{var EP=ue(),RP=kl(),cp=Pe(),OP=Pl(),FP=Cl(),MP=Il(),Tr=EP.Symbol,wl=RP("wks"),UP=MP?Tr.for||Tr:Tr&&Tr.withoutSetter||OP;mp.exports=function(r){return cp(wl,r)||(wl[r]=FP&&cp(Tr,r)?Tr[r]:UP("Symbol."+r)),wl[r]}});var fp=h(($O,gp)=>{var BP=Se(),LP=BP("toStringTag"),pp={};pp[LP]="z";gp.exports=String(pp)==="[object z]"});var xl=h((KO,hp)=>{var Al=typeof document=="object"&&document.all,DP=typeof Al>"u"&&Al!==void 0;hp.exports={all:Al,IS_HTMLDDA:DP}});var K=h((XO,yp)=>{var vp=xl(),_P=vp.all;yp.exports=vp.IS_HTMLDDA?function(r){return typeof r=="function"||r===_P}:function(r){return typeof r=="function"}});var ya=h((ZO,kp)=>{var bp=$(),NP=bp({}.toString),qP=bp("".slice);kp.exports=function(r){return qP(NP(r),8,-1)}});var An=h((YO,Pp)=>{var HP=fp(),jP=K(),ba=ya(),WP=Se(),GP=WP("toStringTag"),zP=Object,VP=ba(function(){return arguments}())=="Arguments",JP=function(r,e){try{return r[e]}catch{}};Pp.exports=HP?ba:function(r){var e,t,i;return r===void 0?"Undefined":r===null?"Null":typeof(t=JP(e=zP(r),GP))=="string"?t:VP?ba(e):(i=ba(e))=="Object"&&jP(e.callee)?"Arguments":i}});var xn=h((QO,Sp)=>{var $P=An(),KP=String;Sp.exports=function(r){if($P(r)==="Symbol")throw TypeError("Cannot convert a Symbol value to a string");return KP(r)}});var El=h((eF,wp)=>{var Tl=$(),XP=ca(),ZP=xn(),YP=ha(),QP=Tl("".charAt),Cp=Tl("".charCodeAt),eS=Tl("".slice),Ip=function(r){return function(e,t){var i=ZP(YP(e)),n=XP(t),o=i.length,a,c;return n<0||n>=o?r?"":void 0:(a=Cp(i,n),a<55296||a>56319||n+1===o||(c=Cp(i,n+1))<56320||c>57343?r?QP(i,n):a:r?eS(i,n,n+2):(a-55296<<10)+(c-56320)+65536)}};wp.exports={codeAt:Ip(!1),charAt:Ip(!0)}});var Tp=h((tF,xp)=>{var tS=ue(),rS=K(),Ap=tS.WeakMap;xp.exports=rS(Ap)&&/native code/.test(String(Ap))});var gt=h((rF,Op)=>{var Ep=K(),Rp=xl(),iS=Rp.all;Op.exports=Rp.IS_HTMLDDA?function(r){return typeof r=="object"?r!==null:Ep(r)||r===iS}:function(r){return typeof r=="object"?r!==null:Ep(r)}});var ce=h((iF,Fp)=>{var nS=se();Fp.exports=!nS(function(){return Object.defineProperty({},1,{get:function(){return 7}})[1]!=7})});var Ol=h((nF,Up)=>{var sS=ue(),Mp=gt(),Rl=sS.document,oS=Mp(Rl)&&Mp(Rl.createElement);Up.exports=function(r){return oS?Rl.createElement(r):{}}});var Fl=h((sF,Bp)=>{var aS=ce(),dS=se(),lS=Ol();Bp.exports=!aS&&!dS(function(){return Object.defineProperty(lS("div"),"a",{get:function(){return 7}}).a!=7})});var Ml=h((oF,Lp)=>{var uS=ce(),cS=se();Lp.exports=uS&&cS(function(){return Object.defineProperty(function(){},"prototype",{value:42,writable:!1}).prototype!=42})});var Je=h((aF,Dp)=>{var mS=gt(),pS=String,gS=TypeError;Dp.exports=function(r){if(mS(r))return r;throw gS(pS(r)+" is not an object")}});var qe=h((dF,_p)=>{var fS=ua(),ka=Function.prototype.call;_p.exports=fS?ka.bind(ka):function(){return ka.apply(ka,arguments)}});var Tn=h((lF,Np)=>{var Ul=ue(),hS=K(),vS=function(r){return hS(r)?r:void 0};Np.exports=function(r,e){return arguments.length<2?vS(Ul[r]):Ul[r]&&Ul[r][e]}});var Bl=h((uF,qp)=>{var yS=$();qp.exports=yS({}.isPrototypeOf)});var Ll=h((cF,Hp)=>{var bS=Tn(),kS=K(),PS=Bl(),SS=Il(),CS=Object;Hp.exports=SS?function(r){return typeof r=="symbol"}:function(r){var e=bS("Symbol");return kS(e)&&PS(e.prototype,CS(r))}});var Dl=h((mF,jp)=>{var IS=String;jp.exports=function(r){try{return IS(r)}catch{return"Object"}}});var Pa=h((pF,Wp)=>{var wS=K(),AS=Dl(),xS=TypeError;Wp.exports=function(r){if(wS(r))return r;throw xS(AS(r)+" is not a function")}});var Sa=h((gF,Gp)=>{var TS=Pa(),ES=fa();Gp.exports=function(r,e){var t=r[e];return ES(t)?void 0:TS(t)}});var Vp=h((fF,zp)=>{var _l=qe(),Nl=K(),ql=gt(),RS=TypeError;zp.exports=function(r,e){var t,i;if(e==="string"&&Nl(t=r.toString)&&!ql(i=_l(t,r))||Nl(t=r.valueOf)&&!ql(i=_l(t,r))||e!=="string"&&Nl(t=r.toString)&&!ql(i=_l(t,r)))return i;throw RS("Can't convert object to primitive value")}});var Xp=h((hF,Kp)=>{var OS=qe(),Jp=gt(),$p=Ll(),FS=Sa(),MS=Vp(),US=Se(),BS=TypeError,LS=US("toPrimitive");Kp.exports=function(r,e){if(!Jp(r)||$p(r))return r;var t=FS(r,LS),i;if(t){if(e===void 0&&(e="default"),i=OS(t,r,e),!Jp(i)||$p(i))return i;throw BS("Can't convert object to primitive value")}return e===void 0&&(e="number"),MS(r,e)}});var Ca=h((vF,Zp)=>{var DS=Xp(),_S=Ll();Zp.exports=function(r){var e=DS(r,"string");return _S(e)?e:e+""}});var $e=h(Qp=>{var NS=ce(),qS=Fl(),HS=Ml(),Ia=Je(),Yp=Ca(),jS=TypeError,Hl=Object.defineProperty,WS=Object.getOwnPropertyDescriptor,jl="enumerable",Wl="configurable",Gl="writable";Qp.f=NS?HS?function(e,t,i){if(Ia(e),t=Yp(t),Ia(i),typeof e=="function"&&t==="prototype"&&"value"in i&&Gl in i&&!i[Gl]){var n=WS(e,t);n&&n[Gl]&&(e[t]=i.value,i={configurable:Wl in i?i[Wl]:n[Wl],enumerable:jl in i?i[jl]:n[jl],writable:!1})}return Hl(e,t,i)}:Hl:function(e,t,i){if(Ia(e),t=Yp(t),Ia(i),qS)try{return Hl(e,t,i)}catch{}if("get"in i||"set"in i)throw jS("Accessors not supported");return"value"in i&&(e[t]=i.value),e}});var Er=h((bF,eg)=>{eg.exports=function(r,e){return{enumerable:!(r&1),configurable:!(r&2),writable:!(r&4),value:e}}});var wa=h((kF,tg)=>{var GS=ce(),zS=$e(),VS=Er();tg.exports=GS?function(r,e,t){return zS.f(r,e,VS(1,t))}:function(r,e,t){return r[e]=t,r}});var Aa=h((PF,ig)=>{var JS=kl(),$S=Pl(),rg=JS("keys");ig.exports=function(r){return rg[r]||(rg[r]=$S(r))}});var xa=h((SF,ng)=>{ng.exports={}});var Rr=h((CF,ag)=>{var KS=Tp(),og=ue(),XS=gt(),ZS=wa(),zl=Pe(),Vl=ga(),YS=Aa(),QS=xa(),sg="Object already initialized",Jl=og.TypeError,eC=og.WeakMap,Ta,En,Ea,tC=function(r){return Ea(r)?En(r):Ta(r,{})},rC=function(r){return function(e){var t;if(!XS(e)||(t=En(e)).type!==r)throw Jl("Incompatible receiver, "+r+" required");return t}};KS||Vl.state?(He=Vl.state||(Vl.state=new eC),He.get=He.get,He.has=He.has,He.set=He.set,Ta=function(r,e){if(He.has(r))throw Jl(sg);return e.facade=r,He.set(r,e),e},En=function(r){return He.get(r)||{}},Ea=function(r){return He.has(r)}):(zt=YS("state"),QS[zt]=!0,Ta=function(r,e){if(zl(r,zt))throw Jl(sg);return e.facade=r,ZS(r,zt,e),e},En=function(r){return zl(r,zt)?r[zt]:{}},Ea=function(r){return zl(r,zt)});var He,zt;ag.exports={set:Ta,get:En,has:Ea,enforce:tC,getterFor:rC}});var $l=h(ug=>{"use strict";var dg={}.propertyIsEnumerable,lg=Object.getOwnPropertyDescriptor,iC=lg&&!dg.call({1:2},1);ug.f=iC?function(e){var t=lg(this,e);return!!t&&t.enumerable}:dg});var Xl=h((wF,cg)=>{var nC=$(),sC=se(),oC=ya(),Kl=Object,aC=nC("".split);cg.exports=sC(function(){return!Kl("z").propertyIsEnumerable(0)})?function(r){return oC(r)=="String"?aC(r,""):Kl(r)}:Kl});var Or=h((AF,mg)=>{var dC=Xl(),lC=ha();mg.exports=function(r){return dC(lC(r))}});var Zl=h(gg=>{var uC=ce(),cC=qe(),mC=$l(),pC=Er(),gC=Or(),fC=Ca(),hC=Pe(),vC=Fl(),pg=Object.getOwnPropertyDescriptor;gg.f=uC?pg:function(e,t){if(e=gC(e),t=fC(t),vC)try{return pg(e,t)}catch{}if(hC(e,t))return pC(!cC(mC.f,e,t),e[t])}});var eu=h((TF,hg)=>{var Yl=ce(),yC=Pe(),fg=Function.prototype,bC=Yl&&Object.getOwnPropertyDescriptor,Ql=yC(fg,"name"),kC=Ql&&function(){}.name==="something",PC=Ql&&(!Yl||Yl&&bC(fg,"name").configurable);hg.exports={EXISTS:Ql,PROPER:kC,CONFIGURABLE:PC}});var ru=h((EF,vg)=>{var SC=$(),CC=K(),tu=ga(),IC=SC(Function.toString);CC(tu.inspectSource)||(tu.inspectSource=function(r){return IC(r)});vg.exports=tu.inspectSource});var su=h((RF,kg)=>{var nu=$(),wC=se(),AC=K(),Ra=Pe(),iu=ce(),xC=eu().CONFIGURABLE,TC=ru(),bg=Rr(),EC=bg.enforce,RC=bg.get,yg=String,Oa=Object.defineProperty,OC=nu("".slice),FC=nu("".replace),MC=nu([].join),UC=iu&&!wC(function(){return Oa(function(){},"length",{value:8}).length!==8}),BC=String(String).split("String"),LC=kg.exports=function(r,e,t){OC(yg(e),0,7)==="Symbol("&&(e="["+FC(yg(e),/^Symbol\(([^)]*)\)/,"$1")+"]"),t&&t.getter&&(e="get "+e),t&&t.setter&&(e="set "+e),(!Ra(r,"name")||xC&&r.name!==e)&&(iu?Oa(r,"name",{value:e,configurable:!0}):r.name=e),UC&&t&&Ra(t,"arity")&&r.length!==t.arity&&Oa(r,"length",{value:t.arity});try{t&&Ra(t,"constructor")&&t.constructor?iu&&Oa(r,"prototype",{writable:!1}):r.prototype&&(r.prototype=void 0)}catch{}var i=EC(r);return Ra(i,"source")||(i.source=MC(BC,typeof e=="string"?e:"")),r};Function.prototype.toString=LC(function(){return AC(this)&&RC(this).source||TC(this)},"toString")});var Vt=h((OF,Pg)=>{var DC=K(),_C=$e(),NC=su(),qC=pa();Pg.exports=function(r,e,t,i){i||(i={});var n=i.enumerable,o=i.name!==void 0?i.name:e;if(DC(t)&&NC(t,o,i),i.global)n?r[e]=t:qC(e,t);else{try{i.unsafe?r[e]&&(n=!0):delete r[e]}catch{}n?r[e]=t:_C.f(r,e,{value:t,enumerable:!1,configurable:!i.nonConfigurable,writable:!i.nonWritable})}return r}});var ou=h((FF,Sg)=>{var HC=ca(),jC=Math.max,WC=Math.min;Sg.exports=function(r,e){var t=HC(r);return t<0?jC(t+e,0):WC(t,e)}});var Ig=h((MF,Cg)=>{var GC=ca(),zC=Math.min;Cg.exports=function(r){return r>0?zC(GC(r),9007199254740991):0}});var Fa=h((UF,wg)=>{var VC=Ig();wg.exports=function(r){return VC(r.length)}});var Tg=h((BF,xg)=>{var JC=Or(),$C=ou(),KC=Fa(),Ag=function(r){return function(e,t,i){var n=JC(e),o=KC(n),a=$C(i,o),c;if(r&&t!=t){for(;o>a;)if(c=n[a++],c!=c)return!0}else for(;o>a;a++)if((r||a in n)&&n[a]===t)return r||a||0;return!r&&-1}};xg.exports={includes:Ag(!0),indexOf:Ag(!1)}});var du=h((LF,Rg)=>{var XC=$(),au=Pe(),ZC=Or(),YC=Tg().indexOf,QC=xa(),Eg=XC([].push);Rg.exports=function(r,e){var t=ZC(r),i=0,n=[],o;for(o in t)!au(QC,o)&&au(t,o)&&Eg(n,o);for(;e.length>i;)au(t,o=e[i++])&&(~YC(n,o)||Eg(n,o));return n}});var Ma=h((DF,Og)=>{Og.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]});var Mg=h(Fg=>{var eI=du(),tI=Ma(),rI=tI.concat("length","prototype");Fg.f=Object.getOwnPropertyNames||function(e){return eI(e,rI)}});var lu=h(Ug=>{Ug.f=Object.getOwnPropertySymbols});var Lg=h((qF,Bg)=>{var iI=Tn(),nI=$(),sI=Mg(),oI=lu(),aI=Je(),dI=nI([].concat);Bg.exports=iI("Reflect","ownKeys")||function(e){var t=sI.f(aI(e)),i=oI.f;return i?dI(t,i(e)):t}});var Ng=h((HF,_g)=>{var Dg=Pe(),lI=Lg(),uI=Zl(),cI=$e();_g.exports=function(r,e,t){for(var i=lI(e),n=cI.f,o=uI.f,a=0;a<i.length;a++){var c=i[a];!Dg(r,c)&&!(t&&Dg(t,c))&&n(r,c,o(e,c))}}});var Hg=h((jF,qg)=>{var mI=se(),pI=K(),gI=/#|\.prototype\./,Rn=function(r,e){var t=hI[fI(r)];return t==yI?!0:t==vI?!1:pI(e)?mI(e):!!e},fI=Rn.normalize=function(r){return String(r).replace(gI,".").toLowerCase()},hI=Rn.data={},vI=Rn.NATIVE="N",yI=Rn.POLYFILL="P";qg.exports=Rn});var On=h((WF,jg)=>{var uu=ue(),bI=Zl().f,kI=wa(),PI=Vt(),SI=pa(),CI=Ng(),II=Hg();jg.exports=function(r,e){var t=r.target,i=r.global,n=r.stat,o,a,c,p,g,v;if(i?a=uu:n?a=uu[t]||SI(t,{}):a=(uu[t]||{}).prototype,a)for(c in e){if(g=e[c],r.dontCallGetSet?(v=bI(a,c),p=v&&v.value):p=a[c],o=II(i?c:t+(n?".":"#")+c,r.forced),!o&&p!==void 0){if(typeof g==typeof p)continue;CI(g,p)}(r.sham||p&&p.sham)&&kI(g,"sham",!0),PI(a,c,g,r)}}});var cu=h((GF,Wg)=>{var wI=du(),AI=Ma();Wg.exports=Object.keys||function(e){return wI(e,AI)}});var zg=h(Gg=>{var xI=ce(),TI=Ml(),EI=$e(),RI=Je(),OI=Or(),FI=cu();Gg.f=xI&&!TI?Object.defineProperties:function(e,t){RI(e);for(var i=OI(t),n=FI(t),o=n.length,a=0,c;o>a;)EI.f(e,c=n[a++],i[c]);return e}});var Jg=h((VF,Vg)=>{var MI=Tn();Vg.exports=MI("document","documentElement")});var Fn=h((JF,ef)=>{var UI=Je(),BI=zg(),$g=Ma(),LI=xa(),DI=Jg(),_I=Ol(),NI=Aa(),Kg=">",Xg="<",pu="prototype",gu="script",Yg=NI("IE_PROTO"),mu=function(){},Qg=function(r){return Xg+gu+Kg+r+Xg+"/"+gu+Kg},Zg=function(r){r.write(Qg("")),r.close();var e=r.parentWindow.Object;return r=null,e},qI=function(){var r=_I("iframe"),e="java"+gu+":",t;return r.style.display="none",DI.appendChild(r),r.src=String(e),t=r.contentWindow.document,t.open(),t.write(Qg("document.F=Object")),t.close(),t.F},Ua,Ba=function(){try{Ua=new ActiveXObject("htmlfile")}catch{}Ba=typeof document<"u"?document.domain&&Ua?Zg(Ua):qI():Zg(Ua);for(var r=$g.length;r--;)delete Ba[pu][$g[r]];return Ba()};LI[Yg]=!0;ef.exports=Object.create||function(e,t){var i;return e!==null?(mu[pu]=UI(e),i=new mu,mu[pu]=null,i[Yg]=e):i=Ba(),t===void 0?i:BI.f(i,t)}});var rf=h(($F,tf)=>{var HI=se();tf.exports=!HI(function(){function r(){}return r.prototype.constructor=null,Object.getPrototypeOf(new r)!==r.prototype})});var hu=h((KF,sf)=>{var jI=Pe(),WI=K(),GI=wn(),zI=Aa(),VI=rf(),nf=zI("IE_PROTO"),fu=Object,JI=fu.prototype;sf.exports=VI?fu.getPrototypeOf:function(r){var e=GI(r);if(jI(e,nf))return e[nf];var t=e.constructor;return WI(t)&&e instanceof t?t.prototype:e instanceof fu?JI:null}});var ku=h((XF,df)=>{"use strict";var $I=se(),KI=K(),XI=gt(),ZI=Fn(),of=hu(),YI=Vt(),QI=Se(),ew=xr(),bu=QI("iterator"),af=!1,et,vu,yu;[].keys&&(yu=[].keys(),"next"in yu?(vu=of(of(yu)),vu!==Object.prototype&&(et=vu)):af=!0);var tw=!XI(et)||$I(function(){var r={};return et[bu].call(r)!==r});tw?et={}:ew&&(et=ZI(et));KI(et[bu])||YI(et,bu,function(){return this});df.exports={IteratorPrototype:et,BUGGY_SAFARI_ITERATORS:af}});var Mn=h((ZF,uf)=>{var rw=$e().f,iw=Pe(),nw=Se(),lf=nw("toStringTag");uf.exports=function(r,e,t){r&&!t&&(r=r.prototype),r&&!iw(r,lf)&&rw(r,lf,{configurable:!0,value:e})}});var Fr=h((YF,cf)=>{cf.exports={}});var Pu=h((QF,mf)=>{"use strict";var sw=ku().IteratorPrototype,ow=Fn(),aw=Er(),dw=Mn(),lw=Fr(),uw=function(){return this};mf.exports=function(r,e,t,i){var n=e+" Iterator";return r.prototype=ow(sw,{next:aw(+!i,t)}),dw(r,n,!1,!0),lw[n]=uw,r}});var gf=h((eM,pf)=>{var cw=K(),mw=String,pw=TypeError;pf.exports=function(r){if(typeof r=="object"||cw(r))return r;throw pw("Can't set "+mw(r)+" as a prototype")}});var hf=h((tM,ff)=>{var gw=$(),fw=Je(),hw=gf();ff.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var r=!1,e={},t;try{t=gw(Object.getOwnPropertyDescriptor(Object.prototype,"__proto__").set),t(e,[]),r=e instanceof Array}catch{}return function(n,o){return fw(n),hw(o),r?t(n,o):n.__proto__=o,n}}():void 0)});var Cu=h((rM,Af)=>{"use strict";var vw=On(),yw=qe(),La=xr(),If=eu(),bw=K(),kw=Pu(),vf=hu(),yf=hf(),Pw=Mn(),Sw=wa(),Su=Vt(),Cw=Se(),bf=Fr(),wf=ku(),Iw=If.PROPER,ww=If.CONFIGURABLE,kf=wf.IteratorPrototype,Da=wf.BUGGY_SAFARI_ITERATORS,Un=Cw("iterator"),Pf="keys",Bn="values",Sf="entries",Cf=function(){return this};Af.exports=function(r,e,t,i,n,o,a){kw(t,e,i);var c=function(U){if(U===n&&y)return y;if(!Da&&U in v)return v[U];switch(U){case Pf:return function(){return new t(this,U)};case Bn:return function(){return new t(this,U)};case Sf:return function(){return new t(this,U)}}return function(){return new t(this)}},p=e+" Iterator",g=!1,v=r.prototype,m=v[Un]||v["@@iterator"]||n&&v[n],y=!Da&&m||c(n),k=e=="Array"&&v.entries||m,C,I,A;if(k&&(C=vf(k.call(new r)),C!==Object.prototype&&C.next&&(!La&&vf(C)!==kf&&(yf?yf(C,kf):bw(C[Un])||Su(C,Un,Cf)),Pw(C,p,!0,!0),La&&(bf[p]=Cf))),Iw&&n==Bn&&m&&m.name!==Bn&&(!La&&ww?Sw(v,"name",Bn):(g=!0,y=function(){return yw(m,this)})),n)if(I={values:c(Bn),keys:o?y:c(Pf),entries:c(Sf)},a)for(A in I)(Da||g||!(A in v))&&Su(v,A,I[A]);else vw({target:e,proto:!0,forced:Da||g},I);return(!La||a)&&v[Un]!==y&&Su(v,Un,y,{name:n}),bf[e]=y,I}});var Iu=h((iM,xf)=>{xf.exports=function(r,e){return{value:r,done:e}}});var Of=h(()=>{"use strict";var Aw=El().charAt,xw=xn(),Ef=Rr(),Tw=Cu(),Tf=Iu(),Rf="String Iterator",Ew=Ef.set,Rw=Ef.getterFor(Rf);Tw(String,"String",function(r){Ew(this,{type:Rf,string:xw(r),index:0})},function(){var e=Rw(this),t=e.string,i=e.index,n;return i>=t.length?Tf(void 0,!0):(n=Aw(t,i),e.index+=n.length,Tf(n,!1))})});var wu=h((oM,Ff)=>{var Ow=se(),Fw=Se(),Mw=xr(),Uw=Fw("iterator");Ff.exports=!Ow(function(){var r=new URL("b?a=1&b=2&c=3","http://a"),e=r.searchParams,t="";return r.pathname="c%20d",e.forEach(function(i,n){e.delete("b"),t+=n+i}),Mw&&!r.toJSON||!e.sort||r.href!=="http://a/c%20d?a=1&c=3"||e.get("c")!=="3"||String(new URLSearchParams("?a=1"))!=="a=1"||!e[Uw]||new URL("https://a@b").username!=="a"||new URLSearchParams(new URLSearchParams("a=b")).get("a")!=="b"||new URL("http://\u0442\u0435\u0441\u0442").host!=="xn--e1aybc"||new URL("http://a#\u0431").hash!=="#%D0%B1"||t!=="a1c3"||new URL("http://x",void 0).host!=="x"})});var Uf=h((aM,Mf)=>{var Bw=ya(),Lw=$();Mf.exports=function(r){if(Bw(r)==="Function")return Lw(r)}});var _a=h((dM,Lf)=>{var Bf=Uf(),Dw=Pa(),_w=ua(),Nw=Bf(Bf.bind);Lf.exports=function(r,e){return Dw(r),e===void 0?r:_w?Nw(r,e):function(){return r.apply(e,arguments)}}});var Nf=h((lM,_f)=>{var Df=su(),qw=$e();_f.exports=function(r,e,t){return t.get&&Df(t.get,e,{getter:!0}),t.set&&Df(t.set,e,{setter:!0}),qw.f(r,e,t)}});var Au=h((uM,qf)=>{var Hw=Bl(),jw=TypeError;qf.exports=function(r,e){if(Hw(e,r))return r;throw jw("Incorrect invocation")}});var Gf=h((cM,Wf)=>{"use strict";var Hf=ce(),Ww=$(),Gw=qe(),zw=se(),xu=cu(),Vw=lu(),Jw=$l(),$w=wn(),Kw=Xl(),Mr=Object.assign,jf=Object.defineProperty,Xw=Ww([].concat);Wf.exports=!Mr||zw(function(){if(Hf&&Mr({b:1},Mr(jf({},"a",{enumerable:!0,get:function(){jf(this,"b",{value:3,enumerable:!1})}}),{b:2})).b!==1)return!0;var r={},e={},t=Symbol(),i="abcdefghijklmnopqrst";return r[t]=7,i.split("").forEach(function(n){e[n]=n}),Mr({},r)[t]!=7||xu(Mr({},e)).join("")!=i})?function(e,t){for(var i=$w(e),n=arguments.length,o=1,a=Vw.f,c=Jw.f;n>o;)for(var p=Kw(arguments[o++]),g=a?Xw(xu(p),a(p)):xu(p),v=g.length,m=0,y;v>m;)y=g[m++],(!Hf||Gw(c,p,y))&&(i[y]=p[y]);return i}:Mr});var Jf=h((mM,Vf)=>{var Zw=qe(),zf=Je(),Yw=Sa();Vf.exports=function(r,e,t){var i,n;zf(r);try{if(i=Yw(r,"return"),!i){if(e==="throw")throw t;return t}i=Zw(i,r)}catch(o){n=!0,i=o}if(e==="throw")throw t;if(n)throw i;return zf(i),t}});var Kf=h((pM,$f)=>{var Qw=Je(),eA=Jf();$f.exports=function(r,e,t,i){try{return i?e(Qw(t)[0],t[1]):e(t)}catch(n){eA(r,"throw",n)}}});var Zf=h((gM,Xf)=>{var tA=Se(),rA=Fr(),iA=tA("iterator"),nA=Array.prototype;Xf.exports=function(r){return r!==void 0&&(rA.Array===r||nA[iA]===r)}});var ih=h((fM,rh)=>{var sA=$(),oA=se(),Yf=K(),aA=An(),dA=Tn(),lA=ru(),Qf=function(){},uA=[],eh=dA("Reflect","construct"),Tu=/^\s*(?:class|function)\b/,cA=sA(Tu.exec),mA=!Tu.exec(Qf),Ln=function(e){if(!Yf(e))return!1;try{return eh(Qf,uA,e),!0}catch{return!1}},th=function(e){if(!Yf(e))return!1;switch(aA(e)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}try{return mA||!!cA(Tu,lA(e))}catch{return!0}};th.sham=!0;rh.exports=!eh||oA(function(){var r;return Ln(Ln.call)||!Ln(Object)||!Ln(function(){r=!0})||r})?th:Ln});var Eu=h((hM,nh)=>{"use strict";var pA=Ca(),gA=$e(),fA=Er();nh.exports=function(r,e,t){var i=pA(e);i in r?gA.f(r,i,fA(0,t)):r[i]=t}});var Na=h((vM,oh)=>{var hA=An(),sh=Sa(),vA=fa(),yA=Fr(),bA=Se(),kA=bA("iterator");oh.exports=function(r){if(!vA(r))return sh(r,kA)||sh(r,"@@iterator")||yA[hA(r)]}});var Ru=h((yM,ah)=>{var PA=qe(),SA=Pa(),CA=Je(),IA=Dl(),wA=Na(),AA=TypeError;ah.exports=function(r,e){var t=arguments.length<2?wA(r):e;if(SA(t))return CA(PA(t,r));throw AA(IA(r)+" is not iterable")}});var ch=h((bM,uh)=>{"use strict";var xA=_a(),TA=qe(),EA=wn(),RA=Kf(),OA=Zf(),FA=ih(),MA=Fa(),dh=Eu(),UA=Ru(),BA=Na(),lh=Array;uh.exports=function(e){var t=EA(e),i=FA(this),n=arguments.length,o=n>1?arguments[1]:void 0,a=o!==void 0;a&&(o=xA(o,n>2?arguments[2]:void 0));var c=BA(t),p=0,g,v,m,y,k,C;if(c&&!(this===lh&&OA(c)))for(y=UA(t,c),k=y.next,v=i?new this:[];!(m=TA(k,y)).done;p++)C=a?RA(y,o,[m.value,p],!0):m.value,dh(v,p,C);else for(g=MA(t),v=i?new this(g):lh(g);g>p;p++)C=a?o(t[p],p):t[p],dh(v,p,C);return v.length=p,v}});var Ou=h((kM,ph)=>{var mh=ou(),LA=Fa(),DA=Eu(),_A=Array,NA=Math.max;ph.exports=function(r,e,t){for(var i=LA(r),n=mh(e,i),o=mh(t===void 0?i:t,i),a=_A(NA(o-n,0)),c=0;n<o;n++,c++)DA(a,c,r[n]);return a.length=c,a}});var Sh=h((PM,Ph)=>{var Jt=$(),Fu=2147483647,Dn=36,yh=1,Bu=26,qA=38,HA=700,jA=72,WA=128,GA="-",zA=/[^\0-\u007E]/,bh=/[.\u3002\uFF0E\uFF61]/g,gh="Overflow: input needs wider integers to process",Mu=Dn-yh,fh=RangeError,VA=Jt(bh.exec),Ur=Math.floor,Uu=String.fromCharCode,hh=Jt("".charCodeAt),kh=Jt([].join),ft=Jt([].push),JA=Jt("".replace),$A=Jt("".split),KA=Jt("".toLowerCase),XA=function(r){for(var e=[],t=0,i=r.length;t<i;){var n=hh(r,t++);if(n>=55296&&n<=56319&&t<i){var o=hh(r,t++);(o&64512)==56320?ft(e,((n&1023)<<10)+(o&1023)+65536):(ft(e,n),t--)}else ft(e,n)}return e},vh=function(r){return r+22+75*(r<26)},ZA=function(r,e,t){var i=0;for(r=t?Ur(r/HA):r>>1,r+=Ur(r/e);r>Mu*Bu>>1;)r=Ur(r/Mu),i+=Dn;return Ur(i+(Mu+1)*r/(r+qA))},YA=function(r){var e=[];r=XA(r);var t=r.length,i=WA,n=0,o=jA,a,c;for(a=0;a<r.length;a++)c=r[a],c<128&&ft(e,Uu(c));var p=e.length,g=p;for(p&&ft(e,GA);g<t;){var v=Fu;for(a=0;a<r.length;a++)c=r[a],c>=i&&c<v&&(v=c);var m=g+1;if(v-i>Ur((Fu-n)/m))throw fh(gh);for(n+=(v-i)*m,i=v,a=0;a<r.length;a++){if(c=r[a],c<i&&++n>Fu)throw fh(gh);if(c==i){for(var y=n,k=Dn;;){var C=k<=o?yh:k>=o+Bu?Bu:k-o;if(y<C)break;var I=y-C,A=Dn-C;ft(e,Uu(vh(C+I%A))),y=Ur(I/A),k+=Dn}ft(e,Uu(vh(y))),o=ZA(n,m,g==p),n=0,g++}}n++,i++}return kh(e,"")};Ph.exports=function(r){var e=[],t=$A(JA(KA(r),bh,"."),"."),i,n;for(i=0;i<t.length;i++)n=t[i],ft(e,VA(zA,n)?"xn--"+YA(n):n);return kh(e,".")}});var Lu=h((SM,Ch)=>{var QA=TypeError;Ch.exports=function(r,e){if(r<e)throw QA("Not enough arguments");return r}});var wh=h((CM,Ih)=>{var ex=Se(),tx=Fn(),rx=$e().f,Du=ex("unscopables"),_u=Array.prototype;_u[Du]==null&&rx(_u,Du,{configurable:!0,value:tx(null)});Ih.exports=function(r){_u[Du][r]=!0}});var Oh=h((IM,Rh)=>{"use strict";var ix=Or(),Nu=wh(),Ah=Fr(),Th=Rr(),nx=$e().f,sx=Cu(),qa=Iu(),ox=xr(),ax=ce(),Eh="Array Iterator",dx=Th.set,lx=Th.getterFor(Eh);Rh.exports=sx(Array,"Array",function(r,e){dx(this,{type:Eh,target:ix(r),index:0,kind:e})},function(){var r=lx(this),e=r.target,t=r.kind,i=r.index++;return!e||i>=e.length?(r.target=void 0,qa(void 0,!0)):t=="keys"?qa(i,!1):t=="values"?qa(e[i],!1):qa([i,e[i]],!1)},"values");var xh=Ah.Arguments=Ah.Array;Nu("keys");Nu("values");Nu("entries");if(!ox&&ax&&xh.name!=="values")try{nx(xh,"name",{value:"values"})}catch{}});var Mh=h((wM,Fh)=>{var ux=Vt();Fh.exports=function(r,e,t){for(var i in e)ux(r,i,e[i],t);return r}});var Lh=h((AM,Bh)=>{var Uh=Ou(),cx=Math.floor,qu=function(r,e){var t=r.length,i=cx(t/2);return t<8?mx(r,e):px(r,qu(Uh(r,0,i),e),qu(Uh(r,i),e),e)},mx=function(r,e){for(var t=r.length,i=1,n,o;i<t;){for(o=i,n=r[i];o&&e(r[o-1],n)>0;)r[o]=r[--o];o!==i++&&(r[o]=n)}return r},px=function(r,e,t,i){for(var n=e.length,o=t.length,a=0,c=0;a<n||c<o;)r[a+c]=a<n&&c<o?i(e[a],t[c])<=0?e[a++]:t[c++]:a<n?e[a++]:t[c++];return r};Bh.exports=qu});var Xu=h((xM,rv)=>{"use strict";Oh();var zu=On(),Lr=ue(),Ha=qe(),Ke=$(),gx=ce(),$h=wu(),Kh=Vt(),fx=Mh(),hx=Mn(),vx=Pu(),$u=Rr(),Xh=Au(),Hu=K(),yx=Pe(),bx=_a(),kx=An(),Px=Je(),Zh=gt(),me=xn(),Sx=Fn(),Dh=Er(),Vu=Ru(),Cx=Na(),Br=Lu(),Ix=Se(),wx=Lh(),Ax=Ix("iterator"),qn="URLSearchParams",Yh=qn+"Iterator",Qh=$u.set,je=$u.getterFor(qn),xx=$u.getterFor(Yh),Tx=Object.getOwnPropertyDescriptor,Ku=function(r){if(!gx)return Lr[r];var e=Tx(Lr,r);return e&&e.value},_h=Ku("fetch"),Wa=Ku("Request"),_n=Ku("Headers"),ju=Wa&&Wa.prototype,Nh=_n&&_n.prototype,Ex=Lr.RegExp,Rx=Lr.TypeError,ev=Lr.decodeURIComponent,Ox=Lr.encodeURIComponent,Fx=Ke("".charAt),qh=Ke([].join),$t=Ke([].push),Ju=Ke("".replace),Mx=Ke([].shift),Hh=Ke([].splice),jh=Ke("".split),Ux=Ke("".slice),Bx=/\+/g,Wh=Array(4),Lx=function(r){return Wh[r-1]||(Wh[r-1]=Ex("((?:%[\\da-f]{2}){"+r+"})","gi"))},Dx=function(r){try{return ev(r)}catch{return r}},Gh=function(r){var e=Ju(r,Bx," "),t=4;try{return ev(e)}catch{for(;t;)e=Ju(e,Lx(t--),Dx);return e}},_x=/[!'()~]|%20/g,Nx={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+"},qx=function(r){return Nx[r]},zh=function(r){return Ju(Ox(r),_x,qx)},Wu=vx(function(e,t){Qh(this,{type:Yh,iterator:Vu(je(e).entries),kind:t})},"Iterator",function(){var e=xx(this),t=e.kind,i=e.iterator.next(),n=i.value;return i.done||(i.value=t==="keys"?n.key:t==="values"?n.value:[n.key,n.value]),i},!0),tv=function(r){this.entries=[],this.url=null,r!==void 0&&(Zh(r)?this.parseObject(r):this.parseQuery(typeof r=="string"?Fx(r,0)==="?"?Ux(r,1):r:me(r)))};tv.prototype={type:qn,bindURL:function(r){this.url=r,this.update()},parseObject:function(r){var e=Cx(r),t,i,n,o,a,c,p;if(e)for(t=Vu(r,e),i=t.next;!(n=Ha(i,t)).done;){if(o=Vu(Px(n.value)),a=o.next,(c=Ha(a,o)).done||(p=Ha(a,o)).done||!Ha(a,o).done)throw Rx("Expected sequence with length 2");$t(this.entries,{key:me(c.value),value:me(p.value)})}else for(var g in r)yx(r,g)&&$t(this.entries,{key:g,value:me(r[g])})},parseQuery:function(r){if(r)for(var e=jh(r,"&"),t=0,i,n;t<e.length;)i=e[t++],i.length&&(n=jh(i,"="),$t(this.entries,{key:Gh(Mx(n)),value:Gh(qh(n,"="))}))},serialize:function(){for(var r=this.entries,e=[],t=0,i;t<r.length;)i=r[t++],$t(e,zh(i.key)+"="+zh(i.value));return qh(e,"&")},update:function(){this.entries.length=0,this.parseQuery(this.url.query)},updateURL:function(){this.url&&this.url.update()}};var Ga=function(){Xh(this,Nn);var e=arguments.length>0?arguments[0]:void 0;Qh(this,new tv(e))},Nn=Ga.prototype;fx(Nn,{append:function(e,t){Br(arguments.length,2);var i=je(this);$t(i.entries,{key:me(e),value:me(t)}),i.updateURL()},delete:function(r){Br(arguments.length,1);for(var e=je(this),t=e.entries,i=me(r),n=0;n<t.length;)t[n].key===i?Hh(t,n,1):n++;e.updateURL()},get:function(e){Br(arguments.length,1);for(var t=je(this).entries,i=me(e),n=0;n<t.length;n++)if(t[n].key===i)return t[n].value;return null},getAll:function(e){Br(arguments.length,1);for(var t=je(this).entries,i=me(e),n=[],o=0;o<t.length;o++)t[o].key===i&&$t(n,t[o].value);return n},has:function(e){Br(arguments.length,1);for(var t=je(this).entries,i=me(e),n=0;n<t.length;)if(t[n++].key===i)return!0;return!1},set:function(e,t){Br(arguments.length,1);for(var i=je(this),n=i.entries,o=!1,a=me(e),c=me(t),p=0,g;p<n.length;p++)g=n[p],g.key===a&&(o?Hh(n,p--,1):(o=!0,g.value=c));o||$t(n,{key:a,value:c}),i.updateURL()},sort:function(){var e=je(this);wx(e.entries,function(t,i){return t.key>i.key?1:-1}),e.updateURL()},forEach:function(e){for(var t=je(this).entries,i=bx(e,arguments.length>1?arguments[1]:void 0),n=0,o;n<t.length;)o=t[n++],i(o.value,o.key,this)},keys:function(){return new Wu(this,"keys")},values:function(){return new Wu(this,"values")},entries:function(){return new Wu(this,"entries")}},{enumerable:!0});Kh(Nn,Ax,Nn.entries,{name:"entries"});Kh(Nn,"toString",function(){return je(this).serialize()},{enumerable:!0});hx(Ga,qn);zu({global:!0,constructor:!0,forced:!$h},{URLSearchParams:Ga});!$h&&Hu(_n)&&(Vh=Ke(Nh.has),Jh=Ke(Nh.set),Gu=function(r){if(Zh(r)){var e=r.body,t;if(kx(e)===qn)return t=r.headers?new _n(r.headers):new _n,Vh(t,"content-type")||Jh(t,"content-type","application/x-www-form-urlencoded;charset=UTF-8"),Sx(r,{body:Dh(0,me(e)),headers:Dh(0,t)})}return r},Hu(_h)&&zu({global:!0,enumerable:!0,dontCallGetSet:!0,forced:!0},{fetch:function(e){return _h(e,arguments.length>1?Gu(arguments[1]):{})}}),Hu(Wa)&&(ja=function(e){return Xh(this,ju),new Wa(e,arguments.length>1?Gu(arguments[1]):{})},ju.constructor=ja,ja.prototype=ju,zu({global:!0,constructor:!0,dontCallGetSet:!0,forced:!0},{Request:ja})));var Vh,Jh,Gu,ja;rv.exports={URLSearchParams:Ga,getState:je}});var Pv=h(()=>{"use strict";Of();var Hx=On(),mc=ce(),jx=wu(),pc=ue(),iv=_a(),xe=$(),Ka=Vt(),Ce=Nf(),Wx=Au(),lc=Pe(),gc=Gf(),Dr=ch(),We=Ou(),Gx=El().codeAt,zx=Sh(),rt=xn(),Vx=Mn(),Jx=Lu(),fv=Xu(),hv=Rr(),$x=hv.set,Xa=hv.getterFor("URL"),Kx=fv.URLSearchParams,Xx=fv.getState,Hn=pc.URL,uc=pc.TypeError,Za=pc.parseInt,Zx=Math.floor,nv=Math.pow,Ae=xe("".charAt),Ge=xe(/./.exec),Wn=xe([].join),Yx=xe(1 .toString),Qx=xe([].pop),Nr=xe([].push),sv=xe("".replace),e0=xe([].shift),t0=xe("".split),zn=xe("".slice),Ya=xe("".toLowerCase),r0=xe([].unshift),i0="Invalid authority",Zu="Invalid scheme",Kt="Invalid host",ov="Invalid port",vv=/[a-z]/i,n0=/[\d+-.a-z]/i,cc=/\d/,s0=/^0x/i,o0=/^[0-7]+$/,a0=/^\d+$/,yv=/^[\da-f]+$/i,d0=/[\0\t\n\r #%/:<>?@[\\\]^|]/,l0=/[\0\t\n\r #/:<>?@[\\\]^|]/,u0=/^[\u0000-\u0020]+|[\u0000-\u0020]+$/g,c0=/[\t\n\r]/g,Ie,m0=function(r){var e=t0(r,"."),t,i,n,o,a,c,p;if(e.length&&e[e.length-1]==""&&e.length--,t=e.length,t>4)return r;for(i=[],n=0;n<t;n++){if(o=e[n],o=="")return r;if(a=10,o.length>1&&Ae(o,0)=="0"&&(a=Ge(s0,o)?16:8,o=zn(o,a==8?1:2)),o==="")c=0;else{if(!Ge(a==10?a0:a==8?o0:yv,o))return r;c=Za(o,a)}Nr(i,c)}for(n=0;n<t;n++)if(c=i[n],n==t-1){if(c>=nv(256,5-t))return null}else if(c>255)return null;for(p=Qx(i),n=0;n<i.length;n++)p+=i[n]*nv(256,3-n);return p},p0=function(r){var e=[0,0,0,0,0,0,0,0],t=0,i=null,n=0,o,a,c,p,g,v,m,y=function(){return Ae(r,n)};if(y()==":"){if(Ae(r,1)!=":")return;n+=2,t++,i=t}for(;y();){if(t==8)return;if(y()==":"){if(i!==null)return;n++,t++,i=t;continue}for(o=a=0;a<4&&Ge(yv,y());)o=o*16+Za(y(),16),n++,a++;if(y()=="."){if(a==0||(n-=a,t>6))return;for(c=0;y();){if(p=null,c>0)if(y()=="."&&c<4)n++;else return;if(!Ge(cc,y()))return;for(;Ge(cc,y());){if(g=Za(y(),10),p===null)p=g;else{if(p==0)return;p=p*10+g}if(p>255)return;n++}e[t]=e[t]*256+p,c++,(c==2||c==4)&&t++}if(c!=4)return;break}else if(y()==":"){if(n++,!y())return}else if(y())return;e[t++]=o}if(i!==null)for(v=t-i,t=7;t!=0&&v>0;)m=e[t],e[t--]=e[i+v-1],e[i+--v]=m;else if(t!=8)return;return e},g0=function(r){for(var e=null,t=1,i=null,n=0,o=0;o<8;o++)r[o]!==0?(n>t&&(e=i,t=n),i=null,n=0):(i===null&&(i=o),++n);return n>t&&(e=i,t=n),e},jn=function(r){var e,t,i,n;if(typeof r=="number"){for(e=[],t=0;t<4;t++)r0(e,r%256),r=Zx(r/256);return Wn(e,".")}else if(typeof r=="object"){for(e="",i=g0(r),t=0;t<8;t++)n&&r[t]===0||(n&&(n=!1),i===t?(e+=t?":":"::",n=!0):(e+=Yx(r[t],16),t<7&&(e+=":")));return"["+e+"]"}return r},$a={},bv=gc({},$a,{" ":1,'"':1,"<":1,">":1,"`":1}),kv=gc({},bv,{"#":1,"?":1,"{":1,"}":1}),Yu=gc({},kv,{"/":1,":":1,";":1,"=":1,"@":1,"[":1,"\\":1,"]":1,"^":1,"|":1}),ht=function(r,e){var t=Gx(r,0);return t>32&&t<127&&!lc(e,r)?r:encodeURIComponent(r)},za={ftp:21,file:null,http:80,https:443,ws:80,wss:443},Gn=function(r,e){var t;return r.length==2&&Ge(vv,Ae(r,0))&&((t=Ae(r,1))==":"||!e&&t=="|")},av=function(r){var e;return r.length>1&&Gn(zn(r,0,2))&&(r.length==2||(e=Ae(r,2))==="/"||e==="\\"||e==="?"||e==="#")},f0=function(r){return r==="."||Ya(r)==="%2e"},h0=function(r){return r=Ya(r),r===".."||r==="%2e."||r===".%2e"||r==="%2e%2e"},Qu={},dv={},ec={},lv={},uv={},tc={},cv={},mv={},Va={},Ja={},rc={},ic={},nc={},sc={},pv={},oc={},_r={},Xe={},gv={},Xt={},tt={},fc=function(r,e,t){var i=rt(r),n,o,a;if(e){if(o=this.parse(i),o)throw uc(o);this.searchParams=null}else{if(t!==void 0&&(n=new fc(t,!0)),o=this.parse(i,null,n),o)throw uc(o);a=Xx(new Kx),a.bindURL(this),this.searchParams=a}};fc.prototype={type:"URL",parse:function(r,e,t){var i=this,n=e||Qu,o=0,a="",c=!1,p=!1,g=!1,v,m,y,k;for(r=rt(r),e||(i.scheme="",i.username="",i.password="",i.host=null,i.port=null,i.path=[],i.query=null,i.fragment=null,i.cannotBeABaseURL=!1,r=sv(r,u0,"")),r=sv(r,c0,""),v=Dr(r);o<=v.length;){switch(m=v[o],n){case Qu:if(m&&Ge(vv,m))a+=Ya(m),n=dv;else{if(e)return Zu;n=ec;continue}break;case dv:if(m&&(Ge(n0,m)||m=="+"||m=="-"||m=="."))a+=Ya(m);else if(m==":"){if(e&&(i.isSpecial()!=lc(za,a)||a=="file"&&(i.includesCredentials()||i.port!==null)||i.scheme=="file"&&!i.host))return;if(i.scheme=a,e){i.isSpecial()&&za[i.scheme]==i.port&&(i.port=null);return}a="",i.scheme=="file"?n=sc:i.isSpecial()&&t&&t.scheme==i.scheme?n=lv:i.isSpecial()?n=mv:v[o+1]=="/"?(n=uv,o++):(i.cannotBeABaseURL=!0,Nr(i.path,""),n=gv)}else{if(e)return Zu;a="",n=ec,o=0;continue}break;case ec:if(!t||t.cannotBeABaseURL&&m!="#")return Zu;if(t.cannotBeABaseURL&&m=="#"){i.scheme=t.scheme,i.path=We(t.path),i.query=t.query,i.fragment="",i.cannotBeABaseURL=!0,n=tt;break}n=t.scheme=="file"?sc:tc;continue;case lv:if(m=="/"&&v[o+1]=="/")n=Va,o++;else{n=tc;continue}break;case uv:if(m=="/"){n=Ja;break}else{n=Xe;continue}case tc:if(i.scheme=t.scheme,m==Ie)i.username=t.username,i.password=t.password,i.host=t.host,i.port=t.port,i.path=We(t.path),i.query=t.query;else if(m=="/"||m=="\\"&&i.isSpecial())n=cv;else if(m=="?")i.username=t.username,i.password=t.password,i.host=t.host,i.port=t.port,i.path=We(t.path),i.query="",n=Xt;else if(m=="#")i.username=t.username,i.password=t.password,i.host=t.host,i.port=t.port,i.path=We(t.path),i.query=t.query,i.fragment="",n=tt;else{i.username=t.username,i.password=t.password,i.host=t.host,i.port=t.port,i.path=We(t.path),i.path.length--,n=Xe;continue}break;case cv:if(i.isSpecial()&&(m=="/"||m=="\\"))n=Va;else if(m=="/")n=Ja;else{i.username=t.username,i.password=t.password,i.host=t.host,i.port=t.port,n=Xe;continue}break;case mv:if(n=Va,m!="/"||Ae(a,o+1)!="/")continue;o++;break;case Va:if(m!="/"&&m!="\\"){n=Ja;continue}break;case Ja:if(m=="@"){c&&(a="%40"+a),c=!0,y=Dr(a);for(var C=0;C<y.length;C++){var I=y[C];if(I==":"&&!g){g=!0;continue}var A=ht(I,Yu);g?i.password+=A:i.username+=A}a=""}else if(m==Ie||m=="/"||m=="?"||m=="#"||m=="\\"&&i.isSpecial()){if(c&&a=="")return i0;o-=Dr(a).length+1,a="",n=rc}else a+=m;break;case rc:case ic:if(e&&i.scheme=="file"){n=oc;continue}else if(m==":"&&!p){if(a=="")return Kt;if(k=i.parseHost(a),k)return k;if(a="",n=nc,e==ic)return}else if(m==Ie||m=="/"||m=="?"||m=="#"||m=="\\"&&i.isSpecial()){if(i.isSpecial()&&a=="")return Kt;if(e&&a==""&&(i.includesCredentials()||i.port!==null))return;if(k=i.parseHost(a),k)return k;if(a="",n=_r,e)return;continue}else m=="["?p=!0:m=="]"&&(p=!1),a+=m;break;case nc:if(Ge(cc,m))a+=m;else if(m==Ie||m=="/"||m=="?"||m=="#"||m=="\\"&&i.isSpecial()||e){if(a!=""){var U=Za(a,10);if(U>65535)return ov;i.port=i.isSpecial()&&U===za[i.scheme]?null:U,a=""}if(e)return;n=_r;continue}else return ov;break;case sc:if(i.scheme="file",m=="/"||m=="\\")n=pv;else if(t&&t.scheme=="file")if(m==Ie)i.host=t.host,i.path=We(t.path),i.query=t.query;else if(m=="?")i.host=t.host,i.path=We(t.path),i.query="",n=Xt;else if(m=="#")i.host=t.host,i.path=We(t.path),i.query=t.query,i.fragment="",n=tt;else{av(Wn(We(v,o),""))||(i.host=t.host,i.path=We(t.path),i.shortenPath()),n=Xe;continue}else{n=Xe;continue}break;case pv:if(m=="/"||m=="\\"){n=oc;break}t&&t.scheme=="file"&&!av(Wn(We(v,o),""))&&(Gn(t.path[0],!0)?Nr(i.path,t.path[0]):i.host=t.host),n=Xe;continue;case oc:if(m==Ie||m=="/"||m=="\\"||m=="?"||m=="#"){if(!e&&Gn(a))n=Xe;else if(a==""){if(i.host="",e)return;n=_r}else{if(k=i.parseHost(a),k)return k;if(i.host=="localhost"&&(i.host=""),e)return;a="",n=_r}continue}else a+=m;break;case _r:if(i.isSpecial()){if(n=Xe,m!="/"&&m!="\\")continue}else if(!e&&m=="?")i.query="",n=Xt;else if(!e&&m=="#")i.fragment="",n=tt;else if(m!=Ie&&(n=Xe,m!="/"))continue;break;case Xe:if(m==Ie||m=="/"||m=="\\"&&i.isSpecial()||!e&&(m=="?"||m=="#")){if(h0(a)?(i.shortenPath(),m!="/"&&!(m=="\\"&&i.isSpecial())&&Nr(i.path,"")):f0(a)?m!="/"&&!(m=="\\"&&i.isSpecial())&&Nr(i.path,""):(i.scheme=="file"&&!i.path.length&&Gn(a)&&(i.host&&(i.host=""),a=Ae(a,0)+":"),Nr(i.path,a)),a="",i.scheme=="file"&&(m==Ie||m=="?"||m=="#"))for(;i.path.length>1&&i.path[0]==="";)e0(i.path);m=="?"?(i.query="",n=Xt):m=="#"&&(i.fragment="",n=tt)}else a+=ht(m,kv);break;case gv:m=="?"?(i.query="",n=Xt):m=="#"?(i.fragment="",n=tt):m!=Ie&&(i.path[0]+=ht(m,$a));break;case Xt:!e&&m=="#"?(i.fragment="",n=tt):m!=Ie&&(m=="'"&&i.isSpecial()?i.query+="%27":m=="#"?i.query+="%23":i.query+=ht(m,$a));break;case tt:m!=Ie&&(i.fragment+=ht(m,bv));break}o++}},parseHost:function(r){var e,t,i;if(Ae(r,0)=="["){if(Ae(r,r.length-1)!="]"||(e=p0(zn(r,1,-1)),!e))return Kt;this.host=e}else if(this.isSpecial()){if(r=zx(r),Ge(d0,r)||(e=m0(r),e===null))return Kt;this.host=e}else{if(Ge(l0,r))return Kt;for(e="",t=Dr(r),i=0;i<t.length;i++)e+=ht(t[i],$a);this.host=e}},cannotHaveUsernamePasswordPort:function(){return!this.host||this.cannotBeABaseURL||this.scheme=="file"},includesCredentials:function(){return this.username!=""||this.password!=""},isSpecial:function(){return lc(za,this.scheme)},shortenPath:function(){var r=this.path,e=r.length;e&&(this.scheme!="file"||e!=1||!Gn(r[0],!0))&&r.length--},serialize:function(){var r=this,e=r.scheme,t=r.username,i=r.password,n=r.host,o=r.port,a=r.path,c=r.query,p=r.fragment,g=e+":";return n!==null?(g+="//",r.includesCredentials()&&(g+=t+(i?":"+i:"")+"@"),g+=jn(n),o!==null&&(g+=":"+o)):e=="file"&&(g+="//"),g+=r.cannotBeABaseURL?a[0]:a.length?"/"+Wn(a,"/"):"",c!==null&&(g+="?"+c),p!==null&&(g+="#"+p),g},setHref:function(r){var e=this.parse(r);if(e)throw uc(e);this.searchParams.update()},getOrigin:function(){var r=this.scheme,e=this.port;if(r=="blob")try{return new qr(r.path[0]).origin}catch{return"null"}return r=="file"||!this.isSpecial()?"null":r+"://"+jn(this.host)+(e!==null?":"+e:"")},getProtocol:function(){return this.scheme+":"},setProtocol:function(r){this.parse(rt(r)+":",Qu)},getUsername:function(){return this.username},setUsername:function(r){var e=Dr(rt(r));if(!this.cannotHaveUsernamePasswordPort()){this.username="";for(var t=0;t<e.length;t++)this.username+=ht(e[t],Yu)}},getPassword:function(){return this.password},setPassword:function(r){var e=Dr(rt(r));if(!this.cannotHaveUsernamePasswordPort()){this.password="";for(var t=0;t<e.length;t++)this.password+=ht(e[t],Yu)}},getHost:function(){var r=this.host,e=this.port;return r===null?"":e===null?jn(r):jn(r)+":"+e},setHost:function(r){this.cannotBeABaseURL||this.parse(r,rc)},getHostname:function(){var r=this.host;return r===null?"":jn(r)},setHostname:function(r){this.cannotBeABaseURL||this.parse(r,ic)},getPort:function(){var r=this.port;return r===null?"":rt(r)},setPort:function(r){this.cannotHaveUsernamePasswordPort()||(r=rt(r),r==""?this.port=null:this.parse(r,nc))},getPathname:function(){var r=this.path;return this.cannotBeABaseURL?r[0]:r.length?"/"+Wn(r,"/"):""},setPathname:function(r){this.cannotBeABaseURL||(this.path=[],this.parse(r,_r))},getSearch:function(){var r=this.query;return r?"?"+r:""},setSearch:function(r){r=rt(r),r==""?this.query=null:(Ae(r,0)=="?"&&(r=zn(r,1)),this.query="",this.parse(r,Xt)),this.searchParams.update()},getSearchParams:function(){return this.searchParams.facade},getHash:function(){var r=this.fragment;return r?"#"+r:""},setHash:function(r){if(r=rt(r),r==""){this.fragment=null;return}Ae(r,0)=="#"&&(r=zn(r,1)),this.fragment="",this.parse(r,tt)},update:function(){this.query=this.searchParams.serialize()||null}};var qr=function(e){var t=Wx(this,Q),i=Jx(arguments.length,1)>1?arguments[1]:void 0,n=$x(t,new fc(e,!1,i));mc||(t.href=n.serialize(),t.origin=n.getOrigin(),t.protocol=n.getProtocol(),t.username=n.getUsername(),t.password=n.getPassword(),t.host=n.getHost(),t.hostname=n.getHostname(),t.port=n.getPort(),t.pathname=n.getPathname(),t.search=n.getSearch(),t.searchParams=n.getSearchParams(),t.hash=n.getHash())},Q=qr.prototype,we=function(r,e){return{get:function(){return Xa(this)[r]()},set:e&&function(t){return Xa(this)[e](t)},configurable:!0,enumerable:!0}};mc&&(Ce(Q,"href",we("serialize","setHref")),Ce(Q,"origin",we("getOrigin")),Ce(Q,"protocol",we("getProtocol","setProtocol")),Ce(Q,"username",we("getUsername","setUsername")),Ce(Q,"password",we("getPassword","setPassword")),Ce(Q,"host",we("getHost","setHost")),Ce(Q,"hostname",we("getHostname","setHostname")),Ce(Q,"port",we("getPort","setPort")),Ce(Q,"pathname",we("getPathname","setPathname")),Ce(Q,"search",we("getSearch","setSearch")),Ce(Q,"searchParams",we("getSearchParams")),Ce(Q,"hash",we("getHash","setHash")));Ka(Q,"toJSON",function(){return Xa(this).serialize()},{enumerable:!0});Ka(Q,"toString",function(){return Xa(this).serialize()},{enumerable:!0});Hn&&(ac=Hn.createObjectURL,dc=Hn.revokeObjectURL,ac&&Ka(qr,"createObjectURL",iv(ac,Hn)),dc&&Ka(qr,"revokeObjectURL",iv(dc,Hn)));var ac,dc;Vx(qr,"URL");Hx({global:!0,constructor:!0,forced:!jx,sham:!mc},{URL:qr})});var Sv=h(()=>{Pv()});var Cv=h(()=>{"use strict";var v0=On(),y0=qe();v0({target:"URL",proto:!0,enumerable:!0},{toJSON:function(){return y0(URL.prototype.toString,this)}})});var Iv=h(()=>{Xu()});var Av=h((LM,wv)=>{var b0=ue();wv.exports=b0});var Tv=h((DM,xv)=>{Sv();Cv();Iv();var k0=Av();xv.exports=k0.URL});var Wc=h((eD,My)=>{var BT=Object.prototype.toString;My.exports=function(e){if(e===void 0)return"undefined";if(e===null)return"null";var t=typeof e;if(t==="boolean")return"boolean";if(t==="string")return"string";if(t==="number")return"number";if(t==="symbol")return"symbol";if(t==="function")return qT(e)?"generatorfunction":"function";if(LT(e))return"array";if(WT(e))return"buffer";if(jT(e))return"arguments";if(_T(e))return"date";if(DT(e))return"error";if(NT(e))return"regexp";switch(Fy(e)){case"Symbol":return"symbol";case"Promise":return"promise";case"WeakMap":return"weakmap";case"WeakSet":return"weakset";case"Map":return"map";case"Set":return"set";case"Int8Array":return"int8array";case"Uint8Array":return"uint8array";case"Uint8ClampedArray":return"uint8clampedarray";case"Int16Array":return"int16array";case"Uint16Array":return"uint16array";case"Int32Array":return"int32array";case"Uint32Array":return"uint32array";case"Float32Array":return"float32array";case"Float64Array":return"float64array"}if(HT(e))return"generator";switch(t=BT.call(e),t){case"[object Object]":return"object";case"[object Map Iterator]":return"mapiterator";case"[object Set Iterator]":return"setiterator";case"[object String Iterator]":return"stringiterator";case"[object Array Iterator]":return"arrayiterator"}return t.slice(8,-1).toLowerCase().replace(/\s/g,"")};function Fy(r){return typeof r.constructor=="function"?r.constructor.name:null}function LT(r){return Array.isArray?Array.isArray(r):r instanceof Array}function DT(r){return r instanceof Error||typeof r.message=="string"&&r.constructor&&typeof r.constructor.stackTraceLimit=="number"}function _T(r){return r instanceof Date?!0:typeof r.toDateString=="function"&&typeof r.getDate=="function"&&typeof r.setDate=="function"}function NT(r){return r instanceof RegExp?!0:typeof r.flags=="string"&&typeof r.ignoreCase=="boolean"&&typeof r.multiline=="boolean"&&typeof r.global=="boolean"}function qT(r,e){return Fy(r)==="GeneratorFunction"}function HT(r){return typeof r.throw=="function"&&typeof r.return=="function"&&typeof r.next=="function"}function jT(r){try{if(typeof r.length=="number"&&typeof r.callee=="function")return!0}catch(e){if(e.message.indexOf("callee")!==-1)return!0}return!1}function WT(r){return r.constructor&&typeof r.constructor.isBuffer=="function"?r.constructor.isBuffer(r):!1}});var Ly=h((tD,By)=>{"use strict";var Uy=Symbol.prototype.valueOf,GT=Wc();function zT(r,e){switch(GT(r)){case"array":return r.slice();case"object":return Object.assign({},r);case"date":return new r.constructor(Number(r));case"map":return new Map(r);case"set":return new Set(r);case"buffer":return KT(r);case"symbol":return XT(r);case"arraybuffer":return JT(r);case"float32array":case"float64array":case"int16array":case"int32array":case"int8array":case"uint16array":case"uint32array":case"uint8clampedarray":case"uint8array":return $T(r);case"regexp":return VT(r);case"error":return Object.create(r);default:return r}}function VT(r){let e=r.flags!==void 0?r.flags:/\w+$/.exec(r)||void 0,t=new r.constructor(r.source,e);return t.lastIndex=r.lastIndex,t}function JT(r){let e=new r.constructor(r.byteLength);return new Uint8Array(e).set(new Uint8Array(r)),e}function $T(r,e){return new r.constructor(r.buffer,r.byteOffset,r.length)}function KT(r){let e=r.length,t=Buffer.allocUnsafe?Buffer.allocUnsafe(e):Buffer.from(e);return r.copy(t),t}function XT(r){return Uy?Object(Uy.call(r)):{}}By.exports=zT});var _y=h((rD,Dy)=>{"use strict";Dy.exports=function(e){return e!=null&&typeof e=="object"&&Array.isArray(e)===!1}});var Hy=h((iD,qy)=>{"use strict";var ZT=_y();function Ny(r){return ZT(r)===!0&&Object.prototype.toString.call(r)==="[object Object]"}qy.exports=function(e){var t,i;return!(Ny(e)===!1||(t=e.constructor,typeof t!="function")||(i=t.prototype,Ny(i)===!1)||i.hasOwnProperty("isPrototypeOf")===!1)}});var Wy=h((nD,jy)=>{"use strict";var YT=Ly(),QT=Wc(),eE=Hy();function Gc(r,e){switch(QT(r)){case"object":return tE(r,e);case"array":return rE(r,e);default:return YT(r)}}function tE(r,e){if(typeof e=="function")return e(r);if(e||eE(r)){let t=new r.constructor;for(let i in r)t[i]=Gc(r[i],e);return t}return r}function rE(r,e){let t=new r.constructor(r.length);for(let i=0;i<r.length;i++)t[i]=Gc(r[i],e);return t}jy.exports=Gc});var Md=h((ss,li)=>{var iE=200,tm="__lodash_hash_undefined__",Ed=1,tb=2,rb=9007199254740991,Sd="[object Arguments]",$c="[object Array]",nE="[object AsyncFunction]",ib="[object Boolean]",nb="[object Date]",sb="[object Error]",ob="[object Function]",sE="[object GeneratorFunction]",Cd="[object Map]",ab="[object Number]",oE="[object Null]",di="[object Object]",Gy="[object Promise]",aE="[object Proxy]",db="[object RegExp]",Id="[object Set]",lb="[object String]",dE="[object Symbol]",lE="[object Undefined]",Kc="[object WeakMap]",ub="[object ArrayBuffer]",wd="[object DataView]",uE="[object Float32Array]",cE="[object Float64Array]",mE="[object Int8Array]",pE="[object Int16Array]",gE="[object Int32Array]",fE="[object Uint8Array]",hE="[object Uint8ClampedArray]",vE="[object Uint16Array]",yE="[object Uint32Array]",bE=/[\\^$.*+?()[\]{}|]/g,kE=/^\[object .+?Constructor\]$/,PE=/^(?:0|[1-9]\d*)$/,H={};H[uE]=H[cE]=H[mE]=H[pE]=H[gE]=H[fE]=H[hE]=H[vE]=H[yE]=!0;H[Sd]=H[$c]=H[ub]=H[ib]=H[wd]=H[nb]=H[sb]=H[ob]=H[Cd]=H[ab]=H[di]=H[db]=H[Id]=H[lb]=H[Kc]=!1;var cb=typeof global=="object"&&global&&global.Object===Object&&global,SE=typeof self=="object"&&self&&self.Object===Object&&self,ot=cb||SE||Function("return this")(),mb=typeof ss=="object"&&ss&&!ss.nodeType&&ss,zy=mb&&typeof li=="object"&&li&&!li.nodeType&&li,pb=zy&&zy.exports===mb,zc=pb&&cb.process,Vy=function(){try{return zc&&zc.binding&&zc.binding("util")}catch{}}(),Jy=Vy&&Vy.isTypedArray;function CE(r,e){for(var t=-1,i=r==null?0:r.length,n=0,o=[];++t<i;){var a=r[t];e(a,t,r)&&(o[n++]=a)}return o}function IE(r,e){for(var t=-1,i=e.length,n=r.length;++t<i;)r[n+t]=e[t];return r}function wE(r,e){for(var t=-1,i=r==null?0:r.length;++t<i;)if(e(r[t],t,r))return!0;return!1}function AE(r,e){for(var t=-1,i=Array(r);++t<r;)i[t]=e(t);return i}function xE(r){return function(e){return r(e)}}function TE(r,e){return r.has(e)}function EE(r,e){return r?.[e]}function RE(r){var e=-1,t=Array(r.size);return r.forEach(function(i,n){t[++e]=[n,i]}),t}function OE(r,e){return function(t){return r(e(t))}}function FE(r){var e=-1,t=Array(r.size);return r.forEach(function(i){t[++e]=i}),t}var ME=Array.prototype,UE=Function.prototype,Rd=Object.prototype,Vc=ot["__core-js_shared__"],gb=UE.toString,Ze=Rd.hasOwnProperty,$y=function(){var r=/[^.]+$/.exec(Vc&&Vc.keys&&Vc.keys.IE_PROTO||"");return r?"Symbol(src)_1."+r:""}(),fb=Rd.toString,BE=RegExp("^"+gb.call(Ze).replace(bE,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),Ky=pb?ot.Buffer:void 0,Ad=ot.Symbol,Xy=ot.Uint8Array,hb=Rd.propertyIsEnumerable,LE=ME.splice,sr=Ad?Ad.toStringTag:void 0,Zy=Object.getOwnPropertySymbols,DE=Ky?Ky.isBuffer:void 0,_E=OE(Object.keys,Object),Xc=ui(ot,"DataView"),os=ui(ot,"Map"),Zc=ui(ot,"Promise"),Yc=ui(ot,"Set"),Qc=ui(ot,"WeakMap"),as=ui(Object,"create"),NE=dr(Xc),qE=dr(os),HE=dr(Zc),jE=dr(Yc),WE=dr(Qc),Yy=Ad?Ad.prototype:void 0,Jc=Yy?Yy.valueOf:void 0;function or(r){var e=-1,t=r==null?0:r.length;for(this.clear();++e<t;){var i=r[e];this.set(i[0],i[1])}}function GE(){this.__data__=as?as(null):{},this.size=0}function zE(r){var e=this.has(r)&&delete this.__data__[r];return this.size-=e?1:0,e}function VE(r){var e=this.__data__;if(as){var t=e[r];return t===tm?void 0:t}return Ze.call(e,r)?e[r]:void 0}function JE(r){var e=this.__data__;return as?e[r]!==void 0:Ze.call(e,r)}function $E(r,e){var t=this.__data__;return this.size+=this.has(r)?0:1,t[r]=as&&e===void 0?tm:e,this}or.prototype.clear=GE;or.prototype.delete=zE;or.prototype.get=VE;or.prototype.has=JE;or.prototype.set=$E;function at(r){var e=-1,t=r==null?0:r.length;for(this.clear();++e<t;){var i=r[e];this.set(i[0],i[1])}}function KE(){this.__data__=[],this.size=0}function XE(r){var e=this.__data__,t=Od(e,r);if(t<0)return!1;var i=e.length-1;return t==i?e.pop():LE.call(e,t,1),--this.size,!0}function ZE(r){var e=this.__data__,t=Od(e,r);return t<0?void 0:e[t][1]}function YE(r){return Od(this.__data__,r)>-1}function QE(r,e){var t=this.__data__,i=Od(t,r);return i<0?(++this.size,t.push([r,e])):t[i][1]=e,this}at.prototype.clear=KE;at.prototype.delete=XE;at.prototype.get=ZE;at.prototype.has=YE;at.prototype.set=QE;function ar(r){var e=-1,t=r==null?0:r.length;for(this.clear();++e<t;){var i=r[e];this.set(i[0],i[1])}}function eR(){this.size=0,this.__data__={hash:new or,map:new(os||at),string:new or}}function tR(r){var e=Fd(this,r).delete(r);return this.size-=e?1:0,e}function rR(r){return Fd(this,r).get(r)}function iR(r){return Fd(this,r).has(r)}function nR(r,e){var t=Fd(this,r),i=t.size;return t.set(r,e),this.size+=t.size==i?0:1,this}ar.prototype.clear=eR;ar.prototype.delete=tR;ar.prototype.get=rR;ar.prototype.has=iR;ar.prototype.set=nR;function xd(r){var e=-1,t=r==null?0:r.length;for(this.__data__=new ar;++e<t;)this.add(r[e])}function sR(r){return this.__data__.set(r,tm),this}function oR(r){return this.__data__.has(r)}xd.prototype.add=xd.prototype.push=sR;xd.prototype.has=oR;function At(r){var e=this.__data__=new at(r);this.size=e.size}function aR(){this.__data__=new at,this.size=0}function dR(r){var e=this.__data__,t=e.delete(r);return this.size=e.size,t}function lR(r){return this.__data__.get(r)}function uR(r){return this.__data__.has(r)}function cR(r,e){var t=this.__data__;if(t instanceof at){var i=t.__data__;if(!os||i.length<iE-1)return i.push([r,e]),this.size=++t.size,this;t=this.__data__=new ar(i)}return t.set(r,e),this.size=t.size,this}At.prototype.clear=aR;At.prototype.delete=dR;At.prototype.get=lR;At.prototype.has=uR;At.prototype.set=cR;function mR(r,e){var t=Td(r),i=!t&&xR(r),n=!t&&!i&&em(r),o=!t&&!i&&!n&&Cb(r),a=t||i||n||o,c=a?AE(r.length,String):[],p=c.length;for(var g in r)(e||Ze.call(r,g))&&!(a&&(g=="length"||n&&(g=="offset"||g=="parent")||o&&(g=="buffer"||g=="byteLength"||g=="byteOffset")||SR(g,p)))&&c.push(g);return c}function Od(r,e){for(var t=r.length;t--;)if(bb(r[t][0],e))return t;return-1}function pR(r,e,t){var i=e(r);return Td(r)?i:IE(i,t(r))}function ls(r){return r==null?r===void 0?lE:oE:sr&&sr in Object(r)?kR(r):AR(r)}function Qy(r){return ds(r)&&ls(r)==Sd}function vb(r,e,t,i,n){return r===e?!0:r==null||e==null||!ds(r)&&!ds(e)?r!==r&&e!==e:gR(r,e,t,i,vb,n)}function gR(r,e,t,i,n,o){var a=Td(r),c=Td(e),p=a?$c:wt(r),g=c?$c:wt(e);p=p==Sd?di:p,g=g==Sd?di:g;var v=p==di,m=g==di,y=p==g;if(y&&em(r)){if(!em(e))return!1;a=!0,v=!1}if(y&&!v)return o||(o=new At),a||Cb(r)?yb(r,e,t,i,n,o):yR(r,e,p,t,i,n,o);if(!(t&Ed)){var k=v&&Ze.call(r,"__wrapped__"),C=m&&Ze.call(e,"__wrapped__");if(k||C){var I=k?r.value():r,A=C?e.value():e;return o||(o=new At),n(I,A,t,i,o)}}return y?(o||(o=new At),bR(r,e,t,i,n,o)):!1}function fR(r){if(!Sb(r)||IR(r))return!1;var e=kb(r)?BE:kE;return e.test(dr(r))}function hR(r){return ds(r)&&Pb(r.length)&&!!H[ls(r)]}function vR(r){if(!wR(r))return _E(r);var e=[];for(var t in Object(r))Ze.call(r,t)&&t!="constructor"&&e.push(t);return e}function yb(r,e,t,i,n,o){var a=t&Ed,c=r.length,p=e.length;if(c!=p&&!(a&&p>c))return!1;var g=o.get(r);if(g&&o.get(e))return g==e;var v=-1,m=!0,y=t&tb?new xd:void 0;for(o.set(r,e),o.set(e,r);++v<c;){var k=r[v],C=e[v];if(i)var I=a?i(C,k,v,e,r,o):i(k,C,v,r,e,o);if(I!==void 0){if(I)continue;m=!1;break}if(y){if(!wE(e,function(A,U){if(!TE(y,U)&&(k===A||n(k,A,t,i,o)))return y.push(U)})){m=!1;break}}else if(!(k===C||n(k,C,t,i,o))){m=!1;break}}return o.delete(r),o.delete(e),m}function yR(r,e,t,i,n,o,a){switch(t){case wd:if(r.byteLength!=e.byteLength||r.byteOffset!=e.byteOffset)return!1;r=r.buffer,e=e.buffer;case ub:return!(r.byteLength!=e.byteLength||!o(new Xy(r),new Xy(e)));case ib:case nb:case ab:return bb(+r,+e);case sb:return r.name==e.name&&r.message==e.message;case db:case lb:return r==e+"";case Cd:var c=RE;case Id:var p=i&Ed;if(c||(c=FE),r.size!=e.size&&!p)return!1;var g=a.get(r);if(g)return g==e;i|=tb,a.set(r,e);var v=yb(c(r),c(e),i,n,o,a);return a.delete(r),v;case dE:if(Jc)return Jc.call(r)==Jc.call(e)}return!1}function bR(r,e,t,i,n,o){var a=t&Ed,c=eb(r),p=c.length,g=eb(e),v=g.length;if(p!=v&&!a)return!1;for(var m=p;m--;){var y=c[m];if(!(a?y in e:Ze.call(e,y)))return!1}var k=o.get(r);if(k&&o.get(e))return k==e;var C=!0;o.set(r,e),o.set(e,r);for(var I=a;++m<p;){y=c[m];var A=r[y],U=e[y];if(i)var le=a?i(U,A,y,e,r,o):i(A,U,y,r,e,o);if(!(le===void 0?A===U||n(A,U,t,i,o):le)){C=!1;break}I||(I=y=="constructor")}if(C&&!I){var In=r.constructor,la=e.constructor;In!=la&&"constructor"in r&&"constructor"in e&&!(typeof In=="function"&&In instanceof In&&typeof la=="function"&&la instanceof la)&&(C=!1)}return o.delete(r),o.delete(e),C}function eb(r){return pR(r,RR,PR)}function Fd(r,e){var t=r.__data__;return CR(e)?t[typeof e=="string"?"string":"hash"]:t.map}function ui(r,e){var t=EE(r,e);return fR(t)?t:void 0}function kR(r){var e=Ze.call(r,sr),t=r[sr];try{r[sr]=void 0;var i=!0}catch{}var n=fb.call(r);return i&&(e?r[sr]=t:delete r[sr]),n}var PR=Zy?function(r){return r==null?[]:(r=Object(r),CE(Zy(r),function(e){return hb.call(r,e)}))}:OR,wt=ls;(Xc&&wt(new Xc(new ArrayBuffer(1)))!=wd||os&&wt(new os)!=Cd||Zc&&wt(Zc.resolve())!=Gy||Yc&&wt(new Yc)!=Id||Qc&&wt(new Qc)!=Kc)&&(wt=function(r){var e=ls(r),t=e==di?r.constructor:void 0,i=t?dr(t):"";if(i)switch(i){case NE:return wd;case qE:return Cd;case HE:return Gy;case jE:return Id;case WE:return Kc}return e});function SR(r,e){return e=e??rb,!!e&&(typeof r=="number"||PE.test(r))&&r>-1&&r%1==0&&r<e}function CR(r){var e=typeof r;return e=="string"||e=="number"||e=="symbol"||e=="boolean"?r!=="__proto__":r===null}function IR(r){return!!$y&&$y in r}function wR(r){var e=r&&r.constructor,t=typeof e=="function"&&e.prototype||Rd;return r===t}function AR(r){return fb.call(r)}function dr(r){if(r!=null){try{return gb.call(r)}catch{}try{return r+""}catch{}}return""}function bb(r,e){return r===e||r!==r&&e!==e}var xR=Qy(function(){return arguments}())?Qy:function(r){return ds(r)&&Ze.call(r,"callee")&&!hb.call(r,"callee")},Td=Array.isArray;function TR(r){return r!=null&&Pb(r.length)&&!kb(r)}var em=DE||FR;function ER(r,e){return vb(r,e)}function kb(r){if(!Sb(r))return!1;var e=ls(r);return e==ob||e==sE||e==nE||e==aE}function Pb(r){return typeof r=="number"&&r>-1&&r%1==0&&r<=rb}function Sb(r){var e=typeof r;return r!=null&&(e=="object"||e=="function")}function ds(r){return r!=null&&typeof r=="object"}var Cb=Jy?xE(Jy):hR;function RR(r){return TR(r)?mR(r):vR(r)}function OR(){return[]}function FR(){return!1}li.exports=ER});var Jk=h(Zd=>{"use strict";Zd.byteLength=tO;Zd.toByteArray=iO;Zd.fromByteArray=oO;var Ye=[],Le=[],eO=typeof Uint8Array<"u"?Uint8Array:Array,Am="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(br=0,zk=Am.length;br<zk;++br)Ye[br]=Am[br],Le[Am.charCodeAt(br)]=br;var br,zk;Le["-".charCodeAt(0)]=62;Le["_".charCodeAt(0)]=63;function Vk(r){var e=r.length;if(e%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var t=r.indexOf("=");t===-1&&(t=e);var i=t===e?0:4-t%4;return[t,i]}function tO(r){var e=Vk(r),t=e[0],i=e[1];return(t+i)*3/4-i}function rO(r,e,t){return(e+t)*3/4-t}function iO(r){var e,t=Vk(r),i=t[0],n=t[1],o=new eO(rO(r,i,n)),a=0,c=n>0?i-4:i,p;for(p=0;p<c;p+=4)e=Le[r.charCodeAt(p)]<<18|Le[r.charCodeAt(p+1)]<<12|Le[r.charCodeAt(p+2)]<<6|Le[r.charCodeAt(p+3)],o[a++]=e>>16&255,o[a++]=e>>8&255,o[a++]=e&255;return n===2&&(e=Le[r.charCodeAt(p)]<<2|Le[r.charCodeAt(p+1)]>>4,o[a++]=e&255),n===1&&(e=Le[r.charCodeAt(p)]<<10|Le[r.charCodeAt(p+1)]<<4|Le[r.charCodeAt(p+2)]>>2,o[a++]=e>>8&255,o[a++]=e&255),o}function nO(r){return Ye[r>>18&63]+Ye[r>>12&63]+Ye[r>>6&63]+Ye[r&63]}function sO(r,e,t){for(var i,n=[],o=e;o<t;o+=3)i=(r[o]<<16&16711680)+(r[o+1]<<8&65280)+(r[o+2]&255),n.push(nO(i));return n.join("")}function oO(r){for(var e,t=r.length,i=t%3,n=[],o=16383,a=0,c=t-i;a<c;a+=o)n.push(sO(r,a,a+o>c?c:a+o));return i===1?(e=r[t-1],n.push(Ye[e>>2]+Ye[e<<4&63]+"==")):i===2&&(e=(r[t-2]<<8)+r[t-1],n.push(Ye[e>>10]+Ye[e>>4&63]+Ye[e<<2&63]+"=")),n.join("")}});var uH=Ar(Tv(),1);function f(r,e){if(r==null)throw Error(e??"Expected nonnullish value.")}function Zt(r,e){if(!r)throw Error(e)}var ee;(function(r){r.COMMENT="t1_",r.ACCOUNT="t2_",r.LINK="t3_",r.MESSAGE="t4_",r.SUBREDDIT="t5_",r.AWARD="t6_"})(ee||(ee={}));function vt(r){return r.startsWith(ee.COMMENT)}function Qa(r){return r.startsWith(ee.ACCOUNT)}function Yt(r){return r.startsWith(ee.LINK)}function Ev(r){return r.startsWith(ee.MESSAGE)}function Rv(r){return r.startsWith(ee.SUBREDDIT)}function Ov(r){return r.startsWith(ee.AWARD)}function P0(r){Zt(vt(r),`Expected comment id to start with ${ee.COMMENT}, got ${r}}`)}function S0(r){Zt(Qa(r),`Expected account id to start with ${ee.ACCOUNT}, got ${r}}`)}function C0(r){Zt(Yt(r),`Expected link id to start with ${ee.LINK}, got ${r}}`)}function I0(r){Zt(Ev(r),`Expected message id to start with ${ee.MESSAGE}, got ${r}}`)}function w0(r){Zt(Rv(r),`Expected subreddit id to start with ${ee.SUBREDDIT}, got ${r}}`)}function A0(r){Zt(Ov(r),`Expected award id to start with ${ee.AWARD}, got ${r}}`)}function Hr(r){return P0(r),r}function te(r){return S0(r),r}function pe(r){return C0(r),r}function x0(r){return I0(r),r}function Te(r){return w0(r),r}function T0(r){return A0(r),r}function ge(r){if(vt(r))return Hr(r);if(Qa(r))return te(r);if(Yt(r))return pe(r);if(Ev(r))return x0(r);if(Rv(r))return Te(r);if(Ov(r))return T0(r);throw new Error(`Expected thing id to start with ${Object.values(ee).join(", ")} got ${r}}`)}function hc(r){return vt(r)}import*as S from"@devvit/protos";var ed=class{constructor(e){}};var vc=(t=>(t.Installation="installation",t.App="app",t))(vc||{});function Qt(r,e=new Set){for(let t of r){if(t.type==="group"){Qt(t.fields,e);continue}let i=t.name;if(e.has(i))throw new Error(`Duplicate field name: ${i}`);e.add(i)}E0(r)}function E0(r){for(let e of r)if(e.type==="string"&&e.isSecret&&e.scope!=="app")throw`Invalid setting: only app settings can be secrets. Add "scope: SettingScope.App" to field "${e.name}"`}var yt=Object.freeze({INTERVAL:0,FORM:1,STATE:2,CHANNEL:3});var JM=["activity","add-emoji","add","add-media","add-to-feed","admin","align-center","align-left","align-right","all","appearance","approve","archived","aspect-ratio","aspect-rectangle","attach","audio","author","avatar-style","award","back","ban","best","binoculars","block","blockchain","bold","bot","boost","bounce","brand-awareness","browse","browser","cake","calendar","camera","caret-down","caret-left","caret-right","caret-up","chat","chat-group","chat-new","checkbox-dismiss","checkbox","checkmark","chrome","clear","close","closed-captioning","code-block","code-inline","coins-color-old","coins-color","coins","collapse-left","collapse-right","collection","comment","comments","community","contest","controversial","crop","crosspost","crowd-control","custom-feed","customize","day","delete","discover","dismiss-all","distinguish","down-arrow","down","download","downvote","downvotes","drag","drugs","duplicate","edit","effect","embed","emoji","end-live-chat","error","expand-left","expand-right","external","feed-video","filter","format","forward","gif-post","heart","help","hide","history","home","hot","ignore-reports","image-post","inbox","info","invite","italic","join","joined","jump-down","jump-up","karma","keyboard","kick","language","leave","left","link","link-post","list-bulleted","list-numbered","live-chat","live","load","location","lock","logout","loop","mark-read","mask","media-gallery","meme","menu","message","mic","mic-mute","mod","mod-mail","mod-mode","mod-mute","mod-overflow","mod-queue","mod-unmute","music","new","night","notification","notification-frequent","notification-off","nsfw","nsfw-language","nsfw-violence","original","overflow-caret","overflow-horizontal","overflow-vertical","pause","payment","peace","pending-posts","phone","pin","planet","play","poll-post","popular","posts","powerup-color-outline","powerup-fill-color","powerup","predictions","premium","privacy","profile","qa","qr-code","quarantined","quote","r-slash","radio-button","raise-hand","random","ratings-everyone","ratings-mature","ratings-nsfw","ratings-violence","refresh","remove","reply","report","reverse","right","rising","rotate","rotate-image","rpan","rules","safari","save","saved","search","self","send","settings","share-android","share","share-ios","show","side-menu","skipback10","skipforward10","sort-az","sort","sort-price","sort-za","spam","spoiler","sponsored","star","statistics","status-live","sticker","strikethrough","subtract","superscript","swap-camera","swipe-back","swipe-down","swipe","swipe-up","table","tag","tap","telescope","text","text-post","text-size","toggle","tools","top","topic-activism","topic-addictionsupport","topic-advice","topic-animals","topic-anime","topic-art","topic-beauty","topic-business","topic-careers","topic-cars","topic-celebrity","topic-craftsdiy","topic-crypto","topic-culture","topic-diy","topic-entertainment","topic-ethics","topic-family","topic-fashion","topic","topic-fitness","topic-food","topic-funny","topic-gender","topic-health","topic-help","topic-history","topic-hobbies","topic-homegarden","topic-internet","topic-law","topic-learning","topic-lifestyle","topic-marketplace","topic-mature","topic-mensfashion","topic-menshealth","topic-meta","topic-military","topic-movies","topic-music","topic-news","topic-other","topic-outdoors","topic-pets","topic-photography","topic-places","topic-podcasts","topic-politics","topic-programming","topic-reading","topic-religion","topic-science","topic-sexorientation","topic-sports","topic-style","topic-tabletop","topic-technology","topic-television","topic-traumasupport","topic-travel","topic-videogaming","topic-womensfashion","topic-womenshealth","translate","trim","u-slash","unban","undo","unheart","unlock","unmod","unpin","unverified","up-arrow","up","upload","upvote","upvotes","user","user-note","users","vault","verified","video-camera","video-feed","video-live-1","video-live-fill-1","video-live","video-post","video-thread","video-transcription","view-card","view-classic","view-compact","view-grid","views","volume","volume-mute","wallet","warning","wiki-ban","wiki","wiki-unban","world"];import{AppSettingsDefinition as W0,GetFieldsResponse as G0}from"@devvit/protos";import{FormField as er,FormFieldType as Ee}from"@devvit/protos";function it(r){return r.map(e=>{switch(e.type){case"string":return R0(e);case"image":return O0(e);case"paragraph":return F0(e);case"number":return M0(e);case"select":return U0(e);case"boolean":return B0(e);case"group":return L0(e);default:throw new Error("Unknown field type.")}})}function R0(r){return er.fromPartial({defaultValue:{fieldType:Ee.STRING,stringValue:r.defaultValue},disabled:r.disabled,fieldConfig:{stringConfig:{placeholder:r.placeholder}},fieldId:r.name,fieldType:Ee.STRING,helpText:r.helpText,label:r.label,required:r.required,isSecret:r.isSecret})}function O0(r){return er.fromPartial({disabled:r.disabled,fieldId:r.name,fieldType:Ee.IMAGE,helpText:r.helpText,label:r.label,required:r.required})}function F0(r){return er.fromPartial({defaultValue:{fieldType:Ee.PARAGRAPH,stringValue:r.defaultValue},disabled:r.disabled,fieldConfig:{paragraphConfig:{lineHeight:r.lineHeight,placeholder:r.placeholder}},fieldId:r.name,fieldType:Ee.PARAGRAPH,helpText:r.helpText,label:r.label,required:r.required})}function M0(r){return er.fromPartial({defaultValue:{fieldType:Ee.NUMBER,numberValue:r.defaultValue},disabled:r.disabled,fieldConfig:{numberConfig:{}},fieldId:r.name,fieldType:Ee.NUMBER,helpText:r.helpText,label:r.label,required:r.required})}function U0(r){return er.fromPartial({defaultValue:{fieldType:Ee.SELECTION,selectionValue:{values:r.defaultValue}},disabled:r.disabled,fieldConfig:{selectionConfig:{choices:r.options,multiSelect:r.multiSelect}},fieldId:r.name,fieldType:Ee.SELECTION,helpText:r.helpText,label:r.label,required:r.required})}function B0(r){return er.fromPartial({defaultValue:{fieldType:Ee.BOOLEAN,boolValue:r.defaultValue},disabled:r.disabled,fieldId:r.name,fieldType:Ee.BOOLEAN,helpText:r.helpText,label:r.label})}function L0(r){return er.fromPartial({fieldType:Ee.GROUP,fieldConfig:{groupConfig:{fields:it(r.fields)}},label:r.label,helpText:r.helpText})}function M(r,e){u.prototype[r]=e}import{ValidateFormResponse as j0}from"@devvit/protos";import{RealtimeSubscriptionStatus as Fv}from"@devvit/protos";var B=Object.freeze({Actor:"devvit-actor",App:"devvit-app",AppUser:"devvit-app-user",AppViewerAuthToken:"devvit-app-viewer-authorization",Caller:"devvit-caller",CallerPortID:"devvit-caller-port-id",Canary:"devvit-canary",DebugRenderXML:"devvit-debug-render-xml",GQLHost:"devvit-gql-host",Installation:"devvit-installation",ModPermissions:"devvit-mod-permissions",R2Auth:"devvit-sec-authorization",R2Host:"devvit-r2-host",RemoteHostname:"devvit-remote-hostname",SettingsUri:"devvit-sec-settings-uri",StreamID:"devvit-stream-id",Subreddit:"devvit-subreddit",TraceID:"devvit-trace-id",User:"devvit-user",Version:"devvit-version",Language:"devvit-accept-language",Timezone:"devvit-accept-timezone"});function Mv(r){function e(t){let i=r.currentHookIndex,n=r.getCurrentComponentState(),o=r.getPreviousComponentState(),a=r.metadata[B.App]?.values[0];f(a,"useChannel - app is missing from Context");let c=r.metadata[B.Installation]?.values[0];f(c,"useChannel - installation is missing from Context");async function p(I){let A=n[i].channel;if(n[i].active)if(n[i].connected)await r.realtime.send(A,I);else throw Error(`Failed to send to channel '${A}'; it is active but not yet connected`);else throw Error(`Cannot send a message over inactive channel: ${A}`)}function g(){if(!n[i].active){let I=n[i].channel;n[i].active=!0,r.addRealtimeChannel(I)}}function v(){if(n[i].active){let I=n[i].channel;n[i].active=!1,r.removeRealtimeChannel(I)}}function m(I){return async()=>{let A;switch(I.status){case Fv.REALTIME_SUBSCRIBED:n[i].connected=!0,A=t.onSubscribed?.();break;case Fv.REALTIME_UNSUBSCRIBED:n[i].connected=!1,A=t.onUnsubscribed?.();break;default:A=t.onMessage(I.event?.data??{});break}await A}}let y={channel:`${a}:${c}:${t.name}`,active:!1,connected:!1,preventCallback:!1,type:yt.CHANNEL};i in n?y=n[i]:i in o&&(y=o[i]);let k=r.realtimeEvent;r.isInitialRender?y.active=!1:k&&y.active&&k.event.channel===y.channel&&(y.preventCallback||r.runHook(m(k)),r.rerenderIn(0)),n[i]=y,r.currentHookIndex++;let C=0;return y.active&&y.connected?C=2:y.active&&!y.connected?C=1:!y.active&&y.connected?C=3:!y.active&&!y.connected&&(C=4),{subscribe:g,unsubscribe:v,send:p,status:C}}return e}import{FormFieldType as jr}from"@devvit/protos";function yc(r){switch(r.fieldType){case jr.STRING:return r.stringValue;case jr.IMAGE:return r.stringValue;case jr.PARAGRAPH:return r.stringValue;case jr.NUMBER:return r.numberValue;case jr.BOOLEAN:return r.boolValue;case jr.SELECTION:return r.selectionValue?.values??[];default:return}}function bt(r){return Object.keys(r).reduce((e,t)=>(e[t]=yc(r[t]),e),{})}function Uv(r){function e(t,i){let n=r.currentHookIndex,o=r.getCurrentComponentKey(),a=r.getCurrentComponentState(),c=r.getPreviousComponentState(),p=`form.hook.${o}.${n}`,g={formKey:p,preventSubmit:!1,type:yt.FORM};n in a?g=a[n]:n in c&&(g=c[n]),a[n]=g,r.forms.set(p,t);let v=r.formSubmittedEvent;return v&&!g.preventSubmit&&v.formId===p&&r.runHook(async()=>{let m=i(bt(v.results));m&&m instanceof Promise&&await m,r.rerenderIn(0)}),a[n].preventSubmit=!1,r.currentHookIndex++,p}return e}function Bv(r){function e(t,i){let n=r.currentHookIndex,o=r.getCurrentComponentState(),a=r.getPreviousComponentState(),c=100,p=Math.max(c,i),g={lastRun:void 0,running:!1,preventCallback:!1,type:yt.INTERVAL};n in o?g=o[n]:n in a&&(g=a[n]);function v(){i<c&&console.error(`useInterval delay must be at least ${c}ms. Your interval of ${i}ms was automatically extended.`);for(let[y,k]of Object.entries(o))if(y!==n.toString()&&k?.type===yt.INTERVAL&&k?.running)throw new Error("Only one useInterval hook may be running at a time");o[n]={running:!0,lastRun:o[n]?.lastRun??Date.now(),preventCallback:!1,type:yt.INTERVAL},r.rerenderIn(p)}function m(){o[n].running=!1,o[n].lastRun=void 0,o[n].preventCallback=!1}return r.isEffectRender&&g.running&&(g.preventCallback||(g.lastRun===void 0||g.lastRun+p<Date.now())&&r.runHook(async()=>{let y=t();y&&y instanceof Promise&&await y,g.lastRun=Date.now()}),r.rerenderIn(p)),g.preventCallback=!1,o[n]=g,r.currentHookIndex++,{start:v,stop:m}}return e}function Lv(r){function e(t){let i=r.currentHookIndex,n=r.getCurrentComponentState(),o=r.getPreviousComponentState();if(i in n)return r.currentHookIndex++,[n[i],a];if(r.isInitialRender||!(i in o)){let c=t instanceof Function?t():t;if(c instanceof Promise)throw(async()=>{n[i]=await c,r.currentHookIndex=0})();n[i]=c}else n[i]=o[i];function a(c){if(r.isRendering)throw new Error("Cannot call setState while rendering.");n[i]=c instanceof Function?c(n[i]):c}return r.currentHookIndex++,[n[i],a]}return e}var Wr,Gr,td,Dv,rd,_v,zr=class{constructor(e,t){l(this,td);l(this,rd);l(this,Wr,void 0);l(this,Gr,void 0);d(this,Wr,e),d(this,Gr,t)}async getURL(e){return typeof e=="string"?b(this,td,Dv).call(this,e):b(this,rd,_v).call(this,e)}};Wr=new WeakMap,Gr=new WeakMap,td=new WeakSet,Dv=async function(e){let t=globalThis.devvit?.config?.assets?.[e];if(t)return t;let i=await s(this,Gr).call(this).GetAssetURL({path:e},s(this,Wr));if(!i.found)throw new Error(`Could not load the URL for asset ${e}`);return i.url},rd=new WeakSet,_v=async function(e){let t={},i=[],n=globalThis.devvit?.config?.assets;if(n)for(let a of e)n[a]?t[a]=n[a]:i.push(a);else i=e;if(i.length===0)return t;let o=await s(this,Gr).call(this).GetAssetURLs({paths:i},s(this,Wr));i=[];for(let[a,c]of Object.entries(o.urls))c.found?t[a]=c.paths[0]:i.push(a);if(i.length>0)throw new Error(`The following assets were missing from the assets list: ${i.join(", ")}`);return t};var kt,Vr=class{constructor(e){l(this,kt,void 0);d(this,kt,e)}async get(e){let{messages:t}=await u.kvStorePlugin.Get({keys:[e]},s(this,kt));try{if(t[e])return JSON.parse(t[e])}catch{return}}async put(e,t){let i={};i[e]=JSON.stringify(t),await u.kvStorePlugin.Put({messages:i},s(this,kt))}async delete(e){await u.kvStorePlugin.Del({keys:[e]},s(this,kt))}async list(){let{keys:e}=await u.kvStorePlugin.List({filter:"*"},s(this,kt));return e}};kt=new WeakMap;var Vn,Jr=class{constructor(e){l(this,Vn,void 0);d(this,Vn,e)}async upload(e){let t=await u.mediaPlugin.Upload(e,s(this,Vn));if(!t.mediaId)throw new Error("unable to get mediaId via uploads");return Promise.resolve({mediaId:t.mediaId,mediaUrl:t.mediaUrl})}};Vn=new WeakMap;var Jn,$r=class{constructor(e){l(this,Jn,void 0);d(this,Jn,e)}async add(e){await u.modLogPlugin.Add(e,s(this,Jn))}};Jn=new WeakMap;var P,$n,Xr=class{constructor(e){l(this,P,void 0);l(this,$n,void 0);d(this,P,e),d(this,$n,new nd(e))}get modMail(){return s(this,$n)}getSubredditById(e){return fe.getById(ge(e),s(this,P))}getSubredditByName(e){return fe.getByName(e,s(this,P))}addSubredditRemovalReason(e,t){return fe.addRemovalReason(e,t.title,t.message,s(this,P))}getSubredditRemovalReasons(e){return fe.getRemovalReasons(e,s(this,P))}getCurrentSubreddit(){return fe.getFromMetadata(s(this,P))}getPostById(e){return V.getById(ge(e),s(this,P))}submitPost(e){return V.submit(e,s(this,P))}crosspost(e){return V.crosspost(e,s(this,P))}getUserById(e){return w.getById(ge(e),s(this,P))}getCollectionById(e){return Kr.getCollectionById({collectionId:e},s(this,P))}createCollection(e){return Kr.create(e,s(this,P))}getCollectionsForSubreddit(e){return Kr.getCollectionsForSubreddit({subredditId:e},s(this,P))}getUserByUsername(e){return w.getByUsername(e,s(this,P))}getCurrentUser(){return w.getFromMetadata(B.User,s(this,P))}getAppUser(){return w.getFromMetadata(B.AppUser,s(this,P))}getSnoovatarUrl(e){return w.getSnoovatarUrl(e,s(this,P))}getCommentById(e){return X.getById(ge(e),s(this,P))}getComments(e){return X.getComments(e,s(this,P))}getCommentsByUser(e){return X.getCommentsByUser(e,s(this,P))}submitComment(e){return X.submit({...e,id:ge(e.id)},s(this,P))}getControversialPosts(e){return V.getControversialPosts(e,s(this,P))}getTopPosts(e){return V.getTopPosts(e,s(this,P))}getHotPosts(e){return V.getHotPosts(e,s(this,P))}getNewPosts(e){return V.getNewPosts(e,s(this,P))}getRisingPosts(e){return V.getRisingPosts(e,s(this,P))}getPostsByUser(e){return V.getPostsByUser(e,s(this,P))}getCommentsAndPostsByUser(e){return w.getOverview(e,s(this,P))}getModerationLog(e){return id(e,s(this,P))}getApprovedUsers(e){return w.getSubredditUsersByType({type:"contributors",...e},s(this,P))}approveUser(e,t){return w.createRelationship({username:e,subredditName:t,type:"contributor"},s(this,P))}removeUser(e,t){return w.removeRelationship({username:e,subredditName:t,type:"contributor"},s(this,P))}getWikiContributors(e){return w.getSubredditUsersByType({type:"wikicontributors",...e},s(this,P))}addWikiContributor(e,t){return w.createRelationship({username:e,subredditName:t,type:"wikicontributor"},s(this,P))}removeWikiContributor(e,t){return w.removeRelationship({username:e,subredditName:t,type:"wikicontributor"},s(this,P))}getBannedUsers(e){return w.getSubredditUsersByType({type:"banned",...e},s(this,P))}banUser(e){return w.createRelationship({username:e.username,subredditName:e.subredditName,type:"banned",banReason:e.reason,banMessage:e.message,note:e.note,duration:e.duration},s(this,P))}unbanUser(e,t){return w.removeRelationship({username:e,subredditName:t,type:"banned"},s(this,P))}getBannedWikiContributors(e){return w.getSubredditUsersByType({type:"wikibanned",...e},s(this,P))}banWikiContributor(e){return w.createRelationship({...e,type:"wikibanned"},s(this,P))}unbanWikiContributor(e,t){return w.removeRelationship({username:e,subredditName:t,type:"wikibanned"},s(this,P))}getModerators(e){return w.getSubredditUsersByType({type:"moderators",...e},s(this,P))}inviteModerator(e){return w.createRelationship({type:"moderator_invite",subredditName:e.subredditName,username:e.subredditName,permissions:e.permissions??[]},s(this,P))}revokeModeratorInvite(e,t){return w.removeRelationship({username:e,subredditName:t,type:"moderator_invite"},s(this,P))}removeModerator(e,t){return w.removeRelationship({type:"moderator",subredditName:t,username:e},s(this,P))}setModeratorPermissions(e,t,i){return w.setModeratorPermissions(e,t,i,s(this,P))}getMutedUsers(e){return w.getSubredditUsersByType({type:"muted",...e},s(this,P))}muteUser(e){return w.createRelationship({...e,type:"muted"},s(this,P))}unmuteUser(e,t){return w.removeRelationship({username:e,subredditName:t,type:"muted"},s(this,P))}getModNotes(e){return Re.get(e,s(this,P))}deleteModNote(e){return Re.delete(e,s(this,P))}addModNote(e){let t={...e,redditId:ge(e.redditId)};return Re.add(t,s(this,P))}addRemovalNote(e){return Re.addRemovalNote(e,s(this,P))}async sendPrivateMessage(e){return tr.send(e,s(this,P))}async sendPrivateMessageAsSubreddit(e){return tr.sendAsSubreddit(e,s(this,P))}async approve(e){if(vt(e))return X.approve(e,s(this,P));if(Yt(e))return V.approve(e,s(this,P));throw new Error("id must start with either t1_ or t3_")}async remove(e,t){if(vt(e))return X.remove(e,t,s(this,P));if(Yt(e))return V.remove(e,t,s(this,P));throw new Error("id must start with either t1_ or t3_")}async getPostFlairTemplates(e){return oe.getPostFlairTemplates(e,s(this,P))}async getUserFlairTemplates(e){return oe.getUserFlairTemplates(e,s(this,P))}async createPostFlairTemplate(e){return oe.createPostFlairTemplate(e,s(this,P))}async createUserFlairTemplate(e){return oe.createUserFlairTemplate(e,s(this,P))}async editFlairTemplate(e){return oe.editFlairTemplate(e,s(this,P))}async deleteFlairTemplate(e,t){return oe.deleteFlairTemplate(e,t,s(this,P))}async setUserFlair(e){return Oe.setUserFlair(e,s(this,P))}async removeUserFlair(e,t){return Oe.removeUserFlair(e,t,s(this,P))}async setPostFlair(e){return Oe.setPostFlair(e,s(this,P))}async removePostFlair(e,t){return Oe.removePostFlair(e,pe(t),s(this,P))}async getWidgets(e){return re.getWidgets(e,s(this,P))}async deleteWidget(e,t){return re.delete(e,t,s(this,P))}async addWidget(e){return re.add(e,s(this,P))}async reorderWidgets(e,t){return re.reorder(e,t,s(this,P))}async getWikiPage(e,t){return he.getPage(e,t,s(this,P))}async getWikiPages(e){return he.getPages(e,s(this,P))}async createWikiPage(e){return he.createPage(e,s(this,P))}async updateWikiPage(e){return he.updatePage(e,s(this,P))}getWikiPageRevisions(e){return he.getPageRevisions(e,s(this,P))}async revertWikiPage(e,t,i){return he.revertPage(e,t,i,s(this,P))}async getWikiPageSettings(e,t){return he.getPageSettings(e,t,s(this,P))}async updateWikiPageSettings(e){return he.updatePageSettings(e,s(this,P))}async addEditorToWikiPage(e,t,i){return he.addEditor(e,t,i,s(this,P))}async removeEditorFromWikiPage(e,t,i){return he.removeEditor(e,t,i,s(this,P))}getMessages(e){return tr.getMessages(e,s(this,P))}markAllMessagesAsRead(){return tr.markAllAsRead(s(this,P))}report(e,t){return u.redditAPIPlugins.LinksAndComments.Report({reason:t.reason,thingId:e.id,srName:e.subredditName,usernames:e.authorName},s(this,P))}getModQueue(e){return fe.aboutLocation({...e,location:"modqueue"},s(this,P))}getReports(e){return fe.aboutLocation({...e,location:"reports"},s(this,P))}getSpam(e){return fe.aboutLocation({...e,location:"spam"},s(this,P))}getUnmoderated(e){return fe.aboutLocation({...e,location:"unmoderated"},s(this,P))}getEdited(e){return fe.aboutLocation({...e,location:"edited"},s(this,P))}getVaultByAddress(e){return qv(e,s(this,P))}getVaultByUserId(e){return Hv(ge(e),s(this,P))}};P=new WeakMap,$n=new WeakMap;import{RedisKeyScope as bc}from"@devvit/protos";var E,R,O,kc=class{constructor(e,t,i){l(this,E,void 0);l(this,R,void 0);l(this,O,void 0);d(this,E,e),d(this,R,t),d(this,O,i)}async get(e){return await s(this,E).Get({key:e,transactionId:s(this,R)},s(this,O)),this}async multi(){await s(this,E).Multi(s(this,R),s(this,O))}async set(e,t,i){let n;return i?.expiration&&(n=Math.floor((i.expiration.getTime()-Date.now())/1e3),n<1&&(n=1)),await s(this,E).Set({key:e,value:t,nx:i?.nx===!0,xx:i?.xx===!0,expiration:n||0,transactionId:s(this,R)},s(this,O)),this}async del(...e){return await s(this,E).Del({keys:e,transactionId:s(this,R)},s(this,O)),this}async type(e){return await s(this,E).Type({key:e,transactionId:s(this,R)},s(this,O)),this}async exec(){let e=await s(this,E).Exec(s(this,R),s(this,O)),t=[];for(let i of e.response)i.members?t.push(i.members):i.nil!==void 0?t.push(null):i.num!==void 0?t.push(i.num):i.values!==void 0?t.push(i.values.values):i.str!==void 0&&t.push(i.str);return t}async discard(){await s(this,E).Discard(s(this,R),s(this,O))}async watch(...e){return await s(this,E).Watch({keys:e,transactionId:s(this,R)},s(this,O)),this}async unwatch(){return await s(this,E).Unwatch(s(this,R),s(this,O)),this}async getRange(e,t,i){return await s(this,E).GetRange({key:e,start:t,end:i,transactionId:s(this,R)},s(this,O)),this}async setRange(e,t,i){return await s(this,E).SetRange({key:e,offset:t,value:i,transactionId:s(this,R)},s(this,O)),this}async strlen(e){return await s(this,E).Strlen({key:e,transactionId:s(this,R)},s(this,O)),this}async mget(e){return await s(this,E).MGet({keys:e,transactionId:s(this,R)},s(this,O)),this}async mset(e){let t=Object.entries(e).map(([i,n])=>({key:i,value:n}));return await s(this,E).MSet({kv:t,transactionId:s(this,R)},s(this,O)),this}async incrBy(e,t){return await s(this,E).IncrBy({key:e,value:t,transactionId:s(this,R)},s(this,O)),this}async expire(e,t){return await s(this,E).Expire({key:e,seconds:t,transactionId:s(this,R)},s(this,O)),this}async expireTime(e){return await s(this,E).ExpireTime({key:e,transactionId:s(this,R)},s(this,O)),this}async zAdd(e,...t){return await s(this,E).ZAdd({key:e,members:t,transactionId:s(this,R)},s(this,O)),this}async zScore(e,t){return await s(this,E).ZScore({key:{key:e,transactionId:s(this,R)},member:t},s(this,O)),this}async zRank(e,t){return await s(this,E).ZRank({key:{key:e,transactionId:s(this,R)},member:t},s(this,O)),this}async zIncrBy(e,t,i){return await s(this,E).ZIncrBy({key:e,member:t,value:i,transactionId:s(this,R)},s(this,O)),this}async zScan(e,t,i,n){let o={key:e,cursor:t,pattern:i,count:n,transactionId:s(this,R)};return await s(this,E).ZScan(o,s(this,O)),this}async zCard(e){return await s(this,E).ZCard({key:e,transactionId:s(this,R)},s(this,O)),this}async zRange(e,t,i,n){let o={rev:!1,byLex:!1,byScore:!1,offset:0,count:1e3};return n?.reverse&&(o.rev=n.reverse),n?.by==="lex"?o.byLex=!0:n?.by==="score"&&(o.byScore=!0),await s(this,E).ZRange({key:{key:e,transactionId:s(this,R)},start:t+"",stop:i+"",...o},s(this,O)),this}async zRem(e,t){return await s(this,E).ZRem({key:{key:e,transactionId:s(this,R)},members:t},s(this,O)),this}async zRemRangeByLex(e,t,i){return await s(this,E).ZRemRangeByLex({key:{key:e,transactionId:s(this,R)},min:t,max:i},s(this,O)),this}async zRemRangeByRank(e,t,i){return await s(this,E).ZRemRangeByRank({key:{key:e,transactionId:s(this,R)},start:t,stop:i},s(this,O)),this}async zRemRangeByScore(e,t,i){return await s(this,E).ZRemRangeByScore({key:{key:e,transactionId:s(this,R)},min:t,max:i},s(this,O)),this}async hgetall(e){return await s(this,E).HGetAll({key:e,transactionId:s(this,R)},s(this,O)),this}async hget(e,t){return await s(this,E).HGet({key:e,field:t,transactionId:s(this,R)},s(this,O)),this}async hset(e,t){let i=Object.entries(t).map(([n,o])=>({field:n,value:o}));return await s(this,E).HSet({key:e,fv:i,transactionId:s(this,R)},s(this,O)),this}async hincrby(e,t,i){return await s(this,E).HIncrBy({key:e,field:t,value:i,transactionId:s(this,R)},s(this,O)),this}async hdel(e,t){return await s(this,E).HDel({key:e,fields:t,transactionId:s(this,R)},s(this,O)),this}async hscan(e,t,i,n){let o={key:e,cursor:t,pattern:i,count:n,transactionId:s(this,R)};return await s(this,E).HScan(o,s(this,O)),this}async hkeys(e){return await s(this,E).HKeys({key:e,transactionId:s(this,R)},s(this,O)),this}async hlen(e){return await s(this,E).HLen({key:e,transactionId:s(this,R)},s(this,O)),this}};E=new WeakMap,R=new WeakMap,O=new WeakMap;var F,Zr,Pc=class Pc{constructor(e,t=void 0,i=bc.INSTALLATION){l(this,F,void 0);l(this,Zr,void 0);d(this,F,e),d(this,Zr,t),this.scope=i,this.global=i===bc.INSTALLATION?new Pc(s(this,F),s(this,Zr),bc.GLOBAL):this}get storage(){return s(this,Zr)||u.redisPlugin}async watch(...e){let t=await this.storage.Watch({keys:e},s(this,F));return new kc(this.storage,t,s(this,F))}async get(e){let t=await this.storage.Get({key:e,scope:this.scope},s(this,F));return t!==null?t.value??void 0:t}async set(e,t,i){let n;return i?.expiration&&(n=Math.floor((i.expiration.getTime()-Date.now())/1e3),n<1&&(n=1)),(await this.storage.Set({key:e,value:t,nx:i?.nx===!0&&!i.xx,xx:i?.xx===!0&&!i.nx,expiration:n||0,scope:this.scope},s(this,F))).value}async del(...e){await this.storage.Del({keys:e,scope:this.scope},s(this,F))}async incrBy(e,t){return(await this.storage.IncrBy({key:e,value:t,scope:this.scope},s(this,F))).value}async getRange(e,t,i){let n=await this.storage.GetRange({key:e,start:t,end:i,scope:this.scope},s(this,F));return n!==null?n.value:n}async setRange(e,t,i){return(await this.storage.SetRange({key:e,offset:t,value:i,scope:this.scope},s(this,F))).value}async strlen(e){return(await this.storage.Strlen({key:e,scope:this.scope},s(this,F))).value}async expire(e,t){await this.storage.Expire({key:e,seconds:t,scope:this.scope},s(this,F))}async expireTime(e){return(await this.storage.ExpireTime({key:e,scope:this.scope},s(this,F))).value}async zAdd(e,...t){return(await this.storage.ZAdd({key:e,members:t,scope:this.scope},s(this,F))).value}async zRange(e,t,i,n){let o={rev:!1,byLex:!1,byScore:!1,offset:0,count:1e3};return n?.reverse&&(o.rev=n.reverse),n?.by==="lex"?o.byLex=!0:n?.by==="score"?o.byScore=!0:(o.offset=0,o.count=0),(await this.storage.ZRange({key:{key:e},start:t+"",stop:i+"",...o,scope:this.scope},s(this,F))).members}async zRem(e,t){return(await this.storage.ZRem({key:{key:e},members:t,scope:this.scope},s(this,F))).value}async zRemRangeByLex(e,t,i){return(await this.storage.ZRemRangeByLex({key:{key:e},min:t,max:i,scope:this.scope},s(this,F))).value}async zRemRangeByRank(e,t,i){return(await this.storage.ZRemRangeByRank({key:{key:e},start:t,stop:i,scope:this.scope},s(this,F))).value}async zRemRangeByScore(e,t,i){return(await this.storage.ZRemRangeByScore({key:{key:e},min:t,max:i,scope:this.scope},s(this,F))).value}async zScore(e,t){let i=await this.storage.ZScore({key:{key:e},member:t,scope:this.scope},s(this,F));return i!==null?i.value:i}async zRank(e,t){let i=await this.storage.ZRank({key:{key:e},member:t,scope:this.scope},s(this,F));return i!==null?i.value:i}async zIncrBy(e,t,i){let n=await this.storage.ZIncrBy({key:e,member:t,value:i,scope:this.scope},s(this,F));return n!==null?n.value:n}async mget(e){let t=await this.storage.MGet({keys:e,scope:this.scope},s(this,F));return t!==null?t.values.map(i=>i||null):t}async mset(e){let t=Object.entries(e).map(([i,n])=>({key:i,value:n}));await this.storage.MSet({kv:t,scope:this.scope},s(this,F))}async zCard(e){let t=await this.storage.ZCard({key:e,scope:this.scope},s(this,F));return t!==null?t.value:t}async zScan(e,t,i,n){let o={key:e,cursor:t,pattern:i,count:n,scope:this.scope};return await this.storage.ZScan(o,s(this,F))}async type(e){let t=await this.storage.Type({key:e,scope:this.scope},s(this,F));return t!==null?t.value:t}async hget(e,t){let i=await this.storage.HGet({key:e,field:t,scope:this.scope},s(this,F));return i!==null?i.value??void 0:i}async hset(e,t){let i=Object.entries(t).map(([o,a])=>({field:o,value:a}));return(await this.storage.HSet({key:e,fv:i,scope:this.scope},s(this,F))).value}async hgetall(e){let t=await this.storage.HGetAll({key:e,scope:this.scope},s(this,F));return t!==null?t.fieldValues:t}async hdel(e,t){return(await this.storage.HDel({key:e,fields:t,scope:this.scope},s(this,F))).value}async hscan(e,t,i,n){let o={key:e,cursor:t,pattern:i,count:n,scope:this.scope};return await this.storage.HScan(o,s(this,F))}async hkeys(e){let t=await this.storage.HKeys({key:e,scope:this.scope},s(this,F));return t!==null?t.keys:t}async hincrby(e,t,i){return(await this.storage.HIncrBy({key:e,field:t,value:i,scope:this.scope},s(this,F))).value}async hlen(e){return(await this.storage.HLen({key:e,scope:this.scope})).value}};F=new WeakMap,Zr=new WeakMap;var Yr=Pc;var rr,Qr=class{constructor(e){l(this,rr,void 0);d(this,rr,e)}async runJob(e){return(await u.schedulerPlugin.Schedule({action:{type:e.name,data:e.data},cron:"cron"in e?e.cron:void 0,when:"runAt"in e?e.runAt:void 0},s(this,rr))).id}async cancelJob(e){await u.schedulerPlugin.Cancel({id:e},s(this,rr))}async listJobs(){return(await u.schedulerPlugin.List({after:new Date(0),before:new Date(Date.now()+31536e7)},s(this,rr))).actions.map(t=>(f(t.request?.action,"Scheduled job is malformed"),"when"in t.request&&t.request.when!=null?{id:t.id,name:t.request.action.type,runAt:t.request.when,data:t.request.action.data}:{id:t.id,name:t.request.action.type,cron:t.request.cron??"",data:t.request.action}))}};rr=new WeakMap;var Kn,ei=class{constructor(e){l(this,Kn,void 0);d(this,Kn,e)}async get(e){return(await this.getAll())[e]}async getAll(){let t=await u.settingsPlugin.GetSettings({},s(this,Kn));if(!t.installationSettings)throw new Error("Could not get installation settings");if(!t.appSettings)throw new Error("Could not get app settings");return{...jv(t.installationSettings.settings,u.installationSettings),...jv(t.appSettings.settings,u.appSettings)}}};Kn=new WeakMap;function jv(r,e){let t=Object.keys(r).reduce((i,n)=>(i[n]=yc(r[n]),i),{});return e&&Wv(t,e),t}function Wv(r,e){for(let t of e)t.type==="group"?Wv(r,t.fields):!(t.name in r)&&"defaultValue"in t&&(r[t.name]=t.defaultValue)}import{EffectType as Sc,Form as _0,ToastAppearance as Gv}from"@devvit/protos";var ir,ti,sd=class{constructor(e){l(this,ir,[]);l(this,ti,void 0);d(this,ti,e)}showForm(e,t){let i=u.formDefinitions.get(e);if(!i&&s(this,ti)){let a=s(this,ti).forms.get(e);a&&(i={form:a,onSubmit:()=>{}})}if(!i)throw new Error("Form does not exist. Make sure you have added it using Devvit.createForm at the root of your app.");let n=i.form instanceof Function?i.form(t??{}):i.form,o=_0.fromPartial({id:e,title:n.title,acceptLabel:n.acceptLabel,cancelLabel:n.cancelLabel,shortDescription:n.description});Qt(n.fields),o.fields=it(n.fields),s(this,ir).push({type:Sc.EFFECT_SHOW_FORM,showForm:{form:o}})}showToast(e){let t;e instanceof Object?t={text:e.text,appearance:e.appearance==="success"?Gv.SUCCESS:Gv.NEUTRAL}:t={text:e},s(this,ir).push({type:Sc.EFFECT_SHOW_TOAST,showToast:{toast:t}})}navigateTo(e){let t;typeof e=="string"?t=new URL(e).toString():t=new URL(e.permalink,"https://www.reddit.com").toString(),s(this,ir).push({type:Sc.EFFECT_NAVIGATE_TO_URL,navigateToUrl:{url:t}})}get __effects(){return s(this,ir)}};ir=new WeakMap,ti=new WeakMap;var Ac={now(){return new Date}};function zv(r){return`__autocache__${r}`}function Vv(r){return`__lock__${r}`}var N0=300,q0=1e3,od=5e3,Cc=3,Jv=.1,$v=1e3,H0=3e4;function Kv(r){if(r.error)throw new Error(r.error);return r.value}var Pt,St,Fe,ri,dd,Xv,ld,Zv,ud,Yv,Xn,Ic,cd,Qv,md,ey,Zn,wc,pd,ty,ad=class{constructor(e,t,i=Ac){l(this,dd);l(this,ld);l(this,ud);l(this,Xn);l(this,cd);l(this,md);l(this,Zn);l(this,pd);l(this,Pt,void 0);l(this,St,{});l(this,Fe,void 0);l(this,ri,void 0);d(this,Pt,e),d(this,ri,t),d(this,Fe,i)}async cache(e,t){d(this,St,s(this,ri).__cache=s(this,ri).__cache??{}),b(this,pd,ty).call(this,t);let i=b(this,dd,Xv).call(this,t.key);if(i!==void 0)return i;let n=await b(this,Zn,wc).call(this,t.key),o=await b(this,ld,Zv).call(this,t,n,e);return Kv(o)}};Pt=new WeakMap,St=new WeakMap,Fe=new WeakMap,ri=new WeakMap,dd=new WeakSet,Xv=function(e){let t=s(this,St)[e];if(t){let i=s(this,Fe).now().getTime(),n=t?.error&&t?.errorTime&&t.errorCount<Cc&&Math.random()<Jv&&t.errorTime+$v<i;if(t?.expires&&t.expires<i&&t.checkedAt+$v<i||n){delete s(this,St)[e];return}else return Kv(t)}},ld=new WeakSet,Zv=async function(e,t,i){let n=t?.expires,o=n?b(this,md,ey).call(this,n):1;return!t||t?.error&&t.errorCount<Cc&&Jv>Math.random()||o>Math.random()?b(this,ud,Yv).call(this,e,t,i):t},ud=new WeakSet,Yv=async function(e,t,i){let n=Vv(e.key),o=s(this,Fe).now().getTime(),a=new Date(o+e.ttl/2);if(await s(this,Pt).set(n,"1",{expiration:a,nx:!0}))return b(this,cd,Qv).call(this,e.key,t,i,e.ttl);if(t)return t;{let p=s(this,Fe).now();return b(this,Xn,Ic).call(this,p,e.key,e.ttl)}},Xn=new WeakSet,Ic=async function(e,t,i){let n=Math.min(i,q0),o=await b(this,Zn,wc).call(this,t);if(o)return o;if(s(this,Fe).now().getTime()-e.getTime()>=n)throw new Error(`Cache request timed out trying to get data at key: ${t}`);return await new Promise(a=>setTimeout(a,N0)),b(this,Xn,Ic).call(this,e,t,i)},cd=new WeakSet,Qv=async function(e,t,i,n){let o=s(this,Fe).now().getTime()+n;t=t??{value:null,expires:o,errorCount:0,error:null,errorTime:null,checkedAt:0};try{t.value=await i(),t.error=null,t.errorCount=0,t.errorTime=null}catch(a){t.value=null,t.error=a.message??"Unknown error",t.errorTime=s(this,Fe).now().getTime(),t.errorCount++}return s(this,St)[e]=t,await s(this,Pt).set(zv(e),JSON.stringify(t),{expiration:new Date(o+H0)}),t.error&&t.errorCount<Cc&&await s(this,Pt).del(Vv(e)),t},md=new WeakSet,ey=function(e){let t=s(this,Fe).now().getTime(),i=e-t;return i<0?1:i<1e3?.1:i<2e3?.01:i<3e3?.001:0},Zn=new WeakSet,wc=async function(e){let t=await s(this,Pt).get(zv(e));if(t){let i=JSON.parse(t);return i.checkedAt=s(this,Fe).now().getTime(),s(this,St)[e]=i,i}},pd=new WeakSet,ty=function(e){e.ttl<od&&(console.warn(`Cache TTL cannot be less than ${od} milliseconds! Updating ttl value of ${e.ttl} to ${od}.`),e.ttl=od)};function ry(r,e,t=Ac){let i=new ad(r,e,t);return i.cache.bind(i)}var Yn,ii=class{constructor(e){l(this,Yn,void 0);d(this,Yn,e)}async send(e,t){await u.realtimePlugin.Send({channel:e,data:t},s(this,Yn))}};Yn=new WeakMap;function Me({metadata:r,ui:e,hooks:t,reconciler:i}){let n=new $r(r),o=new Vr(r),a=new Yr(r),c=ry(a,i?i.state:{}),p=new Xr(r),g=new Qr(r),v=new ei(r),m=e?new sd(i):void 0,y=new Jr(r),k=new zr(r,()=>u.assetsPlugin),C=new ii(r),I=t&&i?Lv(i):void 0,A=t&&i?Bv(i):void 0,U=t&&i?Uv(i):void 0,le=t&&i?Mv(i):void 0;return{modLog:n,kvStore:o,redis:a,reddit:p,scheduler:g,settings:v,media:y,assets:k,realtime:C,get useForm(){return U??(()=>{throw new Error("useForm() is unavailable")})},get cache(){return c??(()=>{throw new Error("cache() is unavailable")})},get useState(){return I??(()=>{throw new Error("useState() is unavailable")})},get useInterval(){return A??(()=>{throw new Error("useInterval() is unavailable")})},get useChannel(){return le??(()=>{throw new Error("useChannel() is unavailable")})},get ui(){if(!m)throw new Error("ui client is not available");return m}}}function ae(r,e,t){let i=r[B.Subreddit]?.values[0];f(i,"subreddit is missing from Context");let n=r[B.AppUser]?.values[0];f(n,"appAccountId is missing from Context");let o=r[B.User]?.values[0],a={metadata:r};return{appAccountId:n,subredditId:i,userId:o,postId:e,commentId:t,debug:a,toJSON(){return{appAccountId:n,subredditId:i,userId:o,postId:e,commentId:t,debug:a}}}}async function gd(r,e,t){if(!e)throw new Error("Settings were not defined.");let i=j0.fromPartial({success:!0,errors:{}}),n=bt(r.fieldValues),o=e.flatMap(a=>a.type==="group"?a.fields:a);return await Promise.all(o.map(async a=>{let c=a.name;if(c&&a.type!=="group"&&a.onValidate){let p=n[c],g=a.onValidate,v=Object.assign(Me({metadata:t}),ae(t)),m=await g({value:p,isEditing:r.editing},v);m&&(i.success=!1,i.errors[c]=m)}})),i}async function z0(){if(!u.appSettings)throw new Error("App settings were not defined.");return G0.fromPartial({fields:{fields:it(u.appSettings)}})}async function V0(r,e){return gd(r,u.appSettings,e)}function iy(r){r.provides(W0),M("GetAppSettingsFields",z0),M("ValidateAppForm",V0)}import{CustomPostDefinition as sT}from"@devvit/protos";import{BlockRenderEventType as qc,EffectType as Sy}from"@devvit/protos";var ny="redd.it",J0="redditstatic.com",$0="redditmedia.com",K0="snoo.dev";var X0=[K0,ny,J0,$0],Z0=/^data:([a-zA-Z]+\/[a-zA-Z0-9.+_-]+)?(;charset=[a-zA-Z0-9._+-]+)?(;base64)?,(.*)/;function Y0(r){return r.trim().replace(/[\r\n]+/g,"")}function Q0(r){let e=Z0.exec(Y0(r));if(e)return{mimeType:e[1],charset:e[2]?.split("=")[1],isBase64:!!e[3],data:e[4].trim()}}function eT(r){return["image/svg+xml"].includes(r)}function xc(r){let e=Q0(r);return e?.mimeType?eT(e.mimeType):!1}function sy(r){try{let e=new URL(r).protocol;return e==="http"||e==="https"}catch{return!1}}function oy(r){try{if(xc(r))return!0;let t=(new URL(r,`https://i.${ny}`)?.hostname).split(".").slice(-2).join(".");return!!t&&X0.includes(t)}catch{return!1}}function ni(r){return r.__effects}function ay(){let r=new Set;return e=>{let t=e,i=1;for(;r.has(t);)t=`${e}.${i++}`;return r.add(t),t}}import{BlockActionType as Nc,BlockAnimationDirection as fy,BlockAnimationLoopMode as hy,BlockAnimationType as vy,BlockAvatarBackground as yy,BlockAvatarFacing as by,BlockAvatarSize as Ct,BlockBorderWidth as hd,BlockButtonAppearance as It,BlockButtonSize as Rc,BlockFullSnooSize as si,BlockGap as vd,BlockHorizontalAlignment as Oc,BlockIconSize as yd,BlockImageResizeMode as Qn,BlockPadding as es,BlockRadius as ts,BlockSizeUnit as Fc,BlockSpacerShape as Mc,BlockSpacerSize as bd,BlockStackDirection as Uc,BlockTextOutline as Bc,BlockTextOverflow as Lc,BlockTextSize as oi,BlockTextStyle as Dc,BlockTextWeight as ky,BlockType as Ue,BlockVerticalAlignment as _c}from"@devvit/protos";var Tc={transparent:"transparent",black:"#000000",white:"#ffffff","coolgray-950":"#04090A","coolgray-900":"#0B1416","coolgray-850":"#0F1A1C","coolgray-800":"#131F23","coolgray-750":"#1A282D","coolgray-700":"#223237","coolgray-650":"#2A3C42","coolgray-600":"#33464C","coolgray-550":"#4B6066","coolgray-525":"#576F76","coolgray-500":"#667A80","coolgray-450":"#82959B","coolgray-400":"#A0B0B5","coolgray-350":"#B8C5C9","coolgray-300":"#D2DADD","coolgray-250":"#DAE0E3","coolgray-200":"#E2E7E9","coolgray-150":"#EAEDEF","coolgray-100":"#F2F4F5","coolgray-50":"#F9FAFA","puregray-950":"#080808","puregray-900":"#131313","puregray-850":"#181818","puregray-800":"#1E1E1E","puregray-750":"#272727","puregray-700":"#303030","puregray-650":"#393939","puregray-600":"#434343","puregray-550":"#5C5C5C","puregray-500":"#767676","puregray-450":"#919191","puregray-400":"#ACACAC","puregray-350":"#C3C3C3","puregray-300":"#D6D6D6","puregray-250":"#DDDDDD","puregray-200":"#E4E4E4","puregray-150":"#EBEBEB","puregray-100":"#F2F2F2","puregray-50":"#F8F8F8","orangered-950":"#190600","orangered-900":"#340E00","orangered-800":"#4F1500","orangered-700":"#721F00","orangered-600":"#962900","orangered-500":"#D93A00","orangered-400":"#FE7C53","orangered-300":"#FFBEA6","orangered-200":"#FFD5C6","orangered-100":"#FFEDE5","orangered-50":"#FFF6F3","red-950":"#1C0004","red-900":"#3A0008","red-800":"#58000C","red-700":"#7E0011","red-600":"#A50016","red-500":"#EB001F","red-400":"#FF6E80","red-300":"#FFADB8","red-200":"#FFCCD2","red-100":"#FFEAED","red-50":"#FFF6F7","sakurapink-950":"#1A0011","sakurapink-900":"#360024","sakurapink-800":"#530037","sakurapink-700":"#770051","sakurapink-600":"#9B006A","sakurapink-500":"#E00096","sakurapink-400":"#FF55BD","sakurapink-300":"#FFA5E3","sakurapink-200":"#FFC5EC","sakurapink-100":"#FFE5F9","sakurapink-50":"#FFF3FB","berrypurple-950":"#16001F","berrypurple-900":"#2E0041","berrypurple-800":"#470062","berrypurple-700":"#66008C","berrypurple-600":"#8700B5","berrypurple-500":"#BC0EFF","berrypurple-400":"#D55EFF","berrypurple-300":"#EEA7FF","berrypurple-200":"#F2C8FF","berrypurple-100":"#FBE6FF","berrypurple-50":"#FCF4FF","periwinkle-950":"#0D0B1F","periwinkle-900":"#1A1741","periwinkle-800":"#272262","periwinkle-700":"#372F8C","periwinkle-600":"#453BB5","periwinkle-500":"#6A5CFF","periwinkle-400":"#988EFF","periwinkle-300":"#C3BDFF","periwinkle-200":"#D8D4FF","periwinkle-100":"#ECEAFF","periwinkle-50":"#F7F6FF","alienblue-950":"#000C1D","alienblue-900":"#00183D","alienblue-800":"#00255D","alienblue-700":"#003584","alienblue-600":"#0045AC","alienblue-500":"#1870F4","alienblue-400":"#629FFF","alienblue-300":"#A7CCFF","alienblue-200":"#C6DCFF","alienblue-100":"#E4EFFF","alienblue-50":"#F3F7FF","lightblue-950":"#000D12","lightblue-900":"#001C26","lightblue-800":"#002A3A","lightblue-700":"#003F56","lightblue-600":"#005472","lightblue-500":"#007FAE","lightblue-400":"#47B0DB","lightblue-300":"#95DCFB","lightblue-200":"#B6E9FF","lightblue-100":"#D9F6FF","lightblue-50":"#ECFAFF","mintgreen-950":"#00100E","mintgreen-900":"#001E1B","mintgreen-800":"#002E28","mintgreen-700":"#00443C","mintgreen-600":"#005A4F","mintgreen-500":"#008675","mintgreen-400":"#45B9AB","mintgreen-300":"#96E1D8","mintgreen-200":"#B7ECE5","mintgreen-100":"#DAF7F4","mintgreen-50":"#ECFBF9","kiwigreen-950":"#021000","kiwigreen-900":"#032200","kiwigreen-800":"#053200","kiwigreen-700":"#084A00","kiwigreen-600":"#0A6000","kiwigreen-500":"#0E8A00","kiwigreen-400":"#55BD46","kiwigreen-300":"#A3E398","kiwigreen-200":"#BFEEB8","kiwigreen-100":"#DFF8DB","kiwigreen-50":"#EEFCED","lime-950":"#0C0E00","lime-900":"#1A1F00","lime-800":"#282F00","lime-700":"#3A4501","lime-600":"#4D5A01","lime-500":"#6B7E01","lime-400":"#A1B33B","lime-300":"#CFDB83","lime-200":"#DFE8A6","lime-100":"#EFF4CC","lime-50":"#F7FAE5","yellow-950":"#100D01","yellow-900":"#251E02","yellow-800":"#382D03","yellow-700":"#504104","yellow-600":"#665505","yellow-500":"#8F7407","yellow-400":"#DBAF00","yellow-300":"#FADB61","yellow-200":"#FFE88F","yellow-100":"#FFF2BD","yellow-50":"#FFFAE5","yelloworange-950":"#150C00","yelloworange-900":"#2C1A00","yelloworange-800":"#432700","yelloworange-700":"#623A00","yelloworange-600":"#814C00","yelloworange-500":"#B06400","yelloworange-400":"#FF9C1A","yelloworange-300":"#FFCD7C","yelloworange-200":"#FFDDA8","yelloworange-100":"#FFF0D3","yelloworange-50":"#FFF7EA","poopbrown-950":"#110B04","poopbrown-900":"#29190A","poopbrown-800":"#3B2510","poopbrown-700":"#54371A","poopbrown-600":"#6E4924","poopbrown-500":"#9A6D3F","poopbrown-400":"#CAA075","poopbrown-300":"#EECCAA","poopbrown-200":"#F6DDC3","poopbrown-100":"#FEEEDD","poopbrown-50":"#FEF7EE",pizzaRed:{light:"#ef5350",dark:"#c62828"},"global-brand-orangered":{light:"#FF4500",dark:"#FF4500"},"global-focus":{light:"#47B0DB",dark:"#007FAE"},"interactive-content-disabled":{light:"#0000003f",dark:"#ffffff3f"},"interactive-background-disabled":{light:"#0000000c",dark:"#ffffff0c"},"interactive-pressed":{light:"#00000028",dark:"#ffffff28"},"neutral-content":{light:"#2A3C42",dark:"#B8C5C9"},"neutral-content-disabled":{light:"#D6D6D6",dark:"#303030"},"neutral-content-weak":{light:"#576F76",dark:"#82959B"},"neutral-content-strong":{light:"#0F1A1C",dark:"#F2F4F5"},"neutral-background":{light:"#ffffff",dark:"#0B1416"},"neutral-background-selected":{light:"#EAEDEF",dark:"#1A282D"},"neutral-background-weak":{light:"#F9FAFA",dark:"#04090A"},"neutral-background-medium":{light:"#F8F8F8",dark:"#131313"},"neutral-background-strong":{light:"#ffffff",dark:"#0F1A1C"},"neutral-background-hover":{light:"#F2F4F5",dark:"#131F23"},"neutral-border":{light:"#00000033",dark:"#ffffff33"},"neutral-border-medium":{light:"#0000007f",dark:"#ffffff7f"},"neutral-border-weak":{light:"#00000019",dark:"#ffffff19"},"neutral-border-strong":{light:"#0F1A1C",dark:"#F2F4F5"},primary:{light:"#0045AC",dark:"#629FFF"},"primary-hover":{light:"#003584",dark:"#A7CCFF"},"primary-visited":{light:"#8700B5",dark:"#D55EFF"},"primary-onBackground":{light:"#ffffff",dark:"#ffffff"},"primary-onBackground-selected":{light:"#ffffff",dark:"#000000"},"primary-background":{light:"#0045AC",dark:"#0045AC"},"primary-background-hover":{light:"#003584",dark:"#1870F4"},"primary-background-selected":{light:"#00255D",dark:"#629FFF"},secondary:{light:"#0F1A1C",dark:"#F2F4F5"},"secondary-hover":{light:"#000000",dark:"#ffffff"},"secondary-weak":{light:"#576F76",dark:"#82959B"},"secondary-onBackground":{light:"#000000",dark:"#ffffff"},"secondary-background":{light:"#EAEDEF",dark:"#1A282D"},"secondary-background-hover":{light:"#E2E7E9",dark:"#223237"},"secondary-background-selected":{light:"#D2DADD",dark:"#33464C"},"secondary-plain":{light:"#0F1A1C",dark:"#F2F4F5"},"secondary-plain-hover":{light:"#000000",dark:"#ffffff"},"danger-background":{light:"#EB001F",dark:"#A50016"},"danger-background-disabled":{light:"#FFCCD2",dark:"#3A0008"},"danger-background-hover":{light:"#A50016",dark:"#EB001F"},"danger-onBackground":{light:"#ffffff",dark:"#ffffff"},"danger-content":{light:"#A50016",dark:"#FF6E80"},"danger-content-hover":{light:"#7E0011",dark:"#FFADB8"},"danger-content-default":{light:"#ffffff",dark:"#ffffff"},"brand-background":{light:"#D93A00",dark:"#D93A00"},"brand-onBackground":{light:"#ffffff",dark:"#ffffff"},"brand-background-hover":{light:"#962900",dark:"#962900"},"media-background":{light:"#00000099",dark:"#00000099"},"media-onbackground":{light:"#ffffff",dark:"#ffffff"},"media-onbackground-weak":{light:"#E2E7E9",dark:"#E2E7E9"},"media-background-hover":{light:"#000000cc",dark:"#000000cc"},"media-onbackground-disabled":{light:"#ffffff3f",dark:"#ffffff3f"},"media-border-selected":{light:"#ffffff",dark:"#ffffff"},"media-background-selected":{light:"#000000cc",dark:"#000000cc"},"success-content":{light:"#0A6000",dark:"#55BD46"},"success-hover":{light:"#084A00",dark:"#A3E398"},"success-onBackground":{light:"#ffffff",dark:"#ffffff"},"success-background":{light:"#0E8A00",dark:"#0A6000"},"success-background-hover":{light:"#0A6000",dark:"#0E8A00"},"warning-content":{light:"#665505",dark:"#DBAF00"},"warning-content-hover":{light:"#504104",dark:"#FADB61"},"warning-onBackground":{light:"#000000",dark:"#000000"},"warning-background":{light:"#DBAF00",dark:"#DBAF00"},"warning-background-hover":{light:"#8F7407",dark:"#FADB61"},"upvote-content":{light:"#962900",dark:"#FE7C53"},"upvote-content-weak":{light:"#FF4500",dark:"#FF4500"},"upvote-disabled":{light:"#9629004c",dark:"#FE7C534c"},"upvote-onBackground":{light:"#ffffff",dark:"#ffffff"},"upvote-background":{light:"#D93A00",dark:"#D93A00"},"upvote-background-hover":{light:"#962900",dark:"#962900"},"upvote-background-disabled":{light:"#D93A004c",dark:"#D93A004c"},"downvote-content":{light:"#453BB5",dark:"#988EFF"},"downvote-content-weak":{light:"#6A5CFF",dark:"#6A5CFF"},"downvote-disabled":{light:"#453BB54c",dark:"#988EFF4c"},"downvote-onBackground":{light:"#ffffff",dark:"#ffffff"},"downvote-background":{light:"#6A5CFF",dark:"#453BB5"},"downvote-background-hover":{light:"#453BB5",dark:"#453BB5"},"downvote-background-disabled":{light:"#6A5CFF4c",dark:"#6A5CFF4c"},"brand-gradient-default":{light:"",dark:""},"brand-gradient-default-highlight":{light:"",dark:""},"brand-gradient-hover":{light:"",dark:""},"brand-gradient-hover-highlight":{light:"",dark:""},"brand-gradient-active":{light:"",dark:""},"brand-gradient-active-highlight":{light:"",dark:""},"gradient-media":{light:"",dark:""},"gradient-media-strong":{light:"",dark:""},"transparent-background-hover":{light:"#82959B19",dark:"#667A8019"},"global-black":{light:"#000000",dark:"#000000"},"global-white":{light:"#ffffff",dark:"#ffffff"},"global-orangered":{light:"#D93A00",dark:"#D93A00"},"global-alienblue":{light:"#1870F4",dark:"#1870F4"},"global-darkblue":{light:"#131F23",dark:"#131F23"},"tone-1":{light:"#131313",dark:"#F2F2F2"},"tone-2":{light:"#434343",dark:"#ACACAC"},"tone-3":{light:"#ACACAC",dark:"#434343"},"tone-4":{light:"#E4E4E4",dark:"#303030"},"tone-5":{light:"#F2F2F2",dark:"#1E1E1E"},"tone-6":{light:"#F8F8F8",dark:"#131313"},"tone-7":{light:"#ffffff",dark:"#080808"},"action-upvote":{light:"#D93A00",dark:"#D93A00"},"action-downvote":{light:"#6A5CFF",dark:"#6A5CFF"},"alert-caution":{light:"#8F7407",dark:"#8F7407"},"identity-admin":{light:"#D93A00",dark:"#D93A00"},"identity-moderator":{light:"#0E8A00",dark:"#0E8A00"},"identity-self":{light:"#008675",dark:"#008675"},"identity-coins":{light:"#DBAF00",dark:"#DBAF00"},"category-live":{light:"#D93A00",dark:"#D93A00"},"category-nsfw":{light:"#E00096",dark:"#E00096"},"category-spoiler":{light:"#131313",dark:"#F2F2F2"},"ui-canvas":{light:"#F2F2F2",dark:"#080808"},"ui-modalbackground":{light:"#ffffff",dark:"#0F1A1C"},"avatar-gradient":{light:"",dark:""},"opacity-highlight":{light:"",dark:""},"opacity-08":{light:"#13131314",dark:"#13131314"},"opacity-50":{light:"#0000007f",dark:"#F2F2F27f"},scrim:{light:"#00000099",dark:"#00000099"},"scrim-strong":{light:"#000000cc",dark:"#000000cc"},"scrim-gradient":{light:"",dark:""},online:{light:"#55BD46",dark:"#55BD46"},favorite:{light:"#8F7407",dark:"#DBAF00"}};var dy={aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",transparent:"#FFFFFF00",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"},ly=r=>!!r.match(/^(#[0-9a-fA-F]{3,8}).*/),uy=r=>r in Tc,Ec=r=>r in dy,cy=r=>!!r.match(/^rgba?\(.*/),my=r=>!!r.match(/^hsla?\(.*/),py=(r,e="light")=>{if(Ec(r))return fd(r);let i=Tc[r];return typeof i=="string"?i:i[e]},fd=r=>dy[r]??r,gy=r=>{let[e,t,i,n]=r.replace(/^rgba?\(|\s+|\)$/g,"").split(",");if(!e||!t||!i)return r;let a=[...[e,t,i].map(p=>parseFloat(p))];if(n){let p=parseFloat(n),g=Math.round(p*255);a.push(g)}return`#${a.map(p=>p.toString(16).padStart(2,"0")).join("")}`};var Py="data-",tT=new Set(["onPress","onMessage"]),rT=new Map([["onPress",Nc.ACTION_CLICK],["onMessage",Nc.ACTION_WEBVIEW]]),ai=class{async createBlocksElementOrThrow({type:e,props:t,children:i}){let n=await this.createBlocksElement({type:e,props:t,children:i});if(!n)throw new Error(`Could not create block of type ${e}`);return n}async createBlocksElement({type:e,props:t,children:i}){switch(e){case"blocks":return this.makeRoot(t,...i);case"hstack":return this.makeHStack(t,...i);case"vstack":return this.makeVStack(t,...i);case"zstack":return this.makeZStack(t,...i);case"text":return this.makeText(t,...i);case"button":return this.makeButton(t,...i);case"image":return await this.makeImage(t);case"spacer":return this.makeSpacer(t);case"icon":return this.makeIcon(t);case"avatar":return this.makeAvatar(t);case"fullsnoo":return this.makeFullSnoo(t);case"animation":return await this.makeAnimation(t);case"webview":return this.makeWebView(t);case"__fragment":throw new Error("root fragment is not supported - use 'blocks' instead")}}makeRootHeight(e){switch(e){case"regular":return 320;case"tall":return 512}}makeBlockPadding(e){switch(e){case"none":return es.PADDING_NONE;case"xsmall":return es.PADDING_XSMALL;case"small":return es.PADDING_SMALL;case"medium":return es.PADDING_MEDIUM;case"large":return es.PADDING_LARGE}}makeBlockRadius(e){switch(e){case"none":return ts.RADIUS_NONE;case"small":return ts.RADIUS_SMALL;case"medium":return ts.RADIUS_MEDIUM;case"large":return ts.RADIUS_LARGE;case"full":return ts.RADIUS_FULL}}makeBlockGap(e){switch(e){case"none":return vd.GAP_NONE;case"small":return vd.GAP_SMALL;case"medium":return vd.GAP_MEDIUM;case"large":return vd.GAP_LARGE}}makeBlockAlignment(e){if(e===void 0)return;let t,i;if(e.includes("top")?t=_c.ALIGN_TOP:e.includes("middle")?t=_c.ALIGN_MIDDLE:e.includes("bottom")&&(t=_c.ALIGN_BOTTOM),e.includes("start")?i=Oc.ALIGN_START:e.includes("center")?i=Oc.ALIGN_CENTER:e.includes("end")&&(i=Oc.ALIGN_END),t!==void 0||i!==void 0)return{vertical:t,horizontal:i}}makeBlockBorder(e,t,i,n){if(!e&&!t)return;let o;switch(e){case"none":o=hd.BORDER_WIDTH_NONE;break;case"thin":o=hd.BORDER_WIDTH_THIN;break;case"thick":o=hd.BORDER_WIDTH_THICK;break;default:o=hd.BORDER_WIDTH_THIN;break}let a=t??"neutral-border-weak",c=this.getThemedColors(a,i,n);return{width:o,color:c?.light,colors:c}}makeBlockTextSize(e){switch(e){case"xsmall":return oi.TEXT_SIZE_XSMALL;case"small":return oi.TEXT_SIZE_SMALL;case"medium":return oi.TEXT_SIZE_MEDIUM;case"large":return oi.TEXT_SIZE_LARGE;case"xlarge":return oi.TEXT_SIZE_XLARGE;case"xxlarge":return oi.TEXT_SIZE_XXLARGE}}makeBlockTextStyle(e){switch(e){case"body":return Dc.TEXT_STYLE_BODY;case"metadata":return Dc.TEXT_STYLE_METADATA;case"heading":return Dc.TEXT_STYLE_HEADING}}makeBlockTextOutline(e){switch(e){case"none":return Bc.TEXT_OUTLINE_NONE;case"thin":return Bc.TEXT_OUTLINE_THIN;case"thick":return Bc.TEXT_OUTLINE_THICK}}makeBlockTextWeight(e){switch(e){case"regular":return ky.TEXT_WEIGHT_REGULAR;case"bold":return ky.TEXT_WEIGHT_BOLD}}makeBlockTextOverflow(e){switch(e){case"clip":return Lc.TEXT_OVERFLOW_CLIP;case"ellipsis":return Lc.TEXT_OVERFLOW_ELLIPSE}return Lc.TEXT_OVERFLOW_ELLIPSE}makeBlockButtonAppearance(e){switch(e){case"secondary":return It.BUTTON_APPEARANCE_SECONDARY;case"primary":return It.BUTTON_APPEARANCE_PRIMARY;case"plain":return It.BUTTON_APPEARANCE_PLAIN;case"bordered":return It.BUTTON_APPEARANCE_BORDERED;case"media":return It.BUTTON_APPEARANCE_MEDIA;case"destructive":return It.BUTTON_APPEARANCE_DESTRUCTIVE;case"caution":return It.BUTTON_APPEARANCE_CAUTION;case"success":return It.BUTTON_APPEARANCE_SUCCESS}}makeBlockButtonSize(e){switch(e){case"small":return Rc.BUTTON_SIZE_SMALL;case"medium":return Rc.BUTTON_SIZE_MEDIUM;case"large":return Rc.BUTTON_SIZE_LARGE}}makeBlockImageResizeMode(e){switch(e){case"none":return Qn.IMAGE_RESIZE_NONE;case"fit":return Qn.IMAGE_RESIZE_FIT;case"fill":return Qn.IMAGE_RESIZE_FILL;case"cover":return Qn.IMAGE_RESIZE_COVER;case"scale-down":return Qn.IMAGE_RESIZE_SCALE_DOWN}}makeBlockSpacerSize(e){switch(e){case"xsmall":return bd.SPACER_XSMALL;case"small":return bd.SPACER_SMALL;case"medium":return bd.SPACER_MEDIUM;case"large":return bd.SPACER_LARGE}}makeBlockSpacerShape(e){switch(e){case"invisible":return Mc.SPACER_INVISIBLE;case"thin":return Mc.SPACER_THIN;case"square":return Mc.SPACER_SQUARE}}makeBlockIconSize(e){switch(e){case"xsmall":return yd.ICON_SIZE_XSMALL;case"small":return yd.ICON_SIZE_SMALL;case"medium":return yd.ICON_SIZE_MEDIUM;case"large":return yd.ICON_SIZE_LARGE}}makeBlockAvatarSize(e){switch(e){case"xxsmall":return Ct.AVATAR_SIZE_XXSMALL;case"xsmall":return Ct.AVATAR_SIZE_XSMALL;case"small":return Ct.AVATAR_SIZE_SMALL;case"medium":return Ct.AVATAR_SIZE_MEDIUM;case"large":return Ct.AVATAR_SIZE_LARGE;case"xlarge":return Ct.AVATAR_SIZE_XXLARGE;case"xxlarge":return Ct.AVATAR_SIZE_XXLARGE;case"xxxlarge":return Ct.AVATAR_SIZE_XXXLARGE}}makeBlockAvatarFacing(e){switch(e){case"left":return by.AVATAR_FACING_LEFT;case"right":return by.AVATAR_FACING_RIGHT}}makeBlockFullSnooSize(e){switch(e){case"xsmall":return si.FULLSNOO_XSMALL;case"small":return si.FULLSNOO_SMALL;case"medium":return si.FULLSNOO_MEDIUM;case"large":return si.FULLSNOO_LARGE;case"xlarge":return si.FULLSNOO_XLARGE;case"xxlarge":return si.FULLSNOO_XXLARGE}}makeBlockAvatarBackground(e){switch(e){case"dark":return yy.AVATAR_BG_DARK;case"light":return yy.AVATAR_BG_LIGHT}}makeBlockAnimationType(e){return e==="lottie"||e===void 0?vy.ANIM_LOTTIE:vy.UNRECOGNIZED}makeBlockAnimationDirection(e){switch(e){case"backward":return fy.ANIM_DIR_BACKWARD;case"forward":return fy.ANIM_DIR_FORWARD}}makeBlockLoopMode(e){switch(e){case"repeat":return hy.ANIM_LOOP_REPEAT;case"bounce":return hy.ANIM_LOOP_BOUNCE}}makeBlockSize(e){if(e&&(e.width!=null||e.height!=null||e.grow)){let{value:t,unit:i}=this.parseSize(e.width)??{},{value:n,unit:o}=this.parseSize(e.height)??{};return{width:t,widthUnit:i,height:n,heightUnit:o,grow:e.grow}}}makeBlockSizes(e){if(e){let t=e.width!=null||e.minWidth!=null||e.maxWidth!=null,i=e.height!=null||e.minHeight!=null||e.maxHeight!=null;if(t||i||e.grow!=null)return{width:t?{value:this.parseSize(e.width),min:this.parseSize(e.minWidth),max:this.parseSize(e.maxWidth)}:void 0,height:i?{value:this.parseSize(e.height),min:this.parseSize(e.minHeight),max:this.parseSize(e.maxHeight)}:void 0,grow:e.grow}}}parseSize(e){if(e==null)return;if(typeof e=="number")return{value:e,unit:Fc.SIZE_UNIT_PERCENT};let t=e.match(/^(\d+(?:\.\d+)?)(px|%)?$/);if(t==null)return;let i=Fc.SIZE_UNIT_PERCENT;return t?.at(2)==="px"&&(i=Fc.SIZE_UNIT_PIXELS),{value:Number.parseFloat(t[1]),unit:i}}getDataSet(e){return Object.keys(e).filter(t=>t.startsWith(Py)).reduce((t,i)=>(t[i.substring(Py.length)]=e[i],t),{})}makeActions(e,t){let i=[],n=this.getDataSet(t);return tT.forEach(o=>{if(o in t){let a=t[o];i.push({type:rT.get(o)??Nc.UNRECOGNIZED,id:a.toString(),data:n})}}),i}blockColorToHex(e,t="light"){if(e)return e=e.toLowerCase(),ly(e)?e:uy(e)?py(e,t):Ec(e)?fd(e):cy(e)?gy(e):my(e)?e:(console.warn(`Could not parse color: ${e}.`),fd("red"))}async childrenToBlocks(e){let t=e.map(n=>{if(typeof n!="string")return this.createBlocksElement(n)});return(await Promise.all(t)).filter(n=>n!==void 0)}getThemedColors(e,t,i){let n=this.blockColorToHex(t,"light"),o=this.blockColorToHex(i,"dark"),a=[];if(e&&(!n||!o)){let c=Array.from(e?.matchAll(/[\w#-]+(?:\([\w\t ,.#-]+\))?/g)??[]);a.push(...c.map(p=>p[0]))}return n||(n=this.blockColorToHex(a?.at(0),"light")),o||(o=this.blockColorToHex(a?.at(1)??a?.at(0),"dark")),n||o?{light:n,dark:o}:void 0}parsePixels(e){return typeof e=="string"?Number(e.slice(0,-2)):e}childrenToString(e){return e.map(t=>t.toString()).join("")}async makeRoot(e,...t){return this.wrapRoot(e,await this.childrenToBlocks(t))}async wrapRoot(e,t){return this.makeBlock(Ue.BLOCK_ROOT,{},{rootConfig:{children:t,height:this.makeRootHeight(u.customPostType?.height??e?.height??"regular")}})}async makeStackBlock(e,t,i){let n=this.getThemedColors(t?.backgroundColor,t?.lightBackgroundColor,t?.darkBackgroundColor);return this.makeBlock(Ue.BLOCK_STACK,t,{stackConfig:{alignment:this.makeBlockAlignment(t?.alignment),backgroundColor:n?.light,backgroundColors:n,border:this.makeBlockBorder(t?.border,t?.borderColor,t?.lightBorderColor,t?.darkBorderColor),children:await this.childrenToBlocks(i),cornerRadius:this.makeBlockRadius(t?.cornerRadius),direction:e,gap:this.makeBlockGap(t?.gap),padding:this.makeBlockPadding(t?.padding),reverse:t?.reverse}})}async makeHStack(e,...t){return this.makeStackBlock(Uc.STACK_HORIZONTAL,e,t)}async makeVStack(e,...t){return this.makeStackBlock(Uc.STACK_VERTICAL,e,t)}async makeZStack(e,...t){return this.makeStackBlock(Uc.STACK_DEPTH,e,t)}makeText(e,...t){let i=this.getThemedColors(e?.color,e?.lightColor,e?.darkColor);return this.makeBlock(Ue.BLOCK_TEXT,e,{textConfig:{alignment:this.makeBlockAlignment(e?.alignment),color:i?.light,colors:i,outline:this.makeBlockTextOutline(e?.outline),size:this.makeBlockTextSize(e?.size),style:this.makeBlockTextStyle(e?.style),text:this.childrenToString(t),weight:this.makeBlockTextWeight(e?.weight),selectable:e?.selectable,wrap:e?.wrap,overflow:this.makeBlockTextOverflow(e?.overflow)}})}makeButton(e,...t){let i=this.getThemedColors(e?.textColor,e?.lightTextColor,e?.darkTextColor);return this.makeBlock(Ue.BLOCK_BUTTON,e,{buttonConfig:{buttonAppearance:this.makeBlockButtonAppearance(e?.appearance),icon:e?.icon,buttonSize:this.makeBlockButtonSize(e?.size),text:this.childrenToString(t),textColor:i?.light,textColors:i,disabled:e?.disabled}})}async makeImage(e){return e&&this.makeBlock(Ue.BLOCK_IMAGE,e,{imageConfig:{description:e?.description,resizeMode:this.makeBlockImageResizeMode(e.resizeMode),url:e.url,width:this.parsePixels(e.imageWidth),height:this.parsePixels(e.imageHeight)}})}makeSpacer(e){return this.makeBlock(Ue.BLOCK_SPACER,e,{spacerConfig:{size:this.makeBlockSpacerSize(e?.size),shape:this.makeBlockSpacerShape(e?.shape)}})}makeIcon(e){let t=this.getThemedColors(e?.color,e?.lightColor,e?.darkColor);return e&&this.makeBlock(Ue.BLOCK_ICON,e,{iconConfig:{icon:e.name,color:t?.light,colors:t,size:this.makeBlockIconSize(e.size)}})}makeAvatar(e){return e&&this.makeBlock(Ue.BLOCK_AVATAR,e,{avatarConfig:{thingId:e.thingId,size:this.makeBlockAvatarSize(e.size),facing:this.makeBlockAvatarFacing(e.facing),background:this.makeBlockAvatarBackground(e.background)}})}makeFullSnoo(e){return e&&this.makeBlock(Ue.BLOCK_FULLSNOO,e,{fullsnooConfig:{userId:e.userId,facing:this.makeBlockAvatarFacing(e.facing),size:this.makeBlockFullSnooSize(e.size)}})}async makeAnimation(e){return e&&this.makeBlock(Ue.BLOCK_ANIMATION,e,{animationConfig:{type:this.makeBlockAnimationType(e.type),url:e.url,loop:e.loop,loopMode:this.makeBlockLoopMode(e.loopMode),autoplay:e.autoplay,width:this.parsePixels(e.imageWidth),height:this.parsePixels(e.imageHeight),direction:this.makeBlockAnimationDirection(e.direction),speed:e.speed}})}makeWebView(e){return e&&this.makeBlock(Ue.BLOCK_WEBVIEW,e,{webviewConfig:{url:e.url,state:e.state}})}makeBlock(e,t,i){return{type:e,size:this.makeBlockSize(t),sizes:this.makeBlockSizes(t),config:i,actions:(t&&this.makeActions(e,t))??[],id:t?.id,key:t?.key}}async ensureRootBlock(e){let t=e;if(t.type===Ue.BLOCK_ROOT)return t.config?.rootConfig&&u.customPostType?.height&&(t.config.rootConfig.height=this.makeRootHeight(u.customPostType?.height)),t;let i=await this.wrapRoot(void 0,[t]);if(!i)throw new Error("Could not create root block");return i}};function Cy(r){if(typeof r=="string")throw new Error("Root element cannot be a string")}var Iy=r=>{let e="",t=r.props?Object.keys(r.props).map(i=>i==="onPress"?"":`${i}="${r.props[i]}"`).join(" "):"";e+=`<${r.type}${t?" "+t:""}>`;for(let i of r.children)typeof i=="string"?e+=i:e+=Iy(i);return e+=`</${r.type}>`,e};function iT(r){return" ".repeat(r)}function nT(r){let e="",t=0,i=r.split(/>\s*</);for(let n=0;n<i.length;n++){let o=i[n];n===0&&(o=o.trim()),n===i.length-1&&(o=o.trim());let a=o.charAt(0)==="/";a&&t--,e+=iT(t),n!==0&&(e+="<"),e+=o,n!==i.length-1&&(e+=`>
2
+ `),!a&&o.indexOf("</")===-1&&o.charAt(o.length-1)!=="/"&&t++}return e}var kd,wy,nr,rs,is,Hc,ns,nt=class{constructor(e,t,i,n,o){l(this,kd);l(this,nr);l(this,is);this.renderState={};this.currentComponentKey=[];this.currentHookIndex=0;this.actions=new Map;this.forms=new Map;this.realtimeChannels=[];this.realtimeUpdated=!1;this.pendingHooks=[];this.isRendering=!1;this.transformer=new ai;this.effects=[];l(this,ns,!1);this.component=e,this.event=t,this.state={__renderState:{},...i},this.metadata=n,this.state.__realtimeChannels&&(this.realtimeChannels=this.state.__realtimeChannels);let a=Me({reconciler:this,hooks:!0,ui:!0,metadata:n});this.cache=a.cache,this.modLog=a.modLog,this.reddit=a.reddit,this.kvStore=a.kvStore,this.redis=a.redis,this.settings=a.settings,this.scheduler=a.scheduler,this.media=a.media,this.assets=a.assets,this.realtime=a.realtime,this.dimensions=o,this.ui=a.ui,this.hooks={useState:a.useState,useInterval:a.useInterval,useForm:a.useForm,useChannel:a.useChannel}}emitEffect(e,t){this.effects.push(t)}async render(){await this.reconcile(),this.isRendering=!0;let e=await this.buildBlocksUI();return this.isRendering=!1,e}makeUniqueActionID(e){let t=e,i=1;for(;this.actions.has(t);)t=`${e}.${i++}`;return t}async reconcile(){let e={type:this.component,props:b(this,nr,rs).call(this),children:[]},t=await this.processBlock(e);if(Cy(t),await this.transformer.createBlocksElementOrThrow(t),this.isUserActionRender&&this.blockRenderEventId){let i=this.actions.get(this.blockRenderEventId);i&&await i(this.event.data)}for(let i of this.pendingHooks)await i();this.buildNextState(),b(this,kd,wy).call(this)}async buildBlocksUI(){let e={type:this.component,props:b(this,nr,rs).call(this),children:[]},t=await this.renderElement(e);return this.transformer.ensureRootBlock(t)}async renderElement(e){let t=await this.processBlock(e);return Cy(t),(u.debug.emitSnapshots||this.metadata[B.DebugRenderXML]?.values[0])&&console.log(nT(Iy(t))),u.debug.emitState&&console.log(JSON.stringify(this.state,null,2)),await this.transformer.createBlocksElementOrThrow(t)}async processProps(e){let t=e.props??{},i=["onPress","onMessage"];for(let n of i)if(n in t){let o=t[n],a=o?.name,c=this.makeUniqueActionID(`${e.type}.${a??n}`);this.actions.set(c,o),t[n]=c}t.url&&(t.url=await this.getAssetUrl(t.url))}async getAssetUrl(e){let t,i=globalThis.devvit?.config?.assets;if(i&&(t=i[e]),!t&&!oy(e)){console.log("No assets loaded on the config - falling back to plugin");try{t=await this.assets.getURL(e),i&&t&&(i[e]=t)}catch{}}return t??e}async processBlock(e,t=ay(),i=[]){let n=e;if(typeof n.type=="string"){let p=(await Promise.all(n.children.flatMap(async(m,y)=>m==null?[]:await this.processBlock(m,t,[...i,`${n.type}.${y}`])))).flat(),g=b(this,is,Hc).call(this,p);return await this.processProps(n),{type:n.type,props:n.props,children:g}}if(typeof n.type=="function"){let c=t(`${i.length?i.join("."):"root"}.${n.type.name.length?n.type.name:"anonymous"}`);this.currentComponentKey.push(c),this.renderState[c]||(this.renderState[c]={});let p=n.children.flatMap(m=>m),g={...b(this,nr,rs).call(this),...n.props,children:p},v;for(;v===void 0;)try{v=await n.type(g,b(this,nr,rs).call(this))}catch(m){if(m instanceof Promise)v=await m;else throw m}if(!this.isInitialRender){let m=this.getPreviousComponentState();if(Object.keys(m).length!==this.currentHookIndex)throw new Error("Invalid hook call. Hooks can only be called at the top-level of a function component. Make sure that you are not calling hooks inside loops, conditions, or nested functions.")}if(this.currentComponentKey.pop(),this.currentHookIndex=0,typeof v=="object")return this.processBlock(v,t,[...i,n.type.name])}if(typeof n=="string")return n;if(typeof n=="number")return`${n}`;let o=[],a="";return Array.isArray(n)?o=n:typeof n.type>"u"&&n.children&&(o=n.children,a="fragmentChild."),{type:"__fragment",props:void 0,children:await Promise.all(o.flatMap(async(c,p)=>await this.processBlock(c,t,[...i,`${a}${p}`])))}}getCurrentComponentKey(){if(!this.currentComponentKey.at(-1))throw new Error("Current component key is missing");return this.currentComponentKey}getCurrentComponentState(){let e=this.currentComponentKey.at(-1);if(!e)throw new Error("Current component key is missing");return this.renderState[e]}getPreviousComponentState(){let e=this.currentComponentKey.at(-1);if(!e)throw new Error("Current component key is missing");return this.state.__renderState[e]||(this.state.__renderState[e]={}),this.state.__renderState[e]}get isInitialRender(){return this.event?this.event.type===qc.RENDER_INITIAL:!1}get isUserActionRender(){return this.event?this.event.type===qc.RENDER_USER_ACTION:!1}get isEffectRender(){return this.event?this.event.type===qc.RENDER_EFFECT_EVENT:!1}get formSubmittedEvent(){return this.event?this.event.formSubmitted:!1}get blockRenderEventId(){return this.event?this.event.id:!1}get realtimeEvent(){if(!this.event)return!1;let e=this.event.realtimeEvent;return e?.event?.channel?e:!1}runHook(e){this.pendingHooks.push(e)}rerenderIn(e){s(this,ns)||(d(this,ns,!0),this.effects.push({type:Sy.EFFECT_RERENDER_UI,rerenderUi:{delaySeconds:e/1e3}}))}addRealtimeChannel(e){this.realtimeChannels.push(e),this.realtimeUpdated=!0}removeRealtimeChannel(e){this.realtimeChannels=this.realtimeChannels.filter(t=>t!==e),this.realtimeUpdated=!0}get realtimeEffect(){return this.realtimeUpdated&&this.realtimeChannels.length>0?[{type:Sy.EFFECT_REALTIME_SUB,realtimeSubscriptions:{subscriptionIds:this.realtimeChannels}}]:[]}getEffects(){return[...ni(this.ui),...this.effects,...this.realtimeEffect]}buildNextState(){for(let e of Object.keys(this.renderState))this.renderState[e]=Object.values(this.renderState[e]);this.state={__postData:this.state.__postData,__renderState:this.renderState,__cache:this.state.__cache,...this.realtimeChannels.length>0?{__realtimeChannels:this.realtimeChannels}:{}}}};kd=new WeakSet,wy=function(){this.actions.clear(),this.currentComponentKey=[],this.currentHookIndex=0,this.pendingHooks=[],this.realtimeChannels=[],this.realtimeUpdated=!1},nr=new WeakSet,rs=function(){let e={...ae(this.metadata,this.state.__postData?.thingId),modLog:this.modLog,reddit:this.reddit,cache:this.cache,kvStore:this.kvStore,redis:this.redis,settings:this.settings,scheduler:this.scheduler,media:this.media,assets:this.assets,realtime:this.realtime,ui:this.ui,dimensions:this.dimensions,uiEnvironment:{timezone:this.metadata[B.Timezone]?.values[0],locale:this.metadata[B.Language]?.values[0],dimensions:this.dimensions},...this.hooks};return e.debug.effects=this,e},is=new WeakSet,Hc=function(e){let t=[];for(let i of e)typeof i=="string"?t.push(i):i.type==="__fragment"?t.push(...b(this,is,Hc).call(this,i.children)):t.push(i);return t},ns=new WeakMap;async function oT(r,e){let t=u.customPostType;if(!t)throw new Error("Custom post type not registered");let i=new nt((o,a)=>t.render(a),r.blocks,r.state,e,r.dimensions),n=await i.render();return{state:i.state,blocks:{ui:n},effects:i.getEffects()}}function Ay(r){r.provides(sT),M("RenderPost",oT)}import{GetFieldsResponse as aT,InstallationSettingsDefinition as dT}from"@devvit/protos";async function lT(){if(!u.installationSettings)throw new Error("Installation settings were not defined.");return aT.fromPartial({fields:{fields:it(u.installationSettings)}})}async function uT(r,e){return gd(r,u.installationSettings,e)}function xy(r){r.provides(dT),M("GetSettingsFields",lT),M("ValidateForm",uT)}import{ContextActionDefinition as cT,ContextActionDescription as mT,ContextActionResponse as pT}from"@devvit/protos";var Ty=r=>`menuItem.${r}`;function jc(r){return u.menuItems.find((e,t)=>Ty(t)===r)}async function gT(r,e){let t=u.menuItems;if(!t.length)throw new Error("No menu items registered.");return{actions:t.map((n,o)=>mT.fromPartial({actionId:Ty(o),name:n.label,description:n.description,contexts:{subreddit:n.location.includes("subreddit"),post:n.location.includes("post"),comment:n.location.includes("comment")},users:{loggedOut:n.forUserType?.includes("loggedOut"),member:n.forUserType?.includes("member"),moderator:n.forUserType?.includes("moderator")},postFilters:n.postFilter==="currentApp"?{currentApp:!0}:void 0}))}}async function fT(r,e){let t=jc(r.actionId);if(!t)throw new Error(`MenuItem ${r.actionId} not found`);let i=r.comment?.id&&`t1_${r.comment.id}`,n=r.post?.id&&`t3_${r.post.id}`,o=r.subreddit?.id&&`t5_${r.subreddit.id}`,a=i||n||o;f(a,"targetId is missing from ContextActionRequest");let c={targetId:a,location:r.comment?"comment":r.post?"post":"subreddit"},p=Object.assign(Me({ui:!0,metadata:e}),ae(e,n,i),{uiEnvironment:{timezone:e[B.Timezone]?.values[0],locale:e[B.Language]?.values[0]}});return await t.onPress(c,p),pT.fromPartial({effects:ni(p.ui)})}function Ey(r){r.provides(cT),M("GetActions",gT),M("OnAction",fT)}function st(r){return r?r===!0?!0:r.enabled:!1}import{SchedulerHandlerDefinition as hT}from"@devvit/protos";async function vT(r,e){let t=r.type,i=u.scheduledJobHandlers.get(t);if(!i)throw new Error(`Job ${t} not found`);let n={name:t,data:r.data},o=Object.assign(Me({metadata:e}),ae(e));await i(n,o)}function Ry(r){r.provides(hT),M("HandleScheduledAction",vT)}import{HandlerResult as yT,OnAppInstallDefinition as bT,OnAppUpgradeDefinition as kT,OnCommentCreateDefinition as PT,OnCommentDeleteDefinition as ST,OnCommentReportDefinition as CT,OnCommentSubmitDefinition as IT,OnCommentUpdateDefinition as wT,OnModActionDefinition as AT,OnModMailDefinition as xT,OnPostCreateDefinition as TT,OnPostDeleteDefinition as ET,OnPostFlairUpdateDefinition as RT,OnPostReportDefinition as OT,OnPostSubmitDefinition as FT,OnPostUpdateDefinition as MT}from"@devvit/protos";var Pd;(function(r){function e(o,a){return o.length<=a?o:`${o.slice(0,a-1)}\u2026`}r.ellipsize=e;function t(o){return o[0]==null?o:`${o[0].toLocaleUpperCase()}${o.slice(1)}`}r.capitalize=t;function i(o){return o==null||/^\s*$/.test(o)}r.isBlank=i;function n(o){return o instanceof Error?`${o.stack||o.message||o.name}`:String(o)}r.caughtToString=n})(Pd||(Pd={}));function ie(r,e){return f(e),async(t,i)=>{let n={...t,type:r},o=Object.assign(Me({metadata:i}),ae(i)),a=await Promise.allSettled(e.map(p=>p(n,o))),c=UT(a);if(c)throw c.err;return yT.fromPartial({})}}function Oy(r){for(let e of u.triggerOnEventHandlers.keys())switch(e){case"PostSubmit":r.provides(FT),M("OnPostSubmit",ie("PostSubmit",u.triggerOnEventHandlers.get(e)));break;case"PostCreate":r.provides(TT),M("OnPostCreate",ie("PostCreate",u.triggerOnEventHandlers.get(e)));break;case"PostUpdate":r.provides(MT),M("OnPostUpdate",ie("PostUpdate",u.triggerOnEventHandlers.get(e)));break;case"PostReport":r.provides(OT),M("OnPostReport",ie("PostReport",u.triggerOnEventHandlers.get(e)));break;case"PostDelete":r.provides(ET),M("OnPostDelete",ie("PostDelete",u.triggerOnEventHandlers.get(e)));break;case"PostFlairUpdate":r.provides(RT),M("OnPostFlairUpdate",ie("PostFlairUpdate",u.triggerOnEventHandlers.get(e)));break;case"CommentSubmit":r.provides(IT),M("OnCommentSubmit",ie("CommentSubmit",u.triggerOnEventHandlers.get(e)));break;case"CommentCreate":r.provides(PT),M("OnCommentCreate",ie("CommentCreate",u.triggerOnEventHandlers.get(e)));break;case"CommentUpdate":r.provides(wT),M("OnCommentUpdate",ie("CommentUpdate",u.triggerOnEventHandlers.get(e)));break;case"CommentReport":r.provides(CT),M("OnCommentReport",ie("CommentReport",u.triggerOnEventHandlers.get(e)));break;case"CommentDelete":r.provides(ST),M("OnCommentDelete",ie("CommentDelete",u.triggerOnEventHandlers.get(e)));break;case"AppInstall":r.provides(bT),M("OnAppInstall",ie("AppInstall",u.triggerOnEventHandlers.get(e)));break;case"AppUpgrade":r.provides(kT),M("OnAppUpgrade",ie("AppUpgrade",u.triggerOnEventHandlers.get(e)));break;case"ModAction":r.provides(AT),M("OnModAction",ie("ModAction",u.triggerOnEventHandlers.get(e)));break;case"ModMail":r.provides(xT),M("OnModMail",ie("ModMail",u.triggerOnEventHandlers.get(e)));break;default:throw new Error(`Unknown trigger event: ${e}`)}}function UT(r){let e=r.reduce((t,i)=>i.status==="rejected"?[...t,i.reason]:t,[]);if(e.length!==0)return e.length===1?{err:e[0]}:{err:new Error(e.map(t=>Pd.caughtToString(t)).join(`
3
+ `))}}var Ib=Ar(Wy(),1),wb=Ar(Md(),1);import{EffectType as MR,UIEventHandlerDefinition as UR}from"@devvit/protos";async function BR(r,e){let t=r.state??{},i=(0,Ib.default)(t),n=Me({ui:!0,metadata:e});if(r.event?.formSubmitted&&r.event.formSubmitted.formId){let p=r.event.formSubmitted.formId;if(p.includes("form.hook.")&&u.customPostType){let k=new nt((C,I)=>u.customPostType?.render(I)??null,r.event,r.state,e,void 0);return await k.reconcile(),{state:k.state,effects:k.getEffects()}}let g=u.formDefinitions.get(p);if(!g)throw new Error(`Form with key ${p} not found`);let v,m;if(i.__contextAction){let{actionId:k,thingId:C}=i.__contextAction,I=jc(k);I?.location==="post"?v=C:I?.location==="comment"&&(m=C)}let y=Object.assign(n,ae(e,v,m),{uiEnvironment:{timezone:e[B.Timezone]?.values[0],locale:e[B.Language]?.values[0]}});await g.onSubmit({values:bt(r.event.formSubmitted.results)},y)}else if(r.event?.realtimeEvent){if(u.customPostType){let p=new nt((g,v)=>u.customPostType?.render(v)??null,r.event,r.state,e,void 0);return await p.reconcile(),{state:p.state,effects:p.getEffects()}}}else if(r.event?.toastAction)throw new Error("Toast actions not yet implemented");let o=!(0,wb.default)(t,i),a=ni(n.ui),c=o?[...a,{type:MR.EFFECT_RERENDER_UI,rerenderUi:{delaySeconds:0}}]:a;return{state:i,effects:c}}function Ab(r){r.provides(UR),M("HandleUIEvent",BR)}import{CustomPostDefinition as Db}from"@devvit/protos";var Dd=Ar(Md(),1);import{EffectType as nm,Form as _R,ToastAppearance as Tb}from"@devvit/protos";var rm=class{constructor(e,t,i){this.state=null;this.hookId=e.hookId,this.form=t,this.onSubmit=i,this.onUIEvent=async n=>{n.formSubmitted&&await i(bt(n.formSubmitted.results))}}};function im(r,e){let t=Be({namespace:"useForm"},i=>new rm(i,r,e));return LR({id:t.hookId})}function LR(r){return`form.hook.${r.id}.0`}function DR(r){return{id:r.match(/form\.hook\.(.+)\.0/)[1]}}function xb(r,e){let t=DR(e);return r.getHook(t)}var xt,Ud=class{constructor(e){l(this,xt,void 0);d(this,xt,e)}showForm(e,t){let i=xb(s(this,xt),e);if(!i)throw new Error("Form does not exist. Make sure you have added it using useForm.");let n=i.form instanceof Function?i.form(t??{}):i.form,o=_R.fromPartial({id:e,title:n.title,acceptLabel:n.acceptLabel,cancelLabel:n.cancelLabel,shortDescription:n.description});Qt(n.fields),o.fields=it(n.fields),s(this,xt).emitEffect(e,{type:nm.EFFECT_SHOW_FORM,showForm:{form:o}})}showToast(e){let t;e instanceof Object?t={text:e.text,appearance:e.appearance==="success"?Tb.SUCCESS:Tb.NEUTRAL}:t={text:e},s(this,xt).emitEffect(e.toString(),{type:nm.EFFECT_SHOW_TOAST,showToast:{toast:t}})}navigateTo(e){let t;typeof e=="string"?t=new URL(e).toString():t=new URL(e.permalink,"https://www.reddit.com").toString(),s(this,xt).emitEffect(t,{type:nm.EFFECT_NAVIGATE_TO_URL,navigateToUrl:{url:t}})}};xt=new WeakMap;import{RealtimeSubscriptionStatus as Eb}from"@devvit/protos";var us,Tt,lr,sm=class{constructor(e,t){l(this,us,void 0);l(this,Tt,void 0);l(this,lr,void 0);d(this,us,t.context),d(this,lr,e),d(this,Tt,t.invalidate);let i=t.context.meta[B.App]?.values[0];if(!i)throw Error("useChannel() missing app ID metadata");let n=t.context.meta[B.Installation]?.values[0];if(!n)throw Error("useChannel() missing install ID from metadata");this.state={channel:`${i}:${n}:${e.name}`,connected:!1,subscribed:!1}}async onUIEvent(e){let t=e.realtimeEvent;if(!(!t||!this.state.subscribed))switch(t.status){case Eb.REALTIME_SUBSCRIBED:this.state.connected=!0,s(this,Tt).call(this),await s(this,lr).onSubscribed?.();break;case Eb.REALTIME_UNSUBSCRIBED:this.state.connected=!1,s(this,Tt).call(this),await s(this,lr).onUnsubscribed?.();break;default:s(this,lr).onMessage(t.event?.data??{});break}}async send(e){if(!this.state.subscribed||!this.state.connected)throw Error(`send failed; ${this.state.channel} channel not connected`);await s(this,us).devvitContext.realtime.send(this.state.channel,e)}get status(){return this.state.subscribed&&this.state.connected?2:this.state.subscribed&&!this.state.connected?1:!this.state.subscribed&&this.state.connected?3:4}subscribe(){this.state.subscribed||(this.state.subscribed=!0,s(this,Tt).call(this))}unsubscribe(){this.state.subscribed&&(this.state.subscribed=!1,s(this,Tt).call(this))}};us=new WeakMap,Tt=new WeakMap,lr=new WeakMap;function Rb(r){return Be({namespace:"useChannel"},e=>new sm(r,e))}import{EffectType as om}from"@devvit/protos";var mi,ci=class ci{constructor(e,t){l(this,mi,void 0);this._segments=[];this._hooks={};this._prevHookId="";this._effects={};this._changed={};this._requeueEvents=[];this._rootProps={};this._generated={};this._undeliveredHandlers={};this.request=e,this.meta=t,d(this,mi,e.state??{}),this._rootProps=e.props??{}}get devvitContext(){if(!this._devvitContext)throw new Error("Devvit context not available");return this._devvitContext}set devvitContext(e){this._devvitContext=e}get _changedState(){let e={};for(let t in this._changed)e[t]=this._state[t];return e}get _state(){return s(this,mi)}set _state(e){this._changed={},d(this,mi,e)}push(e){this._segments.push({...e,next:0})}pop(){this._segments.pop()}addUndeliveredEventHandler(e,t){this._undeliveredHandlers[e]=t}addGlobalUndeliveredEventHandler(e,t){ci.addGlobalUndeliveredEventHandler(e,t)}getHook(e){return this._hooks[e.id]}static addGlobalUndeliveredEventHandler(e,t){ci._staticUndeliveredHandlers[e]=t}async handleUndeliveredEvent(e){let t={...ci._staticUndeliveredHandlers,...this._undeliveredHandlers};for(let[i,n]of Object.entries(t))await n(e,this)}emitEffect(e,t){this._effects[e]=t}addToRequeueEvents(...e){console.debug("requeueing events",e);let t=e.reduce((i,n)=>(n.retry?i.retry.push(n):i.normal.push(n),i),{retry:[],normal:[]});this._requeueEvents=[...t.retry,...this._requeueEvents,...t.normal]}get effects(){return Object.values(this._effects)}nextHookId(e){e.key===void 0&&(e.key=this._segments[this._segments.length-1].next+++""),this.push(e);try{let t=[];for(let n=this._segments.length-1;n>=0;n--){let o=this._segments[n];if(o.id){t.unshift(o.id);break}let a=[];o.namespace&&a.push(o.namespace),o.key!==void 0&&o.key!==!1&&a.push(o.key),t.unshift(a.join("-"))}let i=t.join(".");if(this._generated[i]&&!e.shared)throw new Error(`Hook id ${i} already used, cannot register another hook with the same id`);return this._generated[i]=!0,this._prevHookId=i,i}finally{this.pop()}}};mi=new WeakMap,ci._staticUndeliveredHandlers={};var pi=ci;var Et={};pi.addGlobalUndeliveredEventHandler("intervals",async(r,e)=>{r.timer&&r.hook&&(delete Et[r.hook],e.emitEffect("timers",{type:om.EFFECT_SET_INTERVALS,interval:{intervals:Et}}))});var Rt,gi,cs,fi,am=class{constructor(e,t,i){l(this,Rt,void 0);l(this,gi,void 0);l(this,cs,void 0);l(this,fi,void 0);this.state={duration:{seconds:0,nanos:0},running:!1};d(this,gi,i.invalidate),d(this,Rt,i.hookId),d(this,cs,e),d(this,fi,i.context);let n=Math.floor(t/1e3),o=t%1e3*1e6;this.state.duration={seconds:n,nanos:o}}onStateLoaded(){this.state.running?Et[s(this,Rt)]={duration:this.state.duration}:delete Et[s(this,Rt)]}async onUIEvent(e){await s(this,cs).call(this)}start(){Et[s(this,Rt)]={duration:this.state.duration},this.state.running=!0,s(this,gi).call(this),s(this,fi).emitEffect("timers",{type:om.EFFECT_SET_INTERVALS,interval:{intervals:Et}})}stop(){delete Et[s(this,Rt)],this.state.running=!1,s(this,gi).call(this),s(this,fi).emitEffect("timers",{type:om.EFFECT_SET_INTERVALS,interval:{intervals:Et}})}};Rt=new WeakMap,gi=new WeakMap,cs=new WeakMap,fi=new WeakMap;function dm(r,e){return Be({namespace:"useInterval"},t=>new am(r,e,t))}var hi=class extends Error{};function um(r){let e=Be({namespace:"useState"},({invalidate:t})=>{let i=r instanceof Function?r():r;if(i instanceof Promise)throw new Error("Cannot use async initializer with context.useState. Please use useAsyncState instead by importing it: import { Devvit, useAsyncState } from '@devvit/public-api';");return{state:i,setter:o=>{e.state=o instanceof Function?o(e.state):o,t()}}});return[e.state,e.setter]}var ur,ms,ps,vi,lm=class{constructor(e,t){this.state={value:null,loading:!1};l(this,ur,void 0);l(this,ms,void 0);l(this,ps,void 0);l(this,vi,void 0);d(this,ps,e),d(this,vi,t.hookId),d(this,ur,t.invalidate),d(this,ms,t.context)}async onUIEvent(){this.state.value===null&&(this.state.value=await s(this,ps).call(this),this.state.loading=!1,s(this,ur).call(this))}setter(e){this.state.value=e instanceof Function?e(this.state.value):e,s(this,ur).call(this)}onStateLoaded(){if(this.state.value===null){this.state.loading=!0,s(this,ur).call(this);let e={asyncRequest:{requestId:s(this,vi)},hook:s(this,vi)};throw s(this,ms).addToRequeueEvents(e),new hi}}};ur=new WeakMap,ms=new WeakMap,ps=new WeakMap,vi=new WeakMap;function NR(r){let e=Be({namespace:"useAsyncState"},t=>new lm(r,t));return[e.state.value,e.setter.bind(e)]}var qR=new Proxy({},{get:function(r,e,t){throw new Error(`Unimplemented API: ${String(e)}`)}}),Bd=class{buildContext(e,t,i){let n=new $r(i),o=new Vr(i),a=new Yr(i),c=new Xr(i),p=new Qr(i),g=new ei(i),v=new Ud(e),m=new Jr(i),y=new zr(i,()=>u.assetsPlugin),k=new ii(i),I={modLog:n,kvStore:o,redis:a,reddit:c,scheduler:p,settings:g,media:m,assets:y,realtime:k,ui:v,useState:um,useChannel:Rb,useInterval:dm,useForm:im,cache:qR,dimensions:t.env?.dimensions,uiEnvironment:{timezone:i[B.Timezone]?.values[0],locale:i[B.Language]?.values[0],dimensions:t.env?.dimensions}},A=ae(i,t.props?.postId);return A.debug.effects=e,{...A,...I}}};var Fb=Ar(Md(),1);var Ob="ServerCallRequired";var dt,gs,yi,fs,Ld,cr,hs,cm=class{constructor(e,t,i){l(this,dt,void 0);l(this,gs,void 0);l(this,yi,void 0);l(this,fs,void 0);l(this,Ld,void 0);l(this,cr,void 0);l(this,hs,void 0);console.debug("useAsync v1",t),d(this,Ld,t),this.state={data:null,loading:!1,error:null,depends:null},d(this,dt,i.hookId),d(this,gs,e),d(this,yi,i.invalidate),d(this,fs,i.context),d(this,cr,t.depends??null),d(this,hs,t.enabled??!0)}onStateLoaded(){if(s(this,hs)&&(console.debug("async onLoad ",s(this,dt),this.state),console.debug("async onLoad have ",s(this,cr),"and",this.state.depends),!(0,Fb.default)(s(this,cr),this.state.depends)||this.state.data===null&&this.state.error===null&&this.state.loading===!1)){this.state.loading=!0,this.state.depends=s(this,cr),s(this,yi).call(this);let e={hook:s(this,dt),async:!0,asyncRequest:{requestId:s(this,dt)+"-"+JSON.stringify(this.state.depends)}};console.debug("onLoad requeue"),s(this,fs).addToRequeueEvents(e)}}async onUIEvent(e,t){if(e.asyncRequest){let i={requestId:e.asyncRequest.requestId};try{i.data={value:await s(this,gs).call(this)}}catch(o){if(o instanceof Error){if(o.message===Ob)throw o;i.error={message:o.message,details:o.stack??""}}else i.error={message:"Unknown error",details:String(o)}}let n={asyncResponse:i,hook:s(this,dt)};console.debug("onReq requeue"),t.addToRequeueEvents(n)}else if(e.asyncResponse){let i=s(this,dt)+"-"+JSON.stringify(this.state.depends);if(e.asyncResponse.requestId===i){let n={data:e.asyncResponse.data?.value,loading:!1,error:e.asyncResponse.error??null};this.state={...this.state,...n},s(this,yi).call(this)}else console.debug("onResp skip, stale event")}else throw new Error("Unknown event type")}};dt=new WeakMap,gs=new WeakMap,yi=new WeakMap,fs=new WeakMap,Ld=new WeakMap,cr=new WeakMap,hs=new WeakMap;function mm(r,e={}){return Be({namespace:"useAsync"},i=>new cm(r,e,i)).state}var ve=null;function pm(r){return JSON.parse(JSON.stringify(r))}function Be(r,e){if(!ve)throw new Error("Hooks can only be declared at the top of a component. You cannot declare hooks outside of components or inside of event handlers. It's almost always a mistake to declare hooks inside of loops or conditionals.");let t=ve.nextHookId(r),i=ve,n={hookId:t,invalidate:()=>{i._changed[t]=!0,i._state[t]=i?._hooks[t]?.state},context:ve},o=ve._state[t]===void 0;ve._hooks[t]=ve._hooks[t]??e(n);let a=ve._hooks[t];return ve._state[t]!==void 0&&(a.state=ve._state[t]),a.onStateLoaded?.(),o&&a.state!==void 0&&a.state!==null&&n.invalidate(),a}var HR=null,bi,Hd,vs,ki,_d,jd,Mb,ys,gm,Wd,Ub,bs,fm,ks,hm,Pi,Nd,Ps,vm,Gd,Bb,zd,Lb,qd=class{constructor(e){l(this,ki);l(this,jd);l(this,ys);l(this,Wd);l(this,bs);l(this,ks);l(this,Pi);l(this,Ps);l(this,Gd);l(this,zd);l(this,bi,void 0);l(this,Hd,new Bd);l(this,vs,new ai);this._latestRenderContext=null;console.log("BlocksHandler v1"),d(this,bi,e),HR=this}async handle(e,t){let i=new pi(e,t),n=s(this,Hd).buildContext(i,e,t);i.devvitContext=n;let o,a=e.events,p=!e.events?.length||a.some(k=>!k.async),g=a.some(k=>k.blocking),v,m,y=[...a];for(console.debug("starting processing events");a.length>0;){console.debug("processing events loop iteration",a.length);let k=[];if(!a[0].async)k.push(a.shift());else for(;a[0]?.async;)k.push(a.shift());if(!k.length)throw Error("batch must have at least one event");try{if(k[0].async){let I=pm(i._state);await b(this,jd,Mb).call(this,i,...k),i._state=I}else await b(this,Wd,Ub).call(this,i,...k)}catch(I){if(console.debug("caught in handler",I),m){i._state=m._state,i._changed=v,i._effects=m._effects;let A=y.map(U=>{let le={...U};return le.retry=!0,le});i.addToRequeueEvents(...A);break}else throw I}console.debug("remaining events",i._requeueEvents);let C=[];for(let I of i._requeueEvents){if(!p&&!I.async){console.debug("NOT reprocessing event in BlocksHandler, sync mismatch A",I),C.push(I);continue}if(p&&I.async&&!g){console.debug("NOT reprocessing event in BlocksHandler, sync mismatch B",I),C.push(I);continue}console.debug("reprocessing event in BlocksHandler",I),a.push(I)}i._requeueEvents=C,a.length>0&&(v={...i._changed},m={_state:pm(i._state),_effects:{...i._effects}},y=[...a])}if(p){let k=pm(i._state),C=[...i._requeueEvents],I={...i._effects},A=b(this,bs,fm).call(this,s(this,bi),i._rootProps??{},i);(0,Dd.default)(i._state,k)||console.error("State was mutated during rendering",i._state,k),(0,Dd.default)(i._requeueEvents,C)||console.error("Events were mutated during rendering",i._requeueEvents,C),(0,Dd.default)(i._effects,I)||console.error("Effects were mutated during rendering",i._effects,I),A&&(o=await s(this,vs).createBlocksElementOrThrow(A),o=await s(this,vs).ensureRootBlock(o))}return{state:i._changedState,effects:i.effects,blocks:o,events:i._requeueEvents}}};bi=new WeakMap,Hd=new WeakMap,vs=new WeakMap,ki=new WeakSet,_d=function(e,...t){e._hooks={},b(this,bs,fm).call(this,s(this,bi),e.request.props??{},e)},jd=new WeakSet,Mb=async function(e,...t){b(this,ki,_d).call(this,e,...t),await Promise.all(t.map(async i=>{if(!i.async)throw new Error("You can't mix main and other queues in one batch. This is likely a platform bug. Please file an issue in the Discord for someone to help! https://discord.com/channels/1050224141732687912/1115441897079574620");await b(this,ys,gm).call(this,e,i)}))},ys=new WeakSet,gm=async function(e,t){let i=e._hooks[t.hook];if(i?.onUIEvent)try{await i.onUIEvent(t,e)}catch(n){throw console.error("Error in event handler",n),n}else await e.handleUndeliveredEvent(t)},Wd=new WeakSet,Ub=async function(e,...t){for(let i of t)console.log("handling main queue event",i),console.log("before",e._state),b(this,ki,_d).call(this,e,i),await b(this,ys,gm).call(this,e,i),console.log("after",e._state);b(this,ki,_d).call(this,e)},bs=new WeakSet,fm=function(e,t,i){console.debug("renderRoot"),i._generated={},ve=i,this._latestRenderContext=i;try{let n=b(this,ks,hm).call(this,e,t,i);if(n.length!==1)throw new Error("only one root");let o=n[0];if(typeof o=="string")throw new Error("There must be a root tag. Try wrapping your app in a <text></text>, <vstack> or other tag.");return o}catch(n){if(n instanceof hi)return;throw n}finally{ve=null}},ks=new WeakSet,hm=function(e,t,i){i.push({namespace:e.name,...t});try{let n=e(t,i.devvitContext);return b(this,Ps,vm).call(this,n,i)}finally{i.pop()}},Pi=new WeakSet,Nd=function(e,t){return e=e.flat(1/0),e.flatMap((i,n)=>(i&&typeof i=="object"&&"props"in i&&(i.props?.key||(i.props=i.props??{},i.props.key=`${n}`)),b(this,Ps,vm).call(this,i,t)))},Ps=new WeakSet,vm=function(e,t){if(Array.isArray(e))return b(this,Pi,Nd).call(this,e,t);if(jR(e)){if(e.type===void 0)return b(this,Pi,Nd).call(this,e.children,t);if(typeof e.type=="function"){let i={...e.props,children:e.children};return b(this,ks,hm).call(this,e.type,i,t)}else{t.push({namespace:e.type,...e.props});let i=b(this,Pi,Nd).call(this,e.children,t),n=b(this,Gd,Bb).call(this,e.props??{});return t.pop(),[{type:e.type,children:i,props:n}]}}else return[(e??"").toString()]},Gd=new WeakSet,Bb=function(e){let t={};for(let i in e)if(typeof e[i]=="function"){let n=Be({namespace:i,key:!1},({hookId:o})=>({hookId:o,state:null,onUIEvent:e[i]}));t[i]=n.hookId,"captureHookRef"in e[i]&&e[i].captureHookRef()}else{let n=e[i];n!=null&&(t[i]=i==="url"?b(this,zd,Lb).call(this,n):n)}return t},zd=new WeakSet,Lb=function(e){let t=globalThis.devvit?.config?.assets?.[e];if(t)return t;if(sy(e)||xc(e))return e;let{data:i,loading:n}=mm(async()=>await this._latestRenderContext?.devvitContext.assets.getURL(e)??null);return n?"":i??"[missing]"};function jR(r){return typeof r=="object"&&r!=null&&"type"in r}var WR=[[Db,Db.methods.renderPostContent,(r,e)=>u.customPostType?.render(e)??null]];function GR(r){return async(e,t)=>new qd(r).handle(e,t)}function _b(r){for(let[e,t,i]of WR)r.provides(e),M(t.name,GR(i))}var Ss,Si,mr,pr,gr,Ci,Ii,Ot,fr,L,N,G,_=class _ extends ed{static configure(e){d(this,Ss,e),st(e.http)&&b(this,N,G).call(this,S.HTTPDefinition),(st(e.kvStore)||st(e.redis))&&(b(this,N,G).call(this,S.KVStoreDefinition),b(this,N,G).call(this,S.RedisAPIDefinition)),st(e.media)&&b(this,N,G).call(this,S.MediaServiceDefinition),st(e.modLog)&&b(this,N,G).call(this,S.ModlogDefinition),st(e.redditAPI)&&(b(this,N,G).call(this,S.FlairDefinition),b(this,N,G).call(this,S.GraphQLDefinition),b(this,N,G).call(this,S.LinksAndCommentsDefinition),b(this,N,G).call(this,S.ListingsDefinition),b(this,N,G).call(this,S.ModerationDefinition),b(this,N,G).call(this,S.ModNoteDefinition),b(this,N,G).call(this,S.NewModmailDefinition),b(this,N,G).call(this,S.PrivateMessagesDefinition),b(this,N,G).call(this,S.SubredditsDefinition),b(this,N,G).call(this,S.PostCollectionsDefinition),b(this,N,G).call(this,S.UsersDefinition),b(this,N,G).call(this,S.WidgetsDefinition),b(this,N,G).call(this,S.WikiDefinition),b(this,N,G).call(this,S.RedditAPIV2Definition)),st(e.realtime)&&b(this,N,G).call(this,S.RealtimeDefinition)}static addMenuItem(e){s(this,Si).push(e)}static addCustomPostType(e){d(this,mr,e)}static createForm(e,t){let i=`form.${s(this,pr).size}`;return s(this,pr).set(i,{form:e,onSubmit:t}),i}static addSchedulerJob(e){if(s(this,L)[S.SchedulerDefinition.fullName]||b(this,N,G).call(this,S.SchedulerDefinition),s(this,gr).has(e.name))throw new Error(`Job ${e.name} is already defined`);s(this,gr).set(e.name,e.onRun)}static addSettings(e){Qt(e);let t=e.filter(n=>n.type==="group"||!n.scope||n.scope==="installation"),i=e.filter(n=>n.type!=="group"&&n.scope==="app");t.length>0&&d(this,Ci,t),i.length>0&&d(this,Ii,i),s(this,L)[S.SettingsDefinition.fullName]||b(this,N,G).call(this,S.SettingsDefinition)}static addTrigger(e){if("events"in e){for(let t of e.events)this.addTrigger({event:t,onEvent:(i,n)=>e.onEvent(i,n)});return this}return s(this,Ot).has(e.event)?s(this,Ot).get(e.event)?.push(e.onEvent):s(this,Ot).set(e.event,[e.onEvent]),_}static get redditAPIPlugins(){if(!st(s(this,Ss).redditAPI))throw new Error("Reddit API is not enabled. You can enable it by passing `redditAPI: true` to `Devvit.configure`.");return{Flair:s(this,L)[S.FlairDefinition.fullName],GraphQL:s(this,L)[S.GraphQLDefinition.fullName],LinksAndComments:s(this,L)[S.LinksAndCommentsDefinition.fullName],Listings:s(this,L)[S.ListingsDefinition.fullName],Moderation:s(this,L)[S.ModerationDefinition.fullName],ModNote:s(this,L)[S.ModNoteDefinition.fullName],NewModmail:s(this,L)[S.NewModmailDefinition.fullName],PrivateMessages:s(this,L)[S.PrivateMessagesDefinition.fullName],Subreddits:s(this,L)[S.SubredditsDefinition.fullName],PostCollections:s(this,L)[S.PostCollectionsDefinition.fullName],Users:s(this,L)[S.UsersDefinition.fullName],Widgets:s(this,L)[S.WidgetsDefinition.fullName],Wiki:s(this,L)[S.WikiDefinition.fullName]}}static get modLogPlugin(){let e=s(this,L)[S.ModlogDefinition.fullName];if(!e)throw new Error("ModLog is not enabled. You can enable it by passing `modLog: true` to `Devvit.configure`");return e}static get schedulerPlugin(){let e=s(this,L)[S.SchedulerDefinition.fullName];if(!e)throw new Error("Scheduler is not enabled. You can enable it by calling `Devvit.addSchedulerJob` at the top level of your app.");return e}static get kvStorePlugin(){let e=s(this,L)[S.KVStoreDefinition.fullName];if(!e)throw new Error("Key Value Store is not enabled. You can enable it by passing `kvStore: true` to `Devvit.configure`");return e}static get redisPlugin(){let e=s(this,L)[S.RedisAPIDefinition.fullName];if(!e)throw new Error("Redis is not enabled. You can enable it by passing `redis: true` to `Devvit.configure`");return e}static get mediaPlugin(){let e=s(this,L)[S.MediaServiceDefinition.fullName];if(!e)throw new Error("MediaService is not enabled. You can enable it by passing `media: true` to `Devvit.configure`");return e}static get redditapiv2Plugin(){let e=s(this,L)[S.RedditAPIV2Definition.fullName];if(!e)throw new Error("RedditAPIV2 is not enabled. You can enable it by passing `apiV2: true` to `Devvit.configure`");return e}static get assetsPlugin(){let e=s(this,L)[S.AssetResolverDefinition.fullName];if(!e)throw new Error("AssetsService is not available. This should not happen, and indicates a setup problem with the runtime.");return e}static get settingsPlugin(){let e=s(this,L)[S.SettingsDefinition.fullName];if(!e)throw new Error("Settings is not enabled. You can enable it by passing `settings: true` to `Devvit.configure`");return e}static get realtimePlugin(){let e=s(this,L)[S.RealtimeDefinition.fullName];if(!e)throw new Error("Realtime is not enabled. You can enable it by passing `realtime: true` to `Devvit.configure`");return e}static get menuItems(){return s(this,Si)}static get customPostType(){return s(this,mr)}static get formDefinitions(){return s(this,pr)}static get scheduledJobHandlers(){return s(this,gr)}static get installationSettings(){return s(this,Ci)}static get appSettings(){return s(this,Ii)}static get triggerOnEventHandlers(){return s(this,Ot)}constructor(e){var t;super(e),b(t=_,N,G).call(t,S.AssetResolverDefinition);for(let i in s(_,fr)){let n=s(_,fr)[i];n.handler=e.use(n.def,n.options)}s(_,Si).length>0&&Ey(e),s(_,gr).size>0&&Ry(e),s(_,mr)&&(Ay(e),_b(e)),(s(_,mr)||s(_,pr).size>0)&&Ab(e),s(_,Ci)&&xy(e),s(_,Ii)&&iy(e),s(_,Ot).size>0&&Oy(e)}};Ss=new WeakMap,Si=new WeakMap,mr=new WeakMap,pr=new WeakMap,gr=new WeakMap,Ci=new WeakMap,Ii=new WeakMap,Ot=new WeakMap,fr=new WeakMap,L=new WeakMap,N=new WeakSet,G=function(e,t){s(this,fr)[e.fullName]={def:e,options:t??{},handler:void 0};let i={};for(let n of Object.values(e.methods))i[n.name]=(o,a)=>s(this,fr)[e.fullName].handler?.[n.name]?.(n.requestType?.fromPartial(o??{}),a);return s(this,L)[e.fullName]=i,i},l(_,N),_.debug={emitSnapshots:!1,emitState:!1},l(_,Ss,{}),l(_,Si,[]),l(_,mr,void 0),l(_,pr,new Map),l(_,gr,new Map),l(_,Ci,void 0),l(_,Ii,void 0),l(_,Ot,new Map),l(_,fr,{}),l(_,L,{});var u=_;(e=>{function r(t,i,...n){return{type:t,props:i,children:n}}e.createElement=r})(u||(u={}));function J(r){let e=Object.getOwnPropertyDescriptors(r.constructor.prototype);for(let[t,i]of Object.entries(e))i.get&&Object.defineProperty(r,t,{...i,enumerable:!0})}var ym;(function(r){r[r.bold=1]="bold",r[r.italic=2]="italic",r[r.underline=4]="underline",r[r.strikethrough=8]="strikethrough",r[r.subscript=16]="subscript",r[r.superscript=32]="superscript",r[r.monospace=64]="monospace"})(ym||(ym={}));var Nb="text",qb="raw",Hb="br",jb="link",Wb="c/",Gb="p/",zb="r/",Vb="u/",Jb="@",$b="spoilertext",Kb="par",Xb="h",Zb="hr",Yb="blockquote",Qb="code",ek="li",tk="list",rk="L",ik="R",nk="C",sk="table",ok="embed",ak="img",dk="gif",lk="video";function uk(r){return{e:dk,id:r.mediaId,...r.caption&&{c:r.caption},...r.blur&&{o:r.blur}}}function ck(r,e){let t={},i=[];return Object.assign(t,Cs(t,i),Is(t,i),ws(t,i),Ts(t,i),Es(t,i),Rs(t,i)),e(t),{e:Yb,c:i,...r.author&&{a:r.author}}}function mk(r,e){let t={},i=[];return Object.assign(t,km(t,i)),e(t),{e:Qb,c:i,...r.language&&{l:r.language}}}function pk(r){return{e:Wb,t:r.permalink}}function gk(r,e){let t={},i=[];return Object.assign(t,km(t,i),xs(t,i)),e(t),{e:Xb,l:r.level,c:i}}function fk(r){return{e:ok,u:r.sourceUrl,c:r.contentUrl,x:r.width,y:r.height}}function hk(){return{e:Zb}}function vk(r){return{e:ak,id:r.mediaId,...r.caption&&{c:r.caption},...r.blur&&{o:r.blur}}}function yk(){return{e:Hb}}function bk(r){return{e:jb,t:r.text,u:r.url,...r.formatting&&{f:r.formatting},...r.tooltip&&{a:r.tooltip}}}function kk(r,e){let t={},i=[];return Object.assign(t,Lk(t,i)),e(t),{e:tk,o:r.ordered,c:i}}function Pk(r){let e={},t=[];return Object.assign(e,Cs(e,t),Is(e,t),ws(e,t),Vd(e,t),Ts(e,t),Es(e,t),Rs(e,t)),r(e),{e:ek,c:t}}function Sk(r){let e={},t=[];return Object.assign(e,Jd(e,t),xs(e,t),bm(e,t),Pm(e,t),As(e,t)),r(e),{e:Kb,c:t}}function Ck(r){return{e:Gb,t:r.permalink}}function Ik(r){return{e:qb,t:r}}function wk(r){let e={},t=[];return Object.assign(e,Jd(e,t),xs(e,t),bm(e,t)),r(e),{e:$b,c:t}}function Ak(r){return{e:zb,t:r.subredditName,l:r.showPrefix}}function xk(r){let e={},t=[],i=[];return Object.assign(e,Dk(e,t,i)),r(e),{e:sk,h:t,c:i}}function Tk(r){let[e,t]=Bk();return r(e),{c:t}}function Ek(r,e){let[t,i]=Bk();e(t);let n;switch(r.columnAlignment){case"left":n=rk;break;case"right":n=ik;break;case"center":n=nk;break}return{...n&&{a:n},...i&&{c:i}}}function Rk(r){let e={},t=[];return Object.assign(e,_k(e,t)),r(e),t}function Ok(r){return{e:Nb,t:r.text,...r.formatting&&{f:r.formatting}}}function Fk(r){return{e:Vb,t:r.username,l:r.showPrefix}}function Mk(r){return{e:Jb,t:r.username,l:r.showPrefix}}function Uk(r){return{e:lk,id:r.mediaId,...r.caption&&{c:r.caption},...r.blur&&{o:r.blur},...r.thumbnail&&{p:r.thumbnail},...r.convertToGif&&{gifify:r.convertToGif}}}function Bk(){let r={},e=[];return Object.assign(r,Jd(r,e),xs(r,e),Pm(r,e),As(r,e)),[r,e]}function Cs(r,e){return{blockQuote(t,i){return e.push(ck(t,i)),r}}}function Is(r,e){return{codeBlock(t,i){return e.push(mk(t,i)),r}}}function Nk(r,e){return{embed(t){return e.push(fk(t)),r}}}function ws(r,e){return{heading(t,i){return e.push(gk(t,i)),r}}}function Vd(r,e){return{horizontalRule(){return e.push(hk()),r}}}function As(r,e){return{image(t){return e.push(vk(t)),r},animatedImage(t){return e.push(uk(t)),r}}}function bm(r,e){return{linebreak(){return e.push(yk()),r}}}function xs(r,e){return{link(t){return e.push(bk(t)),r},commentLink(t){return e.push(pk(t)),r},postLink(t){return e.push(Ck(t)),r},subredditLink(t){return e.push(Ak(t)),r},userLink(t){return e.push(Fk(t)),r},userMention(t){return e.push(Mk(t)),r}}}function Ts(r,e){return{list(t,i){return e.push(kk(t,i)),r}}}function Lk(r,e){return{item(t){return e.push(Pk(t)),r}}}function Es(r,e){return{paragraph(t){return e.push(Sk(t)),r}}}function km(r,e){return{rawText(t){return e.push(Ik(t)),r}}}function Pm(r,e){return{spoiler(t){return e.push(wk(t)),r}}}function Dk(r,e,t){return{headerCell(i,n){return e.push(Ek(i,n)),r},row(i){return t.push(Rk(i)),r}}}function Rs(r,e){return{table(t){return e.push(xk(t)),r}}}function _k(r,e){return{cell(t){return e.push(Tk(t)),r}}}function Jd(r,e){return{text(t){return e.push(Ok(t)),r}}}function qk(r,e){return{video(t){return e.push(Uk(t)),r}}}var zR=function(r,e,t,i,n){if(i==="m")throw new TypeError("Private method is not writable");if(i==="a"&&!n)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?r!==e||!n:!e.has(r))throw new TypeError("Cannot write private member to an object whose class did not declare it");return i==="a"?n.call(r,t):n?n.value=t:e.set(r,t),t},VR=function(r,e,t,i){if(t==="a"&&!i)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?r!==e||!i:!e.has(r))throw new TypeError("Cannot read private member from an object whose class did not declare it");return t==="m"?i:t==="a"?i.call(r):i?i.value:e.get(r)},$d,Os=class{constructor(){$d.set(this,void 0);let e=[];Object.assign(this,Es(this,e),ws(this,e),Vd(this,e),Cs(this,e),Is(this,e),Nk(this,e),Ts(this,e),Rs(this,e),As(this,e),qk(this,e)),zR(this,$d,{document:e},"f")}build(){return JSON.stringify(VR(this,$d,"f"))}paragraph(e){return this}heading(e,t){return this}horizontalRule(){return this}blockQuote(e,t){return this}codeBlock(e,t){return this}embed(e){return this}list(e,t){return this}table(e){return this}image(e){return this}animatedImage(e){return this}video(e){return this}};$d=new WeakMap;function wi(r){let e;return r instanceof Os?e=r.build():typeof r=="object"?e=JSON.stringify(r):e=r,e}var Hk=100,jk=1/0,hr,vr,Ft,Ai,xi,Kd,j=class{constructor(e){l(this,xi);l(this,hr,void 0);l(this,vr,void 0);l(this,Ft,void 0);l(this,Ai,!1);this.pageSize=Hk;this.limit=jk;this.children=[];J(this),this._fetch=e.fetch,this.pageSize=e.pageSize??Hk,this.limit=e.limit??jk,d(this,vr,e.after),d(this,hr,e.before),d(this,Ft,e.more),e.children&&(this.children=e.children)}get hasMore(){return!s(this,Ai)||!!(s(this,vr)||s(this,hr)||s(this,Ft))}async*[Symbol.asyncIterator](){let e=0;for(;;){if(e===this.children.length)if(this.hasMore){if((await b(this,xi,Kd).call(this)).length===0)break}else break;if(yield this.children[e],e++,e===this.limit)break}}setMore(e){d(this,Ft,e)}preventInitialFetch(){d(this,Ai,!0)}async all(){for(;this.hasMore&&this.children.length<this.limit;)await b(this,xi,Kd).call(this);return this.children.slice(0,this.limit)}async get(e){let t=e<=this.limit?e:this.limit;for(;this.hasMore&&this.children.length<t;)await b(this,xi,Kd).call(this);return this.children.slice(0,t)}};hr=new WeakMap,vr=new WeakMap,Ft=new WeakMap,Ai=new WeakMap,xi=new WeakSet,Kd=async function(){if(!this.hasMore)throw new Error("This listing does not have any more items to load.");let{children:e,before:t,after:i,more:n}=await this._fetch({before:s(this,hr),after:s(this,vr),limit:this.pageSize,more:s(this,Ft)});return this.children.push(...e),d(this,hr,t),d(this,vr,i),d(this,Ft,n),d(this,Ai,!0),e};function JR(r){try{return!0}catch{return!1}}function $R(r){try{return!0}catch{return!1}}var Fs,Sm,Re=class{constructor(){}static get(e,t){let i=u.redditAPIPlugins.ModNote;return new j({hasMore:!0,before:e.before,limit:e.limit,pageSize:e.limit,fetch:async n=>{let o=await i.GetNotes({subreddit:e.subreddit,user:e.user,filter:e.filter,before:n.before,limit:n.limit},t);return{children:o.modNotes?.map(a=>b(this,Fs,Sm).call(this,a))||[],before:o.hasNextPage?o.endCursor:void 0,hasMore:o.hasNextPage}}})}static async delete(e,t){let i=u.redditAPIPlugins.ModNote,{deleted:n}=await i.DeleteNotes(e,t);return!!n}static async add(e,t){let n=await u.redditAPIPlugins.ModNote.PostNotes(e,t);if(!n?.created)throw new Error("Failed to create mod note");return b(this,Fs,Sm).call(this,n.created)}static async addRemovalNote(e,t){await u.redditAPIPlugins.ModNote.PostRemovalNote(e,t)}};Fs=new WeakSet,Sm=function(e){if(f(e.id,"Mod note ID is null or undefined"),f(e.createdAt,"Mod note createdAt is null or undefined"),f(e.type,"Mod note type is null or undefined"),f(e.subreddit,"Mod note subreddit is null or undefined"),f(e.subredditId,"Mod note subredditId is null or undefined"),f(e.operator,"Mod note operator is null or undefined"),f(e.operatorId,"Mod note operatorId is null or undefined"),f(e.user,"Mod note user is null or undefined"),f(e.userId,"Mod note userId is null or undefined"),f(e.userNoteData,"Mod note userNote is null or undefined"),f(e.modActionData,"Mod note modAction is null or undefined"),!JR(e.userNoteData?.label??""))throw new Error(`Invalid user note label: ${e.userNoteData?.label}`);if(!$R(e.type))throw new Error(`Invalid mod note type: ${e.type}`);return{id:e.id,user:{id:te(e.userId??""),name:e.user},subreddit:{id:Te(e.subredditId??""),name:e.subreddit},operator:{id:te(e.operatorId??""),name:e.operator},createdAt:new Date(e.createdAt*1e3),userNote:{note:e.userNoteData?.note,redditId:ge(e.userNoteData?.redditId??""),label:e.userNoteData?.label},type:e.type}},l(Re,Fs);var Ti=class{static queryWithQueryString(e,t){return u.redditAPIPlugins.GraphQL.Query({query:e},t)}static query(e,t,i,n){return u.redditAPIPlugins.GraphQL.PersistedQuery({operationName:e,id:t,variables:i},n)}};var Wk=["all","wiki","posts","access","mail","config","flair","channels","chat_config","chat_community","chat_operator"];function KR(r,e,t=!1){let i=t?"%2b":"+";return e.map(n=>(r.includes(n)?i:"-")+n).join(",")}function Cm(r){return KR(r,Wk,!0)}function Gk(r){return r.filter(e=>Wk.includes(e))}var XR=(t=>(t.User="USER_FLAIR",t.Post="LINK_FLAIR",t))(XR||{}),yr,Ei,Ri,Oi,Fi,Mi,Ui,Bi,Li,Di,_i,Xd,ze=class ze{constructor(e,t,i){l(this,yr,void 0);l(this,Ei,void 0);l(this,Ri,void 0);l(this,Oi,void 0);l(this,Fi,void 0);l(this,Mi,void 0);l(this,Ui,void 0);l(this,Bi,void 0);l(this,Li,void 0);l(this,Di,void 0);J(this),f(e.id),f(e.text),d(this,yr,e.id),d(this,Ei,t),d(this,Ri,e.text),d(this,Oi,ZR(e.textColor)),d(this,Fi,YR(e.backgroundColor)),d(this,Mi,QR(e.allowableContent)),d(this,Ui,e.modOnly),d(this,Bi,e.maxEmojis),d(this,Li,e.textEditable),d(this,Di,i)}get id(){return s(this,yr)}get text(){return s(this,Ri)}get textColor(){return s(this,Oi)}get backgroundColor(){return s(this,Fi)}get allowableContent(){return s(this,Mi)}get modOnly(){return s(this,Ui)}get maxEmojis(){return s(this,Bi)}get allowUserEdits(){return s(this,Li)}async delete(){return ze.deleteFlairTemplate(s(this,yr),s(this,Ei),s(this,Di))}async edit(e){return ze.editFlairTemplate({id:s(this,yr),subredditName:s(this,Ei),text:e.text??s(this,Ri),allowableContent:e.allowableContent??s(this,Mi),backgroundColor:e.backgroundColor??s(this,Fi),maxEmojis:e.maxEmojis??s(this,Bi),modOnly:e.modOnly??s(this,Ui),textColor:e.textColor??s(this,Oi),allowUserEdits:e.allowUserEdits??s(this,Li)},s(this,Di))}static async createPostFlairTemplate(e,t){var i;return b(i=ze,_i,Xd).call(i,{...e,flairType:"LINK_FLAIR"},t)}static async createUserFlairTemplate(e,t){var i;return b(i=ze,_i,Xd).call(i,{...e,flairType:"USER_FLAIR"},t)}static async editFlairTemplate(e,t){var i;return b(i=ze,_i,Xd).call(i,e,t)}static async getPostFlairTemplates(e,t){return(await u.redditAPIPlugins.Flair.LinkFlair({subreddit:e},t)).flair?.map(o=>new ze(o,e,t))||[]}static async getUserFlairTemplates(e,t){return(await u.redditAPIPlugins.Flair.UserFlair({subreddit:e},t)).flair?.map(o=>new ze(o,e,t))||[]}static async deleteFlairTemplate(e,t,i){await u.redditAPIPlugins.Flair.DeleteFlairTemplate({subreddit:e,flairTemplateId:t},i)}};yr=new WeakMap,Ei=new WeakMap,Ri=new WeakMap,Oi=new WeakMap,Fi=new WeakMap,Mi=new WeakMap,Ui=new WeakMap,Bi=new WeakMap,Li=new WeakMap,Di=new WeakMap,_i=new WeakSet,Xd=async function(e,t){let{subredditName:i,allowableContent:n="all",backgroundColor:o="transparent",flairType:a="",maxEmojis:c=10,modOnly:p=!1,text:g,textColor:v="dark",allowUserEdits:m=!1,id:y=""}=e;if(p&&m)throw new Error("Cannot have a mod only flair that is editable by users");let C=await u.redditAPIPlugins.Flair.FlairTemplate({subreddit:i,allowableContent:n,backgroundColor:o,flairType:a,maxEmojis:c,modOnly:p,text:g,textColor:v,textEditable:m,flairTemplateId:y,cssClass:"",overrideCss:!1},t);return new ze(C,i,t)},l(ze,_i);var oe=ze;function Bs(r){return{flairCssClass:r.flairCssClass,user:r.user,flairText:r.flairText}}var Ms,Im,Us,wm,Mt=class Mt{static async getUserFlairBySubreddit(e,t){return u.redditAPIPlugins.Flair.FlairList(e,t)}static setUserFlair(e,t){var i;return b(i=Mt,Ms,Im).call(i,e,t)}static setPostFlair(e,t){var i;return b(i=Mt,Ms,Im).call(i,{...e,postId:pe(e.postId)},t)}static async removePostFlair(e,t,i){var n;return b(n=Mt,Us,wm).call(n,e,t,void 0,i)}static async removeUserFlair(e,t,i){var n;return b(n=Mt,Us,wm).call(n,e,void 0,t,i)}};Ms=new WeakSet,Im=async function(e,t){await u.redditAPIPlugins.Flair.SelectFlair({subreddit:e.subredditName,flairTemplateId:e.flairTemplateId??"",text:e.text??"",name:e.username,link:e.postId,backgroundColor:e.backgroundColor??"",textColor:e.textColor??"dark",cssClass:e.cssClass??"",returnRtjson:"none"},t)},Us=new WeakSet,wm=async function(e,t,i,n){await u.redditAPIPlugins.Flair.SelectFlair({subreddit:e,name:i??"",link:t??"",flairTemplateId:"",backgroundColor:"",text:"",textColor:"",cssClass:"",returnRtjson:"none"},n)},l(Mt,Ms),l(Mt,Us);var Oe=Mt;function ZR(r){if(f(r,"Flair text color is required"),r==="light"||r==="dark")return r;throw new Error(`Invalid flair text color: ${r}`)}function YR(r){if(f(r,"Flair background color is required"),r==="transparent"||/^#([A-Fa-f0-9]{6})$/.test(r))return r;throw new Error(`Invalid flair background color: ${r}`)}function QR(r){if(r==="all"||r==="text"||r==="emoji")return r;throw new Error(`Invalid allowable content: ${r}`)}import{Block as aO}from"@devvit/protos";var $k=Ar(Jk(),1);var Ni,Ds,qi,_s,Ns,qs,Hs,js,Hi,Ws,Gs,zs,Vs,Js,$s,Ut,kr,ji,Bt,Wi,Gi,zi,Pr,Lt,Dt,Vi,_t,Nt,qt,lt,Ks,Xs,Ji,$i,D,q=class q{constructor(e,t){l(this,Ni,void 0);l(this,Ds,void 0);l(this,qi,void 0);l(this,_s,void 0);l(this,Ns,void 0);l(this,qs,void 0);l(this,Hs,void 0);l(this,js,void 0);l(this,Hi,void 0);l(this,Ws,void 0);l(this,Gs,void 0);l(this,zs,void 0);l(this,Vs,void 0);l(this,Js,void 0);l(this,$s,void 0);l(this,Ut,void 0);l(this,kr,void 0);l(this,ji,void 0);l(this,Bt,void 0);l(this,Wi,void 0);l(this,Gi,void 0);l(this,zi,void 0);l(this,Pr,void 0);l(this,Lt,void 0);l(this,Dt,void 0);l(this,Vi,void 0);l(this,_t,void 0);l(this,Nt,void 0);l(this,qt,void 0);l(this,lt,void 0);l(this,Ks,void 0);l(this,Xs,void 0);l(this,Ji,void 0);l(this,$i,void 0);l(this,D,void 0);J(this),f(e.id,"Post is missing id"),f(e.title,"Post is missing title"),f(e.createdUtc,"Post is missing created date"),f(e.author,"Post is missing author name"),f(e.subreddit,"Post is missing subreddit name"),f(e.subredditId,"Post is missing subreddit id"),f(e.url,"Post is missing url"),f(e.permalink,"Post is missing permalink"),d(this,Ni,pe(`t3_${e.id}`)),d(this,qi,e.author),d(this,Ds,e.authorFullname?te(e.authorFullname):void 0),d(this,Ns,Te(e.subredditId)),d(this,qs,e.subreddit),d(this,zs,e.score??0),d(this,Vs,e.numComments??0),d(this,Js,e.numReports??0);let i=new Date(0);i.setUTCSeconds(e.createdUtc),d(this,_s,i),d(this,js,e.title),d(this,Hi,e.selftext),d(this,Ws,e.selftextHtml),d(this,Gs,e.url),d(this,Hs,e.permalink),e.thumbnail&&e.thumbnail!=="self"&&e.thumbnail!=="nsfw"&&e.thumbnailHeight!=null&&e.thumbnailWidth!=null&&d(this,$s,{url:e.thumbnail,height:e.thumbnailHeight,width:e.thumbnailWidth}),d(this,Ut,e.approved??!1),d(this,Bt,e.removed??!1),d(this,Wi,e.removedBy),d(this,Gi,e.removedByCategory),d(this,kr,e.spam??!1),d(this,ji,e.stickied??!1),d(this,zi,e.archived??!1),d(this,Pr,e.edited??!1),d(this,Lt,e.locked??!1),d(this,Dt,e.over18??!1),d(this,Vi,e.quarantine??!1),d(this,_t,e.spoiler),d(this,Nt,e.hidden??!1),d(this,qt,e.ignoreReports??!1),d(this,lt,e.distinguished),d(this,Xs,e.secureMedia),d(this,Ji,(e.modReports??[]).map(([n])=>n)),d(this,$i,(e.userReports??[]).map(([n])=>n)),d(this,D,t),(e.linkFlairBackgroundColor||e.linkFlairCssClass||e.linkFlairText||e.linkFlairType||e.linkFlairTemplateId||e.linkFlairRichtext||e.linkFlairTextColor)&&d(this,Ks,{backgroundColor:e.linkFlairBackgroundColor,cssClass:e.linkFlairCssClass,text:e.linkFlairText,type:e.linkFlairType,templateId:e.linkFlairTemplateId,richtext:(e.linkFlairRichtext??[]).map(({e:n,t:o,a,u:c})=>({elementType:n,text:o,emojiRef:a,url:c})),textColor:e.linkFlairTextColor})}get id(){return s(this,Ni)}get authorId(){return s(this,Ds)}get authorName(){return s(this,qi)}get subredditId(){return s(this,Ns)}get subredditName(){return s(this,qs)}get permalink(){return s(this,Hs)}get title(){return s(this,js)}get body(){return s(this,Hi)}get bodyHtml(){return s(this,Ws)}get url(){return s(this,Gs)}get thumbnail(){return s(this,$s)}get createdAt(){return s(this,_s)}get score(){return s(this,zs)}get numberOfComments(){return s(this,Vs)}get numberOfReports(){return s(this,Js)}get approved(){return s(this,Ut)}get spam(){return s(this,kr)}get stickied(){return s(this,ji)}get removed(){return s(this,Bt)}get removedBy(){return s(this,Wi)}get removedByCategory(){return s(this,Gi)}get archived(){return s(this,zi)}get edited(){return s(this,Pr)}get locked(){return s(this,Lt)}get nsfw(){return s(this,Dt)}get quarantined(){return s(this,Vi)}get spoiler(){return s(this,_t)}get hidden(){return s(this,Nt)}get ignoringReports(){return s(this,qt)}get distinguishedBy(){return s(this,lt)}get comments(){return X.getComments({postId:this.id},s(this,D))}get flair(){return s(this,Ks)}get secureMedia(){return s(this,Xs)}get userReportReasons(){return s(this,$i)}get modReportReasons(){return s(this,Ji)}toJSON(){return{id:this.id,authorId:this.authorId,authorName:this.authorName,subredditId:this.subredditId,subredditName:this.subredditName,permalink:this.permalink,title:this.title,body:this.body,bodyHtml:this.bodyHtml,url:this.url,thumbnail:this.thumbnail,score:this.score,numberOfComments:this.numberOfComments,numberOfReports:this.numberOfReports,createdAt:this.createdAt,approved:this.approved,spam:this.spam,stickied:this.stickied,removed:this.removed,removedBy:s(this,Wi),removedByCategory:s(this,Gi),archived:this.archived,edited:this.edited,locked:this.locked,nsfw:this.nsfw,quarantined:this.quarantined,spoiler:this.spoiler,hidden:this.hidden,ignoringReports:this.ignoringReports,distinguishedBy:this.distinguishedBy,flair:this.flair,secureMedia:this.secureMedia,modReportReasons:s(this,Ji),userReportReasons:s(this,$i)}}isApproved(){return s(this,Ut)}isSpam(){return s(this,kr)}isStickied(){return s(this,ji)}isRemoved(){return s(this,Bt)}isArchived(){return s(this,zi)}isEdited(){return s(this,Pr)}isLocked(){return s(this,Lt)}isNsfw(){return s(this,Dt)}isQuarantined(){return s(this,Vi)}isSpoiler(){return s(this,_t)}isHidden(){return s(this,Nt)}isIgnoringReports(){return s(this,qt)}isDistinguishedBy(){return s(this,lt)}async edit(e){let t=await q.edit({id:this.id,...e},s(this,D));d(this,Hi,t.body),d(this,Pr,t.edited)}async addComment(e){return X.submit({id:this.id,...e},s(this,D))}async delete(){return q.delete(this.id,s(this,D))}async approve(){await q.approve(this.id,s(this,D)),d(this,Ut,!0),d(this,Bt,!1)}async remove(e=!1){await q.remove(this.id,e,s(this,D)),d(this,Bt,!0),d(this,kr,e),d(this,Ut,!1)}async lock(){await q.lock(this.id,s(this,D)),d(this,Lt,!0)}async unlock(){await q.unlock(this.id,s(this,D)),d(this,Lt,!1)}async hide(){await q.hide(this.id,s(this,D)),d(this,Nt,!0)}async unhide(){await q.unhide(this.id,s(this,D)),d(this,Nt,!1)}async markAsNsfw(){await q.markAsNsfw(this.id,s(this,D)),d(this,Dt,!0)}async unmarkAsNsfw(){await q.unmarkAsNsfw(this.id,s(this,D)),d(this,Dt,!1)}async markAsSpoiler(){await q.markAsSpoiler(this.id,s(this,D)),d(this,_t,!0)}async unmarkAsSpoiler(){await q.unmarkAsSpoiler(this.id,s(this,D)),d(this,_t,!1)}async sticky(e){await q.sticky(this.id,e,s(this,D))}async unsticky(){await q.unsticky(this.id,s(this,D))}async distinguish(){let{distinguishedBy:e}=await q.distinguish(this.id,!1,s(this,D));d(this,lt,e)}async distinguishAsAdmin(){let{distinguishedBy:e}=await q.distinguish(this.id,!0,s(this,D));d(this,lt,e)}async undistinguish(){let{distinguishedBy:e}=await q.undistinguish(this.id,s(this,D));d(this,lt,e)}async ignoreReports(){await q.ignoreReports(this.id,s(this,D)),d(this,qt,!0)}async unignoreReports(){await q.unignoreReports(this.id,s(this,D)),d(this,qt,!1)}async getAuthor(){return w.getByUsername(s(this,qi),s(this,D))}async crosspost(e){return q.crosspost({...e,postId:this.id},s(this,D))}addRemovalNote(e){return Re.addRemovalNote({itemIds:[s(this,Ni)],...e},s(this,D))}static async getById(e,t){let i=u.redditAPIPlugins.LinksAndComments,n=Yt(e)?e:`t3_${e}`,o=await i.Info({subreddits:[],thingIds:[n]},t);if(!o.data?.children?.length)throw new Error("could not find post");let a=o.data.children[0];if(!a?.data)throw new Error("could not find post");return new q(a.data,t)}static async submit(e,t){let i=u.redditAPIPlugins.LinksAndComments,n;if("preview"in e){f(t,"Missing metadata in `SubmitPostOptions`");let c=await new nt(()=>e.preview,void 0,{},t,void 0).buildBlocksUI(),p=aO.encode(c).finish();n=await i.Submit({kind:"custom",sr:e.subredditName,richtextJson:(0,$k.fromByteArray)(p),...e},t)}else n=await i.Submit({kind:"kind"in e?e.kind:"url"in e?"link":"self",sr:e.subredditName,richtextJson:"richtext"in e?wi(e.richtext):void 0,...e},t);if("kind"in e&&["image","video","videogif"].includes(e.kind)&&!n.json?.data?.id&&"url"in e)throw new Error(`Post of ${e.kind} type with ${e.url} is being created asynchronously and should be updated in the subreddit soon.`);if(!n.json?.data?.id||n.json?.errors?.length)throw new Error(`failed to submit post - either post ID is empty or request failed with errors: ${n.json?.errors}`);return q.getById(`t3_${n.json.data.id}`,t)}static async crosspost(e,t){let i=u.redditAPIPlugins.LinksAndComments,{postId:n,subredditName:o,...a}=e,c=await i.Submit({kind:"crosspost",sr:o,crosspostFullname:pe(n),...a},t);if(!c.json?.data?.id||c.json?.errors?.length)throw new Error("failed to crosspost post");return q.getById(`t3_${c.json.data.id}`,t)}static async edit(e,t){let i=u.redditAPIPlugins.LinksAndComments,{id:n}=e,o;if("richtext"in e&&(o=wi(e.richtext)),(await i.EditUserText({thingId:n,text:"text"in e?e.text:"",richtextJson:o},t)).json?.errors?.length)throw new Error("Failed to edit post");return q.getById(n,t)}static async delete(e,t){await u.redditAPIPlugins.LinksAndComments.Del({id:e},t)}static async approve(e,t){await u.redditAPIPlugins.Moderation.Approve({id:e},t)}static async remove(e,t=!1,i){await u.redditAPIPlugins.Moderation.Remove({id:e,spam:t},i)}static async hide(e,t){await u.redditAPIPlugins.LinksAndComments.Hide({id:e},t)}static async unhide(e,t){await u.redditAPIPlugins.LinksAndComments.Unhide({id:e},t)}static async markAsNsfw(e,t){await u.redditAPIPlugins.LinksAndComments.MarkNSFW({id:e},t)}static async unmarkAsNsfw(e,t){await u.redditAPIPlugins.LinksAndComments.UnmarkNSFW({id:e},t)}static async markAsSpoiler(e,t){await u.redditAPIPlugins.LinksAndComments.Spoiler({id:e},t)}static async unmarkAsSpoiler(e,t){await u.redditAPIPlugins.LinksAndComments.Unspoiler({id:e},t)}static async sticky(e,t,i){await u.redditAPIPlugins.LinksAndComments.SetSubredditSticky({id:e,state:!0,num:t},i)}static async unsticky(e,t){await u.redditAPIPlugins.LinksAndComments.SetSubredditSticky({id:e,state:!1},t)}static async lock(e,t){await u.redditAPIPlugins.LinksAndComments.Lock({id:e},t)}static async unlock(e,t){await u.redditAPIPlugins.LinksAndComments.Unlock({id:e},t)}static async distinguish(e,t,i){let a=(await u.redditAPIPlugins.Moderation.Distinguish({id:e,how:t?"admin":"yes",sticky:!1},i)).json?.data?.things?.[0]?.data;return f(a),{distinguishedBy:a.distinguished}}static async undistinguish(e,t){let o=(await u.redditAPIPlugins.Moderation.Distinguish({id:e,how:"no",sticky:!1},t)).json?.data?.things?.[0]?.data;return f(o),{distinguishedBy:o.distinguished}}static async ignoreReports(e,t){await u.redditAPIPlugins.Moderation.IgnoreReports({id:e},t)}static async unignoreReports(e,t){await u.redditAPIPlugins.Moderation.UnignoreReports({id:e},t)}static getControversialPosts(e={},t){return this.getSortedPosts({...e,sort:"controversial"},t)}static getTopPosts(e={},t){return this.getSortedPosts({...e,sort:"top"},t)}static getSortedPosts(e,t){let i=u.redditAPIPlugins.Listings;return new j({hasMore:!0,before:e.before,after:e.after,pageSize:e.pageSize,limit:e.limit,fetch:async n=>{let o=await i.Sort({show:"all",sort:e.sort,t:e.timeframe,subreddit:e.subredditName,...n},t);return Ls(o,t)}})}static getHotPosts(e={location:"GLOBAL"},t){let i=u.redditAPIPlugins.Listings;return new j({hasMore:!0,before:e.before,after:e.after,pageSize:e.pageSize,limit:e.limit,fetch:async n=>{let o=await i.Hot({g:e.location,show:"all",subreddit:e.subredditName,...n},t);return Ls(o,t)}})}static getNewPosts(e,t){let i=u.redditAPIPlugins.Listings;return new j({hasMore:!0,before:e.before,after:e.after,pageSize:e.pageSize,limit:e.limit,fetch:async n=>{let o=await i.New({show:"all",subreddit:e.subredditName,...n},t);return Ls(o,t)}})}static getRisingPosts(e,t){let i=u.redditAPIPlugins.Listings;return new j({hasMore:!0,before:e.before,after:e.after,pageSize:e.pageSize,limit:e.limit,fetch:async n=>{let o=await i.Rising({show:"all",subreddit:e.subredditName,...n},t);return Ls(o,t)}})}static getPostsByUser(e,t){let i=u.redditAPIPlugins.Users;return new j({hasMore:!0,before:e.before,after:e.after,pageSize:e.pageSize,limit:e.limit,async fetch(n){let o=await i.UserWhere({username:e.username,where:"submitted",...n},t);return Ls(o,t)}})}};Ni=new WeakMap,Ds=new WeakMap,qi=new WeakMap,_s=new WeakMap,Ns=new WeakMap,qs=new WeakMap,Hs=new WeakMap,js=new WeakMap,Hi=new WeakMap,Ws=new WeakMap,Gs=new WeakMap,zs=new WeakMap,Vs=new WeakMap,Js=new WeakMap,$s=new WeakMap,Ut=new WeakMap,kr=new WeakMap,ji=new WeakMap,Bt=new WeakMap,Wi=new WeakMap,Gi=new WeakMap,zi=new WeakMap,Pr=new WeakMap,Lt=new WeakMap,Dt=new WeakMap,Vi=new WeakMap,_t=new WeakMap,Nt=new WeakMap,qt=new WeakMap,lt=new WeakMap,Ks=new WeakMap,Xs=new WeakMap,Ji=new WeakMap,$i=new WeakMap,D=new WeakMap;var V=q;function Ls(r,e){if(!r.data?.children)throw new Error("Listing response is missing children");return{children:r.data.children.map(i=>new V(i.data,e)),before:r.data.before,after:r.data.after}}var Zs,Ki,Ys,Qs,eo,to,ro,Ht,io,no,ut,Sr=class Sr{constructor(e,t){l(this,Zs,void 0);l(this,Ki,void 0);l(this,Ys,void 0);l(this,Qs,void 0);l(this,eo,void 0);l(this,to,void 0);l(this,ro,void 0);l(this,Ht,new Map);l(this,io,void 0);l(this,no,void 0);l(this,ut,void 0);J(this),f(e.id,"User ID is missing or undefined"),f(e.name,"Username is missing or undefined"),f(e.createdUtc,"User is missing created date"),d(this,Zs,te(Qa(e.id)?e.id:`t2_${e.id}`)),d(this,Ki,e.name),d(this,to,e.over18??!1),d(this,ro,e.isEmployee??!1);let i=new Date(0);if(i.setUTCSeconds(e.createdUtc),d(this,Ys,i),d(this,Qs,e.linkKarma??0),d(this,eo,e.commentKarma??0),e.modPermissions)for(let[n,o]of Object.entries(e.modPermissions))s(this,Ht).set(n,Gk(o));d(this,io,new URL(e.subreddit?.url??"","https://www.reddit.com").toString()),d(this,no,e.subreddit?.url??""),d(this,ut,t)}get id(){return s(this,Zs)}get username(){return s(this,Ki)}get createdAt(){return s(this,Ys)}get linkKarma(){return s(this,Qs)}get commentKarma(){return s(this,eo)}get nsfw(){return s(this,to)}get isAdmin(){return s(this,ro)}get modPermissions(){return s(this,Ht)}get url(){return s(this,io)}get permalink(){return s(this,no)}toJSON(){return{id:this.id,username:this.username,createdAt:this.createdAt,linkKarma:this.linkKarma,commentKarma:this.commentKarma,nsfw:this.nsfw,modPermissionsBySubreddit:Object.fromEntries(this.modPermissions)}}async getModPermissionsForSubreddit(e){if(s(this,Ht).has(e))return s(this,Ht).get(e);let t=await Sr.getSubredditUsersByType({subredditName:e,type:"moderators",username:this.username},s(this,ut)).all();if(t.length===0)return[];let i=t[0].modPermissions.get(e)??[];return i.length>0&&s(this,Ht).set(e,i),i}getComments(e){return X.getCommentsByUser({username:this.username,...e},s(this,ut))}getPosts(e){return V.getPostsByUser({username:this.username,...e},s(this,ut))}async getUserFlairBySubreddit(e){let t=await Oe.getUserFlairBySubreddit({subreddit:e,name:s(this,Ki)},s(this,ut));return t.users[0]?Bs(t.users[0]):void 0}getSnoovatarUrl(){return Sr.getSnoovatarUrl(this.username,s(this,ut))}static async getById(e,t){let o=(await u.redditAPIPlugins.Users.UserDataByAccountIds({ids:e},t))?.users?.[e]?.name;return f(o,"Expected the username in response to be not null"),Sr.getByUsername(o,t)}static async getByUsername(e,t){let n=await u.redditAPIPlugins.Users.UserAbout({username:e},t);if(!n.data?.id)throw new Error("failed to get user");return new Sr(n.data,t)}static async getFromMetadata(e,t){f(t);let i=t?.[e]?.values[0];return i?Sr.getById(te(i),t):Promise.resolve(void 0)}static getSubredditUsersByType(e,t){let i=u.redditAPIPlugins.Subreddits;return new j({hasMore:!0,pageSize:e.pageSize,limit:e.limit,after:e.after,before:e.before,fetch:async n=>{let o=await i.AboutWhere({where:e.type,user:e.username,subreddit:e.subredditName,show:"all",...n},t);return lO(o,e.subredditName,t)}})}static async createRelationship(e,t){let i=u.redditAPIPlugins.Users,{type:n,subredditName:o,username:a,permissions:c,...p}=e,g=await i.Friend({type:n,subreddit:o,name:a,permissions:c?Cm(c):void 0,...p},t);if(g.json?.errors?.length)throw new Error(g.json.errors.join(`
4
+ `))}static async removeRelationship(e,t){await u.redditAPIPlugins.Users.Unfriend({type:e.type,subreddit:e.subredditName,name:e.username},t)}static async setModeratorPermissions(e,t,i,n){let a=await u.redditAPIPlugins.Users.SetPermissions({subreddit:t,name:e,type:"moderator",permissions:Cm(i)},n);if(a.json?.errors?.length)throw new Error(a.json.errors.join(`
5
+ `))}static async getSnoovatarUrl(e,t){let i="GetSnoovatarUrlByName",n="c47fd42345af268616d2d8904b56856acdc05cf61d3650380f539ad7d596ac0c";return(await Ti.query(i,n,{username:e},t)).data?.redditorInfoByName?.snoovatarIcon?.url}static getOverview(e,t){let i=u.redditAPIPlugins.Users;return new j({hasMore:!0,before:e.before,after:e.after,pageSize:e.pageSize,limit:e.limit,async fetch(n){let o=await i.UserWhere({username:e.username,where:"overview",...n},t);return dO(o,t)}})}};Zs=new WeakMap,Ki=new WeakMap,Ys=new WeakMap,Qs=new WeakMap,eo=new WeakMap,to=new WeakMap,ro=new WeakMap,Ht=new WeakMap,io=new WeakMap,no=new WeakMap,ut=new WeakMap;var w=Sr;function dO(r,e){if(!r.data?.children)throw new Error("Listing response is missing children");return{children:r.data.children.map(i=>{if(i.kind==="t3")return new V(i.data,e);if(i.kind==="t1")return new X(i.data,e);throw new Error(`Type ${i.kind} is not supported`)}),before:r.data.before,after:r.data.after}}async function lO(r,e,t){let i=u.redditAPIPlugins.Users;if(!r.data?.children)throw new Error("Listing response is missing children");let n=r.data.children.map(v=>(f(v.data?.id,"User id is still from listing data"),v.data.id)),o=100,a=[];for(let v=0;v<n.length;v+=o)a.push(n.slice(v,v+o));let p=(await Promise.all(a.map(v=>i.UserDataByAccountIds({ids:v.join(",")},t)))).reduce((v,m)=>({...v,...m.users}),{});return{children:r.data.children.map(v=>{let m=v.data?.id;f(m,"User id is missing from listing");let y=p[m];return f(y,"User data is missing from response"),new w({id:m,name:y.name,linkKarma:y.linkKarma,commentKarma:y.commentKarma,createdUtc:y.createdUtc,over18:y.profileOver18,snoovatarSize:[],modPermissions:{[e]:v.data?.modPermissions??[]}},t)}),before:r.data.before,after:r.data.after}}var Cr,so,Xi,Zi,oo,ao,Yi,lo,uo,Qi,jt,Ir,Wt,Gt,ct,wr,mt,co,mo,po,go,fo,ho,vo,Y,en,Yd,tn,Qd,W=class W{constructor(e,t){l(this,Cr,void 0);l(this,so,void 0);l(this,Xi,void 0);l(this,Zi,void 0);l(this,oo,void 0);l(this,ao,void 0);l(this,Yi,void 0);l(this,lo,void 0);l(this,uo,void 0);l(this,Qi,void 0);l(this,jt,void 0);l(this,Ir,void 0);l(this,Wt,void 0);l(this,Gt,void 0);l(this,ct,void 0);l(this,wr,void 0);l(this,mt,void 0);l(this,co,void 0);l(this,mo,void 0);l(this,po,void 0);l(this,go,void 0);l(this,fo,void 0);l(this,ho,void 0);l(this,vo,void 0);l(this,Y,void 0);var n;J(this),f(e.id,"Comment id is null or undefined"),f(e.body,"Comment body is null or undefined"),f(e.createdUtc,"Comment is missing created date"),f(e.author,"Comment author is null or undefined"),f(e.parentId,"Comment parentId is null or undefined"),f(e.linkId,"Comment linkId is null or undefined"),f(e.permalink,"Comment permalink is null or undefined"),f(e.subreddit,"Comment is missing subreddit name"),f(e.subredditId,"Comment is missing subreddit id"),d(this,Cr,Hr(`t1_${e.id}`)),d(this,so,e.authorFullname?te(e.authorFullname):void 0),d(this,Xi,e.author),d(this,Zi,e.body),d(this,lo,Te(e.subredditId)),d(this,uo,e.subreddit),d(this,ao,hc(e.parentId)?Hr(e.parentId):pe(e.parentId)),d(this,Yi,pe(e.linkId)),d(this,Ir,e.edited??!1),d(this,Wt,e.locked??!1),d(this,Gt,e.removed??!1),d(this,ct,e.stickied??!1),d(this,jt,e.approved??!1),d(this,wr,e.spam??!1),d(this,mt,e.distinguished),d(this,co,e.numReports??0),d(this,mo,e.collapsedBecauseCrowdControl??!1),d(this,po,e.score??0),d(this,go,e.permalink),d(this,vo,new URL(e.permalink??"","https://www.reddit.com/").toString()),d(this,fo,(e.modReports??[]).map(([o])=>o)),d(this,ho,(e.userReports??[]).map(([o])=>o));let i=new Date(0);i.setUTCSeconds(e.createdUtc),d(this,oo,i),d(this,Qi,b(n=W,en,Yd).call(n,{postId:s(this,Yi),commentId:s(this,Cr)},t)),d(this,Y,t)}get id(){return s(this,Cr)}get authorId(){return s(this,so)}get authorName(){return s(this,Xi)}get subredditId(){return s(this,lo)}get subredditName(){return s(this,uo)}get body(){return s(this,Zi)}get createdAt(){return s(this,oo)}get parentId(){return s(this,ao)}get postId(){return s(this,Yi)}get replies(){return s(this,Qi)}get distinguishedBy(){return s(this,mt)}get locked(){return s(this,Wt)}get stickied(){return s(this,ct)}get removed(){return s(this,Gt)}get approved(){return s(this,jt)}get spam(){return s(this,wr)}get edited(){return s(this,Ir)}get numReports(){return s(this,co)}get collapsedBecauseCrowdControl(){return s(this,mo)}get score(){return s(this,po)}get permalink(){return s(this,go)}get userReportReasons(){return s(this,ho)}get modReportReasons(){return s(this,fo)}get url(){return s(this,vo)}toJSON(){return{id:this.id,authorName:this.authorName,subredditId:this.subredditId,subredditName:this.subredditName,body:this.body,createdAt:this.createdAt,parentId:this.parentId,postId:this.postId,replies:this.replies,approved:this.approved,locked:this.locked,removed:this.removed,stickied:this.stickied,spam:this.spam,edited:this.edited,distinguishedBy:this.distinguishedBy,numReports:this.numReports,collapsedBecauseCrowdControl:this.collapsedBecauseCrowdControl,score:this.score,permalink:this.permalink,modReportReasons:this.modReportReasons,userReportReasons:this.userReportReasons,url:this.url}}isLocked(){return s(this,Wt)}isApproved(){return s(this,jt)}isRemoved(){return s(this,Gt)}isSpam(){return s(this,wr)}isStickied(){return s(this,ct)}isDistinguished(){return!!s(this,mt)}isEdited(){return s(this,Ir)}async delete(){return W.delete(this.id,s(this,Y))}async edit(e){let t=await W.edit({id:this.id,...e},s(this,Y));return d(this,Zi,t.body),d(this,Ir,t.edited),this}async approve(){await W.approve(this.id,s(this,Y)),d(this,jt,!0),d(this,Gt,!1)}async remove(e=!1){await W.remove(this.id,e,s(this,Y)),d(this,Gt,!0),d(this,wr,e),d(this,jt,!1)}async lock(){await W.lock(this.id,s(this,Y)),d(this,Wt,!0)}async unlock(){await W.unlock(this.id,s(this,Y)),d(this,Wt,!1)}async reply(e){return W.submit({id:this.id,...e},s(this,Y))}async getAuthor(){return w.getByUsername(s(this,Xi),s(this,Y))}async distinguish(e=!1){let{distinguishedBy:t,stickied:i}=await W.distinguish(this.id,e,!1,s(this,Y));d(this,mt,t),d(this,ct,i)}async distinguishAsAdmin(e=!1){let{distinguishedBy:t,stickied:i}=await W.distinguish(this.id,e,!0,s(this,Y));d(this,mt,t),d(this,ct,i)}async undistinguish(){let{distinguishedBy:e,stickied:t}=await W.undistinguish(this.id,s(this,Y));d(this,mt,e),d(this,ct,t)}addRemovalNote(e){return Re.addRemovalNote({itemIds:[s(this,Cr)],...e},s(this,Y))}static async getById(e,t){let i=u.redditAPIPlugins.LinksAndComments,n=vt(e)?e:`t1_${e}`,o=await i.Info({subreddits:[],thingIds:[n]},t);if(!o.data?.children?.[0]?.data)throw new Error("not found");return new W(o.data.children[0].data,t)}static getComments(e,t){var a;let{postId:i,commentId:n,...o}=e;return b(a=W,en,Yd).call(a,{postId:pe(i),commentId:n?Hr(n):void 0,...o},t)}static async edit(e,t){let i=u.redditAPIPlugins.LinksAndComments,{id:n}=e,o;"richtext"in e&&(o=wi(e.richtext));let a=await i.EditUserText({thingId:n,text:"text"in e?e.text:"",richtextJson:o},t);if(a.json?.errors?.length)throw new Error("Failed to edit comment");let c=a.json?.data?.things?.[0]?.data;return f(c),new W(c,t)}static async delete(e,t){await u.redditAPIPlugins.LinksAndComments.Del({id:e},t)}static async approve(e,t){await u.redditAPIPlugins.Moderation.Approve({id:e},t)}static async remove(e,t=!1,i){await u.redditAPIPlugins.Moderation.Remove({id:e,spam:t},i)}static async lock(e,t){await u.redditAPIPlugins.LinksAndComments.Lock({id:e},t)}static async unlock(e,t){await u.redditAPIPlugins.LinksAndComments.Unlock({id:e},t)}static async submit(e,t){let i=u.redditAPIPlugins.LinksAndComments,{id:n}=e,o;"richtext"in e&&(o=wi(e.richtext));let a=await i.Comment({thingId:n,text:"text"in e?e.text:"",richtextJson:o},t);if(a.json?.errors?.length)throw new Error("failed to reply to comment");let c=a.json?.data?.things?.[0]?.data;return f(c),new W(c,t)}static async distinguish(e,t,i,n){let c=(await u.redditAPIPlugins.Moderation.Distinguish({id:e,how:i?"admin":"yes",sticky:t},n)).json?.data?.things?.[0]?.data;return f(c),{distinguishedBy:c.distinguished,stickied:!!c.stickied}}static async undistinguish(e,t){let o=(await u.redditAPIPlugins.Moderation.Distinguish({id:e,how:"no",sticky:!1},t)).json?.data?.things?.[0]?.data;return f(o),{distinguishedBy:o.distinguished,stickied:!!o.stickied}}static getCommentsByUser(e,t){let i=u.redditAPIPlugins.Users;return new j({hasMore:!0,before:e.before,after:e.after,pageSize:e.pageSize,limit:e.limit,async fetch(n){let o=await i.UserWhere({username:e.username,where:"comments",...n},t);return f(o.data,"Failed to get comments for user"),{children:o.data.children?.map(c=>new W(c.data,t))||[],before:o.data.before,after:o.data.after}}})}};Cr=new WeakMap,so=new WeakMap,Xi=new WeakMap,Zi=new WeakMap,oo=new WeakMap,ao=new WeakMap,Yi=new WeakMap,lo=new WeakMap,uo=new WeakMap,Qi=new WeakMap,jt=new WeakMap,Ir=new WeakMap,Wt=new WeakMap,Gt=new WeakMap,ct=new WeakMap,wr=new WeakMap,mt=new WeakMap,co=new WeakMap,mo=new WeakMap,po=new WeakMap,go=new WeakMap,fo=new WeakMap,ho=new WeakMap,vo=new WeakMap,Y=new WeakMap,en=new WeakSet,Yd=function(e,t,i=0){return new j({limit:e.limit,pageSize:e.pageSize,fetch:async n=>{var y,k;let o=n.limit,a=u.redditAPIPlugins.Listings,c=u.redditAPIPlugins.LinksAndComments,p=e.commentId;if(n.more)if(n.more.children.length){let C=n.more;(!o||o>100)&&(o=100);let I=C.children.splice(0,o),A=await c.MoreChildren({linkId:e.postId,children:I,sort:e.sort},t);if(!A.json?.data?.things?.length)return{children:[]};let{children:U}=b(y=W,tn,Qd).call(y,A.json.data.things,e.postId,e,t);return{children:U,more:C.children.length?C:void 0}}else p=n.more.parentId,i=i+n.more.depth;let v=(await a.Comments({article:e.postId.substring(3),comment:p?.substring(3),limit:o,depth:e.depth,sort:e.sort},t)).listings?.[1]?.data?.children??[],m=v[0];return p&&m?.data?.replyList?.data&&(v=m.data.replyList.data.children),b(k=W,tn,Qd).call(k,v,p??e.postId,e,t,i)}})},tn=new WeakSet,Qd=function(e,t,i,n,o=0){var g,v;let a=[],c,p={};for(let m of e){if(!m.data||(m.data.depth!=null&&(m.data.depth=m.data.depth+o),m.data.depth!=null&&i.depth!=null&&m.data.depth>=i.depth))continue;let y=m.data.parentId?p[m.data.parentId]:void 0;if(m.kind==="t1"){if(m.data.name===t)continue;let k=new W(m.data,n);if(p[k.id]=k,d(k,Qi,b(g=W,en,Yd).call(g,{...i,postId:k.postId,commentId:k.id},n,o)),"replyList"in m.data&&m.data.replyList?.data){let{children:C,more:I}=b(v=W,tn,Qd).call(v,m.data.replyList.data.children,k.id,i,n,o);C.length&&k.replies.children.push(...C),I&&k.replies.setMore(I)}k.replies.preventInitialFetch(),y?y.replies.children.push(k):a.push(k)}else if(m.kind==="more"&&m.data.parentId&&m.data.depth!=null){let k={parentId:hc(m.data.parentId)?Hr(m.data.parentId):pe(m.data.parentId),children:m.data.children??[],depth:m.data.depth};y?y.replies.setMore(k):k.parentId===t&&(c=k)}}return{children:a,more:c}},l(W,en),l(W,tn);var X=W;function id(r,e){let t=u.redditAPIPlugins.Moderation;return new j({hasMore:!0,after:r.after,before:r.before,limit:r.limit,pageSize:r.pageSize,fetch:async i=>{let n=await t.AboutLog({subreddit:r.subredditName,mod:r.moderatorUsernames?r.moderatorUsernames.join(","):void 0,type:r.type,...i},e);return uO(n)}})}function uO(r){if(!r.data?.children)throw new Error("AboutLogResponse is missing children");return{children:r.data.children.map(t=>{if(!t.data)throw new Error("ModAction from AboutLogResponse is missing or invalid");let{id:i,mod:n,modId36:o,createdUtc:a,subreddit:c,subredditNamePrefixed:p,action:g,srId36:v,description:m,details:y,targetAuthor:k,targetBody:C,targetFullname:I,targetPermalink:A,targetTitle:U}=t.data;f(i,"ModAction from AboutLogResponse is missing id"),f(n,"ModAction from AboutLogResponse is missing mod"),f(o,"ModAction from AboutLogResponse is missing modId36"),f(a,"ModAction from AboutLogResponse is missing createdUtc"),f(c,"ModAction from AboutLogResponse is missing subreddit"),f(p,"ModAction from AboutLogResponse is missing subredditNamePrefixed"),f(g,"ModAction from AboutLogResponse is missing action"),f(v,"ModAction from AboutLogResponse is missing srId36");let le=new Date(0);return le.setUTCSeconds(a),{id:i,type:g,moderatorName:n,moderatorId:`t2_${o}`,createdAt:le,subredditName:c,subredditId:`t5_${v}`,description:m,details:y,target:I?{id:I,author:k,body:C,permalink:A,title:U}:void 0}}),after:r.data.after,before:r.data.before}}var cO=(a=>(a.New="New",a.InProgress="InProgress",a.Archived="Archived",a.Appeals="Appeals",a.JoinRequests="JoinRequests",a.Filtered="Filtered",a))(cO||{}),mO={0:"New",1:"InProgress",2:"Archived",3:"Appeals",4:"JoinRequests",5:"Filtered"},pO=(k=>(k.Highlighted="Highlighted",k.Unhighlighted="Unhighlighted",k.Archived="Archived",k.Unarchived="Unarchived",k.ReportedToAdmins="ReportedToAdmins",k.Muted="Muted",k.Unmuted="Unmuted",k.Banned="Banned",k.Unbanned="Unbanned",k.Approved="Approved",k.Disapproved="Disapproved",k.Filtered="Filtered",k.Unfiltered="Unfiltered",k))(pO||{}),gO={0:"Highlighted",1:"Unhighlighted",2:"Archived",3:"Unarchived",4:"ReportedToAdmins",5:"Muted",6:"Unmuted",7:"Banned",8:"Unbanned",9:"Approved",10:"Disapproved",11:"Filtered",12:"Unfiltered"},z,Z,ne,el,Kk,tl,Xk,nd=class{constructor(e){l(this,Z);l(this,el);l(this,tl);l(this,z,void 0);d(this,z,e)}async bulkReadConversations(e,t){let i=u.redditAPIPlugins.NewModmail,{conversationIds:n}=await i.BulkReadConversations({entity:e.join(","),state:t},s(this,z));return n}async getConversations(e){let i=await u.redditAPIPlugins.NewModmail.GetConversations({after:e.after,entity:e.subreddits?e.subreddits.join(","):void 0,limit:e.limit,sort:e.sort,state:e.state},s(this,z)),n={};for(let o in i.conversations)n[o]=b(this,Z,ne).call(this,{protoConversation:i.conversations[o],protoMessages:i.messages,protoModActions:{}});return{conversations:n,viewerId:i.viewerId}}async getConversation(e){let i=await u.redditAPIPlugins.NewModmail.GetConversation({...e,markRead:!!e.markRead},s(this,z));return{participantSubreddit:i.participantSubreddit,conversation:b(this,Z,ne).call(this,{protoConversation:i.conversation,protoMessages:i.messages,protoModActions:i.modActions}),user:i.user}}async getSubreddits(){let e=u.redditAPIPlugins.NewModmail,{subreddits:t}=await e.Subreddits({},s(this,z));return t}async createConversation(e){let i=await u.redditAPIPlugins.NewModmail.CreateConversation({body:e.body,isAuthorHidden:e.isAuthorHidden??!1,srName:e.subredditName,subject:e.subject,to:e.to?e.to:void 0},s(this,z));return{conversation:b(this,Z,ne).call(this,{protoConversation:i.conversation,protoMessages:i.messages,protoModActions:i.modActions}),user:i.user}}async reply(e){let i=await u.redditAPIPlugins.NewModmail.CreateConversationMessage({body:e.body,conversationId:e.conversationId,isAuthorHidden:e.isAuthorHidden??!1,isInternal:e.isInternal??!1},s(this,z));return{conversation:b(this,Z,ne).call(this,{protoConversation:i.conversation,protoMessages:i.messages,protoModActions:{}}),user:i.user}}async highlightConversation(e){let i=await u.redditAPIPlugins.NewModmail.HighlightConversation({conversationId:e},s(this,z));return{conversation:b(this,Z,ne).call(this,{protoConversation:i.conversation,protoMessages:i.messages,protoModActions:i.modActions})}}async unhighlightConversation(e){let i=await u.redditAPIPlugins.NewModmail.UnhighlightConversation({conversationId:e},s(this,z));return{conversation:b(this,Z,ne).call(this,{protoConversation:i.conversation,protoMessages:i.messages,protoModActions:i.modActions})}}async archiveConversation(e){let i=await u.redditAPIPlugins.NewModmail.ArchiveConversation({conversationId:e},s(this,z));return{conversation:b(this,Z,ne).call(this,{protoConversation:i.conversation,protoMessages:i.messages,protoModActions:i.modActions})}}async unarchiveConversation(e){let i=await u.redditAPIPlugins.NewModmail.UnarchiveConversation({conversationId:e},s(this,z));return{conversation:b(this,Z,ne).call(this,{protoConversation:i.conversation,protoMessages:i.messages,protoModActions:i.modActions})}}async muteConversation(e){let i=await u.redditAPIPlugins.NewModmail.MuteConversation({conversationId:e.conversationId,numHours:e.numHours},s(this,z));return{conversation:b(this,Z,ne).call(this,{protoConversation:i.conversations,protoMessages:i.messages,protoModActions:i.modActions}),user:i.user}}async unmuteConversation(e){let i=await u.redditAPIPlugins.NewModmail.UnmuteConversation({conversationId:e},s(this,z));return{conversation:b(this,Z,ne).call(this,{protoConversation:i.conversations,protoMessages:i.messages,protoModActions:i.modActions}),user:i.user}}async readConversations(e){await u.redditAPIPlugins.NewModmail.Read({conversationIds:e.join(",")},s(this,z))}async unreadConversations(e){await u.redditAPIPlugins.NewModmail.Unread({conversationIds:e.join(",")},s(this,z))}async approveConversation(e){let i=await u.redditAPIPlugins.NewModmail.ApproveConversation({conversationId:e},s(this,z));return{conversation:b(this,Z,ne).call(this,{protoConversation:i.conversations,protoMessages:i.messages,protoModActions:i.modActions}),user:i.user}}async disapproveConversation(e){let i=await u.redditAPIPlugins.NewModmail.DisapproveConversation({conversationId:e},s(this,z));return{conversation:b(this,Z,ne).call(this,{protoConversation:i.conversations,protoMessages:i.messages,protoModActions:i.modActions}),user:i.user}}async tempBanConversation(e){let i=await u.redditAPIPlugins.NewModmail.TempBan({...e},s(this,z));return{conversation:b(this,Z,ne).call(this,{protoConversation:i.conversations,protoMessages:i.messages,protoModActions:i.modActions}),user:i.user}}async unbanConversation(e){let i=await u.redditAPIPlugins.NewModmail.Unban({conversationId:e},s(this,z));return{conversation:b(this,Z,ne).call(this,{protoConversation:i.conversations,protoMessages:i.messages,protoModActions:i.modActions}),user:i.user}}async getUnreadCount(){return await u.redditAPIPlugins.NewModmail.UnreadCount({},s(this,z))}async getUserConversations(e){return await u.redditAPIPlugins.NewModmail.UserConversations({conversationId:e},s(this,z))}};z=new WeakMap,Z=new WeakSet,ne=function({protoConversation:e,protoMessages:t,protoModActions:i}){return{...e,state:mO[e.state],messages:b(this,el,Kk).call(this,e,t),modActions:b(this,tl,Xk).call(this,e,i)}},el=new WeakSet,Kk=function(e,t){let i={},n=e.objIds.filter(o=>o.key==="messages").map(({id:o})=>o);for(let o of n){let a=t[o];a&&(i[o]=a)}return i},tl=new WeakSet,Xk=function(e,t){let i={},n=e.objIds.filter(o=>o.key==="modActions").map(({id:o})=>o);for(let o of n){let a=t[o];a&&(i[o]={...a,actionType:gO[a.actionTypeId]})}return i};var rn,nn,rl,yo,bo,ko,Po,xm=class xm{constructor(e,t){l(this,rn,void 0);l(this,nn,void 0);l(this,rl,void 0);l(this,yo,void 0);l(this,bo,void 0);l(this,ko,void 0);l(this,Po,void 0);if(J(this),f(e.id,"PrivateMessage: Invalid data, no id"),f(e.name,"PrivateMessage: Invalid data, no name"),f(e.created,"PrivateMessage: Invalid data, no created date"),d(this,rn,ge(e.name)),e.author!=null)d(this,nn,{type:"user",username:e.author,id:e.authorFullname?te(e.authorFullname):void 0});else if(e.subreddit!=null)d(this,nn,{type:"subreddit",name:e.subreddit,id:e.subredditId?Te(e.subredditId):void 0});else throw new Error("PrivateMessage: Invalid data, no author or subreddit");d(this,yo,e.body??""),d(this,bo,e.bodyHtml??"");let i=new Date(0);i.setUTCSeconds(e.createdUtc),d(this,ko,i),d(this,rl,e.parentId?ge(e.parentId):void 0),d(this,Po,t)}static async getMessages(e,t){let i=u.redditAPIPlugins.PrivateMessages;return new j({...e,fetch:async n=>{let o=await i.MessageWhere({...n,where:e.type??"inbox"},t);return{after:o.data?.after,before:o.data?.before,children:o.data?.children?.map(a=>new xm(a.data,t)).filter(Boolean)||[]}}})}static async send({to:e,subject:t,text:i},n){await u.redditAPIPlugins.PrivateMessages.Compose({to:e,subject:t,text:i,fromSr:""},n)}static async sendAsSubreddit({to:e,fromSubredditName:t,subject:i,text:n},o){await u.redditAPIPlugins.PrivateMessages.Compose({to:e,fromSr:t,subject:i,text:n},o)}static async markAllAsRead(e){await u.redditAPIPlugins.PrivateMessages.ReadAllMessages({filterTypes:""},e)}get id(){return s(this,rn)}get from(){return s(this,nn)}get body(){return s(this,yo)}get bodyHtml(){return s(this,bo)}get created(){return s(this,ko)}async markAsRead(){await u.redditAPIPlugins.PrivateMessages.ReadMessage({id:s(this,rn)},s(this,Po))}};rn=new WeakMap,nn=new WeakMap,rl=new WeakMap,yo=new WeakMap,bo=new WeakMap,ko=new WeakMap,Po=new WeakMap;var tr=xm;var Nv=(o=>(o.Reports="reports",o.Spam="spam",o.Modqueue="modqueue",o.Unmoderated="unmoderated",o.Edited="edited",o))(Nv||{}),sn,x,So,Co,Io,wo,Ao,xo,To,Eo,Ro,on,T,Qe=class Qe{constructor(e,t){l(this,sn,void 0);l(this,x,void 0);l(this,So,void 0);l(this,Co,void 0);l(this,Io,void 0);l(this,wo,void 0);l(this,Ao,void 0);l(this,xo,void 0);l(this,To,void 0);l(this,Eo,void 0);l(this,Ro,void 0);l(this,on,void 0);l(this,T,void 0);J(this),f(e.id,"Subreddit id is missing or undefined"),f(e.displayName,"Subreddit name is missing or undefined"),d(this,sn,Te(`t5_${e.id}`)),d(this,x,e.displayName),f(e.createdUtc,"Subreddit is missing created date");let i=new Date(0);i.setUTCSeconds(e.createdUtc),d(this,So,i),d(this,Co,fO(e.subredditType)),d(this,Io,e.title),d(this,wo,e.description),f(e.lang,"Subreddit is missing language"),d(this,Ao,e.lang),d(this,xo,e.subscribers??0),d(this,To,e.activeUserCount??0),d(this,Eo,e.over18??!1),d(this,on,e.url??""),d(this,Ro,{acceptFollowers:e.acceptFollowers??!1,allOriginalContent:e.allOriginalContent??!1,allowChatPostCreation:e.allowChatPostCreation??!1,allowDiscovery:e.allowDiscovery??!1,allowGalleries:e.allowGalleries??!1,allowImages:e.allowImages??!1,allowPolls:e.allowPolls??!1,allowPredictionContributors:e.allowPredictionContributors??!1,allowPredictions:e.allowPredictions??!1,allowPredictionsTournament:e.allowPredictionsTournament??!1,allowTalks:e.allowTalks??!1,allowVideoGifs:e.allowVideogifs??!1,allowVideos:e.allowVideos??!1,chatPostEnabled:e.isChatPostFeatureEnabled??!1,collectionsEnabled:e.collectionsEnabled??!1,crosspostable:e.isCrosspostableSubreddit??!1,emojisEnabled:e.emojisEnabled??!1,eventPostsEnabled:e.eventPostsEnabled??!1,linkFlairEnabled:e.linkFlairEnabled??!1,originalContentTagEnabled:e.originalContentTagEnabled??!1,restrictCommenting:e.restrictCommenting??!1,restrictPosting:e.restrictPosting??!1,shouldArchivePosts:e.shouldArchivePosts??!1,spoilersEnabled:e.spoilersEnabled??!1,wikiEnabled:e.wikiEnabled??!1,allowedPostType:hO(e.submissionType),allowedMediaInComments:(e.allowedMediaInComments??[]).map(vO),bannerBackgroundColor:e.bannerBackgroundColor,bannerBackgroundImage:e.bannerBackgroundImage,bannerImage:e.bannerImg,communityIcon:e.communityIcon,headerTitle:e.headerTitle,mobileBannerImage:e.mobileBannerImage,userFlairs:{enabled:e.userFlairEnabledInSr??!1,usersCanAssign:e.canAssignUserFlair??!1},postFlairs:{enabled:e.linkFlairEnabled??!1,usersCanAssign:e.canAssignLinkFlair??!1},url:new URL(s(this,on),"https://www.reddit.com").toString()}),d(this,T,t)}get id(){return s(this,sn)}get name(){return s(this,x)}get createdAt(){return s(this,So)}get type(){return s(this,Co)}get title(){return s(this,Io)}get description(){return s(this,wo)}get language(){return s(this,Ao)}get numberOfSubscribers(){return s(this,xo)}get numberOfActiveUsers(){return s(this,To)}get nsfw(){return s(this,Eo)}get settings(){return s(this,Ro)}get userFlairsEnabled(){return this.settings.userFlairs.enabled}get postFlairsEnabled(){return this.settings.postFlairs.enabled}get usersCanAssignUserFlairs(){return this.settings.userFlairs.usersCanAssign}get usersCanAssignPostFlairs(){return this.settings.postFlairs.usersCanAssign}get url(){return this.settings.url}get permalink(){return s(this,on)}toJSON(){return{id:this.id,name:this.name,createdAt:this.createdAt,type:this.type,title:this.title,description:this.description,language:this.language,nsfw:this.nsfw,numberOfSubscribers:this.numberOfSubscribers,numberOfActiveUsers:this.numberOfActiveUsers,settings:this.settings}}async submitPost(e){let t={...e,subredditName:s(this,x)};return V.submit(t,s(this,T))}getControversialPosts(e={}){if(!s(this,x))throw new Error("subreddit missing displayName - it might not have been fetched");return V.getControversialPosts({...e,subredditName:s(this,x)},s(this,T))}getTopPosts(e={}){if(!s(this,x))throw new Error("subreddit missing displayName - it might not have been fetched");return V.getTopPosts({...e,subredditName:s(this,x)},s(this,T))}getApprovedUsers(e={}){return w.getSubredditUsersByType({type:"contributors",subredditName:s(this,x),...e},s(this,T))}approveUser(e){return w.createRelationship({username:e,subredditName:s(this,x),type:"contributor"},s(this,T))}removeUser(e){return w.removeRelationship({username:e,subredditName:s(this,x),type:"contributor"},s(this,T))}getWikiContributors(e={}){return w.getSubredditUsersByType({type:"wikicontributors",subredditName:s(this,x),...e},s(this,T))}addWikiContributor(e){return w.createRelationship({username:e,subredditName:s(this,x),type:"wikicontributor"},s(this,T))}removeWikiContributor(e){return w.removeRelationship({username:e,subredditName:s(this,x),type:"wikicontributor"},s(this,T))}getBannedUsers(e={}){return w.getSubredditUsersByType({type:"banned",subredditName:s(this,x),...e},s(this,T))}banUser(e){return w.createRelationship({username:e.username,subredditName:s(this,x),type:"banned",banReason:e.reason,banMessage:e.message,note:e.note,duration:e.duration},s(this,T))}unbanUser(e){return w.removeRelationship({username:e,subredditName:s(this,x),type:"banned"},s(this,T))}getBannedWikiContributors(e={}){return w.getSubredditUsersByType({type:"wikibanned",subredditName:s(this,x),...e},s(this,T))}banWikiContributor(e){return w.createRelationship({username:e.username,subredditName:s(this,x),type:"wikibanned",banReason:e.reason,note:e.note,duration:e.duration},s(this,T))}unbanWikiContributor(e){return w.removeRelationship({username:e,subredditName:s(this,x),type:"wikibanned"},s(this,T))}getModerators(e={}){return w.getSubredditUsersByType({type:"moderators",subredditName:s(this,x),...e},s(this,T))}inviteModerator(e,t){return w.createRelationship({type:"moderator_invite",subredditName:s(this,x),username:e,permissions:t??[]},s(this,T))}revokeModeratorInvite(e){return w.removeRelationship({username:e,subredditName:s(this,x),type:"moderator_invite"},s(this,T))}removeModerator(e){return w.removeRelationship({type:"moderator",subredditName:s(this,x),username:e},s(this,T))}setModeratorPermissions(e,t){return w.setModeratorPermissions(e,s(this,x),t,s(this,T))}getMutedUsers(e={}){return w.getSubredditUsersByType({type:"muted",subredditName:s(this,x),...e},s(this,T))}muteUser(e,t){return w.createRelationship({username:e,subredditName:s(this,x),type:"muted",note:t},s(this,T))}unmuteUser(e){return w.removeRelationship({username:e,subredditName:s(this,x),type:"muted"},s(this,T))}getModerationLog(e){return id({subredditName:s(this,x),...e},s(this,T))}getUserFlairTemplates(){return oe.getUserFlairTemplates(s(this,x),s(this,T))}getPostFlairTemplates(){return oe.getPostFlairTemplates(s(this,x),s(this,T))}createPostFlairTemplate(e){return oe.createPostFlairTemplate({subredditName:s(this,x),...e},s(this,T))}createUserFlairTemplate(e){return oe.createUserFlairTemplate({subredditName:s(this,x),...e},s(this,T))}async getUserFlair(e){if(e?.usernames!==void 0)return{users:await Promise.all(e.usernames.map(async i=>{let n=await Oe.getUserFlairBySubreddit({subreddit:s(this,x),name:i},s(this,T));return Bs(n.users[0])}))};{let t=await Oe.getUserFlairBySubreddit({...e,subreddit:s(this,x)},s(this,T));return{next:t.next,prev:t.prev,users:t.users.map(i=>Bs(i))}}}getModQueue(e={type:"all"}){return Qe.aboutLocation({...e,location:"modqueue",subreddit:s(this,x)},s(this,T))}getReports(e={type:"all"}){return Qe.aboutLocation({...e,location:"reports",subreddit:s(this,x)},s(this,T))}getSpam(e={type:"all"}){return Qe.aboutLocation({...e,location:"spam",subreddit:s(this,x)},s(this,T))}getUnmoderated(e={type:"all"}){return Qe.aboutLocation({...e,location:"unmoderated",subreddit:s(this,x)},s(this,T))}getEdited(e={type:"all"}){return Qe.aboutLocation({...e,location:"edited",subreddit:s(this,x)},s(this,T))}static aboutLocation(e,t){let i=u.redditAPIPlugins.Moderation,n;switch(e.type){case"post":n="links";break;case"comment":n="comments";break;default:n=void 0}return new j({...e,fetch:async o=>{let a=await i.AboutLocation({...o,...e,only:n},t);return Zk(a,t)}})}getCommentsAndPostsByIds(e){let t=u.redditAPIPlugins.LinksAndComments;return new j({fetch:async()=>{let i=await t.Info({thingIds:e,subreddits:[s(this,sn)]},s(this,T));return Zk(i,s(this,T))}})}static async addRemovalReason(e,t,i,n){return(await u.redditAPIPlugins.Subreddits.SubredditAddRemovalReason({title:t,message:i,subreddit:e},n)).id}static async getRemovalReasons(e,t){let n=await u.redditAPIPlugins.Subreddits.SubredditGetRemovalReasons({subreddit:e},t);return n.order.map(o=>({...n.data[o]}))}static async getFromMetadata(e){f(e);let t=e?.[B.Subreddit]?.values[0];return f(t),Qe.getById(Te(t),e)}static async getById(e,t){let o=(await u.redditAPIPlugins.LinksAndComments.Info({thingIds:[e],subreddits:[]},t)).data?.children[0]?.data?.displayName;return f(o),Qe.getByName(o,t)}static async getByName(e,t){let n=await u.redditAPIPlugins.Subreddits.SubredditAbout({subreddit:e},t);if(!n?.data)throw new Error("not found");return new Qe(n.data,t)}};sn=new WeakMap,x=new WeakMap,So=new WeakMap,Co=new WeakMap,Io=new WeakMap,wo=new WeakMap,Ao=new WeakMap,xo=new WeakMap,To=new WeakMap,Eo=new WeakMap,Ro=new WeakMap,on=new WeakMap,T=new WeakMap;var fe=Qe;function fO(r){if(r==="public"||r==="private"||r==="restricted"||r==="employees_only"||r==="gold_restricted"||r==="archived")return r;throw new Error(`invalid subreddit type: ${r}`)}function hO(r){if(r==="any"||r==="link"||r==="self")return r;throw new Error(`invalid allowed post type: ${r}`)}function vO(r){if(r==="animated"||r==="giphy"||r==="static"||r==="expression")return r;throw new Error(`invalid comment media type: ${r}`)}function Zk(r,e){let i=(r.data?.children??[]).map(a=>{let c=n(a);if(c!=null)return c;let p=o(a);return p??null}).filter(Boolean);return{after:r.data?.after,before:r.data?.before,children:i};function n(a){try{return new V(a.data,e)}catch{return null}}function o(a){try{return new X(a.data,e)}catch{return null}}}async function qv(r,e){return Yk("GetVaultContactByAddress","3e2f7966a5c120e64fd2795d06a46595c52d988185be98d3ed71c3f81ae80d2e",{provider:"ethereum",address:r},e)}async function Hv(r,e){return Yk("GetVaultContactByUserId","a854ddc19d0e22c4f36ed917fdbd568f299f3571427e393aee5e2972080fffe9",{provider:"ethereum",userId:r},e)}async function Yk(r,e,t,i){let o=(await Ti.query(r,e,t,i))?.data?.vault?.contact;return{provider:o?.provider,userId:te(o?.userId),address:o?.address,createdAt:o?.createdAt,isActive:o?.isActive}}import{CommunityListWidget_CommunityData as yO,GetWidgetsResponse_WidgetItem as de}from"@devvit/protos";var Oo,Fo,Mo,Uo,Em=class Em{constructor(e,t,i){l(this,Oo,void 0);l(this,Fo,void 0);l(this,Mo,void 0);l(this,Uo,void 0);J(this),d(this,Oo,e.id),d(this,Fo,e.shortName),d(this,Mo,t),d(this,Uo,i)}get id(){return s(this,Oo)}get name(){return s(this,Fo)}get subredditName(){return s(this,Mo)}toJSON(){return{id:this.id,name:this.name,subredditName:this.subredditName}}delete(){return Em.delete(this.subredditName,this.id,s(this,Uo))}static async getWidgets(e,t){let n=await u.redditAPIPlugins.Widgets.GetWidgets({subreddit:e},t);f(n.layout,"Failed to load widgets for subreddit");let o=n.items,a=[];for(let c of n.layout.sidebar?.order??[]){let p=o[c];switch(p?.kind){case"image":a.push(new il(p,e,t));break;case"calendar":a.push(new nl(p,e,t));break;case"textarea":a.push(new sl(p,e,t));break;case"button":a.push(new ol(p,e,t));break;case"community-list":a.push(new al(p,e,t));break;case"post-flair":a.push(new dl(p,e,t));break;case"custom":a.push(new ll(p,e,t));break;case"subreddit-rules":{let g=await u.redditAPIPlugins.Subreddits.SubredditAboutRules({subreddit:e},t);a.push(new Tm(g,p,e,t));break}default:throw new Error(`Unknown widget type: ${p.kind}`)}}return a}static async delete(e,t,i){await u.redditAPIPlugins.Widgets.DeleteWidget({subreddit:e,id:t},i)}static async reorder(e,t,i){await u.redditAPIPlugins.Widgets.OrderWidgets({subreddit:e,order:t},i)}static async add(e,t){switch(e?.type){case"image":return il.create(e,t);case"calendar":return nl.create(e,t);case"textarea":return sl.create(e,t);case"button":return ol.create(e,t);case"community-list":return al.create(e,t);case"post-flair":return dl.create(e,t);case"custom":return ll.create(e,t);default:throw new Error("Unknown widget type")}}};Oo=new WeakMap,Fo=new WeakMap,Mo=new WeakMap,Uo=new WeakMap;var re=Em,Bo,ul=class ul extends re{constructor(t,i,n){super(t,i,n);l(this,Bo,void 0);d(this,Bo,t.data.map(o=>(f(o.url,"Image widget data is missing url"),f(o.height,"Image widget data is missing height"),f(o.width,"Image widget data is missing width"),f(o.linkUrl,"Image widget data is missing linkUrl"),{url:o.url,height:o.height,width:o.width,linkUrl:o.linkUrl})))}get images(){return s(this,Bo)}toJSON(){return{...super.toJSON(),images:this.images}}static async create(t,i){let o=await u.redditAPIPlugins.Widgets.AddImageWidget(t,i);return new ul(de.fromJSON(o),t.subreddit,i)}static async update(t,i){let o=await u.redditAPIPlugins.Widgets.UpdateImageWidget(t,i);return new ul(de.fromJSON(o),t.subreddit,i)}};Bo=new WeakMap;var il=ul,Lo,Do,_o,cl=class cl extends re{constructor(t,i,n){super(t,i,n);l(this,Lo,void 0);l(this,Do,void 0);l(this,_o,void 0);f(t.googleCalendarId,"Calendar widget data is missing googleCalendarId"),f(t.configuration,"Calendar widget data is missing configuration"),f(t.styles,"Calendar widget data is missing styles"),d(this,Lo,t.googleCalendarId),d(this,Do,t.configuration),d(this,_o,t.styles)}get googleCalendarId(){return s(this,Lo)}get configuration(){return s(this,Do)}get styles(){return s(this,_o)}toJSON(){return{...super.toJSON(),googleCalendarId:this.googleCalendarId,configuration:this.configuration,styles:this.styles}}static async create(t,i){let o=await u.redditAPIPlugins.Widgets.AddCalendarWidget(t,i);return new cl(de.fromJSON(o),t.subreddit,i)}static async update(t,i){let o=await u.redditAPIPlugins.Widgets.UpdateCalendarWidget(t,i);return new cl(de.fromJSON(o),t.subreddit,i)}};Lo=new WeakMap,Do=new WeakMap,_o=new WeakMap;var nl=cl,No,qo,ml=class ml extends re{constructor(t,i,n){super(t,i,n);l(this,No,void 0);l(this,qo,void 0);f(t.text,"Textarea widget data is missing text"),f(t.styles,"Textarea widget data is missing styles"),d(this,No,t.text),d(this,qo,t.styles)}get text(){return s(this,No)}get styles(){return s(this,qo)}toJSON(){return{...super.toJSON(),text:this.text,styles:this.styles}}static async create(t,i){let o=await u.redditAPIPlugins.Widgets.AddTextAreaWidget(t,i);return new ml(de.fromJSON(o),t.subreddit,i)}static async update(t,i){let o=await u.redditAPIPlugins.Widgets.UpdateTextAreaWidget(t,i);return new ml(de.fromJSON(o),t.subreddit,i)}};No=new WeakMap,qo=new WeakMap;var sl=ml,Ho,jo,Wo,pl=class pl extends re{constructor(t,i,n){super(t,i,n);l(this,Ho,void 0);l(this,jo,void 0);l(this,Wo,void 0);f(t.styles,"Button widget data is missing styles"),d(this,Ho,t.buttons),d(this,jo,t.description??""),d(this,Wo,t.styles)}get buttons(){return s(this,Ho)}get description(){return s(this,jo)}get styles(){return s(this,Wo)}toJSON(){return{...super.toJSON(),buttons:this.buttons,description:this.description,styles:this.styles}}static async create(t,i){let o=await u.redditAPIPlugins.Widgets.AddButtonWidget(t,i);return new pl(de.fromJSON(o),t.subreddit,i)}static async update(t,i){let o=await u.redditAPIPlugins.Widgets.UpdateButtonWidget(t,i);return new pl(de.fromJSON(o),t.subreddit,i)}};Ho=new WeakMap,jo=new WeakMap,Wo=new WeakMap;var ol=pl,Go,zo,gl=class gl extends re{constructor(t,i,n){super(t,i,n);l(this,Go,void 0);l(this,zo,void 0);d(this,Go,t.data.map(o=>yO.fromJSON(o))),f(t.styles,"Community list widget data is missing styles"),d(this,zo,t.styles)}get communities(){return s(this,Go)}get styles(){return s(this,zo)}toJSON(){return{...super.toJSON(),communities:this.communities,styles:this.styles}}static async create(t,i){let o=await u.redditAPIPlugins.Widgets.AddCommunityListWidget(t,i);return new gl(de.fromJSON(o),t.subreddit,i)}static async update(t,i){let o=await u.redditAPIPlugins.Widgets.UpdateCommunityListWidget(t,i);return new gl(de.fromJSON(o),t.subreddit,i)}};Go=new WeakMap,zo=new WeakMap;var al=gl,Vo,Jo,$o,fl=class fl extends re{constructor(t,i,n){super(t,i,n);l(this,Vo,void 0);l(this,Jo,void 0);l(this,$o,void 0);if(f(t.styles,"Post flair widget data is missing styles"),d(this,Vo,t.styles),d(this,Jo,t.order.map(o=>t.templates[o])),!(t.display&&t.display==="list"||t.display==="cloud"))throw new Error("Post flair widget data is missing display type");d(this,$o,t.display)}get styles(){return s(this,Vo)}get templates(){return s(this,Jo)}get display(){return s(this,$o)}toJSON(){return{...super.toJSON(),styles:this.styles,templates:this.templates,display:this.display}}static async create(t,i){let o=await u.redditAPIPlugins.Widgets.AddPostFlairWidget(t,i);return new fl(de.fromJSON(o),t.subreddit,i)}static async update(t,i){let o=await u.redditAPIPlugins.Widgets.UpdatePostFlairWidget(t,i);return new fl(de.fromJSON(o),t.subreddit,i)}};Vo=new WeakMap,Jo=new WeakMap,$o=new WeakMap;var dl=fl,Ko,Xo,Zo,Yo,Qo,hl=class hl extends re{constructor(t,i,n){super(t,i,n);l(this,Ko,void 0);l(this,Xo,void 0);l(this,Zo,void 0);l(this,Yo,void 0);l(this,Qo,void 0);f(t.stylesheetUrl,"Custom widget data is missing stylesheetUrl"),f(t.height,"Custom widget data is missing height"),f(t.css,"Custom widget data is missing css"),d(this,Ko,t.imageData??[]),d(this,Xo,t.text??""),d(this,Zo,t.stylesheetUrl),d(this,Yo,t.height),d(this,Qo,t.css)}get images(){return s(this,Ko)}get text(){return s(this,Xo)}get stylesheetUrl(){return s(this,Zo)}get height(){return s(this,Yo)}get css(){return s(this,Qo)}toJSON(){return{...super.toJSON(),images:this.images,text:this.text,stylesheetUrl:this.stylesheetUrl,height:this.height,css:this.css}}static async create(t,i){let o=await u.redditAPIPlugins.Widgets.AddCustomWidget(t,i);return new hl(de.fromJSON(o),t.subreddit,i)}static async update(t,i){let o=await u.redditAPIPlugins.Widgets.UpdateCustomWidget(t,i);return new hl(de.fromJSON(o),t.subreddit,i)}};Ko=new WeakMap,Xo=new WeakMap,Zo=new WeakMap,Yo=new WeakMap,Qo=new WeakMap;var ll=hl,ea,Tm=class extends re{constructor(t,i,n,o){super(i,n,o);l(this,ea,void 0);let a=t.rules.map(({description:c,priority:p,shortName:g,violationReason:v})=>(f(c,"Subreddit rule is missing description"),f(p,"Subreddit rule is missing priority"),f(g,"Subreddit rule is missing shortName"),f(v,"Subreddit rule is missing violationReason"),{description:c,priority:p,shortName:g,violationReason:v}));d(this,ea,a)}get rules(){return s(this,ea)}toJSON(){return{...super.toJSON(),rules:this.rules}}};ea=new WeakMap;var bO=(i=>(i[i.SUBREDDIT_PERMISSIONS=0]="SUBREDDIT_PERMISSIONS",i[i.APPROVED_CONTRIBUTORS_ONLY=1]="APPROVED_CONTRIBUTORS_ONLY",i[i.MODS_ONLY=2]="MODS_ONLY",i))(bO||{}),ye,be,an,dn,ln,un,cn,Ve,De=class De{constructor(e,t,i,n){l(this,ye,void 0);l(this,be,void 0);l(this,an,void 0);l(this,dn,void 0);l(this,ln,void 0);l(this,un,void 0);l(this,cn,void 0);l(this,Ve,void 0);J(this),d(this,ye,e),d(this,be,t),d(this,an,i.contentMd),d(this,dn,i.revisionId),d(this,ln,new Date(i.revisionDate)),d(this,un,i.reason??""),f(i.revisionBy?.data,"Wiki page author details are missing"),d(this,cn,new w(i.revisionBy.data,n)),d(this,Ve,n)}get name(){return s(this,ye)}get subredditName(){return s(this,be)}get content(){return s(this,an)}get revisionId(){return s(this,dn)}get revisionDate(){return s(this,ln)}get revisionReason(){return s(this,un)}get revisionAuthor(){return s(this,cn)}toJSON(){return{name:s(this,ye),subredditName:s(this,be),content:s(this,an),revisionId:s(this,dn),revisionDate:s(this,ln),revisionReason:s(this,un),revisionAuthor:s(this,cn).toJSON()}}async update(e,t){return De.updatePage({subredditName:s(this,be),page:s(this,ye),content:e,reason:t},s(this,Ve))}async getRevisions(e){return De.getPageRevisions({subredditName:s(this,be),page:s(this,ye),...e},s(this,Ve))}async revertTo(e){return De.revertPage(s(this,be),s(this,ye),e,s(this,Ve))}async getSettings(){return De.getPageSettings(s(this,be),s(this,ye),s(this,Ve))}async updateSettings(e){return De.updatePageSettings({subredditName:s(this,be),page:s(this,ye),listed:e.listed,permLevel:e.permLevel},s(this,Ve))}async addEditor(e){return De.addEditor(s(this,be),s(this,ye),e,s(this,Ve))}async removeEditor(e){return De.removeEditor(s(this,be),s(this,ye),e,s(this,Ve))}static async getPage(e,t,i){let o=await u.redditAPIPlugins.Wiki.GetWikiPage({subreddit:e,page:t},i);return f(o.data,"Failed to get wiki page"),new De(t,e,o.data,i)}static async getPages(e,t){return(await u.redditAPIPlugins.Wiki.GetWikiPages({subreddit:e},t)).data||[]}static async createPage(e,t){return De.updatePage(e,t)}static async updatePage(e,t){return await u.redditAPIPlugins.Wiki.EditWikiPage({subreddit:e.subredditName,page:e.page,content:e.content,reason:e.reason??""},t),De.getPage(e.subredditName,e.page,t)}static getPageRevisions(e,t){let i=u.redditAPIPlugins.Wiki;return new j({hasMore:!0,after:e.after,limit:e.limit,pageSize:e.pageSize,async fetch(n){let o=await i.GetWikiPageRevisions({subreddit:e.subredditName,page:e.page,limit:n.limit,after:n.after,before:n.before},t);return kO(o,t)}})}static async revertPage(e,t,i,n){await u.redditAPIPlugins.Wiki.RevertWikiPage({subreddit:e,page:t,revision:i},n)}static async getPageSettings(e,t,i){let o=await u.redditAPIPlugins.Wiki.GetWikiPageSettings({subreddit:e,page:t},i);return f(o.data,"Failed to get wiki page settings"),new vl(o.data,i)}static async updatePageSettings(e,t){let n=await u.redditAPIPlugins.Wiki.UpdateWikiPageSettings({subreddit:e.subredditName,page:e.page,listed:e.listed?"on":"",permlevel:e.permLevel},t);return f(n.data,"Failed to update wiki page settings"),new vl(n.data,t)}static async addEditor(e,t,i,n){await u.redditAPIPlugins.Wiki.AllowEditor({act:"add",subreddit:e,page:t,username:i},n)}static async removeEditor(e,t,i,n){await u.redditAPIPlugins.Wiki.AllowEditor({act:"del",subreddit:e,page:t,username:i},n)}};ye=new WeakMap,be=new WeakMap,an=new WeakMap,dn=new WeakMap,ln=new WeakMap,un=new WeakMap,cn=new WeakMap,Ve=new WeakMap;var he=De,mn,pn,gn,fn,hn,vn,Rm=class{constructor(e,t){l(this,mn,void 0);l(this,pn,void 0);l(this,gn,void 0);l(this,fn,void 0);l(this,hn,void 0);l(this,vn,void 0);d(this,mn,e.id),d(this,pn,e.page),d(this,gn,new Date(e.timestamp)),f(e.author?.data,"Wiki page revision author details are missing"),d(this,fn,new w(e.author.data,t)),d(this,hn,e.reason??""),d(this,vn,e.revisionHidden??!1)}get id(){return s(this,mn)}get page(){return s(this,pn)}get date(){return s(this,gn)}get author(){return s(this,fn)}get reason(){return s(this,hn)}get hidden(){return s(this,vn)}toJSON(){return{id:s(this,mn),page:s(this,pn),date:s(this,gn),author:s(this,fn).toJSON(),reason:s(this,hn),hidden:s(this,vn)}}};mn=new WeakMap,pn=new WeakMap,gn=new WeakMap,fn=new WeakMap,hn=new WeakMap,vn=new WeakMap;var yn,bn,kn,vl=class{constructor(e,t){l(this,yn,void 0);l(this,bn,void 0);l(this,kn,void 0);d(this,yn,e.listed),d(this,bn,e.permLevel),d(this,kn,e.editors.map(i=>(f(i.data,"Wiki page editor details are missing"),new w(i.data,t))))}get listed(){return s(this,yn)}get permLevel(){return s(this,bn)}get editors(){return s(this,kn)}toJSON(){return{listed:s(this,yn),permLevel:s(this,bn),editors:s(this,kn).map(e=>e.toJSON())}}};yn=new WeakMap,bn=new WeakMap,kn=new WeakMap;function kO(r,e){return f(r.data?.children,"Wiki page revision listing is missing children"),{children:r.data.children.map(i=>new Rm(i,e)),before:r.data.before,after:r.data.after}}var PO=(t=>(t.Gallery="GALLERY",t.Timeline="TIMELINE",t))(PO||{});function SO(r){return r==="GALLERY"?"GALLERY":"TIMELINE"}var _e,ke,ra,Pn,Sn,ia,na,sa,oa,pt,aa,da,Cn,ta=class ta{constructor(e,t){l(this,_e,void 0);l(this,ke,void 0);l(this,ra,void 0);l(this,Pn,void 0);l(this,Sn,void 0);l(this,ia,void 0);l(this,na,void 0);l(this,sa,void 0);l(this,oa,void 0);l(this,pt,void 0);l(this,aa,void 0);l(this,da,void 0);l(this,Cn,void 0);f(e.collectionId,"Collection Id is missing or undefined"),f(e.subredditId,"Subreddit Id is missing or undefined"),f(e.title,"Collection title is missing or undefined"),f(e.authorId,"Collection author's id is missing or undefined"),f(e.authorName,"Collection author's id is missing or undefined"),f(e.createdAtUtc,"Collection create timestamp is missing"),f(e.lastUpdateUtc,"Collection last updated timestamp is missing"),d(this,_e,t),d(this,ke,e.collectionId),d(this,ra,e.subredditId),d(this,Pn,e.title),d(this,Sn,e.description||""),d(this,ia,e.authorId),d(this,na,e.authorName),d(this,sa,e.permalink),d(this,oa,e.primaryLinkId),d(this,pt,e.linkIds||[]),d(this,Cn,SO(e.displayLayout)),d(this,aa,e.createdAtUtc),d(this,da,e.lastUpdateUtc),J(this)}get id(){return s(this,ke)}get subredditId(){return s(this,ra)}get title(){return s(this,Pn)}get description(){return s(this,Sn)}get authorId(){return s(this,ia)}get authorName(){return s(this,na)}get permalink(){return s(this,sa)}get primaryLinkId(){return s(this,oa)}get linkIds(){return s(this,pt)}get createdAtUtc(){return s(this,aa)}get lastUpdateUtc(){return s(this,da)}get displayLayout(){return s(this,Cn)}static async getCollectionById(e,t){let n=await u.redditAPIPlugins.PostCollections.Collection(e,t);return new ta(n,t)}static async create(e,t){let n=await u.redditAPIPlugins.PostCollections.Create({srFullname:e.subredditId,title:e.title,description:e.description,displayLayout:e.displayLayout},t);return new ta(n,t)}static async getCollectionsForSubreddit(e,t){return(await u.redditapiv2Plugin.GetSubredditCollections({srFullname:e.subredditId},t)).collections.map(n=>new ta(n,t))}async addPost(e){await u.redditAPIPlugins.PostCollections.AddPost({collectionId:s(this,ke),linkFullname:e},s(this,_e)),s(this,pt).push(e)}async removePost(e){await u.redditAPIPlugins.PostCollections.RemovePost({collectionId:s(this,ke),linkFullname:e},s(this,_e)),d(this,pt,s(this,pt).filter(i=>i!==e))}async delete(){await u.redditAPIPlugins.PostCollections.Delete({collectionId:s(this,ke)},s(this,_e))}async follow(e){await u.redditAPIPlugins.PostCollections.Follow({collectionId:s(this,ke),follow:e},s(this,_e))}async reorder(e){await u.redditAPIPlugins.PostCollections.Reorder({collectionId:s(this,ke),linkIds:e.join(",")},s(this,_e)),d(this,pt,e)}async updateTitle(e){await u.redditAPIPlugins.PostCollections.UpdateTitle({collectionId:s(this,ke),title:e},s(this,_e)),d(this,Pn,e)}async updateDescription(e){await u.redditAPIPlugins.PostCollections.UpdateDescription({collectionId:s(this,ke),description:e},s(this,_e)),d(this,Sn,e)}async updateLayout(e){await u.redditAPIPlugins.PostCollections.UpdateDisplayLayout({collectionId:s(this,ke),displayLayout:e},s(this,_e)),d(this,Cn,e)}};_e=new WeakMap,ke=new WeakMap,ra=new WeakMap,Pn=new WeakMap,Sn=new WeakMap,ia=new WeakMap,na=new WeakMap,sa=new WeakMap,oa=new WeakMap,pt=new WeakMap,aa=new WeakMap,da=new WeakMap,Cn=new WeakMap;var Kr=ta;var CO=["animate","color-profile","cursor","discard","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","foreignobject","hatch","hatchpath","mesh","meshgradient","meshpatch","meshrow","missing-glyph","script","set","solidcolor","unknown","use"],IO=["border-image","border-image-source","behavior","expression","list-style-image","cursor","content"],wO=["onload","onerror","onclick","onmouseover"];function AO(r){return/xmlns=["']http:\/\/www\.w3\.org\/2000\/svg["']/.test(r)?r:r.replace(/<svg\b/,'<svg xmlns="http://www.w3.org/2000/svg"')}function Qk(r){if(r){if(!r.trim().startsWith("<svg")){console.log("The provided string is not a valid SVG.");return}try{let e=new RegExp(`<\\s*(${CO.join("|")})\\b`,"gi"),t=new RegExp(`(${IO.join("|")})\\s*:\\s*url\\s*\\((['"]?)(.*?)\\2\\)`,"gi"),i=new RegExp(`(${wO.join("|")})\\s*(=\\s*(['"]?)(.*?)\\3)?`,"gi");r=r.trim().replace(/\s+/g," "),r=AO(r);let n=r.match(e)||[],o=r.match(t)||[],a=r.match(i)||[],c=!1;return n.length>0&&(c=!0,console.warn(`Disallowed elements detected in SVG: ${n.map(p=>p.replace("<","")).join(", ")}`)),o.length>0&&(c=!0,console.warn(`Disallowed styles detected in SVG: ${o.map(p=>p.split(":")[0]).join(", ")}`)),a.length>0&&(c=!0,console.warn(`Disallowed attributes detected in SVG: ${a.map(p=>p.split("=")[0]).join(", ")}`)),c?void 0:r}catch{return}}}function dH(r,...e){let t="";return r.forEach((i,n)=>{t+=i;let o=e[n];o!==void 0&&(t+=`${o}`)}),t=Qk(t),t===void 0?"":`data:image/svg+xml;charset=UTF-8,${encodeURIComponent(t)}`}export{JM as ALL_ICON_NAMES,Nv as AboutLocations,ol as ButtonWidget,nl as CalendarWidget,PO as CollectionDisplayLayout,X as Comment,al as CommunityListWidget,ll as CustomWidget,u as Devvit,Oe as Flair,oe as FlairTemplate,XR as FlairType,yt as Hook,il as ImageWidget,j as Listing,pO as ModMailActionType,cO as ModMailConversationState,nd as ModMailService,Re as ModNote,V as Post,Kr as PostCollection,dl as PostFlairWidget,tr as PrivateMessage,Os as RichTextBuilder,vc as SettingScope,fe as Subreddit,Tm as SubredditRulesWidget,sl as TextAreaWidget,w as User,re as Widget,he as WikiPage,bO as WikiPagePermissionLevel,Rm as WikiPageRevision,vl as WikiPageSettings,Bs as convertUserFlairProtoToAPI,id as getModerationLog,qv as getVaultByAddress,Hv as getVaultByUserId,dH as svg,mm as useAsync,NR as useAsyncState,im as useForm,dm as useInterval,um as useState};
6
6
  /*! Bundled license information:
7
7
 
8
8
  shallow-clone/index.js: