holosphere 1.3.0-alpha5 → 1.3.0-alpha7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/content.js +98 -17
- package/global.js +44 -2
- package/holosphere-bundle.esm.js +83 -16
- package/holosphere-bundle.js +83 -16
- package/holosphere-bundle.min.js +8 -8
- package/holosphere.d.ts +29 -2
- package/holosphere.js +4 -4
- package/package.json +1 -1
package/holosphere-bundle.min.js
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
/* HoloSphere Bundle v1.3.0-
|
|
2
|
-
var HoloSphere=(()=>{var a1=Object.create;var pi=Object.defineProperty;var u1=Object.getOwnPropertyDescriptor;var l1=Object.getOwnPropertyNames;var f1=Object.getPrototypeOf,c1=Object.prototype.hasOwnProperty;var Ru=(n=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(n,{get:(e,s)=>(typeof require<"u"?require:e)[s]}):n)(function(n){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+n+'" is not supported')});var me=(n,e)=>()=>(e||n((e={exports:{}}).exports,e),e.exports),Iu=(n,e)=>{for(var s in e)pi(n,s,{get:e[s],enumerable:!0})},Hu=(n,e,s,a)=>{if(e&&typeof e=="object"||typeof e=="function")for(let c of l1(e))!c1.call(n,c)&&c!==s&&pi(n,c,{get:()=>e[c],enumerable:!(a=u1(e,c))||a.enumerable});return n};var Qu=(n,e,s)=>(s=n!=null?a1(f1(n)):{},Hu(e||!n||!n.__esModule?pi(s,"default",{value:n,enumerable:!0}):s,n)),d1=n=>Hu(pi({},"__esModule",{value:!0}),n);var Zu=me((D8,Xo)=>{(function(){function n(s,a){return a?Ru(s):s.slice?n[c(s)]:function(h,g){s(h={exports:{}}),n[c(g)]=h.exports};function c(h){return h.split("/").slice(-1).toString().replace(".js","")}}if(typeof Xo<"u")var e=Xo;n(function(s){String.random=function(c,h){var g="";for(c=c||24,h=h||"0123456789ABCDEFGHIJKLMNOPQRSTUVWXZabcdefghijklmnopqrstuvwxyz";c-- >0;)g+=h.charAt(Math.floor(Math.random()*h.length));return g},String.match=function(c,h){var g,m;return typeof c!="string"?!1:(typeof h=="string"&&(h={"=":h}),h=h||{},g=h["="]||h["*"]||h[">"]||h["<"],c===g?!0:m!==h["="]?!1:(g=h["*"]||h[">"],c.slice(0,(g||"").length)===g?!0:m!==h["*"]?!1:m!==h[">"]&&m!==h["<"]?c>=h[">"]&&c<=h["<"]:m!==h[">"]&&c>=h[">"]||m!==h["<"]&&c<=h["<"]))},String.hash=function(c,h){if(typeof c=="string"){if(h=h||0,!c.length)return h;for(var g=0,m=c.length,v;g<m;++g)v=c.charCodeAt(g),h=(h<<5)-h+v,h|=0;return h}};var a=Object.prototype.hasOwnProperty;Object.plain=function(c){return c?c instanceof Object&&c.constructor===Object||Object.prototype.toString.call(c).match(/^\[object (\w+)\]$/)[1]==="Object":!1},Object.empty=function(c,h){for(var g in c)if(a.call(c,g)&&(!h||h.indexOf(g)==-1))return!1;return!0},Object.keys=Object.keys||function(c){var h=[];for(var g in c)a.call(c,g)&&h.push(g);return h},(function(){var c,h=setTimeout,g=0,m=0,v=typeof setImmediate!=""+c&&setImmediate||(function(w,E){return typeof MessageChannel==""+c?h:((w=new MessageChannel).port1.onmessage=function($){$.data==""&&E()},function($){E=$,w.port2.postMessage("")})})(),b=h.check=h.check||typeof performance!=""+c&&performance||{now:function(){return+new Date}};h.hold=h.hold||9,h.poll=h.poll||function(w){if(h.hold>=b.now()-g&&m++<3333){w();return}v(function(){g=b.now(),w()},m=0)}})(),(function(){var c=setTimeout,h=c.turn=c.turn||function(E){g.push(E)==1&&m(w)},g=h.s=[],m=c.poll,v=0,b,w=function(){(b=g[v++])&&b(),(v==g.length||v==99)&&(g=h.s=g.slice(v),v=0),g.length&&m(w)}})(),(function(){var c,h=setTimeout,g=h.turn;(h.each=h.each||function(m,v,b,w){w=w||9,(function E($,k,T){if(k=($=(m||[]).splice(0,w)).length){for(var x=0;x<k&&c===(T=v($[x]));x++);if(c===T){g(E);return}}b&&b(T)})()})()})()})(n,"./shim"),n(function(s){s.exports=function a(b,h,g){if(!b)return{to:a};var m,v=typeof h=="function",b=(this.tag||(this.tag={}))[b]||v&&(this.tag[b]={tag:b,to:a._={next:function(E){var $;($=this.to)&&$.next(E)}}});if(v){var w={off:a.off||(a.off=function(){if(this.next===a._.next)return!0;this===this.the.last&&(this.the.last=this.back),this.to.back=this.back,this.next=a._.next,this.back.to=this.to,this.the.last===this.the&&delete this.on.tag[this.the.tag]}),to:a._,next:h,the:b,on:this,as:g};return(w.back=b.last||b).to=w,b.last=w}return(b=b.to)&&m!==h&&b.next(h),b}})(n,"./onto"),n(function(s){s.exports=function(a){return a===null||typeof a=="string"||typeof a=="boolean"||typeof a=="number"&&a!=1/0&&a!=-1/0&&a===a||!!a&&typeof a["#"]=="string"&&Object.keys(a).length===1&&a["#"]}})(n,"./valid"),n(function(s){n("./shim");function a(){var b=+new Date;return m<b?(h=0,m=b+a.drift):m=b+(h+=1)/g+a.drift}a.drift=0;var c=-1/0,h=0,g=999,m=c,v;a.is=function(b,w,E){var $=w&&b&&b._&&b._[">"]||E;if($)return typeof($=$[w])=="number"?$:c},a.ify=function(b,w,E,$,k){(b=b||{})._=b._||{},k&&(b._["#"]=k);var T=b._[">"]||(b._[">"]={});return v!==w&&w!=="_"&&(typeof E=="number"&&(T[w]=E),v!==$&&(b[w]=$)),b},s.exports=a})(n,"./state"),n(function(s){n("./shim");function a(c){var h={s:{}},g=h.s;c=c||{max:999,age:1e3*9},h.check=function(v){return g[v]?m(v):!1};var m=h.track=function(v){var b=g[v]||(g[v]={});return b.was=h.now=+new Date,h.to||(h.to=setTimeout(h.drop,c.age+9)),m.ed&&m.ed(v),b};return h.drop=function(v){h.to=null,h.now=+new Date;var b=Object.keys(g);console.STAT&&console.STAT(h.now,+new Date-h.now,"dup drop keys"),setTimeout.each(b,function(w){var E=g[w];E&&(v||c.age)>h.now-E.was||delete g[w]},0,99)},h}s.exports=a})(n,"./dup"),n(function(s){n("./onto"),s.exports=function(h,g){if(this.on){var m=(this.opt||{}).lack||9e3;if(typeof h!="function"){if(!h)return;var b=h["#"]||h,v=(this.tag||"")[b];return v?(g&&(v=this.on(b,g),clearTimeout(v.err),v.err=setTimeout(function(){v.off()},m)),!0):void 0}var b=g&&g["#"]||a(9);if(!h)return b;var w=this.on(b,h,g);return w.err=w.err||setTimeout(function(){w.off(),w.next({err:"Error: No ACK yet.",lack:!0})},m),b}};var a=String.random||function(){return Math.random().toString(36).slice(2)}})(n,"./ask"),n(function(s){function a(k){return k instanceof a?(this._={$:this}).$:this instanceof a?a.create(this._={$:this,opt:k}):new a(k)}a.is=function(k){return k instanceof a||k&&k._&&k===k._.$||!1},a.version=.202,a.chain=a.prototype,a.chain.toJSON=function(){},n("./shim"),a.valid=n("./valid"),a.state=n("./state"),a.on=n("./onto"),a.dup=n("./dup"),a.ask=n("./ask"),(function(){a.create=function(D){D.root=D.root||D,D.graph=D.graph||{},D.on=D.on||a.on,D.ask=D.ask||a.ask,D.dup=D.dup||a.dup();var B=D.$.opt(D.opt);return D.once||(D.on("in",k,D),D.on("out",k,D),D.on("put",M,D),a.on("create",D),D.on("create",D)),D.once=1,B};function k(D){if(D){if(D.out===k){this.to.next(D);return}var B=this,C=B.as,Q=C.at||C,W=Q.$,J=Q.dup,z,ne=D.DBG;if((z=D["#"])||(z=D["#"]=h(9)),!J.check(z)){if(J.track(z),z=D._,D._=typeof z=="function"?z:function(){},D.$&&D.$===(D.$._||"").$||(D.$=W),D["@"]&&!D.put&&q(D),!Q.ask(D["@"],D))if(ne&&(ne.u=+new Date),D.put){T(D);return}else D.get&&a.on.get(D,W);ne&&(ne.uc=+new Date),B.to.next(D),ne&&(ne.ua=+new Date),!(D.nts||D.NTS)&&(D.out=k,Q.on("out",D),ne&&(ne.ue=+new Date))}}}function T(D){if(D){var B=D._||"",C=B.root=((B.$=D.$||"")._||"").root;if(D["@"]&&B.faith&&!B.miss){D.out=k,C.on("out",D);return}B.latch=C.hatch,B.match=C.hatch=[];var Q=D.put,W=B.DBG=D.DBG,J=+new Date;if(ye=ye||J,!(Q["#"]&&Q["."])){W&&(W.p=J),B["#"]=D["#"],B.msg=D,B.all=0,B.stun=1;var z=Object.keys(Q);console.STAT&&console.STAT(J,((W||B).pk=+new Date)-J,"put sort");var ne=0,ie,ue,ge,Pe,Ee,ve,Me;(function rA(fA){if(ie!=ne){if(ie=ne,!(ge=z[ne])){console.STAT&&console.STAT(J,((W||B).pd=+new Date)-J,"put"),N(B);return}(Pe=Q[ge])?(Me=Pe._)?ge!==Me["#"]?ve=G+V(ge)+"soul not same.":(Ee=Me[">"])||(ve=G+V(ge)+"no state."):ve=G+V(ge)+"no meta.":ve=G+V(ge)+"no node.",ue=Object.keys(Pe||{})}if(ve){D.err=B.err=ve,N(B);return}var Ye=0,nA;for(fA=fA||0;fA++<9&&(nA=ue[Ye++]);)if(nA!=="_"){var RA=Pe[nA],WA=Ee[nA];if(w===WA){ve=G+V(nA)+"on"+V(ge)+"no state.";break}if(!m(RA)){ve=G+V(nA)+"on"+V(ge)+"bad "+typeof RA+V(RA);break}x(RA,nA,ge,WA,D),++X}if((ue=ue.slice(Ye)).length){g(rA);return}++ne,ue=null,rA(fA)})()}}}a.on.put=T;function x(D,B,C,Q,W){var J=W._||"",z=J.root,ne=z.graph,ie,ue,ge=ne[C]||E,Pe=v(ge,B,1),Ee=ge[B],ve=J.DBG;(ue=console.STAT)&&(!ne[C]||!Ee)&&(ue.has=(ue.has||0)+1);var Me=K(),rA;if(Q>Me){setTimeout(function(){x(D,B,C,Q,W)},(ue=Q-Me)>fe?fe:ue),console.STAT&&console.STAT((ve||J).Hf=+new Date,ue,"future");return}if(!(Q<Pe)&&!(!J.faith&&Q===Pe&&(D===Ee||Y(D)<=Y(Ee))&&!J.miss)){J.stun++;var fA=W["#"]+J.all++,Ye={toString:function(){return fA},_:J};Ye.toJSON=Ye.toString,z.dup.track(Ye)["#"]=W["#"],ve&&(ve.ph=ve.ph||+new Date),z.on("put",{"#":Ye,"@":W["@"],put:{"#":C,".":B,":":D,">":Q},ok:W.ok,_:J})}}function M(D){var B;(B=(D._||"").DBG)&&(B.pa=+new Date,B.pm=B.pm||+new Date);var C=this,Q=C.as,W=Q.graph,J=D._,z=D.put,ne=z["#"],ie=z["."],ue=z[":"],ge=z[">"],Pe=D["#"],Ee;(Ee=J.msg)&&(Ee=Ee.put)&&(Ee=Ee[ne])&&b(Ee,ie,ge,ue,ne),W[ne]=b(W[ne],ie,ge,ue,ne),(Ee=(Q.next||"")[ne])&&Ee.on("in",D),N(J),C.to.next(D)}function N(D,B){var C;if(!D.stop&&!(!D.err&&0<--D.stun)&&(D.stop=1,!!(C=D.root))){var Q=D.match;Q.end=1,Q===C.hatch&&(!(Q=D.latch)||Q.end?delete C.hatch:C.hatch=Q),D.hatch&&D.hatch(),setTimeout.each(D.match,function(W){W&&W()}),!(!(B=D.msg)||D.err||B.err)&&(B.out=k,D.root.on("out",B),le())}}function q(D){var B=D["@"]||"",C,Q,W;if(!(C=B._)){var J=(J=D.$)&&(J=J._)&&(J=J.root)&&(J=J.dup);if(!(J=J.check(B)))return;D["@"]=J["#"]||D["@"];return}C.acks=(C.acks||0)+1,(C.err=D.err)&&(D["@"]=C["#"],N(C)),C.ok=D.ok||C.ok,!C.stop&&!C.crack&&(C.crack=C.match&&C.match.push(function(){L(C)})),L(C)}function L(D){!D||!D.root||D.stun||D.acks!==D.all||D.root.on("in",{"@":D["#"],err:D.err,ok:D.err?w:D.ok||{"":1}})}var G="Error: Invalid graph!",V=function(D){return" '"+(""+D).slice(0,9)+"...' "},Y=JSON.stringify,fe=2147483647,K=a.state,X=0,ye,le=function(){X>999&&X/-(ye-(ye=+new Date))>1&&(a.window&&console.log("Warning: You're syncing 1K+ records a second, faster than DOM can update - consider limiting query."),le=function(){X=0})}})(),(function(){a.on.get=function(T,x){var M=x._,N=T.get,q=N["#"],L=M.graph[q],G=N["."],V=M.next||(M.next={}),Y=V[q],fe=T._||{},K=fe.DBG=T.DBG;if(K&&(K.g=+new Date),!L)return M.on("get",T);if(G){if((typeof G!="string"||w===L[G])&&!((Y||"").next||"")[G]){M.on("get",T);return}L=b({},G,v(L,G),L[G],q)}L&&k(T,L),M.on("get",T)};function k(T,x){var M=+new Date,N=T._||{},q=N.DBG=T.DBG,L=T["#"],G=h(9),V=Object.keys(x||"").sort(),Y=((x||"")._||"")["#"],fe=V.length,K=0,X=T.$._.root,ye=x===X.graph[Y];console.STAT&&console.STAT(M,((q||N).gk=+new Date)-M,"got keys"),x&&(function le(){M=+new Date;for(var D=0,B,C={},Q;D<9&&(B=V[D++]);)b(C,B,v(x,B),x[B],Y);V=V.slice(D),(Q={})[Y]=C,C=Q;var W;ye&&(W=function(){},W.ram=W.faith=!0),Q=V.length,console.STAT&&console.STAT(M,-(M-(M=+new Date)),"got copied some"),q&&(q.ga=+new Date),X.on("in",{"@":L,"#":G,put:C,"%":Q?G=h(9):w,$:X.$,_:W,DBG:q,FOO:1}),console.STAT&&console.STAT(M,+new Date-M,"got in"),Q&&setTimeout.turn(le)})(),x||X.on("in",{"@":T["#"]})}a.on.get.ack=k})(),(function(){a.chain.opt=function(k){k=k||{};var T=this,x=T._,M=k.peers||k;return Object.plain(k)||(k={}),Object.plain(x.opt)||(x.opt=k),typeof M=="string"&&(M=[M]),Object.plain(x.opt.peers)||(x.opt.peers={}),M instanceof Array&&(k.peers={},M.forEach(function(N){var q={};q.id=q.url=N,k.peers[N]=x.opt.peers[N]=x.opt.peers[N]||q})),c(k,function N(q){var L=this[q];if(this&&this.hasOwnProperty(q)||typeof L=="string"||Object.empty(L)){this[q]=L;return}L&&L.constructor!==Object&&!(L instanceof Array)||c(L,N)}),x.opt.from=k,a.on("opt",x),x.opt.uuid=x.opt.uuid||function(q){return a.state().toString(36).replace(".","")+String.random(q||12)},T}})();var c=function(k,T){Object.keys(k).forEach(T,k)},h=String.random,g=setTimeout.turn,m=a.valid,v=a.state.is,b=a.state.ify,w,E={},$;a.log=function(){return!a.log.off&&$.log.apply($,arguments),[].slice.call(arguments).join(" ")},a.log.once=function(k,T,x){return(x=a.log.once)[k]=x[k]||0,x[k]++||a.log(T)},typeof window<"u"&&((window.GUN=window.Gun=a).window=window);try{typeof e<"u"&&(e.exports=a)}catch{}s.exports=a,(a.window||{}).console=(a.window||{}).console||{log:function(){}},($=console).only=function(k,T){return $.only.i&&k===$.only.i&&$.only.i++&&($.log.apply($,arguments)||T)},a.log.once("welcome","Hello wonderful person! :) Thanks for using GUN, please ask for help on http://chat.gun.eco if anything takes you longer than 5min to figure out!")})(n,"./root"),n(function(s){var a=n("./root");a.chain.back=function(g,m){var v;if(g=g||1,g===-1||g===1/0)return this._.root.$;if(g===1)return(this._.back||this._).$;var b=this,w=b._;if(typeof g=="string"&&(g=g.split(".")),g instanceof Array){var E=0,$=g.length,v=w;for(E;E<$;E++)v=(v||c)[g[E]];return h!==v?m?b:v:(v=w.back)?v.$.back(g,m):void 0}if(typeof g=="function"){for(var k,v={back:w};(v=v.back)&&h===(k=g(v,m)););return k}return typeof g=="number"?(w.back||w).$.back(g-1):this};var c={},h})(n,"./back"),n(function(s){var a=n("./root");a.chain.chain=function(N){var q=this,L=q._,G=new(N||q).constructor(q),V=G._,Y;return V.root=Y=L.root,V.id=++Y.once,V.back=q._,V.on=a.on,V.on("in",a.on.in,V),V.on("out",a.on.out,V),G};function c(N){var q,L,G=this.as,V=G.back,Y=G.root,fe;if(N.$||(N.$=G.$),this.to.next(N),G.err){G.on("in",{put:G.put=w,$:G.$});return}if(L=N.get){if(Y.pass&&(Y.pass[G.id]=G),G.lex&&Object.keys(G.lex).forEach(function(K){fe[K]=G.lex[K]},fe=N.get=N.get||{}),L["#"]||G.soul){if(L["#"]=L["#"]||G.soul,N["#"]||(N["#"]=E(9)),V=Y.$.get(L["#"])._,L=L["."]){if(k(V.put,L)&&(fe=V.ask&&V.ask[L],(V.ask||(V.ask={}))[L]=V.$.get(L)._,V.on("in",{get:L,put:{"#":V.soul,".":L,":":V.put[L],">":x(Y.graph[V.soul],L)}}),fe))return}else{if(fe=V.ask&&V.ask[""],(V.ask||(V.ask={}))[""]=V,w!==V.put&&(V.on("in",V),fe))return;N.$=V.$}return Y.ask(v,N),Y.on("in",N)}if(L["."])return G.get?(N={get:{".":G.get},$:G.$},(V.ask||(V.ask={}))[G.get]=N.$._,V.on("out",N)):(N={get:G.lex?N.get:{},$:G.$},V.on("out",N));if((G.ask||(G.ask={}))[""]=G,G.get)return L["."]=G.get,(V.ask||(V.ask={}))[G.get]=N.$._,V.on("out",N)}return V.on("out",N)}a.on.out=c;function h(N,q){q=q||this.as;var L=q.root,G=N.$||(N.$=q.$),V=(G||"")._||b,Y=N.put||"",fe=Y["#"],K=Y["."],X=w!==Y["="]?Y["="]:Y[":"],ye=Y[">"]||-1/0,le;if(w!==N.put&&(w===Y["#"]||w===Y["."]||w===Y[":"]&&w===Y["="]||w===Y[">"])){if(!$(Y)){if(!(fe=((Y||"")._||"")["#"])){console.log("chain not yet supported for",Y,"...",N,q);return}return G=q.root.$.get(fe),setTimeout.each(Object.keys(Y).sort(),function(D){D=="_"||w===(ye=x(Y,D))||q.on("in",{$:G,put:{"#":fe,".":D,"=":Y[D],">":ye},VIA:N})})}q.on("in",{$:V.back.$,put:{"#":fe=V.back.soul,".":K=V.has||V.get,"=":Y,">":x(V.back.put,K)},via:N});return}(N.seen||"")[q.id]||((N.seen||(N.seen=function(){}))[q.id]=q,q!==V&&(Object.keys(N).forEach(function(D){Y[D]=N[D]},Y={}),Y.get=q.get||Y.get,!q.soul&&!q.has?Y.$$$=Y.$$$||q.$:V.soul&&(Y.$=q.$,Y.$$=Y.$$||V.$),N=Y),m(N,q),(q.soul||N.$$)&&ye>=x(L.graph[fe],K)&&((Y=L.$.get(fe)._).put=M(Y.put,K,ye,X,fe)),!V.soul&&ye>=x(L.graph[fe],K)&&(le=(L.$.get(fe)._.next||"")[K])&&(le.put=X,typeof(Y=$(X))=="string"&&(le.put=L.$.get(Y)._.put||X)),this.to&&this.to.next(N),q.any&&setTimeout.each(Object.keys(q.any),function(D){(D=q.any[D])&&D(N)},0,99),q.echo&&setTimeout.each(Object.keys(q.echo),function(D){(D=q.echo[D])&&D.on("in",N)},0,99),((N.$$||"")._||V).soul&&(le=q.next)&&(le=le[K])&&(Y={},Object.keys(N).forEach(function(D){Y[D]=N[D]}),Y.$=(N.$$||N.$).get(Y.get=K),delete Y.$$,delete Y.$$$,le.on("in",Y)),g(N,q))}a.on.in=h;function g(N,q){if(q=q||this.as||N.$._,!(N.$$&&this!==a.on)&&!(!N.put||q.soul)){var L=N.put||"",G=L["="]||L[":"],K,V=q.root,Y=V.$.get(L["#"]).get(L["."])._;if(typeof(G=$(G))!="string"){this===a.on&&((Y.echo||(Y.echo={}))[q.id]=q);return}if(!((Y.echo||(Y.echo={}))[q.id]&&!(V.pass||"")[q.id])){if(K=V.pass){if(K[G+q.id])return;K[G+q.id]=1}(Y.echo||(Y.echo={}))[q.id]=q,q.has&&(q.link=G);var fe=V.$.get(Y.link=G)._;(fe.echo||(fe.echo={}))[Y.id]=Y;var K=q.ask||"";(K[""]||q.lex)&&fe.on("out",{get:{"#":G}}),setTimeout.each(Object.keys(K),function(X,ye){!X||!(ye=K[X])||ye.on("out",{get:{"#":G,".":X}})},0,99)}}}a.on.link=g;function m(N,q){var L=N.put||"",G=w!==L["="]?L["="]:L[":"],V=q.root,Y,fe;if(w===G){if(q.soul&&w!==q.put||(fe=(N.$$||N.$||"")._||"",N["@"]&&(w!==fe.put||w!==q.put)))return;(Y=q.link||N.linked)&&delete(V.$.get(Y)._.echo||"")[q.id],q.has&&(q.link=null),q.put=w,setTimeout.each(Object.keys(q.next||""),function(K,X){(X=q.next[K])&&(Y&&delete(V.$.get(Y).get(K)._.echo||"")[X.id],X.on("in",{get:K,put:w,$:X.$}))},0,99);return}q.soul||N.$$||(Y=$(G),fe=N.$._||"",!((Y===fe.link||q.has&&!fe.link)&&!((V.pass||"")[q.id]&&typeof Y!="string"))&&(delete(fe.echo||"")[q.id],m({get:q.get,put:w,$:N.$,linked:N.linked=N.linked||fe.link},q)))}a.on.unlink=m;function v(N,q){var L=this.as,G=L.$._,V=G.root,Y=L.get||"",fe=(N.put||"")[Y["#"]]||"";if(!N.put||typeof Y["."]=="string"&&w===fe[Y["."]]){if(w!==G.put||!G.soul&&!G.has)return;G.ack=(G.ack||0)+1,G.on("in",{get:G.get,put:G.put=w,$:G.$,"@":N["@"]});return}(N._||{}).miss=1,a.on.put(N)}var b={},w,E=String.random,$=a.valid,k=function(N,q){return N&&Object.prototype.hasOwnProperty.call(N,q)},T=a.state,x=T.is,M=T.ify})(n,"./chain"),n(function(s){var a=n("./root");a.chain.get=function(w,E,$){var k,T;if(typeof w=="string"){if(w.length==0)return(k=this.chain())._.err={err:a.log("0 length key!",w)},E&&E.call(k,k._.err),k;var x=this,M=x._,N=M.next||m;(k=N[w])||(k=w&&c(w,x)),k=k&&k.$}else if(typeof w=="function"){let K=function(X,ye,le){if(!K.stun&&!((z=L.pass)&&!z[G])){var D=X.$._,B=(X.$$||"")._,C=(B||D).put,Q=!D.has&&!D.soul,W={},J,z;if((Q||b===C)&&(C=b===((z=X.put)||"")["="]?b===(z||"")[":"]?z:z[":"]:z["="]),(J=typeof(z=a.valid(C))=="string")&&(C=b===(z=L.$.get(z)._.put)?q.not?b:C:z),!(q.not&&b===C)){if(b===q.stun){if((z=L.stun)&&z.on&&(M.$.back(function(ne){if(z.on(""+ne.id,W={}),(W.run||0)<K.id)return W}),!W.run&&z.on(""+D.id,W={}),!W.run&&B&&z.on(""+B.id,W={}),K.id>W.run&&((!W.stun||W.stun.end)&&(W.stun=z.on("stun"),W.stun=W.stun&&W.stun.last),W.stun&&!W.stun.end))){(W.stun.add||(W.stun.add={}))[G]=function(){K(X,ye,1)};return}if(b===C&&(le=0),(z=L.hatch)&&!z.end&&b===q.hatch&&!le){if(V[D.$._.id])return;V[D.$._.id]=1,z.push(function(){K(X,ye,1)});return}V={}}if(L.pass){if(L.pass[G+D.id])return;L.pass[G+D.id]=1}if(q.on){q.ok.call(D.$,C,D.get,X,ye||K);return}if(q.v2020){q.ok(X,ye||K);return}Object.keys(X).forEach(function(ne){z[ne]=X[ne]},z={}),X=z,X.put=C,q.ok.call(q.as,X,ye||K)}}};var Y=K;if(E===!0)return h(this,w,E,$),this;k=this;var M=k._,q=E||{},L=M.root,G;q.at=M,q.ok=w;var V={};return K.at=M,(M.any||(M.any={}))[G=String.random(7)]=K,K.off=function(){K.stun=1,M.any&&delete M.any[G]},K.rid=g,K.id=q.run||++L.once,T=L.pass,(L.pass={})[G]=1,q.out=q.out||{get:{}},M.on("out",q.out),L.pass=T,k}else{if(typeof w=="number")return this.get(""+w,E,$);if(typeof(T=v(w))=="string")return this.get(T,E,$);(T=this.get.next)&&(k=T(this,w))}return k?(E&&typeof E=="function"&&k.get(E,$),k):((k=this.chain())._.err={err:a.log("Invalid get request!",w)},E&&E.call(k,k._.err),k)};function c(w,E){var $=E._,k=$.next,T=E.chain(),x=T._;return k||(k=$.next={}),k[x.get=w]=x,E===$.root.$?x.soul=w:($.soul||$.has)&&(x.has=w),x}function h(w,E,$,k){var T=w._,x=0,M;return(M=T.soul||T.link)?E(M,k,T):T.jam?T.jam.push([E,k]):(T.jam=[[E,k]],w.get(function(q,L){if(!(b===q.put&&!T.root.opt.super&&(M=Object.keys(T.root.opt.peers).length)&&++x<=M)){L.rid(q);var G=(G=q.$)&&G._||{},V=0,Y;for(M=T.jam,delete T.jam;Y=M[V++];){var fe=Y[0],K;Y=Y[1],fe&&fe(K=G.link||G.soul||a.valid(q.put)||((q.put||{})._||{})["#"],Y,q,L)}}},{out:{get:{".":!0}}}),w)}function g(w){var E=this.at||this.on;if(!w||E.soul||E.has)return this.off();if(w=(w=(w=w.$||w)._||w).id){var $=E.map,k,T;if(k=(T=this.seen||(this.seen={}))[w])return!0;T[w]=!0}}var m={},v=a.valid,b})(n,"./get"),n(function(s){var a=n("./root");a.chain.put=function(x,M,N){var q=this,L=q._,G=L.root;N=N||{},N.root=L.root,N.run||(N.run=G.once),c(N,L.id),N.ack=N.ack||M,N.via=N.via||q,N.data=N.data||x,N.soul||(N.soul=L.soul||typeof M=="string"&&M);var V=N.state=N.state||a.state();return typeof x=="function"?(x(function(Y){N.data=Y,q.put(v,v,N)}),q):N.soul?(N.$=G.$.get(N.soul),N.todo=[{it:N.data,ref:N.$}],N.turn=N.turn||E,N.ran=N.ran||h,(function Y(){var fe=N.todo,K=fe.pop(),X=K.it,ye=K.ref&&K.ref._.id,le,D,B,C,Q;if(c(N,K.ref),(C=K.todo)&&(D=C.pop(),X=X[D],C.length&&fe.push(K)),D&&(fe.path||(fe.path=[])).push(D),!(le=$(X))&&!(Q=a.is(X))){if(!Object.plain(X)){h.err(N,"Invalid data: "+m(X)+" at "+(N.via.back(function(ie){ie.get&&C.push(ie.get)},C=[])||C.join("."))+"."+(fe.path||[]).join("."));return}for(var W=N.seen||(N.seen=[]),J=W.length;J--;)if(X===(C=W[J]).it){le=X=C.link;break}}if(D&&le)K.node=k(K.node,D,V,X);else{let ie=function(ue,ge){var Pe=B.link["#"];ge&&(ge.off(),ge.rid(ue));var Ee=Pe||ue.soul||(C=(ue.$$||ue.$)._||"").soul||C.link||((C=C.put||"")._||"")["#"]||C["#"]||((C=ue.put||"")&&ue.$$?C["#"]:(C["="]||C[":"]||"")["#"]);if(!Pe&&c(N,ue.$),!Ee&&!K.link["#"]){(K.wait||(K.wait=[])).push(function(){ie(ue,ge)});return}Ee||(Ee=[],(ue.$$||ue.$).back(function(ve){if(C=ve.soul||ve.link)return Ee.push(C);Ee.push(ve.get)}),Ee=Ee.reverse().join("/")),B.link["#"]=Ee,!Q&&(((N.graph||(N.graph={}))[Ee]=B.node||(B.node={_:{}}))._["#"]=Ee),delete N.wait[z],B.wait&&setTimeout.each(B.wait,function(ve){ve&&ve()}),N.ran(N)};var ne=ie;if(!N.seen){h.err(N,"Data at root of graph must be a node (an object).");return}N.seen.push(B={it:X,link:{},todo:Q?[]:Object.keys(X).sort().reverse(),path:(fe.path||[]).slice(),up:K}),K.node=k(K.node,D,V,B.link),!Q&&B.todo.length&&fe.push(B);var z=N.seen.length;(N.wait||(N.wait={}))[z]="",C=(B.ref=Q?X:D?K.ref.get(D):K.ref)._,(C=X&&(X._||"")["#"]||C.soul||C.link)?ie({soul:C}):B.ref.get(ie,{run:N.run,v2020:1,out:{get:{".":" "}}})}if(!fe.length)return N.ran(N);N.turn(Y)})(),q):(g(N),q)};function c(x,M){if(M){M=(M._||"").id||M;var N=x.root.stun||(x.root.stun={on:a.on}),q={},L;x.stun||(x.stun=N.on("stun",function(){})),(L=N.on(""+M))&&L.the.last.next(q),!(q.run>=x.run)&&N.on(""+M,function(G){if(x.stun.end){this.off(),this.to.next(G);return}G.run=G.run||x.run,G.stun=G.stun||x.stun})}}function h(x){if(x.err){h.end(x.stun,x.root);return}if(!(x.todo.length||x.end||!Object.empty(x.wait))){x.end=1;var M=x.$.back(-1)._,N=M.root,q=M.ask(function(Y){N.on("ack",Y),Y.err&&!Y.lack&&a.log(Y),++L>(x.acks||0)&&this.off(),x.ack&&x.ack(Y,this)},x.opt),L=0,G=x.stun,V;(V=function(){G&&(h.end(G,N),setTimeout.each(Object.keys(G=G.add||""),function(Y){(Y=G[Y])&&Y()}))}).hatch=V,x.ack&&!x.ok&&(x.ok=x.acks||9),x.via._.on("out",{put:x.out=x.graph,ok:x.ok&&{"@":x.ok+1},opt:x.opt,"#":q,_:V})}}h.end=function(x,M){x.end=w,x.the.to===x&&x===x.the.last&&delete M.stun,x.off()},h.err=function(x,M){(x.ack||w).call(x,x.out={err:x.err=a.log(M)}),x.ran(x)};function g(x){var M=x.via._,N;x.via=x.via.back(function(q){if(q.soul||!q.get)return q.$;N=x.data,(x.data={})[q.get]=N}),(!x.via||!x.via._.soul)&&(x.via=M.root.$.get(((x.data||"")._||"")["#"]||M.$.back("opt.uuid")())),x.via.put(x.data,x.ack,x)}function m(x,M){return x&&(M=x.constructor)&&M.name||typeof x}var v,b={},w=function(){},E=setTimeout.turn,$=a.valid,k=a.state.ify,T=function(x,M){x.call(M||b)}})(n,"./put"),n(function(s){var a=n("./root");n("./chain"),n("./back"),n("./put"),n("./get"),s.exports=a})(n,"./index"),n(function(s){var a=n("./index");a.chain.on=function(v,b,w,E){var $=this,k=$._,T=k.root,x,M,N,q;if(typeof v=="string")return b?(x=k.on(v,b,w||k,E),w&&w.$&&(w.subs||(w.subs=[])).push(x),$):k.on(v);var L=b;(L=L===!0?{change:!0}:L||{}).not=1,L.on=1;var G={};return $.get(v,L),$},a.chain.once=function(v,b){if(b=b||{},!v)return c(this,b);var w=this,E=w._,$=E.root,k=E.put,T=String.random(7),x,M;return w.get(function(N,q,L,G){var V=this,Y=V._,fe=Y.one||(Y.one={});if(G.stun||fe[T]==="")return;if((M=a.valid(N))===!0){K();return}if(typeof M=="string")return;clearTimeout((E.one||"")[T]),clearTimeout(fe[T]),fe[T]=setTimeout(K,b.wait||99);function K(X){if(!Y.has&&!Y.soul&&(Y={put:N,get:q}),m===(M=Y.put)&&(M=((L.$$||"")._||"").put),typeof a.valid(M)=="string"&&(M=$.$.get(M)._.put,M===m&&!X)){fe[T]=setTimeout(function(){K(1)},b.wait||99);return}G.stun||fe[T]!==""&&(fe[T]="",(E.soul||E.has)&&G.off(),v.call(V,M,Y.get),clearTimeout(fe[T]))}},{on:1}),w};function c(v,b,w){return a.log.once("valonce","Chainable val is experimental, its behavior and API may change moving forward. Please play with it and report bugs and ideas on how to improve it."),(w=v.chain())._.nix=v.once(function(E,$){w._.on("in",this._)}),w._.lex=v._.lex,w}a.chain.off=function(){var v=this,b=v._,w,E=b.back;if(E)return b.ack=0,(w=E.next)&&w[b.get]&&delete w[b.get],(w=E.any)&&(delete E.any,E.any={}),(w=E.ask)&&delete w[b.get],(w=E.put)&&delete w[b.get],(w=b.soul)&&delete E.root.graph[w],(w=b.map)&&Object.keys(w).forEach(function($,k){k=w[$],k.link&&E.root.$.get(k.link).off()}),(w=b.next)&&Object.keys(w).forEach(function($,k){k=w[$],k.$.off()}),b.on("off",{}),v};var h={},g=function(){},m})(n,"./on"),n(function(s){var a=n("./index"),c=a.chain.get.next;a.chain.get.next=function(b,w){var E;return Object.plain(w)?(E=((E=w["#"])||"")["="]||E)?b.get(E):((E=b.chain()._).lex=w,b.on("in",function($){String.match($.get||($.put||"")["."],w["."]||w["#"]||w)&&E.on("in",$),this.to.next($)}),E.$):(c||g)(b,w)},a.chain.map=function(b,w,E){var $=this,k=$._,T,x;return Object.plain(b)&&(T=b["."]?b:{".":b},b=v),b?(a.log.once("mapfn","Map functions are experimental, their behavior and API may change moving forward. Please play with it and report bugs and ideas on how to improve it."),x=$.chain(),$.map().on(function(M,N,q,L){var G=(b||g).call(this,M,N,q,L);if(v!==G){if(M===G)return x._.on("in",q);if(a.is(G))return x._.on("in",G._);var V={};Object.keys(q.put).forEach(function(Y){V[Y]=q.put[Y]},V),V["="]=G,x._.on("in",{get:N,put:V})}}),x):((x=k.each)||((k.each=x=$.chain())._.lex=T||x._.lex||k.lex,x._.nix=$.back("nix"),$.on("in",h,x._)),x)};function h(b){this.to.next(b);var w=this.as,E=b.$,$=E._,k=b.put,T;!$.soul&&!b.$$||(T=w.lex)&&!String.match(b.get||(k||"")["."],T["."]||T["#"]||T)||a.on.link(b,w)}var g=function(){},m={stun:g,off:g},v})(n,"./map"),n(function(s){var a=n("./index");a.chain.set=function(c,h,g){var m=this,v=m.back(-1),b,w;return h=h||function(){},g=g||{},g.item=g.item||c,(b=((c||"")._||"")["#"])&&((c={})["#"]=b),typeof(w=a.valid(c))=="string"?m.get(b=w).put(c,h,g):a.is(c)?(m.put(function(E){c.get(function($,k,T){if(!$)return h.call(m,{err:a.log('Only a node can be linked! Not "'+T.put+'"!')});(w={})[$]={"#":$},E(w)},!0)}),c):(Object.plain(c)&&(c=v.get(b=m.back("opt.uuid")()).put(c)),m.get(b||v.back("opt.uuid")(7)).put(c,h,g))}})(n,"./set"),n(function(s){n("./shim");var a=function(){},c=JSON.parseAsync||function(w,E,$){var k,T=+new Date;try{E(k,JSON.parse(w,$),h.sucks(+new Date-T))}catch(x){E(x)}},h=JSON.stringifyAsync||function(w,E,$,k){var T,x=+new Date;try{E(T,JSON.stringify(w,$,k),h.sucks(+new Date-x))}catch(M){E(M)}};h.sucks=function(w){w>99&&(console.log("Warning: JSON blocking CPU detected. Add `gun/lib/yson.js` to fix."),h.sucks=a)};function g(w){var E=function(){},$=w.opt||{};$.log=$.log||console.log,$.gap=$.gap||$.wait||0,$.max=$.max||($.memory?$.memory*999*999:3e8)*.3,$.pack=$.pack||$.max*.01*.01,$.puff=$.puff||9;var k=setTimeout.turn||setTimeout,T=w.dup,x=T.check,M=T.track,N=+new Date,q=N,L=E.hear=function(K,X){if(K){if($.max<=K.length)return E.say({dam:"!",err:"Message too big!"},X);E===this&&(L.d+=K.length||0,++L.c);var ye=X.SH=+new Date,le=K[0],D;if(le==="["){c(K,function(B,C){if(B||!C)return E.say({dam:"!",err:"DAM JSON parse error."},X);console.STAT&&console.STAT(+new Date,C.length,"# on hear batch");var Q=$.puff;(function W(){for(var J=+new Date,z=0,ne;z<Q&&(ne=C[z++]);)E.hear(ne,X);C=C.slice(z),console.STAT&&console.STAT(J,+new Date-J,"hear loop"),V(X),C.length&&k(W,0)})()}),K="";return}if(le==="{"||(K["#"]||Object.plain(K))&&(D=K)){if(D)return L.one(D,X,ye);c(K,function(B,C){if(B||!C)return E.say({dam:"!",err:"DAM JSON parse error."},X);L.one(C,X,ye)});return}}};L.one=function(K,X,W){var le,D,B,C,Q;if(K.DBG&&(K.DBG=Q={DBG:K.DBG}),Q&&(Q.h=W),Q&&(Q.hp=+new Date),(le=K["#"])||(le=K["#"]=String.random(9)),!(B=x(le))&&(D=K["##"],!(D&&(B=K["@"]||K.get&&le)&&T.check(C=B+D)))){if((K._=function(){}).via=E.leap=X,(B=K["><"])&&typeof B=="string"&&B.slice(0,99).split(",").forEach(function(J){this[J]=1},K._.yo={}),B=K.dam){(B=E.hear[B])&&B(K,X,w),M(le);return}(B=K.ok)&&(K._.near=B["/"]);var W=+new Date;Q&&(Q.is=W),X.SI=le,M.ed=function(J){le===J&&(M.ed=0,(J=T.s[le])&&(J.via=X,K.get&&(J.it=K)))},w.on("in",E.last=K),Q&&(Q.hd=+new Date),console.STAT&&console.STAT(W,+new Date-W,K.get?"msg get":K.put?"msg put":"msg"),M(le),C&&M(C),E.leap=E.last=null}};var G=function(K,X,ye){ye(K,!0)};L.c=L.d=0,(function(){var K=0,X;E.hash=function(B,C){var Q,W,J,z=+new Date;h(B.put,function ne(ie,ue){var ge=(W||(W=J=ue||"")).slice(0,32768);if(Q=String.hash(ge,Q),W=W.slice(32768),W){k(ne,0);return}console.STAT&&console.STAT(z,+new Date-z,"say json+hash"),B._.$put=J,B["##"]=Q,E.say(B,C),delete B._.$put},ye)};function ye(B,C){var Q;return C instanceof Object?(Object.keys(C).sort().forEach(le,{to:Q={},on:C}),Q):C}function le(B){this.to[B]=this.on[B]}var D=E.say=function(B,C){var Q;if((Q=this)&&(Q=Q.to)&&Q.next&&Q.next(B),!B)return!1;var W,J,z,ne=B["@"],ie=B._||(B._=function(){}),ue=B.DBG,ge=+new Date;if(ie.y=ie.y||ge,C||ue&&(ue.y=ge),(W=B["#"])||(W=B["#"]=String.random(9)),!X&&M(W),!(J=B["##"])&&b!==B.put&&!ie.via&&ne){E.hash(B,C);return}if(!C&&ne&&(C=(Q=T.s[ne])&&(Q.via||(Q=Q.it)&&(Q=Q._)&&Q.via)||(Q=E.last)&&ne===Q["#"]&&E.leap),!C&&ne)return T.s[ne]?void 0:(console.STAT&&console.STAT(+new Date,++K,"total no peer to ack to"),!1);if(ne&&!B.put&&!J&&((T.s[ne]||"").it||"")["##"])return!1;if(!C&&E.way)return E.way(B);if(ue&&(ue.yh=+new Date),!(z=ie.raw)){E.raw(B,C);return}if(ue&&(ue.yr=+new Date),!C||!C.id){if(!Object.plain(C||$.peers))return!1;var ge=+new Date,Pe=$.puff,Ee=$.peers,ve=Object.keys(C||$.peers||{});console.STAT&&console.STAT(ge,+new Date-ge,"peer keys"),(function fA(){var Ye=+new Date;X=1;var nA=ie.raw;ie.raw=z;for(var RA=0,WA;RA<9&&(WA=(ve||"")[RA++]);)(WA=Ee[WA]||(C||"")[WA])&&E.say(B,WA);ie.raw=nA,X=0,ve=ve.slice(RA),console.STAT&&console.STAT(Ye,+new Date-Ye,"say loop"),ve.length&&(k(fA,0),ne&&M(ne))})();return}if(!C.wire&&E.wire&&E.wire(C),W!==C.last){if(C.last=W,C===ie.via||(Q=ie.yo)&&(Q[C.url]||Q[C.pid]||Q[C.id]))return!1;if(console.STAT&&console.STAT(ge,((ue||ie).yp=+new Date)-(ie.y||ge),"say prep"),!X&&ne&&M(ne),C.batch){if(C.tail=(Q=C.tail||0)+z.length,C.tail<=$.pack){C.batch+=(Q?",":"")+z;return}V(C)}C.batch="[";var Me=+new Date;setTimeout(function(){console.STAT&&console.STAT(Me,+new Date-Me,"0ms TO"),V(C)},$.gap),Y(z,C),console.STAT&&ne===C.SI&&console.STAT(ge,+new Date-C.SH,"say ack")}};E.say.c=E.say.d=0,E.raw=function(B,C){if(!B)return"";var Q=B._||{},W,J;if(J=Q.raw)return J;if(typeof B=="string")return B;var z=B["##"],ne=B["@"];if(z&&ne){if(!Q.via&&x(ne+z))return!1;if(J=(T.s[ne]||"").it){if(z===J["##"])return!1;J["##"]||(J["##"]=z)}}if(!B.dam&&!B["@"]){var ie=0,ue=[];J=$.peers;for(var ge in J){var Pe=J[ge];if(ue.push(Pe.url||Pe.pid||Pe.id),++ie>6)break}ie>1&&(B["><"]=ue.join())}if(B.put&&(J=B.ok)&&(B.ok={"@":(J["@"]||1)-1,"/":J["/"]==B._.near?E.near:J["/"]}),W=Q.$put){J={},Object.keys(B).forEach(function(ve){J[ve]=B[ve]}),J.put=":])([:",h(J,function(ve,Me){if(!ve){var rA=+new Date;J=Me.indexOf('"put":":])([:"'),Ee(b,Me=Me.slice(0,J+6)+W+Me.slice(J+14)),console.STAT&&console.STAT(rA,+new Date-rA,"say slice")}});return}h(B,Ee);function Ee(ve,Me){ve||(Q.raw=Me,E.say(B,C))}}})();function V(K){var X=K.batch,ye=typeof X=="string",le;if(ye&&(X+="]"),K.batch=K.tail=null,!!X&&!(ye?3>X.length:!X.length)){if(!ye)try{X=X.length===1?X[0]:JSON.stringify(X)}catch(D){return $.log("DAM JSON stringify error",D)}X&&Y(X,K)}}function Y(K,X){try{var ye=X.wire;X.say?X.say(K):ye.send&&ye.send(K),E.say.d+=K.length||0,++E.say.c}catch{(X.queue=X.queue||[]).push(K)}}E.near=0,E.hi=function(K){var X=K.wire,ye;if(!X){E.wire(K.length&&{url:K,id:K}||K);return}K.id?$.peers[K.url||K.id]=K:(ye=K.id=K.id||K.url||String.random(9),E.say({dam:"?",pid:w.opt.pid},$.peers[ye]=K),delete T.s[K.last]),K.met||(E.near++,K.met=+new Date,w.on("hi",K)),ye=K.queue,K.queue=[],setTimeout.each(ye||[],function(le){Y(le,K)},0,9)},E.bye=function(K){K.met&&--E.near,delete K.met,w.on("bye",K);var X=+new Date;X=X-(K.met||X),E.bye.time=((E.bye.time||X)+X)/2},E.hear["!"]=function(K,X){$.log("Error:",K.err)},E.hear["?"]=function(K,X){K.pid&&(X.pid||(X.pid=K.pid),K["@"])||(E.say({dam:"?",pid:$.pid,"@":K["#"]},X),delete T.s[X.last])},E.hear.mob=function(K,X){if(K.peers){var ye=Object.keys(K.peers),le=ye[Math.random()*ye.length>>0];le&&(E.bye(X),E.hi(le))}},w.on("create",function(K){K.opt.pid=K.opt.pid||String.random(9),this.to.next(K),K.on("out",E.say)}),w.on("bye",function(K,X){K=$.peers[K.id||K]||K,this.to.next(K),K.bye?K.bye():(X=K.wire)&&X.close&&X.close(),delete $.peers[K.id],K.wire=null});var fe={};return w.on("bye",function(K,X){this.to.next(K),(X=console.STAT)&&(X.peers=E.near),(X=K.url)&&(fe[X]=!0,setTimeout(function(){delete fe[X]},$.lack||9e3))}),w.on("hi",function(K,X){if(this.to.next(K),(X=console.STAT)&&(X.peers=E.near),!$.super){var ye=Object.keys(w.next||"");ye.length>9999&&!console.SUBS&&console.log(console.SUBS="Warning: You have more than 10K live GETs, which might use more bandwidth than your screen can show - consider `.off()`."),setTimeout.each(ye,function(le){var D=w.next[le];if($.super||(D.ask||"")[""]){E.say({get:{"#":le}},K);return}setTimeout.each(Object.keys(D.ask||""),function(B){B&&E.say({"##":String.hash((w.graph[le]||"")[B]),get:{"#":le,".":B}},K)})})}}),E}var m={},v=!0,b;try{s.exports=g}catch{}})(n,"./mesh"),n(function(s){var a=n("./index");a.Mesh=n("./mesh"),a.on("opt",function(g){if(this.to.next(g),g.once)return;var m=g.opt;if(m.WebSocket===!1)return;var v=a.window||{},b=m.WebSocket||v.WebSocket||v.webkitWebSocket||v.mozWebSocket;if(!b)return;m.WebSocket=b;var w=m.mesh=m.mesh||a.Mesh(g),E=w.wire||m.wire;w.wire=m.wire=$;function $(M){try{if(!M||!M.url)return q&&q(M);var N=M.url.replace(/^http/,"ws"),q=M.wire=new m.WebSocket(N);return q.onclose=function(){T(M),m.mesh.bye(M)},q.onerror=function(L){T(M)},q.onopen=function(){m.mesh.hi(M)},q.onmessage=function(L){L&&m.mesh.hear(L.data||L,M)},q}catch{m.mesh.bye(M)}}setTimeout(function(){!m.super&&g.on("out",{dam:"hi"})},1);var k=2*999;function T(M){clearTimeout(M.defer),m.peers[M.url]&&(x&&M.retry<=0||(M.retry=(M.retry||m.retry+1||60)-(-M.tried+(M.tried=+new Date)<k*4?1:0),M.defer=setTimeout(function N(){if(x&&x.hidden)return setTimeout(N,k);$(M)},k)))}var x=""+h!=typeof document&&document});var c=function(){},h})(n,"./websocket"),n(function(s){if(!(typeof Gun>"u")){var a=function(){},c,h;try{c=(Gun.window||a).localStorage}catch{}c||(Gun.log("Warning: No localStorage exists to persist data to!"),c={setItem:function(v,b){this[v]=b},removeItem:function(v){delete this[v]},getItem:function(v){return this[v]}});var g=JSON.parseAsync||function(v,b,w){var E;try{b(E,JSON.parse(v,w))}catch($){b($)}},m=JSON.stringifyAsync||function(v,b,w,E){var $;try{b($,JSON.stringify(v,w,E))}catch(k){b(k)}};Gun.on("create",function v(b){this.to.next(b);var w=b.opt,E=b.graph,$=[],k,T,x,M;if(w.localStorage===!1)return;w.prefix=w.file||"gun/";try{k=v[w.prefix]=v[w.prefix]||JSON.parse(x=c.getItem(w.prefix))||{}}catch{k=v[w.prefix]={}}x=(x||"").length,b.on("get",function(q){this.to.next(q);var L=q.get,G,V,Y,fe;!L||!(G=L["#"])||(V=k[G]||fe,V&&(Y=L["."])&&!Object.plain(Y)&&(V=Gun.state.ify({},Y,Gun.state.is(V,Y),V[Y],G)),Gun.on.get.ack(q,V))}),b.on("put",function(q){this.to.next(q);var L=q.put,G=L["#"],V=L["."],Y=q["#"],fe=q.ok||"",K;if((b.next||"")[G]){if(k[G]=Gun.state.ify(k[G],V,L[">"],L[":"],G),M&&x>4999880){b.on("in",{"@":Y,err:"localStorage max!"});return}!q["@"]&&(!q._.via||Math.random()<fe["@"]/fe["/"])&&$.push(Y),!T&&(T=setTimeout(N,9+x/333))}});function N(){if(!$.length&&((setTimeout.turn||"").s||"").length){setTimeout(N,99);return}var q,L=$;clearTimeout(T),T=!1,$=[],m(k,function(G,V){try{!G&&c.setItem(w.prefix,V)}catch(Y){G=M=Y||"localStorage failure"}G&&(Gun.log(G+" Consider using GUN's IndexedDB plugin for RAD for more storage space, https://gun.eco/docs/RAD#install"),b.on("localStorage:error",{err:G,get:w.prefix,put:k})),x=V.length,setTimeout.each(L,function(Y){b.on("in",{"@":Y,err:G,ok:0})},0,99)})}})}})(n,"./localStorage")})();(function(){var le;if(""+le!=typeof Gun){var n=function(D){console.warn("Warning! Deprecated internal utility will break in next version:",D)},e=Gun;e.fn=e.fn||{is:function(D){return n("fn"),!!D&&typeof D=="function"}},e.bi=e.bi||{is:function(D){return n("bi"),D instanceof Boolean||typeof D=="boolean"}},e.num=e.num||{is:function(D){return n("num"),!s(D)&&(D-parseFloat(D)+1>=0||D===1/0||D===-1/0)}},e.text=e.text||{is:function(D){return n("text"),typeof D=="string"}},e.text.ify=e.text.ify||function(D){return n("text.ify"),e.text.is(D)?D:typeof JSON<"u"?JSON.stringify(D):D&&D.toString?D.toString():D},e.text.random=e.text.random||function(D,B){n("text.random");var C="";for(D=D||24,B=B||"0123456789ABCDEFGHIJKLMNOPQRSTUVWXZabcdefghijklmnopqrstuvwxyz";D>0;)C+=B.charAt(Math.floor(Math.random()*B.length)),D--;return C},e.text.match=e.text.match||function(D,B){var C,Q;return n("text.match"),typeof D!="string"?!1:(typeof B=="string"&&(B={"=":B}),B=B||{},C=B["="]||B["*"]||B[">"]||B["<"],D===C?!0:Q!==B["="]?!1:(C=B["*"]||B[">"]||B["<"],D.slice(0,(C||"").length)===C?!0:Q!==B["*"]?!1:Q!==B[">"]&&Q!==B["<"]?D>=B[">"]&&D<=B["<"]:Q!==B[">"]&&D>=B[">"]||Q!==B["<"]&&D<=B["<"]))},e.text.hash=e.text.hash||function(D,B){if(n("text.hash"),typeof D=="string"){if(B=B||0,!D.length)return B;for(var C=0,Q=D.length,W;C<Q;++C)W=D.charCodeAt(C),B=(B<<5)-B+W,B|=0;return B}},e.list=e.list||{is:function(D){return n("list"),D instanceof Array}},e.list.slit=e.list.slit||Array.prototype.slice,e.list.sort=e.list.sort||function(D){return n("list.sort"),function(B,C){return!B||!C?0:(B=B[D],C=C[D],B<C?-1:B>C?1:0)}},e.list.map=e.list.map||function(D,B,C){return n("list.map"),X(D,B,C)},e.list.index=1,e.obj=e.boj||{is:function(D){return n("obj"),D?D instanceof Object&&D.constructor===Object||Object.prototype.toString.call(D).match(/^\[object (\w+)\]$/)[1]==="Object":!1}},e.obj.put=e.obj.put||function(D,B,C){return n("obj.put"),(D||{})[B]=C,D},e.obj.has=e.obj.has||function(D,B){return n("obj.has"),D&&Object.prototype.hasOwnProperty.call(D,B)},e.obj.del=e.obj.del||function(D,B){if(n("obj.del"),!!D)return D[B]=null,delete D[B],D},e.obj.as=e.obj.as||function(D,B,C,Q){return n("obj.as"),D[B]=D[B]||(Q===C?{}:C)},e.obj.ify=e.obj.ify||function(D){if(n("obj.ify"),G(D))return D;try{D=JSON.parse(D)}catch{D={}}return D},(function(){var D;function B(C,Q){Y(this,Q)&&D!==this[Q]||(this[Q]=C)}e.obj.to=e.obj.to||function(C,Q){return n("obj.to"),Q=Q||{},X(C,B,Q),Q}})(),e.obj.copy=e.obj.copy||function(D){return n("obj.copy"),D&&JSON.parse(JSON.stringify(D))},(function(){function D(B,C){var Q=this.n,W;if(!(Q&&(C===Q||G(Q)&&Y(Q,C)))&&W!==C)return!0}e.obj.empty=e.obj.empty||function(B,C){return n("obj.empty"),B?!X(B,D,{n:C}):!0}})(),(function(){function D(W,J){if(arguments.length===2){D.r=D.r||{},D.r[W]=J;return}D.r=D.r||[],D.r.push(W)}var B=Object.keys,C,Q;Object.keys=Object.keys||function(W){return C(W,function(J,z,ne){ne(z)})},e.obj.map=C=e.obj.map||function(W,J,z){n("obj.map");var ne,ie=0,ue,ge,Pe,Ee,ve=typeof J=="function";if(D.r=ne,B&&G(W)&&(Pe=B(W),Ee=!0),z=z||{},s(W)||Pe)for(ue=(Pe||W).length;ie<ue;ie++){var Me=ie+e.list.index;if(ve){if(ge=Ee?J.call(z,W[Pe[ie]],Pe[ie],D):J.call(z,W[ie],Me,D),ge!==ne)return ge}else if(J===W[Ee?Pe[ie]:ie])return Pe?Pe[ie]:Me}else for(ie in W)if(ve){if(Y(W,ie)&&(ge=z?J.call(z,W[ie],ie,D):J(W[ie],ie,D),ge!==ne))return ge}else if(J===W[ie])return ie;return ve?D.r:e.list.index?0:-1}})(),e.time=e.time||{},e.time.is=e.time.is||function(D){return n("time"),D?D instanceof Date:+new Date().getTime()};var q=e.fn.is,s=e.list.is,L=e.obj,G=L.is,Y=L.has,X=L.map,a={};a.is=function(D){return n("val.is"),D===le?!1:D===null?!0:D===1/0?!1:g(D)||h(D)||T(D)?!0:a.link.is(D)||!1},a.link=a.rel={_:"#"},(function(){a.link.is=function(B){if(n("val.link.is"),B&&B[c]&&!B._&&G(B)){var C={};if(X(B,D,C),C.id)return C.id}return!1};function D(B,C){var Q=this;if(Q.id)return Q.id=!1;if(C==c&&g(B))Q.id=B;else return Q.id=!1}})(),a.link.ify=function(D){return n("val.link.ify"),K({},c,D)},e.obj.has._=".";var c=a.link._,le,h=e.bi.is,T=e.num.is,g=e.text.is,L=e.obj,G=L.is,K=L.put,X=L.map;e.val=e.val||a;var m={_:"_"};m.soul=function(D,B){return n("node.soul"),D&&D._&&D._[B||w]},m.soul.ify=function(D,B){return n("node.soul.ify"),B=typeof B=="string"?{soul:B}:B||{},D=D||{},D._=D._||{},D._[w]=B.soul||D._[w]||b(),D},m.soul._=a.link._,(function(){m.is=function(B,C,Q){n("node.is");var W;return G(B)&&(W=m.soul(B))?!X(B,D,{as:Q,cb:C,s:W,n:B}):!1};function D(B,C){if(C!==m._){if(!a.is(B))return!0;this.cb&&this.cb.call(this.as,B,C,this.n,this.s)}}})(),(function(){m.ify=function(B,C,Q){return n("node.ify"),C?typeof C=="string"?C={soul:C}:typeof C=="function"&&(C={map:C}):C={},C.map&&(C.node=C.map.call(Q,B,le,C.node||{})),(C.node=m.soul.ify(C.node||{},C))&&X(B,D,{o:C,as:Q}),C.node};function D(B,C){var Q=this.o,W,J;if(Q.map){W=Q.map.call(this.as,B,""+C,Q.node),J===W?V(Q.node,C):Q.node&&(Q.node[C]=W);return}a.is(B)&&(Q.node[C]=B)}})();var L=e.obj,G=L.is,V=L.del,X=L.map,v=e.text,b=v.random,w=m.soul._,le;e.node=e.node||m;var E=e.state;E.lex=function(){return n("state.lex"),E().toString(36).replace(".","")},E.to=function(D,B,C){n("state.to");var Q=(D||{})[B];return G(Q)&&(Q=ye(Q)),E.ify(C,B,E.is(D,B),Q,m.soul(D))},(function(){E.map=function(B,C,Q){n("state.map");var W,J=G(J=B||C)?J:null;return B=q(B=B||C)?B:null,J&&!B?(C=T(C)?C:E(),J[M]=J[M]||{},X(J,D,{o:J,s:C}),J):(Q=Q||G(C)?C:W,C=T(C)?C:E(),function(z,ne,ie,ue){if(!B)return D.call({o:ie,s:C},z,ne),z;B.call(Q||this||{},z,ne,ie,ue),!(Y(ie,ne)&&W===ie[ne])&&D.call({o:ie,s:C},z,ne)})};function D(B,C){M!==C&&E.ify(this.o,C,this.s)}})();var L=e.obj,$=L.as,Y=L.has,G=L.is,X=L.map,ye=L.copy,k=e.num,T=k.is,x=e.fn,q=x.is,M=m._,le,N={};(function(){N.is=function(C,Q,W,J){return n("graph.is"),!C||!G(C)||fe(C)?!1:!X(C,D,{cb:Q,fn:W,as:J})};function D(C,Q){if(!C||Q!==m.soul(C)||!m.is(C,this.fn,this.as))return!0;this.cb&&(B.n=C,B.as=this.as,this.cb.call(B.as,C,Q,B))}function B(C){C&&m.is(B.n,C,B.as)}})(),(function(){N.ify=function(J,z,ne){n("graph.ify");var ie={path:[],obj:J};return z?typeof z=="string"?z={soul:z}:typeof z=="function"&&(z.map=z):z={},typeof ne=="string"&&(z.soul=z.soul||ne,ne=le),z.soul&&(ie.link=a.link.ify(z.soul)),z.shell=(ne||{}).shell,z.graph=z.graph||{},z.seen=z.seen||[],z.as=z.as||ne,D(z,ie),z.root=ie.node,z.graph};function D(J,z){var ne;return(ne=W(J,z))?ne:(z.env=J,z.soul=C,m.ify(z.obj,B,z)&&(z.link=z.link||a.link.ify(m.soul(z.node)),z.obj!==J.shell&&(J.graph[a.link.is(z.link)]=z.node)),z)}function B(J,z,ne){var ie=this,ue=ie.env,ge,Pe;if(m._===z&&Y(J,a.link._))return ne._;if(ge=Q(J,z,ne,ie,ue)){if(z||(ie.node=ie.node||ne||{},Y(J,m._)&&m.soul(J)&&(ie.node._=ye(J._)),ie.node=m.soul.ify(ie.node,a.link.is(ie.link)),ie.link=ie.link||a.link.ify(m.soul(ie.node))),(Pe=ue.map)&&(Pe.call(ue.as||{},J,z,ne,ie),Y(ne,z))){if(J=ne[z],le===J){V(ne,z);return}if(!(ge=Q(J,z,ne,ie,ue)))return}if(!z)return ie.node;if(ge===!0)return J;if(Pe=D(ue,{obj:J,path:ie.path.concat(z)}),!!Pe.node)return Pe.link}}function C(J){var z=this,ne=a.link.is(z.link),ie=z.env.graph;z.link=z.link||a.link.ify(J),z.link[a.link._]=J,z.node&&z.node[m._]&&(z.node[m._][a.link._]=J),Y(ie,ne)&&(ie[J]=ie[ne],V(ie,ne))}function Q(J,z,ne,ie,ue){var ge;if(a.is(J))return!0;if(G(J))return 1;if(ge=ue.invalid)return J=ge.call(ue.as||{},J,z,ne),Q(J,z,ne,ie,ue);ue.err="Invalid value at '"+ie.path.concat(z).join(".")+"'!",e.list.is(J)&&(ue.err+=" Use `.set(item)` instead of an Array.")}function W(J,z){for(var ne=J.seen,ie=ne.length,ue;ie--;)if(ue=ne[ie],z.obj===ue.obj)return ue;ne.push(z)}})(),N.node=function(D){n("graph.node");var B=m.soul(D);if(B)return K({},B,D)},(function(){N.to=function(B,C,Q){if(n("graph.to"),!!B){var W={};return Q=Q||{seen:{}},X(B[C],D,{obj:W,graph:B,opt:Q}),W}};function D(B,C){var Q,W;if(m._===C){if(fe(B,a.link._))return;this.obj[C]=ye(B);return}if(!(Q=a.link.is(B))){this.obj[C]=B;return}if(W=this.opt.seen[Q]){this.obj[C]=W;return}this.obj[C]=this.opt.seen[Q]=N.to(this.graph,Q,this.opt)}})();var q=e.fn.is,L=e.obj,G=L.is,V=L.del,Y=L.has,fe=L.empty,K=L.put,X=L.map,ye=L.copy,le;e.graph=e.graph||N}})()});var el=me((T8,Xu)=>{Xu.exports=Zu()});var wn=me(eA=>{"use strict";Object.defineProperty(eA,"__esModule",{value:!0});eA.regexpCode=eA.getEsmExportName=eA.getProperty=eA.safeStringify=eA.stringify=eA.strConcat=eA.addCodeArg=eA.str=eA._=eA.nil=eA._Code=eA.Name=eA.IDENTIFIER=eA._CodeOrName=void 0;var mn=class{};eA._CodeOrName=mn;eA.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;var sr=class extends mn{constructor(e){if(super(),!eA.IDENTIFIER.test(e))throw new Error("CodeGen: name must be a valid identifier");this.str=e}toString(){return this.str}emptyStr(){return!1}get names(){return{[this.str]:1}}};eA.Name=sr;var tt=class extends mn{constructor(e){super(),this._items=typeof e=="string"?[e]:e}toString(){return this.str}emptyStr(){if(this._items.length>1)return!1;let e=this._items[0];return e===""||e==='""'}get str(){var e;return(e=this._str)!==null&&e!==void 0?e:this._str=this._items.reduce((s,a)=>`${s}${a}`,"")}get names(){var e;return(e=this._names)!==null&&e!==void 0?e:this._names=this._items.reduce((s,a)=>(a instanceof sr&&(s[a.str]=(s[a.str]||0)+1),s),{})}};eA._Code=tt;eA.nil=new tt("");function Al(n,...e){let s=[n[0]],a=0;for(;a<e.length;)A0(s,e[a]),s.push(n[++a]);return new tt(s)}eA._=Al;var e0=new tt("+");function tl(n,...e){let s=[yn(n[0])],a=0;for(;a<e.length;)s.push(e0),A0(s,e[a]),s.push(e0,yn(n[++a]));return K1(s),new tt(s)}eA.str=tl;function A0(n,e){e instanceof tt?n.push(...e._items):e instanceof sr?n.push(e):n.push(J1(e))}eA.addCodeArg=A0;function K1(n){let e=1;for(;e<n.length-1;){if(n[e]===e0){let s=Y1(n[e-1],n[e+1]);if(s!==void 0){n.splice(e-1,3,s);continue}n[e++]="+"}e++}}function Y1(n,e){if(e==='""')return n;if(n==='""')return e;if(typeof n=="string")return e instanceof sr||n[n.length-1]!=='"'?void 0:typeof e!="string"?`${n.slice(0,-1)}${e}"`:e[0]==='"'?n.slice(0,-1)+e.slice(1):void 0;if(typeof e=="string"&&e[0]==='"'&&!(n instanceof sr))return`"${n}${e.slice(1)}`}function W1(n,e){return e.emptyStr()?n:n.emptyStr()?e:tl`${n}${e}`}eA.strConcat=W1;function J1(n){return typeof n=="number"||typeof n=="boolean"||n===null?n:yn(Array.isArray(n)?n.join(","):n)}function Z1(n){return new tt(yn(n))}eA.stringify=Z1;function yn(n){return JSON.stringify(n).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}eA.safeStringify=yn;function X1(n){return typeof n=="string"&&eA.IDENTIFIER.test(n)?new tt(`.${n}`):Al`[${n}]`}eA.getProperty=X1;function eg(n){if(typeof n=="string"&&eA.IDENTIFIER.test(n))return new tt(`${n}`);throw new Error(`CodeGen: invalid export name: ${n}, use explicit $id name mapping`)}eA.getEsmExportName=eg;function Ag(n){return new tt(n.toString())}eA.regexpCode=Ag});var n0=me(zA=>{"use strict";Object.defineProperty(zA,"__esModule",{value:!0});zA.ValueScope=zA.ValueScopeName=zA.Scope=zA.varKinds=zA.UsedValueState=void 0;var VA=wn(),t0=class extends Error{constructor(e){super(`CodeGen: "code" for ${e} not defined`),this.value=e.value}},yi;(function(n){n[n.Started=0]="Started",n[n.Completed=1]="Completed"})(yi||(zA.UsedValueState=yi={}));zA.varKinds={const:new VA.Name("const"),let:new VA.Name("let"),var:new VA.Name("var")};var wi=class{constructor({prefixes:e,parent:s}={}){this._names={},this._prefixes=e,this._parent=s}toName(e){return e instanceof VA.Name?e:this.name(e)}name(e){return new VA.Name(this._newName(e))}_newName(e){let s=this._names[e]||this._nameGroup(e);return`${e}${s.index++}`}_nameGroup(e){var s,a;if(!((a=(s=this._parent)===null||s===void 0?void 0:s._prefixes)===null||a===void 0)&&a.has(e)||this._prefixes&&!this._prefixes.has(e))throw new Error(`CodeGen: prefix "${e}" is not allowed in this scope`);return this._names[e]={prefix:e,index:0}}};zA.Scope=wi;var vi=class extends VA.Name{constructor(e,s){super(s),this.prefix=e}setValue(e,{property:s,itemIndex:a}){this.value=e,this.scopePath=(0,VA._)`.${new VA.Name(s)}[${a}]`}};zA.ValueScopeName=vi;var tg=(0,VA._)`\n`,r0=class extends wi{constructor(e){super(e),this._values={},this._scope=e.scope,this.opts={...e,_n:e.lines?tg:VA.nil}}get(){return this._scope}name(e){return new vi(e,this._newName(e))}value(e,s){var a;if(s.ref===void 0)throw new Error("CodeGen: ref must be passed in value");let c=this.toName(e),{prefix:h}=c,g=(a=s.key)!==null&&a!==void 0?a:s.ref,m=this._values[h];if(m){let w=m.get(g);if(w)return w}else m=this._values[h]=new Map;m.set(g,c);let v=this._scope[h]||(this._scope[h]=[]),b=v.length;return v[b]=s.ref,c.setValue(s,{property:h,itemIndex:b}),c}getValue(e,s){let a=this._values[e];if(a)return a.get(s)}scopeRefs(e,s=this._values){return this._reduceValues(s,a=>{if(a.scopePath===void 0)throw new Error(`CodeGen: name "${a}" has no value`);return(0,VA._)`${e}${a.scopePath}`})}scopeCode(e=this._values,s,a){return this._reduceValues(e,c=>{if(c.value===void 0)throw new Error(`CodeGen: name "${c}" has no value`);return c.value.code},s,a)}_reduceValues(e,s,a={},c){let h=VA.nil;for(let g in e){let m=e[g];if(!m)continue;let v=a[g]=a[g]||new Map;m.forEach(b=>{if(v.has(b))return;v.set(b,yi.Started);let w=s(b);if(w){let E=this.opts.es5?zA.varKinds.var:zA.varKinds.const;h=(0,VA._)`${h}${E} ${b} = ${w};${this.opts._n}`}else if(w=c?.(b))h=(0,VA._)`${h}${w}${this.opts._n}`;else throw new t0(b);v.set(b,yi.Completed)})}return h}};zA.ValueScope=r0});var Ue=me(Ve=>{"use strict";Object.defineProperty(Ve,"__esModule",{value:!0});Ve.or=Ve.and=Ve.not=Ve.CodeGen=Ve.operators=Ve.varKinds=Ve.ValueScopeName=Ve.ValueScope=Ve.Scope=Ve.Name=Ve.regexpCode=Ve.stringify=Ve.getProperty=Ve.nil=Ve.strConcat=Ve.str=Ve._=void 0;var Je=wn(),at=n0(),qt=wn();Object.defineProperty(Ve,"_",{enumerable:!0,get:function(){return qt._}});Object.defineProperty(Ve,"str",{enumerable:!0,get:function(){return qt.str}});Object.defineProperty(Ve,"strConcat",{enumerable:!0,get:function(){return qt.strConcat}});Object.defineProperty(Ve,"nil",{enumerable:!0,get:function(){return qt.nil}});Object.defineProperty(Ve,"getProperty",{enumerable:!0,get:function(){return qt.getProperty}});Object.defineProperty(Ve,"stringify",{enumerable:!0,get:function(){return qt.stringify}});Object.defineProperty(Ve,"regexpCode",{enumerable:!0,get:function(){return qt.regexpCode}});Object.defineProperty(Ve,"Name",{enumerable:!0,get:function(){return qt.Name}});var $i=n0();Object.defineProperty(Ve,"Scope",{enumerable:!0,get:function(){return $i.Scope}});Object.defineProperty(Ve,"ValueScope",{enumerable:!0,get:function(){return $i.ValueScope}});Object.defineProperty(Ve,"ValueScopeName",{enumerable:!0,get:function(){return $i.ValueScopeName}});Object.defineProperty(Ve,"varKinds",{enumerable:!0,get:function(){return $i.varKinds}});Ve.operators={GT:new Je._Code(">"),GTE:new Je._Code(">="),LT:new Je._Code("<"),LTE:new Je._Code("<="),EQ:new Je._Code("==="),NEQ:new Je._Code("!=="),NOT:new Je._Code("!"),OR:new Je._Code("||"),AND:new Je._Code("&&"),ADD:new Je._Code("+")};var St=class{optimizeNodes(){return this}optimizeNames(e,s){return this}},i0=class extends St{constructor(e,s,a){super(),this.varKind=e,this.name=s,this.rhs=a}render({es5:e,_n:s}){let a=e?at.varKinds.var:this.varKind,c=this.rhs===void 0?"":` = ${this.rhs}`;return`${a} ${this.name}${c};`+s}optimizeNames(e,s){if(e[this.name.str])return this.rhs&&(this.rhs=Mr(this.rhs,e,s)),this}get names(){return this.rhs instanceof Je._CodeOrName?this.rhs.names:{}}},bi=class extends St{constructor(e,s,a){super(),this.lhs=e,this.rhs=s,this.sideEffects=a}render({_n:e}){return`${this.lhs} = ${this.rhs};`+e}optimizeNames(e,s){if(!(this.lhs instanceof Je.Name&&!e[this.lhs.str]&&!this.sideEffects))return this.rhs=Mr(this.rhs,e,s),this}get names(){let e=this.lhs instanceof Je.Name?{}:{...this.lhs.names};return Ei(e,this.rhs)}},o0=class extends bi{constructor(e,s,a,c){super(e,a,c),this.op=s}render({_n:e}){return`${this.lhs} ${this.op}= ${this.rhs};`+e}},s0=class extends St{constructor(e){super(),this.label=e,this.names={}}render({_n:e}){return`${this.label}:`+e}},a0=class extends St{constructor(e){super(),this.label=e,this.names={}}render({_n:e}){return`break${this.label?` ${this.label}`:""};`+e}},u0=class extends St{constructor(e){super(),this.error=e}render({_n:e}){return`throw ${this.error};`+e}get names(){return this.error.names}},l0=class extends St{constructor(e){super(),this.code=e}render({_n:e}){return`${this.code};`+e}optimizeNodes(){return`${this.code}`?this:void 0}optimizeNames(e,s){return this.code=Mr(this.code,e,s),this}get names(){return this.code instanceof Je._CodeOrName?this.code.names:{}}},vn=class extends St{constructor(e=[]){super(),this.nodes=e}render(e){return this.nodes.reduce((s,a)=>s+a.render(e),"")}optimizeNodes(){let{nodes:e}=this,s=e.length;for(;s--;){let a=e[s].optimizeNodes();Array.isArray(a)?e.splice(s,1,...a):a?e[s]=a:e.splice(s,1)}return e.length>0?this:void 0}optimizeNames(e,s){let{nodes:a}=this,c=a.length;for(;c--;){let h=a[c];h.optimizeNames(e,s)||(rg(e,h.names),a.splice(c,1))}return a.length>0?this:void 0}get names(){return this.nodes.reduce((e,s)=>lr(e,s.names),{})}},Bt=class extends vn{render(e){return"{"+e._n+super.render(e)+"}"+e._n}},f0=class extends vn{},Nr=class extends Bt{};Nr.kind="else";var ar=class n extends Bt{constructor(e,s){super(s),this.condition=e}render(e){let s=`if(${this.condition})`+super.render(e);return this.else&&(s+="else "+this.else.render(e)),s}optimizeNodes(){super.optimizeNodes();let e=this.condition;if(e===!0)return this.nodes;let s=this.else;if(s){let a=s.optimizeNodes();s=this.else=Array.isArray(a)?new Nr(a):a}if(s)return e===!1?s instanceof n?s:s.nodes:this.nodes.length?this:new n(rl(e),s instanceof n?[s]:s.nodes);if(!(e===!1||!this.nodes.length))return this}optimizeNames(e,s){var a;if(this.else=(a=this.else)===null||a===void 0?void 0:a.optimizeNames(e,s),!!(super.optimizeNames(e,s)||this.else))return this.condition=Mr(this.condition,e,s),this}get names(){let e=super.names;return Ei(e,this.condition),this.else&&lr(e,this.else.names),e}};ar.kind="if";var ur=class extends Bt{};ur.kind="for";var c0=class extends ur{constructor(e){super(),this.iteration=e}render(e){return`for(${this.iteration})`+super.render(e)}optimizeNames(e,s){if(super.optimizeNames(e,s))return this.iteration=Mr(this.iteration,e,s),this}get names(){return lr(super.names,this.iteration.names)}},d0=class extends ur{constructor(e,s,a,c){super(),this.varKind=e,this.name=s,this.from=a,this.to=c}render(e){let s=e.es5?at.varKinds.var:this.varKind,{name:a,from:c,to:h}=this;return`for(${s} ${a}=${c}; ${a}<${h}; ${a}++)`+super.render(e)}get names(){let e=Ei(super.names,this.from);return Ei(e,this.to)}},_i=class extends ur{constructor(e,s,a,c){super(),this.loop=e,this.varKind=s,this.name=a,this.iterable=c}render(e){return`for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})`+super.render(e)}optimizeNames(e,s){if(super.optimizeNames(e,s))return this.iterable=Mr(this.iterable,e,s),this}get names(){return lr(super.names,this.iterable.names)}},bn=class extends Bt{constructor(e,s,a){super(),this.name=e,this.args=s,this.async=a}render(e){return`${this.async?"async ":""}function ${this.name}(${this.args})`+super.render(e)}};bn.kind="func";var _n=class extends vn{render(e){return"return "+super.render(e)}};_n.kind="return";var h0=class extends Bt{render(e){let s="try"+super.render(e);return this.catch&&(s+=this.catch.render(e)),this.finally&&(s+=this.finally.render(e)),s}optimizeNodes(){var e,s;return super.optimizeNodes(),(e=this.catch)===null||e===void 0||e.optimizeNodes(),(s=this.finally)===null||s===void 0||s.optimizeNodes(),this}optimizeNames(e,s){var a,c;return super.optimizeNames(e,s),(a=this.catch)===null||a===void 0||a.optimizeNames(e,s),(c=this.finally)===null||c===void 0||c.optimizeNames(e,s),this}get names(){let e=super.names;return this.catch&&lr(e,this.catch.names),this.finally&&lr(e,this.finally.names),e}},En=class extends Bt{constructor(e){super(),this.error=e}render(e){return`catch(${this.error})`+super.render(e)}};En.kind="catch";var $n=class extends Bt{render(e){return"finally"+super.render(e)}};$n.kind="finally";var p0=class{constructor(e,s={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...s,_n:s.lines?`
|
|
3
|
-
`:""},this._extScope=e,this._scope=new at.Scope({parent:e}),this._nodes=[new f0]}toString(){return this._root.render(this.opts)}name(e){return this._scope.name(e)}scopeName(e){return this._extScope.name(e)}scopeValue(e,s){let a=this._extScope.value(e,s);return(this._values[a.prefix]||(this._values[a.prefix]=new Set)).add(a),a}getScopeValue(e,s){return this._extScope.getValue(e,s)}scopeRefs(e){return this._extScope.scopeRefs(e,this._values)}scopeCode(){return this._extScope.scopeCode(this._values)}_def(e,s,a,c){let h=this._scope.toName(s);return a!==void 0&&c&&(this._constants[h.str]=a),this._leafNode(new i0(e,h,a)),h}const(e,s,a){return this._def(at.varKinds.const,e,s,a)}let(e,s,a){return this._def(at.varKinds.let,e,s,a)}var(e,s,a){return this._def(at.varKinds.var,e,s,a)}assign(e,s,a){return this._leafNode(new bi(e,s,a))}add(e,s){return this._leafNode(new o0(e,Ve.operators.ADD,s))}code(e){return typeof e=="function"?e():e!==Je.nil&&this._leafNode(new l0(e)),this}object(...e){let s=["{"];for(let[a,c]of e)s.length>1&&s.push(","),s.push(a),(a!==c||this.opts.es5)&&(s.push(":"),(0,Je.addCodeArg)(s,c));return s.push("}"),new Je._Code(s)}if(e,s,a){if(this._blockNode(new ar(e)),s&&a)this.code(s).else().code(a).endIf();else if(s)this.code(s).endIf();else if(a)throw new Error('CodeGen: "else" body without "then" body');return this}elseIf(e){return this._elseNode(new ar(e))}else(){return this._elseNode(new Nr)}endIf(){return this._endBlockNode(ar,Nr)}_for(e,s){return this._blockNode(e),s&&this.code(s).endFor(),this}for(e,s){return this._for(new c0(e),s)}forRange(e,s,a,c,h=this.opts.es5?at.varKinds.var:at.varKinds.let){let g=this._scope.toName(e);return this._for(new d0(h,g,s,a),()=>c(g))}forOf(e,s,a,c=at.varKinds.const){let h=this._scope.toName(e);if(this.opts.es5){let g=s instanceof Je.Name?s:this.var("_arr",s);return this.forRange("_i",0,(0,Je._)`${g}.length`,m=>{this.var(h,(0,Je._)`${g}[${m}]`),a(h)})}return this._for(new _i("of",c,h,s),()=>a(h))}forIn(e,s,a,c=this.opts.es5?at.varKinds.var:at.varKinds.const){if(this.opts.ownProperties)return this.forOf(e,(0,Je._)`Object.keys(${s})`,a);let h=this._scope.toName(e);return this._for(new _i("in",c,h,s),()=>a(h))}endFor(){return this._endBlockNode(ur)}label(e){return this._leafNode(new s0(e))}break(e){return this._leafNode(new a0(e))}return(e){let s=new _n;if(this._blockNode(s),this.code(e),s.nodes.length!==1)throw new Error('CodeGen: "return" should have one node');return this._endBlockNode(_n)}try(e,s,a){if(!s&&!a)throw new Error('CodeGen: "try" without "catch" and "finally"');let c=new h0;if(this._blockNode(c),this.code(e),s){let h=this.name("e");this._currNode=c.catch=new En(h),s(h)}return a&&(this._currNode=c.finally=new $n,this.code(a)),this._endBlockNode(En,$n)}throw(e){return this._leafNode(new u0(e))}block(e,s){return this._blockStarts.push(this._nodes.length),e&&this.code(e).endBlock(s),this}endBlock(e){let s=this._blockStarts.pop();if(s===void 0)throw new Error("CodeGen: not in self-balancing block");let a=this._nodes.length-s;if(a<0||e!==void 0&&a!==e)throw new Error(`CodeGen: wrong number of nodes: ${a} vs ${e} expected`);return this._nodes.length=s,this}func(e,s=Je.nil,a,c){return this._blockNode(new bn(e,s,a)),c&&this.code(c).endFunc(),this}endFunc(){return this._endBlockNode(bn)}optimize(e=1){for(;e-- >0;)this._root.optimizeNodes(),this._root.optimizeNames(this._root.names,this._constants)}_leafNode(e){return this._currNode.nodes.push(e),this}_blockNode(e){this._currNode.nodes.push(e),this._nodes.push(e)}_endBlockNode(e,s){let a=this._currNode;if(a instanceof e||s&&a instanceof s)return this._nodes.pop(),this;throw new Error(`CodeGen: not in block "${s?`${e.kind}/${s.kind}`:e.kind}"`)}_elseNode(e){let s=this._currNode;if(!(s instanceof ar))throw new Error('CodeGen: "else" without "if"');return this._currNode=s.else=e,this}get _root(){return this._nodes[0]}get _currNode(){let e=this._nodes;return e[e.length-1]}set _currNode(e){let s=this._nodes;s[s.length-1]=e}};Ve.CodeGen=p0;function lr(n,e){for(let s in e)n[s]=(n[s]||0)+(e[s]||0);return n}function Ei(n,e){return e instanceof Je._CodeOrName?lr(n,e.names):n}function Mr(n,e,s){if(n instanceof Je.Name)return a(n);if(!c(n))return n;return new Je._Code(n._items.reduce((h,g)=>(g instanceof Je.Name&&(g=a(g)),g instanceof Je._Code?h.push(...g._items):h.push(g),h),[]));function a(h){let g=s[h.str];return g===void 0||e[h.str]!==1?h:(delete e[h.str],g)}function c(h){return h instanceof Je._Code&&h._items.some(g=>g instanceof Je.Name&&e[g.str]===1&&s[g.str]!==void 0)}}function rg(n,e){for(let s in e)n[s]=(n[s]||0)-(e[s]||0)}function rl(n){return typeof n=="boolean"||typeof n=="number"||n===null?!n:(0,Je._)`!${g0(n)}`}Ve.not=rl;var ng=nl(Ve.operators.AND);function ig(...n){return n.reduce(ng)}Ve.and=ig;var og=nl(Ve.operators.OR);function sg(...n){return n.reduce(og)}Ve.or=sg;function nl(n){return(e,s)=>e===Je.nil?s:s===Je.nil?e:(0,Je._)`${g0(e)} ${n} ${g0(s)}`}function g0(n){return n instanceof Je.Name?n:(0,Je._)`(${n})`}});var Ke=me(ze=>{"use strict";Object.defineProperty(ze,"__esModule",{value:!0});ze.checkStrictMode=ze.getErrorPath=ze.Type=ze.useFunc=ze.setEvaluated=ze.evaluatedPropsToName=ze.mergeEvaluated=ze.eachItem=ze.unescapeJsonPointer=ze.escapeJsonPointer=ze.escapeFragment=ze.unescapeFragment=ze.schemaRefOrVal=ze.schemaHasRulesButRef=ze.schemaHasRules=ze.checkUnknownRules=ze.alwaysValidSchema=ze.toHash=void 0;var lA=Ue(),ag=wn();function ug(n){let e={};for(let s of n)e[s]=!0;return e}ze.toHash=ug;function lg(n,e){return typeof e=="boolean"?e:Object.keys(e).length===0?!0:(sl(n,e),!al(e,n.self.RULES.all))}ze.alwaysValidSchema=lg;function sl(n,e=n.schema){let{opts:s,self:a}=n;if(!s.strictSchema||typeof e=="boolean")return;let c=a.RULES.keywords;for(let h in e)c[h]||fl(n,`unknown keyword: "${h}"`)}ze.checkUnknownRules=sl;function al(n,e){if(typeof n=="boolean")return!n;for(let s in n)if(e[s])return!0;return!1}ze.schemaHasRules=al;function fg(n,e){if(typeof n=="boolean")return!n;for(let s in n)if(s!=="$ref"&&e.all[s])return!0;return!1}ze.schemaHasRulesButRef=fg;function cg({topSchemaRef:n,schemaPath:e},s,a,c){if(!c){if(typeof s=="number"||typeof s=="boolean")return s;if(typeof s=="string")return(0,lA._)`${s}`}return(0,lA._)`${n}${e}${(0,lA.getProperty)(a)}`}ze.schemaRefOrVal=cg;function dg(n){return ul(decodeURIComponent(n))}ze.unescapeFragment=dg;function hg(n){return encodeURIComponent(y0(n))}ze.escapeFragment=hg;function y0(n){return typeof n=="number"?`${n}`:n.replace(/~/g,"~0").replace(/\//g,"~1")}ze.escapeJsonPointer=y0;function ul(n){return n.replace(/~1/g,"/").replace(/~0/g,"~")}ze.unescapeJsonPointer=ul;function pg(n,e){if(Array.isArray(n))for(let s of n)e(s);else e(n)}ze.eachItem=pg;function il({mergeNames:n,mergeToName:e,mergeValues:s,resultToName:a}){return(c,h,g,m)=>{let v=g===void 0?h:g instanceof lA.Name?(h instanceof lA.Name?n(c,h,g):e(c,h,g),g):h instanceof lA.Name?(e(c,g,h),h):s(h,g);return m===lA.Name&&!(v instanceof lA.Name)?a(c,v):v}}ze.mergeEvaluated={props:il({mergeNames:(n,e,s)=>n.if((0,lA._)`${s} !== true && ${e} !== undefined`,()=>{n.if((0,lA._)`${e} === true`,()=>n.assign(s,!0),()=>n.assign(s,(0,lA._)`${s} || {}`).code((0,lA._)`Object.assign(${s}, ${e})`))}),mergeToName:(n,e,s)=>n.if((0,lA._)`${s} !== true`,()=>{e===!0?n.assign(s,!0):(n.assign(s,(0,lA._)`${s} || {}`),w0(n,s,e))}),mergeValues:(n,e)=>n===!0?!0:{...n,...e},resultToName:ll}),items:il({mergeNames:(n,e,s)=>n.if((0,lA._)`${s} !== true && ${e} !== undefined`,()=>n.assign(s,(0,lA._)`${e} === true ? true : ${s} > ${e} ? ${s} : ${e}`)),mergeToName:(n,e,s)=>n.if((0,lA._)`${s} !== true`,()=>n.assign(s,e===!0?!0:(0,lA._)`${s} > ${e} ? ${s} : ${e}`)),mergeValues:(n,e)=>n===!0?!0:Math.max(n,e),resultToName:(n,e)=>n.var("items",e)})};function ll(n,e){if(e===!0)return n.var("props",!0);let s=n.var("props",(0,lA._)`{}`);return e!==void 0&&w0(n,s,e),s}ze.evaluatedPropsToName=ll;function w0(n,e,s){Object.keys(s).forEach(a=>n.assign((0,lA._)`${e}${(0,lA.getProperty)(a)}`,!0))}ze.setEvaluated=w0;var ol={};function gg(n,e){return n.scopeValue("func",{ref:e,code:ol[e.code]||(ol[e.code]=new ag._Code(e.code))})}ze.useFunc=gg;var m0;(function(n){n[n.Num=0]="Num",n[n.Str=1]="Str"})(m0||(ze.Type=m0={}));function mg(n,e,s){if(n instanceof lA.Name){let a=e===m0.Num;return s?a?(0,lA._)`"[" + ${n} + "]"`:(0,lA._)`"['" + ${n} + "']"`:a?(0,lA._)`"/" + ${n}`:(0,lA._)`"/" + ${n}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return s?(0,lA.getProperty)(n).toString():"/"+y0(n)}ze.getErrorPath=mg;function fl(n,e,s=n.opts.strictSchema){if(s){if(e=`strict mode: ${e}`,s===!0)throw new Error(e);n.self.logger.warn(e)}}ze.checkStrictMode=fl});var rt=me(v0=>{"use strict";Object.defineProperty(v0,"__esModule",{value:!0});var TA=Ue(),yg={data:new TA.Name("data"),valCxt:new TA.Name("valCxt"),instancePath:new TA.Name("instancePath"),parentData:new TA.Name("parentData"),parentDataProperty:new TA.Name("parentDataProperty"),rootData:new TA.Name("rootData"),dynamicAnchors:new TA.Name("dynamicAnchors"),vErrors:new TA.Name("vErrors"),errors:new TA.Name("errors"),this:new TA.Name("this"),self:new TA.Name("self"),scope:new TA.Name("scope"),json:new TA.Name("json"),jsonPos:new TA.Name("jsonPos"),jsonLen:new TA.Name("jsonLen"),jsonPart:new TA.Name("jsonPart")};v0.default=yg});var kn=me(OA=>{"use strict";Object.defineProperty(OA,"__esModule",{value:!0});OA.extendErrors=OA.resetErrorsCount=OA.reportExtraError=OA.reportError=OA.keyword$DataError=OA.keywordError=void 0;var Ze=Ue(),ki=Ke(),QA=rt();OA.keywordError={message:({keyword:n})=>(0,Ze.str)`must pass "${n}" keyword validation`};OA.keyword$DataError={message:({keyword:n,schemaType:e})=>e?(0,Ze.str)`"${n}" keyword must be ${e} ($data)`:(0,Ze.str)`"${n}" keyword is invalid ($data)`};function wg(n,e=OA.keywordError,s,a){let{it:c}=n,{gen:h,compositeRule:g,allErrors:m}=c,v=hl(n,e,s);a??(g||m)?cl(h,v):dl(c,(0,Ze._)`[${v}]`)}OA.reportError=wg;function vg(n,e=OA.keywordError,s){let{it:a}=n,{gen:c,compositeRule:h,allErrors:g}=a,m=hl(n,e,s);cl(c,m),h||g||dl(a,QA.default.vErrors)}OA.reportExtraError=vg;function bg(n,e){n.assign(QA.default.errors,e),n.if((0,Ze._)`${QA.default.vErrors} !== null`,()=>n.if(e,()=>n.assign((0,Ze._)`${QA.default.vErrors}.length`,e),()=>n.assign(QA.default.vErrors,null)))}OA.resetErrorsCount=bg;function _g({gen:n,keyword:e,schemaValue:s,data:a,errsCount:c,it:h}){if(c===void 0)throw new Error("ajv implementation error");let g=n.name("err");n.forRange("i",c,QA.default.errors,m=>{n.const(g,(0,Ze._)`${QA.default.vErrors}[${m}]`),n.if((0,Ze._)`${g}.instancePath === undefined`,()=>n.assign((0,Ze._)`${g}.instancePath`,(0,Ze.strConcat)(QA.default.instancePath,h.errorPath))),n.assign((0,Ze._)`${g}.schemaPath`,(0,Ze.str)`${h.errSchemaPath}/${e}`),h.opts.verbose&&(n.assign((0,Ze._)`${g}.schema`,s),n.assign((0,Ze._)`${g}.data`,a))})}OA.extendErrors=_g;function cl(n,e){let s=n.const("err",e);n.if((0,Ze._)`${QA.default.vErrors} === null`,()=>n.assign(QA.default.vErrors,(0,Ze._)`[${s}]`),(0,Ze._)`${QA.default.vErrors}.push(${s})`),n.code((0,Ze._)`${QA.default.errors}++`)}function dl(n,e){let{gen:s,validateName:a,schemaEnv:c}=n;c.$async?s.throw((0,Ze._)`new ${n.ValidationError}(${e})`):(s.assign((0,Ze._)`${a}.errors`,e),s.return(!1))}var fr={keyword:new Ze.Name("keyword"),schemaPath:new Ze.Name("schemaPath"),params:new Ze.Name("params"),propertyName:new Ze.Name("propertyName"),message:new Ze.Name("message"),schema:new Ze.Name("schema"),parentSchema:new Ze.Name("parentSchema")};function hl(n,e,s){let{createErrors:a}=n.it;return a===!1?(0,Ze._)`{}`:Eg(n,e,s)}function Eg(n,e,s={}){let{gen:a,it:c}=n,h=[$g(c,s),kg(n,s)];return xg(n,e,h),a.object(...h)}function $g({errorPath:n},{instancePath:e}){let s=e?(0,Ze.str)`${n}${(0,ki.getErrorPath)(e,ki.Type.Str)}`:n;return[QA.default.instancePath,(0,Ze.strConcat)(QA.default.instancePath,s)]}function kg({keyword:n,it:{errSchemaPath:e}},{schemaPath:s,parentSchema:a}){let c=a?e:(0,Ze.str)`${e}/${n}`;return s&&(c=(0,Ze.str)`${c}${(0,ki.getErrorPath)(s,ki.Type.Str)}`),[fr.schemaPath,c]}function xg(n,{params:e,message:s},a){let{keyword:c,data:h,schemaValue:g,it:m}=n,{opts:v,propertyName:b,topSchemaRef:w,schemaPath:E}=m;a.push([fr.keyword,c],[fr.params,typeof e=="function"?e(n):e||(0,Ze._)`{}`]),v.messages&&a.push([fr.message,typeof s=="function"?s(n):s]),v.verbose&&a.push([fr.schema,g],[fr.parentSchema,(0,Ze._)`${w}${E}`],[QA.default.data,h]),b&&a.push([fr.propertyName,b])}});var gl=me(Rr=>{"use strict";Object.defineProperty(Rr,"__esModule",{value:!0});Rr.boolOrEmptySchema=Rr.topBoolOrEmptySchema=void 0;var Sg=kn(),Bg=Ue(),Pg=rt(),Dg={message:"boolean schema is false"};function Cg(n){let{gen:e,schema:s,validateName:a}=n;s===!1?pl(n,!1):typeof s=="object"&&s.$async===!0?e.return(Pg.default.data):(e.assign((0,Bg._)`${a}.errors`,null),e.return(!0))}Rr.topBoolOrEmptySchema=Cg;function Tg(n,e){let{gen:s,schema:a}=n;a===!1?(s.var(e,!1),pl(n)):s.var(e,!0)}Rr.boolOrEmptySchema=Tg;function pl(n,e){let{gen:s,data:a}=n,c={gen:s,keyword:"false schema",data:a,schema:!1,schemaCode:!1,schemaValue:!1,params:{},it:n};(0,Sg.reportError)(c,Dg,void 0,e)}});var b0=me(Ir=>{"use strict";Object.defineProperty(Ir,"__esModule",{value:!0});Ir.getRules=Ir.isJSONType=void 0;var Og=["string","number","integer","boolean","null","object","array"],jg=new Set(Og);function Ng(n){return typeof n=="string"&&jg.has(n)}Ir.isJSONType=Ng;function Mg(){let n={number:{type:"number",rules:[]},string:{type:"string",rules:[]},array:{type:"array",rules:[]},object:{type:"object",rules:[]}};return{types:{...n,integer:!0,boolean:!0,null:!0},rules:[{rules:[]},n.number,n.string,n.array,n.object],post:{rules:[]},all:{},keywords:{}}}Ir.getRules=Mg});var _0=me(Lt=>{"use strict";Object.defineProperty(Lt,"__esModule",{value:!0});Lt.shouldUseRule=Lt.shouldUseGroup=Lt.schemaHasRulesForType=void 0;function Rg({schema:n,self:e},s){let a=e.RULES.types[s];return a&&a!==!0&&ml(n,a)}Lt.schemaHasRulesForType=Rg;function ml(n,e){return e.rules.some(s=>yl(n,s))}Lt.shouldUseGroup=ml;function yl(n,e){var s;return n[e.keyword]!==void 0||((s=e.definition.implements)===null||s===void 0?void 0:s.some(a=>n[a]!==void 0))}Lt.shouldUseRule=yl});var xn=me(jA=>{"use strict";Object.defineProperty(jA,"__esModule",{value:!0});jA.reportTypeError=jA.checkDataTypes=jA.checkDataType=jA.coerceAndCheckDataType=jA.getJSONTypes=jA.getSchemaTypes=jA.DataType=void 0;var Ig=b0(),Hg=_0(),Qg=kn(),Ge=Ue(),wl=Ke(),Hr;(function(n){n[n.Correct=0]="Correct",n[n.Wrong=1]="Wrong"})(Hr||(jA.DataType=Hr={}));function qg(n){let e=vl(n.type);if(e.includes("null")){if(n.nullable===!1)throw new Error("type: null contradicts nullable: false")}else{if(!e.length&&n.nullable!==void 0)throw new Error('"nullable" cannot be used without "type"');n.nullable===!0&&e.push("null")}return e}jA.getSchemaTypes=qg;function vl(n){let e=Array.isArray(n)?n:n?[n]:[];if(e.every(Ig.isJSONType))return e;throw new Error("type must be JSONType or JSONType[]: "+e.join(","))}jA.getJSONTypes=vl;function Lg(n,e){let{gen:s,data:a,opts:c}=n,h=Ug(e,c.coerceTypes),g=e.length>0&&!(h.length===0&&e.length===1&&(0,Hg.schemaHasRulesForType)(n,e[0]));if(g){let m=$0(e,a,c.strictNumbers,Hr.Wrong);s.if(m,()=>{h.length?Gg(n,e,h):k0(n)})}return g}jA.coerceAndCheckDataType=Lg;var bl=new Set(["string","number","integer","boolean","null"]);function Ug(n,e){return e?n.filter(s=>bl.has(s)||e==="array"&&s==="array"):[]}function Gg(n,e,s){let{gen:a,data:c,opts:h}=n,g=a.let("dataType",(0,Ge._)`typeof ${c}`),m=a.let("coerced",(0,Ge._)`undefined`);h.coerceTypes==="array"&&a.if((0,Ge._)`${g} == 'object' && Array.isArray(${c}) && ${c}.length == 1`,()=>a.assign(c,(0,Ge._)`${c}[0]`).assign(g,(0,Ge._)`typeof ${c}`).if($0(e,c,h.strictNumbers),()=>a.assign(m,c))),a.if((0,Ge._)`${m} !== undefined`);for(let b of s)(bl.has(b)||b==="array"&&h.coerceTypes==="array")&&v(b);a.else(),k0(n),a.endIf(),a.if((0,Ge._)`${m} !== undefined`,()=>{a.assign(c,m),Fg(n,m)});function v(b){switch(b){case"string":a.elseIf((0,Ge._)`${g} == "number" || ${g} == "boolean"`).assign(m,(0,Ge._)`"" + ${c}`).elseIf((0,Ge._)`${c} === null`).assign(m,(0,Ge._)`""`);return;case"number":a.elseIf((0,Ge._)`${g} == "boolean" || ${c} === null
|
|
1
|
+
/* HoloSphere Bundle v1.3.0-alpha7 - Holonic Geospatial Communication Infrastructure */
|
|
2
|
+
var HoloSphere=(()=>{var a1=Object.create;var pi=Object.defineProperty;var u1=Object.getOwnPropertyDescriptor;var l1=Object.getOwnPropertyNames;var f1=Object.getPrototypeOf,c1=Object.prototype.hasOwnProperty;var Ru=(n=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(n,{get:(e,s)=>(typeof require<"u"?require:e)[s]}):n)(function(n){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+n+'" is not supported')});var me=(n,e)=>()=>(e||n((e={exports:{}}).exports,e),e.exports),Iu=(n,e)=>{for(var s in e)pi(n,s,{get:e[s],enumerable:!0})},Hu=(n,e,s,a)=>{if(e&&typeof e=="object"||typeof e=="function")for(let c of l1(e))!c1.call(n,c)&&c!==s&&pi(n,c,{get:()=>e[c],enumerable:!(a=u1(e,c))||a.enumerable});return n};var Qu=(n,e,s)=>(s=n!=null?a1(f1(n)):{},Hu(e||!n||!n.__esModule?pi(s,"default",{value:n,enumerable:!0}):s,n)),d1=n=>Hu(pi({},"__esModule",{value:!0}),n);var Zu=me((T8,Xo)=>{(function(){function n(s,a){return a?Ru(s):s.slice?n[c(s)]:function(h,g){s(h={exports:{}}),n[c(g)]=h.exports};function c(h){return h.split("/").slice(-1).toString().replace(".js","")}}if(typeof Xo<"u")var e=Xo;n(function(s){String.random=function(c,h){var g="";for(c=c||24,h=h||"0123456789ABCDEFGHIJKLMNOPQRSTUVWXZabcdefghijklmnopqrstuvwxyz";c-- >0;)g+=h.charAt(Math.floor(Math.random()*h.length));return g},String.match=function(c,h){var g,m;return typeof c!="string"?!1:(typeof h=="string"&&(h={"=":h}),h=h||{},g=h["="]||h["*"]||h[">"]||h["<"],c===g?!0:m!==h["="]?!1:(g=h["*"]||h[">"],c.slice(0,(g||"").length)===g?!0:m!==h["*"]?!1:m!==h[">"]&&m!==h["<"]?c>=h[">"]&&c<=h["<"]:m!==h[">"]&&c>=h[">"]||m!==h["<"]&&c<=h["<"]))},String.hash=function(c,h){if(typeof c=="string"){if(h=h||0,!c.length)return h;for(var g=0,m=c.length,v;g<m;++g)v=c.charCodeAt(g),h=(h<<5)-h+v,h|=0;return h}};var a=Object.prototype.hasOwnProperty;Object.plain=function(c){return c?c instanceof Object&&c.constructor===Object||Object.prototype.toString.call(c).match(/^\[object (\w+)\]$/)[1]==="Object":!1},Object.empty=function(c,h){for(var g in c)if(a.call(c,g)&&(!h||h.indexOf(g)==-1))return!1;return!0},Object.keys=Object.keys||function(c){var h=[];for(var g in c)a.call(c,g)&&h.push(g);return h},(function(){var c,h=setTimeout,g=0,m=0,v=typeof setImmediate!=""+c&&setImmediate||(function(w,_){return typeof MessageChannel==""+c?h:((w=new MessageChannel).port1.onmessage=function($){$.data==""&&_()},function($){_=$,w.port2.postMessage("")})})(),b=h.check=h.check||typeof performance!=""+c&&performance||{now:function(){return+new Date}};h.hold=h.hold||9,h.poll=h.poll||function(w){if(h.hold>=b.now()-g&&m++<3333){w();return}v(function(){g=b.now(),w()},m=0)}})(),(function(){var c=setTimeout,h=c.turn=c.turn||function(_){g.push(_)==1&&m(w)},g=h.s=[],m=c.poll,v=0,b,w=function(){(b=g[v++])&&b(),(v==g.length||v==99)&&(g=h.s=g.slice(v),v=0),g.length&&m(w)}})(),(function(){var c,h=setTimeout,g=h.turn;(h.each=h.each||function(m,v,b,w){w=w||9,(function _($,k,T){if(k=($=(m||[]).splice(0,w)).length){for(var x=0;x<k&&c===(T=v($[x]));x++);if(c===T){g(_);return}}b&&b(T)})()})()})()})(n,"./shim"),n(function(s){s.exports=function a(b,h,g){if(!b)return{to:a};var m,v=typeof h=="function",b=(this.tag||(this.tag={}))[b]||v&&(this.tag[b]={tag:b,to:a._={next:function(_){var $;($=this.to)&&$.next(_)}}});if(v){var w={off:a.off||(a.off=function(){if(this.next===a._.next)return!0;this===this.the.last&&(this.the.last=this.back),this.to.back=this.back,this.next=a._.next,this.back.to=this.to,this.the.last===this.the&&delete this.on.tag[this.the.tag]}),to:a._,next:h,the:b,on:this,as:g};return(w.back=b.last||b).to=w,b.last=w}return(b=b.to)&&m!==h&&b.next(h),b}})(n,"./onto"),n(function(s){s.exports=function(a){return a===null||typeof a=="string"||typeof a=="boolean"||typeof a=="number"&&a!=1/0&&a!=-1/0&&a===a||!!a&&typeof a["#"]=="string"&&Object.keys(a).length===1&&a["#"]}})(n,"./valid"),n(function(s){n("./shim");function a(){var b=+new Date;return m<b?(h=0,m=b+a.drift):m=b+(h+=1)/g+a.drift}a.drift=0;var c=-1/0,h=0,g=999,m=c,v;a.is=function(b,w,_){var $=w&&b&&b._&&b._[">"]||_;if($)return typeof($=$[w])=="number"?$:c},a.ify=function(b,w,_,$,k){(b=b||{})._=b._||{},k&&(b._["#"]=k);var T=b._[">"]||(b._[">"]={});return v!==w&&w!=="_"&&(typeof _=="number"&&(T[w]=_),v!==$&&(b[w]=$)),b},s.exports=a})(n,"./state"),n(function(s){n("./shim");function a(c){var h={s:{}},g=h.s;c=c||{max:999,age:1e3*9},h.check=function(v){return g[v]?m(v):!1};var m=h.track=function(v){var b=g[v]||(g[v]={});return b.was=h.now=+new Date,h.to||(h.to=setTimeout(h.drop,c.age+9)),m.ed&&m.ed(v),b};return h.drop=function(v){h.to=null,h.now=+new Date;var b=Object.keys(g);console.STAT&&console.STAT(h.now,+new Date-h.now,"dup drop keys"),setTimeout.each(b,function(w){var _=g[w];_&&(v||c.age)>h.now-_.was||delete g[w]},0,99)},h}s.exports=a})(n,"./dup"),n(function(s){n("./onto"),s.exports=function(h,g){if(this.on){var m=(this.opt||{}).lack||9e3;if(typeof h!="function"){if(!h)return;var b=h["#"]||h,v=(this.tag||"")[b];return v?(g&&(v=this.on(b,g),clearTimeout(v.err),v.err=setTimeout(function(){v.off()},m)),!0):void 0}var b=g&&g["#"]||a(9);if(!h)return b;var w=this.on(b,h,g);return w.err=w.err||setTimeout(function(){w.off(),w.next({err:"Error: No ACK yet.",lack:!0})},m),b}};var a=String.random||function(){return Math.random().toString(36).slice(2)}})(n,"./ask"),n(function(s){function a(k){return k instanceof a?(this._={$:this}).$:this instanceof a?a.create(this._={$:this,opt:k}):new a(k)}a.is=function(k){return k instanceof a||k&&k._&&k===k._.$||!1},a.version=.202,a.chain=a.prototype,a.chain.toJSON=function(){},n("./shim"),a.valid=n("./valid"),a.state=n("./state"),a.on=n("./onto"),a.dup=n("./dup"),a.ask=n("./ask"),(function(){a.create=function(D){D.root=D.root||D,D.graph=D.graph||{},D.on=D.on||a.on,D.ask=D.ask||a.ask,D.dup=D.dup||a.dup();var B=D.$.opt(D.opt);return D.once||(D.on("in",k,D),D.on("out",k,D),D.on("put",N,D),a.on("create",D),D.on("create",D)),D.once=1,B};function k(D){if(D){if(D.out===k){this.to.next(D);return}var B=this,C=B.as,Q=C.at||C,Y=Q.$,K=Q.dup,U,re=D.DBG;if((U=D["#"])||(U=D["#"]=h(9)),!K.check(U)){if(K.track(U),U=D._,D._=typeof U=="function"?U:function(){},D.$&&D.$===(D.$._||"").$||(D.$=Y),D["@"]&&!D.put&&q(D),!Q.ask(D["@"],D))if(re&&(re.u=+new Date),D.put){T(D);return}else D.get&&a.on.get(D,Y);re&&(re.uc=+new Date),B.to.next(D),re&&(re.ua=+new Date),!(D.nts||D.NTS)&&(D.out=k,Q.on("out",D),re&&(re.ue=+new Date))}}}function T(D){if(D){var B=D._||"",C=B.root=((B.$=D.$||"")._||"").root;if(D["@"]&&B.faith&&!B.miss){D.out=k,C.on("out",D);return}B.latch=C.hatch,B.match=C.hatch=[];var Q=D.put,Y=B.DBG=D.DBG,K=+new Date;if(we=we||K,!(Q["#"]&&Q["."])){Y&&(Y.p=K),B["#"]=D["#"],B.msg=D,B.all=0,B.stun=1;var U=Object.keys(Q);console.STAT&&console.STAT(K,((Y||B).pk=+new Date)-K,"put sort");var re=0,ie,le,ge,Pe,Ee,ve,Ne;(function rA(fA){if(ie!=re){if(ie=re,!(ge=U[re])){console.STAT&&console.STAT(K,((Y||B).pd=+new Date)-K,"put"),j(B);return}(Pe=Q[ge])?(Ne=Pe._)?ge!==Ne["#"]?ve=G+z(ge)+"soul not same.":(Ee=Ne[">"])||(ve=G+z(ge)+"no state."):ve=G+z(ge)+"no meta.":ve=G+z(ge)+"no node.",le=Object.keys(Pe||{})}if(ve){D.err=B.err=ve,j(B);return}var Ye=0,nA;for(fA=fA||0;fA++<9&&(nA=le[Ye++]);)if(nA!=="_"){var RA=Pe[nA],WA=Ee[nA];if(w===WA){ve=G+z(nA)+"on"+z(ge)+"no state.";break}if(!m(RA)){ve=G+z(nA)+"on"+z(ge)+"bad "+typeof RA+z(RA);break}x(RA,nA,ge,WA,D),++X}if((le=le.slice(Ye)).length){g(rA);return}++re,le=null,rA(fA)})()}}}a.on.put=T;function x(D,B,C,Q,Y){var K=Y._||"",U=K.root,re=U.graph,ie,le,ge=re[C]||_,Pe=v(ge,B,1),Ee=ge[B],ve=K.DBG;(le=console.STAT)&&(!re[C]||!Ee)&&(le.has=(le.has||0)+1);var Ne=W(),rA;if(Q>Ne){setTimeout(function(){x(D,B,C,Q,Y)},(le=Q-Ne)>pe?pe:le),console.STAT&&console.STAT((ve||K).Hf=+new Date,le,"future");return}if(!(Q<Pe)&&!(!K.faith&&Q===Pe&&(D===Ee||J(D)<=J(Ee))&&!K.miss)){K.stun++;var fA=Y["#"]+K.all++,Ye={toString:function(){return fA},_:K};Ye.toJSON=Ye.toString,U.dup.track(Ye)["#"]=Y["#"],ve&&(ve.ph=ve.ph||+new Date),U.on("put",{"#":Ye,"@":Y["@"],put:{"#":C,".":B,":":D,">":Q},ok:Y.ok,_:K})}}function N(D){var B;(B=(D._||"").DBG)&&(B.pa=+new Date,B.pm=B.pm||+new Date);var C=this,Q=C.as,Y=Q.graph,K=D._,U=D.put,re=U["#"],ie=U["."],le=U[":"],ge=U[">"],Pe=D["#"],Ee;(Ee=K.msg)&&(Ee=Ee.put)&&(Ee=Ee[re])&&b(Ee,ie,ge,le,re),Y[re]=b(Y[re],ie,ge,le,re),(Ee=(Q.next||"")[re])&&Ee.on("in",D),j(K),C.to.next(D)}function j(D,B){var C;if(!D.stop&&!(!D.err&&0<--D.stun)&&(D.stop=1,!!(C=D.root))){var Q=D.match;Q.end=1,Q===C.hatch&&(!(Q=D.latch)||Q.end?delete C.hatch:C.hatch=Q),D.hatch&&D.hatch(),setTimeout.each(D.match,function(Y){Y&&Y()}),!(!(B=D.msg)||D.err||B.err)&&(B.out=k,D.root.on("out",B),ue())}}function q(D){var B=D["@"]||"",C,Q,Y;if(!(C=B._)){var K=(K=D.$)&&(K=K._)&&(K=K.root)&&(K=K.dup);if(!(K=K.check(B)))return;D["@"]=K["#"]||D["@"];return}C.acks=(C.acks||0)+1,(C.err=D.err)&&(D["@"]=C["#"],j(C)),C.ok=D.ok||C.ok,!C.stop&&!C.crack&&(C.crack=C.match&&C.match.push(function(){L(C)})),L(C)}function L(D){!D||!D.root||D.stun||D.acks!==D.all||D.root.on("in",{"@":D["#"],err:D.err,ok:D.err?w:D.ok||{"":1}})}var G="Error: Invalid graph!",z=function(D){return" '"+(""+D).slice(0,9)+"...' "},J=JSON.stringify,pe=2147483647,W=a.state,X=0,we,ue=function(){X>999&&X/-(we-(we=+new Date))>1&&(a.window&&console.log("Warning: You're syncing 1K+ records a second, faster than DOM can update - consider limiting query."),ue=function(){X=0})}})(),(function(){a.on.get=function(T,x){var N=x._,j=T.get,q=j["#"],L=N.graph[q],G=j["."],z=N.next||(N.next={}),J=z[q],pe=T._||{},W=pe.DBG=T.DBG;if(W&&(W.g=+new Date),!L)return N.on("get",T);if(G){if((typeof G!="string"||w===L[G])&&!((J||"").next||"")[G]){N.on("get",T);return}L=b({},G,v(L,G),L[G],q)}L&&k(T,L),N.on("get",T)};function k(T,x){var N=+new Date,j=T._||{},q=j.DBG=T.DBG,L=T["#"],G=h(9),z=Object.keys(x||"").sort(),J=((x||"")._||"")["#"],pe=z.length,W=0,X=T.$._.root,we=x===X.graph[J];console.STAT&&console.STAT(N,((q||j).gk=+new Date)-N,"got keys"),x&&(function ue(){N=+new Date;for(var D=0,B,C={},Q;D<9&&(B=z[D++]);)b(C,B,v(x,B),x[B],J);z=z.slice(D),(Q={})[J]=C,C=Q;var Y;we&&(Y=function(){},Y.ram=Y.faith=!0),Q=z.length,console.STAT&&console.STAT(N,-(N-(N=+new Date)),"got copied some"),q&&(q.ga=+new Date),X.on("in",{"@":L,"#":G,put:C,"%":Q?G=h(9):w,$:X.$,_:Y,DBG:q,FOO:1}),console.STAT&&console.STAT(N,+new Date-N,"got in"),Q&&setTimeout.turn(ue)})(),x||X.on("in",{"@":T["#"]})}a.on.get.ack=k})(),(function(){a.chain.opt=function(k){k=k||{};var T=this,x=T._,N=k.peers||k;return Object.plain(k)||(k={}),Object.plain(x.opt)||(x.opt=k),typeof N=="string"&&(N=[N]),Object.plain(x.opt.peers)||(x.opt.peers={}),N instanceof Array&&(k.peers={},N.forEach(function(j){var q={};q.id=q.url=j,k.peers[j]=x.opt.peers[j]=x.opt.peers[j]||q})),c(k,function j(q){var L=this[q];if(this&&this.hasOwnProperty(q)||typeof L=="string"||Object.empty(L)){this[q]=L;return}L&&L.constructor!==Object&&!(L instanceof Array)||c(L,j)}),x.opt.from=k,a.on("opt",x),x.opt.uuid=x.opt.uuid||function(q){return a.state().toString(36).replace(".","")+String.random(q||12)},T}})();var c=function(k,T){Object.keys(k).forEach(T,k)},h=String.random,g=setTimeout.turn,m=a.valid,v=a.state.is,b=a.state.ify,w,_={},$;a.log=function(){return!a.log.off&&$.log.apply($,arguments),[].slice.call(arguments).join(" ")},a.log.once=function(k,T,x){return(x=a.log.once)[k]=x[k]||0,x[k]++||a.log(T)},typeof window<"u"&&((window.GUN=window.Gun=a).window=window);try{typeof e<"u"&&(e.exports=a)}catch{}s.exports=a,(a.window||{}).console=(a.window||{}).console||{log:function(){}},($=console).only=function(k,T){return $.only.i&&k===$.only.i&&$.only.i++&&($.log.apply($,arguments)||T)},a.log.once("welcome","Hello wonderful person! :) Thanks for using GUN, please ask for help on http://chat.gun.eco if anything takes you longer than 5min to figure out!")})(n,"./root"),n(function(s){var a=n("./root");a.chain.back=function(g,m){var v;if(g=g||1,g===-1||g===1/0)return this._.root.$;if(g===1)return(this._.back||this._).$;var b=this,w=b._;if(typeof g=="string"&&(g=g.split(".")),g instanceof Array){var _=0,$=g.length,v=w;for(_;_<$;_++)v=(v||c)[g[_]];return h!==v?m?b:v:(v=w.back)?v.$.back(g,m):void 0}if(typeof g=="function"){for(var k,v={back:w};(v=v.back)&&h===(k=g(v,m)););return k}return typeof g=="number"?(w.back||w).$.back(g-1):this};var c={},h})(n,"./back"),n(function(s){var a=n("./root");a.chain.chain=function(j){var q=this,L=q._,G=new(j||q).constructor(q),z=G._,J;return z.root=J=L.root,z.id=++J.once,z.back=q._,z.on=a.on,z.on("in",a.on.in,z),z.on("out",a.on.out,z),G};function c(j){var q,L,G=this.as,z=G.back,J=G.root,pe;if(j.$||(j.$=G.$),this.to.next(j),G.err){G.on("in",{put:G.put=w,$:G.$});return}if(L=j.get){if(J.pass&&(J.pass[G.id]=G),G.lex&&Object.keys(G.lex).forEach(function(W){pe[W]=G.lex[W]},pe=j.get=j.get||{}),L["#"]||G.soul){if(L["#"]=L["#"]||G.soul,j["#"]||(j["#"]=_(9)),z=J.$.get(L["#"])._,L=L["."]){if(k(z.put,L)&&(pe=z.ask&&z.ask[L],(z.ask||(z.ask={}))[L]=z.$.get(L)._,z.on("in",{get:L,put:{"#":z.soul,".":L,":":z.put[L],">":x(J.graph[z.soul],L)}}),pe))return}else{if(pe=z.ask&&z.ask[""],(z.ask||(z.ask={}))[""]=z,w!==z.put&&(z.on("in",z),pe))return;j.$=z.$}return J.ask(v,j),J.on("in",j)}if(L["."])return G.get?(j={get:{".":G.get},$:G.$},(z.ask||(z.ask={}))[G.get]=j.$._,z.on("out",j)):(j={get:G.lex?j.get:{},$:G.$},z.on("out",j));if((G.ask||(G.ask={}))[""]=G,G.get)return L["."]=G.get,(z.ask||(z.ask={}))[G.get]=j.$._,z.on("out",j)}return z.on("out",j)}a.on.out=c;function h(j,q){q=q||this.as;var L=q.root,G=j.$||(j.$=q.$),z=(G||"")._||b,J=j.put||"",pe=J["#"],W=J["."],X=w!==J["="]?J["="]:J[":"],we=J[">"]||-1/0,ue;if(w!==j.put&&(w===J["#"]||w===J["."]||w===J[":"]&&w===J["="]||w===J[">"])){if(!$(J)){if(!(pe=((J||"")._||"")["#"])){console.log("chain not yet supported for",J,"...",j,q);return}return G=q.root.$.get(pe),setTimeout.each(Object.keys(J).sort(),function(D){D=="_"||w===(we=x(J,D))||q.on("in",{$:G,put:{"#":pe,".":D,"=":J[D],">":we},VIA:j})})}q.on("in",{$:z.back.$,put:{"#":pe=z.back.soul,".":W=z.has||z.get,"=":J,">":x(z.back.put,W)},via:j});return}(j.seen||"")[q.id]||((j.seen||(j.seen=function(){}))[q.id]=q,q!==z&&(Object.keys(j).forEach(function(D){J[D]=j[D]},J={}),J.get=q.get||J.get,!q.soul&&!q.has?J.$$$=J.$$$||q.$:z.soul&&(J.$=q.$,J.$$=J.$$||z.$),j=J),m(j,q),(q.soul||j.$$)&&we>=x(L.graph[pe],W)&&((J=L.$.get(pe)._).put=N(J.put,W,we,X,pe)),!z.soul&&we>=x(L.graph[pe],W)&&(ue=(L.$.get(pe)._.next||"")[W])&&(ue.put=X,typeof(J=$(X))=="string"&&(ue.put=L.$.get(J)._.put||X)),this.to&&this.to.next(j),q.any&&setTimeout.each(Object.keys(q.any),function(D){(D=q.any[D])&&D(j)},0,99),q.echo&&setTimeout.each(Object.keys(q.echo),function(D){(D=q.echo[D])&&D.on("in",j)},0,99),((j.$$||"")._||z).soul&&(ue=q.next)&&(ue=ue[W])&&(J={},Object.keys(j).forEach(function(D){J[D]=j[D]}),J.$=(j.$$||j.$).get(J.get=W),delete J.$$,delete J.$$$,ue.on("in",J)),g(j,q))}a.on.in=h;function g(j,q){if(q=q||this.as||j.$._,!(j.$$&&this!==a.on)&&!(!j.put||q.soul)){var L=j.put||"",G=L["="]||L[":"],W,z=q.root,J=z.$.get(L["#"]).get(L["."])._;if(typeof(G=$(G))!="string"){this===a.on&&((J.echo||(J.echo={}))[q.id]=q);return}if(!((J.echo||(J.echo={}))[q.id]&&!(z.pass||"")[q.id])){if(W=z.pass){if(W[G+q.id])return;W[G+q.id]=1}(J.echo||(J.echo={}))[q.id]=q,q.has&&(q.link=G);var pe=z.$.get(J.link=G)._;(pe.echo||(pe.echo={}))[J.id]=J;var W=q.ask||"";(W[""]||q.lex)&&pe.on("out",{get:{"#":G}}),setTimeout.each(Object.keys(W),function(X,we){!X||!(we=W[X])||we.on("out",{get:{"#":G,".":X}})},0,99)}}}a.on.link=g;function m(j,q){var L=j.put||"",G=w!==L["="]?L["="]:L[":"],z=q.root,J,pe;if(w===G){if(q.soul&&w!==q.put||(pe=(j.$$||j.$||"")._||"",j["@"]&&(w!==pe.put||w!==q.put)))return;(J=q.link||j.linked)&&delete(z.$.get(J)._.echo||"")[q.id],q.has&&(q.link=null),q.put=w,setTimeout.each(Object.keys(q.next||""),function(W,X){(X=q.next[W])&&(J&&delete(z.$.get(J).get(W)._.echo||"")[X.id],X.on("in",{get:W,put:w,$:X.$}))},0,99);return}q.soul||j.$$||(J=$(G),pe=j.$._||"",!((J===pe.link||q.has&&!pe.link)&&!((z.pass||"")[q.id]&&typeof J!="string"))&&(delete(pe.echo||"")[q.id],m({get:q.get,put:w,$:j.$,linked:j.linked=j.linked||pe.link},q)))}a.on.unlink=m;function v(j,q){var L=this.as,G=L.$._,z=G.root,J=L.get||"",pe=(j.put||"")[J["#"]]||"";if(!j.put||typeof J["."]=="string"&&w===pe[J["."]]){if(w!==G.put||!G.soul&&!G.has)return;G.ack=(G.ack||0)+1,G.on("in",{get:G.get,put:G.put=w,$:G.$,"@":j["@"]});return}(j._||{}).miss=1,a.on.put(j)}var b={},w,_=String.random,$=a.valid,k=function(j,q){return j&&Object.prototype.hasOwnProperty.call(j,q)},T=a.state,x=T.is,N=T.ify})(n,"./chain"),n(function(s){var a=n("./root");a.chain.get=function(w,_,$){var k,T;if(typeof w=="string"){if(w.length==0)return(k=this.chain())._.err={err:a.log("0 length key!",w)},_&&_.call(k,k._.err),k;var x=this,N=x._,j=N.next||m;(k=j[w])||(k=w&&c(w,x)),k=k&&k.$}else if(typeof w=="function"){let W=function(X,we,ue){if(!W.stun&&!((U=L.pass)&&!U[G])){var D=X.$._,B=(X.$$||"")._,C=(B||D).put,Q=!D.has&&!D.soul,Y={},K,U;if((Q||b===C)&&(C=b===((U=X.put)||"")["="]?b===(U||"")[":"]?U:U[":"]:U["="]),(K=typeof(U=a.valid(C))=="string")&&(C=b===(U=L.$.get(U)._.put)?q.not?b:C:U),!(q.not&&b===C)){if(b===q.stun){if((U=L.stun)&&U.on&&(N.$.back(function(re){if(U.on(""+re.id,Y={}),(Y.run||0)<W.id)return Y}),!Y.run&&U.on(""+D.id,Y={}),!Y.run&&B&&U.on(""+B.id,Y={}),W.id>Y.run&&((!Y.stun||Y.stun.end)&&(Y.stun=U.on("stun"),Y.stun=Y.stun&&Y.stun.last),Y.stun&&!Y.stun.end))){(Y.stun.add||(Y.stun.add={}))[G]=function(){W(X,we,1)};return}if(b===C&&(ue=0),(U=L.hatch)&&!U.end&&b===q.hatch&&!ue){if(z[D.$._.id])return;z[D.$._.id]=1,U.push(function(){W(X,we,1)});return}z={}}if(L.pass){if(L.pass[G+D.id])return;L.pass[G+D.id]=1}if(q.on){q.ok.call(D.$,C,D.get,X,we||W);return}if(q.v2020){q.ok(X,we||W);return}Object.keys(X).forEach(function(re){U[re]=X[re]},U={}),X=U,X.put=C,q.ok.call(q.as,X,we||W)}}};var J=W;if(_===!0)return h(this,w,_,$),this;k=this;var N=k._,q=_||{},L=N.root,G;q.at=N,q.ok=w;var z={};return W.at=N,(N.any||(N.any={}))[G=String.random(7)]=W,W.off=function(){W.stun=1,N.any&&delete N.any[G]},W.rid=g,W.id=q.run||++L.once,T=L.pass,(L.pass={})[G]=1,q.out=q.out||{get:{}},N.on("out",q.out),L.pass=T,k}else{if(typeof w=="number")return this.get(""+w,_,$);if(typeof(T=v(w))=="string")return this.get(T,_,$);(T=this.get.next)&&(k=T(this,w))}return k?(_&&typeof _=="function"&&k.get(_,$),k):((k=this.chain())._.err={err:a.log("Invalid get request!",w)},_&&_.call(k,k._.err),k)};function c(w,_){var $=_._,k=$.next,T=_.chain(),x=T._;return k||(k=$.next={}),k[x.get=w]=x,_===$.root.$?x.soul=w:($.soul||$.has)&&(x.has=w),x}function h(w,_,$,k){var T=w._,x=0,N;return(N=T.soul||T.link)?_(N,k,T):T.jam?T.jam.push([_,k]):(T.jam=[[_,k]],w.get(function(q,L){if(!(b===q.put&&!T.root.opt.super&&(N=Object.keys(T.root.opt.peers).length)&&++x<=N)){L.rid(q);var G=(G=q.$)&&G._||{},z=0,J;for(N=T.jam,delete T.jam;J=N[z++];){var pe=J[0],W;J=J[1],pe&&pe(W=G.link||G.soul||a.valid(q.put)||((q.put||{})._||{})["#"],J,q,L)}}},{out:{get:{".":!0}}}),w)}function g(w){var _=this.at||this.on;if(!w||_.soul||_.has)return this.off();if(w=(w=(w=w.$||w)._||w).id){var $=_.map,k,T;if(k=(T=this.seen||(this.seen={}))[w])return!0;T[w]=!0}}var m={},v=a.valid,b})(n,"./get"),n(function(s){var a=n("./root");a.chain.put=function(x,N,j){var q=this,L=q._,G=L.root;j=j||{},j.root=L.root,j.run||(j.run=G.once),c(j,L.id),j.ack=j.ack||N,j.via=j.via||q,j.data=j.data||x,j.soul||(j.soul=L.soul||typeof N=="string"&&N);var z=j.state=j.state||a.state();return typeof x=="function"?(x(function(J){j.data=J,q.put(v,v,j)}),q):j.soul?(j.$=G.$.get(j.soul),j.todo=[{it:j.data,ref:j.$}],j.turn=j.turn||_,j.ran=j.ran||h,(function J(){var pe=j.todo,W=pe.pop(),X=W.it,we=W.ref&&W.ref._.id,ue,D,B,C,Q;if(c(j,W.ref),(C=W.todo)&&(D=C.pop(),X=X[D],C.length&&pe.push(W)),D&&(pe.path||(pe.path=[])).push(D),!(ue=$(X))&&!(Q=a.is(X))){if(!Object.plain(X)){h.err(j,"Invalid data: "+m(X)+" at "+(j.via.back(function(ie){ie.get&&C.push(ie.get)},C=[])||C.join("."))+"."+(pe.path||[]).join("."));return}for(var Y=j.seen||(j.seen=[]),K=Y.length;K--;)if(X===(C=Y[K]).it){ue=X=C.link;break}}if(D&&ue)W.node=k(W.node,D,z,X);else{let ie=function(le,ge){var Pe=B.link["#"];ge&&(ge.off(),ge.rid(le));var Ee=Pe||le.soul||(C=(le.$$||le.$)._||"").soul||C.link||((C=C.put||"")._||"")["#"]||C["#"]||((C=le.put||"")&&le.$$?C["#"]:(C["="]||C[":"]||"")["#"]);if(!Pe&&c(j,le.$),!Ee&&!W.link["#"]){(W.wait||(W.wait=[])).push(function(){ie(le,ge)});return}Ee||(Ee=[],(le.$$||le.$).back(function(ve){if(C=ve.soul||ve.link)return Ee.push(C);Ee.push(ve.get)}),Ee=Ee.reverse().join("/")),B.link["#"]=Ee,!Q&&(((j.graph||(j.graph={}))[Ee]=B.node||(B.node={_:{}}))._["#"]=Ee),delete j.wait[U],B.wait&&setTimeout.each(B.wait,function(ve){ve&&ve()}),j.ran(j)};var re=ie;if(!j.seen){h.err(j,"Data at root of graph must be a node (an object).");return}j.seen.push(B={it:X,link:{},todo:Q?[]:Object.keys(X).sort().reverse(),path:(pe.path||[]).slice(),up:W}),W.node=k(W.node,D,z,B.link),!Q&&B.todo.length&&pe.push(B);var U=j.seen.length;(j.wait||(j.wait={}))[U]="",C=(B.ref=Q?X:D?W.ref.get(D):W.ref)._,(C=X&&(X._||"")["#"]||C.soul||C.link)?ie({soul:C}):B.ref.get(ie,{run:j.run,v2020:1,out:{get:{".":" "}}})}if(!pe.length)return j.ran(j);j.turn(J)})(),q):(g(j),q)};function c(x,N){if(N){N=(N._||"").id||N;var j=x.root.stun||(x.root.stun={on:a.on}),q={},L;x.stun||(x.stun=j.on("stun",function(){})),(L=j.on(""+N))&&L.the.last.next(q),!(q.run>=x.run)&&j.on(""+N,function(G){if(x.stun.end){this.off(),this.to.next(G);return}G.run=G.run||x.run,G.stun=G.stun||x.stun})}}function h(x){if(x.err){h.end(x.stun,x.root);return}if(!(x.todo.length||x.end||!Object.empty(x.wait))){x.end=1;var N=x.$.back(-1)._,j=N.root,q=N.ask(function(J){j.on("ack",J),J.err&&!J.lack&&a.log(J),++L>(x.acks||0)&&this.off(),x.ack&&x.ack(J,this)},x.opt),L=0,G=x.stun,z;(z=function(){G&&(h.end(G,j),setTimeout.each(Object.keys(G=G.add||""),function(J){(J=G[J])&&J()}))}).hatch=z,x.ack&&!x.ok&&(x.ok=x.acks||9),x.via._.on("out",{put:x.out=x.graph,ok:x.ok&&{"@":x.ok+1},opt:x.opt,"#":q,_:z})}}h.end=function(x,N){x.end=w,x.the.to===x&&x===x.the.last&&delete N.stun,x.off()},h.err=function(x,N){(x.ack||w).call(x,x.out={err:x.err=a.log(N)}),x.ran(x)};function g(x){var N=x.via._,j;x.via=x.via.back(function(q){if(q.soul||!q.get)return q.$;j=x.data,(x.data={})[q.get]=j}),(!x.via||!x.via._.soul)&&(x.via=N.root.$.get(((x.data||"")._||"")["#"]||N.$.back("opt.uuid")())),x.via.put(x.data,x.ack,x)}function m(x,N){return x&&(N=x.constructor)&&N.name||typeof x}var v,b={},w=function(){},_=setTimeout.turn,$=a.valid,k=a.state.ify,T=function(x,N){x.call(N||b)}})(n,"./put"),n(function(s){var a=n("./root");n("./chain"),n("./back"),n("./put"),n("./get"),s.exports=a})(n,"./index"),n(function(s){var a=n("./index");a.chain.on=function(v,b,w,_){var $=this,k=$._,T=k.root,x,N,j,q;if(typeof v=="string")return b?(x=k.on(v,b,w||k,_),w&&w.$&&(w.subs||(w.subs=[])).push(x),$):k.on(v);var L=b;(L=L===!0?{change:!0}:L||{}).not=1,L.on=1;var G={};return $.get(v,L),$},a.chain.once=function(v,b){if(b=b||{},!v)return c(this,b);var w=this,_=w._,$=_.root,k=_.put,T=String.random(7),x,N;return w.get(function(j,q,L,G){var z=this,J=z._,pe=J.one||(J.one={});if(G.stun||pe[T]==="")return;if((N=a.valid(j))===!0){W();return}if(typeof N=="string")return;clearTimeout((_.one||"")[T]),clearTimeout(pe[T]),pe[T]=setTimeout(W,b.wait||99);function W(X){if(!J.has&&!J.soul&&(J={put:j,get:q}),m===(N=J.put)&&(N=((L.$$||"")._||"").put),typeof a.valid(N)=="string"&&(N=$.$.get(N)._.put,N===m&&!X)){pe[T]=setTimeout(function(){W(1)},b.wait||99);return}G.stun||pe[T]!==""&&(pe[T]="",(_.soul||_.has)&&G.off(),v.call(z,N,J.get),clearTimeout(pe[T]))}},{on:1}),w};function c(v,b,w){return a.log.once("valonce","Chainable val is experimental, its behavior and API may change moving forward. Please play with it and report bugs and ideas on how to improve it."),(w=v.chain())._.nix=v.once(function(_,$){w._.on("in",this._)}),w._.lex=v._.lex,w}a.chain.off=function(){var v=this,b=v._,w,_=b.back;if(_)return b.ack=0,(w=_.next)&&w[b.get]&&delete w[b.get],(w=_.any)&&(delete _.any,_.any={}),(w=_.ask)&&delete w[b.get],(w=_.put)&&delete w[b.get],(w=b.soul)&&delete _.root.graph[w],(w=b.map)&&Object.keys(w).forEach(function($,k){k=w[$],k.link&&_.root.$.get(k.link).off()}),(w=b.next)&&Object.keys(w).forEach(function($,k){k=w[$],k.$.off()}),b.on("off",{}),v};var h={},g=function(){},m})(n,"./on"),n(function(s){var a=n("./index"),c=a.chain.get.next;a.chain.get.next=function(b,w){var _;return Object.plain(w)?(_=((_=w["#"])||"")["="]||_)?b.get(_):((_=b.chain()._).lex=w,b.on("in",function($){String.match($.get||($.put||"")["."],w["."]||w["#"]||w)&&_.on("in",$),this.to.next($)}),_.$):(c||g)(b,w)},a.chain.map=function(b,w,_){var $=this,k=$._,T,x;return Object.plain(b)&&(T=b["."]?b:{".":b},b=v),b?(a.log.once("mapfn","Map functions are experimental, their behavior and API may change moving forward. Please play with it and report bugs and ideas on how to improve it."),x=$.chain(),$.map().on(function(N,j,q,L){var G=(b||g).call(this,N,j,q,L);if(v!==G){if(N===G)return x._.on("in",q);if(a.is(G))return x._.on("in",G._);var z={};Object.keys(q.put).forEach(function(J){z[J]=q.put[J]},z),z["="]=G,x._.on("in",{get:j,put:z})}}),x):((x=k.each)||((k.each=x=$.chain())._.lex=T||x._.lex||k.lex,x._.nix=$.back("nix"),$.on("in",h,x._)),x)};function h(b){this.to.next(b);var w=this.as,_=b.$,$=_._,k=b.put,T;!$.soul&&!b.$$||(T=w.lex)&&!String.match(b.get||(k||"")["."],T["."]||T["#"]||T)||a.on.link(b,w)}var g=function(){},m={stun:g,off:g},v})(n,"./map"),n(function(s){var a=n("./index");a.chain.set=function(c,h,g){var m=this,v=m.back(-1),b,w;return h=h||function(){},g=g||{},g.item=g.item||c,(b=((c||"")._||"")["#"])&&((c={})["#"]=b),typeof(w=a.valid(c))=="string"?m.get(b=w).put(c,h,g):a.is(c)?(m.put(function(_){c.get(function($,k,T){if(!$)return h.call(m,{err:a.log('Only a node can be linked! Not "'+T.put+'"!')});(w={})[$]={"#":$},_(w)},!0)}),c):(Object.plain(c)&&(c=v.get(b=m.back("opt.uuid")()).put(c)),m.get(b||v.back("opt.uuid")(7)).put(c,h,g))}})(n,"./set"),n(function(s){n("./shim");var a=function(){},c=JSON.parseAsync||function(w,_,$){var k,T=+new Date;try{_(k,JSON.parse(w,$),h.sucks(+new Date-T))}catch(x){_(x)}},h=JSON.stringifyAsync||function(w,_,$,k){var T,x=+new Date;try{_(T,JSON.stringify(w,$,k),h.sucks(+new Date-x))}catch(N){_(N)}};h.sucks=function(w){w>99&&(console.log("Warning: JSON blocking CPU detected. Add `gun/lib/yson.js` to fix."),h.sucks=a)};function g(w){var _=function(){},$=w.opt||{};$.log=$.log||console.log,$.gap=$.gap||$.wait||0,$.max=$.max||($.memory?$.memory*999*999:3e8)*.3,$.pack=$.pack||$.max*.01*.01,$.puff=$.puff||9;var k=setTimeout.turn||setTimeout,T=w.dup,x=T.check,N=T.track,j=+new Date,q=j,L=_.hear=function(W,X){if(W){if($.max<=W.length)return _.say({dam:"!",err:"Message too big!"},X);_===this&&(L.d+=W.length||0,++L.c);var we=X.SH=+new Date,ue=W[0],D;if(ue==="["){c(W,function(B,C){if(B||!C)return _.say({dam:"!",err:"DAM JSON parse error."},X);console.STAT&&console.STAT(+new Date,C.length,"# on hear batch");var Q=$.puff;(function Y(){for(var K=+new Date,U=0,re;U<Q&&(re=C[U++]);)_.hear(re,X);C=C.slice(U),console.STAT&&console.STAT(K,+new Date-K,"hear loop"),z(X),C.length&&k(Y,0)})()}),W="";return}if(ue==="{"||(W["#"]||Object.plain(W))&&(D=W)){if(D)return L.one(D,X,we);c(W,function(B,C){if(B||!C)return _.say({dam:"!",err:"DAM JSON parse error."},X);L.one(C,X,we)});return}}};L.one=function(W,X,Y){var ue,D,B,C,Q;if(W.DBG&&(W.DBG=Q={DBG:W.DBG}),Q&&(Q.h=Y),Q&&(Q.hp=+new Date),(ue=W["#"])||(ue=W["#"]=String.random(9)),!(B=x(ue))&&(D=W["##"],!(D&&(B=W["@"]||W.get&&ue)&&T.check(C=B+D)))){if((W._=function(){}).via=_.leap=X,(B=W["><"])&&typeof B=="string"&&B.slice(0,99).split(",").forEach(function(K){this[K]=1},W._.yo={}),B=W.dam){(B=_.hear[B])&&B(W,X,w),N(ue);return}(B=W.ok)&&(W._.near=B["/"]);var Y=+new Date;Q&&(Q.is=Y),X.SI=ue,N.ed=function(K){ue===K&&(N.ed=0,(K=T.s[ue])&&(K.via=X,W.get&&(K.it=W)))},w.on("in",_.last=W),Q&&(Q.hd=+new Date),console.STAT&&console.STAT(Y,+new Date-Y,W.get?"msg get":W.put?"msg put":"msg"),N(ue),C&&N(C),_.leap=_.last=null}};var G=function(W,X,we){we(W,!0)};L.c=L.d=0,(function(){var W=0,X;_.hash=function(B,C){var Q,Y,K,U=+new Date;h(B.put,function re(ie,le){var ge=(Y||(Y=K=le||"")).slice(0,32768);if(Q=String.hash(ge,Q),Y=Y.slice(32768),Y){k(re,0);return}console.STAT&&console.STAT(U,+new Date-U,"say json+hash"),B._.$put=K,B["##"]=Q,_.say(B,C),delete B._.$put},we)};function we(B,C){var Q;return C instanceof Object?(Object.keys(C).sort().forEach(ue,{to:Q={},on:C}),Q):C}function ue(B){this.to[B]=this.on[B]}var D=_.say=function(B,C){var Q;if((Q=this)&&(Q=Q.to)&&Q.next&&Q.next(B),!B)return!1;var Y,K,U,re=B["@"],ie=B._||(B._=function(){}),le=B.DBG,ge=+new Date;if(ie.y=ie.y||ge,C||le&&(le.y=ge),(Y=B["#"])||(Y=B["#"]=String.random(9)),!X&&N(Y),!(K=B["##"])&&b!==B.put&&!ie.via&&re){_.hash(B,C);return}if(!C&&re&&(C=(Q=T.s[re])&&(Q.via||(Q=Q.it)&&(Q=Q._)&&Q.via)||(Q=_.last)&&re===Q["#"]&&_.leap),!C&&re)return T.s[re]?void 0:(console.STAT&&console.STAT(+new Date,++W,"total no peer to ack to"),!1);if(re&&!B.put&&!K&&((T.s[re]||"").it||"")["##"])return!1;if(!C&&_.way)return _.way(B);if(le&&(le.yh=+new Date),!(U=ie.raw)){_.raw(B,C);return}if(le&&(le.yr=+new Date),!C||!C.id){if(!Object.plain(C||$.peers))return!1;var ge=+new Date,Pe=$.puff,Ee=$.peers,ve=Object.keys(C||$.peers||{});console.STAT&&console.STAT(ge,+new Date-ge,"peer keys"),(function fA(){var Ye=+new Date;X=1;var nA=ie.raw;ie.raw=U;for(var RA=0,WA;RA<9&&(WA=(ve||"")[RA++]);)(WA=Ee[WA]||(C||"")[WA])&&_.say(B,WA);ie.raw=nA,X=0,ve=ve.slice(RA),console.STAT&&console.STAT(Ye,+new Date-Ye,"say loop"),ve.length&&(k(fA,0),re&&N(re))})();return}if(!C.wire&&_.wire&&_.wire(C),Y!==C.last){if(C.last=Y,C===ie.via||(Q=ie.yo)&&(Q[C.url]||Q[C.pid]||Q[C.id]))return!1;if(console.STAT&&console.STAT(ge,((le||ie).yp=+new Date)-(ie.y||ge),"say prep"),!X&&re&&N(re),C.batch){if(C.tail=(Q=C.tail||0)+U.length,C.tail<=$.pack){C.batch+=(Q?",":"")+U;return}z(C)}C.batch="[";var Ne=+new Date;setTimeout(function(){console.STAT&&console.STAT(Ne,+new Date-Ne,"0ms TO"),z(C)},$.gap),J(U,C),console.STAT&&re===C.SI&&console.STAT(ge,+new Date-C.SH,"say ack")}};_.say.c=_.say.d=0,_.raw=function(B,C){if(!B)return"";var Q=B._||{},Y,K;if(K=Q.raw)return K;if(typeof B=="string")return B;var U=B["##"],re=B["@"];if(U&&re){if(!Q.via&&x(re+U))return!1;if(K=(T.s[re]||"").it){if(U===K["##"])return!1;K["##"]||(K["##"]=U)}}if(!B.dam&&!B["@"]){var ie=0,le=[];K=$.peers;for(var ge in K){var Pe=K[ge];if(le.push(Pe.url||Pe.pid||Pe.id),++ie>6)break}ie>1&&(B["><"]=le.join())}if(B.put&&(K=B.ok)&&(B.ok={"@":(K["@"]||1)-1,"/":K["/"]==B._.near?_.near:K["/"]}),Y=Q.$put){K={},Object.keys(B).forEach(function(ve){K[ve]=B[ve]}),K.put=":])([:",h(K,function(ve,Ne){if(!ve){var rA=+new Date;K=Ne.indexOf('"put":":])([:"'),Ee(b,Ne=Ne.slice(0,K+6)+Y+Ne.slice(K+14)),console.STAT&&console.STAT(rA,+new Date-rA,"say slice")}});return}h(B,Ee);function Ee(ve,Ne){ve||(Q.raw=Ne,_.say(B,C))}}})();function z(W){var X=W.batch,we=typeof X=="string",ue;if(we&&(X+="]"),W.batch=W.tail=null,!!X&&!(we?3>X.length:!X.length)){if(!we)try{X=X.length===1?X[0]:JSON.stringify(X)}catch(D){return $.log("DAM JSON stringify error",D)}X&&J(X,W)}}function J(W,X){try{var we=X.wire;X.say?X.say(W):we.send&&we.send(W),_.say.d+=W.length||0,++_.say.c}catch{(X.queue=X.queue||[]).push(W)}}_.near=0,_.hi=function(W){var X=W.wire,we;if(!X){_.wire(W.length&&{url:W,id:W}||W);return}W.id?$.peers[W.url||W.id]=W:(we=W.id=W.id||W.url||String.random(9),_.say({dam:"?",pid:w.opt.pid},$.peers[we]=W),delete T.s[W.last]),W.met||(_.near++,W.met=+new Date,w.on("hi",W)),we=W.queue,W.queue=[],setTimeout.each(we||[],function(ue){J(ue,W)},0,9)},_.bye=function(W){W.met&&--_.near,delete W.met,w.on("bye",W);var X=+new Date;X=X-(W.met||X),_.bye.time=((_.bye.time||X)+X)/2},_.hear["!"]=function(W,X){$.log("Error:",W.err)},_.hear["?"]=function(W,X){W.pid&&(X.pid||(X.pid=W.pid),W["@"])||(_.say({dam:"?",pid:$.pid,"@":W["#"]},X),delete T.s[X.last])},_.hear.mob=function(W,X){if(W.peers){var we=Object.keys(W.peers),ue=we[Math.random()*we.length>>0];ue&&(_.bye(X),_.hi(ue))}},w.on("create",function(W){W.opt.pid=W.opt.pid||String.random(9),this.to.next(W),W.on("out",_.say)}),w.on("bye",function(W,X){W=$.peers[W.id||W]||W,this.to.next(W),W.bye?W.bye():(X=W.wire)&&X.close&&X.close(),delete $.peers[W.id],W.wire=null});var pe={};return w.on("bye",function(W,X){this.to.next(W),(X=console.STAT)&&(X.peers=_.near),(X=W.url)&&(pe[X]=!0,setTimeout(function(){delete pe[X]},$.lack||9e3))}),w.on("hi",function(W,X){if(this.to.next(W),(X=console.STAT)&&(X.peers=_.near),!$.super){var we=Object.keys(w.next||"");we.length>9999&&!console.SUBS&&console.log(console.SUBS="Warning: You have more than 10K live GETs, which might use more bandwidth than your screen can show - consider `.off()`."),setTimeout.each(we,function(ue){var D=w.next[ue];if($.super||(D.ask||"")[""]){_.say({get:{"#":ue}},W);return}setTimeout.each(Object.keys(D.ask||""),function(B){B&&_.say({"##":String.hash((w.graph[ue]||"")[B]),get:{"#":ue,".":B}},W)})})}}),_}var m={},v=!0,b;try{s.exports=g}catch{}})(n,"./mesh"),n(function(s){var a=n("./index");a.Mesh=n("./mesh"),a.on("opt",function(g){if(this.to.next(g),g.once)return;var m=g.opt;if(m.WebSocket===!1)return;var v=a.window||{},b=m.WebSocket||v.WebSocket||v.webkitWebSocket||v.mozWebSocket;if(!b)return;m.WebSocket=b;var w=m.mesh=m.mesh||a.Mesh(g),_=w.wire||m.wire;w.wire=m.wire=$;function $(N){try{if(!N||!N.url)return q&&q(N);var j=N.url.replace(/^http/,"ws"),q=N.wire=new m.WebSocket(j);return q.onclose=function(){T(N),m.mesh.bye(N)},q.onerror=function(L){T(N)},q.onopen=function(){m.mesh.hi(N)},q.onmessage=function(L){L&&m.mesh.hear(L.data||L,N)},q}catch{m.mesh.bye(N)}}setTimeout(function(){!m.super&&g.on("out",{dam:"hi"})},1);var k=2*999;function T(N){clearTimeout(N.defer),m.peers[N.url]&&(x&&N.retry<=0||(N.retry=(N.retry||m.retry+1||60)-(-N.tried+(N.tried=+new Date)<k*4?1:0),N.defer=setTimeout(function j(){if(x&&x.hidden)return setTimeout(j,k);$(N)},k)))}var x=""+h!=typeof document&&document});var c=function(){},h})(n,"./websocket"),n(function(s){if(!(typeof Gun>"u")){var a=function(){},c,h;try{c=(Gun.window||a).localStorage}catch{}c||(Gun.log("Warning: No localStorage exists to persist data to!"),c={setItem:function(v,b){this[v]=b},removeItem:function(v){delete this[v]},getItem:function(v){return this[v]}});var g=JSON.parseAsync||function(v,b,w){var _;try{b(_,JSON.parse(v,w))}catch($){b($)}},m=JSON.stringifyAsync||function(v,b,w,_){var $;try{b($,JSON.stringify(v,w,_))}catch(k){b(k)}};Gun.on("create",function v(b){this.to.next(b);var w=b.opt,_=b.graph,$=[],k,T,x,N;if(w.localStorage===!1)return;w.prefix=w.file||"gun/";try{k=v[w.prefix]=v[w.prefix]||JSON.parse(x=c.getItem(w.prefix))||{}}catch{k=v[w.prefix]={}}x=(x||"").length,b.on("get",function(q){this.to.next(q);var L=q.get,G,z,J,pe;!L||!(G=L["#"])||(z=k[G]||pe,z&&(J=L["."])&&!Object.plain(J)&&(z=Gun.state.ify({},J,Gun.state.is(z,J),z[J],G)),Gun.on.get.ack(q,z))}),b.on("put",function(q){this.to.next(q);var L=q.put,G=L["#"],z=L["."],J=q["#"],pe=q.ok||"",W;if((b.next||"")[G]){if(k[G]=Gun.state.ify(k[G],z,L[">"],L[":"],G),N&&x>4999880){b.on("in",{"@":J,err:"localStorage max!"});return}!q["@"]&&(!q._.via||Math.random()<pe["@"]/pe["/"])&&$.push(J),!T&&(T=setTimeout(j,9+x/333))}});function j(){if(!$.length&&((setTimeout.turn||"").s||"").length){setTimeout(j,99);return}var q,L=$;clearTimeout(T),T=!1,$=[],m(k,function(G,z){try{!G&&c.setItem(w.prefix,z)}catch(J){G=N=J||"localStorage failure"}G&&(Gun.log(G+" Consider using GUN's IndexedDB plugin for RAD for more storage space, https://gun.eco/docs/RAD#install"),b.on("localStorage:error",{err:G,get:w.prefix,put:k})),x=z.length,setTimeout.each(L,function(J){b.on("in",{"@":J,err:G,ok:0})},0,99)})}})}})(n,"./localStorage")})();(function(){var ue;if(""+ue!=typeof Gun){var n=function(D){console.warn("Warning! Deprecated internal utility will break in next version:",D)},e=Gun;e.fn=e.fn||{is:function(D){return n("fn"),!!D&&typeof D=="function"}},e.bi=e.bi||{is:function(D){return n("bi"),D instanceof Boolean||typeof D=="boolean"}},e.num=e.num||{is:function(D){return n("num"),!s(D)&&(D-parseFloat(D)+1>=0||D===1/0||D===-1/0)}},e.text=e.text||{is:function(D){return n("text"),typeof D=="string"}},e.text.ify=e.text.ify||function(D){return n("text.ify"),e.text.is(D)?D:typeof JSON<"u"?JSON.stringify(D):D&&D.toString?D.toString():D},e.text.random=e.text.random||function(D,B){n("text.random");var C="";for(D=D||24,B=B||"0123456789ABCDEFGHIJKLMNOPQRSTUVWXZabcdefghijklmnopqrstuvwxyz";D>0;)C+=B.charAt(Math.floor(Math.random()*B.length)),D--;return C},e.text.match=e.text.match||function(D,B){var C,Q;return n("text.match"),typeof D!="string"?!1:(typeof B=="string"&&(B={"=":B}),B=B||{},C=B["="]||B["*"]||B[">"]||B["<"],D===C?!0:Q!==B["="]?!1:(C=B["*"]||B[">"]||B["<"],D.slice(0,(C||"").length)===C?!0:Q!==B["*"]?!1:Q!==B[">"]&&Q!==B["<"]?D>=B[">"]&&D<=B["<"]:Q!==B[">"]&&D>=B[">"]||Q!==B["<"]&&D<=B["<"]))},e.text.hash=e.text.hash||function(D,B){if(n("text.hash"),typeof D=="string"){if(B=B||0,!D.length)return B;for(var C=0,Q=D.length,Y;C<Q;++C)Y=D.charCodeAt(C),B=(B<<5)-B+Y,B|=0;return B}},e.list=e.list||{is:function(D){return n("list"),D instanceof Array}},e.list.slit=e.list.slit||Array.prototype.slice,e.list.sort=e.list.sort||function(D){return n("list.sort"),function(B,C){return!B||!C?0:(B=B[D],C=C[D],B<C?-1:B>C?1:0)}},e.list.map=e.list.map||function(D,B,C){return n("list.map"),X(D,B,C)},e.list.index=1,e.obj=e.boj||{is:function(D){return n("obj"),D?D instanceof Object&&D.constructor===Object||Object.prototype.toString.call(D).match(/^\[object (\w+)\]$/)[1]==="Object":!1}},e.obj.put=e.obj.put||function(D,B,C){return n("obj.put"),(D||{})[B]=C,D},e.obj.has=e.obj.has||function(D,B){return n("obj.has"),D&&Object.prototype.hasOwnProperty.call(D,B)},e.obj.del=e.obj.del||function(D,B){if(n("obj.del"),!!D)return D[B]=null,delete D[B],D},e.obj.as=e.obj.as||function(D,B,C,Q){return n("obj.as"),D[B]=D[B]||(Q===C?{}:C)},e.obj.ify=e.obj.ify||function(D){if(n("obj.ify"),G(D))return D;try{D=JSON.parse(D)}catch{D={}}return D},(function(){var D;function B(C,Q){J(this,Q)&&D!==this[Q]||(this[Q]=C)}e.obj.to=e.obj.to||function(C,Q){return n("obj.to"),Q=Q||{},X(C,B,Q),Q}})(),e.obj.copy=e.obj.copy||function(D){return n("obj.copy"),D&&JSON.parse(JSON.stringify(D))},(function(){function D(B,C){var Q=this.n,Y;if(!(Q&&(C===Q||G(Q)&&J(Q,C)))&&Y!==C)return!0}e.obj.empty=e.obj.empty||function(B,C){return n("obj.empty"),B?!X(B,D,{n:C}):!0}})(),(function(){function D(Y,K){if(arguments.length===2){D.r=D.r||{},D.r[Y]=K;return}D.r=D.r||[],D.r.push(Y)}var B=Object.keys,C,Q;Object.keys=Object.keys||function(Y){return C(Y,function(K,U,re){re(U)})},e.obj.map=C=e.obj.map||function(Y,K,U){n("obj.map");var re,ie=0,le,ge,Pe,Ee,ve=typeof K=="function";if(D.r=re,B&&G(Y)&&(Pe=B(Y),Ee=!0),U=U||{},s(Y)||Pe)for(le=(Pe||Y).length;ie<le;ie++){var Ne=ie+e.list.index;if(ve){if(ge=Ee?K.call(U,Y[Pe[ie]],Pe[ie],D):K.call(U,Y[ie],Ne,D),ge!==re)return ge}else if(K===Y[Ee?Pe[ie]:ie])return Pe?Pe[ie]:Ne}else for(ie in Y)if(ve){if(J(Y,ie)&&(ge=U?K.call(U,Y[ie],ie,D):K(Y[ie],ie,D),ge!==re))return ge}else if(K===Y[ie])return ie;return ve?D.r:e.list.index?0:-1}})(),e.time=e.time||{},e.time.is=e.time.is||function(D){return n("time"),D?D instanceof Date:+new Date().getTime()};var q=e.fn.is,s=e.list.is,L=e.obj,G=L.is,J=L.has,X=L.map,a={};a.is=function(D){return n("val.is"),D===ue?!1:D===null?!0:D===1/0?!1:g(D)||h(D)||T(D)?!0:a.link.is(D)||!1},a.link=a.rel={_:"#"},(function(){a.link.is=function(B){if(n("val.link.is"),B&&B[c]&&!B._&&G(B)){var C={};if(X(B,D,C),C.id)return C.id}return!1};function D(B,C){var Q=this;if(Q.id)return Q.id=!1;if(C==c&&g(B))Q.id=B;else return Q.id=!1}})(),a.link.ify=function(D){return n("val.link.ify"),W({},c,D)},e.obj.has._=".";var c=a.link._,ue,h=e.bi.is,T=e.num.is,g=e.text.is,L=e.obj,G=L.is,W=L.put,X=L.map;e.val=e.val||a;var m={_:"_"};m.soul=function(D,B){return n("node.soul"),D&&D._&&D._[B||w]},m.soul.ify=function(D,B){return n("node.soul.ify"),B=typeof B=="string"?{soul:B}:B||{},D=D||{},D._=D._||{},D._[w]=B.soul||D._[w]||b(),D},m.soul._=a.link._,(function(){m.is=function(B,C,Q){n("node.is");var Y;return G(B)&&(Y=m.soul(B))?!X(B,D,{as:Q,cb:C,s:Y,n:B}):!1};function D(B,C){if(C!==m._){if(!a.is(B))return!0;this.cb&&this.cb.call(this.as,B,C,this.n,this.s)}}})(),(function(){m.ify=function(B,C,Q){return n("node.ify"),C?typeof C=="string"?C={soul:C}:typeof C=="function"&&(C={map:C}):C={},C.map&&(C.node=C.map.call(Q,B,ue,C.node||{})),(C.node=m.soul.ify(C.node||{},C))&&X(B,D,{o:C,as:Q}),C.node};function D(B,C){var Q=this.o,Y,K;if(Q.map){Y=Q.map.call(this.as,B,""+C,Q.node),K===Y?z(Q.node,C):Q.node&&(Q.node[C]=Y);return}a.is(B)&&(Q.node[C]=B)}})();var L=e.obj,G=L.is,z=L.del,X=L.map,v=e.text,b=v.random,w=m.soul._,ue;e.node=e.node||m;var _=e.state;_.lex=function(){return n("state.lex"),_().toString(36).replace(".","")},_.to=function(D,B,C){n("state.to");var Q=(D||{})[B];return G(Q)&&(Q=we(Q)),_.ify(C,B,_.is(D,B),Q,m.soul(D))},(function(){_.map=function(B,C,Q){n("state.map");var Y,K=G(K=B||C)?K:null;return B=q(B=B||C)?B:null,K&&!B?(C=T(C)?C:_(),K[N]=K[N]||{},X(K,D,{o:K,s:C}),K):(Q=Q||G(C)?C:Y,C=T(C)?C:_(),function(U,re,ie,le){if(!B)return D.call({o:ie,s:C},U,re),U;B.call(Q||this||{},U,re,ie,le),!(J(ie,re)&&Y===ie[re])&&D.call({o:ie,s:C},U,re)})};function D(B,C){N!==C&&_.ify(this.o,C,this.s)}})();var L=e.obj,$=L.as,J=L.has,G=L.is,X=L.map,we=L.copy,k=e.num,T=k.is,x=e.fn,q=x.is,N=m._,ue,j={};(function(){j.is=function(C,Q,Y,K){return n("graph.is"),!C||!G(C)||pe(C)?!1:!X(C,D,{cb:Q,fn:Y,as:K})};function D(C,Q){if(!C||Q!==m.soul(C)||!m.is(C,this.fn,this.as))return!0;this.cb&&(B.n=C,B.as=this.as,this.cb.call(B.as,C,Q,B))}function B(C){C&&m.is(B.n,C,B.as)}})(),(function(){j.ify=function(K,U,re){n("graph.ify");var ie={path:[],obj:K};return U?typeof U=="string"?U={soul:U}:typeof U=="function"&&(U.map=U):U={},typeof re=="string"&&(U.soul=U.soul||re,re=ue),U.soul&&(ie.link=a.link.ify(U.soul)),U.shell=(re||{}).shell,U.graph=U.graph||{},U.seen=U.seen||[],U.as=U.as||re,D(U,ie),U.root=ie.node,U.graph};function D(K,U){var re;return(re=Y(K,U))?re:(U.env=K,U.soul=C,m.ify(U.obj,B,U)&&(U.link=U.link||a.link.ify(m.soul(U.node)),U.obj!==K.shell&&(K.graph[a.link.is(U.link)]=U.node)),U)}function B(K,U,re){var ie=this,le=ie.env,ge,Pe;if(m._===U&&J(K,a.link._))return re._;if(ge=Q(K,U,re,ie,le)){if(U||(ie.node=ie.node||re||{},J(K,m._)&&m.soul(K)&&(ie.node._=we(K._)),ie.node=m.soul.ify(ie.node,a.link.is(ie.link)),ie.link=ie.link||a.link.ify(m.soul(ie.node))),(Pe=le.map)&&(Pe.call(le.as||{},K,U,re,ie),J(re,U))){if(K=re[U],ue===K){z(re,U);return}if(!(ge=Q(K,U,re,ie,le)))return}if(!U)return ie.node;if(ge===!0)return K;if(Pe=D(le,{obj:K,path:ie.path.concat(U)}),!!Pe.node)return Pe.link}}function C(K){var U=this,re=a.link.is(U.link),ie=U.env.graph;U.link=U.link||a.link.ify(K),U.link[a.link._]=K,U.node&&U.node[m._]&&(U.node[m._][a.link._]=K),J(ie,re)&&(ie[K]=ie[re],z(ie,re))}function Q(K,U,re,ie,le){var ge;if(a.is(K))return!0;if(G(K))return 1;if(ge=le.invalid)return K=ge.call(le.as||{},K,U,re),Q(K,U,re,ie,le);le.err="Invalid value at '"+ie.path.concat(U).join(".")+"'!",e.list.is(K)&&(le.err+=" Use `.set(item)` instead of an Array.")}function Y(K,U){for(var re=K.seen,ie=re.length,le;ie--;)if(le=re[ie],U.obj===le.obj)return le;re.push(U)}})(),j.node=function(D){n("graph.node");var B=m.soul(D);if(B)return W({},B,D)},(function(){j.to=function(B,C,Q){if(n("graph.to"),!!B){var Y={};return Q=Q||{seen:{}},X(B[C],D,{obj:Y,graph:B,opt:Q}),Y}};function D(B,C){var Q,Y;if(m._===C){if(pe(B,a.link._))return;this.obj[C]=we(B);return}if(!(Q=a.link.is(B))){this.obj[C]=B;return}if(Y=this.opt.seen[Q]){this.obj[C]=Y;return}this.obj[C]=this.opt.seen[Q]=j.to(this.graph,Q,this.opt)}})();var q=e.fn.is,L=e.obj,G=L.is,z=L.del,J=L.has,pe=L.empty,W=L.put,X=L.map,we=L.copy,ue;e.graph=e.graph||j}})()});var el=me((j8,Xu)=>{Xu.exports=Zu()});var wn=me(eA=>{"use strict";Object.defineProperty(eA,"__esModule",{value:!0});eA.regexpCode=eA.getEsmExportName=eA.getProperty=eA.safeStringify=eA.stringify=eA.strConcat=eA.addCodeArg=eA.str=eA._=eA.nil=eA._Code=eA.Name=eA.IDENTIFIER=eA._CodeOrName=void 0;var mn=class{};eA._CodeOrName=mn;eA.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;var sr=class extends mn{constructor(e){if(super(),!eA.IDENTIFIER.test(e))throw new Error("CodeGen: name must be a valid identifier");this.str=e}toString(){return this.str}emptyStr(){return!1}get names(){return{[this.str]:1}}};eA.Name=sr;var tt=class extends mn{constructor(e){super(),this._items=typeof e=="string"?[e]:e}toString(){return this.str}emptyStr(){if(this._items.length>1)return!1;let e=this._items[0];return e===""||e==='""'}get str(){var e;return(e=this._str)!==null&&e!==void 0?e:this._str=this._items.reduce((s,a)=>`${s}${a}`,"")}get names(){var e;return(e=this._names)!==null&&e!==void 0?e:this._names=this._items.reduce((s,a)=>(a instanceof sr&&(s[a.str]=(s[a.str]||0)+1),s),{})}};eA._Code=tt;eA.nil=new tt("");function Al(n,...e){let s=[n[0]],a=0;for(;a<e.length;)A0(s,e[a]),s.push(n[++a]);return new tt(s)}eA._=Al;var e0=new tt("+");function tl(n,...e){let s=[yn(n[0])],a=0;for(;a<e.length;)s.push(e0),A0(s,e[a]),s.push(e0,yn(n[++a]));return K1(s),new tt(s)}eA.str=tl;function A0(n,e){e instanceof tt?n.push(...e._items):e instanceof sr?n.push(e):n.push(J1(e))}eA.addCodeArg=A0;function K1(n){let e=1;for(;e<n.length-1;){if(n[e]===e0){let s=Y1(n[e-1],n[e+1]);if(s!==void 0){n.splice(e-1,3,s);continue}n[e++]="+"}e++}}function Y1(n,e){if(e==='""')return n;if(n==='""')return e;if(typeof n=="string")return e instanceof sr||n[n.length-1]!=='"'?void 0:typeof e!="string"?`${n.slice(0,-1)}${e}"`:e[0]==='"'?n.slice(0,-1)+e.slice(1):void 0;if(typeof e=="string"&&e[0]==='"'&&!(n instanceof sr))return`"${n}${e.slice(1)}`}function W1(n,e){return e.emptyStr()?n:n.emptyStr()?e:tl`${n}${e}`}eA.strConcat=W1;function J1(n){return typeof n=="number"||typeof n=="boolean"||n===null?n:yn(Array.isArray(n)?n.join(","):n)}function Z1(n){return new tt(yn(n))}eA.stringify=Z1;function yn(n){return JSON.stringify(n).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}eA.safeStringify=yn;function X1(n){return typeof n=="string"&&eA.IDENTIFIER.test(n)?new tt(`.${n}`):Al`[${n}]`}eA.getProperty=X1;function eg(n){if(typeof n=="string"&&eA.IDENTIFIER.test(n))return new tt(`${n}`);throw new Error(`CodeGen: invalid export name: ${n}, use explicit $id name mapping`)}eA.getEsmExportName=eg;function Ag(n){return new tt(n.toString())}eA.regexpCode=Ag});var n0=me(zA=>{"use strict";Object.defineProperty(zA,"__esModule",{value:!0});zA.ValueScope=zA.ValueScopeName=zA.Scope=zA.varKinds=zA.UsedValueState=void 0;var VA=wn(),t0=class extends Error{constructor(e){super(`CodeGen: "code" for ${e} not defined`),this.value=e.value}},yi;(function(n){n[n.Started=0]="Started",n[n.Completed=1]="Completed"})(yi||(zA.UsedValueState=yi={}));zA.varKinds={const:new VA.Name("const"),let:new VA.Name("let"),var:new VA.Name("var")};var wi=class{constructor({prefixes:e,parent:s}={}){this._names={},this._prefixes=e,this._parent=s}toName(e){return e instanceof VA.Name?e:this.name(e)}name(e){return new VA.Name(this._newName(e))}_newName(e){let s=this._names[e]||this._nameGroup(e);return`${e}${s.index++}`}_nameGroup(e){var s,a;if(!((a=(s=this._parent)===null||s===void 0?void 0:s._prefixes)===null||a===void 0)&&a.has(e)||this._prefixes&&!this._prefixes.has(e))throw new Error(`CodeGen: prefix "${e}" is not allowed in this scope`);return this._names[e]={prefix:e,index:0}}};zA.Scope=wi;var vi=class extends VA.Name{constructor(e,s){super(s),this.prefix=e}setValue(e,{property:s,itemIndex:a}){this.value=e,this.scopePath=(0,VA._)`.${new VA.Name(s)}[${a}]`}};zA.ValueScopeName=vi;var tg=(0,VA._)`\n`,r0=class extends wi{constructor(e){super(e),this._values={},this._scope=e.scope,this.opts={...e,_n:e.lines?tg:VA.nil}}get(){return this._scope}name(e){return new vi(e,this._newName(e))}value(e,s){var a;if(s.ref===void 0)throw new Error("CodeGen: ref must be passed in value");let c=this.toName(e),{prefix:h}=c,g=(a=s.key)!==null&&a!==void 0?a:s.ref,m=this._values[h];if(m){let w=m.get(g);if(w)return w}else m=this._values[h]=new Map;m.set(g,c);let v=this._scope[h]||(this._scope[h]=[]),b=v.length;return v[b]=s.ref,c.setValue(s,{property:h,itemIndex:b}),c}getValue(e,s){let a=this._values[e];if(a)return a.get(s)}scopeRefs(e,s=this._values){return this._reduceValues(s,a=>{if(a.scopePath===void 0)throw new Error(`CodeGen: name "${a}" has no value`);return(0,VA._)`${e}${a.scopePath}`})}scopeCode(e=this._values,s,a){return this._reduceValues(e,c=>{if(c.value===void 0)throw new Error(`CodeGen: name "${c}" has no value`);return c.value.code},s,a)}_reduceValues(e,s,a={},c){let h=VA.nil;for(let g in e){let m=e[g];if(!m)continue;let v=a[g]=a[g]||new Map;m.forEach(b=>{if(v.has(b))return;v.set(b,yi.Started);let w=s(b);if(w){let _=this.opts.es5?zA.varKinds.var:zA.varKinds.const;h=(0,VA._)`${h}${_} ${b} = ${w};${this.opts._n}`}else if(w=c?.(b))h=(0,VA._)`${h}${w}${this.opts._n}`;else throw new t0(b);v.set(b,yi.Completed)})}return h}};zA.ValueScope=r0});var Ue=me(Ve=>{"use strict";Object.defineProperty(Ve,"__esModule",{value:!0});Ve.or=Ve.and=Ve.not=Ve.CodeGen=Ve.operators=Ve.varKinds=Ve.ValueScopeName=Ve.ValueScope=Ve.Scope=Ve.Name=Ve.regexpCode=Ve.stringify=Ve.getProperty=Ve.nil=Ve.strConcat=Ve.str=Ve._=void 0;var Je=wn(),at=n0(),qt=wn();Object.defineProperty(Ve,"_",{enumerable:!0,get:function(){return qt._}});Object.defineProperty(Ve,"str",{enumerable:!0,get:function(){return qt.str}});Object.defineProperty(Ve,"strConcat",{enumerable:!0,get:function(){return qt.strConcat}});Object.defineProperty(Ve,"nil",{enumerable:!0,get:function(){return qt.nil}});Object.defineProperty(Ve,"getProperty",{enumerable:!0,get:function(){return qt.getProperty}});Object.defineProperty(Ve,"stringify",{enumerable:!0,get:function(){return qt.stringify}});Object.defineProperty(Ve,"regexpCode",{enumerable:!0,get:function(){return qt.regexpCode}});Object.defineProperty(Ve,"Name",{enumerable:!0,get:function(){return qt.Name}});var $i=n0();Object.defineProperty(Ve,"Scope",{enumerable:!0,get:function(){return $i.Scope}});Object.defineProperty(Ve,"ValueScope",{enumerable:!0,get:function(){return $i.ValueScope}});Object.defineProperty(Ve,"ValueScopeName",{enumerable:!0,get:function(){return $i.ValueScopeName}});Object.defineProperty(Ve,"varKinds",{enumerable:!0,get:function(){return $i.varKinds}});Ve.operators={GT:new Je._Code(">"),GTE:new Je._Code(">="),LT:new Je._Code("<"),LTE:new Je._Code("<="),EQ:new Je._Code("==="),NEQ:new Je._Code("!=="),NOT:new Je._Code("!"),OR:new Je._Code("||"),AND:new Je._Code("&&"),ADD:new Je._Code("+")};var St=class{optimizeNodes(){return this}optimizeNames(e,s){return this}},i0=class extends St{constructor(e,s,a){super(),this.varKind=e,this.name=s,this.rhs=a}render({es5:e,_n:s}){let a=e?at.varKinds.var:this.varKind,c=this.rhs===void 0?"":` = ${this.rhs}`;return`${a} ${this.name}${c};`+s}optimizeNames(e,s){if(e[this.name.str])return this.rhs&&(this.rhs=Nr(this.rhs,e,s)),this}get names(){return this.rhs instanceof Je._CodeOrName?this.rhs.names:{}}},bi=class extends St{constructor(e,s,a){super(),this.lhs=e,this.rhs=s,this.sideEffects=a}render({_n:e}){return`${this.lhs} = ${this.rhs};`+e}optimizeNames(e,s){if(!(this.lhs instanceof Je.Name&&!e[this.lhs.str]&&!this.sideEffects))return this.rhs=Nr(this.rhs,e,s),this}get names(){let e=this.lhs instanceof Je.Name?{}:{...this.lhs.names};return Ei(e,this.rhs)}},o0=class extends bi{constructor(e,s,a,c){super(e,a,c),this.op=s}render({_n:e}){return`${this.lhs} ${this.op}= ${this.rhs};`+e}},s0=class extends St{constructor(e){super(),this.label=e,this.names={}}render({_n:e}){return`${this.label}:`+e}},a0=class extends St{constructor(e){super(),this.label=e,this.names={}}render({_n:e}){return`break${this.label?` ${this.label}`:""};`+e}},u0=class extends St{constructor(e){super(),this.error=e}render({_n:e}){return`throw ${this.error};`+e}get names(){return this.error.names}},l0=class extends St{constructor(e){super(),this.code=e}render({_n:e}){return`${this.code};`+e}optimizeNodes(){return`${this.code}`?this:void 0}optimizeNames(e,s){return this.code=Nr(this.code,e,s),this}get names(){return this.code instanceof Je._CodeOrName?this.code.names:{}}},vn=class extends St{constructor(e=[]){super(),this.nodes=e}render(e){return this.nodes.reduce((s,a)=>s+a.render(e),"")}optimizeNodes(){let{nodes:e}=this,s=e.length;for(;s--;){let a=e[s].optimizeNodes();Array.isArray(a)?e.splice(s,1,...a):a?e[s]=a:e.splice(s,1)}return e.length>0?this:void 0}optimizeNames(e,s){let{nodes:a}=this,c=a.length;for(;c--;){let h=a[c];h.optimizeNames(e,s)||(rg(e,h.names),a.splice(c,1))}return a.length>0?this:void 0}get names(){return this.nodes.reduce((e,s)=>lr(e,s.names),{})}},Bt=class extends vn{render(e){return"{"+e._n+super.render(e)+"}"+e._n}},f0=class extends vn{},Mr=class extends Bt{};Mr.kind="else";var ar=class n extends Bt{constructor(e,s){super(s),this.condition=e}render(e){let s=`if(${this.condition})`+super.render(e);return this.else&&(s+="else "+this.else.render(e)),s}optimizeNodes(){super.optimizeNodes();let e=this.condition;if(e===!0)return this.nodes;let s=this.else;if(s){let a=s.optimizeNodes();s=this.else=Array.isArray(a)?new Mr(a):a}if(s)return e===!1?s instanceof n?s:s.nodes:this.nodes.length?this:new n(rl(e),s instanceof n?[s]:s.nodes);if(!(e===!1||!this.nodes.length))return this}optimizeNames(e,s){var a;if(this.else=(a=this.else)===null||a===void 0?void 0:a.optimizeNames(e,s),!!(super.optimizeNames(e,s)||this.else))return this.condition=Nr(this.condition,e,s),this}get names(){let e=super.names;return Ei(e,this.condition),this.else&&lr(e,this.else.names),e}};ar.kind="if";var ur=class extends Bt{};ur.kind="for";var c0=class extends ur{constructor(e){super(),this.iteration=e}render(e){return`for(${this.iteration})`+super.render(e)}optimizeNames(e,s){if(super.optimizeNames(e,s))return this.iteration=Nr(this.iteration,e,s),this}get names(){return lr(super.names,this.iteration.names)}},d0=class extends ur{constructor(e,s,a,c){super(),this.varKind=e,this.name=s,this.from=a,this.to=c}render(e){let s=e.es5?at.varKinds.var:this.varKind,{name:a,from:c,to:h}=this;return`for(${s} ${a}=${c}; ${a}<${h}; ${a}++)`+super.render(e)}get names(){let e=Ei(super.names,this.from);return Ei(e,this.to)}},_i=class extends ur{constructor(e,s,a,c){super(),this.loop=e,this.varKind=s,this.name=a,this.iterable=c}render(e){return`for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})`+super.render(e)}optimizeNames(e,s){if(super.optimizeNames(e,s))return this.iterable=Nr(this.iterable,e,s),this}get names(){return lr(super.names,this.iterable.names)}},bn=class extends Bt{constructor(e,s,a){super(),this.name=e,this.args=s,this.async=a}render(e){return`${this.async?"async ":""}function ${this.name}(${this.args})`+super.render(e)}};bn.kind="func";var _n=class extends vn{render(e){return"return "+super.render(e)}};_n.kind="return";var h0=class extends Bt{render(e){let s="try"+super.render(e);return this.catch&&(s+=this.catch.render(e)),this.finally&&(s+=this.finally.render(e)),s}optimizeNodes(){var e,s;return super.optimizeNodes(),(e=this.catch)===null||e===void 0||e.optimizeNodes(),(s=this.finally)===null||s===void 0||s.optimizeNodes(),this}optimizeNames(e,s){var a,c;return super.optimizeNames(e,s),(a=this.catch)===null||a===void 0||a.optimizeNames(e,s),(c=this.finally)===null||c===void 0||c.optimizeNames(e,s),this}get names(){let e=super.names;return this.catch&&lr(e,this.catch.names),this.finally&&lr(e,this.finally.names),e}},En=class extends Bt{constructor(e){super(),this.error=e}render(e){return`catch(${this.error})`+super.render(e)}};En.kind="catch";var $n=class extends Bt{render(e){return"finally"+super.render(e)}};$n.kind="finally";var p0=class{constructor(e,s={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...s,_n:s.lines?`
|
|
3
|
+
`:""},this._extScope=e,this._scope=new at.Scope({parent:e}),this._nodes=[new f0]}toString(){return this._root.render(this.opts)}name(e){return this._scope.name(e)}scopeName(e){return this._extScope.name(e)}scopeValue(e,s){let a=this._extScope.value(e,s);return(this._values[a.prefix]||(this._values[a.prefix]=new Set)).add(a),a}getScopeValue(e,s){return this._extScope.getValue(e,s)}scopeRefs(e){return this._extScope.scopeRefs(e,this._values)}scopeCode(){return this._extScope.scopeCode(this._values)}_def(e,s,a,c){let h=this._scope.toName(s);return a!==void 0&&c&&(this._constants[h.str]=a),this._leafNode(new i0(e,h,a)),h}const(e,s,a){return this._def(at.varKinds.const,e,s,a)}let(e,s,a){return this._def(at.varKinds.let,e,s,a)}var(e,s,a){return this._def(at.varKinds.var,e,s,a)}assign(e,s,a){return this._leafNode(new bi(e,s,a))}add(e,s){return this._leafNode(new o0(e,Ve.operators.ADD,s))}code(e){return typeof e=="function"?e():e!==Je.nil&&this._leafNode(new l0(e)),this}object(...e){let s=["{"];for(let[a,c]of e)s.length>1&&s.push(","),s.push(a),(a!==c||this.opts.es5)&&(s.push(":"),(0,Je.addCodeArg)(s,c));return s.push("}"),new Je._Code(s)}if(e,s,a){if(this._blockNode(new ar(e)),s&&a)this.code(s).else().code(a).endIf();else if(s)this.code(s).endIf();else if(a)throw new Error('CodeGen: "else" body without "then" body');return this}elseIf(e){return this._elseNode(new ar(e))}else(){return this._elseNode(new Mr)}endIf(){return this._endBlockNode(ar,Mr)}_for(e,s){return this._blockNode(e),s&&this.code(s).endFor(),this}for(e,s){return this._for(new c0(e),s)}forRange(e,s,a,c,h=this.opts.es5?at.varKinds.var:at.varKinds.let){let g=this._scope.toName(e);return this._for(new d0(h,g,s,a),()=>c(g))}forOf(e,s,a,c=at.varKinds.const){let h=this._scope.toName(e);if(this.opts.es5){let g=s instanceof Je.Name?s:this.var("_arr",s);return this.forRange("_i",0,(0,Je._)`${g}.length`,m=>{this.var(h,(0,Je._)`${g}[${m}]`),a(h)})}return this._for(new _i("of",c,h,s),()=>a(h))}forIn(e,s,a,c=this.opts.es5?at.varKinds.var:at.varKinds.const){if(this.opts.ownProperties)return this.forOf(e,(0,Je._)`Object.keys(${s})`,a);let h=this._scope.toName(e);return this._for(new _i("in",c,h,s),()=>a(h))}endFor(){return this._endBlockNode(ur)}label(e){return this._leafNode(new s0(e))}break(e){return this._leafNode(new a0(e))}return(e){let s=new _n;if(this._blockNode(s),this.code(e),s.nodes.length!==1)throw new Error('CodeGen: "return" should have one node');return this._endBlockNode(_n)}try(e,s,a){if(!s&&!a)throw new Error('CodeGen: "try" without "catch" and "finally"');let c=new h0;if(this._blockNode(c),this.code(e),s){let h=this.name("e");this._currNode=c.catch=new En(h),s(h)}return a&&(this._currNode=c.finally=new $n,this.code(a)),this._endBlockNode(En,$n)}throw(e){return this._leafNode(new u0(e))}block(e,s){return this._blockStarts.push(this._nodes.length),e&&this.code(e).endBlock(s),this}endBlock(e){let s=this._blockStarts.pop();if(s===void 0)throw new Error("CodeGen: not in self-balancing block");let a=this._nodes.length-s;if(a<0||e!==void 0&&a!==e)throw new Error(`CodeGen: wrong number of nodes: ${a} vs ${e} expected`);return this._nodes.length=s,this}func(e,s=Je.nil,a,c){return this._blockNode(new bn(e,s,a)),c&&this.code(c).endFunc(),this}endFunc(){return this._endBlockNode(bn)}optimize(e=1){for(;e-- >0;)this._root.optimizeNodes(),this._root.optimizeNames(this._root.names,this._constants)}_leafNode(e){return this._currNode.nodes.push(e),this}_blockNode(e){this._currNode.nodes.push(e),this._nodes.push(e)}_endBlockNode(e,s){let a=this._currNode;if(a instanceof e||s&&a instanceof s)return this._nodes.pop(),this;throw new Error(`CodeGen: not in block "${s?`${e.kind}/${s.kind}`:e.kind}"`)}_elseNode(e){let s=this._currNode;if(!(s instanceof ar))throw new Error('CodeGen: "else" without "if"');return this._currNode=s.else=e,this}get _root(){return this._nodes[0]}get _currNode(){let e=this._nodes;return e[e.length-1]}set _currNode(e){let s=this._nodes;s[s.length-1]=e}};Ve.CodeGen=p0;function lr(n,e){for(let s in e)n[s]=(n[s]||0)+(e[s]||0);return n}function Ei(n,e){return e instanceof Je._CodeOrName?lr(n,e.names):n}function Nr(n,e,s){if(n instanceof Je.Name)return a(n);if(!c(n))return n;return new Je._Code(n._items.reduce((h,g)=>(g instanceof Je.Name&&(g=a(g)),g instanceof Je._Code?h.push(...g._items):h.push(g),h),[]));function a(h){let g=s[h.str];return g===void 0||e[h.str]!==1?h:(delete e[h.str],g)}function c(h){return h instanceof Je._Code&&h._items.some(g=>g instanceof Je.Name&&e[g.str]===1&&s[g.str]!==void 0)}}function rg(n,e){for(let s in e)n[s]=(n[s]||0)-(e[s]||0)}function rl(n){return typeof n=="boolean"||typeof n=="number"||n===null?!n:(0,Je._)`!${g0(n)}`}Ve.not=rl;var ng=nl(Ve.operators.AND);function ig(...n){return n.reduce(ng)}Ve.and=ig;var og=nl(Ve.operators.OR);function sg(...n){return n.reduce(og)}Ve.or=sg;function nl(n){return(e,s)=>e===Je.nil?s:s===Je.nil?e:(0,Je._)`${g0(e)} ${n} ${g0(s)}`}function g0(n){return n instanceof Je.Name?n:(0,Je._)`(${n})`}});var Ke=me(ze=>{"use strict";Object.defineProperty(ze,"__esModule",{value:!0});ze.checkStrictMode=ze.getErrorPath=ze.Type=ze.useFunc=ze.setEvaluated=ze.evaluatedPropsToName=ze.mergeEvaluated=ze.eachItem=ze.unescapeJsonPointer=ze.escapeJsonPointer=ze.escapeFragment=ze.unescapeFragment=ze.schemaRefOrVal=ze.schemaHasRulesButRef=ze.schemaHasRules=ze.checkUnknownRules=ze.alwaysValidSchema=ze.toHash=void 0;var lA=Ue(),ag=wn();function ug(n){let e={};for(let s of n)e[s]=!0;return e}ze.toHash=ug;function lg(n,e){return typeof e=="boolean"?e:Object.keys(e).length===0?!0:(sl(n,e),!al(e,n.self.RULES.all))}ze.alwaysValidSchema=lg;function sl(n,e=n.schema){let{opts:s,self:a}=n;if(!s.strictSchema||typeof e=="boolean")return;let c=a.RULES.keywords;for(let h in e)c[h]||fl(n,`unknown keyword: "${h}"`)}ze.checkUnknownRules=sl;function al(n,e){if(typeof n=="boolean")return!n;for(let s in n)if(e[s])return!0;return!1}ze.schemaHasRules=al;function fg(n,e){if(typeof n=="boolean")return!n;for(let s in n)if(s!=="$ref"&&e.all[s])return!0;return!1}ze.schemaHasRulesButRef=fg;function cg({topSchemaRef:n,schemaPath:e},s,a,c){if(!c){if(typeof s=="number"||typeof s=="boolean")return s;if(typeof s=="string")return(0,lA._)`${s}`}return(0,lA._)`${n}${e}${(0,lA.getProperty)(a)}`}ze.schemaRefOrVal=cg;function dg(n){return ul(decodeURIComponent(n))}ze.unescapeFragment=dg;function hg(n){return encodeURIComponent(y0(n))}ze.escapeFragment=hg;function y0(n){return typeof n=="number"?`${n}`:n.replace(/~/g,"~0").replace(/\//g,"~1")}ze.escapeJsonPointer=y0;function ul(n){return n.replace(/~1/g,"/").replace(/~0/g,"~")}ze.unescapeJsonPointer=ul;function pg(n,e){if(Array.isArray(n))for(let s of n)e(s);else e(n)}ze.eachItem=pg;function il({mergeNames:n,mergeToName:e,mergeValues:s,resultToName:a}){return(c,h,g,m)=>{let v=g===void 0?h:g instanceof lA.Name?(h instanceof lA.Name?n(c,h,g):e(c,h,g),g):h instanceof lA.Name?(e(c,g,h),h):s(h,g);return m===lA.Name&&!(v instanceof lA.Name)?a(c,v):v}}ze.mergeEvaluated={props:il({mergeNames:(n,e,s)=>n.if((0,lA._)`${s} !== true && ${e} !== undefined`,()=>{n.if((0,lA._)`${e} === true`,()=>n.assign(s,!0),()=>n.assign(s,(0,lA._)`${s} || {}`).code((0,lA._)`Object.assign(${s}, ${e})`))}),mergeToName:(n,e,s)=>n.if((0,lA._)`${s} !== true`,()=>{e===!0?n.assign(s,!0):(n.assign(s,(0,lA._)`${s} || {}`),w0(n,s,e))}),mergeValues:(n,e)=>n===!0?!0:{...n,...e},resultToName:ll}),items:il({mergeNames:(n,e,s)=>n.if((0,lA._)`${s} !== true && ${e} !== undefined`,()=>n.assign(s,(0,lA._)`${e} === true ? true : ${s} > ${e} ? ${s} : ${e}`)),mergeToName:(n,e,s)=>n.if((0,lA._)`${s} !== true`,()=>n.assign(s,e===!0?!0:(0,lA._)`${s} > ${e} ? ${s} : ${e}`)),mergeValues:(n,e)=>n===!0?!0:Math.max(n,e),resultToName:(n,e)=>n.var("items",e)})};function ll(n,e){if(e===!0)return n.var("props",!0);let s=n.var("props",(0,lA._)`{}`);return e!==void 0&&w0(n,s,e),s}ze.evaluatedPropsToName=ll;function w0(n,e,s){Object.keys(s).forEach(a=>n.assign((0,lA._)`${e}${(0,lA.getProperty)(a)}`,!0))}ze.setEvaluated=w0;var ol={};function gg(n,e){return n.scopeValue("func",{ref:e,code:ol[e.code]||(ol[e.code]=new ag._Code(e.code))})}ze.useFunc=gg;var m0;(function(n){n[n.Num=0]="Num",n[n.Str=1]="Str"})(m0||(ze.Type=m0={}));function mg(n,e,s){if(n instanceof lA.Name){let a=e===m0.Num;return s?a?(0,lA._)`"[" + ${n} + "]"`:(0,lA._)`"['" + ${n} + "']"`:a?(0,lA._)`"/" + ${n}`:(0,lA._)`"/" + ${n}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return s?(0,lA.getProperty)(n).toString():"/"+y0(n)}ze.getErrorPath=mg;function fl(n,e,s=n.opts.strictSchema){if(s){if(e=`strict mode: ${e}`,s===!0)throw new Error(e);n.self.logger.warn(e)}}ze.checkStrictMode=fl});var rt=me(v0=>{"use strict";Object.defineProperty(v0,"__esModule",{value:!0});var TA=Ue(),yg={data:new TA.Name("data"),valCxt:new TA.Name("valCxt"),instancePath:new TA.Name("instancePath"),parentData:new TA.Name("parentData"),parentDataProperty:new TA.Name("parentDataProperty"),rootData:new TA.Name("rootData"),dynamicAnchors:new TA.Name("dynamicAnchors"),vErrors:new TA.Name("vErrors"),errors:new TA.Name("errors"),this:new TA.Name("this"),self:new TA.Name("self"),scope:new TA.Name("scope"),json:new TA.Name("json"),jsonPos:new TA.Name("jsonPos"),jsonLen:new TA.Name("jsonLen"),jsonPart:new TA.Name("jsonPart")};v0.default=yg});var kn=me(OA=>{"use strict";Object.defineProperty(OA,"__esModule",{value:!0});OA.extendErrors=OA.resetErrorsCount=OA.reportExtraError=OA.reportError=OA.keyword$DataError=OA.keywordError=void 0;var Ze=Ue(),ki=Ke(),QA=rt();OA.keywordError={message:({keyword:n})=>(0,Ze.str)`must pass "${n}" keyword validation`};OA.keyword$DataError={message:({keyword:n,schemaType:e})=>e?(0,Ze.str)`"${n}" keyword must be ${e} ($data)`:(0,Ze.str)`"${n}" keyword is invalid ($data)`};function wg(n,e=OA.keywordError,s,a){let{it:c}=n,{gen:h,compositeRule:g,allErrors:m}=c,v=hl(n,e,s);a??(g||m)?cl(h,v):dl(c,(0,Ze._)`[${v}]`)}OA.reportError=wg;function vg(n,e=OA.keywordError,s){let{it:a}=n,{gen:c,compositeRule:h,allErrors:g}=a,m=hl(n,e,s);cl(c,m),h||g||dl(a,QA.default.vErrors)}OA.reportExtraError=vg;function bg(n,e){n.assign(QA.default.errors,e),n.if((0,Ze._)`${QA.default.vErrors} !== null`,()=>n.if(e,()=>n.assign((0,Ze._)`${QA.default.vErrors}.length`,e),()=>n.assign(QA.default.vErrors,null)))}OA.resetErrorsCount=bg;function _g({gen:n,keyword:e,schemaValue:s,data:a,errsCount:c,it:h}){if(c===void 0)throw new Error("ajv implementation error");let g=n.name("err");n.forRange("i",c,QA.default.errors,m=>{n.const(g,(0,Ze._)`${QA.default.vErrors}[${m}]`),n.if((0,Ze._)`${g}.instancePath === undefined`,()=>n.assign((0,Ze._)`${g}.instancePath`,(0,Ze.strConcat)(QA.default.instancePath,h.errorPath))),n.assign((0,Ze._)`${g}.schemaPath`,(0,Ze.str)`${h.errSchemaPath}/${e}`),h.opts.verbose&&(n.assign((0,Ze._)`${g}.schema`,s),n.assign((0,Ze._)`${g}.data`,a))})}OA.extendErrors=_g;function cl(n,e){let s=n.const("err",e);n.if((0,Ze._)`${QA.default.vErrors} === null`,()=>n.assign(QA.default.vErrors,(0,Ze._)`[${s}]`),(0,Ze._)`${QA.default.vErrors}.push(${s})`),n.code((0,Ze._)`${QA.default.errors}++`)}function dl(n,e){let{gen:s,validateName:a,schemaEnv:c}=n;c.$async?s.throw((0,Ze._)`new ${n.ValidationError}(${e})`):(s.assign((0,Ze._)`${a}.errors`,e),s.return(!1))}var fr={keyword:new Ze.Name("keyword"),schemaPath:new Ze.Name("schemaPath"),params:new Ze.Name("params"),propertyName:new Ze.Name("propertyName"),message:new Ze.Name("message"),schema:new Ze.Name("schema"),parentSchema:new Ze.Name("parentSchema")};function hl(n,e,s){let{createErrors:a}=n.it;return a===!1?(0,Ze._)`{}`:Eg(n,e,s)}function Eg(n,e,s={}){let{gen:a,it:c}=n,h=[$g(c,s),kg(n,s)];return xg(n,e,h),a.object(...h)}function $g({errorPath:n},{instancePath:e}){let s=e?(0,Ze.str)`${n}${(0,ki.getErrorPath)(e,ki.Type.Str)}`:n;return[QA.default.instancePath,(0,Ze.strConcat)(QA.default.instancePath,s)]}function kg({keyword:n,it:{errSchemaPath:e}},{schemaPath:s,parentSchema:a}){let c=a?e:(0,Ze.str)`${e}/${n}`;return s&&(c=(0,Ze.str)`${c}${(0,ki.getErrorPath)(s,ki.Type.Str)}`),[fr.schemaPath,c]}function xg(n,{params:e,message:s},a){let{keyword:c,data:h,schemaValue:g,it:m}=n,{opts:v,propertyName:b,topSchemaRef:w,schemaPath:_}=m;a.push([fr.keyword,c],[fr.params,typeof e=="function"?e(n):e||(0,Ze._)`{}`]),v.messages&&a.push([fr.message,typeof s=="function"?s(n):s]),v.verbose&&a.push([fr.schema,g],[fr.parentSchema,(0,Ze._)`${w}${_}`],[QA.default.data,h]),b&&a.push([fr.propertyName,b])}});var gl=me(Rr=>{"use strict";Object.defineProperty(Rr,"__esModule",{value:!0});Rr.boolOrEmptySchema=Rr.topBoolOrEmptySchema=void 0;var Sg=kn(),Bg=Ue(),Pg=rt(),Dg={message:"boolean schema is false"};function Cg(n){let{gen:e,schema:s,validateName:a}=n;s===!1?pl(n,!1):typeof s=="object"&&s.$async===!0?e.return(Pg.default.data):(e.assign((0,Bg._)`${a}.errors`,null),e.return(!0))}Rr.topBoolOrEmptySchema=Cg;function Tg(n,e){let{gen:s,schema:a}=n;a===!1?(s.var(e,!1),pl(n)):s.var(e,!0)}Rr.boolOrEmptySchema=Tg;function pl(n,e){let{gen:s,data:a}=n,c={gen:s,keyword:"false schema",data:a,schema:!1,schemaCode:!1,schemaValue:!1,params:{},it:n};(0,Sg.reportError)(c,Dg,void 0,e)}});var b0=me(Ir=>{"use strict";Object.defineProperty(Ir,"__esModule",{value:!0});Ir.getRules=Ir.isJSONType=void 0;var Og=["string","number","integer","boolean","null","object","array"],jg=new Set(Og);function Mg(n){return typeof n=="string"&&jg.has(n)}Ir.isJSONType=Mg;function Ng(){let n={number:{type:"number",rules:[]},string:{type:"string",rules:[]},array:{type:"array",rules:[]},object:{type:"object",rules:[]}};return{types:{...n,integer:!0,boolean:!0,null:!0},rules:[{rules:[]},n.number,n.string,n.array,n.object],post:{rules:[]},all:{},keywords:{}}}Ir.getRules=Ng});var _0=me(Lt=>{"use strict";Object.defineProperty(Lt,"__esModule",{value:!0});Lt.shouldUseRule=Lt.shouldUseGroup=Lt.schemaHasRulesForType=void 0;function Rg({schema:n,self:e},s){let a=e.RULES.types[s];return a&&a!==!0&&ml(n,a)}Lt.schemaHasRulesForType=Rg;function ml(n,e){return e.rules.some(s=>yl(n,s))}Lt.shouldUseGroup=ml;function yl(n,e){var s;return n[e.keyword]!==void 0||((s=e.definition.implements)===null||s===void 0?void 0:s.some(a=>n[a]!==void 0))}Lt.shouldUseRule=yl});var xn=me(jA=>{"use strict";Object.defineProperty(jA,"__esModule",{value:!0});jA.reportTypeError=jA.checkDataTypes=jA.checkDataType=jA.coerceAndCheckDataType=jA.getJSONTypes=jA.getSchemaTypes=jA.DataType=void 0;var Ig=b0(),Hg=_0(),Qg=kn(),Ge=Ue(),wl=Ke(),Hr;(function(n){n[n.Correct=0]="Correct",n[n.Wrong=1]="Wrong"})(Hr||(jA.DataType=Hr={}));function qg(n){let e=vl(n.type);if(e.includes("null")){if(n.nullable===!1)throw new Error("type: null contradicts nullable: false")}else{if(!e.length&&n.nullable!==void 0)throw new Error('"nullable" cannot be used without "type"');n.nullable===!0&&e.push("null")}return e}jA.getSchemaTypes=qg;function vl(n){let e=Array.isArray(n)?n:n?[n]:[];if(e.every(Ig.isJSONType))return e;throw new Error("type must be JSONType or JSONType[]: "+e.join(","))}jA.getJSONTypes=vl;function Lg(n,e){let{gen:s,data:a,opts:c}=n,h=Ug(e,c.coerceTypes),g=e.length>0&&!(h.length===0&&e.length===1&&(0,Hg.schemaHasRulesForType)(n,e[0]));if(g){let m=$0(e,a,c.strictNumbers,Hr.Wrong);s.if(m,()=>{h.length?Gg(n,e,h):k0(n)})}return g}jA.coerceAndCheckDataType=Lg;var bl=new Set(["string","number","integer","boolean","null"]);function Ug(n,e){return e?n.filter(s=>bl.has(s)||e==="array"&&s==="array"):[]}function Gg(n,e,s){let{gen:a,data:c,opts:h}=n,g=a.let("dataType",(0,Ge._)`typeof ${c}`),m=a.let("coerced",(0,Ge._)`undefined`);h.coerceTypes==="array"&&a.if((0,Ge._)`${g} == 'object' && Array.isArray(${c}) && ${c}.length == 1`,()=>a.assign(c,(0,Ge._)`${c}[0]`).assign(g,(0,Ge._)`typeof ${c}`).if($0(e,c,h.strictNumbers),()=>a.assign(m,c))),a.if((0,Ge._)`${m} !== undefined`);for(let b of s)(bl.has(b)||b==="array"&&h.coerceTypes==="array")&&v(b);a.else(),k0(n),a.endIf(),a.if((0,Ge._)`${m} !== undefined`,()=>{a.assign(c,m),Fg(n,m)});function v(b){switch(b){case"string":a.elseIf((0,Ge._)`${g} == "number" || ${g} == "boolean"`).assign(m,(0,Ge._)`"" + ${c}`).elseIf((0,Ge._)`${c} === null`).assign(m,(0,Ge._)`""`);return;case"number":a.elseIf((0,Ge._)`${g} == "boolean" || ${c} === null
|
|
4
4
|
|| (${g} == "string" && ${c} && ${c} == +${c})`).assign(m,(0,Ge._)`+${c}`);return;case"integer":a.elseIf((0,Ge._)`${g} === "boolean" || ${c} === null
|
|
5
5
|
|| (${g} === "string" && ${c} && ${c} == +${c} && !(${c} % 1))`).assign(m,(0,Ge._)`+${c}`);return;case"boolean":a.elseIf((0,Ge._)`${c} === "false" || ${c} === 0 || ${c} === null`).assign(m,!1).elseIf((0,Ge._)`${c} === "true" || ${c} === 1`).assign(m,!0);return;case"null":a.elseIf((0,Ge._)`${c} === "" || ${c} === 0 || ${c} === false`),a.assign(m,null);return;case"array":a.elseIf((0,Ge._)`${g} === "string" || ${g} === "number"
|
|
6
|
-
|| ${g} === "boolean" || ${c} === null`).assign(m,(0,Ge._)`[${c}]`)}}}function Fg({gen:n,parentData:e,parentDataProperty:s},a){n.if((0,Ge._)`${e} !== undefined`,()=>n.assign((0,Ge._)`${e}[${s}]`,a))}function E0(n,e,s,a=Hr.Correct){let c=a===Hr.Correct?Ge.operators.EQ:Ge.operators.NEQ,h;switch(n){case"null":return(0,Ge._)`${e} ${c} null`;case"array":h=(0,Ge._)`Array.isArray(${e})`;break;case"object":h=(0,Ge._)`${e} && typeof ${e} == "object" && !Array.isArray(${e})`;break;case"integer":h=g((0,Ge._)`!(${e} % 1) && !isNaN(${e})`);break;case"number":h=g();break;default:return(0,Ge._)`typeof ${e} ${c} ${n}`}return a===Hr.Correct?h:(0,Ge.not)(h);function g(m=Ge.nil){return(0,Ge.and)((0,Ge._)`typeof ${e} == "number"`,m,s?(0,Ge._)`isFinite(${e})`:Ge.nil)}}jA.checkDataType=E0;function $0(n,e,s,a){if(n.length===1)return E0(n[0],e,s,a);let c,h=(0,wl.toHash)(n);if(h.array&&h.object){let g=(0,Ge._)`typeof ${e} != "object"`;c=h.null?g:(0,Ge._)`!${e} || ${g}`,delete h.null,delete h.array,delete h.object}else c=Ge.nil;h.number&&delete h.integer;for(let g in h)c=(0,Ge.and)(c,E0(g,e,s,a));return c}jA.checkDataTypes=$0;var Vg={message:({schema:n})=>`must be ${n}`,params:({schema:n,schemaValue:e})=>typeof n=="string"?(0,Ge._)`{type: ${n}}`:(0,Ge._)`{type: ${e}}`};function k0(n){let e=zg(n);(0,Qg.reportError)(e,Vg)}jA.reportTypeError=k0;function zg(n){let{gen:e,data:s,schema:a}=n,c=(0,wl.schemaRefOrVal)(n,a,"type");return{gen:e,keyword:"type",data:s,schema:a.type,schemaCode:c,schemaValue:c,parentSchema:a,params:{},it:n}}});var El=me(xi=>{"use strict";Object.defineProperty(xi,"__esModule",{value:!0});xi.assignDefaults=void 0;var Qr=Ue(),Kg=Ke();function Yg(n,e){let{properties:s,items:a}=n.schema;if(e==="object"&&s)for(let c in s)_l(n,c,s[c].default);else e==="array"&&Array.isArray(a)&&a.forEach((c,h)=>_l(n,h,c.default))}xi.assignDefaults=Yg;function _l(n,e,s){let{gen:a,compositeRule:c,data:h,opts:g}=n;if(s===void 0)return;let m=(0,Qr._)`${h}${(0,Qr.getProperty)(e)}`;if(c){(0,Kg.checkStrictMode)(n,`default is ignored for: ${m}`);return}let v=(0,Qr._)`${m} === undefined`;g.useDefaults==="empty"&&(v=(0,Qr._)`${v} || ${m} === null || ${m} === ""`),a.if(v,(0,Qr._)`${m} = ${(0,Qr.stringify)(s)}`)}});var nt=me(uA=>{"use strict";Object.defineProperty(uA,"__esModule",{value:!0});uA.validateUnion=uA.validateArray=uA.usePattern=uA.callValidateCode=uA.schemaProperties=uA.allSchemaProperties=uA.noPropertyInData=uA.propertyInData=uA.isOwnProperty=uA.hasPropFunc=uA.reportMissingProp=uA.checkMissingProp=uA.checkReportMissingProp=void 0;var dA=Ue(),x0=Ke(),Ut=rt(),Wg=Ke();function Jg(n,e){let{gen:s,data:a,it:c}=n;s.if(B0(s,a,e,c.opts.ownProperties),()=>{n.setParams({missingProperty:(0,dA._)`${e}`},!0),n.error()})}uA.checkReportMissingProp=Jg;function Zg({gen:n,data:e,it:{opts:s}},a,c){return(0,dA.or)(...a.map(h=>(0,dA.and)(B0(n,e,h,s.ownProperties),(0,dA._)`${c} = ${h}`)))}uA.checkMissingProp=Zg;function Xg(n,e){n.setParams({missingProperty:e},!0),n.error()}uA.reportMissingProp=Xg;function $l(n){return n.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:(0,dA._)`Object.prototype.hasOwnProperty`})}uA.hasPropFunc=$l;function S0(n,e,s){return(0,dA._)`${$l(n)}.call(${e}, ${s})`}uA.isOwnProperty=S0;function em(n,e,s,a){let c=(0,dA._)`${e}${(0,dA.getProperty)(s)} !== undefined`;return a?(0,dA._)`${c} && ${S0(n,e,s)}`:c}uA.propertyInData=em;function B0(n,e,s,a){let c=(0,dA._)`${e}${(0,dA.getProperty)(s)} === undefined`;return a?(0,dA.or)(c,(0,dA.not)(S0(n,e,s))):c}uA.noPropertyInData=B0;function kl(n){return n?Object.keys(n).filter(e=>e!=="__proto__"):[]}uA.allSchemaProperties=kl;function Am(n,e){return kl(e).filter(s=>!(0,x0.alwaysValidSchema)(n,e[s]))}uA.schemaProperties=Am;function tm({schemaCode:n,data:e,it:{gen:s,topSchemaRef:a,schemaPath:c,errorPath:h},it:g},m,v,b){let w=b?(0,dA._)`${n}, ${e}, ${a}${c}`:e,E=[[Ut.default.instancePath,(0,dA.strConcat)(Ut.default.instancePath,h)],[Ut.default.parentData,g.parentData],[Ut.default.parentDataProperty,g.parentDataProperty],[Ut.default.rootData,Ut.default.rootData]];g.opts.dynamicRef&&E.push([Ut.default.dynamicAnchors,Ut.default.dynamicAnchors]);let $=(0,dA._)`${w}, ${s.object(...E)}`;return v!==dA.nil?(0,dA._)`${m}.call(${v}, ${$})`:(0,dA._)`${m}(${$})`}uA.callValidateCode=tm;var rm=(0,dA._)`new RegExp`;function nm({gen:n,it:{opts:e}},s){let a=e.unicodeRegExp?"u":"",{regExp:c}=e.code,h=c(s,a);return n.scopeValue("pattern",{key:h.toString(),ref:h,code:(0,dA._)`${c.code==="new RegExp"?rm:(0,Wg.useFunc)(n,c)}(${s}, ${a})`})}uA.usePattern=nm;function im(n){let{gen:e,data:s,keyword:a,it:c}=n,h=e.name("valid");if(c.allErrors){let m=e.let("valid",!0);return g(()=>e.assign(m,!1)),m}return e.var(h,!0),g(()=>e.break()),h;function g(m){let v=e.const("len",(0,dA._)`${s}.length`);e.forRange("i",0,v,b=>{n.subschema({keyword:a,dataProp:b,dataPropType:x0.Type.Num},h),e.if((0,dA.not)(h),m)})}}uA.validateArray=im;function om(n){let{gen:e,schema:s,keyword:a,it:c}=n;if(!Array.isArray(s))throw new Error("ajv implementation error");if(s.some(v=>(0,x0.alwaysValidSchema)(c,v))&&!c.opts.unevaluated)return;let g=e.let("valid",!1),m=e.name("_valid");e.block(()=>s.forEach((v,b)=>{let w=n.subschema({keyword:a,schemaProp:b,compositeRule:!0},m);e.assign(g,(0,dA._)`${g} || ${m}`),n.mergeValidEvaluated(w,m)||e.if((0,dA.not)(g))})),n.result(g,()=>n.reset(),()=>n.error(!0))}uA.validateUnion=om});var Bl=me(bt=>{"use strict";Object.defineProperty(bt,"__esModule",{value:!0});bt.validateKeywordUsage=bt.validSchemaType=bt.funcKeywordCode=bt.macroKeywordCode=void 0;var qA=Ue(),cr=rt(),sm=nt(),am=kn();function um(n,e){let{gen:s,keyword:a,schema:c,parentSchema:h,it:g}=n,m=e.macro.call(g.self,c,h,g),v=Sl(s,a,m);g.opts.validateSchema!==!1&&g.self.validateSchema(m,!0);let b=s.name("valid");n.subschema({schema:m,schemaPath:qA.nil,errSchemaPath:`${g.errSchemaPath}/${a}`,topSchemaRef:v,compositeRule:!0},b),n.pass(b,()=>n.error(!0))}bt.macroKeywordCode=um;function lm(n,e){var s;let{gen:a,keyword:c,schema:h,parentSchema:g,$data:m,it:v}=n;cm(v,e);let b=!m&&e.compile?e.compile.call(v.self,h,g,v):e.validate,w=Sl(a,c,b),E=a.let("valid");n.block$data(E,$),n.ok((s=e.valid)!==null&&s!==void 0?s:E);function $(){if(e.errors===!1)x(),e.modifying&&xl(n),M(()=>n.error());else{let N=e.async?k():T();e.modifying&&xl(n),M(()=>fm(n,N))}}function k(){let N=a.let("ruleErrs",null);return a.try(()=>x((0,qA._)`await `),q=>a.assign(E,!1).if((0,qA._)`${q} instanceof ${v.ValidationError}`,()=>a.assign(N,(0,qA._)`${q}.errors`),()=>a.throw(q))),N}function T(){let N=(0,qA._)`${w}.errors`;return a.assign(N,null),x(qA.nil),N}function x(N=e.async?(0,qA._)`await `:qA.nil){let q=v.opts.passContext?cr.default.this:cr.default.self,L=!("compile"in e&&!m||e.schema===!1);a.assign(E,(0,qA._)`${N}${(0,sm.callValidateCode)(n,w,q,L)}`,e.modifying)}function M(N){var q;a.if((0,qA.not)((q=e.valid)!==null&&q!==void 0?q:E),N)}}bt.funcKeywordCode=lm;function xl(n){let{gen:e,data:s,it:a}=n;e.if(a.parentData,()=>e.assign(s,(0,qA._)`${a.parentData}[${a.parentDataProperty}]`))}function fm(n,e){let{gen:s}=n;s.if((0,qA._)`Array.isArray(${e})`,()=>{s.assign(cr.default.vErrors,(0,qA._)`${cr.default.vErrors} === null ? ${e} : ${cr.default.vErrors}.concat(${e})`).assign(cr.default.errors,(0,qA._)`${cr.default.vErrors}.length`),(0,am.extendErrors)(n)},()=>n.error())}function cm({schemaEnv:n},e){if(e.async&&!n.$async)throw new Error("async keyword in sync schema")}function Sl(n,e,s){if(s===void 0)throw new Error(`keyword "${e}" failed to compile`);return n.scopeValue("keyword",typeof s=="function"?{ref:s}:{ref:s,code:(0,qA.stringify)(s)})}function dm(n,e,s=!1){return!e.length||e.some(a=>a==="array"?Array.isArray(n):a==="object"?n&&typeof n=="object"&&!Array.isArray(n):typeof n==a||s&&typeof n>"u")}bt.validSchemaType=dm;function hm({schema:n,opts:e,self:s,errSchemaPath:a},c,h){if(Array.isArray(c.keyword)?!c.keyword.includes(h):c.keyword!==h)throw new Error("ajv implementation error");let g=c.dependencies;if(g?.some(m=>!Object.prototype.hasOwnProperty.call(n,m)))throw new Error(`parent schema must have dependencies of ${h}: ${g.join(",")}`);if(c.validateSchema&&!c.validateSchema(n[h])){let v=`keyword "${h}" value is invalid at path "${a}": `+s.errorsText(c.validateSchema.errors);if(e.validateSchema==="log")s.logger.error(v);else throw new Error(v)}}bt.validateKeywordUsage=hm});var Dl=me(Gt=>{"use strict";Object.defineProperty(Gt,"__esModule",{value:!0});Gt.extendSubschemaMode=Gt.extendSubschemaData=Gt.getSubschema=void 0;var _t=Ue(),Pl=Ke();function pm(n,{keyword:e,schemaProp:s,schema:a,schemaPath:c,errSchemaPath:h,topSchemaRef:g}){if(e!==void 0&&a!==void 0)throw new Error('both "keyword" and "schema" passed, only one allowed');if(e!==void 0){let m=n.schema[e];return s===void 0?{schema:m,schemaPath:(0,_t._)`${n.schemaPath}${(0,_t.getProperty)(e)}`,errSchemaPath:`${n.errSchemaPath}/${e}`}:{schema:m[s],schemaPath:(0,_t._)`${n.schemaPath}${(0,_t.getProperty)(e)}${(0,_t.getProperty)(s)}`,errSchemaPath:`${n.errSchemaPath}/${e}/${(0,Pl.escapeFragment)(s)}`}}if(a!==void 0){if(c===void 0||h===void 0||g===void 0)throw new Error('"schemaPath", "errSchemaPath" and "topSchemaRef" are required with "schema"');return{schema:a,schemaPath:c,topSchemaRef:g,errSchemaPath:h}}throw new Error('either "keyword" or "schema" must be passed')}Gt.getSubschema=pm;function gm(n,e,{dataProp:s,dataPropType:a,data:c,dataTypes:h,propertyName:g}){if(c!==void 0&&s!==void 0)throw new Error('both "data" and "dataProp" passed, only one allowed');let{gen:m}=e;if(s!==void 0){let{errorPath:b,dataPathArr:w,opts:E}=e,$=m.let("data",(0,_t._)`${e.data}${(0,_t.getProperty)(s)}`,!0);v($),n.errorPath=(0,_t.str)`${b}${(0,Pl.getErrorPath)(s,a,E.jsPropertySyntax)}`,n.parentDataProperty=(0,_t._)`${s}`,n.dataPathArr=[...w,n.parentDataProperty]}if(c!==void 0){let b=c instanceof _t.Name?c:m.let("data",c,!0);v(b),g!==void 0&&(n.propertyName=g)}h&&(n.dataTypes=h);function v(b){n.data=b,n.dataLevel=e.dataLevel+1,n.dataTypes=[],e.definedProperties=new Set,n.parentData=e.data,n.dataNames=[...e.dataNames,b]}}Gt.extendSubschemaData=gm;function mm(n,{jtdDiscriminator:e,jtdMetadata:s,compositeRule:a,createErrors:c,allErrors:h}){a!==void 0&&(n.compositeRule=a),c!==void 0&&(n.createErrors=c),h!==void 0&&(n.allErrors=h),n.jtdDiscriminator=e,n.jtdMetadata=s}Gt.extendSubschemaMode=mm});var P0=me((z8,Cl)=>{"use strict";Cl.exports=function n(e,s){if(e===s)return!0;if(e&&s&&typeof e=="object"&&typeof s=="object"){if(e.constructor!==s.constructor)return!1;var a,c,h;if(Array.isArray(e)){if(a=e.length,a!=s.length)return!1;for(c=a;c--!==0;)if(!n(e[c],s[c]))return!1;return!0}if(e.constructor===RegExp)return e.source===s.source&&e.flags===s.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===s.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===s.toString();if(h=Object.keys(e),a=h.length,a!==Object.keys(s).length)return!1;for(c=a;c--!==0;)if(!Object.prototype.hasOwnProperty.call(s,h[c]))return!1;for(c=a;c--!==0;){var g=h[c];if(!n(e[g],s[g]))return!1}return!0}return e!==e&&s!==s}});var Ol=me((K8,Tl)=>{"use strict";var Ft=Tl.exports=function(n,e,s){typeof e=="function"&&(s=e,e={}),s=e.cb||s;var a=typeof s=="function"?s:s.pre||function(){},c=s.post||function(){};Si(e,a,c,n,"",n)};Ft.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0,if:!0,then:!0,else:!0};Ft.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0};Ft.propsKeywords={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependencies:!0};Ft.skipKeywords={default:!0,enum:!0,const:!0,required:!0,maximum:!0,minimum:!0,exclusiveMaximum:!0,exclusiveMinimum:!0,multipleOf:!0,maxLength:!0,minLength:!0,pattern:!0,format:!0,maxItems:!0,minItems:!0,uniqueItems:!0,maxProperties:!0,minProperties:!0};function Si(n,e,s,a,c,h,g,m,v,b){if(a&&typeof a=="object"&&!Array.isArray(a)){e(a,c,h,g,m,v,b);for(var w in a){var E=a[w];if(Array.isArray(E)){if(w in Ft.arrayKeywords)for(var $=0;$<E.length;$++)Si(n,e,s,E[$],c+"/"+w+"/"+$,h,c,w,a,$)}else if(w in Ft.propsKeywords){if(E&&typeof E=="object")for(var k in E)Si(n,e,s,E[k],c+"/"+w+"/"+ym(k),h,c,w,a,k)}else(w in Ft.keywords||n.allKeys&&!(w in Ft.skipKeywords))&&Si(n,e,s,E,c+"/"+w,h,c,w,a)}s(a,c,h,g,m,v,b)}}function ym(n){return n.replace(/~/g,"~0").replace(/\//g,"~1")}});var Sn=me(KA=>{"use strict";Object.defineProperty(KA,"__esModule",{value:!0});KA.getSchemaRefs=KA.resolveUrl=KA.normalizeId=KA._getFullPath=KA.getFullPath=KA.inlineRef=void 0;var wm=Ke(),vm=P0(),bm=Ol(),_m=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function Em(n,e=!0){return typeof n=="boolean"?!0:e===!0?!D0(n):e?jl(n)<=e:!1}KA.inlineRef=Em;var $m=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function D0(n){for(let e in n){if($m.has(e))return!0;let s=n[e];if(Array.isArray(s)&&s.some(D0)||typeof s=="object"&&D0(s))return!0}return!1}function jl(n){let e=0;for(let s in n){if(s==="$ref")return 1/0;if(e++,!_m.has(s)&&(typeof n[s]=="object"&&(0,wm.eachItem)(n[s],a=>e+=jl(a)),e===1/0))return 1/0}return e}function Nl(n,e="",s){s!==!1&&(e=qr(e));let a=n.parse(e);return Ml(n,a)}KA.getFullPath=Nl;function Ml(n,e){return n.serialize(e).split("#")[0]+"#"}KA._getFullPath=Ml;var km=/#\/?$/;function qr(n){return n?n.replace(km,""):""}KA.normalizeId=qr;function xm(n,e,s){return s=qr(s),n.resolve(e,s)}KA.resolveUrl=xm;var Sm=/^[a-z_][-a-z0-9._]*$/i;function Bm(n,e){if(typeof n=="boolean")return{};let{schemaId:s,uriResolver:a}=this.opts,c=qr(n[s]||e),h={"":c},g=Nl(a,c,!1),m={},v=new Set;return bm(n,{allKeys:!0},(E,$,k,T)=>{if(T===void 0)return;let x=g+$,M=h[T];typeof E[s]=="string"&&(M=N.call(this,E[s])),q.call(this,E.$anchor),q.call(this,E.$dynamicAnchor),h[$]=M;function N(L){let G=this.opts.uriResolver.resolve;if(L=qr(M?G(M,L):L),v.has(L))throw w(L);v.add(L);let V=this.refs[L];return typeof V=="string"&&(V=this.refs[V]),typeof V=="object"?b(E,V.schema,L):L!==qr(x)&&(L[0]==="#"?(b(E,m[L],L),m[L]=E):this.refs[L]=x),L}function q(L){if(typeof L=="string"){if(!Sm.test(L))throw new Error(`invalid anchor "${L}"`);N.call(this,`#${L}`)}}}),m;function b(E,$,k){if($!==void 0&&!vm(E,$))throw w(k)}function w(E){return new Error(`reference "${E}" resolves to more than one schema`)}}KA.getSchemaRefs=Bm});var Dn=me(Vt=>{"use strict";Object.defineProperty(Vt,"__esModule",{value:!0});Vt.getData=Vt.KeywordCxt=Vt.validateFunctionCode=void 0;var ql=gl(),Rl=xn(),T0=_0(),Bi=xn(),Pm=El(),Pn=Bl(),C0=Dl(),Se=Ue(),Qe=rt(),Dm=Sn(),Pt=Ke(),Bn=kn();function Cm(n){if(Gl(n)&&(Fl(n),Ul(n))){jm(n);return}Ll(n,()=>(0,ql.topBoolOrEmptySchema)(n))}Vt.validateFunctionCode=Cm;function Ll({gen:n,validateName:e,schema:s,schemaEnv:a,opts:c},h){c.code.es5?n.func(e,(0,Se._)`${Qe.default.data}, ${Qe.default.valCxt}`,a.$async,()=>{n.code((0,Se._)`"use strict"; ${Il(s,c)}`),Om(n,c),n.code(h)}):n.func(e,(0,Se._)`${Qe.default.data}, ${Tm(c)}`,a.$async,()=>n.code(Il(s,c)).code(h))}function Tm(n){return(0,Se._)`{${Qe.default.instancePath}="", ${Qe.default.parentData}, ${Qe.default.parentDataProperty}, ${Qe.default.rootData}=${Qe.default.data}${n.dynamicRef?(0,Se._)`, ${Qe.default.dynamicAnchors}={}`:Se.nil}}={}`}function Om(n,e){n.if(Qe.default.valCxt,()=>{n.var(Qe.default.instancePath,(0,Se._)`${Qe.default.valCxt}.${Qe.default.instancePath}`),n.var(Qe.default.parentData,(0,Se._)`${Qe.default.valCxt}.${Qe.default.parentData}`),n.var(Qe.default.parentDataProperty,(0,Se._)`${Qe.default.valCxt}.${Qe.default.parentDataProperty}`),n.var(Qe.default.rootData,(0,Se._)`${Qe.default.valCxt}.${Qe.default.rootData}`),e.dynamicRef&&n.var(Qe.default.dynamicAnchors,(0,Se._)`${Qe.default.valCxt}.${Qe.default.dynamicAnchors}`)},()=>{n.var(Qe.default.instancePath,(0,Se._)`""`),n.var(Qe.default.parentData,(0,Se._)`undefined`),n.var(Qe.default.parentDataProperty,(0,Se._)`undefined`),n.var(Qe.default.rootData,Qe.default.data),e.dynamicRef&&n.var(Qe.default.dynamicAnchors,(0,Se._)`{}`)})}function jm(n){let{schema:e,opts:s,gen:a}=n;Ll(n,()=>{s.$comment&&e.$comment&&zl(n),Hm(n),a.let(Qe.default.vErrors,null),a.let(Qe.default.errors,0),s.unevaluated&&Nm(n),Vl(n),Lm(n)})}function Nm(n){let{gen:e,validateName:s}=n;n.evaluated=e.const("evaluated",(0,Se._)`${s}.evaluated`),e.if((0,Se._)`${n.evaluated}.dynamicProps`,()=>e.assign((0,Se._)`${n.evaluated}.props`,(0,Se._)`undefined`)),e.if((0,Se._)`${n.evaluated}.dynamicItems`,()=>e.assign((0,Se._)`${n.evaluated}.items`,(0,Se._)`undefined`))}function Il(n,e){let s=typeof n=="object"&&n[e.schemaId];return s&&(e.code.source||e.code.process)?(0,Se._)`/*# sourceURL=${s} */`:Se.nil}function Mm(n,e){if(Gl(n)&&(Fl(n),Ul(n))){Rm(n,e);return}(0,ql.boolOrEmptySchema)(n,e)}function Ul({schema:n,self:e}){if(typeof n=="boolean")return!n;for(let s in n)if(e.RULES.all[s])return!0;return!1}function Gl(n){return typeof n.schema!="boolean"}function Rm(n,e){let{schema:s,gen:a,opts:c}=n;c.$comment&&s.$comment&&zl(n),Qm(n),qm(n);let h=a.const("_errs",Qe.default.errors);Vl(n,h),a.var(e,(0,Se._)`${h} === ${Qe.default.errors}`)}function Fl(n){(0,Pt.checkUnknownRules)(n),Im(n)}function Vl(n,e){if(n.opts.jtd)return Hl(n,[],!1,e);let s=(0,Rl.getSchemaTypes)(n.schema),a=(0,Rl.coerceAndCheckDataType)(n,s);Hl(n,s,!a,e)}function Im(n){let{schema:e,errSchemaPath:s,opts:a,self:c}=n;e.$ref&&a.ignoreKeywordsWithRef&&(0,Pt.schemaHasRulesButRef)(e,c.RULES)&&c.logger.warn(`$ref: keywords ignored in schema at path "${s}"`)}function Hm(n){let{schema:e,opts:s}=n;e.default!==void 0&&s.useDefaults&&s.strictSchema&&(0,Pt.checkStrictMode)(n,"default is ignored in the schema root")}function Qm(n){let e=n.schema[n.opts.schemaId];e&&(n.baseId=(0,Dm.resolveUrl)(n.opts.uriResolver,n.baseId,e))}function qm(n){if(n.schema.$async&&!n.schemaEnv.$async)throw new Error("async schema in sync schema")}function zl({gen:n,schemaEnv:e,schema:s,errSchemaPath:a,opts:c}){let h=s.$comment;if(c.$comment===!0)n.code((0,Se._)`${Qe.default.self}.logger.log(${h})`);else if(typeof c.$comment=="function"){let g=(0,Se.str)`${a}/$comment`,m=n.scopeValue("root",{ref:e.root});n.code((0,Se._)`${Qe.default.self}.opts.$comment(${h}, ${g}, ${m}.schema)`)}}function Lm(n){let{gen:e,schemaEnv:s,validateName:a,ValidationError:c,opts:h}=n;s.$async?e.if((0,Se._)`${Qe.default.errors} === 0`,()=>e.return(Qe.default.data),()=>e.throw((0,Se._)`new ${c}(${Qe.default.vErrors})`)):(e.assign((0,Se._)`${a}.errors`,Qe.default.vErrors),h.unevaluated&&Um(n),e.return((0,Se._)`${Qe.default.errors} === 0`))}function Um({gen:n,evaluated:e,props:s,items:a}){s instanceof Se.Name&&n.assign((0,Se._)`${e}.props`,s),a instanceof Se.Name&&n.assign((0,Se._)`${e}.items`,a)}function Hl(n,e,s,a){let{gen:c,schema:h,data:g,allErrors:m,opts:v,self:b}=n,{RULES:w}=b;if(h.$ref&&(v.ignoreKeywordsWithRef||!(0,Pt.schemaHasRulesButRef)(h,w))){c.block(()=>Yl(n,"$ref",w.all.$ref.definition));return}v.jtd||Gm(n,e),c.block(()=>{for(let $ of w.rules)E($);E(w.post)});function E($){(0,T0.shouldUseGroup)(h,$)&&($.type?(c.if((0,Bi.checkDataType)($.type,g,v.strictNumbers)),Ql(n,$),e.length===1&&e[0]===$.type&&s&&(c.else(),(0,Bi.reportTypeError)(n)),c.endIf()):Ql(n,$),m||c.if((0,Se._)`${Qe.default.errors} === ${a||0}`))}}function Ql(n,e){let{gen:s,schema:a,opts:{useDefaults:c}}=n;c&&(0,Pm.assignDefaults)(n,e.type),s.block(()=>{for(let h of e.rules)(0,T0.shouldUseRule)(a,h)&&Yl(n,h.keyword,h.definition,e.type)})}function Gm(n,e){n.schemaEnv.meta||!n.opts.strictTypes||(Fm(n,e),n.opts.allowUnionTypes||Vm(n,e),zm(n,n.dataTypes))}function Fm(n,e){if(e.length){if(!n.dataTypes.length){n.dataTypes=e;return}e.forEach(s=>{Kl(n.dataTypes,s)||O0(n,`type "${s}" not allowed by context "${n.dataTypes.join(",")}"`)}),Ym(n,e)}}function Vm(n,e){e.length>1&&!(e.length===2&&e.includes("null"))&&O0(n,"use allowUnionTypes to allow union type keyword")}function zm(n,e){let s=n.self.RULES.all;for(let a in s){let c=s[a];if(typeof c=="object"&&(0,T0.shouldUseRule)(n.schema,c)){let{type:h}=c.definition;h.length&&!h.some(g=>Km(e,g))&&O0(n,`missing type "${h.join(",")}" for keyword "${a}"`)}}}function Km(n,e){return n.includes(e)||e==="number"&&n.includes("integer")}function Kl(n,e){return n.includes(e)||e==="integer"&&n.includes("number")}function Ym(n,e){let s=[];for(let a of n.dataTypes)Kl(e,a)?s.push(a):e.includes("integer")&&a==="number"&&s.push("integer");n.dataTypes=s}function O0(n,e){let s=n.schemaEnv.baseId+n.errSchemaPath;e+=` at "${s}" (strictTypes)`,(0,Pt.checkStrictMode)(n,e,n.opts.strictTypes)}var Pi=class{constructor(e,s,a){if((0,Pn.validateKeywordUsage)(e,s,a),this.gen=e.gen,this.allErrors=e.allErrors,this.keyword=a,this.data=e.data,this.schema=e.schema[a],this.$data=s.$data&&e.opts.$data&&this.schema&&this.schema.$data,this.schemaValue=(0,Pt.schemaRefOrVal)(e,this.schema,a,this.$data),this.schemaType=s.schemaType,this.parentSchema=e.schema,this.params={},this.it=e,this.def=s,this.$data)this.schemaCode=e.gen.const("vSchema",Wl(this.$data,e));else if(this.schemaCode=this.schemaValue,!(0,Pn.validSchemaType)(this.schema,s.schemaType,s.allowUndefined))throw new Error(`${a} value must be ${JSON.stringify(s.schemaType)}`);("code"in s?s.trackErrors:s.errors!==!1)&&(this.errsCount=e.gen.const("_errs",Qe.default.errors))}result(e,s,a){this.failResult((0,Se.not)(e),s,a)}failResult(e,s,a){this.gen.if(e),a?a():this.error(),s?(this.gen.else(),s(),this.allErrors&&this.gen.endIf()):this.allErrors?this.gen.endIf():this.gen.else()}pass(e,s){this.failResult((0,Se.not)(e),void 0,s)}fail(e){if(e===void 0){this.error(),this.allErrors||this.gen.if(!1);return}this.gen.if(e),this.error(),this.allErrors?this.gen.endIf():this.gen.else()}fail$data(e){if(!this.$data)return this.fail(e);let{schemaCode:s}=this;this.fail((0,Se._)`${s} !== undefined && (${(0,Se.or)(this.invalid$data(),e)})`)}error(e,s,a){if(s){this.setParams(s),this._error(e,a),this.setParams({});return}this._error(e,a)}_error(e,s){(e?Bn.reportExtraError:Bn.reportError)(this,this.def.error,s)}$dataError(){(0,Bn.reportError)(this,this.def.$dataError||Bn.keyword$DataError)}reset(){if(this.errsCount===void 0)throw new Error('add "trackErrors" to keyword definition');(0,Bn.resetErrorsCount)(this.gen,this.errsCount)}ok(e){this.allErrors||this.gen.if(e)}setParams(e,s){s?Object.assign(this.params,e):this.params=e}block$data(e,s,a=Se.nil){this.gen.block(()=>{this.check$data(e,a),s()})}check$data(e=Se.nil,s=Se.nil){if(!this.$data)return;let{gen:a,schemaCode:c,schemaType:h,def:g}=this;a.if((0,Se.or)((0,Se._)`${c} === undefined`,s)),e!==Se.nil&&a.assign(e,!0),(h.length||g.validateSchema)&&(a.elseIf(this.invalid$data()),this.$dataError(),e!==Se.nil&&a.assign(e,!1)),a.else()}invalid$data(){let{gen:e,schemaCode:s,schemaType:a,def:c,it:h}=this;return(0,Se.or)(g(),m());function g(){if(a.length){if(!(s instanceof Se.Name))throw new Error("ajv implementation error");let v=Array.isArray(a)?a:[a];return(0,Se._)`${(0,Bi.checkDataTypes)(v,s,h.opts.strictNumbers,Bi.DataType.Wrong)}`}return Se.nil}function m(){if(c.validateSchema){let v=e.scopeValue("validate$data",{ref:c.validateSchema});return(0,Se._)`!${v}(${s})`}return Se.nil}}subschema(e,s){let a=(0,C0.getSubschema)(this.it,e);(0,C0.extendSubschemaData)(a,this.it,e),(0,C0.extendSubschemaMode)(a,e);let c={...this.it,...a,items:void 0,props:void 0};return Mm(c,s),c}mergeEvaluated(e,s){let{it:a,gen:c}=this;a.opts.unevaluated&&(a.props!==!0&&e.props!==void 0&&(a.props=Pt.mergeEvaluated.props(c,e.props,a.props,s)),a.items!==!0&&e.items!==void 0&&(a.items=Pt.mergeEvaluated.items(c,e.items,a.items,s)))}mergeValidEvaluated(e,s){let{it:a,gen:c}=this;if(a.opts.unevaluated&&(a.props!==!0||a.items!==!0))return c.if(s,()=>this.mergeEvaluated(e,Se.Name)),!0}};Vt.KeywordCxt=Pi;function Yl(n,e,s,a){let c=new Pi(n,s,e);"code"in s?s.code(c,a):c.$data&&s.validate?(0,Pn.funcKeywordCode)(c,s):"macro"in s?(0,Pn.macroKeywordCode)(c,s):(s.compile||s.validate)&&(0,Pn.funcKeywordCode)(c,s)}var Wm=/^\/(?:[^~]|~0|~1)*$/,Jm=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function Wl(n,{dataLevel:e,dataNames:s,dataPathArr:a}){let c,h;if(n==="")return Qe.default.rootData;if(n[0]==="/"){if(!Wm.test(n))throw new Error(`Invalid JSON-pointer: ${n}`);c=n,h=Qe.default.rootData}else{let b=Jm.exec(n);if(!b)throw new Error(`Invalid JSON-pointer: ${n}`);let w=+b[1];if(c=b[2],c==="#"){if(w>=e)throw new Error(v("property/index",w));return a[e-w]}if(w>e)throw new Error(v("data",w));if(h=s[e-w],!c)return h}let g=h,m=c.split("/");for(let b of m)b&&(h=(0,Se._)`${h}${(0,Se.getProperty)((0,Pt.unescapeJsonPointer)(b))}`,g=(0,Se._)`${g} && ${h}`);return g;function v(b,w){return`Cannot access ${b} ${w} levels up, current level is ${e}`}}Vt.getData=Wl});var Di=me(N0=>{"use strict";Object.defineProperty(N0,"__esModule",{value:!0});var j0=class extends Error{constructor(e){super("validation failed"),this.errors=e,this.ajv=this.validation=!0}};N0.default=j0});var Cn=me(I0=>{"use strict";Object.defineProperty(I0,"__esModule",{value:!0});var M0=Sn(),R0=class extends Error{constructor(e,s,a,c){super(c||`can't resolve reference ${a} from id ${s}`),this.missingRef=(0,M0.resolveUrl)(e,s,a),this.missingSchema=(0,M0.normalizeId)((0,M0.getFullPath)(e,this.missingRef))}};I0.default=R0});var Tn=me(it=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0});it.resolveSchema=it.getCompilingSchema=it.resolveRef=it.compileSchema=it.SchemaEnv=void 0;var ut=Ue(),Zm=Di(),dr=rt(),lt=Sn(),Jl=Ke(),Xm=Dn(),Lr=class{constructor(e){var s;this.refs={},this.dynamicAnchors={};let a;typeof e.schema=="object"&&(a=e.schema),this.schema=e.schema,this.schemaId=e.schemaId,this.root=e.root||this,this.baseId=(s=e.baseId)!==null&&s!==void 0?s:(0,lt.normalizeId)(a?.[e.schemaId||"$id"]),this.schemaPath=e.schemaPath,this.localRefs=e.localRefs,this.meta=e.meta,this.$async=a?.$async,this.refs={}}};it.SchemaEnv=Lr;function Q0(n){let e=Zl.call(this,n);if(e)return e;let s=(0,lt.getFullPath)(this.opts.uriResolver,n.root.baseId),{es5:a,lines:c}=this.opts.code,{ownProperties:h}=this.opts,g=new ut.CodeGen(this.scope,{es5:a,lines:c,ownProperties:h}),m;n.$async&&(m=g.scopeValue("Error",{ref:Zm.default,code:(0,ut._)`require("ajv/dist/runtime/validation_error").default`}));let v=g.scopeName("validate");n.validateName=v;let b={gen:g,allErrors:this.opts.allErrors,data:dr.default.data,parentData:dr.default.parentData,parentDataProperty:dr.default.parentDataProperty,dataNames:[dr.default.data],dataPathArr:[ut.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:g.scopeValue("schema",this.opts.code.source===!0?{ref:n.schema,code:(0,ut.stringify)(n.schema)}:{ref:n.schema}),validateName:v,ValidationError:m,schema:n.schema,schemaEnv:n,rootId:s,baseId:n.baseId||s,schemaPath:ut.nil,errSchemaPath:n.schemaPath||(this.opts.jtd?"":"#"),errorPath:(0,ut._)`""`,opts:this.opts,self:this},w;try{this._compilations.add(n),(0,Xm.validateFunctionCode)(b),g.optimize(this.opts.code.optimize);let E=g.toString();w=`${g.scopeRefs(dr.default.scope)}return ${E}`,this.opts.code.process&&(w=this.opts.code.process(w,n));let k=new Function(`${dr.default.self}`,`${dr.default.scope}`,w)(this,this.scope.get());if(this.scope.value(v,{ref:k}),k.errors=null,k.schema=n.schema,k.schemaEnv=n,n.$async&&(k.$async=!0),this.opts.code.source===!0&&(k.source={validateName:v,validateCode:E,scopeValues:g._values}),this.opts.unevaluated){let{props:T,items:x}=b;k.evaluated={props:T instanceof ut.Name?void 0:T,items:x instanceof ut.Name?void 0:x,dynamicProps:T instanceof ut.Name,dynamicItems:x instanceof ut.Name},k.source&&(k.source.evaluated=(0,ut.stringify)(k.evaluated))}return n.validate=k,n}catch(E){throw delete n.validate,delete n.validateName,w&&this.logger.error("Error compiling schema, function code:",w),E}finally{this._compilations.delete(n)}}it.compileSchema=Q0;function ey(n,e,s){var a;s=(0,lt.resolveUrl)(this.opts.uriResolver,e,s);let c=n.refs[s];if(c)return c;let h=ry.call(this,n,s);if(h===void 0){let g=(a=n.localRefs)===null||a===void 0?void 0:a[s],{schemaId:m}=this.opts;g&&(h=new Lr({schema:g,schemaId:m,root:n,baseId:e}))}if(h!==void 0)return n.refs[s]=Ay.call(this,h)}it.resolveRef=ey;function Ay(n){return(0,lt.inlineRef)(n.schema,this.opts.inlineRefs)?n.schema:n.validate?n:Q0.call(this,n)}function Zl(n){for(let e of this._compilations)if(ty(e,n))return e}it.getCompilingSchema=Zl;function ty(n,e){return n.schema===e.schema&&n.root===e.root&&n.baseId===e.baseId}function ry(n,e){let s;for(;typeof(s=this.refs[e])=="string";)e=s;return s||this.schemas[e]||Ci.call(this,n,e)}function Ci(n,e){let s=this.opts.uriResolver.parse(e),a=(0,lt._getFullPath)(this.opts.uriResolver,s),c=(0,lt.getFullPath)(this.opts.uriResolver,n.baseId,void 0);if(Object.keys(n.schema).length>0&&a===c)return H0.call(this,s,n);let h=(0,lt.normalizeId)(a),g=this.refs[h]||this.schemas[h];if(typeof g=="string"){let m=Ci.call(this,n,g);return typeof m?.schema!="object"?void 0:H0.call(this,s,m)}if(typeof g?.schema=="object"){if(g.validate||Q0.call(this,g),h===(0,lt.normalizeId)(e)){let{schema:m}=g,{schemaId:v}=this.opts,b=m[v];return b&&(c=(0,lt.resolveUrl)(this.opts.uriResolver,c,b)),new Lr({schema:m,schemaId:v,root:n,baseId:c})}return H0.call(this,s,g)}}it.resolveSchema=Ci;var ny=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function H0(n,{baseId:e,schema:s,root:a}){var c;if(((c=n.fragment)===null||c===void 0?void 0:c[0])!=="/")return;for(let m of n.fragment.slice(1).split("/")){if(typeof s=="boolean")return;let v=s[(0,Jl.unescapeFragment)(m)];if(v===void 0)return;s=v;let b=typeof s=="object"&&s[this.opts.schemaId];!ny.has(m)&&b&&(e=(0,lt.resolveUrl)(this.opts.uriResolver,e,b))}let h;if(typeof s!="boolean"&&s.$ref&&!(0,Jl.schemaHasRulesButRef)(s,this.RULES)){let m=(0,lt.resolveUrl)(this.opts.uriResolver,e,s.$ref);h=Ci.call(this,a,m)}let{schemaId:g}=this.opts;if(h=h||new Lr({schema:s,schemaId:g,root:a,baseId:e}),h.schema!==h.root.schema)return h}});var Xl=me((e6,iy)=>{iy.exports={$id:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#",description:"Meta-schema for $data reference (JSON AnySchema extension proposal)",type:"object",required:["$data"],properties:{$data:{type:"string",anyOf:[{format:"relative-json-pointer"},{format:"json-pointer"}]}},additionalProperties:!1}});var U0=me((A6,of)=>{"use strict";var oy=RegExp.prototype.test.bind(/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu),Af=RegExp.prototype.test.bind(/^(?:(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)$/u),q0=RegExp.prototype.test.bind(/^[\da-f]{2}$/iu),tf=RegExp.prototype.test.bind(/^[\da-z\-._~]$/iu),sy=RegExp.prototype.test.bind(/^[\da-z\-._~!$&'()*+,;=:@/]$/iu);function L0(n){let e="",s=0,a=0;for(a=0;a<n.length;a++)if(s=n[a].charCodeAt(0),s!==48){if(!(s>=48&&s<=57||s>=65&&s<=70||s>=97&&s<=102))return"";e+=n[a];break}for(a+=1;a<n.length;a++){if(s=n[a].charCodeAt(0),!(s>=48&&s<=57||s>=65&&s<=70||s>=97&&s<=102))return"";e+=n[a]}return e}var ay=RegExp.prototype.test.bind(/[^!"$&'()*+,\-.;=_`a-z{}~]/u);function ef(n){return n.length=0,!0}function uy(n,e,s){if(n.length){let a=L0(n);if(a!=="")e.push(a);else return s.error=!0,!1;n.length=0}return!0}function ly(n){let e=0,s={error:!1,address:"",zone:""},a=[],c=[],h=!1,g=!1,m=uy;for(let v=0;v<n.length;v++){let b=n[v];if(!(b==="["||b==="]"))if(b===":"){if(h===!0&&(g=!0),!m(c,a,s))break;if(++e>7){s.error=!0;break}v>0&&n[v-1]===":"&&(h=!0),a.push(":");continue}else if(b==="%"){if(!m(c,a,s))break;m=ef}else{c.push(b);continue}}return c.length&&(m===ef?s.zone=c.join(""):g?a.push(c.join("")):a.push(L0(c))),s.address=a.join(""),s}function rf(n){if(fy(n,":")<2)return{host:n,isIPV6:!1};let e=ly(n);if(e.error)return{host:n,isIPV6:!1};{let s=e.address,a=e.address;return e.zone&&(s+="%"+e.zone,a+="%25"+e.zone),{host:s,isIPV6:!0,escapedHost:a}}}function fy(n,e){let s=0;for(let a=0;a<n.length;a++)n[a]===e&&s++;return s}function cy(n){let e=n,s=[],a=-1,c=0;for(;c=e.length;){if(c===1){if(e===".")break;if(e==="/"){s.push("/");break}else{s.push(e);break}}else if(c===2){if(e[0]==="."){if(e[1]===".")break;if(e[1]==="/"){e=e.slice(2);continue}}else if(e[0]==="/"&&(e[1]==="."||e[1]==="/")){s.push("/");break}}else if(c===3&&e==="/.."){s.length!==0&&s.pop(),s.push("/");break}if(e[0]==="."){if(e[1]==="."){if(e[2]==="/"){e=e.slice(3);continue}}else if(e[1]==="/"){e=e.slice(2);continue}}else if(e[0]==="/"&&e[1]==="."){if(e[2]==="/"){e=e.slice(2);continue}else if(e[2]==="."&&e[3]==="/"){e=e.slice(3),s.length!==0&&s.pop();continue}}if((a=e.indexOf("/",1))===-1){s.push(e);break}else s.push(e.slice(0,a)),e=e.slice(a)}return s.join("")}var dy={"@":"%40","/":"%2F","?":"%3F","#":"%23",":":"%3A"},hy=/[@/?#:]/g,py=/[@/?#]/g;function nf(n,e){let s=e?py:hy;return s.lastIndex=0,n.replace(s,a=>dy[a])}function gy(n,e=!1){if(n.indexOf("%")===-1)return n;let s="";for(let a=0;a<n.length;a++){if(n[a]==="%"&&a+2<n.length){let c=n.slice(a+1,a+3);if(q0(c)){let h=c.toUpperCase(),g=String.fromCharCode(parseInt(h,16));e&&tf(g)?s+=g:s+="%"+h,a+=2;continue}}s+=n[a]}return s}function my(n){let e="";for(let s=0;s<n.length;s++){if(n[s]==="%"&&s+2<n.length){let a=n.slice(s+1,s+3);if(q0(a)){let c=a.toUpperCase(),h=String.fromCharCode(parseInt(c,16));h!=="."&&tf(h)?e+=h:e+="%"+c,s+=2;continue}}sy(n[s])?e+=n[s]:e+=escape(n[s])}return e}function yy(n){let e="";for(let s=0;s<n.length;s++){if(n[s]==="%"&&s+2<n.length){let a=n.slice(s+1,s+3);if(q0(a)){e+="%"+a.toUpperCase(),s+=2;continue}}e+=escape(n[s])}return e}function wy(n){let e=[];if(n.userinfo!==void 0&&(e.push(n.userinfo),e.push("@")),n.host!==void 0){let s=unescape(n.host);if(!Af(s)){let a=rf(s);a.isIPV6===!0?s=`[${a.escapedHost}]`:s=nf(s,!1)}e.push(s)}return(typeof n.port=="number"||typeof n.port=="string")&&(e.push(":"),e.push(String(n.port))),e.length?e.join(""):void 0}of.exports={nonSimpleDomain:ay,recomposeAuthority:wy,reescapeHostDelimiters:nf,normalizePercentEncoding:gy,normalizePathEncoding:my,escapePreservingEscapes:yy,removeDotSegments:cy,isIPv4:Af,isUUID:oy,normalizeIPv6:rf,stringArrayToHexStripped:L0}});var ff=me((t6,lf)=>{"use strict";var{isUUID:vy}=U0(),by=/([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu,_y=["http","https","ws","wss","urn","urn:uuid"];function Ey(n){return _y.indexOf(n)!==-1}function G0(n){return n.secure===!0?!0:n.secure===!1?!1:n.scheme?n.scheme.length===3&&(n.scheme[0]==="w"||n.scheme[0]==="W")&&(n.scheme[1]==="s"||n.scheme[1]==="S")&&(n.scheme[2]==="s"||n.scheme[2]==="S"):!1}function sf(n){return n.host||(n.error=n.error||"HTTP URIs must have a host."),n}function af(n){let e=String(n.scheme).toLowerCase()==="https";return(n.port===(e?443:80)||n.port==="")&&(n.port=void 0),n.path||(n.path="/"),n}function $y(n){return n.secure=G0(n),n.resourceName=(n.path||"/")+(n.query?"?"+n.query:""),n.path=void 0,n.query=void 0,n}function ky(n){if((n.port===(G0(n)?443:80)||n.port==="")&&(n.port=void 0),typeof n.secure=="boolean"&&(n.scheme=n.secure?"wss":"ws",n.secure=void 0),n.resourceName){let[e,s]=n.resourceName.split("?");n.path=e&&e!=="/"?e:void 0,n.query=s,n.resourceName=void 0}return n.fragment=void 0,n}function xy(n,e){if(!n.path)return n.error="URN can not be parsed",n;let s=n.path.match(by);if(s){let a=e.scheme||n.scheme||"urn";n.nid=s[1].toLowerCase(),n.nss=s[2];let c=`${a}:${e.nid||n.nid}`,h=F0(c);n.path=void 0,h&&(n=h.parse(n,e))}else n.error=n.error||"URN can not be parsed.";return n}function Sy(n,e){if(n.nid===void 0)throw new Error("URN without nid cannot be serialized");let s=e.scheme||n.scheme||"urn",a=n.nid.toLowerCase(),c=`${s}:${e.nid||a}`,h=F0(c);h&&(n=h.serialize(n,e));let g=n,m=n.nss;return g.path=`${a||e.nid}:${m}`,e.skipEscape=!0,g}function By(n,e){let s=n;return s.uuid=s.nss,s.nss=void 0,!e.tolerant&&(!s.uuid||!vy(s.uuid))&&(s.error=s.error||"UUID is not valid."),s}function Py(n){let e=n;return e.nss=(n.uuid||"").toLowerCase(),e}var uf={scheme:"http",domainHost:!0,parse:sf,serialize:af},Dy={scheme:"https",domainHost:uf.domainHost,parse:sf,serialize:af},Ti={scheme:"ws",domainHost:!0,parse:$y,serialize:ky},Cy={scheme:"wss",domainHost:Ti.domainHost,parse:Ti.parse,serialize:Ti.serialize},Ty={scheme:"urn",parse:xy,serialize:Sy,skipNormalize:!0},Oy={scheme:"urn:uuid",parse:By,serialize:Py,skipNormalize:!0},Oi={http:uf,https:Dy,ws:Ti,wss:Cy,urn:Ty,"urn:uuid":Oy};Object.setPrototypeOf(Oi,null);function F0(n){return n&&(Oi[n]||Oi[n.toLowerCase()])||void 0}lf.exports={wsIsSecure:G0,SCHEMES:Oi,isValidSchemeName:Ey,getSchemeHandler:F0}});var mf=me((r6,ji)=>{"use strict";var{normalizeIPv6:jy,removeDotSegments:On,recomposeAuthority:Ny,normalizePercentEncoding:My,normalizePathEncoding:Ry,escapePreservingEscapes:Iy,reescapeHostDelimiters:Hy,isIPv4:Qy,nonSimpleDomain:qy}=U0(),{SCHEMES:Ly,getSchemeHandler:df}=ff();function Uy(n,e){return typeof n=="string"?n=Ky(n,e):typeof n=="object"&&(n=Ur(hr(n,e),e)),n}function Gy(n,e,s){let a=s?Object.assign({scheme:"null"},s):{scheme:"null"},c=hf(Ur(n,a),Ur(e,a),a,!0);return a.skipEscape=!0,hr(c,a)}function hf(n,e,s,a){let c={};return a||(n=Ur(hr(n,s),s),e=Ur(hr(e,s),s)),s=s||{},!s.tolerant&&e.scheme?(c.scheme=e.scheme,c.userinfo=e.userinfo,c.host=e.host,c.port=e.port,c.path=On(e.path||""),c.query=e.query):(e.userinfo!==void 0||e.host!==void 0||e.port!==void 0?(c.userinfo=e.userinfo,c.host=e.host,c.port=e.port,c.path=On(e.path||""),c.query=e.query):(e.path?(e.path[0]==="/"?c.path=On(e.path):((n.userinfo!==void 0||n.host!==void 0||n.port!==void 0)&&!n.path?c.path="/"+e.path:n.path?c.path=n.path.slice(0,n.path.lastIndexOf("/")+1)+e.path:c.path=e.path,c.path=On(c.path)),c.query=e.query):(c.path=n.path,e.query!==void 0?c.query=e.query:c.query=n.query),c.userinfo=n.userinfo,c.host=n.host,c.port=n.port),c.scheme=n.scheme),c.fragment=e.fragment,c}function Fy(n,e,s){let a=cf(n,s),c=cf(e,s);return a!==void 0&&c!==void 0&&a.toLowerCase()===c.toLowerCase()}function hr(n,e){let s={host:n.host,scheme:n.scheme,userinfo:n.userinfo,port:n.port,path:n.path,query:n.query,nid:n.nid,nss:n.nss,uuid:n.uuid,fragment:n.fragment,reference:n.reference,resourceName:n.resourceName,secure:n.secure,error:""},a=Object.assign({},e),c=[],h=df(a.scheme||s.scheme);h&&h.serialize&&h.serialize(s,a),s.path!==void 0&&(a.skipEscape?s.path=My(s.path):(s.path=Iy(s.path),s.scheme!==void 0&&(s.path=s.path.split("%3A").join(":")))),a.reference!=="suffix"&&s.scheme&&c.push(s.scheme,":");let g=Ny(s);if(g!==void 0&&(a.reference!=="suffix"&&c.push("//"),c.push(g),s.path&&s.path[0]!=="/"&&c.push("/")),s.path!==void 0){let m=s.path;!a.absolutePath&&(!h||!h.absolutePath)&&(m=On(m)),g===void 0&&m[0]==="/"&&m[1]==="/"&&(m="/%2F"+m.slice(2)),c.push(m)}return s.query!==void 0&&c.push("?",s.query),s.fragment!==void 0&&c.push("#",s.fragment),c.join("")}var Vy=/^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u;function zy(n,e){if(e[2]!==void 0&&n.path&&n.path[0]!=="/")return'URI path must start with "/" when authority is present.';if(typeof n.port=="number"&&(n.port<0||n.port>65535))return"URI port is malformed."}function pf(n,e){let s=Object.assign({},e),a={scheme:void 0,userinfo:void 0,host:"",port:void 0,path:"",query:void 0,fragment:void 0},c=!1,h=!1;s.reference==="suffix"&&(s.scheme?n=s.scheme+":"+n:n="//"+n);let g=n.match(Vy);if(g){a.scheme=g[1],a.userinfo=g[3],a.host=g[4],a.port=parseInt(g[5],10),a.path=g[6]||"",a.query=g[7],a.fragment=g[8],isNaN(a.port)&&(a.port=g[5]);let m=zy(a,g);if(m!==void 0&&(a.error=a.error||m,c=!0),a.host)if(Qy(a.host)===!1){let w=jy(a.host);a.host=w.host.toLowerCase(),h=w.isIPV6}else h=!0;a.scheme===void 0&&a.userinfo===void 0&&a.host===void 0&&a.port===void 0&&a.query===void 0&&!a.path?a.reference="same-document":a.scheme===void 0?a.reference="relative":a.fragment===void 0?a.reference="absolute":a.reference="uri",s.reference&&s.reference!=="suffix"&&s.reference!==a.reference&&(a.error=a.error||"URI is not a "+s.reference+" reference.");let v=df(s.scheme||a.scheme);if(!s.unicodeSupport&&(!v||!v.unicodeSupport)&&a.host&&(s.domainHost||v&&v.domainHost)&&h===!1&&qy(a.host))try{a.host=URL.domainToASCII(a.host.toLowerCase())}catch(b){a.error=a.error||"Host's domain name can not be converted to ASCII: "+b}if((!v||v&&!v.skipNormalize)&&(n.indexOf("%")!==-1&&(a.scheme!==void 0&&(a.scheme=unescape(a.scheme)),a.host!==void 0&&(a.host=Hy(unescape(a.host),h))),a.path&&(a.path=Ry(a.path)),a.fragment))try{a.fragment=encodeURI(decodeURIComponent(a.fragment))}catch{a.error=a.error||"URI malformed"}v&&v.parse&&v.parse(a,s)}else a.error=a.error||"URI can not be parsed.";return{parsed:a,malformedAuthorityOrPort:c}}function Ur(n,e){return pf(n,e).parsed}function Ky(n,e){return gf(n,e).normalized}function gf(n,e){let{parsed:s,malformedAuthorityOrPort:a}=pf(n,e);return{normalized:a?n:hr(s,e),malformedAuthorityOrPort:a}}function cf(n,e){if(typeof n=="string"){let{normalized:s,malformedAuthorityOrPort:a}=gf(n,e);return a?void 0:s}if(typeof n=="object")return hr(n,e)}var V0={SCHEMES:Ly,normalize:Uy,resolve:Gy,resolveComponent:hf,equal:Fy,serialize:hr,parse:Ur};ji.exports=V0;ji.exports.default=V0;ji.exports.fastUri=V0});var wf=me(z0=>{"use strict";Object.defineProperty(z0,"__esModule",{value:!0});var yf=mf();yf.code='require("ajv/dist/runtime/uri").default';z0.default=yf});var Sf=me(SA=>{"use strict";Object.defineProperty(SA,"__esModule",{value:!0});SA.CodeGen=SA.Name=SA.nil=SA.stringify=SA.str=SA._=SA.KeywordCxt=void 0;var Yy=Dn();Object.defineProperty(SA,"KeywordCxt",{enumerable:!0,get:function(){return Yy.KeywordCxt}});var Gr=Ue();Object.defineProperty(SA,"_",{enumerable:!0,get:function(){return Gr._}});Object.defineProperty(SA,"str",{enumerable:!0,get:function(){return Gr.str}});Object.defineProperty(SA,"stringify",{enumerable:!0,get:function(){return Gr.stringify}});Object.defineProperty(SA,"nil",{enumerable:!0,get:function(){return Gr.nil}});Object.defineProperty(SA,"Name",{enumerable:!0,get:function(){return Gr.Name}});Object.defineProperty(SA,"CodeGen",{enumerable:!0,get:function(){return Gr.CodeGen}});var Wy=Di(),$f=Cn(),Jy=b0(),jn=Tn(),Zy=Ue(),Nn=Sn(),Ni=xn(),Y0=Ke(),vf=Xl(),Xy=wf(),kf=(n,e)=>new RegExp(n,e);kf.code="new RegExp";var ew=["removeAdditional","useDefaults","coerceTypes"],Aw=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),tw={errorDataPath:"",format:"`validateFormats: false` can be used instead.",nullable:'"nullable" keyword is supported by default.',jsonPointers:"Deprecated jsPropertySyntax can be used instead.",extendRefs:"Deprecated ignoreKeywordsWithRef can be used instead.",missingRefs:"Pass empty schema with $id that should be ignored to ajv.addSchema.",processCode:"Use option `code: {process: (code, schemaEnv: object) => string}`",sourceCode:"Use option `code: {source: true}`",strictDefaults:"It is default now, see option `strict`.",strictKeywords:"It is default now, see option `strict`.",uniqueItems:'"uniqueItems" keyword is always validated.',unknownFormats:"Disable strict mode or pass `true` to `ajv.addFormat` (or `formats` option).",cache:"Map is used as cache, schema object as key.",serialize:"Map is used as cache, schema object as key.",ajvErrors:"It is default now."},rw={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},bf=200;function nw(n){var e,s,a,c,h,g,m,v,b,w,E,$,k,T,x,M,N,q,L,G,V,Y,fe,K,X;let ye=n.strict,le=(e=n.code)===null||e===void 0?void 0:e.optimize,D=le===!0||le===void 0?1:le||0,B=(a=(s=n.code)===null||s===void 0?void 0:s.regExp)!==null&&a!==void 0?a:kf,C=(c=n.uriResolver)!==null&&c!==void 0?c:Xy.default;return{strictSchema:(g=(h=n.strictSchema)!==null&&h!==void 0?h:ye)!==null&&g!==void 0?g:!0,strictNumbers:(v=(m=n.strictNumbers)!==null&&m!==void 0?m:ye)!==null&&v!==void 0?v:!0,strictTypes:(w=(b=n.strictTypes)!==null&&b!==void 0?b:ye)!==null&&w!==void 0?w:"log",strictTuples:($=(E=n.strictTuples)!==null&&E!==void 0?E:ye)!==null&&$!==void 0?$:"log",strictRequired:(T=(k=n.strictRequired)!==null&&k!==void 0?k:ye)!==null&&T!==void 0?T:!1,code:n.code?{...n.code,optimize:D,regExp:B}:{optimize:D,regExp:B},loopRequired:(x=n.loopRequired)!==null&&x!==void 0?x:bf,loopEnum:(M=n.loopEnum)!==null&&M!==void 0?M:bf,meta:(N=n.meta)!==null&&N!==void 0?N:!0,messages:(q=n.messages)!==null&&q!==void 0?q:!0,inlineRefs:(L=n.inlineRefs)!==null&&L!==void 0?L:!0,schemaId:(G=n.schemaId)!==null&&G!==void 0?G:"$id",addUsedSchema:(V=n.addUsedSchema)!==null&&V!==void 0?V:!0,validateSchema:(Y=n.validateSchema)!==null&&Y!==void 0?Y:!0,validateFormats:(fe=n.validateFormats)!==null&&fe!==void 0?fe:!0,unicodeRegExp:(K=n.unicodeRegExp)!==null&&K!==void 0?K:!0,int32range:(X=n.int32range)!==null&&X!==void 0?X:!0,uriResolver:C}}var Mn=class{constructor(e={}){this.schemas={},this.refs={},this.formats=Object.create(null),this._compilations=new Set,this._loading={},this._cache=new Map,e=this.opts={...e,...nw(e)};let{es5:s,lines:a}=this.opts.code;this.scope=new Zy.ValueScope({scope:{},prefixes:Aw,es5:s,lines:a}),this.logger=lw(e.logger);let c=e.validateFormats;e.validateFormats=!1,this.RULES=(0,Jy.getRules)(),_f.call(this,tw,e,"NOT SUPPORTED"),_f.call(this,rw,e,"DEPRECATED","warn"),this._metaOpts=aw.call(this),e.formats&&ow.call(this),this._addVocabularies(),this._addDefaultMetaSchema(),e.keywords&&sw.call(this,e.keywords),typeof e.meta=="object"&&this.addMetaSchema(e.meta),iw.call(this),e.validateFormats=c}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){let{$data:e,meta:s,schemaId:a}=this.opts,c=vf;a==="id"&&(c={...vf},c.id=c.$id,delete c.$id),s&&e&&this.addMetaSchema(c,c[a],!1)}defaultMeta(){let{meta:e,schemaId:s}=this.opts;return this.opts.defaultMeta=typeof e=="object"?e[s]||e:void 0}validate(e,s){let a;if(typeof e=="string"){if(a=this.getSchema(e),!a)throw new Error(`no schema with key or ref "${e}"`)}else a=this.compile(e);let c=a(s);return"$async"in a||(this.errors=a.errors),c}compile(e,s){let a=this._addSchema(e,s);return a.validate||this._compileSchemaEnv(a)}compileAsync(e,s){if(typeof this.opts.loadSchema!="function")throw new Error("options.loadSchema should be a function");let{loadSchema:a}=this.opts;return c.call(this,e,s);async function c(w,E){await h.call(this,w.$schema);let $=this._addSchema(w,E);return $.validate||g.call(this,$)}async function h(w){w&&!this.getSchema(w)&&await c.call(this,{$ref:w},!0)}async function g(w){try{return this._compileSchemaEnv(w)}catch(E){if(!(E instanceof $f.default))throw E;return m.call(this,E),await v.call(this,E.missingSchema),g.call(this,w)}}function m({missingSchema:w,missingRef:E}){if(this.refs[w])throw new Error(`AnySchema ${w} is loaded but ${E} cannot be resolved`)}async function v(w){let E=await b.call(this,w);this.refs[w]||await h.call(this,E.$schema),this.refs[w]||this.addSchema(E,w,s)}async function b(w){let E=this._loading[w];if(E)return E;try{return await(this._loading[w]=a(w))}finally{delete this._loading[w]}}}addSchema(e,s,a,c=this.opts.validateSchema){if(Array.isArray(e)){for(let g of e)this.addSchema(g,void 0,a,c);return this}let h;if(typeof e=="object"){let{schemaId:g}=this.opts;if(h=e[g],h!==void 0&&typeof h!="string")throw new Error(`schema ${g} must be string`)}return s=(0,Nn.normalizeId)(s||h),this._checkUnique(s),this.schemas[s]=this._addSchema(e,a,s,c,!0),this}addMetaSchema(e,s,a=this.opts.validateSchema){return this.addSchema(e,s,!0,a),this}validateSchema(e,s){if(typeof e=="boolean")return!0;let a;if(a=e.$schema,a!==void 0&&typeof a!="string")throw new Error("$schema must be a string");if(a=a||this.opts.defaultMeta||this.defaultMeta(),!a)return this.logger.warn("meta-schema not available"),this.errors=null,!0;let c=this.validate(a,e);if(!c&&s){let h="schema is invalid: "+this.errorsText();if(this.opts.validateSchema==="log")this.logger.error(h);else throw new Error(h)}return c}getSchema(e){let s;for(;typeof(s=Ef.call(this,e))=="string";)e=s;if(s===void 0){let{schemaId:a}=this.opts,c=new jn.SchemaEnv({schema:{},schemaId:a});if(s=jn.resolveSchema.call(this,c,e),!s)return;this.refs[e]=s}return s.validate||this._compileSchemaEnv(s)}removeSchema(e){if(e instanceof RegExp)return this._removeAllSchemas(this.schemas,e),this._removeAllSchemas(this.refs,e),this;switch(typeof e){case"undefined":return this._removeAllSchemas(this.schemas),this._removeAllSchemas(this.refs),this._cache.clear(),this;case"string":{let s=Ef.call(this,e);return typeof s=="object"&&this._cache.delete(s.schema),delete this.schemas[e],delete this.refs[e],this}case"object":{let s=e;this._cache.delete(s);let a=e[this.opts.schemaId];return a&&(a=(0,Nn.normalizeId)(a),delete this.schemas[a],delete this.refs[a]),this}default:throw new Error("ajv.removeSchema: invalid parameter")}}addVocabulary(e){for(let s of e)this.addKeyword(s);return this}addKeyword(e,s){let a;if(typeof e=="string")a=e,typeof s=="object"&&(this.logger.warn("these parameters are deprecated, see docs for addKeyword"),s.keyword=a);else if(typeof e=="object"&&s===void 0){if(s=e,a=s.keyword,Array.isArray(a)&&!a.length)throw new Error("addKeywords: keyword must be string or non-empty array")}else throw new Error("invalid addKeywords parameters");if(cw.call(this,a,s),!s)return(0,Y0.eachItem)(a,h=>K0.call(this,h)),this;hw.call(this,s);let c={...s,type:(0,Ni.getJSONTypes)(s.type),schemaType:(0,Ni.getJSONTypes)(s.schemaType)};return(0,Y0.eachItem)(a,c.type.length===0?h=>K0.call(this,h,c):h=>c.type.forEach(g=>K0.call(this,h,c,g))),this}getKeyword(e){let s=this.RULES.all[e];return typeof s=="object"?s.definition:!!s}removeKeyword(e){let{RULES:s}=this;delete s.keywords[e],delete s.all[e];for(let a of s.rules){let c=a.rules.findIndex(h=>h.keyword===e);c>=0&&a.rules.splice(c,1)}return this}addFormat(e,s){return typeof s=="string"&&(s=new RegExp(s)),this.formats[e]=s,this}errorsText(e=this.errors,{separator:s=", ",dataVar:a="data"}={}){return!e||e.length===0?"No errors":e.map(c=>`${a}${c.instancePath} ${c.message}`).reduce((c,h)=>c+s+h)}$dataMetaSchema(e,s){let a=this.RULES.all;e=JSON.parse(JSON.stringify(e));for(let c of s){let h=c.split("/").slice(1),g=e;for(let m of h)g=g[m];for(let m in a){let v=a[m];if(typeof v!="object")continue;let{$data:b}=v.definition,w=g[m];b&&w&&(g[m]=xf(w))}}return e}_removeAllSchemas(e,s){for(let a in e){let c=e[a];(!s||s.test(a))&&(typeof c=="string"?delete e[a]:c&&!c.meta&&(this._cache.delete(c.schema),delete e[a]))}}_addSchema(e,s,a,c=this.opts.validateSchema,h=this.opts.addUsedSchema){let g,{schemaId:m}=this.opts;if(typeof e=="object")g=e[m];else{if(this.opts.jtd)throw new Error("schema must be object");if(typeof e!="boolean")throw new Error("schema must be object or boolean")}let v=this._cache.get(e);if(v!==void 0)return v;a=(0,Nn.normalizeId)(g||a);let b=Nn.getSchemaRefs.call(this,e,a);return v=new jn.SchemaEnv({schema:e,schemaId:m,meta:s,baseId:a,localRefs:b}),this._cache.set(v.schema,v),h&&!a.startsWith("#")&&(a&&this._checkUnique(a),this.refs[a]=v),c&&this.validateSchema(e,!0),v}_checkUnique(e){if(this.schemas[e]||this.refs[e])throw new Error(`schema with key or id "${e}" already exists`)}_compileSchemaEnv(e){if(e.meta?this._compileMetaSchema(e):jn.compileSchema.call(this,e),!e.validate)throw new Error("ajv implementation error");return e.validate}_compileMetaSchema(e){let s=this.opts;this.opts=this._metaOpts;try{jn.compileSchema.call(this,e)}finally{this.opts=s}}};Mn.ValidationError=Wy.default;Mn.MissingRefError=$f.default;SA.default=Mn;function _f(n,e,s,a="error"){for(let c in n){let h=c;h in e&&this.logger[a](`${s}: option ${c}. ${n[h]}`)}}function Ef(n){return n=(0,Nn.normalizeId)(n),this.schemas[n]||this.refs[n]}function iw(){let n=this.opts.schemas;if(n)if(Array.isArray(n))this.addSchema(n);else for(let e in n)this.addSchema(n[e],e)}function ow(){for(let n in this.opts.formats){let e=this.opts.formats[n];e&&this.addFormat(n,e)}}function sw(n){if(Array.isArray(n)){this.addVocabulary(n);return}this.logger.warn("keywords option as map is deprecated, pass array");for(let e in n){let s=n[e];s.keyword||(s.keyword=e),this.addKeyword(s)}}function aw(){let n={...this.opts};for(let e of ew)delete n[e];return n}var uw={log(){},warn(){},error(){}};function lw(n){if(n===!1)return uw;if(n===void 0)return console;if(n.log&&n.warn&&n.error)return n;throw new Error("logger must implement log, warn and error methods")}var fw=/^[a-z_$][a-z0-9_$:-]*$/i;function cw(n,e){let{RULES:s}=this;if((0,Y0.eachItem)(n,a=>{if(s.keywords[a])throw new Error(`Keyword ${a} is already defined`);if(!fw.test(a))throw new Error(`Keyword ${a} has invalid name`)}),!!e&&e.$data&&!("code"in e||"validate"in e))throw new Error('$data keyword must have "code" or "validate" function')}function K0(n,e,s){var a;let c=e?.post;if(s&&c)throw new Error('keyword with "post" flag cannot have "type"');let{RULES:h}=this,g=c?h.post:h.rules.find(({type:v})=>v===s);if(g||(g={type:s,rules:[]},h.rules.push(g)),h.keywords[n]=!0,!e)return;let m={keyword:n,definition:{...e,type:(0,Ni.getJSONTypes)(e.type),schemaType:(0,Ni.getJSONTypes)(e.schemaType)}};e.before?dw.call(this,g,m,e.before):g.rules.push(m),h.all[n]=m,(a=e.implements)===null||a===void 0||a.forEach(v=>this.addKeyword(v))}function dw(n,e,s){let a=n.rules.findIndex(c=>c.keyword===s);a>=0?n.rules.splice(a,0,e):(n.rules.push(e),this.logger.warn(`rule ${s} is not defined`))}function hw(n){let{metaSchema:e}=n;e!==void 0&&(n.$data&&this.opts.$data&&(e=xf(e)),n.validateSchema=this.compile(e,!0))}var pw={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function xf(n){return{anyOf:[n,pw]}}});var Bf=me(W0=>{"use strict";Object.defineProperty(W0,"__esModule",{value:!0});var gw={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};W0.default=gw});var Ii=me(pr=>{"use strict";Object.defineProperty(pr,"__esModule",{value:!0});pr.callRef=pr.getValidate=void 0;var mw=Cn(),Pf=nt(),YA=Ue(),Fr=rt(),Df=Tn(),Mi=Ke(),yw={keyword:"$ref",schemaType:"string",code(n){let{gen:e,schema:s,it:a}=n,{baseId:c,schemaEnv:h,validateName:g,opts:m,self:v}=a,{root:b}=h;if((s==="#"||s==="#/")&&c===b.baseId)return E();let w=Df.resolveRef.call(v,b,c,s);if(w===void 0)throw new mw.default(a.opts.uriResolver,c,s);if(w instanceof Df.SchemaEnv)return $(w);return k(w);function E(){if(h===b)return Ri(n,g,h,h.$async);let T=e.scopeValue("root",{ref:b});return Ri(n,(0,YA._)`${T}.validate`,b,b.$async)}function $(T){let x=Cf(n,T);Ri(n,x,T,T.$async)}function k(T){let x=e.scopeValue("schema",m.code.source===!0?{ref:T,code:(0,YA.stringify)(T)}:{ref:T}),M=e.name("valid"),N=n.subschema({schema:T,dataTypes:[],schemaPath:YA.nil,topSchemaRef:x,errSchemaPath:s},M);n.mergeEvaluated(N),n.ok(M)}}};function Cf(n,e){let{gen:s}=n;return e.validate?s.scopeValue("validate",{ref:e.validate}):(0,YA._)`${s.scopeValue("wrapper",{ref:e})}.validate`}pr.getValidate=Cf;function Ri(n,e,s,a){let{gen:c,it:h}=n,{allErrors:g,schemaEnv:m,opts:v}=h,b=v.passContext?Fr.default.this:YA.nil;a?w():E();function w(){if(!m.$async)throw new Error("async schema referenced by sync schema");let T=c.let("valid");c.try(()=>{c.code((0,YA._)`await ${(0,Pf.callValidateCode)(n,e,b)}`),k(e),g||c.assign(T,!0)},x=>{c.if((0,YA._)`!(${x} instanceof ${h.ValidationError})`,()=>c.throw(x)),$(x),g||c.assign(T,!1)}),n.ok(T)}function E(){n.result((0,Pf.callValidateCode)(n,e,b),()=>k(e),()=>$(e))}function $(T){let x=(0,YA._)`${T}.errors`;c.assign(Fr.default.vErrors,(0,YA._)`${Fr.default.vErrors} === null ? ${x} : ${Fr.default.vErrors}.concat(${x})`),c.assign(Fr.default.errors,(0,YA._)`${Fr.default.vErrors}.length`)}function k(T){var x;if(!h.opts.unevaluated)return;let M=(x=s?.validate)===null||x===void 0?void 0:x.evaluated;if(h.props!==!0)if(M&&!M.dynamicProps)M.props!==void 0&&(h.props=Mi.mergeEvaluated.props(c,M.props,h.props));else{let N=c.var("props",(0,YA._)`${T}.evaluated.props`);h.props=Mi.mergeEvaluated.props(c,N,h.props,YA.Name)}if(h.items!==!0)if(M&&!M.dynamicItems)M.items!==void 0&&(h.items=Mi.mergeEvaluated.items(c,M.items,h.items));else{let N=c.var("items",(0,YA._)`${T}.evaluated.items`);h.items=Mi.mergeEvaluated.items(c,N,h.items,YA.Name)}}}pr.callRef=Ri;pr.default=yw});var Tf=me(J0=>{"use strict";Object.defineProperty(J0,"__esModule",{value:!0});var ww=Bf(),vw=Ii(),bw=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",ww.default,vw.default];J0.default=bw});var Of=me(Z0=>{"use strict";Object.defineProperty(Z0,"__esModule",{value:!0});var Hi=Ue(),zt=Hi.operators,Qi={maximum:{okStr:"<=",ok:zt.LTE,fail:zt.GT},minimum:{okStr:">=",ok:zt.GTE,fail:zt.LT},exclusiveMaximum:{okStr:"<",ok:zt.LT,fail:zt.GTE},exclusiveMinimum:{okStr:">",ok:zt.GT,fail:zt.LTE}},_w={message:({keyword:n,schemaCode:e})=>(0,Hi.str)`must be ${Qi[n].okStr} ${e}`,params:({keyword:n,schemaCode:e})=>(0,Hi._)`{comparison: ${Qi[n].okStr}, limit: ${e}}`},Ew={keyword:Object.keys(Qi),type:"number",schemaType:"number",$data:!0,error:_w,code(n){let{keyword:e,data:s,schemaCode:a}=n;n.fail$data((0,Hi._)`${s} ${Qi[e].fail} ${a} || isNaN(${s})`)}};Z0.default=Ew});var jf=me(X0=>{"use strict";Object.defineProperty(X0,"__esModule",{value:!0});var Rn=Ue(),$w={message:({schemaCode:n})=>(0,Rn.str)`must be multiple of ${n}`,params:({schemaCode:n})=>(0,Rn._)`{multipleOf: ${n}}`},kw={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:$w,code(n){let{gen:e,data:s,schemaCode:a,it:c}=n,h=c.opts.multipleOfPrecision,g=e.let("res"),m=h?(0,Rn._)`Math.abs(Math.round(${g}) - ${g}) > 1e-${h}`:(0,Rn._)`${g} !== parseInt(${g})`;n.fail$data((0,Rn._)`(${a} === 0 || (${g} = ${s}/${a}, ${m}))`)}};X0.default=kw});var Mf=me(es=>{"use strict";Object.defineProperty(es,"__esModule",{value:!0});function Nf(n){let e=n.length,s=0,a=0,c;for(;a<e;)s++,c=n.charCodeAt(a++),c>=55296&&c<=56319&&a<e&&(c=n.charCodeAt(a),(c&64512)===56320&&a++);return s}es.default=Nf;Nf.code='require("ajv/dist/runtime/ucs2length").default'});var Rf=me(As=>{"use strict";Object.defineProperty(As,"__esModule",{value:!0});var gr=Ue(),xw=Ke(),Sw=Mf(),Bw={message({keyword:n,schemaCode:e}){let s=n==="maxLength"?"more":"fewer";return(0,gr.str)`must NOT have ${s} than ${e} characters`},params:({schemaCode:n})=>(0,gr._)`{limit: ${n}}`},Pw={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:Bw,code(n){let{keyword:e,data:s,schemaCode:a,it:c}=n,h=e==="maxLength"?gr.operators.GT:gr.operators.LT,g=c.opts.unicode===!1?(0,gr._)`${s}.length`:(0,gr._)`${(0,xw.useFunc)(n.gen,Sw.default)}(${s})`;n.fail$data((0,gr._)`${g} ${h} ${a}`)}};As.default=Pw});var If=me(ts=>{"use strict";Object.defineProperty(ts,"__esModule",{value:!0});var Dw=nt(),Cw=Ke(),Vr=Ue(),Tw={message:({schemaCode:n})=>(0,Vr.str)`must match pattern "${n}"`,params:({schemaCode:n})=>(0,Vr._)`{pattern: ${n}}`},Ow={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:Tw,code(n){let{gen:e,data:s,$data:a,schema:c,schemaCode:h,it:g}=n,m=g.opts.unicodeRegExp?"u":"";if(a){let{regExp:v}=g.opts.code,b=v.code==="new RegExp"?(0,Vr._)`new RegExp`:(0,Cw.useFunc)(e,v),w=e.let("valid");e.try(()=>e.assign(w,(0,Vr._)`${b}(${h}, ${m}).test(${s})`),()=>e.assign(w,!1)),n.fail$data((0,Vr._)`!${w}`)}else{let v=(0,Dw.usePattern)(n,c);n.fail$data((0,Vr._)`!${v}.test(${s})`)}}};ts.default=Ow});var Hf=me(rs=>{"use strict";Object.defineProperty(rs,"__esModule",{value:!0});var In=Ue(),jw={message({keyword:n,schemaCode:e}){let s=n==="maxProperties"?"more":"fewer";return(0,In.str)`must NOT have ${s} than ${e} properties`},params:({schemaCode:n})=>(0,In._)`{limit: ${n}}`},Nw={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:jw,code(n){let{keyword:e,data:s,schemaCode:a}=n,c=e==="maxProperties"?In.operators.GT:In.operators.LT;n.fail$data((0,In._)`Object.keys(${s}).length ${c} ${a}`)}};rs.default=Nw});var Qf=me(ns=>{"use strict";Object.defineProperty(ns,"__esModule",{value:!0});var Hn=nt(),Qn=Ue(),Mw=Ke(),Rw={message:({params:{missingProperty:n}})=>(0,Qn.str)`must have required property '${n}'`,params:({params:{missingProperty:n}})=>(0,Qn._)`{missingProperty: ${n}}`},Iw={keyword:"required",type:"object",schemaType:"array",$data:!0,error:Rw,code(n){let{gen:e,schema:s,schemaCode:a,data:c,$data:h,it:g}=n,{opts:m}=g;if(!h&&s.length===0)return;let v=s.length>=m.loopRequired;if(g.allErrors?b():w(),m.strictRequired){let k=n.parentSchema.properties,{definedProperties:T}=n.it;for(let x of s)if(k?.[x]===void 0&&!T.has(x)){let M=g.schemaEnv.baseId+g.errSchemaPath,N=`required property "${x}" is not defined at "${M}" (strictRequired)`;(0,Mw.checkStrictMode)(g,N,g.opts.strictRequired)}}function b(){if(v||h)n.block$data(Qn.nil,E);else for(let k of s)(0,Hn.checkReportMissingProp)(n,k)}function w(){let k=e.let("missing");if(v||h){let T=e.let("valid",!0);n.block$data(T,()=>$(k,T)),n.ok(T)}else e.if((0,Hn.checkMissingProp)(n,s,k)),(0,Hn.reportMissingProp)(n,k),e.else()}function E(){e.forOf("prop",a,k=>{n.setParams({missingProperty:k}),e.if((0,Hn.noPropertyInData)(e,c,k,m.ownProperties),()=>n.error())})}function $(k,T){n.setParams({missingProperty:k}),e.forOf(k,a,()=>{e.assign(T,(0,Hn.propertyInData)(e,c,k,m.ownProperties)),e.if((0,Qn.not)(T),()=>{n.error(),e.break()})},Qn.nil)}}};ns.default=Iw});var qf=me(is=>{"use strict";Object.defineProperty(is,"__esModule",{value:!0});var qn=Ue(),Hw={message({keyword:n,schemaCode:e}){let s=n==="maxItems"?"more":"fewer";return(0,qn.str)`must NOT have ${s} than ${e} items`},params:({schemaCode:n})=>(0,qn._)`{limit: ${n}}`},Qw={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:Hw,code(n){let{keyword:e,data:s,schemaCode:a}=n,c=e==="maxItems"?qn.operators.GT:qn.operators.LT;n.fail$data((0,qn._)`${s}.length ${c} ${a}`)}};is.default=Qw});var qi=me(os=>{"use strict";Object.defineProperty(os,"__esModule",{value:!0});var Lf=P0();Lf.code='require("ajv/dist/runtime/equal").default';os.default=Lf});var Uf=me(as=>{"use strict";Object.defineProperty(as,"__esModule",{value:!0});var ss=xn(),BA=Ue(),qw=Ke(),Lw=qi(),Uw={message:({params:{i:n,j:e}})=>(0,BA.str)`must NOT have duplicate items (items ## ${e} and ${n} are identical)`,params:({params:{i:n,j:e}})=>(0,BA._)`{i: ${n}, j: ${e}}`},Gw={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:Uw,code(n){let{gen:e,data:s,$data:a,schema:c,parentSchema:h,schemaCode:g,it:m}=n;if(!a&&!c)return;let v=e.let("valid"),b=h.items?(0,ss.getSchemaTypes)(h.items):[];n.block$data(v,w,(0,BA._)`${g} === false`),n.ok(v);function w(){let T=e.let("i",(0,BA._)`${s}.length`),x=e.let("j");n.setParams({i:T,j:x}),e.assign(v,!0),e.if((0,BA._)`${T} > 1`,()=>(E()?$:k)(T,x))}function E(){return b.length>0&&!b.some(T=>T==="object"||T==="array")}function $(T,x){let M=e.name("item"),N=(0,ss.checkDataTypes)(b,M,m.opts.strictNumbers,ss.DataType.Wrong),q=e.const("indices",(0,BA._)`{}`);e.for((0,BA._)`;${T}--;`,()=>{e.let(M,(0,BA._)`${s}[${T}]`),e.if(N,(0,BA._)`continue`),b.length>1&&e.if((0,BA._)`typeof ${M} == "string"`,(0,BA._)`${M} += "_"`),e.if((0,BA._)`typeof ${q}[${M}] == "number"`,()=>{e.assign(x,(0,BA._)`${q}[${M}]`),n.error(),e.assign(v,!1).break()}).code((0,BA._)`${q}[${M}] = ${T}`)})}function k(T,x){let M=(0,qw.useFunc)(e,Lw.default),N=e.name("outer");e.label(N).for((0,BA._)`;${T}--;`,()=>e.for((0,BA._)`${x} = ${T}; ${x}--;`,()=>e.if((0,BA._)`${M}(${s}[${T}], ${s}[${x}])`,()=>{n.error(),e.assign(v,!1).break(N)})))}}};as.default=Gw});var Gf=me(ls=>{"use strict";Object.defineProperty(ls,"__esModule",{value:!0});var us=Ue(),Fw=Ke(),Vw=qi(),zw={message:"must be equal to constant",params:({schemaCode:n})=>(0,us._)`{allowedValue: ${n}}`},Kw={keyword:"const",$data:!0,error:zw,code(n){let{gen:e,data:s,$data:a,schemaCode:c,schema:h}=n;a||h&&typeof h=="object"?n.fail$data((0,us._)`!${(0,Fw.useFunc)(e,Vw.default)}(${s}, ${c})`):n.fail((0,us._)`${h} !== ${s}`)}};ls.default=Kw});var Ff=me(fs=>{"use strict";Object.defineProperty(fs,"__esModule",{value:!0});var Ln=Ue(),Yw=Ke(),Ww=qi(),Jw={message:"must be equal to one of the allowed values",params:({schemaCode:n})=>(0,Ln._)`{allowedValues: ${n}}`},Zw={keyword:"enum",schemaType:"array",$data:!0,error:Jw,code(n){let{gen:e,data:s,$data:a,schema:c,schemaCode:h,it:g}=n;if(!a&&c.length===0)throw new Error("enum must have non-empty array");let m=c.length>=g.opts.loopEnum,v,b=()=>v??(v=(0,Yw.useFunc)(e,Ww.default)),w;if(m||a)w=e.let("valid"),n.block$data(w,E);else{if(!Array.isArray(c))throw new Error("ajv implementation error");let k=e.const("vSchema",h);w=(0,Ln.or)(...c.map((T,x)=>$(k,x)))}n.pass(w);function E(){e.assign(w,!1),e.forOf("v",h,k=>e.if((0,Ln._)`${b()}(${s}, ${k})`,()=>e.assign(w,!0).break()))}function $(k,T){let x=c[T];return typeof x=="object"&&x!==null?(0,Ln._)`${b()}(${s}, ${k}[${T}])`:(0,Ln._)`${s} === ${x}`}}};fs.default=Zw});var Vf=me(cs=>{"use strict";Object.defineProperty(cs,"__esModule",{value:!0});var Xw=Of(),ev=jf(),Av=Rf(),tv=If(),rv=Hf(),nv=Qf(),iv=qf(),ov=Uf(),sv=Gf(),av=Ff(),uv=[Xw.default,ev.default,Av.default,tv.default,rv.default,nv.default,iv.default,ov.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},sv.default,av.default];cs.default=uv});var hs=me(Un=>{"use strict";Object.defineProperty(Un,"__esModule",{value:!0});Un.validateAdditionalItems=void 0;var mr=Ue(),ds=Ke(),lv={message:({params:{len:n}})=>(0,mr.str)`must NOT have more than ${n} items`,params:({params:{len:n}})=>(0,mr._)`{limit: ${n}}`},fv={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:lv,code(n){let{parentSchema:e,it:s}=n,{items:a}=e;if(!Array.isArray(a)){(0,ds.checkStrictMode)(s,'"additionalItems" is ignored when "items" is not an array of schemas');return}zf(n,a)}};function zf(n,e){let{gen:s,schema:a,data:c,keyword:h,it:g}=n;g.items=!0;let m=s.const("len",(0,mr._)`${c}.length`);if(a===!1)n.setParams({len:e.length}),n.pass((0,mr._)`${m} <= ${e.length}`);else if(typeof a=="object"&&!(0,ds.alwaysValidSchema)(g,a)){let b=s.var("valid",(0,mr._)`${m} <= ${e.length}`);s.if((0,mr.not)(b),()=>v(b)),n.ok(b)}function v(b){s.forRange("i",e.length,m,w=>{n.subschema({keyword:h,dataProp:w,dataPropType:ds.Type.Num},b),g.allErrors||s.if((0,mr.not)(b),()=>s.break())})}}Un.validateAdditionalItems=zf;Un.default=fv});var ps=me(Gn=>{"use strict";Object.defineProperty(Gn,"__esModule",{value:!0});Gn.validateTuple=void 0;var Kf=Ue(),Li=Ke(),cv=nt(),dv={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(n){let{schema:e,it:s}=n;if(Array.isArray(e))return Yf(n,"additionalItems",e);s.items=!0,!(0,Li.alwaysValidSchema)(s,e)&&n.ok((0,cv.validateArray)(n))}};function Yf(n,e,s=n.schema){let{gen:a,parentSchema:c,data:h,keyword:g,it:m}=n;w(c),m.opts.unevaluated&&s.length&&m.items!==!0&&(m.items=Li.mergeEvaluated.items(a,s.length,m.items));let v=a.name("valid"),b=a.const("len",(0,Kf._)`${h}.length`);s.forEach((E,$)=>{(0,Li.alwaysValidSchema)(m,E)||(a.if((0,Kf._)`${b} > ${$}`,()=>n.subschema({keyword:g,schemaProp:$,dataProp:$},v)),n.ok(v))});function w(E){let{opts:$,errSchemaPath:k}=m,T=s.length,x=T===E.minItems&&(T===E.maxItems||E[e]===!1);if($.strictTuples&&!x){let M=`"${g}" is ${T}-tuple, but minItems or maxItems/${e} are not specified or different at path "${k}"`;(0,Li.checkStrictMode)(m,M,$.strictTuples)}}}Gn.validateTuple=Yf;Gn.default=dv});var Wf=me(gs=>{"use strict";Object.defineProperty(gs,"__esModule",{value:!0});var hv=ps(),pv={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:n=>(0,hv.validateTuple)(n,"items")};gs.default=pv});var Zf=me(ms=>{"use strict";Object.defineProperty(ms,"__esModule",{value:!0});var Jf=Ue(),gv=Ke(),mv=nt(),yv=hs(),wv={message:({params:{len:n}})=>(0,Jf.str)`must NOT have more than ${n} items`,params:({params:{len:n}})=>(0,Jf._)`{limit: ${n}}`},vv={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:wv,code(n){let{schema:e,parentSchema:s,it:a}=n,{prefixItems:c}=s;a.items=!0,!(0,gv.alwaysValidSchema)(a,e)&&(c?(0,yv.validateAdditionalItems)(n,c):n.ok((0,mv.validateArray)(n)))}};ms.default=vv});var Xf=me(ys=>{"use strict";Object.defineProperty(ys,"__esModule",{value:!0});var ot=Ue(),Ui=Ke(),bv={message:({params:{min:n,max:e}})=>e===void 0?(0,ot.str)`must contain at least ${n} valid item(s)`:(0,ot.str)`must contain at least ${n} and no more than ${e} valid item(s)`,params:({params:{min:n,max:e}})=>e===void 0?(0,ot._)`{minContains: ${n}}`:(0,ot._)`{minContains: ${n}, maxContains: ${e}}`},_v={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:bv,code(n){let{gen:e,schema:s,parentSchema:a,data:c,it:h}=n,g,m,{minContains:v,maxContains:b}=a;h.opts.next?(g=v===void 0?1:v,m=b):g=1;let w=e.const("len",(0,ot._)`${c}.length`);if(n.setParams({min:g,max:m}),m===void 0&&g===0){(0,Ui.checkStrictMode)(h,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(m!==void 0&&g>m){(0,Ui.checkStrictMode)(h,'"minContains" > "maxContains" is always invalid'),n.fail();return}if((0,Ui.alwaysValidSchema)(h,s)){let x=(0,ot._)`${w} >= ${g}`;m!==void 0&&(x=(0,ot._)`${x} && ${w} <= ${m}`),n.pass(x);return}h.items=!0;let E=e.name("valid");m===void 0&&g===1?k(E,()=>e.if(E,()=>e.break())):g===0?(e.let(E,!0),m!==void 0&&e.if((0,ot._)`${c}.length > 0`,$)):(e.let(E,!1),$()),n.result(E,()=>n.reset());function $(){let x=e.name("_valid"),M=e.let("count",0);k(x,()=>e.if(x,()=>T(M)))}function k(x,M){e.forRange("i",0,w,N=>{n.subschema({keyword:"contains",dataProp:N,dataPropType:Ui.Type.Num,compositeRule:!0},x),M()})}function T(x){e.code((0,ot._)`${x}++`),m===void 0?e.if((0,ot._)`${x} >= ${g}`,()=>e.assign(E,!0).break()):(e.if((0,ot._)`${x} > ${m}`,()=>e.assign(E,!1).break()),g===1?e.assign(E,!0):e.if((0,ot._)`${x} >= ${g}`,()=>e.assign(E,!0)))}}};ys.default=_v});var Gi=me(Et=>{"use strict";Object.defineProperty(Et,"__esModule",{value:!0});Et.validateSchemaDeps=Et.validatePropertyDeps=Et.error=void 0;var ws=Ue(),Ev=Ke(),Fn=nt();Et.error={message:({params:{property:n,depsCount:e,deps:s}})=>{let a=e===1?"property":"properties";return(0,ws.str)`must have ${a} ${s} when property ${n} is present`},params:({params:{property:n,depsCount:e,deps:s,missingProperty:a}})=>(0,ws._)`{property: ${n},
|
|
6
|
+
|| ${g} === "boolean" || ${c} === null`).assign(m,(0,Ge._)`[${c}]`)}}}function Fg({gen:n,parentData:e,parentDataProperty:s},a){n.if((0,Ge._)`${e} !== undefined`,()=>n.assign((0,Ge._)`${e}[${s}]`,a))}function E0(n,e,s,a=Hr.Correct){let c=a===Hr.Correct?Ge.operators.EQ:Ge.operators.NEQ,h;switch(n){case"null":return(0,Ge._)`${e} ${c} null`;case"array":h=(0,Ge._)`Array.isArray(${e})`;break;case"object":h=(0,Ge._)`${e} && typeof ${e} == "object" && !Array.isArray(${e})`;break;case"integer":h=g((0,Ge._)`!(${e} % 1) && !isNaN(${e})`);break;case"number":h=g();break;default:return(0,Ge._)`typeof ${e} ${c} ${n}`}return a===Hr.Correct?h:(0,Ge.not)(h);function g(m=Ge.nil){return(0,Ge.and)((0,Ge._)`typeof ${e} == "number"`,m,s?(0,Ge._)`isFinite(${e})`:Ge.nil)}}jA.checkDataType=E0;function $0(n,e,s,a){if(n.length===1)return E0(n[0],e,s,a);let c,h=(0,wl.toHash)(n);if(h.array&&h.object){let g=(0,Ge._)`typeof ${e} != "object"`;c=h.null?g:(0,Ge._)`!${e} || ${g}`,delete h.null,delete h.array,delete h.object}else c=Ge.nil;h.number&&delete h.integer;for(let g in h)c=(0,Ge.and)(c,E0(g,e,s,a));return c}jA.checkDataTypes=$0;var Vg={message:({schema:n})=>`must be ${n}`,params:({schema:n,schemaValue:e})=>typeof n=="string"?(0,Ge._)`{type: ${n}}`:(0,Ge._)`{type: ${e}}`};function k0(n){let e=zg(n);(0,Qg.reportError)(e,Vg)}jA.reportTypeError=k0;function zg(n){let{gen:e,data:s,schema:a}=n,c=(0,wl.schemaRefOrVal)(n,a,"type");return{gen:e,keyword:"type",data:s,schema:a.type,schemaCode:c,schemaValue:c,parentSchema:a,params:{},it:n}}});var El=me(xi=>{"use strict";Object.defineProperty(xi,"__esModule",{value:!0});xi.assignDefaults=void 0;var Qr=Ue(),Kg=Ke();function Yg(n,e){let{properties:s,items:a}=n.schema;if(e==="object"&&s)for(let c in s)_l(n,c,s[c].default);else e==="array"&&Array.isArray(a)&&a.forEach((c,h)=>_l(n,h,c.default))}xi.assignDefaults=Yg;function _l(n,e,s){let{gen:a,compositeRule:c,data:h,opts:g}=n;if(s===void 0)return;let m=(0,Qr._)`${h}${(0,Qr.getProperty)(e)}`;if(c){(0,Kg.checkStrictMode)(n,`default is ignored for: ${m}`);return}let v=(0,Qr._)`${m} === undefined`;g.useDefaults==="empty"&&(v=(0,Qr._)`${v} || ${m} === null || ${m} === ""`),a.if(v,(0,Qr._)`${m} = ${(0,Qr.stringify)(s)}`)}});var nt=me(uA=>{"use strict";Object.defineProperty(uA,"__esModule",{value:!0});uA.validateUnion=uA.validateArray=uA.usePattern=uA.callValidateCode=uA.schemaProperties=uA.allSchemaProperties=uA.noPropertyInData=uA.propertyInData=uA.isOwnProperty=uA.hasPropFunc=uA.reportMissingProp=uA.checkMissingProp=uA.checkReportMissingProp=void 0;var dA=Ue(),x0=Ke(),Ut=rt(),Wg=Ke();function Jg(n,e){let{gen:s,data:a,it:c}=n;s.if(B0(s,a,e,c.opts.ownProperties),()=>{n.setParams({missingProperty:(0,dA._)`${e}`},!0),n.error()})}uA.checkReportMissingProp=Jg;function Zg({gen:n,data:e,it:{opts:s}},a,c){return(0,dA.or)(...a.map(h=>(0,dA.and)(B0(n,e,h,s.ownProperties),(0,dA._)`${c} = ${h}`)))}uA.checkMissingProp=Zg;function Xg(n,e){n.setParams({missingProperty:e},!0),n.error()}uA.reportMissingProp=Xg;function $l(n){return n.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:(0,dA._)`Object.prototype.hasOwnProperty`})}uA.hasPropFunc=$l;function S0(n,e,s){return(0,dA._)`${$l(n)}.call(${e}, ${s})`}uA.isOwnProperty=S0;function em(n,e,s,a){let c=(0,dA._)`${e}${(0,dA.getProperty)(s)} !== undefined`;return a?(0,dA._)`${c} && ${S0(n,e,s)}`:c}uA.propertyInData=em;function B0(n,e,s,a){let c=(0,dA._)`${e}${(0,dA.getProperty)(s)} === undefined`;return a?(0,dA.or)(c,(0,dA.not)(S0(n,e,s))):c}uA.noPropertyInData=B0;function kl(n){return n?Object.keys(n).filter(e=>e!=="__proto__"):[]}uA.allSchemaProperties=kl;function Am(n,e){return kl(e).filter(s=>!(0,x0.alwaysValidSchema)(n,e[s]))}uA.schemaProperties=Am;function tm({schemaCode:n,data:e,it:{gen:s,topSchemaRef:a,schemaPath:c,errorPath:h},it:g},m,v,b){let w=b?(0,dA._)`${n}, ${e}, ${a}${c}`:e,_=[[Ut.default.instancePath,(0,dA.strConcat)(Ut.default.instancePath,h)],[Ut.default.parentData,g.parentData],[Ut.default.parentDataProperty,g.parentDataProperty],[Ut.default.rootData,Ut.default.rootData]];g.opts.dynamicRef&&_.push([Ut.default.dynamicAnchors,Ut.default.dynamicAnchors]);let $=(0,dA._)`${w}, ${s.object(..._)}`;return v!==dA.nil?(0,dA._)`${m}.call(${v}, ${$})`:(0,dA._)`${m}(${$})`}uA.callValidateCode=tm;var rm=(0,dA._)`new RegExp`;function nm({gen:n,it:{opts:e}},s){let a=e.unicodeRegExp?"u":"",{regExp:c}=e.code,h=c(s,a);return n.scopeValue("pattern",{key:h.toString(),ref:h,code:(0,dA._)`${c.code==="new RegExp"?rm:(0,Wg.useFunc)(n,c)}(${s}, ${a})`})}uA.usePattern=nm;function im(n){let{gen:e,data:s,keyword:a,it:c}=n,h=e.name("valid");if(c.allErrors){let m=e.let("valid",!0);return g(()=>e.assign(m,!1)),m}return e.var(h,!0),g(()=>e.break()),h;function g(m){let v=e.const("len",(0,dA._)`${s}.length`);e.forRange("i",0,v,b=>{n.subschema({keyword:a,dataProp:b,dataPropType:x0.Type.Num},h),e.if((0,dA.not)(h),m)})}}uA.validateArray=im;function om(n){let{gen:e,schema:s,keyword:a,it:c}=n;if(!Array.isArray(s))throw new Error("ajv implementation error");if(s.some(v=>(0,x0.alwaysValidSchema)(c,v))&&!c.opts.unevaluated)return;let g=e.let("valid",!1),m=e.name("_valid");e.block(()=>s.forEach((v,b)=>{let w=n.subschema({keyword:a,schemaProp:b,compositeRule:!0},m);e.assign(g,(0,dA._)`${g} || ${m}`),n.mergeValidEvaluated(w,m)||e.if((0,dA.not)(g))})),n.result(g,()=>n.reset(),()=>n.error(!0))}uA.validateUnion=om});var Bl=me(bt=>{"use strict";Object.defineProperty(bt,"__esModule",{value:!0});bt.validateKeywordUsage=bt.validSchemaType=bt.funcKeywordCode=bt.macroKeywordCode=void 0;var qA=Ue(),cr=rt(),sm=nt(),am=kn();function um(n,e){let{gen:s,keyword:a,schema:c,parentSchema:h,it:g}=n,m=e.macro.call(g.self,c,h,g),v=Sl(s,a,m);g.opts.validateSchema!==!1&&g.self.validateSchema(m,!0);let b=s.name("valid");n.subschema({schema:m,schemaPath:qA.nil,errSchemaPath:`${g.errSchemaPath}/${a}`,topSchemaRef:v,compositeRule:!0},b),n.pass(b,()=>n.error(!0))}bt.macroKeywordCode=um;function lm(n,e){var s;let{gen:a,keyword:c,schema:h,parentSchema:g,$data:m,it:v}=n;cm(v,e);let b=!m&&e.compile?e.compile.call(v.self,h,g,v):e.validate,w=Sl(a,c,b),_=a.let("valid");n.block$data(_,$),n.ok((s=e.valid)!==null&&s!==void 0?s:_);function $(){if(e.errors===!1)x(),e.modifying&&xl(n),N(()=>n.error());else{let j=e.async?k():T();e.modifying&&xl(n),N(()=>fm(n,j))}}function k(){let j=a.let("ruleErrs",null);return a.try(()=>x((0,qA._)`await `),q=>a.assign(_,!1).if((0,qA._)`${q} instanceof ${v.ValidationError}`,()=>a.assign(j,(0,qA._)`${q}.errors`),()=>a.throw(q))),j}function T(){let j=(0,qA._)`${w}.errors`;return a.assign(j,null),x(qA.nil),j}function x(j=e.async?(0,qA._)`await `:qA.nil){let q=v.opts.passContext?cr.default.this:cr.default.self,L=!("compile"in e&&!m||e.schema===!1);a.assign(_,(0,qA._)`${j}${(0,sm.callValidateCode)(n,w,q,L)}`,e.modifying)}function N(j){var q;a.if((0,qA.not)((q=e.valid)!==null&&q!==void 0?q:_),j)}}bt.funcKeywordCode=lm;function xl(n){let{gen:e,data:s,it:a}=n;e.if(a.parentData,()=>e.assign(s,(0,qA._)`${a.parentData}[${a.parentDataProperty}]`))}function fm(n,e){let{gen:s}=n;s.if((0,qA._)`Array.isArray(${e})`,()=>{s.assign(cr.default.vErrors,(0,qA._)`${cr.default.vErrors} === null ? ${e} : ${cr.default.vErrors}.concat(${e})`).assign(cr.default.errors,(0,qA._)`${cr.default.vErrors}.length`),(0,am.extendErrors)(n)},()=>n.error())}function cm({schemaEnv:n},e){if(e.async&&!n.$async)throw new Error("async keyword in sync schema")}function Sl(n,e,s){if(s===void 0)throw new Error(`keyword "${e}" failed to compile`);return n.scopeValue("keyword",typeof s=="function"?{ref:s}:{ref:s,code:(0,qA.stringify)(s)})}function dm(n,e,s=!1){return!e.length||e.some(a=>a==="array"?Array.isArray(n):a==="object"?n&&typeof n=="object"&&!Array.isArray(n):typeof n==a||s&&typeof n>"u")}bt.validSchemaType=dm;function hm({schema:n,opts:e,self:s,errSchemaPath:a},c,h){if(Array.isArray(c.keyword)?!c.keyword.includes(h):c.keyword!==h)throw new Error("ajv implementation error");let g=c.dependencies;if(g?.some(m=>!Object.prototype.hasOwnProperty.call(n,m)))throw new Error(`parent schema must have dependencies of ${h}: ${g.join(",")}`);if(c.validateSchema&&!c.validateSchema(n[h])){let v=`keyword "${h}" value is invalid at path "${a}": `+s.errorsText(c.validateSchema.errors);if(e.validateSchema==="log")s.logger.error(v);else throw new Error(v)}}bt.validateKeywordUsage=hm});var Dl=me(Gt=>{"use strict";Object.defineProperty(Gt,"__esModule",{value:!0});Gt.extendSubschemaMode=Gt.extendSubschemaData=Gt.getSubschema=void 0;var _t=Ue(),Pl=Ke();function pm(n,{keyword:e,schemaProp:s,schema:a,schemaPath:c,errSchemaPath:h,topSchemaRef:g}){if(e!==void 0&&a!==void 0)throw new Error('both "keyword" and "schema" passed, only one allowed');if(e!==void 0){let m=n.schema[e];return s===void 0?{schema:m,schemaPath:(0,_t._)`${n.schemaPath}${(0,_t.getProperty)(e)}`,errSchemaPath:`${n.errSchemaPath}/${e}`}:{schema:m[s],schemaPath:(0,_t._)`${n.schemaPath}${(0,_t.getProperty)(e)}${(0,_t.getProperty)(s)}`,errSchemaPath:`${n.errSchemaPath}/${e}/${(0,Pl.escapeFragment)(s)}`}}if(a!==void 0){if(c===void 0||h===void 0||g===void 0)throw new Error('"schemaPath", "errSchemaPath" and "topSchemaRef" are required with "schema"');return{schema:a,schemaPath:c,topSchemaRef:g,errSchemaPath:h}}throw new Error('either "keyword" or "schema" must be passed')}Gt.getSubschema=pm;function gm(n,e,{dataProp:s,dataPropType:a,data:c,dataTypes:h,propertyName:g}){if(c!==void 0&&s!==void 0)throw new Error('both "data" and "dataProp" passed, only one allowed');let{gen:m}=e;if(s!==void 0){let{errorPath:b,dataPathArr:w,opts:_}=e,$=m.let("data",(0,_t._)`${e.data}${(0,_t.getProperty)(s)}`,!0);v($),n.errorPath=(0,_t.str)`${b}${(0,Pl.getErrorPath)(s,a,_.jsPropertySyntax)}`,n.parentDataProperty=(0,_t._)`${s}`,n.dataPathArr=[...w,n.parentDataProperty]}if(c!==void 0){let b=c instanceof _t.Name?c:m.let("data",c,!0);v(b),g!==void 0&&(n.propertyName=g)}h&&(n.dataTypes=h);function v(b){n.data=b,n.dataLevel=e.dataLevel+1,n.dataTypes=[],e.definedProperties=new Set,n.parentData=e.data,n.dataNames=[...e.dataNames,b]}}Gt.extendSubschemaData=gm;function mm(n,{jtdDiscriminator:e,jtdMetadata:s,compositeRule:a,createErrors:c,allErrors:h}){a!==void 0&&(n.compositeRule=a),c!==void 0&&(n.createErrors=c),h!==void 0&&(n.allErrors=h),n.jtdDiscriminator=e,n.jtdMetadata=s}Gt.extendSubschemaMode=mm});var P0=me((Y8,Cl)=>{"use strict";Cl.exports=function n(e,s){if(e===s)return!0;if(e&&s&&typeof e=="object"&&typeof s=="object"){if(e.constructor!==s.constructor)return!1;var a,c,h;if(Array.isArray(e)){if(a=e.length,a!=s.length)return!1;for(c=a;c--!==0;)if(!n(e[c],s[c]))return!1;return!0}if(e.constructor===RegExp)return e.source===s.source&&e.flags===s.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===s.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===s.toString();if(h=Object.keys(e),a=h.length,a!==Object.keys(s).length)return!1;for(c=a;c--!==0;)if(!Object.prototype.hasOwnProperty.call(s,h[c]))return!1;for(c=a;c--!==0;){var g=h[c];if(!n(e[g],s[g]))return!1}return!0}return e!==e&&s!==s}});var Ol=me((W8,Tl)=>{"use strict";var Ft=Tl.exports=function(n,e,s){typeof e=="function"&&(s=e,e={}),s=e.cb||s;var a=typeof s=="function"?s:s.pre||function(){},c=s.post||function(){};Si(e,a,c,n,"",n)};Ft.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0,if:!0,then:!0,else:!0};Ft.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0};Ft.propsKeywords={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependencies:!0};Ft.skipKeywords={default:!0,enum:!0,const:!0,required:!0,maximum:!0,minimum:!0,exclusiveMaximum:!0,exclusiveMinimum:!0,multipleOf:!0,maxLength:!0,minLength:!0,pattern:!0,format:!0,maxItems:!0,minItems:!0,uniqueItems:!0,maxProperties:!0,minProperties:!0};function Si(n,e,s,a,c,h,g,m,v,b){if(a&&typeof a=="object"&&!Array.isArray(a)){e(a,c,h,g,m,v,b);for(var w in a){var _=a[w];if(Array.isArray(_)){if(w in Ft.arrayKeywords)for(var $=0;$<_.length;$++)Si(n,e,s,_[$],c+"/"+w+"/"+$,h,c,w,a,$)}else if(w in Ft.propsKeywords){if(_&&typeof _=="object")for(var k in _)Si(n,e,s,_[k],c+"/"+w+"/"+ym(k),h,c,w,a,k)}else(w in Ft.keywords||n.allKeys&&!(w in Ft.skipKeywords))&&Si(n,e,s,_,c+"/"+w,h,c,w,a)}s(a,c,h,g,m,v,b)}}function ym(n){return n.replace(/~/g,"~0").replace(/\//g,"~1")}});var Sn=me(KA=>{"use strict";Object.defineProperty(KA,"__esModule",{value:!0});KA.getSchemaRefs=KA.resolveUrl=KA.normalizeId=KA._getFullPath=KA.getFullPath=KA.inlineRef=void 0;var wm=Ke(),vm=P0(),bm=Ol(),_m=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function Em(n,e=!0){return typeof n=="boolean"?!0:e===!0?!D0(n):e?jl(n)<=e:!1}KA.inlineRef=Em;var $m=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function D0(n){for(let e in n){if($m.has(e))return!0;let s=n[e];if(Array.isArray(s)&&s.some(D0)||typeof s=="object"&&D0(s))return!0}return!1}function jl(n){let e=0;for(let s in n){if(s==="$ref")return 1/0;if(e++,!_m.has(s)&&(typeof n[s]=="object"&&(0,wm.eachItem)(n[s],a=>e+=jl(a)),e===1/0))return 1/0}return e}function Ml(n,e="",s){s!==!1&&(e=qr(e));let a=n.parse(e);return Nl(n,a)}KA.getFullPath=Ml;function Nl(n,e){return n.serialize(e).split("#")[0]+"#"}KA._getFullPath=Nl;var km=/#\/?$/;function qr(n){return n?n.replace(km,""):""}KA.normalizeId=qr;function xm(n,e,s){return s=qr(s),n.resolve(e,s)}KA.resolveUrl=xm;var Sm=/^[a-z_][-a-z0-9._]*$/i;function Bm(n,e){if(typeof n=="boolean")return{};let{schemaId:s,uriResolver:a}=this.opts,c=qr(n[s]||e),h={"":c},g=Ml(a,c,!1),m={},v=new Set;return bm(n,{allKeys:!0},(_,$,k,T)=>{if(T===void 0)return;let x=g+$,N=h[T];typeof _[s]=="string"&&(N=j.call(this,_[s])),q.call(this,_.$anchor),q.call(this,_.$dynamicAnchor),h[$]=N;function j(L){let G=this.opts.uriResolver.resolve;if(L=qr(N?G(N,L):L),v.has(L))throw w(L);v.add(L);let z=this.refs[L];return typeof z=="string"&&(z=this.refs[z]),typeof z=="object"?b(_,z.schema,L):L!==qr(x)&&(L[0]==="#"?(b(_,m[L],L),m[L]=_):this.refs[L]=x),L}function q(L){if(typeof L=="string"){if(!Sm.test(L))throw new Error(`invalid anchor "${L}"`);j.call(this,`#${L}`)}}}),m;function b(_,$,k){if($!==void 0&&!vm(_,$))throw w(k)}function w(_){return new Error(`reference "${_}" resolves to more than one schema`)}}KA.getSchemaRefs=Bm});var Dn=me(Vt=>{"use strict";Object.defineProperty(Vt,"__esModule",{value:!0});Vt.getData=Vt.KeywordCxt=Vt.validateFunctionCode=void 0;var ql=gl(),Rl=xn(),T0=_0(),Bi=xn(),Pm=El(),Pn=Bl(),C0=Dl(),Se=Ue(),Qe=rt(),Dm=Sn(),Pt=Ke(),Bn=kn();function Cm(n){if(Gl(n)&&(Fl(n),Ul(n))){jm(n);return}Ll(n,()=>(0,ql.topBoolOrEmptySchema)(n))}Vt.validateFunctionCode=Cm;function Ll({gen:n,validateName:e,schema:s,schemaEnv:a,opts:c},h){c.code.es5?n.func(e,(0,Se._)`${Qe.default.data}, ${Qe.default.valCxt}`,a.$async,()=>{n.code((0,Se._)`"use strict"; ${Il(s,c)}`),Om(n,c),n.code(h)}):n.func(e,(0,Se._)`${Qe.default.data}, ${Tm(c)}`,a.$async,()=>n.code(Il(s,c)).code(h))}function Tm(n){return(0,Se._)`{${Qe.default.instancePath}="", ${Qe.default.parentData}, ${Qe.default.parentDataProperty}, ${Qe.default.rootData}=${Qe.default.data}${n.dynamicRef?(0,Se._)`, ${Qe.default.dynamicAnchors}={}`:Se.nil}}={}`}function Om(n,e){n.if(Qe.default.valCxt,()=>{n.var(Qe.default.instancePath,(0,Se._)`${Qe.default.valCxt}.${Qe.default.instancePath}`),n.var(Qe.default.parentData,(0,Se._)`${Qe.default.valCxt}.${Qe.default.parentData}`),n.var(Qe.default.parentDataProperty,(0,Se._)`${Qe.default.valCxt}.${Qe.default.parentDataProperty}`),n.var(Qe.default.rootData,(0,Se._)`${Qe.default.valCxt}.${Qe.default.rootData}`),e.dynamicRef&&n.var(Qe.default.dynamicAnchors,(0,Se._)`${Qe.default.valCxt}.${Qe.default.dynamicAnchors}`)},()=>{n.var(Qe.default.instancePath,(0,Se._)`""`),n.var(Qe.default.parentData,(0,Se._)`undefined`),n.var(Qe.default.parentDataProperty,(0,Se._)`undefined`),n.var(Qe.default.rootData,Qe.default.data),e.dynamicRef&&n.var(Qe.default.dynamicAnchors,(0,Se._)`{}`)})}function jm(n){let{schema:e,opts:s,gen:a}=n;Ll(n,()=>{s.$comment&&e.$comment&&zl(n),Hm(n),a.let(Qe.default.vErrors,null),a.let(Qe.default.errors,0),s.unevaluated&&Mm(n),Vl(n),Lm(n)})}function Mm(n){let{gen:e,validateName:s}=n;n.evaluated=e.const("evaluated",(0,Se._)`${s}.evaluated`),e.if((0,Se._)`${n.evaluated}.dynamicProps`,()=>e.assign((0,Se._)`${n.evaluated}.props`,(0,Se._)`undefined`)),e.if((0,Se._)`${n.evaluated}.dynamicItems`,()=>e.assign((0,Se._)`${n.evaluated}.items`,(0,Se._)`undefined`))}function Il(n,e){let s=typeof n=="object"&&n[e.schemaId];return s&&(e.code.source||e.code.process)?(0,Se._)`/*# sourceURL=${s} */`:Se.nil}function Nm(n,e){if(Gl(n)&&(Fl(n),Ul(n))){Rm(n,e);return}(0,ql.boolOrEmptySchema)(n,e)}function Ul({schema:n,self:e}){if(typeof n=="boolean")return!n;for(let s in n)if(e.RULES.all[s])return!0;return!1}function Gl(n){return typeof n.schema!="boolean"}function Rm(n,e){let{schema:s,gen:a,opts:c}=n;c.$comment&&s.$comment&&zl(n),Qm(n),qm(n);let h=a.const("_errs",Qe.default.errors);Vl(n,h),a.var(e,(0,Se._)`${h} === ${Qe.default.errors}`)}function Fl(n){(0,Pt.checkUnknownRules)(n),Im(n)}function Vl(n,e){if(n.opts.jtd)return Hl(n,[],!1,e);let s=(0,Rl.getSchemaTypes)(n.schema),a=(0,Rl.coerceAndCheckDataType)(n,s);Hl(n,s,!a,e)}function Im(n){let{schema:e,errSchemaPath:s,opts:a,self:c}=n;e.$ref&&a.ignoreKeywordsWithRef&&(0,Pt.schemaHasRulesButRef)(e,c.RULES)&&c.logger.warn(`$ref: keywords ignored in schema at path "${s}"`)}function Hm(n){let{schema:e,opts:s}=n;e.default!==void 0&&s.useDefaults&&s.strictSchema&&(0,Pt.checkStrictMode)(n,"default is ignored in the schema root")}function Qm(n){let e=n.schema[n.opts.schemaId];e&&(n.baseId=(0,Dm.resolveUrl)(n.opts.uriResolver,n.baseId,e))}function qm(n){if(n.schema.$async&&!n.schemaEnv.$async)throw new Error("async schema in sync schema")}function zl({gen:n,schemaEnv:e,schema:s,errSchemaPath:a,opts:c}){let h=s.$comment;if(c.$comment===!0)n.code((0,Se._)`${Qe.default.self}.logger.log(${h})`);else if(typeof c.$comment=="function"){let g=(0,Se.str)`${a}/$comment`,m=n.scopeValue("root",{ref:e.root});n.code((0,Se._)`${Qe.default.self}.opts.$comment(${h}, ${g}, ${m}.schema)`)}}function Lm(n){let{gen:e,schemaEnv:s,validateName:a,ValidationError:c,opts:h}=n;s.$async?e.if((0,Se._)`${Qe.default.errors} === 0`,()=>e.return(Qe.default.data),()=>e.throw((0,Se._)`new ${c}(${Qe.default.vErrors})`)):(e.assign((0,Se._)`${a}.errors`,Qe.default.vErrors),h.unevaluated&&Um(n),e.return((0,Se._)`${Qe.default.errors} === 0`))}function Um({gen:n,evaluated:e,props:s,items:a}){s instanceof Se.Name&&n.assign((0,Se._)`${e}.props`,s),a instanceof Se.Name&&n.assign((0,Se._)`${e}.items`,a)}function Hl(n,e,s,a){let{gen:c,schema:h,data:g,allErrors:m,opts:v,self:b}=n,{RULES:w}=b;if(h.$ref&&(v.ignoreKeywordsWithRef||!(0,Pt.schemaHasRulesButRef)(h,w))){c.block(()=>Yl(n,"$ref",w.all.$ref.definition));return}v.jtd||Gm(n,e),c.block(()=>{for(let $ of w.rules)_($);_(w.post)});function _($){(0,T0.shouldUseGroup)(h,$)&&($.type?(c.if((0,Bi.checkDataType)($.type,g,v.strictNumbers)),Ql(n,$),e.length===1&&e[0]===$.type&&s&&(c.else(),(0,Bi.reportTypeError)(n)),c.endIf()):Ql(n,$),m||c.if((0,Se._)`${Qe.default.errors} === ${a||0}`))}}function Ql(n,e){let{gen:s,schema:a,opts:{useDefaults:c}}=n;c&&(0,Pm.assignDefaults)(n,e.type),s.block(()=>{for(let h of e.rules)(0,T0.shouldUseRule)(a,h)&&Yl(n,h.keyword,h.definition,e.type)})}function Gm(n,e){n.schemaEnv.meta||!n.opts.strictTypes||(Fm(n,e),n.opts.allowUnionTypes||Vm(n,e),zm(n,n.dataTypes))}function Fm(n,e){if(e.length){if(!n.dataTypes.length){n.dataTypes=e;return}e.forEach(s=>{Kl(n.dataTypes,s)||O0(n,`type "${s}" not allowed by context "${n.dataTypes.join(",")}"`)}),Ym(n,e)}}function Vm(n,e){e.length>1&&!(e.length===2&&e.includes("null"))&&O0(n,"use allowUnionTypes to allow union type keyword")}function zm(n,e){let s=n.self.RULES.all;for(let a in s){let c=s[a];if(typeof c=="object"&&(0,T0.shouldUseRule)(n.schema,c)){let{type:h}=c.definition;h.length&&!h.some(g=>Km(e,g))&&O0(n,`missing type "${h.join(",")}" for keyword "${a}"`)}}}function Km(n,e){return n.includes(e)||e==="number"&&n.includes("integer")}function Kl(n,e){return n.includes(e)||e==="integer"&&n.includes("number")}function Ym(n,e){let s=[];for(let a of n.dataTypes)Kl(e,a)?s.push(a):e.includes("integer")&&a==="number"&&s.push("integer");n.dataTypes=s}function O0(n,e){let s=n.schemaEnv.baseId+n.errSchemaPath;e+=` at "${s}" (strictTypes)`,(0,Pt.checkStrictMode)(n,e,n.opts.strictTypes)}var Pi=class{constructor(e,s,a){if((0,Pn.validateKeywordUsage)(e,s,a),this.gen=e.gen,this.allErrors=e.allErrors,this.keyword=a,this.data=e.data,this.schema=e.schema[a],this.$data=s.$data&&e.opts.$data&&this.schema&&this.schema.$data,this.schemaValue=(0,Pt.schemaRefOrVal)(e,this.schema,a,this.$data),this.schemaType=s.schemaType,this.parentSchema=e.schema,this.params={},this.it=e,this.def=s,this.$data)this.schemaCode=e.gen.const("vSchema",Wl(this.$data,e));else if(this.schemaCode=this.schemaValue,!(0,Pn.validSchemaType)(this.schema,s.schemaType,s.allowUndefined))throw new Error(`${a} value must be ${JSON.stringify(s.schemaType)}`);("code"in s?s.trackErrors:s.errors!==!1)&&(this.errsCount=e.gen.const("_errs",Qe.default.errors))}result(e,s,a){this.failResult((0,Se.not)(e),s,a)}failResult(e,s,a){this.gen.if(e),a?a():this.error(),s?(this.gen.else(),s(),this.allErrors&&this.gen.endIf()):this.allErrors?this.gen.endIf():this.gen.else()}pass(e,s){this.failResult((0,Se.not)(e),void 0,s)}fail(e){if(e===void 0){this.error(),this.allErrors||this.gen.if(!1);return}this.gen.if(e),this.error(),this.allErrors?this.gen.endIf():this.gen.else()}fail$data(e){if(!this.$data)return this.fail(e);let{schemaCode:s}=this;this.fail((0,Se._)`${s} !== undefined && (${(0,Se.or)(this.invalid$data(),e)})`)}error(e,s,a){if(s){this.setParams(s),this._error(e,a),this.setParams({});return}this._error(e,a)}_error(e,s){(e?Bn.reportExtraError:Bn.reportError)(this,this.def.error,s)}$dataError(){(0,Bn.reportError)(this,this.def.$dataError||Bn.keyword$DataError)}reset(){if(this.errsCount===void 0)throw new Error('add "trackErrors" to keyword definition');(0,Bn.resetErrorsCount)(this.gen,this.errsCount)}ok(e){this.allErrors||this.gen.if(e)}setParams(e,s){s?Object.assign(this.params,e):this.params=e}block$data(e,s,a=Se.nil){this.gen.block(()=>{this.check$data(e,a),s()})}check$data(e=Se.nil,s=Se.nil){if(!this.$data)return;let{gen:a,schemaCode:c,schemaType:h,def:g}=this;a.if((0,Se.or)((0,Se._)`${c} === undefined`,s)),e!==Se.nil&&a.assign(e,!0),(h.length||g.validateSchema)&&(a.elseIf(this.invalid$data()),this.$dataError(),e!==Se.nil&&a.assign(e,!1)),a.else()}invalid$data(){let{gen:e,schemaCode:s,schemaType:a,def:c,it:h}=this;return(0,Se.or)(g(),m());function g(){if(a.length){if(!(s instanceof Se.Name))throw new Error("ajv implementation error");let v=Array.isArray(a)?a:[a];return(0,Se._)`${(0,Bi.checkDataTypes)(v,s,h.opts.strictNumbers,Bi.DataType.Wrong)}`}return Se.nil}function m(){if(c.validateSchema){let v=e.scopeValue("validate$data",{ref:c.validateSchema});return(0,Se._)`!${v}(${s})`}return Se.nil}}subschema(e,s){let a=(0,C0.getSubschema)(this.it,e);(0,C0.extendSubschemaData)(a,this.it,e),(0,C0.extendSubschemaMode)(a,e);let c={...this.it,...a,items:void 0,props:void 0};return Nm(c,s),c}mergeEvaluated(e,s){let{it:a,gen:c}=this;a.opts.unevaluated&&(a.props!==!0&&e.props!==void 0&&(a.props=Pt.mergeEvaluated.props(c,e.props,a.props,s)),a.items!==!0&&e.items!==void 0&&(a.items=Pt.mergeEvaluated.items(c,e.items,a.items,s)))}mergeValidEvaluated(e,s){let{it:a,gen:c}=this;if(a.opts.unevaluated&&(a.props!==!0||a.items!==!0))return c.if(s,()=>this.mergeEvaluated(e,Se.Name)),!0}};Vt.KeywordCxt=Pi;function Yl(n,e,s,a){let c=new Pi(n,s,e);"code"in s?s.code(c,a):c.$data&&s.validate?(0,Pn.funcKeywordCode)(c,s):"macro"in s?(0,Pn.macroKeywordCode)(c,s):(s.compile||s.validate)&&(0,Pn.funcKeywordCode)(c,s)}var Wm=/^\/(?:[^~]|~0|~1)*$/,Jm=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function Wl(n,{dataLevel:e,dataNames:s,dataPathArr:a}){let c,h;if(n==="")return Qe.default.rootData;if(n[0]==="/"){if(!Wm.test(n))throw new Error(`Invalid JSON-pointer: ${n}`);c=n,h=Qe.default.rootData}else{let b=Jm.exec(n);if(!b)throw new Error(`Invalid JSON-pointer: ${n}`);let w=+b[1];if(c=b[2],c==="#"){if(w>=e)throw new Error(v("property/index",w));return a[e-w]}if(w>e)throw new Error(v("data",w));if(h=s[e-w],!c)return h}let g=h,m=c.split("/");for(let b of m)b&&(h=(0,Se._)`${h}${(0,Se.getProperty)((0,Pt.unescapeJsonPointer)(b))}`,g=(0,Se._)`${g} && ${h}`);return g;function v(b,w){return`Cannot access ${b} ${w} levels up, current level is ${e}`}}Vt.getData=Wl});var Di=me(M0=>{"use strict";Object.defineProperty(M0,"__esModule",{value:!0});var j0=class extends Error{constructor(e){super("validation failed"),this.errors=e,this.ajv=this.validation=!0}};M0.default=j0});var Cn=me(I0=>{"use strict";Object.defineProperty(I0,"__esModule",{value:!0});var N0=Sn(),R0=class extends Error{constructor(e,s,a,c){super(c||`can't resolve reference ${a} from id ${s}`),this.missingRef=(0,N0.resolveUrl)(e,s,a),this.missingSchema=(0,N0.normalizeId)((0,N0.getFullPath)(e,this.missingRef))}};I0.default=R0});var Tn=me(it=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0});it.resolveSchema=it.getCompilingSchema=it.resolveRef=it.compileSchema=it.SchemaEnv=void 0;var ut=Ue(),Zm=Di(),dr=rt(),lt=Sn(),Jl=Ke(),Xm=Dn(),Lr=class{constructor(e){var s;this.refs={},this.dynamicAnchors={};let a;typeof e.schema=="object"&&(a=e.schema),this.schema=e.schema,this.schemaId=e.schemaId,this.root=e.root||this,this.baseId=(s=e.baseId)!==null&&s!==void 0?s:(0,lt.normalizeId)(a?.[e.schemaId||"$id"]),this.schemaPath=e.schemaPath,this.localRefs=e.localRefs,this.meta=e.meta,this.$async=a?.$async,this.refs={}}};it.SchemaEnv=Lr;function Q0(n){let e=Zl.call(this,n);if(e)return e;let s=(0,lt.getFullPath)(this.opts.uriResolver,n.root.baseId),{es5:a,lines:c}=this.opts.code,{ownProperties:h}=this.opts,g=new ut.CodeGen(this.scope,{es5:a,lines:c,ownProperties:h}),m;n.$async&&(m=g.scopeValue("Error",{ref:Zm.default,code:(0,ut._)`require("ajv/dist/runtime/validation_error").default`}));let v=g.scopeName("validate");n.validateName=v;let b={gen:g,allErrors:this.opts.allErrors,data:dr.default.data,parentData:dr.default.parentData,parentDataProperty:dr.default.parentDataProperty,dataNames:[dr.default.data],dataPathArr:[ut.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:g.scopeValue("schema",this.opts.code.source===!0?{ref:n.schema,code:(0,ut.stringify)(n.schema)}:{ref:n.schema}),validateName:v,ValidationError:m,schema:n.schema,schemaEnv:n,rootId:s,baseId:n.baseId||s,schemaPath:ut.nil,errSchemaPath:n.schemaPath||(this.opts.jtd?"":"#"),errorPath:(0,ut._)`""`,opts:this.opts,self:this},w;try{this._compilations.add(n),(0,Xm.validateFunctionCode)(b),g.optimize(this.opts.code.optimize);let _=g.toString();w=`${g.scopeRefs(dr.default.scope)}return ${_}`,this.opts.code.process&&(w=this.opts.code.process(w,n));let k=new Function(`${dr.default.self}`,`${dr.default.scope}`,w)(this,this.scope.get());if(this.scope.value(v,{ref:k}),k.errors=null,k.schema=n.schema,k.schemaEnv=n,n.$async&&(k.$async=!0),this.opts.code.source===!0&&(k.source={validateName:v,validateCode:_,scopeValues:g._values}),this.opts.unevaluated){let{props:T,items:x}=b;k.evaluated={props:T instanceof ut.Name?void 0:T,items:x instanceof ut.Name?void 0:x,dynamicProps:T instanceof ut.Name,dynamicItems:x instanceof ut.Name},k.source&&(k.source.evaluated=(0,ut.stringify)(k.evaluated))}return n.validate=k,n}catch(_){throw delete n.validate,delete n.validateName,w&&this.logger.error("Error compiling schema, function code:",w),_}finally{this._compilations.delete(n)}}it.compileSchema=Q0;function ey(n,e,s){var a;s=(0,lt.resolveUrl)(this.opts.uriResolver,e,s);let c=n.refs[s];if(c)return c;let h=ry.call(this,n,s);if(h===void 0){let g=(a=n.localRefs)===null||a===void 0?void 0:a[s],{schemaId:m}=this.opts;g&&(h=new Lr({schema:g,schemaId:m,root:n,baseId:e}))}if(h!==void 0)return n.refs[s]=Ay.call(this,h)}it.resolveRef=ey;function Ay(n){return(0,lt.inlineRef)(n.schema,this.opts.inlineRefs)?n.schema:n.validate?n:Q0.call(this,n)}function Zl(n){for(let e of this._compilations)if(ty(e,n))return e}it.getCompilingSchema=Zl;function ty(n,e){return n.schema===e.schema&&n.root===e.root&&n.baseId===e.baseId}function ry(n,e){let s;for(;typeof(s=this.refs[e])=="string";)e=s;return s||this.schemas[e]||Ci.call(this,n,e)}function Ci(n,e){let s=this.opts.uriResolver.parse(e),a=(0,lt._getFullPath)(this.opts.uriResolver,s),c=(0,lt.getFullPath)(this.opts.uriResolver,n.baseId,void 0);if(Object.keys(n.schema).length>0&&a===c)return H0.call(this,s,n);let h=(0,lt.normalizeId)(a),g=this.refs[h]||this.schemas[h];if(typeof g=="string"){let m=Ci.call(this,n,g);return typeof m?.schema!="object"?void 0:H0.call(this,s,m)}if(typeof g?.schema=="object"){if(g.validate||Q0.call(this,g),h===(0,lt.normalizeId)(e)){let{schema:m}=g,{schemaId:v}=this.opts,b=m[v];return b&&(c=(0,lt.resolveUrl)(this.opts.uriResolver,c,b)),new Lr({schema:m,schemaId:v,root:n,baseId:c})}return H0.call(this,s,g)}}it.resolveSchema=Ci;var ny=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function H0(n,{baseId:e,schema:s,root:a}){var c;if(((c=n.fragment)===null||c===void 0?void 0:c[0])!=="/")return;for(let m of n.fragment.slice(1).split("/")){if(typeof s=="boolean")return;let v=s[(0,Jl.unescapeFragment)(m)];if(v===void 0)return;s=v;let b=typeof s=="object"&&s[this.opts.schemaId];!ny.has(m)&&b&&(e=(0,lt.resolveUrl)(this.opts.uriResolver,e,b))}let h;if(typeof s!="boolean"&&s.$ref&&!(0,Jl.schemaHasRulesButRef)(s,this.RULES)){let m=(0,lt.resolveUrl)(this.opts.uriResolver,e,s.$ref);h=Ci.call(this,a,m)}let{schemaId:g}=this.opts;if(h=h||new Lr({schema:s,schemaId:g,root:a,baseId:e}),h.schema!==h.root.schema)return h}});var Xl=me((t6,iy)=>{iy.exports={$id:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#",description:"Meta-schema for $data reference (JSON AnySchema extension proposal)",type:"object",required:["$data"],properties:{$data:{type:"string",anyOf:[{format:"relative-json-pointer"},{format:"json-pointer"}]}},additionalProperties:!1}});var U0=me((r6,of)=>{"use strict";var oy=RegExp.prototype.test.bind(/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu),Af=RegExp.prototype.test.bind(/^(?:(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)$/u),q0=RegExp.prototype.test.bind(/^[\da-f]{2}$/iu),tf=RegExp.prototype.test.bind(/^[\da-z\-._~]$/iu),sy=RegExp.prototype.test.bind(/^[\da-z\-._~!$&'()*+,;=:@/]$/iu);function L0(n){let e="",s=0,a=0;for(a=0;a<n.length;a++)if(s=n[a].charCodeAt(0),s!==48){if(!(s>=48&&s<=57||s>=65&&s<=70||s>=97&&s<=102))return"";e+=n[a];break}for(a+=1;a<n.length;a++){if(s=n[a].charCodeAt(0),!(s>=48&&s<=57||s>=65&&s<=70||s>=97&&s<=102))return"";e+=n[a]}return e}var ay=RegExp.prototype.test.bind(/[^!"$&'()*+,\-.;=_`a-z{}~]/u);function ef(n){return n.length=0,!0}function uy(n,e,s){if(n.length){let a=L0(n);if(a!=="")e.push(a);else return s.error=!0,!1;n.length=0}return!0}function ly(n){let e=0,s={error:!1,address:"",zone:""},a=[],c=[],h=!1,g=!1,m=uy;for(let v=0;v<n.length;v++){let b=n[v];if(!(b==="["||b==="]"))if(b===":"){if(h===!0&&(g=!0),!m(c,a,s))break;if(++e>7){s.error=!0;break}v>0&&n[v-1]===":"&&(h=!0),a.push(":");continue}else if(b==="%"){if(!m(c,a,s))break;m=ef}else{c.push(b);continue}}return c.length&&(m===ef?s.zone=c.join(""):g?a.push(c.join("")):a.push(L0(c))),s.address=a.join(""),s}function rf(n){if(fy(n,":")<2)return{host:n,isIPV6:!1};let e=ly(n);if(e.error)return{host:n,isIPV6:!1};{let s=e.address,a=e.address;return e.zone&&(s+="%"+e.zone,a+="%25"+e.zone),{host:s,isIPV6:!0,escapedHost:a}}}function fy(n,e){let s=0;for(let a=0;a<n.length;a++)n[a]===e&&s++;return s}function cy(n){let e=n,s=[],a=-1,c=0;for(;c=e.length;){if(c===1){if(e===".")break;if(e==="/"){s.push("/");break}else{s.push(e);break}}else if(c===2){if(e[0]==="."){if(e[1]===".")break;if(e[1]==="/"){e=e.slice(2);continue}}else if(e[0]==="/"&&(e[1]==="."||e[1]==="/")){s.push("/");break}}else if(c===3&&e==="/.."){s.length!==0&&s.pop(),s.push("/");break}if(e[0]==="."){if(e[1]==="."){if(e[2]==="/"){e=e.slice(3);continue}}else if(e[1]==="/"){e=e.slice(2);continue}}else if(e[0]==="/"&&e[1]==="."){if(e[2]==="/"){e=e.slice(2);continue}else if(e[2]==="."&&e[3]==="/"){e=e.slice(3),s.length!==0&&s.pop();continue}}if((a=e.indexOf("/",1))===-1){s.push(e);break}else s.push(e.slice(0,a)),e=e.slice(a)}return s.join("")}var dy={"@":"%40","/":"%2F","?":"%3F","#":"%23",":":"%3A"},hy=/[@/?#:]/g,py=/[@/?#]/g;function nf(n,e){let s=e?py:hy;return s.lastIndex=0,n.replace(s,a=>dy[a])}function gy(n,e=!1){if(n.indexOf("%")===-1)return n;let s="";for(let a=0;a<n.length;a++){if(n[a]==="%"&&a+2<n.length){let c=n.slice(a+1,a+3);if(q0(c)){let h=c.toUpperCase(),g=String.fromCharCode(parseInt(h,16));e&&tf(g)?s+=g:s+="%"+h,a+=2;continue}}s+=n[a]}return s}function my(n){let e="";for(let s=0;s<n.length;s++){if(n[s]==="%"&&s+2<n.length){let a=n.slice(s+1,s+3);if(q0(a)){let c=a.toUpperCase(),h=String.fromCharCode(parseInt(c,16));h!=="."&&tf(h)?e+=h:e+="%"+c,s+=2;continue}}sy(n[s])?e+=n[s]:e+=escape(n[s])}return e}function yy(n){let e="";for(let s=0;s<n.length;s++){if(n[s]==="%"&&s+2<n.length){let a=n.slice(s+1,s+3);if(q0(a)){e+="%"+a.toUpperCase(),s+=2;continue}}e+=escape(n[s])}return e}function wy(n){let e=[];if(n.userinfo!==void 0&&(e.push(n.userinfo),e.push("@")),n.host!==void 0){let s=unescape(n.host);if(!Af(s)){let a=rf(s);a.isIPV6===!0?s=`[${a.escapedHost}]`:s=nf(s,!1)}e.push(s)}return(typeof n.port=="number"||typeof n.port=="string")&&(e.push(":"),e.push(String(n.port))),e.length?e.join(""):void 0}of.exports={nonSimpleDomain:ay,recomposeAuthority:wy,reescapeHostDelimiters:nf,normalizePercentEncoding:gy,normalizePathEncoding:my,escapePreservingEscapes:yy,removeDotSegments:cy,isIPv4:Af,isUUID:oy,normalizeIPv6:rf,stringArrayToHexStripped:L0}});var ff=me((n6,lf)=>{"use strict";var{isUUID:vy}=U0(),by=/([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu,_y=["http","https","ws","wss","urn","urn:uuid"];function Ey(n){return _y.indexOf(n)!==-1}function G0(n){return n.secure===!0?!0:n.secure===!1?!1:n.scheme?n.scheme.length===3&&(n.scheme[0]==="w"||n.scheme[0]==="W")&&(n.scheme[1]==="s"||n.scheme[1]==="S")&&(n.scheme[2]==="s"||n.scheme[2]==="S"):!1}function sf(n){return n.host||(n.error=n.error||"HTTP URIs must have a host."),n}function af(n){let e=String(n.scheme).toLowerCase()==="https";return(n.port===(e?443:80)||n.port==="")&&(n.port=void 0),n.path||(n.path="/"),n}function $y(n){return n.secure=G0(n),n.resourceName=(n.path||"/")+(n.query?"?"+n.query:""),n.path=void 0,n.query=void 0,n}function ky(n){if((n.port===(G0(n)?443:80)||n.port==="")&&(n.port=void 0),typeof n.secure=="boolean"&&(n.scheme=n.secure?"wss":"ws",n.secure=void 0),n.resourceName){let[e,s]=n.resourceName.split("?");n.path=e&&e!=="/"?e:void 0,n.query=s,n.resourceName=void 0}return n.fragment=void 0,n}function xy(n,e){if(!n.path)return n.error="URN can not be parsed",n;let s=n.path.match(by);if(s){let a=e.scheme||n.scheme||"urn";n.nid=s[1].toLowerCase(),n.nss=s[2];let c=`${a}:${e.nid||n.nid}`,h=F0(c);n.path=void 0,h&&(n=h.parse(n,e))}else n.error=n.error||"URN can not be parsed.";return n}function Sy(n,e){if(n.nid===void 0)throw new Error("URN without nid cannot be serialized");let s=e.scheme||n.scheme||"urn",a=n.nid.toLowerCase(),c=`${s}:${e.nid||a}`,h=F0(c);h&&(n=h.serialize(n,e));let g=n,m=n.nss;return g.path=`${a||e.nid}:${m}`,e.skipEscape=!0,g}function By(n,e){let s=n;return s.uuid=s.nss,s.nss=void 0,!e.tolerant&&(!s.uuid||!vy(s.uuid))&&(s.error=s.error||"UUID is not valid."),s}function Py(n){let e=n;return e.nss=(n.uuid||"").toLowerCase(),e}var uf={scheme:"http",domainHost:!0,parse:sf,serialize:af},Dy={scheme:"https",domainHost:uf.domainHost,parse:sf,serialize:af},Ti={scheme:"ws",domainHost:!0,parse:$y,serialize:ky},Cy={scheme:"wss",domainHost:Ti.domainHost,parse:Ti.parse,serialize:Ti.serialize},Ty={scheme:"urn",parse:xy,serialize:Sy,skipNormalize:!0},Oy={scheme:"urn:uuid",parse:By,serialize:Py,skipNormalize:!0},Oi={http:uf,https:Dy,ws:Ti,wss:Cy,urn:Ty,"urn:uuid":Oy};Object.setPrototypeOf(Oi,null);function F0(n){return n&&(Oi[n]||Oi[n.toLowerCase()])||void 0}lf.exports={wsIsSecure:G0,SCHEMES:Oi,isValidSchemeName:Ey,getSchemeHandler:F0}});var mf=me((i6,ji)=>{"use strict";var{normalizeIPv6:jy,removeDotSegments:On,recomposeAuthority:My,normalizePercentEncoding:Ny,normalizePathEncoding:Ry,escapePreservingEscapes:Iy,reescapeHostDelimiters:Hy,isIPv4:Qy,nonSimpleDomain:qy}=U0(),{SCHEMES:Ly,getSchemeHandler:df}=ff();function Uy(n,e){return typeof n=="string"?n=Ky(n,e):typeof n=="object"&&(n=Ur(hr(n,e),e)),n}function Gy(n,e,s){let a=s?Object.assign({scheme:"null"},s):{scheme:"null"},c=hf(Ur(n,a),Ur(e,a),a,!0);return a.skipEscape=!0,hr(c,a)}function hf(n,e,s,a){let c={};return a||(n=Ur(hr(n,s),s),e=Ur(hr(e,s),s)),s=s||{},!s.tolerant&&e.scheme?(c.scheme=e.scheme,c.userinfo=e.userinfo,c.host=e.host,c.port=e.port,c.path=On(e.path||""),c.query=e.query):(e.userinfo!==void 0||e.host!==void 0||e.port!==void 0?(c.userinfo=e.userinfo,c.host=e.host,c.port=e.port,c.path=On(e.path||""),c.query=e.query):(e.path?(e.path[0]==="/"?c.path=On(e.path):((n.userinfo!==void 0||n.host!==void 0||n.port!==void 0)&&!n.path?c.path="/"+e.path:n.path?c.path=n.path.slice(0,n.path.lastIndexOf("/")+1)+e.path:c.path=e.path,c.path=On(c.path)),c.query=e.query):(c.path=n.path,e.query!==void 0?c.query=e.query:c.query=n.query),c.userinfo=n.userinfo,c.host=n.host,c.port=n.port),c.scheme=n.scheme),c.fragment=e.fragment,c}function Fy(n,e,s){let a=cf(n,s),c=cf(e,s);return a!==void 0&&c!==void 0&&a.toLowerCase()===c.toLowerCase()}function hr(n,e){let s={host:n.host,scheme:n.scheme,userinfo:n.userinfo,port:n.port,path:n.path,query:n.query,nid:n.nid,nss:n.nss,uuid:n.uuid,fragment:n.fragment,reference:n.reference,resourceName:n.resourceName,secure:n.secure,error:""},a=Object.assign({},e),c=[],h=df(a.scheme||s.scheme);h&&h.serialize&&h.serialize(s,a),s.path!==void 0&&(a.skipEscape?s.path=Ny(s.path):(s.path=Iy(s.path),s.scheme!==void 0&&(s.path=s.path.split("%3A").join(":")))),a.reference!=="suffix"&&s.scheme&&c.push(s.scheme,":");let g=My(s);if(g!==void 0&&(a.reference!=="suffix"&&c.push("//"),c.push(g),s.path&&s.path[0]!=="/"&&c.push("/")),s.path!==void 0){let m=s.path;!a.absolutePath&&(!h||!h.absolutePath)&&(m=On(m)),g===void 0&&m[0]==="/"&&m[1]==="/"&&(m="/%2F"+m.slice(2)),c.push(m)}return s.query!==void 0&&c.push("?",s.query),s.fragment!==void 0&&c.push("#",s.fragment),c.join("")}var Vy=/^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u;function zy(n,e){if(e[2]!==void 0&&n.path&&n.path[0]!=="/")return'URI path must start with "/" when authority is present.';if(typeof n.port=="number"&&(n.port<0||n.port>65535))return"URI port is malformed."}function pf(n,e){let s=Object.assign({},e),a={scheme:void 0,userinfo:void 0,host:"",port:void 0,path:"",query:void 0,fragment:void 0},c=!1,h=!1;s.reference==="suffix"&&(s.scheme?n=s.scheme+":"+n:n="//"+n);let g=n.match(Vy);if(g){a.scheme=g[1],a.userinfo=g[3],a.host=g[4],a.port=parseInt(g[5],10),a.path=g[6]||"",a.query=g[7],a.fragment=g[8],isNaN(a.port)&&(a.port=g[5]);let m=zy(a,g);if(m!==void 0&&(a.error=a.error||m,c=!0),a.host)if(Qy(a.host)===!1){let w=jy(a.host);a.host=w.host.toLowerCase(),h=w.isIPV6}else h=!0;a.scheme===void 0&&a.userinfo===void 0&&a.host===void 0&&a.port===void 0&&a.query===void 0&&!a.path?a.reference="same-document":a.scheme===void 0?a.reference="relative":a.fragment===void 0?a.reference="absolute":a.reference="uri",s.reference&&s.reference!=="suffix"&&s.reference!==a.reference&&(a.error=a.error||"URI is not a "+s.reference+" reference.");let v=df(s.scheme||a.scheme);if(!s.unicodeSupport&&(!v||!v.unicodeSupport)&&a.host&&(s.domainHost||v&&v.domainHost)&&h===!1&&qy(a.host))try{a.host=URL.domainToASCII(a.host.toLowerCase())}catch(b){a.error=a.error||"Host's domain name can not be converted to ASCII: "+b}if((!v||v&&!v.skipNormalize)&&(n.indexOf("%")!==-1&&(a.scheme!==void 0&&(a.scheme=unescape(a.scheme)),a.host!==void 0&&(a.host=Hy(unescape(a.host),h))),a.path&&(a.path=Ry(a.path)),a.fragment))try{a.fragment=encodeURI(decodeURIComponent(a.fragment))}catch{a.error=a.error||"URI malformed"}v&&v.parse&&v.parse(a,s)}else a.error=a.error||"URI can not be parsed.";return{parsed:a,malformedAuthorityOrPort:c}}function Ur(n,e){return pf(n,e).parsed}function Ky(n,e){return gf(n,e).normalized}function gf(n,e){let{parsed:s,malformedAuthorityOrPort:a}=pf(n,e);return{normalized:a?n:hr(s,e),malformedAuthorityOrPort:a}}function cf(n,e){if(typeof n=="string"){let{normalized:s,malformedAuthorityOrPort:a}=gf(n,e);return a?void 0:s}if(typeof n=="object")return hr(n,e)}var V0={SCHEMES:Ly,normalize:Uy,resolve:Gy,resolveComponent:hf,equal:Fy,serialize:hr,parse:Ur};ji.exports=V0;ji.exports.default=V0;ji.exports.fastUri=V0});var wf=me(z0=>{"use strict";Object.defineProperty(z0,"__esModule",{value:!0});var yf=mf();yf.code='require("ajv/dist/runtime/uri").default';z0.default=yf});var Sf=me(SA=>{"use strict";Object.defineProperty(SA,"__esModule",{value:!0});SA.CodeGen=SA.Name=SA.nil=SA.stringify=SA.str=SA._=SA.KeywordCxt=void 0;var Yy=Dn();Object.defineProperty(SA,"KeywordCxt",{enumerable:!0,get:function(){return Yy.KeywordCxt}});var Gr=Ue();Object.defineProperty(SA,"_",{enumerable:!0,get:function(){return Gr._}});Object.defineProperty(SA,"str",{enumerable:!0,get:function(){return Gr.str}});Object.defineProperty(SA,"stringify",{enumerable:!0,get:function(){return Gr.stringify}});Object.defineProperty(SA,"nil",{enumerable:!0,get:function(){return Gr.nil}});Object.defineProperty(SA,"Name",{enumerable:!0,get:function(){return Gr.Name}});Object.defineProperty(SA,"CodeGen",{enumerable:!0,get:function(){return Gr.CodeGen}});var Wy=Di(),$f=Cn(),Jy=b0(),jn=Tn(),Zy=Ue(),Mn=Sn(),Mi=xn(),Y0=Ke(),vf=Xl(),Xy=wf(),kf=(n,e)=>new RegExp(n,e);kf.code="new RegExp";var ew=["removeAdditional","useDefaults","coerceTypes"],Aw=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),tw={errorDataPath:"",format:"`validateFormats: false` can be used instead.",nullable:'"nullable" keyword is supported by default.',jsonPointers:"Deprecated jsPropertySyntax can be used instead.",extendRefs:"Deprecated ignoreKeywordsWithRef can be used instead.",missingRefs:"Pass empty schema with $id that should be ignored to ajv.addSchema.",processCode:"Use option `code: {process: (code, schemaEnv: object) => string}`",sourceCode:"Use option `code: {source: true}`",strictDefaults:"It is default now, see option `strict`.",strictKeywords:"It is default now, see option `strict`.",uniqueItems:'"uniqueItems" keyword is always validated.',unknownFormats:"Disable strict mode or pass `true` to `ajv.addFormat` (or `formats` option).",cache:"Map is used as cache, schema object as key.",serialize:"Map is used as cache, schema object as key.",ajvErrors:"It is default now."},rw={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},bf=200;function nw(n){var e,s,a,c,h,g,m,v,b,w,_,$,k,T,x,N,j,q,L,G,z,J,pe,W,X;let we=n.strict,ue=(e=n.code)===null||e===void 0?void 0:e.optimize,D=ue===!0||ue===void 0?1:ue||0,B=(a=(s=n.code)===null||s===void 0?void 0:s.regExp)!==null&&a!==void 0?a:kf,C=(c=n.uriResolver)!==null&&c!==void 0?c:Xy.default;return{strictSchema:(g=(h=n.strictSchema)!==null&&h!==void 0?h:we)!==null&&g!==void 0?g:!0,strictNumbers:(v=(m=n.strictNumbers)!==null&&m!==void 0?m:we)!==null&&v!==void 0?v:!0,strictTypes:(w=(b=n.strictTypes)!==null&&b!==void 0?b:we)!==null&&w!==void 0?w:"log",strictTuples:($=(_=n.strictTuples)!==null&&_!==void 0?_:we)!==null&&$!==void 0?$:"log",strictRequired:(T=(k=n.strictRequired)!==null&&k!==void 0?k:we)!==null&&T!==void 0?T:!1,code:n.code?{...n.code,optimize:D,regExp:B}:{optimize:D,regExp:B},loopRequired:(x=n.loopRequired)!==null&&x!==void 0?x:bf,loopEnum:(N=n.loopEnum)!==null&&N!==void 0?N:bf,meta:(j=n.meta)!==null&&j!==void 0?j:!0,messages:(q=n.messages)!==null&&q!==void 0?q:!0,inlineRefs:(L=n.inlineRefs)!==null&&L!==void 0?L:!0,schemaId:(G=n.schemaId)!==null&&G!==void 0?G:"$id",addUsedSchema:(z=n.addUsedSchema)!==null&&z!==void 0?z:!0,validateSchema:(J=n.validateSchema)!==null&&J!==void 0?J:!0,validateFormats:(pe=n.validateFormats)!==null&&pe!==void 0?pe:!0,unicodeRegExp:(W=n.unicodeRegExp)!==null&&W!==void 0?W:!0,int32range:(X=n.int32range)!==null&&X!==void 0?X:!0,uriResolver:C}}var Nn=class{constructor(e={}){this.schemas={},this.refs={},this.formats=Object.create(null),this._compilations=new Set,this._loading={},this._cache=new Map,e=this.opts={...e,...nw(e)};let{es5:s,lines:a}=this.opts.code;this.scope=new Zy.ValueScope({scope:{},prefixes:Aw,es5:s,lines:a}),this.logger=lw(e.logger);let c=e.validateFormats;e.validateFormats=!1,this.RULES=(0,Jy.getRules)(),_f.call(this,tw,e,"NOT SUPPORTED"),_f.call(this,rw,e,"DEPRECATED","warn"),this._metaOpts=aw.call(this),e.formats&&ow.call(this),this._addVocabularies(),this._addDefaultMetaSchema(),e.keywords&&sw.call(this,e.keywords),typeof e.meta=="object"&&this.addMetaSchema(e.meta),iw.call(this),e.validateFormats=c}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){let{$data:e,meta:s,schemaId:a}=this.opts,c=vf;a==="id"&&(c={...vf},c.id=c.$id,delete c.$id),s&&e&&this.addMetaSchema(c,c[a],!1)}defaultMeta(){let{meta:e,schemaId:s}=this.opts;return this.opts.defaultMeta=typeof e=="object"?e[s]||e:void 0}validate(e,s){let a;if(typeof e=="string"){if(a=this.getSchema(e),!a)throw new Error(`no schema with key or ref "${e}"`)}else a=this.compile(e);let c=a(s);return"$async"in a||(this.errors=a.errors),c}compile(e,s){let a=this._addSchema(e,s);return a.validate||this._compileSchemaEnv(a)}compileAsync(e,s){if(typeof this.opts.loadSchema!="function")throw new Error("options.loadSchema should be a function");let{loadSchema:a}=this.opts;return c.call(this,e,s);async function c(w,_){await h.call(this,w.$schema);let $=this._addSchema(w,_);return $.validate||g.call(this,$)}async function h(w){w&&!this.getSchema(w)&&await c.call(this,{$ref:w},!0)}async function g(w){try{return this._compileSchemaEnv(w)}catch(_){if(!(_ instanceof $f.default))throw _;return m.call(this,_),await v.call(this,_.missingSchema),g.call(this,w)}}function m({missingSchema:w,missingRef:_}){if(this.refs[w])throw new Error(`AnySchema ${w} is loaded but ${_} cannot be resolved`)}async function v(w){let _=await b.call(this,w);this.refs[w]||await h.call(this,_.$schema),this.refs[w]||this.addSchema(_,w,s)}async function b(w){let _=this._loading[w];if(_)return _;try{return await(this._loading[w]=a(w))}finally{delete this._loading[w]}}}addSchema(e,s,a,c=this.opts.validateSchema){if(Array.isArray(e)){for(let g of e)this.addSchema(g,void 0,a,c);return this}let h;if(typeof e=="object"){let{schemaId:g}=this.opts;if(h=e[g],h!==void 0&&typeof h!="string")throw new Error(`schema ${g} must be string`)}return s=(0,Mn.normalizeId)(s||h),this._checkUnique(s),this.schemas[s]=this._addSchema(e,a,s,c,!0),this}addMetaSchema(e,s,a=this.opts.validateSchema){return this.addSchema(e,s,!0,a),this}validateSchema(e,s){if(typeof e=="boolean")return!0;let a;if(a=e.$schema,a!==void 0&&typeof a!="string")throw new Error("$schema must be a string");if(a=a||this.opts.defaultMeta||this.defaultMeta(),!a)return this.logger.warn("meta-schema not available"),this.errors=null,!0;let c=this.validate(a,e);if(!c&&s){let h="schema is invalid: "+this.errorsText();if(this.opts.validateSchema==="log")this.logger.error(h);else throw new Error(h)}return c}getSchema(e){let s;for(;typeof(s=Ef.call(this,e))=="string";)e=s;if(s===void 0){let{schemaId:a}=this.opts,c=new jn.SchemaEnv({schema:{},schemaId:a});if(s=jn.resolveSchema.call(this,c,e),!s)return;this.refs[e]=s}return s.validate||this._compileSchemaEnv(s)}removeSchema(e){if(e instanceof RegExp)return this._removeAllSchemas(this.schemas,e),this._removeAllSchemas(this.refs,e),this;switch(typeof e){case"undefined":return this._removeAllSchemas(this.schemas),this._removeAllSchemas(this.refs),this._cache.clear(),this;case"string":{let s=Ef.call(this,e);return typeof s=="object"&&this._cache.delete(s.schema),delete this.schemas[e],delete this.refs[e],this}case"object":{let s=e;this._cache.delete(s);let a=e[this.opts.schemaId];return a&&(a=(0,Mn.normalizeId)(a),delete this.schemas[a],delete this.refs[a]),this}default:throw new Error("ajv.removeSchema: invalid parameter")}}addVocabulary(e){for(let s of e)this.addKeyword(s);return this}addKeyword(e,s){let a;if(typeof e=="string")a=e,typeof s=="object"&&(this.logger.warn("these parameters are deprecated, see docs for addKeyword"),s.keyword=a);else if(typeof e=="object"&&s===void 0){if(s=e,a=s.keyword,Array.isArray(a)&&!a.length)throw new Error("addKeywords: keyword must be string or non-empty array")}else throw new Error("invalid addKeywords parameters");if(cw.call(this,a,s),!s)return(0,Y0.eachItem)(a,h=>K0.call(this,h)),this;hw.call(this,s);let c={...s,type:(0,Mi.getJSONTypes)(s.type),schemaType:(0,Mi.getJSONTypes)(s.schemaType)};return(0,Y0.eachItem)(a,c.type.length===0?h=>K0.call(this,h,c):h=>c.type.forEach(g=>K0.call(this,h,c,g))),this}getKeyword(e){let s=this.RULES.all[e];return typeof s=="object"?s.definition:!!s}removeKeyword(e){let{RULES:s}=this;delete s.keywords[e],delete s.all[e];for(let a of s.rules){let c=a.rules.findIndex(h=>h.keyword===e);c>=0&&a.rules.splice(c,1)}return this}addFormat(e,s){return typeof s=="string"&&(s=new RegExp(s)),this.formats[e]=s,this}errorsText(e=this.errors,{separator:s=", ",dataVar:a="data"}={}){return!e||e.length===0?"No errors":e.map(c=>`${a}${c.instancePath} ${c.message}`).reduce((c,h)=>c+s+h)}$dataMetaSchema(e,s){let a=this.RULES.all;e=JSON.parse(JSON.stringify(e));for(let c of s){let h=c.split("/").slice(1),g=e;for(let m of h)g=g[m];for(let m in a){let v=a[m];if(typeof v!="object")continue;let{$data:b}=v.definition,w=g[m];b&&w&&(g[m]=xf(w))}}return e}_removeAllSchemas(e,s){for(let a in e){let c=e[a];(!s||s.test(a))&&(typeof c=="string"?delete e[a]:c&&!c.meta&&(this._cache.delete(c.schema),delete e[a]))}}_addSchema(e,s,a,c=this.opts.validateSchema,h=this.opts.addUsedSchema){let g,{schemaId:m}=this.opts;if(typeof e=="object")g=e[m];else{if(this.opts.jtd)throw new Error("schema must be object");if(typeof e!="boolean")throw new Error("schema must be object or boolean")}let v=this._cache.get(e);if(v!==void 0)return v;a=(0,Mn.normalizeId)(g||a);let b=Mn.getSchemaRefs.call(this,e,a);return v=new jn.SchemaEnv({schema:e,schemaId:m,meta:s,baseId:a,localRefs:b}),this._cache.set(v.schema,v),h&&!a.startsWith("#")&&(a&&this._checkUnique(a),this.refs[a]=v),c&&this.validateSchema(e,!0),v}_checkUnique(e){if(this.schemas[e]||this.refs[e])throw new Error(`schema with key or id "${e}" already exists`)}_compileSchemaEnv(e){if(e.meta?this._compileMetaSchema(e):jn.compileSchema.call(this,e),!e.validate)throw new Error("ajv implementation error");return e.validate}_compileMetaSchema(e){let s=this.opts;this.opts=this._metaOpts;try{jn.compileSchema.call(this,e)}finally{this.opts=s}}};Nn.ValidationError=Wy.default;Nn.MissingRefError=$f.default;SA.default=Nn;function _f(n,e,s,a="error"){for(let c in n){let h=c;h in e&&this.logger[a](`${s}: option ${c}. ${n[h]}`)}}function Ef(n){return n=(0,Mn.normalizeId)(n),this.schemas[n]||this.refs[n]}function iw(){let n=this.opts.schemas;if(n)if(Array.isArray(n))this.addSchema(n);else for(let e in n)this.addSchema(n[e],e)}function ow(){for(let n in this.opts.formats){let e=this.opts.formats[n];e&&this.addFormat(n,e)}}function sw(n){if(Array.isArray(n)){this.addVocabulary(n);return}this.logger.warn("keywords option as map is deprecated, pass array");for(let e in n){let s=n[e];s.keyword||(s.keyword=e),this.addKeyword(s)}}function aw(){let n={...this.opts};for(let e of ew)delete n[e];return n}var uw={log(){},warn(){},error(){}};function lw(n){if(n===!1)return uw;if(n===void 0)return console;if(n.log&&n.warn&&n.error)return n;throw new Error("logger must implement log, warn and error methods")}var fw=/^[a-z_$][a-z0-9_$:-]*$/i;function cw(n,e){let{RULES:s}=this;if((0,Y0.eachItem)(n,a=>{if(s.keywords[a])throw new Error(`Keyword ${a} is already defined`);if(!fw.test(a))throw new Error(`Keyword ${a} has invalid name`)}),!!e&&e.$data&&!("code"in e||"validate"in e))throw new Error('$data keyword must have "code" or "validate" function')}function K0(n,e,s){var a;let c=e?.post;if(s&&c)throw new Error('keyword with "post" flag cannot have "type"');let{RULES:h}=this,g=c?h.post:h.rules.find(({type:v})=>v===s);if(g||(g={type:s,rules:[]},h.rules.push(g)),h.keywords[n]=!0,!e)return;let m={keyword:n,definition:{...e,type:(0,Mi.getJSONTypes)(e.type),schemaType:(0,Mi.getJSONTypes)(e.schemaType)}};e.before?dw.call(this,g,m,e.before):g.rules.push(m),h.all[n]=m,(a=e.implements)===null||a===void 0||a.forEach(v=>this.addKeyword(v))}function dw(n,e,s){let a=n.rules.findIndex(c=>c.keyword===s);a>=0?n.rules.splice(a,0,e):(n.rules.push(e),this.logger.warn(`rule ${s} is not defined`))}function hw(n){let{metaSchema:e}=n;e!==void 0&&(n.$data&&this.opts.$data&&(e=xf(e)),n.validateSchema=this.compile(e,!0))}var pw={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function xf(n){return{anyOf:[n,pw]}}});var Bf=me(W0=>{"use strict";Object.defineProperty(W0,"__esModule",{value:!0});var gw={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};W0.default=gw});var Ii=me(pr=>{"use strict";Object.defineProperty(pr,"__esModule",{value:!0});pr.callRef=pr.getValidate=void 0;var mw=Cn(),Pf=nt(),YA=Ue(),Fr=rt(),Df=Tn(),Ni=Ke(),yw={keyword:"$ref",schemaType:"string",code(n){let{gen:e,schema:s,it:a}=n,{baseId:c,schemaEnv:h,validateName:g,opts:m,self:v}=a,{root:b}=h;if((s==="#"||s==="#/")&&c===b.baseId)return _();let w=Df.resolveRef.call(v,b,c,s);if(w===void 0)throw new mw.default(a.opts.uriResolver,c,s);if(w instanceof Df.SchemaEnv)return $(w);return k(w);function _(){if(h===b)return Ri(n,g,h,h.$async);let T=e.scopeValue("root",{ref:b});return Ri(n,(0,YA._)`${T}.validate`,b,b.$async)}function $(T){let x=Cf(n,T);Ri(n,x,T,T.$async)}function k(T){let x=e.scopeValue("schema",m.code.source===!0?{ref:T,code:(0,YA.stringify)(T)}:{ref:T}),N=e.name("valid"),j=n.subschema({schema:T,dataTypes:[],schemaPath:YA.nil,topSchemaRef:x,errSchemaPath:s},N);n.mergeEvaluated(j),n.ok(N)}}};function Cf(n,e){let{gen:s}=n;return e.validate?s.scopeValue("validate",{ref:e.validate}):(0,YA._)`${s.scopeValue("wrapper",{ref:e})}.validate`}pr.getValidate=Cf;function Ri(n,e,s,a){let{gen:c,it:h}=n,{allErrors:g,schemaEnv:m,opts:v}=h,b=v.passContext?Fr.default.this:YA.nil;a?w():_();function w(){if(!m.$async)throw new Error("async schema referenced by sync schema");let T=c.let("valid");c.try(()=>{c.code((0,YA._)`await ${(0,Pf.callValidateCode)(n,e,b)}`),k(e),g||c.assign(T,!0)},x=>{c.if((0,YA._)`!(${x} instanceof ${h.ValidationError})`,()=>c.throw(x)),$(x),g||c.assign(T,!1)}),n.ok(T)}function _(){n.result((0,Pf.callValidateCode)(n,e,b),()=>k(e),()=>$(e))}function $(T){let x=(0,YA._)`${T}.errors`;c.assign(Fr.default.vErrors,(0,YA._)`${Fr.default.vErrors} === null ? ${x} : ${Fr.default.vErrors}.concat(${x})`),c.assign(Fr.default.errors,(0,YA._)`${Fr.default.vErrors}.length`)}function k(T){var x;if(!h.opts.unevaluated)return;let N=(x=s?.validate)===null||x===void 0?void 0:x.evaluated;if(h.props!==!0)if(N&&!N.dynamicProps)N.props!==void 0&&(h.props=Ni.mergeEvaluated.props(c,N.props,h.props));else{let j=c.var("props",(0,YA._)`${T}.evaluated.props`);h.props=Ni.mergeEvaluated.props(c,j,h.props,YA.Name)}if(h.items!==!0)if(N&&!N.dynamicItems)N.items!==void 0&&(h.items=Ni.mergeEvaluated.items(c,N.items,h.items));else{let j=c.var("items",(0,YA._)`${T}.evaluated.items`);h.items=Ni.mergeEvaluated.items(c,j,h.items,YA.Name)}}}pr.callRef=Ri;pr.default=yw});var Tf=me(J0=>{"use strict";Object.defineProperty(J0,"__esModule",{value:!0});var ww=Bf(),vw=Ii(),bw=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",ww.default,vw.default];J0.default=bw});var Of=me(Z0=>{"use strict";Object.defineProperty(Z0,"__esModule",{value:!0});var Hi=Ue(),zt=Hi.operators,Qi={maximum:{okStr:"<=",ok:zt.LTE,fail:zt.GT},minimum:{okStr:">=",ok:zt.GTE,fail:zt.LT},exclusiveMaximum:{okStr:"<",ok:zt.LT,fail:zt.GTE},exclusiveMinimum:{okStr:">",ok:zt.GT,fail:zt.LTE}},_w={message:({keyword:n,schemaCode:e})=>(0,Hi.str)`must be ${Qi[n].okStr} ${e}`,params:({keyword:n,schemaCode:e})=>(0,Hi._)`{comparison: ${Qi[n].okStr}, limit: ${e}}`},Ew={keyword:Object.keys(Qi),type:"number",schemaType:"number",$data:!0,error:_w,code(n){let{keyword:e,data:s,schemaCode:a}=n;n.fail$data((0,Hi._)`${s} ${Qi[e].fail} ${a} || isNaN(${s})`)}};Z0.default=Ew});var jf=me(X0=>{"use strict";Object.defineProperty(X0,"__esModule",{value:!0});var Rn=Ue(),$w={message:({schemaCode:n})=>(0,Rn.str)`must be multiple of ${n}`,params:({schemaCode:n})=>(0,Rn._)`{multipleOf: ${n}}`},kw={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:$w,code(n){let{gen:e,data:s,schemaCode:a,it:c}=n,h=c.opts.multipleOfPrecision,g=e.let("res"),m=h?(0,Rn._)`Math.abs(Math.round(${g}) - ${g}) > 1e-${h}`:(0,Rn._)`${g} !== parseInt(${g})`;n.fail$data((0,Rn._)`(${a} === 0 || (${g} = ${s}/${a}, ${m}))`)}};X0.default=kw});var Nf=me(es=>{"use strict";Object.defineProperty(es,"__esModule",{value:!0});function Mf(n){let e=n.length,s=0,a=0,c;for(;a<e;)s++,c=n.charCodeAt(a++),c>=55296&&c<=56319&&a<e&&(c=n.charCodeAt(a),(c&64512)===56320&&a++);return s}es.default=Mf;Mf.code='require("ajv/dist/runtime/ucs2length").default'});var Rf=me(As=>{"use strict";Object.defineProperty(As,"__esModule",{value:!0});var gr=Ue(),xw=Ke(),Sw=Nf(),Bw={message({keyword:n,schemaCode:e}){let s=n==="maxLength"?"more":"fewer";return(0,gr.str)`must NOT have ${s} than ${e} characters`},params:({schemaCode:n})=>(0,gr._)`{limit: ${n}}`},Pw={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:Bw,code(n){let{keyword:e,data:s,schemaCode:a,it:c}=n,h=e==="maxLength"?gr.operators.GT:gr.operators.LT,g=c.opts.unicode===!1?(0,gr._)`${s}.length`:(0,gr._)`${(0,xw.useFunc)(n.gen,Sw.default)}(${s})`;n.fail$data((0,gr._)`${g} ${h} ${a}`)}};As.default=Pw});var If=me(ts=>{"use strict";Object.defineProperty(ts,"__esModule",{value:!0});var Dw=nt(),Cw=Ke(),Vr=Ue(),Tw={message:({schemaCode:n})=>(0,Vr.str)`must match pattern "${n}"`,params:({schemaCode:n})=>(0,Vr._)`{pattern: ${n}}`},Ow={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:Tw,code(n){let{gen:e,data:s,$data:a,schema:c,schemaCode:h,it:g}=n,m=g.opts.unicodeRegExp?"u":"";if(a){let{regExp:v}=g.opts.code,b=v.code==="new RegExp"?(0,Vr._)`new RegExp`:(0,Cw.useFunc)(e,v),w=e.let("valid");e.try(()=>e.assign(w,(0,Vr._)`${b}(${h}, ${m}).test(${s})`),()=>e.assign(w,!1)),n.fail$data((0,Vr._)`!${w}`)}else{let v=(0,Dw.usePattern)(n,c);n.fail$data((0,Vr._)`!${v}.test(${s})`)}}};ts.default=Ow});var Hf=me(rs=>{"use strict";Object.defineProperty(rs,"__esModule",{value:!0});var In=Ue(),jw={message({keyword:n,schemaCode:e}){let s=n==="maxProperties"?"more":"fewer";return(0,In.str)`must NOT have ${s} than ${e} properties`},params:({schemaCode:n})=>(0,In._)`{limit: ${n}}`},Mw={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:jw,code(n){let{keyword:e,data:s,schemaCode:a}=n,c=e==="maxProperties"?In.operators.GT:In.operators.LT;n.fail$data((0,In._)`Object.keys(${s}).length ${c} ${a}`)}};rs.default=Mw});var Qf=me(ns=>{"use strict";Object.defineProperty(ns,"__esModule",{value:!0});var Hn=nt(),Qn=Ue(),Nw=Ke(),Rw={message:({params:{missingProperty:n}})=>(0,Qn.str)`must have required property '${n}'`,params:({params:{missingProperty:n}})=>(0,Qn._)`{missingProperty: ${n}}`},Iw={keyword:"required",type:"object",schemaType:"array",$data:!0,error:Rw,code(n){let{gen:e,schema:s,schemaCode:a,data:c,$data:h,it:g}=n,{opts:m}=g;if(!h&&s.length===0)return;let v=s.length>=m.loopRequired;if(g.allErrors?b():w(),m.strictRequired){let k=n.parentSchema.properties,{definedProperties:T}=n.it;for(let x of s)if(k?.[x]===void 0&&!T.has(x)){let N=g.schemaEnv.baseId+g.errSchemaPath,j=`required property "${x}" is not defined at "${N}" (strictRequired)`;(0,Nw.checkStrictMode)(g,j,g.opts.strictRequired)}}function b(){if(v||h)n.block$data(Qn.nil,_);else for(let k of s)(0,Hn.checkReportMissingProp)(n,k)}function w(){let k=e.let("missing");if(v||h){let T=e.let("valid",!0);n.block$data(T,()=>$(k,T)),n.ok(T)}else e.if((0,Hn.checkMissingProp)(n,s,k)),(0,Hn.reportMissingProp)(n,k),e.else()}function _(){e.forOf("prop",a,k=>{n.setParams({missingProperty:k}),e.if((0,Hn.noPropertyInData)(e,c,k,m.ownProperties),()=>n.error())})}function $(k,T){n.setParams({missingProperty:k}),e.forOf(k,a,()=>{e.assign(T,(0,Hn.propertyInData)(e,c,k,m.ownProperties)),e.if((0,Qn.not)(T),()=>{n.error(),e.break()})},Qn.nil)}}};ns.default=Iw});var qf=me(is=>{"use strict";Object.defineProperty(is,"__esModule",{value:!0});var qn=Ue(),Hw={message({keyword:n,schemaCode:e}){let s=n==="maxItems"?"more":"fewer";return(0,qn.str)`must NOT have ${s} than ${e} items`},params:({schemaCode:n})=>(0,qn._)`{limit: ${n}}`},Qw={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:Hw,code(n){let{keyword:e,data:s,schemaCode:a}=n,c=e==="maxItems"?qn.operators.GT:qn.operators.LT;n.fail$data((0,qn._)`${s}.length ${c} ${a}`)}};is.default=Qw});var qi=me(os=>{"use strict";Object.defineProperty(os,"__esModule",{value:!0});var Lf=P0();Lf.code='require("ajv/dist/runtime/equal").default';os.default=Lf});var Uf=me(as=>{"use strict";Object.defineProperty(as,"__esModule",{value:!0});var ss=xn(),BA=Ue(),qw=Ke(),Lw=qi(),Uw={message:({params:{i:n,j:e}})=>(0,BA.str)`must NOT have duplicate items (items ## ${e} and ${n} are identical)`,params:({params:{i:n,j:e}})=>(0,BA._)`{i: ${n}, j: ${e}}`},Gw={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:Uw,code(n){let{gen:e,data:s,$data:a,schema:c,parentSchema:h,schemaCode:g,it:m}=n;if(!a&&!c)return;let v=e.let("valid"),b=h.items?(0,ss.getSchemaTypes)(h.items):[];n.block$data(v,w,(0,BA._)`${g} === false`),n.ok(v);function w(){let T=e.let("i",(0,BA._)`${s}.length`),x=e.let("j");n.setParams({i:T,j:x}),e.assign(v,!0),e.if((0,BA._)`${T} > 1`,()=>(_()?$:k)(T,x))}function _(){return b.length>0&&!b.some(T=>T==="object"||T==="array")}function $(T,x){let N=e.name("item"),j=(0,ss.checkDataTypes)(b,N,m.opts.strictNumbers,ss.DataType.Wrong),q=e.const("indices",(0,BA._)`{}`);e.for((0,BA._)`;${T}--;`,()=>{e.let(N,(0,BA._)`${s}[${T}]`),e.if(j,(0,BA._)`continue`),b.length>1&&e.if((0,BA._)`typeof ${N} == "string"`,(0,BA._)`${N} += "_"`),e.if((0,BA._)`typeof ${q}[${N}] == "number"`,()=>{e.assign(x,(0,BA._)`${q}[${N}]`),n.error(),e.assign(v,!1).break()}).code((0,BA._)`${q}[${N}] = ${T}`)})}function k(T,x){let N=(0,qw.useFunc)(e,Lw.default),j=e.name("outer");e.label(j).for((0,BA._)`;${T}--;`,()=>e.for((0,BA._)`${x} = ${T}; ${x}--;`,()=>e.if((0,BA._)`${N}(${s}[${T}], ${s}[${x}])`,()=>{n.error(),e.assign(v,!1).break(j)})))}}};as.default=Gw});var Gf=me(ls=>{"use strict";Object.defineProperty(ls,"__esModule",{value:!0});var us=Ue(),Fw=Ke(),Vw=qi(),zw={message:"must be equal to constant",params:({schemaCode:n})=>(0,us._)`{allowedValue: ${n}}`},Kw={keyword:"const",$data:!0,error:zw,code(n){let{gen:e,data:s,$data:a,schemaCode:c,schema:h}=n;a||h&&typeof h=="object"?n.fail$data((0,us._)`!${(0,Fw.useFunc)(e,Vw.default)}(${s}, ${c})`):n.fail((0,us._)`${h} !== ${s}`)}};ls.default=Kw});var Ff=me(fs=>{"use strict";Object.defineProperty(fs,"__esModule",{value:!0});var Ln=Ue(),Yw=Ke(),Ww=qi(),Jw={message:"must be equal to one of the allowed values",params:({schemaCode:n})=>(0,Ln._)`{allowedValues: ${n}}`},Zw={keyword:"enum",schemaType:"array",$data:!0,error:Jw,code(n){let{gen:e,data:s,$data:a,schema:c,schemaCode:h,it:g}=n;if(!a&&c.length===0)throw new Error("enum must have non-empty array");let m=c.length>=g.opts.loopEnum,v,b=()=>v??(v=(0,Yw.useFunc)(e,Ww.default)),w;if(m||a)w=e.let("valid"),n.block$data(w,_);else{if(!Array.isArray(c))throw new Error("ajv implementation error");let k=e.const("vSchema",h);w=(0,Ln.or)(...c.map((T,x)=>$(k,x)))}n.pass(w);function _(){e.assign(w,!1),e.forOf("v",h,k=>e.if((0,Ln._)`${b()}(${s}, ${k})`,()=>e.assign(w,!0).break()))}function $(k,T){let x=c[T];return typeof x=="object"&&x!==null?(0,Ln._)`${b()}(${s}, ${k}[${T}])`:(0,Ln._)`${s} === ${x}`}}};fs.default=Zw});var Vf=me(cs=>{"use strict";Object.defineProperty(cs,"__esModule",{value:!0});var Xw=Of(),ev=jf(),Av=Rf(),tv=If(),rv=Hf(),nv=Qf(),iv=qf(),ov=Uf(),sv=Gf(),av=Ff(),uv=[Xw.default,ev.default,Av.default,tv.default,rv.default,nv.default,iv.default,ov.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},sv.default,av.default];cs.default=uv});var hs=me(Un=>{"use strict";Object.defineProperty(Un,"__esModule",{value:!0});Un.validateAdditionalItems=void 0;var mr=Ue(),ds=Ke(),lv={message:({params:{len:n}})=>(0,mr.str)`must NOT have more than ${n} items`,params:({params:{len:n}})=>(0,mr._)`{limit: ${n}}`},fv={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:lv,code(n){let{parentSchema:e,it:s}=n,{items:a}=e;if(!Array.isArray(a)){(0,ds.checkStrictMode)(s,'"additionalItems" is ignored when "items" is not an array of schemas');return}zf(n,a)}};function zf(n,e){let{gen:s,schema:a,data:c,keyword:h,it:g}=n;g.items=!0;let m=s.const("len",(0,mr._)`${c}.length`);if(a===!1)n.setParams({len:e.length}),n.pass((0,mr._)`${m} <= ${e.length}`);else if(typeof a=="object"&&!(0,ds.alwaysValidSchema)(g,a)){let b=s.var("valid",(0,mr._)`${m} <= ${e.length}`);s.if((0,mr.not)(b),()=>v(b)),n.ok(b)}function v(b){s.forRange("i",e.length,m,w=>{n.subschema({keyword:h,dataProp:w,dataPropType:ds.Type.Num},b),g.allErrors||s.if((0,mr.not)(b),()=>s.break())})}}Un.validateAdditionalItems=zf;Un.default=fv});var ps=me(Gn=>{"use strict";Object.defineProperty(Gn,"__esModule",{value:!0});Gn.validateTuple=void 0;var Kf=Ue(),Li=Ke(),cv=nt(),dv={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(n){let{schema:e,it:s}=n;if(Array.isArray(e))return Yf(n,"additionalItems",e);s.items=!0,!(0,Li.alwaysValidSchema)(s,e)&&n.ok((0,cv.validateArray)(n))}};function Yf(n,e,s=n.schema){let{gen:a,parentSchema:c,data:h,keyword:g,it:m}=n;w(c),m.opts.unevaluated&&s.length&&m.items!==!0&&(m.items=Li.mergeEvaluated.items(a,s.length,m.items));let v=a.name("valid"),b=a.const("len",(0,Kf._)`${h}.length`);s.forEach((_,$)=>{(0,Li.alwaysValidSchema)(m,_)||(a.if((0,Kf._)`${b} > ${$}`,()=>n.subschema({keyword:g,schemaProp:$,dataProp:$},v)),n.ok(v))});function w(_){let{opts:$,errSchemaPath:k}=m,T=s.length,x=T===_.minItems&&(T===_.maxItems||_[e]===!1);if($.strictTuples&&!x){let N=`"${g}" is ${T}-tuple, but minItems or maxItems/${e} are not specified or different at path "${k}"`;(0,Li.checkStrictMode)(m,N,$.strictTuples)}}}Gn.validateTuple=Yf;Gn.default=dv});var Wf=me(gs=>{"use strict";Object.defineProperty(gs,"__esModule",{value:!0});var hv=ps(),pv={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:n=>(0,hv.validateTuple)(n,"items")};gs.default=pv});var Zf=me(ms=>{"use strict";Object.defineProperty(ms,"__esModule",{value:!0});var Jf=Ue(),gv=Ke(),mv=nt(),yv=hs(),wv={message:({params:{len:n}})=>(0,Jf.str)`must NOT have more than ${n} items`,params:({params:{len:n}})=>(0,Jf._)`{limit: ${n}}`},vv={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:wv,code(n){let{schema:e,parentSchema:s,it:a}=n,{prefixItems:c}=s;a.items=!0,!(0,gv.alwaysValidSchema)(a,e)&&(c?(0,yv.validateAdditionalItems)(n,c):n.ok((0,mv.validateArray)(n)))}};ms.default=vv});var Xf=me(ys=>{"use strict";Object.defineProperty(ys,"__esModule",{value:!0});var ot=Ue(),Ui=Ke(),bv={message:({params:{min:n,max:e}})=>e===void 0?(0,ot.str)`must contain at least ${n} valid item(s)`:(0,ot.str)`must contain at least ${n} and no more than ${e} valid item(s)`,params:({params:{min:n,max:e}})=>e===void 0?(0,ot._)`{minContains: ${n}}`:(0,ot._)`{minContains: ${n}, maxContains: ${e}}`},_v={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:bv,code(n){let{gen:e,schema:s,parentSchema:a,data:c,it:h}=n,g,m,{minContains:v,maxContains:b}=a;h.opts.next?(g=v===void 0?1:v,m=b):g=1;let w=e.const("len",(0,ot._)`${c}.length`);if(n.setParams({min:g,max:m}),m===void 0&&g===0){(0,Ui.checkStrictMode)(h,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(m!==void 0&&g>m){(0,Ui.checkStrictMode)(h,'"minContains" > "maxContains" is always invalid'),n.fail();return}if((0,Ui.alwaysValidSchema)(h,s)){let x=(0,ot._)`${w} >= ${g}`;m!==void 0&&(x=(0,ot._)`${x} && ${w} <= ${m}`),n.pass(x);return}h.items=!0;let _=e.name("valid");m===void 0&&g===1?k(_,()=>e.if(_,()=>e.break())):g===0?(e.let(_,!0),m!==void 0&&e.if((0,ot._)`${c}.length > 0`,$)):(e.let(_,!1),$()),n.result(_,()=>n.reset());function $(){let x=e.name("_valid"),N=e.let("count",0);k(x,()=>e.if(x,()=>T(N)))}function k(x,N){e.forRange("i",0,w,j=>{n.subschema({keyword:"contains",dataProp:j,dataPropType:Ui.Type.Num,compositeRule:!0},x),N()})}function T(x){e.code((0,ot._)`${x}++`),m===void 0?e.if((0,ot._)`${x} >= ${g}`,()=>e.assign(_,!0).break()):(e.if((0,ot._)`${x} > ${m}`,()=>e.assign(_,!1).break()),g===1?e.assign(_,!0):e.if((0,ot._)`${x} >= ${g}`,()=>e.assign(_,!0)))}}};ys.default=_v});var Gi=me(Et=>{"use strict";Object.defineProperty(Et,"__esModule",{value:!0});Et.validateSchemaDeps=Et.validatePropertyDeps=Et.error=void 0;var ws=Ue(),Ev=Ke(),Fn=nt();Et.error={message:({params:{property:n,depsCount:e,deps:s}})=>{let a=e===1?"property":"properties";return(0,ws.str)`must have ${a} ${s} when property ${n} is present`},params:({params:{property:n,depsCount:e,deps:s,missingProperty:a}})=>(0,ws._)`{property: ${n},
|
|
7
7
|
missingProperty: ${a},
|
|
8
8
|
depsCount: ${e},
|
|
9
|
-
deps: ${s}}`};var $v={keyword:"dependencies",type:"object",schemaType:"object",error:Et.error,code(n){let[e,s]=kv(n);ec(n,e),Ac(n,s)}};function kv({schema:n}){let e={},s={};for(let a in n){if(a==="__proto__")continue;let c=Array.isArray(n[a])?e:s;c[a]=n[a]}return[e,s]}function ec(n,e=n.schema){let{gen:s,data:a,it:c}=n;if(Object.keys(e).length===0)return;let h=s.let("missing");for(let g in e){let m=e[g];if(m.length===0)continue;let v=(0,Fn.propertyInData)(s,a,g,c.opts.ownProperties);n.setParams({property:g,depsCount:m.length,deps:m.join(", ")}),c.allErrors?s.if(v,()=>{for(let b of m)(0,Fn.checkReportMissingProp)(n,b)}):(s.if((0,ws._)`${v} && (${(0,Fn.checkMissingProp)(n,m,h)})`),(0,Fn.reportMissingProp)(n,h),s.else())}}Et.validatePropertyDeps=ec;function Ac(n,e=n.schema){let{gen:s,data:a,keyword:c,it:h}=n,g=s.name("valid");for(let m in e)(0,Ev.alwaysValidSchema)(h,e[m])||(s.if((0,Fn.propertyInData)(s,a,m,h.opts.ownProperties),()=>{let v=n.subschema({keyword:c,schemaProp:m},g);n.mergeValidEvaluated(v,g)},()=>s.var(g,!0)),n.ok(g))}Et.validateSchemaDeps=Ac;Et.default=$v});var rc=me(vs=>{"use strict";Object.defineProperty(vs,"__esModule",{value:!0});var tc=Ue(),xv=Ke(),Sv={message:"property name must be valid",params:({params:n})=>(0,tc._)`{propertyName: ${n.propertyName}}`},Bv={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:Sv,code(n){let{gen:e,schema:s,data:a,it:c}=n;if((0,xv.alwaysValidSchema)(c,s))return;let h=e.name("valid");e.forIn("key",a,g=>{n.setParams({propertyName:g}),n.subschema({keyword:"propertyNames",data:g,dataTypes:["string"],propertyName:g,compositeRule:!0},h),e.if((0,tc.not)(h),()=>{n.error(!0),c.allErrors||e.break()})}),n.ok(h)}};vs.default=Bv});var _s=me(bs=>{"use strict";Object.defineProperty(bs,"__esModule",{value:!0});var Fi=nt(),ft=Ue(),Pv=rt(),Vi=Ke(),Dv={message:"must NOT have additional properties",params:({params:n})=>(0,ft._)`{additionalProperty: ${n.additionalProperty}}`},Cv={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:Dv,code(n){let{gen:e,schema:s,parentSchema:a,data:c,errsCount:h,it:g}=n;if(!h)throw new Error("ajv implementation error");let{allErrors:m,opts:v}=g;if(g.props=!0,v.removeAdditional!=="all"&&(0,Vi.alwaysValidSchema)(g,s))return;let b=(0,Fi.allSchemaProperties)(a.properties),w=(0,Fi.allSchemaProperties)(a.patternProperties);E(),n.ok((0,ft._)`${h} === ${Pv.default.errors}`);function E(){e.forIn("key",c,M=>{!b.length&&!w.length?T(M):e.if($(M),()=>T(M))})}function $(M){let N;if(b.length>8){let q=(0,Vi.schemaRefOrVal)(g,a.properties,"properties");N=(0,Fi.isOwnProperty)(e,q,M)}else b.length?N=(0,ft.or)(...b.map(q=>(0,ft._)`${M} === ${q}`)):N=ft.nil;return w.length&&(N=(0,ft.or)(N,...w.map(q=>(0,ft._)`${(0,Fi.usePattern)(n,q)}.test(${M})`))),(0,ft.not)(N)}function k(M){e.code((0,ft._)`delete ${c}[${M}]`)}function T(M){if(v.removeAdditional==="all"||v.removeAdditional&&s===!1){k(M);return}if(s===!1){n.setParams({additionalProperty:M}),n.error(),m||e.break();return}if(typeof s=="object"&&!(0,Vi.alwaysValidSchema)(g,s)){let N=e.name("valid");v.removeAdditional==="failing"?(x(M,N,!1),e.if((0,ft.not)(N),()=>{n.reset(),k(M)})):(x(M,N),m||e.if((0,ft.not)(N),()=>e.break()))}}function x(M,N,q){let L={keyword:"additionalProperties",dataProp:M,dataPropType:Vi.Type.Str};q===!1&&Object.assign(L,{compositeRule:!0,createErrors:!1,allErrors:!1}),n.subschema(L,N)}}};bs.default=Cv});var oc=me($s=>{"use strict";Object.defineProperty($s,"__esModule",{value:!0});var Tv=Dn(),nc=nt(),Es=Ke(),ic=_s(),Ov={keyword:"properties",type:"object",schemaType:"object",code(n){let{gen:e,schema:s,parentSchema:a,data:c,it:h}=n;h.opts.removeAdditional==="all"&&a.additionalProperties===void 0&&ic.default.code(new Tv.KeywordCxt(h,ic.default,"additionalProperties"));let g=(0,nc.allSchemaProperties)(s);for(let E of g)h.definedProperties.add(E);h.opts.unevaluated&&g.length&&h.props!==!0&&(h.props=Es.mergeEvaluated.props(e,(0,Es.toHash)(g),h.props));let m=g.filter(E=>!(0,Es.alwaysValidSchema)(h,s[E]));if(m.length===0)return;let v=e.name("valid");for(let E of m)b(E)?w(E):(e.if((0,nc.propertyInData)(e,c,E,h.opts.ownProperties)),w(E),h.allErrors||e.else().var(v,!0),e.endIf()),n.it.definedProperties.add(E),n.ok(v);function b(E){return h.opts.useDefaults&&!h.compositeRule&&s[E].default!==void 0}function w(E){n.subschema({keyword:"properties",schemaProp:E,dataProp:E},v)}}};$s.default=Ov});var lc=me(ks=>{"use strict";Object.defineProperty(ks,"__esModule",{value:!0});var sc=nt(),zi=Ue(),ac=Ke(),uc=Ke(),jv={keyword:"patternProperties",type:"object",schemaType:"object",code(n){let{gen:e,schema:s,data:a,parentSchema:c,it:h}=n,{opts:g}=h,m=(0,sc.allSchemaProperties)(s),v=m.filter(x=>(0,ac.alwaysValidSchema)(h,s[x]));if(m.length===0||v.length===m.length&&(!h.opts.unevaluated||h.props===!0))return;let b=g.strictSchema&&!g.allowMatchingProperties&&c.properties,w=e.name("valid");h.props!==!0&&!(h.props instanceof zi.Name)&&(h.props=(0,uc.evaluatedPropsToName)(e,h.props));let{props:E}=h;$();function $(){for(let x of m)b&&k(x),h.allErrors?T(x):(e.var(w,!0),T(x),e.if(w))}function k(x){for(let M in b)new RegExp(x).test(M)&&(0,ac.checkStrictMode)(h,`property ${M} matches pattern ${x} (use allowMatchingProperties)`)}function T(x){e.forIn("key",a,M=>{e.if((0,zi._)`${(0,sc.usePattern)(n,x)}.test(${M})`,()=>{let N=v.includes(x);N||n.subschema({keyword:"patternProperties",schemaProp:x,dataProp:M,dataPropType:uc.Type.Str},w),h.opts.unevaluated&&E!==!0?e.assign((0,zi._)`${E}[${M}]`,!0):!N&&!h.allErrors&&e.if((0,zi.not)(w),()=>e.break())})})}}};ks.default=jv});var fc=me(xs=>{"use strict";Object.defineProperty(xs,"__esModule",{value:!0});var Nv=Ke(),Mv={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(n){let{gen:e,schema:s,it:a}=n;if((0,Nv.alwaysValidSchema)(a,s)){n.fail();return}let c=e.name("valid");n.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},c),n.failResult(c,()=>n.reset(),()=>n.error())},error:{message:"must NOT be valid"}};xs.default=Mv});var cc=me(Ss=>{"use strict";Object.defineProperty(Ss,"__esModule",{value:!0});var Rv=nt(),Iv={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:Rv.validateUnion,error:{message:"must match a schema in anyOf"}};Ss.default=Iv});var dc=me(Bs=>{"use strict";Object.defineProperty(Bs,"__esModule",{value:!0});var Ki=Ue(),Hv=Ke(),Qv={message:"must match exactly one schema in oneOf",params:({params:n})=>(0,Ki._)`{passingSchemas: ${n.passing}}`},qv={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:Qv,code(n){let{gen:e,schema:s,parentSchema:a,it:c}=n;if(!Array.isArray(s))throw new Error("ajv implementation error");if(c.opts.discriminator&&a.discriminator)return;let h=s,g=e.let("valid",!1),m=e.let("passing",null),v=e.name("_valid");n.setParams({passing:m}),e.block(b),n.result(g,()=>n.reset(),()=>n.error(!0));function b(){h.forEach((w,E)=>{let $;(0,Hv.alwaysValidSchema)(c,w)?e.var(v,!0):$=n.subschema({keyword:"oneOf",schemaProp:E,compositeRule:!0},v),E>0&&e.if((0,Ki._)`${v} && ${g}`).assign(g,!1).assign(m,(0,Ki._)`[${m}, ${E}]`).else(),e.if(v,()=>{e.assign(g,!0),e.assign(m,E),$&&n.mergeEvaluated($,Ki.Name)})})}}};Bs.default=qv});var hc=me(Ps=>{"use strict";Object.defineProperty(Ps,"__esModule",{value:!0});var Lv=Ke(),Uv={keyword:"allOf",schemaType:"array",code(n){let{gen:e,schema:s,it:a}=n;if(!Array.isArray(s))throw new Error("ajv implementation error");let c=e.name("valid");s.forEach((h,g)=>{if((0,Lv.alwaysValidSchema)(a,h))return;let m=n.subschema({keyword:"allOf",schemaProp:g},c);n.ok(c),n.mergeEvaluated(m)})}};Ps.default=Uv});var mc=me(Ds=>{"use strict";Object.defineProperty(Ds,"__esModule",{value:!0});var Yi=Ue(),gc=Ke(),Gv={message:({params:n})=>(0,Yi.str)`must match "${n.ifClause}" schema`,params:({params:n})=>(0,Yi._)`{failingKeyword: ${n.ifClause}}`},Fv={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:Gv,code(n){let{gen:e,parentSchema:s,it:a}=n;s.then===void 0&&s.else===void 0&&(0,gc.checkStrictMode)(a,'"if" without "then" and "else" is ignored');let c=pc(a,"then"),h=pc(a,"else");if(!c&&!h)return;let g=e.let("valid",!0),m=e.name("_valid");if(v(),n.reset(),c&&h){let w=e.let("ifClause");n.setParams({ifClause:w}),e.if(m,b("then",w),b("else",w))}else c?e.if(m,b("then")):e.if((0,Yi.not)(m),b("else"));n.pass(g,()=>n.error(!0));function v(){let w=n.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},m);n.mergeEvaluated(w)}function b(w,E){return()=>{let $=n.subschema({keyword:w},m);e.assign(g,m),n.mergeValidEvaluated($,g),E?e.assign(E,(0,Yi._)`${w}`):n.setParams({ifClause:w})}}}};function pc(n,e){let s=n.schema[e];return s!==void 0&&!(0,gc.alwaysValidSchema)(n,s)}Ds.default=Fv});var yc=me(Cs=>{"use strict";Object.defineProperty(Cs,"__esModule",{value:!0});var Vv=Ke(),zv={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:n,parentSchema:e,it:s}){e.if===void 0&&(0,Vv.checkStrictMode)(s,`"${n}" without "if" is ignored`)}};Cs.default=zv});var wc=me(Ts=>{"use strict";Object.defineProperty(Ts,"__esModule",{value:!0});var Kv=hs(),Yv=Wf(),Wv=ps(),Jv=Zf(),Zv=Xf(),Xv=Gi(),eb=rc(),Ab=_s(),tb=oc(),rb=lc(),nb=fc(),ib=cc(),ob=dc(),sb=hc(),ab=mc(),ub=yc();function lb(n=!1){let e=[nb.default,ib.default,ob.default,sb.default,ab.default,ub.default,eb.default,Ab.default,Xv.default,tb.default,rb.default];return n?e.push(Yv.default,Jv.default):e.push(Kv.default,Wv.default),e.push(Zv.default),e}Ts.default=lb});var vc=me(Os=>{"use strict";Object.defineProperty(Os,"__esModule",{value:!0});var mA=Ue(),fb={message:({schemaCode:n})=>(0,mA.str)`must match format "${n}"`,params:({schemaCode:n})=>(0,mA._)`{format: ${n}}`},cb={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:fb,code(n,e){let{gen:s,data:a,$data:c,schema:h,schemaCode:g,it:m}=n,{opts:v,errSchemaPath:b,schemaEnv:w,self:E}=m;if(!v.validateFormats)return;c?$():k();function $(){let T=s.scopeValue("formats",{ref:E.formats,code:v.code.formats}),x=s.const("fDef",(0,mA._)`${T}[${g}]`),M=s.let("fType"),N=s.let("format");s.if((0,mA._)`typeof ${x} == "object" && !(${x} instanceof RegExp)`,()=>s.assign(M,(0,mA._)`${x}.type || "string"`).assign(N,(0,mA._)`${x}.validate`),()=>s.assign(M,(0,mA._)`"string"`).assign(N,x)),n.fail$data((0,mA.or)(q(),L()));function q(){return v.strictSchema===!1?mA.nil:(0,mA._)`${g} && !${N}`}function L(){let G=w.$async?(0,mA._)`(${x}.async ? await ${N}(${a}) : ${N}(${a}))`:(0,mA._)`${N}(${a})`,V=(0,mA._)`(typeof ${N} == "function" ? ${G} : ${N}.test(${a}))`;return(0,mA._)`${N} && ${N} !== true && ${M} === ${e} && !${V}`}}function k(){let T=E.formats[h];if(!T){q();return}if(T===!0)return;let[x,M,N]=L(T);x===e&&n.pass(G());function q(){if(v.strictSchema===!1){E.logger.warn(V());return}throw new Error(V());function V(){return`unknown format "${h}" ignored in schema at path "${b}"`}}function L(V){let Y=V instanceof RegExp?(0,mA.regexpCode)(V):v.code.formats?(0,mA._)`${v.code.formats}${(0,mA.getProperty)(h)}`:void 0,fe=s.scopeValue("formats",{key:h,ref:V,code:Y});return typeof V=="object"&&!(V instanceof RegExp)?[V.type||"string",V.validate,(0,mA._)`${fe}.validate`]:["string",V,fe]}function G(){if(typeof T=="object"&&!(T instanceof RegExp)&&T.async){if(!w.$async)throw new Error("async format in sync schema");return(0,mA._)`await ${N}(${a})`}return typeof M=="function"?(0,mA._)`${N}(${a})`:(0,mA._)`${N}.test(${a})`}}}};Os.default=cb});var bc=me(js=>{"use strict";Object.defineProperty(js,"__esModule",{value:!0});var db=vc(),hb=[db.default];js.default=hb});var _c=me(zr=>{"use strict";Object.defineProperty(zr,"__esModule",{value:!0});zr.contentVocabulary=zr.metadataVocabulary=void 0;zr.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];zr.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]});var $c=me(Ns=>{"use strict";Object.defineProperty(Ns,"__esModule",{value:!0});var pb=Tf(),gb=Vf(),mb=wc(),yb=bc(),Ec=_c(),wb=[pb.default,gb.default,(0,mb.default)(),yb.default,Ec.metadataVocabulary,Ec.contentVocabulary];Ns.default=wb});var Rs=me(Vn=>{"use strict";Object.defineProperty(Vn,"__esModule",{value:!0});Vn.dynamicAnchor=void 0;var Ms=Ue(),vb=rt(),kc=Tn(),bb=Ii(),_b={keyword:"$dynamicAnchor",schemaType:"string",code:n=>xc(n,n.schema)};function xc(n,e){let{gen:s,it:a}=n;a.schemaEnv.root.dynamicAnchors[e]=!0;let c=(0,Ms._)`${vb.default.dynamicAnchors}${(0,Ms.getProperty)(e)}`,h=a.errSchemaPath==="#"?a.validateName:Eb(n);s.if((0,Ms._)`!${c}`,()=>s.assign(c,h))}Vn.dynamicAnchor=xc;function Eb(n){let{schemaEnv:e,schema:s,self:a}=n.it,{root:c,baseId:h,localRefs:g,meta:m}=e.root,{schemaId:v}=a.opts,b=new kc.SchemaEnv({schema:s,schemaId:v,root:c,baseId:h,localRefs:g,meta:m});return kc.compileSchema.call(a,b),(0,bb.getValidate)(n,b)}Vn.default=_b});var Is=me(zn=>{"use strict";Object.defineProperty(zn,"__esModule",{value:!0});zn.dynamicRef=void 0;var Sc=Ue(),$b=rt(),Bc=Ii(),kb={keyword:"$dynamicRef",schemaType:"string",code:n=>Pc(n,n.schema)};function Pc(n,e){let{gen:s,keyword:a,it:c}=n;if(e[0]!=="#")throw new Error(`"${a}" only supports hash fragment reference`);let h=e.slice(1);if(c.allErrors)g();else{let v=s.let("valid",!1);g(v),n.ok(v)}function g(v){if(c.schemaEnv.root.dynamicAnchors[h]){let b=s.let("_v",(0,Sc._)`${$b.default.dynamicAnchors}${(0,Sc.getProperty)(h)}`);s.if(b,m(b,v),m(c.validateName,v))}else m(c.validateName,v)()}function m(v,b){return b?()=>s.block(()=>{(0,Bc.callRef)(n,v),s.let(b,!0)}):()=>(0,Bc.callRef)(n,v)}}zn.dynamicRef=Pc;zn.default=kb});var Dc=me(Hs=>{"use strict";Object.defineProperty(Hs,"__esModule",{value:!0});var xb=Rs(),Sb=Ke(),Bb={keyword:"$recursiveAnchor",schemaType:"boolean",code(n){n.schema?(0,xb.dynamicAnchor)(n,""):(0,Sb.checkStrictMode)(n.it,"$recursiveAnchor: false is ignored")}};Hs.default=Bb});var Cc=me(Qs=>{"use strict";Object.defineProperty(Qs,"__esModule",{value:!0});var Pb=Is(),Db={keyword:"$recursiveRef",schemaType:"string",code:n=>(0,Pb.dynamicRef)(n,n.schema)};Qs.default=Db});var Tc=me(qs=>{"use strict";Object.defineProperty(qs,"__esModule",{value:!0});var Cb=Rs(),Tb=Is(),Ob=Dc(),jb=Cc(),Nb=[Cb.default,Tb.default,Ob.default,jb.default];qs.default=Nb});var jc=me(Ls=>{"use strict";Object.defineProperty(Ls,"__esModule",{value:!0});var Oc=Gi(),Mb={keyword:"dependentRequired",type:"object",schemaType:"object",error:Oc.error,code:n=>(0,Oc.validatePropertyDeps)(n)};Ls.default=Mb});var Nc=me(Us=>{"use strict";Object.defineProperty(Us,"__esModule",{value:!0});var Rb=Gi(),Ib={keyword:"dependentSchemas",type:"object",schemaType:"object",code:n=>(0,Rb.validateSchemaDeps)(n)};Us.default=Ib});var Mc=me(Gs=>{"use strict";Object.defineProperty(Gs,"__esModule",{value:!0});var Hb=Ke(),Qb={keyword:["maxContains","minContains"],type:"array",schemaType:"number",code({keyword:n,parentSchema:e,it:s}){e.contains===void 0&&(0,Hb.checkStrictMode)(s,`"${n}" without "contains" is ignored`)}};Gs.default=Qb});var Rc=me(Fs=>{"use strict";Object.defineProperty(Fs,"__esModule",{value:!0});var qb=jc(),Lb=Nc(),Ub=Mc(),Gb=[qb.default,Lb.default,Ub.default];Fs.default=Gb});var Hc=me(Vs=>{"use strict";Object.defineProperty(Vs,"__esModule",{value:!0});var Kt=Ue(),Ic=Ke(),Fb=rt(),Vb={message:"must NOT have unevaluated properties",params:({params:n})=>(0,Kt._)`{unevaluatedProperty: ${n.unevaluatedProperty}}`},zb={keyword:"unevaluatedProperties",type:"object",schemaType:["boolean","object"],trackErrors:!0,error:Vb,code(n){let{gen:e,schema:s,data:a,errsCount:c,it:h}=n;if(!c)throw new Error("ajv implementation error");let{allErrors:g,props:m}=h;m instanceof Kt.Name?e.if((0,Kt._)`${m} !== true`,()=>e.forIn("key",a,E=>e.if(b(m,E),()=>v(E)))):m!==!0&&e.forIn("key",a,E=>m===void 0?v(E):e.if(w(m,E),()=>v(E))),h.props=!0,n.ok((0,Kt._)`${c} === ${Fb.default.errors}`);function v(E){if(s===!1){n.setParams({unevaluatedProperty:E}),n.error(),g||e.break();return}if(!(0,Ic.alwaysValidSchema)(h,s)){let $=e.name("valid");n.subschema({keyword:"unevaluatedProperties",dataProp:E,dataPropType:Ic.Type.Str},$),g||e.if((0,Kt.not)($),()=>e.break())}}function b(E,$){return(0,Kt._)`!${E} || !${E}[${$}]`}function w(E,$){let k=[];for(let T in E)E[T]===!0&&k.push((0,Kt._)`${$} !== ${T}`);return(0,Kt.and)(...k)}}};Vs.default=zb});var qc=me(zs=>{"use strict";Object.defineProperty(zs,"__esModule",{value:!0});var yr=Ue(),Qc=Ke(),Kb={message:({params:{len:n}})=>(0,yr.str)`must NOT have more than ${n} items`,params:({params:{len:n}})=>(0,yr._)`{limit: ${n}}`},Yb={keyword:"unevaluatedItems",type:"array",schemaType:["boolean","object"],error:Kb,code(n){let{gen:e,schema:s,data:a,it:c}=n,h=c.items||0;if(h===!0)return;let g=e.const("len",(0,yr._)`${a}.length`);if(s===!1)n.setParams({len:h}),n.fail((0,yr._)`${g} > ${h}`);else if(typeof s=="object"&&!(0,Qc.alwaysValidSchema)(c,s)){let v=e.var("valid",(0,yr._)`${g} <= ${h}`);e.if((0,yr.not)(v),()=>m(v,h)),n.ok(v)}c.items=!0;function m(v,b){e.forRange("i",b,g,w=>{n.subschema({keyword:"unevaluatedItems",dataProp:w,dataPropType:Qc.Type.Num},v),c.allErrors||e.if((0,yr.not)(v),()=>e.break())})}}};zs.default=Yb});var Lc=me(Ks=>{"use strict";Object.defineProperty(Ks,"__esModule",{value:!0});var Wb=Hc(),Jb=qc(),Zb=[Wb.default,Jb.default];Ks.default=Zb});var Gc=me(Wi=>{"use strict";Object.defineProperty(Wi,"__esModule",{value:!0});Wi.DiscrError=void 0;var Uc;(function(n){n.Tag="tag",n.Mapping="mapping"})(Uc||(Wi.DiscrError=Uc={}))});var Vc=me(Ws=>{"use strict";Object.defineProperty(Ws,"__esModule",{value:!0});var Kr=Ue(),Ys=Gc(),Fc=Tn(),Xb=Cn(),e4=Ke(),A4={message:({params:{discrError:n,tagName:e}})=>n===Ys.DiscrError.Tag?`tag "${e}" must be string`:`value of tag "${e}" must be in oneOf`,params:({params:{discrError:n,tag:e,tagName:s}})=>(0,Kr._)`{error: ${n}, tag: ${s}, tagValue: ${e}}`},t4={keyword:"discriminator",type:"object",schemaType:"object",error:A4,code(n){let{gen:e,data:s,schema:a,parentSchema:c,it:h}=n,{oneOf:g}=c;if(!h.opts.discriminator)throw new Error("discriminator: requires discriminator option");let m=a.propertyName;if(typeof m!="string")throw new Error("discriminator: requires propertyName");if(a.mapping)throw new Error("discriminator: mapping is not supported");if(!g)throw new Error("discriminator: requires oneOf keyword");let v=e.let("valid",!1),b=e.const("tag",(0,Kr._)`${s}${(0,Kr.getProperty)(m)}`);e.if((0,Kr._)`typeof ${b} == "string"`,()=>w(),()=>n.error(!1,{discrError:Ys.DiscrError.Tag,tag:b,tagName:m})),n.ok(v);function w(){let k=$();e.if(!1);for(let T in k)e.elseIf((0,Kr._)`${b} === ${T}`),e.assign(v,E(k[T]));e.else(),n.error(!1,{discrError:Ys.DiscrError.Mapping,tag:b,tagName:m}),e.endIf()}function E(k){let T=e.name("valid"),x=n.subschema({keyword:"oneOf",schemaProp:k},T);return n.mergeEvaluated(x,Kr.Name),T}function $(){var k;let T={},x=N(c),M=!0;for(let G=0;G<g.length;G++){let V=g[G];if(V?.$ref&&!(0,e4.schemaHasRulesButRef)(V,h.self.RULES)){let fe=V.$ref;if(V=Fc.resolveRef.call(h.self,h.schemaEnv.root,h.baseId,fe),V instanceof Fc.SchemaEnv&&(V=V.schema),V===void 0)throw new Xb.default(h.opts.uriResolver,h.baseId,fe)}let Y=(k=V?.properties)===null||k===void 0?void 0:k[m];if(typeof Y!="object")throw new Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${m}"`);M=M&&(x||N(V)),q(Y,G)}if(!M)throw new Error(`discriminator: "${m}" must be required`);return T;function N({required:G}){return Array.isArray(G)&&G.includes(m)}function q(G,V){if(G.const)L(G.const,V);else if(G.enum)for(let Y of G.enum)L(Y,V);else throw new Error(`discriminator: "properties/${m}" must have "const" or "enum"`)}function L(G,V){if(typeof G!="string"||G in T)throw new Error(`discriminator: "${m}" values must be unique strings`);T[G]=V}}}};Ws.default=t4});var zc=me((rE,r4)=>{r4.exports={$schema:"https://json-schema.org/draft/2019-09/schema",$id:"https://json-schema.org/draft/2019-09/schema",$vocabulary:{"https://json-schema.org/draft/2019-09/vocab/core":!0,"https://json-schema.org/draft/2019-09/vocab/applicator":!0,"https://json-schema.org/draft/2019-09/vocab/validation":!0,"https://json-schema.org/draft/2019-09/vocab/meta-data":!0,"https://json-schema.org/draft/2019-09/vocab/format":!1,"https://json-schema.org/draft/2019-09/vocab/content":!0},$recursiveAnchor:!0,title:"Core and Validation specifications meta-schema",allOf:[{$ref:"meta/core"},{$ref:"meta/applicator"},{$ref:"meta/validation"},{$ref:"meta/meta-data"},{$ref:"meta/format"},{$ref:"meta/content"}],type:["object","boolean"],properties:{definitions:{$comment:"While no longer an official keyword as it is replaced by $defs, this keyword is retained in the meta-schema to prevent incompatible extensions as it remains in common use.",type:"object",additionalProperties:{$recursiveRef:"#"},default:{}},dependencies:{$comment:'"dependencies" is no longer a keyword, but schema authors should avoid redefining it to facilitate a smooth transition to "dependentSchemas" and "dependentRequired"',type:"object",additionalProperties:{anyOf:[{$recursiveRef:"#"},{$ref:"meta/validation#/$defs/stringArray"}]}}}}});var Kc=me((nE,n4)=>{n4.exports={$schema:"https://json-schema.org/draft/2019-09/schema",$id:"https://json-schema.org/draft/2019-09/meta/applicator",$vocabulary:{"https://json-schema.org/draft/2019-09/vocab/applicator":!0},$recursiveAnchor:!0,title:"Applicator vocabulary meta-schema",type:["object","boolean"],properties:{additionalItems:{$recursiveRef:"#"},unevaluatedItems:{$recursiveRef:"#"},items:{anyOf:[{$recursiveRef:"#"},{$ref:"#/$defs/schemaArray"}]},contains:{$recursiveRef:"#"},additionalProperties:{$recursiveRef:"#"},unevaluatedProperties:{$recursiveRef:"#"},properties:{type:"object",additionalProperties:{$recursiveRef:"#"},default:{}},patternProperties:{type:"object",additionalProperties:{$recursiveRef:"#"},propertyNames:{format:"regex"},default:{}},dependentSchemas:{type:"object",additionalProperties:{$recursiveRef:"#"}},propertyNames:{$recursiveRef:"#"},if:{$recursiveRef:"#"},then:{$recursiveRef:"#"},else:{$recursiveRef:"#"},allOf:{$ref:"#/$defs/schemaArray"},anyOf:{$ref:"#/$defs/schemaArray"},oneOf:{$ref:"#/$defs/schemaArray"},not:{$recursiveRef:"#"}},$defs:{schemaArray:{type:"array",minItems:1,items:{$recursiveRef:"#"}}}}});var Yc=me((iE,i4)=>{i4.exports={$schema:"https://json-schema.org/draft/2019-09/schema",$id:"https://json-schema.org/draft/2019-09/meta/content",$vocabulary:{"https://json-schema.org/draft/2019-09/vocab/content":!0},$recursiveAnchor:!0,title:"Content vocabulary meta-schema",type:["object","boolean"],properties:{contentMediaType:{type:"string"},contentEncoding:{type:"string"},contentSchema:{$recursiveRef:"#"}}}});var Wc=me((oE,o4)=>{o4.exports={$schema:"https://json-schema.org/draft/2019-09/schema",$id:"https://json-schema.org/draft/2019-09/meta/core",$vocabulary:{"https://json-schema.org/draft/2019-09/vocab/core":!0},$recursiveAnchor:!0,title:"Core vocabulary meta-schema",type:["object","boolean"],properties:{$id:{type:"string",format:"uri-reference",$comment:"Non-empty fragments not allowed.",pattern:"^[^#]*#?$"},$schema:{type:"string",format:"uri"},$anchor:{type:"string",pattern:"^[A-Za-z][-A-Za-z0-9.:_]*$"},$ref:{type:"string",format:"uri-reference"},$recursiveRef:{type:"string",format:"uri-reference"},$recursiveAnchor:{type:"boolean",default:!1},$vocabulary:{type:"object",propertyNames:{type:"string",format:"uri"},additionalProperties:{type:"boolean"}},$comment:{type:"string"},$defs:{type:"object",additionalProperties:{$recursiveRef:"#"},default:{}}}}});var Jc=me((sE,s4)=>{s4.exports={$schema:"https://json-schema.org/draft/2019-09/schema",$id:"https://json-schema.org/draft/2019-09/meta/format",$vocabulary:{"https://json-schema.org/draft/2019-09/vocab/format":!0},$recursiveAnchor:!0,title:"Format vocabulary meta-schema",type:["object","boolean"],properties:{format:{type:"string"}}}});var Zc=me((aE,a4)=>{a4.exports={$schema:"https://json-schema.org/draft/2019-09/schema",$id:"https://json-schema.org/draft/2019-09/meta/meta-data",$vocabulary:{"https://json-schema.org/draft/2019-09/vocab/meta-data":!0},$recursiveAnchor:!0,title:"Meta-data vocabulary meta-schema",type:["object","boolean"],properties:{title:{type:"string"},description:{type:"string"},default:!0,deprecated:{type:"boolean",default:!1},readOnly:{type:"boolean",default:!1},writeOnly:{type:"boolean",default:!1},examples:{type:"array",items:!0}}}});var Xc=me((uE,u4)=>{u4.exports={$schema:"https://json-schema.org/draft/2019-09/schema",$id:"https://json-schema.org/draft/2019-09/meta/validation",$vocabulary:{"https://json-schema.org/draft/2019-09/vocab/validation":!0},$recursiveAnchor:!0,title:"Validation vocabulary meta-schema",type:["object","boolean"],properties:{multipleOf:{type:"number",exclusiveMinimum:0},maximum:{type:"number"},exclusiveMaximum:{type:"number"},minimum:{type:"number"},exclusiveMinimum:{type:"number"},maxLength:{$ref:"#/$defs/nonNegativeInteger"},minLength:{$ref:"#/$defs/nonNegativeIntegerDefault0"},pattern:{type:"string",format:"regex"},maxItems:{$ref:"#/$defs/nonNegativeInteger"},minItems:{$ref:"#/$defs/nonNegativeIntegerDefault0"},uniqueItems:{type:"boolean",default:!1},maxContains:{$ref:"#/$defs/nonNegativeInteger"},minContains:{$ref:"#/$defs/nonNegativeInteger",default:1},maxProperties:{$ref:"#/$defs/nonNegativeInteger"},minProperties:{$ref:"#/$defs/nonNegativeIntegerDefault0"},required:{$ref:"#/$defs/stringArray"},dependentRequired:{type:"object",additionalProperties:{$ref:"#/$defs/stringArray"}},const:!0,enum:{type:"array",items:!0},type:{anyOf:[{$ref:"#/$defs/simpleTypes"},{type:"array",items:{$ref:"#/$defs/simpleTypes"},minItems:1,uniqueItems:!0}]}},$defs:{nonNegativeInteger:{type:"integer",minimum:0},nonNegativeIntegerDefault0:{$ref:"#/$defs/nonNegativeInteger",default:0},simpleTypes:{enum:["array","boolean","integer","null","number","object","string"]},stringArray:{type:"array",items:{type:"string"},uniqueItems:!0,default:[]}}}});var ed=me(Js=>{"use strict";Object.defineProperty(Js,"__esModule",{value:!0});var l4=zc(),f4=Kc(),c4=Yc(),d4=Wc(),h4=Jc(),p4=Zc(),g4=Xc(),m4=["/properties"];function y4(n){return[l4,f4,c4,d4,e(this,h4),p4,e(this,g4)].forEach(s=>this.addMetaSchema(s,void 0,!1)),this;function e(s,a){return n?s.$dataMetaSchema(a,m4):a}}Js.default=y4});var Ad=me((hA,Xs)=>{"use strict";Object.defineProperty(hA,"__esModule",{value:!0});hA.MissingRefError=hA.ValidationError=hA.CodeGen=hA.Name=hA.nil=hA.stringify=hA.str=hA._=hA.KeywordCxt=hA.Ajv2019=void 0;var w4=Sf(),v4=$c(),b4=Tc(),_4=Rc(),E4=Lc(),$4=Vc(),k4=ed(),Zs="https://json-schema.org/draft/2019-09/schema",Yr=class extends w4.default{constructor(e={}){super({...e,dynamicRef:!0,next:!0,unevaluated:!0})}_addVocabularies(){super._addVocabularies(),this.addVocabulary(b4.default),v4.default.forEach(e=>this.addVocabulary(e)),this.addVocabulary(_4.default),this.addVocabulary(E4.default),this.opts.discriminator&&this.addKeyword($4.default)}_addDefaultMetaSchema(){super._addDefaultMetaSchema();let{$data:e,meta:s}=this.opts;s&&(k4.default.call(this,e),this.refs["http://json-schema.org/schema"]=Zs)}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(Zs)?Zs:void 0)}};hA.Ajv2019=Yr;Xs.exports=hA=Yr;Xs.exports.Ajv2019=Yr;Object.defineProperty(hA,"__esModule",{value:!0});hA.default=Yr;var x4=Dn();Object.defineProperty(hA,"KeywordCxt",{enumerable:!0,get:function(){return x4.KeywordCxt}});var Wr=Ue();Object.defineProperty(hA,"_",{enumerable:!0,get:function(){return Wr._}});Object.defineProperty(hA,"str",{enumerable:!0,get:function(){return Wr.str}});Object.defineProperty(hA,"stringify",{enumerable:!0,get:function(){return Wr.stringify}});Object.defineProperty(hA,"nil",{enumerable:!0,get:function(){return Wr.nil}});Object.defineProperty(hA,"Name",{enumerable:!0,get:function(){return Wr.Name}});Object.defineProperty(hA,"CodeGen",{enumerable:!0,get:function(){return Wr.CodeGen}});var S4=Di();Object.defineProperty(hA,"ValidationError",{enumerable:!0,get:function(){return S4.default}});var B4=Cn();Object.defineProperty(hA,"MissingRefError",{enumerable:!0,get:function(){return B4.default}})});var O_={};Iu(O_,{HoloSphere:()=>po,buildLensPath:()=>M2,default:()=>T_,handshake:()=>Ta,nostrUtils:()=>rn,registry:()=>I2,subscriptions:()=>R2,version:()=>C_});var xA=(function(n){n=n||{};var e=typeof n<"u"?n:{},s={},a;for(a in e)e.hasOwnProperty(a)&&(s[a]=e[a]);var c=[],h="";function g(te){return e.locateFile?e.locateFile(te,h):h+te}var m;typeof document<"u"&&document.currentScript&&(h=document.currentScript.src),h.indexOf("blob:")!==0?h=h.substr(0,h.lastIndexOf("/")+1):h="",m=function(oe,we,se){var r=new XMLHttpRequest;r.open("GET",oe,!0),r.responseType="arraybuffer",r.onload=function(){if(r.status==200||r.status==0&&r.response){we(r.response);return}var tA=wo(oe);if(tA){we(tA.buffer);return}se()},r.onerror=se,r.send(null)};var v=e.print||console.log.bind(console),b=e.printErr||console.warn.bind(console);for(a in s)s.hasOwnProperty(a)&&(e[a]=s[a]);s=null,e.arguments&&(c=e.arguments);var w=0,E=function(te){w=te},$=function(){return w},k=8;function T(te,oe,we,se){switch(we=we||"i8",we.charAt(we.length-1)==="*"&&(we="i32"),we){case"i1":C[te>>0]=oe;break;case"i8":C[te>>0]=oe;break;case"i16":W[te>>1]=oe;break;case"i32":z[te>>2]=oe;break;case"i64":yo=[oe>>>0,($r=oe,+F2($r)>=1?$r>0?(K2(+z2($r/4294967296),4294967295)|0)>>>0:~~+V2(($r-+(~~$r>>>0))/4294967296)>>>0:0)],z[te>>2]=yo[0],z[te+4>>2]=yo[1];break;case"float":ie[te>>2]=oe;break;case"double":ue[te>>3]=oe;break;default:Ar("invalid type for setValue: "+we)}}function x(te,oe,we){switch(oe=oe||"i8",oe.charAt(oe.length-1)==="*"&&(oe="i32"),oe){case"i1":return C[te>>0];case"i8":return C[te>>0];case"i16":return W[te>>1];case"i32":return z[te>>2];case"i64":return z[te>>2];case"float":return ie[te>>2];case"double":return ue[te>>3];default:Ar("invalid type for getValue: "+oe)}return null}var M=!1;function N(te,oe){te||Ar("Assertion failed: "+oe)}function q(te){var oe=e["_"+te];return N(oe,"Cannot call unknown function "+te+", make sure it is exported"),oe}function L(te,oe,we,se,r){var sA={string:function(bA){var We=0;if(bA!=null&&bA!==0){var AA=(bA.length<<2)+1;We=Ha(AA),X(bA,We,AA)}return We},array:function(bA){var We=Ha(bA.length);return le(bA,We),We}};function tA(bA){return oe==="string"?fe(bA):oe==="boolean"?!!bA:bA}var S=q(te),wA=[],UA=0;if(se)for(var vA=0;vA<se.length;vA++){var Xe=sA[we[vA]];Xe?(UA===0&&(UA=fh()),wA[vA]=Xe(se[vA])):wA[vA]=se[vA]}var pA=S.apply(null,wA);return pA=tA(pA),UA!==0&&lh(UA),pA}function G(te,oe,we,se){we=we||[];var r=we.every(function(tA){return tA==="number"}),sA=oe!=="string";return sA&&r&&!se?q(te):function(){return L(te,oe,we,arguments,se)}}var V=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0;function Y(te,oe,we){for(var se=oe+we,r=oe;te[r]&&!(r>=se);)++r;if(r-oe>16&&te.subarray&&V)return V.decode(te.subarray(oe,r));for(var sA="";oe<r;){var tA=te[oe++];if(!(tA&128)){sA+=String.fromCharCode(tA);continue}var S=te[oe++]&63;if((tA&224)==192){sA+=String.fromCharCode((tA&31)<<6|S);continue}var wA=te[oe++]&63;if((tA&240)==224?tA=(tA&15)<<12|S<<6|wA:tA=(tA&7)<<18|S<<12|wA<<6|te[oe++]&63,tA<65536)sA+=String.fromCharCode(tA);else{var UA=tA-65536;sA+=String.fromCharCode(55296|UA>>10,56320|UA&1023)}}return sA}function fe(te,oe){return te?Y(Q,te,oe):""}function K(te,oe,we,se){if(!(se>0))return 0;for(var r=we,sA=we+se-1,tA=0;tA<te.length;++tA){var S=te.charCodeAt(tA);if(S>=55296&&S<=57343){var wA=te.charCodeAt(++tA);S=65536+((S&1023)<<10)|wA&1023}if(S<=127){if(we>=sA)break;oe[we++]=S}else if(S<=2047){if(we+1>=sA)break;oe[we++]=192|S>>6,oe[we++]=128|S&63}else if(S<=65535){if(we+2>=sA)break;oe[we++]=224|S>>12,oe[we++]=128|S>>6&63,oe[we++]=128|S&63}else{if(we+3>=sA)break;oe[we++]=240|S>>18,oe[we++]=128|S>>12&63,oe[we++]=128|S>>6&63,oe[we++]=128|S&63}}return oe[we]=0,we-r}function X(te,oe,we){return K(te,Q,oe,we)}var ye=typeof TextDecoder<"u"?new TextDecoder("utf-16le"):void 0;function le(te,oe){C.set(te,oe)}function D(te,oe){return te%oe>0&&(te+=oe-te%oe),te}var B,C,Q,W,J,z,ne,ie,ue;function ge(te){B=te,e.HEAP8=C=new Int8Array(te),e.HEAP16=W=new Int16Array(te),e.HEAP32=z=new Int32Array(te),e.HEAPU8=Q=new Uint8Array(te),e.HEAPU16=J=new Uint16Array(te),e.HEAPU32=ne=new Uint32Array(te),e.HEAPF32=ie=new Float32Array(te),e.HEAPF64=ue=new Float64Array(te)}var Pe=5271536,Ee=28624,ve=e.TOTAL_MEMORY||33554432;e.buffer?B=e.buffer:B=new ArrayBuffer(ve),ve=B.byteLength,ge(B),z[Ee>>2]=Pe;function Me(te){for(;te.length>0;){var oe=te.shift();if(typeof oe=="function"){oe();continue}var we=oe.func;typeof we=="number"?oe.arg===void 0?e.dynCall_v(we):e.dynCall_vi(we,oe.arg):we(oe.arg===void 0?null:oe.arg)}}var rA=[],fA=[],Ye=[],nA=[];function RA(){if(e.preRun)for(typeof e.preRun=="function"&&(e.preRun=[e.preRun]);e.preRun.length;)U2(e.preRun.shift());Me(rA)}function WA(){Me(fA)}function ni(){Me(Ye)}function L2(){if(e.postRun)for(typeof e.postRun=="function"&&(e.postRun=[e.postRun]);e.postRun.length;)G2(e.postRun.shift());Me(nA)}function U2(te){rA.unshift(te)}function G2(te){nA.unshift(te)}var F2=Math.abs,V2=Math.ceil,z2=Math.floor,K2=Math.min,er=0,go=null,on=null;function Y2(te){er++,e.monitorRunDependencies&&e.monitorRunDependencies(er)}function W2(te){if(er--,e.monitorRunDependencies&&e.monitorRunDependencies(er),er==0&&(go!==null&&(clearInterval(go),go=null),on)){var oe=on;on=null,oe()}}e.preloadedImages={},e.preloadedAudios={};var $t=null,mo="data:application/octet-stream;base64,";function ja(te){return String.prototype.startsWith?te.startsWith(mo):te.indexOf(mo)===0}var $r,yo;$t="data:application/octet-stream;base64,AAAAAAAAAAAAAAAAAQAAAAIAAAADAAAABAAAAAUAAAAGAAAAAQAAAAQAAAADAAAABgAAAAUAAAACAAAAAAAAAAIAAAADAAAAAQAAAAQAAAAGAAAAAAAAAAUAAAADAAAABgAAAAQAAAAFAAAAAAAAAAEAAAACAAAABAAAAAUAAAAGAAAAAAAAAAIAAAADAAAAAQAAAAUAAAACAAAAAAAAAAEAAAADAAAABgAAAAQAAAAGAAAAAAAAAAUAAAACAAAAAQAAAAQAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAEAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAIAAAADAAAAAAAAAAAAAAACAAAAAAAAAAEAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAYAAAAAAAAABQAAAAAAAAAAAAAABAAAAAUAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAYAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAAAAMAAAAEAAAABQAAAAYAAAABAAAAAgAAAAMAAAAEAAAABQAAAAYAAAAAAAAAAgAAAAMAAAAEAAAABQAAAAYAAAAAAAAAAQAAAAMAAAAEAAAABQAAAAYAAAAAAAAAAQAAAAIAAAAEAAAABQAAAAYAAAAAAAAAAQAAAAIAAAADAAAABQAAAAYAAAAAAAAAAQAAAAIAAAADAAAABAAAAAYAAAAAAAAAAQAAAAIAAAADAAAABAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAwAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAgAAAAIAAAAAAAAAAAAAAAYAAAAAAAAAAwAAAAIAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAFAAAABAAAAAAAAAABAAAAAAAAAAAAAAAFAAAABQAAAAAAAAAAAAAAAAAAAAYAAAAAAAAABAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAFAAAAAgAAAAQAAAADAAAACAAAAAEAAAAHAAAABgAAAAkAAAAAAAAAAwAAAAIAAAACAAAA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AAAAAAAAAAAFAAAAAQAAAAAAAAAAAAAAAQAAAAMAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAEAAAADAAAAAAAAAAAAAAABAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAADAAAABQAAAAEAAAAAAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAP////8DAAAAAAAAAAUAAAACAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAEAAAABQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAMAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAMAAAAFAAAABQAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAFAAAABQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAMAAAADAAAAAwAAAAAAAAADAAAAAAAAAAAAAAD/////AwAAAAAAAAAFAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAAAAAABAAAAAwAAAAAAAAAAAAAAAQAAAAAAAAADAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAMAAAAAAAAAAwAAAAAAAAAAAAAAAQAAAAMAAAAAAAAAAAAAAAEAAAAAAAAAAwAAAAMAAAADAAAAAwAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAMAAAADAAAAAAAAAP////8DAAAAAAAAAAUAAAACAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAwAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAUAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAFAAAABQAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAwAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAAAAAADAAAAAAAAAAAAAAADAAAAAwAAAAMAAAAAAAAAAwAAAAAAAAAAAAAA/////wMAAAAAAAAABQAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAADAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAAAAAAA/////wMAAAAAAAAABQAAAAIAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAMAAAADAAAAAAAAAAAAAAADAAAAAwAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAwAAAAAAAAADAAAAAAAAAAMAAAADAAAAAwAAAAMAAAAAAAAAAwAAAAAAAAD/////AwAAAAAAAAAFAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAAAAAMAAAADAAAAAwAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAAAAAD/////AwAAAAAAAAAFAAAAAgAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAAAAAADAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAFAAAAAAAAAAAAAAADAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAADAAAAAQAAAAAAAAABAAAAAAAAAAAAAAABAAAAAwAAAAEAAAAAAAAAAQAAAAAAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAADAAAAAAAAAP////8DAAAAAAAAAAUAAAACAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAADAAAAAAAAAAAAAAADAAAAAwAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAUAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAFAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAFAAAABQAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAAAAAAA/////wMAAAAAAAAABQAAAAIAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAwAAAAAAAAAFAAAAAAAAAAAAAAAFAAAABQAAAAAAAAAAAAAAAAAAAAEAAAADAAAAAQAAAAAAAAABAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAwAAAAAAAAADAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAADAAAAAQAAAAAAAAABAAAAAAAAAAMAAAADAAAAAwAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAEAAAAAAAAAAwAAAAUAAAABAAAAAAAAAP////8DAAAAAAAAAAUAAAACAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAFAAAABQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAABAAAAAUAAAABAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAIAAAAFAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAEAAAADAAAAAQAAAAAAAAABAAAAAAAAAAUAAAAAAAAAAAAAAAUAAAAFAAAAAAAAAAAAAAD/////AQAAAAAAAAADAAAABAAAAAIAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAUAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAFAAAAAAAAAAAAAAAFAAAABQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAQAAAAUAAAABAAAAAAAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAEAAAD//////////wEAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAADAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAsAAAACAAAAAAAAAAAAAAABAAAAAgAAAAYAAAAEAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAcAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAKAAAAAgAAAAAAAAAAAAAAAQAAAAEAAAAFAAAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAsAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAACAAAAAAAAAAAAAAABAAAAAwAAAAcAAAAGAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAABwAAAAEAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAADgAAAAIAAAAAAAAAAAAAAAEAAAAAAAAACQAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAMAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADQAAAAIAAAAAAAAAAAAAAAEAAAAEAAAACAAAAAoAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAALAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAACQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAAgAAAAAAAAAAAAAAAQAAAAsAAAAPAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAOAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAEAAAAAAAAAAQAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAIAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAABQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAgAAAAAAAAAAAAAAAQAAAAwAAAAQAAAADAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAPAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAADwAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAADQAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAACAAAAAAAAAAAAAAABAAAACgAAABMAAAAIAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkAAAABAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAEQAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEQAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAA8AAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAQAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAACQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAIAAAAAAAAAAAAAAAEAAAANAAAAEQAAAA0AAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAARAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAEwAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAATAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAEQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAA0AAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAARAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkAAAACAAAAAAAAAAAAAAABAAAADgAAABIAAAAPAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAADwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAASAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAEwAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAABEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEgAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAABIAAAABAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAATAAAAAgAAAAAAAAAAAAAAAQAAAP//////////EwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAEgAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAASAAAAAAAAABgAAAAAAAAAIQAAAAAAAAAeAAAAAAAAACAAAAADAAAAMQAAAAEAAAAwAAAAAwAAADIAAAADAAAACAAAAAAAAAAFAAAABQAAAAoAAAAFAAAAFgAAAAAAAAAQAAAAAAAAABIAAAAAAAAAKQAAAAEAAAAhAAAAAAAAAB4AAAAAAAAABAAAAAAAAAAAAAAABQAAAAIAAAAFAAAADwAAAAEAAAAIAAAAAAAAAAUAAAAFAAAAHwAAAAEAAAAWAAAAAAAAABAAAAAAAAAAAgAAAAAAAAAGAAAAAAAAAA4AAAAAAAAACgAAAAAAAAALAAAAAAAAABEAAAADAAAAGAAAAAEAAAAXAAAAAwAAABkAAAADAAAAAAAAAAAAAAABAAAABQAAAAkAAAAFAAAABQAAAAAAAAACAAAAAAAAAAYAAAAAAAAAEgAAAAEAAAAKAAAAAAAAAAsAAAAAAAAABAAAAAEAAAADAAAABQAAAAcAAAAFAAAACAAAAAEAAAAAAAAAAAAAAAEAAAAFAAAAEAAAAAEAAAAFAAAAAAAAAAIAAAAAAAAABwAAAAAAAAAVAAAAAAAAACYAAAAAAAAACQAAAAAAAAATAAAAAAAAACIAAAADAAAADgAAAAEAAAAUAAAAAwAAACQAAAADAAAAAwAAAAAAAAANAAAABQAAAB0AAAAFAAAAAQAAAAAAAAAHAAAAAAAAABUAAAAAAAAABgAAAAEAAAAJAAAAAAAAABMAAAAAAAAABAAAAAIAAAAMAAAA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Zhu25b633D8c1YgmzowSQNM25BRKWARArGS08/lNxD+LFssHwmMRQLC5aNcxBgJABL9HT0WRF0CjCmJmOGEOQHsuaVzMP/s/TWJCaGGwBUCeu1PAPLzjP9nqN9DZOBNAKE4JcydbCkCGtbd1qjPzP8dgm9U8jhVAtPeKTkVwDkCeCLss5l37P401XMPLmBdAFd29VMVQDUBg0yA55h75Pz6odcYLCRdApBM4rBrkAkDyAVWgQxbRP4XDMnK20hFAymLlF7EmzD8GUgo9XBHlP3lbK7T9COc/k+OhPthhy7+YGEpnrOvCPzBFhLs15u4/epbqB6H4uz9IuuLF5svev6lzLKY31es/CaQ0envF5z8ZY0xlUADXv7zaz7HYEuI/CfbK1sn16T8uAQfWwxLWPzKn/YuFN94/5KdbC1AFu793fyCSnlfvPzK2y4doAMY/NRg5t1/X6b/shq4QJaHDP5yNIAKPOeI/vpn7BSE30r/X4YQrO6nrv78Ziv/Thto/DqJ1Y6+y5z9l51NaxFrlv8QlA65HOLS/86dxiEc96z+Hj0+LFjneP6LzBZ8LTc2/DaJ1Y6+y579l51NaxFrlP8QlA65HOLQ/8qdxiEc967+Jj0+LFjnev6LzBZ8LTc0/1qdbC1AFuz93fyCSnlfvvzK2y4doAMa/NRg5t1/X6T/vhq4QJaHDv5yNIAKPOeK/wJn7BSE30j/W4YQrO6nrP78Ziv/Thtq/CaQ0envF578XY0xlUADXP7zaz7HYEuK/CvbK1sn16b8rAQfWwxLWvzKn/YuFN96/zWLlF7EmzL8GUgo9XBHlv3lbK7T9COe/kOOhPthhyz+cGEpnrOvCvzBFhLs15u6/c5bqB6H4u79IuuLF5sveP6lzLKY31eu/AQAAAP////8HAAAA/////zEAAAD/////VwEAAP////9hCQAA/////6dBAAD/////kcsBAP/////3kAwA/////8H2VwAAAAAAAAAAAAAAAAACAAAA/////w4AAAD/////YgAAAP////+uAgAA/////8ISAAD/////ToMAAP////8ilwMA/////+4hGQD/////gu2vAAAAAAAAAAAAAAAAAAAAAAACAAAA//////////8BAAAAAwAAAP//////////////////////////////////////////////////////////////////////////AQAAAAAAAAACAAAA////////////////AwAAAP//////////////////////////////////////////////////////////////////////////AQAAAAAAAAACAAAA////////////////AwAAAP//////////////////////////////////////////////////////////////////////////AQAAAAAAAAACAAAA////////////////AwAAAP//////////////////////////////////////////////////////////AgAAAP//////////AQAAAAAAAAD/////////////////////AwAAAP////////////////////////////////////////////////////8DAAAA/////////////////////wAAAAD/////////////////////AQAAAP///////////////wIAAAD///////////////////////////////8DAAAA/////////////////////wAAAAD///////////////8CAAAAAQAAAP////////////////////////////////////////////////////8DAAAA/////////////////////wAAAAD///////////////8CAAAAAQAAAP////////////////////////////////////////////////////8DAAAA/////////////////////wAAAAD///////////////8CAAAAAQAAAP////////////////////////////////////////////////////8DAAAA/////////////////////wAAAAD///////////////8CAAAAAQAAAP////////////////////////////////////////////////////8BAAAAAgAAAP///////////////wAAAAD/////////////////////AwAAAP////////////////////////////////////////////////////8BAAAAAgAAAP///////////////wAAAAD/////////////////////AwAAAP////////////////////////////////////////////////////8BAAAAAgAAAP///////////////wAAAAD/////////////////////AwAAAP////////////////////////////////////////////////////8BAAAAAgAAAP///////////////wAAAAD/////////////////////AwAAAP///////////////////////////////wIAAAD///////////////8BAAAA/////////////////////wAAAAD/////////////////////AwAAAP////////////////////////////////////////////////////8DAAAA/////////////////////wAAAAABAAAA//////////8CAAAA//////////////////////////////////////////////////////////8DAAAA////////////////AgAAAAAAAAABAAAA//////////////////////////////////////////////////////////////////////////8DAAAA////////////////AgAAAAAAAAABAAAA//////////////////////////////////////////////////////////////////////////8DAAAA////////////////AgAAAAAAAAABAAAA//////////////////////////////////////////////////////////////////////////8DAAAAAQAAAP//////////AgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAACAAAAAAAAAAIAAAABAAAAAQAAAAIAAAACAAAAAAAAAAUAAAAFAAAAAAAAAAIAAAACAAAAAwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAgAAAAEAAAACAAAAAgAAAAIAAAAAAAAABQAAAAYAAAAAAAAAAgAAAAIAAAADAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAAAAAAAAACAAAAAQAAAAMAAAACAAAAAgAAAAAAAAAFAAAABwAAAAAAAAACAAAAAgAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAACAAAAAAAAAAIAAAABAAAABAAAAAIAAAACAAAAAAAAAAUAAAAIAAAAAAAAAAIAAAACAAAAAwAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAIAAAAAAAAAAgAAAAEAAAAAAAAAAgAAAAIAAAAAAAAABQAAAAkAAAAAAAAAAgAAAAIAAAADAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAgAAAAIAAAAAAAAAAwAAAA4AAAACAAAAAAAAAAIAAAADAAAAAAAAAAAAAAACAAAAAgAAAAMAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAsAAAACAAAAAgAAAAAAAAADAAAACgAAAAIAAAAAAAAAAgAAAAMAAAABAAAAAAAAAAIAAAACAAAAAwAAAAcAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAIAAAACAAAAAAAAAAMAAAALAAAAAgAAAAAAAAACAAAAAwAAAAIAAAAAAAAAAgAAAAIAAAADAAAACAAAAAAAAAAAAAAAAAAAAAAAAAANAAAAAgAAAAIAAAAAAAAAAwAAAAwAAAACAAAAAAAAAAIAAAADAAAAAwAAAAAAAAACAAAAAgAAAAMAAAAJAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAACAAAAAgAAAAAAAAADAAAADQAAAAIAAAAAAAAAAgAAAAMAAAAEAAAAAAAAAAIAAAACAAAAAwAAAAoAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAIAAAACAAAAAAAAAAMAAAAGAAAAAgAAAAAAAAACAAAAAwAAAA8AAAAAAAAAAgAAAAIAAAADAAAACwAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAAgAAAAIAAAAAAAAAAwAAAAcAAAACAAAAAAAAAAIAAAADAAAAEAAAAAAAAAACAAAAAgAAAAMAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAcAAAACAAAAAgAAAAAAAAADAAAACAAAAAIAAAAAAAAAAgAAAAMAAAARAAAAAAAAAAIAAAACAAAAAwAAAA0AAAAAAAAAAAAAAAAAAAAAAAAACAAAAAIAAAACAAAAAAAAAAMAAAAJAAAAAgAAAAAAAAACAAAAAwAAABIAAAAAAAAAAgAAAAIAAAADAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAJAAAAAgAAAAIAAAAAAAAAAwAAAAUAAAACAAAA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ZV0gPT0gS0kAZmFjZWlqay5jAF9mYWNlSWprUGVudFRvQ2VsbEJvdW5kYXJ5AGFkamFjZW50RmFjZURpcltjZW50ZXJJSksuZmFjZV1bZmFjZTJdID09IEtJAF9mYWNlSWprVG9DZWxsQm91bmRhcnkAaDNJbmRleC5jAGNvbXBhY3RDZWxscwBsYXRMbmdUb0NlbGwAY2VsbFRvQ2hpbGRQb3MAdmFsaWRhdGVDaGlsZFBvcwBsYXRMbmcuYwBjZWxsQXJlYVJhZHMyAHBvbHlnb24tPm5leHQgPT0gTlVMTABsaW5rZWRHZW8uYwBhZGROZXdMaW5rZWRQb2x5Z29uAG5leHQgIT0gTlVMTABsb29wICE9IE5VTEwAYWRkTmV3TGlua2VkTG9vcABwb2x5Z29uLT5maXJzdCA9PSBOVUxMAGFkZExpbmtlZExvb3AAY29vcmQgIT0gTlVMTABhZGRMaW5rZWRDb29yZABsb29wLT5maXJzdCA9PSBOVUxMAGlubmVyTG9vcHMgIT0gTlVMTABub3JtYWxpemVNdWx0aVBvbHlnb24AYmJveGVzICE9IE5VTEwAY2FuZGlkYXRlcyAhPSBOVUxMAGZpbmRQb2x5Z29uRm9ySG9sZQBjYW5kaWRhdGVCQm94ZXMgIT0gTlVMTAByZXZEaXIgIT0gSU5WQUxJRF9ESUdJVABsb2NhbGlqLmMAY2VsbFRvTG9jYWxJamsAYmFzZUNlbGwgIT0gb3JpZ2luQmFzZUNlbGwAIShvcmlnaW5PblBlbnQgJiYgaW5kZXhPblBlbnQpAGJhc2VDZWxsID09IG9yaWdpbkJhc2VDZWxsAGJhc2VDZWxsICE9IElOVkFMSURfQkFTRV9DRUxMAGxvY2FsSWprVG9DZWxsACFfaXNCYXNlQ2VsbFBlbnRhZ29uKGJhc2VDZWxsKQBiYXNlQ2VsbFJvdGF0aW9ucyA+PSAwAGdyaWRQYXRoQ2VsbHMAcG9seWZpbGwuYwBpdGVyU3RlcFBvbHlnb25Db21wYWN0ADAAdmVydGV4LmMAdmVydGV4Um90YXRpb25zAGNlbGxUb1ZlcnRleABncmFwaC0+YnVja2V0cyAhPSBOVUxMAHZlcnRleEdyYXBoLmMAaW5pdFZlcnRleEdyYXBoAG5vZGUgIT0gTlVMTABhZGRWZXJ0ZXhOb2Rl";var J2=28640;function Z2(te){return te}function Na(te){var oe=/\b__Z[\w\d_]+/g;return te.replace(oe,function(we){var se=we;return we===se?we:se+" ["+we+"]"})}function Ma(){var te=new Error;if(!te.stack){try{throw new Error(0)}catch(oe){te=oe}if(!te.stack)return"(no stack trace available)"}return te.stack.toString()}function X2(){var te=Ma();return e.extraStackTrace&&(te+=`
|
|
10
|
-
`+e.extraStackTrace()),Na(te)}function eh(te,oe,we,se){Ar("Assertion failed: "+fe(te)+", at: "+[oe?fe(oe):"unknown filename",we,se?fe(se):"unknown function"])}function Ra(){return C.length}function Ah(te,oe,we){Q.set(Q.subarray(oe,oe+we),te)}function th(te){return e.___errno_location&&(z[e.___errno_location()>>2]=te),te}function rh(te){Ar("OOM")}function Ia(te){try{var oe=new ArrayBuffer(te);return oe.byteLength!=te?void 0:(new Int8Array(oe).set(C),uh(oe),ge(oe),1)}catch{}}function nh(te){var oe=Ra(),we=16777216,se=2147483648-we;if(te>se)return!1;for(var r=16777216,sA=Math.max(oe,r);sA<te;)sA<=536870912?sA=D(2*sA,we):sA=Math.min(D((3*sA+2147483648)/4,we),se);var tA=Ia(sA);return!!tA}var ih=typeof atob=="function"?atob:function(te){var oe="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",we="",se,r,sA,tA,S,wA,UA,vA=0;te=te.replace(/[^A-Za-z0-9\+\/\=]/g,"");do tA=oe.indexOf(te.charAt(vA++)),S=oe.indexOf(te.charAt(vA++)),wA=oe.indexOf(te.charAt(vA++)),UA=oe.indexOf(te.charAt(vA++)),se=tA<<2|S>>4,r=(S&15)<<4|wA>>2,sA=(wA&3)<<6|UA,we=we+String.fromCharCode(se),wA!==64&&(we=we+String.fromCharCode(r)),UA!==64&&(we=we+String.fromCharCode(sA));while(vA<te.length);return we};function oh(te){try{for(var oe=ih(te),we=new Uint8Array(oe.length),se=0;se<oe.length;++se)we[se]=oe.charCodeAt(se);return we}catch{throw new Error("Converting base64 string to bytes failed.")}}function wo(te){if(ja(te))return oh(te.slice(mo.length))}var sh={Math,Int8Array,Int32Array,Uint8Array,Float32Array,Float64Array},ah={a:Ar,b:E,c:$,d:eh,e:th,f:Ra,g:Ah,h:nh,i:rh,j:Z2,k:Na,l:Ia,m:Ma,n:X2,o:J2,p:Ee},ce=(function(te,oe,we){"almost asm";var se=new te.Int8Array(we),r=new te.Int32Array(we),sA=new te.Uint8Array(we),tA=new te.Float32Array(we),S=new te.Float64Array(we),wA=oe.o|0,UA=oe.p|0,vA=te.Math.floor,Xe=te.Math.abs,pA=te.Math.sqrt,bA=te.Math.pow,We=te.Math.cos,AA=te.Math.sin,sn=te.Math.tan,ch=te.Math.acos,dh=te.Math.asin,_o=te.Math.atan,XA=te.Math.atan2,kr=te.Math.ceil,gt=te.Math.imul,Eo=te.Math.min,hh=te.Math.max,kt=te.Math.clz32,Ie=oe.b,j=oe.c,Oe=oe.d,Ua=oe.e,ph=oe.f,gh=oe.g,mh=oe.h,yh=oe.i,P=28656;function wh(t){return se=new Int8Array(t),sA=new Uint8Array(t),r=new Int32Array(t),tA=new Float32Array(t),S=new Float64Array(t),we=t,!0}function vh(t){t=t|0;var A=0;return A=P,P=P+t|0,P=P+15&-16,A|0}function bh(){return P|0}function _h(t){t=t|0,P=t}function Eh(t,A){t=t|0,A=A|0,P=t}function $h(t,A){t=t|0,A=A|0;var i=0,o=0,u=0;return(t|0)<0?(A=2,A|0):(t|0)>13780509?(A=li(15,A)|0,A|0):(i=((t|0)<0)<<31>>31,u=$A(t|0,i|0,3,0)|0,o=j()|0,i=xe(t|0,i|0,1,0)|0,i=$A(u|0,o|0,i|0,j()|0)|0,i=xe(i|0,j()|0,1,0)|0,t=j()|0,r[A>>2]=i,r[A+4>>2]=t,A=0,A|0)}function Ga(t,A,i,o){return t=t|0,A=A|0,i=i|0,o=o|0,Fa(t,A,i,o,0)|0}function Fa(t,A,i,o,u){t=t|0,A=A|0,i=i|0,o=o|0,u=u|0;var l=0,f=0,d=0,p=0,y=0;if(p=P,P=P+16|0,f=p,!(Va(t,A,i,o,u)|0))return o=0,P=p,o|0;do if((i|0)>=0){if((i|0)>13780509){if(l=li(15,f)|0,l|0)break;d=f,f=r[d>>2]|0,d=r[d+4>>2]|0}else l=((i|0)<0)<<31>>31,y=$A(i|0,l|0,3,0)|0,d=j()|0,l=xe(i|0,l|0,1,0)|0,l=$A(y|0,d|0,l|0,j()|0)|0,l=xe(l|0,j()|0,1,0)|0,d=j()|0,r[f>>2]=l,r[f+4>>2]=d,f=l;if(Ht(o|0,0,f<<3|0)|0,u|0){Ht(u|0,0,f<<2|0)|0,l=mt(t,A,i,o,u,f,d,0)|0;break}l=FA(f,4)|0,l?(y=mt(t,A,i,o,l,f,d,0)|0,Be(l),l=y):l=13}else l=2;while(!1);return y=l,P=p,y|0}function Va(t,A,i,o,u){t=t|0,A=A|0,i=i|0,o=o|0,u=u|0;var l=0,f=0,d=0,p=0,y=0,_=0,O=0,R=0,I=0,H=0,U=0;if(U=P,P=P+16|0,I=U,H=U+8|0,R=I,r[R>>2]=t,r[R+4>>2]=A,(i|0)<0)return H=2,P=U,H|0;if(l=o,r[l>>2]=t,r[l+4>>2]=A,l=(u|0)!=0,l&&(r[u>>2]=0),aA(t,A)|0)return H=9,P=U,H|0;r[H>>2]=0;e:do if((i|0)>=1)if(l)for(_=1,y=0,O=0,R=1,l=t;;){if(!(y|O)){if(l=_A(l,A,4,H,I)|0,l|0)break e;if(A=I,l=r[A>>2]|0,A=r[A+4>>2]|0,aA(l,A)|0){l=9;break e}}if(l=_A(l,A,r[26800+(O<<2)>>2]|0,H,I)|0,l|0)break e;if(A=I,l=r[A>>2]|0,A=r[A+4>>2]|0,t=o+(_<<3)|0,r[t>>2]=l,r[t+4>>2]=A,r[u+(_<<2)>>2]=R,t=y+1|0,f=(t|0)==(R|0),d=O+1|0,p=(d|0)==6,aA(l,A)|0){l=9;break e}if(R=R+(p&f&1)|0,(R|0)>(i|0)){l=0;break}else _=_+1|0,y=f?0:t,O=f?p?0:d:O}else for(_=1,y=0,O=0,R=1,l=t;;){if(!(y|O)){if(l=_A(l,A,4,H,I)|0,l|0)break e;if(A=I,l=r[A>>2]|0,A=r[A+4>>2]|0,aA(l,A)|0){l=9;break e}}if(l=_A(l,A,r[26800+(O<<2)>>2]|0,H,I)|0,l|0)break e;if(A=I,l=r[A>>2]|0,A=r[A+4>>2]|0,t=o+(_<<3)|0,r[t>>2]=l,r[t+4>>2]=A,t=y+1|0,f=(t|0)==(R|0),d=O+1|0,p=(d|0)==6,aA(l,A)|0){l=9;break e}if(R=R+(p&f&1)|0,(R|0)>(i|0)){l=0;break}else _=_+1|0,y=f?0:t,O=f?p?0:d:O}else l=0;while(!1);return H=l,P=U,H|0}function mt(t,A,i,o,u,l,f,d){t=t|0,A=A|0,i=i|0,o=o|0,u=u|0,l=l|0,f=f|0,d=d|0;var p=0,y=0,_=0,O=0,R=0,I=0,H=0,U=0,Z=0,re=0;if(U=P,P=P+16|0,I=U+8|0,H=U,p=Cr(t|0,A|0,l|0,f|0)|0,_=j()|0,O=o+(p<<3)|0,Z=O,re=r[Z>>2]|0,Z=r[Z+4>>2]|0,y=(re|0)==(t|0)&(Z|0)==(A|0),!((re|0)==0&(Z|0)==0|y))do p=xe(p|0,_|0,1,0)|0,p=Dr(p|0,j()|0,l|0,f|0)|0,_=j()|0,O=o+(p<<3)|0,re=O,Z=r[re>>2]|0,re=r[re+4>>2]|0,y=(Z|0)==(t|0)&(re|0)==(A|0);while(!((Z|0)==0&(re|0)==0|y));if(p=u+(p<<2)|0,y&&(r[p>>2]|0)<=(d|0)||(re=O,r[re>>2]=t,r[re+4>>2]=A,r[p>>2]=d,(d|0)>=(i|0)))return re=0,P=U,re|0;switch(y=d+1|0,r[I>>2]=0,p=_A(t,A,2,I,H)|0,p|0){case 9:{R=9;break}case 0:{p=H,p=mt(r[p>>2]|0,r[p+4>>2]|0,i,o,u,l,f,y)|0,p||(R=9);break}default:}e:do if((R|0)==9){switch(r[I>>2]=0,p=_A(t,A,3,I,H)|0,p|0){case 9:break;case 0:{if(p=H,p=mt(r[p>>2]|0,r[p+4>>2]|0,i,o,u,l,f,y)|0,p|0)break e;break}default:break e}switch(r[I>>2]=0,p=_A(t,A,1,I,H)|0,p|0){case 9:break;case 0:{if(p=H,p=mt(r[p>>2]|0,r[p+4>>2]|0,i,o,u,l,f,y)|0,p|0)break e;break}default:break e}switch(r[I>>2]=0,p=_A(t,A,5,I,H)|0,p|0){case 9:break;case 0:{if(p=H,p=mt(r[p>>2]|0,r[p+4>>2]|0,i,o,u,l,f,y)|0,p|0)break e;break}default:break e}switch(r[I>>2]=0,p=_A(t,A,4,I,H)|0,p|0){case 9:break;case 0:{if(p=H,p=mt(r[p>>2]|0,r[p+4>>2]|0,i,o,u,l,f,y)|0,p|0)break e;break}default:break e}switch(r[I>>2]=0,p=_A(t,A,6,I,H)|0,p|0){case 9:break;case 0:{if(p=H,p=mt(r[p>>2]|0,r[p+4>>2]|0,i,o,u,l,f,y)|0,p|0)break e;break}default:break e}return re=0,P=U,re|0}while(!1);return re=p,P=U,re|0}function _A(t,A,i,o,u){t=t|0,A=A|0,i=i|0,o=o|0,u=u|0;var l=0,f=0,d=0,p=0,y=0,_=0,O=0,R=0,I=0,H=0;if(i>>>0>6)return u=1,u|0;if(O=(r[o>>2]|0)%6|0,r[o>>2]=O,(O|0)>0){l=0;do i=nr(i)|0,l=l+1|0;while((l|0)<(r[o>>2]|0))}if(O=ae(t|0,A|0,45)|0,j()|0,_=O&127,_>>>0>121)return u=5,u|0;p=GA(t,A)|0,l=ae(t|0,A|0,52)|0,j()|0,l=l&15;e:do if(!l)y=8;else{for(;;){if(f=(15-l|0)*3|0,d=ae(t|0,A|0,f|0)|0,j()|0,d=d&7,(d|0)==7){A=5;break}if(H=(et(l)|0)==0,l=l+-1|0,R=de(7,0,f|0)|0,A=A&~(j()|0),I=de(r[(H?432:16)+(d*28|0)+(i<<2)>>2]|0,0,f|0)|0,f=j()|0,i=r[(H?640:224)+(d*28|0)+(i<<2)>>2]|0,t=I|t&~R,A=f|A,!i){i=0;break e}if(!l){y=8;break e}}return A|0}while(!1);(y|0)==8&&(H=r[848+(_*28|0)+(i<<2)>>2]|0,I=de(H|0,0,45)|0,t=I|t,A=j()|0|A&-1040385,i=r[4272+(_*28|0)+(i<<2)>>2]|0,(H&127|0)==127&&(H=de(r[848+(_*28|0)+20>>2]|0,0,45)|0,A=j()|0|A&-1040385,i=r[4272+(_*28|0)+20>>2]|0,t=ir(H|t,A)|0,A=j()|0,r[o>>2]=(r[o>>2]|0)+1)),d=ae(t|0,A|0,45)|0,j()|0,d=d&127;e:do if(cA(d)|0){A:do if((GA(t,A)|0)==1){if((_|0)!=(d|0))if(Wa(d,r[7696+(_*28|0)>>2]|0)|0){t=Io(t,A)|0,f=1,A=j()|0;break}else Oe(27795,26864,533,26872);switch(p|0){case 3:{t=ir(t,A)|0,A=j()|0,r[o>>2]=(r[o>>2]|0)+1,f=0;break A}case 5:{t=Io(t,A)|0,A=j()|0,r[o>>2]=(r[o>>2]|0)+5,f=0;break A}case 0:return H=9,H|0;default:return H=1,H|0}}else f=0;while(!1);if((i|0)>0){l=0;do t=Ro(t,A)|0,A=j()|0,l=l+1|0;while((l|0)!=(i|0))}if((_|0)!=(d|0)){if(!(ko(d)|0)){if((f|0)!=0|(GA(t,A)|0)!=5)break;r[o>>2]=(r[o>>2]|0)+1;break}switch(O&127){case 8:case 118:break e;default:}(GA(t,A)|0)!=3&&(r[o>>2]=(r[o>>2]|0)+1)}}else if((i|0)>0){l=0;do t=ir(t,A)|0,A=j()|0,l=l+1|0;while((l|0)!=(i|0))}while(!1);return r[o>>2]=((r[o>>2]|0)+i|0)%6|0,H=u,r[H>>2]=t,r[H+4>>2]=A,H=0,H|0}function kh(t,A,i,o){return t=t|0,A=A|0,i=i|0,o=o|0,za(t,A,i,o)|0?(Ht(o|0,0,i*48|0)|0,o=xh(t,A,i,o)|0,o|0):(o=0,o|0)}function za(t,A,i,o){t=t|0,A=A|0,i=i|0,o=o|0;var u=0,l=0,f=0,d=0,p=0,y=0,_=0,O=0,R=0,I=0,H=0;if(H=P,P=P+16|0,R=H,I=H+8|0,O=R,r[O>>2]=t,r[O+4>>2]=A,(i|0)<0)return I=2,P=H,I|0;if(!i)return I=o,r[I>>2]=t,r[I+4>>2]=A,I=0,P=H,I|0;r[I>>2]=0;e:do if(aA(t,A)|0)t=9;else{u=0,O=t;do{if(t=_A(O,A,4,I,R)|0,t|0)break e;if(A=R,O=r[A>>2]|0,A=r[A+4>>2]|0,u=u+1|0,aA(O,A)|0){t=9;break e}}while((u|0)<(i|0));_=o,r[_>>2]=O,r[_+4>>2]=A,_=i+-1|0,y=0,t=1;do{if(u=26800+(y<<2)|0,(y|0)==5)for(f=r[u>>2]|0,l=0,u=t;;){if(t=R,t=_A(r[t>>2]|0,r[t+4>>2]|0,f,I,R)|0,t|0)break e;if((l|0)!=(_|0))if(p=R,d=r[p>>2]|0,p=r[p+4>>2]|0,t=o+(u<<3)|0,r[t>>2]=d,r[t+4>>2]=p,!(aA(d,p)|0))t=u+1|0;else{t=9;break e}else t=u;if(l=l+1|0,(l|0)>=(i|0))break;u=t}else for(f=R,p=r[u>>2]|0,d=0,u=t,l=r[f>>2]|0,f=r[f+4>>2]|0;;){if(t=_A(l,f,p,I,R)|0,t|0)break e;if(f=R,l=r[f>>2]|0,f=r[f+4>>2]|0,t=o+(u<<3)|0,r[t>>2]=l,r[t+4>>2]=f,t=u+1|0,aA(l,f)|0){t=9;break e}if(d=d+1|0,(d|0)>=(i|0))break;u=t}y=y+1|0}while(y>>>0<6);t=R,t=(O|0)==(r[t>>2]|0)&&(A|0)==(r[t+4>>2]|0)?0:9}while(!1);return I=t,P=H,I|0}function xh(t,A,i,o){t=t|0,A=A|0,i=i|0,o=o|0;var u=0,l=0,f=0,d=0,p=0,y=0,_=0,O=0,R=0;if(O=P,P=P+16|0,f=O,!i)return r[o>>2]=t,r[o+4>>2]=A,o=0,P=O,o|0;do if((i|0)>=0){if((i|0)>13780509){if(u=li(15,f)|0,u|0)break;l=f,u=r[l>>2]|0,l=r[l+4>>2]|0}else u=((i|0)<0)<<31>>31,_=$A(i|0,u|0,3,0)|0,l=j()|0,u=xe(i|0,u|0,1,0)|0,u=$A(_|0,l|0,u|0,j()|0)|0,u=xe(u|0,j()|0,1,0)|0,l=j()|0,_=f,r[_>>2]=u,r[_+4>>2]=l;if(y=FA(u,8)|0,!y)u=13;else{if(_=FA(u,4)|0,!_){Be(y),u=13;break}if(u=mt(t,A,i,y,_,u,l,0)|0,u|0){Be(y),Be(_);break}if(A=r[f>>2]|0,f=r[f+4>>2]|0,(f|0)>0|(f|0)==0&A>>>0>0){u=0,d=0,p=0;do t=y+(d<<3)|0,l=r[t>>2]|0,t=r[t+4>>2]|0,!((l|0)==0&(t|0)==0)&&(r[_+(d<<2)>>2]|0)==(i|0)&&(R=o+(u<<3)|0,r[R>>2]=l,r[R+4>>2]=t,u=u+1|0),d=xe(d|0,p|0,1,0)|0,p=j()|0;while((p|0)<(f|0)|(p|0)==(f|0)&d>>>0<A>>>0)}Be(y),Be(_),u=0}}else u=2;while(!1);return R=u,P=O,R|0}function $o(t,A,i,o){t=t|0,A=A|0,i=i|0,o=o|0;var u=0,l=0,f=0,d=0,p=0,y=0;for(d=P,P=P+16|0,l=d,f=d+8|0,u=(aA(t,A)|0)==0,u=u?1:2;;){if(r[f>>2]=0,y=(_A(t,A,u,f,l)|0)==0,p=l,y&((r[p>>2]|0)==(i|0)?(r[p+4>>2]|0)==(o|0):0)){t=4;break}if(u=u+1|0,u>>>0>=7){u=7,t=4;break}}return(t|0)==4?(P=d,u|0):0}function Sh(t,A,i,o){t=t|0,A=A|0,i=i|0,o=o|0;var u=0,l=0,f=0,d=0,p=0,y=0;if(d=P,P=P+48|0,u=d+16|0,l=d+8|0,f=d,i=dn(i)|0,i|0)return f=i,P=d,f|0;if(y=t,p=r[y+4>>2]|0,i=l,r[i>>2]=r[y>>2],r[i+4>>2]=p,_u(l,u),i=eu(u,A,f)|0,!i){if(A=r[l>>2]|0,l=r[t+8>>2]|0,(l|0)>0){u=r[t+12>>2]|0,i=0;do A=(r[u+(i<<3)>>2]|0)+A|0,i=i+1|0;while((i|0)<(l|0))}i=f,u=r[i>>2]|0,i=r[i+4>>2]|0,l=((A|0)<0)<<31>>31,(i|0)<(l|0)|(i|0)==(l|0)&u>>>0<A>>>0?(i=f,r[i>>2]=A,r[i+4>>2]=l,i=l):A=u,p=xe(A|0,i|0,12,0)|0,y=j()|0,i=f,r[i>>2]=p,r[i+4>>2]=y,i=o,r[i>>2]=p,r[i+4>>2]=y,i=0}return y=i,P=d,y|0}function Ka(t,A,i,o,u,l,f){t=t|0,A=A|0,i=i|0,o=o|0,u=u|0,l=l|0,f=f|0;var d=0,p=0,y=0,_=0,O=0,R=0,I=0,H=0,U=0,Z=0,re=0,Ae=0,ee=0,F=0,pe=0,$e=0,_e=0,Re=0,He=0,Fe=0,Te=0,ke=0,he=0,Le=0,iA=0,qe=0,oA=0,HA=0,Mu=0;if(iA=P,P=P+64|0,Te=iA+48|0,ke=iA+32|0,he=iA+24|0,pe=iA+8|0,$e=iA,p=r[t>>2]|0,(p|0)<=0)return Le=0,P=iA,Le|0;for(_e=t+4|0,Re=Te+8|0,He=ke+8|0,Fe=pe+8|0,d=0,ee=0;;){y=r[_e>>2]|0,Ae=y+(ee<<4)|0,r[Te>>2]=r[Ae>>2],r[Te+4>>2]=r[Ae+4>>2],r[Te+8>>2]=r[Ae+8>>2],r[Te+12>>2]=r[Ae+12>>2],(ee|0)==(p+-1|0)?(r[ke>>2]=r[y>>2],r[ke+4>>2]=r[y+4>>2],r[ke+8>>2]=r[y+8>>2],r[ke+12>>2]=r[y+12>>2]):(Ae=y+(ee+1<<4)|0,r[ke>>2]=r[Ae>>2],r[ke+4>>2]=r[Ae+4>>2],r[ke+8>>2]=r[Ae+8>>2],r[ke+12>>2]=r[Ae+12>>2]),p=Hh(Te,ke,o,he)|0;e:do if(p)y=0,d=p;else if(p=he,y=r[p>>2]|0,p=r[p+4>>2]|0,(p|0)>0|(p|0)==0&y>>>0>0){re=0,Ae=0;A:for(;;){if(oA=1/(+(y>>>0)+4294967296*+(p|0)),Mu=+S[Te>>3],p=EA(y|0,p|0,re|0,Ae|0)|0,HA=+(p>>>0)+4294967296*+(j()|0),qe=+(re>>>0)+4294967296*+(Ae|0),S[pe>>3]=oA*(Mu*HA)+oA*(+S[ke>>3]*qe),S[Fe>>3]=oA*(+S[Re>>3]*HA)+oA*(+S[He>>3]*qe),p=Ho(pe,o,$e)|0,p|0){d=p;break}Z=$e,U=r[Z>>2]|0,Z=r[Z+4>>2]|0,R=Cr(U|0,Z|0,A|0,i|0)|0,_=j()|0,p=f+(R<<3)|0,O=p,y=r[O>>2]|0,O=r[O+4>>2]|0;t:do if((y|0)==0&(O|0)==0)F=p,Le=16;else for(I=0,H=0;;){if((I|0)>(i|0)|(I|0)==(i|0)&H>>>0>A>>>0){d=1;break A}if((y|0)==(U|0)&(O|0)==(Z|0))break t;if(p=xe(R|0,_|0,1,0)|0,R=Dr(p|0,j()|0,A|0,i|0)|0,_=j()|0,H=xe(H|0,I|0,1,0)|0,I=j()|0,p=f+(R<<3)|0,O=p,y=r[O>>2]|0,O=r[O+4>>2]|0,(y|0)==0&(O|0)==0){F=p,Le=16;break}}while(!1);if((Le|0)==16&&(Le=0,!((U|0)==0&(Z|0)==0))&&(H=F,r[H>>2]=U,r[H+4>>2]=Z,H=l+(r[u>>2]<<3)|0,r[H>>2]=U,r[H+4>>2]=Z,H=u,H=xe(r[H>>2]|0,r[H+4>>2]|0,1,0)|0,U=j()|0,Z=u,r[Z>>2]=H,r[Z+4>>2]=U),re=xe(re|0,Ae|0,1,0)|0,Ae=j()|0,p=he,y=r[p>>2]|0,p=r[p+4>>2]|0,!((p|0)>(Ae|0)|(p|0)==(Ae|0)&y>>>0>re>>>0)){y=1;break e}}y=0}else y=1;while(!1);if(ee=ee+1|0,!y){Le=21;break}if(p=r[t>>2]|0,(ee|0)>=(p|0)){d=0,Le=21;break}}return(Le|0)==21?(P=iA,d|0):0}function Bh(t,A,i,o){t=t|0,A=A|0,i=i|0,o=o|0;var u=0,l=0,f=0,d=0,p=0,y=0,_=0,O=0,R=0,I=0,H=0,U=0,Z=0,re=0,Ae=0,ee=0,F=0,pe=0,$e=0,_e=0,Re=0,He=0,Fe=0,Te=0,ke=0,he=0,Le=0,iA=0,qe=0,oA=0,HA=0;if(HA=P,P=P+112|0,Le=HA+80|0,p=HA+72|0,iA=HA,qe=HA+56|0,u=dn(i)|0,u|0)return oA=u,P=HA,oA|0;if(y=t+8|0,oA=yt((r[y>>2]<<5)+32|0)|0,!oA)return oA=13,P=HA,oA|0;if(Vo(t,oA),u=dn(i)|0,!u){if(ke=t,he=r[ke+4>>2]|0,u=p,r[u>>2]=r[ke>>2],r[u+4>>2]=he,_u(p,Le),u=eu(Le,A,iA)|0,u)ke=0,he=0;else{if(u=r[p>>2]|0,l=r[y>>2]|0,(l|0)>0){f=r[t+12>>2]|0,i=0;do u=(r[f+(i<<3)>>2]|0)+u|0,i=i+1|0;while((i|0)!=(l|0));i=u}else i=u;u=iA,l=r[u>>2]|0,u=r[u+4>>2]|0,f=((i|0)<0)<<31>>31,(u|0)<(f|0)|(u|0)==(f|0)&l>>>0<i>>>0?(u=iA,r[u>>2]=i,r[u+4>>2]=f,u=f):i=l,ke=xe(i|0,u|0,12,0)|0,he=j()|0,u=iA,r[u>>2]=ke,r[u+4>>2]=he,u=0}if(!u){if(i=FA(ke,8)|0,!i)return Be(oA),oA=13,P=HA,oA|0;if(d=FA(ke,8)|0,!d)return Be(oA),Be(i),oA=13,P=HA,oA|0;Fe=Le,r[Fe>>2]=0,r[Fe+4>>2]=0,Fe=t,Te=r[Fe+4>>2]|0,u=p,r[u>>2]=r[Fe>>2],r[u+4>>2]=Te,u=Ka(p,ke,he,A,Le,i,d)|0;e:do if(u)Be(i),Be(d),Be(oA);else{A:do if((r[y>>2]|0)>0){for(f=t+12|0,l=0;u=Ka((r[f>>2]|0)+(l<<3)|0,ke,he,A,Le,i,d)|0,l=l+1|0,!(u|0);)if((l|0)>=(r[y>>2]|0))break A;Be(i),Be(d),Be(oA);break e}while(!1);(he|0)>0|(he|0)==0&ke>>>0>0&&Ht(d|0,0,ke<<3|0)|0,Te=Le,Fe=r[Te+4>>2]|0;A:do if((Fe|0)>0|(Fe|0)==0&(r[Te>>2]|0)>>>0>0){_e=i,Re=d,He=i,Fe=d,Te=i,u=i,F=i,pe=d,$e=d,i=d;t:for(;;){for(Z=0,re=0,Ae=0,ee=0,l=0,f=0;;){d=iA,p=d+56|0;do r[d>>2]=0,d=d+4|0;while((d|0)<(p|0));if(A=_e+(Z<<3)|0,y=r[A>>2]|0,A=r[A+4>>2]|0,Va(y,A,1,iA,0)|0){d=iA,p=d+56|0;do r[d>>2]=0,d=d+4|0;while((d|0)<(p|0));d=FA(7,4)|0,d|0&&(mt(y,A,1,iA,d,7,0,0)|0,Be(d))}for(U=0;;){H=iA+(U<<3)|0,I=r[H>>2]|0,H=r[H+4>>2]|0;r:do if((I|0)==0&(H|0)==0)d=l,p=f;else{if(_=Cr(I|0,H|0,ke|0,he|0)|0,y=j()|0,d=o+(_<<3)|0,A=d,p=r[A>>2]|0,A=r[A+4>>2]|0,!((p|0)==0&(A|0)==0)){O=0,R=0;do{if((O|0)>(he|0)|(O|0)==(he|0)&R>>>0>ke>>>0)break t;if((p|0)==(I|0)&(A|0)==(H|0)){d=l,p=f;break r}d=xe(_|0,y|0,1,0)|0,_=Dr(d|0,j()|0,ke|0,he|0)|0,y=j()|0,R=xe(R|0,O|0,1,0)|0,O=j()|0,d=o+(_<<3)|0,A=d,p=r[A>>2]|0,A=r[A+4>>2]|0}while(!((p|0)==0&(A|0)==0))}if((I|0)==0&(H|0)==0){d=l,p=f;break}or(I,H,qe)|0,zo(t,oA,qe)|0&&(R=xe(l|0,f|0,1,0)|0,f=j()|0,O=d,r[O>>2]=I,r[O+4>>2]=H,l=Re+(l<<3)|0,r[l>>2]=I,r[l+4>>2]=H,l=R),d=l,p=f}while(!1);if(U=U+1|0,U>>>0>=7)break;l=d,f=p}if(Z=xe(Z|0,re|0,1,0)|0,re=j()|0,Ae=xe(Ae|0,ee|0,1,0)|0,ee=j()|0,f=Le,l=r[f>>2]|0,f=r[f+4>>2]|0,(ee|0)<(f|0)|(ee|0)==(f|0)&Ae>>>0<l>>>0)l=d,f=p;else break}if((f|0)>0|(f|0)==0&l>>>0>0){l=0,f=0;do ee=_e+(l<<3)|0,r[ee>>2]=0,r[ee+4>>2]=0,l=xe(l|0,f|0,1,0)|0,f=j()|0,ee=Le,Ae=r[ee+4>>2]|0;while((f|0)<(Ae|0)|((f|0)==(Ae|0)?l>>>0<(r[ee>>2]|0)>>>0:0))}if(ee=Le,r[ee>>2]=d,r[ee+4>>2]=p,(p|0)>0|(p|0)==0&d>>>0>0)U=i,Z=$e,re=Te,Ae=pe,ee=Re,i=F,$e=u,pe=He,F=U,u=Z,Te=Fe,Fe=re,He=Ae,Re=_e,_e=ee;else break A}Be(He),Be(Fe),Be(oA),u=1;break e}else u=d;while(!1);Be(oA),Be(i),Be(u),u=0}while(!1);return oA=u,P=HA,oA|0}}return Be(oA),oA=u,P=HA,oA|0}function Ph(t,A,i){t=t|0,A=A|0,i=i|0;var o=0,u=0,l=0,f=0,d=0,p=0,y=0,_=0;if(_=P,P=P+176|0,p=_,(A|0)<1)return Bu(i,0,0),y=0,P=_,y|0;for(d=t,d=ae(r[d>>2]|0,r[d+4>>2]|0,52)|0,j()|0,Bu(i,(A|0)>6?A:6,d&15),d=0;o=t+(d<<3)|0,o=Br(r[o>>2]|0,r[o+4>>2]|0,p)|0,!(o|0);){if(o=r[p>>2]|0,(o|0)>0){f=0;do l=p+8+(f<<4)|0,f=f+1|0,o=p+8+(((f|0)%(o|0)|0)<<4)|0,u=n1(i,o,l)|0,u?Cu(i,u)|0:r1(i,l,o)|0,o=r[p>>2]|0;while((f|0)<(o|0))}if(d=d+1|0,(d|0)>=(A|0)){o=0,y=13;break}}return(y|0)==13?(P=_,o|0):(Pu(i),y=o,P=_,y|0)}function Dh(t,A,i){t=t|0,A=A|0,i=i|0;var o=0,u=0,l=0,f=0;if(l=P,P=P+32|0,o=l,u=l+16|0,t=Ph(t,A,u)|0,t|0)return i=t,P=l,i|0;if(r[i>>2]=0,r[i+4>>2]=0,r[i+8>>2]=0,t=Du(u)|0,t|0)do{A=Op(i)|0;do jp(A,t)|0,f=t+16|0,r[o>>2]=r[f>>2],r[o+4>>2]=r[f+4>>2],r[o+8>>2]=r[f+8>>2],r[o+12>>2]=r[f+12>>2],Cu(u,t)|0,t=i1(u,o)|0;while((t|0)!=0);t=Du(u)|0}while((t|0)!=0);return Pu(u),t=Np(i)|0,t?(yu(i),f=t,P=l,f|0):(f=0,P=l,f|0)}function cA(t){return t=t|0,t>>>0>121?(t=0,t|0):(t=r[7696+(t*28|0)+16>>2]|0,t|0)}function ko(t){return t=t|0,(t|0)==4|(t|0)==117|0}function Ya(t){return t=t|0,r[11120+((r[t>>2]|0)*216|0)+((r[t+4>>2]|0)*72|0)+((r[t+8>>2]|0)*24|0)+(r[t+12>>2]<<3)>>2]|0}function Ch(t){return t=t|0,r[11120+((r[t>>2]|0)*216|0)+((r[t+4>>2]|0)*72|0)+((r[t+8>>2]|0)*24|0)+(r[t+12>>2]<<3)+4>>2]|0}function Th(t,A){t=t|0,A=A|0,t=7696+(t*28|0)|0,r[A>>2]=r[t>>2],r[A+4>>2]=r[t+4>>2],r[A+8>>2]=r[t+8>>2],r[A+12>>2]=r[t+12>>2]}function Oh(t,A){t=t|0,A=A|0;var i=0,o=0;if(A>>>0>20)return A=-1,A|0;do if((r[11120+(A*216|0)>>2]|0)!=(t|0))if((r[11120+(A*216|0)+8>>2]|0)!=(t|0))if((r[11120+(A*216|0)+16>>2]|0)!=(t|0))if((r[11120+(A*216|0)+24>>2]|0)!=(t|0))if((r[11120+(A*216|0)+32>>2]|0)!=(t|0))if((r[11120+(A*216|0)+40>>2]|0)!=(t|0))if((r[11120+(A*216|0)+48>>2]|0)!=(t|0))if((r[11120+(A*216|0)+56>>2]|0)!=(t|0))if((r[11120+(A*216|0)+64>>2]|0)!=(t|0))if((r[11120+(A*216|0)+72>>2]|0)!=(t|0))if((r[11120+(A*216|0)+80>>2]|0)!=(t|0))if((r[11120+(A*216|0)+88>>2]|0)!=(t|0))if((r[11120+(A*216|0)+96>>2]|0)!=(t|0))if((r[11120+(A*216|0)+104>>2]|0)!=(t|0))if((r[11120+(A*216|0)+112>>2]|0)!=(t|0))if((r[11120+(A*216|0)+120>>2]|0)!=(t|0))if((r[11120+(A*216|0)+128>>2]|0)!=(t|0))if((r[11120+(A*216|0)+136>>2]|0)==(t|0))t=2,i=1,o=2;else{if((r[11120+(A*216|0)+144>>2]|0)==(t|0)){t=0,i=2,o=0;break}if((r[11120+(A*216|0)+152>>2]|0)==(t|0)){t=0,i=2,o=1;break}if((r[11120+(A*216|0)+160>>2]|0)==(t|0)){t=0,i=2,o=2;break}if((r[11120+(A*216|0)+168>>2]|0)==(t|0)){t=1,i=2,o=0;break}if((r[11120+(A*216|0)+176>>2]|0)==(t|0)){t=1,i=2,o=1;break}if((r[11120+(A*216|0)+184>>2]|0)==(t|0)){t=1,i=2,o=2;break}if((r[11120+(A*216|0)+192>>2]|0)==(t|0)){t=2,i=2,o=0;break}if((r[11120+(A*216|0)+200>>2]|0)==(t|0)){t=2,i=2,o=1;break}if((r[11120+(A*216|0)+208>>2]|0)==(t|0)){t=2,i=2,o=2;break}else t=-1;return t|0}else t=2,i=1,o=1;else t=2,i=1,o=0;else t=1,i=1,o=2;else t=1,i=1,o=1;else t=1,i=1,o=0;else t=0,i=1,o=2;else t=0,i=1,o=1;else t=0,i=1,o=0;else t=2,i=0,o=2;else t=2,i=0,o=1;else t=2,i=0,o=0;else t=1,i=0,o=2;else t=1,i=0,o=1;else t=1,i=0,o=0;else t=0,i=0,o=2;else t=0,i=0,o=1;else t=0,i=0,o=0;while(!1);return A=r[11120+(A*216|0)+(i*72|0)+(t*24|0)+(o<<3)+4>>2]|0,A|0}function Wa(t,A){return t=t|0,A=A|0,(r[7696+(t*28|0)+20>>2]|0)==(A|0)?(A=1,A|0):(A=(r[7696+(t*28|0)+24>>2]|0)==(A|0),A|0)}function xo(t,A){return t=t|0,A=A|0,r[848+(t*28|0)+(A<<2)>>2]|0}function So(t,A){return t=t|0,A=A|0,(r[848+(t*28|0)>>2]|0)==(A|0)?(A=0,A|0):(r[848+(t*28|0)+4>>2]|0)==(A|0)?(A=1,A|0):(r[848+(t*28|0)+8>>2]|0)==(A|0)?(A=2,A|0):(r[848+(t*28|0)+12>>2]|0)==(A|0)?(A=3,A|0):(r[848+(t*28|0)+16>>2]|0)==(A|0)?(A=4,A|0):(r[848+(t*28|0)+20>>2]|0)==(A|0)?(A=5,A|0):((r[848+(t*28|0)+24>>2]|0)==(A|0)?6:7)|0}function jh(){return 122}function Nh(t){t=t|0;var A=0,i=0,o=0;A=0;do de(A|0,0,45)|0,o=j()|0|134225919,i=t+(A<<3)|0,r[i>>2]=-1,r[i+4>>2]=o,A=A+1|0;while((A|0)!=122);return 0}function Mh(t){t=t|0;var A=0,i=0,o=0;return o=+S[t+16>>3],i=+S[t+24>>3],A=o-i,+(o<i?A+6.283185307179586:A)}function Ja(t){return t=t|0,+S[t+16>>3]<+S[t+24>>3]|0}function Rh(t){return t=t|0,+(+S[t>>3]-+S[t+8>>3])}function Bo(t,A){t=t|0,A=A|0;var i=0,o=0,u=0;return i=+S[A>>3],!(i>=+S[t+8>>3])||!(i<=+S[t>>3])?(A=0,A|0):(o=+S[t+16>>3],i=+S[t+24>>3],u=+S[A+8>>3],A=u>=i,t=u<=o&1,o<i?A&&(t=1):A||(t=0),A=(t|0)!=0,A|0)}function Po(t,A){t=t|0,A=A|0;var i=0,o=0,u=0,l=0,f=0,d=0,p=0,y=0,_=0;return+S[t>>3]<+S[A+8>>3]||+S[t+8>>3]>+S[A>>3]?(o=0,o|0):(l=+S[t+16>>3],i=t+24|0,_=+S[i>>3],f=l<_,o=A+16|0,y=+S[o>>3],u=A+24|0,p=+S[u>>3],d=y<p,A=_-y<p-l,t=f?d|A?1:2:0,A=d?f?1:A?2:1:0,l=+JA(l,t),l<+JA(+S[u>>3],A)||(_=+JA(+S[i>>3],t),_>+JA(+S[o>>3],A))?(d=0,d|0):(d=1,d|0))}function Ih(t,A,i,o){t=t|0,A=A|0,i=i|0,o=o|0;var u=0,l=0,f=0,d=0,p=0;l=+S[t+16>>3],p=+S[t+24>>3],t=l<p,d=+S[A+16>>3],f=+S[A+24>>3],u=d<f,A=p-d<f-l,r[i>>2]=t?u|A?1:2:0,r[o>>2]=u?t?1:A?2:1:0}function Za(t,A){t=t|0,A=A|0;var i=0,o=0,u=0,l=0,f=0,d=0,p=0,y=0,_=0;return+S[t>>3]<+S[A>>3]||+S[t+8>>3]>+S[A+8>>3]?(o=0,o|0):(o=t+16|0,p=+S[o>>3],l=+S[t+24>>3],f=p<l,i=A+16|0,_=+S[i>>3],u=A+24|0,y=+S[u>>3],d=_<y,A=l-_<y-p,t=f?d|A?1:2:0,A=d?f?1:A?2:1:0,l=+JA(l,t),l<=+JA(+S[u>>3],A)?(_=+JA(+S[o>>3],t),d=_>=+JA(+S[i>>3],A),d|0):(d=0,d|0))}function Xa(t,A){t=t|0,A=A|0;var i=0,o=0,u=0,l=0,f=0,d=0;u=P,P=P+176|0,o=u,r[o>>2]=4,d=+S[A>>3],S[o+8>>3]=d,l=+S[A+16>>3],S[o+16>>3]=l,S[o+24>>3]=d,d=+S[A+24>>3],S[o+32>>3]=d,f=+S[A+8>>3],S[o+40>>3]=f,S[o+48>>3]=d,S[o+56>>3]=f,S[o+64>>3]=l,A=o+72|0,i=A+96|0;do r[A>>2]=0,A=A+4|0;while((A|0)<(i|0));Tr(t|0,o|0,168)|0,P=u}function eu(t,A,i){t=t|0,A=A|0,i=i|0;var o=0,u=0,l=0,f=0,d=0,p=0,y=0,_=0,O=0,R=0,I=0,H=0,U=0,Z=0;H=P,P=P+288|0,_=H+264|0,O=H+96|0,y=H,d=y,p=d+96|0;do r[d>>2]=0,d=d+4|0;while((d|0)<(p|0));return A=qo(A,y)|0,A|0?(I=A,P=H,I|0):(p=y,y=r[p>>2]|0,p=r[p+4>>2]|0,or(y,p,_)|0,Br(y,p,O)|0,f=+fn(_,O+8|0),S[_>>3]=+S[t>>3],p=_+8|0,S[p>>3]=+S[t+16>>3],S[O>>3]=+S[t+8>>3],y=O+8|0,S[y>>3]=+S[t+24>>3],u=+fn(_,O),Z=+S[p>>3]-+S[y>>3],l=+Xe(+Z),U=+S[_>>3]-+S[O>>3],o=+Xe(+U),!(Z==0|U==0)&&(Z=+ju(+l,+o),Z=+kr(+(u*u/+di(+(Z/+di(+l,+o)),3)/(f*(f*2.59807621135)*.8))),S[wA>>3]=Z,R=~~Z>>>0,I=+Xe(Z)>=1?Z>0?~~+Eo(+vA(Z/4294967296),4294967295)>>>0:~~+kr((Z-+(~~Z>>>0))/4294967296)>>>0:0,(r[wA+4>>2]&2146435072|0)!=2146435072)?(O=(R|0)==0&(I|0)==0,A=i,r[A>>2]=O?1:R,r[A+4>>2]=O?0:I,A=0):A=1,I=A,P=H,I|0)}function Hh(t,A,i,o){t=t|0,A=A|0,i=i|0,o=o|0;var u=0,l=0,f=0,d=0,p=0,y=0,_=0;y=P,P=P+288|0,f=y+264|0,d=y+96|0,p=y,u=p,l=u+96|0;do r[u>>2]=0,u=u+4|0;while((u|0)<(l|0));return i=qo(i,p)|0,i|0?(o=i,P=y,o|0):(i=p,u=r[i>>2]|0,i=r[i+4>>2]|0,or(u,i,f)|0,Br(u,i,d)|0,_=+fn(f,d+8|0),_=+kr(+(+fn(t,A)/(_*2))),S[wA>>3]=_,i=~~_>>>0,u=+Xe(_)>=1?_>0?~~+Eo(+vA(_/4294967296),4294967295)>>>0:~~+kr((_-+(~~_>>>0))/4294967296)>>>0:0,(r[wA+4>>2]&2146435072|0)==2146435072?(o=1,P=y,o|0):(p=(i|0)==0&(u|0)==0,r[o>>2]=p?1:i,r[o+4>>2]=p?0:u,o=0,P=y,o|0))}function Qh(t,A){t=t|0,A=+A;var i=0,o=0,u=0,l=0,f=0,d=0,p=0,y=0,_=0;l=t+16|0,f=+S[l>>3],i=t+24|0,u=+S[i>>3],o=f-u,o=f<u?o+6.283185307179586:o,y=+S[t>>3],d=t+8|0,p=+S[d>>3],_=y-p,o=(o*A-o)*.5,A=(_*A-_)*.5,y=y+A,S[t>>3]=y>1.5707963267948966?1.5707963267948966:y,A=p-A,S[d>>3]=A<-1.5707963267948966?-1.5707963267948966:A,A=f+o,A=A>3.141592653589793?A+-6.283185307179586:A,S[l>>3]=A<-3.141592653589793?A+6.283185307179586:A,A=u-o,A=A>3.141592653589793?A+-6.283185307179586:A,S[i>>3]=A<-3.141592653589793?A+6.283185307179586:A}function qh(t,A,i,o){t=t|0,A=A|0,i=i|0,o=o|0,r[t>>2]=A,r[t+4>>2]=i,r[t+8>>2]=o}function Lh(t,A){t=t|0,A=A|0;var i=0,o=0,u=0,l=0,f=0,d=0,p=0,y=0,_=0,O=0,R=0;O=A+8|0,r[O>>2]=0,p=+S[t>>3],f=+Xe(+p),y=+S[t+8>>3],d=+Xe(+y)*1.1547005383792515,f=f+d*.5,i=~~f,t=~~d,f=f-+(i|0),d=d-+(t|0);do if(f<.5)if(f<.3333333333333333)if(r[A>>2]=i,d<(f+1)*.5){r[A+4>>2]=t;break}else{t=t+1|0,r[A+4>>2]=t;break}else if(R=1-f,t=(!(d<R)&1)+t|0,r[A+4>>2]=t,R<=d&d<f*2){i=i+1|0,r[A>>2]=i;break}else{r[A>>2]=i;break}else{if(!(f<.6666666666666666))if(i=i+1|0,r[A>>2]=i,d<f*.5){r[A+4>>2]=t;break}else{t=t+1|0,r[A+4>>2]=t;break}if(d<1-f){if(r[A+4>>2]=t,f*2+-1<d){r[A>>2]=i;break}}else t=t+1|0,r[A+4>>2]=t;i=i+1|0,r[A>>2]=i}while(!1);do if(p<0)if(t&1){_=(t+1|0)/2|0,_=EA(i|0,((i|0)<0)<<31>>31|0,_|0,((_|0)<0)<<31>>31|0)|0,i=~~(+(i|0)-((+(_>>>0)+4294967296*+(j()|0))*2+1)),r[A>>2]=i;break}else{_=(t|0)/2|0,_=EA(i|0,((i|0)<0)<<31>>31|0,_|0,((_|0)<0)<<31>>31|0)|0,i=~~(+(i|0)-(+(_>>>0)+4294967296*+(j()|0))*2),r[A>>2]=i;break}while(!1);_=A+4|0,y<0&&(i=i-((t<<1|1|0)/2|0)|0,r[A>>2]=i,t=0-t|0,r[_>>2]=t),o=t-i|0,(i|0)<0?(u=0-i|0,r[_>>2]=o,r[O>>2]=u,r[A>>2]=0,t=o,i=0):u=0,(t|0)<0&&(i=i-t|0,r[A>>2]=i,u=u-t|0,r[O>>2]=u,r[_>>2]=0,t=0),l=i-u|0,o=t-u|0,(u|0)<0&&(r[A>>2]=l,r[_>>2]=o,r[O>>2]=0,t=o,i=l,u=0),o=(t|0)<(i|0)?t:i,o=(u|0)<(o|0)?u:o,!((o|0)<=0)&&(r[A>>2]=i-o,r[_>>2]=t-o,r[O>>2]=u-o)}function DA(t){t=t|0;var A=0,i=0,o=0,u=0,l=0,f=0;A=r[t>>2]|0,f=t+4|0,i=r[f>>2]|0,(A|0)<0&&(i=i-A|0,r[f>>2]=i,l=t+8|0,r[l>>2]=(r[l>>2]|0)-A,r[t>>2]=0,A=0),(i|0)<0?(A=A-i|0,r[t>>2]=A,l=t+8|0,u=(r[l>>2]|0)-i|0,r[l>>2]=u,r[f>>2]=0,i=0):(u=t+8|0,l=u,u=r[u>>2]|0),(u|0)<0&&(A=A-u|0,r[t>>2]=A,i=i-u|0,r[f>>2]=i,r[l>>2]=0,u=0),o=(i|0)<(A|0)?i:A,o=(u|0)<(o|0)?u:o,!((o|0)<=0)&&(r[t>>2]=A-o,r[f>>2]=i-o,r[l>>2]=u-o)}function tr(t,A){t=t|0,A=A|0;var i=0,o=0;o=r[t+8>>2]|0,i=+((r[t+4>>2]|0)-o|0),S[A>>3]=+((r[t>>2]|0)-o|0)-i*.5,S[A+8>>3]=i*.8660254037844386}function IA(t,A,i){t=t|0,A=A|0,i=i|0,r[i>>2]=(r[A>>2]|0)+(r[t>>2]|0),r[i+4>>2]=(r[A+4>>2]|0)+(r[t+4>>2]|0),r[i+8>>2]=(r[A+8>>2]|0)+(r[t+8>>2]|0)}function Do(t,A,i){t=t|0,A=A|0,i=i|0,r[i>>2]=(r[t>>2]|0)-(r[A>>2]|0),r[i+4>>2]=(r[t+4>>2]|0)-(r[A+4>>2]|0),r[i+8>>2]=(r[t+8>>2]|0)-(r[A+8>>2]|0)}function Au(t,A){t=t|0,A=A|0;var i=0,o=0;i=gt(r[t>>2]|0,A)|0,r[t>>2]=i,i=t+4|0,o=gt(r[i>>2]|0,A)|0,r[i>>2]=o,t=t+8|0,A=gt(r[t>>2]|0,A)|0,r[t>>2]=A}function oi(t){t=t|0;var A=0,i=0,o=0,u=0,l=0,f=0,d=0;f=r[t>>2]|0,d=(f|0)<0,o=(r[t+4>>2]|0)-(d?f:0)|0,l=(o|0)<0,u=(l?0-o|0:0)+((r[t+8>>2]|0)-(d?f:0))|0,i=(u|0)<0,t=i?0:u,A=(l?0:o)-(i?u:0)|0,u=(d?0:f)-(l?o:0)-(i?u:0)|0,i=(A|0)<(u|0)?A:u,i=(t|0)<(i|0)?t:i,o=(i|0)>0,t=t-(o?i:0)|0,A=A-(o?i:0)|0;e:do switch(u-(o?i:0)|0){case 0:switch(A|0){case 0:return d=(t|0)==0?0:(t|0)==1?1:7,d|0;case 1:return d=(t|0)==0?2:(t|0)==1?3:7,d|0;default:break e}case 1:switch(A|0){case 0:return d=(t|0)==0?4:(t|0)==1?5:7,d|0;case 1:{if(!t)t=6;else break e;return t|0}default:break e}default:}while(!1);return d=7,d|0}function Uh(t){t=t|0;var A=0,i=0,o=0,u=0,l=0,f=0,d=0,p=0,y=0;if(p=t+8|0,f=r[p>>2]|0,d=(r[t>>2]|0)-f|0,y=t+4|0,f=(r[y>>2]|0)-f|0,d>>>0>715827881|f>>>0>715827881){if(o=(d|0)>0,u=2147483647-d|0,l=-2147483648-d|0,(o?(u|0)<(d|0):(l|0)>(d|0))||(i=d<<1,o?(2147483647-i|0)<(d|0):(-2147483648-i|0)>(d|0))||((f|0)>0?(2147483647-f|0)<(f|0):(-2147483648-f|0)>(f|0))||(A=d*3|0,i=f<<1,(o?(u|0)<(i|0):(l|0)>(i|0))||((d|0)>-1?(A|-2147483648|0)>=(f|0):(A^-2147483648|0)<(f|0))))return y=1,y|0}else i=f<<1,A=d*3|0;return o=Rt(+(A-f|0)*.14285714285714285)|0,r[t>>2]=o,u=Rt(+(i+d|0)*.14285714285714285)|0,r[y>>2]=u,r[p>>2]=0,i=(u|0)<(o|0),A=i?o:u,i=i?u:o,(i|0)<0&&(((i|0)==-2147483648||((A|0)>0?(2147483647-A|0)<(i|0):(-2147483648-A|0)>(i|0)))&&Oe(27795,26892,354,26903),((A|0)>-1?(A|-2147483648|0)>=(i|0):(A^-2147483648|0)<(i|0))&&Oe(27795,26892,354,26903)),A=u-o|0,(o|0)<0?(i=0-o|0,r[y>>2]=A,r[p>>2]=i,r[t>>2]=0,o=0):(A=u,i=0),(A|0)<0&&(o=o-A|0,r[t>>2]=o,i=i-A|0,r[p>>2]=i,r[y>>2]=0,A=0),l=o-i|0,u=A-i|0,(i|0)<0?(r[t>>2]=l,r[y>>2]=u,r[p>>2]=0,A=u,u=l,i=0):u=o,o=(A|0)<(u|0)?A:u,o=(i|0)<(o|0)?i:o,(o|0)<=0?(y=0,y|0):(r[t>>2]=u-o,r[y>>2]=A-o,r[p>>2]=i-o,y=0,y|0)}function Gh(t){t=t|0;var A=0,i=0,o=0,u=0,l=0,f=0,d=0,p=0;if(f=t+8|0,u=r[f>>2]|0,l=(r[t>>2]|0)-u|0,d=t+4|0,u=(r[d>>2]|0)-u|0,l>>>0>715827881|u>>>0>715827881){if(i=(l|0)>0,(i?(2147483647-l|0)<(l|0):(-2147483648-l|0)>(l|0))||(A=l<<1,o=(u|0)>0,o?(2147483647-u|0)<(u|0):(-2147483648-u|0)>(u|0)))return d=1,d|0;if(p=u<<1,(o?(2147483647-p|0)<(u|0):(-2147483648-p|0)>(u|0))||(i?(2147483647-A|0)<(u|0):(-2147483648-A|0)>(u|0))||(i=u*3|0,(u|0)>-1?(i|-2147483648|0)>=(l|0):(i^-2147483648|0)<(l|0)))return p=1,p|0}else i=u*3|0,A=l<<1;return o=Rt(+(A+u|0)*.14285714285714285)|0,r[t>>2]=o,u=Rt(+(i-l|0)*.14285714285714285)|0,r[d>>2]=u,r[f>>2]=0,i=(u|0)<(o|0),A=i?o:u,i=i?u:o,(i|0)<0&&(((i|0)==-2147483648||((A|0)>0?(2147483647-A|0)<(i|0):(-2147483648-A|0)>(i|0)))&&Oe(27795,26892,402,26917),((A|0)>-1?(A|-2147483648|0)>=(i|0):(A^-2147483648|0)<(i|0))&&Oe(27795,26892,402,26917)),A=u-o|0,(o|0)<0?(i=0-o|0,r[d>>2]=A,r[f>>2]=i,r[t>>2]=0,o=0):(A=u,i=0),(A|0)<0&&(o=o-A|0,r[t>>2]=o,i=i-A|0,r[f>>2]=i,r[d>>2]=0,A=0),l=o-i|0,u=A-i|0,(i|0)<0?(r[t>>2]=l,r[d>>2]=u,r[f>>2]=0,A=u,u=l,i=0):u=o,o=(A|0)<(u|0)?A:u,o=(i|0)<(o|0)?i:o,(o|0)<=0?(p=0,p|0):(r[t>>2]=u-o,r[d>>2]=A-o,r[f>>2]=i-o,p=0,p|0)}function Fh(t){t=t|0;var A=0,i=0,o=0,u=0,l=0,f=0,d=0;f=t+8|0,i=r[f>>2]|0,A=(r[t>>2]|0)-i|0,d=t+4|0,i=(r[d>>2]|0)-i|0,o=Rt(+((A*3|0)-i|0)*.14285714285714285)|0,r[t>>2]=o,A=Rt(+((i<<1)+A|0)*.14285714285714285)|0,r[d>>2]=A,r[f>>2]=0,i=A-o|0,(o|0)<0?(l=0-o|0,r[d>>2]=i,r[f>>2]=l,r[t>>2]=0,A=i,o=0,i=l):i=0,(A|0)<0&&(o=o-A|0,r[t>>2]=o,i=i-A|0,r[f>>2]=i,r[d>>2]=0,A=0),l=o-i|0,u=A-i|0,(i|0)<0?(r[t>>2]=l,r[d>>2]=u,r[f>>2]=0,A=u,u=l,i=0):u=o,o=(A|0)<(u|0)?A:u,o=(i|0)<(o|0)?i:o,!((o|0)<=0)&&(r[t>>2]=u-o,r[d>>2]=A-o,r[f>>2]=i-o)}function tu(t){t=t|0;var A=0,i=0,o=0,u=0,l=0,f=0,d=0;f=t+8|0,i=r[f>>2]|0,A=(r[t>>2]|0)-i|0,d=t+4|0,i=(r[d>>2]|0)-i|0,o=Rt(+((A<<1)+i|0)*.14285714285714285)|0,r[t>>2]=o,A=Rt(+((i*3|0)-A|0)*.14285714285714285)|0,r[d>>2]=A,r[f>>2]=0,i=A-o|0,(o|0)<0?(l=0-o|0,r[d>>2]=i,r[f>>2]=l,r[t>>2]=0,A=i,o=0,i=l):i=0,(A|0)<0&&(o=o-A|0,r[t>>2]=o,i=i-A|0,r[f>>2]=i,r[d>>2]=0,A=0),l=o-i|0,u=A-i|0,(i|0)<0?(r[t>>2]=l,r[d>>2]=u,r[f>>2]=0,A=u,u=l,i=0):u=o,o=(A|0)<(u|0)?A:u,o=(i|0)<(o|0)?i:o,!((o|0)<=0)&&(r[t>>2]=u-o,r[d>>2]=A-o,r[f>>2]=i-o)}function si(t){t=t|0;var A=0,i=0,o=0,u=0,l=0,f=0,d=0;A=r[t>>2]|0,f=t+4|0,i=r[f>>2]|0,d=t+8|0,o=r[d>>2]|0,u=i+(A*3|0)|0,r[t>>2]=u,i=o+(i*3|0)|0,r[f>>2]=i,A=(o*3|0)+A|0,r[d>>2]=A,o=i-u|0,(u|0)<0?(A=A-u|0,r[f>>2]=o,r[d>>2]=A,r[t>>2]=0,i=o,o=0):o=u,(i|0)<0&&(o=o-i|0,r[t>>2]=o,A=A-i|0,r[d>>2]=A,r[f>>2]=0,i=0),l=o-A|0,u=i-A|0,(A|0)<0?(r[t>>2]=l,r[f>>2]=u,r[d>>2]=0,o=l,A=0):u=i,i=(u|0)<(o|0)?u:o,i=(A|0)<(i|0)?A:i,!((i|0)<=0)&&(r[t>>2]=o-i,r[f>>2]=u-i,r[d>>2]=A-i)}function rr(t){t=t|0;var A=0,i=0,o=0,u=0,l=0,f=0,d=0;u=r[t>>2]|0,f=t+4|0,A=r[f>>2]|0,d=t+8|0,i=r[d>>2]|0,o=(A*3|0)+u|0,u=i+(u*3|0)|0,r[t>>2]=u,r[f>>2]=o,A=(i*3|0)+A|0,r[d>>2]=A,i=o-u|0,(u|0)<0?(A=A-u|0,r[f>>2]=i,r[d>>2]=A,r[t>>2]=0,u=0):i=o,(i|0)<0&&(u=u-i|0,r[t>>2]=u,A=A-i|0,r[d>>2]=A,r[f>>2]=0,i=0),l=u-A|0,o=i-A|0,(A|0)<0?(r[t>>2]=l,r[f>>2]=o,r[d>>2]=0,u=l,A=0):o=i,i=(o|0)<(u|0)?o:u,i=(A|0)<(i|0)?A:i,!((i|0)<=0)&&(r[t>>2]=u-i,r[f>>2]=o-i,r[d>>2]=A-i)}function ru(t,A){t=t|0,A=A|0;var i=0,o=0,u=0,l=0,f=0,d=0;(A+-1|0)>>>0>=6||(u=(r[15440+(A*12|0)>>2]|0)+(r[t>>2]|0)|0,r[t>>2]=u,d=t+4|0,o=(r[15440+(A*12|0)+4>>2]|0)+(r[d>>2]|0)|0,r[d>>2]=o,f=t+8|0,A=(r[15440+(A*12|0)+8>>2]|0)+(r[f>>2]|0)|0,r[f>>2]=A,i=o-u|0,(u|0)<0?(A=A-u|0,r[d>>2]=i,r[f>>2]=A,r[t>>2]=0,o=0):(i=o,o=u),(i|0)<0&&(o=o-i|0,r[t>>2]=o,A=A-i|0,r[f>>2]=A,r[d>>2]=0,i=0),l=o-A|0,u=i-A|0,(A|0)<0?(r[t>>2]=l,r[d>>2]=u,r[f>>2]=0,o=l,A=0):u=i,i=(u|0)<(o|0)?u:o,i=(A|0)<(i|0)?A:i,!((i|0)<=0)&&(r[t>>2]=o-i,r[d>>2]=u-i,r[f>>2]=A-i))}function nu(t){t=t|0;var A=0,i=0,o=0,u=0,l=0,f=0,d=0;u=r[t>>2]|0,f=t+4|0,A=r[f>>2]|0,d=t+8|0,i=r[d>>2]|0,o=A+u|0,u=i+u|0,r[t>>2]=u,r[f>>2]=o,A=i+A|0,r[d>>2]=A,i=o-u|0,(u|0)<0?(A=A-u|0,r[f>>2]=i,r[d>>2]=A,r[t>>2]=0,o=0):(i=o,o=u),(i|0)<0&&(o=o-i|0,r[t>>2]=o,A=A-i|0,r[d>>2]=A,r[f>>2]=0,i=0),l=o-A|0,u=i-A|0,(A|0)<0?(r[t>>2]=l,r[f>>2]=u,r[d>>2]=0,o=l,A=0):u=i,i=(u|0)<(o|0)?u:o,i=(A|0)<(i|0)?A:i,!((i|0)<=0)&&(r[t>>2]=o-i,r[f>>2]=u-i,r[d>>2]=A-i)}function ai(t){t=t|0;var A=0,i=0,o=0,u=0,l=0,f=0,d=0;A=r[t>>2]|0,f=t+4|0,o=r[f>>2]|0,d=t+8|0,i=r[d>>2]|0,u=o+A|0,r[t>>2]=u,o=i+o|0,r[f>>2]=o,A=i+A|0,r[d>>2]=A,i=o-u|0,(u|0)<0?(A=A-u|0,r[f>>2]=i,r[d>>2]=A,r[t>>2]=0,o=0):(i=o,o=u),(i|0)<0&&(o=o-i|0,r[t>>2]=o,A=A-i|0,r[d>>2]=A,r[f>>2]=0,i=0),l=o-A|0,u=i-A|0,(A|0)<0?(r[t>>2]=l,r[f>>2]=u,r[d>>2]=0,o=l,A=0):u=i,i=(u|0)<(o|0)?u:o,i=(A|0)<(i|0)?A:i,!((i|0)<=0)&&(r[t>>2]=o-i,r[f>>2]=u-i,r[d>>2]=A-i)}function nr(t){switch(t=t|0,t|0){case 1:{t=5;break}case 5:{t=4;break}case 4:{t=6;break}case 6:{t=2;break}case 2:{t=3;break}case 3:{t=1;break}default:}return t|0}function Nt(t){switch(t=t|0,t|0){case 1:{t=3;break}case 3:{t=2;break}case 2:{t=6;break}case 6:{t=4;break}case 4:{t=5;break}case 5:{t=1;break}default:}return t|0}function iu(t){t=t|0;var A=0,i=0,o=0,u=0,l=0,f=0,d=0;A=r[t>>2]|0,f=t+4|0,i=r[f>>2]|0,d=t+8|0,o=r[d>>2]|0,u=i+(A<<1)|0,r[t>>2]=u,i=o+(i<<1)|0,r[f>>2]=i,A=(o<<1)+A|0,r[d>>2]=A,o=i-u|0,(u|0)<0?(A=A-u|0,r[f>>2]=o,r[d>>2]=A,r[t>>2]=0,i=o,o=0):o=u,(i|0)<0&&(o=o-i|0,r[t>>2]=o,A=A-i|0,r[d>>2]=A,r[f>>2]=0,i=0),l=o-A|0,u=i-A|0,(A|0)<0?(r[t>>2]=l,r[f>>2]=u,r[d>>2]=0,o=l,A=0):u=i,i=(u|0)<(o|0)?u:o,i=(A|0)<(i|0)?A:i,!((i|0)<=0)&&(r[t>>2]=o-i,r[f>>2]=u-i,r[d>>2]=A-i)}function ou(t){t=t|0;var A=0,i=0,o=0,u=0,l=0,f=0,d=0;u=r[t>>2]|0,f=t+4|0,A=r[f>>2]|0,d=t+8|0,i=r[d>>2]|0,o=(A<<1)+u|0,u=i+(u<<1)|0,r[t>>2]=u,r[f>>2]=o,A=(i<<1)+A|0,r[d>>2]=A,i=o-u|0,(u|0)<0?(A=A-u|0,r[f>>2]=i,r[d>>2]=A,r[t>>2]=0,u=0):i=o,(i|0)<0&&(u=u-i|0,r[t>>2]=u,A=A-i|0,r[d>>2]=A,r[f>>2]=0,i=0),l=u-A|0,o=i-A|0,(A|0)<0?(r[t>>2]=l,r[f>>2]=o,r[d>>2]=0,u=l,A=0):o=i,i=(o|0)<(u|0)?o:u,i=(A|0)<(i|0)?A:i,!((i|0)<=0)&&(r[t>>2]=u-i,r[f>>2]=o-i,r[d>>2]=A-i)}function Co(t,A){t=t|0,A=A|0;var i=0,o=0,u=0,l=0,f=0,d=0;return f=(r[t>>2]|0)-(r[A>>2]|0)|0,d=(f|0)<0,o=(r[t+4>>2]|0)-(r[A+4>>2]|0)-(d?f:0)|0,l=(o|0)<0,u=(d?0-f|0:0)+(r[t+8>>2]|0)-(r[A+8>>2]|0)+(l?0-o|0:0)|0,t=(u|0)<0,A=t?0:u,i=(l?0:o)-(t?u:0)|0,u=(d?0:f)-(l?o:0)-(t?u:0)|0,t=(i|0)<(u|0)?i:u,t=(A|0)<(t|0)?A:t,o=(t|0)>0,A=A-(o?t:0)|0,i=i-(o?t:0)|0,t=u-(o?t:0)|0,t=(t|0)>-1?t:0-t|0,i=(i|0)>-1?i:0-i|0,A=(A|0)>-1?A:0-A|0,A=(i|0)>(A|0)?i:A,((t|0)>(A|0)?t:A)|0}function Vh(t,A){t=t|0,A=A|0;var i=0;i=r[t+8>>2]|0,r[A>>2]=(r[t>>2]|0)-i,r[A+4>>2]=(r[t+4>>2]|0)-i}function zh(t,A){t=t|0,A=A|0;var i=0,o=0,u=0,l=0,f=0,d=0;return o=r[t>>2]|0,r[A>>2]=o,u=r[t+4>>2]|0,f=A+4|0,r[f>>2]=u,d=A+8|0,r[d>>2]=0,i=(u|0)<(o|0),t=i?o:u,i=i?u:o,(i|0)<0&&((i|0)==-2147483648||((t|0)>0?(2147483647-t|0)<(i|0):(-2147483648-t|0)>(i|0))||((t|0)>-1?(t|-2147483648|0)>=(i|0):(t^-2147483648|0)<(i|0)))?(A=1,A|0):(t=u-o|0,(o|0)<0?(i=0-o|0,r[f>>2]=t,r[d>>2]=i,r[A>>2]=0,o=0):(t=u,i=0),(t|0)<0&&(o=o-t|0,r[A>>2]=o,i=i-t|0,r[d>>2]=i,r[f>>2]=0,t=0),l=o-i|0,u=t-i|0,(i|0)<0?(r[A>>2]=l,r[f>>2]=u,r[d>>2]=0,t=u,u=l,i=0):u=o,o=(t|0)<(u|0)?t:u,o=(i|0)<(o|0)?i:o,(o|0)<=0?(A=0,A|0):(r[A>>2]=u-o,r[f>>2]=t-o,r[d>>2]=i-o,A=0,A|0))}function su(t){t=t|0;var A=0,i=0,o=0,u=0;A=t+8|0,u=r[A>>2]|0,i=u-(r[t>>2]|0)|0,r[t>>2]=i,o=t+4|0,t=(r[o>>2]|0)-u|0,r[o>>2]=t,r[A>>2]=0-(t+i)}function Kh(t){t=t|0;var A=0,i=0,o=0,u=0,l=0,f=0,d=0;i=r[t>>2]|0,A=0-i|0,r[t>>2]=A,f=t+8|0,r[f>>2]=0,d=t+4|0,o=r[d>>2]|0,u=o+i|0,(i|0)>0?(r[d>>2]=u,r[f>>2]=i,r[t>>2]=0,A=0,o=u):i=0,(o|0)<0?(l=A-o|0,r[t>>2]=l,i=i-o|0,r[f>>2]=i,r[d>>2]=0,u=l-i|0,A=0-i|0,(i|0)<0?(r[t>>2]=u,r[d>>2]=A,r[f>>2]=0,o=A,i=0):(o=0,u=l)):u=A,A=(o|0)<(u|0)?o:u,A=(i|0)<(A|0)?i:A,!((A|0)<=0)&&(r[t>>2]=u-A,r[d>>2]=o-A,r[f>>2]=i-A)}function Yh(t,A,i,o,u){t=t|0,A=A|0,i=i|0,o=o|0,u=u|0;var l=0,f=0,d=0,p=0,y=0,_=0,O=0;if(O=P,P=P+64|0,_=O,d=O+56|0,!(!0&(A&2013265920|0)==134217728&(!0&(o&2013265920|0)==134217728)))return u=5,P=O,u|0;if((t|0)==(i|0)&(A|0)==(o|0))return r[u>>2]=0,u=0,P=O,u|0;if(f=ae(t|0,A|0,52)|0,j()|0,f=f&15,y=ae(i|0,o|0,52)|0,j()|0,(f|0)!=(y&15|0))return u=12,P=O,u|0;if(l=f+-1|0,f>>>0>1){Mo(t,A,l,_)|0,Mo(i,o,l,d)|0,y=_,p=r[y>>2]|0,y=r[y+4>>2]|0;e:do if((p|0)==(r[d>>2]|0)&&(y|0)==(r[d+4>>2]|0)){f=(f^15)*3|0,l=ae(t|0,A|0,f|0)|0,j()|0,l=l&7,f=ae(i|0,o|0,f|0)|0,j()|0,f=f&7;do if((l|0)==0|(f|0)==0)r[u>>2]=1,l=0;else if((l|0)==7)l=5;else{if((l|0)==1|(f|0)==1&&aA(p,y)|0){l=5;break}if((r[15536+(l<<2)>>2]|0)!=(f|0)&&(r[15568+(l<<2)>>2]|0)!=(f|0))break e;r[u>>2]=1,l=0}while(!1);return u=l,P=O,u|0}while(!1)}l=_,f=l+56|0;do r[l>>2]=0,l=l+4|0;while((l|0)<(f|0));return Ga(t,A,1,_)|0,A=_,!((r[A>>2]|0)==(i|0)&&(r[A+4>>2]|0)==(o|0))&&(A=_+8|0,!((r[A>>2]|0)==(i|0)&&(r[A+4>>2]|0)==(o|0)))&&(A=_+16|0,!((r[A>>2]|0)==(i|0)&&(r[A+4>>2]|0)==(o|0)))&&(A=_+24|0,!((r[A>>2]|0)==(i|0)&&(r[A+4>>2]|0)==(o|0)))&&(A=_+32|0,!((r[A>>2]|0)==(i|0)&&(r[A+4>>2]|0)==(o|0)))&&(A=_+40|0,!((r[A>>2]|0)==(i|0)&&(r[A+4>>2]|0)==(o|0)))?(l=_+48|0,l=((r[l>>2]|0)==(i|0)?(r[l+4>>2]|0)==(o|0):0)&1):l=1,r[u>>2]=l,u=0,P=O,u|0}function Wh(t,A,i,o,u){return t=t|0,A=A|0,i=i|0,o=o|0,u=u|0,i=$o(t,A,i,o)|0,(i|0)==7?(u=11,u|0):(o=de(i|0,0,56)|0,A=A&-2130706433|(j()|0)|268435456,r[u>>2]=t|o,r[u+4>>2]=A,u=0,u|0)}function Jh(t,A,i){return t=t|0,A=A|0,i=i|0,!0&(A&2013265920|0)==268435456?(r[i>>2]=t,r[i+4>>2]=A&-2130706433|134217728,i=0,i|0):(i=6,i|0)}function Zh(t,A,i){t=t|0,A=A|0,i=i|0;var o=0,u=0,l=0;return u=P,P=P+16|0,o=u,r[o>>2]=0,!0&(A&2013265920|0)==268435456?(l=ae(t|0,A|0,56)|0,j()|0,o=_A(t,A&-2130706433|134217728,l&7,o,i)|0,P=u,o|0):(o=6,P=u,o|0)}function au(t,A){t=t|0,A=A|0;var i=0;switch(i=ae(t|0,A|0,56)|0,j()|0,i&7){case 0:case 7:return i=0,i|0;default:}return i=A&-2130706433|134217728,!(!0&(A&2013265920|0)==268435456)||!0&(A&117440512|0)==16777216&(aA(t,i)|0)!=0?(i=0,i|0):(i=jo(t,i)|0,i|0)}function Xh(t,A,i){t=t|0,A=A|0,i=i|0;var o=0,u=0,l=0,f=0;return u=P,P=P+16|0,o=u,!0&(A&2013265920|0)==268435456?(l=A&-2130706433|134217728,f=i,r[f>>2]=t,r[f+4>>2]=l,r[o>>2]=0,A=ae(t|0,A|0,56)|0,j()|0,o=_A(t,l,A&7,o,i+8|0)|0,P=u,o|0):(o=6,P=u,o|0)}function ep(t,A,i){t=t|0,A=A|0,i=i|0;var o=0,u=0;return u=(aA(t,A)|0)==0,A=A&-2130706433,o=i,r[o>>2]=u?t:0,r[o+4>>2]=u?A|285212672:0,o=i+8|0,r[o>>2]=t,r[o+4>>2]=A|301989888,o=i+16|0,r[o>>2]=t,r[o+4>>2]=A|318767104,o=i+24|0,r[o>>2]=t,r[o+4>>2]=A|335544320,o=i+32|0,r[o>>2]=t,r[o+4>>2]=A|352321536,i=i+40|0,r[i>>2]=t,r[i+4>>2]=A|369098752,0}function ui(t,A,i){t=t|0,A=A|0,i=i|0;var o=0,u=0,l=0,f=0;return f=P,P=P+16|0,u=f,l=A&-2130706433|134217728,!0&(A&2013265920|0)==268435456?(o=ae(t|0,A|0,56)|0,j()|0,o=e1(t,l,o&7)|0,(o|0)==-1?(r[i>>2]=0,l=6,P=f,l|0):(Sr(t,l,u)|0&&Oe(27795,26932,282,26947),A=ae(t|0,A|0,52)|0,j()|0,A=A&15,aA(t,l)|0?To(u,A,o,2,i):Oo(u,A,o,2,i),l=0,P=f,l|0)):(l=6,P=f,l|0)}function Ap(t,A,i){t=t|0,A=A|0,i=i|0;var o=0,u=0;o=P,P=P+16|0,u=o,tp(t,A,i,u),Lh(u,i+4|0),P=o}function tp(t,A,i,o){t=t|0,A=A|0,i=i|0,o=o|0;var u=0,l=0,f=0,d=0,p=0;if(d=P,P=P+16|0,p=d,rp(t,i,p),l=+ch(+(1-+S[p>>3]*.5)),l<1e-16){r[o>>2]=0,r[o+4>>2]=0,r[o+8>>2]=0,r[o+12>>2]=0,P=d;return}if(p=r[i>>2]|0,u=+S[15920+(p*24|0)>>3],u=+ln(u-+ln(+Ep(15600+(p<<4)|0,t))),et(A)|0?f=+ln(u+-.3334731722518321):f=u,u=+sn(+l)*2.618033988749896,(A|0)>0){t=0;do u=u*2.6457513110645907,t=t+1|0;while((t|0)!=(A|0))}l=+We(+f)*u,S[o>>3]=l,f=+AA(+f)*u,S[o+8>>3]=f,P=d}function rp(t,A,i){t=t|0,A=A|0,i=i|0;var o=0,u=0,l=0;if(l=P,P=P+32|0,u=l,Xp(t,u),r[A>>2]=0,S[i>>3]=5,o=+yA(16400,u),o<+S[i>>3]&&(r[A>>2]=0,S[i>>3]=o),o=+yA(16424,u),o<+S[i>>3]&&(r[A>>2]=1,S[i>>3]=o),o=+yA(16448,u),o<+S[i>>3]&&(r[A>>2]=2,S[i>>3]=o),o=+yA(16472,u),o<+S[i>>3]&&(r[A>>2]=3,S[i>>3]=o),o=+yA(16496,u),o<+S[i>>3]&&(r[A>>2]=4,S[i>>3]=o),o=+yA(16520,u),o<+S[i>>3]&&(r[A>>2]=5,S[i>>3]=o),o=+yA(16544,u),o<+S[i>>3]&&(r[A>>2]=6,S[i>>3]=o),o=+yA(16568,u),o<+S[i>>3]&&(r[A>>2]=7,S[i>>3]=o),o=+yA(16592,u),o<+S[i>>3]&&(r[A>>2]=8,S[i>>3]=o),o=+yA(16616,u),o<+S[i>>3]&&(r[A>>2]=9,S[i>>3]=o),o=+yA(16640,u),o<+S[i>>3]&&(r[A>>2]=10,S[i>>3]=o),o=+yA(16664,u),o<+S[i>>3]&&(r[A>>2]=11,S[i>>3]=o),o=+yA(16688,u),o<+S[i>>3]&&(r[A>>2]=12,S[i>>3]=o),o=+yA(16712,u),o<+S[i>>3]&&(r[A>>2]=13,S[i>>3]=o),o=+yA(16736,u),o<+S[i>>3]&&(r[A>>2]=14,S[i>>3]=o),o=+yA(16760,u),o<+S[i>>3]&&(r[A>>2]=15,S[i>>3]=o),o=+yA(16784,u),o<+S[i>>3]&&(r[A>>2]=16,S[i>>3]=o),o=+yA(16808,u),o<+S[i>>3]&&(r[A>>2]=17,S[i>>3]=o),o=+yA(16832,u),o<+S[i>>3]&&(r[A>>2]=18,S[i>>3]=o),o=+yA(16856,u),!(o<+S[i>>3])){P=l;return}r[A>>2]=19,S[i>>3]=o,P=l}function an(t,A,i,o,u){t=t|0,A=A|0,i=i|0,o=o|0,u=u|0;var l=0,f=0,d=0;if(l=+Zp(t),l<1e-16){A=15600+(A<<4)|0,r[u>>2]=r[A>>2],r[u+4>>2]=r[A+4>>2],r[u+8>>2]=r[A+8>>2],r[u+12>>2]=r[A+12>>2];return}if(f=+XA(+ +S[t+8>>3],+ +S[t>>3]),(i|0)>0){t=0;do l=l*.37796447300922725,t=t+1|0;while((t|0)!=(i|0))}d=l*.3333333333333333,o?(i=(et(i)|0)==0,l=+_o(+((i?d:d*.37796447300922725)*.381966011250105))):(l=+_o(+(l*.381966011250105)),et(i)|0&&(f=+ln(f+.3334731722518321))),$p(15600+(A<<4)|0,+ln(+S[15920+(A*24|0)>>3]-f),l,u)}function np(t,A,i){t=t|0,A=A|0,i=i|0;var o=0,u=0;o=P,P=P+16|0,u=o,tr(t+4|0,u),an(u,r[t>>2]|0,A,0,i),P=o}function To(t,A,i,o,u){t=t|0,A=A|0,i=i|0,o=o|0,u=u|0;var l=0,f=0,d=0,p=0,y=0,_=0,O=0,R=0,I=0,H=0,U=0,Z=0,re=0,Ae=0,ee=0,F=0,pe=0,$e=0,_e=0,Re=0,He=0,Fe=0,Te=0,ke=0,he=0,Le=0,iA=0,qe=0;if(Le=P,P=P+272|0,l=Le+256|0,Ae=Le+240|0,Te=Le,ke=Le+224|0,he=Le+208|0,ee=Le+176|0,F=Le+160|0,pe=Le+192|0,$e=Le+144|0,_e=Le+128|0,Re=Le+112|0,He=Le+96|0,Fe=Le+80|0,r[l>>2]=A,r[Ae>>2]=r[t>>2],r[Ae+4>>2]=r[t+4>>2],r[Ae+8>>2]=r[t+8>>2],r[Ae+12>>2]=r[t+12>>2],uu(Ae,l,Te),r[u>>2]=0,Ae=o+i+((o|0)==5&1)|0,(Ae|0)<=(i|0)){P=Le;return}p=r[l>>2]|0,y=ke+4|0,_=ee+4|0,O=i+5|0,R=16880+(p<<2)|0,I=16960+(p<<2)|0,H=_e+8|0,U=Re+8|0,Z=He+8|0,re=he+4|0,d=i;e:for(;;){f=Te+(((d|0)%5|0)<<4)|0,r[he>>2]=r[f>>2],r[he+4>>2]=r[f+4>>2],r[he+8>>2]=r[f+8>>2],r[he+12>>2]=r[f+12>>2];do;while((xr(he,p,0,1)|0)==2);if((d|0)>(i|0)&(et(A)|0)!=0){if(r[ee>>2]=r[he>>2],r[ee+4>>2]=r[he+4>>2],r[ee+8>>2]=r[he+8>>2],r[ee+12>>2]=r[he+12>>2],tr(y,F),o=r[ee>>2]|0,l=r[17040+(o*80|0)+(r[ke>>2]<<2)>>2]|0,r[ee>>2]=r[18640+(o*80|0)+(l*20|0)>>2],f=r[18640+(o*80|0)+(l*20|0)+16>>2]|0,(f|0)>0){t=0;do nu(_),t=t+1|0;while((t|0)<(f|0))}switch(f=18640+(o*80|0)+(l*20|0)+4|0,r[pe>>2]=r[f>>2],r[pe+4>>2]=r[f+4>>2],r[pe+8>>2]=r[f+8>>2],Au(pe,(r[R>>2]|0)*3|0),IA(_,pe,_),DA(_),tr(_,$e),iA=+(r[I>>2]|0),S[_e>>3]=iA*3,S[H>>3]=0,qe=iA*-1.5,S[Re>>3]=qe,S[U>>3]=iA*2.598076211353316,S[He>>3]=qe,S[Z>>3]=iA*-2.598076211353316,r[17040+((r[ee>>2]|0)*80|0)+(r[he>>2]<<2)>>2]|0){case 1:{t=Re,o=_e;break}case 3:{t=He,o=Re;break}case 2:{t=_e,o=He;break}default:{t=12;break e}}ku(F,$e,o,t,Fe),an(Fe,r[ee>>2]|0,p,1,u+8+(r[u>>2]<<4)|0),r[u>>2]=(r[u>>2]|0)+1}if((d|0)<(O|0)&&(tr(re,ee),an(ee,r[he>>2]|0,p,1,u+8+(r[u>>2]<<4)|0),r[u>>2]=(r[u>>2]|0)+1),r[ke>>2]=r[he>>2],r[ke+4>>2]=r[he+4>>2],r[ke+8>>2]=r[he+8>>2],r[ke+12>>2]=r[he+12>>2],d=d+1|0,(d|0)>=(Ae|0)){t=3;break}}if((t|0)==3){P=Le;return}else(t|0)==12&&Oe(26970,27017,572,27027)}function uu(t,A,i){t=t|0,A=A|0,i=i|0;var o=0,u=0,l=0,f=0,d=0,p=0;p=P,P=P+128|0,o=p+64|0,u=p,l=o,f=20240,d=l+60|0;do r[l>>2]=r[f>>2],l=l+4|0,f=f+4|0;while((l|0)<(d|0));l=u,f=20304,d=l+60|0;do r[l>>2]=r[f>>2],l=l+4|0,f=f+4|0;while((l|0)<(d|0));d=(et(r[A>>2]|0)|0)==0,o=d?o:u,u=t+4|0,iu(u),ou(u),et(r[A>>2]|0)|0&&(rr(u),r[A>>2]=(r[A>>2]|0)+1),r[i>>2]=r[t>>2],A=i+4|0,IA(u,o,A),DA(A),r[i+16>>2]=r[t>>2],A=i+20|0,IA(u,o+12|0,A),DA(A),r[i+32>>2]=r[t>>2],A=i+36|0,IA(u,o+24|0,A),DA(A),r[i+48>>2]=r[t>>2],A=i+52|0,IA(u,o+36|0,A),DA(A),r[i+64>>2]=r[t>>2],i=i+68|0,IA(u,o+48|0,i),DA(i),P=p}function xr(t,A,i,o){t=t|0,A=A|0,i=i|0,o=o|0;var u=0,l=0,f=0,d=0,p=0,y=0,_=0,O=0,R=0,I=0,H=0;if(H=P,P=P+32|0,R=H+12|0,d=H,I=t+4|0,O=r[16960+(A<<2)>>2]|0,_=(o|0)!=0,O=_?O*3|0:O,u=r[I>>2]|0,y=t+8|0,f=r[y>>2]|0,_){if(l=t+12|0,o=r[l>>2]|0,u=f+u+o|0,(u|0)==(O|0))return I=1,P=H,I|0;p=l}else p=t+12|0,o=r[p>>2]|0,u=f+u+o|0;if((u|0)<=(O|0))return I=0,P=H,I|0;do if((o|0)>0){if(o=r[t>>2]|0,(f|0)>0){l=18640+(o*80|0)+60|0,o=t;break}o=18640+(o*80|0)+40|0,i?(qh(R,O,0,0),Do(I,R,d),ai(d),IA(d,R,I),l=o,o=t):(l=o,o=t)}else l=18640+((r[t>>2]|0)*80|0)+20|0,o=t;while(!1);if(r[o>>2]=r[l>>2],u=l+16|0,(r[u>>2]|0)>0){o=0;do nu(I),o=o+1|0;while((o|0)<(r[u>>2]|0))}return t=l+4|0,r[R>>2]=r[t>>2],r[R+4>>2]=r[t+4>>2],r[R+8>>2]=r[t+8>>2],A=r[16880+(A<<2)>>2]|0,Au(R,_?A*3|0:A),IA(I,R,I),DA(I),_?o=((r[y>>2]|0)+(r[I>>2]|0)+(r[p>>2]|0)|0)==(O|0)?1:2:o=2,I=o,P=H,I|0}function ip(t,A){t=t|0,A=A|0;var i=0;do i=xr(t,A,0,1)|0;while((i|0)==2);return i|0}function Oo(t,A,i,o,u){t=t|0,A=A|0,i=i|0,o=o|0,u=u|0;var l=0,f=0,d=0,p=0,y=0,_=0,O=0,R=0,I=0,H=0,U=0,Z=0,re=0,Ae=0,ee=0,F=0,pe=0,$e=0,_e=0,Re=0,He=0,Fe=0,Te=0;if(He=P,P=P+240|0,l=He+224|0,pe=He+208|0,$e=He,_e=He+192|0,Re=He+176|0,Z=He+160|0,re=He+144|0,Ae=He+128|0,ee=He+112|0,F=He+96|0,r[l>>2]=A,r[pe>>2]=r[t>>2],r[pe+4>>2]=r[t+4>>2],r[pe+8>>2]=r[t+8>>2],r[pe+12>>2]=r[t+12>>2],lu(pe,l,$e),r[u>>2]=0,U=o+i+((o|0)==6&1)|0,(U|0)<=(i|0)){P=He;return}p=r[l>>2]|0,y=i+6|0,_=16960+(p<<2)|0,O=re+8|0,R=Ae+8|0,I=ee+8|0,H=_e+4|0,f=0,d=i,o=-1;e:for(;;){if(l=(d|0)%6|0,t=$e+(l<<4)|0,r[_e>>2]=r[t>>2],r[_e+4>>2]=r[t+4>>2],r[_e+8>>2]=r[t+8>>2],r[_e+12>>2]=r[t+12>>2],t=f,f=xr(_e,p,0,1)|0,(d|0)>(i|0)&(et(A)|0)!=0&&(t|0)!=1&&(r[_e>>2]|0)!=(o|0)){switch(tr($e+(((l+5|0)%6|0)<<4)+4|0,Re),tr($e+(l<<4)+4|0,Z),Fe=+(r[_>>2]|0),S[re>>3]=Fe*3,S[O>>3]=0,Te=Fe*-1.5,S[Ae>>3]=Te,S[R>>3]=Fe*2.598076211353316,S[ee>>3]=Te,S[I>>3]=Fe*-2.598076211353316,l=r[pe>>2]|0,r[17040+(l*80|0)+(((o|0)==(l|0)?r[_e>>2]|0:o)<<2)>>2]|0){case 1:{t=Ae,o=re;break}case 3:{t=ee,o=Ae;break}case 2:{t=re,o=ee;break}default:{t=8;break e}}ku(Re,Z,o,t,F),!(xu(Re,F)|0)&&!(xu(Z,F)|0)&&(an(F,r[pe>>2]|0,p,1,u+8+(r[u>>2]<<4)|0),r[u>>2]=(r[u>>2]|0)+1)}if((d|0)<(y|0)&&(tr(H,Re),an(Re,r[_e>>2]|0,p,1,u+8+(r[u>>2]<<4)|0),r[u>>2]=(r[u>>2]|0)+1),d=d+1|0,(d|0)>=(U|0)){t=3;break}else o=r[_e>>2]|0}if((t|0)==3){P=He;return}else(t|0)==8&&Oe(27054,27017,737,27099)}function lu(t,A,i){t=t|0,A=A|0,i=i|0;var o=0,u=0,l=0,f=0,d=0,p=0;p=P,P=P+160|0,o=p+80|0,u=p,l=o,f=20368,d=l+72|0;do r[l>>2]=r[f>>2],l=l+4|0,f=f+4|0;while((l|0)<(d|0));l=u,f=20448,d=l+72|0;do r[l>>2]=r[f>>2],l=l+4|0,f=f+4|0;while((l|0)<(d|0));d=(et(r[A>>2]|0)|0)==0,o=d?o:u,u=t+4|0,iu(u),ou(u),et(r[A>>2]|0)|0&&(rr(u),r[A>>2]=(r[A>>2]|0)+1),r[i>>2]=r[t>>2],A=i+4|0,IA(u,o,A),DA(A),r[i+16>>2]=r[t>>2],A=i+20|0,IA(u,o+12|0,A),DA(A),r[i+32>>2]=r[t>>2],A=i+36|0,IA(u,o+24|0,A),DA(A),r[i+48>>2]=r[t>>2],A=i+52|0,IA(u,o+36|0,A),DA(A),r[i+64>>2]=r[t>>2],A=i+68|0,IA(u,o+48|0,A),DA(A),r[i+80>>2]=r[t>>2],i=i+84|0,IA(u,o+60|0,i),DA(i),P=p}function op(t,A){return t=t|0,A=A|0,A=ae(t|0,A|0,52)|0,j()|0,A&15|0}function fu(t,A){return t=t|0,A=A|0,A=ae(t|0,A|0,45)|0,j()|0,A&127|0}function sp(t,A,i,o){return t=t|0,A=A|0,i=i|0,o=o|0,(i+-1|0)>>>0>14?(o=4,o|0):(i=ae(t|0,A|0,(15-i|0)*3|0)|0,j()|0,r[o>>2]=i&7,o=0,o|0)}function ap(t,A,i,o){t=t|0,A=A|0,i=i|0,o=o|0;var u=0,l=0,f=0,d=0,p=0,y=0;if(t>>>0>15)return o=4,o|0;if(A>>>0>121)return o=17,o|0;f=de(t|0,0,52)|0,u=j()|0,d=de(A|0,0,45)|0,u=u|(j()|0)|134225919;e:do if((t|0)>=1){for(d=1,f=(se[20528+A>>0]|0)!=0,l=-1;;){if(A=r[i+(d+-1<<2)>>2]|0,A>>>0>6){u=18,A=10;break}if(!((A|0)==0|f^1))if((A|0)==1){u=19,A=10;break}else f=0;if(y=(15-d|0)*3|0,p=de(7,0,y|0)|0,u=u&~(j()|0),A=de(A|0,((A|0)<0)<<31>>31|0,y|0)|0,l=A|l&~p,u=j()|0|u,(d|0)<(t|0))d=d+1|0;else break e}if((A|0)==10)return u|0}else l=-1;while(!1);return y=o,r[y>>2]=l,r[y+4>>2]=u,y=0,y|0}function jo(t,A){t=t|0,A=A|0;var i=0,o=0,u=0,l=0,f=0;return!(!0&(A&-16777216|0)==134217728)||(o=ae(t|0,A|0,52)|0,j()|0,o=o&15,i=ae(t|0,A|0,45)|0,j()|0,i=i&127,i>>>0>121)?(t=0,t|0):(f=(o^15)*3|0,u=ae(t|0,A|0,f|0)|0,f=de(u|0,j()|0,f|0)|0,u=j()|0,l=EA(-1227133514,-1171,f|0,u|0)|0,!((f&613566756&l|0)==0&(u&4681&(j()|0)|0)==0)||(f=(o*3|0)+19|0,l=de(~t|0,~A|0,f|0)|0,f=ae(l|0,j()|0,f|0)|0,!((o|0)==15|(f|0)==0&(j()|0)==0))?(f=0,f|0):!(se[20528+i>>0]|0)||(A=A&8191,(t|0)==0&(A|0)==0)?(f=1,f|0):(f=Yo(t|0,A|0,0)|0,j()|0,((63-f|0)%3|0|0)!=0|0))}function up(t,A){t=t|0,A=A|0;var i=0,o=0,u=0,l=0,f=0;return!0&(A&-16777216|0)==134217728&&(o=ae(t|0,A|0,52)|0,j()|0,o=o&15,i=ae(t|0,A|0,45)|0,j()|0,i=i&127,i>>>0<=121)&&(f=(o^15)*3|0,u=ae(t|0,A|0,f|0)|0,f=de(u|0,j()|0,f|0)|0,u=j()|0,l=EA(-1227133514,-1171,f|0,u|0)|0,(f&613566756&l|0)==0&(u&4681&(j()|0)|0)==0)&&(f=(o*3|0)+19|0,l=de(~t|0,~A|0,f|0)|0,f=ae(l|0,j()|0,f|0)|0,(o|0)==15|(f|0)==0&(j()|0)==0)&&(!(se[20528+i>>0]|0)||(i=A&8191,(t|0)==0&(i|0)==0)||(f=Yo(t|0,i|0,0)|0,j()|0,(63-f|0)%3|0|0))||au(t,A)|0?(f=1,f|0):(f=(Su(t,A)|0)!=0&1,f|0)}function No(t,A,i,o){t=t|0,A=A|0,i=i|0,o=o|0;var u=0,l=0,f=0,d=0;if(u=de(A|0,0,52)|0,l=j()|0,i=de(i|0,0,45)|0,i=l|(j()|0)|134225919,(A|0)<1){l=-1,o=i,A=t,r[A>>2]=l,t=t+4|0,r[t>>2]=o;return}for(l=1,u=-1;f=(15-l|0)*3|0,d=de(7,0,f|0)|0,i=i&~(j()|0),f=de(o|0,0,f|0)|0,u=u&~d|f,i=i|(j()|0),(l|0)!=(A|0);)l=l+1|0;d=t,f=d,r[f>>2]=u,d=d+4|0,r[d>>2]=i}function Mo(t,A,i,o){t=t|0,A=A|0,i=i|0,o=o|0;var u=0,l=0;if(l=ae(t|0,A|0,52)|0,j()|0,l=l&15,i>>>0>15)return o=4,o|0;if((l|0)<(i|0))return o=12,o|0;if((l|0)==(i|0))return r[o>>2]=t,r[o+4>>2]=A,o=0,o|0;if(u=de(i|0,0,52)|0,u=u|t,t=j()|0|A&-15728641,(l|0)>(i|0))do A=de(7,0,(14-i|0)*3|0)|0,i=i+1|0,u=A|u,t=j()|0|t;while((i|0)<(l|0));return r[o>>2]=u,r[o+4>>2]=t,o=0,o|0}function un(t,A,i,o){t=t|0,A=A|0,i=i|0,o=o|0;var u=0,l=0,f=0;if(l=ae(t|0,A|0,52)|0,j()|0,l=l&15,!((i|0)<16&(l|0)<=(i|0)))return o=4,o|0;u=i-l|0,i=ae(t|0,A|0,45)|0,j()|0;e:do if(!(cA(i&127)|0))i=Mt(7,0,u,((u|0)<0)<<31>>31)|0,u=j()|0;else{A:do if(l|0){for(i=1;f=de(7,0,(15-i|0)*3|0)|0,!!((f&t|0)==0&((j()|0)&A|0)==0);)if(i>>>0<l>>>0)i=i+1|0;else break A;i=Mt(7,0,u,((u|0)<0)<<31>>31)|0,u=j()|0;break e}while(!1);i=Mt(7,0,u,((u|0)<0)<<31>>31)|0,i=$A(i|0,j()|0,5,0)|0,i=xe(i|0,j()|0,-5,-1)|0,i=It(i|0,j()|0,6,0)|0,i=xe(i|0,j()|0,1,0)|0,u=j()|0}while(!1);return f=o,r[f>>2]=i,r[f+4>>2]=u,f=0,f|0}function aA(t,A){t=t|0,A=A|0;var i=0,o=0,u=0;if(u=ae(t|0,A|0,45)|0,j()|0,!(cA(u&127)|0))return u=0,u|0;u=ae(t|0,A|0,52)|0,j()|0,u=u&15;e:do if(!u)i=0;else for(o=1;;){if(i=ae(t|0,A|0,(15-o|0)*3|0)|0,j()|0,i=i&7,i|0)break e;if(o>>>0<u>>>0)o=o+1|0;else{i=0;break}}while(!1);return u=(i|0)==0&1,u|0}function lp(t,A,i,o){t=t|0,A=A|0,i=i|0,o=o|0;var u=0,l=0,f=0,d=0;if(f=P,P=P+16|0,l=f,Lo(l,t,A,i),A=l,t=r[A>>2]|0,A=r[A+4>>2]|0,(t|0)==0&(A|0)==0)return P=f,0;u=0,i=0;do d=o+(u<<3)|0,r[d>>2]=t,r[d+4>>2]=A,u=xe(u|0,i|0,1,0)|0,i=j()|0,Uo(l),d=l,t=r[d>>2]|0,A=r[d+4>>2]|0;while(!((t|0)==0&(A|0)==0));return P=f,0}function cu(t,A,i,o){return t=t|0,A=A|0,i=i|0,o=o|0,(o|0)<(i|0)?(i=A,o=t,Ie(i|0),o|0):(i=de(-1,-1,((o-i|0)*3|0)+3|0)|0,o=de(~i|0,~(j()|0)|0,(15-o|0)*3|0)|0,i=~(j()|0)&A,o=~o&t,Ie(i|0),o|0)}function du(t,A,i,o){t=t|0,A=A|0,i=i|0,o=o|0;var u=0;return u=ae(t|0,A|0,52)|0,j()|0,u=u&15,(i|0)<16&(u|0)<=(i|0)?((u|0)<(i|0)&&(u=de(-1,-1,((i+-1-u|0)*3|0)+3|0)|0,u=de(~u|0,~(j()|0)|0,(15-i|0)*3|0)|0,A=~(j()|0)&A,t=~u&t),u=de(i|0,0,52)|0,i=A&-15728641|(j()|0),r[o>>2]=t|u,r[o+4>>2]=i,o=0,o|0):(o=4,o|0)}function fp(t,A,i,o){t=t|0,A=A|0,i=i|0,o=o|0;var u=0,l=0,f=0,d=0,p=0,y=0,_=0,O=0,R=0,I=0,H=0,U=0,Z=0,re=0,Ae=0,ee=0,F=0,pe=0,$e=0,_e=0,Re=0,He=0,Fe=0,Te=0,ke=0,he=0;if((i|0)==0&(o|0)==0)return he=0,he|0;if(u=t,l=r[u>>2]|0,u=r[u+4>>2]|0,!0&(u&15728640|0)==0){if(!((o|0)>0|(o|0)==0&i>>>0>0)||(he=A,r[he>>2]=l,r[he+4>>2]=u,(i|0)==1&(o|0)==0))return he=0,he|0;u=1,l=0;do Te=t+(u<<3)|0,ke=r[Te+4>>2]|0,he=A+(u<<3)|0,r[he>>2]=r[Te>>2],r[he+4>>2]=ke,u=xe(u|0,l|0,1,0)|0,l=j()|0;while((l|0)<(o|0)|(l|0)==(o|0)&u>>>0<i>>>0);return u=0,u|0}if(Fe=i<<3,ke=yt(Fe)|0,!ke)return he=13,he|0;if(Tr(ke|0,t|0,Fe|0)|0,Te=FA(i,8)|0,!Te)return Be(ke),he=13,he|0;e:for(;;){u=ke,y=r[u>>2]|0,u=r[u+4>>2]|0,Re=ae(y|0,u|0,52)|0,j()|0,Re=Re&15,He=Re+-1|0,_e=(Re|0)!=0,$e=(o|0)>0|(o|0)==0&i>>>0>0;A:do if(_e&$e){if(Ae=de(He|0,0,52)|0,ee=j()|0,He>>>0>15){if(!((y|0)==0&(u|0)==0)){he=16;break e}for(l=0,t=0;;){if(l=xe(l|0,t|0,1,0)|0,t=j()|0,!((t|0)<(o|0)|(t|0)==(o|0)&l>>>0<i>>>0))break A;if(f=ke+(l<<3)|0,pe=r[f>>2]|0,f=r[f+4>>2]|0,!((pe|0)==0&(f|0)==0)){u=f,he=16;break e}}}for(d=y,t=u,l=0,f=0;;){if(!((d|0)==0&(t|0)==0)){if(!(!0&(t&117440512|0)==0)){he=21;break e}if(_=ae(d|0,t|0,52)|0,j()|0,_=_&15,(_|0)<(He|0)){u=12,he=27;break e}if((_|0)!=(He|0)&&(d=d|Ae,t=t&-15728641|ee,_>>>0>=Re>>>0)){p=He;do pe=de(7,0,(14-p|0)*3|0)|0,p=p+1|0,d=pe|d,t=j()|0|t;while(p>>>0<_>>>0)}if(R=Cr(d|0,t|0,i|0,o|0)|0,I=j()|0,p=Te+(R<<3)|0,_=p,O=r[_>>2]|0,_=r[_+4>>2]|0,!((O|0)==0&(_|0)==0)){Z=0,re=0;do{if((Z|0)>(o|0)|(Z|0)==(o|0)&re>>>0>i>>>0){he=31;break e}if((O|0)==(d|0)&(_&-117440513|0)==(t|0)){H=ae(O|0,_|0,56)|0,j()|0,H=H&7,U=H+1|0,pe=ae(O|0,_|0,45)|0,j()|0;t:do if(!(cA(pe&127)|0))_=7;else{if(O=ae(O|0,_|0,52)|0,j()|0,O=O&15,!O){_=6;break}for(_=1;;){if(pe=de(7,0,(15-_|0)*3|0)|0,!((pe&d|0)==0&((j()|0)&t|0)==0)){_=7;break t}if(_>>>0<O>>>0)_=_+1|0;else{_=6;break}}}while(!1);if((H+2|0)>>>0>_>>>0){he=41;break e}pe=de(U|0,0,56)|0,t=j()|0|t&-117440513,F=p,r[F>>2]=0,r[F+4>>2]=0,d=pe|d}else R=xe(R|0,I|0,1,0)|0,R=Dr(R|0,j()|0,i|0,o|0)|0,I=j()|0;re=xe(re|0,Z|0,1,0)|0,Z=j()|0,p=Te+(R<<3)|0,_=p,O=r[_>>2]|0,_=r[_+4>>2]|0}while(!((O|0)==0&(_|0)==0))}pe=p,r[pe>>2]=d,r[pe+4>>2]=t}if(l=xe(l|0,f|0,1,0)|0,f=j()|0,!((f|0)<(o|0)|(f|0)==(o|0)&l>>>0<i>>>0))break A;t=ke+(l<<3)|0,d=r[t>>2]|0,t=r[t+4>>2]|0}}while(!1);if(pe=xe(i|0,o|0,5,0)|0,F=j()|0,F>>>0<0|(F|0)==0&pe>>>0<11){he=85;break}if(pe=It(i|0,o|0,6,0)|0,j()|0,pe=FA(pe,8)|0,!pe){he=48;break}do if($e){for(U=0,t=0,H=0,Z=0;;){if(_=Te+(U<<3)|0,f=_,l=r[f>>2]|0,f=r[f+4>>2]|0,(l|0)==0&(f|0)==0)F=H;else{O=ae(l|0,f|0,56)|0,j()|0,O=O&7,d=O+1|0,R=f&-117440513,F=ae(l|0,f|0,45)|0,j()|0;A:do if(cA(F&127)|0){if(I=ae(l|0,f|0,52)|0,j()|0,I=I&15,I|0)for(p=1;;){if(F=de(7,0,(15-p|0)*3|0)|0,!((l&F|0)==0&(R&(j()|0)|0)==0))break A;if(p>>>0<I>>>0)p=p+1|0;else break}f=de(d|0,0,56)|0,l=f|l,f=j()|0|R,d=_,r[d>>2]=l,r[d+4>>2]=f,d=O+2|0}while(!1);(d|0)==7?(F=pe+(t<<3)|0,r[F>>2]=l,r[F+4>>2]=f&-117440513,t=xe(t|0,H|0,1,0)|0,F=j()|0):F=H}if(U=xe(U|0,Z|0,1,0)|0,Z=j()|0,(Z|0)<(o|0)|(Z|0)==(o|0)&U>>>0<i>>>0)H=F;else break}if($e){if(re=He>>>0>15,Ae=de(He|0,0,52)|0,ee=j()|0,!_e){for(l=0,p=0,d=0,f=0;(y|0)==0&(u|0)==0||(He=A+(l<<3)|0,r[He>>2]=y,r[He+4>>2]=u,l=xe(l|0,p|0,1,0)|0,p=j()|0),d=xe(d|0,f|0,1,0)|0,f=j()|0,!!((f|0)<(o|0)|(f|0)==(o|0)&d>>>0<i>>>0);)u=ke+(d<<3)|0,y=r[u>>2]|0,u=r[u+4>>2]|0;u=F;break}for(l=0,p=0,f=0,d=0;;){do if(!((y|0)==0&(u|0)==0)){if(I=ae(y|0,u|0,52)|0,j()|0,I=I&15,re|(I|0)<(He|0)){he=80;break e}if((I|0)!=(He|0)){if(_=y|Ae,O=u&-15728641|ee,I>>>0>=Re>>>0){R=He;do _e=de(7,0,(14-R|0)*3|0)|0,R=R+1|0,_=_e|_,O=j()|0|O;while(R>>>0<I>>>0)}}else _=y,O=u;H=Cr(_|0,O|0,i|0,o|0)|0,R=0,I=0,Z=j()|0;do{if((R|0)>(o|0)|(R|0)==(o|0)&I>>>0>i>>>0){he=81;break e}if(_e=Te+(H<<3)|0,U=r[_e+4>>2]|0,(U&-117440513|0)==(O|0)&&(r[_e>>2]|0)==(_|0)){he=65;break}_e=xe(H|0,Z|0,1,0)|0,H=Dr(_e|0,j()|0,i|0,o|0)|0,Z=j()|0,I=xe(I|0,R|0,1,0)|0,R=j()|0,_e=Te+(H<<3)|0}while(!((r[_e>>2]|0)==(_|0)&&(r[_e+4>>2]|0)==(O|0)));if((he|0)==65&&(he=0,!0&(U&117440512|0)==100663296))break;_e=A+(l<<3)|0,r[_e>>2]=y,r[_e+4>>2]=u,l=xe(l|0,p|0,1,0)|0,p=j()|0}while(!1);if(f=xe(f|0,d|0,1,0)|0,d=j()|0,!((d|0)<(o|0)|(d|0)==(o|0)&f>>>0<i>>>0))break;u=ke+(f<<3)|0,y=r[u>>2]|0,u=r[u+4>>2]|0}u=F}else l=0,u=F}else l=0,t=0,u=0;while(!1);if(Ht(Te|0,0,Fe|0)|0,Tr(ke|0,pe|0,t<<3|0)|0,Be(pe),(t|0)==0&(u|0)==0){he=89;break}else A=A+(l<<3)|0,o=u,i=t}if((he|0)==16)!0&(u&117440512|0)==0?(u=4,he=27):he=21;else if((he|0)==31)Oe(27795,27122,620,27132);else{if((he|0)==41)return Be(ke),Be(Te),he=10,he|0;if((he|0)==48)return Be(ke),Be(Te),he=13,he|0;(he|0)==80?Oe(27795,27122,711,27132):(he|0)==81?Oe(27795,27122,723,27132):(he|0)==85&&(Tr(A|0,ke|0,i<<3|0)|0,he=89)}return(he|0)==21?(Be(ke),Be(Te),he=5,he|0):(he|0)==27?(Be(ke),Be(Te),he=u,he|0):(he|0)==89?(Be(ke),Be(Te),he=0,he|0):0}function cp(t,A,i,o,u,l,f){t=t|0,A=A|0,i=i|0,o=o|0,u=u|0,l=l|0,f=f|0;var d=0,p=0,y=0,_=0,O=0,R=0,I=0,H=0,U=0;if(U=P,P=P+16|0,H=U,!((i|0)>0|(i|0)==0&A>>>0>0))return H=0,P=U,H|0;if((f|0)>=16)return H=12,P=U,H|0;R=0,I=0,O=0,d=0;e:for(;;){if(y=t+(R<<3)|0,p=r[y>>2]|0,y=r[y+4>>2]|0,_=ae(p|0,y|0,52)|0,j()|0,(_&15|0)>(f|0)){d=12,p=11;break}if(Lo(H,p,y,f),_=H,y=r[_>>2]|0,_=r[_+4>>2]|0,(y|0)==0&(_|0)==0)p=O;else{p=O;do{if(!((d|0)<(l|0)|(d|0)==(l|0)&p>>>0<u>>>0)){p=10;break e}O=o+(p<<3)|0,r[O>>2]=y,r[O+4>>2]=_,p=xe(p|0,d|0,1,0)|0,d=j()|0,Uo(H),O=H,y=r[O>>2]|0,_=r[O+4>>2]|0}while(!((y|0)==0&(_|0)==0))}if(R=xe(R|0,I|0,1,0)|0,I=j()|0,(I|0)<(i|0)|(I|0)==(i|0)&R>>>0<A>>>0)O=p;else{d=0,p=11;break}}return(p|0)==10?(H=14,P=U,H|0):(p|0)==11?(P=U,d|0):0}function dp(t,A,i,o,u){t=t|0,A=A|0,i=i|0,o=o|0,u=u|0;var l=0,f=0,d=0,p=0,y=0,_=0,O=0,R=0;R=P,P=P+16|0,O=R;e:do if((i|0)>0|(i|0)==0&A>>>0>0){for(y=0,f=0,l=0,_=0;;){if(p=t+(y<<3)|0,d=r[p>>2]|0,p=r[p+4>>2]|0,!((d|0)==0&(p|0)==0)&&(p=(un(d,p,o,O)|0)==0,d=O,f=xe(r[d>>2]|0,r[d+4>>2]|0,f|0,l|0)|0,l=j()|0,!p)){l=12;break}if(y=xe(y|0,_|0,1,0)|0,_=j()|0,!((_|0)<(i|0)|(_|0)==(i|0)&y>>>0<A>>>0))break e}return P=R,l|0}else f=0,l=0;while(!1);return r[u>>2]=f,r[u+4>>2]=l,u=0,P=R,u|0}function hp(t,A){return t=t|0,A=A|0,A=ae(t|0,A|0,52)|0,j()|0,A&1|0}function GA(t,A){t=t|0,A=A|0;var i=0,o=0,u=0;if(u=ae(t|0,A|0,52)|0,j()|0,u=u&15,!u)return u=0,u|0;for(o=1;;){if(i=ae(t|0,A|0,(15-o|0)*3|0)|0,j()|0,i=i&7,i|0){o=5;break}if(o>>>0<u>>>0)o=o+1|0;else{i=0,o=5;break}}return(o|0)==5?i|0:0}function Ro(t,A){t=t|0,A=A|0;var i=0,o=0,u=0,l=0,f=0,d=0,p=0;if(p=ae(t|0,A|0,52)|0,j()|0,p=p&15,!p)return d=A,p=t,Ie(d|0),p|0;for(d=1,i=0;;){l=(15-d|0)*3|0,o=de(7,0,l|0)|0,u=j()|0,f=ae(t|0,A|0,l|0)|0,j()|0,l=de(nr(f&7)|0,0,l|0)|0,f=j()|0,t=l|t&~o,A=f|A&~u;e:do if(!i)if((l&o|0)==0&(f&u|0)==0)i=0;else if(o=ae(t|0,A|0,52)|0,j()|0,o=o&15,!o)i=1;else{i=1;A:for(;;){switch(f=ae(t|0,A|0,(15-i|0)*3|0)|0,j()|0,f&7){case 1:break A;case 0:break;default:{i=1;break e}}if(i>>>0<o>>>0)i=i+1|0;else{i=1;break e}}for(i=1;;)if(f=(15-i|0)*3|0,u=ae(t|0,A|0,f|0)|0,j()|0,l=de(7,0,f|0)|0,A=A&~(j()|0),f=de(nr(u&7)|0,0,f|0)|0,t=t&~l|f,A=A|(j()|0),i>>>0<o>>>0)i=i+1|0;else{i=1;break}}while(!1);if(d>>>0<p>>>0)d=d+1|0;else break}return Ie(A|0),t|0}function ir(t,A){t=t|0,A=A|0;var i=0,o=0,u=0,l=0,f=0;if(o=ae(t|0,A|0,52)|0,j()|0,o=o&15,!o)return i=A,o=t,Ie(i|0),o|0;for(i=1;l=(15-i|0)*3|0,f=ae(t|0,A|0,l|0)|0,j()|0,u=de(7,0,l|0)|0,A=A&~(j()|0),l=de(nr(f&7)|0,0,l|0)|0,t=l|t&~u,A=j()|0|A,i>>>0<o>>>0;)i=i+1|0;return Ie(A|0),t|0}function pp(t,A){t=t|0,A=A|0;var i=0,o=0,u=0,l=0,f=0,d=0,p=0;if(p=ae(t|0,A|0,52)|0,j()|0,p=p&15,!p)return d=A,p=t,Ie(d|0),p|0;for(d=1,i=0;;){l=(15-d|0)*3|0,o=de(7,0,l|0)|0,u=j()|0,f=ae(t|0,A|0,l|0)|0,j()|0,l=de(Nt(f&7)|0,0,l|0)|0,f=j()|0,t=l|t&~o,A=f|A&~u;e:do if(!i)if((l&o|0)==0&(f&u|0)==0)i=0;else if(o=ae(t|0,A|0,52)|0,j()|0,o=o&15,!o)i=1;else{i=1;A:for(;;){switch(f=ae(t|0,A|0,(15-i|0)*3|0)|0,j()|0,f&7){case 1:break A;case 0:break;default:{i=1;break e}}if(i>>>0<o>>>0)i=i+1|0;else{i=1;break e}}for(i=1;;)if(u=(15-i|0)*3|0,l=de(7,0,u|0)|0,f=A&~(j()|0),A=ae(t|0,A|0,u|0)|0,j()|0,A=de(Nt(A&7)|0,0,u|0)|0,t=t&~l|A,A=f|(j()|0),i>>>0<o>>>0)i=i+1|0;else{i=1;break}}while(!1);if(d>>>0<p>>>0)d=d+1|0;else break}return Ie(A|0),t|0}function Io(t,A){t=t|0,A=A|0;var i=0,o=0,u=0,l=0,f=0;if(o=ae(t|0,A|0,52)|0,j()|0,o=o&15,!o)return i=A,o=t,Ie(i|0),o|0;for(i=1;f=(15-i|0)*3|0,l=de(7,0,f|0)|0,u=A&~(j()|0),A=ae(t|0,A|0,f|0)|0,j()|0,A=de(Nt(A&7)|0,0,f|0)|0,t=A|t&~l,A=j()|0|u,i>>>0<o>>>0;)i=i+1|0;return Ie(A|0),t|0}function gp(t,A){t=t|0,A=A|0;var i=0,o=0,u=0,l=0,f=0,d=0,p=0,y=0,_=0;if(p=P,P=P+64|0,d=p+40|0,o=p+24|0,u=p+12|0,l=p,de(A|0,0,52)|0,i=j()|0|134225919,!A)return(r[t+4>>2]|0)>2||(r[t+8>>2]|0)>2||(r[t+12>>2]|0)>2?(f=0,d=0,Ie(f|0),P=p,d|0):(de(Ya(t)|0,0,45)|0,f=j()|0|i,d=-1,Ie(f|0),P=p,d|0);if(r[d>>2]=r[t>>2],r[d+4>>2]=r[t+4>>2],r[d+8>>2]=r[t+8>>2],r[d+12>>2]=r[t+12>>2],f=d+4|0,(A|0)>0)for(t=-1;r[o>>2]=r[f>>2],r[o+4>>2]=r[f+4>>2],r[o+8>>2]=r[f+8>>2],A&1?(Fh(f),r[u>>2]=r[f>>2],r[u+4>>2]=r[f+4>>2],r[u+8>>2]=r[f+8>>2],si(u)):(tu(f),r[u>>2]=r[f>>2],r[u+4>>2]=r[f+4>>2],r[u+8>>2]=r[f+8>>2],rr(u)),Do(o,u,l),DA(l),_=(15-A|0)*3|0,y=de(7,0,_|0)|0,i=i&~(j()|0),_=de(oi(l)|0,0,_|0)|0,t=_|t&~y,i=j()|0|i,(A|0)>1;)A=A+-1|0;else t=-1;e:do if((r[f>>2]|0)<=2&&(r[d+8>>2]|0)<=2&&(r[d+12>>2]|0)<=2){if(o=Ya(d)|0,A=de(o|0,0,45)|0,A=A|t,t=j()|0|i&-1040385,l=Ch(d)|0,!(cA(o)|0)){if((l|0)<=0)break;for(u=0;;){if(o=ae(A|0,t|0,52)|0,j()|0,o=o&15,o)for(i=1;_=(15-i|0)*3|0,d=ae(A|0,t|0,_|0)|0,j()|0,y=de(7,0,_|0)|0,t=t&~(j()|0),_=de(nr(d&7)|0,0,_|0)|0,A=A&~y|_,t=t|(j()|0),i>>>0<o>>>0;)i=i+1|0;if(u=u+1|0,(u|0)==(l|0))break e}}u=ae(A|0,t|0,52)|0,j()|0,u=u&15;A:do if(u){i=1;t:for(;;){switch(_=ae(A|0,t|0,(15-i|0)*3|0)|0,j()|0,_&7){case 1:break t;case 0:break;default:break A}if(i>>>0<u>>>0)i=i+1|0;else break A}if(Wa(o,r[d>>2]|0)|0)for(i=1;d=(15-i|0)*3|0,y=de(7,0,d|0)|0,_=t&~(j()|0),t=ae(A|0,t|0,d|0)|0,j()|0,t=de(Nt(t&7)|0,0,d|0)|0,A=A&~y|t,t=_|(j()|0),i>>>0<u>>>0;)i=i+1|0;else for(i=1;_=(15-i|0)*3|0,d=ae(A|0,t|0,_|0)|0,j()|0,y=de(7,0,_|0)|0,t=t&~(j()|0),_=de(nr(d&7)|0,0,_|0)|0,A=A&~y|_,t=t|(j()|0),i>>>0<u>>>0;)i=i+1|0}while(!1);if((l|0)>0){i=0;do A=Ro(A,t)|0,t=j()|0,i=i+1|0;while((i|0)!=(l|0))}}else A=0,t=0;while(!1);return y=t,_=A,Ie(y|0),P=p,_|0}function et(t){return t=t|0,(t|0)%2|0|0}function Ho(t,A,i){t=t|0,A=A|0,i=i|0;var o=0,u=0;return u=P,P=P+16|0,o=u,A>>>0>15?(o=4,P=u,o|0):(r[t+4>>2]&2146435072|0)==2146435072||(r[t+8+4>>2]&2146435072|0)==2146435072?(o=3,P=u,o|0):(Ap(t,A,o),A=gp(o,A)|0,o=j()|0,r[i>>2]=A,r[i+4>>2]=o,(A|0)==0&(o|0)==0&&Oe(27795,27122,1050,27145),o=0,P=u,o|0)}function Qo(t,A,i){t=t|0,A=A|0,i=i|0;var o=0,u=0,l=0,f=0;if(u=i+4|0,l=ae(t|0,A|0,52)|0,j()|0,l=l&15,f=ae(t|0,A|0,45)|0,j()|0,o=(l|0)==0,cA(f&127)|0){if(o)return f=1,f|0;o=1}else{if(o)return f=0,f|0;(r[u>>2]|0)==0&&(r[i+8>>2]|0)==0?o=(r[i+12>>2]|0)!=0&1:o=1}for(i=1;i&1?si(u):rr(u),f=ae(t|0,A|0,(15-i|0)*3|0)|0,j()|0,ru(u,f&7),i>>>0<l>>>0;)i=i+1|0;return o|0}function Sr(t,A,i){t=t|0,A=A|0,i=i|0;var o=0,u=0,l=0,f=0,d=0,p=0,y=0,_=0;if(_=P,P=P+16|0,p=_,y=ae(t|0,A|0,45)|0,j()|0,y=y&127,y>>>0>121)return r[i>>2]=0,r[i+4>>2]=0,r[i+8>>2]=0,r[i+12>>2]=0,y=5,P=_,y|0;e:do if((cA(y)|0)!=0&&(l=ae(t|0,A|0,52)|0,j()|0,l=l&15,(l|0)!=0)){o=1;A:for(;;){switch(d=ae(t|0,A|0,(15-o|0)*3|0)|0,j()|0,d&7){case 5:break A;case 0:break;default:{o=A;break e}}if(o>>>0<l>>>0)o=o+1|0;else{o=A;break e}}for(u=1,o=A;A=(15-u|0)*3|0,f=de(7,0,A|0)|0,d=o&~(j()|0),o=ae(t|0,o|0,A|0)|0,j()|0,o=de(Nt(o&7)|0,0,A|0)|0,t=t&~f|o,o=d|(j()|0),u>>>0<l>>>0;)u=u+1|0}else o=A;while(!1);if(d=7696+(y*28|0)|0,r[i>>2]=r[d>>2],r[i+4>>2]=r[d+4>>2],r[i+8>>2]=r[d+8>>2],r[i+12>>2]=r[d+12>>2],!(Qo(t,o,i)|0))return y=0,P=_,y|0;if(f=i+4|0,r[p>>2]=r[f>>2],r[p+4>>2]=r[f+4>>2],r[p+8>>2]=r[f+8>>2],l=ae(t|0,o|0,52)|0,j()|0,d=l&15,l&1?(rr(f),l=d+1|0):l=d,!(cA(y)|0))o=0;else{e:do if(!d)o=0;else for(A=1;;){if(u=ae(t|0,o|0,(15-A|0)*3|0)|0,j()|0,u=u&7,u|0){o=u;break e}if(A>>>0<d>>>0)A=A+1|0;else{o=0;break}}while(!1);o=(o|0)==4&1}if(!(xr(i,l,o,0)|0))(l|0)!=(d|0)&&(r[f>>2]=r[p>>2],r[f+4>>2]=r[p+4>>2],r[f+8>>2]=r[p+8>>2]);else{if(cA(y)|0)do;while((xr(i,l,0,0)|0)!=0);(l|0)!=(d|0)&&tu(f)}return y=0,P=_,y|0}function or(t,A,i){t=t|0,A=A|0,i=i|0;var o=0,u=0,l=0;return l=P,P=P+16|0,o=l,u=Sr(t,A,o)|0,u|0?(P=l,u|0):(u=ae(t|0,A|0,52)|0,j()|0,np(o,u&15,i),u=0,P=l,u|0)}function Br(t,A,i){t=t|0,A=A|0,i=i|0;var o=0,u=0,l=0,f=0,d=0;if(f=P,P=P+16|0,l=f,o=Sr(t,A,l)|0,o|0)return l=o,P=f,l|0;o=ae(t|0,A|0,45)|0,j()|0,o=(cA(o&127)|0)==0,u=ae(t|0,A|0,52)|0,j()|0,u=u&15;e:do if(!o){if(u|0)for(o=1;;){if(d=de(7,0,(15-o|0)*3|0)|0,!((d&t|0)==0&((j()|0)&A|0)==0))break e;if(o>>>0<u>>>0)o=o+1|0;else break}return To(l,u,0,5,i),d=0,P=f,d|0}while(!1);return Oo(l,u,0,6,i),d=0,P=f,d|0}function mp(t,A,i){t=t|0,A=A|0,i=i|0;var o=0,u=0,l=0;if(u=ae(t|0,A|0,45)|0,j()|0,!(cA(u&127)|0))return u=2,r[i>>2]=u,0;if(u=ae(t|0,A|0,52)|0,j()|0,u=u&15,!u)return u=5,r[i>>2]=u,0;for(o=1;;){if(l=de(7,0,(15-o|0)*3|0)|0,!((l&t|0)==0&((j()|0)&A|0)==0)){o=2,t=6;break}if(o>>>0<u>>>0)o=o+1|0;else{o=5,t=6;break}}return(t|0)==6&&(r[i>>2]=o),0}function hu(t,A,i){t=t|0,A=A|0,i=i|0;var o=0,u=0,l=0,f=0,d=0,p=0,y=0,_=0,O=0;O=P,P=P+128|0,y=O+112|0,l=O+96|0,_=O,u=ae(t|0,A|0,52)|0,j()|0,d=u&15,r[y>>2]=d,f=ae(t|0,A|0,45)|0,j()|0,f=f&127;e:do if(cA(f)|0){if(d|0)for(o=1;;){if(p=de(7,0,(15-o|0)*3|0)|0,!((p&t|0)==0&((j()|0)&A|0)==0)){u=0;break e}if(o>>>0<d>>>0)o=o+1|0;else break}if(u&1)u=1;else return p=de(d+1|0,0,52)|0,_=j()|0|A&-15728641,y=de(7,0,(14-d|0)*3|0)|0,_=hu((p|t)&~y,_&~(j()|0),i)|0,P=O,_|0}else u=0;while(!1);if(o=Sr(t,A,l)|0,!o){u?(uu(l,y,_),p=5):(lu(l,y,_),p=6);e:do if(cA(f)|0)if(!d)t=5;else for(o=1;;){if(f=de(7,0,(15-o|0)*3|0)|0,!((f&t|0)==0&((j()|0)&A|0)==0)){t=2;break e}if(o>>>0<d>>>0)o=o+1|0;else{t=5;break}}else t=2;while(!1);Ht(i|0,-1,t<<2|0)|0;e:do if(u)for(l=0;;){if(f=_+(l<<4)|0,ip(f,r[y>>2]|0)|0,f=r[f>>2]|0,d=r[i>>2]|0,(d|0)==-1|(d|0)==(f|0))o=i;else{u=0;do{if(u=u+1|0,u>>>0>=t>>>0){o=1;break e}o=i+(u<<2)|0,d=r[o>>2]|0}while(!((d|0)==-1|(d|0)==(f|0)))}if(r[o>>2]=f,l=l+1|0,l>>>0>=p>>>0){o=0;break}}else for(l=0;;){if(f=_+(l<<4)|0,xr(f,r[y>>2]|0,0,1)|0,f=r[f>>2]|0,d=r[i>>2]|0,(d|0)==-1|(d|0)==(f|0))o=i;else{u=0;do{if(u=u+1|0,u>>>0>=t>>>0){o=1;break e}o=i+(u<<2)|0,d=r[o>>2]|0}while(!((d|0)==-1|(d|0)==(f|0)))}if(r[o>>2]=f,l=l+1|0,l>>>0>=p>>>0){o=0;break}}while(!1)}return _=o,P=O,_|0}function yp(){return 12}function qo(t,A){t=t|0,A=A|0;var i=0,o=0,u=0,l=0,f=0,d=0,p=0;if(t>>>0>15)return d=4,d|0;if(de(t|0,0,52)|0,d=j()|0|134225919,!t){i=0,o=0;do cA(o)|0&&(de(o|0,0,45)|0,f=d|(j()|0),t=A+(i<<3)|0,r[t>>2]=-1,r[t+4>>2]=f,i=i+1|0),o=o+1|0;while((o|0)!=122);return i=0,i|0}i=0,f=0;do{if(cA(f)|0){for(de(f|0,0,45)|0,o=1,u=-1,l=d|(j()|0);p=de(7,0,(15-o|0)*3|0)|0,u=u&~p,l=l&~(j()|0),(o|0)!=(t|0);)o=o+1|0;p=A+(i<<3)|0,r[p>>2]=u,r[p+4>>2]=l,i=i+1|0}f=f+1|0}while((f|0)!=122);return i=0,i|0}function wp(t,A,i,o){t=t|0,A=A|0,i=i|0,o=o|0;var u=0,l=0,f=0,d=0,p=0,y=0,_=0,O=0,R=0,I=0,H=0,U=0,Z=0,re=0,Ae=0;if(Ae=P,P=P+16|0,Z=Ae,re=ae(t|0,A|0,52)|0,j()|0,re=re&15,i>>>0>15)return re=4,P=Ae,re|0;if((re|0)<(i|0))return re=12,P=Ae,re|0;if((re|0)!=(i|0))if(l=de(i|0,0,52)|0,l=l|t,d=j()|0|A&-15728641,(re|0)>(i|0)){p=i;do U=de(7,0,(14-p|0)*3|0)|0,p=p+1|0,l=U|l,d=j()|0|d;while((p|0)<(re|0));U=l}else U=l;else U=t,d=A;H=ae(U|0,d|0,45)|0,j()|0;e:do if(cA(H&127)|0){if(p=ae(U|0,d|0,52)|0,j()|0,p=p&15,p|0)for(l=1;;){if(H=de(7,0,(15-l|0)*3|0)|0,!((H&U|0)==0&((j()|0)&d|0)==0)){y=33;break e}if(l>>>0<p>>>0)l=l+1|0;else break}if(H=o,r[H>>2]=0,r[H+4>>2]=0,(re|0)>(i|0)){for(H=A&-15728641,I=re;;){if(R=I,I=I+-1|0,I>>>0>15|(re|0)<(I|0)){y=19;break}if((re|0)!=(I|0))if(l=de(I|0,0,52)|0,l=l|t,p=j()|0|H,(re|0)<(R|0))O=l;else{y=I;do O=de(7,0,(14-y|0)*3|0)|0,y=y+1|0,l=O|l,p=j()|0|p;while((y|0)<(re|0));O=l}else O=t,p=A;if(_=ae(O|0,p|0,45)|0,j()|0,!(cA(_&127)|0))l=0;else{_=ae(O|0,p|0,52)|0,j()|0,_=_&15;A:do if(!_)l=0;else for(y=1;;){if(l=ae(O|0,p|0,(15-y|0)*3|0)|0,j()|0,l=l&7,l|0)break A;if(y>>>0<_>>>0)y=y+1|0;else{l=0;break}}while(!1);l=(l|0)==0&1}if(p=ae(t|0,A|0,(15-R|0)*3|0)|0,j()|0,p=p&7,(p|0)==7){u=5,y=42;break}if(l=(l|0)!=0,(p|0)==1&l){u=5,y=42;break}if(O=p+(((p|0)!=0&l)<<31>>31)|0,O|0&&(y=re-R|0,y=Mt(7,0,y,((y|0)<0)<<31>>31)|0,_=j()|0,l?(l=$A(y|0,_|0,5,0)|0,l=xe(l|0,j()|0,-5,-1)|0,l=It(l|0,j()|0,6,0)|0,l=xe(l|0,j()|0,1,0)|0,p=j()|0):(l=y,p=_),R=O+-1|0,R=$A(y|0,_|0,R|0,((R|0)<0)<<31>>31|0)|0,R=xe(l|0,p|0,R|0,j()|0)|0,O=j()|0,_=o,_=xe(R|0,O|0,r[_>>2]|0,r[_+4>>2]|0)|0,O=j()|0,R=o,r[R>>2]=_,r[R+4>>2]=O),(I|0)<=(i|0)){y=37;break}}if((y|0)==19)Oe(27795,27122,1367,27158);else if((y|0)==37){f=o,u=r[f+4>>2]|0,f=r[f>>2]|0;break}else if((y|0)==42)return P=Ae,u|0}else u=0,f=0}else y=33;while(!1);e:do if((y|0)==33)if(H=o,r[H>>2]=0,r[H+4>>2]=0,(re|0)>(i|0)){for(l=re;;){if(u=ae(t|0,A|0,(15-l|0)*3|0)|0,j()|0,u=u&7,(u|0)==7){u=5;break}if(f=re-l|0,f=Mt(7,0,f,((f|0)<0)<<31>>31)|0,u=$A(f|0,j()|0,u|0,0)|0,f=j()|0,H=o,f=xe(r[H>>2]|0,r[H+4>>2]|0,u|0,f|0)|0,u=j()|0,H=o,r[H>>2]=f,r[H+4>>2]=u,l=l+-1|0,(l|0)<=(i|0))break e}return P=Ae,u|0}else u=0,f=0;while(!1);return un(U,d,re,Z)|0&&Oe(27795,27122,1327,27173),re=Z,Z=r[re+4>>2]|0,((u|0)>-1|(u|0)==-1&f>>>0>4294967295)&((Z|0)>(u|0)|((Z|0)==(u|0)?(r[re>>2]|0)>>>0>f>>>0:0))?(re=0,P=Ae,re|0):(Oe(27795,27122,1407,27158),0)}function vp(t,A,i,o,u,l){t=t|0,A=A|0,i=i|0,o=o|0,u=u|0,l=l|0;var f=0,d=0,p=0,y=0,_=0,O=0,R=0,I=0,H=0,U=0;if(O=P,P=P+16|0,f=O,u>>>0>15)return l=4,P=O,l|0;if(d=ae(i|0,o|0,52)|0,j()|0,d=d&15,(d|0)>(u|0))return l=12,P=O,l|0;if(un(i,o,u,f)|0&&Oe(27795,27122,1327,27173),_=f,y=r[_+4>>2]|0,!(((A|0)>-1|(A|0)==-1&t>>>0>4294967295)&((y|0)>(A|0)|((y|0)==(A|0)?(r[_>>2]|0)>>>0>t>>>0:0))))return l=2,P=O,l|0;_=u-d|0,u=de(u|0,0,52)|0,p=j()|0|o&-15728641,y=l,r[y>>2]=u|i,r[y+4>>2]=p,y=ae(i|0,o|0,45)|0,j()|0;e:do if(cA(y&127)|0){if(d|0)for(f=1;;){if(y=de(7,0,(15-f|0)*3|0)|0,!((y&i|0)==0&((j()|0)&o|0)==0))break e;if(f>>>0<d>>>0)f=f+1|0;else break}if((_|0)<1)return l=0,P=O,l|0;for(y=d^15,o=-1,p=1,f=1;;){d=_-p|0,d=Mt(7,0,d,((d|0)<0)<<31>>31)|0,i=j()|0;do if(f)if(f=$A(d|0,i|0,5,0)|0,f=xe(f|0,j()|0,-5,-1)|0,f=It(f|0,j()|0,6,0)|0,u=j()|0,(A|0)>(u|0)|(A|0)==(u|0)&t>>>0>f>>>0){A=xe(t|0,A|0,-1,-1)|0,A=EA(A|0,j()|0,f|0,u|0)|0,f=j()|0,R=l,H=r[R>>2]|0,R=r[R+4>>2]|0,U=(y+o|0)*3|0,I=de(7,0,U|0)|0,R=R&~(j()|0),o=It(A|0,f|0,d|0,i|0)|0,t=j()|0,u=xe(o|0,t|0,2,0)|0,U=de(u|0,j()|0,U|0)|0,R=j()|0|R,u=l,r[u>>2]=U|H&~I,r[u+4>>2]=R,t=$A(o|0,t|0,d|0,i|0)|0,t=EA(A|0,f|0,t|0,j()|0)|0,f=0,A=j()|0;break}else{U=l,I=r[U>>2]|0,U=r[U+4>>2]|0,H=de(7,0,(y+o|0)*3|0)|0,U=U&~(j()|0),f=l,r[f>>2]=I&~H,r[f+4>>2]=U,f=1;break}else I=l,u=r[I>>2]|0,I=r[I+4>>2]|0,o=(y+o|0)*3|0,R=de(7,0,o|0)|0,I=I&~(j()|0),U=It(t|0,A|0,d|0,i|0)|0,f=j()|0,o=de(U|0,f|0,o|0)|0,I=j()|0|I,H=l,r[H>>2]=o|u&~R,r[H+4>>2]=I,f=$A(U|0,f|0,d|0,i|0)|0,t=EA(t|0,A|0,f|0,j()|0)|0,f=0,A=j()|0;while(!1);if((_|0)>(p|0))o=~p,p=p+1|0;else{A=0;break}}return P=O,A|0}while(!1);if((_|0)<1)return U=0,P=O,U|0;for(u=d^15,f=1;;)if(H=_-f|0,H=Mt(7,0,H,((H|0)<0)<<31>>31)|0,U=j()|0,p=l,i=r[p>>2]|0,p=r[p+4>>2]|0,d=(u-f|0)*3|0,o=de(7,0,d|0)|0,p=p&~(j()|0),R=It(t|0,A|0,H|0,U|0)|0,I=j()|0,d=de(R|0,I|0,d|0)|0,p=j()|0|p,y=l,r[y>>2]=d|i&~o,r[y+4>>2]=p,U=$A(R|0,I|0,H|0,U|0)|0,t=EA(t|0,A|0,U|0,j()|0)|0,A=j()|0,(_|0)<=(f|0)){A=0;break}else f=f+1|0;return P=O,A|0}function Lo(t,A,i,o){t=t|0,A=A|0,i=i|0,o=o|0;var u=0,l=0,f=0;u=ae(A|0,i|0,52)|0,j()|0,u=u&15,(A|0)==0&(i|0)==0|((o|0)>15|(u|0)>(o|0))?(l=-1,A=-1,i=0,u=0):(A=cu(A,i,u+1|0,o)|0,f=(j()|0)&-15728641,i=de(o|0,0,52)|0,i=A|i,f=f|(j()|0),A=(aA(i,f)|0)==0,l=u,A=A?-1:o,u=f),f=t,r[f>>2]=i,r[f+4>>2]=u,r[t+8>>2]=l,r[t+12>>2]=A}function pu(t,A,i,o){t=t|0,A=A|0,i=i|0,o=o|0;var u=0,l=0;if(u=ae(t|0,A|0,52)|0,j()|0,u=u&15,l=o+8|0,r[l>>2]=u,(t|0)==0&(A|0)==0|((i|0)>15|(u|0)>(i|0))){i=o,r[i>>2]=0,r[i+4>>2]=0,r[l>>2]=-1,r[o+12>>2]=-1;return}if(t=cu(t,A,u+1|0,i)|0,l=(j()|0)&-15728641,u=de(i|0,0,52)|0,u=t|u,l=l|(j()|0),t=o,r[t>>2]=u,r[t+4>>2]=l,t=o+12|0,aA(u,l)|0){r[t>>2]=i;return}else{r[t>>2]=-1;return}}function Uo(t){t=t|0;var A=0,i=0,o=0,u=0,l=0,f=0,d=0,p=0,y=0;if(i=t,A=r[i>>2]|0,i=r[i+4>>2]|0,!((A|0)==0&(i|0)==0)&&(o=ae(A|0,i|0,52)|0,j()|0,o=o&15,d=de(1,0,(o^15)*3|0)|0,A=xe(d|0,j()|0,A|0,i|0)|0,i=j()|0,d=t,r[d>>2]=A,r[d+4>>2]=i,d=t+8|0,f=r[d>>2]|0,!((o|0)<(f|0)))){for(p=t+12|0,l=o;;){if((l|0)==(f|0)){o=5;break}if(y=(l|0)==(r[p>>2]|0),u=(15-l|0)*3|0,o=ae(A|0,i|0,u|0)|0,j()|0,o=o&7,y&((o|0)==1&!0)){o=7;break}if(!((o|0)==7&!0)){o=10;break}if(y=de(1,0,u|0)|0,A=xe(A|0,i|0,y|0,j()|0)|0,i=j()|0,y=t,r[y>>2]=A,r[y+4>>2]=i,(l|0)>(f|0))l=l+-1|0;else{o=10;break}}if((o|0)==5){y=t,r[y>>2]=0,r[y+4>>2]=0,r[d>>2]=-1,r[p>>2]=-1;return}else if((o|0)==7){f=de(1,0,u|0)|0,f=xe(A|0,i|0,f|0,j()|0)|0,d=j()|0,y=t,r[y>>2]=f,r[y+4>>2]=d,r[p>>2]=l+-1;return}else if((o|0)==10)return}}function ln(t){t=+t;var A=0;return A=t<0?t+6.283185307179586:t,+(t>=6.283185307179586?A+-6.283185307179586:A)}function Pr(t,A){return t=t|0,A=A|0,+Xe(+(+S[t>>3]-+S[A>>3]))<17453292519943298e-27?(A=+Xe(+(+S[t+8>>3]-+S[A+8>>3]))<17453292519943298e-27,A|0):(A=0,A|0)}function JA(t,A){switch(t=+t,A=A|0,A|0){case 1:{t=t<0?t+6.283185307179586:t;break}case 2:{t=t>0?t+-6.283185307179586:t;break}default:}return+t}function bp(t,A){t=t|0,A=A|0;var i=0,o=0,u=0,l=0;return u=+S[A>>3],o=+S[t>>3],l=+AA(+((u-o)*.5)),i=+AA(+((+S[A+8>>3]-+S[t+8>>3])*.5)),i=l*l+i*(+We(+u)*+We(+o)*i),+(+XA(+ +pA(+i),+ +pA(+(1-i)))*2)}function fn(t,A){t=t|0,A=A|0;var i=0,o=0,u=0,l=0;return u=+S[A>>3],o=+S[t>>3],l=+AA(+((u-o)*.5)),i=+AA(+((+S[A+8>>3]-+S[t+8>>3])*.5)),i=l*l+i*(+We(+u)*+We(+o)*i),+(+XA(+ +pA(+i),+ +pA(+(1-i)))*2*6371.007180918475)}function _p(t,A){t=t|0,A=A|0;var i=0,o=0,u=0,l=0;return u=+S[A>>3],o=+S[t>>3],l=+AA(+((u-o)*.5)),i=+AA(+((+S[A+8>>3]-+S[t+8>>3])*.5)),i=l*l+i*(+We(+u)*+We(+o)*i),+(+XA(+ +pA(+i),+ +pA(+(1-i)))*2*6371.007180918475*1e3)}function Ep(t,A){t=t|0,A=A|0;var i=0,o=0,u=0,l=0,f=0;return l=+S[A>>3],o=+We(+l),u=+S[A+8>>3]-+S[t+8>>3],f=o*+AA(+u),i=+S[t>>3],+ +XA(+f,+(+AA(+l)*+We(+i)-+We(+u)*(o*+AA(+i))))}function $p(t,A,i,o){t=t|0,A=+A,i=+i,o=o|0;var u=0,l=0,f=0,d=0;if(i<1e-16){r[o>>2]=r[t>>2],r[o+4>>2]=r[t+4>>2],r[o+8>>2]=r[t+8>>2],r[o+12>>2]=r[t+12>>2];return}l=A<0?A+6.283185307179586:A,l=A>=6.283185307179586?l+-6.283185307179586:l;do if(l<1e-16)A=+S[t>>3]+i,S[o>>3]=A,u=o;else{if(u=+Xe(+(l+-3.141592653589793))<1e-16,A=+S[t>>3],u){A=A-i,S[o>>3]=A,u=o;break}if(f=+We(+i),i=+AA(+i),A=f*+AA(+A)+ +We(+l)*(i*+We(+A)),A=A>1?1:A,A=+dh(+(A<-1?-1:A)),S[o>>3]=A,+Xe(+(A+-1.5707963267948966))<1e-16){S[o>>3]=1.5707963267948966,S[o+8>>3]=0;return}if(+Xe(+(A+1.5707963267948966))<1e-16){S[o>>3]=-1.5707963267948966,S[o+8>>3]=0;return}if(d=1/+We(+A),l=i*+AA(+l)*d,i=+S[t>>3],A=d*((f-+AA(+A)*+AA(+i))/+We(+i)),f=l>1?1:l,A=A>1?1:A,A=+S[t+8>>3]+ +XA(+(f<-1?-1:f),+(A<-1?-1:A)),A>3.141592653589793)do A=A+-6.283185307179586;while(A>3.141592653589793);if(A<-3.141592653589793)do A=A+6.283185307179586;while(A<-3.141592653589793);S[o+8>>3]=A;return}while(!1);if(+Xe(+(A+-1.5707963267948966))<1e-16){S[u>>3]=1.5707963267948966,S[o+8>>3]=0;return}if(+Xe(+(A+1.5707963267948966))<1e-16){S[u>>3]=-1.5707963267948966,S[o+8>>3]=0;return}if(A=+S[t+8>>3],A>3.141592653589793)do A=A+-6.283185307179586;while(A>3.141592653589793);if(A<-3.141592653589793)do A=A+6.283185307179586;while(A<-3.141592653589793);S[o+8>>3]=A}function gu(t,A){return t=t|0,A=A|0,t>>>0>15?(A=4,A|0):(S[A>>3]=+S[20656+(t<<3)>>3],A=0,A|0)}function kp(t,A){return t=t|0,A=A|0,t>>>0>15?(A=4,A|0):(S[A>>3]=+S[20784+(t<<3)>>3],A=0,A|0)}function xp(t,A){return t=t|0,A=A|0,t>>>0>15?(A=4,A|0):(S[A>>3]=+S[20912+(t<<3)>>3],A=0,A|0)}function Sp(t,A){return t=t|0,A=A|0,t>>>0>15?(A=4,A|0):(S[A>>3]=+S[21040+(t<<3)>>3],A=0,A|0)}function li(t,A){t=t|0,A=A|0;var i=0;return t>>>0>15?(A=4,A|0):(i=Mt(7,0,t,((t|0)<0)<<31>>31)|0,i=$A(i|0,j()|0,120,0)|0,t=j()|0,r[A>>2]=i|2,r[A+4>>2]=t,A=0,A|0)}function mu(t,A,i){t=t|0,A=A|0,i=i|0;var o=0,u=0,l=0,f=0,d=0,p=0,y=0,_=0,O=0,R=0;return R=+S[A>>3],_=+S[t>>3],p=+AA(+((R-_)*.5)),l=+S[A+8>>3],y=+S[t+8>>3],f=+AA(+((l-y)*.5)),d=+We(+_),O=+We(+R),f=p*p+f*(O*d*f),f=+XA(+ +pA(+f),+ +pA(+(1-f)))*2,p=+S[i>>3],R=+AA(+((p-R)*.5)),o=+S[i+8>>3],l=+AA(+((o-l)*.5)),u=+We(+p),l=R*R+l*(O*u*l),l=+XA(+ +pA(+l),+ +pA(+(1-l)))*2,p=+AA(+((_-p)*.5)),o=+AA(+((y-o)*.5)),o=p*p+o*(d*u*o),o=+XA(+ +pA(+o),+ +pA(+(1-o)))*2,u=(f+l+o)*.5,+(+_o(+ +pA(+(+sn(+(u*.5))*+sn(+((u-f)*.5))*+sn(+((u-l)*.5))*+sn(+((u-o)*.5)))))*4)}function Go(t,A,i){t=t|0,A=A|0,i=i|0;var o=0,u=0,l=0,f=0,d=0;if(d=P,P=P+192|0,l=d+168|0,f=d,u=or(t,A,l)|0,u|0)return i=u,P=d,i|0;if(Br(t,A,f)|0&&Oe(27795,27190,415,27199),A=r[f>>2]|0,(A|0)>0){if(o=+mu(f+8|0,f+8+(((A|0)!=1&1)<<4)|0,l)+0,(A|0)!=1){t=1;do u=t,t=t+1|0,o=o+ +mu(f+8+(u<<4)|0,f+8+(((t|0)%(A|0)|0)<<4)|0,l);while((t|0)<(A|0))}}else o=0;return S[i>>3]=o,i=0,P=d,i|0}function Bp(t,A,i){return t=t|0,A=A|0,i=i|0,t=Go(t,A,i)|0,t|0||(S[i>>3]=+S[i>>3]*6371.007180918475*6371.007180918475),t|0}function Pp(t,A,i){return t=t|0,A=A|0,i=i|0,t=Go(t,A,i)|0,t|0||(S[i>>3]=+S[i>>3]*6371.007180918475*6371.007180918475*1e3*1e3),t|0}function Dp(t,A,i){t=t|0,A=A|0,i=i|0;var o=0,u=0,l=0,f=0,d=0,p=0,y=0,_=0;if(d=P,P=P+176|0,f=d,t=ui(t,A,f)|0,t|0)return f=t,P=d,f|0;if(S[i>>3]=0,t=r[f>>2]|0,(t|0)<=1)return f=0,P=d,f|0;A=t+-1|0,t=0,o=+S[f+8>>3],u=+S[f+16>>3],l=0;do t=t+1|0,y=o,o=+S[f+8+(t<<4)>>3],_=+AA(+((o-y)*.5)),p=u,u=+S[f+8+(t<<4)+8>>3],p=+AA(+((u-p)*.5)),p=_*_+p*(+We(+o)*+We(+y)*p),l=l+ +XA(+ +pA(+p),+ +pA(+(1-p)))*2;while((t|0)<(A|0));return S[i>>3]=l,f=0,P=d,f|0}function Cp(t,A,i){t=t|0,A=A|0,i=i|0;var o=0,u=0,l=0,f=0,d=0,p=0,y=0,_=0;if(d=P,P=P+176|0,f=d,t=ui(t,A,f)|0,t|0)return f=t,l=+S[i>>3],l=l*6371.007180918475,S[i>>3]=l,P=d,f|0;if(S[i>>3]=0,t=r[f>>2]|0,(t|0)<=1)return f=0,l=0,l=l*6371.007180918475,S[i>>3]=l,P=d,f|0;A=t+-1|0,t=0,o=+S[f+8>>3],u=+S[f+16>>3],l=0;do t=t+1|0,y=o,o=+S[f+8+(t<<4)>>3],_=+AA(+((o-y)*.5)),p=u,u=+S[f+8+(t<<4)+8>>3],p=+AA(+((u-p)*.5)),p=_*_+p*(+We(+y)*+We(+o)*p),l=l+ +XA(+ +pA(+p),+ +pA(+(1-p)))*2;while((t|0)!=(A|0));return S[i>>3]=l,f=0,_=l,_=_*6371.007180918475,S[i>>3]=_,P=d,f|0}function Tp(t,A,i){t=t|0,A=A|0,i=i|0;var o=0,u=0,l=0,f=0,d=0,p=0,y=0,_=0;if(d=P,P=P+176|0,f=d,t=ui(t,A,f)|0,t|0)return f=t,l=+S[i>>3],l=l*6371.007180918475,l=l*1e3,S[i>>3]=l,P=d,f|0;if(S[i>>3]=0,t=r[f>>2]|0,(t|0)<=1)return f=0,l=0,l=l*6371.007180918475,l=l*1e3,S[i>>3]=l,P=d,f|0;A=t+-1|0,t=0,o=+S[f+8>>3],u=+S[f+16>>3],l=0;do t=t+1|0,y=o,o=+S[f+8+(t<<4)>>3],_=+AA(+((o-y)*.5)),p=u,u=+S[f+8+(t<<4)+8>>3],p=+AA(+((u-p)*.5)),p=_*_+p*(+We(+y)*+We(+o)*p),l=l+ +XA(+ +pA(+p),+ +pA(+(1-p)))*2;while((t|0)!=(A|0));return S[i>>3]=l,f=0,_=l,_=_*6371.007180918475,_=_*1e3,S[i>>3]=_,P=d,f|0}function Op(t){t=t|0;var A=0,i=0,o=0;return A=FA(1,12)|0,A||Oe(27280,27235,49,27293),i=t+4|0,o=r[i>>2]|0,o|0?(o=o+8|0,r[o>>2]=A,r[i>>2]=A,A|0):(r[t>>2]|0&&Oe(27310,27235,61,27333),o=t,r[o>>2]=A,r[i>>2]=A,A|0)}function jp(t,A){t=t|0,A=A|0;var i=0,o=0;return o=yt(24)|0,o||Oe(27347,27235,78,27361),r[o>>2]=r[A>>2],r[o+4>>2]=r[A+4>>2],r[o+8>>2]=r[A+8>>2],r[o+12>>2]=r[A+12>>2],r[o+16>>2]=0,A=t+4|0,i=r[A>>2]|0,i|0?(r[i+16>>2]=o,r[A>>2]=o,o|0):(r[t>>2]|0&&Oe(27376,27235,82,27361),r[t>>2]=o,r[A>>2]=o,o|0)}function yu(t){t=t|0;var A=0,i=0,o=0,u=0;if(t)for(o=1;;){if(A=r[t>>2]|0,A|0)do{if(i=r[A>>2]|0,i|0)do u=i,i=r[i+16>>2]|0,Be(u);while((i|0)!=0);u=A,A=r[A+8>>2]|0,Be(u)}while((A|0)!=0);if(A=t,t=r[t+8>>2]|0,o||Be(A),t)o=0;else break}}function Np(t){t=t|0;var A=0,i=0,o=0,u=0,l=0,f=0,d=0,p=0,y=0,_=0,O=0,R=0,I=0,H=0,U=0,Z=0,re=0,Ae=0,ee=0,F=0,pe=0,$e=0,_e=0,Re=0,He=0,Fe=0,Te=0,ke=0,he=0,Le=0,iA=0,qe=0;if(u=t+8|0,r[u>>2]|0)return qe=1,qe|0;if(o=r[t>>2]|0,!o)return qe=0,qe|0;A=o,i=0;do i=i+1|0,A=r[A+8>>2]|0;while((A|0)!=0);if(i>>>0<2)return qe=0,qe|0;Le=yt(i<<2)|0,Le||Oe(27396,27235,317,27415),he=yt(i<<5)|0,he||Oe(27437,27235,321,27415),r[t>>2]=0,$e=t+4|0,r[$e>>2]=0,r[u>>2]=0,i=0,ke=0,pe=0,O=0;e:for(;;){if(_=r[o>>2]|0,_){l=0,f=_;do{if(p=+S[f+8>>3],A=f,f=r[f+16>>2]|0,y=(f|0)==0,u=y?_:f,d=+S[u+8>>3],+Xe(+(p-d))>3.141592653589793){qe=14;break}l=l+(d-p)*(+S[A>>3]+ +S[u>>3])}while(!y);if((qe|0)==14){qe=0,l=0,A=_;do F=+S[A+8>>3],Te=A+16|0,Fe=r[Te>>2]|0,Fe=(Fe|0)==0?_:Fe,ee=+S[Fe+8>>3],l=l+(+S[A>>3]+ +S[Fe>>3])*((ee<0?ee+6.283185307179586:ee)-(F<0?F+6.283185307179586:F)),A=r[((A|0)==0?o:Te)>>2]|0;while((A|0)!=0)}l>0?(r[Le+(ke<<2)>>2]=o,ke=ke+1|0,u=pe,A=O):qe=19}else qe=19;if((qe|0)==19){qe=0;do if(i){if(A=i+8|0,r[A>>2]|0){qe=21;break e}if(i=FA(1,12)|0,!i){qe=23;break e}r[A>>2]=i,u=i+4|0,f=i,A=O}else if(O){u=$e,f=O+8|0,A=o,i=t;break}else if(r[t>>2]|0){qe=27;break e}else{u=$e,f=t,A=o,i=t;break}while(!1);if(r[f>>2]=o,r[u>>2]=o,f=he+(pe<<5)|0,y=r[o>>2]|0,y){for(_=he+(pe<<5)+8|0,S[_>>3]=17976931348623157e292,O=he+(pe<<5)+24|0,S[O>>3]=17976931348623157e292,S[f>>3]=-17976931348623157e292,R=he+(pe<<5)+16|0,S[R>>3]=-17976931348623157e292,re=17976931348623157e292,Ae=-17976931348623157e292,u=0,I=y,p=17976931348623157e292,U=17976931348623157e292,Z=-17976931348623157e292,d=-17976931348623157e292;l=+S[I>>3],F=+S[I+8>>3],I=r[I+16>>2]|0,H=(I|0)==0,ee=+S[(H?y:I)+8>>3],l<p&&(S[_>>3]=l,p=l),F<U&&(S[O>>3]=F,U=F),l>Z?S[f>>3]=l:l=Z,F>d&&(S[R>>3]=F,d=F),re=F>0&F<re?F:re,Ae=F<0&F>Ae?F:Ae,u=u|+Xe(+(F-ee))>3.141592653589793,!H;)Z=l;u&&(S[R>>3]=Ae,S[O>>3]=re)}else r[f>>2]=0,r[f+4>>2]=0,r[f+8>>2]=0,r[f+12>>2]=0,r[f+16>>2]=0,r[f+20>>2]=0,r[f+24>>2]=0,r[f+28>>2]=0;u=pe+1|0}if(Te=o+8|0,o=r[Te>>2]|0,r[Te>>2]=0,o)pe=u,O=A;else{qe=45;break}}if((qe|0)==21)Oe(27213,27235,35,27247);else if((qe|0)==23)Oe(27267,27235,37,27247);else if((qe|0)==27)Oe(27310,27235,61,27333);else if((qe|0)==45){e:do if((ke|0)>0){for(Te=(u|0)==0,He=u<<2,Fe=(t|0)==0,Re=0,A=0;;){if(_e=r[Le+(Re<<2)>>2]|0,Te)qe=73;else{if(pe=yt(He)|0,!pe){qe=50;break}if($e=yt(He)|0,!$e){qe=52;break}A:do if(Fe)i=0;else{for(u=0,i=0,f=t;o=he+(u<<5)|0,wu(r[f>>2]|0,o,r[_e>>2]|0)|0?(r[pe+(i<<2)>>2]=f,r[$e+(i<<2)>>2]=o,H=i+1|0):H=i,f=r[f+8>>2]|0,f;)u=u+1|0,i=H;if((H|0)>0)if(o=r[pe>>2]|0,(H|0)==1)i=o;else for(R=0,I=-1,i=o,O=o;;){for(y=r[O>>2]|0,o=0,f=0;u=r[r[pe+(f<<2)>>2]>>2]|0,(u|0)==(y|0)?_=o:_=o+((wu(u,r[$e+(f<<2)>>2]|0,r[y>>2]|0)|0)&1)|0,f=f+1|0,(f|0)!=(H|0);)o=_;if(u=(_|0)>(I|0),i=u?O:i,o=R+1|0,(o|0)==(H|0))break A;R=o,I=u?_:I,O=r[pe+(o<<2)>>2]|0}else i=0}while(!1);if(Be(pe),Be($e),i){if(u=i+4|0,o=r[u>>2]|0,o)i=o+8|0;else if(r[i>>2]|0){qe=70;break}r[i>>2]=_e,r[u>>2]=_e}else qe=73}if((qe|0)==73){if(qe=0,A=r[_e>>2]|0,A|0)do $e=A,A=r[A+16>>2]|0,Be($e);while((A|0)!=0);Be(_e),A=1}if(Re=Re+1|0,(Re|0)>=(ke|0)){iA=A;break e}}(qe|0)==50?Oe(27452,27235,249,27471):(qe|0)==52?Oe(27490,27235,252,27471):(qe|0)==70&&Oe(27310,27235,61,27333)}else iA=0;while(!1);return Be(Le),Be(he),qe=iA,qe|0}return 0}function wu(t,A,i){t=t|0,A=A|0,i=i|0;var o=0,u=0,l=0,f=0,d=0,p=0,y=0,_=0;if(!(Bo(A,i)|0)||(A=Ja(A)|0,o=+S[i>>3],u=+S[i+8>>3],u=A&u<0?u+6.283185307179586:u,t=r[t>>2]|0,!t))return t=0,t|0;if(A){A=0,y=u,i=t;e:for(;;){for(;f=+S[i>>3],u=+S[i+8>>3],i=i+16|0,_=r[i>>2]|0,_=(_|0)==0?t:_,l=+S[_>>3],d=+S[_+8>>3],f>l?(p=f,f=d):(p=l,l=f,f=u,u=d),o=o==l|o==p?o+2220446049250313e-31:o,!!(o<l|o>p);)if(i=r[i>>2]|0,!i){i=22;break e}if(d=f<0?f+6.283185307179586:f,f=u<0?u+6.283185307179586:u,y=d==y|f==y?y+-2220446049250313e-31:y,p=d+(f-d)*((o-l)/(p-l)),(p<0?p+6.283185307179586:p)>y&&(A=A^1),i=r[i>>2]|0,!i){i=22;break}}if((i|0)==22)return A|0}else{A=0,y=u,i=t;e:for(;;){for(;f=+S[i>>3],u=+S[i+8>>3],i=i+16|0,_=r[i>>2]|0,_=(_|0)==0?t:_,l=+S[_>>3],d=+S[_+8>>3],f>l?(p=f,f=d):(p=l,l=f,f=u,u=d),o=o==l|o==p?o+2220446049250313e-31:o,!!(o<l|o>p);)if(i=r[i>>2]|0,!i){i=22;break e}if(y=f==y|u==y?y+-2220446049250313e-31:y,f+(u-f)*((o-l)/(p-l))>y&&(A=A^1),i=r[i>>2]|0,!i){i=22;break}}if((i|0)==22)return A|0}return 0}function xt(t,A,i,o,u){t=t|0,A=A|0,i=i|0,o=o|0,u=u|0;var l=0,f=0,d=0,p=0,y=0,_=0,O=0,R=0,I=0,H=0,U=0,Z=0,re=0,Ae=0;if(Ae=P,P=P+32|0,re=Ae+16|0,Z=Ae,l=ae(t|0,A|0,52)|0,j()|0,l=l&15,I=ae(i|0,o|0,52)|0,j()|0,(l|0)!=(I&15|0))return re=12,P=Ae,re|0;if(y=ae(t|0,A|0,45)|0,j()|0,y=y&127,_=ae(i|0,o|0,45)|0,j()|0,_=_&127,y>>>0>121|_>>>0>121)return re=5,P=Ae,re|0;if(I=(y|0)!=(_|0),I){if(d=So(y,_)|0,(d|0)==7)return re=1,P=Ae,re|0;p=So(_,y)|0,(p|0)==7?Oe(27514,27538,161,27548):(H=d,f=p)}else H=0,f=0;O=cA(y)|0,R=cA(_)|0,r[re>>2]=0,r[re+4>>2]=0,r[re+8>>2]=0,r[re+12>>2]=0;do if(H){if(_=r[4272+(y*28|0)+(H<<2)>>2]|0,d=(_|0)>0,R)if(d){y=0,p=i,d=o;do p=pp(p,d)|0,d=j()|0,f=Nt(f)|0,(f|0)==1&&(f=Nt(1)|0),y=y+1|0;while((y|0)!=(_|0));_=f,y=p,p=d}else _=f,y=i,p=o;else if(d){y=0,p=i,d=o;do p=Io(p,d)|0,d=j()|0,f=Nt(f)|0,y=y+1|0;while((y|0)!=(_|0));_=f,y=p,p=d}else _=f,y=i,p=o;if(Qo(y,p,re)|0,I||Oe(27563,27538,191,27548),d=(O|0)!=0,f=(R|0)!=0,d&f&&Oe(27590,27538,192,27548),d){if(f=GA(t,A)|0,(f|0)==7){l=5;break}if(se[22e3+(f*7|0)+H>>0]|0){l=1;break}p=r[21168+(f*28|0)+(H<<2)>>2]|0,y=p}else if(f){if(f=GA(y,p)|0,(f|0)==7){l=5;break}if(se[22e3+(f*7|0)+_>>0]|0){l=1;break}y=0,p=r[21168+(_*28|0)+(f<<2)>>2]|0}else y=0,p=0;if((y|p|0)<0)l=5;else{if((p|0)>0){d=re+4|0,f=0;do ai(d),f=f+1|0;while((f|0)!=(p|0))}if(r[Z>>2]=0,r[Z+4>>2]=0,r[Z+8>>2]=0,ru(Z,H),l|0)for(;et(l)|0?si(Z):rr(Z),(l|0)>1;)l=l+-1|0;if((y|0)>0){l=0;do ai(Z),l=l+1|0;while((l|0)!=(y|0))}U=re+4|0,IA(U,Z,U),DA(U),U=51}}else if(Qo(i,o,re)|0,(O|0)!=0&(R|0)!=0)if((_|0)!=(y|0)&&Oe(27621,27538,261,27548),f=GA(t,A)|0,l=GA(i,o)|0,(f|0)==7|(l|0)==7)l=5;else if(se[22e3+(f*7|0)+l>>0]|0)l=1;else if(f=r[21168+(f*28|0)+(l<<2)>>2]|0,(f|0)>0){d=re+4|0,l=0;do ai(d),l=l+1|0;while((l|0)!=(f|0));U=51}else U=51;else U=51;while(!1);return(U|0)==51&&(l=re+4|0,r[u>>2]=r[l>>2],r[u+4>>2]=r[l+4>>2],r[u+8>>2]=r[l+8>>2],l=0),re=l,P=Ae,re|0}function vu(t,A,i,o){t=t|0,A=A|0,i=i|0,o=o|0;var u=0,l=0,f=0,d=0,p=0,y=0,_=0,O=0,R=0,I=0,H=0,U=0,Z=0,re=0,Ae=0,ee=0;if(U=P,P=P+48|0,y=U+36|0,f=U+24|0,d=U+12|0,p=U,u=ae(t|0,A|0,52)|0,j()|0,u=u&15,R=ae(t|0,A|0,45)|0,j()|0,R=R&127,R>>>0>121)return o=5,P=U,o|0;if(_=cA(R)|0,de(u|0,0,52)|0,Z=j()|0|134225919,l=o,r[l>>2]=-1,r[l+4>>2]=Z,!u)return u=oi(i)|0,(u|0)==7||(u=xo(R,u)|0,(u|0)==127)?(Z=1,P=U,Z|0):(I=de(u|0,0,45)|0,H=j()|0,R=o,H=r[R+4>>2]&-1040385|H,Z=o,r[Z>>2]=r[R>>2]|I,r[Z+4>>2]=H,Z=0,P=U,Z|0);for(r[y>>2]=r[i>>2],r[y+4>>2]=r[i+4>>2],r[y+8>>2]=r[i+8>>2],i=u;;){if(l=i,i=i+-1|0,r[f>>2]=r[y>>2],r[f+4>>2]=r[y+4>>2],r[f+8>>2]=r[y+8>>2],et(l)|0){if(u=Uh(y)|0,u|0){i=13;break}r[d>>2]=r[y>>2],r[d+4>>2]=r[y+4>>2],r[d+8>>2]=r[y+8>>2],si(d)}else{if(u=Gh(y)|0,u|0){i=13;break}r[d>>2]=r[y>>2],r[d+4>>2]=r[y+4>>2],r[d+8>>2]=r[y+8>>2],rr(d)}if(Do(f,d,p),DA(p),u=o,Ae=r[u>>2]|0,u=r[u+4>>2]|0,ee=(15-l|0)*3|0,re=de(7,0,ee|0)|0,u=u&~(j()|0),ee=de(oi(p)|0,0,ee|0)|0,u=j()|0|u,Z=o,r[Z>>2]=ee|Ae&~re,r[Z+4>>2]=u,(l|0)<=1){i=14;break}}e:do if((i|0)!=13&&(i|0)==14)if((r[y>>2]|0)<=1&&(r[y+4>>2]|0)<=1&&(r[y+8>>2]|0)<=1){i=oi(y)|0,u=xo(R,i)|0,(u|0)==127?p=0:p=cA(u)|0;A:do if(i){if(_){if(u=GA(t,A)|0,(u|0)==7){u=5;break e}if(l=r[21376+(u*28|0)+(i<<2)>>2]|0,(l|0)>0){u=i,i=0;do u=nr(u)|0,i=i+1|0;while((i|0)!=(l|0))}else u=i;if((u|0)==1){u=9;break e}i=xo(R,u)|0,(i|0)==127&&Oe(27648,27538,411,27678),cA(i)|0?Oe(27693,27538,412,27678):(H=i,I=l,O=u)}else H=u,I=0,O=i;if(d=r[4272+(R*28|0)+(O<<2)>>2]|0,(d|0)<=-1&&Oe(27724,27538,419,27678),!p){if((I|0)<0){u=5;break e}if(I|0){l=o,u=0,i=r[l>>2]|0,l=r[l+4>>2]|0;do i=ir(i,l)|0,l=j()|0,ee=o,r[ee>>2]=i,r[ee+4>>2]=l,u=u+1|0;while((u|0)<(I|0))}if((d|0)<=0){u=H,i=58;break}for(l=o,u=0,i=r[l>>2]|0,l=r[l+4>>2]|0;;)if(i=ir(i,l)|0,l=j()|0,ee=o,r[ee>>2]=i,r[ee+4>>2]=l,u=u+1|0,(u|0)==(d|0)){u=H,i=58;break A}}if(f=So(H,R)|0,(f|0)==7&&Oe(27514,27538,428,27678),u=o,i=r[u>>2]|0,u=r[u+4>>2]|0,(d|0)>0){l=0;do i=ir(i,u)|0,u=j()|0,ee=o,r[ee>>2]=i,r[ee+4>>2]=u,l=l+1|0;while((l|0)!=(d|0))}if(u=GA(i,u)|0,(u|0)==7&&Oe(27795,27538,440,27678),i=ko(H)|0,i=r[(i?21792:21584)+(f*28|0)+(u<<2)>>2]|0,(i|0)<0&&Oe(27795,27538,454,27678),!i)u=H,i=58;else{f=o,u=0,l=r[f>>2]|0,f=r[f+4>>2]|0;do l=Ro(l,f)|0,f=j()|0,ee=o,r[ee>>2]=l,r[ee+4>>2]=f,u=u+1|0;while((u|0)<(i|0));u=H,i=58}}else if((_|0)!=0&(p|0)!=0){if(i=GA(t,A)|0,l=o,l=GA(r[l>>2]|0,r[l+4>>2]|0)|0,(i|0)==7|(l|0)==7){u=5;break e}if(l=r[21376+(i*28|0)+(l<<2)>>2]|0,(l|0)<0){u=5;break e}if(!l)i=59;else{d=o,i=0,f=r[d>>2]|0,d=r[d+4>>2]|0;do f=ir(f,d)|0,d=j()|0,ee=o,r[ee>>2]=f,r[ee+4>>2]=d,i=i+1|0;while((i|0)<(l|0));i=58}}else i=58;while(!1);if((i|0)==58&&p&&(i=59),(i|0)==59&&(ee=o,(GA(r[ee>>2]|0,r[ee+4>>2]|0)|0)==1)){u=9;break}ee=o,re=r[ee>>2]|0,ee=r[ee+4>>2]&-1040385,Ae=de(u|0,0,45)|0,ee=ee|(j()|0),u=o,r[u>>2]=re|Ae,r[u+4>>2]=ee,u=0}else u=1;while(!1);return ee=u,P=U,ee|0}function Mp(t,A,i,o,u,l){t=t|0,A=A|0,i=i|0,o=o|0,u=u|0,l=l|0;var f=0,d=0;return d=P,P=P+16|0,f=d,u?t=15:(t=xt(t,A,i,o,f)|0,t||(Vh(f,l),t=0)),P=d,t|0}function Rp(t,A,i,o,u){t=t|0,A=A|0,i=i|0,o=o|0,u=u|0;var l=0,f=0;return f=P,P=P+16|0,l=f,o?i=15:(i=zh(i,l)|0,i||(i=vu(t,A,l,u)|0)),P=f,i|0}function Ip(t,A,i,o,u){t=t|0,A=A|0,i=i|0,o=o|0,u=u|0;var l=0,f=0,d=0,p=0;return p=P,P=P+32|0,f=p+12|0,d=p,l=xt(t,A,t,A,f)|0,l|0?(d=l,P=p,d|0):(t=xt(t,A,i,o,d)|0,t|0?(d=t,P=p,d|0):(f=Co(f,d)|0,d=u,r[d>>2]=f,r[d+4>>2]=((f|0)<0)<<31>>31,d=0,P=p,d|0))}function Hp(t,A,i,o,u){t=t|0,A=A|0,i=i|0,o=o|0,u=u|0;var l=0,f=0,d=0,p=0;return p=P,P=P+32|0,f=p+12|0,d=p,l=xt(t,A,t,A,f)|0,!l&&(l=xt(t,A,i,o,d)|0,!l)?(o=Co(f,d)|0,o=xe(o|0,((o|0)<0)<<31>>31|0,1,0)|0,f=j()|0,d=u,r[d>>2]=o,r[d+4>>2]=f,d=0,P=p,d|0):(d=l,P=p,d|0)}function Qp(t,A,i,o,u){t=t|0,A=A|0,i=i|0,o=o|0,u=u|0;var l=0,f=0,d=0,p=0,y=0,_=0,O=0,R=0,I=0,H=0,U=0,Z=0,re=0,Ae=0,ee=0,F=0,pe=0,$e=0,_e=0,Re=0;if(_e=P,P=P+48|0,pe=_e+24|0,f=_e+12|0,$e=_e,l=xt(t,A,t,A,pe)|0,!l&&(l=xt(t,A,i,o,f)|0,!l)){ee=Co(pe,f)|0,F=((ee|0)<0)<<31>>31,r[pe>>2]=0,r[pe+4>>2]=0,r[pe+8>>2]=0,r[f>>2]=0,r[f+4>>2]=0,r[f+8>>2]=0,xt(t,A,t,A,pe)|0&&Oe(27795,27538,692,27747),xt(t,A,i,o,f)|0&&Oe(27795,27538,697,27747),su(pe),su(f),_=(ee|0)==0?0:1/+(ee|0),i=r[pe>>2]|0,U=_*+((r[f>>2]|0)-i|0),Z=pe+4|0,o=r[Z>>2]|0,re=_*+((r[f+4>>2]|0)-o|0),Ae=pe+8|0,l=r[Ae>>2]|0,_=_*+((r[f+8>>2]|0)-l|0),r[$e>>2]=i,O=$e+4|0,r[O>>2]=o,R=$e+8|0,r[R>>2]=l;e:do if((ee|0)<0)l=0;else for(I=0,H=0;;){p=+(H>>>0)+4294967296*+(I|0),Re=U*p+ +(i|0),d=re*p+ +(o|0),p=_*p+ +(l|0),i=~~+hi(+Re),f=~~+hi(+d),l=~~+hi(+p),Re=+Xe(+(+(i|0)-Re)),d=+Xe(+(+(f|0)-d)),p=+Xe(+(+(l|0)-p));do if(Re>d&Re>p)i=0-(f+l)|0,o=f;else if(y=0-i|0,d>p){o=y-l|0;break}else{o=f,l=y-f|0;break}while(!1);if(r[$e>>2]=i,r[O>>2]=o,r[R>>2]=l,Kh($e),l=vu(t,A,$e,u+(H<<3)|0)|0,l|0)break e;if(!((I|0)<(F|0)|(I|0)==(F|0)&H>>>0<ee>>>0)){l=0;break e}i=xe(H|0,I|0,1,0)|0,o=j()|0,I=o,H=i,i=r[pe>>2]|0,o=r[Z>>2]|0,l=r[Ae>>2]|0}while(!1);return $e=l,P=_e,$e|0}return $e=l,P=_e,$e|0}function Mt(t,A,i,o){t=t|0,A=A|0,i=i|0,o=o|0;var u=0,l=0,f=0;if((i|0)==0&(o|0)==0)return u=0,l=1,Ie(u|0),l|0;l=t,u=A,t=1,A=0;do f=(i&1|0)==0&!0,t=$A((f?1:l)|0,(f?0:u)|0,t|0,A|0)|0,A=j()|0,i=Ou(i|0,o|0,1)|0,o=j()|0,l=$A(l|0,u|0,l|0,u|0)|0,u=j()|0;while(!((i|0)==0&(o|0)==0));return Ie(A|0),t|0}function Fo(t,A,i,o){t=t|0,A=A|0,i=i|0,o=o|0;var u=0,l=0,f=0,d=0,p=0,y=0,_=0;d=P,P=P+16|0,l=d,f=ae(t|0,A|0,52)|0,j()|0,f=f&15;do if(f){if(u=or(t,A,l)|0,!u){y=+S[l>>3],p=1/+We(+y),_=+S[25968+(f<<3)>>3],S[i>>3]=y+_,S[i+8>>3]=y-_,y=+S[l+8>>3],p=_*p,S[i+16>>3]=p+y,S[i+24>>3]=y-p;break}return f=u,P=d,f|0}else{if(u=ae(t|0,A|0,45)|0,j()|0,u=u&127,u>>>0>121)return f=5,P=d,f|0;l=22064+(u<<5)|0,r[i>>2]=r[l>>2],r[i+4>>2]=r[l+4>>2],r[i+8>>2]=r[l+8>>2],r[i+12>>2]=r[l+12>>2],r[i+16>>2]=r[l+16>>2],r[i+20>>2]=r[l+20>>2],r[i+24>>2]=r[l+24>>2],r[i+28>>2]=r[l+28>>2];break}while(!1);return Qh(i,o?1.4:1.1),o=26096+(f<<3)|0,(r[o>>2]|0)==(t|0)&&(r[o+4>>2]|0)==(A|0)&&(S[i>>3]=1.5707963267948966),f=26224+(f<<3)|0,(r[f>>2]|0)==(t|0)&&(r[f+4>>2]|0)==(A|0)&&(S[i+8>>3]=-1.5707963267948966),+S[i>>3]!=1.5707963267948966&&+S[i+8>>3]!=-1.5707963267948966?(f=0,P=d,f|0):(S[i+16>>3]=3.141592653589793,S[i+24>>3]=-3.141592653589793,f=0,P=d,f|0)}function qp(t,A,i,o){t=t|0,A=A|0,i=i|0,o=o|0;var u=0,l=0,f=0,d=0,p=0,y=0,_=0;y=P,P=P+48|0,f=y+32|0,l=y+40|0,d=y,No(f,0,0,0),p=r[f>>2]|0,f=r[f+4>>2]|0;do if(i>>>0<=15){if(u=dn(o)|0,u|0){o=d,r[o>>2]=0,r[o+4>>2]=0,r[d+8>>2]=u,r[d+12>>2]=-1,o=d+16|0,p=d+29|0,r[o>>2]=0,r[o+4>>2]=0,r[o+8>>2]=0,se[o+12>>0]=0,se[p>>0]=se[l>>0]|0,se[p+1>>0]=se[l+1>>0]|0,se[p+2>>0]=se[l+2>>0]|0;break}if(u=FA((r[A+8>>2]|0)+1|0,32)|0,u){Vo(A,u),_=d,r[_>>2]=p,r[_+4>>2]=f,r[d+8>>2]=0,r[d+12>>2]=i,r[d+16>>2]=o,r[d+20>>2]=A,r[d+24>>2]=u,se[d+28>>0]=0,p=d+29|0,se[p>>0]=se[l>>0]|0,se[p+1>>0]=se[l+1>>0]|0,se[p+2>>0]=se[l+2>>0]|0;break}else{o=d,r[o>>2]=0,r[o+4>>2]=0,r[d+8>>2]=13,r[d+12>>2]=-1,o=d+16|0,p=d+29|0,r[o>>2]=0,r[o+4>>2]=0,r[o+8>>2]=0,se[o+12>>0]=0,se[p>>0]=se[l>>0]|0,se[p+1>>0]=se[l+1>>0]|0,se[p+2>>0]=se[l+2>>0]|0;break}}else p=d,r[p>>2]=0,r[p+4>>2]=0,r[d+8>>2]=4,r[d+12>>2]=-1,p=d+16|0,_=d+29|0,r[p>>2]=0,r[p+4>>2]=0,r[p+8>>2]=0,se[p+12>>0]=0,se[_>>0]=se[l>>0]|0,se[_+1>>0]=se[l+1>>0]|0,se[_+2>>0]=se[l+2>>0]|0;while(!1);fi(d),r[t>>2]=r[d>>2],r[t+4>>2]=r[d+4>>2],r[t+8>>2]=r[d+8>>2],r[t+12>>2]=r[d+12>>2],r[t+16>>2]=r[d+16>>2],r[t+20>>2]=r[d+20>>2],r[t+24>>2]=r[d+24>>2],r[t+28>>2]=r[d+28>>2],P=y}function fi(t){t=t|0;var A=0,i=0,o=0,u=0,l=0,f=0,d=0,p=0,y=0,_=0,O=0,R=0,I=0,H=0,U=0,Z=0,re=0,Ae=0,ee=0,F=0;if(F=P,P=P+336|0,I=F+168|0,H=F,o=t,i=r[o>>2]|0,o=r[o+4>>2]|0,(i|0)==0&(o|0)==0){P=F;return}if(A=t+28|0,se[A>>0]|0?(i=bu(i,o)|0,o=j()|0):se[A>>0]=1,ee=t+20|0,!(r[r[ee>>2]>>2]|0)){A=t+24|0,i=r[A>>2]|0,i|0&&Be(i),Ae=t,r[Ae>>2]=0,r[Ae+4>>2]=0,r[t+8>>2]=0,r[ee>>2]=0,r[t+12>>2]=-1,r[t+16>>2]=0,r[A>>2]=0,P=F;return}Ae=t+16|0,A=r[Ae>>2]|0,u=A&15;e:do if((i|0)==0&(o|0)==0)re=t+24|0;else{U=t+12|0,O=(u|0)==3,_=A&255,p=(u|1|0)==3,R=t+24|0,y=(u+-1|0)>>>0<3,f=(u|2|0)==3,d=H+8|0;A:for(;;){if(l=ae(i|0,o|0,52)|0,j()|0,l=l&15,(l|0)==(r[U>>2]|0)){switch(_&15){case 0:case 2:case 3:{if(u=or(i,o,I)|0,u|0){Z=15;break A}if(zo(r[ee>>2]|0,r[R>>2]|0,I)|0){Z=19;break A}break}default:}if(p&&(u=r[(r[ee>>2]|0)+4>>2]|0,r[I>>2]=r[u>>2],r[I+4>>2]=r[u+4>>2],r[I+8>>2]=r[u+8>>2],r[I+12>>2]=r[u+12>>2],Bo(26832,I)|0)){if(Ho(r[(r[ee>>2]|0)+4>>2]|0,l,H)|0){Z=25;break}if(u=H,(r[u>>2]|0)==(i|0)&&(r[u+4>>2]|0)==(o|0)){Z=29;break}}if(y){if(u=Br(i,o,I)|0,u|0){Z=32;break}if(Fo(i,o,H,0)|0){Z=36;break}if(f&&Eu(r[ee>>2]|0,r[R>>2]|0,I,H)|0){Z=42;break}if(p&&$u(r[ee>>2]|0,r[R>>2]|0,I,H)|0){Z=42;break}}if(O){if(A=Fo(i,o,I,1)|0,u=r[R>>2]|0,A|0){Z=45;break}if(Po(u,I)|0){if(Xa(H,I),Za(I,r[R>>2]|0)|0){Z=53;break}if(zo(r[ee>>2]|0,r[R>>2]|0,d)|0){Z=53;break}if($u(r[ee>>2]|0,r[R>>2]|0,H,I)|0){Z=53;break}}}}do if((l|0)<(r[U>>2]|0)){if(A=Fo(i,o,I,1)|0,u=r[R>>2]|0,A|0){Z=58;break A}if(!(Po(u,I)|0)){Z=73;break}if(Za(r[R>>2]|0,I)|0&&(Xa(H,I),Eu(r[ee>>2]|0,r[R>>2]|0,H,I)|0)){Z=65;break A}if(i=du(i,o,l+1|0,H)|0,i|0){Z=67;break A}o=H,i=r[o>>2]|0,o=r[o+4>>2]|0}else Z=73;while(!1);if((Z|0)==73&&(Z=0,i=bu(i,o)|0,o=j()|0),(i|0)==0&(o|0)==0){re=R;break e}}switch(Z|0){case 15:{A=r[R>>2]|0,A|0&&Be(A),Z=t,r[Z>>2]=0,r[Z+4>>2]=0,r[ee>>2]=0,r[U>>2]=-1,r[Ae>>2]=0,r[R>>2]=0,r[t+8>>2]=u,Z=20;break}case 19:{r[t>>2]=i,r[t+4>>2]=o,Z=20;break}case 25:{Oe(27795,27761,470,27772);break}case 29:{r[t>>2]=i,r[t+4>>2]=o,P=F;return}case 32:{A=r[R>>2]|0,A|0&&Be(A),re=t,r[re>>2]=0,r[re+4>>2]=0,r[ee>>2]=0,r[U>>2]=-1,r[Ae>>2]=0,r[R>>2]=0,r[t+8>>2]=u,P=F;return}case 36:{Oe(27795,27761,493,27772);break}case 42:{r[t>>2]=i,r[t+4>>2]=o,P=F;return}case 45:{u|0&&Be(u),Z=t,r[Z>>2]=0,r[Z+4>>2]=0,r[ee>>2]=0,r[U>>2]=-1,r[Ae>>2]=0,r[R>>2]=0,r[t+8>>2]=A,Z=55;break}case 53:{r[t>>2]=i,r[t+4>>2]=o,Z=55;break}case 58:{u|0&&Be(u),Z=t,r[Z>>2]=0,r[Z+4>>2]=0,r[ee>>2]=0,r[U>>2]=-1,r[Ae>>2]=0,r[R>>2]=0,r[t+8>>2]=A,Z=71;break}case 65:{r[t>>2]=i,r[t+4>>2]=o,Z=71;break}case 67:{A=r[R>>2]|0,A|0&&Be(A),re=t,r[re>>2]=0,r[re+4>>2]=0,r[ee>>2]=0,r[U>>2]=-1,r[Ae>>2]=0,r[R>>2]=0,r[t+8>>2]=i,P=F;return}}if((Z|0)==20){P=F;return}else if((Z|0)==55){P=F;return}else if((Z|0)==71){P=F;return}}while(!1);A=r[re>>2]|0,A|0&&Be(A),Z=t,r[Z>>2]=0,r[Z+4>>2]=0,r[t+8>>2]=0,r[ee>>2]=0,r[t+12>>2]=-1,r[Ae>>2]=0,r[re>>2]=0,P=F}function bu(t,A){t=t|0,A=A|0;var i=0,o=0,u=0,l=0,f=0,d=0,p=0,y=0,_=0,O=0;O=P,P=P+16|0,_=O,o=ae(t|0,A|0,52)|0,j()|0,o=o&15,i=ae(t|0,A|0,45)|0,j()|0;do if(o){for(;i=de(o+4095|0,0,52)|0,u=j()|0|A&-15728641,l=(15-o|0)*3|0,f=de(7,0,l|0)|0,d=j()|0,i=i|t|f,u=u|d,p=ae(t|0,A|0,l|0)|0,j()|0,p=p&7,o=o+-1|0,!(p>>>0<6);)if(o)A=u,t=i;else{y=4;break}if((y|0)==4){i=ae(i|0,u|0,45)|0,j()|0;break}return _=(p|0)==0&(aA(i,u)|0)!=0,_=de((_?2:1)+p|0,0,l|0)|0,y=j()|0|A&~d,_=_|t&~f,Ie(y|0),P=O,_|0}while(!1);return i=i&127,i>>>0>120?(y=0,_=0,Ie(y|0),P=O,_|0):(No(_,0,i+1|0,0),y=r[_+4>>2]|0,_=r[_>>2]|0,Ie(y|0),P=O,_|0)}function Lp(t,A,i,o,u,l){t=t|0,A=A|0,i=i|0,o=o|0,u=u|0,l=l|0;var f=0,d=0,p=0,y=0,_=0,O=0,R=0,I=0,H=0,U=0,Z=0;Z=P,P=P+160|0,O=Z+80|0,d=Z+64|0,R=Z+112|0,U=Z,qp(O,t,A,i),y=O,Lo(d,r[y>>2]|0,r[y+4>>2]|0,A),y=d,p=r[y>>2]|0,y=r[y+4>>2]|0,f=r[O+8>>2]|0,I=R+4|0,r[I>>2]=r[O>>2],r[I+4>>2]=r[O+4>>2],r[I+8>>2]=r[O+8>>2],r[I+12>>2]=r[O+12>>2],r[I+16>>2]=r[O+16>>2],r[I+20>>2]=r[O+20>>2],r[I+24>>2]=r[O+24>>2],r[I+28>>2]=r[O+28>>2],I=U,r[I>>2]=p,r[I+4>>2]=y,I=U+8|0,r[I>>2]=f,t=U+12|0,A=R,i=t+36|0;do r[t>>2]=r[A>>2],t=t+4|0,A=A+4|0;while((t|0)<(i|0));if(R=U+48|0,r[R>>2]=r[d>>2],r[R+4>>2]=r[d+4>>2],r[R+8>>2]=r[d+8>>2],r[R+12>>2]=r[d+12>>2],(p|0)==0&(y|0)==0)return U=f,P=Z,U|0;i=U+16|0,_=U+24|0,O=U+28|0,f=0,d=0,A=p,t=y;do{if(!((f|0)<(u|0)|(f|0)==(u|0)&d>>>0<o>>>0)){H=4;break}if(y=d,d=xe(d|0,f|0,1,0)|0,f=j()|0,y=l+(y<<3)|0,r[y>>2]=A,r[y+4>>2]=t,Uo(R),t=R,A=r[t>>2]|0,t=r[t+4>>2]|0,(A|0)==0&(t|0)==0){if(fi(i),A=i,t=r[A>>2]|0,A=r[A+4>>2]|0,(t|0)==0&(A|0)==0){H=10;break}pu(t,A,r[O>>2]|0,R),t=R,A=r[t>>2]|0,t=r[t+4>>2]|0}y=U,r[y>>2]=A,r[y+4>>2]=t}while(!((A|0)==0&(t|0)==0));return(H|0)==4?(t=U+40|0,A=r[t>>2]|0,A|0&&Be(A),H=U+16|0,r[H>>2]=0,r[H+4>>2]=0,r[_>>2]=0,r[U+36>>2]=0,r[O>>2]=-1,r[U+32>>2]=0,r[t>>2]=0,pu(0,0,0,R),r[U>>2]=0,r[U+4>>2]=0,r[I>>2]=0,U=14,P=Z,U|0):((H|0)==10&&(r[U>>2]=0,r[U+4>>2]=0,r[I>>2]=r[_>>2]),U=r[I>>2]|0,P=Z,U|0)}function Up(t,A,i,o){t=t|0,A=A|0,i=i|0,o=o|0;var u=0,l=0,f=0,d=0,p=0,y=0,_=0,O=0,R=0,I=0;if(O=P,P=P+48|0,p=O+32|0,d=O+40|0,y=O,!(r[t>>2]|0))return _=o,r[_>>2]=0,r[_+4>>2]=0,_=0,P=O,_|0;No(p,0,0,0),f=p,u=r[f>>2]|0,f=r[f+4>>2]|0;do if(A>>>0>15)_=y,r[_>>2]=0,r[_+4>>2]=0,r[y+8>>2]=4,r[y+12>>2]=-1,_=y+16|0,i=y+29|0,r[_>>2]=0,r[_+4>>2]=0,r[_+8>>2]=0,se[_+12>>0]=0,se[i>>0]=se[d>>0]|0,se[i+1>>0]=se[d+1>>0]|0,se[i+2>>0]=se[d+2>>0]|0,i=4,_=9;else{if(i=dn(i)|0,i|0){p=y,r[p>>2]=0,r[p+4>>2]=0,r[y+8>>2]=i,r[y+12>>2]=-1,p=y+16|0,_=y+29|0,r[p>>2]=0,r[p+4>>2]=0,r[p+8>>2]=0,se[p+12>>0]=0,se[_>>0]=se[d>>0]|0,se[_+1>>0]=se[d+1>>0]|0,se[_+2>>0]=se[d+2>>0]|0,_=9;break}if(i=FA((r[t+8>>2]|0)+1|0,32)|0,!i){_=y,r[_>>2]=0,r[_+4>>2]=0,r[y+8>>2]=13,r[y+12>>2]=-1,_=y+16|0,i=y+29|0,r[_>>2]=0,r[_+4>>2]=0,r[_+8>>2]=0,se[_+12>>0]=0,se[i>>0]=se[d>>0]|0,se[i+1>>0]=se[d+1>>0]|0,se[i+2>>0]=se[d+2>>0]|0,i=13,_=9;break}Vo(t,i),I=y,r[I>>2]=u,r[I+4>>2]=f,f=y+8|0,r[f>>2]=0,r[y+12>>2]=A,r[y+20>>2]=t,r[y+24>>2]=i,se[y+28>>0]=0,u=y+29|0,se[u>>0]=se[d>>0]|0,se[u+1>>0]=se[d+1>>0]|0,se[u+2>>0]=se[d+2>>0]|0,r[y+16>>2]=3,R=+Rh(i),R=R*+Mh(i),l=+Xe(+ +S[i>>3]),l=R/+We(+ +di(+l,+ +Xe(+ +S[i+8>>3])))*6371.007180918475*6371.007180918475,u=y+12|0,i=r[u>>2]|0;e:do if((i|0)>0)do{if(gu(i+-1|0,p)|0,!(l/+S[p>>3]>10))break e;I=r[u>>2]|0,i=I+-1|0,r[u>>2]=i}while((I|0)>1);while(!1);if(fi(y),u=o,r[u>>2]=0,r[u+4>>2]=0,u=y,i=r[u>>2]|0,u=r[u+4>>2]|0,!((i|0)==0&(u|0)==0))do un(i,u,A,p)|0,d=p,t=o,d=xe(r[t>>2]|0,r[t+4>>2]|0,r[d>>2]|0,r[d+4>>2]|0)|0,t=j()|0,I=o,r[I>>2]=d,r[I+4>>2]=t,fi(y),I=y,i=r[I>>2]|0,u=r[I+4>>2]|0;while(!((i|0)==0&(u|0)==0));i=r[f>>2]|0}while(!1);return I=i,P=O,I|0}function cn(t,A,i){t=t|0,A=A|0,i=i|0;var o=0,u=0,l=0,f=0,d=0,p=0,y=0,_=0,O=0,R=0;if(!(Bo(A,i)|0)||(A=Ja(A)|0,o=+S[i>>3],u=+S[i+8>>3],u=A&u<0?u+6.283185307179586:u,R=r[t>>2]|0,(R|0)<=0))return R=0,R|0;if(O=r[t+4>>2]|0,A){A=0,_=u,i=-1,t=0;e:for(;;){for(y=t;f=+S[O+(y<<4)>>3],u=+S[O+(y<<4)+8>>3],t=(i+2|0)%(R|0)|0,l=+S[O+(t<<4)>>3],d=+S[O+(t<<4)+8>>3],f>l?(p=f,f=d):(p=l,l=f,f=u,u=d),o=o==l|o==p?o+2220446049250313e-31:o,!!(o<l|o>p);)if(i=y+1|0,(i|0)>=(R|0)){i=22;break e}else t=y,y=i,i=t;if(d=f<0?f+6.283185307179586:f,f=u<0?u+6.283185307179586:u,_=d==_|f==_?_+-2220446049250313e-31:_,p=d+(f-d)*((o-l)/(p-l)),(p<0?p+6.283185307179586:p)>_&&(A=A^1),t=y+1|0,(t|0)>=(R|0)){i=22;break}else i=y}if((i|0)==22)return A|0}else{A=0,_=u,i=-1,t=0;e:for(;;){for(y=t;f=+S[O+(y<<4)>>3],u=+S[O+(y<<4)+8>>3],t=(i+2|0)%(R|0)|0,l=+S[O+(t<<4)>>3],d=+S[O+(t<<4)+8>>3],f>l?(p=f,f=d):(p=l,l=f,f=u,u=d),o=o==l|o==p?o+2220446049250313e-31:o,!!(o<l|o>p);)if(i=y+1|0,(i|0)>=(R|0)){i=22;break e}else t=y,y=i,i=t;if(_=f==_|u==_?_+-2220446049250313e-31:_,f+(u-f)*((o-l)/(p-l))>_&&(A=A^1),t=y+1|0,(t|0)>=(R|0)){i=22;break}else i=y}if((i|0)==22)return A|0}return 0}function _u(t,A){t=t|0,A=A|0;var i=0,o=0,u=0,l=0,f=0,d=0,p=0,y=0,_=0,O=0,R=0,I=0,H=0,U=0,Z=0,re=0,Ae=0;if(H=r[t>>2]|0,!H){r[A>>2]=0,r[A+4>>2]=0,r[A+8>>2]=0,r[A+12>>2]=0,r[A+16>>2]=0,r[A+20>>2]=0,r[A+24>>2]=0,r[A+28>>2]=0;return}if(U=A+8|0,S[U>>3]=17976931348623157e292,Z=A+24|0,S[Z>>3]=17976931348623157e292,S[A>>3]=-17976931348623157e292,re=A+16|0,S[re>>3]=-17976931348623157e292,!((H|0)<=0)){for(R=r[t+4>>2]|0,y=17976931348623157e292,_=-17976931348623157e292,O=0,t=-1,l=17976931348623157e292,f=17976931348623157e292,p=-17976931348623157e292,o=-17976931348623157e292,I=0;i=+S[R+(I<<4)>>3],d=+S[R+(I<<4)+8>>3],t=t+2|0,u=+S[R+(((t|0)==(H|0)?0:t)<<4)+8>>3],i<l&&(S[U>>3]=i,l=i),d<f&&(S[Z>>3]=d,f=d),i>p?S[A>>3]=i:i=p,d>o&&(S[re>>3]=d,o=d),y=d>0&d<y?d:y,_=d<0&d>_?d:_,O=O|+Xe(+(d-u))>3.141592653589793,t=I+1|0,(t|0)!=(H|0);)Ae=I,p=i,I=t,t=Ae;O&&(S[re>>3]=_,S[Z>>3]=y)}}function dn(t){return t=t|0,(t>>>0<4?0:15)|0}function Vo(t,A){t=t|0,A=A|0;var i=0,o=0,u=0,l=0,f=0,d=0,p=0,y=0,_=0,O=0,R=0,I=0,H=0,U=0,Z=0,re=0,Ae=0,ee=0,F=0,pe=0,$e=0,_e=0;if(H=r[t>>2]|0,H){if(U=A+8|0,S[U>>3]=17976931348623157e292,Z=A+24|0,S[Z>>3]=17976931348623157e292,S[A>>3]=-17976931348623157e292,re=A+16|0,S[re>>3]=-17976931348623157e292,(H|0)>0){for(u=r[t+4>>2]|0,R=17976931348623157e292,I=-17976931348623157e292,o=0,i=-1,p=17976931348623157e292,y=17976931348623157e292,O=-17976931348623157e292,f=-17976931348623157e292,Ae=0;l=+S[u+(Ae<<4)>>3],_=+S[u+(Ae<<4)+8>>3],$e=i+2|0,d=+S[u+((($e|0)==(H|0)?0:$e)<<4)+8>>3],l<p&&(S[U>>3]=l,p=l),_<y&&(S[Z>>3]=_,y=_),l>O?S[A>>3]=l:l=O,_>f&&(S[re>>3]=_,f=_),R=_>0&_<R?_:R,I=_<0&_>I?_:I,o=o|+Xe(+(_-d))>3.141592653589793,i=Ae+1|0,(i|0)!=(H|0);)$e=Ae,O=l,Ae=i,i=$e;o&&(S[re>>3]=I,S[Z>>3]=R)}}else r[A>>2]=0,r[A+4>>2]=0,r[A+8>>2]=0,r[A+12>>2]=0,r[A+16>>2]=0,r[A+20>>2]=0,r[A+24>>2]=0,r[A+28>>2]=0;if($e=t+8|0,i=r[$e>>2]|0,!((i|0)<=0)){pe=t+12|0,F=0;do if(u=r[pe>>2]|0,o=F,F=F+1|0,Z=A+(F<<5)|0,re=r[u+(o<<3)>>2]|0,re){if(Ae=A+(F<<5)+8|0,S[Ae>>3]=17976931348623157e292,t=A+(F<<5)+24|0,S[t>>3]=17976931348623157e292,S[Z>>3]=-17976931348623157e292,ee=A+(F<<5)+16|0,S[ee>>3]=-17976931348623157e292,(re|0)>0){for(H=r[u+(o<<3)+4>>2]|0,R=17976931348623157e292,I=-17976931348623157e292,u=0,o=-1,U=0,p=17976931348623157e292,y=17976931348623157e292,_=-17976931348623157e292,f=-17976931348623157e292;l=+S[H+(U<<4)>>3],O=+S[H+(U<<4)+8>>3],o=o+2|0,d=+S[H+(((o|0)==(re|0)?0:o)<<4)+8>>3],l<p&&(S[Ae>>3]=l,p=l),O<y&&(S[t>>3]=O,y=O),l>_?S[Z>>3]=l:l=_,O>f&&(S[ee>>3]=O,f=O),R=O>0&O<R?O:R,I=O<0&O>I?O:I,u=u|+Xe(+(O-d))>3.141592653589793,o=U+1|0,(o|0)!=(re|0);)_e=U,U=o,_=l,o=_e;u&&(S[ee>>3]=I,S[t>>3]=R)}}else r[Z>>2]=0,r[Z+4>>2]=0,r[Z+8>>2]=0,r[Z+12>>2]=0,r[Z+16>>2]=0,r[Z+20>>2]=0,r[Z+24>>2]=0,r[Z+28>>2]=0,i=r[$e>>2]|0;while((F|0)<(i|0))}}function zo(t,A,i){t=t|0,A=A|0,i=i|0;var o=0,u=0,l=0;if(!(cn(t,A,i)|0))return u=0,u|0;if(u=t+8|0,(r[u>>2]|0)<=0)return u=1,u|0;for(o=t+12|0,t=0;;){if(l=t,t=t+1|0,cn((r[o>>2]|0)+(l<<3)|0,A+(t<<5)|0,i)|0){t=0,o=6;break}if((t|0)>=(r[u>>2]|0)){t=1,o=6;break}}return(o|0)==6?t|0:0}function Eu(t,A,i,o){t=t|0,A=A|0,i=i|0,o=o|0;var u=0,l=0,f=0,d=0,p=0,y=0,_=0;if(y=P,P=P+16|0,d=y,f=i+8|0,!(cn(t,A,f)|0))return p=0,P=y,p|0;p=t+8|0;e:do if((r[p>>2]|0)>0){for(l=t+12|0,u=0;;){if(_=u,u=u+1|0,cn((r[l>>2]|0)+(_<<3)|0,A+(u<<5)|0,f)|0){u=0;break}if((u|0)>=(r[p>>2]|0))break e}return P=y,u|0}while(!1);if(ci(t,A,i,o)|0)return _=0,P=y,_|0;r[d>>2]=r[i>>2],r[d+4>>2]=f,u=r[p>>2]|0;e:do if((u|0)>0)for(t=t+12|0,f=0,l=u;;){if(u=r[t>>2]|0,(r[u+(f<<3)>>2]|0)>0){if(cn(d,o,r[u+(f<<3)+4>>2]|0)|0){u=0;break e}if(u=f+1|0,ci((r[t>>2]|0)+(f<<3)|0,A+(u<<5)|0,i,o)|0){u=0;break e}l=r[p>>2]|0}else u=f+1|0;if((u|0)<(l|0))f=u;else{u=1;break}}else u=1;while(!1);return _=u,P=y,_|0}function ci(t,A,i,o){t=t|0,A=A|0,i=i|0,o=o|0;var u=0,l=0,f=0,d=0,p=0,y=0,_=0,O=0,R=0,I=0,H=0,U=0,Z=0,re=0,Ae=0,ee=0,F=0,pe=0,$e=0,_e=0,Re=0;if($e=P,P=P+176|0,Ae=$e+172|0,u=$e+168|0,ee=$e,!(Po(A,o)|0))return t=0,P=$e,t|0;if(Ih(A,o,Ae,u),Tr(ee|0,i|0,168)|0,(r[i>>2]|0)>0){A=0;do _e=ee+8+(A<<4)+8|0,re=+JA(+S[_e>>3],r[u>>2]|0),S[_e>>3]=re,A=A+1|0;while((A|0)<(r[i>>2]|0))}U=+S[o>>3],Z=+S[o+8>>3],re=+JA(+S[o+16>>3],r[u>>2]|0),I=+JA(+S[o+24>>3],r[u>>2]|0);e:do if((r[t>>2]|0)>0){if(o=t+4|0,u=r[ee>>2]|0,(u|0)<=0){for(A=0;;)if(A=A+1|0,(A|0)>=(r[t>>2]|0)){A=0;break e}}for(i=0;;){if(A=r[o>>2]|0,R=+S[A+(i<<4)>>3],H=+JA(+S[A+(i<<4)+8>>3],r[Ae>>2]|0),A=r[o>>2]|0,i=i+1|0,_e=(i|0)%(r[t>>2]|0)|0,l=+S[A+(_e<<4)>>3],f=+JA(+S[A+(_e<<4)+8>>3],r[Ae>>2]|0),!(R>=U)|!(l>=U)&&!(R<=Z)|!(l<=Z)&&!(H<=I)|!(f<=I)&&!(H>=re)|!(f>=re)){O=l-R,y=f-H,A=0;do if(Re=A,A=A+1|0,_e=(A|0)==(u|0)?0:A,l=+S[ee+8+(Re<<4)+8>>3],f=+S[ee+8+(_e<<4)+8>>3]-l,d=+S[ee+8+(Re<<4)>>3],p=+S[ee+8+(_e<<4)>>3]-d,_=O*f-y*p,_!=0&&(F=H-l,pe=R-d,p=(F*p-f*pe)/_,!(p<0|p>1))&&(_=(O*F-y*pe)/_,_>=0&_<=1)){A=1;break e}while((A|0)<(u|0))}if((i|0)>=(r[t>>2]|0)){A=0;break}}}else A=0;while(!1);return Re=A,P=$e,Re|0}function $u(t,A,i,o){t=t|0,A=A|0,i=i|0,o=o|0;var u=0,l=0,f=0;if(ci(t,A,i,o)|0)return l=1,l|0;if(l=t+8|0,(r[l>>2]|0)<=0)return l=0,l|0;for(u=t+12|0,t=0;;){if(f=t,t=t+1|0,ci((r[u>>2]|0)+(f<<3)|0,A+(t<<5)|0,i,o)|0){t=1,u=6;break}if((t|0)>=(r[l>>2]|0)){t=0,u=6;break}}return(u|0)==6?t|0:0}function Gp(){return 8}function Fp(){return 16}function Vp(){return 168}function zp(){return 8}function Kp(){return 16}function Yp(){return 12}function Wp(){return 8}function Jp(t){return t=t|0,+(+((r[t>>2]|0)>>>0)+4294967296*+(r[t+4>>2]|0))}function Zp(t){t=t|0;var A=0,i=0;return i=+S[t>>3],A=+S[t+8>>3],+ +pA(+(i*i+A*A))}function ku(t,A,i,o,u){t=t|0,A=A|0,i=i|0,o=o|0,u=u|0;var l=0,f=0,d=0,p=0,y=0,_=0,O=0,R=0;y=+S[t>>3],p=+S[A>>3]-y,d=+S[t+8>>3],f=+S[A+8>>3]-d,O=+S[i>>3],l=+S[o>>3]-O,R=+S[i+8>>3],_=+S[o+8>>3]-R,l=(l*(d-R)-(y-O)*_)/(p*_-f*l),S[u>>3]=y+p*l,S[u+8>>3]=d+f*l}function xu(t,A){return t=t|0,A=A|0,+Xe(+(+S[t>>3]-+S[A>>3]))<11920928955078125e-23?(A=+Xe(+(+S[t+8>>3]-+S[A+8>>3]))<11920928955078125e-23,A|0):(A=0,A|0)}function yA(t,A){t=t|0,A=A|0;var i=0,o=0,u=0;return u=+S[t>>3]-+S[A>>3],o=+S[t+8>>3]-+S[A+8>>3],i=+S[t+16>>3]-+S[A+16>>3],+(u*u+o*o+i*i)}function Xp(t,A){t=t|0,A=A|0;var i=0,o=0,u=0;i=+S[t>>3],o=+We(+i),i=+AA(+i),S[A+16>>3]=i,i=+S[t+8>>3],u=o*+We(+i),S[A>>3]=u,i=o*+AA(+i),S[A+8>>3]=i}function e1(t,A,i){t=t|0,A=A|0,i=i|0;var o=0,u=0,l=0;if(l=P,P=P+16|0,u=l,o=aA(t,A)|0,(i+-1|0)>>>0>5||(o=(o|0)!=0,(i|0)==1&o))return u=-1,P=l,u|0;do if(hn(t,A,u)|0)o=-1;else if(o){o=((r[26352+(i<<2)>>2]|0)+5-(r[u>>2]|0)|0)%5|0;break}else{o=((r[26384+(i<<2)>>2]|0)+6-(r[u>>2]|0)|0)%6|0;break}while(!1);return u=o,P=l,u|0}function hn(t,A,i){t=t|0,A=A|0,i=i|0;var o=0,u=0,l=0,f=0,d=0,p=0,y=0,_=0;if(_=P,P=P+32|0,d=_+16|0,p=_,o=Sr(t,A,d)|0,o|0)return i=o,P=_,i|0;l=fu(t,A)|0,y=GA(t,A)|0,Th(l,p),o=Oh(l,r[d>>2]|0)|0;do if(cA(l)|0){do switch(l|0){case 4:{u=0;break}case 14:{u=1;break}case 24:{u=2;break}case 38:{u=3;break}case 49:{u=4;break}case 58:{u=5;break}case 63:{u=6;break}case 72:{u=7;break}case 83:{u=8;break}case 97:{u=9;break}case 107:{u=10;break}case 117:{u=11;break}default:Oe(27795,27797,75,27806)}while(!1);if(f=r[26416+(u*24|0)+8>>2]|0,A=r[26416+(u*24|0)+16>>2]|0,t=r[d>>2]|0,(t|0)!=(r[p>>2]|0)&&(p=ko(l)|0,t=r[d>>2]|0,p|(t|0)==(A|0)&&(o=(o+1|0)%6|0)),(y|0)==3&(t|0)==(A|0)){o=(o+5|0)%6|0;break}(y|0)==5&(t|0)==(f|0)&&(o=(o+1|0)%6|0)}while(!1);return r[i>>2]=o,i=0,P=_,i|0}function At(t,A,i,o){t=t|0,A=A|0,i=i|0,o=o|0;var u=0,l=0,f=0,d=0,p=0,y=0,_=0,O=0,R=0,I=0,H=0,U=0,Z=0,re=0,Ae=0,ee=0;if(ee=P,P=P+32|0,Ae=ee+24|0,Z=ee+20|0,H=ee+8|0,I=ee+16|0,R=ee,p=(aA(t,A)|0)==0,p=p?6:5,_=ae(t|0,A|0,52)|0,j()|0,_=_&15,p>>>0<=i>>>0)return o=2,P=ee,o|0;O=(_|0)==0,!O&&(U=de(7,0,(_^15)*3|0)|0,(U&t|0)==0&((j()|0)&A|0)==0)?u=i:l=4;e:do if((l|0)==4){if(u=(aA(t,A)|0)!=0,((u?4:5)|0)<(i|0)||hn(t,A,Ae)|0||(l=(r[Ae>>2]|0)+i|0,u?u=26704+(((l|0)%5|0)<<2)|0:u=26736+(((l|0)%6|0)<<2)|0,U=r[u>>2]|0,(U|0)==7))return o=1,P=ee,o|0;r[Z>>2]=0,u=_A(t,A,U,Z,H)|0;do if(!u){if(d=H,y=r[d>>2]|0,d=r[d+4>>2]|0,f=d>>>0<A>>>0|(d|0)==(A|0)&y>>>0<t>>>0,l=f?y:t,f=f?d:A,!O&&(O=de(7,0,(_^15)*3|0)|0,(y&O|0)==0&(d&(j()|0)|0)==0))u=i;else{if(d=(i+-1+p|0)%(p|0)|0,u=aA(t,A)|0,(d|0)<0&&Oe(27795,27797,248,27822),p=(u|0)!=0,((p?4:5)|0)<(d|0)&&Oe(27795,27797,248,27822),hn(t,A,Ae)|0&&Oe(27795,27797,248,27822),u=(r[Ae>>2]|0)+d|0,p?u=26704+(((u|0)%5|0)<<2)|0:u=26736+(((u|0)%6|0)<<2)|0,d=r[u>>2]|0,(d|0)==7&&Oe(27795,27797,248,27822),r[I>>2]=0,u=_A(t,A,d,I,R)|0,u|0)break;y=R,p=r[y>>2]|0,y=r[y+4>>2]|0;do if(y>>>0<f>>>0|(y|0)==(f|0)&p>>>0<l>>>0){if(aA(p,y)|0?l=$o(p,y,t,A)|0:l=r[26800+((((r[I>>2]|0)+(r[26768+(d<<2)>>2]|0)|0)%6|0)<<2)>>2]|0,u=aA(p,y)|0,(l+-1|0)>>>0>5){u=-1,l=p,f=y;break}if(u=(u|0)!=0,(l|0)==1&u){u=-1,l=p,f=y;break}do if(hn(p,y,Ae)|0)u=-1;else if(u){u=((r[26352+(l<<2)>>2]|0)+5-(r[Ae>>2]|0)|0)%5|0;break}else{u=((r[26384+(l<<2)>>2]|0)+6-(r[Ae>>2]|0)|0)%6|0;break}while(!1);l=p,f=y}else u=i;while(!1);d=H,y=r[d>>2]|0,d=r[d+4>>2]|0}if((l|0)==(y|0)&(f|0)==(d|0)){if(p=(aA(y,d)|0)!=0,p?t=$o(y,d,t,A)|0:t=r[26800+((((r[Z>>2]|0)+(r[26768+(U<<2)>>2]|0)|0)%6|0)<<2)>>2]|0,u=aA(y,d)|0,(t+-1|0)>>>0<=5&&(re=(u|0)!=0,!((t|0)==1&re)))do if(hn(y,d,Ae)|0)u=-1;else if(re){u=((r[26352+(t<<2)>>2]|0)+5-(r[Ae>>2]|0)|0)%5|0;break}else{u=((r[26384+(t<<2)>>2]|0)+6-(r[Ae>>2]|0)|0)%6|0;break}while(!1);else u=-1;u=u+1|0,u=(u|0)==6|p&(u|0)==5?0:u}A=f,t=l;break e}while(!1);return o=u,P=ee,o|0}while(!1);return re=de(u|0,0,56)|0,Ae=j()|0|A&-2130706433|536870912,r[o>>2]=re|t,r[o+4>>2]=Ae,o=0,P=ee,o|0}function A1(t,A,i){t=t|0,A=A|0,i=i|0;var o=0,u=0,l=0;return l=(aA(t,A)|0)==0,o=At(t,A,0,i)|0,u=(o|0)==0,l?!u||(o=At(t,A,1,i+8|0)|0,o|0)||(o=At(t,A,2,i+16|0)|0,o|0)||(o=At(t,A,3,i+24|0)|0,o|0)||(o=At(t,A,4,i+32|0)|0,o)?(l=o,l|0):At(t,A,5,i+40|0)|0:!u||(o=At(t,A,1,i+8|0)|0,o|0)||(o=At(t,A,2,i+16|0)|0,o|0)||(o=At(t,A,3,i+24|0)|0,o|0)||(o=At(t,A,4,i+32|0)|0,o|0)?(l=o,l|0):(l=i+40|0,r[l>>2]=0,r[l+4>>2]=0,l=0,l|0)}function t1(t,A,i){t=t|0,A=A|0,i=i|0;var o=0,u=0,l=0,f=0,d=0,p=0;return p=P,P=P+192|0,u=p,l=p+168|0,f=ae(t|0,A|0,56)|0,j()|0,f=f&7,d=A&-2130706433|134217728,o=Sr(t,d,l)|0,o|0?(d=o,P=p,d|0):(A=ae(t|0,A|0,52)|0,j()|0,A=A&15,aA(t,d)|0?To(l,A,f,1,u):Oo(l,A,f,1,u),d=u+8|0,r[i>>2]=r[d>>2],r[i+4>>2]=r[d+4>>2],r[i+8>>2]=r[d+8>>2],r[i+12>>2]=r[d+12>>2],d=0,P=p,d|0)}function Su(t,A){t=t|0,A=A|0;var i=0,o=0,u=0,l=0;return u=P,P=P+16|0,i=u,!(!0&(A&2013265920|0)==536870912)||(o=A&-2130706433|134217728,!(jo(t,o)|0))?(o=0,P=u,o|0):(l=ae(t|0,A|0,56)|0,j()|0,l=(At(t,o,l&7,i)|0)==0,o=i,o=l&((r[o>>2]|0)==(t|0)?(r[o+4>>2]|0)==(A|0):0)&1,P=u,o|0)}function Bu(t,A,i){t=t|0,A=A|0,i=i|0;var o=0;(A|0)>0?(o=FA(A,4)|0,r[t>>2]=o,o||Oe(27835,27858,40,27872)):r[t>>2]=0,r[t+4>>2]=A,r[t+8>>2]=0,r[t+12>>2]=i}function Pu(t){t=t|0;var A=0,i=0,o=0,u=0,l=0,f=0,d=0;u=t+4|0,l=t+12|0,f=t+8|0;e:for(;;){for(i=r[u>>2]|0,A=0;;){if((A|0)>=(i|0))break e;if(o=r[t>>2]|0,d=r[o+(A<<2)>>2]|0,!d)A=A+1|0;else break}A=o+(~~(+Xe(+(+bA(10,+ +(15-(r[l>>2]|0)|0))*(+S[d>>3]+ +S[d+8>>3])))%+(i|0))>>>0<<2)|0,i=r[A>>2]|0;A:do if(i|0){if(o=d+32|0,(i|0)==(d|0))r[A>>2]=r[o>>2];else{if(i=i+32|0,A=r[i>>2]|0,!A)break;for(;(A|0)!=(d|0);)if(i=A+32|0,A=r[i>>2]|0,!A)break A;r[i>>2]=r[o>>2]}Be(d),r[f>>2]=(r[f>>2]|0)+-1}while(!1)}Be(r[t>>2]|0)}function Du(t){t=t|0;var A=0,i=0,o=0;for(o=r[t+4>>2]|0,i=0;;){if((i|0)>=(o|0)){A=0,i=4;break}if(A=r[(r[t>>2]|0)+(i<<2)>>2]|0,!A)i=i+1|0;else{i=4;break}}return(i|0)==4?A|0:0}function Cu(t,A){t=t|0,A=A|0;var i=0,o=0,u=0,l=0;if(i=~~(+Xe(+(+bA(10,+ +(15-(r[t+12>>2]|0)|0))*(+S[A>>3]+ +S[A+8>>3])))%+(r[t+4>>2]|0))>>>0,i=(r[t>>2]|0)+(i<<2)|0,o=r[i>>2]|0,!o)return l=1,l|0;l=A+32|0;do if((o|0)!=(A|0)){if(i=r[o+32>>2]|0,!i)return l=1,l|0;for(u=i;;){if((u|0)==(A|0)){u=8;break}if(i=r[u+32>>2]|0,i)o=u,u=i;else{i=1,u=10;break}}if((u|0)==8){r[o+32>>2]=r[l>>2];break}else if((u|0)==10)return i|0}else r[i>>2]=r[l>>2];while(!1);return Be(A),l=t+8|0,r[l>>2]=(r[l>>2]|0)+-1,l=0,l|0}function r1(t,A,i){t=t|0,A=A|0,i=i|0;var o=0,u=0,l=0,f=0;l=yt(40)|0,l||Oe(27888,27858,98,27901),r[l>>2]=r[A>>2],r[l+4>>2]=r[A+4>>2],r[l+8>>2]=r[A+8>>2],r[l+12>>2]=r[A+12>>2],u=l+16|0,r[u>>2]=r[i>>2],r[u+4>>2]=r[i+4>>2],r[u+8>>2]=r[i+8>>2],r[u+12>>2]=r[i+12>>2],r[l+32>>2]=0,u=~~(+Xe(+(+bA(10,+ +(15-(r[t+12>>2]|0)|0))*(+S[A>>3]+ +S[A+8>>3])))%+(r[t+4>>2]|0))>>>0,u=(r[t>>2]|0)+(u<<2)|0,o=r[u>>2]|0;do if(!o)r[u>>2]=l;else{for(;!(Pr(o,A)|0&&Pr(o+16|0,i)|0);)if(u=r[o+32>>2]|0,o=(u|0)==0?o:u,!(r[o+32>>2]|0)){f=10;break}if((f|0)==10){r[o+32>>2]=l;break}return Be(l),f=o,f|0}while(!1);return f=t+8|0,r[f>>2]=(r[f>>2]|0)+1,f=l,f|0}function n1(t,A,i){t=t|0,A=A|0,i=i|0;var o=0,u=0;if(u=~~(+Xe(+(+bA(10,+ +(15-(r[t+12>>2]|0)|0))*(+S[A>>3]+ +S[A+8>>3])))%+(r[t+4>>2]|0))>>>0,u=r[(r[t>>2]|0)+(u<<2)>>2]|0,!u)return i=0,i|0;if(!i){for(t=u;;){if(Pr(t,A)|0){o=10;break}if(t=r[t+32>>2]|0,!t){t=0,o=10;break}}if((o|0)==10)return t|0}for(t=u;;){if(Pr(t,A)|0&&Pr(t+16|0,i)|0){o=10;break}if(t=r[t+32>>2]|0,!t){t=0,o=10;break}}return(o|0)==10?t|0:0}function i1(t,A){t=t|0,A=A|0;var i=0;if(i=~~(+Xe(+(+bA(10,+ +(15-(r[t+12>>2]|0)|0))*(+S[A>>3]+ +S[A+8>>3])))%+(r[t+4>>2]|0))>>>0,t=r[(r[t>>2]|0)+(i<<2)>>2]|0,!t)return i=0,i|0;for(;;){if(Pr(t,A)|0){A=5;break}if(t=r[t+32>>2]|0,!t){t=0,A=5;break}}return(A|0)==5?t|0:0}function o1(){return 27920}function Rt(t){return t=+t,~~+Nu(+t)|0}function yt(t){t=t|0;var A=0,i=0,o=0,u=0,l=0,f=0,d=0,p=0,y=0,_=0,O=0,R=0,I=0,H=0,U=0,Z=0,re=0,Ae=0,ee=0,F=0,pe=0;pe=P,P=P+16|0,R=pe;do if(t>>>0<245){if(y=t>>>0<11?16:t+11&-8,t=y>>>3,O=r[6981]|0,i=O>>>t,i&3|0)return A=(i&1^1)+t|0,t=27964+(A<<1<<2)|0,i=t+8|0,o=r[i>>2]|0,u=o+8|0,l=r[u>>2]|0,(l|0)==(t|0)?r[6981]=O&~(1<<A):(r[l+12>>2]=t,r[i>>2]=l),F=A<<3,r[o+4>>2]=F|3,F=o+F+4|0,r[F>>2]=r[F>>2]|1,F=u,P=pe,F|0;if(_=r[6983]|0,y>>>0>_>>>0){if(i|0)return A=2<<t,A=i<<t&(A|0-A),A=(A&0-A)+-1|0,d=A>>>12&16,A=A>>>d,i=A>>>5&8,A=A>>>i,l=A>>>2&4,A=A>>>l,t=A>>>1&2,A=A>>>t,o=A>>>1&1,o=(i|d|l|t|o)+(A>>>o)|0,A=27964+(o<<1<<2)|0,t=A+8|0,l=r[t>>2]|0,d=l+8|0,i=r[d>>2]|0,(i|0)==(A|0)?(t=O&~(1<<o),r[6981]=t):(r[i+12>>2]=A,r[t>>2]=i,t=O),F=o<<3,f=F-y|0,r[l+4>>2]=y|3,u=l+y|0,r[u+4>>2]=f|1,r[l+F>>2]=f,_|0&&(o=r[6986]|0,A=_>>>3,i=27964+(A<<1<<2)|0,A=1<<A,t&A?(t=i+8|0,A=r[t>>2]|0):(r[6981]=t|A,A=i,t=i+8|0),r[t>>2]=o,r[A+12>>2]=o,r[o+8>>2]=A,r[o+12>>2]=i),r[6983]=f,r[6986]=u,F=d,P=pe,F|0;if(l=r[6982]|0,l){for(i=(l&0-l)+-1|0,u=i>>>12&16,i=i>>>u,o=i>>>5&8,i=i>>>o,f=i>>>2&4,i=i>>>f,d=i>>>1&2,i=i>>>d,p=i>>>1&1,p=r[28228+((o|u|f|d|p)+(i>>>p)<<2)>>2]|0,i=p,d=p,p=(r[p+4>>2]&-8)-y|0;t=r[i+16>>2]|0,!(!t&&(t=r[i+20>>2]|0,!t));)f=(r[t+4>>2]&-8)-y|0,u=f>>>0<p>>>0,i=t,d=u?t:d,p=u?f:p;if(f=d+y|0,f>>>0>d>>>0){u=r[d+24>>2]|0,A=r[d+12>>2]|0;do if((A|0)==(d|0)){if(t=d+20|0,A=r[t>>2]|0,!A&&(t=d+16|0,A=r[t>>2]|0,!A)){i=0;break}for(;;)if(o=A+20|0,i=r[o>>2]|0,i)A=i,t=o;else if(o=A+16|0,i=r[o>>2]|0,i)A=i,t=o;else break;r[t>>2]=0,i=A}else i=r[d+8>>2]|0,r[i+12>>2]=A,r[A+8>>2]=i,i=A;while(!1);do if(u|0){if(A=r[d+28>>2]|0,t=28228+(A<<2)|0,(d|0)==(r[t>>2]|0)){if(r[t>>2]=i,!i){r[6982]=l&~(1<<A);break}}else if(F=u+16|0,r[((r[F>>2]|0)==(d|0)?F:u+20|0)>>2]=i,!i)break;r[i+24>>2]=u,A=r[d+16>>2]|0,A|0&&(r[i+16>>2]=A,r[A+24>>2]=i),A=r[d+20>>2]|0,A|0&&(r[i+20>>2]=A,r[A+24>>2]=i)}while(!1);return p>>>0<16?(F=p+y|0,r[d+4>>2]=F|3,F=d+F+4|0,r[F>>2]=r[F>>2]|1):(r[d+4>>2]=y|3,r[f+4>>2]=p|1,r[f+p>>2]=p,_|0&&(o=r[6986]|0,A=_>>>3,i=27964+(A<<1<<2)|0,A=1<<A,A&O?(t=i+8|0,A=r[t>>2]|0):(r[6981]=A|O,A=i,t=i+8|0),r[t>>2]=o,r[A+12>>2]=o,r[o+8>>2]=A,r[o+12>>2]=i),r[6983]=p,r[6986]=f),F=d+8|0,P=pe,F|0}else O=y}else O=y}else O=y}else if(t>>>0<=4294967231)if(t=t+11|0,y=t&-8,o=r[6982]|0,o){u=0-y|0,t=t>>>8,t?y>>>0>16777215?p=31:(O=(t+1048320|0)>>>16&8,U=t<<O,d=(U+520192|0)>>>16&4,U=U<<d,p=(U+245760|0)>>>16&2,p=14-(d|O|p)+(U<<p>>>15)|0,p=y>>>(p+7|0)&1|p<<1):p=0,i=r[28228+(p<<2)>>2]|0;e:do if(!i)i=0,t=0,U=61;else for(t=0,d=y<<((p|0)==31?0:25-(p>>>1)|0),l=0;;){if(f=(r[i+4>>2]&-8)-y|0,f>>>0<u>>>0)if(f)t=i,u=f;else{t=i,u=0,U=65;break e}if(U=r[i+20>>2]|0,i=r[i+16+(d>>>31<<2)>>2]|0,l=(U|0)==0|(U|0)==(i|0)?l:U,i)d=d<<1;else{i=l,U=61;break}}while(!1);if((U|0)==61){if((i|0)==0&(t|0)==0){if(t=2<<p,t=(t|0-t)&o,!t){O=y;break}O=(t&0-t)+-1|0,f=O>>>12&16,O=O>>>f,l=O>>>5&8,O=O>>>l,d=O>>>2&4,O=O>>>d,p=O>>>1&2,O=O>>>p,i=O>>>1&1,t=0,i=r[28228+((l|f|d|p|i)+(O>>>i)<<2)>>2]|0}i?U=65:(d=t,f=u)}if((U|0)==65)for(l=i;;)if(O=(r[l+4>>2]&-8)-y|0,i=O>>>0<u>>>0,u=i?O:u,t=i?l:t,i=r[l+16>>2]|0,i||(i=r[l+20>>2]|0),i)l=i;else{d=t,f=u;break}if((d|0)!=0&&f>>>0<((r[6983]|0)-y|0)>>>0&&(_=d+y|0,_>>>0>d>>>0)){l=r[d+24>>2]|0,A=r[d+12>>2]|0;do if((A|0)==(d|0)){if(t=d+20|0,A=r[t>>2]|0,!A&&(t=d+16|0,A=r[t>>2]|0,!A)){A=0;break}for(;;)if(u=A+20|0,i=r[u>>2]|0,i)A=i,t=u;else if(u=A+16|0,i=r[u>>2]|0,i)A=i,t=u;else break;r[t>>2]=0}else F=r[d+8>>2]|0,r[F+12>>2]=A,r[A+8>>2]=F;while(!1);do if(l){if(t=r[d+28>>2]|0,i=28228+(t<<2)|0,(d|0)==(r[i>>2]|0)){if(r[i>>2]=A,!A){o=o&~(1<<t),r[6982]=o;break}}else if(F=l+16|0,r[((r[F>>2]|0)==(d|0)?F:l+20|0)>>2]=A,!A)break;r[A+24>>2]=l,t=r[d+16>>2]|0,t|0&&(r[A+16>>2]=t,r[t+24>>2]=A),t=r[d+20>>2]|0,t&&(r[A+20>>2]=t,r[t+24>>2]=A)}while(!1);e:do if(f>>>0<16)F=f+y|0,r[d+4>>2]=F|3,F=d+F+4|0,r[F>>2]=r[F>>2]|1;else{if(r[d+4>>2]=y|3,r[_+4>>2]=f|1,r[_+f>>2]=f,A=f>>>3,f>>>0<256){i=27964+(A<<1<<2)|0,t=r[6981]|0,A=1<<A,t&A?(t=i+8|0,A=r[t>>2]|0):(r[6981]=t|A,A=i,t=i+8|0),r[t>>2]=_,r[A+12>>2]=_,r[_+8>>2]=A,r[_+12>>2]=i;break}if(A=f>>>8,A?f>>>0>16777215?i=31:(ee=(A+1048320|0)>>>16&8,F=A<<ee,Ae=(F+520192|0)>>>16&4,F=F<<Ae,i=(F+245760|0)>>>16&2,i=14-(Ae|ee|i)+(F<<i>>>15)|0,i=f>>>(i+7|0)&1|i<<1):i=0,A=28228+(i<<2)|0,r[_+28>>2]=i,t=_+16|0,r[t+4>>2]=0,r[t>>2]=0,t=1<<i,!(o&t)){r[6982]=o|t,r[A>>2]=_,r[_+24>>2]=A,r[_+12>>2]=_,r[_+8>>2]=_;break}A=r[A>>2]|0;A:do if((r[A+4>>2]&-8|0)!=(f|0)){for(o=f<<((i|0)==31?0:25-(i>>>1)|0);i=A+16+(o>>>31<<2)|0,t=r[i>>2]|0,!!t;)if((r[t+4>>2]&-8|0)==(f|0)){A=t;break A}else o=o<<1,A=t;r[i>>2]=_,r[_+24>>2]=A,r[_+12>>2]=_,r[_+8>>2]=_;break e}while(!1);ee=A+8|0,F=r[ee>>2]|0,r[F+12>>2]=_,r[ee>>2]=_,r[_+8>>2]=F,r[_+12>>2]=A,r[_+24>>2]=0}while(!1);return F=d+8|0,P=pe,F|0}else O=y}else O=y;else O=-1;while(!1);if(i=r[6983]|0,i>>>0>=O>>>0)return A=i-O|0,t=r[6986]|0,A>>>0>15?(F=t+O|0,r[6986]=F,r[6983]=A,r[F+4>>2]=A|1,r[t+i>>2]=A,r[t+4>>2]=O|3):(r[6983]=0,r[6986]=0,r[t+4>>2]=i|3,F=t+i+4|0,r[F>>2]=r[F>>2]|1),F=t+8|0,P=pe,F|0;if(f=r[6984]|0,f>>>0>O>>>0)return Ae=f-O|0,r[6984]=Ae,F=r[6987]|0,ee=F+O|0,r[6987]=ee,r[ee+4>>2]=Ae|1,r[F+4>>2]=O|3,F=F+8|0,P=pe,F|0;if(r[7099]|0?t=r[7101]|0:(r[7101]=4096,r[7100]=4096,r[7102]=-1,r[7103]=-1,r[7104]=0,r[7092]=0,r[7099]=R&-16^1431655768,t=4096),d=O+48|0,p=O+47|0,l=t+p|0,u=0-t|0,y=l&u,y>>>0<=O>>>0||(t=r[7091]|0,t|0&&(_=r[7089]|0,R=_+y|0,R>>>0<=_>>>0|R>>>0>t>>>0)))return F=0,P=pe,F|0;e:do if(r[7092]&4)A=0,U=143;else{i=r[6987]|0;A:do if(i){for(o=28372;R=r[o>>2]|0,!(R>>>0<=i>>>0&&(R+(r[o+4>>2]|0)|0)>>>0>i>>>0);)if(t=r[o+8>>2]|0,t)o=t;else{U=128;break A}if(A=l-f&u,A>>>0<2147483647)if(t=Qt(A|0)|0,(t|0)==((r[o>>2]|0)+(r[o+4>>2]|0)|0)){if((t|0)!=-1){f=A,l=t,U=145;break e}}else o=t,U=136;else A=0}else U=128;while(!1);do if((U|0)==128)if(i=Qt(0)|0,(i|0)!=-1&&(A=i,I=r[7100]|0,H=I+-1|0,A=((H&A|0)==0?0:(H+A&0-I)-A|0)+y|0,I=r[7089]|0,H=A+I|0,A>>>0>O>>>0&A>>>0<2147483647)){if(R=r[7091]|0,R|0&&H>>>0<=I>>>0|H>>>0>R>>>0){A=0;break}if(t=Qt(A|0)|0,(t|0)==(i|0)){f=A,l=i,U=145;break e}else o=t,U=136}else A=0;while(!1);do if((U|0)==136){if(i=0-A|0,!(d>>>0>A>>>0&(A>>>0<2147483647&(o|0)!=-1)))if((o|0)==-1){A=0;break}else{f=A,l=o,U=145;break e}if(t=r[7101]|0,t=p-A+t&0-t,t>>>0>=2147483647){f=A,l=o,U=145;break e}if((Qt(t|0)|0)==-1){Qt(i|0)|0,A=0;break}else{f=t+A|0,l=o,U=145;break e}}while(!1);r[7092]=r[7092]|4,U=143}while(!1);if((U|0)==143&&y>>>0<2147483647&&(Ae=Qt(y|0)|0,H=Qt(0)|0,Z=H-Ae|0,re=Z>>>0>(O+40|0)>>>0,!((Ae|0)==-1|re^1|Ae>>>0<H>>>0&((Ae|0)!=-1&(H|0)!=-1)^1))&&(f=re?Z:A,l=Ae,U=145),(U|0)==145){A=(r[7089]|0)+f|0,r[7089]=A,A>>>0>(r[7090]|0)>>>0&&(r[7090]=A),p=r[6987]|0;e:do if(p){for(A=28372;;){if(t=r[A>>2]|0,i=r[A+4>>2]|0,(l|0)==(t+i|0)){U=154;break}if(o=r[A+8>>2]|0,o)A=o;else break}if((U|0)==154&&(ee=A+4|0,(r[A+12>>2]&8|0)==0)&&l>>>0>p>>>0&t>>>0<=p>>>0){r[ee>>2]=i+f,F=(r[6984]|0)+f|0,Ae=p+8|0,Ae=(Ae&7|0)==0?0:0-Ae&7,ee=p+Ae|0,Ae=F-Ae|0,r[6987]=ee,r[6984]=Ae,r[ee+4>>2]=Ae|1,r[p+F+4>>2]=40,r[6988]=r[7103];break}for(l>>>0<(r[6985]|0)>>>0&&(r[6985]=l),i=l+f|0,A=28372;;){if((r[A>>2]|0)==(i|0)){U=162;break}if(t=r[A+8>>2]|0,t)A=t;else break}if((U|0)==162&&(r[A+12>>2]&8|0)==0){r[A>>2]=l,_=A+4|0,r[_>>2]=(r[_>>2]|0)+f,_=l+8|0,_=l+((_&7|0)==0?0:0-_&7)|0,A=i+8|0,A=i+((A&7|0)==0?0:0-A&7)|0,y=_+O|0,d=A-_-O|0,r[_+4>>2]=O|3;A:do if((p|0)==(A|0))F=(r[6984]|0)+d|0,r[6984]=F,r[6987]=y,r[y+4>>2]=F|1;else{if((r[6986]|0)==(A|0)){F=(r[6983]|0)+d|0,r[6983]=F,r[6986]=y,r[y+4>>2]=F|1,r[y+F>>2]=F;break}if(t=r[A+4>>2]|0,(t&3|0)==1){f=t&-8,o=t>>>3;t:do if(t>>>0<256)if(t=r[A+8>>2]|0,i=r[A+12>>2]|0,(i|0)==(t|0)){r[6981]=r[6981]&~(1<<o);break}else{r[t+12>>2]=i,r[i+8>>2]=t;break}else{l=r[A+24>>2]|0,t=r[A+12>>2]|0;do if((t|0)==(A|0)){if(i=A+16|0,o=i+4|0,t=r[o>>2]|0,t)i=o;else if(t=r[i>>2]|0,!t){t=0;break}for(;;)if(u=t+20|0,o=r[u>>2]|0,o)t=o,i=u;else if(u=t+16|0,o=r[u>>2]|0,o)t=o,i=u;else break;r[i>>2]=0}else F=r[A+8>>2]|0,r[F+12>>2]=t,r[t+8>>2]=F;while(!1);if(!l)break;i=r[A+28>>2]|0,o=28228+(i<<2)|0;do if((r[o>>2]|0)!=(A|0)){if(F=l+16|0,r[((r[F>>2]|0)==(A|0)?F:l+20|0)>>2]=t,!t)break t}else{if(r[o>>2]=t,t|0)break;r[6982]=r[6982]&~(1<<i);break t}while(!1);if(r[t+24>>2]=l,i=A+16|0,o=r[i>>2]|0,o|0&&(r[t+16>>2]=o,r[o+24>>2]=t),i=r[i+4>>2]|0,!i)break;r[t+20>>2]=i,r[i+24>>2]=t}while(!1);A=A+f|0,u=f+d|0}else u=d;if(A=A+4|0,r[A>>2]=r[A>>2]&-2,r[y+4>>2]=u|1,r[y+u>>2]=u,A=u>>>3,u>>>0<256){i=27964+(A<<1<<2)|0,t=r[6981]|0,A=1<<A,t&A?(t=i+8|0,A=r[t>>2]|0):(r[6981]=t|A,A=i,t=i+8|0),r[t>>2]=y,r[A+12>>2]=y,r[y+8>>2]=A,r[y+12>>2]=i;break}A=u>>>8;do if(!A)o=0;else{if(u>>>0>16777215){o=31;break}ee=(A+1048320|0)>>>16&8,F=A<<ee,Ae=(F+520192|0)>>>16&4,F=F<<Ae,o=(F+245760|0)>>>16&2,o=14-(Ae|ee|o)+(F<<o>>>15)|0,o=u>>>(o+7|0)&1|o<<1}while(!1);if(A=28228+(o<<2)|0,r[y+28>>2]=o,t=y+16|0,r[t+4>>2]=0,r[t>>2]=0,t=r[6982]|0,i=1<<o,!(t&i)){r[6982]=t|i,r[A>>2]=y,r[y+24>>2]=A,r[y+12>>2]=y,r[y+8>>2]=y;break}A=r[A>>2]|0;t:do if((r[A+4>>2]&-8|0)!=(u|0)){for(o=u<<((o|0)==31?0:25-(o>>>1)|0);i=A+16+(o>>>31<<2)|0,t=r[i>>2]|0,!!t;)if((r[t+4>>2]&-8|0)==(u|0)){A=t;break t}else o=o<<1,A=t;r[i>>2]=y,r[y+24>>2]=A,r[y+12>>2]=y,r[y+8>>2]=y;break A}while(!1);ee=A+8|0,F=r[ee>>2]|0,r[F+12>>2]=y,r[ee>>2]=y,r[y+8>>2]=F,r[y+12>>2]=A,r[y+24>>2]=0}while(!1);return F=_+8|0,P=pe,F|0}for(A=28372;t=r[A>>2]|0,!(t>>>0<=p>>>0&&(F=t+(r[A+4>>2]|0)|0,F>>>0>p>>>0));)A=r[A+8>>2]|0;u=F+-47|0,t=u+8|0,t=u+((t&7|0)==0?0:0-t&7)|0,u=p+16|0,t=t>>>0<u>>>0?p:t,A=t+8|0,i=f+-40|0,Ae=l+8|0,Ae=(Ae&7|0)==0?0:0-Ae&7,ee=l+Ae|0,Ae=i-Ae|0,r[6987]=ee,r[6984]=Ae,r[ee+4>>2]=Ae|1,r[l+i+4>>2]=40,r[6988]=r[7103],i=t+4|0,r[i>>2]=27,r[A>>2]=r[7093],r[A+4>>2]=r[7094],r[A+8>>2]=r[7095],r[A+12>>2]=r[7096],r[7093]=l,r[7094]=f,r[7096]=0,r[7095]=A,A=t+24|0;do ee=A,A=A+4|0,r[A>>2]=7;while((ee+8|0)>>>0<F>>>0);if((t|0)!=(p|0)){if(l=t-p|0,r[i>>2]=r[i>>2]&-2,r[p+4>>2]=l|1,r[t>>2]=l,A=l>>>3,l>>>0<256){i=27964+(A<<1<<2)|0,t=r[6981]|0,A=1<<A,t&A?(t=i+8|0,A=r[t>>2]|0):(r[6981]=t|A,A=i,t=i+8|0),r[t>>2]=p,r[A+12>>2]=p,r[p+8>>2]=A,r[p+12>>2]=i;break}if(A=l>>>8,A?l>>>0>16777215?o=31:(ee=(A+1048320|0)>>>16&8,F=A<<ee,Ae=(F+520192|0)>>>16&4,F=F<<Ae,o=(F+245760|0)>>>16&2,o=14-(Ae|ee|o)+(F<<o>>>15)|0,o=l>>>(o+7|0)&1|o<<1):o=0,i=28228+(o<<2)|0,r[p+28>>2]=o,r[p+20>>2]=0,r[u>>2]=0,A=r[6982]|0,t=1<<o,!(A&t)){r[6982]=A|t,r[i>>2]=p,r[p+24>>2]=i,r[p+12>>2]=p,r[p+8>>2]=p;break}A=r[i>>2]|0;A:do if((r[A+4>>2]&-8|0)!=(l|0)){for(o=l<<((o|0)==31?0:25-(o>>>1)|0);i=A+16+(o>>>31<<2)|0,t=r[i>>2]|0,!!t;)if((r[t+4>>2]&-8|0)==(l|0)){A=t;break A}else o=o<<1,A=t;r[i>>2]=p,r[p+24>>2]=A,r[p+12>>2]=p,r[p+8>>2]=p;break e}while(!1);ee=A+8|0,F=r[ee>>2]|0,r[F+12>>2]=p,r[ee>>2]=p,r[p+8>>2]=F,r[p+12>>2]=A,r[p+24>>2]=0}}else F=r[6985]|0,(F|0)==0|l>>>0<F>>>0&&(r[6985]=l),r[7093]=l,r[7094]=f,r[7096]=0,r[6990]=r[7099],r[6989]=-1,r[6994]=27964,r[6993]=27964,r[6996]=27972,r[6995]=27972,r[6998]=27980,r[6997]=27980,r[7e3]=27988,r[6999]=27988,r[7002]=27996,r[7001]=27996,r[7004]=28004,r[7003]=28004,r[7006]=28012,r[7005]=28012,r[7008]=28020,r[7007]=28020,r[7010]=28028,r[7009]=28028,r[7012]=28036,r[7011]=28036,r[7014]=28044,r[7013]=28044,r[7016]=28052,r[7015]=28052,r[7018]=28060,r[7017]=28060,r[7020]=28068,r[7019]=28068,r[7022]=28076,r[7021]=28076,r[7024]=28084,r[7023]=28084,r[7026]=28092,r[7025]=28092,r[7028]=28100,r[7027]=28100,r[7030]=28108,r[7029]=28108,r[7032]=28116,r[7031]=28116,r[7034]=28124,r[7033]=28124,r[7036]=28132,r[7035]=28132,r[7038]=28140,r[7037]=28140,r[7040]=28148,r[7039]=28148,r[7042]=28156,r[7041]=28156,r[7044]=28164,r[7043]=28164,r[7046]=28172,r[7045]=28172,r[7048]=28180,r[7047]=28180,r[7050]=28188,r[7049]=28188,r[7052]=28196,r[7051]=28196,r[7054]=28204,r[7053]=28204,r[7056]=28212,r[7055]=28212,F=f+-40|0,Ae=l+8|0,Ae=(Ae&7|0)==0?0:0-Ae&7,ee=l+Ae|0,Ae=F-Ae|0,r[6987]=ee,r[6984]=Ae,r[ee+4>>2]=Ae|1,r[l+F+4>>2]=40,r[6988]=r[7103];while(!1);if(A=r[6984]|0,A>>>0>O>>>0)return Ae=A-O|0,r[6984]=Ae,F=r[6987]|0,ee=F+O|0,r[6987]=ee,r[ee+4>>2]=Ae|1,r[F+4>>2]=O|3,F=F+8|0,P=pe,F|0}return F=o1()|0,r[F>>2]=12,F=0,P=pe,F|0}function Be(t){t=t|0;var A=0,i=0,o=0,u=0,l=0,f=0,d=0,p=0;if(t){i=t+-8|0,u=r[6985]|0,t=r[t+-4>>2]|0,A=t&-8,p=i+A|0;do if(t&1)d=i,f=i;else{if(o=r[i>>2]|0,!(t&3)||(f=i+(0-o)|0,l=o+A|0,f>>>0<u>>>0))return;if((r[6986]|0)==(f|0)){if(t=p+4|0,A=r[t>>2]|0,(A&3|0)!=3){d=f,A=l;break}r[6983]=l,r[t>>2]=A&-2,r[f+4>>2]=l|1,r[f+l>>2]=l;return}if(i=o>>>3,o>>>0<256)if(t=r[f+8>>2]|0,A=r[f+12>>2]|0,(A|0)==(t|0)){r[6981]=r[6981]&~(1<<i),d=f,A=l;break}else{r[t+12>>2]=A,r[A+8>>2]=t,d=f,A=l;break}u=r[f+24>>2]|0,t=r[f+12>>2]|0;do if((t|0)==(f|0)){if(A=f+16|0,i=A+4|0,t=r[i>>2]|0,t)A=i;else if(t=r[A>>2]|0,!t){t=0;break}for(;;)if(o=t+20|0,i=r[o>>2]|0,i)t=i,A=o;else if(o=t+16|0,i=r[o>>2]|0,i)t=i,A=o;else break;r[A>>2]=0}else d=r[f+8>>2]|0,r[d+12>>2]=t,r[t+8>>2]=d;while(!1);if(u){if(A=r[f+28>>2]|0,i=28228+(A<<2)|0,(r[i>>2]|0)==(f|0)){if(r[i>>2]=t,!t){r[6982]=r[6982]&~(1<<A),d=f,A=l;break}}else if(d=u+16|0,r[((r[d>>2]|0)==(f|0)?d:u+20|0)>>2]=t,!t){d=f,A=l;break}r[t+24>>2]=u,A=f+16|0,i=r[A>>2]|0,i|0&&(r[t+16>>2]=i,r[i+24>>2]=t),A=r[A+4>>2]|0,A?(r[t+20>>2]=A,r[A+24>>2]=t,d=f,A=l):(d=f,A=l)}else d=f,A=l}while(!1);if(!(f>>>0>=p>>>0)&&(t=p+4|0,o=r[t>>2]|0,!!(o&1))){if(o&2)r[t>>2]=o&-2,r[d+4>>2]=A|1,r[f+A>>2]=A,u=A;else{if((r[6987]|0)==(p|0)){if(p=(r[6984]|0)+A|0,r[6984]=p,r[6987]=d,r[d+4>>2]=p|1,(d|0)!=(r[6986]|0))return;r[6986]=0,r[6983]=0;return}if((r[6986]|0)==(p|0)){p=(r[6983]|0)+A|0,r[6983]=p,r[6986]=f,r[d+4>>2]=p|1,r[f+p>>2]=p;return}u=(o&-8)+A|0,i=o>>>3;do if(o>>>0<256)if(A=r[p+8>>2]|0,t=r[p+12>>2]|0,(t|0)==(A|0)){r[6981]=r[6981]&~(1<<i);break}else{r[A+12>>2]=t,r[t+8>>2]=A;break}else{l=r[p+24>>2]|0,t=r[p+12>>2]|0;do if((t|0)==(p|0)){if(A=p+16|0,i=A+4|0,t=r[i>>2]|0,t)A=i;else if(t=r[A>>2]|0,!t){i=0;break}for(;;)if(o=t+20|0,i=r[o>>2]|0,i)t=i,A=o;else if(o=t+16|0,i=r[o>>2]|0,i)t=i,A=o;else break;r[A>>2]=0,i=t}else i=r[p+8>>2]|0,r[i+12>>2]=t,r[t+8>>2]=i,i=t;while(!1);if(l|0){if(t=r[p+28>>2]|0,A=28228+(t<<2)|0,(r[A>>2]|0)==(p|0)){if(r[A>>2]=i,!i){r[6982]=r[6982]&~(1<<t);break}}else if(o=l+16|0,r[((r[o>>2]|0)==(p|0)?o:l+20|0)>>2]=i,!i)break;r[i+24>>2]=l,t=p+16|0,A=r[t>>2]|0,A|0&&(r[i+16>>2]=A,r[A+24>>2]=i),t=r[t+4>>2]|0,t|0&&(r[i+20>>2]=t,r[t+24>>2]=i)}}while(!1);if(r[d+4>>2]=u|1,r[f+u>>2]=u,(d|0)==(r[6986]|0)){r[6983]=u;return}}if(t=u>>>3,u>>>0<256){i=27964+(t<<1<<2)|0,A=r[6981]|0,t=1<<t,A&t?(A=i+8|0,t=r[A>>2]|0):(r[6981]=A|t,t=i,A=i+8|0),r[A>>2]=d,r[t+12>>2]=d,r[d+8>>2]=t,r[d+12>>2]=i;return}t=u>>>8,t?u>>>0>16777215?o=31:(f=(t+1048320|0)>>>16&8,p=t<<f,l=(p+520192|0)>>>16&4,p=p<<l,o=(p+245760|0)>>>16&2,o=14-(l|f|o)+(p<<o>>>15)|0,o=u>>>(o+7|0)&1|o<<1):o=0,t=28228+(o<<2)|0,r[d+28>>2]=o,r[d+20>>2]=0,r[d+16>>2]=0,A=r[6982]|0,i=1<<o;e:do if(!(A&i))r[6982]=A|i,r[t>>2]=d,r[d+24>>2]=t,r[d+12>>2]=d,r[d+8>>2]=d;else{t=r[t>>2]|0;A:do if((r[t+4>>2]&-8|0)!=(u|0)){for(o=u<<((o|0)==31?0:25-(o>>>1)|0);i=t+16+(o>>>31<<2)|0,A=r[i>>2]|0,!!A;)if((r[A+4>>2]&-8|0)==(u|0)){t=A;break A}else o=o<<1,t=A;r[i>>2]=d,r[d+24>>2]=t,r[d+12>>2]=d,r[d+8>>2]=d;break e}while(!1);f=t+8|0,p=r[f>>2]|0,r[p+12>>2]=d,r[f>>2]=d,r[d+8>>2]=p,r[d+12>>2]=t,r[d+24>>2]=0}while(!1);if(p=(r[6989]|0)+-1|0,r[6989]=p,!(p|0)){for(t=28380;t=r[t>>2]|0,t;)t=t+8|0;r[6989]=-1}}}}function FA(t,A){t=t|0,A=A|0;var i=0;return t?(i=gt(A,t)|0,(A|t)>>>0>65535&&(i=((i>>>0)/(t>>>0)|0|0)==(A|0)?i:-1)):i=0,t=yt(i)|0,!t||!(r[t+-4>>2]&3)||Ht(t|0,0,i|0)|0,t|0}function xe(t,A,i,o){return t=t|0,A=A|0,i=i|0,o=o|0,i=t+i>>>0,Ie(A+o+(i>>>0<t>>>0|0)>>>0|0),i|0|0}function EA(t,A,i,o){return t=t|0,A=A|0,i=i|0,o=o|0,o=A-o-(i>>>0>t>>>0|0)>>>0,Ie(o|0),t-i>>>0|0|0}function Tu(t){return t=t|0,(t?31-(kt(t^t-1)|0)|0:32)|0}function Ko(t,A,i,o,u){t=t|0,A=A|0,i=i|0,o=o|0,u=u|0;var l=0,f=0,d=0,p=0,y=0,_=0,O=0,R=0,I=0,H=0;if(_=t,p=A,y=p,f=i,R=o,d=R,!y)return l=(u|0)!=0,d?l?(r[u>>2]=t|0,r[u+4>>2]=A&0,R=0,u=0,Ie(R|0),u|0):(R=0,u=0,Ie(R|0),u|0):(l&&(r[u>>2]=(_>>>0)%(f>>>0),r[u+4>>2]=0),R=0,u=(_>>>0)/(f>>>0)>>>0,Ie(R|0),u|0);l=(d|0)==0;do if(f){if(!l){if(l=(kt(d|0)|0)-(kt(y|0)|0)|0,l>>>0<=31){O=l+1|0,d=31-l|0,A=l-31>>31,f=O,t=_>>>(O>>>0)&A|y<<d,A=y>>>(O>>>0)&A,l=0,d=_<<d;break}return u?(r[u>>2]=t|0,r[u+4>>2]=p|A&0,R=0,u=0,Ie(R|0),u|0):(R=0,u=0,Ie(R|0),u|0)}if(l=f-1|0,l&f|0){d=(kt(f|0)|0)+33-(kt(y|0)|0)|0,H=64-d|0,O=32-d|0,p=O>>31,I=d-32|0,A=I>>31,f=d,t=O-1>>31&y>>>(I>>>0)|(y<<O|_>>>(d>>>0))&A,A=A&y>>>(d>>>0),l=_<<H&p,d=(y<<H|_>>>(I>>>0))&p|_<<O&d-33>>31;break}return u|0&&(r[u>>2]=l&_,r[u+4>>2]=0),(f|0)==1?(I=p|A&0,H=t|0|0,Ie(I|0),H|0):(H=Tu(f|0)|0,I=y>>>(H>>>0)|0,H=y<<32-H|_>>>(H>>>0)|0,Ie(I|0),H|0)}else{if(l)return u|0&&(r[u>>2]=(y>>>0)%(f>>>0),r[u+4>>2]=0),I=0,H=(y>>>0)/(f>>>0)>>>0,Ie(I|0),H|0;if(!_)return u|0&&(r[u>>2]=0,r[u+4>>2]=(y>>>0)%(d>>>0)),I=0,H=(y>>>0)/(d>>>0)>>>0,Ie(I|0),H|0;if(l=d-1|0,!(l&d))return u|0&&(r[u>>2]=t|0,r[u+4>>2]=l&y|A&0),I=0,H=y>>>((Tu(d|0)|0)>>>0),Ie(I|0),H|0;if(l=(kt(d|0)|0)-(kt(y|0)|0)|0,l>>>0<=30){A=l+1|0,d=31-l|0,f=A,t=y<<d|_>>>(A>>>0),A=y>>>(A>>>0),l=0,d=_<<d;break}return u?(r[u>>2]=t|0,r[u+4>>2]=p|A&0,I=0,H=0,Ie(I|0),H|0):(I=0,H=0,Ie(I|0),H|0)}while(!1);if(!f)y=d,p=0,d=0;else{O=i|0|0,_=R|o&0,y=xe(O|0,_|0,-1,-1)|0,i=j()|0,p=d,d=0;do o=p,p=l>>>31|p<<1,l=d|l<<1,o=t<<1|o>>>31|0,R=t>>>31|A<<1|0,EA(y|0,i|0,o|0,R|0)|0,H=j()|0,I=H>>31|((H|0)<0?-1:0)<<1,d=I&1,t=EA(o|0,R|0,I&O|0,(((H|0)<0?-1:0)>>31|((H|0)<0?-1:0)<<1)&_|0)|0,A=j()|0,f=f-1|0;while((f|0)!=0);y=p,p=0}return f=0,u|0&&(r[u>>2]=t,r[u+4>>2]=A),I=(l|0)>>>31|(y|f)<<1|(f<<1|l>>>31)&0|p,H=(l<<1|0)&-2|d,Ie(I|0),H|0}function It(t,A,i,o){t=t|0,A=A|0,i=i|0,o=o|0;var u=0,l=0,f=0,d=0,p=0,y=0;return y=A>>31|((A|0)<0?-1:0)<<1,p=((A|0)<0?-1:0)>>31|((A|0)<0?-1:0)<<1,l=o>>31|((o|0)<0?-1:0)<<1,u=((o|0)<0?-1:0)>>31|((o|0)<0?-1:0)<<1,d=EA(y^t|0,p^A|0,y|0,p|0)|0,f=j()|0,t=l^y,A=u^p,EA((Ko(d,f,EA(l^i|0,u^o|0,l|0,u|0)|0,j()|0,0)|0)^t|0,(j()|0)^A|0,t|0,A|0)|0}function s1(t,A){t=t|0,A=A|0;var i=0,o=0,u=0,l=0;return l=t&65535,u=A&65535,i=gt(u,l)|0,o=t>>>16,t=(i>>>16)+(gt(u,o)|0)|0,u=A>>>16,A=gt(u,l)|0,Ie((t>>>16)+(gt(u,o)|0)+(((t&65535)+A|0)>>>16)|0),t+A<<16|i&65535|0|0}function $A(t,A,i,o){t=t|0,A=A|0,i=i|0,o=o|0;var u=0,l=0;return u=t,l=i,i=s1(u,l)|0,t=j()|0,Ie((gt(A,l)|0)+(gt(o,u)|0)+t|t&0|0),i|0|0|0}function Dr(t,A,i,o){t=t|0,A=A|0,i=i|0,o=o|0;var u=0,l=0,f=0,d=0,p=0,y=0;return u=P,P=P+16|0,d=u|0,f=A>>31|((A|0)<0?-1:0)<<1,l=((A|0)<0?-1:0)>>31|((A|0)<0?-1:0)<<1,y=o>>31|((o|0)<0?-1:0)<<1,p=((o|0)<0?-1:0)>>31|((o|0)<0?-1:0)<<1,t=EA(f^t|0,l^A|0,f|0,l|0)|0,A=j()|0,Ko(t,A,EA(y^i|0,p^o|0,y|0,p|0)|0,j()|0,d)|0,o=EA(r[d>>2]^f|0,r[d+4>>2]^l|0,f|0,l|0)|0,i=j()|0,P=u,Ie(i|0),o|0}function Cr(t,A,i,o){t=t|0,A=A|0,i=i|0,o=o|0;var u=0,l=0;return l=P,P=P+16|0,u=l|0,Ko(t,A,i,o,u)|0,P=l,Ie(r[u+4>>2]|0),r[u>>2]|0|0}function Ou(t,A,i){return t=t|0,A=A|0,i=i|0,(i|0)<32?(Ie(A>>i|0),t>>>i|(A&(1<<i)-1)<<32-i):(Ie(((A|0)<0?-1:0)|0),A>>i-32|0)}function ae(t,A,i){return t=t|0,A=A|0,i=i|0,(i|0)<32?(Ie(A>>>i|0),t>>>i|(A&(1<<i)-1)<<32-i):(Ie(0),A>>>i-32|0)}function de(t,A,i){return t=t|0,A=A|0,i=i|0,(i|0)<32?(Ie(A<<i|(t&(1<<i)-1<<32-i)>>>32-i|0),t<<i):(Ie(t<<i-32|0),0)}function Yo(t,A,i){return t=t|0,A=A|0,i=i|0,A=kt(A)|0,(A|0)==32&&(A=A+(kt(t)|0)|0),Ie(0),A|0}function ju(t,A){return t=+t,A=+A,t!=t?+A:A!=A?+t:+hh(+t,+A)}function di(t,A){return t=+t,A=+A,t!=t?+A:A!=A?+t:+Eo(+t,+A)}function hi(t){return t=+t,t>=0?+vA(t+.5):+kr(t-.5)}function Tr(t,A,i){t=t|0,A=A|0,i=i|0;var o=0,u=0,l=0;if((i|0)>=8192)return gh(t|0,A|0,i|0)|0,t|0;if(l=t|0,u=t+i|0,(t&3)==(A&3)){for(;t&3;){if(!i)return l|0;se[t>>0]=se[A>>0]|0,t=t+1|0,A=A+1|0,i=i-1|0}for(i=u&-4|0,o=i-64|0;(t|0)<=(o|0);)r[t>>2]=r[A>>2],r[t+4>>2]=r[A+4>>2],r[t+8>>2]=r[A+8>>2],r[t+12>>2]=r[A+12>>2],r[t+16>>2]=r[A+16>>2],r[t+20>>2]=r[A+20>>2],r[t+24>>2]=r[A+24>>2],r[t+28>>2]=r[A+28>>2],r[t+32>>2]=r[A+32>>2],r[t+36>>2]=r[A+36>>2],r[t+40>>2]=r[A+40>>2],r[t+44>>2]=r[A+44>>2],r[t+48>>2]=r[A+48>>2],r[t+52>>2]=r[A+52>>2],r[t+56>>2]=r[A+56>>2],r[t+60>>2]=r[A+60>>2],t=t+64|0,A=A+64|0;for(;(t|0)<(i|0);)r[t>>2]=r[A>>2],t=t+4|0,A=A+4|0}else for(i=u-4|0;(t|0)<(i|0);)se[t>>0]=se[A>>0]|0,se[t+1>>0]=se[A+1>>0]|0,se[t+2>>0]=se[A+2>>0]|0,se[t+3>>0]=se[A+3>>0]|0,t=t+4|0,A=A+4|0;for(;(t|0)<(u|0);)se[t>>0]=se[A>>0]|0,t=t+1|0,A=A+1|0;return l|0}function Ht(t,A,i){t=t|0,A=A|0,i=i|0;var o=0,u=0,l=0,f=0;if(l=t+i|0,A=A&255,(i|0)>=67){for(;t&3;)se[t>>0]=A,t=t+1|0;for(o=l&-4|0,f=A|A<<8|A<<16|A<<24,u=o-64|0;(t|0)<=(u|0);)r[t>>2]=f,r[t+4>>2]=f,r[t+8>>2]=f,r[t+12>>2]=f,r[t+16>>2]=f,r[t+20>>2]=f,r[t+24>>2]=f,r[t+28>>2]=f,r[t+32>>2]=f,r[t+36>>2]=f,r[t+40>>2]=f,r[t+44>>2]=f,r[t+48>>2]=f,r[t+52>>2]=f,r[t+56>>2]=f,r[t+60>>2]=f,t=t+64|0;for(;(t|0)<(o|0);)r[t>>2]=f,t=t+4|0}for(;(t|0)<(l|0);)se[t>>0]=A,t=t+1|0;return l-i|0}function Nu(t){return t=+t,t>=0?+vA(t+.5):+kr(t-.5)}function Qt(t){t=t|0;var A=0,i=0,o=0;return o=ph()|0,i=r[UA>>2]|0,A=i+t|0,(t|0)>0&(A|0)<(i|0)|(A|0)<0?(yh(A|0)|0,Ua(12),-1):(A|0)>(o|0)&&!(mh(A|0)|0)?(Ua(12),-1):(r[UA>>2]=A,i|0)}return{___divdi3:It,___muldi3:$A,___remdi3:Dr,___uremdi3:Cr,_areNeighborCells:Yh,_bitshift64Ashr:Ou,_bitshift64Lshr:ae,_bitshift64Shl:de,_calloc:FA,_cellAreaKm2:Bp,_cellAreaM2:Pp,_cellAreaRads2:Go,_cellToBoundary:Br,_cellToCenterChild:du,_cellToChildPos:wp,_cellToChildren:lp,_cellToChildrenSize:un,_cellToLatLng:or,_cellToLocalIj:Mp,_cellToParent:Mo,_cellToVertex:At,_cellToVertexes:A1,_cellsToDirectedEdge:Wh,_cellsToLinkedMultiPolygon:Dh,_childPosToCell:vp,_compactCells:fp,_constructCell:ap,_destroyLinkedMultiPolygon:yu,_directedEdgeToBoundary:ui,_directedEdgeToCells:Xh,_edgeLengthKm:Cp,_edgeLengthM:Tp,_edgeLengthRads:Dp,_emscripten_replace_memory:wh,_free:Be,_getBaseCellNumber:fu,_getDirectedEdgeDestination:Zh,_getDirectedEdgeOrigin:Jh,_getHexagonAreaAvgKm2:gu,_getHexagonAreaAvgM2:kp,_getHexagonEdgeLengthAvgKm:xp,_getHexagonEdgeLengthAvgM:Sp,_getIcosahedronFaces:hu,_getIndexDigit:sp,_getNumCells:li,_getPentagons:qo,_getRes0Cells:Nh,_getResolution:op,_greatCircleDistanceKm:fn,_greatCircleDistanceM:_p,_greatCircleDistanceRads:bp,_gridDisk:Ga,_gridDiskDistances:Fa,_gridDistance:Ip,_gridPathCells:Qp,_gridPathCellsSize:Hp,_gridRing:kh,_gridRingUnsafe:za,_i64Add:xe,_i64Subtract:EA,_isPentagon:aA,_isResClassIII:hp,_isValidCell:jo,_isValidDirectedEdge:au,_isValidIndex:up,_isValidVertex:Su,_latLngToCell:Ho,_llvm_ctlz_i64:Yo,_llvm_maxnum_f64:ju,_llvm_minnum_f64:di,_llvm_round_f64:hi,_localIjToCell:Rp,_malloc:yt,_maxFaceCount:mp,_maxGridDiskSize:$h,_maxPolygonToCellsSize:Sh,_maxPolygonToCellsSizeExperimental:Up,_memcpy:Tr,_memset:Ht,_originToDirectedEdges:ep,_pentagonCount:yp,_polygonToCells:Bh,_polygonToCellsExperimental:Lp,_readInt64AsDoubleFromPointer:Jp,_res0CellCount:jh,_round:Nu,_sbrk:Qt,_sizeOfCellBoundary:Vp,_sizeOfCoordIJ:Wp,_sizeOfGeoLoop:zp,_sizeOfGeoPolygon:Kp,_sizeOfH3Index:Gp,_sizeOfLatLng:Fp,_sizeOfLinkedGeoPolygon:Yp,_uncompactCells:cp,_uncompactCellsSize:dp,_vertexToLatLng:t1,establishStackSpace:Eh,stackAlloc:vh,stackRestore:_h,stackSave:bh}})(sh,ah,B),j_=e.___divdi3=ce.___divdi3,N_=e.___muldi3=ce.___muldi3,M_=e.___remdi3=ce.___remdi3,R_=e.___uremdi3=ce.___uremdi3,I_=e._areNeighborCells=ce._areNeighborCells,H_=e._bitshift64Ashr=ce._bitshift64Ashr,Q_=e._bitshift64Lshr=ce._bitshift64Lshr,q_=e._bitshift64Shl=ce._bitshift64Shl,L_=e._calloc=ce._calloc,U_=e._cellAreaKm2=ce._cellAreaKm2,G_=e._cellAreaM2=ce._cellAreaM2,F_=e._cellAreaRads2=ce._cellAreaRads2,V_=e._cellToBoundary=ce._cellToBoundary,z_=e._cellToCenterChild=ce._cellToCenterChild,K_=e._cellToChildPos=ce._cellToChildPos,Y_=e._cellToChildren=ce._cellToChildren,W_=e._cellToChildrenSize=ce._cellToChildrenSize,J_=e._cellToLatLng=ce._cellToLatLng,Z_=e._cellToLocalIj=ce._cellToLocalIj,X_=e._cellToParent=ce._cellToParent,e3=e._cellToVertex=ce._cellToVertex,A3=e._cellToVertexes=ce._cellToVertexes,t3=e._cellsToDirectedEdge=ce._cellsToDirectedEdge,r3=e._cellsToLinkedMultiPolygon=ce._cellsToLinkedMultiPolygon,n3=e._childPosToCell=ce._childPosToCell,i3=e._compactCells=ce._compactCells,o3=e._constructCell=ce._constructCell,s3=e._destroyLinkedMultiPolygon=ce._destroyLinkedMultiPolygon,a3=e._directedEdgeToBoundary=ce._directedEdgeToBoundary,u3=e._directedEdgeToCells=ce._directedEdgeToCells,l3=e._edgeLengthKm=ce._edgeLengthKm,f3=e._edgeLengthM=ce._edgeLengthM,c3=e._edgeLengthRads=ce._edgeLengthRads,uh=e._emscripten_replace_memory=ce._emscripten_replace_memory,d3=e._free=ce._free,h3=e._getBaseCellNumber=ce._getBaseCellNumber,p3=e._getDirectedEdgeDestination=ce._getDirectedEdgeDestination,g3=e._getDirectedEdgeOrigin=ce._getDirectedEdgeOrigin,m3=e._getHexagonAreaAvgKm2=ce._getHexagonAreaAvgKm2,y3=e._getHexagonAreaAvgM2=ce._getHexagonAreaAvgM2,w3=e._getHexagonEdgeLengthAvgKm=ce._getHexagonEdgeLengthAvgKm,v3=e._getHexagonEdgeLengthAvgM=ce._getHexagonEdgeLengthAvgM,b3=e._getIcosahedronFaces=ce._getIcosahedronFaces,_3=e._getIndexDigit=ce._getIndexDigit,E3=e._getNumCells=ce._getNumCells,$3=e._getPentagons=ce._getPentagons,k3=e._getRes0Cells=ce._getRes0Cells,x3=e._getResolution=ce._getResolution,S3=e._greatCircleDistanceKm=ce._greatCircleDistanceKm,B3=e._greatCircleDistanceM=ce._greatCircleDistanceM,P3=e._greatCircleDistanceRads=ce._greatCircleDistanceRads,D3=e._gridDisk=ce._gridDisk,C3=e._gridDiskDistances=ce._gridDiskDistances,T3=e._gridDistance=ce._gridDistance,O3=e._gridPathCells=ce._gridPathCells,j3=e._gridPathCellsSize=ce._gridPathCellsSize,N3=e._gridRing=ce._gridRing,M3=e._gridRingUnsafe=ce._gridRingUnsafe,R3=e._i64Add=ce._i64Add,I3=e._i64Subtract=ce._i64Subtract,H3=e._isPentagon=ce._isPentagon,Q3=e._isResClassIII=ce._isResClassIII,q3=e._isValidCell=ce._isValidCell,L3=e._isValidDirectedEdge=ce._isValidDirectedEdge,U3=e._isValidIndex=ce._isValidIndex,G3=e._isValidVertex=ce._isValidVertex,F3=e._latLngToCell=ce._latLngToCell,V3=e._llvm_ctlz_i64=ce._llvm_ctlz_i64,z3=e._llvm_maxnum_f64=ce._llvm_maxnum_f64,K3=e._llvm_minnum_f64=ce._llvm_minnum_f64,Y3=e._llvm_round_f64=ce._llvm_round_f64,W3=e._localIjToCell=ce._localIjToCell,J3=e._malloc=ce._malloc,Z3=e._maxFaceCount=ce._maxFaceCount,X3=e._maxGridDiskSize=ce._maxGridDiskSize,e8=e._maxPolygonToCellsSize=ce._maxPolygonToCellsSize,A8=e._maxPolygonToCellsSizeExperimental=ce._maxPolygonToCellsSizeExperimental,t8=e._memcpy=ce._memcpy,r8=e._memset=ce._memset,n8=e._originToDirectedEdges=ce._originToDirectedEdges,i8=e._pentagonCount=ce._pentagonCount,o8=e._polygonToCells=ce._polygonToCells,s8=e._polygonToCellsExperimental=ce._polygonToCellsExperimental,a8=e._readInt64AsDoubleFromPointer=ce._readInt64AsDoubleFromPointer,u8=e._res0CellCount=ce._res0CellCount,l8=e._round=ce._round,f8=e._sbrk=ce._sbrk,c8=e._sizeOfCellBoundary=ce._sizeOfCellBoundary,d8=e._sizeOfCoordIJ=ce._sizeOfCoordIJ,h8=e._sizeOfGeoLoop=ce._sizeOfGeoLoop,p8=e._sizeOfGeoPolygon=ce._sizeOfGeoPolygon,g8=e._sizeOfH3Index=ce._sizeOfH3Index,m8=e._sizeOfLatLng=ce._sizeOfLatLng,y8=e._sizeOfLinkedGeoPolygon=ce._sizeOfLinkedGeoPolygon,w8=e._uncompactCells=ce._uncompactCells,v8=e._uncompactCellsSize=ce._uncompactCellsSize,b8=e._vertexToLatLng=ce._vertexToLatLng,_8=e.establishStackSpace=ce.establishStackSpace,Ha=e.stackAlloc=ce.stackAlloc,lh=e.stackRestore=ce.stackRestore,fh=e.stackSave=ce.stackSave;if(e.asm=ce,e.cwrap=G,e.setValue=T,e.getValue=x,$t){ja($t)||($t=g($t));{Y2("memory initializer");var vo=function(te){te.byteLength&&(te=new Uint8Array(te)),Q.set(te,k),e.memoryInitializerRequest&&delete e.memoryInitializerRequest.response,W2("memory initializer")},Qa=function(){m($t,vo,function(){throw"could not load memory initializer "+$t})},qa=wo($t);if(qa)vo(qa.buffer);else if(e.memoryInitializerRequest){var La=function(){var te=e.memoryInitializerRequest,oe=te.response;if(te.status!==200&&te.status!==0){var we=wo(e.memoryInitializerRequestURL);if(we)oe=we.buffer;else{console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: "+te.status+", retrying "+$t),Qa();return}}vo(oe)};e.memoryInitializerRequest.response?setTimeout(La,0):e.memoryInitializerRequest.addEventListener("load",La)}else Qa()}}var ii;on=function te(){ii||bo(),ii||(on=te)};function bo(te){if(te=te||c,er>0||(RA(),er>0))return;function oe(){ii||(ii=!0,!M&&(WA(),ni(),e.onRuntimeInitialized&&e.onRuntimeInitialized(),L2()))}e.setStatus?(e.setStatus("Running..."),setTimeout(function(){setTimeout(function(){e.setStatus("")},1),oe()},1)):oe()}e.run=bo;function Ar(te){throw e.onAbort&&e.onAbort(te),te+="",v(te),b(te),M=!0,"abort("+te+"). Build with -s ASSERTIONS=1 for more info."}if(e.abort=Ar,e.preInit)for(typeof e.preInit=="function"&&(e.preInit=[e.preInit]);e.preInit.length>0;)e.preInit.pop()();return bo(),n})(typeof xA=="object"?xA:{}),Ce="number",De=Ce,Or=Ce,je=Ce,Ne=Ce,kA=Ce,be=Ce,h1=[["sizeOfH3Index",Ce],["sizeOfLatLng",Ce],["sizeOfCellBoundary",Ce],["sizeOfGeoLoop",Ce],["sizeOfGeoPolygon",Ce],["sizeOfLinkedGeoPolygon",Ce],["sizeOfCoordIJ",Ce],["readInt64AsDoubleFromPointer",Ce],["isValidCell",Or,[je,Ne]],["isValidIndex",Or,[je,Ne]],["latLngToCell",De,[Ce,Ce,kA,be]],["cellToLatLng",De,[je,Ne,be]],["cellToBoundary",De,[je,Ne,be]],["maxGridDiskSize",De,[Ce,be]],["gridDisk",De,[je,Ne,Ce,be]],["gridDiskDistances",De,[je,Ne,Ce,be,be]],["gridRing",De,[je,Ne,Ce,be]],["gridRingUnsafe",De,[je,Ne,Ce,be]],["maxPolygonToCellsSize",De,[be,kA,Ce,be]],["polygonToCells",De,[be,kA,Ce,be]],["maxPolygonToCellsSizeExperimental",De,[be,kA,Ce,be]],["polygonToCellsExperimental",De,[be,kA,Ce,Ce,Ce,be]],["cellsToLinkedMultiPolygon",De,[be,Ce,be]],["destroyLinkedMultiPolygon",null,[be]],["compactCells",De,[be,be,Ce,Ce]],["uncompactCells",De,[be,Ce,Ce,be,Ce,kA]],["uncompactCellsSize",De,[be,Ce,Ce,kA,be]],["isPentagon",Or,[je,Ne]],["isResClassIII",Or,[je,Ne]],["getBaseCellNumber",Ce,[je,Ne]],["getResolution",Ce,[je,Ne]],["getIndexDigit",Ce,[je,Ne,Ce]],["constructCell",De,[Ce,Ce,be,be]],["maxFaceCount",De,[je,Ne,be]],["getIcosahedronFaces",De,[je,Ne,be]],["cellToParent",De,[je,Ne,kA,be]],["cellToChildren",De,[je,Ne,kA,be]],["cellToCenterChild",De,[je,Ne,kA,be]],["cellToChildrenSize",De,[je,Ne,kA,be]],["cellToChildPos",De,[je,Ne,kA,be]],["childPosToCell",De,[Ce,Ce,je,Ne,kA,be]],["areNeighborCells",De,[je,Ne,je,Ne,be]],["cellsToDirectedEdge",De,[je,Ne,je,Ne,be]],["getDirectedEdgeOrigin",De,[je,Ne,be]],["getDirectedEdgeDestination",De,[je,Ne,be]],["isValidDirectedEdge",Or,[je,Ne]],["directedEdgeToCells",De,[je,Ne,be]],["originToDirectedEdges",De,[je,Ne,be]],["directedEdgeToBoundary",De,[je,Ne,be]],["gridDistance",De,[je,Ne,je,Ne,be]],["gridPathCells",De,[je,Ne,je,Ne,be]],["gridPathCellsSize",De,[je,Ne,je,Ne,be]],["cellToLocalIj",De,[je,Ne,je,Ne,Ce,be]],["localIjToCell",De,[je,Ne,be,Ce,be]],["getHexagonAreaAvgM2",De,[kA,be]],["getHexagonAreaAvgKm2",De,[kA,be]],["getHexagonEdgeLengthAvgM",De,[kA,be]],["getHexagonEdgeLengthAvgKm",De,[kA,be]],["greatCircleDistanceM",Ce,[be,be]],["greatCircleDistanceKm",Ce,[be,be]],["greatCircleDistanceRads",Ce,[be,be]],["cellAreaM2",De,[je,Ne,be]],["cellAreaKm2",De,[je,Ne,be]],["cellAreaRads2",De,[je,Ne,be]],["edgeLengthM",De,[je,Ne,be]],["edgeLengthKm",De,[je,Ne,be]],["edgeLengthRads",De,[je,Ne,be]],["getNumCells",De,[kA,be]],["getRes0Cells",De,[be]],["res0CellCount",Ce],["getPentagons",De,[Ce,be]],["pentagonCount",Ce],["cellToVertex",De,[je,Ne,Ce,be]],["cellToVertexes",De,[je,Ne,be]],["vertexToLatLng",De,[je,Ne,be]],["isValidVertex",Or,[je,Ne]]],p1=0,g1=1,m1=2,y1=3,w1=4,Lu=5,v1=6,b1=7,_1=8,E1=9,$1=10,k1=11,x1=12,S1=13,B1=14,P1=15,D1=16,C1=17,T1=18,O1=19,gA={};gA[p1]="Success";gA[g1]="The operation failed but a more specific error is not available";gA[m1]="Argument was outside of acceptable range";gA[y1]="Latitude or longitude arguments were outside of acceptable range";gA[w1]="Resolution argument was outside of acceptable range";gA[Lu]="Cell argument was not valid";gA[v1]="Directed edge argument was not valid";gA[b1]="Undirected edge argument was not valid";gA[_1]="Vertex argument was not valid";gA[E1]="Pentagon distortion was encountered";gA[$1]="Duplicate input";gA[k1]="Cell arguments were not neighbors";gA[x1]="Cell arguments had incompatible resolutions";gA[S1]="Memory allocation failed";gA[B1]="Bounds of provided memory were insufficient";gA[P1]="Mode or flags argument was not valid";gA[D1]="Index argument was not valid";gA[C1]="Base cell number was outside of acceptable range";gA[T1]="Child indexing digits invalid";gA[O1]="Child indexing digits refer to a deleted subsequence";var j1=1e3,Uu=1001,Gu=1002,gi={};gi[j1]="Unknown unit";gi[Uu]="Array length out of bounds";gi[Gu]="Got unexpected null value for H3 index";var N1="Unknown error";function Fu(n,e,s){var a=s&&"value"in s,c=new Error((n[e]||N1)+" (code: "+e+(a?", value: "+s.value:"")+")");return c.code=e,c}function Vu(n,e){var s=arguments.length===2?{value:e}:{};return Fu(gA,n,s)}function zu(n,e){var s=arguments.length===2?{value:e}:{};return Fu(gi,n,s)}function mi(n){if(n!==0)throw Vu(n)}var CA={};h1.forEach(function(e){CA[e[0]]=xA.cwrap.apply(xA,e)});var jr=16;var M1=4;var R1=8,I1=8,pn=CA.sizeOfH3Index(),H1=CA.sizeOfLatLng(),$8=CA.sizeOfCellBoundary(),k8=CA.sizeOfGeoPolygon(),x8=CA.sizeOfGeoLoop(),S8=CA.sizeOfLinkedGeoPolygon(),B8=CA.sizeOfCoordIJ();function Ku(n){if(!n)throw zu(Gu);return n}var Q1=Math.pow(2,32)-1;function q1(n){if(n>Q1)throw zu(Uu,n);return n}var L1=/[^0-9a-fA-F]/;function gn(n){if(Array.isArray(n)&&n.length===2&&Number.isInteger(n[0])&&Number.isInteger(n[1]))return n;if(typeof n!="string"||L1.test(n))return[0,0];var e=parseInt(n.substring(0,n.length-8),jr),s=parseInt(n.substring(n.length-8),jr);return[s,e]}function qu(n){if(n>=0)return n.toString(jr);n=n&2147483647;var e=Yu(8,n.toString(jr)),s=(parseInt(e[0],jr)+8).toString(jr);return e=s+e.substring(1),e}function U1(n,e){return qu(e)+Yu(8,qu(n))}function Yu(n,e){for(var s=n-e.length,a="",c=0;c<s;c++)a+="0";return a=a+e,a}var P8=Math.pow(2,32);function Wo(n,e){e===void 0&&(e=0);var s=xA.getValue(n+pn*e,"i32"),a=xA.getValue(n+pn*e+M1,"i32");return a?U1(s,a):null}function G1(n){return CA.readInt64AsDoubleFromPointer(n)}function F1(n,e){for(var s=[],a=0;a<e;a++){var c=Wo(n,a);c!==null&&s.push(c)}return s}function Wu(n){var e=gn(n),s=e[0],a=e[1];return!!CA.isValidCell(s,a)}function wt(n){var e=gn(n),s=e[0],a=e[1];return CA.isValidCell(s,a)?CA.getResolution(s,a):-1}function Jo(n,e,s){var a=xA._malloc(H1);xA.HEAPF64.set([n,e].map(z1),a/R1);var c=xA._malloc(pn);try{return mi(CA.latLngToCell(a,s,c)),Ku(Wo(c))}finally{xA._free(c),xA._free(a)}}function vt(n,e){var s=gn(n),a=s[0],c=s[1],h=xA._malloc(pn);try{return mi(CA.cellToParent(a,c,e,h)),Ku(Wo(h))}finally{xA._free(h)}}function Ju(n,e){if(!Wu(n))return[];var s=gn(n),a=s[0],c=s[1],h=q1(V1(n,e)),g=xA._calloc(h,pn);try{return mi(CA.cellToChildren(a,c,e,g)),F1(g,h)}finally{xA._free(g)}}function V1(n,e){if(!Wu(n))throw Vu(Lu);var s=gn(n),a=s[0],c=s[1],h=xA._malloc(I1);try{return mi(CA.cellToChildrenSize(a,c,e,h)),G1(h)}finally{xA._free(h)}}function z1(n){return n*Math.PI/180}var Q2=Qu(el(),1),q2=Qu(Ad(),1);function td(n,e,s,a){if(Zi(a))return{id:a.id,soul:a.soul};if(!e||!s||!a||!a.id)throw new Error("createHologram: Missing required parameters for non-hologram data");let c=`${n.appname}/${e}/${s}/${a.id}`;return{id:a.id,soul:c}}function Ji(n){if(typeof n!="string")return null;let e=n.split("/");if(e.length<4)return null;let s=e.slice(3).join("/");return{appname:e[0],holon:e[1],lens:e[2],key:s}}function Zi(n){return!n||typeof n!="object"?!1:!!(n.id&&typeof n.soul=="string"&&n.soul.length>0&&n.soul.includes("/"))}function Kn(n,e){let s=Ji(e);return{...n,_hologram:{isHologram:!0,soul:e,sourceHolon:s?.holon??null,sourceLens:s?.lens??null,sourceKey:s?.key??null,resolvedAt:Date.now()}}}async function rd(n,e,s={}){if(!Zi(e))return e;let{followHolograms:a=!0,visited:c=new Set,maxDepth:h=10,currentDepth:g=0}=s;if(g>=h)return console.warn(`!!! Maximum resolution depth (${h}) reached for soul: ${e.soul}. Stopping resolution.`),null;if(e.soul&&c.has(e.soul))return console.warn(`!!! CIRCULAR hologram detected for soul: ${e.soul}. Breaking loop.`),null;try{if(e.soul){let m=Ji(e.soul);if(!m)return console.warn(`Invalid soul format: ${e.soul}`),null;let v=new Set(c);v.add(e.soul);let b=await n.get(m.holon,m.lens,m.key,null,{resolveHolograms:a,visited:v,maxDepth:h,currentDepth:g+1});if(b&&!b._invalidHologram){let w=Kn(b,e.soul);if(w._hologram?.sourceHolon&&typeof n.getHolonName=="function")try{let E=await n.getHolonName(w._hologram.sourceHolon);E&&(w._hologram={...w._hologram,sourceHolonName:E})}catch{}return w}else return console.warn(`Could not resolve hologram soul: ${e.soul} (target not present locally)`),null}else return console.warn("!!! resolveHologram called with object missing soul:",e),null}catch(m){return m.message?.startsWith("CIRCULAR_REFERENCE")?(console.warn(`!!! Circular reference detected during hologram resolution: ${m.message}`),null):(console.error(`!!! Error resolving hologram: ${m.message}`,m),null)}}async function Yn(n,e){if(!n||!e)return null;try{let s=await n.get(e,"settings",e);if(!s)return null;if(Array.isArray(s)){let a=s.find(c=>c&&typeof c.name=="string"&&c.name.trim()!=="");return a?a.name:null}return typeof s.name=="string"&&s.name.trim()!==""?s.name:null}catch{return null}}async function ea(n,e,s,a=null,c=null,h=!0,g={}){if(!e||!s)throw new Error("federate: Missing required space IDs");if(e===s)throw new Error("Cannot federate a space with itself");let{inbound:m=[],outbound:v=[]}=g;if(!Array.isArray(m)||!Array.isArray(v))throw new Error("federate: lensConfig.inbound and lensConfig.outbound must be arrays");let b=(w,E,$,k)=>{w.federated||(w.federated=[]),w.inbound||(w.inbound=[]),w.outbound||(w.outbound=[]),w.lensConfig||(w.lensConfig={}),w.federated.includes(E)||w.federated.push(E);let T=$.length>0,x=k.length>0;T&&!w.inbound.includes(E)?w.inbound.push(E):T||(w.inbound=w.inbound.filter(M=>M!==E)),x&&!w.outbound.includes(E)?w.outbound.push(E):x||(w.outbound=w.outbound.filter(M=>M!==E)),w.lensConfig[E]={inbound:[...$],outbound:[...k],timestamp:Date.now()},w.timestamp=Date.now()};try{let w=null;try{w=await n.getGlobal("federation",e,a)}catch{}w==null&&(w={id:e,name:e,federated:[],inbound:[],outbound:[],lensConfig:{},partnerNames:{},timestamp:Date.now()}),b(w,s,m,v);try{await n.putGlobal("federation",w,a)}catch(E){throw new Error(`Failed to create federation: ${E.message}`)}if(h){let E=null;try{E=await n.getGlobal("federation",s,c)}catch{}E==null&&(E={id:s,name:s,federated:[],inbound:[],outbound:[],lensConfig:{},partnerNames:{},timestamp:Date.now()}),b(E,e,v,m);try{await n.putGlobal("federation",E,c)}catch{}}return!0}catch(w){throw w}}async function id(n,e,s=null,a,c={}){if(!e||!a)throw new Error("subscribeFederation: Missing required parameters");let{lenses:h=["*"],throttle:g=0}=c,m=await n.getGlobal("federation",e,s);if(!m)throw new Error("No federation info found for space");let v=[],b={},w=new Map;if(m.inbound&&m.inbound.length>0){await Promise.all(m.inbound.map(async E=>{let $=await Yn(n,E);w.set(E,$)}));for(let E of m.inbound)for(let $ of h)try{let k=await n.subscribe(E,$,async T=>{try{if(!T||!T.id)return;let x=Date.now(),M=`${E}_${$}_${T.id}`;if(g>0){if(b[M]&&x-b[M]<g)return;b[M]=x}if(!T._federation){let N=w.get(E);T._federation={origin:E,sourceLens:$,timestamp:x,...N?{originName:N}:{}}}await a(T,E,$)}catch{}});k&&typeof k.unsubscribe=="function"&&v.push(k)}catch{}}return{unsubscribe:()=>{v.forEach(E=>{try{E&&typeof E.unsubscribe=="function"&&E.unsubscribe()}catch{}}),v.length=0,b={}},getSubscriptionCount:()=>v.length}}async function Yt(n,e,s=null){if(!e)throw new Error("getFederation: Missing space ID");return await n.getGlobal("federation",e,s)}async function od(n,e,s,a=null){if(!n||!e||!s)throw new Error("getFederatedConfig: Missing required parameters");try{let c=await Yt(n,e,a);return c&&c.lensConfig&&c.lensConfig[s]?{inbound:c.lensConfig[s].inbound||[],outbound:c.lensConfig[s].outbound||[]}:null}catch(c){throw console.error(`Error getting federated config for ${e} -> ${s}: ${c.message}`),c}}async function Aa(n,e,s,a=null,c=null){if(!e||!s)throw new Error("unfederate: Missing required space IDs");try{let h=null;try{h=await n.getGlobal("federation",e,a)}catch(v){console.error(`Error getting fedInfo1 for ${e} during unfederate: ${v.message}`)}if(!h)console.warn(`No federation info found for ${e}. Skipping its update.`);else{h.federated||(h.federated=[]),h.inbound||(h.inbound=[]),h.outbound||(h.outbound=[]),h.lensConfig||(h.lensConfig={}),h.partnerNames||(h.partnerNames={});let v=h.inbound.length,b=h.outbound.length;h.federated=h.federated.filter(w=>w!==s),h.inbound=h.inbound.filter(w=>w!==s),h.outbound=h.outbound.filter(w=>w!==s),delete h.lensConfig[s],delete h.partnerNames[s],h.timestamp=Date.now(),console.log(`Unfederate: removed ${s} from ${e}: inbound ${v} -> ${h.inbound.length}, outbound ${b} -> ${h.outbound.length}`);try{await n.putGlobal("federation",h,a)}catch(w){throw console.error(`Failed to update fedInfo1 for ${e} during unfederate: ${w.message}`),w}}if(c){let v=null;try{v=await n.getGlobal("federation",s,c)}catch(b){console.error(`Error getting fedInfo2 for ${s} during unfederate: ${b.message}`)}if(!v)console.warn(`No federation info found for ${s}. Skipping its update.`);else{v.federated||(v.federated=[]),v.inbound||(v.inbound=[]),v.outbound||(v.outbound=[]),v.lensConfig||(v.lensConfig={}),v.partnerNames||(v.partnerNames={}),v.federated=v.federated.filter(b=>b!==e),v.inbound=v.inbound.filter(b=>b!==e),v.outbound=v.outbound.filter(b=>b!==e),delete v.lensConfig[e],delete v.partnerNames[e],v.timestamp=Date.now();try{await n.putGlobal("federation",v,c)}catch(b){throw console.error(`Failed to update fedInfo2 for ${s} during unfederate: ${b.message}`),b}}}let g=`${e}_${s}`,m=`${s}_${e}`;try{let v=await n.getGlobal("federationMeta",g)||await n.getGlobal("federationMeta",m);v&&(v.status="inactive",v.endedAt=Date.now(),await n.putGlobal("federationMeta",v))}catch(v){console.warn(`Failed to update federationMeta during unfederate: ${v.message}`)}return!0}catch(h){throw console.error(`Critical error during unfederate operation for ${e}-${s}: ${h.message}`),h}}async function sd(n,e,s,a=null){if(!e||!s)throw new Error("removeNotify: Missing required space IDs");try{let c=await n.getGlobal("federation",e,a);if(!c)throw new Error(`No federation info found for ${e}`);return c.outbound||(c.outbound=[]),c.outbound.includes(s)?(c.outbound=c.outbound.filter(h=>h!==s),c.lensConfig?.[s]&&(c.lensConfig[s].outbound=[]),c.timestamp=Date.now(),await n.putGlobal("federation",c,a),!0):!1}catch(c){throw c}}async function ad(n,e,s,a={}){let{queryIds:c=null,aggregate:h=!1,idField:g="id",sumFields:m=[],concatArrays:v=[],removeDuplicates:b=!0,mergeStrategy:w=null,includeLocal:E=!0,includeFederated:$=!0,resolveReferences:k=!0,maxFederatedSpaces:T=-1,timeout:x=1e4,includeUnresolvedStubs:M=!1}=a;if(console.log(`resolveReferences option: ${k}`),console.log("Querying specific IDs:",c?c.join(", "):"No (fetching all)"),!n||!e||!s)throw new Error("Missing required parameters: holosphere, holon, and lens are required");let q=await Yt(n,e),L=new Map,G=new Set,V=[],Y=[];if(E&&Y.push(e),$&&q&&q.inbound&&q.inbound.length>0){let le=T===-1?q.inbound:q.inbound.slice(0,T);Y=Y.concat(le)}let fe=Y.filter(le=>le!==e),K=new Map;await Promise.all(fe.map(async le=>{let D=await Yn(n,le);K.set(le,D)}));let X=(le,D)=>{if(!le||D===e)return le;let B=K.get(D),C={...le._federation||{},origin:D,sourceLens:s};return B&&(C.originName=B),{...le,_federation:C}};for(let le of Y)if(c&&Array.isArray(c)){console.log(`Fetching specific IDs from ${le}: ${c.join(", ")}`);for(let D of c)L.has(D)||V.push(n.get(le,s,D).then(B=>{B&&L.set(D,X(B,le))}).catch(B=>console.warn(`Error fetching item ${D} from ${le}: ${B.message}`)))}else le===e&&E&&console.warn(`getFederated: No queryIds provided. Falling back to fetching ALL items from ${le} using getAll. This can be inefficient.`),console.log(`Fetching ALL items from ${le}`),V.push(n.getAll(le,s).then(D=>{for(let B of D)B&&B[g]&&!L.has(B[g])&&L.set(B[g],X(B,le))}).catch(D=>console.warn(`Error fetching all items from ${le}: ${D.message}`)));await Promise.all(V);let ye=Array.from(L.values());if(k&&ye.length>0){console.log(`Resolving references for ${ye.length} fetched items`);for(let le=0;le<ye.length;le++){let D=ye[le];if(D.soul&&D.id){console.log(`Found simple reference with soul: ${D.soul}`);try{let B=D.soul.split("/");if(B.length>=4){let C=B[1],Q=B[2],W=B[3];console.log(`Extracting from soul - holon: ${C}, lens: ${Q}, key: ${W}`);let J=await n.get(C,Q,W,null,{resolveReferences:!0});if(console.log("Original data found via soul path:",JSON.stringify(J)),J){let z=Kn(J,D.soul);if(z._hologram?.sourceHolon){let ne=K.get(z._hologram.sourceHolon);ne===void 0&&(ne=await Yn(n,z._hologram.sourceHolon),K.set(z._hologram.sourceHolon,ne)),ne&&(z._hologram={...z._hologram,sourceHolonName:ne})}ye[le]=z}else ye[le]={id:D.id,_hologram:{isHologram:!1,soul:D.soul,error:"Referenced data not found",resolvedAt:Date.now()}}}else console.warn(`Soul doesn't match expected format: ${D.soul}`),ye[le]={id:D.id,_hologram:{isHologram:!1,soul:D.soul,error:"Invalid soul format",resolvedAt:Date.now()}}}catch(B){ye[le]={id:D.id,_hologram:{isHologram:!1,soul:D.soul,error:B.message||"Error resolving reference",resolvedAt:Date.now()}}}}}}if(h&&ye.length>0){let le=ye.reduce((B,C)=>{let Q=C[g];return B[Q]||(B[Q]=[]),B[Q].push(C),B},{}),D=Object.values(le).map(B=>{if(B.length===1)return B[0];if(w&&typeof w=="function")return w(B);let C={...B[0]};for(let Q of m)typeof C[Q]=="number"&&(C[Q]=B.reduce((W,J)=>W+(Number(J[Q])||0),0));for(let Q of v)if(Array.isArray(C[Q])){let W=B.reduce((J,z)=>Array.isArray(z[Q])?[...J,...z[Q]]:J,[]);C[Q]=b?Array.from(new Set(W)):W}return C._aggregated={count:B.length,timestamp:Date.now()},C});return M?D:D.filter(nd)}return M?ye:ye.filter(nd)}function nd(n){return!n||typeof n!="object"?!1:n._hologram?.isHologram!==!1}async function ud(n,e,s,a,c={}){if(!n||!e||!s||!a)throw new Error("propagate: Missing required parameters");let{useHolograms:h=!0,targetSpaces:g=null,password:m=null,propagateToParents:v=!0,maxParentLevels:b=15}=c,w={success:0,errors:0,skipped:0,messages:[],parentPropagation:{success:0,errors:0,skipped:0,messages:[]}};try{let E=await Yt(n,e,m);if(E&&E.outbound&&E.outbound.length>0){let $=E.outbound.filter(k=>String(k)!==String(e));if(g&&Array.isArray(g)&&g.length>0&&($=$.filter(k=>g.includes(k))),$.length>0)if($=$.filter(k=>{let T=E.lensConfig?.[k];if(!T)return w.messages.push(`No lens configuration for target space ${k}. Skipping propagation of lens '${s}'.`),w.skipped++,!1;let x=Array.isArray(T.outbound)?T.outbound:[],M=x.includes("*")||x.includes(s);return M||(w.messages.push(`Propagation of lens '${s}' to target space ${k} skipped: lens not in 'outbound' configuration.`),w.skipped++),M}),$.length>0){let k=n.isHologram(a),T=await Yn(n,e),x=$.map(async M=>{try{let N,q={origin:e,sourceLens:s,propagatedAt:Date.now(),originalId:a.id,...T?{originName:T}:{}};return h&&!k?N={...n.createHologram(e,s,a),_federation:q}:N={...a,_federation:{...a._federation||{},...q}},String(M)===String(e)?(w.skipped++,!0):(await n.put(M,s,N,null,{disableHologramRedirection:!0,autoPropagate:!1}),w.success++,!0)}catch(N){return w.errors++,w.messages.push(`Error propagating ${a.id} to ${M}: ${N.message}`),!1}});await Promise.all(x)}else w.messages.push("No valid target spaces for federation propagation after lens filtering.");else w.messages.push("No valid target spaces found for federation propagation.")}else w.messages.push(`No federation found for ${e} or no notification targets available.`);if(v)try{let $,k=!1;if(typeof e=="string"&&/^[8][0-9A-Fa-f]+$/.test(e)&&e.length>=15)try{$=wt(e),$>=0&&$<=15?k=!0:console.log(`[Federation] Holon ${e} has invalid resolution: ${$}`)}catch(T){console.log(`[Federation] Holon ${e} failed H3 validation: ${T.message}`)}if(k||(w.parentPropagation.messages.push(`Holon ${e} is not a valid H3 hexagon. Skipping parent propagation.`),w.parentPropagation.skipped++),k&&$!==void 0){let T=[],x=e,M=$,N=0;for(;M>0&&N<b;)try{let q=vt(x,M-1);T.push(q),x=q,M--,N++}catch(q){console.error(`[Federation] Error getting parent for ${x}: ${q.message}`),w.parentPropagation.messages.push(`Error getting parent for ${x}: ${q.message}`),w.parentPropagation.errors++;break}if(T.length>0){w.parentPropagation.messages.push(`Found ${T.length} parent hexagons to propagate to: ${T.join(", ")}`);let q=n.isHologram(a),L=await Yn(n,e),G=T.map(async V=>{try{let Y,fe={origin:e,sourceLens:s,propagatedAt:Date.now(),originalId:a.id,propagationType:"parent",parentLevel:$-wt(V),...L?{originName:L}:{}};return h&&!q?Y={...n.createHologram(e,s,a),_federation:fe}:Y={...a,_federation:{...a._federation||{},...fe}},await n.put(V,s,Y,null,{disableHologramRedirection:!0,autoPropagate:!1}),console.log(`[Federation] Successfully propagated to parent hexagon: ${V}`),w.parentPropagation.success++,!0}catch(Y){return console.error(`[Federation] Error propagating ${a.id} to parent hexagon ${V}: ${Y.message}`),w.parentPropagation.errors++,w.parentPropagation.messages.push(`Error propagating ${a.id} to parent hexagon ${V}: ${Y.message}`),!1}});await Promise.all(G)}else w.parentPropagation.messages.push(`No parent hexagons found for ${e} (already at resolution 0 or max levels reached)`),w.parentPropagation.skipped++}}catch($){console.error(`[Federation] Error during parent propagation: ${$.message}`),w.parentPropagation.errors++,w.parentPropagation.messages.push(`Error during parent propagation: ${$.message}`)}return w.propagated=w.success>0||w.parentPropagation.success>0,w}catch(E){return{...w,error:E.message}}}async function ld(n,e,s,a,c,h="generic"){let g=`${e}_${s}_fedmsgs`,m=await n.getGlobal("federation_messages",g)||{id:g,originalChatId:e,originalMessageId:s,type:h,messages:[]},v=m.messages.find(b=>b.chatId===a);v?(v.messageId=c,v.timestamp=Date.now()):m.messages.push({chatId:a,messageId:c,timestamp:Date.now()}),await n.putGlobal("federation_messages",m)}async function ta(n,e,s){let a=`${e}_${s}_fedmsgs`;return await n.getGlobal("federation_messages",a)}async function fd(n,e,s,a){let c=await ta(n,e,s);if(c?.messages)for(let h of c.messages)try{await a(h.chatId,h.messageId)}catch{}}async function cd(n,e,s=null,a={}){if(!e)throw new Error("resetFederation: Missing required space ID");let{notifyPartners:c=!0,spaceName:h=null}=a,g={success:!1,federatedCount:0,notifyCount:0,partnersNotified:0,errors:[]};try{let m=await Yt(n,e,s);if(!m)return{...g,success:!0,message:"No federation configuration found for this space"};let v=m.federated||[];g.federatedCount=v.length,g.inboundCount=m.inbound?.length||0,g.outboundCount=m.outbound?.length||0;let b={id:e,name:h||e,federated:[],inbound:[],outbound:[],lensConfig:{},partnerNames:{},timestamp:Date.now()};if(await n.putGlobal("federation",b,s),c&&v.length>0){let w=v.map(async E=>{try{let $=await Yt(n,E);if(!$)return!1;let k=e.toString();return $.federated&&($.federated=$.federated.filter(T=>T!==k)),$.inbound&&($.inbound=$.inbound.filter(T=>T!==k)),$.outbound&&($.outbound=$.outbound.filter(T=>T!==k)),$.lensConfig&&delete $.lensConfig[k],$.partnerNames&&delete $.partnerNames[k],$.timestamp=Date.now(),await n.putGlobal("federation",$),g.partnersNotified++,!0}catch($){return g.errors.push({partner:E,error:$.message}),!1}});await Promise.all(w)}for(let w of v)try{let E=`${e}_${w}`,$=`${w}_${e}`,k=await n.getGlobal("federationMeta",E)||await n.getGlobal("federationMeta",$);k&&(k.status="inactive",k.endedAt=Date.now(),await n.putGlobal("federationMeta",k))}catch{}return g.success=!0,g}catch(m){return{...g,success:!1,error:m.message}}}async function dd(n,e,s){if(!e||!s)throw new Error("setSchema: Missing required parameters");if(!s.type||typeof s.type!="string")throw new Error("setSchema: Schema must have a type field");let a={type:"object",required:["type","properties"],properties:{type:{type:"string"},properties:{type:"object",additionalProperties:{type:"object",required:["type"],properties:{type:{type:"string"}}}},required:{type:"array",items:{type:"string"}}}};if(!n.validator.validate(a,s))throw new Error(`Invalid schema structure: ${JSON.stringify(n.validator.errors)}`);if(!s.properties||typeof s.properties!="object")throw new Error("Schema must have properties in strict mode");if(!s.required||!Array.isArray(s.required)||s.required.length===0)throw new Error("Schema must have required fields in strict mode");return await n.putGlobal("schemas",{id:e,schema:s,timestamp:Date.now()}),n.schemaCache.set(e,{schema:s,timestamp:Date.now()}),!0}async function hd(n,e,s={}){if(!e)throw new Error("getSchema: Missing lens parameter");let{useCache:a=!0,maxCacheAge:c=36e5}=s;if(a&&n.schemaCache.has(e)){let g=n.schemaCache.get(e);if(Date.now()-g.timestamp<c)return g.schema}let h=await n.getGlobal("schemas",e);return!h||!h.schema?null:(n.schemaCache.set(e,{schema:h.schema,timestamp:Date.now()}),h.schema)}function pd(n,e=null){return e?n.schemaCache.delete(e):(n.schemaCache.clear(),!0)}function ra(n,e=8e3){return new Promise(s=>{let a=!1,c=h=>{a||(a=!0,s(h))};n.once(h=>c(h)),e>0&&setTimeout(()=>c(null),e)})}function na(n,e="",s=new WeakSet,a=[]){if(n===null)return null;let c=typeof n;if(c==="number"){if(!Number.isFinite(n)){a.push(`${e||"<root>"}: ${n} (non-finite number)`);return}return n}if(c==="string"||c==="boolean")return n;if(c==="undefined"||c==="function"||c==="symbol"||c==="bigint"){a.push(`${e||"<root>"}: ${c}`);return}if(c==="object"){if(s.has(n)){a.push(`${e||"<root>"}: circular reference`);return}if(s.add(n),Array.isArray(n)){let g=[];for(let m=0;m<n.length;m++){let v=na(n[m],`${e}[${m}]`,s,a);g.push(v===void 0?null:v)}return g}let h={};for(let g of Object.keys(n)){let m=na(n[g],e?`${e}.${g}`:g,s,a);m!==void 0&&(h[g]=m)}return h}a.push(`${e||"<root>"}: unsupported type ${c}`)}async function gd(n,e,s,a,c=null,h={}){if(!a)throw new Error("put: Missing required data parameter");if(!e||!s)throw new Error("put: Missing required holon or lens parameters:",e,s);let{disableHologramRedirection:g=!1}=h,m=e,v=s,b=a.id;b||(b=n.generateId(),a.id=b);try{let E=await ia(n,m,v,b,c,{resolveHolograms:!1});if(!g&&E&&n.isHologram(E)){let $=n.parseSoulPath(E.soul);$?($.appname!==n.appname&&console.warn(`Existing hologram at ${m}/${v}/${b} has appname (${$.appname}) in its soul ${E.soul} which does not match current HoloSphere instance appname (${n.appname}). Redirecting put to soul's holon/lens within this instance.`),m=$.holon,v=$.lens,b=$.key,a.id!==b&&console.warn(`Data ID ('${a.id}') differs from redirected target key ('${b}') derived from existing hologram's soul. Data will be stored under key '${b}'.`)):console.warn(`Existing item at ${m}/${v}/${b} (ID: ${E.id}) is a hologram, but its soul ('${E.soul}') is invalid. Proceeding with original target.`)}}catch(E){E.message&&E.message.includes("RESOLVED_NULL")||console.warn(`Error checking for existing hologram at ${m}/${v}/${b}: ${E.message}. Proceeding with original target.`)}let w=n.isHologram(a);if(n.strict&&!w){let E=await n.getSchema(v);if(!E)throw new Error("Schema required in strict mode");let $=JSON.parse(JSON.stringify(a));if(!n.validator.validate(E,$)){let T=`Schema validation failed: ${JSON.stringify(n.validator.errors)}`;throw new Error(T)}}try{let E=null;return c&&(E=n.gun.user(),await new Promise(($,k)=>{let T=n.userName(m);E.auth(T,c,x=>{x.err?(console.log(`Initial auth failed for ${T} during put, attempting to create...`),E.create(T,c,M=>{M.err?M.err.includes("already created")||M.err.includes("already being created")?(console.log(`User ${T} already existed or being created during put, re-attempting auth with fresh user object.`),n.gun.user().auth(T,c,q=>{q.err&&console.log(`Auth still failed after user existed check: ${q.err}. Resolving anyway for test operations.`),$()})):(console.log(`Create user error (resolving anyway for operations): ${M.err}`),$()):(console.log(`User ${T} created successfully during put, attempting auth...`),E.auth(T,c,N=>{N.err?k(new Error(`Failed to auth after create for ${T} during put: ${N.err}`)):$()}))})):$()})})),new Promise(($,k)=>{try{let T=[],x=na(a,"",new WeakSet,T)||{};T.length>0&&console.warn(`holosphere.put: sanitized ${T.length} field(s) at ${m}/${v}/${b} (id=${a.id}):`,T),x._meta!==void 0&&delete x._meta,x._hologram!==void 0&&delete x._hologram,!w&&x._federation!==void 0&&delete x._federation;let M=JSON.stringify(x),N=async L=>{if(L.err)k(new Error(L.err));else{if(w)try{if(n.parseSoulPath(a.soul)){let K=n.getNodeRef(a.soul),X=`${n.appname}/${m}/${v}/${b}`;K.get("_holograms").get(X).put(!0)}else console.warn(`Data (ID: ${a.id}) being put is a hologram, but could not parse its soul ${a.soul} for tracking.`)}catch(fe){console.warn(`Error updating _holograms set for the target of the data being put (data ID: ${a.id}, soul: ${a.soul}):`,fe)}let G=[];if(!w&&!h.isHologramUpdate)try{let fe=`${n.appname}/${m}/${v}/${b}`,K=n.getNodeRef(fe);await new Promise(X=>{K.get("_holograms").once(async ye=>{if(ye){let le=Object.keys(ye).filter(D=>D!=="_"&&ye[D]===!0);if(le.length>0){let D=le.map(async B=>{try{let C=n.parseSoulPath(B);if(C){let Q=await n.get(C.holon,C.lens,C.key,null,{resolveHolograms:!1});if(Q){let W={...Q,updated:Date.now()};await n.put(C.holon,C.lens,W,null,{autoPropagate:!1,disableHologramRedirection:!0,isHologramUpdate:!0}),G.push({soul:B,holon:C.holon,lens:C.lens,key:C.key,id:C.key,timestamp:W.updated})}}}catch(C){console.warn(`Error updating hologram ${B}:`,C)}});await Promise.all(D)}}X()})})}catch(fe){console.warn("Error checking for active holograms to update:",fe)}w||n.notifySubscribers({holon:m,lens:v,...a});let V=h.autoPropagate!==!1&&!w,Y=null;if(V)try{let fe={useHolograms:!0,...h.propagationOptions};Y=await n.propagate(m,v,a,fe),Y&&Y.errors>0&&console.warn("Auto-propagation had errors:",Y)}catch(fe){console.warn("Error in auto-propagation:",fe)}$({success:!0,isHologramAtPath:w,pathHolon:m,pathLens:v,pathKey:b,propagationResult:Y,updatedHolograms:G})}};(c?E.get("private").get(v).get(b):n.gun.get(n.appname).get(m).get(v).get(b)).put(M,N)}catch(T){k(T)}})}catch(E){throw console.error("Error in put:",E),E}}async function ia(n,e,s,a,c=null,h={}){if(!e||!s||!a)return console.error("get: Missing required parameters"),null;let{resolveHolograms:g=!0,validationOptions:m={},visited:v,timeout:b=8e3,includeDeleted:w=!1}=h,E=null;if(n.strict&&(E=await n.getSchema(s),!E))throw new Error("Schema required in strict mode");try{let $=null;return c&&($=n.gun.user(),await new Promise((k,T)=>{let x=n.userName(e);$.auth(x,c,M=>{M.err?T(new Error(`Authentication failed for ${x} during get: ${M.err}`)):k()})})),new Promise(k=>{let T=async M=>{let N=null;if(!M){k(null);return}try{if(N=await n.parse(M),!N){k(null);return}if(!w&&N._deleted===!0){k(null);return}if(g&&n.isHologram(N)){let q=await n.resolveHologram(N,{followHolograms:g,visited:v,maxDepth:h.maxDepth||10,currentDepth:h.currentDepth||0});if(q===null){console.warn(`Hologram at ${e}/${s}/${a} did not resolve (soul=${N.soul}); skipping.`),k(null);return}q!==N&&(N=q)}if(E&&!n.validator.validate(E,N)&&(console.error("get: Invalid data according to schema:",n.validator.errors),n.strict)){k(null);return}k(N)}catch(q){q.message?.startsWith("CIRCULAR_REFERENCE")?(console.warn(`Caught circular reference during get/handleData for key ${a}. Resolving null.`),k(null)):(console.error("Error processing data in get/handleData:",q),k(null))}},x=c?$.get("private").get(s).get(a):n.gun.get(n.appname).get(e).get(s).get(a);ra(x,b).then(T)})}catch($){return console.error("Error in get:",$),null}}async function oa(n,e,s,a=null,c={}){if(!e||!s)throw new Error("getAll: Missing required parameters");let{timeout:h=8e3,includeDeleted:g=!1}=c,m=await n.getSchema(s);if(!m&&n.strict)throw new Error("getAll: Schema required in strict mode");try{let v=null;return a&&(v=n.gun.user(),await new Promise((b,w)=>{let E=n.userName(e);v.auth(E,a,$=>{$.err?(console.log(`Initial auth failed for ${E} during getAll, attempting to create...`),v.create(E,a,k=>{k.err?k.err.includes("already created")||k.err.includes("already being created")?(console.log(`User ${E} already existed or being created during getAll, re-attempting auth with fresh user object.`),n.gun.user().auth(E,a,x=>{x.err&&console.log(`Auth still failed after user existed check: ${x.err}. Resolving anyway for test operations.`),b()})):(console.log(`Create user error (resolving anyway for operations): ${k.err}`),b()):(console.log(`User ${E} created successfully during getAll, attempting auth...`),v.auth(E,a,T=>{T.err?w(new Error(`Failed to auth after create for ${E} during getAll: ${T.err}`)):b()}))})):b()})})),new Promise(b=>{let w=new Map,E=[],$=a?v.get("private").get(s):n.gun.get(n.appname).get(e).get(s),k=()=>ra($,h),T=x=>{if(!x){b([]);return}let M=Object.keys(x).filter(L=>{if(L==="_")return!1;let G=x[L];return!(G===null||typeof G=="object"&&G["#"])});if(M.length===0){b([]);return}let q=async(L,G)=>{if(L)try{let V=await n.parse(L);if(!V||!V.id||!g&&V._deleted===!0)return;if(n.isHologram(V))try{let Y=await n.resolveHologram(V,{followHolograms:!0,maxDepth:10,currentDepth:0});if(Y===null){console.warn(`Hologram at ${e}/${s}/${G} did not resolve (soul=${V.soul}); skipping.`);return}if(Y&&Y!==V){m?(n.validator.validate(m,Y)||!n.strict)&&w.set(Y.id,Y):w.set(Y.id,Y);return}}catch(Y){console.error(`Error resolving hologram for key ${G}:`,Y);return}m?(n.validator.validate(m,V)||!n.strict)&&w.set(V.id,V):w.set(V.id,V)}catch(V){console.error("Error processing data:",V)}};Promise.all(M.map(L=>{let G=x[L];return typeof G!="object"||G===null?q(G,L):ra($.get(L),h).then(V=>q(V,L))})).then(()=>b(Array.from(w.values())))};(async()=>{let x=await k();x||(await new Promise(M=>setTimeout(M,1500)),x=await k()),T(x)})()})}catch(v){return console.error("Error in getAll:",v),[]}}async function md(n,e){if(e==null)return console.warn("Parse received null or undefined data."),null;if(typeof e=="string")try{return JSON.parse(e)}catch{return console.warn("Data was a string but not valid JSON, returning null:",e),null}if(typeof e=="object"&&e!==null){if(e.soul&&typeof e.soul=="string"&&e.id)return e;if(n.isHologram(e))return e;if(e._){console.warn("Parsing raw Gun object with metadata (_) - attempting cleanup:",e);let s=Object.keys(e).reduce((a,c)=>(c!=="_"&&(a[c]=e[c]),a),{});return Object.keys(s).length===0?(console.warn("Raw Gun object had only metadata (_), returning null."),null):s}else return e}return console.warn("Parsing encountered unexpected data type, returning null:",typeof e,e),null}async function yd(n,e,s,a,c=null){if(!e||!s||!a)throw new Error("delete: Missing required parameters");try{let h=null;c&&(h=n.gun.user(),await new Promise((E,$)=>{let k=n.userName(e);h.auth(k,c,T=>{T.err?(console.log(`Initial auth failed for ${k} during deleteFunc, attempting to create...`),h.create(k,c,x=>{x.err?x.err.includes("already created")?(console.log(`User ${k} already existed during deleteFunc, re-attempting auth with fresh user object.`),n.gun.user().auth(k,c,N=>{N.err?$(new Error(`Failed to auth with fresh user object after create attempt (user existed) for ${k} during deleteFunc: ${N.err}`)):E()})):$(new Error(`Failed to create user ${k} during deleteFunc: ${x.err}`)):(console.log(`User ${k} created successfully during deleteFunc, attempting auth...`),h.auth(k,c,M=>{M.err?$(new Error(`Failed to auth after create for ${k} during deleteFunc: ${M.err}`)):E()}))})):E()})}));let g=c?h.get("private").get(s).get(a):n.gun.get(n.appname).get(e).get(s).get(a),m=Promise.resolve(),v=await new Promise(E=>g.once(E)),b=null;try{typeof v=="string"?b=JSON.parse(v):b=v}catch(E){console.warn("[deleteFunc] Could not JSON parse data for deletion check:",v,E),b=null}if(b&&n.isHologram(b))try{let E=b.soul;if(n.parseSoulPath(E)){let k=n.getNodeRef(E),T=`${n.appname}/${e}/${s}/${a}`;m=new Promise(x=>{k.get("_holograms").get(T).put(null,M=>{M.err&&console.warn(`[deleteFunc] Error removing hologram ${T} from target ${E}:`,M.err),x()})})}else console.warn(`Could not parse target soul ${E} for hologram tracking removal.`)}catch(E){console.warn(`Error initiating hologram reference removal from target ${b.soul}:`,E),m=Promise.resolve()}return await m,new Promise((E,$)=>{g.put(null,k=>{k.err?$(new Error(k.err)):E(!0)})})}catch(h){throw console.error("Error in delete:",h),h}}async function wd(n,e,s,a=null){if(!e||!s)return console.error("deleteAll: Missing holon or lens parameter"),!1;try{let c=null;return a&&(c=n.gun.user(),await new Promise((h,g)=>{let m=n.userName(e);c.auth(m,a,v=>{v.err?(console.log(`Initial auth failed for ${m} during deleteAll, attempting to create...`),c.create(m,a,b=>{b.err?b.err.includes("already created")||b.err.includes("already being created")?(console.log(`User ${m} already existed or being created during deleteAll, re-attempting auth with fresh user object.`),n.gun.user().auth(m,a,E=>{E.err&&console.log(`Auth still failed after user existed check: ${E.err}. Resolving anyway for test operations.`),h()})):(console.log(`Create user error (resolving anyway for operations): ${b.err}`),h()):(console.log(`User ${m} created successfully during deleteAll, attempting auth...`),c.auth(m,a,w=>{w.err?g(new Error(`Failed to auth after create for ${m} during deleteAll: ${w.err}`)):h()}))})):h()})})),new Promise(h=>{let g=[];(a?c.get("private").get(s):n.gun.get(n.appname).get(e).get(s)).once(async v=>{if(!v){h(!0);return}let b=Object.keys(v).filter(w=>w!=="_");for(let w of b)try{let E=a?c.get("private").get(s).get(w):n.gun.get(n.appname).get(e).get(s).get(w),$=await new Promise(x=>E.once(x)),k=null;try{typeof $=="string"?k=JSON.parse($):k=$}catch(x){console.warn("[deleteAll] Could not JSON parse data for deletion check:",$,x),k=null}if(k&&n.isHologram(k))try{let x=k.soul;if(n.parseSoulPath(x)){let N=n.getNodeRef(x),q=`${n.appname}/${e}/${s}/${w}`;await new Promise(L=>{N.get("_holograms").get(q).put(null,G=>{G.err&&console.warn(`[deleteAll] Error removing hologram ${q} from target ${x}:`,G.err),L()})})}else console.warn(`Could not parse target soul ${x} for hologram tracking removal during deleteAll.`)}catch(x){console.warn(`Error removing hologram reference from target ${k.soul} during deleteAll:`,x)}g.push(new Promise(x=>{(a?c.get("private").get(s).get(w):n.gun.get(n.appname).get(e).get(s).get(w)).put(null,N=>{x(!!N.ok)})}))}catch(E){console.warn(`Error processing key ${w} during deleteAll:`,E),g.push(new Promise($=>{(a?c.get("private").get(s).get(w):n.gun.get(n.appname).get(e).get(s).get(w)).put(null,T=>{$(!!T.ok)})}))}Promise.all(g).then(w=>{let E=w.every($=>$===!0);h(E)}).catch(w=>{console.error("Error in deleteAll:",w),h(!1)})})})}catch(c){return console.error("Error in deleteAll:",c),!1}}async function vd(n,e,s,a){if(!e||!s||!a)throw new Error("putNode: Missing required parameters");return new Promise((c,h)=>{try{let g=a.value&&n.isHologram(a.value);n.gun.get(n.appname).get(e).get(s).get("value").put(a.value,m=>{if(m.err)h(new Error(m.err));else{if(g)try{if(n.parseSoulPath(a.value.soul)){let b=n.getNodeRef(a.value.soul),w=`${n.appname}/${e}/${s}/value`;b.get("_holograms").get(w).put(!0)}else console.warn(`Data (ID: ${a.id}) being put is a hologram, but could not parse its soul ${a.value.soul} for tracking.`)}catch(v){console.warn(`Error updating _holograms set for the target of the data being put (data ID: ${a.id}, soul: ${a.value.soul}):`,v)}c(!0)}})}catch(g){h(g)}})}async function bd(n,e,s,a){if(!e||!s||!a)throw new Error("getNode: Missing required parameters");return new Promise((c,h)=>{try{n.gun.get(n.appname).get(e).get(s).get(a).once(g=>{if(!g){c(null);return}c(g)})}catch(g){h(g)}})}function sa(n,e){if(typeof e!="string"||!e)throw new Error("getNodeRef: Invalid soul parameter");let s=e.split("/").filter(c=>{if(!c.trim()||/[<>:"/\\|?*]/.test(c))throw new Error("getNodeRef: Invalid path segment");return c.trim()});if(s.length===0)throw new Error("getNodeRef: Invalid soul format");let a=n.gun.get(n.appname);return s.forEach(c=>{a=a.get(c)}),a}async function _d(n,e){if(!e)throw new Error("getNodeBySoul: Missing soul parameter");return console.log(`getNodeBySoul: Accessing soul ${e}`),new Promise((s,a)=>{try{sa(n,e).once(h=>{if(console.log("getNodeBySoul: Retrieved data:",h),!h){s(null);return}s(h)})}catch(c){console.error("getNodeBySoul error:",c),a(c)}})}async function Ed(n,e,s,a){if(!e||!s||!a)throw new Error("deleteNode: Missing required parameters");try{let c=n.gun.get(n.appname).get(e).get(s).get(a),h=Promise.resolve(),g=await new Promise(b=>c.once(b)),m=null;try{typeof g=="string"?m=JSON.parse(g):m=g}catch(b){console.warn("[deleteNode] Could not JSON parse data for deletion check:",g,b),m=null}if(m&&n.isHologram(m))try{let b=m.soul;if(n.parseSoulPath(b)){let E=n.getNodeRef(b),$=`${n.appname}/${e}/${s}/value`;h=new Promise(k=>{E.get("_holograms").get($).put(null,T=>{T.err&&console.warn(`[deleteNode] Error removing hologram ${$} from target ${b}:`,T.err),k()})})}else console.warn(`Could not parse target soul ${b} for hologram tracking removal during deleteNode.`)}catch(b){console.warn(`Error initiating hologram reference removal from target ${m.soul} during deleteNode:`,b),h=Promise.resolve()}return await h,new Promise((b,w)=>{c.put(null,E=>{E.err?w(new Error(E.err)):b(!0)})})}catch(c){throw console.error("Error in deleteNode:",c),c}}async function aa(n,e,s,a=null){try{if(!e||!s)throw new Error("Table name and data are required");let c=null;return a&&(c=n.gun.user(),await new Promise((h,g)=>{let m=n.userName(e);c.auth(m,a,v=>{v.err?(console.log(`Initial auth failed for ${m}, attempting to create...`),c.create(m,a,b=>{b.err?b.err.includes("already created")||b.err.includes("already being created")?(console.log(`User ${m} already existed or being created, re-attempting auth with fresh user object.`),n.gun.user().auth(m,a,E=>{E.err&&console.log(`Auth still failed after user existed check: ${E.err}. Resolving anyway for test operations.`),h()})):(console.log(`Create user error (resolving anyway for operations): ${b.err}`),h()):(console.log(`User ${m} created successfully, attempting auth...`),c.auth(m,a,w=>{w.err?g(new Error(`Failed to auth after create for ${m}: ${w.err}`)):h()}))})):h()})})),new Promise((h,g)=>{try{let m={...s};m._meta!==void 0&&delete m._meta,m._hologram!==void 0&&delete m._hologram;let v=JSON.stringify(m),b=n.isHologram(m),w=a?c.get("private").get(e):n.gun.get(n.appname).get(e);s.id?w.get(s.id).put(v,$=>{if($.err)g(new Error($.err));else{if(b)try{if(n.parseSoulPath(m.soul)){let T=n.getNodeRef(m.soul),x=`${n.appname}/${e}/${s.id}`;T.get("_holograms").get(x).put(!0)}else console.warn(`Data (ID: ${s.id}) being put is a hologram, but could not parse its soul ${m.soul} for tracking.`)}catch(k){console.warn(`Error updating _holograms set for the target of the data being put (data ID: ${s.id}, soul: ${m.soul}):`,k)}h()}}):w.put(v,E=>{if(E.err)g(new Error(E.err));else{if(b)try{if(n.parseSoulPath(m.soul)){let k=n.getNodeRef(m.soul),T=`${n.appname}/${e}`;k.get("_holograms").get(T).put(!0)}else console.warn(`Data being put is a hologram, but could not parse its soul ${m.soul} for tracking.`)}catch($){console.warn(`Error updating _holograms set for the target of the data being put (soul: ${m.soul}):`,$)}h()}})}catch(m){g(m)}})}catch(c){throw console.error("Error in putGlobal:",c),c}}async function $d(n,e,s,a=null){try{let c=null;return a&&(c=n.gun.user(),await new Promise((h,g)=>{let m=n.userName(e);c.auth(m,a,v=>{v.err?(console.log(`Initial auth failed for ${m}, attempting to create...`),c.create(m,a,b=>{b.err?b.err.includes("already created")||b.err.includes("already being created")?(console.log(`User ${m} already existed or being created, re-attempting auth with fresh user object.`),n.gun.user().auth(m,a,E=>{E.err&&console.log(`Auth still failed after user existed check: ${E.err}. Resolving anyway for test operations.`),h()})):(console.log(`Create user error (resolving anyway for operations): ${b.err}`),h()):(console.log(`User ${m} created successfully, attempting auth...`),c.auth(m,a,w=>{w.err?g(new Error(`Failed to auth after create for ${m}: ${w.err}`)):h()}))})):h()})})),new Promise(async h=>{let g=async b=>{if(!b){h(null);return}try{let w=await n.parse(b);if(!w){h(null);return}if(n.isHologram(w)){let E=await n.resolveHologram(w,{followHolograms:!0});if(E===null){try{await n.deleteGlobal(e,s,a)}catch($){console.error(`Failed to delete invalid global hologram at ${e}/${s}:`,$)}h(null);return}if(E!==w){h(E);return}}h(w)}catch(w){console.error("Error parsing data in getGlobal:",w),h(null)}};(a?c.get("private").get(e):n.gun.get(n.appname).get(e)).get(s).once(g)})}catch(c){return console.error("Error in getGlobal:",c),null}}async function kd(n,e,s=null){if(!e)throw new Error("getAllGlobal: Missing table name parameter");try{let a=null;return s&&(a=n.gun.user(),await new Promise((c,h)=>{let g=n.userName(e);a.auth(g,s,m=>{m.err?(console.log(`Initial auth failed for ${g}, attempting to create...`),a.create(g,s,v=>{v.err?v.err.includes("already created")||v.err.includes("already being created")?(console.log(`User ${g} already existed or being created, re-attempting auth with fresh user object.`),n.gun.user().auth(g,s,w=>{w.err&&console.log(`Auth still failed after user existed check: ${w.err}. Resolving anyway for test operations.`),c()})):(console.log(`Create user error (resolving anyway for operations): ${v.err}`),c()):(console.log(`User ${g} created successfully, attempting auth...`),a.auth(g,s,b=>{b.err?h(new Error(`Failed to auth after create for ${g}: ${b.err}`)):c()}))})):c()})})),new Promise(c=>{let h=[],g=[],m=s?a.get("private").get(e):n.gun.get(n.appname).get(e),v=()=>new Promise(w=>m.once(E=>w(E))),b=w=>{if(!w){c([]);return}let E=Object.keys(w).filter(T=>{if(T==="_")return!1;let x=w[T];return!(x===null||typeof x=="object"&&x["#"])});if(E.length===0){c([]);return}let k=async(T,x)=>{if(T)try{let M=await n.parse(T);if(!M)return;if(n.isHologram(M)){let N=await n.resolveHologram(M,{followHolograms:!0});if(N===null){try{await n.deleteGlobal(e,x,s)}catch(q){console.error(`Failed to delete invalid global hologram at ${e}/${x}:`,q)}return}N!==M?h.push(N):h.push(M)}else h.push(M)}catch(M){console.error("Error parsing data:",M)}};Promise.all(E.map(T=>{let x=w[T];return typeof x!="object"||x===null?k(x,T):new Promise(M=>{m.get(T).once(N=>{k(N,T).then(M,M)})})})).then(()=>c(h))};(async()=>{let w=await v();w||(await new Promise(E=>setTimeout(E,1500)),w=await v()),b(w)})()})}catch(a){return console.error("Error in getAllGlobal:",a),[]}}async function xd(n,e,s,a=null){if(!e||!s)throw new Error("deleteGlobal: Missing required parameters");try{let c=null;a&&(c=n.gun.user(),await new Promise((w,E)=>{let $=n.userName(e);c.auth($,a,k=>{k.err?(console.log(`Initial auth failed for ${$}, attempting to create...`),c.create($,a,T=>{T.err?T.err.includes("already created")||T.err.includes("already being created")?(console.log(`User ${$} already existed or being created, re-attempting auth with fresh user object.`),n.gun.user().auth($,a,M=>{M.err&&console.log(`Auth still failed after user existed check: ${M.err}. Resolving anyway for test operations.`),w()})):(console.log(`Create user error (resolving anyway for operations): ${T.err}`),w()):(console.log(`User ${$} created successfully, attempting auth...`),c.auth($,a,x=>{x.err?E(new Error(`Failed to auth after create for ${$}: ${x.err}`)):w()}))})):w()})}));let h=a?c.get("private").get(e).get(s):n.gun.get(n.appname).get(e).get(s),g=Promise.resolve(),m=await new Promise(w=>h.once(w)),v=null;try{typeof m=="string"?v=JSON.parse(m):v=m}catch(w){console.warn("[deleteGlobal] Could not JSON parse data for deletion check:",m,w),v=null}if(v&&n.isHologram(v))try{let w=v.soul;if(n.parseSoulPath(w)){let $=n.getNodeRef(w),k=`${n.appname}/${e}/${s}`;g=new Promise(T=>{$.get("_holograms").get(k).put(null,x=>{x.err&&console.warn(`[deleteGlobal] Error removing hologram ${k} from target ${w}:`,x.err),T()})})}else console.warn(`Could not parse target soul ${w} for hologram tracking removal during deleteGlobal.`)}catch(w){console.warn(`Error initiating hologram reference removal from target ${v.soul} during deleteGlobal:`,w),g=Promise.resolve()}return await g,new Promise((w,E)=>{h.put(null,$=>{$.err?(console.error("deleteGlobal - Deletion error:",$.err),E(new Error($.err))):w(!0)})})}catch(c){throw console.error("Error in deleteGlobal:",c),c}}async function Sd(n,e,s=null){if(!e)throw new Error("deleteAllGlobal: Missing table name parameter");try{let a=null;return s&&(a=n.gun.user(),await new Promise((c,h)=>{let g=n.userName(e);a.auth(g,s,m=>{m.err?(console.log(`Initial auth failed for ${g}, attempting to create...`),a.create(g,s,v=>{v.err?v.err.includes("already created")||v.err.includes("already being created")?(console.log(`User ${g} already existed or being created, re-attempting auth with fresh user object.`),n.gun.user().auth(g,s,w=>{w.err&&console.log(`Auth still failed after user existed check: ${w.err}. Resolving anyway for test cleanup.`),c()})):(console.log(`Create user error (resolving anyway for cleanup): ${v.err}`),c()):(console.log(`User ${g} created successfully, attempting auth...`),a.auth(g,s,b=>{b.err?h(new Error(`Failed to auth after create for ${g}: ${b.err}`)):c()}))})):c()})})),new Promise((c,h)=>{try{let g=new Set,m=setTimeout(()=>{g.size===0&&c(!0)},5e3),v=s?a.get("private").get(e):n.gun.get(n.appname).get(e);v.once(async b=>{if(!b){clearTimeout(m),c(!0);return}let w=Object.keys(b).filter($=>$!=="_");for(let $ of w)try{let k=s?a.get("private").get(e).get($):n.gun.get(n.appname).get(e).get($),T=await new Promise(N=>k.once(N)),x=null;try{typeof T=="string"?x=JSON.parse(T):x=T}catch(N){console.warn("[deleteAllGlobal] Could not JSON parse data for deletion check:",T,N),x=null}if(x&&n.isHologram(x))try{let N=x.soul;if(n.parseSoulPath(N)){let L=n.getNodeRef(N),G=`${n.appname}/${e}/${$}`;await new Promise(V=>{L.get("_holograms").get(G).put(null,Y=>{Y.err&&console.warn(`[deleteAllGlobal] Error removing hologram ${G} from target ${N}:`,Y.err),V()})})}else console.warn(`Could not parse target soul ${N} for hologram tracking removal during deleteAllGlobal.`)}catch(N){console.warn(`Error removing hologram reference from target ${x.soul} during deleteAllGlobal:`,N)}g.add($)}catch(k){console.warn(`Error processing key ${$} during deleteAllGlobal:`,k),g.add($)}let E=w.map($=>new Promise((k,T)=>{(s?a.get("private").get(e).get($):n.gun.get(n.appname).get(e).get($)).put(null,M=>{M.err?(console.error(`Failed to delete ${$}:`,M.err),T(new Error(M.err))):k()})}));try{await Promise.all(E),v.put(null),clearTimeout(m),c(!0)}catch($){h($)}})}catch(g){h(g)}})}catch(a){throw console.error("Error in deleteAllGlobal:",a),a}}function Bd(n,e,s,a,c={}){let h=n.gun.get(n.appname).get(e),g=!0;return s?h.get(s).on(async m=>{if(!(!g||!m))try{let v=await n.parse(m);v&&a(v,s)}catch(v){console.warn("[subscribeGlobal] Error parsing data:",v)}}):h.map().on(async(m,v)=>{if(!(!g||!m||v==="_"))try{let b=await n.parse(m);b&&a(b,v)}catch(b){console.warn("[subscribeGlobal] Error parsing data:",b)}}),{unsubscribe:()=>{g=!1,s?h.get(s).off():h.off()},stop:()=>{g=!1,s?h.get(s).off():h.off()}}}async function Pd(n,e,s,a,c=15,h=null){let g=e,m=wt(g),v=[];for(;m>0&&c>0;)try{let b=await n.compute(g,s,a,h);b&&v.push(b),g=vt(g,m-1),m--,c--}catch(b){console.error("Error in compute hierarchy:",b);break}return v}async function Dd(n,e,s,a,c=null){if(!e||!s)throw new Error("compute: Missing required parameters");if(typeof a=="string"&&(a={operation:a}),!a?.operation)throw new Error("compute: Missing required parameters");let h;try{h=wt(e)}catch{throw new Error("compute: Invalid holon format")}if(h<1||h>15)throw new Error("compute: Invalid holon resolution (must be between 1 and 15)");let{operation:g,fields:m=[],targetField:v,depth:b,maxDepth:w}=a;if(b!==void 0&&b<0)throw new Error("compute: Invalid depth parameter");if(w!==void 0&&(w<1||w>15))throw new Error("compute: Invalid maxDepth parameter (must be between 1 and 15)");let E=["summarize","aggregate","concatenate"];if(!E.includes(g))throw new Error(`compute: Invalid operation (must be one of ${E.join(", ")})`);let $=vt(e,h-1),k=Ju($,h),x=(await Promise.all(k.map(M=>n.getAll(M,s,c)))).flat().filter(Boolean);if(x.length>0)try{let M;switch(g){case"summarize":let N=m.length>0?x.map(q=>m.map(L=>q[L]).filter(Boolean).join(`
|
|
9
|
+
deps: ${s}}`};var $v={keyword:"dependencies",type:"object",schemaType:"object",error:Et.error,code(n){let[e,s]=kv(n);ec(n,e),Ac(n,s)}};function kv({schema:n}){let e={},s={};for(let a in n){if(a==="__proto__")continue;let c=Array.isArray(n[a])?e:s;c[a]=n[a]}return[e,s]}function ec(n,e=n.schema){let{gen:s,data:a,it:c}=n;if(Object.keys(e).length===0)return;let h=s.let("missing");for(let g in e){let m=e[g];if(m.length===0)continue;let v=(0,Fn.propertyInData)(s,a,g,c.opts.ownProperties);n.setParams({property:g,depsCount:m.length,deps:m.join(", ")}),c.allErrors?s.if(v,()=>{for(let b of m)(0,Fn.checkReportMissingProp)(n,b)}):(s.if((0,ws._)`${v} && (${(0,Fn.checkMissingProp)(n,m,h)})`),(0,Fn.reportMissingProp)(n,h),s.else())}}Et.validatePropertyDeps=ec;function Ac(n,e=n.schema){let{gen:s,data:a,keyword:c,it:h}=n,g=s.name("valid");for(let m in e)(0,Ev.alwaysValidSchema)(h,e[m])||(s.if((0,Fn.propertyInData)(s,a,m,h.opts.ownProperties),()=>{let v=n.subschema({keyword:c,schemaProp:m},g);n.mergeValidEvaluated(v,g)},()=>s.var(g,!0)),n.ok(g))}Et.validateSchemaDeps=Ac;Et.default=$v});var rc=me(vs=>{"use strict";Object.defineProperty(vs,"__esModule",{value:!0});var tc=Ue(),xv=Ke(),Sv={message:"property name must be valid",params:({params:n})=>(0,tc._)`{propertyName: ${n.propertyName}}`},Bv={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:Sv,code(n){let{gen:e,schema:s,data:a,it:c}=n;if((0,xv.alwaysValidSchema)(c,s))return;let h=e.name("valid");e.forIn("key",a,g=>{n.setParams({propertyName:g}),n.subschema({keyword:"propertyNames",data:g,dataTypes:["string"],propertyName:g,compositeRule:!0},h),e.if((0,tc.not)(h),()=>{n.error(!0),c.allErrors||e.break()})}),n.ok(h)}};vs.default=Bv});var _s=me(bs=>{"use strict";Object.defineProperty(bs,"__esModule",{value:!0});var Fi=nt(),ft=Ue(),Pv=rt(),Vi=Ke(),Dv={message:"must NOT have additional properties",params:({params:n})=>(0,ft._)`{additionalProperty: ${n.additionalProperty}}`},Cv={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:Dv,code(n){let{gen:e,schema:s,parentSchema:a,data:c,errsCount:h,it:g}=n;if(!h)throw new Error("ajv implementation error");let{allErrors:m,opts:v}=g;if(g.props=!0,v.removeAdditional!=="all"&&(0,Vi.alwaysValidSchema)(g,s))return;let b=(0,Fi.allSchemaProperties)(a.properties),w=(0,Fi.allSchemaProperties)(a.patternProperties);_(),n.ok((0,ft._)`${h} === ${Pv.default.errors}`);function _(){e.forIn("key",c,N=>{!b.length&&!w.length?T(N):e.if($(N),()=>T(N))})}function $(N){let j;if(b.length>8){let q=(0,Vi.schemaRefOrVal)(g,a.properties,"properties");j=(0,Fi.isOwnProperty)(e,q,N)}else b.length?j=(0,ft.or)(...b.map(q=>(0,ft._)`${N} === ${q}`)):j=ft.nil;return w.length&&(j=(0,ft.or)(j,...w.map(q=>(0,ft._)`${(0,Fi.usePattern)(n,q)}.test(${N})`))),(0,ft.not)(j)}function k(N){e.code((0,ft._)`delete ${c}[${N}]`)}function T(N){if(v.removeAdditional==="all"||v.removeAdditional&&s===!1){k(N);return}if(s===!1){n.setParams({additionalProperty:N}),n.error(),m||e.break();return}if(typeof s=="object"&&!(0,Vi.alwaysValidSchema)(g,s)){let j=e.name("valid");v.removeAdditional==="failing"?(x(N,j,!1),e.if((0,ft.not)(j),()=>{n.reset(),k(N)})):(x(N,j),m||e.if((0,ft.not)(j),()=>e.break()))}}function x(N,j,q){let L={keyword:"additionalProperties",dataProp:N,dataPropType:Vi.Type.Str};q===!1&&Object.assign(L,{compositeRule:!0,createErrors:!1,allErrors:!1}),n.subschema(L,j)}}};bs.default=Cv});var oc=me($s=>{"use strict";Object.defineProperty($s,"__esModule",{value:!0});var Tv=Dn(),nc=nt(),Es=Ke(),ic=_s(),Ov={keyword:"properties",type:"object",schemaType:"object",code(n){let{gen:e,schema:s,parentSchema:a,data:c,it:h}=n;h.opts.removeAdditional==="all"&&a.additionalProperties===void 0&&ic.default.code(new Tv.KeywordCxt(h,ic.default,"additionalProperties"));let g=(0,nc.allSchemaProperties)(s);for(let _ of g)h.definedProperties.add(_);h.opts.unevaluated&&g.length&&h.props!==!0&&(h.props=Es.mergeEvaluated.props(e,(0,Es.toHash)(g),h.props));let m=g.filter(_=>!(0,Es.alwaysValidSchema)(h,s[_]));if(m.length===0)return;let v=e.name("valid");for(let _ of m)b(_)?w(_):(e.if((0,nc.propertyInData)(e,c,_,h.opts.ownProperties)),w(_),h.allErrors||e.else().var(v,!0),e.endIf()),n.it.definedProperties.add(_),n.ok(v);function b(_){return h.opts.useDefaults&&!h.compositeRule&&s[_].default!==void 0}function w(_){n.subschema({keyword:"properties",schemaProp:_,dataProp:_},v)}}};$s.default=Ov});var lc=me(ks=>{"use strict";Object.defineProperty(ks,"__esModule",{value:!0});var sc=nt(),zi=Ue(),ac=Ke(),uc=Ke(),jv={keyword:"patternProperties",type:"object",schemaType:"object",code(n){let{gen:e,schema:s,data:a,parentSchema:c,it:h}=n,{opts:g}=h,m=(0,sc.allSchemaProperties)(s),v=m.filter(x=>(0,ac.alwaysValidSchema)(h,s[x]));if(m.length===0||v.length===m.length&&(!h.opts.unevaluated||h.props===!0))return;let b=g.strictSchema&&!g.allowMatchingProperties&&c.properties,w=e.name("valid");h.props!==!0&&!(h.props instanceof zi.Name)&&(h.props=(0,uc.evaluatedPropsToName)(e,h.props));let{props:_}=h;$();function $(){for(let x of m)b&&k(x),h.allErrors?T(x):(e.var(w,!0),T(x),e.if(w))}function k(x){for(let N in b)new RegExp(x).test(N)&&(0,ac.checkStrictMode)(h,`property ${N} matches pattern ${x} (use allowMatchingProperties)`)}function T(x){e.forIn("key",a,N=>{e.if((0,zi._)`${(0,sc.usePattern)(n,x)}.test(${N})`,()=>{let j=v.includes(x);j||n.subschema({keyword:"patternProperties",schemaProp:x,dataProp:N,dataPropType:uc.Type.Str},w),h.opts.unevaluated&&_!==!0?e.assign((0,zi._)`${_}[${N}]`,!0):!j&&!h.allErrors&&e.if((0,zi.not)(w),()=>e.break())})})}}};ks.default=jv});var fc=me(xs=>{"use strict";Object.defineProperty(xs,"__esModule",{value:!0});var Mv=Ke(),Nv={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(n){let{gen:e,schema:s,it:a}=n;if((0,Mv.alwaysValidSchema)(a,s)){n.fail();return}let c=e.name("valid");n.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},c),n.failResult(c,()=>n.reset(),()=>n.error())},error:{message:"must NOT be valid"}};xs.default=Nv});var cc=me(Ss=>{"use strict";Object.defineProperty(Ss,"__esModule",{value:!0});var Rv=nt(),Iv={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:Rv.validateUnion,error:{message:"must match a schema in anyOf"}};Ss.default=Iv});var dc=me(Bs=>{"use strict";Object.defineProperty(Bs,"__esModule",{value:!0});var Ki=Ue(),Hv=Ke(),Qv={message:"must match exactly one schema in oneOf",params:({params:n})=>(0,Ki._)`{passingSchemas: ${n.passing}}`},qv={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:Qv,code(n){let{gen:e,schema:s,parentSchema:a,it:c}=n;if(!Array.isArray(s))throw new Error("ajv implementation error");if(c.opts.discriminator&&a.discriminator)return;let h=s,g=e.let("valid",!1),m=e.let("passing",null),v=e.name("_valid");n.setParams({passing:m}),e.block(b),n.result(g,()=>n.reset(),()=>n.error(!0));function b(){h.forEach((w,_)=>{let $;(0,Hv.alwaysValidSchema)(c,w)?e.var(v,!0):$=n.subschema({keyword:"oneOf",schemaProp:_,compositeRule:!0},v),_>0&&e.if((0,Ki._)`${v} && ${g}`).assign(g,!1).assign(m,(0,Ki._)`[${m}, ${_}]`).else(),e.if(v,()=>{e.assign(g,!0),e.assign(m,_),$&&n.mergeEvaluated($,Ki.Name)})})}}};Bs.default=qv});var hc=me(Ps=>{"use strict";Object.defineProperty(Ps,"__esModule",{value:!0});var Lv=Ke(),Uv={keyword:"allOf",schemaType:"array",code(n){let{gen:e,schema:s,it:a}=n;if(!Array.isArray(s))throw new Error("ajv implementation error");let c=e.name("valid");s.forEach((h,g)=>{if((0,Lv.alwaysValidSchema)(a,h))return;let m=n.subschema({keyword:"allOf",schemaProp:g},c);n.ok(c),n.mergeEvaluated(m)})}};Ps.default=Uv});var mc=me(Ds=>{"use strict";Object.defineProperty(Ds,"__esModule",{value:!0});var Yi=Ue(),gc=Ke(),Gv={message:({params:n})=>(0,Yi.str)`must match "${n.ifClause}" schema`,params:({params:n})=>(0,Yi._)`{failingKeyword: ${n.ifClause}}`},Fv={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:Gv,code(n){let{gen:e,parentSchema:s,it:a}=n;s.then===void 0&&s.else===void 0&&(0,gc.checkStrictMode)(a,'"if" without "then" and "else" is ignored');let c=pc(a,"then"),h=pc(a,"else");if(!c&&!h)return;let g=e.let("valid",!0),m=e.name("_valid");if(v(),n.reset(),c&&h){let w=e.let("ifClause");n.setParams({ifClause:w}),e.if(m,b("then",w),b("else",w))}else c?e.if(m,b("then")):e.if((0,Yi.not)(m),b("else"));n.pass(g,()=>n.error(!0));function v(){let w=n.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},m);n.mergeEvaluated(w)}function b(w,_){return()=>{let $=n.subschema({keyword:w},m);e.assign(g,m),n.mergeValidEvaluated($,g),_?e.assign(_,(0,Yi._)`${w}`):n.setParams({ifClause:w})}}}};function pc(n,e){let s=n.schema[e];return s!==void 0&&!(0,gc.alwaysValidSchema)(n,s)}Ds.default=Fv});var yc=me(Cs=>{"use strict";Object.defineProperty(Cs,"__esModule",{value:!0});var Vv=Ke(),zv={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:n,parentSchema:e,it:s}){e.if===void 0&&(0,Vv.checkStrictMode)(s,`"${n}" without "if" is ignored`)}};Cs.default=zv});var wc=me(Ts=>{"use strict";Object.defineProperty(Ts,"__esModule",{value:!0});var Kv=hs(),Yv=Wf(),Wv=ps(),Jv=Zf(),Zv=Xf(),Xv=Gi(),eb=rc(),Ab=_s(),tb=oc(),rb=lc(),nb=fc(),ib=cc(),ob=dc(),sb=hc(),ab=mc(),ub=yc();function lb(n=!1){let e=[nb.default,ib.default,ob.default,sb.default,ab.default,ub.default,eb.default,Ab.default,Xv.default,tb.default,rb.default];return n?e.push(Yv.default,Jv.default):e.push(Kv.default,Wv.default),e.push(Zv.default),e}Ts.default=lb});var vc=me(Os=>{"use strict";Object.defineProperty(Os,"__esModule",{value:!0});var mA=Ue(),fb={message:({schemaCode:n})=>(0,mA.str)`must match format "${n}"`,params:({schemaCode:n})=>(0,mA._)`{format: ${n}}`},cb={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:fb,code(n,e){let{gen:s,data:a,$data:c,schema:h,schemaCode:g,it:m}=n,{opts:v,errSchemaPath:b,schemaEnv:w,self:_}=m;if(!v.validateFormats)return;c?$():k();function $(){let T=s.scopeValue("formats",{ref:_.formats,code:v.code.formats}),x=s.const("fDef",(0,mA._)`${T}[${g}]`),N=s.let("fType"),j=s.let("format");s.if((0,mA._)`typeof ${x} == "object" && !(${x} instanceof RegExp)`,()=>s.assign(N,(0,mA._)`${x}.type || "string"`).assign(j,(0,mA._)`${x}.validate`),()=>s.assign(N,(0,mA._)`"string"`).assign(j,x)),n.fail$data((0,mA.or)(q(),L()));function q(){return v.strictSchema===!1?mA.nil:(0,mA._)`${g} && !${j}`}function L(){let G=w.$async?(0,mA._)`(${x}.async ? await ${j}(${a}) : ${j}(${a}))`:(0,mA._)`${j}(${a})`,z=(0,mA._)`(typeof ${j} == "function" ? ${G} : ${j}.test(${a}))`;return(0,mA._)`${j} && ${j} !== true && ${N} === ${e} && !${z}`}}function k(){let T=_.formats[h];if(!T){q();return}if(T===!0)return;let[x,N,j]=L(T);x===e&&n.pass(G());function q(){if(v.strictSchema===!1){_.logger.warn(z());return}throw new Error(z());function z(){return`unknown format "${h}" ignored in schema at path "${b}"`}}function L(z){let J=z instanceof RegExp?(0,mA.regexpCode)(z):v.code.formats?(0,mA._)`${v.code.formats}${(0,mA.getProperty)(h)}`:void 0,pe=s.scopeValue("formats",{key:h,ref:z,code:J});return typeof z=="object"&&!(z instanceof RegExp)?[z.type||"string",z.validate,(0,mA._)`${pe}.validate`]:["string",z,pe]}function G(){if(typeof T=="object"&&!(T instanceof RegExp)&&T.async){if(!w.$async)throw new Error("async format in sync schema");return(0,mA._)`await ${j}(${a})`}return typeof N=="function"?(0,mA._)`${j}(${a})`:(0,mA._)`${j}.test(${a})`}}}};Os.default=cb});var bc=me(js=>{"use strict";Object.defineProperty(js,"__esModule",{value:!0});var db=vc(),hb=[db.default];js.default=hb});var _c=me(zr=>{"use strict";Object.defineProperty(zr,"__esModule",{value:!0});zr.contentVocabulary=zr.metadataVocabulary=void 0;zr.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];zr.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]});var $c=me(Ms=>{"use strict";Object.defineProperty(Ms,"__esModule",{value:!0});var pb=Tf(),gb=Vf(),mb=wc(),yb=bc(),Ec=_c(),wb=[pb.default,gb.default,(0,mb.default)(),yb.default,Ec.metadataVocabulary,Ec.contentVocabulary];Ms.default=wb});var Rs=me(Vn=>{"use strict";Object.defineProperty(Vn,"__esModule",{value:!0});Vn.dynamicAnchor=void 0;var Ns=Ue(),vb=rt(),kc=Tn(),bb=Ii(),_b={keyword:"$dynamicAnchor",schemaType:"string",code:n=>xc(n,n.schema)};function xc(n,e){let{gen:s,it:a}=n;a.schemaEnv.root.dynamicAnchors[e]=!0;let c=(0,Ns._)`${vb.default.dynamicAnchors}${(0,Ns.getProperty)(e)}`,h=a.errSchemaPath==="#"?a.validateName:Eb(n);s.if((0,Ns._)`!${c}`,()=>s.assign(c,h))}Vn.dynamicAnchor=xc;function Eb(n){let{schemaEnv:e,schema:s,self:a}=n.it,{root:c,baseId:h,localRefs:g,meta:m}=e.root,{schemaId:v}=a.opts,b=new kc.SchemaEnv({schema:s,schemaId:v,root:c,baseId:h,localRefs:g,meta:m});return kc.compileSchema.call(a,b),(0,bb.getValidate)(n,b)}Vn.default=_b});var Is=me(zn=>{"use strict";Object.defineProperty(zn,"__esModule",{value:!0});zn.dynamicRef=void 0;var Sc=Ue(),$b=rt(),Bc=Ii(),kb={keyword:"$dynamicRef",schemaType:"string",code:n=>Pc(n,n.schema)};function Pc(n,e){let{gen:s,keyword:a,it:c}=n;if(e[0]!=="#")throw new Error(`"${a}" only supports hash fragment reference`);let h=e.slice(1);if(c.allErrors)g();else{let v=s.let("valid",!1);g(v),n.ok(v)}function g(v){if(c.schemaEnv.root.dynamicAnchors[h]){let b=s.let("_v",(0,Sc._)`${$b.default.dynamicAnchors}${(0,Sc.getProperty)(h)}`);s.if(b,m(b,v),m(c.validateName,v))}else m(c.validateName,v)()}function m(v,b){return b?()=>s.block(()=>{(0,Bc.callRef)(n,v),s.let(b,!0)}):()=>(0,Bc.callRef)(n,v)}}zn.dynamicRef=Pc;zn.default=kb});var Dc=me(Hs=>{"use strict";Object.defineProperty(Hs,"__esModule",{value:!0});var xb=Rs(),Sb=Ke(),Bb={keyword:"$recursiveAnchor",schemaType:"boolean",code(n){n.schema?(0,xb.dynamicAnchor)(n,""):(0,Sb.checkStrictMode)(n.it,"$recursiveAnchor: false is ignored")}};Hs.default=Bb});var Cc=me(Qs=>{"use strict";Object.defineProperty(Qs,"__esModule",{value:!0});var Pb=Is(),Db={keyword:"$recursiveRef",schemaType:"string",code:n=>(0,Pb.dynamicRef)(n,n.schema)};Qs.default=Db});var Tc=me(qs=>{"use strict";Object.defineProperty(qs,"__esModule",{value:!0});var Cb=Rs(),Tb=Is(),Ob=Dc(),jb=Cc(),Mb=[Cb.default,Tb.default,Ob.default,jb.default];qs.default=Mb});var jc=me(Ls=>{"use strict";Object.defineProperty(Ls,"__esModule",{value:!0});var Oc=Gi(),Nb={keyword:"dependentRequired",type:"object",schemaType:"object",error:Oc.error,code:n=>(0,Oc.validatePropertyDeps)(n)};Ls.default=Nb});var Mc=me(Us=>{"use strict";Object.defineProperty(Us,"__esModule",{value:!0});var Rb=Gi(),Ib={keyword:"dependentSchemas",type:"object",schemaType:"object",code:n=>(0,Rb.validateSchemaDeps)(n)};Us.default=Ib});var Nc=me(Gs=>{"use strict";Object.defineProperty(Gs,"__esModule",{value:!0});var Hb=Ke(),Qb={keyword:["maxContains","minContains"],type:"array",schemaType:"number",code({keyword:n,parentSchema:e,it:s}){e.contains===void 0&&(0,Hb.checkStrictMode)(s,`"${n}" without "contains" is ignored`)}};Gs.default=Qb});var Rc=me(Fs=>{"use strict";Object.defineProperty(Fs,"__esModule",{value:!0});var qb=jc(),Lb=Mc(),Ub=Nc(),Gb=[qb.default,Lb.default,Ub.default];Fs.default=Gb});var Hc=me(Vs=>{"use strict";Object.defineProperty(Vs,"__esModule",{value:!0});var Kt=Ue(),Ic=Ke(),Fb=rt(),Vb={message:"must NOT have unevaluated properties",params:({params:n})=>(0,Kt._)`{unevaluatedProperty: ${n.unevaluatedProperty}}`},zb={keyword:"unevaluatedProperties",type:"object",schemaType:["boolean","object"],trackErrors:!0,error:Vb,code(n){let{gen:e,schema:s,data:a,errsCount:c,it:h}=n;if(!c)throw new Error("ajv implementation error");let{allErrors:g,props:m}=h;m instanceof Kt.Name?e.if((0,Kt._)`${m} !== true`,()=>e.forIn("key",a,_=>e.if(b(m,_),()=>v(_)))):m!==!0&&e.forIn("key",a,_=>m===void 0?v(_):e.if(w(m,_),()=>v(_))),h.props=!0,n.ok((0,Kt._)`${c} === ${Fb.default.errors}`);function v(_){if(s===!1){n.setParams({unevaluatedProperty:_}),n.error(),g||e.break();return}if(!(0,Ic.alwaysValidSchema)(h,s)){let $=e.name("valid");n.subschema({keyword:"unevaluatedProperties",dataProp:_,dataPropType:Ic.Type.Str},$),g||e.if((0,Kt.not)($),()=>e.break())}}function b(_,$){return(0,Kt._)`!${_} || !${_}[${$}]`}function w(_,$){let k=[];for(let T in _)_[T]===!0&&k.push((0,Kt._)`${$} !== ${T}`);return(0,Kt.and)(...k)}}};Vs.default=zb});var qc=me(zs=>{"use strict";Object.defineProperty(zs,"__esModule",{value:!0});var yr=Ue(),Qc=Ke(),Kb={message:({params:{len:n}})=>(0,yr.str)`must NOT have more than ${n} items`,params:({params:{len:n}})=>(0,yr._)`{limit: ${n}}`},Yb={keyword:"unevaluatedItems",type:"array",schemaType:["boolean","object"],error:Kb,code(n){let{gen:e,schema:s,data:a,it:c}=n,h=c.items||0;if(h===!0)return;let g=e.const("len",(0,yr._)`${a}.length`);if(s===!1)n.setParams({len:h}),n.fail((0,yr._)`${g} > ${h}`);else if(typeof s=="object"&&!(0,Qc.alwaysValidSchema)(c,s)){let v=e.var("valid",(0,yr._)`${g} <= ${h}`);e.if((0,yr.not)(v),()=>m(v,h)),n.ok(v)}c.items=!0;function m(v,b){e.forRange("i",b,g,w=>{n.subschema({keyword:"unevaluatedItems",dataProp:w,dataPropType:Qc.Type.Num},v),c.allErrors||e.if((0,yr.not)(v),()=>e.break())})}}};zs.default=Yb});var Lc=me(Ks=>{"use strict";Object.defineProperty(Ks,"__esModule",{value:!0});var Wb=Hc(),Jb=qc(),Zb=[Wb.default,Jb.default];Ks.default=Zb});var Gc=me(Wi=>{"use strict";Object.defineProperty(Wi,"__esModule",{value:!0});Wi.DiscrError=void 0;var Uc;(function(n){n.Tag="tag",n.Mapping="mapping"})(Uc||(Wi.DiscrError=Uc={}))});var Vc=me(Ws=>{"use strict";Object.defineProperty(Ws,"__esModule",{value:!0});var Kr=Ue(),Ys=Gc(),Fc=Tn(),Xb=Cn(),e4=Ke(),A4={message:({params:{discrError:n,tagName:e}})=>n===Ys.DiscrError.Tag?`tag "${e}" must be string`:`value of tag "${e}" must be in oneOf`,params:({params:{discrError:n,tag:e,tagName:s}})=>(0,Kr._)`{error: ${n}, tag: ${s}, tagValue: ${e}}`},t4={keyword:"discriminator",type:"object",schemaType:"object",error:A4,code(n){let{gen:e,data:s,schema:a,parentSchema:c,it:h}=n,{oneOf:g}=c;if(!h.opts.discriminator)throw new Error("discriminator: requires discriminator option");let m=a.propertyName;if(typeof m!="string")throw new Error("discriminator: requires propertyName");if(a.mapping)throw new Error("discriminator: mapping is not supported");if(!g)throw new Error("discriminator: requires oneOf keyword");let v=e.let("valid",!1),b=e.const("tag",(0,Kr._)`${s}${(0,Kr.getProperty)(m)}`);e.if((0,Kr._)`typeof ${b} == "string"`,()=>w(),()=>n.error(!1,{discrError:Ys.DiscrError.Tag,tag:b,tagName:m})),n.ok(v);function w(){let k=$();e.if(!1);for(let T in k)e.elseIf((0,Kr._)`${b} === ${T}`),e.assign(v,_(k[T]));e.else(),n.error(!1,{discrError:Ys.DiscrError.Mapping,tag:b,tagName:m}),e.endIf()}function _(k){let T=e.name("valid"),x=n.subschema({keyword:"oneOf",schemaProp:k},T);return n.mergeEvaluated(x,Kr.Name),T}function $(){var k;let T={},x=j(c),N=!0;for(let G=0;G<g.length;G++){let z=g[G];if(z?.$ref&&!(0,e4.schemaHasRulesButRef)(z,h.self.RULES)){let pe=z.$ref;if(z=Fc.resolveRef.call(h.self,h.schemaEnv.root,h.baseId,pe),z instanceof Fc.SchemaEnv&&(z=z.schema),z===void 0)throw new Xb.default(h.opts.uriResolver,h.baseId,pe)}let J=(k=z?.properties)===null||k===void 0?void 0:k[m];if(typeof J!="object")throw new Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${m}"`);N=N&&(x||j(z)),q(J,G)}if(!N)throw new Error(`discriminator: "${m}" must be required`);return T;function j({required:G}){return Array.isArray(G)&&G.includes(m)}function q(G,z){if(G.const)L(G.const,z);else if(G.enum)for(let J of G.enum)L(J,z);else throw new Error(`discriminator: "properties/${m}" must have "const" or "enum"`)}function L(G,z){if(typeof G!="string"||G in T)throw new Error(`discriminator: "${m}" values must be unique strings`);T[G]=z}}}};Ws.default=t4});var zc=me((iE,r4)=>{r4.exports={$schema:"https://json-schema.org/draft/2019-09/schema",$id:"https://json-schema.org/draft/2019-09/schema",$vocabulary:{"https://json-schema.org/draft/2019-09/vocab/core":!0,"https://json-schema.org/draft/2019-09/vocab/applicator":!0,"https://json-schema.org/draft/2019-09/vocab/validation":!0,"https://json-schema.org/draft/2019-09/vocab/meta-data":!0,"https://json-schema.org/draft/2019-09/vocab/format":!1,"https://json-schema.org/draft/2019-09/vocab/content":!0},$recursiveAnchor:!0,title:"Core and Validation specifications meta-schema",allOf:[{$ref:"meta/core"},{$ref:"meta/applicator"},{$ref:"meta/validation"},{$ref:"meta/meta-data"},{$ref:"meta/format"},{$ref:"meta/content"}],type:["object","boolean"],properties:{definitions:{$comment:"While no longer an official keyword as it is replaced by $defs, this keyword is retained in the meta-schema to prevent incompatible extensions as it remains in common use.",type:"object",additionalProperties:{$recursiveRef:"#"},default:{}},dependencies:{$comment:'"dependencies" is no longer a keyword, but schema authors should avoid redefining it to facilitate a smooth transition to "dependentSchemas" and "dependentRequired"',type:"object",additionalProperties:{anyOf:[{$recursiveRef:"#"},{$ref:"meta/validation#/$defs/stringArray"}]}}}}});var Kc=me((oE,n4)=>{n4.exports={$schema:"https://json-schema.org/draft/2019-09/schema",$id:"https://json-schema.org/draft/2019-09/meta/applicator",$vocabulary:{"https://json-schema.org/draft/2019-09/vocab/applicator":!0},$recursiveAnchor:!0,title:"Applicator vocabulary meta-schema",type:["object","boolean"],properties:{additionalItems:{$recursiveRef:"#"},unevaluatedItems:{$recursiveRef:"#"},items:{anyOf:[{$recursiveRef:"#"},{$ref:"#/$defs/schemaArray"}]},contains:{$recursiveRef:"#"},additionalProperties:{$recursiveRef:"#"},unevaluatedProperties:{$recursiveRef:"#"},properties:{type:"object",additionalProperties:{$recursiveRef:"#"},default:{}},patternProperties:{type:"object",additionalProperties:{$recursiveRef:"#"},propertyNames:{format:"regex"},default:{}},dependentSchemas:{type:"object",additionalProperties:{$recursiveRef:"#"}},propertyNames:{$recursiveRef:"#"},if:{$recursiveRef:"#"},then:{$recursiveRef:"#"},else:{$recursiveRef:"#"},allOf:{$ref:"#/$defs/schemaArray"},anyOf:{$ref:"#/$defs/schemaArray"},oneOf:{$ref:"#/$defs/schemaArray"},not:{$recursiveRef:"#"}},$defs:{schemaArray:{type:"array",minItems:1,items:{$recursiveRef:"#"}}}}});var Yc=me((sE,i4)=>{i4.exports={$schema:"https://json-schema.org/draft/2019-09/schema",$id:"https://json-schema.org/draft/2019-09/meta/content",$vocabulary:{"https://json-schema.org/draft/2019-09/vocab/content":!0},$recursiveAnchor:!0,title:"Content vocabulary meta-schema",type:["object","boolean"],properties:{contentMediaType:{type:"string"},contentEncoding:{type:"string"},contentSchema:{$recursiveRef:"#"}}}});var Wc=me((aE,o4)=>{o4.exports={$schema:"https://json-schema.org/draft/2019-09/schema",$id:"https://json-schema.org/draft/2019-09/meta/core",$vocabulary:{"https://json-schema.org/draft/2019-09/vocab/core":!0},$recursiveAnchor:!0,title:"Core vocabulary meta-schema",type:["object","boolean"],properties:{$id:{type:"string",format:"uri-reference",$comment:"Non-empty fragments not allowed.",pattern:"^[^#]*#?$"},$schema:{type:"string",format:"uri"},$anchor:{type:"string",pattern:"^[A-Za-z][-A-Za-z0-9.:_]*$"},$ref:{type:"string",format:"uri-reference"},$recursiveRef:{type:"string",format:"uri-reference"},$recursiveAnchor:{type:"boolean",default:!1},$vocabulary:{type:"object",propertyNames:{type:"string",format:"uri"},additionalProperties:{type:"boolean"}},$comment:{type:"string"},$defs:{type:"object",additionalProperties:{$recursiveRef:"#"},default:{}}}}});var Jc=me((uE,s4)=>{s4.exports={$schema:"https://json-schema.org/draft/2019-09/schema",$id:"https://json-schema.org/draft/2019-09/meta/format",$vocabulary:{"https://json-schema.org/draft/2019-09/vocab/format":!0},$recursiveAnchor:!0,title:"Format vocabulary meta-schema",type:["object","boolean"],properties:{format:{type:"string"}}}});var Zc=me((lE,a4)=>{a4.exports={$schema:"https://json-schema.org/draft/2019-09/schema",$id:"https://json-schema.org/draft/2019-09/meta/meta-data",$vocabulary:{"https://json-schema.org/draft/2019-09/vocab/meta-data":!0},$recursiveAnchor:!0,title:"Meta-data vocabulary meta-schema",type:["object","boolean"],properties:{title:{type:"string"},description:{type:"string"},default:!0,deprecated:{type:"boolean",default:!1},readOnly:{type:"boolean",default:!1},writeOnly:{type:"boolean",default:!1},examples:{type:"array",items:!0}}}});var Xc=me((fE,u4)=>{u4.exports={$schema:"https://json-schema.org/draft/2019-09/schema",$id:"https://json-schema.org/draft/2019-09/meta/validation",$vocabulary:{"https://json-schema.org/draft/2019-09/vocab/validation":!0},$recursiveAnchor:!0,title:"Validation vocabulary meta-schema",type:["object","boolean"],properties:{multipleOf:{type:"number",exclusiveMinimum:0},maximum:{type:"number"},exclusiveMaximum:{type:"number"},minimum:{type:"number"},exclusiveMinimum:{type:"number"},maxLength:{$ref:"#/$defs/nonNegativeInteger"},minLength:{$ref:"#/$defs/nonNegativeIntegerDefault0"},pattern:{type:"string",format:"regex"},maxItems:{$ref:"#/$defs/nonNegativeInteger"},minItems:{$ref:"#/$defs/nonNegativeIntegerDefault0"},uniqueItems:{type:"boolean",default:!1},maxContains:{$ref:"#/$defs/nonNegativeInteger"},minContains:{$ref:"#/$defs/nonNegativeInteger",default:1},maxProperties:{$ref:"#/$defs/nonNegativeInteger"},minProperties:{$ref:"#/$defs/nonNegativeIntegerDefault0"},required:{$ref:"#/$defs/stringArray"},dependentRequired:{type:"object",additionalProperties:{$ref:"#/$defs/stringArray"}},const:!0,enum:{type:"array",items:!0},type:{anyOf:[{$ref:"#/$defs/simpleTypes"},{type:"array",items:{$ref:"#/$defs/simpleTypes"},minItems:1,uniqueItems:!0}]}},$defs:{nonNegativeInteger:{type:"integer",minimum:0},nonNegativeIntegerDefault0:{$ref:"#/$defs/nonNegativeInteger",default:0},simpleTypes:{enum:["array","boolean","integer","null","number","object","string"]},stringArray:{type:"array",items:{type:"string"},uniqueItems:!0,default:[]}}}});var ed=me(Js=>{"use strict";Object.defineProperty(Js,"__esModule",{value:!0});var l4=zc(),f4=Kc(),c4=Yc(),d4=Wc(),h4=Jc(),p4=Zc(),g4=Xc(),m4=["/properties"];function y4(n){return[l4,f4,c4,d4,e(this,h4),p4,e(this,g4)].forEach(s=>this.addMetaSchema(s,void 0,!1)),this;function e(s,a){return n?s.$dataMetaSchema(a,m4):a}}Js.default=y4});var Ad=me((hA,Xs)=>{"use strict";Object.defineProperty(hA,"__esModule",{value:!0});hA.MissingRefError=hA.ValidationError=hA.CodeGen=hA.Name=hA.nil=hA.stringify=hA.str=hA._=hA.KeywordCxt=hA.Ajv2019=void 0;var w4=Sf(),v4=$c(),b4=Tc(),_4=Rc(),E4=Lc(),$4=Vc(),k4=ed(),Zs="https://json-schema.org/draft/2019-09/schema",Yr=class extends w4.default{constructor(e={}){super({...e,dynamicRef:!0,next:!0,unevaluated:!0})}_addVocabularies(){super._addVocabularies(),this.addVocabulary(b4.default),v4.default.forEach(e=>this.addVocabulary(e)),this.addVocabulary(_4.default),this.addVocabulary(E4.default),this.opts.discriminator&&this.addKeyword($4.default)}_addDefaultMetaSchema(){super._addDefaultMetaSchema();let{$data:e,meta:s}=this.opts;s&&(k4.default.call(this,e),this.refs["http://json-schema.org/schema"]=Zs)}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(Zs)?Zs:void 0)}};hA.Ajv2019=Yr;Xs.exports=hA=Yr;Xs.exports.Ajv2019=Yr;Object.defineProperty(hA,"__esModule",{value:!0});hA.default=Yr;var x4=Dn();Object.defineProperty(hA,"KeywordCxt",{enumerable:!0,get:function(){return x4.KeywordCxt}});var Wr=Ue();Object.defineProperty(hA,"_",{enumerable:!0,get:function(){return Wr._}});Object.defineProperty(hA,"str",{enumerable:!0,get:function(){return Wr.str}});Object.defineProperty(hA,"stringify",{enumerable:!0,get:function(){return Wr.stringify}});Object.defineProperty(hA,"nil",{enumerable:!0,get:function(){return Wr.nil}});Object.defineProperty(hA,"Name",{enumerable:!0,get:function(){return Wr.Name}});Object.defineProperty(hA,"CodeGen",{enumerable:!0,get:function(){return Wr.CodeGen}});var S4=Di();Object.defineProperty(hA,"ValidationError",{enumerable:!0,get:function(){return S4.default}});var B4=Cn();Object.defineProperty(hA,"MissingRefError",{enumerable:!0,get:function(){return B4.default}})});var M_={};Iu(M_,{HoloSphere:()=>po,buildLensPath:()=>N2,default:()=>j_,handshake:()=>Ta,nostrUtils:()=>rn,registry:()=>I2,subscriptions:()=>R2,version:()=>O_});var xA=(function(n){n=n||{};var e=typeof n<"u"?n:{},s={},a;for(a in e)e.hasOwnProperty(a)&&(s[a]=e[a]);var c=[],h="";function g(te){return e.locateFile?e.locateFile(te,h):h+te}var m;typeof document<"u"&&document.currentScript&&(h=document.currentScript.src),h.indexOf("blob:")!==0?h=h.substr(0,h.lastIndexOf("/")+1):h="",m=function(oe,ye,se){var r=new XMLHttpRequest;r.open("GET",oe,!0),r.responseType="arraybuffer",r.onload=function(){if(r.status==200||r.status==0&&r.response){ye(r.response);return}var tA=wo(oe);if(tA){ye(tA.buffer);return}se()},r.onerror=se,r.send(null)};var v=e.print||console.log.bind(console),b=e.printErr||console.warn.bind(console);for(a in s)s.hasOwnProperty(a)&&(e[a]=s[a]);s=null,e.arguments&&(c=e.arguments);var w=0,_=function(te){w=te},$=function(){return w},k=8;function T(te,oe,ye,se){switch(ye=ye||"i8",ye.charAt(ye.length-1)==="*"&&(ye="i32"),ye){case"i1":C[te>>0]=oe;break;case"i8":C[te>>0]=oe;break;case"i16":Y[te>>1]=oe;break;case"i32":U[te>>2]=oe;break;case"i64":yo=[oe>>>0,($r=oe,+F2($r)>=1?$r>0?(K2(+z2($r/4294967296),4294967295)|0)>>>0:~~+V2(($r-+(~~$r>>>0))/4294967296)>>>0:0)],U[te>>2]=yo[0],U[te+4>>2]=yo[1];break;case"float":ie[te>>2]=oe;break;case"double":le[te>>3]=oe;break;default:Ar("invalid type for setValue: "+ye)}}function x(te,oe,ye){switch(oe=oe||"i8",oe.charAt(oe.length-1)==="*"&&(oe="i32"),oe){case"i1":return C[te>>0];case"i8":return C[te>>0];case"i16":return Y[te>>1];case"i32":return U[te>>2];case"i64":return U[te>>2];case"float":return ie[te>>2];case"double":return le[te>>3];default:Ar("invalid type for getValue: "+oe)}return null}var N=!1;function j(te,oe){te||Ar("Assertion failed: "+oe)}function q(te){var oe=e["_"+te];return j(oe,"Cannot call unknown function "+te+", make sure it is exported"),oe}function L(te,oe,ye,se,r){var sA={string:function(bA){var We=0;if(bA!=null&&bA!==0){var AA=(bA.length<<2)+1;We=Ha(AA),X(bA,We,AA)}return We},array:function(bA){var We=Ha(bA.length);return ue(bA,We),We}};function tA(bA){return oe==="string"?pe(bA):oe==="boolean"?!!bA:bA}var S=q(te),wA=[],UA=0;if(se)for(var vA=0;vA<se.length;vA++){var Xe=sA[ye[vA]];Xe?(UA===0&&(UA=fh()),wA[vA]=Xe(se[vA])):wA[vA]=se[vA]}var pA=S.apply(null,wA);return pA=tA(pA),UA!==0&&lh(UA),pA}function G(te,oe,ye,se){ye=ye||[];var r=ye.every(function(tA){return tA==="number"}),sA=oe!=="string";return sA&&r&&!se?q(te):function(){return L(te,oe,ye,arguments,se)}}var z=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0;function J(te,oe,ye){for(var se=oe+ye,r=oe;te[r]&&!(r>=se);)++r;if(r-oe>16&&te.subarray&&z)return z.decode(te.subarray(oe,r));for(var sA="";oe<r;){var tA=te[oe++];if(!(tA&128)){sA+=String.fromCharCode(tA);continue}var S=te[oe++]&63;if((tA&224)==192){sA+=String.fromCharCode((tA&31)<<6|S);continue}var wA=te[oe++]&63;if((tA&240)==224?tA=(tA&15)<<12|S<<6|wA:tA=(tA&7)<<18|S<<12|wA<<6|te[oe++]&63,tA<65536)sA+=String.fromCharCode(tA);else{var UA=tA-65536;sA+=String.fromCharCode(55296|UA>>10,56320|UA&1023)}}return sA}function pe(te,oe){return te?J(Q,te,oe):""}function W(te,oe,ye,se){if(!(se>0))return 0;for(var r=ye,sA=ye+se-1,tA=0;tA<te.length;++tA){var S=te.charCodeAt(tA);if(S>=55296&&S<=57343){var wA=te.charCodeAt(++tA);S=65536+((S&1023)<<10)|wA&1023}if(S<=127){if(ye>=sA)break;oe[ye++]=S}else if(S<=2047){if(ye+1>=sA)break;oe[ye++]=192|S>>6,oe[ye++]=128|S&63}else if(S<=65535){if(ye+2>=sA)break;oe[ye++]=224|S>>12,oe[ye++]=128|S>>6&63,oe[ye++]=128|S&63}else{if(ye+3>=sA)break;oe[ye++]=240|S>>18,oe[ye++]=128|S>>12&63,oe[ye++]=128|S>>6&63,oe[ye++]=128|S&63}}return oe[ye]=0,ye-r}function X(te,oe,ye){return W(te,Q,oe,ye)}var we=typeof TextDecoder<"u"?new TextDecoder("utf-16le"):void 0;function ue(te,oe){C.set(te,oe)}function D(te,oe){return te%oe>0&&(te+=oe-te%oe),te}var B,C,Q,Y,K,U,re,ie,le;function ge(te){B=te,e.HEAP8=C=new Int8Array(te),e.HEAP16=Y=new Int16Array(te),e.HEAP32=U=new Int32Array(te),e.HEAPU8=Q=new Uint8Array(te),e.HEAPU16=K=new Uint16Array(te),e.HEAPU32=re=new Uint32Array(te),e.HEAPF32=ie=new Float32Array(te),e.HEAPF64=le=new Float64Array(te)}var Pe=5271536,Ee=28624,ve=e.TOTAL_MEMORY||33554432;e.buffer?B=e.buffer:B=new ArrayBuffer(ve),ve=B.byteLength,ge(B),U[Ee>>2]=Pe;function Ne(te){for(;te.length>0;){var oe=te.shift();if(typeof oe=="function"){oe();continue}var ye=oe.func;typeof ye=="number"?oe.arg===void 0?e.dynCall_v(ye):e.dynCall_vi(ye,oe.arg):ye(oe.arg===void 0?null:oe.arg)}}var rA=[],fA=[],Ye=[],nA=[];function RA(){if(e.preRun)for(typeof e.preRun=="function"&&(e.preRun=[e.preRun]);e.preRun.length;)U2(e.preRun.shift());Ne(rA)}function WA(){Ne(fA)}function ni(){Ne(Ye)}function L2(){if(e.postRun)for(typeof e.postRun=="function"&&(e.postRun=[e.postRun]);e.postRun.length;)G2(e.postRun.shift());Ne(nA)}function U2(te){rA.unshift(te)}function G2(te){nA.unshift(te)}var F2=Math.abs,V2=Math.ceil,z2=Math.floor,K2=Math.min,er=0,go=null,on=null;function Y2(te){er++,e.monitorRunDependencies&&e.monitorRunDependencies(er)}function W2(te){if(er--,e.monitorRunDependencies&&e.monitorRunDependencies(er),er==0&&(go!==null&&(clearInterval(go),go=null),on)){var oe=on;on=null,oe()}}e.preloadedImages={},e.preloadedAudios={};var $t=null,mo="data:application/octet-stream;base64,";function ja(te){return String.prototype.startsWith?te.startsWith(mo):te.indexOf(mo)===0}var $r,yo;$t="data:application/octet-stream;base64,AAAAAAAAAAAAAAAAAQAAAAIAAAADAAAABAAAAAUAAAAGAAAAAQAAAAQAAAADAAAABgAAAAUAAAACAAAAAAAAAAIAAAADAAAAAQAAAAQAAAAGAAAAAAAAAAUAAAADAAAABgAAAAQAAAAFAAAAAAAAAAEAAAACAAAABAAAAAUAAAAGAAAAAAAAAAIAAAADAAAAAQAAAAUAAAACAAAAAAAAAAEAAAADAAAABgAAAAQAAAAGAAAAAAAAAAUAAAACAAAAAQAAAAQAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAEAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAIAAAADAAAAAAAAAAAAAAACAAAAAAAAAAEAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAYAAAAAAAAABQAAAAAAAAAAAAAABAAAAAUAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAYAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAAAAMAAAAEAAAABQAAAAYAAAABAAAAAgAAAAMAAAAEAAAABQAAAAYAAAAAAAAAAgAAAAMAAAAEAAAABQAAAAYAAAAAAAAAAQAAAAMAAAAEAAAABQAAAAYAAAAAAAAAAQAAAAIAAAAEAAAABQAAAAYAAAAAAAAAAQAAAAIAAAADAAAABQAAAAYAAAAAAAAAAQAAAAIAAAADAAAABAAAAAYAAAAAAAAAAQAAAAIAAAADAAAABAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAwAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAgAAAAIAAAAAAAAAAAAAAAYAAAAAAAAAAwAAAAIAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAFAAAABAAAAAAAAAABAAAAAAAAAAAAAAAFAAAABQAAAAAAAAAAAAAAAAAAAAYAAAAAAAAABAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAFAAAAAgAAAAQAAAADAAAACAAAAAEAAAAHAAAABgAAAAkAAAAAAAAAAwAAAAIAAAACAAAA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AAAAAAAAAAAFAAAAAQAAAAAAAAAAAAAAAQAAAAMAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAEAAAADAAAAAAAAAAAAAAABAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAADAAAABQAAAAEAAAAAAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAP////8DAAAAAAAAAAUAAAACAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAEAAAABQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAMAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAMAAAAFAAAABQAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAFAAAABQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAMAAAADAAAAAwAAAAAAAAADAAAAAAAAAAAAAAD/////AwAAAAAAAAAFAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAAAAAABAAAAAwAAAAAAAAAAAAAAAQAAAAAAAAADAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAMAAAAAAAAAAwAAAAAAAAAAAAAAAQAAAAMAAAAAAAAAAAAAAAEAAAAAAAAAAwAAAAMAAAADAAAAAwAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAMAAAADAAAAAAAAAP////8DAAAAAAAAAAUAAAACAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAwAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAUAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAFAAAABQAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAwAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAAAAAADAAAAAAAAAAAAAAADAAAAAwAAAAMAAAAAAAAAAwAAAAAAAAAAAAAA/////wMAAAAAAAAABQAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAADAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAAAAAAA/////wMAAAAAAAAABQAAAAIAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAMAAAADAAAAAAAAAAAAAAADAAAAAwAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAwAAAAAAAAADAAAAAAAAAAMAAAADAAAAAwAAAAMAAAAAAAAAAwAAAAAAAAD/////AwAAAAAAAAAFAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAAAAAMAAAADAAAAAwAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAAAAAD/////AwAAAAAAAAAFAAAAAgAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAAAAAADAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAFAAAAAAAAAAAAAAADAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAADAAAAAQAAAAAAAAABAAAAAAAAAAAAAAABAAAAAwAAAAEAAAAAAAAAAQAAAAAAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAADAAAAAAAAAP////8DAAAAAAAAAAUAAAACAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAADAAAAAAAAAAAAAAADAAAAAwAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAUAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAFAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAFAAAABQAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAAAAAAA/////wMAAAAAAAAABQAAAAIAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAwAAAAAAAAAFAAAAAAAAAAAAAAAFAAAABQAAAAAAAAAAAAAAAAAAAAEAAAADAAAAAQAAAAAAAAABAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAwAAAAAAAAADAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAADAAAAAQAAAAAAAAABAAAAAAAAAAMAAAADAAAAAwAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAEAAAAAAAAAAwAAAAUAAAABAAAAAAAAAP////8DAAAAAAAAAAUAAAACAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAFAAAABQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAABAAAAAUAAAABAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAIAAAAFAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAEAAAADAAAAAQAAAAAAAAABAAAAAAAAAAUAAAAAAAAAAAAAAAUAAAAFAAAAAAAAAAAAAAD/////AQAAAAAAAAADAAAABAAAAAIAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAUAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAFAAAAAAAAAAAAAAAFAAAABQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAQAAAAUAAAABAAAAAAAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAEAAAD//////////wEAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAADAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAsAAAACAAAAAAAAAAAAAAABAAAAAgAAAAYAAAAEAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAcAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAKAAAAAgAAAAAAAAAAAAAAAQAAAAEAAAAFAAAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAsAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAACAAAAAAAAAAAAAAABAAAAAwAAAAcAAAAGAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAABwAAAAEAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAADgAAAAIAAAAAAAAAAAAAAAEAAAAAAAAACQAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAMAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADQAAAAIAAAAAAAAAAAAAAAEAAAAEAAAACAAAAAoAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAALAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAACQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAAgAAAAAAAAAAAAAAAQAAAAsAAAAPAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAOAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAEAAAAAAAAAAQAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAIAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAABQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAgAAAAAAAAAAAAAAAQAAAAwAAAAQAAAADAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAPAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAADwAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAADQAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAACAAAAAAAAAAAAAAABAAAACgAAABMAAAAIAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkAAAABAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAEQAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEQAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAA8AAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAQAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAACQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAIAAAAAAAAAAAAAAAEAAAANAAAAEQAAAA0AAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAARAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAEwAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAATAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAEQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAA0AAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAARAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkAAAACAAAAAAAAAAAAAAABAAAADgAAABIAAAAPAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAADwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAASAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAEwAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAABEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEgAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAABIAAAABAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAATAAAAAgAAAAAAAAAAAAAAAQAAAP//////////EwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAEgAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAASAAAAAAAAABgAAAAAAAAAIQAAAAAAAAAeAAAAAAAAACAAAAADAAAAMQAAAAEAAAAwAAAAAwAAADIAAAADAAAACAAAAAAAAAAFAAAABQAAAAoAAAAFAAAAFgAAAAAAAAAQAAAAAAAAABIAAAAAAAAAKQAAAAEAAAAhAAAAAAAAAB4AAAAAAAAABAAAAAAAAAAAAAAABQAAAAIAAAAFAAAADwAAAAEAAAAIAAAAAAAAAAUAAAAFAAAAHwAAAAEAAAAWAAAAAAAAABAAAAAAAAAAAgAAAAAAAAAGAAAAAAAAAA4AAAAAAAAACgAAAAAAAAALAAAAAAAAABEAAAADAAAAGAAAAAEAAAAXAAAAAwAAABkAAAADAAAAAAAAAAAAAAABAAAABQAAAAkAAAAFAAAABQAAAAAAAAACAAAAAAAAAAYAAAAAAAAAEgAAAAEAAAAKAAAAAAAAAAsAAAAAAAAABAAAAAEAAAADAAAABQAAAAcAAAAFAAAACAAAAAEAAAAAAAAAAAAAAAEAAAAFAAAAEAAAAAEAAAAFAAAAAAAAAAIAAAAAAAAABwAAAAAAAAAVAAAAAAAAACYAAAAAAAAACQAAAAAAAAATAAAAAAAAACIAAAADAAAADgAAAAEAAAAUAAAAAwAAACQAAAADAAAAAwAAAAAAAAANAAAABQAAAB0AAAAFAAAAAQAAAAAAAAAHAAAAAAAAABUAAAAAAAAABgAAAAEAAAAJAAAAAAAAABMAAAAAAAAABAAAAAIAAAAMAAAA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Zhu25b633D8c1YgmzowSQNM25BRKWARArGS08/lNxD+LFssHwmMRQLC5aNcxBgJABL9HT0WRF0CjCmJmOGEOQHsuaVzMP/s/TWJCaGGwBUCeu1PAPLzjP9nqN9DZOBNAKE4JcydbCkCGtbd1qjPzP8dgm9U8jhVAtPeKTkVwDkCeCLss5l37P401XMPLmBdAFd29VMVQDUBg0yA55h75Pz6odcYLCRdApBM4rBrkAkDyAVWgQxbRP4XDMnK20hFAymLlF7EmzD8GUgo9XBHlP3lbK7T9COc/k+OhPthhy7+YGEpnrOvCPzBFhLs15u4/epbqB6H4uz9IuuLF5svev6lzLKY31es/CaQ0envF5z8ZY0xlUADXv7zaz7HYEuI/CfbK1sn16T8uAQfWwxLWPzKn/YuFN94/5KdbC1AFu793fyCSnlfvPzK2y4doAMY/NRg5t1/X6b/shq4QJaHDP5yNIAKPOeI/vpn7BSE30r/X4YQrO6nrv78Ziv/Thto/DqJ1Y6+y5z9l51NaxFrlv8QlA65HOLS/86dxiEc96z+Hj0+LFjneP6LzBZ8LTc2/DaJ1Y6+y579l51NaxFrlP8QlA65HOLQ/8qdxiEc967+Jj0+LFjnev6LzBZ8LTc0/1qdbC1AFuz93fyCSnlfvvzK2y4doAMa/NRg5t1/X6T/vhq4QJaHDv5yNIAKPOeK/wJn7BSE30j/W4YQrO6nrP78Ziv/Thtq/CaQ0envF578XY0xlUADXP7zaz7HYEuK/CvbK1sn16b8rAQfWwxLWvzKn/YuFN96/zWLlF7EmzL8GUgo9XBHlv3lbK7T9COe/kOOhPthhyz+cGEpnrOvCvzBFhLs15u6/c5bqB6H4u79IuuLF5sveP6lzLKY31eu/AQAAAP////8HAAAA/////zEAAAD/////VwEAAP////9hCQAA/////6dBAAD/////kcsBAP/////3kAwA/////8H2VwAAAAAAAAAAAAAAAAACAAAA/////w4AAAD/////YgAAAP////+uAgAA/////8ISAAD/////ToMAAP////8ilwMA/////+4hGQD/////gu2vAAAAAAAAAAAAAAAAAAAAAAACAAAA//////////8BAAAAAwAAAP//////////////////////////////////////////////////////////////////////////AQAAAAAAAAACAAAA////////////////AwAAAP//////////////////////////////////////////////////////////////////////////AQAAAAAAAAACAAAA////////////////AwAAAP//////////////////////////////////////////////////////////////////////////AQAAAAAAAAACAAAA////////////////AwAAAP//////////////////////////////////////////////////////////AgAAAP//////////AQAAAAAAAAD/////////////////////AwAAAP////////////////////////////////////////////////////8DAAAA/////////////////////wAAAAD/////////////////////AQAAAP///////////////wIAAAD///////////////////////////////8DAAAA/////////////////////wAAAAD///////////////8CAAAAAQAAAP////////////////////////////////////////////////////8DAAAA/////////////////////wAAAAD///////////////8CAAAAAQAAAP////////////////////////////////////////////////////8DAAAA/////////////////////wAAAAD///////////////8CAAAAAQAAAP////////////////////////////////////////////////////8DAAAA/////////////////////wAAAAD///////////////8CAAAAAQAAAP////////////////////////////////////////////////////8BAAAAAgAAAP///////////////wAAAAD/////////////////////AwAAAP////////////////////////////////////////////////////8BAAAAAgAAAP///////////////wAAAAD/////////////////////AwAAAP////////////////////////////////////////////////////8BAAAAAgAAAP///////////////wAAAAD/////////////////////AwAAAP////////////////////////////////////////////////////8BAAAAAgAAAP///////////////wAAAAD/////////////////////AwAAAP///////////////////////////////wIAAAD///////////////8BAAAA/////////////////////wAAAAD/////////////////////AwAAAP////////////////////////////////////////////////////8DAAAA/////////////////////wAAAAABAAAA//////////8CAAAA//////////////////////////////////////////////////////////8DAAAA////////////////AgAAAAAAAAABAAAA//////////////////////////////////////////////////////////////////////////8DAAAA////////////////AgAAAAAAAAABAAAA//////////////////////////////////////////////////////////////////////////8DAAAA////////////////AgAAAAAAAAABAAAA//////////////////////////////////////////////////////////////////////////8DAAAAAQAAAP//////////AgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAACAAAAAAAAAAIAAAABAAAAAQAAAAIAAAACAAAAAAAAAAUAAAAFAAAAAAAAAAIAAAACAAAAAwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAgAAAAEAAAACAAAAAgAAAAIAAAAAAAAABQAAAAYAAAAAAAAAAgAAAAIAAAADAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAAAAAAAAACAAAAAQAAAAMAAAACAAAAAgAAAAAAAAAFAAAABwAAAAAAAAACAAAAAgAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAACAAAAAAAAAAIAAAABAAAABAAAAAIAAAACAAAAAAAAAAUAAAAIAAAAAAAAAAIAAAACAAAAAwAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAIAAAAAAAAAAgAAAAEAAAAAAAAAAgAAAAIAAAAAAAAABQAAAAkAAAAAAAAAAgAAAAIAAAADAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAgAAAAIAAAAAAAAAAwAAAA4AAAACAAAAAAAAAAIAAAADAAAAAAAAAAAAAAACAAAAAgAAAAMAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAsAAAACAAAAAgAAAAAAAAADAAAACgAAAAIAAAAAAAAAAgAAAAMAAAABAAAAAAAAAAIAAAACAAAAAwAAAAcAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAIAAAACAAAAAAAAAAMAAAALAAAAAgAAAAAAAAACAAAAAwAAAAIAAAAAAAAAAgAAAAIAAAADAAAACAAAAAAAAAAAAAAAAAAAAAAAAAANAAAAAgAAAAIAAAAAAAAAAwAAAAwAAAACAAAAAAAAAAIAAAADAAAAAwAAAAAAAAACAAAAAgAAAAMAAAAJAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAACAAAAAgAAAAAAAAADAAAADQAAAAIAAAAAAAAAAgAAAAMAAAAEAAAAAAAAAAIAAAACAAAAAwAAAAoAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAIAAAACAAAAAAAAAAMAAAAGAAAAAgAAAAAAAAACAAAAAwAAAA8AAAAAAAAAAgAAAAIAAAADAAAACwAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAAgAAAAIAAAAAAAAAAwAAAAcAAAACAAAAAAAAAAIAAAADAAAAEAAAAAAAAAACAAAAAgAAAAMAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAcAAAACAAAAAgAAAAAAAAADAAAACAAAAAIAAAAAAAAAAgAAAAMAAAARAAAAAAAAAAIAAAACAAAAAwAAAA0AAAAAAAAAAAAAAAAAAAAAAAAACAAAAAIAAAACAAAAAAAAAAMAAAAJAAAAAgAAAAAAAAACAAAAAwAAABIAAAAAAAAAAgAAAAIAAAADAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAJAAAAAgAAAAIAAAAAAAAAAwAAAAUAAAACAAAA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ZV0gPT0gS0kAZmFjZWlqay5jAF9mYWNlSWprUGVudFRvQ2VsbEJvdW5kYXJ5AGFkamFjZW50RmFjZURpcltjZW50ZXJJSksuZmFjZV1bZmFjZTJdID09IEtJAF9mYWNlSWprVG9DZWxsQm91bmRhcnkAaDNJbmRleC5jAGNvbXBhY3RDZWxscwBsYXRMbmdUb0NlbGwAY2VsbFRvQ2hpbGRQb3MAdmFsaWRhdGVDaGlsZFBvcwBsYXRMbmcuYwBjZWxsQXJlYVJhZHMyAHBvbHlnb24tPm5leHQgPT0gTlVMTABsaW5rZWRHZW8uYwBhZGROZXdMaW5rZWRQb2x5Z29uAG5leHQgIT0gTlVMTABsb29wICE9IE5VTEwAYWRkTmV3TGlua2VkTG9vcABwb2x5Z29uLT5maXJzdCA9PSBOVUxMAGFkZExpbmtlZExvb3AAY29vcmQgIT0gTlVMTABhZGRMaW5rZWRDb29yZABsb29wLT5maXJzdCA9PSBOVUxMAGlubmVyTG9vcHMgIT0gTlVMTABub3JtYWxpemVNdWx0aVBvbHlnb24AYmJveGVzICE9IE5VTEwAY2FuZGlkYXRlcyAhPSBOVUxMAGZpbmRQb2x5Z29uRm9ySG9sZQBjYW5kaWRhdGVCQm94ZXMgIT0gTlVMTAByZXZEaXIgIT0gSU5WQUxJRF9ESUdJVABsb2NhbGlqLmMAY2VsbFRvTG9jYWxJamsAYmFzZUNlbGwgIT0gb3JpZ2luQmFzZUNlbGwAIShvcmlnaW5PblBlbnQgJiYgaW5kZXhPblBlbnQpAGJhc2VDZWxsID09IG9yaWdpbkJhc2VDZWxsAGJhc2VDZWxsICE9IElOVkFMSURfQkFTRV9DRUxMAGxvY2FsSWprVG9DZWxsACFfaXNCYXNlQ2VsbFBlbnRhZ29uKGJhc2VDZWxsKQBiYXNlQ2VsbFJvdGF0aW9ucyA+PSAwAGdyaWRQYXRoQ2VsbHMAcG9seWZpbGwuYwBpdGVyU3RlcFBvbHlnb25Db21wYWN0ADAAdmVydGV4LmMAdmVydGV4Um90YXRpb25zAGNlbGxUb1ZlcnRleABncmFwaC0+YnVja2V0cyAhPSBOVUxMAHZlcnRleEdyYXBoLmMAaW5pdFZlcnRleEdyYXBoAG5vZGUgIT0gTlVMTABhZGRWZXJ0ZXhOb2Rl";var J2=28640;function Z2(te){return te}function Ma(te){var oe=/\b__Z[\w\d_]+/g;return te.replace(oe,function(ye){var se=ye;return ye===se?ye:se+" ["+ye+"]"})}function Na(){var te=new Error;if(!te.stack){try{throw new Error(0)}catch(oe){te=oe}if(!te.stack)return"(no stack trace available)"}return te.stack.toString()}function X2(){var te=Na();return e.extraStackTrace&&(te+=`
|
|
10
|
+
`+e.extraStackTrace()),Ma(te)}function eh(te,oe,ye,se){Ar("Assertion failed: "+pe(te)+", at: "+[oe?pe(oe):"unknown filename",ye,se?pe(se):"unknown function"])}function Ra(){return C.length}function Ah(te,oe,ye){Q.set(Q.subarray(oe,oe+ye),te)}function th(te){return e.___errno_location&&(U[e.___errno_location()>>2]=te),te}function rh(te){Ar("OOM")}function Ia(te){try{var oe=new ArrayBuffer(te);return oe.byteLength!=te?void 0:(new Int8Array(oe).set(C),uh(oe),ge(oe),1)}catch{}}function nh(te){var oe=Ra(),ye=16777216,se=2147483648-ye;if(te>se)return!1;for(var r=16777216,sA=Math.max(oe,r);sA<te;)sA<=536870912?sA=D(2*sA,ye):sA=Math.min(D((3*sA+2147483648)/4,ye),se);var tA=Ia(sA);return!!tA}var ih=typeof atob=="function"?atob:function(te){var oe="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",ye="",se,r,sA,tA,S,wA,UA,vA=0;te=te.replace(/[^A-Za-z0-9\+\/\=]/g,"");do tA=oe.indexOf(te.charAt(vA++)),S=oe.indexOf(te.charAt(vA++)),wA=oe.indexOf(te.charAt(vA++)),UA=oe.indexOf(te.charAt(vA++)),se=tA<<2|S>>4,r=(S&15)<<4|wA>>2,sA=(wA&3)<<6|UA,ye=ye+String.fromCharCode(se),wA!==64&&(ye=ye+String.fromCharCode(r)),UA!==64&&(ye=ye+String.fromCharCode(sA));while(vA<te.length);return ye};function oh(te){try{for(var oe=ih(te),ye=new Uint8Array(oe.length),se=0;se<oe.length;++se)ye[se]=oe.charCodeAt(se);return ye}catch{throw new Error("Converting base64 string to bytes failed.")}}function wo(te){if(ja(te))return oh(te.slice(mo.length))}var sh={Math,Int8Array,Int32Array,Uint8Array,Float32Array,Float64Array},ah={a:Ar,b:_,c:$,d:eh,e:th,f:Ra,g:Ah,h:nh,i:rh,j:Z2,k:Ma,l:Ia,m:Na,n:X2,o:J2,p:Ee},fe=(function(te,oe,ye){"almost asm";var se=new te.Int8Array(ye),r=new te.Int32Array(ye),sA=new te.Uint8Array(ye),tA=new te.Float32Array(ye),S=new te.Float64Array(ye),wA=oe.o|0,UA=oe.p|0,vA=te.Math.floor,Xe=te.Math.abs,pA=te.Math.sqrt,bA=te.Math.pow,We=te.Math.cos,AA=te.Math.sin,sn=te.Math.tan,ch=te.Math.acos,dh=te.Math.asin,_o=te.Math.atan,XA=te.Math.atan2,kr=te.Math.ceil,gt=te.Math.imul,Eo=te.Math.min,hh=te.Math.max,kt=te.Math.clz32,Ie=oe.b,M=oe.c,Oe=oe.d,Ua=oe.e,ph=oe.f,gh=oe.g,mh=oe.h,yh=oe.i,P=28656;function wh(t){return se=new Int8Array(t),sA=new Uint8Array(t),r=new Int32Array(t),tA=new Float32Array(t),S=new Float64Array(t),ye=t,!0}function vh(t){t=t|0;var A=0;return A=P,P=P+t|0,P=P+15&-16,A|0}function bh(){return P|0}function _h(t){t=t|0,P=t}function Eh(t,A){t=t|0,A=A|0,P=t}function $h(t,A){t=t|0,A=A|0;var i=0,o=0,u=0;return(t|0)<0?(A=2,A|0):(t|0)>13780509?(A=li(15,A)|0,A|0):(i=((t|0)<0)<<31>>31,u=$A(t|0,i|0,3,0)|0,o=M()|0,i=xe(t|0,i|0,1,0)|0,i=$A(u|0,o|0,i|0,M()|0)|0,i=xe(i|0,M()|0,1,0)|0,t=M()|0,r[A>>2]=i,r[A+4>>2]=t,A=0,A|0)}function Ga(t,A,i,o){return t=t|0,A=A|0,i=i|0,o=o|0,Fa(t,A,i,o,0)|0}function Fa(t,A,i,o,u){t=t|0,A=A|0,i=i|0,o=o|0,u=u|0;var l=0,f=0,d=0,p=0,y=0;if(p=P,P=P+16|0,f=p,!(Va(t,A,i,o,u)|0))return o=0,P=p,o|0;do if((i|0)>=0){if((i|0)>13780509){if(l=li(15,f)|0,l|0)break;d=f,f=r[d>>2]|0,d=r[d+4>>2]|0}else l=((i|0)<0)<<31>>31,y=$A(i|0,l|0,3,0)|0,d=M()|0,l=xe(i|0,l|0,1,0)|0,l=$A(y|0,d|0,l|0,M()|0)|0,l=xe(l|0,M()|0,1,0)|0,d=M()|0,r[f>>2]=l,r[f+4>>2]=d,f=l;if(Ht(o|0,0,f<<3|0)|0,u|0){Ht(u|0,0,f<<2|0)|0,l=mt(t,A,i,o,u,f,d,0)|0;break}l=FA(f,4)|0,l?(y=mt(t,A,i,o,l,f,d,0)|0,Be(l),l=y):l=13}else l=2;while(!1);return y=l,P=p,y|0}function Va(t,A,i,o,u){t=t|0,A=A|0,i=i|0,o=o|0,u=u|0;var l=0,f=0,d=0,p=0,y=0,E=0,O=0,R=0,I=0,H=0,F=0;if(F=P,P=P+16|0,I=F,H=F+8|0,R=I,r[R>>2]=t,r[R+4>>2]=A,(i|0)<0)return H=2,P=F,H|0;if(l=o,r[l>>2]=t,r[l+4>>2]=A,l=(u|0)!=0,l&&(r[u>>2]=0),aA(t,A)|0)return H=9,P=F,H|0;r[H>>2]=0;e:do if((i|0)>=1)if(l)for(E=1,y=0,O=0,R=1,l=t;;){if(!(y|O)){if(l=_A(l,A,4,H,I)|0,l|0)break e;if(A=I,l=r[A>>2]|0,A=r[A+4>>2]|0,aA(l,A)|0){l=9;break e}}if(l=_A(l,A,r[26800+(O<<2)>>2]|0,H,I)|0,l|0)break e;if(A=I,l=r[A>>2]|0,A=r[A+4>>2]|0,t=o+(E<<3)|0,r[t>>2]=l,r[t+4>>2]=A,r[u+(E<<2)>>2]=R,t=y+1|0,f=(t|0)==(R|0),d=O+1|0,p=(d|0)==6,aA(l,A)|0){l=9;break e}if(R=R+(p&f&1)|0,(R|0)>(i|0)){l=0;break}else E=E+1|0,y=f?0:t,O=f?p?0:d:O}else for(E=1,y=0,O=0,R=1,l=t;;){if(!(y|O)){if(l=_A(l,A,4,H,I)|0,l|0)break e;if(A=I,l=r[A>>2]|0,A=r[A+4>>2]|0,aA(l,A)|0){l=9;break e}}if(l=_A(l,A,r[26800+(O<<2)>>2]|0,H,I)|0,l|0)break e;if(A=I,l=r[A>>2]|0,A=r[A+4>>2]|0,t=o+(E<<3)|0,r[t>>2]=l,r[t+4>>2]=A,t=y+1|0,f=(t|0)==(R|0),d=O+1|0,p=(d|0)==6,aA(l,A)|0){l=9;break e}if(R=R+(p&f&1)|0,(R|0)>(i|0)){l=0;break}else E=E+1|0,y=f?0:t,O=f?p?0:d:O}else l=0;while(!1);return H=l,P=F,H|0}function mt(t,A,i,o,u,l,f,d){t=t|0,A=A|0,i=i|0,o=o|0,u=u|0,l=l|0,f=f|0,d=d|0;var p=0,y=0,E=0,O=0,R=0,I=0,H=0,F=0,Z=0,ne=0;if(F=P,P=P+16|0,I=F+8|0,H=F,p=Cr(t|0,A|0,l|0,f|0)|0,E=M()|0,O=o+(p<<3)|0,Z=O,ne=r[Z>>2]|0,Z=r[Z+4>>2]|0,y=(ne|0)==(t|0)&(Z|0)==(A|0),!((ne|0)==0&(Z|0)==0|y))do p=xe(p|0,E|0,1,0)|0,p=Dr(p|0,M()|0,l|0,f|0)|0,E=M()|0,O=o+(p<<3)|0,ne=O,Z=r[ne>>2]|0,ne=r[ne+4>>2]|0,y=(Z|0)==(t|0)&(ne|0)==(A|0);while(!((Z|0)==0&(ne|0)==0|y));if(p=u+(p<<2)|0,y&&(r[p>>2]|0)<=(d|0)||(ne=O,r[ne>>2]=t,r[ne+4>>2]=A,r[p>>2]=d,(d|0)>=(i|0)))return ne=0,P=F,ne|0;switch(y=d+1|0,r[I>>2]=0,p=_A(t,A,2,I,H)|0,p|0){case 9:{R=9;break}case 0:{p=H,p=mt(r[p>>2]|0,r[p+4>>2]|0,i,o,u,l,f,y)|0,p||(R=9);break}default:}e:do if((R|0)==9){switch(r[I>>2]=0,p=_A(t,A,3,I,H)|0,p|0){case 9:break;case 0:{if(p=H,p=mt(r[p>>2]|0,r[p+4>>2]|0,i,o,u,l,f,y)|0,p|0)break e;break}default:break e}switch(r[I>>2]=0,p=_A(t,A,1,I,H)|0,p|0){case 9:break;case 0:{if(p=H,p=mt(r[p>>2]|0,r[p+4>>2]|0,i,o,u,l,f,y)|0,p|0)break e;break}default:break e}switch(r[I>>2]=0,p=_A(t,A,5,I,H)|0,p|0){case 9:break;case 0:{if(p=H,p=mt(r[p>>2]|0,r[p+4>>2]|0,i,o,u,l,f,y)|0,p|0)break e;break}default:break e}switch(r[I>>2]=0,p=_A(t,A,4,I,H)|0,p|0){case 9:break;case 0:{if(p=H,p=mt(r[p>>2]|0,r[p+4>>2]|0,i,o,u,l,f,y)|0,p|0)break e;break}default:break e}switch(r[I>>2]=0,p=_A(t,A,6,I,H)|0,p|0){case 9:break;case 0:{if(p=H,p=mt(r[p>>2]|0,r[p+4>>2]|0,i,o,u,l,f,y)|0,p|0)break e;break}default:break e}return ne=0,P=F,ne|0}while(!1);return ne=p,P=F,ne|0}function _A(t,A,i,o,u){t=t|0,A=A|0,i=i|0,o=o|0,u=u|0;var l=0,f=0,d=0,p=0,y=0,E=0,O=0,R=0,I=0,H=0;if(i>>>0>6)return u=1,u|0;if(O=(r[o>>2]|0)%6|0,r[o>>2]=O,(O|0)>0){l=0;do i=nr(i)|0,l=l+1|0;while((l|0)<(r[o>>2]|0))}if(O=ae(t|0,A|0,45)|0,M()|0,E=O&127,E>>>0>121)return u=5,u|0;p=GA(t,A)|0,l=ae(t|0,A|0,52)|0,M()|0,l=l&15;e:do if(!l)y=8;else{for(;;){if(f=(15-l|0)*3|0,d=ae(t|0,A|0,f|0)|0,M()|0,d=d&7,(d|0)==7){A=5;break}if(H=(et(l)|0)==0,l=l+-1|0,R=ce(7,0,f|0)|0,A=A&~(M()|0),I=ce(r[(H?432:16)+(d*28|0)+(i<<2)>>2]|0,0,f|0)|0,f=M()|0,i=r[(H?640:224)+(d*28|0)+(i<<2)>>2]|0,t=I|t&~R,A=f|A,!i){i=0;break e}if(!l){y=8;break e}}return A|0}while(!1);(y|0)==8&&(H=r[848+(E*28|0)+(i<<2)>>2]|0,I=ce(H|0,0,45)|0,t=I|t,A=M()|0|A&-1040385,i=r[4272+(E*28|0)+(i<<2)>>2]|0,(H&127|0)==127&&(H=ce(r[848+(E*28|0)+20>>2]|0,0,45)|0,A=M()|0|A&-1040385,i=r[4272+(E*28|0)+20>>2]|0,t=ir(H|t,A)|0,A=M()|0,r[o>>2]=(r[o>>2]|0)+1)),d=ae(t|0,A|0,45)|0,M()|0,d=d&127;e:do if(cA(d)|0){A:do if((GA(t,A)|0)==1){if((E|0)!=(d|0))if(Wa(d,r[7696+(E*28|0)>>2]|0)|0){t=Io(t,A)|0,f=1,A=M()|0;break}else Oe(27795,26864,533,26872);switch(p|0){case 3:{t=ir(t,A)|0,A=M()|0,r[o>>2]=(r[o>>2]|0)+1,f=0;break A}case 5:{t=Io(t,A)|0,A=M()|0,r[o>>2]=(r[o>>2]|0)+5,f=0;break A}case 0:return H=9,H|0;default:return H=1,H|0}}else f=0;while(!1);if((i|0)>0){l=0;do t=Ro(t,A)|0,A=M()|0,l=l+1|0;while((l|0)!=(i|0))}if((E|0)!=(d|0)){if(!(ko(d)|0)){if((f|0)!=0|(GA(t,A)|0)!=5)break;r[o>>2]=(r[o>>2]|0)+1;break}switch(O&127){case 8:case 118:break e;default:}(GA(t,A)|0)!=3&&(r[o>>2]=(r[o>>2]|0)+1)}}else if((i|0)>0){l=0;do t=ir(t,A)|0,A=M()|0,l=l+1|0;while((l|0)!=(i|0))}while(!1);return r[o>>2]=((r[o>>2]|0)+i|0)%6|0,H=u,r[H>>2]=t,r[H+4>>2]=A,H=0,H|0}function kh(t,A,i,o){return t=t|0,A=A|0,i=i|0,o=o|0,za(t,A,i,o)|0?(Ht(o|0,0,i*48|0)|0,o=xh(t,A,i,o)|0,o|0):(o=0,o|0)}function za(t,A,i,o){t=t|0,A=A|0,i=i|0,o=o|0;var u=0,l=0,f=0,d=0,p=0,y=0,E=0,O=0,R=0,I=0,H=0;if(H=P,P=P+16|0,R=H,I=H+8|0,O=R,r[O>>2]=t,r[O+4>>2]=A,(i|0)<0)return I=2,P=H,I|0;if(!i)return I=o,r[I>>2]=t,r[I+4>>2]=A,I=0,P=H,I|0;r[I>>2]=0;e:do if(aA(t,A)|0)t=9;else{u=0,O=t;do{if(t=_A(O,A,4,I,R)|0,t|0)break e;if(A=R,O=r[A>>2]|0,A=r[A+4>>2]|0,u=u+1|0,aA(O,A)|0){t=9;break e}}while((u|0)<(i|0));E=o,r[E>>2]=O,r[E+4>>2]=A,E=i+-1|0,y=0,t=1;do{if(u=26800+(y<<2)|0,(y|0)==5)for(f=r[u>>2]|0,l=0,u=t;;){if(t=R,t=_A(r[t>>2]|0,r[t+4>>2]|0,f,I,R)|0,t|0)break e;if((l|0)!=(E|0))if(p=R,d=r[p>>2]|0,p=r[p+4>>2]|0,t=o+(u<<3)|0,r[t>>2]=d,r[t+4>>2]=p,!(aA(d,p)|0))t=u+1|0;else{t=9;break e}else t=u;if(l=l+1|0,(l|0)>=(i|0))break;u=t}else for(f=R,p=r[u>>2]|0,d=0,u=t,l=r[f>>2]|0,f=r[f+4>>2]|0;;){if(t=_A(l,f,p,I,R)|0,t|0)break e;if(f=R,l=r[f>>2]|0,f=r[f+4>>2]|0,t=o+(u<<3)|0,r[t>>2]=l,r[t+4>>2]=f,t=u+1|0,aA(l,f)|0){t=9;break e}if(d=d+1|0,(d|0)>=(i|0))break;u=t}y=y+1|0}while(y>>>0<6);t=R,t=(O|0)==(r[t>>2]|0)&&(A|0)==(r[t+4>>2]|0)?0:9}while(!1);return I=t,P=H,I|0}function xh(t,A,i,o){t=t|0,A=A|0,i=i|0,o=o|0;var u=0,l=0,f=0,d=0,p=0,y=0,E=0,O=0,R=0;if(O=P,P=P+16|0,f=O,!i)return r[o>>2]=t,r[o+4>>2]=A,o=0,P=O,o|0;do if((i|0)>=0){if((i|0)>13780509){if(u=li(15,f)|0,u|0)break;l=f,u=r[l>>2]|0,l=r[l+4>>2]|0}else u=((i|0)<0)<<31>>31,E=$A(i|0,u|0,3,0)|0,l=M()|0,u=xe(i|0,u|0,1,0)|0,u=$A(E|0,l|0,u|0,M()|0)|0,u=xe(u|0,M()|0,1,0)|0,l=M()|0,E=f,r[E>>2]=u,r[E+4>>2]=l;if(y=FA(u,8)|0,!y)u=13;else{if(E=FA(u,4)|0,!E){Be(y),u=13;break}if(u=mt(t,A,i,y,E,u,l,0)|0,u|0){Be(y),Be(E);break}if(A=r[f>>2]|0,f=r[f+4>>2]|0,(f|0)>0|(f|0)==0&A>>>0>0){u=0,d=0,p=0;do t=y+(d<<3)|0,l=r[t>>2]|0,t=r[t+4>>2]|0,!((l|0)==0&(t|0)==0)&&(r[E+(d<<2)>>2]|0)==(i|0)&&(R=o+(u<<3)|0,r[R>>2]=l,r[R+4>>2]=t,u=u+1|0),d=xe(d|0,p|0,1,0)|0,p=M()|0;while((p|0)<(f|0)|(p|0)==(f|0)&d>>>0<A>>>0)}Be(y),Be(E),u=0}}else u=2;while(!1);return R=u,P=O,R|0}function $o(t,A,i,o){t=t|0,A=A|0,i=i|0,o=o|0;var u=0,l=0,f=0,d=0,p=0,y=0;for(d=P,P=P+16|0,l=d,f=d+8|0,u=(aA(t,A)|0)==0,u=u?1:2;;){if(r[f>>2]=0,y=(_A(t,A,u,f,l)|0)==0,p=l,y&((r[p>>2]|0)==(i|0)?(r[p+4>>2]|0)==(o|0):0)){t=4;break}if(u=u+1|0,u>>>0>=7){u=7,t=4;break}}return(t|0)==4?(P=d,u|0):0}function Sh(t,A,i,o){t=t|0,A=A|0,i=i|0,o=o|0;var u=0,l=0,f=0,d=0,p=0,y=0;if(d=P,P=P+48|0,u=d+16|0,l=d+8|0,f=d,i=dn(i)|0,i|0)return f=i,P=d,f|0;if(y=t,p=r[y+4>>2]|0,i=l,r[i>>2]=r[y>>2],r[i+4>>2]=p,_u(l,u),i=eu(u,A,f)|0,!i){if(A=r[l>>2]|0,l=r[t+8>>2]|0,(l|0)>0){u=r[t+12>>2]|0,i=0;do A=(r[u+(i<<3)>>2]|0)+A|0,i=i+1|0;while((i|0)<(l|0))}i=f,u=r[i>>2]|0,i=r[i+4>>2]|0,l=((A|0)<0)<<31>>31,(i|0)<(l|0)|(i|0)==(l|0)&u>>>0<A>>>0?(i=f,r[i>>2]=A,r[i+4>>2]=l,i=l):A=u,p=xe(A|0,i|0,12,0)|0,y=M()|0,i=f,r[i>>2]=p,r[i+4>>2]=y,i=o,r[i>>2]=p,r[i+4>>2]=y,i=0}return y=i,P=d,y|0}function Ka(t,A,i,o,u,l,f){t=t|0,A=A|0,i=i|0,o=o|0,u=u|0,l=l|0,f=f|0;var d=0,p=0,y=0,E=0,O=0,R=0,I=0,H=0,F=0,Z=0,ne=0,Ae=0,ee=0,V=0,he=0,$e=0,_e=0,Re=0,He=0,Fe=0,Te=0,ke=0,de=0,Le=0,iA=0,qe=0,oA=0,HA=0,Nu=0;if(iA=P,P=P+64|0,Te=iA+48|0,ke=iA+32|0,de=iA+24|0,he=iA+8|0,$e=iA,p=r[t>>2]|0,(p|0)<=0)return Le=0,P=iA,Le|0;for(_e=t+4|0,Re=Te+8|0,He=ke+8|0,Fe=he+8|0,d=0,ee=0;;){y=r[_e>>2]|0,Ae=y+(ee<<4)|0,r[Te>>2]=r[Ae>>2],r[Te+4>>2]=r[Ae+4>>2],r[Te+8>>2]=r[Ae+8>>2],r[Te+12>>2]=r[Ae+12>>2],(ee|0)==(p+-1|0)?(r[ke>>2]=r[y>>2],r[ke+4>>2]=r[y+4>>2],r[ke+8>>2]=r[y+8>>2],r[ke+12>>2]=r[y+12>>2]):(Ae=y+(ee+1<<4)|0,r[ke>>2]=r[Ae>>2],r[ke+4>>2]=r[Ae+4>>2],r[ke+8>>2]=r[Ae+8>>2],r[ke+12>>2]=r[Ae+12>>2]),p=Hh(Te,ke,o,de)|0;e:do if(p)y=0,d=p;else if(p=de,y=r[p>>2]|0,p=r[p+4>>2]|0,(p|0)>0|(p|0)==0&y>>>0>0){ne=0,Ae=0;A:for(;;){if(oA=1/(+(y>>>0)+4294967296*+(p|0)),Nu=+S[Te>>3],p=EA(y|0,p|0,ne|0,Ae|0)|0,HA=+(p>>>0)+4294967296*+(M()|0),qe=+(ne>>>0)+4294967296*+(Ae|0),S[he>>3]=oA*(Nu*HA)+oA*(+S[ke>>3]*qe),S[Fe>>3]=oA*(+S[Re>>3]*HA)+oA*(+S[He>>3]*qe),p=Ho(he,o,$e)|0,p|0){d=p;break}Z=$e,F=r[Z>>2]|0,Z=r[Z+4>>2]|0,R=Cr(F|0,Z|0,A|0,i|0)|0,E=M()|0,p=f+(R<<3)|0,O=p,y=r[O>>2]|0,O=r[O+4>>2]|0;t:do if((y|0)==0&(O|0)==0)V=p,Le=16;else for(I=0,H=0;;){if((I|0)>(i|0)|(I|0)==(i|0)&H>>>0>A>>>0){d=1;break A}if((y|0)==(F|0)&(O|0)==(Z|0))break t;if(p=xe(R|0,E|0,1,0)|0,R=Dr(p|0,M()|0,A|0,i|0)|0,E=M()|0,H=xe(H|0,I|0,1,0)|0,I=M()|0,p=f+(R<<3)|0,O=p,y=r[O>>2]|0,O=r[O+4>>2]|0,(y|0)==0&(O|0)==0){V=p,Le=16;break}}while(!1);if((Le|0)==16&&(Le=0,!((F|0)==0&(Z|0)==0))&&(H=V,r[H>>2]=F,r[H+4>>2]=Z,H=l+(r[u>>2]<<3)|0,r[H>>2]=F,r[H+4>>2]=Z,H=u,H=xe(r[H>>2]|0,r[H+4>>2]|0,1,0)|0,F=M()|0,Z=u,r[Z>>2]=H,r[Z+4>>2]=F),ne=xe(ne|0,Ae|0,1,0)|0,Ae=M()|0,p=de,y=r[p>>2]|0,p=r[p+4>>2]|0,!((p|0)>(Ae|0)|(p|0)==(Ae|0)&y>>>0>ne>>>0)){y=1;break e}}y=0}else y=1;while(!1);if(ee=ee+1|0,!y){Le=21;break}if(p=r[t>>2]|0,(ee|0)>=(p|0)){d=0,Le=21;break}}return(Le|0)==21?(P=iA,d|0):0}function Bh(t,A,i,o){t=t|0,A=A|0,i=i|0,o=o|0;var u=0,l=0,f=0,d=0,p=0,y=0,E=0,O=0,R=0,I=0,H=0,F=0,Z=0,ne=0,Ae=0,ee=0,V=0,he=0,$e=0,_e=0,Re=0,He=0,Fe=0,Te=0,ke=0,de=0,Le=0,iA=0,qe=0,oA=0,HA=0;if(HA=P,P=P+112|0,Le=HA+80|0,p=HA+72|0,iA=HA,qe=HA+56|0,u=dn(i)|0,u|0)return oA=u,P=HA,oA|0;if(y=t+8|0,oA=yt((r[y>>2]<<5)+32|0)|0,!oA)return oA=13,P=HA,oA|0;if(Vo(t,oA),u=dn(i)|0,!u){if(ke=t,de=r[ke+4>>2]|0,u=p,r[u>>2]=r[ke>>2],r[u+4>>2]=de,_u(p,Le),u=eu(Le,A,iA)|0,u)ke=0,de=0;else{if(u=r[p>>2]|0,l=r[y>>2]|0,(l|0)>0){f=r[t+12>>2]|0,i=0;do u=(r[f+(i<<3)>>2]|0)+u|0,i=i+1|0;while((i|0)!=(l|0));i=u}else i=u;u=iA,l=r[u>>2]|0,u=r[u+4>>2]|0,f=((i|0)<0)<<31>>31,(u|0)<(f|0)|(u|0)==(f|0)&l>>>0<i>>>0?(u=iA,r[u>>2]=i,r[u+4>>2]=f,u=f):i=l,ke=xe(i|0,u|0,12,0)|0,de=M()|0,u=iA,r[u>>2]=ke,r[u+4>>2]=de,u=0}if(!u){if(i=FA(ke,8)|0,!i)return Be(oA),oA=13,P=HA,oA|0;if(d=FA(ke,8)|0,!d)return Be(oA),Be(i),oA=13,P=HA,oA|0;Fe=Le,r[Fe>>2]=0,r[Fe+4>>2]=0,Fe=t,Te=r[Fe+4>>2]|0,u=p,r[u>>2]=r[Fe>>2],r[u+4>>2]=Te,u=Ka(p,ke,de,A,Le,i,d)|0;e:do if(u)Be(i),Be(d),Be(oA);else{A:do if((r[y>>2]|0)>0){for(f=t+12|0,l=0;u=Ka((r[f>>2]|0)+(l<<3)|0,ke,de,A,Le,i,d)|0,l=l+1|0,!(u|0);)if((l|0)>=(r[y>>2]|0))break A;Be(i),Be(d),Be(oA);break e}while(!1);(de|0)>0|(de|0)==0&ke>>>0>0&&Ht(d|0,0,ke<<3|0)|0,Te=Le,Fe=r[Te+4>>2]|0;A:do if((Fe|0)>0|(Fe|0)==0&(r[Te>>2]|0)>>>0>0){_e=i,Re=d,He=i,Fe=d,Te=i,u=i,V=i,he=d,$e=d,i=d;t:for(;;){for(Z=0,ne=0,Ae=0,ee=0,l=0,f=0;;){d=iA,p=d+56|0;do r[d>>2]=0,d=d+4|0;while((d|0)<(p|0));if(A=_e+(Z<<3)|0,y=r[A>>2]|0,A=r[A+4>>2]|0,Va(y,A,1,iA,0)|0){d=iA,p=d+56|0;do r[d>>2]=0,d=d+4|0;while((d|0)<(p|0));d=FA(7,4)|0,d|0&&(mt(y,A,1,iA,d,7,0,0)|0,Be(d))}for(F=0;;){H=iA+(F<<3)|0,I=r[H>>2]|0,H=r[H+4>>2]|0;r:do if((I|0)==0&(H|0)==0)d=l,p=f;else{if(E=Cr(I|0,H|0,ke|0,de|0)|0,y=M()|0,d=o+(E<<3)|0,A=d,p=r[A>>2]|0,A=r[A+4>>2]|0,!((p|0)==0&(A|0)==0)){O=0,R=0;do{if((O|0)>(de|0)|(O|0)==(de|0)&R>>>0>ke>>>0)break t;if((p|0)==(I|0)&(A|0)==(H|0)){d=l,p=f;break r}d=xe(E|0,y|0,1,0)|0,E=Dr(d|0,M()|0,ke|0,de|0)|0,y=M()|0,R=xe(R|0,O|0,1,0)|0,O=M()|0,d=o+(E<<3)|0,A=d,p=r[A>>2]|0,A=r[A+4>>2]|0}while(!((p|0)==0&(A|0)==0))}if((I|0)==0&(H|0)==0){d=l,p=f;break}or(I,H,qe)|0,zo(t,oA,qe)|0&&(R=xe(l|0,f|0,1,0)|0,f=M()|0,O=d,r[O>>2]=I,r[O+4>>2]=H,l=Re+(l<<3)|0,r[l>>2]=I,r[l+4>>2]=H,l=R),d=l,p=f}while(!1);if(F=F+1|0,F>>>0>=7)break;l=d,f=p}if(Z=xe(Z|0,ne|0,1,0)|0,ne=M()|0,Ae=xe(Ae|0,ee|0,1,0)|0,ee=M()|0,f=Le,l=r[f>>2]|0,f=r[f+4>>2]|0,(ee|0)<(f|0)|(ee|0)==(f|0)&Ae>>>0<l>>>0)l=d,f=p;else break}if((f|0)>0|(f|0)==0&l>>>0>0){l=0,f=0;do ee=_e+(l<<3)|0,r[ee>>2]=0,r[ee+4>>2]=0,l=xe(l|0,f|0,1,0)|0,f=M()|0,ee=Le,Ae=r[ee+4>>2]|0;while((f|0)<(Ae|0)|((f|0)==(Ae|0)?l>>>0<(r[ee>>2]|0)>>>0:0))}if(ee=Le,r[ee>>2]=d,r[ee+4>>2]=p,(p|0)>0|(p|0)==0&d>>>0>0)F=i,Z=$e,ne=Te,Ae=he,ee=Re,i=V,$e=u,he=He,V=F,u=Z,Te=Fe,Fe=ne,He=Ae,Re=_e,_e=ee;else break A}Be(He),Be(Fe),Be(oA),u=1;break e}else u=d;while(!1);Be(oA),Be(i),Be(u),u=0}while(!1);return oA=u,P=HA,oA|0}}return Be(oA),oA=u,P=HA,oA|0}function Ph(t,A,i){t=t|0,A=A|0,i=i|0;var o=0,u=0,l=0,f=0,d=0,p=0,y=0,E=0;if(E=P,P=P+176|0,p=E,(A|0)<1)return Bu(i,0,0),y=0,P=E,y|0;for(d=t,d=ae(r[d>>2]|0,r[d+4>>2]|0,52)|0,M()|0,Bu(i,(A|0)>6?A:6,d&15),d=0;o=t+(d<<3)|0,o=Br(r[o>>2]|0,r[o+4>>2]|0,p)|0,!(o|0);){if(o=r[p>>2]|0,(o|0)>0){f=0;do l=p+8+(f<<4)|0,f=f+1|0,o=p+8+(((f|0)%(o|0)|0)<<4)|0,u=n1(i,o,l)|0,u?Cu(i,u)|0:r1(i,l,o)|0,o=r[p>>2]|0;while((f|0)<(o|0))}if(d=d+1|0,(d|0)>=(A|0)){o=0,y=13;break}}return(y|0)==13?(P=E,o|0):(Pu(i),y=o,P=E,y|0)}function Dh(t,A,i){t=t|0,A=A|0,i=i|0;var o=0,u=0,l=0,f=0;if(l=P,P=P+32|0,o=l,u=l+16|0,t=Ph(t,A,u)|0,t|0)return i=t,P=l,i|0;if(r[i>>2]=0,r[i+4>>2]=0,r[i+8>>2]=0,t=Du(u)|0,t|0)do{A=Op(i)|0;do jp(A,t)|0,f=t+16|0,r[o>>2]=r[f>>2],r[o+4>>2]=r[f+4>>2],r[o+8>>2]=r[f+8>>2],r[o+12>>2]=r[f+12>>2],Cu(u,t)|0,t=i1(u,o)|0;while((t|0)!=0);t=Du(u)|0}while((t|0)!=0);return Pu(u),t=Mp(i)|0,t?(yu(i),f=t,P=l,f|0):(f=0,P=l,f|0)}function cA(t){return t=t|0,t>>>0>121?(t=0,t|0):(t=r[7696+(t*28|0)+16>>2]|0,t|0)}function ko(t){return t=t|0,(t|0)==4|(t|0)==117|0}function Ya(t){return t=t|0,r[11120+((r[t>>2]|0)*216|0)+((r[t+4>>2]|0)*72|0)+((r[t+8>>2]|0)*24|0)+(r[t+12>>2]<<3)>>2]|0}function Ch(t){return t=t|0,r[11120+((r[t>>2]|0)*216|0)+((r[t+4>>2]|0)*72|0)+((r[t+8>>2]|0)*24|0)+(r[t+12>>2]<<3)+4>>2]|0}function Th(t,A){t=t|0,A=A|0,t=7696+(t*28|0)|0,r[A>>2]=r[t>>2],r[A+4>>2]=r[t+4>>2],r[A+8>>2]=r[t+8>>2],r[A+12>>2]=r[t+12>>2]}function Oh(t,A){t=t|0,A=A|0;var i=0,o=0;if(A>>>0>20)return A=-1,A|0;do if((r[11120+(A*216|0)>>2]|0)!=(t|0))if((r[11120+(A*216|0)+8>>2]|0)!=(t|0))if((r[11120+(A*216|0)+16>>2]|0)!=(t|0))if((r[11120+(A*216|0)+24>>2]|0)!=(t|0))if((r[11120+(A*216|0)+32>>2]|0)!=(t|0))if((r[11120+(A*216|0)+40>>2]|0)!=(t|0))if((r[11120+(A*216|0)+48>>2]|0)!=(t|0))if((r[11120+(A*216|0)+56>>2]|0)!=(t|0))if((r[11120+(A*216|0)+64>>2]|0)!=(t|0))if((r[11120+(A*216|0)+72>>2]|0)!=(t|0))if((r[11120+(A*216|0)+80>>2]|0)!=(t|0))if((r[11120+(A*216|0)+88>>2]|0)!=(t|0))if((r[11120+(A*216|0)+96>>2]|0)!=(t|0))if((r[11120+(A*216|0)+104>>2]|0)!=(t|0))if((r[11120+(A*216|0)+112>>2]|0)!=(t|0))if((r[11120+(A*216|0)+120>>2]|0)!=(t|0))if((r[11120+(A*216|0)+128>>2]|0)!=(t|0))if((r[11120+(A*216|0)+136>>2]|0)==(t|0))t=2,i=1,o=2;else{if((r[11120+(A*216|0)+144>>2]|0)==(t|0)){t=0,i=2,o=0;break}if((r[11120+(A*216|0)+152>>2]|0)==(t|0)){t=0,i=2,o=1;break}if((r[11120+(A*216|0)+160>>2]|0)==(t|0)){t=0,i=2,o=2;break}if((r[11120+(A*216|0)+168>>2]|0)==(t|0)){t=1,i=2,o=0;break}if((r[11120+(A*216|0)+176>>2]|0)==(t|0)){t=1,i=2,o=1;break}if((r[11120+(A*216|0)+184>>2]|0)==(t|0)){t=1,i=2,o=2;break}if((r[11120+(A*216|0)+192>>2]|0)==(t|0)){t=2,i=2,o=0;break}if((r[11120+(A*216|0)+200>>2]|0)==(t|0)){t=2,i=2,o=1;break}if((r[11120+(A*216|0)+208>>2]|0)==(t|0)){t=2,i=2,o=2;break}else t=-1;return t|0}else t=2,i=1,o=1;else t=2,i=1,o=0;else t=1,i=1,o=2;else t=1,i=1,o=1;else t=1,i=1,o=0;else t=0,i=1,o=2;else t=0,i=1,o=1;else t=0,i=1,o=0;else t=2,i=0,o=2;else t=2,i=0,o=1;else t=2,i=0,o=0;else t=1,i=0,o=2;else t=1,i=0,o=1;else t=1,i=0,o=0;else t=0,i=0,o=2;else t=0,i=0,o=1;else t=0,i=0,o=0;while(!1);return A=r[11120+(A*216|0)+(i*72|0)+(t*24|0)+(o<<3)+4>>2]|0,A|0}function Wa(t,A){return t=t|0,A=A|0,(r[7696+(t*28|0)+20>>2]|0)==(A|0)?(A=1,A|0):(A=(r[7696+(t*28|0)+24>>2]|0)==(A|0),A|0)}function xo(t,A){return t=t|0,A=A|0,r[848+(t*28|0)+(A<<2)>>2]|0}function So(t,A){return t=t|0,A=A|0,(r[848+(t*28|0)>>2]|0)==(A|0)?(A=0,A|0):(r[848+(t*28|0)+4>>2]|0)==(A|0)?(A=1,A|0):(r[848+(t*28|0)+8>>2]|0)==(A|0)?(A=2,A|0):(r[848+(t*28|0)+12>>2]|0)==(A|0)?(A=3,A|0):(r[848+(t*28|0)+16>>2]|0)==(A|0)?(A=4,A|0):(r[848+(t*28|0)+20>>2]|0)==(A|0)?(A=5,A|0):((r[848+(t*28|0)+24>>2]|0)==(A|0)?6:7)|0}function jh(){return 122}function Mh(t){t=t|0;var A=0,i=0,o=0;A=0;do ce(A|0,0,45)|0,o=M()|0|134225919,i=t+(A<<3)|0,r[i>>2]=-1,r[i+4>>2]=o,A=A+1|0;while((A|0)!=122);return 0}function Nh(t){t=t|0;var A=0,i=0,o=0;return o=+S[t+16>>3],i=+S[t+24>>3],A=o-i,+(o<i?A+6.283185307179586:A)}function Ja(t){return t=t|0,+S[t+16>>3]<+S[t+24>>3]|0}function Rh(t){return t=t|0,+(+S[t>>3]-+S[t+8>>3])}function Bo(t,A){t=t|0,A=A|0;var i=0,o=0,u=0;return i=+S[A>>3],!(i>=+S[t+8>>3])||!(i<=+S[t>>3])?(A=0,A|0):(o=+S[t+16>>3],i=+S[t+24>>3],u=+S[A+8>>3],A=u>=i,t=u<=o&1,o<i?A&&(t=1):A||(t=0),A=(t|0)!=0,A|0)}function Po(t,A){t=t|0,A=A|0;var i=0,o=0,u=0,l=0,f=0,d=0,p=0,y=0,E=0;return+S[t>>3]<+S[A+8>>3]||+S[t+8>>3]>+S[A>>3]?(o=0,o|0):(l=+S[t+16>>3],i=t+24|0,E=+S[i>>3],f=l<E,o=A+16|0,y=+S[o>>3],u=A+24|0,p=+S[u>>3],d=y<p,A=E-y<p-l,t=f?d|A?1:2:0,A=d?f?1:A?2:1:0,l=+JA(l,t),l<+JA(+S[u>>3],A)||(E=+JA(+S[i>>3],t),E>+JA(+S[o>>3],A))?(d=0,d|0):(d=1,d|0))}function Ih(t,A,i,o){t=t|0,A=A|0,i=i|0,o=o|0;var u=0,l=0,f=0,d=0,p=0;l=+S[t+16>>3],p=+S[t+24>>3],t=l<p,d=+S[A+16>>3],f=+S[A+24>>3],u=d<f,A=p-d<f-l,r[i>>2]=t?u|A?1:2:0,r[o>>2]=u?t?1:A?2:1:0}function Za(t,A){t=t|0,A=A|0;var i=0,o=0,u=0,l=0,f=0,d=0,p=0,y=0,E=0;return+S[t>>3]<+S[A>>3]||+S[t+8>>3]>+S[A+8>>3]?(o=0,o|0):(o=t+16|0,p=+S[o>>3],l=+S[t+24>>3],f=p<l,i=A+16|0,E=+S[i>>3],u=A+24|0,y=+S[u>>3],d=E<y,A=l-E<y-p,t=f?d|A?1:2:0,A=d?f?1:A?2:1:0,l=+JA(l,t),l<=+JA(+S[u>>3],A)?(E=+JA(+S[o>>3],t),d=E>=+JA(+S[i>>3],A),d|0):(d=0,d|0))}function Xa(t,A){t=t|0,A=A|0;var i=0,o=0,u=0,l=0,f=0,d=0;u=P,P=P+176|0,o=u,r[o>>2]=4,d=+S[A>>3],S[o+8>>3]=d,l=+S[A+16>>3],S[o+16>>3]=l,S[o+24>>3]=d,d=+S[A+24>>3],S[o+32>>3]=d,f=+S[A+8>>3],S[o+40>>3]=f,S[o+48>>3]=d,S[o+56>>3]=f,S[o+64>>3]=l,A=o+72|0,i=A+96|0;do r[A>>2]=0,A=A+4|0;while((A|0)<(i|0));Tr(t|0,o|0,168)|0,P=u}function eu(t,A,i){t=t|0,A=A|0,i=i|0;var o=0,u=0,l=0,f=0,d=0,p=0,y=0,E=0,O=0,R=0,I=0,H=0,F=0,Z=0;H=P,P=P+288|0,E=H+264|0,O=H+96|0,y=H,d=y,p=d+96|0;do r[d>>2]=0,d=d+4|0;while((d|0)<(p|0));return A=qo(A,y)|0,A|0?(I=A,P=H,I|0):(p=y,y=r[p>>2]|0,p=r[p+4>>2]|0,or(y,p,E)|0,Br(y,p,O)|0,f=+fn(E,O+8|0),S[E>>3]=+S[t>>3],p=E+8|0,S[p>>3]=+S[t+16>>3],S[O>>3]=+S[t+8>>3],y=O+8|0,S[y>>3]=+S[t+24>>3],u=+fn(E,O),Z=+S[p>>3]-+S[y>>3],l=+Xe(+Z),F=+S[E>>3]-+S[O>>3],o=+Xe(+F),!(Z==0|F==0)&&(Z=+ju(+l,+o),Z=+kr(+(u*u/+di(+(Z/+di(+l,+o)),3)/(f*(f*2.59807621135)*.8))),S[wA>>3]=Z,R=~~Z>>>0,I=+Xe(Z)>=1?Z>0?~~+Eo(+vA(Z/4294967296),4294967295)>>>0:~~+kr((Z-+(~~Z>>>0))/4294967296)>>>0:0,(r[wA+4>>2]&2146435072|0)!=2146435072)?(O=(R|0)==0&(I|0)==0,A=i,r[A>>2]=O?1:R,r[A+4>>2]=O?0:I,A=0):A=1,I=A,P=H,I|0)}function Hh(t,A,i,o){t=t|0,A=A|0,i=i|0,o=o|0;var u=0,l=0,f=0,d=0,p=0,y=0,E=0;y=P,P=P+288|0,f=y+264|0,d=y+96|0,p=y,u=p,l=u+96|0;do r[u>>2]=0,u=u+4|0;while((u|0)<(l|0));return i=qo(i,p)|0,i|0?(o=i,P=y,o|0):(i=p,u=r[i>>2]|0,i=r[i+4>>2]|0,or(u,i,f)|0,Br(u,i,d)|0,E=+fn(f,d+8|0),E=+kr(+(+fn(t,A)/(E*2))),S[wA>>3]=E,i=~~E>>>0,u=+Xe(E)>=1?E>0?~~+Eo(+vA(E/4294967296),4294967295)>>>0:~~+kr((E-+(~~E>>>0))/4294967296)>>>0:0,(r[wA+4>>2]&2146435072|0)==2146435072?(o=1,P=y,o|0):(p=(i|0)==0&(u|0)==0,r[o>>2]=p?1:i,r[o+4>>2]=p?0:u,o=0,P=y,o|0))}function Qh(t,A){t=t|0,A=+A;var i=0,o=0,u=0,l=0,f=0,d=0,p=0,y=0,E=0;l=t+16|0,f=+S[l>>3],i=t+24|0,u=+S[i>>3],o=f-u,o=f<u?o+6.283185307179586:o,y=+S[t>>3],d=t+8|0,p=+S[d>>3],E=y-p,o=(o*A-o)*.5,A=(E*A-E)*.5,y=y+A,S[t>>3]=y>1.5707963267948966?1.5707963267948966:y,A=p-A,S[d>>3]=A<-1.5707963267948966?-1.5707963267948966:A,A=f+o,A=A>3.141592653589793?A+-6.283185307179586:A,S[l>>3]=A<-3.141592653589793?A+6.283185307179586:A,A=u-o,A=A>3.141592653589793?A+-6.283185307179586:A,S[i>>3]=A<-3.141592653589793?A+6.283185307179586:A}function qh(t,A,i,o){t=t|0,A=A|0,i=i|0,o=o|0,r[t>>2]=A,r[t+4>>2]=i,r[t+8>>2]=o}function Lh(t,A){t=t|0,A=A|0;var i=0,o=0,u=0,l=0,f=0,d=0,p=0,y=0,E=0,O=0,R=0;O=A+8|0,r[O>>2]=0,p=+S[t>>3],f=+Xe(+p),y=+S[t+8>>3],d=+Xe(+y)*1.1547005383792515,f=f+d*.5,i=~~f,t=~~d,f=f-+(i|0),d=d-+(t|0);do if(f<.5)if(f<.3333333333333333)if(r[A>>2]=i,d<(f+1)*.5){r[A+4>>2]=t;break}else{t=t+1|0,r[A+4>>2]=t;break}else if(R=1-f,t=(!(d<R)&1)+t|0,r[A+4>>2]=t,R<=d&d<f*2){i=i+1|0,r[A>>2]=i;break}else{r[A>>2]=i;break}else{if(!(f<.6666666666666666))if(i=i+1|0,r[A>>2]=i,d<f*.5){r[A+4>>2]=t;break}else{t=t+1|0,r[A+4>>2]=t;break}if(d<1-f){if(r[A+4>>2]=t,f*2+-1<d){r[A>>2]=i;break}}else t=t+1|0,r[A+4>>2]=t;i=i+1|0,r[A>>2]=i}while(!1);do if(p<0)if(t&1){E=(t+1|0)/2|0,E=EA(i|0,((i|0)<0)<<31>>31|0,E|0,((E|0)<0)<<31>>31|0)|0,i=~~(+(i|0)-((+(E>>>0)+4294967296*+(M()|0))*2+1)),r[A>>2]=i;break}else{E=(t|0)/2|0,E=EA(i|0,((i|0)<0)<<31>>31|0,E|0,((E|0)<0)<<31>>31|0)|0,i=~~(+(i|0)-(+(E>>>0)+4294967296*+(M()|0))*2),r[A>>2]=i;break}while(!1);E=A+4|0,y<0&&(i=i-((t<<1|1|0)/2|0)|0,r[A>>2]=i,t=0-t|0,r[E>>2]=t),o=t-i|0,(i|0)<0?(u=0-i|0,r[E>>2]=o,r[O>>2]=u,r[A>>2]=0,t=o,i=0):u=0,(t|0)<0&&(i=i-t|0,r[A>>2]=i,u=u-t|0,r[O>>2]=u,r[E>>2]=0,t=0),l=i-u|0,o=t-u|0,(u|0)<0&&(r[A>>2]=l,r[E>>2]=o,r[O>>2]=0,t=o,i=l,u=0),o=(t|0)<(i|0)?t:i,o=(u|0)<(o|0)?u:o,!((o|0)<=0)&&(r[A>>2]=i-o,r[E>>2]=t-o,r[O>>2]=u-o)}function DA(t){t=t|0;var A=0,i=0,o=0,u=0,l=0,f=0;A=r[t>>2]|0,f=t+4|0,i=r[f>>2]|0,(A|0)<0&&(i=i-A|0,r[f>>2]=i,l=t+8|0,r[l>>2]=(r[l>>2]|0)-A,r[t>>2]=0,A=0),(i|0)<0?(A=A-i|0,r[t>>2]=A,l=t+8|0,u=(r[l>>2]|0)-i|0,r[l>>2]=u,r[f>>2]=0,i=0):(u=t+8|0,l=u,u=r[u>>2]|0),(u|0)<0&&(A=A-u|0,r[t>>2]=A,i=i-u|0,r[f>>2]=i,r[l>>2]=0,u=0),o=(i|0)<(A|0)?i:A,o=(u|0)<(o|0)?u:o,!((o|0)<=0)&&(r[t>>2]=A-o,r[f>>2]=i-o,r[l>>2]=u-o)}function tr(t,A){t=t|0,A=A|0;var i=0,o=0;o=r[t+8>>2]|0,i=+((r[t+4>>2]|0)-o|0),S[A>>3]=+((r[t>>2]|0)-o|0)-i*.5,S[A+8>>3]=i*.8660254037844386}function IA(t,A,i){t=t|0,A=A|0,i=i|0,r[i>>2]=(r[A>>2]|0)+(r[t>>2]|0),r[i+4>>2]=(r[A+4>>2]|0)+(r[t+4>>2]|0),r[i+8>>2]=(r[A+8>>2]|0)+(r[t+8>>2]|0)}function Do(t,A,i){t=t|0,A=A|0,i=i|0,r[i>>2]=(r[t>>2]|0)-(r[A>>2]|0),r[i+4>>2]=(r[t+4>>2]|0)-(r[A+4>>2]|0),r[i+8>>2]=(r[t+8>>2]|0)-(r[A+8>>2]|0)}function Au(t,A){t=t|0,A=A|0;var i=0,o=0;i=gt(r[t>>2]|0,A)|0,r[t>>2]=i,i=t+4|0,o=gt(r[i>>2]|0,A)|0,r[i>>2]=o,t=t+8|0,A=gt(r[t>>2]|0,A)|0,r[t>>2]=A}function oi(t){t=t|0;var A=0,i=0,o=0,u=0,l=0,f=0,d=0;f=r[t>>2]|0,d=(f|0)<0,o=(r[t+4>>2]|0)-(d?f:0)|0,l=(o|0)<0,u=(l?0-o|0:0)+((r[t+8>>2]|0)-(d?f:0))|0,i=(u|0)<0,t=i?0:u,A=(l?0:o)-(i?u:0)|0,u=(d?0:f)-(l?o:0)-(i?u:0)|0,i=(A|0)<(u|0)?A:u,i=(t|0)<(i|0)?t:i,o=(i|0)>0,t=t-(o?i:0)|0,A=A-(o?i:0)|0;e:do switch(u-(o?i:0)|0){case 0:switch(A|0){case 0:return d=(t|0)==0?0:(t|0)==1?1:7,d|0;case 1:return d=(t|0)==0?2:(t|0)==1?3:7,d|0;default:break e}case 1:switch(A|0){case 0:return d=(t|0)==0?4:(t|0)==1?5:7,d|0;case 1:{if(!t)t=6;else break e;return t|0}default:break e}default:}while(!1);return d=7,d|0}function Uh(t){t=t|0;var A=0,i=0,o=0,u=0,l=0,f=0,d=0,p=0,y=0;if(p=t+8|0,f=r[p>>2]|0,d=(r[t>>2]|0)-f|0,y=t+4|0,f=(r[y>>2]|0)-f|0,d>>>0>715827881|f>>>0>715827881){if(o=(d|0)>0,u=2147483647-d|0,l=-2147483648-d|0,(o?(u|0)<(d|0):(l|0)>(d|0))||(i=d<<1,o?(2147483647-i|0)<(d|0):(-2147483648-i|0)>(d|0))||((f|0)>0?(2147483647-f|0)<(f|0):(-2147483648-f|0)>(f|0))||(A=d*3|0,i=f<<1,(o?(u|0)<(i|0):(l|0)>(i|0))||((d|0)>-1?(A|-2147483648|0)>=(f|0):(A^-2147483648|0)<(f|0))))return y=1,y|0}else i=f<<1,A=d*3|0;return o=Rt(+(A-f|0)*.14285714285714285)|0,r[t>>2]=o,u=Rt(+(i+d|0)*.14285714285714285)|0,r[y>>2]=u,r[p>>2]=0,i=(u|0)<(o|0),A=i?o:u,i=i?u:o,(i|0)<0&&(((i|0)==-2147483648||((A|0)>0?(2147483647-A|0)<(i|0):(-2147483648-A|0)>(i|0)))&&Oe(27795,26892,354,26903),((A|0)>-1?(A|-2147483648|0)>=(i|0):(A^-2147483648|0)<(i|0))&&Oe(27795,26892,354,26903)),A=u-o|0,(o|0)<0?(i=0-o|0,r[y>>2]=A,r[p>>2]=i,r[t>>2]=0,o=0):(A=u,i=0),(A|0)<0&&(o=o-A|0,r[t>>2]=o,i=i-A|0,r[p>>2]=i,r[y>>2]=0,A=0),l=o-i|0,u=A-i|0,(i|0)<0?(r[t>>2]=l,r[y>>2]=u,r[p>>2]=0,A=u,u=l,i=0):u=o,o=(A|0)<(u|0)?A:u,o=(i|0)<(o|0)?i:o,(o|0)<=0?(y=0,y|0):(r[t>>2]=u-o,r[y>>2]=A-o,r[p>>2]=i-o,y=0,y|0)}function Gh(t){t=t|0;var A=0,i=0,o=0,u=0,l=0,f=0,d=0,p=0;if(f=t+8|0,u=r[f>>2]|0,l=(r[t>>2]|0)-u|0,d=t+4|0,u=(r[d>>2]|0)-u|0,l>>>0>715827881|u>>>0>715827881){if(i=(l|0)>0,(i?(2147483647-l|0)<(l|0):(-2147483648-l|0)>(l|0))||(A=l<<1,o=(u|0)>0,o?(2147483647-u|0)<(u|0):(-2147483648-u|0)>(u|0)))return d=1,d|0;if(p=u<<1,(o?(2147483647-p|0)<(u|0):(-2147483648-p|0)>(u|0))||(i?(2147483647-A|0)<(u|0):(-2147483648-A|0)>(u|0))||(i=u*3|0,(u|0)>-1?(i|-2147483648|0)>=(l|0):(i^-2147483648|0)<(l|0)))return p=1,p|0}else i=u*3|0,A=l<<1;return o=Rt(+(A+u|0)*.14285714285714285)|0,r[t>>2]=o,u=Rt(+(i-l|0)*.14285714285714285)|0,r[d>>2]=u,r[f>>2]=0,i=(u|0)<(o|0),A=i?o:u,i=i?u:o,(i|0)<0&&(((i|0)==-2147483648||((A|0)>0?(2147483647-A|0)<(i|0):(-2147483648-A|0)>(i|0)))&&Oe(27795,26892,402,26917),((A|0)>-1?(A|-2147483648|0)>=(i|0):(A^-2147483648|0)<(i|0))&&Oe(27795,26892,402,26917)),A=u-o|0,(o|0)<0?(i=0-o|0,r[d>>2]=A,r[f>>2]=i,r[t>>2]=0,o=0):(A=u,i=0),(A|0)<0&&(o=o-A|0,r[t>>2]=o,i=i-A|0,r[f>>2]=i,r[d>>2]=0,A=0),l=o-i|0,u=A-i|0,(i|0)<0?(r[t>>2]=l,r[d>>2]=u,r[f>>2]=0,A=u,u=l,i=0):u=o,o=(A|0)<(u|0)?A:u,o=(i|0)<(o|0)?i:o,(o|0)<=0?(p=0,p|0):(r[t>>2]=u-o,r[d>>2]=A-o,r[f>>2]=i-o,p=0,p|0)}function Fh(t){t=t|0;var A=0,i=0,o=0,u=0,l=0,f=0,d=0;f=t+8|0,i=r[f>>2]|0,A=(r[t>>2]|0)-i|0,d=t+4|0,i=(r[d>>2]|0)-i|0,o=Rt(+((A*3|0)-i|0)*.14285714285714285)|0,r[t>>2]=o,A=Rt(+((i<<1)+A|0)*.14285714285714285)|0,r[d>>2]=A,r[f>>2]=0,i=A-o|0,(o|0)<0?(l=0-o|0,r[d>>2]=i,r[f>>2]=l,r[t>>2]=0,A=i,o=0,i=l):i=0,(A|0)<0&&(o=o-A|0,r[t>>2]=o,i=i-A|0,r[f>>2]=i,r[d>>2]=0,A=0),l=o-i|0,u=A-i|0,(i|0)<0?(r[t>>2]=l,r[d>>2]=u,r[f>>2]=0,A=u,u=l,i=0):u=o,o=(A|0)<(u|0)?A:u,o=(i|0)<(o|0)?i:o,!((o|0)<=0)&&(r[t>>2]=u-o,r[d>>2]=A-o,r[f>>2]=i-o)}function tu(t){t=t|0;var A=0,i=0,o=0,u=0,l=0,f=0,d=0;f=t+8|0,i=r[f>>2]|0,A=(r[t>>2]|0)-i|0,d=t+4|0,i=(r[d>>2]|0)-i|0,o=Rt(+((A<<1)+i|0)*.14285714285714285)|0,r[t>>2]=o,A=Rt(+((i*3|0)-A|0)*.14285714285714285)|0,r[d>>2]=A,r[f>>2]=0,i=A-o|0,(o|0)<0?(l=0-o|0,r[d>>2]=i,r[f>>2]=l,r[t>>2]=0,A=i,o=0,i=l):i=0,(A|0)<0&&(o=o-A|0,r[t>>2]=o,i=i-A|0,r[f>>2]=i,r[d>>2]=0,A=0),l=o-i|0,u=A-i|0,(i|0)<0?(r[t>>2]=l,r[d>>2]=u,r[f>>2]=0,A=u,u=l,i=0):u=o,o=(A|0)<(u|0)?A:u,o=(i|0)<(o|0)?i:o,!((o|0)<=0)&&(r[t>>2]=u-o,r[d>>2]=A-o,r[f>>2]=i-o)}function si(t){t=t|0;var A=0,i=0,o=0,u=0,l=0,f=0,d=0;A=r[t>>2]|0,f=t+4|0,i=r[f>>2]|0,d=t+8|0,o=r[d>>2]|0,u=i+(A*3|0)|0,r[t>>2]=u,i=o+(i*3|0)|0,r[f>>2]=i,A=(o*3|0)+A|0,r[d>>2]=A,o=i-u|0,(u|0)<0?(A=A-u|0,r[f>>2]=o,r[d>>2]=A,r[t>>2]=0,i=o,o=0):o=u,(i|0)<0&&(o=o-i|0,r[t>>2]=o,A=A-i|0,r[d>>2]=A,r[f>>2]=0,i=0),l=o-A|0,u=i-A|0,(A|0)<0?(r[t>>2]=l,r[f>>2]=u,r[d>>2]=0,o=l,A=0):u=i,i=(u|0)<(o|0)?u:o,i=(A|0)<(i|0)?A:i,!((i|0)<=0)&&(r[t>>2]=o-i,r[f>>2]=u-i,r[d>>2]=A-i)}function rr(t){t=t|0;var A=0,i=0,o=0,u=0,l=0,f=0,d=0;u=r[t>>2]|0,f=t+4|0,A=r[f>>2]|0,d=t+8|0,i=r[d>>2]|0,o=(A*3|0)+u|0,u=i+(u*3|0)|0,r[t>>2]=u,r[f>>2]=o,A=(i*3|0)+A|0,r[d>>2]=A,i=o-u|0,(u|0)<0?(A=A-u|0,r[f>>2]=i,r[d>>2]=A,r[t>>2]=0,u=0):i=o,(i|0)<0&&(u=u-i|0,r[t>>2]=u,A=A-i|0,r[d>>2]=A,r[f>>2]=0,i=0),l=u-A|0,o=i-A|0,(A|0)<0?(r[t>>2]=l,r[f>>2]=o,r[d>>2]=0,u=l,A=0):o=i,i=(o|0)<(u|0)?o:u,i=(A|0)<(i|0)?A:i,!((i|0)<=0)&&(r[t>>2]=u-i,r[f>>2]=o-i,r[d>>2]=A-i)}function ru(t,A){t=t|0,A=A|0;var i=0,o=0,u=0,l=0,f=0,d=0;(A+-1|0)>>>0>=6||(u=(r[15440+(A*12|0)>>2]|0)+(r[t>>2]|0)|0,r[t>>2]=u,d=t+4|0,o=(r[15440+(A*12|0)+4>>2]|0)+(r[d>>2]|0)|0,r[d>>2]=o,f=t+8|0,A=(r[15440+(A*12|0)+8>>2]|0)+(r[f>>2]|0)|0,r[f>>2]=A,i=o-u|0,(u|0)<0?(A=A-u|0,r[d>>2]=i,r[f>>2]=A,r[t>>2]=0,o=0):(i=o,o=u),(i|0)<0&&(o=o-i|0,r[t>>2]=o,A=A-i|0,r[f>>2]=A,r[d>>2]=0,i=0),l=o-A|0,u=i-A|0,(A|0)<0?(r[t>>2]=l,r[d>>2]=u,r[f>>2]=0,o=l,A=0):u=i,i=(u|0)<(o|0)?u:o,i=(A|0)<(i|0)?A:i,!((i|0)<=0)&&(r[t>>2]=o-i,r[d>>2]=u-i,r[f>>2]=A-i))}function nu(t){t=t|0;var A=0,i=0,o=0,u=0,l=0,f=0,d=0;u=r[t>>2]|0,f=t+4|0,A=r[f>>2]|0,d=t+8|0,i=r[d>>2]|0,o=A+u|0,u=i+u|0,r[t>>2]=u,r[f>>2]=o,A=i+A|0,r[d>>2]=A,i=o-u|0,(u|0)<0?(A=A-u|0,r[f>>2]=i,r[d>>2]=A,r[t>>2]=0,o=0):(i=o,o=u),(i|0)<0&&(o=o-i|0,r[t>>2]=o,A=A-i|0,r[d>>2]=A,r[f>>2]=0,i=0),l=o-A|0,u=i-A|0,(A|0)<0?(r[t>>2]=l,r[f>>2]=u,r[d>>2]=0,o=l,A=0):u=i,i=(u|0)<(o|0)?u:o,i=(A|0)<(i|0)?A:i,!((i|0)<=0)&&(r[t>>2]=o-i,r[f>>2]=u-i,r[d>>2]=A-i)}function ai(t){t=t|0;var A=0,i=0,o=0,u=0,l=0,f=0,d=0;A=r[t>>2]|0,f=t+4|0,o=r[f>>2]|0,d=t+8|0,i=r[d>>2]|0,u=o+A|0,r[t>>2]=u,o=i+o|0,r[f>>2]=o,A=i+A|0,r[d>>2]=A,i=o-u|0,(u|0)<0?(A=A-u|0,r[f>>2]=i,r[d>>2]=A,r[t>>2]=0,o=0):(i=o,o=u),(i|0)<0&&(o=o-i|0,r[t>>2]=o,A=A-i|0,r[d>>2]=A,r[f>>2]=0,i=0),l=o-A|0,u=i-A|0,(A|0)<0?(r[t>>2]=l,r[f>>2]=u,r[d>>2]=0,o=l,A=0):u=i,i=(u|0)<(o|0)?u:o,i=(A|0)<(i|0)?A:i,!((i|0)<=0)&&(r[t>>2]=o-i,r[f>>2]=u-i,r[d>>2]=A-i)}function nr(t){switch(t=t|0,t|0){case 1:{t=5;break}case 5:{t=4;break}case 4:{t=6;break}case 6:{t=2;break}case 2:{t=3;break}case 3:{t=1;break}default:}return t|0}function Mt(t){switch(t=t|0,t|0){case 1:{t=3;break}case 3:{t=2;break}case 2:{t=6;break}case 6:{t=4;break}case 4:{t=5;break}case 5:{t=1;break}default:}return t|0}function iu(t){t=t|0;var A=0,i=0,o=0,u=0,l=0,f=0,d=0;A=r[t>>2]|0,f=t+4|0,i=r[f>>2]|0,d=t+8|0,o=r[d>>2]|0,u=i+(A<<1)|0,r[t>>2]=u,i=o+(i<<1)|0,r[f>>2]=i,A=(o<<1)+A|0,r[d>>2]=A,o=i-u|0,(u|0)<0?(A=A-u|0,r[f>>2]=o,r[d>>2]=A,r[t>>2]=0,i=o,o=0):o=u,(i|0)<0&&(o=o-i|0,r[t>>2]=o,A=A-i|0,r[d>>2]=A,r[f>>2]=0,i=0),l=o-A|0,u=i-A|0,(A|0)<0?(r[t>>2]=l,r[f>>2]=u,r[d>>2]=0,o=l,A=0):u=i,i=(u|0)<(o|0)?u:o,i=(A|0)<(i|0)?A:i,!((i|0)<=0)&&(r[t>>2]=o-i,r[f>>2]=u-i,r[d>>2]=A-i)}function ou(t){t=t|0;var A=0,i=0,o=0,u=0,l=0,f=0,d=0;u=r[t>>2]|0,f=t+4|0,A=r[f>>2]|0,d=t+8|0,i=r[d>>2]|0,o=(A<<1)+u|0,u=i+(u<<1)|0,r[t>>2]=u,r[f>>2]=o,A=(i<<1)+A|0,r[d>>2]=A,i=o-u|0,(u|0)<0?(A=A-u|0,r[f>>2]=i,r[d>>2]=A,r[t>>2]=0,u=0):i=o,(i|0)<0&&(u=u-i|0,r[t>>2]=u,A=A-i|0,r[d>>2]=A,r[f>>2]=0,i=0),l=u-A|0,o=i-A|0,(A|0)<0?(r[t>>2]=l,r[f>>2]=o,r[d>>2]=0,u=l,A=0):o=i,i=(o|0)<(u|0)?o:u,i=(A|0)<(i|0)?A:i,!((i|0)<=0)&&(r[t>>2]=u-i,r[f>>2]=o-i,r[d>>2]=A-i)}function Co(t,A){t=t|0,A=A|0;var i=0,o=0,u=0,l=0,f=0,d=0;return f=(r[t>>2]|0)-(r[A>>2]|0)|0,d=(f|0)<0,o=(r[t+4>>2]|0)-(r[A+4>>2]|0)-(d?f:0)|0,l=(o|0)<0,u=(d?0-f|0:0)+(r[t+8>>2]|0)-(r[A+8>>2]|0)+(l?0-o|0:0)|0,t=(u|0)<0,A=t?0:u,i=(l?0:o)-(t?u:0)|0,u=(d?0:f)-(l?o:0)-(t?u:0)|0,t=(i|0)<(u|0)?i:u,t=(A|0)<(t|0)?A:t,o=(t|0)>0,A=A-(o?t:0)|0,i=i-(o?t:0)|0,t=u-(o?t:0)|0,t=(t|0)>-1?t:0-t|0,i=(i|0)>-1?i:0-i|0,A=(A|0)>-1?A:0-A|0,A=(i|0)>(A|0)?i:A,((t|0)>(A|0)?t:A)|0}function Vh(t,A){t=t|0,A=A|0;var i=0;i=r[t+8>>2]|0,r[A>>2]=(r[t>>2]|0)-i,r[A+4>>2]=(r[t+4>>2]|0)-i}function zh(t,A){t=t|0,A=A|0;var i=0,o=0,u=0,l=0,f=0,d=0;return o=r[t>>2]|0,r[A>>2]=o,u=r[t+4>>2]|0,f=A+4|0,r[f>>2]=u,d=A+8|0,r[d>>2]=0,i=(u|0)<(o|0),t=i?o:u,i=i?u:o,(i|0)<0&&((i|0)==-2147483648||((t|0)>0?(2147483647-t|0)<(i|0):(-2147483648-t|0)>(i|0))||((t|0)>-1?(t|-2147483648|0)>=(i|0):(t^-2147483648|0)<(i|0)))?(A=1,A|0):(t=u-o|0,(o|0)<0?(i=0-o|0,r[f>>2]=t,r[d>>2]=i,r[A>>2]=0,o=0):(t=u,i=0),(t|0)<0&&(o=o-t|0,r[A>>2]=o,i=i-t|0,r[d>>2]=i,r[f>>2]=0,t=0),l=o-i|0,u=t-i|0,(i|0)<0?(r[A>>2]=l,r[f>>2]=u,r[d>>2]=0,t=u,u=l,i=0):u=o,o=(t|0)<(u|0)?t:u,o=(i|0)<(o|0)?i:o,(o|0)<=0?(A=0,A|0):(r[A>>2]=u-o,r[f>>2]=t-o,r[d>>2]=i-o,A=0,A|0))}function su(t){t=t|0;var A=0,i=0,o=0,u=0;A=t+8|0,u=r[A>>2]|0,i=u-(r[t>>2]|0)|0,r[t>>2]=i,o=t+4|0,t=(r[o>>2]|0)-u|0,r[o>>2]=t,r[A>>2]=0-(t+i)}function Kh(t){t=t|0;var A=0,i=0,o=0,u=0,l=0,f=0,d=0;i=r[t>>2]|0,A=0-i|0,r[t>>2]=A,f=t+8|0,r[f>>2]=0,d=t+4|0,o=r[d>>2]|0,u=o+i|0,(i|0)>0?(r[d>>2]=u,r[f>>2]=i,r[t>>2]=0,A=0,o=u):i=0,(o|0)<0?(l=A-o|0,r[t>>2]=l,i=i-o|0,r[f>>2]=i,r[d>>2]=0,u=l-i|0,A=0-i|0,(i|0)<0?(r[t>>2]=u,r[d>>2]=A,r[f>>2]=0,o=A,i=0):(o=0,u=l)):u=A,A=(o|0)<(u|0)?o:u,A=(i|0)<(A|0)?i:A,!((A|0)<=0)&&(r[t>>2]=u-A,r[d>>2]=o-A,r[f>>2]=i-A)}function Yh(t,A,i,o,u){t=t|0,A=A|0,i=i|0,o=o|0,u=u|0;var l=0,f=0,d=0,p=0,y=0,E=0,O=0;if(O=P,P=P+64|0,E=O,d=O+56|0,!(!0&(A&2013265920|0)==134217728&(!0&(o&2013265920|0)==134217728)))return u=5,P=O,u|0;if((t|0)==(i|0)&(A|0)==(o|0))return r[u>>2]=0,u=0,P=O,u|0;if(f=ae(t|0,A|0,52)|0,M()|0,f=f&15,y=ae(i|0,o|0,52)|0,M()|0,(f|0)!=(y&15|0))return u=12,P=O,u|0;if(l=f+-1|0,f>>>0>1){No(t,A,l,E)|0,No(i,o,l,d)|0,y=E,p=r[y>>2]|0,y=r[y+4>>2]|0;e:do if((p|0)==(r[d>>2]|0)&&(y|0)==(r[d+4>>2]|0)){f=(f^15)*3|0,l=ae(t|0,A|0,f|0)|0,M()|0,l=l&7,f=ae(i|0,o|0,f|0)|0,M()|0,f=f&7;do if((l|0)==0|(f|0)==0)r[u>>2]=1,l=0;else if((l|0)==7)l=5;else{if((l|0)==1|(f|0)==1&&aA(p,y)|0){l=5;break}if((r[15536+(l<<2)>>2]|0)!=(f|0)&&(r[15568+(l<<2)>>2]|0)!=(f|0))break e;r[u>>2]=1,l=0}while(!1);return u=l,P=O,u|0}while(!1)}l=E,f=l+56|0;do r[l>>2]=0,l=l+4|0;while((l|0)<(f|0));return Ga(t,A,1,E)|0,A=E,!((r[A>>2]|0)==(i|0)&&(r[A+4>>2]|0)==(o|0))&&(A=E+8|0,!((r[A>>2]|0)==(i|0)&&(r[A+4>>2]|0)==(o|0)))&&(A=E+16|0,!((r[A>>2]|0)==(i|0)&&(r[A+4>>2]|0)==(o|0)))&&(A=E+24|0,!((r[A>>2]|0)==(i|0)&&(r[A+4>>2]|0)==(o|0)))&&(A=E+32|0,!((r[A>>2]|0)==(i|0)&&(r[A+4>>2]|0)==(o|0)))&&(A=E+40|0,!((r[A>>2]|0)==(i|0)&&(r[A+4>>2]|0)==(o|0)))?(l=E+48|0,l=((r[l>>2]|0)==(i|0)?(r[l+4>>2]|0)==(o|0):0)&1):l=1,r[u>>2]=l,u=0,P=O,u|0}function Wh(t,A,i,o,u){return t=t|0,A=A|0,i=i|0,o=o|0,u=u|0,i=$o(t,A,i,o)|0,(i|0)==7?(u=11,u|0):(o=ce(i|0,0,56)|0,A=A&-2130706433|(M()|0)|268435456,r[u>>2]=t|o,r[u+4>>2]=A,u=0,u|0)}function Jh(t,A,i){return t=t|0,A=A|0,i=i|0,!0&(A&2013265920|0)==268435456?(r[i>>2]=t,r[i+4>>2]=A&-2130706433|134217728,i=0,i|0):(i=6,i|0)}function Zh(t,A,i){t=t|0,A=A|0,i=i|0;var o=0,u=0,l=0;return u=P,P=P+16|0,o=u,r[o>>2]=0,!0&(A&2013265920|0)==268435456?(l=ae(t|0,A|0,56)|0,M()|0,o=_A(t,A&-2130706433|134217728,l&7,o,i)|0,P=u,o|0):(o=6,P=u,o|0)}function au(t,A){t=t|0,A=A|0;var i=0;switch(i=ae(t|0,A|0,56)|0,M()|0,i&7){case 0:case 7:return i=0,i|0;default:}return i=A&-2130706433|134217728,!(!0&(A&2013265920|0)==268435456)||!0&(A&117440512|0)==16777216&(aA(t,i)|0)!=0?(i=0,i|0):(i=jo(t,i)|0,i|0)}function Xh(t,A,i){t=t|0,A=A|0,i=i|0;var o=0,u=0,l=0,f=0;return u=P,P=P+16|0,o=u,!0&(A&2013265920|0)==268435456?(l=A&-2130706433|134217728,f=i,r[f>>2]=t,r[f+4>>2]=l,r[o>>2]=0,A=ae(t|0,A|0,56)|0,M()|0,o=_A(t,l,A&7,o,i+8|0)|0,P=u,o|0):(o=6,P=u,o|0)}function ep(t,A,i){t=t|0,A=A|0,i=i|0;var o=0,u=0;return u=(aA(t,A)|0)==0,A=A&-2130706433,o=i,r[o>>2]=u?t:0,r[o+4>>2]=u?A|285212672:0,o=i+8|0,r[o>>2]=t,r[o+4>>2]=A|301989888,o=i+16|0,r[o>>2]=t,r[o+4>>2]=A|318767104,o=i+24|0,r[o>>2]=t,r[o+4>>2]=A|335544320,o=i+32|0,r[o>>2]=t,r[o+4>>2]=A|352321536,i=i+40|0,r[i>>2]=t,r[i+4>>2]=A|369098752,0}function ui(t,A,i){t=t|0,A=A|0,i=i|0;var o=0,u=0,l=0,f=0;return f=P,P=P+16|0,u=f,l=A&-2130706433|134217728,!0&(A&2013265920|0)==268435456?(o=ae(t|0,A|0,56)|0,M()|0,o=e1(t,l,o&7)|0,(o|0)==-1?(r[i>>2]=0,l=6,P=f,l|0):(Sr(t,l,u)|0&&Oe(27795,26932,282,26947),A=ae(t|0,A|0,52)|0,M()|0,A=A&15,aA(t,l)|0?To(u,A,o,2,i):Oo(u,A,o,2,i),l=0,P=f,l|0)):(l=6,P=f,l|0)}function Ap(t,A,i){t=t|0,A=A|0,i=i|0;var o=0,u=0;o=P,P=P+16|0,u=o,tp(t,A,i,u),Lh(u,i+4|0),P=o}function tp(t,A,i,o){t=t|0,A=A|0,i=i|0,o=o|0;var u=0,l=0,f=0,d=0,p=0;if(d=P,P=P+16|0,p=d,rp(t,i,p),l=+ch(+(1-+S[p>>3]*.5)),l<1e-16){r[o>>2]=0,r[o+4>>2]=0,r[o+8>>2]=0,r[o+12>>2]=0,P=d;return}if(p=r[i>>2]|0,u=+S[15920+(p*24|0)>>3],u=+ln(u-+ln(+Ep(15600+(p<<4)|0,t))),et(A)|0?f=+ln(u+-.3334731722518321):f=u,u=+sn(+l)*2.618033988749896,(A|0)>0){t=0;do u=u*2.6457513110645907,t=t+1|0;while((t|0)!=(A|0))}l=+We(+f)*u,S[o>>3]=l,f=+AA(+f)*u,S[o+8>>3]=f,P=d}function rp(t,A,i){t=t|0,A=A|0,i=i|0;var o=0,u=0,l=0;if(l=P,P=P+32|0,u=l,Xp(t,u),r[A>>2]=0,S[i>>3]=5,o=+yA(16400,u),o<+S[i>>3]&&(r[A>>2]=0,S[i>>3]=o),o=+yA(16424,u),o<+S[i>>3]&&(r[A>>2]=1,S[i>>3]=o),o=+yA(16448,u),o<+S[i>>3]&&(r[A>>2]=2,S[i>>3]=o),o=+yA(16472,u),o<+S[i>>3]&&(r[A>>2]=3,S[i>>3]=o),o=+yA(16496,u),o<+S[i>>3]&&(r[A>>2]=4,S[i>>3]=o),o=+yA(16520,u),o<+S[i>>3]&&(r[A>>2]=5,S[i>>3]=o),o=+yA(16544,u),o<+S[i>>3]&&(r[A>>2]=6,S[i>>3]=o),o=+yA(16568,u),o<+S[i>>3]&&(r[A>>2]=7,S[i>>3]=o),o=+yA(16592,u),o<+S[i>>3]&&(r[A>>2]=8,S[i>>3]=o),o=+yA(16616,u),o<+S[i>>3]&&(r[A>>2]=9,S[i>>3]=o),o=+yA(16640,u),o<+S[i>>3]&&(r[A>>2]=10,S[i>>3]=o),o=+yA(16664,u),o<+S[i>>3]&&(r[A>>2]=11,S[i>>3]=o),o=+yA(16688,u),o<+S[i>>3]&&(r[A>>2]=12,S[i>>3]=o),o=+yA(16712,u),o<+S[i>>3]&&(r[A>>2]=13,S[i>>3]=o),o=+yA(16736,u),o<+S[i>>3]&&(r[A>>2]=14,S[i>>3]=o),o=+yA(16760,u),o<+S[i>>3]&&(r[A>>2]=15,S[i>>3]=o),o=+yA(16784,u),o<+S[i>>3]&&(r[A>>2]=16,S[i>>3]=o),o=+yA(16808,u),o<+S[i>>3]&&(r[A>>2]=17,S[i>>3]=o),o=+yA(16832,u),o<+S[i>>3]&&(r[A>>2]=18,S[i>>3]=o),o=+yA(16856,u),!(o<+S[i>>3])){P=l;return}r[A>>2]=19,S[i>>3]=o,P=l}function an(t,A,i,o,u){t=t|0,A=A|0,i=i|0,o=o|0,u=u|0;var l=0,f=0,d=0;if(l=+Zp(t),l<1e-16){A=15600+(A<<4)|0,r[u>>2]=r[A>>2],r[u+4>>2]=r[A+4>>2],r[u+8>>2]=r[A+8>>2],r[u+12>>2]=r[A+12>>2];return}if(f=+XA(+ +S[t+8>>3],+ +S[t>>3]),(i|0)>0){t=0;do l=l*.37796447300922725,t=t+1|0;while((t|0)!=(i|0))}d=l*.3333333333333333,o?(i=(et(i)|0)==0,l=+_o(+((i?d:d*.37796447300922725)*.381966011250105))):(l=+_o(+(l*.381966011250105)),et(i)|0&&(f=+ln(f+.3334731722518321))),$p(15600+(A<<4)|0,+ln(+S[15920+(A*24|0)>>3]-f),l,u)}function np(t,A,i){t=t|0,A=A|0,i=i|0;var o=0,u=0;o=P,P=P+16|0,u=o,tr(t+4|0,u),an(u,r[t>>2]|0,A,0,i),P=o}function To(t,A,i,o,u){t=t|0,A=A|0,i=i|0,o=o|0,u=u|0;var l=0,f=0,d=0,p=0,y=0,E=0,O=0,R=0,I=0,H=0,F=0,Z=0,ne=0,Ae=0,ee=0,V=0,he=0,$e=0,_e=0,Re=0,He=0,Fe=0,Te=0,ke=0,de=0,Le=0,iA=0,qe=0;if(Le=P,P=P+272|0,l=Le+256|0,Ae=Le+240|0,Te=Le,ke=Le+224|0,de=Le+208|0,ee=Le+176|0,V=Le+160|0,he=Le+192|0,$e=Le+144|0,_e=Le+128|0,Re=Le+112|0,He=Le+96|0,Fe=Le+80|0,r[l>>2]=A,r[Ae>>2]=r[t>>2],r[Ae+4>>2]=r[t+4>>2],r[Ae+8>>2]=r[t+8>>2],r[Ae+12>>2]=r[t+12>>2],uu(Ae,l,Te),r[u>>2]=0,Ae=o+i+((o|0)==5&1)|0,(Ae|0)<=(i|0)){P=Le;return}p=r[l>>2]|0,y=ke+4|0,E=ee+4|0,O=i+5|0,R=16880+(p<<2)|0,I=16960+(p<<2)|0,H=_e+8|0,F=Re+8|0,Z=He+8|0,ne=de+4|0,d=i;e:for(;;){f=Te+(((d|0)%5|0)<<4)|0,r[de>>2]=r[f>>2],r[de+4>>2]=r[f+4>>2],r[de+8>>2]=r[f+8>>2],r[de+12>>2]=r[f+12>>2];do;while((xr(de,p,0,1)|0)==2);if((d|0)>(i|0)&(et(A)|0)!=0){if(r[ee>>2]=r[de>>2],r[ee+4>>2]=r[de+4>>2],r[ee+8>>2]=r[de+8>>2],r[ee+12>>2]=r[de+12>>2],tr(y,V),o=r[ee>>2]|0,l=r[17040+(o*80|0)+(r[ke>>2]<<2)>>2]|0,r[ee>>2]=r[18640+(o*80|0)+(l*20|0)>>2],f=r[18640+(o*80|0)+(l*20|0)+16>>2]|0,(f|0)>0){t=0;do nu(E),t=t+1|0;while((t|0)<(f|0))}switch(f=18640+(o*80|0)+(l*20|0)+4|0,r[he>>2]=r[f>>2],r[he+4>>2]=r[f+4>>2],r[he+8>>2]=r[f+8>>2],Au(he,(r[R>>2]|0)*3|0),IA(E,he,E),DA(E),tr(E,$e),iA=+(r[I>>2]|0),S[_e>>3]=iA*3,S[H>>3]=0,qe=iA*-1.5,S[Re>>3]=qe,S[F>>3]=iA*2.598076211353316,S[He>>3]=qe,S[Z>>3]=iA*-2.598076211353316,r[17040+((r[ee>>2]|0)*80|0)+(r[de>>2]<<2)>>2]|0){case 1:{t=Re,o=_e;break}case 3:{t=He,o=Re;break}case 2:{t=_e,o=He;break}default:{t=12;break e}}ku(V,$e,o,t,Fe),an(Fe,r[ee>>2]|0,p,1,u+8+(r[u>>2]<<4)|0),r[u>>2]=(r[u>>2]|0)+1}if((d|0)<(O|0)&&(tr(ne,ee),an(ee,r[de>>2]|0,p,1,u+8+(r[u>>2]<<4)|0),r[u>>2]=(r[u>>2]|0)+1),r[ke>>2]=r[de>>2],r[ke+4>>2]=r[de+4>>2],r[ke+8>>2]=r[de+8>>2],r[ke+12>>2]=r[de+12>>2],d=d+1|0,(d|0)>=(Ae|0)){t=3;break}}if((t|0)==3){P=Le;return}else(t|0)==12&&Oe(26970,27017,572,27027)}function uu(t,A,i){t=t|0,A=A|0,i=i|0;var o=0,u=0,l=0,f=0,d=0,p=0;p=P,P=P+128|0,o=p+64|0,u=p,l=o,f=20240,d=l+60|0;do r[l>>2]=r[f>>2],l=l+4|0,f=f+4|0;while((l|0)<(d|0));l=u,f=20304,d=l+60|0;do r[l>>2]=r[f>>2],l=l+4|0,f=f+4|0;while((l|0)<(d|0));d=(et(r[A>>2]|0)|0)==0,o=d?o:u,u=t+4|0,iu(u),ou(u),et(r[A>>2]|0)|0&&(rr(u),r[A>>2]=(r[A>>2]|0)+1),r[i>>2]=r[t>>2],A=i+4|0,IA(u,o,A),DA(A),r[i+16>>2]=r[t>>2],A=i+20|0,IA(u,o+12|0,A),DA(A),r[i+32>>2]=r[t>>2],A=i+36|0,IA(u,o+24|0,A),DA(A),r[i+48>>2]=r[t>>2],A=i+52|0,IA(u,o+36|0,A),DA(A),r[i+64>>2]=r[t>>2],i=i+68|0,IA(u,o+48|0,i),DA(i),P=p}function xr(t,A,i,o){t=t|0,A=A|0,i=i|0,o=o|0;var u=0,l=0,f=0,d=0,p=0,y=0,E=0,O=0,R=0,I=0,H=0;if(H=P,P=P+32|0,R=H+12|0,d=H,I=t+4|0,O=r[16960+(A<<2)>>2]|0,E=(o|0)!=0,O=E?O*3|0:O,u=r[I>>2]|0,y=t+8|0,f=r[y>>2]|0,E){if(l=t+12|0,o=r[l>>2]|0,u=f+u+o|0,(u|0)==(O|0))return I=1,P=H,I|0;p=l}else p=t+12|0,o=r[p>>2]|0,u=f+u+o|0;if((u|0)<=(O|0))return I=0,P=H,I|0;do if((o|0)>0){if(o=r[t>>2]|0,(f|0)>0){l=18640+(o*80|0)+60|0,o=t;break}o=18640+(o*80|0)+40|0,i?(qh(R,O,0,0),Do(I,R,d),ai(d),IA(d,R,I),l=o,o=t):(l=o,o=t)}else l=18640+((r[t>>2]|0)*80|0)+20|0,o=t;while(!1);if(r[o>>2]=r[l>>2],u=l+16|0,(r[u>>2]|0)>0){o=0;do nu(I),o=o+1|0;while((o|0)<(r[u>>2]|0))}return t=l+4|0,r[R>>2]=r[t>>2],r[R+4>>2]=r[t+4>>2],r[R+8>>2]=r[t+8>>2],A=r[16880+(A<<2)>>2]|0,Au(R,E?A*3|0:A),IA(I,R,I),DA(I),E?o=((r[y>>2]|0)+(r[I>>2]|0)+(r[p>>2]|0)|0)==(O|0)?1:2:o=2,I=o,P=H,I|0}function ip(t,A){t=t|0,A=A|0;var i=0;do i=xr(t,A,0,1)|0;while((i|0)==2);return i|0}function Oo(t,A,i,o,u){t=t|0,A=A|0,i=i|0,o=o|0,u=u|0;var l=0,f=0,d=0,p=0,y=0,E=0,O=0,R=0,I=0,H=0,F=0,Z=0,ne=0,Ae=0,ee=0,V=0,he=0,$e=0,_e=0,Re=0,He=0,Fe=0,Te=0;if(He=P,P=P+240|0,l=He+224|0,he=He+208|0,$e=He,_e=He+192|0,Re=He+176|0,Z=He+160|0,ne=He+144|0,Ae=He+128|0,ee=He+112|0,V=He+96|0,r[l>>2]=A,r[he>>2]=r[t>>2],r[he+4>>2]=r[t+4>>2],r[he+8>>2]=r[t+8>>2],r[he+12>>2]=r[t+12>>2],lu(he,l,$e),r[u>>2]=0,F=o+i+((o|0)==6&1)|0,(F|0)<=(i|0)){P=He;return}p=r[l>>2]|0,y=i+6|0,E=16960+(p<<2)|0,O=ne+8|0,R=Ae+8|0,I=ee+8|0,H=_e+4|0,f=0,d=i,o=-1;e:for(;;){if(l=(d|0)%6|0,t=$e+(l<<4)|0,r[_e>>2]=r[t>>2],r[_e+4>>2]=r[t+4>>2],r[_e+8>>2]=r[t+8>>2],r[_e+12>>2]=r[t+12>>2],t=f,f=xr(_e,p,0,1)|0,(d|0)>(i|0)&(et(A)|0)!=0&&(t|0)!=1&&(r[_e>>2]|0)!=(o|0)){switch(tr($e+(((l+5|0)%6|0)<<4)+4|0,Re),tr($e+(l<<4)+4|0,Z),Fe=+(r[E>>2]|0),S[ne>>3]=Fe*3,S[O>>3]=0,Te=Fe*-1.5,S[Ae>>3]=Te,S[R>>3]=Fe*2.598076211353316,S[ee>>3]=Te,S[I>>3]=Fe*-2.598076211353316,l=r[he>>2]|0,r[17040+(l*80|0)+(((o|0)==(l|0)?r[_e>>2]|0:o)<<2)>>2]|0){case 1:{t=Ae,o=ne;break}case 3:{t=ee,o=Ae;break}case 2:{t=ne,o=ee;break}default:{t=8;break e}}ku(Re,Z,o,t,V),!(xu(Re,V)|0)&&!(xu(Z,V)|0)&&(an(V,r[he>>2]|0,p,1,u+8+(r[u>>2]<<4)|0),r[u>>2]=(r[u>>2]|0)+1)}if((d|0)<(y|0)&&(tr(H,Re),an(Re,r[_e>>2]|0,p,1,u+8+(r[u>>2]<<4)|0),r[u>>2]=(r[u>>2]|0)+1),d=d+1|0,(d|0)>=(F|0)){t=3;break}else o=r[_e>>2]|0}if((t|0)==3){P=He;return}else(t|0)==8&&Oe(27054,27017,737,27099)}function lu(t,A,i){t=t|0,A=A|0,i=i|0;var o=0,u=0,l=0,f=0,d=0,p=0;p=P,P=P+160|0,o=p+80|0,u=p,l=o,f=20368,d=l+72|0;do r[l>>2]=r[f>>2],l=l+4|0,f=f+4|0;while((l|0)<(d|0));l=u,f=20448,d=l+72|0;do r[l>>2]=r[f>>2],l=l+4|0,f=f+4|0;while((l|0)<(d|0));d=(et(r[A>>2]|0)|0)==0,o=d?o:u,u=t+4|0,iu(u),ou(u),et(r[A>>2]|0)|0&&(rr(u),r[A>>2]=(r[A>>2]|0)+1),r[i>>2]=r[t>>2],A=i+4|0,IA(u,o,A),DA(A),r[i+16>>2]=r[t>>2],A=i+20|0,IA(u,o+12|0,A),DA(A),r[i+32>>2]=r[t>>2],A=i+36|0,IA(u,o+24|0,A),DA(A),r[i+48>>2]=r[t>>2],A=i+52|0,IA(u,o+36|0,A),DA(A),r[i+64>>2]=r[t>>2],A=i+68|0,IA(u,o+48|0,A),DA(A),r[i+80>>2]=r[t>>2],i=i+84|0,IA(u,o+60|0,i),DA(i),P=p}function op(t,A){return t=t|0,A=A|0,A=ae(t|0,A|0,52)|0,M()|0,A&15|0}function fu(t,A){return t=t|0,A=A|0,A=ae(t|0,A|0,45)|0,M()|0,A&127|0}function sp(t,A,i,o){return t=t|0,A=A|0,i=i|0,o=o|0,(i+-1|0)>>>0>14?(o=4,o|0):(i=ae(t|0,A|0,(15-i|0)*3|0)|0,M()|0,r[o>>2]=i&7,o=0,o|0)}function ap(t,A,i,o){t=t|0,A=A|0,i=i|0,o=o|0;var u=0,l=0,f=0,d=0,p=0,y=0;if(t>>>0>15)return o=4,o|0;if(A>>>0>121)return o=17,o|0;f=ce(t|0,0,52)|0,u=M()|0,d=ce(A|0,0,45)|0,u=u|(M()|0)|134225919;e:do if((t|0)>=1){for(d=1,f=(se[20528+A>>0]|0)!=0,l=-1;;){if(A=r[i+(d+-1<<2)>>2]|0,A>>>0>6){u=18,A=10;break}if(!((A|0)==0|f^1))if((A|0)==1){u=19,A=10;break}else f=0;if(y=(15-d|0)*3|0,p=ce(7,0,y|0)|0,u=u&~(M()|0),A=ce(A|0,((A|0)<0)<<31>>31|0,y|0)|0,l=A|l&~p,u=M()|0|u,(d|0)<(t|0))d=d+1|0;else break e}if((A|0)==10)return u|0}else l=-1;while(!1);return y=o,r[y>>2]=l,r[y+4>>2]=u,y=0,y|0}function jo(t,A){t=t|0,A=A|0;var i=0,o=0,u=0,l=0,f=0;return!(!0&(A&-16777216|0)==134217728)||(o=ae(t|0,A|0,52)|0,M()|0,o=o&15,i=ae(t|0,A|0,45)|0,M()|0,i=i&127,i>>>0>121)?(t=0,t|0):(f=(o^15)*3|0,u=ae(t|0,A|0,f|0)|0,f=ce(u|0,M()|0,f|0)|0,u=M()|0,l=EA(-1227133514,-1171,f|0,u|0)|0,!((f&613566756&l|0)==0&(u&4681&(M()|0)|0)==0)||(f=(o*3|0)+19|0,l=ce(~t|0,~A|0,f|0)|0,f=ae(l|0,M()|0,f|0)|0,!((o|0)==15|(f|0)==0&(M()|0)==0))?(f=0,f|0):!(se[20528+i>>0]|0)||(A=A&8191,(t|0)==0&(A|0)==0)?(f=1,f|0):(f=Yo(t|0,A|0,0)|0,M()|0,((63-f|0)%3|0|0)!=0|0))}function up(t,A){t=t|0,A=A|0;var i=0,o=0,u=0,l=0,f=0;return!0&(A&-16777216|0)==134217728&&(o=ae(t|0,A|0,52)|0,M()|0,o=o&15,i=ae(t|0,A|0,45)|0,M()|0,i=i&127,i>>>0<=121)&&(f=(o^15)*3|0,u=ae(t|0,A|0,f|0)|0,f=ce(u|0,M()|0,f|0)|0,u=M()|0,l=EA(-1227133514,-1171,f|0,u|0)|0,(f&613566756&l|0)==0&(u&4681&(M()|0)|0)==0)&&(f=(o*3|0)+19|0,l=ce(~t|0,~A|0,f|0)|0,f=ae(l|0,M()|0,f|0)|0,(o|0)==15|(f|0)==0&(M()|0)==0)&&(!(se[20528+i>>0]|0)||(i=A&8191,(t|0)==0&(i|0)==0)||(f=Yo(t|0,i|0,0)|0,M()|0,(63-f|0)%3|0|0))||au(t,A)|0?(f=1,f|0):(f=(Su(t,A)|0)!=0&1,f|0)}function Mo(t,A,i,o){t=t|0,A=A|0,i=i|0,o=o|0;var u=0,l=0,f=0,d=0;if(u=ce(A|0,0,52)|0,l=M()|0,i=ce(i|0,0,45)|0,i=l|(M()|0)|134225919,(A|0)<1){l=-1,o=i,A=t,r[A>>2]=l,t=t+4|0,r[t>>2]=o;return}for(l=1,u=-1;f=(15-l|0)*3|0,d=ce(7,0,f|0)|0,i=i&~(M()|0),f=ce(o|0,0,f|0)|0,u=u&~d|f,i=i|(M()|0),(l|0)!=(A|0);)l=l+1|0;d=t,f=d,r[f>>2]=u,d=d+4|0,r[d>>2]=i}function No(t,A,i,o){t=t|0,A=A|0,i=i|0,o=o|0;var u=0,l=0;if(l=ae(t|0,A|0,52)|0,M()|0,l=l&15,i>>>0>15)return o=4,o|0;if((l|0)<(i|0))return o=12,o|0;if((l|0)==(i|0))return r[o>>2]=t,r[o+4>>2]=A,o=0,o|0;if(u=ce(i|0,0,52)|0,u=u|t,t=M()|0|A&-15728641,(l|0)>(i|0))do A=ce(7,0,(14-i|0)*3|0)|0,i=i+1|0,u=A|u,t=M()|0|t;while((i|0)<(l|0));return r[o>>2]=u,r[o+4>>2]=t,o=0,o|0}function un(t,A,i,o){t=t|0,A=A|0,i=i|0,o=o|0;var u=0,l=0,f=0;if(l=ae(t|0,A|0,52)|0,M()|0,l=l&15,!((i|0)<16&(l|0)<=(i|0)))return o=4,o|0;u=i-l|0,i=ae(t|0,A|0,45)|0,M()|0;e:do if(!(cA(i&127)|0))i=Nt(7,0,u,((u|0)<0)<<31>>31)|0,u=M()|0;else{A:do if(l|0){for(i=1;f=ce(7,0,(15-i|0)*3|0)|0,!!((f&t|0)==0&((M()|0)&A|0)==0);)if(i>>>0<l>>>0)i=i+1|0;else break A;i=Nt(7,0,u,((u|0)<0)<<31>>31)|0,u=M()|0;break e}while(!1);i=Nt(7,0,u,((u|0)<0)<<31>>31)|0,i=$A(i|0,M()|0,5,0)|0,i=xe(i|0,M()|0,-5,-1)|0,i=It(i|0,M()|0,6,0)|0,i=xe(i|0,M()|0,1,0)|0,u=M()|0}while(!1);return f=o,r[f>>2]=i,r[f+4>>2]=u,f=0,f|0}function aA(t,A){t=t|0,A=A|0;var i=0,o=0,u=0;if(u=ae(t|0,A|0,45)|0,M()|0,!(cA(u&127)|0))return u=0,u|0;u=ae(t|0,A|0,52)|0,M()|0,u=u&15;e:do if(!u)i=0;else for(o=1;;){if(i=ae(t|0,A|0,(15-o|0)*3|0)|0,M()|0,i=i&7,i|0)break e;if(o>>>0<u>>>0)o=o+1|0;else{i=0;break}}while(!1);return u=(i|0)==0&1,u|0}function lp(t,A,i,o){t=t|0,A=A|0,i=i|0,o=o|0;var u=0,l=0,f=0,d=0;if(f=P,P=P+16|0,l=f,Lo(l,t,A,i),A=l,t=r[A>>2]|0,A=r[A+4>>2]|0,(t|0)==0&(A|0)==0)return P=f,0;u=0,i=0;do d=o+(u<<3)|0,r[d>>2]=t,r[d+4>>2]=A,u=xe(u|0,i|0,1,0)|0,i=M()|0,Uo(l),d=l,t=r[d>>2]|0,A=r[d+4>>2]|0;while(!((t|0)==0&(A|0)==0));return P=f,0}function cu(t,A,i,o){return t=t|0,A=A|0,i=i|0,o=o|0,(o|0)<(i|0)?(i=A,o=t,Ie(i|0),o|0):(i=ce(-1,-1,((o-i|0)*3|0)+3|0)|0,o=ce(~i|0,~(M()|0)|0,(15-o|0)*3|0)|0,i=~(M()|0)&A,o=~o&t,Ie(i|0),o|0)}function du(t,A,i,o){t=t|0,A=A|0,i=i|0,o=o|0;var u=0;return u=ae(t|0,A|0,52)|0,M()|0,u=u&15,(i|0)<16&(u|0)<=(i|0)?((u|0)<(i|0)&&(u=ce(-1,-1,((i+-1-u|0)*3|0)+3|0)|0,u=ce(~u|0,~(M()|0)|0,(15-i|0)*3|0)|0,A=~(M()|0)&A,t=~u&t),u=ce(i|0,0,52)|0,i=A&-15728641|(M()|0),r[o>>2]=t|u,r[o+4>>2]=i,o=0,o|0):(o=4,o|0)}function fp(t,A,i,o){t=t|0,A=A|0,i=i|0,o=o|0;var u=0,l=0,f=0,d=0,p=0,y=0,E=0,O=0,R=0,I=0,H=0,F=0,Z=0,ne=0,Ae=0,ee=0,V=0,he=0,$e=0,_e=0,Re=0,He=0,Fe=0,Te=0,ke=0,de=0;if((i|0)==0&(o|0)==0)return de=0,de|0;if(u=t,l=r[u>>2]|0,u=r[u+4>>2]|0,!0&(u&15728640|0)==0){if(!((o|0)>0|(o|0)==0&i>>>0>0)||(de=A,r[de>>2]=l,r[de+4>>2]=u,(i|0)==1&(o|0)==0))return de=0,de|0;u=1,l=0;do Te=t+(u<<3)|0,ke=r[Te+4>>2]|0,de=A+(u<<3)|0,r[de>>2]=r[Te>>2],r[de+4>>2]=ke,u=xe(u|0,l|0,1,0)|0,l=M()|0;while((l|0)<(o|0)|(l|0)==(o|0)&u>>>0<i>>>0);return u=0,u|0}if(Fe=i<<3,ke=yt(Fe)|0,!ke)return de=13,de|0;if(Tr(ke|0,t|0,Fe|0)|0,Te=FA(i,8)|0,!Te)return Be(ke),de=13,de|0;e:for(;;){u=ke,y=r[u>>2]|0,u=r[u+4>>2]|0,Re=ae(y|0,u|0,52)|0,M()|0,Re=Re&15,He=Re+-1|0,_e=(Re|0)!=0,$e=(o|0)>0|(o|0)==0&i>>>0>0;A:do if(_e&$e){if(Ae=ce(He|0,0,52)|0,ee=M()|0,He>>>0>15){if(!((y|0)==0&(u|0)==0)){de=16;break e}for(l=0,t=0;;){if(l=xe(l|0,t|0,1,0)|0,t=M()|0,!((t|0)<(o|0)|(t|0)==(o|0)&l>>>0<i>>>0))break A;if(f=ke+(l<<3)|0,he=r[f>>2]|0,f=r[f+4>>2]|0,!((he|0)==0&(f|0)==0)){u=f,de=16;break e}}}for(d=y,t=u,l=0,f=0;;){if(!((d|0)==0&(t|0)==0)){if(!(!0&(t&117440512|0)==0)){de=21;break e}if(E=ae(d|0,t|0,52)|0,M()|0,E=E&15,(E|0)<(He|0)){u=12,de=27;break e}if((E|0)!=(He|0)&&(d=d|Ae,t=t&-15728641|ee,E>>>0>=Re>>>0)){p=He;do he=ce(7,0,(14-p|0)*3|0)|0,p=p+1|0,d=he|d,t=M()|0|t;while(p>>>0<E>>>0)}if(R=Cr(d|0,t|0,i|0,o|0)|0,I=M()|0,p=Te+(R<<3)|0,E=p,O=r[E>>2]|0,E=r[E+4>>2]|0,!((O|0)==0&(E|0)==0)){Z=0,ne=0;do{if((Z|0)>(o|0)|(Z|0)==(o|0)&ne>>>0>i>>>0){de=31;break e}if((O|0)==(d|0)&(E&-117440513|0)==(t|0)){H=ae(O|0,E|0,56)|0,M()|0,H=H&7,F=H+1|0,he=ae(O|0,E|0,45)|0,M()|0;t:do if(!(cA(he&127)|0))E=7;else{if(O=ae(O|0,E|0,52)|0,M()|0,O=O&15,!O){E=6;break}for(E=1;;){if(he=ce(7,0,(15-E|0)*3|0)|0,!((he&d|0)==0&((M()|0)&t|0)==0)){E=7;break t}if(E>>>0<O>>>0)E=E+1|0;else{E=6;break}}}while(!1);if((H+2|0)>>>0>E>>>0){de=41;break e}he=ce(F|0,0,56)|0,t=M()|0|t&-117440513,V=p,r[V>>2]=0,r[V+4>>2]=0,d=he|d}else R=xe(R|0,I|0,1,0)|0,R=Dr(R|0,M()|0,i|0,o|0)|0,I=M()|0;ne=xe(ne|0,Z|0,1,0)|0,Z=M()|0,p=Te+(R<<3)|0,E=p,O=r[E>>2]|0,E=r[E+4>>2]|0}while(!((O|0)==0&(E|0)==0))}he=p,r[he>>2]=d,r[he+4>>2]=t}if(l=xe(l|0,f|0,1,0)|0,f=M()|0,!((f|0)<(o|0)|(f|0)==(o|0)&l>>>0<i>>>0))break A;t=ke+(l<<3)|0,d=r[t>>2]|0,t=r[t+4>>2]|0}}while(!1);if(he=xe(i|0,o|0,5,0)|0,V=M()|0,V>>>0<0|(V|0)==0&he>>>0<11){de=85;break}if(he=It(i|0,o|0,6,0)|0,M()|0,he=FA(he,8)|0,!he){de=48;break}do if($e){for(F=0,t=0,H=0,Z=0;;){if(E=Te+(F<<3)|0,f=E,l=r[f>>2]|0,f=r[f+4>>2]|0,(l|0)==0&(f|0)==0)V=H;else{O=ae(l|0,f|0,56)|0,M()|0,O=O&7,d=O+1|0,R=f&-117440513,V=ae(l|0,f|0,45)|0,M()|0;A:do if(cA(V&127)|0){if(I=ae(l|0,f|0,52)|0,M()|0,I=I&15,I|0)for(p=1;;){if(V=ce(7,0,(15-p|0)*3|0)|0,!((l&V|0)==0&(R&(M()|0)|0)==0))break A;if(p>>>0<I>>>0)p=p+1|0;else break}f=ce(d|0,0,56)|0,l=f|l,f=M()|0|R,d=E,r[d>>2]=l,r[d+4>>2]=f,d=O+2|0}while(!1);(d|0)==7?(V=he+(t<<3)|0,r[V>>2]=l,r[V+4>>2]=f&-117440513,t=xe(t|0,H|0,1,0)|0,V=M()|0):V=H}if(F=xe(F|0,Z|0,1,0)|0,Z=M()|0,(Z|0)<(o|0)|(Z|0)==(o|0)&F>>>0<i>>>0)H=V;else break}if($e){if(ne=He>>>0>15,Ae=ce(He|0,0,52)|0,ee=M()|0,!_e){for(l=0,p=0,d=0,f=0;(y|0)==0&(u|0)==0||(He=A+(l<<3)|0,r[He>>2]=y,r[He+4>>2]=u,l=xe(l|0,p|0,1,0)|0,p=M()|0),d=xe(d|0,f|0,1,0)|0,f=M()|0,!!((f|0)<(o|0)|(f|0)==(o|0)&d>>>0<i>>>0);)u=ke+(d<<3)|0,y=r[u>>2]|0,u=r[u+4>>2]|0;u=V;break}for(l=0,p=0,f=0,d=0;;){do if(!((y|0)==0&(u|0)==0)){if(I=ae(y|0,u|0,52)|0,M()|0,I=I&15,ne|(I|0)<(He|0)){de=80;break e}if((I|0)!=(He|0)){if(E=y|Ae,O=u&-15728641|ee,I>>>0>=Re>>>0){R=He;do _e=ce(7,0,(14-R|0)*3|0)|0,R=R+1|0,E=_e|E,O=M()|0|O;while(R>>>0<I>>>0)}}else E=y,O=u;H=Cr(E|0,O|0,i|0,o|0)|0,R=0,I=0,Z=M()|0;do{if((R|0)>(o|0)|(R|0)==(o|0)&I>>>0>i>>>0){de=81;break e}if(_e=Te+(H<<3)|0,F=r[_e+4>>2]|0,(F&-117440513|0)==(O|0)&&(r[_e>>2]|0)==(E|0)){de=65;break}_e=xe(H|0,Z|0,1,0)|0,H=Dr(_e|0,M()|0,i|0,o|0)|0,Z=M()|0,I=xe(I|0,R|0,1,0)|0,R=M()|0,_e=Te+(H<<3)|0}while(!((r[_e>>2]|0)==(E|0)&&(r[_e+4>>2]|0)==(O|0)));if((de|0)==65&&(de=0,!0&(F&117440512|0)==100663296))break;_e=A+(l<<3)|0,r[_e>>2]=y,r[_e+4>>2]=u,l=xe(l|0,p|0,1,0)|0,p=M()|0}while(!1);if(f=xe(f|0,d|0,1,0)|0,d=M()|0,!((d|0)<(o|0)|(d|0)==(o|0)&f>>>0<i>>>0))break;u=ke+(f<<3)|0,y=r[u>>2]|0,u=r[u+4>>2]|0}u=V}else l=0,u=V}else l=0,t=0,u=0;while(!1);if(Ht(Te|0,0,Fe|0)|0,Tr(ke|0,he|0,t<<3|0)|0,Be(he),(t|0)==0&(u|0)==0){de=89;break}else A=A+(l<<3)|0,o=u,i=t}if((de|0)==16)!0&(u&117440512|0)==0?(u=4,de=27):de=21;else if((de|0)==31)Oe(27795,27122,620,27132);else{if((de|0)==41)return Be(ke),Be(Te),de=10,de|0;if((de|0)==48)return Be(ke),Be(Te),de=13,de|0;(de|0)==80?Oe(27795,27122,711,27132):(de|0)==81?Oe(27795,27122,723,27132):(de|0)==85&&(Tr(A|0,ke|0,i<<3|0)|0,de=89)}return(de|0)==21?(Be(ke),Be(Te),de=5,de|0):(de|0)==27?(Be(ke),Be(Te),de=u,de|0):(de|0)==89?(Be(ke),Be(Te),de=0,de|0):0}function cp(t,A,i,o,u,l,f){t=t|0,A=A|0,i=i|0,o=o|0,u=u|0,l=l|0,f=f|0;var d=0,p=0,y=0,E=0,O=0,R=0,I=0,H=0,F=0;if(F=P,P=P+16|0,H=F,!((i|0)>0|(i|0)==0&A>>>0>0))return H=0,P=F,H|0;if((f|0)>=16)return H=12,P=F,H|0;R=0,I=0,O=0,d=0;e:for(;;){if(y=t+(R<<3)|0,p=r[y>>2]|0,y=r[y+4>>2]|0,E=ae(p|0,y|0,52)|0,M()|0,(E&15|0)>(f|0)){d=12,p=11;break}if(Lo(H,p,y,f),E=H,y=r[E>>2]|0,E=r[E+4>>2]|0,(y|0)==0&(E|0)==0)p=O;else{p=O;do{if(!((d|0)<(l|0)|(d|0)==(l|0)&p>>>0<u>>>0)){p=10;break e}O=o+(p<<3)|0,r[O>>2]=y,r[O+4>>2]=E,p=xe(p|0,d|0,1,0)|0,d=M()|0,Uo(H),O=H,y=r[O>>2]|0,E=r[O+4>>2]|0}while(!((y|0)==0&(E|0)==0))}if(R=xe(R|0,I|0,1,0)|0,I=M()|0,(I|0)<(i|0)|(I|0)==(i|0)&R>>>0<A>>>0)O=p;else{d=0,p=11;break}}return(p|0)==10?(H=14,P=F,H|0):(p|0)==11?(P=F,d|0):0}function dp(t,A,i,o,u){t=t|0,A=A|0,i=i|0,o=o|0,u=u|0;var l=0,f=0,d=0,p=0,y=0,E=0,O=0,R=0;R=P,P=P+16|0,O=R;e:do if((i|0)>0|(i|0)==0&A>>>0>0){for(y=0,f=0,l=0,E=0;;){if(p=t+(y<<3)|0,d=r[p>>2]|0,p=r[p+4>>2]|0,!((d|0)==0&(p|0)==0)&&(p=(un(d,p,o,O)|0)==0,d=O,f=xe(r[d>>2]|0,r[d+4>>2]|0,f|0,l|0)|0,l=M()|0,!p)){l=12;break}if(y=xe(y|0,E|0,1,0)|0,E=M()|0,!((E|0)<(i|0)|(E|0)==(i|0)&y>>>0<A>>>0))break e}return P=R,l|0}else f=0,l=0;while(!1);return r[u>>2]=f,r[u+4>>2]=l,u=0,P=R,u|0}function hp(t,A){return t=t|0,A=A|0,A=ae(t|0,A|0,52)|0,M()|0,A&1|0}function GA(t,A){t=t|0,A=A|0;var i=0,o=0,u=0;if(u=ae(t|0,A|0,52)|0,M()|0,u=u&15,!u)return u=0,u|0;for(o=1;;){if(i=ae(t|0,A|0,(15-o|0)*3|0)|0,M()|0,i=i&7,i|0){o=5;break}if(o>>>0<u>>>0)o=o+1|0;else{i=0,o=5;break}}return(o|0)==5?i|0:0}function Ro(t,A){t=t|0,A=A|0;var i=0,o=0,u=0,l=0,f=0,d=0,p=0;if(p=ae(t|0,A|0,52)|0,M()|0,p=p&15,!p)return d=A,p=t,Ie(d|0),p|0;for(d=1,i=0;;){l=(15-d|0)*3|0,o=ce(7,0,l|0)|0,u=M()|0,f=ae(t|0,A|0,l|0)|0,M()|0,l=ce(nr(f&7)|0,0,l|0)|0,f=M()|0,t=l|t&~o,A=f|A&~u;e:do if(!i)if((l&o|0)==0&(f&u|0)==0)i=0;else if(o=ae(t|0,A|0,52)|0,M()|0,o=o&15,!o)i=1;else{i=1;A:for(;;){switch(f=ae(t|0,A|0,(15-i|0)*3|0)|0,M()|0,f&7){case 1:break A;case 0:break;default:{i=1;break e}}if(i>>>0<o>>>0)i=i+1|0;else{i=1;break e}}for(i=1;;)if(f=(15-i|0)*3|0,u=ae(t|0,A|0,f|0)|0,M()|0,l=ce(7,0,f|0)|0,A=A&~(M()|0),f=ce(nr(u&7)|0,0,f|0)|0,t=t&~l|f,A=A|(M()|0),i>>>0<o>>>0)i=i+1|0;else{i=1;break}}while(!1);if(d>>>0<p>>>0)d=d+1|0;else break}return Ie(A|0),t|0}function ir(t,A){t=t|0,A=A|0;var i=0,o=0,u=0,l=0,f=0;if(o=ae(t|0,A|0,52)|0,M()|0,o=o&15,!o)return i=A,o=t,Ie(i|0),o|0;for(i=1;l=(15-i|0)*3|0,f=ae(t|0,A|0,l|0)|0,M()|0,u=ce(7,0,l|0)|0,A=A&~(M()|0),l=ce(nr(f&7)|0,0,l|0)|0,t=l|t&~u,A=M()|0|A,i>>>0<o>>>0;)i=i+1|0;return Ie(A|0),t|0}function pp(t,A){t=t|0,A=A|0;var i=0,o=0,u=0,l=0,f=0,d=0,p=0;if(p=ae(t|0,A|0,52)|0,M()|0,p=p&15,!p)return d=A,p=t,Ie(d|0),p|0;for(d=1,i=0;;){l=(15-d|0)*3|0,o=ce(7,0,l|0)|0,u=M()|0,f=ae(t|0,A|0,l|0)|0,M()|0,l=ce(Mt(f&7)|0,0,l|0)|0,f=M()|0,t=l|t&~o,A=f|A&~u;e:do if(!i)if((l&o|0)==0&(f&u|0)==0)i=0;else if(o=ae(t|0,A|0,52)|0,M()|0,o=o&15,!o)i=1;else{i=1;A:for(;;){switch(f=ae(t|0,A|0,(15-i|0)*3|0)|0,M()|0,f&7){case 1:break A;case 0:break;default:{i=1;break e}}if(i>>>0<o>>>0)i=i+1|0;else{i=1;break e}}for(i=1;;)if(u=(15-i|0)*3|0,l=ce(7,0,u|0)|0,f=A&~(M()|0),A=ae(t|0,A|0,u|0)|0,M()|0,A=ce(Mt(A&7)|0,0,u|0)|0,t=t&~l|A,A=f|(M()|0),i>>>0<o>>>0)i=i+1|0;else{i=1;break}}while(!1);if(d>>>0<p>>>0)d=d+1|0;else break}return Ie(A|0),t|0}function Io(t,A){t=t|0,A=A|0;var i=0,o=0,u=0,l=0,f=0;if(o=ae(t|0,A|0,52)|0,M()|0,o=o&15,!o)return i=A,o=t,Ie(i|0),o|0;for(i=1;f=(15-i|0)*3|0,l=ce(7,0,f|0)|0,u=A&~(M()|0),A=ae(t|0,A|0,f|0)|0,M()|0,A=ce(Mt(A&7)|0,0,f|0)|0,t=A|t&~l,A=M()|0|u,i>>>0<o>>>0;)i=i+1|0;return Ie(A|0),t|0}function gp(t,A){t=t|0,A=A|0;var i=0,o=0,u=0,l=0,f=0,d=0,p=0,y=0,E=0;if(p=P,P=P+64|0,d=p+40|0,o=p+24|0,u=p+12|0,l=p,ce(A|0,0,52)|0,i=M()|0|134225919,!A)return(r[t+4>>2]|0)>2||(r[t+8>>2]|0)>2||(r[t+12>>2]|0)>2?(f=0,d=0,Ie(f|0),P=p,d|0):(ce(Ya(t)|0,0,45)|0,f=M()|0|i,d=-1,Ie(f|0),P=p,d|0);if(r[d>>2]=r[t>>2],r[d+4>>2]=r[t+4>>2],r[d+8>>2]=r[t+8>>2],r[d+12>>2]=r[t+12>>2],f=d+4|0,(A|0)>0)for(t=-1;r[o>>2]=r[f>>2],r[o+4>>2]=r[f+4>>2],r[o+8>>2]=r[f+8>>2],A&1?(Fh(f),r[u>>2]=r[f>>2],r[u+4>>2]=r[f+4>>2],r[u+8>>2]=r[f+8>>2],si(u)):(tu(f),r[u>>2]=r[f>>2],r[u+4>>2]=r[f+4>>2],r[u+8>>2]=r[f+8>>2],rr(u)),Do(o,u,l),DA(l),E=(15-A|0)*3|0,y=ce(7,0,E|0)|0,i=i&~(M()|0),E=ce(oi(l)|0,0,E|0)|0,t=E|t&~y,i=M()|0|i,(A|0)>1;)A=A+-1|0;else t=-1;e:do if((r[f>>2]|0)<=2&&(r[d+8>>2]|0)<=2&&(r[d+12>>2]|0)<=2){if(o=Ya(d)|0,A=ce(o|0,0,45)|0,A=A|t,t=M()|0|i&-1040385,l=Ch(d)|0,!(cA(o)|0)){if((l|0)<=0)break;for(u=0;;){if(o=ae(A|0,t|0,52)|0,M()|0,o=o&15,o)for(i=1;E=(15-i|0)*3|0,d=ae(A|0,t|0,E|0)|0,M()|0,y=ce(7,0,E|0)|0,t=t&~(M()|0),E=ce(nr(d&7)|0,0,E|0)|0,A=A&~y|E,t=t|(M()|0),i>>>0<o>>>0;)i=i+1|0;if(u=u+1|0,(u|0)==(l|0))break e}}u=ae(A|0,t|0,52)|0,M()|0,u=u&15;A:do if(u){i=1;t:for(;;){switch(E=ae(A|0,t|0,(15-i|0)*3|0)|0,M()|0,E&7){case 1:break t;case 0:break;default:break A}if(i>>>0<u>>>0)i=i+1|0;else break A}if(Wa(o,r[d>>2]|0)|0)for(i=1;d=(15-i|0)*3|0,y=ce(7,0,d|0)|0,E=t&~(M()|0),t=ae(A|0,t|0,d|0)|0,M()|0,t=ce(Mt(t&7)|0,0,d|0)|0,A=A&~y|t,t=E|(M()|0),i>>>0<u>>>0;)i=i+1|0;else for(i=1;E=(15-i|0)*3|0,d=ae(A|0,t|0,E|0)|0,M()|0,y=ce(7,0,E|0)|0,t=t&~(M()|0),E=ce(nr(d&7)|0,0,E|0)|0,A=A&~y|E,t=t|(M()|0),i>>>0<u>>>0;)i=i+1|0}while(!1);if((l|0)>0){i=0;do A=Ro(A,t)|0,t=M()|0,i=i+1|0;while((i|0)!=(l|0))}}else A=0,t=0;while(!1);return y=t,E=A,Ie(y|0),P=p,E|0}function et(t){return t=t|0,(t|0)%2|0|0}function Ho(t,A,i){t=t|0,A=A|0,i=i|0;var o=0,u=0;return u=P,P=P+16|0,o=u,A>>>0>15?(o=4,P=u,o|0):(r[t+4>>2]&2146435072|0)==2146435072||(r[t+8+4>>2]&2146435072|0)==2146435072?(o=3,P=u,o|0):(Ap(t,A,o),A=gp(o,A)|0,o=M()|0,r[i>>2]=A,r[i+4>>2]=o,(A|0)==0&(o|0)==0&&Oe(27795,27122,1050,27145),o=0,P=u,o|0)}function Qo(t,A,i){t=t|0,A=A|0,i=i|0;var o=0,u=0,l=0,f=0;if(u=i+4|0,l=ae(t|0,A|0,52)|0,M()|0,l=l&15,f=ae(t|0,A|0,45)|0,M()|0,o=(l|0)==0,cA(f&127)|0){if(o)return f=1,f|0;o=1}else{if(o)return f=0,f|0;(r[u>>2]|0)==0&&(r[i+8>>2]|0)==0?o=(r[i+12>>2]|0)!=0&1:o=1}for(i=1;i&1?si(u):rr(u),f=ae(t|0,A|0,(15-i|0)*3|0)|0,M()|0,ru(u,f&7),i>>>0<l>>>0;)i=i+1|0;return o|0}function Sr(t,A,i){t=t|0,A=A|0,i=i|0;var o=0,u=0,l=0,f=0,d=0,p=0,y=0,E=0;if(E=P,P=P+16|0,p=E,y=ae(t|0,A|0,45)|0,M()|0,y=y&127,y>>>0>121)return r[i>>2]=0,r[i+4>>2]=0,r[i+8>>2]=0,r[i+12>>2]=0,y=5,P=E,y|0;e:do if((cA(y)|0)!=0&&(l=ae(t|0,A|0,52)|0,M()|0,l=l&15,(l|0)!=0)){o=1;A:for(;;){switch(d=ae(t|0,A|0,(15-o|0)*3|0)|0,M()|0,d&7){case 5:break A;case 0:break;default:{o=A;break e}}if(o>>>0<l>>>0)o=o+1|0;else{o=A;break e}}for(u=1,o=A;A=(15-u|0)*3|0,f=ce(7,0,A|0)|0,d=o&~(M()|0),o=ae(t|0,o|0,A|0)|0,M()|0,o=ce(Mt(o&7)|0,0,A|0)|0,t=t&~f|o,o=d|(M()|0),u>>>0<l>>>0;)u=u+1|0}else o=A;while(!1);if(d=7696+(y*28|0)|0,r[i>>2]=r[d>>2],r[i+4>>2]=r[d+4>>2],r[i+8>>2]=r[d+8>>2],r[i+12>>2]=r[d+12>>2],!(Qo(t,o,i)|0))return y=0,P=E,y|0;if(f=i+4|0,r[p>>2]=r[f>>2],r[p+4>>2]=r[f+4>>2],r[p+8>>2]=r[f+8>>2],l=ae(t|0,o|0,52)|0,M()|0,d=l&15,l&1?(rr(f),l=d+1|0):l=d,!(cA(y)|0))o=0;else{e:do if(!d)o=0;else for(A=1;;){if(u=ae(t|0,o|0,(15-A|0)*3|0)|0,M()|0,u=u&7,u|0){o=u;break e}if(A>>>0<d>>>0)A=A+1|0;else{o=0;break}}while(!1);o=(o|0)==4&1}if(!(xr(i,l,o,0)|0))(l|0)!=(d|0)&&(r[f>>2]=r[p>>2],r[f+4>>2]=r[p+4>>2],r[f+8>>2]=r[p+8>>2]);else{if(cA(y)|0)do;while((xr(i,l,0,0)|0)!=0);(l|0)!=(d|0)&&tu(f)}return y=0,P=E,y|0}function or(t,A,i){t=t|0,A=A|0,i=i|0;var o=0,u=0,l=0;return l=P,P=P+16|0,o=l,u=Sr(t,A,o)|0,u|0?(P=l,u|0):(u=ae(t|0,A|0,52)|0,M()|0,np(o,u&15,i),u=0,P=l,u|0)}function Br(t,A,i){t=t|0,A=A|0,i=i|0;var o=0,u=0,l=0,f=0,d=0;if(f=P,P=P+16|0,l=f,o=Sr(t,A,l)|0,o|0)return l=o,P=f,l|0;o=ae(t|0,A|0,45)|0,M()|0,o=(cA(o&127)|0)==0,u=ae(t|0,A|0,52)|0,M()|0,u=u&15;e:do if(!o){if(u|0)for(o=1;;){if(d=ce(7,0,(15-o|0)*3|0)|0,!((d&t|0)==0&((M()|0)&A|0)==0))break e;if(o>>>0<u>>>0)o=o+1|0;else break}return To(l,u,0,5,i),d=0,P=f,d|0}while(!1);return Oo(l,u,0,6,i),d=0,P=f,d|0}function mp(t,A,i){t=t|0,A=A|0,i=i|0;var o=0,u=0,l=0;if(u=ae(t|0,A|0,45)|0,M()|0,!(cA(u&127)|0))return u=2,r[i>>2]=u,0;if(u=ae(t|0,A|0,52)|0,M()|0,u=u&15,!u)return u=5,r[i>>2]=u,0;for(o=1;;){if(l=ce(7,0,(15-o|0)*3|0)|0,!((l&t|0)==0&((M()|0)&A|0)==0)){o=2,t=6;break}if(o>>>0<u>>>0)o=o+1|0;else{o=5,t=6;break}}return(t|0)==6&&(r[i>>2]=o),0}function hu(t,A,i){t=t|0,A=A|0,i=i|0;var o=0,u=0,l=0,f=0,d=0,p=0,y=0,E=0,O=0;O=P,P=P+128|0,y=O+112|0,l=O+96|0,E=O,u=ae(t|0,A|0,52)|0,M()|0,d=u&15,r[y>>2]=d,f=ae(t|0,A|0,45)|0,M()|0,f=f&127;e:do if(cA(f)|0){if(d|0)for(o=1;;){if(p=ce(7,0,(15-o|0)*3|0)|0,!((p&t|0)==0&((M()|0)&A|0)==0)){u=0;break e}if(o>>>0<d>>>0)o=o+1|0;else break}if(u&1)u=1;else return p=ce(d+1|0,0,52)|0,E=M()|0|A&-15728641,y=ce(7,0,(14-d|0)*3|0)|0,E=hu((p|t)&~y,E&~(M()|0),i)|0,P=O,E|0}else u=0;while(!1);if(o=Sr(t,A,l)|0,!o){u?(uu(l,y,E),p=5):(lu(l,y,E),p=6);e:do if(cA(f)|0)if(!d)t=5;else for(o=1;;){if(f=ce(7,0,(15-o|0)*3|0)|0,!((f&t|0)==0&((M()|0)&A|0)==0)){t=2;break e}if(o>>>0<d>>>0)o=o+1|0;else{t=5;break}}else t=2;while(!1);Ht(i|0,-1,t<<2|0)|0;e:do if(u)for(l=0;;){if(f=E+(l<<4)|0,ip(f,r[y>>2]|0)|0,f=r[f>>2]|0,d=r[i>>2]|0,(d|0)==-1|(d|0)==(f|0))o=i;else{u=0;do{if(u=u+1|0,u>>>0>=t>>>0){o=1;break e}o=i+(u<<2)|0,d=r[o>>2]|0}while(!((d|0)==-1|(d|0)==(f|0)))}if(r[o>>2]=f,l=l+1|0,l>>>0>=p>>>0){o=0;break}}else for(l=0;;){if(f=E+(l<<4)|0,xr(f,r[y>>2]|0,0,1)|0,f=r[f>>2]|0,d=r[i>>2]|0,(d|0)==-1|(d|0)==(f|0))o=i;else{u=0;do{if(u=u+1|0,u>>>0>=t>>>0){o=1;break e}o=i+(u<<2)|0,d=r[o>>2]|0}while(!((d|0)==-1|(d|0)==(f|0)))}if(r[o>>2]=f,l=l+1|0,l>>>0>=p>>>0){o=0;break}}while(!1)}return E=o,P=O,E|0}function yp(){return 12}function qo(t,A){t=t|0,A=A|0;var i=0,o=0,u=0,l=0,f=0,d=0,p=0;if(t>>>0>15)return d=4,d|0;if(ce(t|0,0,52)|0,d=M()|0|134225919,!t){i=0,o=0;do cA(o)|0&&(ce(o|0,0,45)|0,f=d|(M()|0),t=A+(i<<3)|0,r[t>>2]=-1,r[t+4>>2]=f,i=i+1|0),o=o+1|0;while((o|0)!=122);return i=0,i|0}i=0,f=0;do{if(cA(f)|0){for(ce(f|0,0,45)|0,o=1,u=-1,l=d|(M()|0);p=ce(7,0,(15-o|0)*3|0)|0,u=u&~p,l=l&~(M()|0),(o|0)!=(t|0);)o=o+1|0;p=A+(i<<3)|0,r[p>>2]=u,r[p+4>>2]=l,i=i+1|0}f=f+1|0}while((f|0)!=122);return i=0,i|0}function wp(t,A,i,o){t=t|0,A=A|0,i=i|0,o=o|0;var u=0,l=0,f=0,d=0,p=0,y=0,E=0,O=0,R=0,I=0,H=0,F=0,Z=0,ne=0,Ae=0;if(Ae=P,P=P+16|0,Z=Ae,ne=ae(t|0,A|0,52)|0,M()|0,ne=ne&15,i>>>0>15)return ne=4,P=Ae,ne|0;if((ne|0)<(i|0))return ne=12,P=Ae,ne|0;if((ne|0)!=(i|0))if(l=ce(i|0,0,52)|0,l=l|t,d=M()|0|A&-15728641,(ne|0)>(i|0)){p=i;do F=ce(7,0,(14-p|0)*3|0)|0,p=p+1|0,l=F|l,d=M()|0|d;while((p|0)<(ne|0));F=l}else F=l;else F=t,d=A;H=ae(F|0,d|0,45)|0,M()|0;e:do if(cA(H&127)|0){if(p=ae(F|0,d|0,52)|0,M()|0,p=p&15,p|0)for(l=1;;){if(H=ce(7,0,(15-l|0)*3|0)|0,!((H&F|0)==0&((M()|0)&d|0)==0)){y=33;break e}if(l>>>0<p>>>0)l=l+1|0;else break}if(H=o,r[H>>2]=0,r[H+4>>2]=0,(ne|0)>(i|0)){for(H=A&-15728641,I=ne;;){if(R=I,I=I+-1|0,I>>>0>15|(ne|0)<(I|0)){y=19;break}if((ne|0)!=(I|0))if(l=ce(I|0,0,52)|0,l=l|t,p=M()|0|H,(ne|0)<(R|0))O=l;else{y=I;do O=ce(7,0,(14-y|0)*3|0)|0,y=y+1|0,l=O|l,p=M()|0|p;while((y|0)<(ne|0));O=l}else O=t,p=A;if(E=ae(O|0,p|0,45)|0,M()|0,!(cA(E&127)|0))l=0;else{E=ae(O|0,p|0,52)|0,M()|0,E=E&15;A:do if(!E)l=0;else for(y=1;;){if(l=ae(O|0,p|0,(15-y|0)*3|0)|0,M()|0,l=l&7,l|0)break A;if(y>>>0<E>>>0)y=y+1|0;else{l=0;break}}while(!1);l=(l|0)==0&1}if(p=ae(t|0,A|0,(15-R|0)*3|0)|0,M()|0,p=p&7,(p|0)==7){u=5,y=42;break}if(l=(l|0)!=0,(p|0)==1&l){u=5,y=42;break}if(O=p+(((p|0)!=0&l)<<31>>31)|0,O|0&&(y=ne-R|0,y=Nt(7,0,y,((y|0)<0)<<31>>31)|0,E=M()|0,l?(l=$A(y|0,E|0,5,0)|0,l=xe(l|0,M()|0,-5,-1)|0,l=It(l|0,M()|0,6,0)|0,l=xe(l|0,M()|0,1,0)|0,p=M()|0):(l=y,p=E),R=O+-1|0,R=$A(y|0,E|0,R|0,((R|0)<0)<<31>>31|0)|0,R=xe(l|0,p|0,R|0,M()|0)|0,O=M()|0,E=o,E=xe(R|0,O|0,r[E>>2]|0,r[E+4>>2]|0)|0,O=M()|0,R=o,r[R>>2]=E,r[R+4>>2]=O),(I|0)<=(i|0)){y=37;break}}if((y|0)==19)Oe(27795,27122,1367,27158);else if((y|0)==37){f=o,u=r[f+4>>2]|0,f=r[f>>2]|0;break}else if((y|0)==42)return P=Ae,u|0}else u=0,f=0}else y=33;while(!1);e:do if((y|0)==33)if(H=o,r[H>>2]=0,r[H+4>>2]=0,(ne|0)>(i|0)){for(l=ne;;){if(u=ae(t|0,A|0,(15-l|0)*3|0)|0,M()|0,u=u&7,(u|0)==7){u=5;break}if(f=ne-l|0,f=Nt(7,0,f,((f|0)<0)<<31>>31)|0,u=$A(f|0,M()|0,u|0,0)|0,f=M()|0,H=o,f=xe(r[H>>2]|0,r[H+4>>2]|0,u|0,f|0)|0,u=M()|0,H=o,r[H>>2]=f,r[H+4>>2]=u,l=l+-1|0,(l|0)<=(i|0))break e}return P=Ae,u|0}else u=0,f=0;while(!1);return un(F,d,ne,Z)|0&&Oe(27795,27122,1327,27173),ne=Z,Z=r[ne+4>>2]|0,((u|0)>-1|(u|0)==-1&f>>>0>4294967295)&((Z|0)>(u|0)|((Z|0)==(u|0)?(r[ne>>2]|0)>>>0>f>>>0:0))?(ne=0,P=Ae,ne|0):(Oe(27795,27122,1407,27158),0)}function vp(t,A,i,o,u,l){t=t|0,A=A|0,i=i|0,o=o|0,u=u|0,l=l|0;var f=0,d=0,p=0,y=0,E=0,O=0,R=0,I=0,H=0,F=0;if(O=P,P=P+16|0,f=O,u>>>0>15)return l=4,P=O,l|0;if(d=ae(i|0,o|0,52)|0,M()|0,d=d&15,(d|0)>(u|0))return l=12,P=O,l|0;if(un(i,o,u,f)|0&&Oe(27795,27122,1327,27173),E=f,y=r[E+4>>2]|0,!(((A|0)>-1|(A|0)==-1&t>>>0>4294967295)&((y|0)>(A|0)|((y|0)==(A|0)?(r[E>>2]|0)>>>0>t>>>0:0))))return l=2,P=O,l|0;E=u-d|0,u=ce(u|0,0,52)|0,p=M()|0|o&-15728641,y=l,r[y>>2]=u|i,r[y+4>>2]=p,y=ae(i|0,o|0,45)|0,M()|0;e:do if(cA(y&127)|0){if(d|0)for(f=1;;){if(y=ce(7,0,(15-f|0)*3|0)|0,!((y&i|0)==0&((M()|0)&o|0)==0))break e;if(f>>>0<d>>>0)f=f+1|0;else break}if((E|0)<1)return l=0,P=O,l|0;for(y=d^15,o=-1,p=1,f=1;;){d=E-p|0,d=Nt(7,0,d,((d|0)<0)<<31>>31)|0,i=M()|0;do if(f)if(f=$A(d|0,i|0,5,0)|0,f=xe(f|0,M()|0,-5,-1)|0,f=It(f|0,M()|0,6,0)|0,u=M()|0,(A|0)>(u|0)|(A|0)==(u|0)&t>>>0>f>>>0){A=xe(t|0,A|0,-1,-1)|0,A=EA(A|0,M()|0,f|0,u|0)|0,f=M()|0,R=l,H=r[R>>2]|0,R=r[R+4>>2]|0,F=(y+o|0)*3|0,I=ce(7,0,F|0)|0,R=R&~(M()|0),o=It(A|0,f|0,d|0,i|0)|0,t=M()|0,u=xe(o|0,t|0,2,0)|0,F=ce(u|0,M()|0,F|0)|0,R=M()|0|R,u=l,r[u>>2]=F|H&~I,r[u+4>>2]=R,t=$A(o|0,t|0,d|0,i|0)|0,t=EA(A|0,f|0,t|0,M()|0)|0,f=0,A=M()|0;break}else{F=l,I=r[F>>2]|0,F=r[F+4>>2]|0,H=ce(7,0,(y+o|0)*3|0)|0,F=F&~(M()|0),f=l,r[f>>2]=I&~H,r[f+4>>2]=F,f=1;break}else I=l,u=r[I>>2]|0,I=r[I+4>>2]|0,o=(y+o|0)*3|0,R=ce(7,0,o|0)|0,I=I&~(M()|0),F=It(t|0,A|0,d|0,i|0)|0,f=M()|0,o=ce(F|0,f|0,o|0)|0,I=M()|0|I,H=l,r[H>>2]=o|u&~R,r[H+4>>2]=I,f=$A(F|0,f|0,d|0,i|0)|0,t=EA(t|0,A|0,f|0,M()|0)|0,f=0,A=M()|0;while(!1);if((E|0)>(p|0))o=~p,p=p+1|0;else{A=0;break}}return P=O,A|0}while(!1);if((E|0)<1)return F=0,P=O,F|0;for(u=d^15,f=1;;)if(H=E-f|0,H=Nt(7,0,H,((H|0)<0)<<31>>31)|0,F=M()|0,p=l,i=r[p>>2]|0,p=r[p+4>>2]|0,d=(u-f|0)*3|0,o=ce(7,0,d|0)|0,p=p&~(M()|0),R=It(t|0,A|0,H|0,F|0)|0,I=M()|0,d=ce(R|0,I|0,d|0)|0,p=M()|0|p,y=l,r[y>>2]=d|i&~o,r[y+4>>2]=p,F=$A(R|0,I|0,H|0,F|0)|0,t=EA(t|0,A|0,F|0,M()|0)|0,A=M()|0,(E|0)<=(f|0)){A=0;break}else f=f+1|0;return P=O,A|0}function Lo(t,A,i,o){t=t|0,A=A|0,i=i|0,o=o|0;var u=0,l=0,f=0;u=ae(A|0,i|0,52)|0,M()|0,u=u&15,(A|0)==0&(i|0)==0|((o|0)>15|(u|0)>(o|0))?(l=-1,A=-1,i=0,u=0):(A=cu(A,i,u+1|0,o)|0,f=(M()|0)&-15728641,i=ce(o|0,0,52)|0,i=A|i,f=f|(M()|0),A=(aA(i,f)|0)==0,l=u,A=A?-1:o,u=f),f=t,r[f>>2]=i,r[f+4>>2]=u,r[t+8>>2]=l,r[t+12>>2]=A}function pu(t,A,i,o){t=t|0,A=A|0,i=i|0,o=o|0;var u=0,l=0;if(u=ae(t|0,A|0,52)|0,M()|0,u=u&15,l=o+8|0,r[l>>2]=u,(t|0)==0&(A|0)==0|((i|0)>15|(u|0)>(i|0))){i=o,r[i>>2]=0,r[i+4>>2]=0,r[l>>2]=-1,r[o+12>>2]=-1;return}if(t=cu(t,A,u+1|0,i)|0,l=(M()|0)&-15728641,u=ce(i|0,0,52)|0,u=t|u,l=l|(M()|0),t=o,r[t>>2]=u,r[t+4>>2]=l,t=o+12|0,aA(u,l)|0){r[t>>2]=i;return}else{r[t>>2]=-1;return}}function Uo(t){t=t|0;var A=0,i=0,o=0,u=0,l=0,f=0,d=0,p=0,y=0;if(i=t,A=r[i>>2]|0,i=r[i+4>>2]|0,!((A|0)==0&(i|0)==0)&&(o=ae(A|0,i|0,52)|0,M()|0,o=o&15,d=ce(1,0,(o^15)*3|0)|0,A=xe(d|0,M()|0,A|0,i|0)|0,i=M()|0,d=t,r[d>>2]=A,r[d+4>>2]=i,d=t+8|0,f=r[d>>2]|0,!((o|0)<(f|0)))){for(p=t+12|0,l=o;;){if((l|0)==(f|0)){o=5;break}if(y=(l|0)==(r[p>>2]|0),u=(15-l|0)*3|0,o=ae(A|0,i|0,u|0)|0,M()|0,o=o&7,y&((o|0)==1&!0)){o=7;break}if(!((o|0)==7&!0)){o=10;break}if(y=ce(1,0,u|0)|0,A=xe(A|0,i|0,y|0,M()|0)|0,i=M()|0,y=t,r[y>>2]=A,r[y+4>>2]=i,(l|0)>(f|0))l=l+-1|0;else{o=10;break}}if((o|0)==5){y=t,r[y>>2]=0,r[y+4>>2]=0,r[d>>2]=-1,r[p>>2]=-1;return}else if((o|0)==7){f=ce(1,0,u|0)|0,f=xe(A|0,i|0,f|0,M()|0)|0,d=M()|0,y=t,r[y>>2]=f,r[y+4>>2]=d,r[p>>2]=l+-1;return}else if((o|0)==10)return}}function ln(t){t=+t;var A=0;return A=t<0?t+6.283185307179586:t,+(t>=6.283185307179586?A+-6.283185307179586:A)}function Pr(t,A){return t=t|0,A=A|0,+Xe(+(+S[t>>3]-+S[A>>3]))<17453292519943298e-27?(A=+Xe(+(+S[t+8>>3]-+S[A+8>>3]))<17453292519943298e-27,A|0):(A=0,A|0)}function JA(t,A){switch(t=+t,A=A|0,A|0){case 1:{t=t<0?t+6.283185307179586:t;break}case 2:{t=t>0?t+-6.283185307179586:t;break}default:}return+t}function bp(t,A){t=t|0,A=A|0;var i=0,o=0,u=0,l=0;return u=+S[A>>3],o=+S[t>>3],l=+AA(+((u-o)*.5)),i=+AA(+((+S[A+8>>3]-+S[t+8>>3])*.5)),i=l*l+i*(+We(+u)*+We(+o)*i),+(+XA(+ +pA(+i),+ +pA(+(1-i)))*2)}function fn(t,A){t=t|0,A=A|0;var i=0,o=0,u=0,l=0;return u=+S[A>>3],o=+S[t>>3],l=+AA(+((u-o)*.5)),i=+AA(+((+S[A+8>>3]-+S[t+8>>3])*.5)),i=l*l+i*(+We(+u)*+We(+o)*i),+(+XA(+ +pA(+i),+ +pA(+(1-i)))*2*6371.007180918475)}function _p(t,A){t=t|0,A=A|0;var i=0,o=0,u=0,l=0;return u=+S[A>>3],o=+S[t>>3],l=+AA(+((u-o)*.5)),i=+AA(+((+S[A+8>>3]-+S[t+8>>3])*.5)),i=l*l+i*(+We(+u)*+We(+o)*i),+(+XA(+ +pA(+i),+ +pA(+(1-i)))*2*6371.007180918475*1e3)}function Ep(t,A){t=t|0,A=A|0;var i=0,o=0,u=0,l=0,f=0;return l=+S[A>>3],o=+We(+l),u=+S[A+8>>3]-+S[t+8>>3],f=o*+AA(+u),i=+S[t>>3],+ +XA(+f,+(+AA(+l)*+We(+i)-+We(+u)*(o*+AA(+i))))}function $p(t,A,i,o){t=t|0,A=+A,i=+i,o=o|0;var u=0,l=0,f=0,d=0;if(i<1e-16){r[o>>2]=r[t>>2],r[o+4>>2]=r[t+4>>2],r[o+8>>2]=r[t+8>>2],r[o+12>>2]=r[t+12>>2];return}l=A<0?A+6.283185307179586:A,l=A>=6.283185307179586?l+-6.283185307179586:l;do if(l<1e-16)A=+S[t>>3]+i,S[o>>3]=A,u=o;else{if(u=+Xe(+(l+-3.141592653589793))<1e-16,A=+S[t>>3],u){A=A-i,S[o>>3]=A,u=o;break}if(f=+We(+i),i=+AA(+i),A=f*+AA(+A)+ +We(+l)*(i*+We(+A)),A=A>1?1:A,A=+dh(+(A<-1?-1:A)),S[o>>3]=A,+Xe(+(A+-1.5707963267948966))<1e-16){S[o>>3]=1.5707963267948966,S[o+8>>3]=0;return}if(+Xe(+(A+1.5707963267948966))<1e-16){S[o>>3]=-1.5707963267948966,S[o+8>>3]=0;return}if(d=1/+We(+A),l=i*+AA(+l)*d,i=+S[t>>3],A=d*((f-+AA(+A)*+AA(+i))/+We(+i)),f=l>1?1:l,A=A>1?1:A,A=+S[t+8>>3]+ +XA(+(f<-1?-1:f),+(A<-1?-1:A)),A>3.141592653589793)do A=A+-6.283185307179586;while(A>3.141592653589793);if(A<-3.141592653589793)do A=A+6.283185307179586;while(A<-3.141592653589793);S[o+8>>3]=A;return}while(!1);if(+Xe(+(A+-1.5707963267948966))<1e-16){S[u>>3]=1.5707963267948966,S[o+8>>3]=0;return}if(+Xe(+(A+1.5707963267948966))<1e-16){S[u>>3]=-1.5707963267948966,S[o+8>>3]=0;return}if(A=+S[t+8>>3],A>3.141592653589793)do A=A+-6.283185307179586;while(A>3.141592653589793);if(A<-3.141592653589793)do A=A+6.283185307179586;while(A<-3.141592653589793);S[o+8>>3]=A}function gu(t,A){return t=t|0,A=A|0,t>>>0>15?(A=4,A|0):(S[A>>3]=+S[20656+(t<<3)>>3],A=0,A|0)}function kp(t,A){return t=t|0,A=A|0,t>>>0>15?(A=4,A|0):(S[A>>3]=+S[20784+(t<<3)>>3],A=0,A|0)}function xp(t,A){return t=t|0,A=A|0,t>>>0>15?(A=4,A|0):(S[A>>3]=+S[20912+(t<<3)>>3],A=0,A|0)}function Sp(t,A){return t=t|0,A=A|0,t>>>0>15?(A=4,A|0):(S[A>>3]=+S[21040+(t<<3)>>3],A=0,A|0)}function li(t,A){t=t|0,A=A|0;var i=0;return t>>>0>15?(A=4,A|0):(i=Nt(7,0,t,((t|0)<0)<<31>>31)|0,i=$A(i|0,M()|0,120,0)|0,t=M()|0,r[A>>2]=i|2,r[A+4>>2]=t,A=0,A|0)}function mu(t,A,i){t=t|0,A=A|0,i=i|0;var o=0,u=0,l=0,f=0,d=0,p=0,y=0,E=0,O=0,R=0;return R=+S[A>>3],E=+S[t>>3],p=+AA(+((R-E)*.5)),l=+S[A+8>>3],y=+S[t+8>>3],f=+AA(+((l-y)*.5)),d=+We(+E),O=+We(+R),f=p*p+f*(O*d*f),f=+XA(+ +pA(+f),+ +pA(+(1-f)))*2,p=+S[i>>3],R=+AA(+((p-R)*.5)),o=+S[i+8>>3],l=+AA(+((o-l)*.5)),u=+We(+p),l=R*R+l*(O*u*l),l=+XA(+ +pA(+l),+ +pA(+(1-l)))*2,p=+AA(+((E-p)*.5)),o=+AA(+((y-o)*.5)),o=p*p+o*(d*u*o),o=+XA(+ +pA(+o),+ +pA(+(1-o)))*2,u=(f+l+o)*.5,+(+_o(+ +pA(+(+sn(+(u*.5))*+sn(+((u-f)*.5))*+sn(+((u-l)*.5))*+sn(+((u-o)*.5)))))*4)}function Go(t,A,i){t=t|0,A=A|0,i=i|0;var o=0,u=0,l=0,f=0,d=0;if(d=P,P=P+192|0,l=d+168|0,f=d,u=or(t,A,l)|0,u|0)return i=u,P=d,i|0;if(Br(t,A,f)|0&&Oe(27795,27190,415,27199),A=r[f>>2]|0,(A|0)>0){if(o=+mu(f+8|0,f+8+(((A|0)!=1&1)<<4)|0,l)+0,(A|0)!=1){t=1;do u=t,t=t+1|0,o=o+ +mu(f+8+(u<<4)|0,f+8+(((t|0)%(A|0)|0)<<4)|0,l);while((t|0)<(A|0))}}else o=0;return S[i>>3]=o,i=0,P=d,i|0}function Bp(t,A,i){return t=t|0,A=A|0,i=i|0,t=Go(t,A,i)|0,t|0||(S[i>>3]=+S[i>>3]*6371.007180918475*6371.007180918475),t|0}function Pp(t,A,i){return t=t|0,A=A|0,i=i|0,t=Go(t,A,i)|0,t|0||(S[i>>3]=+S[i>>3]*6371.007180918475*6371.007180918475*1e3*1e3),t|0}function Dp(t,A,i){t=t|0,A=A|0,i=i|0;var o=0,u=0,l=0,f=0,d=0,p=0,y=0,E=0;if(d=P,P=P+176|0,f=d,t=ui(t,A,f)|0,t|0)return f=t,P=d,f|0;if(S[i>>3]=0,t=r[f>>2]|0,(t|0)<=1)return f=0,P=d,f|0;A=t+-1|0,t=0,o=+S[f+8>>3],u=+S[f+16>>3],l=0;do t=t+1|0,y=o,o=+S[f+8+(t<<4)>>3],E=+AA(+((o-y)*.5)),p=u,u=+S[f+8+(t<<4)+8>>3],p=+AA(+((u-p)*.5)),p=E*E+p*(+We(+o)*+We(+y)*p),l=l+ +XA(+ +pA(+p),+ +pA(+(1-p)))*2;while((t|0)<(A|0));return S[i>>3]=l,f=0,P=d,f|0}function Cp(t,A,i){t=t|0,A=A|0,i=i|0;var o=0,u=0,l=0,f=0,d=0,p=0,y=0,E=0;if(d=P,P=P+176|0,f=d,t=ui(t,A,f)|0,t|0)return f=t,l=+S[i>>3],l=l*6371.007180918475,S[i>>3]=l,P=d,f|0;if(S[i>>3]=0,t=r[f>>2]|0,(t|0)<=1)return f=0,l=0,l=l*6371.007180918475,S[i>>3]=l,P=d,f|0;A=t+-1|0,t=0,o=+S[f+8>>3],u=+S[f+16>>3],l=0;do t=t+1|0,y=o,o=+S[f+8+(t<<4)>>3],E=+AA(+((o-y)*.5)),p=u,u=+S[f+8+(t<<4)+8>>3],p=+AA(+((u-p)*.5)),p=E*E+p*(+We(+y)*+We(+o)*p),l=l+ +XA(+ +pA(+p),+ +pA(+(1-p)))*2;while((t|0)!=(A|0));return S[i>>3]=l,f=0,E=l,E=E*6371.007180918475,S[i>>3]=E,P=d,f|0}function Tp(t,A,i){t=t|0,A=A|0,i=i|0;var o=0,u=0,l=0,f=0,d=0,p=0,y=0,E=0;if(d=P,P=P+176|0,f=d,t=ui(t,A,f)|0,t|0)return f=t,l=+S[i>>3],l=l*6371.007180918475,l=l*1e3,S[i>>3]=l,P=d,f|0;if(S[i>>3]=0,t=r[f>>2]|0,(t|0)<=1)return f=0,l=0,l=l*6371.007180918475,l=l*1e3,S[i>>3]=l,P=d,f|0;A=t+-1|0,t=0,o=+S[f+8>>3],u=+S[f+16>>3],l=0;do t=t+1|0,y=o,o=+S[f+8+(t<<4)>>3],E=+AA(+((o-y)*.5)),p=u,u=+S[f+8+(t<<4)+8>>3],p=+AA(+((u-p)*.5)),p=E*E+p*(+We(+y)*+We(+o)*p),l=l+ +XA(+ +pA(+p),+ +pA(+(1-p)))*2;while((t|0)!=(A|0));return S[i>>3]=l,f=0,E=l,E=E*6371.007180918475,E=E*1e3,S[i>>3]=E,P=d,f|0}function Op(t){t=t|0;var A=0,i=0,o=0;return A=FA(1,12)|0,A||Oe(27280,27235,49,27293),i=t+4|0,o=r[i>>2]|0,o|0?(o=o+8|0,r[o>>2]=A,r[i>>2]=A,A|0):(r[t>>2]|0&&Oe(27310,27235,61,27333),o=t,r[o>>2]=A,r[i>>2]=A,A|0)}function jp(t,A){t=t|0,A=A|0;var i=0,o=0;return o=yt(24)|0,o||Oe(27347,27235,78,27361),r[o>>2]=r[A>>2],r[o+4>>2]=r[A+4>>2],r[o+8>>2]=r[A+8>>2],r[o+12>>2]=r[A+12>>2],r[o+16>>2]=0,A=t+4|0,i=r[A>>2]|0,i|0?(r[i+16>>2]=o,r[A>>2]=o,o|0):(r[t>>2]|0&&Oe(27376,27235,82,27361),r[t>>2]=o,r[A>>2]=o,o|0)}function yu(t){t=t|0;var A=0,i=0,o=0,u=0;if(t)for(o=1;;){if(A=r[t>>2]|0,A|0)do{if(i=r[A>>2]|0,i|0)do u=i,i=r[i+16>>2]|0,Be(u);while((i|0)!=0);u=A,A=r[A+8>>2]|0,Be(u)}while((A|0)!=0);if(A=t,t=r[t+8>>2]|0,o||Be(A),t)o=0;else break}}function Mp(t){t=t|0;var A=0,i=0,o=0,u=0,l=0,f=0,d=0,p=0,y=0,E=0,O=0,R=0,I=0,H=0,F=0,Z=0,ne=0,Ae=0,ee=0,V=0,he=0,$e=0,_e=0,Re=0,He=0,Fe=0,Te=0,ke=0,de=0,Le=0,iA=0,qe=0;if(u=t+8|0,r[u>>2]|0)return qe=1,qe|0;if(o=r[t>>2]|0,!o)return qe=0,qe|0;A=o,i=0;do i=i+1|0,A=r[A+8>>2]|0;while((A|0)!=0);if(i>>>0<2)return qe=0,qe|0;Le=yt(i<<2)|0,Le||Oe(27396,27235,317,27415),de=yt(i<<5)|0,de||Oe(27437,27235,321,27415),r[t>>2]=0,$e=t+4|0,r[$e>>2]=0,r[u>>2]=0,i=0,ke=0,he=0,O=0;e:for(;;){if(E=r[o>>2]|0,E){l=0,f=E;do{if(p=+S[f+8>>3],A=f,f=r[f+16>>2]|0,y=(f|0)==0,u=y?E:f,d=+S[u+8>>3],+Xe(+(p-d))>3.141592653589793){qe=14;break}l=l+(d-p)*(+S[A>>3]+ +S[u>>3])}while(!y);if((qe|0)==14){qe=0,l=0,A=E;do V=+S[A+8>>3],Te=A+16|0,Fe=r[Te>>2]|0,Fe=(Fe|0)==0?E:Fe,ee=+S[Fe+8>>3],l=l+(+S[A>>3]+ +S[Fe>>3])*((ee<0?ee+6.283185307179586:ee)-(V<0?V+6.283185307179586:V)),A=r[((A|0)==0?o:Te)>>2]|0;while((A|0)!=0)}l>0?(r[Le+(ke<<2)>>2]=o,ke=ke+1|0,u=he,A=O):qe=19}else qe=19;if((qe|0)==19){qe=0;do if(i){if(A=i+8|0,r[A>>2]|0){qe=21;break e}if(i=FA(1,12)|0,!i){qe=23;break e}r[A>>2]=i,u=i+4|0,f=i,A=O}else if(O){u=$e,f=O+8|0,A=o,i=t;break}else if(r[t>>2]|0){qe=27;break e}else{u=$e,f=t,A=o,i=t;break}while(!1);if(r[f>>2]=o,r[u>>2]=o,f=de+(he<<5)|0,y=r[o>>2]|0,y){for(E=de+(he<<5)+8|0,S[E>>3]=17976931348623157e292,O=de+(he<<5)+24|0,S[O>>3]=17976931348623157e292,S[f>>3]=-17976931348623157e292,R=de+(he<<5)+16|0,S[R>>3]=-17976931348623157e292,ne=17976931348623157e292,Ae=-17976931348623157e292,u=0,I=y,p=17976931348623157e292,F=17976931348623157e292,Z=-17976931348623157e292,d=-17976931348623157e292;l=+S[I>>3],V=+S[I+8>>3],I=r[I+16>>2]|0,H=(I|0)==0,ee=+S[(H?y:I)+8>>3],l<p&&(S[E>>3]=l,p=l),V<F&&(S[O>>3]=V,F=V),l>Z?S[f>>3]=l:l=Z,V>d&&(S[R>>3]=V,d=V),ne=V>0&V<ne?V:ne,Ae=V<0&V>Ae?V:Ae,u=u|+Xe(+(V-ee))>3.141592653589793,!H;)Z=l;u&&(S[R>>3]=Ae,S[O>>3]=ne)}else r[f>>2]=0,r[f+4>>2]=0,r[f+8>>2]=0,r[f+12>>2]=0,r[f+16>>2]=0,r[f+20>>2]=0,r[f+24>>2]=0,r[f+28>>2]=0;u=he+1|0}if(Te=o+8|0,o=r[Te>>2]|0,r[Te>>2]=0,o)he=u,O=A;else{qe=45;break}}if((qe|0)==21)Oe(27213,27235,35,27247);else if((qe|0)==23)Oe(27267,27235,37,27247);else if((qe|0)==27)Oe(27310,27235,61,27333);else if((qe|0)==45){e:do if((ke|0)>0){for(Te=(u|0)==0,He=u<<2,Fe=(t|0)==0,Re=0,A=0;;){if(_e=r[Le+(Re<<2)>>2]|0,Te)qe=73;else{if(he=yt(He)|0,!he){qe=50;break}if($e=yt(He)|0,!$e){qe=52;break}A:do if(Fe)i=0;else{for(u=0,i=0,f=t;o=de+(u<<5)|0,wu(r[f>>2]|0,o,r[_e>>2]|0)|0?(r[he+(i<<2)>>2]=f,r[$e+(i<<2)>>2]=o,H=i+1|0):H=i,f=r[f+8>>2]|0,f;)u=u+1|0,i=H;if((H|0)>0)if(o=r[he>>2]|0,(H|0)==1)i=o;else for(R=0,I=-1,i=o,O=o;;){for(y=r[O>>2]|0,o=0,f=0;u=r[r[he+(f<<2)>>2]>>2]|0,(u|0)==(y|0)?E=o:E=o+((wu(u,r[$e+(f<<2)>>2]|0,r[y>>2]|0)|0)&1)|0,f=f+1|0,(f|0)!=(H|0);)o=E;if(u=(E|0)>(I|0),i=u?O:i,o=R+1|0,(o|0)==(H|0))break A;R=o,I=u?E:I,O=r[he+(o<<2)>>2]|0}else i=0}while(!1);if(Be(he),Be($e),i){if(u=i+4|0,o=r[u>>2]|0,o)i=o+8|0;else if(r[i>>2]|0){qe=70;break}r[i>>2]=_e,r[u>>2]=_e}else qe=73}if((qe|0)==73){if(qe=0,A=r[_e>>2]|0,A|0)do $e=A,A=r[A+16>>2]|0,Be($e);while((A|0)!=0);Be(_e),A=1}if(Re=Re+1|0,(Re|0)>=(ke|0)){iA=A;break e}}(qe|0)==50?Oe(27452,27235,249,27471):(qe|0)==52?Oe(27490,27235,252,27471):(qe|0)==70&&Oe(27310,27235,61,27333)}else iA=0;while(!1);return Be(Le),Be(de),qe=iA,qe|0}return 0}function wu(t,A,i){t=t|0,A=A|0,i=i|0;var o=0,u=0,l=0,f=0,d=0,p=0,y=0,E=0;if(!(Bo(A,i)|0)||(A=Ja(A)|0,o=+S[i>>3],u=+S[i+8>>3],u=A&u<0?u+6.283185307179586:u,t=r[t>>2]|0,!t))return t=0,t|0;if(A){A=0,y=u,i=t;e:for(;;){for(;f=+S[i>>3],u=+S[i+8>>3],i=i+16|0,E=r[i>>2]|0,E=(E|0)==0?t:E,l=+S[E>>3],d=+S[E+8>>3],f>l?(p=f,f=d):(p=l,l=f,f=u,u=d),o=o==l|o==p?o+2220446049250313e-31:o,!!(o<l|o>p);)if(i=r[i>>2]|0,!i){i=22;break e}if(d=f<0?f+6.283185307179586:f,f=u<0?u+6.283185307179586:u,y=d==y|f==y?y+-2220446049250313e-31:y,p=d+(f-d)*((o-l)/(p-l)),(p<0?p+6.283185307179586:p)>y&&(A=A^1),i=r[i>>2]|0,!i){i=22;break}}if((i|0)==22)return A|0}else{A=0,y=u,i=t;e:for(;;){for(;f=+S[i>>3],u=+S[i+8>>3],i=i+16|0,E=r[i>>2]|0,E=(E|0)==0?t:E,l=+S[E>>3],d=+S[E+8>>3],f>l?(p=f,f=d):(p=l,l=f,f=u,u=d),o=o==l|o==p?o+2220446049250313e-31:o,!!(o<l|o>p);)if(i=r[i>>2]|0,!i){i=22;break e}if(y=f==y|u==y?y+-2220446049250313e-31:y,f+(u-f)*((o-l)/(p-l))>y&&(A=A^1),i=r[i>>2]|0,!i){i=22;break}}if((i|0)==22)return A|0}return 0}function xt(t,A,i,o,u){t=t|0,A=A|0,i=i|0,o=o|0,u=u|0;var l=0,f=0,d=0,p=0,y=0,E=0,O=0,R=0,I=0,H=0,F=0,Z=0,ne=0,Ae=0;if(Ae=P,P=P+32|0,ne=Ae+16|0,Z=Ae,l=ae(t|0,A|0,52)|0,M()|0,l=l&15,I=ae(i|0,o|0,52)|0,M()|0,(l|0)!=(I&15|0))return ne=12,P=Ae,ne|0;if(y=ae(t|0,A|0,45)|0,M()|0,y=y&127,E=ae(i|0,o|0,45)|0,M()|0,E=E&127,y>>>0>121|E>>>0>121)return ne=5,P=Ae,ne|0;if(I=(y|0)!=(E|0),I){if(d=So(y,E)|0,(d|0)==7)return ne=1,P=Ae,ne|0;p=So(E,y)|0,(p|0)==7?Oe(27514,27538,161,27548):(H=d,f=p)}else H=0,f=0;O=cA(y)|0,R=cA(E)|0,r[ne>>2]=0,r[ne+4>>2]=0,r[ne+8>>2]=0,r[ne+12>>2]=0;do if(H){if(E=r[4272+(y*28|0)+(H<<2)>>2]|0,d=(E|0)>0,R)if(d){y=0,p=i,d=o;do p=pp(p,d)|0,d=M()|0,f=Mt(f)|0,(f|0)==1&&(f=Mt(1)|0),y=y+1|0;while((y|0)!=(E|0));E=f,y=p,p=d}else E=f,y=i,p=o;else if(d){y=0,p=i,d=o;do p=Io(p,d)|0,d=M()|0,f=Mt(f)|0,y=y+1|0;while((y|0)!=(E|0));E=f,y=p,p=d}else E=f,y=i,p=o;if(Qo(y,p,ne)|0,I||Oe(27563,27538,191,27548),d=(O|0)!=0,f=(R|0)!=0,d&f&&Oe(27590,27538,192,27548),d){if(f=GA(t,A)|0,(f|0)==7){l=5;break}if(se[22e3+(f*7|0)+H>>0]|0){l=1;break}p=r[21168+(f*28|0)+(H<<2)>>2]|0,y=p}else if(f){if(f=GA(y,p)|0,(f|0)==7){l=5;break}if(se[22e3+(f*7|0)+E>>0]|0){l=1;break}y=0,p=r[21168+(E*28|0)+(f<<2)>>2]|0}else y=0,p=0;if((y|p|0)<0)l=5;else{if((p|0)>0){d=ne+4|0,f=0;do ai(d),f=f+1|0;while((f|0)!=(p|0))}if(r[Z>>2]=0,r[Z+4>>2]=0,r[Z+8>>2]=0,ru(Z,H),l|0)for(;et(l)|0?si(Z):rr(Z),(l|0)>1;)l=l+-1|0;if((y|0)>0){l=0;do ai(Z),l=l+1|0;while((l|0)!=(y|0))}F=ne+4|0,IA(F,Z,F),DA(F),F=51}}else if(Qo(i,o,ne)|0,(O|0)!=0&(R|0)!=0)if((E|0)!=(y|0)&&Oe(27621,27538,261,27548),f=GA(t,A)|0,l=GA(i,o)|0,(f|0)==7|(l|0)==7)l=5;else if(se[22e3+(f*7|0)+l>>0]|0)l=1;else if(f=r[21168+(f*28|0)+(l<<2)>>2]|0,(f|0)>0){d=ne+4|0,l=0;do ai(d),l=l+1|0;while((l|0)!=(f|0));F=51}else F=51;else F=51;while(!1);return(F|0)==51&&(l=ne+4|0,r[u>>2]=r[l>>2],r[u+4>>2]=r[l+4>>2],r[u+8>>2]=r[l+8>>2],l=0),ne=l,P=Ae,ne|0}function vu(t,A,i,o){t=t|0,A=A|0,i=i|0,o=o|0;var u=0,l=0,f=0,d=0,p=0,y=0,E=0,O=0,R=0,I=0,H=0,F=0,Z=0,ne=0,Ae=0,ee=0;if(F=P,P=P+48|0,y=F+36|0,f=F+24|0,d=F+12|0,p=F,u=ae(t|0,A|0,52)|0,M()|0,u=u&15,R=ae(t|0,A|0,45)|0,M()|0,R=R&127,R>>>0>121)return o=5,P=F,o|0;if(E=cA(R)|0,ce(u|0,0,52)|0,Z=M()|0|134225919,l=o,r[l>>2]=-1,r[l+4>>2]=Z,!u)return u=oi(i)|0,(u|0)==7||(u=xo(R,u)|0,(u|0)==127)?(Z=1,P=F,Z|0):(I=ce(u|0,0,45)|0,H=M()|0,R=o,H=r[R+4>>2]&-1040385|H,Z=o,r[Z>>2]=r[R>>2]|I,r[Z+4>>2]=H,Z=0,P=F,Z|0);for(r[y>>2]=r[i>>2],r[y+4>>2]=r[i+4>>2],r[y+8>>2]=r[i+8>>2],i=u;;){if(l=i,i=i+-1|0,r[f>>2]=r[y>>2],r[f+4>>2]=r[y+4>>2],r[f+8>>2]=r[y+8>>2],et(l)|0){if(u=Uh(y)|0,u|0){i=13;break}r[d>>2]=r[y>>2],r[d+4>>2]=r[y+4>>2],r[d+8>>2]=r[y+8>>2],si(d)}else{if(u=Gh(y)|0,u|0){i=13;break}r[d>>2]=r[y>>2],r[d+4>>2]=r[y+4>>2],r[d+8>>2]=r[y+8>>2],rr(d)}if(Do(f,d,p),DA(p),u=o,Ae=r[u>>2]|0,u=r[u+4>>2]|0,ee=(15-l|0)*3|0,ne=ce(7,0,ee|0)|0,u=u&~(M()|0),ee=ce(oi(p)|0,0,ee|0)|0,u=M()|0|u,Z=o,r[Z>>2]=ee|Ae&~ne,r[Z+4>>2]=u,(l|0)<=1){i=14;break}}e:do if((i|0)!=13&&(i|0)==14)if((r[y>>2]|0)<=1&&(r[y+4>>2]|0)<=1&&(r[y+8>>2]|0)<=1){i=oi(y)|0,u=xo(R,i)|0,(u|0)==127?p=0:p=cA(u)|0;A:do if(i){if(E){if(u=GA(t,A)|0,(u|0)==7){u=5;break e}if(l=r[21376+(u*28|0)+(i<<2)>>2]|0,(l|0)>0){u=i,i=0;do u=nr(u)|0,i=i+1|0;while((i|0)!=(l|0))}else u=i;if((u|0)==1){u=9;break e}i=xo(R,u)|0,(i|0)==127&&Oe(27648,27538,411,27678),cA(i)|0?Oe(27693,27538,412,27678):(H=i,I=l,O=u)}else H=u,I=0,O=i;if(d=r[4272+(R*28|0)+(O<<2)>>2]|0,(d|0)<=-1&&Oe(27724,27538,419,27678),!p){if((I|0)<0){u=5;break e}if(I|0){l=o,u=0,i=r[l>>2]|0,l=r[l+4>>2]|0;do i=ir(i,l)|0,l=M()|0,ee=o,r[ee>>2]=i,r[ee+4>>2]=l,u=u+1|0;while((u|0)<(I|0))}if((d|0)<=0){u=H,i=58;break}for(l=o,u=0,i=r[l>>2]|0,l=r[l+4>>2]|0;;)if(i=ir(i,l)|0,l=M()|0,ee=o,r[ee>>2]=i,r[ee+4>>2]=l,u=u+1|0,(u|0)==(d|0)){u=H,i=58;break A}}if(f=So(H,R)|0,(f|0)==7&&Oe(27514,27538,428,27678),u=o,i=r[u>>2]|0,u=r[u+4>>2]|0,(d|0)>0){l=0;do i=ir(i,u)|0,u=M()|0,ee=o,r[ee>>2]=i,r[ee+4>>2]=u,l=l+1|0;while((l|0)!=(d|0))}if(u=GA(i,u)|0,(u|0)==7&&Oe(27795,27538,440,27678),i=ko(H)|0,i=r[(i?21792:21584)+(f*28|0)+(u<<2)>>2]|0,(i|0)<0&&Oe(27795,27538,454,27678),!i)u=H,i=58;else{f=o,u=0,l=r[f>>2]|0,f=r[f+4>>2]|0;do l=Ro(l,f)|0,f=M()|0,ee=o,r[ee>>2]=l,r[ee+4>>2]=f,u=u+1|0;while((u|0)<(i|0));u=H,i=58}}else if((E|0)!=0&(p|0)!=0){if(i=GA(t,A)|0,l=o,l=GA(r[l>>2]|0,r[l+4>>2]|0)|0,(i|0)==7|(l|0)==7){u=5;break e}if(l=r[21376+(i*28|0)+(l<<2)>>2]|0,(l|0)<0){u=5;break e}if(!l)i=59;else{d=o,i=0,f=r[d>>2]|0,d=r[d+4>>2]|0;do f=ir(f,d)|0,d=M()|0,ee=o,r[ee>>2]=f,r[ee+4>>2]=d,i=i+1|0;while((i|0)<(l|0));i=58}}else i=58;while(!1);if((i|0)==58&&p&&(i=59),(i|0)==59&&(ee=o,(GA(r[ee>>2]|0,r[ee+4>>2]|0)|0)==1)){u=9;break}ee=o,ne=r[ee>>2]|0,ee=r[ee+4>>2]&-1040385,Ae=ce(u|0,0,45)|0,ee=ee|(M()|0),u=o,r[u>>2]=ne|Ae,r[u+4>>2]=ee,u=0}else u=1;while(!1);return ee=u,P=F,ee|0}function Np(t,A,i,o,u,l){t=t|0,A=A|0,i=i|0,o=o|0,u=u|0,l=l|0;var f=0,d=0;return d=P,P=P+16|0,f=d,u?t=15:(t=xt(t,A,i,o,f)|0,t||(Vh(f,l),t=0)),P=d,t|0}function Rp(t,A,i,o,u){t=t|0,A=A|0,i=i|0,o=o|0,u=u|0;var l=0,f=0;return f=P,P=P+16|0,l=f,o?i=15:(i=zh(i,l)|0,i||(i=vu(t,A,l,u)|0)),P=f,i|0}function Ip(t,A,i,o,u){t=t|0,A=A|0,i=i|0,o=o|0,u=u|0;var l=0,f=0,d=0,p=0;return p=P,P=P+32|0,f=p+12|0,d=p,l=xt(t,A,t,A,f)|0,l|0?(d=l,P=p,d|0):(t=xt(t,A,i,o,d)|0,t|0?(d=t,P=p,d|0):(f=Co(f,d)|0,d=u,r[d>>2]=f,r[d+4>>2]=((f|0)<0)<<31>>31,d=0,P=p,d|0))}function Hp(t,A,i,o,u){t=t|0,A=A|0,i=i|0,o=o|0,u=u|0;var l=0,f=0,d=0,p=0;return p=P,P=P+32|0,f=p+12|0,d=p,l=xt(t,A,t,A,f)|0,!l&&(l=xt(t,A,i,o,d)|0,!l)?(o=Co(f,d)|0,o=xe(o|0,((o|0)<0)<<31>>31|0,1,0)|0,f=M()|0,d=u,r[d>>2]=o,r[d+4>>2]=f,d=0,P=p,d|0):(d=l,P=p,d|0)}function Qp(t,A,i,o,u){t=t|0,A=A|0,i=i|0,o=o|0,u=u|0;var l=0,f=0,d=0,p=0,y=0,E=0,O=0,R=0,I=0,H=0,F=0,Z=0,ne=0,Ae=0,ee=0,V=0,he=0,$e=0,_e=0,Re=0;if(_e=P,P=P+48|0,he=_e+24|0,f=_e+12|0,$e=_e,l=xt(t,A,t,A,he)|0,!l&&(l=xt(t,A,i,o,f)|0,!l)){ee=Co(he,f)|0,V=((ee|0)<0)<<31>>31,r[he>>2]=0,r[he+4>>2]=0,r[he+8>>2]=0,r[f>>2]=0,r[f+4>>2]=0,r[f+8>>2]=0,xt(t,A,t,A,he)|0&&Oe(27795,27538,692,27747),xt(t,A,i,o,f)|0&&Oe(27795,27538,697,27747),su(he),su(f),E=(ee|0)==0?0:1/+(ee|0),i=r[he>>2]|0,F=E*+((r[f>>2]|0)-i|0),Z=he+4|0,o=r[Z>>2]|0,ne=E*+((r[f+4>>2]|0)-o|0),Ae=he+8|0,l=r[Ae>>2]|0,E=E*+((r[f+8>>2]|0)-l|0),r[$e>>2]=i,O=$e+4|0,r[O>>2]=o,R=$e+8|0,r[R>>2]=l;e:do if((ee|0)<0)l=0;else for(I=0,H=0;;){p=+(H>>>0)+4294967296*+(I|0),Re=F*p+ +(i|0),d=ne*p+ +(o|0),p=E*p+ +(l|0),i=~~+hi(+Re),f=~~+hi(+d),l=~~+hi(+p),Re=+Xe(+(+(i|0)-Re)),d=+Xe(+(+(f|0)-d)),p=+Xe(+(+(l|0)-p));do if(Re>d&Re>p)i=0-(f+l)|0,o=f;else if(y=0-i|0,d>p){o=y-l|0;break}else{o=f,l=y-f|0;break}while(!1);if(r[$e>>2]=i,r[O>>2]=o,r[R>>2]=l,Kh($e),l=vu(t,A,$e,u+(H<<3)|0)|0,l|0)break e;if(!((I|0)<(V|0)|(I|0)==(V|0)&H>>>0<ee>>>0)){l=0;break e}i=xe(H|0,I|0,1,0)|0,o=M()|0,I=o,H=i,i=r[he>>2]|0,o=r[Z>>2]|0,l=r[Ae>>2]|0}while(!1);return $e=l,P=_e,$e|0}return $e=l,P=_e,$e|0}function Nt(t,A,i,o){t=t|0,A=A|0,i=i|0,o=o|0;var u=0,l=0,f=0;if((i|0)==0&(o|0)==0)return u=0,l=1,Ie(u|0),l|0;l=t,u=A,t=1,A=0;do f=(i&1|0)==0&!0,t=$A((f?1:l)|0,(f?0:u)|0,t|0,A|0)|0,A=M()|0,i=Ou(i|0,o|0,1)|0,o=M()|0,l=$A(l|0,u|0,l|0,u|0)|0,u=M()|0;while(!((i|0)==0&(o|0)==0));return Ie(A|0),t|0}function Fo(t,A,i,o){t=t|0,A=A|0,i=i|0,o=o|0;var u=0,l=0,f=0,d=0,p=0,y=0,E=0;d=P,P=P+16|0,l=d,f=ae(t|0,A|0,52)|0,M()|0,f=f&15;do if(f){if(u=or(t,A,l)|0,!u){y=+S[l>>3],p=1/+We(+y),E=+S[25968+(f<<3)>>3],S[i>>3]=y+E,S[i+8>>3]=y-E,y=+S[l+8>>3],p=E*p,S[i+16>>3]=p+y,S[i+24>>3]=y-p;break}return f=u,P=d,f|0}else{if(u=ae(t|0,A|0,45)|0,M()|0,u=u&127,u>>>0>121)return f=5,P=d,f|0;l=22064+(u<<5)|0,r[i>>2]=r[l>>2],r[i+4>>2]=r[l+4>>2],r[i+8>>2]=r[l+8>>2],r[i+12>>2]=r[l+12>>2],r[i+16>>2]=r[l+16>>2],r[i+20>>2]=r[l+20>>2],r[i+24>>2]=r[l+24>>2],r[i+28>>2]=r[l+28>>2];break}while(!1);return Qh(i,o?1.4:1.1),o=26096+(f<<3)|0,(r[o>>2]|0)==(t|0)&&(r[o+4>>2]|0)==(A|0)&&(S[i>>3]=1.5707963267948966),f=26224+(f<<3)|0,(r[f>>2]|0)==(t|0)&&(r[f+4>>2]|0)==(A|0)&&(S[i+8>>3]=-1.5707963267948966),+S[i>>3]!=1.5707963267948966&&+S[i+8>>3]!=-1.5707963267948966?(f=0,P=d,f|0):(S[i+16>>3]=3.141592653589793,S[i+24>>3]=-3.141592653589793,f=0,P=d,f|0)}function qp(t,A,i,o){t=t|0,A=A|0,i=i|0,o=o|0;var u=0,l=0,f=0,d=0,p=0,y=0,E=0;y=P,P=P+48|0,f=y+32|0,l=y+40|0,d=y,Mo(f,0,0,0),p=r[f>>2]|0,f=r[f+4>>2]|0;do if(i>>>0<=15){if(u=dn(o)|0,u|0){o=d,r[o>>2]=0,r[o+4>>2]=0,r[d+8>>2]=u,r[d+12>>2]=-1,o=d+16|0,p=d+29|0,r[o>>2]=0,r[o+4>>2]=0,r[o+8>>2]=0,se[o+12>>0]=0,se[p>>0]=se[l>>0]|0,se[p+1>>0]=se[l+1>>0]|0,se[p+2>>0]=se[l+2>>0]|0;break}if(u=FA((r[A+8>>2]|0)+1|0,32)|0,u){Vo(A,u),E=d,r[E>>2]=p,r[E+4>>2]=f,r[d+8>>2]=0,r[d+12>>2]=i,r[d+16>>2]=o,r[d+20>>2]=A,r[d+24>>2]=u,se[d+28>>0]=0,p=d+29|0,se[p>>0]=se[l>>0]|0,se[p+1>>0]=se[l+1>>0]|0,se[p+2>>0]=se[l+2>>0]|0;break}else{o=d,r[o>>2]=0,r[o+4>>2]=0,r[d+8>>2]=13,r[d+12>>2]=-1,o=d+16|0,p=d+29|0,r[o>>2]=0,r[o+4>>2]=0,r[o+8>>2]=0,se[o+12>>0]=0,se[p>>0]=se[l>>0]|0,se[p+1>>0]=se[l+1>>0]|0,se[p+2>>0]=se[l+2>>0]|0;break}}else p=d,r[p>>2]=0,r[p+4>>2]=0,r[d+8>>2]=4,r[d+12>>2]=-1,p=d+16|0,E=d+29|0,r[p>>2]=0,r[p+4>>2]=0,r[p+8>>2]=0,se[p+12>>0]=0,se[E>>0]=se[l>>0]|0,se[E+1>>0]=se[l+1>>0]|0,se[E+2>>0]=se[l+2>>0]|0;while(!1);fi(d),r[t>>2]=r[d>>2],r[t+4>>2]=r[d+4>>2],r[t+8>>2]=r[d+8>>2],r[t+12>>2]=r[d+12>>2],r[t+16>>2]=r[d+16>>2],r[t+20>>2]=r[d+20>>2],r[t+24>>2]=r[d+24>>2],r[t+28>>2]=r[d+28>>2],P=y}function fi(t){t=t|0;var A=0,i=0,o=0,u=0,l=0,f=0,d=0,p=0,y=0,E=0,O=0,R=0,I=0,H=0,F=0,Z=0,ne=0,Ae=0,ee=0,V=0;if(V=P,P=P+336|0,I=V+168|0,H=V,o=t,i=r[o>>2]|0,o=r[o+4>>2]|0,(i|0)==0&(o|0)==0){P=V;return}if(A=t+28|0,se[A>>0]|0?(i=bu(i,o)|0,o=M()|0):se[A>>0]=1,ee=t+20|0,!(r[r[ee>>2]>>2]|0)){A=t+24|0,i=r[A>>2]|0,i|0&&Be(i),Ae=t,r[Ae>>2]=0,r[Ae+4>>2]=0,r[t+8>>2]=0,r[ee>>2]=0,r[t+12>>2]=-1,r[t+16>>2]=0,r[A>>2]=0,P=V;return}Ae=t+16|0,A=r[Ae>>2]|0,u=A&15;e:do if((i|0)==0&(o|0)==0)ne=t+24|0;else{F=t+12|0,O=(u|0)==3,E=A&255,p=(u|1|0)==3,R=t+24|0,y=(u+-1|0)>>>0<3,f=(u|2|0)==3,d=H+8|0;A:for(;;){if(l=ae(i|0,o|0,52)|0,M()|0,l=l&15,(l|0)==(r[F>>2]|0)){switch(E&15){case 0:case 2:case 3:{if(u=or(i,o,I)|0,u|0){Z=15;break A}if(zo(r[ee>>2]|0,r[R>>2]|0,I)|0){Z=19;break A}break}default:}if(p&&(u=r[(r[ee>>2]|0)+4>>2]|0,r[I>>2]=r[u>>2],r[I+4>>2]=r[u+4>>2],r[I+8>>2]=r[u+8>>2],r[I+12>>2]=r[u+12>>2],Bo(26832,I)|0)){if(Ho(r[(r[ee>>2]|0)+4>>2]|0,l,H)|0){Z=25;break}if(u=H,(r[u>>2]|0)==(i|0)&&(r[u+4>>2]|0)==(o|0)){Z=29;break}}if(y){if(u=Br(i,o,I)|0,u|0){Z=32;break}if(Fo(i,o,H,0)|0){Z=36;break}if(f&&Eu(r[ee>>2]|0,r[R>>2]|0,I,H)|0){Z=42;break}if(p&&$u(r[ee>>2]|0,r[R>>2]|0,I,H)|0){Z=42;break}}if(O){if(A=Fo(i,o,I,1)|0,u=r[R>>2]|0,A|0){Z=45;break}if(Po(u,I)|0){if(Xa(H,I),Za(I,r[R>>2]|0)|0){Z=53;break}if(zo(r[ee>>2]|0,r[R>>2]|0,d)|0){Z=53;break}if($u(r[ee>>2]|0,r[R>>2]|0,H,I)|0){Z=53;break}}}}do if((l|0)<(r[F>>2]|0)){if(A=Fo(i,o,I,1)|0,u=r[R>>2]|0,A|0){Z=58;break A}if(!(Po(u,I)|0)){Z=73;break}if(Za(r[R>>2]|0,I)|0&&(Xa(H,I),Eu(r[ee>>2]|0,r[R>>2]|0,H,I)|0)){Z=65;break A}if(i=du(i,o,l+1|0,H)|0,i|0){Z=67;break A}o=H,i=r[o>>2]|0,o=r[o+4>>2]|0}else Z=73;while(!1);if((Z|0)==73&&(Z=0,i=bu(i,o)|0,o=M()|0),(i|0)==0&(o|0)==0){ne=R;break e}}switch(Z|0){case 15:{A=r[R>>2]|0,A|0&&Be(A),Z=t,r[Z>>2]=0,r[Z+4>>2]=0,r[ee>>2]=0,r[F>>2]=-1,r[Ae>>2]=0,r[R>>2]=0,r[t+8>>2]=u,Z=20;break}case 19:{r[t>>2]=i,r[t+4>>2]=o,Z=20;break}case 25:{Oe(27795,27761,470,27772);break}case 29:{r[t>>2]=i,r[t+4>>2]=o,P=V;return}case 32:{A=r[R>>2]|0,A|0&&Be(A),ne=t,r[ne>>2]=0,r[ne+4>>2]=0,r[ee>>2]=0,r[F>>2]=-1,r[Ae>>2]=0,r[R>>2]=0,r[t+8>>2]=u,P=V;return}case 36:{Oe(27795,27761,493,27772);break}case 42:{r[t>>2]=i,r[t+4>>2]=o,P=V;return}case 45:{u|0&&Be(u),Z=t,r[Z>>2]=0,r[Z+4>>2]=0,r[ee>>2]=0,r[F>>2]=-1,r[Ae>>2]=0,r[R>>2]=0,r[t+8>>2]=A,Z=55;break}case 53:{r[t>>2]=i,r[t+4>>2]=o,Z=55;break}case 58:{u|0&&Be(u),Z=t,r[Z>>2]=0,r[Z+4>>2]=0,r[ee>>2]=0,r[F>>2]=-1,r[Ae>>2]=0,r[R>>2]=0,r[t+8>>2]=A,Z=71;break}case 65:{r[t>>2]=i,r[t+4>>2]=o,Z=71;break}case 67:{A=r[R>>2]|0,A|0&&Be(A),ne=t,r[ne>>2]=0,r[ne+4>>2]=0,r[ee>>2]=0,r[F>>2]=-1,r[Ae>>2]=0,r[R>>2]=0,r[t+8>>2]=i,P=V;return}}if((Z|0)==20){P=V;return}else if((Z|0)==55){P=V;return}else if((Z|0)==71){P=V;return}}while(!1);A=r[ne>>2]|0,A|0&&Be(A),Z=t,r[Z>>2]=0,r[Z+4>>2]=0,r[t+8>>2]=0,r[ee>>2]=0,r[t+12>>2]=-1,r[Ae>>2]=0,r[ne>>2]=0,P=V}function bu(t,A){t=t|0,A=A|0;var i=0,o=0,u=0,l=0,f=0,d=0,p=0,y=0,E=0,O=0;O=P,P=P+16|0,E=O,o=ae(t|0,A|0,52)|0,M()|0,o=o&15,i=ae(t|0,A|0,45)|0,M()|0;do if(o){for(;i=ce(o+4095|0,0,52)|0,u=M()|0|A&-15728641,l=(15-o|0)*3|0,f=ce(7,0,l|0)|0,d=M()|0,i=i|t|f,u=u|d,p=ae(t|0,A|0,l|0)|0,M()|0,p=p&7,o=o+-1|0,!(p>>>0<6);)if(o)A=u,t=i;else{y=4;break}if((y|0)==4){i=ae(i|0,u|0,45)|0,M()|0;break}return E=(p|0)==0&(aA(i,u)|0)!=0,E=ce((E?2:1)+p|0,0,l|0)|0,y=M()|0|A&~d,E=E|t&~f,Ie(y|0),P=O,E|0}while(!1);return i=i&127,i>>>0>120?(y=0,E=0,Ie(y|0),P=O,E|0):(Mo(E,0,i+1|0,0),y=r[E+4>>2]|0,E=r[E>>2]|0,Ie(y|0),P=O,E|0)}function Lp(t,A,i,o,u,l){t=t|0,A=A|0,i=i|0,o=o|0,u=u|0,l=l|0;var f=0,d=0,p=0,y=0,E=0,O=0,R=0,I=0,H=0,F=0,Z=0;Z=P,P=P+160|0,O=Z+80|0,d=Z+64|0,R=Z+112|0,F=Z,qp(O,t,A,i),y=O,Lo(d,r[y>>2]|0,r[y+4>>2]|0,A),y=d,p=r[y>>2]|0,y=r[y+4>>2]|0,f=r[O+8>>2]|0,I=R+4|0,r[I>>2]=r[O>>2],r[I+4>>2]=r[O+4>>2],r[I+8>>2]=r[O+8>>2],r[I+12>>2]=r[O+12>>2],r[I+16>>2]=r[O+16>>2],r[I+20>>2]=r[O+20>>2],r[I+24>>2]=r[O+24>>2],r[I+28>>2]=r[O+28>>2],I=F,r[I>>2]=p,r[I+4>>2]=y,I=F+8|0,r[I>>2]=f,t=F+12|0,A=R,i=t+36|0;do r[t>>2]=r[A>>2],t=t+4|0,A=A+4|0;while((t|0)<(i|0));if(R=F+48|0,r[R>>2]=r[d>>2],r[R+4>>2]=r[d+4>>2],r[R+8>>2]=r[d+8>>2],r[R+12>>2]=r[d+12>>2],(p|0)==0&(y|0)==0)return F=f,P=Z,F|0;i=F+16|0,E=F+24|0,O=F+28|0,f=0,d=0,A=p,t=y;do{if(!((f|0)<(u|0)|(f|0)==(u|0)&d>>>0<o>>>0)){H=4;break}if(y=d,d=xe(d|0,f|0,1,0)|0,f=M()|0,y=l+(y<<3)|0,r[y>>2]=A,r[y+4>>2]=t,Uo(R),t=R,A=r[t>>2]|0,t=r[t+4>>2]|0,(A|0)==0&(t|0)==0){if(fi(i),A=i,t=r[A>>2]|0,A=r[A+4>>2]|0,(t|0)==0&(A|0)==0){H=10;break}pu(t,A,r[O>>2]|0,R),t=R,A=r[t>>2]|0,t=r[t+4>>2]|0}y=F,r[y>>2]=A,r[y+4>>2]=t}while(!((A|0)==0&(t|0)==0));return(H|0)==4?(t=F+40|0,A=r[t>>2]|0,A|0&&Be(A),H=F+16|0,r[H>>2]=0,r[H+4>>2]=0,r[E>>2]=0,r[F+36>>2]=0,r[O>>2]=-1,r[F+32>>2]=0,r[t>>2]=0,pu(0,0,0,R),r[F>>2]=0,r[F+4>>2]=0,r[I>>2]=0,F=14,P=Z,F|0):((H|0)==10&&(r[F>>2]=0,r[F+4>>2]=0,r[I>>2]=r[E>>2]),F=r[I>>2]|0,P=Z,F|0)}function Up(t,A,i,o){t=t|0,A=A|0,i=i|0,o=o|0;var u=0,l=0,f=0,d=0,p=0,y=0,E=0,O=0,R=0,I=0;if(O=P,P=P+48|0,p=O+32|0,d=O+40|0,y=O,!(r[t>>2]|0))return E=o,r[E>>2]=0,r[E+4>>2]=0,E=0,P=O,E|0;Mo(p,0,0,0),f=p,u=r[f>>2]|0,f=r[f+4>>2]|0;do if(A>>>0>15)E=y,r[E>>2]=0,r[E+4>>2]=0,r[y+8>>2]=4,r[y+12>>2]=-1,E=y+16|0,i=y+29|0,r[E>>2]=0,r[E+4>>2]=0,r[E+8>>2]=0,se[E+12>>0]=0,se[i>>0]=se[d>>0]|0,se[i+1>>0]=se[d+1>>0]|0,se[i+2>>0]=se[d+2>>0]|0,i=4,E=9;else{if(i=dn(i)|0,i|0){p=y,r[p>>2]=0,r[p+4>>2]=0,r[y+8>>2]=i,r[y+12>>2]=-1,p=y+16|0,E=y+29|0,r[p>>2]=0,r[p+4>>2]=0,r[p+8>>2]=0,se[p+12>>0]=0,se[E>>0]=se[d>>0]|0,se[E+1>>0]=se[d+1>>0]|0,se[E+2>>0]=se[d+2>>0]|0,E=9;break}if(i=FA((r[t+8>>2]|0)+1|0,32)|0,!i){E=y,r[E>>2]=0,r[E+4>>2]=0,r[y+8>>2]=13,r[y+12>>2]=-1,E=y+16|0,i=y+29|0,r[E>>2]=0,r[E+4>>2]=0,r[E+8>>2]=0,se[E+12>>0]=0,se[i>>0]=se[d>>0]|0,se[i+1>>0]=se[d+1>>0]|0,se[i+2>>0]=se[d+2>>0]|0,i=13,E=9;break}Vo(t,i),I=y,r[I>>2]=u,r[I+4>>2]=f,f=y+8|0,r[f>>2]=0,r[y+12>>2]=A,r[y+20>>2]=t,r[y+24>>2]=i,se[y+28>>0]=0,u=y+29|0,se[u>>0]=se[d>>0]|0,se[u+1>>0]=se[d+1>>0]|0,se[u+2>>0]=se[d+2>>0]|0,r[y+16>>2]=3,R=+Rh(i),R=R*+Nh(i),l=+Xe(+ +S[i>>3]),l=R/+We(+ +di(+l,+ +Xe(+ +S[i+8>>3])))*6371.007180918475*6371.007180918475,u=y+12|0,i=r[u>>2]|0;e:do if((i|0)>0)do{if(gu(i+-1|0,p)|0,!(l/+S[p>>3]>10))break e;I=r[u>>2]|0,i=I+-1|0,r[u>>2]=i}while((I|0)>1);while(!1);if(fi(y),u=o,r[u>>2]=0,r[u+4>>2]=0,u=y,i=r[u>>2]|0,u=r[u+4>>2]|0,!((i|0)==0&(u|0)==0))do un(i,u,A,p)|0,d=p,t=o,d=xe(r[t>>2]|0,r[t+4>>2]|0,r[d>>2]|0,r[d+4>>2]|0)|0,t=M()|0,I=o,r[I>>2]=d,r[I+4>>2]=t,fi(y),I=y,i=r[I>>2]|0,u=r[I+4>>2]|0;while(!((i|0)==0&(u|0)==0));i=r[f>>2]|0}while(!1);return I=i,P=O,I|0}function cn(t,A,i){t=t|0,A=A|0,i=i|0;var o=0,u=0,l=0,f=0,d=0,p=0,y=0,E=0,O=0,R=0;if(!(Bo(A,i)|0)||(A=Ja(A)|0,o=+S[i>>3],u=+S[i+8>>3],u=A&u<0?u+6.283185307179586:u,R=r[t>>2]|0,(R|0)<=0))return R=0,R|0;if(O=r[t+4>>2]|0,A){A=0,E=u,i=-1,t=0;e:for(;;){for(y=t;f=+S[O+(y<<4)>>3],u=+S[O+(y<<4)+8>>3],t=(i+2|0)%(R|0)|0,l=+S[O+(t<<4)>>3],d=+S[O+(t<<4)+8>>3],f>l?(p=f,f=d):(p=l,l=f,f=u,u=d),o=o==l|o==p?o+2220446049250313e-31:o,!!(o<l|o>p);)if(i=y+1|0,(i|0)>=(R|0)){i=22;break e}else t=y,y=i,i=t;if(d=f<0?f+6.283185307179586:f,f=u<0?u+6.283185307179586:u,E=d==E|f==E?E+-2220446049250313e-31:E,p=d+(f-d)*((o-l)/(p-l)),(p<0?p+6.283185307179586:p)>E&&(A=A^1),t=y+1|0,(t|0)>=(R|0)){i=22;break}else i=y}if((i|0)==22)return A|0}else{A=0,E=u,i=-1,t=0;e:for(;;){for(y=t;f=+S[O+(y<<4)>>3],u=+S[O+(y<<4)+8>>3],t=(i+2|0)%(R|0)|0,l=+S[O+(t<<4)>>3],d=+S[O+(t<<4)+8>>3],f>l?(p=f,f=d):(p=l,l=f,f=u,u=d),o=o==l|o==p?o+2220446049250313e-31:o,!!(o<l|o>p);)if(i=y+1|0,(i|0)>=(R|0)){i=22;break e}else t=y,y=i,i=t;if(E=f==E|u==E?E+-2220446049250313e-31:E,f+(u-f)*((o-l)/(p-l))>E&&(A=A^1),t=y+1|0,(t|0)>=(R|0)){i=22;break}else i=y}if((i|0)==22)return A|0}return 0}function _u(t,A){t=t|0,A=A|0;var i=0,o=0,u=0,l=0,f=0,d=0,p=0,y=0,E=0,O=0,R=0,I=0,H=0,F=0,Z=0,ne=0,Ae=0;if(H=r[t>>2]|0,!H){r[A>>2]=0,r[A+4>>2]=0,r[A+8>>2]=0,r[A+12>>2]=0,r[A+16>>2]=0,r[A+20>>2]=0,r[A+24>>2]=0,r[A+28>>2]=0;return}if(F=A+8|0,S[F>>3]=17976931348623157e292,Z=A+24|0,S[Z>>3]=17976931348623157e292,S[A>>3]=-17976931348623157e292,ne=A+16|0,S[ne>>3]=-17976931348623157e292,!((H|0)<=0)){for(R=r[t+4>>2]|0,y=17976931348623157e292,E=-17976931348623157e292,O=0,t=-1,l=17976931348623157e292,f=17976931348623157e292,p=-17976931348623157e292,o=-17976931348623157e292,I=0;i=+S[R+(I<<4)>>3],d=+S[R+(I<<4)+8>>3],t=t+2|0,u=+S[R+(((t|0)==(H|0)?0:t)<<4)+8>>3],i<l&&(S[F>>3]=i,l=i),d<f&&(S[Z>>3]=d,f=d),i>p?S[A>>3]=i:i=p,d>o&&(S[ne>>3]=d,o=d),y=d>0&d<y?d:y,E=d<0&d>E?d:E,O=O|+Xe(+(d-u))>3.141592653589793,t=I+1|0,(t|0)!=(H|0);)Ae=I,p=i,I=t,t=Ae;O&&(S[ne>>3]=E,S[Z>>3]=y)}}function dn(t){return t=t|0,(t>>>0<4?0:15)|0}function Vo(t,A){t=t|0,A=A|0;var i=0,o=0,u=0,l=0,f=0,d=0,p=0,y=0,E=0,O=0,R=0,I=0,H=0,F=0,Z=0,ne=0,Ae=0,ee=0,V=0,he=0,$e=0,_e=0;if(H=r[t>>2]|0,H){if(F=A+8|0,S[F>>3]=17976931348623157e292,Z=A+24|0,S[Z>>3]=17976931348623157e292,S[A>>3]=-17976931348623157e292,ne=A+16|0,S[ne>>3]=-17976931348623157e292,(H|0)>0){for(u=r[t+4>>2]|0,R=17976931348623157e292,I=-17976931348623157e292,o=0,i=-1,p=17976931348623157e292,y=17976931348623157e292,O=-17976931348623157e292,f=-17976931348623157e292,Ae=0;l=+S[u+(Ae<<4)>>3],E=+S[u+(Ae<<4)+8>>3],$e=i+2|0,d=+S[u+((($e|0)==(H|0)?0:$e)<<4)+8>>3],l<p&&(S[F>>3]=l,p=l),E<y&&(S[Z>>3]=E,y=E),l>O?S[A>>3]=l:l=O,E>f&&(S[ne>>3]=E,f=E),R=E>0&E<R?E:R,I=E<0&E>I?E:I,o=o|+Xe(+(E-d))>3.141592653589793,i=Ae+1|0,(i|0)!=(H|0);)$e=Ae,O=l,Ae=i,i=$e;o&&(S[ne>>3]=I,S[Z>>3]=R)}}else r[A>>2]=0,r[A+4>>2]=0,r[A+8>>2]=0,r[A+12>>2]=0,r[A+16>>2]=0,r[A+20>>2]=0,r[A+24>>2]=0,r[A+28>>2]=0;if($e=t+8|0,i=r[$e>>2]|0,!((i|0)<=0)){he=t+12|0,V=0;do if(u=r[he>>2]|0,o=V,V=V+1|0,Z=A+(V<<5)|0,ne=r[u+(o<<3)>>2]|0,ne){if(Ae=A+(V<<5)+8|0,S[Ae>>3]=17976931348623157e292,t=A+(V<<5)+24|0,S[t>>3]=17976931348623157e292,S[Z>>3]=-17976931348623157e292,ee=A+(V<<5)+16|0,S[ee>>3]=-17976931348623157e292,(ne|0)>0){for(H=r[u+(o<<3)+4>>2]|0,R=17976931348623157e292,I=-17976931348623157e292,u=0,o=-1,F=0,p=17976931348623157e292,y=17976931348623157e292,E=-17976931348623157e292,f=-17976931348623157e292;l=+S[H+(F<<4)>>3],O=+S[H+(F<<4)+8>>3],o=o+2|0,d=+S[H+(((o|0)==(ne|0)?0:o)<<4)+8>>3],l<p&&(S[Ae>>3]=l,p=l),O<y&&(S[t>>3]=O,y=O),l>E?S[Z>>3]=l:l=E,O>f&&(S[ee>>3]=O,f=O),R=O>0&O<R?O:R,I=O<0&O>I?O:I,u=u|+Xe(+(O-d))>3.141592653589793,o=F+1|0,(o|0)!=(ne|0);)_e=F,F=o,E=l,o=_e;u&&(S[ee>>3]=I,S[t>>3]=R)}}else r[Z>>2]=0,r[Z+4>>2]=0,r[Z+8>>2]=0,r[Z+12>>2]=0,r[Z+16>>2]=0,r[Z+20>>2]=0,r[Z+24>>2]=0,r[Z+28>>2]=0,i=r[$e>>2]|0;while((V|0)<(i|0))}}function zo(t,A,i){t=t|0,A=A|0,i=i|0;var o=0,u=0,l=0;if(!(cn(t,A,i)|0))return u=0,u|0;if(u=t+8|0,(r[u>>2]|0)<=0)return u=1,u|0;for(o=t+12|0,t=0;;){if(l=t,t=t+1|0,cn((r[o>>2]|0)+(l<<3)|0,A+(t<<5)|0,i)|0){t=0,o=6;break}if((t|0)>=(r[u>>2]|0)){t=1,o=6;break}}return(o|0)==6?t|0:0}function Eu(t,A,i,o){t=t|0,A=A|0,i=i|0,o=o|0;var u=0,l=0,f=0,d=0,p=0,y=0,E=0;if(y=P,P=P+16|0,d=y,f=i+8|0,!(cn(t,A,f)|0))return p=0,P=y,p|0;p=t+8|0;e:do if((r[p>>2]|0)>0){for(l=t+12|0,u=0;;){if(E=u,u=u+1|0,cn((r[l>>2]|0)+(E<<3)|0,A+(u<<5)|0,f)|0){u=0;break}if((u|0)>=(r[p>>2]|0))break e}return P=y,u|0}while(!1);if(ci(t,A,i,o)|0)return E=0,P=y,E|0;r[d>>2]=r[i>>2],r[d+4>>2]=f,u=r[p>>2]|0;e:do if((u|0)>0)for(t=t+12|0,f=0,l=u;;){if(u=r[t>>2]|0,(r[u+(f<<3)>>2]|0)>0){if(cn(d,o,r[u+(f<<3)+4>>2]|0)|0){u=0;break e}if(u=f+1|0,ci((r[t>>2]|0)+(f<<3)|0,A+(u<<5)|0,i,o)|0){u=0;break e}l=r[p>>2]|0}else u=f+1|0;if((u|0)<(l|0))f=u;else{u=1;break}}else u=1;while(!1);return E=u,P=y,E|0}function ci(t,A,i,o){t=t|0,A=A|0,i=i|0,o=o|0;var u=0,l=0,f=0,d=0,p=0,y=0,E=0,O=0,R=0,I=0,H=0,F=0,Z=0,ne=0,Ae=0,ee=0,V=0,he=0,$e=0,_e=0,Re=0;if($e=P,P=P+176|0,Ae=$e+172|0,u=$e+168|0,ee=$e,!(Po(A,o)|0))return t=0,P=$e,t|0;if(Ih(A,o,Ae,u),Tr(ee|0,i|0,168)|0,(r[i>>2]|0)>0){A=0;do _e=ee+8+(A<<4)+8|0,ne=+JA(+S[_e>>3],r[u>>2]|0),S[_e>>3]=ne,A=A+1|0;while((A|0)<(r[i>>2]|0))}F=+S[o>>3],Z=+S[o+8>>3],ne=+JA(+S[o+16>>3],r[u>>2]|0),I=+JA(+S[o+24>>3],r[u>>2]|0);e:do if((r[t>>2]|0)>0){if(o=t+4|0,u=r[ee>>2]|0,(u|0)<=0){for(A=0;;)if(A=A+1|0,(A|0)>=(r[t>>2]|0)){A=0;break e}}for(i=0;;){if(A=r[o>>2]|0,R=+S[A+(i<<4)>>3],H=+JA(+S[A+(i<<4)+8>>3],r[Ae>>2]|0),A=r[o>>2]|0,i=i+1|0,_e=(i|0)%(r[t>>2]|0)|0,l=+S[A+(_e<<4)>>3],f=+JA(+S[A+(_e<<4)+8>>3],r[Ae>>2]|0),!(R>=F)|!(l>=F)&&!(R<=Z)|!(l<=Z)&&!(H<=I)|!(f<=I)&&!(H>=ne)|!(f>=ne)){O=l-R,y=f-H,A=0;do if(Re=A,A=A+1|0,_e=(A|0)==(u|0)?0:A,l=+S[ee+8+(Re<<4)+8>>3],f=+S[ee+8+(_e<<4)+8>>3]-l,d=+S[ee+8+(Re<<4)>>3],p=+S[ee+8+(_e<<4)>>3]-d,E=O*f-y*p,E!=0&&(V=H-l,he=R-d,p=(V*p-f*he)/E,!(p<0|p>1))&&(E=(O*V-y*he)/E,E>=0&E<=1)){A=1;break e}while((A|0)<(u|0))}if((i|0)>=(r[t>>2]|0)){A=0;break}}}else A=0;while(!1);return Re=A,P=$e,Re|0}function $u(t,A,i,o){t=t|0,A=A|0,i=i|0,o=o|0;var u=0,l=0,f=0;if(ci(t,A,i,o)|0)return l=1,l|0;if(l=t+8|0,(r[l>>2]|0)<=0)return l=0,l|0;for(u=t+12|0,t=0;;){if(f=t,t=t+1|0,ci((r[u>>2]|0)+(f<<3)|0,A+(t<<5)|0,i,o)|0){t=1,u=6;break}if((t|0)>=(r[l>>2]|0)){t=0,u=6;break}}return(u|0)==6?t|0:0}function Gp(){return 8}function Fp(){return 16}function Vp(){return 168}function zp(){return 8}function Kp(){return 16}function Yp(){return 12}function Wp(){return 8}function Jp(t){return t=t|0,+(+((r[t>>2]|0)>>>0)+4294967296*+(r[t+4>>2]|0))}function Zp(t){t=t|0;var A=0,i=0;return i=+S[t>>3],A=+S[t+8>>3],+ +pA(+(i*i+A*A))}function ku(t,A,i,o,u){t=t|0,A=A|0,i=i|0,o=o|0,u=u|0;var l=0,f=0,d=0,p=0,y=0,E=0,O=0,R=0;y=+S[t>>3],p=+S[A>>3]-y,d=+S[t+8>>3],f=+S[A+8>>3]-d,O=+S[i>>3],l=+S[o>>3]-O,R=+S[i+8>>3],E=+S[o+8>>3]-R,l=(l*(d-R)-(y-O)*E)/(p*E-f*l),S[u>>3]=y+p*l,S[u+8>>3]=d+f*l}function xu(t,A){return t=t|0,A=A|0,+Xe(+(+S[t>>3]-+S[A>>3]))<11920928955078125e-23?(A=+Xe(+(+S[t+8>>3]-+S[A+8>>3]))<11920928955078125e-23,A|0):(A=0,A|0)}function yA(t,A){t=t|0,A=A|0;var i=0,o=0,u=0;return u=+S[t>>3]-+S[A>>3],o=+S[t+8>>3]-+S[A+8>>3],i=+S[t+16>>3]-+S[A+16>>3],+(u*u+o*o+i*i)}function Xp(t,A){t=t|0,A=A|0;var i=0,o=0,u=0;i=+S[t>>3],o=+We(+i),i=+AA(+i),S[A+16>>3]=i,i=+S[t+8>>3],u=o*+We(+i),S[A>>3]=u,i=o*+AA(+i),S[A+8>>3]=i}function e1(t,A,i){t=t|0,A=A|0,i=i|0;var o=0,u=0,l=0;if(l=P,P=P+16|0,u=l,o=aA(t,A)|0,(i+-1|0)>>>0>5||(o=(o|0)!=0,(i|0)==1&o))return u=-1,P=l,u|0;do if(hn(t,A,u)|0)o=-1;else if(o){o=((r[26352+(i<<2)>>2]|0)+5-(r[u>>2]|0)|0)%5|0;break}else{o=((r[26384+(i<<2)>>2]|0)+6-(r[u>>2]|0)|0)%6|0;break}while(!1);return u=o,P=l,u|0}function hn(t,A,i){t=t|0,A=A|0,i=i|0;var o=0,u=0,l=0,f=0,d=0,p=0,y=0,E=0;if(E=P,P=P+32|0,d=E+16|0,p=E,o=Sr(t,A,d)|0,o|0)return i=o,P=E,i|0;l=fu(t,A)|0,y=GA(t,A)|0,Th(l,p),o=Oh(l,r[d>>2]|0)|0;do if(cA(l)|0){do switch(l|0){case 4:{u=0;break}case 14:{u=1;break}case 24:{u=2;break}case 38:{u=3;break}case 49:{u=4;break}case 58:{u=5;break}case 63:{u=6;break}case 72:{u=7;break}case 83:{u=8;break}case 97:{u=9;break}case 107:{u=10;break}case 117:{u=11;break}default:Oe(27795,27797,75,27806)}while(!1);if(f=r[26416+(u*24|0)+8>>2]|0,A=r[26416+(u*24|0)+16>>2]|0,t=r[d>>2]|0,(t|0)!=(r[p>>2]|0)&&(p=ko(l)|0,t=r[d>>2]|0,p|(t|0)==(A|0)&&(o=(o+1|0)%6|0)),(y|0)==3&(t|0)==(A|0)){o=(o+5|0)%6|0;break}(y|0)==5&(t|0)==(f|0)&&(o=(o+1|0)%6|0)}while(!1);return r[i>>2]=o,i=0,P=E,i|0}function At(t,A,i,o){t=t|0,A=A|0,i=i|0,o=o|0;var u=0,l=0,f=0,d=0,p=0,y=0,E=0,O=0,R=0,I=0,H=0,F=0,Z=0,ne=0,Ae=0,ee=0;if(ee=P,P=P+32|0,Ae=ee+24|0,Z=ee+20|0,H=ee+8|0,I=ee+16|0,R=ee,p=(aA(t,A)|0)==0,p=p?6:5,E=ae(t|0,A|0,52)|0,M()|0,E=E&15,p>>>0<=i>>>0)return o=2,P=ee,o|0;O=(E|0)==0,!O&&(F=ce(7,0,(E^15)*3|0)|0,(F&t|0)==0&((M()|0)&A|0)==0)?u=i:l=4;e:do if((l|0)==4){if(u=(aA(t,A)|0)!=0,((u?4:5)|0)<(i|0)||hn(t,A,Ae)|0||(l=(r[Ae>>2]|0)+i|0,u?u=26704+(((l|0)%5|0)<<2)|0:u=26736+(((l|0)%6|0)<<2)|0,F=r[u>>2]|0,(F|0)==7))return o=1,P=ee,o|0;r[Z>>2]=0,u=_A(t,A,F,Z,H)|0;do if(!u){if(d=H,y=r[d>>2]|0,d=r[d+4>>2]|0,f=d>>>0<A>>>0|(d|0)==(A|0)&y>>>0<t>>>0,l=f?y:t,f=f?d:A,!O&&(O=ce(7,0,(E^15)*3|0)|0,(y&O|0)==0&(d&(M()|0)|0)==0))u=i;else{if(d=(i+-1+p|0)%(p|0)|0,u=aA(t,A)|0,(d|0)<0&&Oe(27795,27797,248,27822),p=(u|0)!=0,((p?4:5)|0)<(d|0)&&Oe(27795,27797,248,27822),hn(t,A,Ae)|0&&Oe(27795,27797,248,27822),u=(r[Ae>>2]|0)+d|0,p?u=26704+(((u|0)%5|0)<<2)|0:u=26736+(((u|0)%6|0)<<2)|0,d=r[u>>2]|0,(d|0)==7&&Oe(27795,27797,248,27822),r[I>>2]=0,u=_A(t,A,d,I,R)|0,u|0)break;y=R,p=r[y>>2]|0,y=r[y+4>>2]|0;do if(y>>>0<f>>>0|(y|0)==(f|0)&p>>>0<l>>>0){if(aA(p,y)|0?l=$o(p,y,t,A)|0:l=r[26800+((((r[I>>2]|0)+(r[26768+(d<<2)>>2]|0)|0)%6|0)<<2)>>2]|0,u=aA(p,y)|0,(l+-1|0)>>>0>5){u=-1,l=p,f=y;break}if(u=(u|0)!=0,(l|0)==1&u){u=-1,l=p,f=y;break}do if(hn(p,y,Ae)|0)u=-1;else if(u){u=((r[26352+(l<<2)>>2]|0)+5-(r[Ae>>2]|0)|0)%5|0;break}else{u=((r[26384+(l<<2)>>2]|0)+6-(r[Ae>>2]|0)|0)%6|0;break}while(!1);l=p,f=y}else u=i;while(!1);d=H,y=r[d>>2]|0,d=r[d+4>>2]|0}if((l|0)==(y|0)&(f|0)==(d|0)){if(p=(aA(y,d)|0)!=0,p?t=$o(y,d,t,A)|0:t=r[26800+((((r[Z>>2]|0)+(r[26768+(F<<2)>>2]|0)|0)%6|0)<<2)>>2]|0,u=aA(y,d)|0,(t+-1|0)>>>0<=5&&(ne=(u|0)!=0,!((t|0)==1&ne)))do if(hn(y,d,Ae)|0)u=-1;else if(ne){u=((r[26352+(t<<2)>>2]|0)+5-(r[Ae>>2]|0)|0)%5|0;break}else{u=((r[26384+(t<<2)>>2]|0)+6-(r[Ae>>2]|0)|0)%6|0;break}while(!1);else u=-1;u=u+1|0,u=(u|0)==6|p&(u|0)==5?0:u}A=f,t=l;break e}while(!1);return o=u,P=ee,o|0}while(!1);return ne=ce(u|0,0,56)|0,Ae=M()|0|A&-2130706433|536870912,r[o>>2]=ne|t,r[o+4>>2]=Ae,o=0,P=ee,o|0}function A1(t,A,i){t=t|0,A=A|0,i=i|0;var o=0,u=0,l=0;return l=(aA(t,A)|0)==0,o=At(t,A,0,i)|0,u=(o|0)==0,l?!u||(o=At(t,A,1,i+8|0)|0,o|0)||(o=At(t,A,2,i+16|0)|0,o|0)||(o=At(t,A,3,i+24|0)|0,o|0)||(o=At(t,A,4,i+32|0)|0,o)?(l=o,l|0):At(t,A,5,i+40|0)|0:!u||(o=At(t,A,1,i+8|0)|0,o|0)||(o=At(t,A,2,i+16|0)|0,o|0)||(o=At(t,A,3,i+24|0)|0,o|0)||(o=At(t,A,4,i+32|0)|0,o|0)?(l=o,l|0):(l=i+40|0,r[l>>2]=0,r[l+4>>2]=0,l=0,l|0)}function t1(t,A,i){t=t|0,A=A|0,i=i|0;var o=0,u=0,l=0,f=0,d=0,p=0;return p=P,P=P+192|0,u=p,l=p+168|0,f=ae(t|0,A|0,56)|0,M()|0,f=f&7,d=A&-2130706433|134217728,o=Sr(t,d,l)|0,o|0?(d=o,P=p,d|0):(A=ae(t|0,A|0,52)|0,M()|0,A=A&15,aA(t,d)|0?To(l,A,f,1,u):Oo(l,A,f,1,u),d=u+8|0,r[i>>2]=r[d>>2],r[i+4>>2]=r[d+4>>2],r[i+8>>2]=r[d+8>>2],r[i+12>>2]=r[d+12>>2],d=0,P=p,d|0)}function Su(t,A){t=t|0,A=A|0;var i=0,o=0,u=0,l=0;return u=P,P=P+16|0,i=u,!(!0&(A&2013265920|0)==536870912)||(o=A&-2130706433|134217728,!(jo(t,o)|0))?(o=0,P=u,o|0):(l=ae(t|0,A|0,56)|0,M()|0,l=(At(t,o,l&7,i)|0)==0,o=i,o=l&((r[o>>2]|0)==(t|0)?(r[o+4>>2]|0)==(A|0):0)&1,P=u,o|0)}function Bu(t,A,i){t=t|0,A=A|0,i=i|0;var o=0;(A|0)>0?(o=FA(A,4)|0,r[t>>2]=o,o||Oe(27835,27858,40,27872)):r[t>>2]=0,r[t+4>>2]=A,r[t+8>>2]=0,r[t+12>>2]=i}function Pu(t){t=t|0;var A=0,i=0,o=0,u=0,l=0,f=0,d=0;u=t+4|0,l=t+12|0,f=t+8|0;e:for(;;){for(i=r[u>>2]|0,A=0;;){if((A|0)>=(i|0))break e;if(o=r[t>>2]|0,d=r[o+(A<<2)>>2]|0,!d)A=A+1|0;else break}A=o+(~~(+Xe(+(+bA(10,+ +(15-(r[l>>2]|0)|0))*(+S[d>>3]+ +S[d+8>>3])))%+(i|0))>>>0<<2)|0,i=r[A>>2]|0;A:do if(i|0){if(o=d+32|0,(i|0)==(d|0))r[A>>2]=r[o>>2];else{if(i=i+32|0,A=r[i>>2]|0,!A)break;for(;(A|0)!=(d|0);)if(i=A+32|0,A=r[i>>2]|0,!A)break A;r[i>>2]=r[o>>2]}Be(d),r[f>>2]=(r[f>>2]|0)+-1}while(!1)}Be(r[t>>2]|0)}function Du(t){t=t|0;var A=0,i=0,o=0;for(o=r[t+4>>2]|0,i=0;;){if((i|0)>=(o|0)){A=0,i=4;break}if(A=r[(r[t>>2]|0)+(i<<2)>>2]|0,!A)i=i+1|0;else{i=4;break}}return(i|0)==4?A|0:0}function Cu(t,A){t=t|0,A=A|0;var i=0,o=0,u=0,l=0;if(i=~~(+Xe(+(+bA(10,+ +(15-(r[t+12>>2]|0)|0))*(+S[A>>3]+ +S[A+8>>3])))%+(r[t+4>>2]|0))>>>0,i=(r[t>>2]|0)+(i<<2)|0,o=r[i>>2]|0,!o)return l=1,l|0;l=A+32|0;do if((o|0)!=(A|0)){if(i=r[o+32>>2]|0,!i)return l=1,l|0;for(u=i;;){if((u|0)==(A|0)){u=8;break}if(i=r[u+32>>2]|0,i)o=u,u=i;else{i=1,u=10;break}}if((u|0)==8){r[o+32>>2]=r[l>>2];break}else if((u|0)==10)return i|0}else r[i>>2]=r[l>>2];while(!1);return Be(A),l=t+8|0,r[l>>2]=(r[l>>2]|0)+-1,l=0,l|0}function r1(t,A,i){t=t|0,A=A|0,i=i|0;var o=0,u=0,l=0,f=0;l=yt(40)|0,l||Oe(27888,27858,98,27901),r[l>>2]=r[A>>2],r[l+4>>2]=r[A+4>>2],r[l+8>>2]=r[A+8>>2],r[l+12>>2]=r[A+12>>2],u=l+16|0,r[u>>2]=r[i>>2],r[u+4>>2]=r[i+4>>2],r[u+8>>2]=r[i+8>>2],r[u+12>>2]=r[i+12>>2],r[l+32>>2]=0,u=~~(+Xe(+(+bA(10,+ +(15-(r[t+12>>2]|0)|0))*(+S[A>>3]+ +S[A+8>>3])))%+(r[t+4>>2]|0))>>>0,u=(r[t>>2]|0)+(u<<2)|0,o=r[u>>2]|0;do if(!o)r[u>>2]=l;else{for(;!(Pr(o,A)|0&&Pr(o+16|0,i)|0);)if(u=r[o+32>>2]|0,o=(u|0)==0?o:u,!(r[o+32>>2]|0)){f=10;break}if((f|0)==10){r[o+32>>2]=l;break}return Be(l),f=o,f|0}while(!1);return f=t+8|0,r[f>>2]=(r[f>>2]|0)+1,f=l,f|0}function n1(t,A,i){t=t|0,A=A|0,i=i|0;var o=0,u=0;if(u=~~(+Xe(+(+bA(10,+ +(15-(r[t+12>>2]|0)|0))*(+S[A>>3]+ +S[A+8>>3])))%+(r[t+4>>2]|0))>>>0,u=r[(r[t>>2]|0)+(u<<2)>>2]|0,!u)return i=0,i|0;if(!i){for(t=u;;){if(Pr(t,A)|0){o=10;break}if(t=r[t+32>>2]|0,!t){t=0,o=10;break}}if((o|0)==10)return t|0}for(t=u;;){if(Pr(t,A)|0&&Pr(t+16|0,i)|0){o=10;break}if(t=r[t+32>>2]|0,!t){t=0,o=10;break}}return(o|0)==10?t|0:0}function i1(t,A){t=t|0,A=A|0;var i=0;if(i=~~(+Xe(+(+bA(10,+ +(15-(r[t+12>>2]|0)|0))*(+S[A>>3]+ +S[A+8>>3])))%+(r[t+4>>2]|0))>>>0,t=r[(r[t>>2]|0)+(i<<2)>>2]|0,!t)return i=0,i|0;for(;;){if(Pr(t,A)|0){A=5;break}if(t=r[t+32>>2]|0,!t){t=0,A=5;break}}return(A|0)==5?t|0:0}function o1(){return 27920}function Rt(t){return t=+t,~~+Mu(+t)|0}function yt(t){t=t|0;var A=0,i=0,o=0,u=0,l=0,f=0,d=0,p=0,y=0,E=0,O=0,R=0,I=0,H=0,F=0,Z=0,ne=0,Ae=0,ee=0,V=0,he=0;he=P,P=P+16|0,R=he;do if(t>>>0<245){if(y=t>>>0<11?16:t+11&-8,t=y>>>3,O=r[6981]|0,i=O>>>t,i&3|0)return A=(i&1^1)+t|0,t=27964+(A<<1<<2)|0,i=t+8|0,o=r[i>>2]|0,u=o+8|0,l=r[u>>2]|0,(l|0)==(t|0)?r[6981]=O&~(1<<A):(r[l+12>>2]=t,r[i>>2]=l),V=A<<3,r[o+4>>2]=V|3,V=o+V+4|0,r[V>>2]=r[V>>2]|1,V=u,P=he,V|0;if(E=r[6983]|0,y>>>0>E>>>0){if(i|0)return A=2<<t,A=i<<t&(A|0-A),A=(A&0-A)+-1|0,d=A>>>12&16,A=A>>>d,i=A>>>5&8,A=A>>>i,l=A>>>2&4,A=A>>>l,t=A>>>1&2,A=A>>>t,o=A>>>1&1,o=(i|d|l|t|o)+(A>>>o)|0,A=27964+(o<<1<<2)|0,t=A+8|0,l=r[t>>2]|0,d=l+8|0,i=r[d>>2]|0,(i|0)==(A|0)?(t=O&~(1<<o),r[6981]=t):(r[i+12>>2]=A,r[t>>2]=i,t=O),V=o<<3,f=V-y|0,r[l+4>>2]=y|3,u=l+y|0,r[u+4>>2]=f|1,r[l+V>>2]=f,E|0&&(o=r[6986]|0,A=E>>>3,i=27964+(A<<1<<2)|0,A=1<<A,t&A?(t=i+8|0,A=r[t>>2]|0):(r[6981]=t|A,A=i,t=i+8|0),r[t>>2]=o,r[A+12>>2]=o,r[o+8>>2]=A,r[o+12>>2]=i),r[6983]=f,r[6986]=u,V=d,P=he,V|0;if(l=r[6982]|0,l){for(i=(l&0-l)+-1|0,u=i>>>12&16,i=i>>>u,o=i>>>5&8,i=i>>>o,f=i>>>2&4,i=i>>>f,d=i>>>1&2,i=i>>>d,p=i>>>1&1,p=r[28228+((o|u|f|d|p)+(i>>>p)<<2)>>2]|0,i=p,d=p,p=(r[p+4>>2]&-8)-y|0;t=r[i+16>>2]|0,!(!t&&(t=r[i+20>>2]|0,!t));)f=(r[t+4>>2]&-8)-y|0,u=f>>>0<p>>>0,i=t,d=u?t:d,p=u?f:p;if(f=d+y|0,f>>>0>d>>>0){u=r[d+24>>2]|0,A=r[d+12>>2]|0;do if((A|0)==(d|0)){if(t=d+20|0,A=r[t>>2]|0,!A&&(t=d+16|0,A=r[t>>2]|0,!A)){i=0;break}for(;;)if(o=A+20|0,i=r[o>>2]|0,i)A=i,t=o;else if(o=A+16|0,i=r[o>>2]|0,i)A=i,t=o;else break;r[t>>2]=0,i=A}else i=r[d+8>>2]|0,r[i+12>>2]=A,r[A+8>>2]=i,i=A;while(!1);do if(u|0){if(A=r[d+28>>2]|0,t=28228+(A<<2)|0,(d|0)==(r[t>>2]|0)){if(r[t>>2]=i,!i){r[6982]=l&~(1<<A);break}}else if(V=u+16|0,r[((r[V>>2]|0)==(d|0)?V:u+20|0)>>2]=i,!i)break;r[i+24>>2]=u,A=r[d+16>>2]|0,A|0&&(r[i+16>>2]=A,r[A+24>>2]=i),A=r[d+20>>2]|0,A|0&&(r[i+20>>2]=A,r[A+24>>2]=i)}while(!1);return p>>>0<16?(V=p+y|0,r[d+4>>2]=V|3,V=d+V+4|0,r[V>>2]=r[V>>2]|1):(r[d+4>>2]=y|3,r[f+4>>2]=p|1,r[f+p>>2]=p,E|0&&(o=r[6986]|0,A=E>>>3,i=27964+(A<<1<<2)|0,A=1<<A,A&O?(t=i+8|0,A=r[t>>2]|0):(r[6981]=A|O,A=i,t=i+8|0),r[t>>2]=o,r[A+12>>2]=o,r[o+8>>2]=A,r[o+12>>2]=i),r[6983]=p,r[6986]=f),V=d+8|0,P=he,V|0}else O=y}else O=y}else O=y}else if(t>>>0<=4294967231)if(t=t+11|0,y=t&-8,o=r[6982]|0,o){u=0-y|0,t=t>>>8,t?y>>>0>16777215?p=31:(O=(t+1048320|0)>>>16&8,F=t<<O,d=(F+520192|0)>>>16&4,F=F<<d,p=(F+245760|0)>>>16&2,p=14-(d|O|p)+(F<<p>>>15)|0,p=y>>>(p+7|0)&1|p<<1):p=0,i=r[28228+(p<<2)>>2]|0;e:do if(!i)i=0,t=0,F=61;else for(t=0,d=y<<((p|0)==31?0:25-(p>>>1)|0),l=0;;){if(f=(r[i+4>>2]&-8)-y|0,f>>>0<u>>>0)if(f)t=i,u=f;else{t=i,u=0,F=65;break e}if(F=r[i+20>>2]|0,i=r[i+16+(d>>>31<<2)>>2]|0,l=(F|0)==0|(F|0)==(i|0)?l:F,i)d=d<<1;else{i=l,F=61;break}}while(!1);if((F|0)==61){if((i|0)==0&(t|0)==0){if(t=2<<p,t=(t|0-t)&o,!t){O=y;break}O=(t&0-t)+-1|0,f=O>>>12&16,O=O>>>f,l=O>>>5&8,O=O>>>l,d=O>>>2&4,O=O>>>d,p=O>>>1&2,O=O>>>p,i=O>>>1&1,t=0,i=r[28228+((l|f|d|p|i)+(O>>>i)<<2)>>2]|0}i?F=65:(d=t,f=u)}if((F|0)==65)for(l=i;;)if(O=(r[l+4>>2]&-8)-y|0,i=O>>>0<u>>>0,u=i?O:u,t=i?l:t,i=r[l+16>>2]|0,i||(i=r[l+20>>2]|0),i)l=i;else{d=t,f=u;break}if((d|0)!=0&&f>>>0<((r[6983]|0)-y|0)>>>0&&(E=d+y|0,E>>>0>d>>>0)){l=r[d+24>>2]|0,A=r[d+12>>2]|0;do if((A|0)==(d|0)){if(t=d+20|0,A=r[t>>2]|0,!A&&(t=d+16|0,A=r[t>>2]|0,!A)){A=0;break}for(;;)if(u=A+20|0,i=r[u>>2]|0,i)A=i,t=u;else if(u=A+16|0,i=r[u>>2]|0,i)A=i,t=u;else break;r[t>>2]=0}else V=r[d+8>>2]|0,r[V+12>>2]=A,r[A+8>>2]=V;while(!1);do if(l){if(t=r[d+28>>2]|0,i=28228+(t<<2)|0,(d|0)==(r[i>>2]|0)){if(r[i>>2]=A,!A){o=o&~(1<<t),r[6982]=o;break}}else if(V=l+16|0,r[((r[V>>2]|0)==(d|0)?V:l+20|0)>>2]=A,!A)break;r[A+24>>2]=l,t=r[d+16>>2]|0,t|0&&(r[A+16>>2]=t,r[t+24>>2]=A),t=r[d+20>>2]|0,t&&(r[A+20>>2]=t,r[t+24>>2]=A)}while(!1);e:do if(f>>>0<16)V=f+y|0,r[d+4>>2]=V|3,V=d+V+4|0,r[V>>2]=r[V>>2]|1;else{if(r[d+4>>2]=y|3,r[E+4>>2]=f|1,r[E+f>>2]=f,A=f>>>3,f>>>0<256){i=27964+(A<<1<<2)|0,t=r[6981]|0,A=1<<A,t&A?(t=i+8|0,A=r[t>>2]|0):(r[6981]=t|A,A=i,t=i+8|0),r[t>>2]=E,r[A+12>>2]=E,r[E+8>>2]=A,r[E+12>>2]=i;break}if(A=f>>>8,A?f>>>0>16777215?i=31:(ee=(A+1048320|0)>>>16&8,V=A<<ee,Ae=(V+520192|0)>>>16&4,V=V<<Ae,i=(V+245760|0)>>>16&2,i=14-(Ae|ee|i)+(V<<i>>>15)|0,i=f>>>(i+7|0)&1|i<<1):i=0,A=28228+(i<<2)|0,r[E+28>>2]=i,t=E+16|0,r[t+4>>2]=0,r[t>>2]=0,t=1<<i,!(o&t)){r[6982]=o|t,r[A>>2]=E,r[E+24>>2]=A,r[E+12>>2]=E,r[E+8>>2]=E;break}A=r[A>>2]|0;A:do if((r[A+4>>2]&-8|0)!=(f|0)){for(o=f<<((i|0)==31?0:25-(i>>>1)|0);i=A+16+(o>>>31<<2)|0,t=r[i>>2]|0,!!t;)if((r[t+4>>2]&-8|0)==(f|0)){A=t;break A}else o=o<<1,A=t;r[i>>2]=E,r[E+24>>2]=A,r[E+12>>2]=E,r[E+8>>2]=E;break e}while(!1);ee=A+8|0,V=r[ee>>2]|0,r[V+12>>2]=E,r[ee>>2]=E,r[E+8>>2]=V,r[E+12>>2]=A,r[E+24>>2]=0}while(!1);return V=d+8|0,P=he,V|0}else O=y}else O=y;else O=-1;while(!1);if(i=r[6983]|0,i>>>0>=O>>>0)return A=i-O|0,t=r[6986]|0,A>>>0>15?(V=t+O|0,r[6986]=V,r[6983]=A,r[V+4>>2]=A|1,r[t+i>>2]=A,r[t+4>>2]=O|3):(r[6983]=0,r[6986]=0,r[t+4>>2]=i|3,V=t+i+4|0,r[V>>2]=r[V>>2]|1),V=t+8|0,P=he,V|0;if(f=r[6984]|0,f>>>0>O>>>0)return Ae=f-O|0,r[6984]=Ae,V=r[6987]|0,ee=V+O|0,r[6987]=ee,r[ee+4>>2]=Ae|1,r[V+4>>2]=O|3,V=V+8|0,P=he,V|0;if(r[7099]|0?t=r[7101]|0:(r[7101]=4096,r[7100]=4096,r[7102]=-1,r[7103]=-1,r[7104]=0,r[7092]=0,r[7099]=R&-16^1431655768,t=4096),d=O+48|0,p=O+47|0,l=t+p|0,u=0-t|0,y=l&u,y>>>0<=O>>>0||(t=r[7091]|0,t|0&&(E=r[7089]|0,R=E+y|0,R>>>0<=E>>>0|R>>>0>t>>>0)))return V=0,P=he,V|0;e:do if(r[7092]&4)A=0,F=143;else{i=r[6987]|0;A:do if(i){for(o=28372;R=r[o>>2]|0,!(R>>>0<=i>>>0&&(R+(r[o+4>>2]|0)|0)>>>0>i>>>0);)if(t=r[o+8>>2]|0,t)o=t;else{F=128;break A}if(A=l-f&u,A>>>0<2147483647)if(t=Qt(A|0)|0,(t|0)==((r[o>>2]|0)+(r[o+4>>2]|0)|0)){if((t|0)!=-1){f=A,l=t,F=145;break e}}else o=t,F=136;else A=0}else F=128;while(!1);do if((F|0)==128)if(i=Qt(0)|0,(i|0)!=-1&&(A=i,I=r[7100]|0,H=I+-1|0,A=((H&A|0)==0?0:(H+A&0-I)-A|0)+y|0,I=r[7089]|0,H=A+I|0,A>>>0>O>>>0&A>>>0<2147483647)){if(R=r[7091]|0,R|0&&H>>>0<=I>>>0|H>>>0>R>>>0){A=0;break}if(t=Qt(A|0)|0,(t|0)==(i|0)){f=A,l=i,F=145;break e}else o=t,F=136}else A=0;while(!1);do if((F|0)==136){if(i=0-A|0,!(d>>>0>A>>>0&(A>>>0<2147483647&(o|0)!=-1)))if((o|0)==-1){A=0;break}else{f=A,l=o,F=145;break e}if(t=r[7101]|0,t=p-A+t&0-t,t>>>0>=2147483647){f=A,l=o,F=145;break e}if((Qt(t|0)|0)==-1){Qt(i|0)|0,A=0;break}else{f=t+A|0,l=o,F=145;break e}}while(!1);r[7092]=r[7092]|4,F=143}while(!1);if((F|0)==143&&y>>>0<2147483647&&(Ae=Qt(y|0)|0,H=Qt(0)|0,Z=H-Ae|0,ne=Z>>>0>(O+40|0)>>>0,!((Ae|0)==-1|ne^1|Ae>>>0<H>>>0&((Ae|0)!=-1&(H|0)!=-1)^1))&&(f=ne?Z:A,l=Ae,F=145),(F|0)==145){A=(r[7089]|0)+f|0,r[7089]=A,A>>>0>(r[7090]|0)>>>0&&(r[7090]=A),p=r[6987]|0;e:do if(p){for(A=28372;;){if(t=r[A>>2]|0,i=r[A+4>>2]|0,(l|0)==(t+i|0)){F=154;break}if(o=r[A+8>>2]|0,o)A=o;else break}if((F|0)==154&&(ee=A+4|0,(r[A+12>>2]&8|0)==0)&&l>>>0>p>>>0&t>>>0<=p>>>0){r[ee>>2]=i+f,V=(r[6984]|0)+f|0,Ae=p+8|0,Ae=(Ae&7|0)==0?0:0-Ae&7,ee=p+Ae|0,Ae=V-Ae|0,r[6987]=ee,r[6984]=Ae,r[ee+4>>2]=Ae|1,r[p+V+4>>2]=40,r[6988]=r[7103];break}for(l>>>0<(r[6985]|0)>>>0&&(r[6985]=l),i=l+f|0,A=28372;;){if((r[A>>2]|0)==(i|0)){F=162;break}if(t=r[A+8>>2]|0,t)A=t;else break}if((F|0)==162&&(r[A+12>>2]&8|0)==0){r[A>>2]=l,E=A+4|0,r[E>>2]=(r[E>>2]|0)+f,E=l+8|0,E=l+((E&7|0)==0?0:0-E&7)|0,A=i+8|0,A=i+((A&7|0)==0?0:0-A&7)|0,y=E+O|0,d=A-E-O|0,r[E+4>>2]=O|3;A:do if((p|0)==(A|0))V=(r[6984]|0)+d|0,r[6984]=V,r[6987]=y,r[y+4>>2]=V|1;else{if((r[6986]|0)==(A|0)){V=(r[6983]|0)+d|0,r[6983]=V,r[6986]=y,r[y+4>>2]=V|1,r[y+V>>2]=V;break}if(t=r[A+4>>2]|0,(t&3|0)==1){f=t&-8,o=t>>>3;t:do if(t>>>0<256)if(t=r[A+8>>2]|0,i=r[A+12>>2]|0,(i|0)==(t|0)){r[6981]=r[6981]&~(1<<o);break}else{r[t+12>>2]=i,r[i+8>>2]=t;break}else{l=r[A+24>>2]|0,t=r[A+12>>2]|0;do if((t|0)==(A|0)){if(i=A+16|0,o=i+4|0,t=r[o>>2]|0,t)i=o;else if(t=r[i>>2]|0,!t){t=0;break}for(;;)if(u=t+20|0,o=r[u>>2]|0,o)t=o,i=u;else if(u=t+16|0,o=r[u>>2]|0,o)t=o,i=u;else break;r[i>>2]=0}else V=r[A+8>>2]|0,r[V+12>>2]=t,r[t+8>>2]=V;while(!1);if(!l)break;i=r[A+28>>2]|0,o=28228+(i<<2)|0;do if((r[o>>2]|0)!=(A|0)){if(V=l+16|0,r[((r[V>>2]|0)==(A|0)?V:l+20|0)>>2]=t,!t)break t}else{if(r[o>>2]=t,t|0)break;r[6982]=r[6982]&~(1<<i);break t}while(!1);if(r[t+24>>2]=l,i=A+16|0,o=r[i>>2]|0,o|0&&(r[t+16>>2]=o,r[o+24>>2]=t),i=r[i+4>>2]|0,!i)break;r[t+20>>2]=i,r[i+24>>2]=t}while(!1);A=A+f|0,u=f+d|0}else u=d;if(A=A+4|0,r[A>>2]=r[A>>2]&-2,r[y+4>>2]=u|1,r[y+u>>2]=u,A=u>>>3,u>>>0<256){i=27964+(A<<1<<2)|0,t=r[6981]|0,A=1<<A,t&A?(t=i+8|0,A=r[t>>2]|0):(r[6981]=t|A,A=i,t=i+8|0),r[t>>2]=y,r[A+12>>2]=y,r[y+8>>2]=A,r[y+12>>2]=i;break}A=u>>>8;do if(!A)o=0;else{if(u>>>0>16777215){o=31;break}ee=(A+1048320|0)>>>16&8,V=A<<ee,Ae=(V+520192|0)>>>16&4,V=V<<Ae,o=(V+245760|0)>>>16&2,o=14-(Ae|ee|o)+(V<<o>>>15)|0,o=u>>>(o+7|0)&1|o<<1}while(!1);if(A=28228+(o<<2)|0,r[y+28>>2]=o,t=y+16|0,r[t+4>>2]=0,r[t>>2]=0,t=r[6982]|0,i=1<<o,!(t&i)){r[6982]=t|i,r[A>>2]=y,r[y+24>>2]=A,r[y+12>>2]=y,r[y+8>>2]=y;break}A=r[A>>2]|0;t:do if((r[A+4>>2]&-8|0)!=(u|0)){for(o=u<<((o|0)==31?0:25-(o>>>1)|0);i=A+16+(o>>>31<<2)|0,t=r[i>>2]|0,!!t;)if((r[t+4>>2]&-8|0)==(u|0)){A=t;break t}else o=o<<1,A=t;r[i>>2]=y,r[y+24>>2]=A,r[y+12>>2]=y,r[y+8>>2]=y;break A}while(!1);ee=A+8|0,V=r[ee>>2]|0,r[V+12>>2]=y,r[ee>>2]=y,r[y+8>>2]=V,r[y+12>>2]=A,r[y+24>>2]=0}while(!1);return V=E+8|0,P=he,V|0}for(A=28372;t=r[A>>2]|0,!(t>>>0<=p>>>0&&(V=t+(r[A+4>>2]|0)|0,V>>>0>p>>>0));)A=r[A+8>>2]|0;u=V+-47|0,t=u+8|0,t=u+((t&7|0)==0?0:0-t&7)|0,u=p+16|0,t=t>>>0<u>>>0?p:t,A=t+8|0,i=f+-40|0,Ae=l+8|0,Ae=(Ae&7|0)==0?0:0-Ae&7,ee=l+Ae|0,Ae=i-Ae|0,r[6987]=ee,r[6984]=Ae,r[ee+4>>2]=Ae|1,r[l+i+4>>2]=40,r[6988]=r[7103],i=t+4|0,r[i>>2]=27,r[A>>2]=r[7093],r[A+4>>2]=r[7094],r[A+8>>2]=r[7095],r[A+12>>2]=r[7096],r[7093]=l,r[7094]=f,r[7096]=0,r[7095]=A,A=t+24|0;do ee=A,A=A+4|0,r[A>>2]=7;while((ee+8|0)>>>0<V>>>0);if((t|0)!=(p|0)){if(l=t-p|0,r[i>>2]=r[i>>2]&-2,r[p+4>>2]=l|1,r[t>>2]=l,A=l>>>3,l>>>0<256){i=27964+(A<<1<<2)|0,t=r[6981]|0,A=1<<A,t&A?(t=i+8|0,A=r[t>>2]|0):(r[6981]=t|A,A=i,t=i+8|0),r[t>>2]=p,r[A+12>>2]=p,r[p+8>>2]=A,r[p+12>>2]=i;break}if(A=l>>>8,A?l>>>0>16777215?o=31:(ee=(A+1048320|0)>>>16&8,V=A<<ee,Ae=(V+520192|0)>>>16&4,V=V<<Ae,o=(V+245760|0)>>>16&2,o=14-(Ae|ee|o)+(V<<o>>>15)|0,o=l>>>(o+7|0)&1|o<<1):o=0,i=28228+(o<<2)|0,r[p+28>>2]=o,r[p+20>>2]=0,r[u>>2]=0,A=r[6982]|0,t=1<<o,!(A&t)){r[6982]=A|t,r[i>>2]=p,r[p+24>>2]=i,r[p+12>>2]=p,r[p+8>>2]=p;break}A=r[i>>2]|0;A:do if((r[A+4>>2]&-8|0)!=(l|0)){for(o=l<<((o|0)==31?0:25-(o>>>1)|0);i=A+16+(o>>>31<<2)|0,t=r[i>>2]|0,!!t;)if((r[t+4>>2]&-8|0)==(l|0)){A=t;break A}else o=o<<1,A=t;r[i>>2]=p,r[p+24>>2]=A,r[p+12>>2]=p,r[p+8>>2]=p;break e}while(!1);ee=A+8|0,V=r[ee>>2]|0,r[V+12>>2]=p,r[ee>>2]=p,r[p+8>>2]=V,r[p+12>>2]=A,r[p+24>>2]=0}}else V=r[6985]|0,(V|0)==0|l>>>0<V>>>0&&(r[6985]=l),r[7093]=l,r[7094]=f,r[7096]=0,r[6990]=r[7099],r[6989]=-1,r[6994]=27964,r[6993]=27964,r[6996]=27972,r[6995]=27972,r[6998]=27980,r[6997]=27980,r[7e3]=27988,r[6999]=27988,r[7002]=27996,r[7001]=27996,r[7004]=28004,r[7003]=28004,r[7006]=28012,r[7005]=28012,r[7008]=28020,r[7007]=28020,r[7010]=28028,r[7009]=28028,r[7012]=28036,r[7011]=28036,r[7014]=28044,r[7013]=28044,r[7016]=28052,r[7015]=28052,r[7018]=28060,r[7017]=28060,r[7020]=28068,r[7019]=28068,r[7022]=28076,r[7021]=28076,r[7024]=28084,r[7023]=28084,r[7026]=28092,r[7025]=28092,r[7028]=28100,r[7027]=28100,r[7030]=28108,r[7029]=28108,r[7032]=28116,r[7031]=28116,r[7034]=28124,r[7033]=28124,r[7036]=28132,r[7035]=28132,r[7038]=28140,r[7037]=28140,r[7040]=28148,r[7039]=28148,r[7042]=28156,r[7041]=28156,r[7044]=28164,r[7043]=28164,r[7046]=28172,r[7045]=28172,r[7048]=28180,r[7047]=28180,r[7050]=28188,r[7049]=28188,r[7052]=28196,r[7051]=28196,r[7054]=28204,r[7053]=28204,r[7056]=28212,r[7055]=28212,V=f+-40|0,Ae=l+8|0,Ae=(Ae&7|0)==0?0:0-Ae&7,ee=l+Ae|0,Ae=V-Ae|0,r[6987]=ee,r[6984]=Ae,r[ee+4>>2]=Ae|1,r[l+V+4>>2]=40,r[6988]=r[7103];while(!1);if(A=r[6984]|0,A>>>0>O>>>0)return Ae=A-O|0,r[6984]=Ae,V=r[6987]|0,ee=V+O|0,r[6987]=ee,r[ee+4>>2]=Ae|1,r[V+4>>2]=O|3,V=V+8|0,P=he,V|0}return V=o1()|0,r[V>>2]=12,V=0,P=he,V|0}function Be(t){t=t|0;var A=0,i=0,o=0,u=0,l=0,f=0,d=0,p=0;if(t){i=t+-8|0,u=r[6985]|0,t=r[t+-4>>2]|0,A=t&-8,p=i+A|0;do if(t&1)d=i,f=i;else{if(o=r[i>>2]|0,!(t&3)||(f=i+(0-o)|0,l=o+A|0,f>>>0<u>>>0))return;if((r[6986]|0)==(f|0)){if(t=p+4|0,A=r[t>>2]|0,(A&3|0)!=3){d=f,A=l;break}r[6983]=l,r[t>>2]=A&-2,r[f+4>>2]=l|1,r[f+l>>2]=l;return}if(i=o>>>3,o>>>0<256)if(t=r[f+8>>2]|0,A=r[f+12>>2]|0,(A|0)==(t|0)){r[6981]=r[6981]&~(1<<i),d=f,A=l;break}else{r[t+12>>2]=A,r[A+8>>2]=t,d=f,A=l;break}u=r[f+24>>2]|0,t=r[f+12>>2]|0;do if((t|0)==(f|0)){if(A=f+16|0,i=A+4|0,t=r[i>>2]|0,t)A=i;else if(t=r[A>>2]|0,!t){t=0;break}for(;;)if(o=t+20|0,i=r[o>>2]|0,i)t=i,A=o;else if(o=t+16|0,i=r[o>>2]|0,i)t=i,A=o;else break;r[A>>2]=0}else d=r[f+8>>2]|0,r[d+12>>2]=t,r[t+8>>2]=d;while(!1);if(u){if(A=r[f+28>>2]|0,i=28228+(A<<2)|0,(r[i>>2]|0)==(f|0)){if(r[i>>2]=t,!t){r[6982]=r[6982]&~(1<<A),d=f,A=l;break}}else if(d=u+16|0,r[((r[d>>2]|0)==(f|0)?d:u+20|0)>>2]=t,!t){d=f,A=l;break}r[t+24>>2]=u,A=f+16|0,i=r[A>>2]|0,i|0&&(r[t+16>>2]=i,r[i+24>>2]=t),A=r[A+4>>2]|0,A?(r[t+20>>2]=A,r[A+24>>2]=t,d=f,A=l):(d=f,A=l)}else d=f,A=l}while(!1);if(!(f>>>0>=p>>>0)&&(t=p+4|0,o=r[t>>2]|0,!!(o&1))){if(o&2)r[t>>2]=o&-2,r[d+4>>2]=A|1,r[f+A>>2]=A,u=A;else{if((r[6987]|0)==(p|0)){if(p=(r[6984]|0)+A|0,r[6984]=p,r[6987]=d,r[d+4>>2]=p|1,(d|0)!=(r[6986]|0))return;r[6986]=0,r[6983]=0;return}if((r[6986]|0)==(p|0)){p=(r[6983]|0)+A|0,r[6983]=p,r[6986]=f,r[d+4>>2]=p|1,r[f+p>>2]=p;return}u=(o&-8)+A|0,i=o>>>3;do if(o>>>0<256)if(A=r[p+8>>2]|0,t=r[p+12>>2]|0,(t|0)==(A|0)){r[6981]=r[6981]&~(1<<i);break}else{r[A+12>>2]=t,r[t+8>>2]=A;break}else{l=r[p+24>>2]|0,t=r[p+12>>2]|0;do if((t|0)==(p|0)){if(A=p+16|0,i=A+4|0,t=r[i>>2]|0,t)A=i;else if(t=r[A>>2]|0,!t){i=0;break}for(;;)if(o=t+20|0,i=r[o>>2]|0,i)t=i,A=o;else if(o=t+16|0,i=r[o>>2]|0,i)t=i,A=o;else break;r[A>>2]=0,i=t}else i=r[p+8>>2]|0,r[i+12>>2]=t,r[t+8>>2]=i,i=t;while(!1);if(l|0){if(t=r[p+28>>2]|0,A=28228+(t<<2)|0,(r[A>>2]|0)==(p|0)){if(r[A>>2]=i,!i){r[6982]=r[6982]&~(1<<t);break}}else if(o=l+16|0,r[((r[o>>2]|0)==(p|0)?o:l+20|0)>>2]=i,!i)break;r[i+24>>2]=l,t=p+16|0,A=r[t>>2]|0,A|0&&(r[i+16>>2]=A,r[A+24>>2]=i),t=r[t+4>>2]|0,t|0&&(r[i+20>>2]=t,r[t+24>>2]=i)}}while(!1);if(r[d+4>>2]=u|1,r[f+u>>2]=u,(d|0)==(r[6986]|0)){r[6983]=u;return}}if(t=u>>>3,u>>>0<256){i=27964+(t<<1<<2)|0,A=r[6981]|0,t=1<<t,A&t?(A=i+8|0,t=r[A>>2]|0):(r[6981]=A|t,t=i,A=i+8|0),r[A>>2]=d,r[t+12>>2]=d,r[d+8>>2]=t,r[d+12>>2]=i;return}t=u>>>8,t?u>>>0>16777215?o=31:(f=(t+1048320|0)>>>16&8,p=t<<f,l=(p+520192|0)>>>16&4,p=p<<l,o=(p+245760|0)>>>16&2,o=14-(l|f|o)+(p<<o>>>15)|0,o=u>>>(o+7|0)&1|o<<1):o=0,t=28228+(o<<2)|0,r[d+28>>2]=o,r[d+20>>2]=0,r[d+16>>2]=0,A=r[6982]|0,i=1<<o;e:do if(!(A&i))r[6982]=A|i,r[t>>2]=d,r[d+24>>2]=t,r[d+12>>2]=d,r[d+8>>2]=d;else{t=r[t>>2]|0;A:do if((r[t+4>>2]&-8|0)!=(u|0)){for(o=u<<((o|0)==31?0:25-(o>>>1)|0);i=t+16+(o>>>31<<2)|0,A=r[i>>2]|0,!!A;)if((r[A+4>>2]&-8|0)==(u|0)){t=A;break A}else o=o<<1,t=A;r[i>>2]=d,r[d+24>>2]=t,r[d+12>>2]=d,r[d+8>>2]=d;break e}while(!1);f=t+8|0,p=r[f>>2]|0,r[p+12>>2]=d,r[f>>2]=d,r[d+8>>2]=p,r[d+12>>2]=t,r[d+24>>2]=0}while(!1);if(p=(r[6989]|0)+-1|0,r[6989]=p,!(p|0)){for(t=28380;t=r[t>>2]|0,t;)t=t+8|0;r[6989]=-1}}}}function FA(t,A){t=t|0,A=A|0;var i=0;return t?(i=gt(A,t)|0,(A|t)>>>0>65535&&(i=((i>>>0)/(t>>>0)|0|0)==(A|0)?i:-1)):i=0,t=yt(i)|0,!t||!(r[t+-4>>2]&3)||Ht(t|0,0,i|0)|0,t|0}function xe(t,A,i,o){return t=t|0,A=A|0,i=i|0,o=o|0,i=t+i>>>0,Ie(A+o+(i>>>0<t>>>0|0)>>>0|0),i|0|0}function EA(t,A,i,o){return t=t|0,A=A|0,i=i|0,o=o|0,o=A-o-(i>>>0>t>>>0|0)>>>0,Ie(o|0),t-i>>>0|0|0}function Tu(t){return t=t|0,(t?31-(kt(t^t-1)|0)|0:32)|0}function Ko(t,A,i,o,u){t=t|0,A=A|0,i=i|0,o=o|0,u=u|0;var l=0,f=0,d=0,p=0,y=0,E=0,O=0,R=0,I=0,H=0;if(E=t,p=A,y=p,f=i,R=o,d=R,!y)return l=(u|0)!=0,d?l?(r[u>>2]=t|0,r[u+4>>2]=A&0,R=0,u=0,Ie(R|0),u|0):(R=0,u=0,Ie(R|0),u|0):(l&&(r[u>>2]=(E>>>0)%(f>>>0),r[u+4>>2]=0),R=0,u=(E>>>0)/(f>>>0)>>>0,Ie(R|0),u|0);l=(d|0)==0;do if(f){if(!l){if(l=(kt(d|0)|0)-(kt(y|0)|0)|0,l>>>0<=31){O=l+1|0,d=31-l|0,A=l-31>>31,f=O,t=E>>>(O>>>0)&A|y<<d,A=y>>>(O>>>0)&A,l=0,d=E<<d;break}return u?(r[u>>2]=t|0,r[u+4>>2]=p|A&0,R=0,u=0,Ie(R|0),u|0):(R=0,u=0,Ie(R|0),u|0)}if(l=f-1|0,l&f|0){d=(kt(f|0)|0)+33-(kt(y|0)|0)|0,H=64-d|0,O=32-d|0,p=O>>31,I=d-32|0,A=I>>31,f=d,t=O-1>>31&y>>>(I>>>0)|(y<<O|E>>>(d>>>0))&A,A=A&y>>>(d>>>0),l=E<<H&p,d=(y<<H|E>>>(I>>>0))&p|E<<O&d-33>>31;break}return u|0&&(r[u>>2]=l&E,r[u+4>>2]=0),(f|0)==1?(I=p|A&0,H=t|0|0,Ie(I|0),H|0):(H=Tu(f|0)|0,I=y>>>(H>>>0)|0,H=y<<32-H|E>>>(H>>>0)|0,Ie(I|0),H|0)}else{if(l)return u|0&&(r[u>>2]=(y>>>0)%(f>>>0),r[u+4>>2]=0),I=0,H=(y>>>0)/(f>>>0)>>>0,Ie(I|0),H|0;if(!E)return u|0&&(r[u>>2]=0,r[u+4>>2]=(y>>>0)%(d>>>0)),I=0,H=(y>>>0)/(d>>>0)>>>0,Ie(I|0),H|0;if(l=d-1|0,!(l&d))return u|0&&(r[u>>2]=t|0,r[u+4>>2]=l&y|A&0),I=0,H=y>>>((Tu(d|0)|0)>>>0),Ie(I|0),H|0;if(l=(kt(d|0)|0)-(kt(y|0)|0)|0,l>>>0<=30){A=l+1|0,d=31-l|0,f=A,t=y<<d|E>>>(A>>>0),A=y>>>(A>>>0),l=0,d=E<<d;break}return u?(r[u>>2]=t|0,r[u+4>>2]=p|A&0,I=0,H=0,Ie(I|0),H|0):(I=0,H=0,Ie(I|0),H|0)}while(!1);if(!f)y=d,p=0,d=0;else{O=i|0|0,E=R|o&0,y=xe(O|0,E|0,-1,-1)|0,i=M()|0,p=d,d=0;do o=p,p=l>>>31|p<<1,l=d|l<<1,o=t<<1|o>>>31|0,R=t>>>31|A<<1|0,EA(y|0,i|0,o|0,R|0)|0,H=M()|0,I=H>>31|((H|0)<0?-1:0)<<1,d=I&1,t=EA(o|0,R|0,I&O|0,(((H|0)<0?-1:0)>>31|((H|0)<0?-1:0)<<1)&E|0)|0,A=M()|0,f=f-1|0;while((f|0)!=0);y=p,p=0}return f=0,u|0&&(r[u>>2]=t,r[u+4>>2]=A),I=(l|0)>>>31|(y|f)<<1|(f<<1|l>>>31)&0|p,H=(l<<1|0)&-2|d,Ie(I|0),H|0}function It(t,A,i,o){t=t|0,A=A|0,i=i|0,o=o|0;var u=0,l=0,f=0,d=0,p=0,y=0;return y=A>>31|((A|0)<0?-1:0)<<1,p=((A|0)<0?-1:0)>>31|((A|0)<0?-1:0)<<1,l=o>>31|((o|0)<0?-1:0)<<1,u=((o|0)<0?-1:0)>>31|((o|0)<0?-1:0)<<1,d=EA(y^t|0,p^A|0,y|0,p|0)|0,f=M()|0,t=l^y,A=u^p,EA((Ko(d,f,EA(l^i|0,u^o|0,l|0,u|0)|0,M()|0,0)|0)^t|0,(M()|0)^A|0,t|0,A|0)|0}function s1(t,A){t=t|0,A=A|0;var i=0,o=0,u=0,l=0;return l=t&65535,u=A&65535,i=gt(u,l)|0,o=t>>>16,t=(i>>>16)+(gt(u,o)|0)|0,u=A>>>16,A=gt(u,l)|0,Ie((t>>>16)+(gt(u,o)|0)+(((t&65535)+A|0)>>>16)|0),t+A<<16|i&65535|0|0}function $A(t,A,i,o){t=t|0,A=A|0,i=i|0,o=o|0;var u=0,l=0;return u=t,l=i,i=s1(u,l)|0,t=M()|0,Ie((gt(A,l)|0)+(gt(o,u)|0)+t|t&0|0),i|0|0|0}function Dr(t,A,i,o){t=t|0,A=A|0,i=i|0,o=o|0;var u=0,l=0,f=0,d=0,p=0,y=0;return u=P,P=P+16|0,d=u|0,f=A>>31|((A|0)<0?-1:0)<<1,l=((A|0)<0?-1:0)>>31|((A|0)<0?-1:0)<<1,y=o>>31|((o|0)<0?-1:0)<<1,p=((o|0)<0?-1:0)>>31|((o|0)<0?-1:0)<<1,t=EA(f^t|0,l^A|0,f|0,l|0)|0,A=M()|0,Ko(t,A,EA(y^i|0,p^o|0,y|0,p|0)|0,M()|0,d)|0,o=EA(r[d>>2]^f|0,r[d+4>>2]^l|0,f|0,l|0)|0,i=M()|0,P=u,Ie(i|0),o|0}function Cr(t,A,i,o){t=t|0,A=A|0,i=i|0,o=o|0;var u=0,l=0;return l=P,P=P+16|0,u=l|0,Ko(t,A,i,o,u)|0,P=l,Ie(r[u+4>>2]|0),r[u>>2]|0|0}function Ou(t,A,i){return t=t|0,A=A|0,i=i|0,(i|0)<32?(Ie(A>>i|0),t>>>i|(A&(1<<i)-1)<<32-i):(Ie(((A|0)<0?-1:0)|0),A>>i-32|0)}function ae(t,A,i){return t=t|0,A=A|0,i=i|0,(i|0)<32?(Ie(A>>>i|0),t>>>i|(A&(1<<i)-1)<<32-i):(Ie(0),A>>>i-32|0)}function ce(t,A,i){return t=t|0,A=A|0,i=i|0,(i|0)<32?(Ie(A<<i|(t&(1<<i)-1<<32-i)>>>32-i|0),t<<i):(Ie(t<<i-32|0),0)}function Yo(t,A,i){return t=t|0,A=A|0,i=i|0,A=kt(A)|0,(A|0)==32&&(A=A+(kt(t)|0)|0),Ie(0),A|0}function ju(t,A){return t=+t,A=+A,t!=t?+A:A!=A?+t:+hh(+t,+A)}function di(t,A){return t=+t,A=+A,t!=t?+A:A!=A?+t:+Eo(+t,+A)}function hi(t){return t=+t,t>=0?+vA(t+.5):+kr(t-.5)}function Tr(t,A,i){t=t|0,A=A|0,i=i|0;var o=0,u=0,l=0;if((i|0)>=8192)return gh(t|0,A|0,i|0)|0,t|0;if(l=t|0,u=t+i|0,(t&3)==(A&3)){for(;t&3;){if(!i)return l|0;se[t>>0]=se[A>>0]|0,t=t+1|0,A=A+1|0,i=i-1|0}for(i=u&-4|0,o=i-64|0;(t|0)<=(o|0);)r[t>>2]=r[A>>2],r[t+4>>2]=r[A+4>>2],r[t+8>>2]=r[A+8>>2],r[t+12>>2]=r[A+12>>2],r[t+16>>2]=r[A+16>>2],r[t+20>>2]=r[A+20>>2],r[t+24>>2]=r[A+24>>2],r[t+28>>2]=r[A+28>>2],r[t+32>>2]=r[A+32>>2],r[t+36>>2]=r[A+36>>2],r[t+40>>2]=r[A+40>>2],r[t+44>>2]=r[A+44>>2],r[t+48>>2]=r[A+48>>2],r[t+52>>2]=r[A+52>>2],r[t+56>>2]=r[A+56>>2],r[t+60>>2]=r[A+60>>2],t=t+64|0,A=A+64|0;for(;(t|0)<(i|0);)r[t>>2]=r[A>>2],t=t+4|0,A=A+4|0}else for(i=u-4|0;(t|0)<(i|0);)se[t>>0]=se[A>>0]|0,se[t+1>>0]=se[A+1>>0]|0,se[t+2>>0]=se[A+2>>0]|0,se[t+3>>0]=se[A+3>>0]|0,t=t+4|0,A=A+4|0;for(;(t|0)<(u|0);)se[t>>0]=se[A>>0]|0,t=t+1|0,A=A+1|0;return l|0}function Ht(t,A,i){t=t|0,A=A|0,i=i|0;var o=0,u=0,l=0,f=0;if(l=t+i|0,A=A&255,(i|0)>=67){for(;t&3;)se[t>>0]=A,t=t+1|0;for(o=l&-4|0,f=A|A<<8|A<<16|A<<24,u=o-64|0;(t|0)<=(u|0);)r[t>>2]=f,r[t+4>>2]=f,r[t+8>>2]=f,r[t+12>>2]=f,r[t+16>>2]=f,r[t+20>>2]=f,r[t+24>>2]=f,r[t+28>>2]=f,r[t+32>>2]=f,r[t+36>>2]=f,r[t+40>>2]=f,r[t+44>>2]=f,r[t+48>>2]=f,r[t+52>>2]=f,r[t+56>>2]=f,r[t+60>>2]=f,t=t+64|0;for(;(t|0)<(o|0);)r[t>>2]=f,t=t+4|0}for(;(t|0)<(l|0);)se[t>>0]=A,t=t+1|0;return l-i|0}function Mu(t){return t=+t,t>=0?+vA(t+.5):+kr(t-.5)}function Qt(t){t=t|0;var A=0,i=0,o=0;return o=ph()|0,i=r[UA>>2]|0,A=i+t|0,(t|0)>0&(A|0)<(i|0)|(A|0)<0?(yh(A|0)|0,Ua(12),-1):(A|0)>(o|0)&&!(mh(A|0)|0)?(Ua(12),-1):(r[UA>>2]=A,i|0)}return{___divdi3:It,___muldi3:$A,___remdi3:Dr,___uremdi3:Cr,_areNeighborCells:Yh,_bitshift64Ashr:Ou,_bitshift64Lshr:ae,_bitshift64Shl:ce,_calloc:FA,_cellAreaKm2:Bp,_cellAreaM2:Pp,_cellAreaRads2:Go,_cellToBoundary:Br,_cellToCenterChild:du,_cellToChildPos:wp,_cellToChildren:lp,_cellToChildrenSize:un,_cellToLatLng:or,_cellToLocalIj:Np,_cellToParent:No,_cellToVertex:At,_cellToVertexes:A1,_cellsToDirectedEdge:Wh,_cellsToLinkedMultiPolygon:Dh,_childPosToCell:vp,_compactCells:fp,_constructCell:ap,_destroyLinkedMultiPolygon:yu,_directedEdgeToBoundary:ui,_directedEdgeToCells:Xh,_edgeLengthKm:Cp,_edgeLengthM:Tp,_edgeLengthRads:Dp,_emscripten_replace_memory:wh,_free:Be,_getBaseCellNumber:fu,_getDirectedEdgeDestination:Zh,_getDirectedEdgeOrigin:Jh,_getHexagonAreaAvgKm2:gu,_getHexagonAreaAvgM2:kp,_getHexagonEdgeLengthAvgKm:xp,_getHexagonEdgeLengthAvgM:Sp,_getIcosahedronFaces:hu,_getIndexDigit:sp,_getNumCells:li,_getPentagons:qo,_getRes0Cells:Mh,_getResolution:op,_greatCircleDistanceKm:fn,_greatCircleDistanceM:_p,_greatCircleDistanceRads:bp,_gridDisk:Ga,_gridDiskDistances:Fa,_gridDistance:Ip,_gridPathCells:Qp,_gridPathCellsSize:Hp,_gridRing:kh,_gridRingUnsafe:za,_i64Add:xe,_i64Subtract:EA,_isPentagon:aA,_isResClassIII:hp,_isValidCell:jo,_isValidDirectedEdge:au,_isValidIndex:up,_isValidVertex:Su,_latLngToCell:Ho,_llvm_ctlz_i64:Yo,_llvm_maxnum_f64:ju,_llvm_minnum_f64:di,_llvm_round_f64:hi,_localIjToCell:Rp,_malloc:yt,_maxFaceCount:mp,_maxGridDiskSize:$h,_maxPolygonToCellsSize:Sh,_maxPolygonToCellsSizeExperimental:Up,_memcpy:Tr,_memset:Ht,_originToDirectedEdges:ep,_pentagonCount:yp,_polygonToCells:Bh,_polygonToCellsExperimental:Lp,_readInt64AsDoubleFromPointer:Jp,_res0CellCount:jh,_round:Mu,_sbrk:Qt,_sizeOfCellBoundary:Vp,_sizeOfCoordIJ:Wp,_sizeOfGeoLoop:zp,_sizeOfGeoPolygon:Kp,_sizeOfH3Index:Gp,_sizeOfLatLng:Fp,_sizeOfLinkedGeoPolygon:Yp,_uncompactCells:cp,_uncompactCellsSize:dp,_vertexToLatLng:t1,establishStackSpace:Eh,stackAlloc:vh,stackRestore:_h,stackSave:bh}})(sh,ah,B),N_=e.___divdi3=fe.___divdi3,R_=e.___muldi3=fe.___muldi3,I_=e.___remdi3=fe.___remdi3,H_=e.___uremdi3=fe.___uremdi3,Q_=e._areNeighborCells=fe._areNeighborCells,q_=e._bitshift64Ashr=fe._bitshift64Ashr,L_=e._bitshift64Lshr=fe._bitshift64Lshr,U_=e._bitshift64Shl=fe._bitshift64Shl,G_=e._calloc=fe._calloc,F_=e._cellAreaKm2=fe._cellAreaKm2,V_=e._cellAreaM2=fe._cellAreaM2,z_=e._cellAreaRads2=fe._cellAreaRads2,K_=e._cellToBoundary=fe._cellToBoundary,Y_=e._cellToCenterChild=fe._cellToCenterChild,W_=e._cellToChildPos=fe._cellToChildPos,J_=e._cellToChildren=fe._cellToChildren,Z_=e._cellToChildrenSize=fe._cellToChildrenSize,X_=e._cellToLatLng=fe._cellToLatLng,e3=e._cellToLocalIj=fe._cellToLocalIj,A3=e._cellToParent=fe._cellToParent,t3=e._cellToVertex=fe._cellToVertex,r3=e._cellToVertexes=fe._cellToVertexes,n3=e._cellsToDirectedEdge=fe._cellsToDirectedEdge,i3=e._cellsToLinkedMultiPolygon=fe._cellsToLinkedMultiPolygon,o3=e._childPosToCell=fe._childPosToCell,s3=e._compactCells=fe._compactCells,a3=e._constructCell=fe._constructCell,u3=e._destroyLinkedMultiPolygon=fe._destroyLinkedMultiPolygon,l3=e._directedEdgeToBoundary=fe._directedEdgeToBoundary,f3=e._directedEdgeToCells=fe._directedEdgeToCells,c3=e._edgeLengthKm=fe._edgeLengthKm,d3=e._edgeLengthM=fe._edgeLengthM,h3=e._edgeLengthRads=fe._edgeLengthRads,uh=e._emscripten_replace_memory=fe._emscripten_replace_memory,p3=e._free=fe._free,g3=e._getBaseCellNumber=fe._getBaseCellNumber,m3=e._getDirectedEdgeDestination=fe._getDirectedEdgeDestination,y3=e._getDirectedEdgeOrigin=fe._getDirectedEdgeOrigin,w3=e._getHexagonAreaAvgKm2=fe._getHexagonAreaAvgKm2,v3=e._getHexagonAreaAvgM2=fe._getHexagonAreaAvgM2,b3=e._getHexagonEdgeLengthAvgKm=fe._getHexagonEdgeLengthAvgKm,_3=e._getHexagonEdgeLengthAvgM=fe._getHexagonEdgeLengthAvgM,E3=e._getIcosahedronFaces=fe._getIcosahedronFaces,$3=e._getIndexDigit=fe._getIndexDigit,k3=e._getNumCells=fe._getNumCells,x3=e._getPentagons=fe._getPentagons,S3=e._getRes0Cells=fe._getRes0Cells,B3=e._getResolution=fe._getResolution,P3=e._greatCircleDistanceKm=fe._greatCircleDistanceKm,D3=e._greatCircleDistanceM=fe._greatCircleDistanceM,C3=e._greatCircleDistanceRads=fe._greatCircleDistanceRads,T3=e._gridDisk=fe._gridDisk,O3=e._gridDiskDistances=fe._gridDiskDistances,j3=e._gridDistance=fe._gridDistance,M3=e._gridPathCells=fe._gridPathCells,N3=e._gridPathCellsSize=fe._gridPathCellsSize,R3=e._gridRing=fe._gridRing,I3=e._gridRingUnsafe=fe._gridRingUnsafe,H3=e._i64Add=fe._i64Add,Q3=e._i64Subtract=fe._i64Subtract,q3=e._isPentagon=fe._isPentagon,L3=e._isResClassIII=fe._isResClassIII,U3=e._isValidCell=fe._isValidCell,G3=e._isValidDirectedEdge=fe._isValidDirectedEdge,F3=e._isValidIndex=fe._isValidIndex,V3=e._isValidVertex=fe._isValidVertex,z3=e._latLngToCell=fe._latLngToCell,K3=e._llvm_ctlz_i64=fe._llvm_ctlz_i64,Y3=e._llvm_maxnum_f64=fe._llvm_maxnum_f64,W3=e._llvm_minnum_f64=fe._llvm_minnum_f64,J3=e._llvm_round_f64=fe._llvm_round_f64,Z3=e._localIjToCell=fe._localIjToCell,X3=e._malloc=fe._malloc,e8=e._maxFaceCount=fe._maxFaceCount,A8=e._maxGridDiskSize=fe._maxGridDiskSize,t8=e._maxPolygonToCellsSize=fe._maxPolygonToCellsSize,r8=e._maxPolygonToCellsSizeExperimental=fe._maxPolygonToCellsSizeExperimental,n8=e._memcpy=fe._memcpy,i8=e._memset=fe._memset,o8=e._originToDirectedEdges=fe._originToDirectedEdges,s8=e._pentagonCount=fe._pentagonCount,a8=e._polygonToCells=fe._polygonToCells,u8=e._polygonToCellsExperimental=fe._polygonToCellsExperimental,l8=e._readInt64AsDoubleFromPointer=fe._readInt64AsDoubleFromPointer,f8=e._res0CellCount=fe._res0CellCount,c8=e._round=fe._round,d8=e._sbrk=fe._sbrk,h8=e._sizeOfCellBoundary=fe._sizeOfCellBoundary,p8=e._sizeOfCoordIJ=fe._sizeOfCoordIJ,g8=e._sizeOfGeoLoop=fe._sizeOfGeoLoop,m8=e._sizeOfGeoPolygon=fe._sizeOfGeoPolygon,y8=e._sizeOfH3Index=fe._sizeOfH3Index,w8=e._sizeOfLatLng=fe._sizeOfLatLng,v8=e._sizeOfLinkedGeoPolygon=fe._sizeOfLinkedGeoPolygon,b8=e._uncompactCells=fe._uncompactCells,_8=e._uncompactCellsSize=fe._uncompactCellsSize,E8=e._vertexToLatLng=fe._vertexToLatLng,$8=e.establishStackSpace=fe.establishStackSpace,Ha=e.stackAlloc=fe.stackAlloc,lh=e.stackRestore=fe.stackRestore,fh=e.stackSave=fe.stackSave;if(e.asm=fe,e.cwrap=G,e.setValue=T,e.getValue=x,$t){ja($t)||($t=g($t));{Y2("memory initializer");var vo=function(te){te.byteLength&&(te=new Uint8Array(te)),Q.set(te,k),e.memoryInitializerRequest&&delete e.memoryInitializerRequest.response,W2("memory initializer")},Qa=function(){m($t,vo,function(){throw"could not load memory initializer "+$t})},qa=wo($t);if(qa)vo(qa.buffer);else if(e.memoryInitializerRequest){var La=function(){var te=e.memoryInitializerRequest,oe=te.response;if(te.status!==200&&te.status!==0){var ye=wo(e.memoryInitializerRequestURL);if(ye)oe=ye.buffer;else{console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: "+te.status+", retrying "+$t),Qa();return}}vo(oe)};e.memoryInitializerRequest.response?setTimeout(La,0):e.memoryInitializerRequest.addEventListener("load",La)}else Qa()}}var ii;on=function te(){ii||bo(),ii||(on=te)};function bo(te){if(te=te||c,er>0||(RA(),er>0))return;function oe(){ii||(ii=!0,!N&&(WA(),ni(),e.onRuntimeInitialized&&e.onRuntimeInitialized(),L2()))}e.setStatus?(e.setStatus("Running..."),setTimeout(function(){setTimeout(function(){e.setStatus("")},1),oe()},1)):oe()}e.run=bo;function Ar(te){throw e.onAbort&&e.onAbort(te),te+="",v(te),b(te),N=!0,"abort("+te+"). Build with -s ASSERTIONS=1 for more info."}if(e.abort=Ar,e.preInit)for(typeof e.preInit=="function"&&(e.preInit=[e.preInit]);e.preInit.length>0;)e.preInit.pop()();return bo(),n})(typeof xA=="object"?xA:{}),Ce="number",De=Ce,Or=Ce,je=Ce,Me=Ce,kA=Ce,be=Ce,h1=[["sizeOfH3Index",Ce],["sizeOfLatLng",Ce],["sizeOfCellBoundary",Ce],["sizeOfGeoLoop",Ce],["sizeOfGeoPolygon",Ce],["sizeOfLinkedGeoPolygon",Ce],["sizeOfCoordIJ",Ce],["readInt64AsDoubleFromPointer",Ce],["isValidCell",Or,[je,Me]],["isValidIndex",Or,[je,Me]],["latLngToCell",De,[Ce,Ce,kA,be]],["cellToLatLng",De,[je,Me,be]],["cellToBoundary",De,[je,Me,be]],["maxGridDiskSize",De,[Ce,be]],["gridDisk",De,[je,Me,Ce,be]],["gridDiskDistances",De,[je,Me,Ce,be,be]],["gridRing",De,[je,Me,Ce,be]],["gridRingUnsafe",De,[je,Me,Ce,be]],["maxPolygonToCellsSize",De,[be,kA,Ce,be]],["polygonToCells",De,[be,kA,Ce,be]],["maxPolygonToCellsSizeExperimental",De,[be,kA,Ce,be]],["polygonToCellsExperimental",De,[be,kA,Ce,Ce,Ce,be]],["cellsToLinkedMultiPolygon",De,[be,Ce,be]],["destroyLinkedMultiPolygon",null,[be]],["compactCells",De,[be,be,Ce,Ce]],["uncompactCells",De,[be,Ce,Ce,be,Ce,kA]],["uncompactCellsSize",De,[be,Ce,Ce,kA,be]],["isPentagon",Or,[je,Me]],["isResClassIII",Or,[je,Me]],["getBaseCellNumber",Ce,[je,Me]],["getResolution",Ce,[je,Me]],["getIndexDigit",Ce,[je,Me,Ce]],["constructCell",De,[Ce,Ce,be,be]],["maxFaceCount",De,[je,Me,be]],["getIcosahedronFaces",De,[je,Me,be]],["cellToParent",De,[je,Me,kA,be]],["cellToChildren",De,[je,Me,kA,be]],["cellToCenterChild",De,[je,Me,kA,be]],["cellToChildrenSize",De,[je,Me,kA,be]],["cellToChildPos",De,[je,Me,kA,be]],["childPosToCell",De,[Ce,Ce,je,Me,kA,be]],["areNeighborCells",De,[je,Me,je,Me,be]],["cellsToDirectedEdge",De,[je,Me,je,Me,be]],["getDirectedEdgeOrigin",De,[je,Me,be]],["getDirectedEdgeDestination",De,[je,Me,be]],["isValidDirectedEdge",Or,[je,Me]],["directedEdgeToCells",De,[je,Me,be]],["originToDirectedEdges",De,[je,Me,be]],["directedEdgeToBoundary",De,[je,Me,be]],["gridDistance",De,[je,Me,je,Me,be]],["gridPathCells",De,[je,Me,je,Me,be]],["gridPathCellsSize",De,[je,Me,je,Me,be]],["cellToLocalIj",De,[je,Me,je,Me,Ce,be]],["localIjToCell",De,[je,Me,be,Ce,be]],["getHexagonAreaAvgM2",De,[kA,be]],["getHexagonAreaAvgKm2",De,[kA,be]],["getHexagonEdgeLengthAvgM",De,[kA,be]],["getHexagonEdgeLengthAvgKm",De,[kA,be]],["greatCircleDistanceM",Ce,[be,be]],["greatCircleDistanceKm",Ce,[be,be]],["greatCircleDistanceRads",Ce,[be,be]],["cellAreaM2",De,[je,Me,be]],["cellAreaKm2",De,[je,Me,be]],["cellAreaRads2",De,[je,Me,be]],["edgeLengthM",De,[je,Me,be]],["edgeLengthKm",De,[je,Me,be]],["edgeLengthRads",De,[je,Me,be]],["getNumCells",De,[kA,be]],["getRes0Cells",De,[be]],["res0CellCount",Ce],["getPentagons",De,[Ce,be]],["pentagonCount",Ce],["cellToVertex",De,[je,Me,Ce,be]],["cellToVertexes",De,[je,Me,be]],["vertexToLatLng",De,[je,Me,be]],["isValidVertex",Or,[je,Me]]],p1=0,g1=1,m1=2,y1=3,w1=4,Lu=5,v1=6,b1=7,_1=8,E1=9,$1=10,k1=11,x1=12,S1=13,B1=14,P1=15,D1=16,C1=17,T1=18,O1=19,gA={};gA[p1]="Success";gA[g1]="The operation failed but a more specific error is not available";gA[m1]="Argument was outside of acceptable range";gA[y1]="Latitude or longitude arguments were outside of acceptable range";gA[w1]="Resolution argument was outside of acceptable range";gA[Lu]="Cell argument was not valid";gA[v1]="Directed edge argument was not valid";gA[b1]="Undirected edge argument was not valid";gA[_1]="Vertex argument was not valid";gA[E1]="Pentagon distortion was encountered";gA[$1]="Duplicate input";gA[k1]="Cell arguments were not neighbors";gA[x1]="Cell arguments had incompatible resolutions";gA[S1]="Memory allocation failed";gA[B1]="Bounds of provided memory were insufficient";gA[P1]="Mode or flags argument was not valid";gA[D1]="Index argument was not valid";gA[C1]="Base cell number was outside of acceptable range";gA[T1]="Child indexing digits invalid";gA[O1]="Child indexing digits refer to a deleted subsequence";var j1=1e3,Uu=1001,Gu=1002,gi={};gi[j1]="Unknown unit";gi[Uu]="Array length out of bounds";gi[Gu]="Got unexpected null value for H3 index";var M1="Unknown error";function Fu(n,e,s){var a=s&&"value"in s,c=new Error((n[e]||M1)+" (code: "+e+(a?", value: "+s.value:"")+")");return c.code=e,c}function Vu(n,e){var s=arguments.length===2?{value:e}:{};return Fu(gA,n,s)}function zu(n,e){var s=arguments.length===2?{value:e}:{};return Fu(gi,n,s)}function mi(n){if(n!==0)throw Vu(n)}var CA={};h1.forEach(function(e){CA[e[0]]=xA.cwrap.apply(xA,e)});var jr=16;var N1=4;var R1=8,I1=8,pn=CA.sizeOfH3Index(),H1=CA.sizeOfLatLng(),x8=CA.sizeOfCellBoundary(),S8=CA.sizeOfGeoPolygon(),B8=CA.sizeOfGeoLoop(),P8=CA.sizeOfLinkedGeoPolygon(),D8=CA.sizeOfCoordIJ();function Ku(n){if(!n)throw zu(Gu);return n}var Q1=Math.pow(2,32)-1;function q1(n){if(n>Q1)throw zu(Uu,n);return n}var L1=/[^0-9a-fA-F]/;function gn(n){if(Array.isArray(n)&&n.length===2&&Number.isInteger(n[0])&&Number.isInteger(n[1]))return n;if(typeof n!="string"||L1.test(n))return[0,0];var e=parseInt(n.substring(0,n.length-8),jr),s=parseInt(n.substring(n.length-8),jr);return[s,e]}function qu(n){if(n>=0)return n.toString(jr);n=n&2147483647;var e=Yu(8,n.toString(jr)),s=(parseInt(e[0],jr)+8).toString(jr);return e=s+e.substring(1),e}function U1(n,e){return qu(e)+Yu(8,qu(n))}function Yu(n,e){for(var s=n-e.length,a="",c=0;c<s;c++)a+="0";return a=a+e,a}var C8=Math.pow(2,32);function Wo(n,e){e===void 0&&(e=0);var s=xA.getValue(n+pn*e,"i32"),a=xA.getValue(n+pn*e+N1,"i32");return a?U1(s,a):null}function G1(n){return CA.readInt64AsDoubleFromPointer(n)}function F1(n,e){for(var s=[],a=0;a<e;a++){var c=Wo(n,a);c!==null&&s.push(c)}return s}function Wu(n){var e=gn(n),s=e[0],a=e[1];return!!CA.isValidCell(s,a)}function wt(n){var e=gn(n),s=e[0],a=e[1];return CA.isValidCell(s,a)?CA.getResolution(s,a):-1}function Jo(n,e,s){var a=xA._malloc(H1);xA.HEAPF64.set([n,e].map(z1),a/R1);var c=xA._malloc(pn);try{return mi(CA.latLngToCell(a,s,c)),Ku(Wo(c))}finally{xA._free(c),xA._free(a)}}function vt(n,e){var s=gn(n),a=s[0],c=s[1],h=xA._malloc(pn);try{return mi(CA.cellToParent(a,c,e,h)),Ku(Wo(h))}finally{xA._free(h)}}function Ju(n,e){if(!Wu(n))return[];var s=gn(n),a=s[0],c=s[1],h=q1(V1(n,e)),g=xA._calloc(h,pn);try{return mi(CA.cellToChildren(a,c,e,g)),F1(g,h)}finally{xA._free(g)}}function V1(n,e){if(!Wu(n))throw Vu(Lu);var s=gn(n),a=s[0],c=s[1],h=xA._malloc(I1);try{return mi(CA.cellToChildrenSize(a,c,e,h)),G1(h)}finally{xA._free(h)}}function z1(n){return n*Math.PI/180}var Q2=Qu(el(),1),q2=Qu(Ad(),1);function td(n,e,s,a){if(Zi(a))return{id:a.id,soul:a.soul};if(!e||!s||!a||!a.id)throw new Error("createHologram: Missing required parameters for non-hologram data");let c=`${n.appname}/${e}/${s}/${a.id}`;return{id:a.id,soul:c}}function Ji(n){if(typeof n!="string")return null;let e=n.split("/");if(e.length<4)return null;let s=e.slice(3).join("/");return{appname:e[0],holon:e[1],lens:e[2],key:s}}function Zi(n){return!n||typeof n!="object"?!1:!!(n.id&&typeof n.soul=="string"&&n.soul.length>0&&n.soul.includes("/"))}function Kn(n,e){let s=Ji(e);return{...n,_hologram:{isHologram:!0,soul:e,sourceHolon:s?.holon??null,sourceLens:s?.lens??null,sourceKey:s?.key??null,resolvedAt:Date.now()}}}async function rd(n,e,s={}){if(!Zi(e))return e;let{followHolograms:a=!0,visited:c=new Set,maxDepth:h=10,currentDepth:g=0}=s;if(g>=h)return console.warn(`!!! Maximum resolution depth (${h}) reached for soul: ${e.soul}. Stopping resolution.`),null;if(e.soul&&c.has(e.soul))return console.warn(`!!! CIRCULAR hologram detected for soul: ${e.soul}. Breaking loop.`),null;try{if(e.soul){let m=Ji(e.soul);if(!m)return console.warn(`Invalid soul format: ${e.soul}`),null;let v=new Set(c);v.add(e.soul);let b=await n.get(m.holon,m.lens,m.key,null,{resolveHolograms:a,visited:v,maxDepth:h,currentDepth:g+1});if(b&&!b._invalidHologram){let w=Kn(b,e.soul);if(w._hologram?.sourceHolon&&typeof n.getHolonName=="function")try{let _=await n.getHolonName(w._hologram.sourceHolon);_&&(w._hologram={...w._hologram,sourceHolonName:_})}catch{}return w}else return console.warn(`Could not resolve hologram soul: ${e.soul} (target not present locally)`),null}else return console.warn("!!! resolveHologram called with object missing soul:",e),null}catch(m){return m.message?.startsWith("CIRCULAR_REFERENCE")?(console.warn(`!!! Circular reference detected during hologram resolution: ${m.message}`),null):(console.error(`!!! Error resolving hologram: ${m.message}`,m),null)}}async function Yn(n,e){if(!n||!e)return null;try{let s=await n.get(e,"settings",e);if(!s)return null;if(Array.isArray(s)){let a=s.find(c=>c&&typeof c.name=="string"&&c.name.trim()!=="");return a?a.name:null}return typeof s.name=="string"&&s.name.trim()!==""?s.name:null}catch{return null}}async function ea(n,e,s,a=null,c=null,h=!0,g={}){if(!e||!s)throw new Error("federate: Missing required space IDs");if(e===s)throw new Error("Cannot federate a space with itself");let{inbound:m=[],outbound:v=[]}=g;if(!Array.isArray(m)||!Array.isArray(v))throw new Error("federate: lensConfig.inbound and lensConfig.outbound must be arrays");let b=(w,_,$,k)=>{w.federated||(w.federated=[]),w.inbound||(w.inbound=[]),w.outbound||(w.outbound=[]),w.lensConfig||(w.lensConfig={}),w.federated.includes(_)||w.federated.push(_);let T=$.length>0,x=k.length>0;T&&!w.inbound.includes(_)?w.inbound.push(_):T||(w.inbound=w.inbound.filter(N=>N!==_)),x&&!w.outbound.includes(_)?w.outbound.push(_):x||(w.outbound=w.outbound.filter(N=>N!==_)),w.lensConfig[_]={inbound:[...$],outbound:[...k],timestamp:Date.now()},w.timestamp=Date.now()};try{let w=null;try{w=await n.getGlobal("federation",e,a)}catch{}w==null&&(w={id:e,name:e,federated:[],inbound:[],outbound:[],lensConfig:{},partnerNames:{},timestamp:Date.now()}),b(w,s,m,v);try{await n.putGlobal("federation",w,a)}catch(_){throw new Error(`Failed to create federation: ${_.message}`)}if(h){let _=null;try{_=await n.getGlobal("federation",s,c)}catch{}_==null&&(_={id:s,name:s,federated:[],inbound:[],outbound:[],lensConfig:{},partnerNames:{},timestamp:Date.now()}),b(_,e,v,m);try{await n.putGlobal("federation",_,c)}catch{}}return!0}catch(w){throw w}}async function id(n,e,s=null,a,c={}){if(!e||!a)throw new Error("subscribeFederation: Missing required parameters");let{lenses:h=["*"],throttle:g=0}=c,m=await n.getGlobal("federation",e,s);if(!m)throw new Error("No federation info found for space");let v=[],b={},w=new Map;if(m.inbound&&m.inbound.length>0){await Promise.all(m.inbound.map(async _=>{let $=await Yn(n,_);w.set(_,$)}));for(let _ of m.inbound)for(let $ of h)try{let k=await n.subscribe(_,$,async T=>{try{if(!T||!T.id)return;let x=Date.now(),N=`${_}_${$}_${T.id}`;if(g>0){if(b[N]&&x-b[N]<g)return;b[N]=x}if(!T._federation){let j=w.get(_);T._federation={origin:_,sourceLens:$,timestamp:x,...j?{originName:j}:{}}}await a(T,_,$)}catch{}});k&&typeof k.unsubscribe=="function"&&v.push(k)}catch{}}return{unsubscribe:()=>{v.forEach(_=>{try{_&&typeof _.unsubscribe=="function"&&_.unsubscribe()}catch{}}),v.length=0,b={}},getSubscriptionCount:()=>v.length}}async function Yt(n,e,s=null){if(!e)throw new Error("getFederation: Missing space ID");return await n.getGlobal("federation",e,s)}async function od(n,e,s,a=null){if(!n||!e||!s)throw new Error("getFederatedConfig: Missing required parameters");try{let c=await Yt(n,e,a);return c&&c.lensConfig&&c.lensConfig[s]?{inbound:c.lensConfig[s].inbound||[],outbound:c.lensConfig[s].outbound||[]}:null}catch(c){throw console.error(`Error getting federated config for ${e} -> ${s}: ${c.message}`),c}}async function Aa(n,e,s,a=null,c=null){if(!e||!s)throw new Error("unfederate: Missing required space IDs");try{let h=null;try{h=await n.getGlobal("federation",e,a)}catch(v){console.error(`Error getting fedInfo1 for ${e} during unfederate: ${v.message}`)}if(!h)console.warn(`No federation info found for ${e}. Skipping its update.`);else{h.federated||(h.federated=[]),h.inbound||(h.inbound=[]),h.outbound||(h.outbound=[]),h.lensConfig||(h.lensConfig={}),h.partnerNames||(h.partnerNames={});let v=h.inbound.length,b=h.outbound.length;h.federated=h.federated.filter(w=>w!==s),h.inbound=h.inbound.filter(w=>w!==s),h.outbound=h.outbound.filter(w=>w!==s),delete h.lensConfig[s],delete h.partnerNames[s],h.timestamp=Date.now(),console.log(`Unfederate: removed ${s} from ${e}: inbound ${v} -> ${h.inbound.length}, outbound ${b} -> ${h.outbound.length}`);try{await n.putGlobal("federation",h,a)}catch(w){throw console.error(`Failed to update fedInfo1 for ${e} during unfederate: ${w.message}`),w}}if(c){let v=null;try{v=await n.getGlobal("federation",s,c)}catch(b){console.error(`Error getting fedInfo2 for ${s} during unfederate: ${b.message}`)}if(!v)console.warn(`No federation info found for ${s}. Skipping its update.`);else{v.federated||(v.federated=[]),v.inbound||(v.inbound=[]),v.outbound||(v.outbound=[]),v.lensConfig||(v.lensConfig={}),v.partnerNames||(v.partnerNames={}),v.federated=v.federated.filter(b=>b!==e),v.inbound=v.inbound.filter(b=>b!==e),v.outbound=v.outbound.filter(b=>b!==e),delete v.lensConfig[e],delete v.partnerNames[e],v.timestamp=Date.now();try{await n.putGlobal("federation",v,c)}catch(b){throw console.error(`Failed to update fedInfo2 for ${s} during unfederate: ${b.message}`),b}}}let g=`${e}_${s}`,m=`${s}_${e}`;try{let v=await n.getGlobal("federationMeta",g)||await n.getGlobal("federationMeta",m);v&&(v.status="inactive",v.endedAt=Date.now(),await n.putGlobal("federationMeta",v))}catch(v){console.warn(`Failed to update federationMeta during unfederate: ${v.message}`)}return!0}catch(h){throw console.error(`Critical error during unfederate operation for ${e}-${s}: ${h.message}`),h}}async function sd(n,e,s,a=null){if(!e||!s)throw new Error("removeNotify: Missing required space IDs");try{let c=await n.getGlobal("federation",e,a);if(!c)throw new Error(`No federation info found for ${e}`);return c.outbound||(c.outbound=[]),c.outbound.includes(s)?(c.outbound=c.outbound.filter(h=>h!==s),c.lensConfig?.[s]&&(c.lensConfig[s].outbound=[]),c.timestamp=Date.now(),await n.putGlobal("federation",c,a),!0):!1}catch(c){throw c}}async function ad(n,e,s,a={}){let{queryIds:c=null,aggregate:h=!1,idField:g="id",sumFields:m=[],concatArrays:v=[],removeDuplicates:b=!0,mergeStrategy:w=null,includeLocal:_=!0,includeFederated:$=!0,resolveReferences:k=!0,maxFederatedSpaces:T=-1,timeout:x=1e4,includeUnresolvedStubs:N=!1}=a;if(console.log(`resolveReferences option: ${k}`),console.log("Querying specific IDs:",c?c.join(", "):"No (fetching all)"),!n||!e||!s)throw new Error("Missing required parameters: holosphere, holon, and lens are required");let q=await Yt(n,e),L=new Map,G=new Set,z=[],J=[];if(_&&J.push(e),$&&q&&q.inbound&&q.inbound.length>0){let ue=T===-1?q.inbound:q.inbound.slice(0,T);J=J.concat(ue)}let pe=J.filter(ue=>ue!==e),W=new Map;await Promise.all(pe.map(async ue=>{let D=await Yn(n,ue);W.set(ue,D)}));let X=(ue,D)=>{if(!ue||D===e)return ue;let B=W.get(D),C={...ue._federation||{},origin:D,sourceLens:s};return B&&(C.originName=B),{...ue,_federation:C}};for(let ue of J)if(c&&Array.isArray(c)){console.log(`Fetching specific IDs from ${ue}: ${c.join(", ")}`);for(let D of c)L.has(D)||z.push(n.get(ue,s,D).then(B=>{B&&L.set(D,X(B,ue))}).catch(B=>console.warn(`Error fetching item ${D} from ${ue}: ${B.message}`)))}else ue===e&&_&&console.warn(`getFederated: No queryIds provided. Falling back to fetching ALL items from ${ue} using getAll. This can be inefficient.`),console.log(`Fetching ALL items from ${ue}`),z.push(n.getAll(ue,s).then(D=>{for(let B of D)B&&B[g]&&!L.has(B[g])&&L.set(B[g],X(B,ue))}).catch(D=>console.warn(`Error fetching all items from ${ue}: ${D.message}`)));await Promise.all(z);let we=Array.from(L.values());if(k&&we.length>0){console.log(`Resolving references for ${we.length} fetched items`);for(let ue=0;ue<we.length;ue++){let D=we[ue];if(D.soul&&D.id){console.log(`Found simple reference with soul: ${D.soul}`);try{let B=D.soul.split("/");if(B.length>=4){let C=B[1],Q=B[2],Y=B[3];console.log(`Extracting from soul - holon: ${C}, lens: ${Q}, key: ${Y}`);let K=await n.get(C,Q,Y,null,{resolveReferences:!0});if(console.log("Original data found via soul path:",JSON.stringify(K)),K){let U=Kn(K,D.soul);if(U._hologram?.sourceHolon){let re=W.get(U._hologram.sourceHolon);re===void 0&&(re=await Yn(n,U._hologram.sourceHolon),W.set(U._hologram.sourceHolon,re)),re&&(U._hologram={...U._hologram,sourceHolonName:re})}we[ue]=U}else we[ue]={id:D.id,_hologram:{isHologram:!1,soul:D.soul,error:"Referenced data not found",resolvedAt:Date.now()}}}else console.warn(`Soul doesn't match expected format: ${D.soul}`),we[ue]={id:D.id,_hologram:{isHologram:!1,soul:D.soul,error:"Invalid soul format",resolvedAt:Date.now()}}}catch(B){we[ue]={id:D.id,_hologram:{isHologram:!1,soul:D.soul,error:B.message||"Error resolving reference",resolvedAt:Date.now()}}}}}}if(h&&we.length>0){let ue=we.reduce((B,C)=>{let Q=C[g];return B[Q]||(B[Q]=[]),B[Q].push(C),B},{}),D=Object.values(ue).map(B=>{if(B.length===1)return B[0];if(w&&typeof w=="function")return w(B);let C={...B[0]};for(let Q of m)typeof C[Q]=="number"&&(C[Q]=B.reduce((Y,K)=>Y+(Number(K[Q])||0),0));for(let Q of v)if(Array.isArray(C[Q])){let Y=B.reduce((K,U)=>Array.isArray(U[Q])?[...K,...U[Q]]:K,[]);C[Q]=b?Array.from(new Set(Y)):Y}return C._aggregated={count:B.length,timestamp:Date.now()},C});return N?D:D.filter(nd)}return N?we:we.filter(nd)}function nd(n){return!n||typeof n!="object"?!1:n._hologram?.isHologram!==!1}async function ud(n,e,s,a,c={}){if(!n||!e||!s||!a)throw new Error("propagate: Missing required parameters");let{useHolograms:h=!0,targetSpaces:g=null,password:m=null,propagateToParents:v=!0,maxParentLevels:b=15}=c,w={success:0,errors:0,skipped:0,messages:[],parentPropagation:{success:0,errors:0,skipped:0,messages:[]}};try{let _=await Yt(n,e,m);if(_&&_.outbound&&_.outbound.length>0){let $=_.outbound.filter(k=>String(k)!==String(e));if(g&&Array.isArray(g)&&g.length>0&&($=$.filter(k=>g.includes(k))),$.length>0)if($=$.filter(k=>{let T=_.lensConfig?.[k];if(!T)return w.messages.push(`No lens configuration for target space ${k}. Skipping propagation of lens '${s}'.`),w.skipped++,!1;let x=Array.isArray(T.outbound)?T.outbound:[],N=x.includes("*")||x.includes(s);return N||(w.messages.push(`Propagation of lens '${s}' to target space ${k} skipped: lens not in 'outbound' configuration.`),w.skipped++),N}),$.length>0){let k=n.isHologram(a),T=await Yn(n,e),x=$.map(async N=>{try{let j,q={origin:e,sourceLens:s,propagatedAt:Date.now(),originalId:a.id,...T?{originName:T}:{}};return h&&!k?j={...n.createHologram(e,s,a),_federation:q}:j={...a,_federation:{...a._federation||{},...q}},String(N)===String(e)?(w.skipped++,!0):(await n.put(N,s,j,null,{disableHologramRedirection:!0,autoPropagate:!1}),w.success++,!0)}catch(j){return w.errors++,w.messages.push(`Error propagating ${a.id} to ${N}: ${j.message}`),!1}});await Promise.all(x)}else w.messages.push("No valid target spaces for federation propagation after lens filtering.");else w.messages.push("No valid target spaces found for federation propagation.")}else w.messages.push(`No federation found for ${e} or no notification targets available.`);if(v)try{let $,k=!1;if(typeof e=="string"&&/^[8][0-9A-Fa-f]+$/.test(e)&&e.length>=15)try{$=wt(e),$>=0&&$<=15?k=!0:console.log(`[Federation] Holon ${e} has invalid resolution: ${$}`)}catch(T){console.log(`[Federation] Holon ${e} failed H3 validation: ${T.message}`)}if(k||(w.parentPropagation.messages.push(`Holon ${e} is not a valid H3 hexagon. Skipping parent propagation.`),w.parentPropagation.skipped++),k&&$!==void 0){let T=[],x=e,N=$,j=0;for(;N>0&&j<b;)try{let q=vt(x,N-1);T.push(q),x=q,N--,j++}catch(q){console.error(`[Federation] Error getting parent for ${x}: ${q.message}`),w.parentPropagation.messages.push(`Error getting parent for ${x}: ${q.message}`),w.parentPropagation.errors++;break}if(T.length>0){w.parentPropagation.messages.push(`Found ${T.length} parent hexagons to propagate to: ${T.join(", ")}`);let q=n.isHologram(a),L=await Yn(n,e),G=T.map(async z=>{try{let J,pe={origin:e,sourceLens:s,propagatedAt:Date.now(),originalId:a.id,propagationType:"parent",parentLevel:$-wt(z),...L?{originName:L}:{}};return h&&!q?J={...n.createHologram(e,s,a),_federation:pe}:J={...a,_federation:{...a._federation||{},...pe}},await n.put(z,s,J,null,{disableHologramRedirection:!0,autoPropagate:!1}),console.log(`[Federation] Successfully propagated to parent hexagon: ${z}`),w.parentPropagation.success++,!0}catch(J){return console.error(`[Federation] Error propagating ${a.id} to parent hexagon ${z}: ${J.message}`),w.parentPropagation.errors++,w.parentPropagation.messages.push(`Error propagating ${a.id} to parent hexagon ${z}: ${J.message}`),!1}});await Promise.all(G)}else w.parentPropagation.messages.push(`No parent hexagons found for ${e} (already at resolution 0 or max levels reached)`),w.parentPropagation.skipped++}}catch($){console.error(`[Federation] Error during parent propagation: ${$.message}`),w.parentPropagation.errors++,w.parentPropagation.messages.push(`Error during parent propagation: ${$.message}`)}return w.propagated=w.success>0||w.parentPropagation.success>0,w}catch(_){return{...w,error:_.message}}}async function ld(n,e,s,a,c,h="generic"){let g=`${e}_${s}_fedmsgs`,m=await n.getGlobal("federation_messages",g)||{id:g,originalChatId:e,originalMessageId:s,type:h,messages:[]},v=m.messages.find(b=>b.chatId===a);v?(v.messageId=c,v.timestamp=Date.now()):m.messages.push({chatId:a,messageId:c,timestamp:Date.now()}),await n.putGlobal("federation_messages",m)}async function ta(n,e,s){let a=`${e}_${s}_fedmsgs`;return await n.getGlobal("federation_messages",a)}async function fd(n,e,s,a){let c=await ta(n,e,s);if(c?.messages)for(let h of c.messages)try{await a(h.chatId,h.messageId)}catch{}}async function cd(n,e,s=null,a={}){if(!e)throw new Error("resetFederation: Missing required space ID");let{notifyPartners:c=!0,spaceName:h=null}=a,g={success:!1,federatedCount:0,notifyCount:0,partnersNotified:0,errors:[]};try{let m=await Yt(n,e,s);if(!m)return{...g,success:!0,message:"No federation configuration found for this space"};let v=m.federated||[];g.federatedCount=v.length,g.inboundCount=m.inbound?.length||0,g.outboundCount=m.outbound?.length||0;let b={id:e,name:h||e,federated:[],inbound:[],outbound:[],lensConfig:{},partnerNames:{},timestamp:Date.now()};if(await n.putGlobal("federation",b,s),c&&v.length>0){let w=v.map(async _=>{try{let $=await Yt(n,_);if(!$)return!1;let k=e.toString();return $.federated&&($.federated=$.federated.filter(T=>T!==k)),$.inbound&&($.inbound=$.inbound.filter(T=>T!==k)),$.outbound&&($.outbound=$.outbound.filter(T=>T!==k)),$.lensConfig&&delete $.lensConfig[k],$.partnerNames&&delete $.partnerNames[k],$.timestamp=Date.now(),await n.putGlobal("federation",$),g.partnersNotified++,!0}catch($){return g.errors.push({partner:_,error:$.message}),!1}});await Promise.all(w)}for(let w of v)try{let _=`${e}_${w}`,$=`${w}_${e}`,k=await n.getGlobal("federationMeta",_)||await n.getGlobal("federationMeta",$);k&&(k.status="inactive",k.endedAt=Date.now(),await n.putGlobal("federationMeta",k))}catch{}return g.success=!0,g}catch(m){return{...g,success:!1,error:m.message}}}async function dd(n,e,s){if(!e||!s)throw new Error("setSchema: Missing required parameters");if(!s.type||typeof s.type!="string")throw new Error("setSchema: Schema must have a type field");let a={type:"object",required:["type","properties"],properties:{type:{type:"string"},properties:{type:"object",additionalProperties:{type:"object",required:["type"],properties:{type:{type:"string"}}}},required:{type:"array",items:{type:"string"}}}};if(!n.validator.validate(a,s))throw new Error(`Invalid schema structure: ${JSON.stringify(n.validator.errors)}`);if(!s.properties||typeof s.properties!="object")throw new Error("Schema must have properties in strict mode");if(!s.required||!Array.isArray(s.required)||s.required.length===0)throw new Error("Schema must have required fields in strict mode");return await n.putGlobal("schemas",{id:e,schema:s,timestamp:Date.now()}),n.schemaCache.set(e,{schema:s,timestamp:Date.now()}),!0}async function hd(n,e,s={}){if(!e)throw new Error("getSchema: Missing lens parameter");let{useCache:a=!0,maxCacheAge:c=36e5}=s;if(a&&n.schemaCache.has(e)){let g=n.schemaCache.get(e);if(Date.now()-g.timestamp<c)return g.schema}let h=await n.getGlobal("schemas",e);return!h||!h.schema?null:(n.schemaCache.set(e,{schema:h.schema,timestamp:Date.now()}),h.schema)}function pd(n,e=null){return e?n.schemaCache.delete(e):(n.schemaCache.clear(),!0)}function ra(n,e=8e3){return new Promise(s=>{let a=!1,c=h=>{a||(a=!0,s(h))};n.once(h=>c(h)),e>0&&setTimeout(()=>c(null),e)})}function T4(n,e,s){return!e||e<=0?n:new Promise((a,c)=>{let h=!1,g=(m,v)=>{h||(h=!0,m(v))};n.then(m=>g(a,m),m=>g(c,m)),setTimeout(()=>g(a,s),e)})}function na(n,e="",s=new WeakSet,a=[]){if(n===null)return null;let c=typeof n;if(c==="number"){if(!Number.isFinite(n)){a.push(`${e||"<root>"}: ${n} (non-finite number)`);return}return n}if(c==="string"||c==="boolean")return n;if(c==="undefined"||c==="function"||c==="symbol"||c==="bigint"){a.push(`${e||"<root>"}: ${c}`);return}if(c==="object"){if(s.has(n)){a.push(`${e||"<root>"}: circular reference`);return}if(s.add(n),Array.isArray(n)){let g=[];for(let m=0;m<n.length;m++){let v=na(n[m],`${e}[${m}]`,s,a);g.push(v===void 0?null:v)}return g}let h={};for(let g of Object.keys(n)){let m=na(n[g],e?`${e}.${g}`:g,s,a);m!==void 0&&(h[g]=m)}return h}a.push(`${e||"<root>"}: unsupported type ${c}`)}async function gd(n,e,s,a,c=null,h={}){if(!a)throw new Error("put: Missing required data parameter");if(!e||!s)throw new Error("put: Missing required holon or lens parameters:",e,s);let{disableHologramRedirection:g=!1,timeout:m}=h,v=m!==void 0?m:5e3,b=e,w=s,_=a.id;_||(_=n.generateId(),a.id=_);try{let k=await ia(n,b,w,_,c,{resolveHolograms:!1});if(!g&&k&&n.isHologram(k)){let T=n.parseSoulPath(k.soul);T?(T.appname!==n.appname&&console.warn(`Existing hologram at ${b}/${w}/${_} has appname (${T.appname}) in its soul ${k.soul} which does not match current HoloSphere instance appname (${n.appname}). Redirecting put to soul's holon/lens within this instance.`),b=T.holon,w=T.lens,_=T.key,a.id!==_&&console.warn(`Data ID ('${a.id}') differs from redirected target key ('${_}') derived from existing hologram's soul. Data will be stored under key '${_}'.`)):console.warn(`Existing item at ${b}/${w}/${_} (ID: ${k.id}) is a hologram, but its soul ('${k.soul}') is invalid. Proceeding with original target.`)}}catch(k){k.message&&k.message.includes("RESOLVED_NULL")||console.warn(`Error checking for existing hologram at ${b}/${w}/${_}: ${k.message}. Proceeding with original target.`)}let $=n.isHologram(a);if(n.strict&&!$){let k=await n.getSchema(w);if(!k)throw new Error("Schema required in strict mode");let T=JSON.parse(JSON.stringify(a));if(!n.validator.validate(k,T)){let N=`Schema validation failed: ${JSON.stringify(n.validator.errors)}`;throw new Error(N)}}try{let k=null;c&&(k=n.gun.user(),await new Promise((x,N)=>{let j=n.userName(b);k.auth(j,c,q=>{q.err?(console.log(`Initial auth failed for ${j} during put, attempting to create...`),k.create(j,c,L=>{L.err?L.err.includes("already created")||L.err.includes("already being created")?(console.log(`User ${j} already existed or being created during put, re-attempting auth with fresh user object.`),n.gun.user().auth(j,c,z=>{z.err&&console.log(`Auth still failed after user existed check: ${z.err}. Resolving anyway for test operations.`),x()})):(console.log(`Create user error (resolving anyway for operations): ${L.err}`),x()):(console.log(`User ${j} created successfully during put, attempting auth...`),k.auth(j,c,G=>{G.err?N(new Error(`Failed to auth after create for ${j} during put: ${G.err}`)):x()}))})):x()})}));let T=new Promise((x,N)=>{try{let j=[],q=na(a,"",new WeakSet,j)||{};j.length>0&&console.warn(`holosphere.put: sanitized ${j.length} field(s) at ${b}/${w}/${_} (id=${a.id}):`,j),q._meta!==void 0&&delete q._meta,q._hologram!==void 0&&delete q._hologram,!$&&q._federation!==void 0&&delete q._federation;let L=JSON.stringify(q),G=async J=>{if(J.err)N(new Error(J.err));else{if($)try{if(n.parseSoulPath(a.soul)){let B=n.getNodeRef(a.soul),C=`${n.appname}/${b}/${w}/${_}`;B.get("_holograms").get(C).put(!0)}else console.warn(`Data (ID: ${a.id}) being put is a hologram, but could not parse its soul ${a.soul} for tracking.`)}catch(D){console.warn(`Error updating _holograms set for the target of the data being put (data ID: ${a.id}, soul: ${a.soul}):`,D)}let pe=[],W=`${n.appname}/${b}/${w}/${_}`,X=new Set(h._cascadeVisited||[]);if(!X.has(W)){X.add(W);try{let D=n.getNodeRef(W);await new Promise(B=>{D.get("_holograms").once(async C=>{if(C){let Q=Object.keys(C).filter(Y=>Y!=="_"&&C[Y]===!0&&!X.has(Y));if(Q.length>0){let Y=Q.map(async K=>{try{let U=n.parseSoulPath(K);if(U){let re=await n.get(U.holon,U.lens,U.key,null,{resolveHolograms:!1});if(re){let ie={...re,updated:Date.now()};await n.put(U.holon,U.lens,ie,null,{autoPropagate:!1,disableHologramRedirection:!0,isHologramUpdate:!0,_cascadeVisited:X}),pe.push({soul:K,holon:U.holon,lens:U.lens,key:U.key,id:U.key,timestamp:ie.updated})}}}catch(U){console.warn(`Error updating hologram ${K}:`,U)}});await Promise.all(Y)}}B()})})}catch(D){console.warn("Error checking for active holograms to update:",D)}}$||n.notifySubscribers({holon:b,lens:w,...a});let we=h.autoPropagate!==!1&&!$,ue=null;if(we)try{let D={useHolograms:!0,...h.propagationOptions};ue=await n.propagate(b,w,a,D),ue&&ue.errors>0&&console.warn("Auto-propagation had errors:",ue)}catch(D){console.warn("Error in auto-propagation:",D)}x({success:!0,isHologramAtPath:$,pathHolon:b,pathLens:w,pathKey:_,propagationResult:ue,updatedHolograms:pe})}};(c?k.get("private").get(w).get(_):n.gun.get(n.appname).get(b).get(w).get(_)).put(L,G)}catch(j){N(j)}});return T4(T,v,{success:!0,queued:!0,isHologramAtPath:$,pathHolon:b,pathLens:w,pathKey:_,propagationResult:null,updatedHolograms:[]})}catch(k){throw console.error("Error in put:",k),k}}async function ia(n,e,s,a,c=null,h={}){if(!e||!s||!a)return console.error("get: Missing required parameters"),null;let{resolveHolograms:g=!0,validationOptions:m={},visited:v,timeout:b=8e3,includeDeleted:w=!1}=h,_=null;if(n.strict&&(_=await n.getSchema(s),!_))throw new Error("Schema required in strict mode");try{let $=null;return c&&($=n.gun.user(),await new Promise((k,T)=>{let x=n.userName(e);$.auth(x,c,N=>{N.err?T(new Error(`Authentication failed for ${x} during get: ${N.err}`)):k()})})),new Promise(k=>{let T=async N=>{let j=null;if(!N){k(null);return}try{if(j=await n.parse(N),!j){k(null);return}if(!w&&j._deleted===!0){k(null);return}if(g&&n.isHologram(j)){let q=await n.resolveHologram(j,{followHolograms:g,visited:v,maxDepth:h.maxDepth||10,currentDepth:h.currentDepth||0});if(q===null){console.warn(`Hologram at ${e}/${s}/${a} did not resolve (soul=${j.soul}); skipping.`),k(null);return}q!==j&&(j=q)}if(_&&!n.validator.validate(_,j)&&(console.error("get: Invalid data according to schema:",n.validator.errors),n.strict)){k(null);return}k(j)}catch(q){q.message?.startsWith("CIRCULAR_REFERENCE")?(console.warn(`Caught circular reference during get/handleData for key ${a}. Resolving null.`),k(null)):(console.error("Error processing data in get/handleData:",q),k(null))}},x=c?$.get("private").get(s).get(a):n.gun.get(n.appname).get(e).get(s).get(a);ra(x,b).then(T)})}catch($){return console.error("Error in get:",$),null}}async function oa(n,e,s,a=null,c={}){if(!e||!s)throw new Error("getAll: Missing required parameters");let{timeout:h=8e3,includeDeleted:g=!1}=c,m=await n.getSchema(s);if(!m&&n.strict)throw new Error("getAll: Schema required in strict mode");try{let v=null;return a&&(v=n.gun.user(),await new Promise((b,w)=>{let _=n.userName(e);v.auth(_,a,$=>{$.err?(console.log(`Initial auth failed for ${_} during getAll, attempting to create...`),v.create(_,a,k=>{k.err?k.err.includes("already created")||k.err.includes("already being created")?(console.log(`User ${_} already existed or being created during getAll, re-attempting auth with fresh user object.`),n.gun.user().auth(_,a,x=>{x.err&&console.log(`Auth still failed after user existed check: ${x.err}. Resolving anyway for test operations.`),b()})):(console.log(`Create user error (resolving anyway for operations): ${k.err}`),b()):(console.log(`User ${_} created successfully during getAll, attempting auth...`),v.auth(_,a,T=>{T.err?w(new Error(`Failed to auth after create for ${_} during getAll: ${T.err}`)):b()}))})):b()})})),new Promise(b=>{let w=new Map,_=[],$=a?v.get("private").get(s):n.gun.get(n.appname).get(e).get(s),k=()=>ra($,h),T=x=>{if(!x){b([]);return}let N=Object.keys(x).filter(L=>{if(L==="_")return!1;let G=x[L];return!(G===null||typeof G=="object"&&G["#"])});if(N.length===0){b([]);return}let q=async(L,G)=>{if(L)try{let z=await n.parse(L);if(!z||!z.id||!g&&z._deleted===!0)return;if(n.isHologram(z))try{let J=await n.resolveHologram(z,{followHolograms:!0,maxDepth:10,currentDepth:0});if(J===null){console.warn(`Hologram at ${e}/${s}/${G} did not resolve (soul=${z.soul}); skipping.`);return}if(J&&J!==z){m?(n.validator.validate(m,J)||!n.strict)&&w.set(J.id,J):w.set(J.id,J);return}}catch(J){console.error(`Error resolving hologram for key ${G}:`,J);return}m?(n.validator.validate(m,z)||!n.strict)&&w.set(z.id,z):w.set(z.id,z)}catch(z){console.error("Error processing data:",z)}};Promise.all(N.map(L=>{let G=x[L];return typeof G!="object"||G===null?q(G,L):ra($.get(L),h).then(z=>q(z,L))})).then(()=>b(Array.from(w.values())))};(async()=>{let x=await k();x||(await new Promise(N=>setTimeout(N,1500)),x=await k()),T(x)})()})}catch(v){return console.error("Error in getAll:",v),[]}}async function md(n,e){if(e==null)return console.warn("Parse received null or undefined data."),null;if(typeof e=="string")try{return JSON.parse(e)}catch{return console.warn("Data was a string but not valid JSON, returning null:",e),null}if(typeof e=="object"&&e!==null){if(e.soul&&typeof e.soul=="string"&&e.id)return e;if(n.isHologram(e))return e;if(e._){console.warn("Parsing raw Gun object with metadata (_) - attempting cleanup:",e);let s=Object.keys(e).reduce((a,c)=>(c!=="_"&&(a[c]=e[c]),a),{});return Object.keys(s).length===0?(console.warn("Raw Gun object had only metadata (_), returning null."),null):s}else return e}return console.warn("Parsing encountered unexpected data type, returning null:",typeof e,e),null}async function yd(n,e,s,a,c=null){if(!e||!s||!a)throw new Error("delete: Missing required parameters");try{let h=null;c&&(h=n.gun.user(),await new Promise((_,$)=>{let k=n.userName(e);h.auth(k,c,T=>{T.err?(console.log(`Initial auth failed for ${k} during deleteFunc, attempting to create...`),h.create(k,c,x=>{x.err?x.err.includes("already created")?(console.log(`User ${k} already existed during deleteFunc, re-attempting auth with fresh user object.`),n.gun.user().auth(k,c,j=>{j.err?$(new Error(`Failed to auth with fresh user object after create attempt (user existed) for ${k} during deleteFunc: ${j.err}`)):_()})):$(new Error(`Failed to create user ${k} during deleteFunc: ${x.err}`)):(console.log(`User ${k} created successfully during deleteFunc, attempting auth...`),h.auth(k,c,N=>{N.err?$(new Error(`Failed to auth after create for ${k} during deleteFunc: ${N.err}`)):_()}))})):_()})}));let g=c?h.get("private").get(s).get(a):n.gun.get(n.appname).get(e).get(s).get(a),m=Promise.resolve(),v=await new Promise(_=>g.once(_)),b=null;try{typeof v=="string"?b=JSON.parse(v):b=v}catch(_){console.warn("[deleteFunc] Could not JSON parse data for deletion check:",v,_),b=null}if(b&&n.isHologram(b))try{let _=b.soul;if(n.parseSoulPath(_)){let k=n.getNodeRef(_),T=`${n.appname}/${e}/${s}/${a}`;m=new Promise(x=>{k.get("_holograms").get(T).put(null,N=>{N.err&&console.warn(`[deleteFunc] Error removing hologram ${T} from target ${_}:`,N.err),x()})})}else console.warn(`Could not parse target soul ${_} for hologram tracking removal.`)}catch(_){console.warn(`Error initiating hologram reference removal from target ${b.soul}:`,_),m=Promise.resolve()}return await m,new Promise((_,$)=>{g.put(null,k=>{k.err?$(new Error(k.err)):_(!0)})})}catch(h){throw console.error("Error in delete:",h),h}}async function wd(n,e,s,a=null){if(!e||!s)return console.error("deleteAll: Missing holon or lens parameter"),!1;try{let c=null;return a&&(c=n.gun.user(),await new Promise((h,g)=>{let m=n.userName(e);c.auth(m,a,v=>{v.err?(console.log(`Initial auth failed for ${m} during deleteAll, attempting to create...`),c.create(m,a,b=>{b.err?b.err.includes("already created")||b.err.includes("already being created")?(console.log(`User ${m} already existed or being created during deleteAll, re-attempting auth with fresh user object.`),n.gun.user().auth(m,a,_=>{_.err&&console.log(`Auth still failed after user existed check: ${_.err}. Resolving anyway for test operations.`),h()})):(console.log(`Create user error (resolving anyway for operations): ${b.err}`),h()):(console.log(`User ${m} created successfully during deleteAll, attempting auth...`),c.auth(m,a,w=>{w.err?g(new Error(`Failed to auth after create for ${m} during deleteAll: ${w.err}`)):h()}))})):h()})})),new Promise(h=>{let g=[];(a?c.get("private").get(s):n.gun.get(n.appname).get(e).get(s)).once(async v=>{if(!v){h(!0);return}let b=Object.keys(v).filter(w=>w!=="_");for(let w of b)try{let _=a?c.get("private").get(s).get(w):n.gun.get(n.appname).get(e).get(s).get(w),$=await new Promise(x=>_.once(x)),k=null;try{typeof $=="string"?k=JSON.parse($):k=$}catch(x){console.warn("[deleteAll] Could not JSON parse data for deletion check:",$,x),k=null}if(k&&n.isHologram(k))try{let x=k.soul;if(n.parseSoulPath(x)){let j=n.getNodeRef(x),q=`${n.appname}/${e}/${s}/${w}`;await new Promise(L=>{j.get("_holograms").get(q).put(null,G=>{G.err&&console.warn(`[deleteAll] Error removing hologram ${q} from target ${x}:`,G.err),L()})})}else console.warn(`Could not parse target soul ${x} for hologram tracking removal during deleteAll.`)}catch(x){console.warn(`Error removing hologram reference from target ${k.soul} during deleteAll:`,x)}g.push(new Promise(x=>{(a?c.get("private").get(s).get(w):n.gun.get(n.appname).get(e).get(s).get(w)).put(null,j=>{x(!!j.ok)})}))}catch(_){console.warn(`Error processing key ${w} during deleteAll:`,_),g.push(new Promise($=>{(a?c.get("private").get(s).get(w):n.gun.get(n.appname).get(e).get(s).get(w)).put(null,T=>{$(!!T.ok)})}))}Promise.all(g).then(w=>{let _=w.every($=>$===!0);h(_)}).catch(w=>{console.error("Error in deleteAll:",w),h(!1)})})})}catch(c){return console.error("Error in deleteAll:",c),!1}}async function vd(n,e,s,a){if(!e||!s||!a)throw new Error("putNode: Missing required parameters");return new Promise((c,h)=>{try{let g=a.value&&n.isHologram(a.value);n.gun.get(n.appname).get(e).get(s).get("value").put(a.value,m=>{if(m.err)h(new Error(m.err));else{if(g)try{if(n.parseSoulPath(a.value.soul)){let b=n.getNodeRef(a.value.soul),w=`${n.appname}/${e}/${s}/value`;b.get("_holograms").get(w).put(!0)}else console.warn(`Data (ID: ${a.id}) being put is a hologram, but could not parse its soul ${a.value.soul} for tracking.`)}catch(v){console.warn(`Error updating _holograms set for the target of the data being put (data ID: ${a.id}, soul: ${a.value.soul}):`,v)}c(!0)}})}catch(g){h(g)}})}async function bd(n,e,s,a){if(!e||!s||!a)throw new Error("getNode: Missing required parameters");return new Promise((c,h)=>{try{n.gun.get(n.appname).get(e).get(s).get(a).once(g=>{if(!g){c(null);return}c(g)})}catch(g){h(g)}})}function sa(n,e){if(typeof e!="string"||!e)throw new Error("getNodeRef: Invalid soul parameter");let s=e.split("/").filter(c=>{if(!c.trim()||/[<>:"/\\|?*]/.test(c))throw new Error("getNodeRef: Invalid path segment");return c.trim()});if(s.length===0)throw new Error("getNodeRef: Invalid soul format");let a=n.gun.get(n.appname);return s.forEach(c=>{a=a.get(c)}),a}async function _d(n,e){if(!e)throw new Error("getNodeBySoul: Missing soul parameter");return console.log(`getNodeBySoul: Accessing soul ${e}`),new Promise((s,a)=>{try{sa(n,e).once(h=>{if(console.log("getNodeBySoul: Retrieved data:",h),!h){s(null);return}s(h)})}catch(c){console.error("getNodeBySoul error:",c),a(c)}})}async function Ed(n,e,s,a){if(!e||!s||!a)throw new Error("deleteNode: Missing required parameters");try{let c=n.gun.get(n.appname).get(e).get(s).get(a),h=Promise.resolve(),g=await new Promise(b=>c.once(b)),m=null;try{typeof g=="string"?m=JSON.parse(g):m=g}catch(b){console.warn("[deleteNode] Could not JSON parse data for deletion check:",g,b),m=null}if(m&&n.isHologram(m))try{let b=m.soul;if(n.parseSoulPath(b)){let _=n.getNodeRef(b),$=`${n.appname}/${e}/${s}/value`;h=new Promise(k=>{_.get("_holograms").get($).put(null,T=>{T.err&&console.warn(`[deleteNode] Error removing hologram ${$} from target ${b}:`,T.err),k()})})}else console.warn(`Could not parse target soul ${b} for hologram tracking removal during deleteNode.`)}catch(b){console.warn(`Error initiating hologram reference removal from target ${m.soul} during deleteNode:`,b),h=Promise.resolve()}return await h,new Promise((b,w)=>{c.put(null,_=>{_.err?w(new Error(_.err)):b(!0)})})}catch(c){throw console.error("Error in deleteNode:",c),c}}function M4(n,e,s){return!e||e<=0?n:new Promise((a,c)=>{let h=!1,g=(m,v)=>{h||(h=!0,m(v))};n.then(m=>g(a,m),m=>g(c,m)),setTimeout(()=>g(a,s),e)})}async function aa(n,e,s,a=null,c={}){try{if(!e||!s)throw new Error("Table name and data are required");let h=null;a&&(h=n.gun.user(),await new Promise((b,w)=>{let _=n.userName(e);h.auth(_,a,$=>{$.err?(console.log(`Initial auth failed for ${_}, attempting to create...`),h.create(_,a,k=>{k.err?k.err.includes("already created")||k.err.includes("already being created")?(console.log(`User ${_} already existed or being created, re-attempting auth with fresh user object.`),n.gun.user().auth(_,a,x=>{x.err&&console.log(`Auth still failed after user existed check: ${x.err}. Resolving anyway for test operations.`),b()})):(console.log(`Create user error (resolving anyway for operations): ${k.err}`),b()):(console.log(`User ${_} created successfully, attempting auth...`),h.auth(_,a,T=>{T.err?w(new Error(`Failed to auth after create for ${_}: ${T.err}`)):b()}))})):b()})}));let g=c.timeout!==void 0?c.timeout:5e3,m=new Promise((b,w)=>{try{let _={...s};_._meta!==void 0&&delete _._meta,_._hologram!==void 0&&delete _._hologram;let $=JSON.stringify(_),k=n.isHologram(_),T=a?h.get("private").get(e):n.gun.get(n.appname).get(e);s.id?T.get(s.id).put($,N=>{if(N.err)w(new Error(N.err));else{if(k)try{if(n.parseSoulPath(_.soul)){let q=n.getNodeRef(_.soul),L=`${n.appname}/${e}/${s.id}`;q.get("_holograms").get(L).put(!0)}else console.warn(`Data (ID: ${s.id}) being put is a hologram, but could not parse its soul ${_.soul} for tracking.`)}catch(j){console.warn(`Error updating _holograms set for the target of the data being put (data ID: ${s.id}, soul: ${_.soul}):`,j)}b()}}):T.put($,x=>{if(x.err)w(new Error(x.err));else{if(k)try{if(n.parseSoulPath(_.soul)){let j=n.getNodeRef(_.soul),q=`${n.appname}/${e}`;j.get("_holograms").get(q).put(!0)}else console.warn(`Data being put is a hologram, but could not parse its soul ${_.soul} for tracking.`)}catch(N){console.warn(`Error updating _holograms set for the target of the data being put (soul: ${_.soul}):`,N)}b()}})}catch(_){w(_)}}),v=Symbol("ackOk");return M4(m.then(()=>v),g,void 0).then(b=>{b!==v&&console.warn(`putGlobal: no ack within ${g}ms for table=${e} \u2014 write queued locally, will replay on reconnect`)})}catch(h){throw console.error("Error in putGlobal:",h),h}}async function $d(n,e,s,a=null){try{let c=null;return a&&(c=n.gun.user(),await new Promise((h,g)=>{let m=n.userName(e);c.auth(m,a,v=>{v.err?(console.log(`Initial auth failed for ${m}, attempting to create...`),c.create(m,a,b=>{b.err?b.err.includes("already created")||b.err.includes("already being created")?(console.log(`User ${m} already existed or being created, re-attempting auth with fresh user object.`),n.gun.user().auth(m,a,_=>{_.err&&console.log(`Auth still failed after user existed check: ${_.err}. Resolving anyway for test operations.`),h()})):(console.log(`Create user error (resolving anyway for operations): ${b.err}`),h()):(console.log(`User ${m} created successfully, attempting auth...`),c.auth(m,a,w=>{w.err?g(new Error(`Failed to auth after create for ${m}: ${w.err}`)):h()}))})):h()})})),new Promise(async h=>{let g=async b=>{if(!b){h(null);return}try{let w=await n.parse(b);if(!w){h(null);return}if(n.isHologram(w)){let _=await n.resolveHologram(w,{followHolograms:!0});if(_===null){try{await n.deleteGlobal(e,s,a)}catch($){console.error(`Failed to delete invalid global hologram at ${e}/${s}:`,$)}h(null);return}if(_!==w){h(_);return}}h(w)}catch(w){console.error("Error parsing data in getGlobal:",w),h(null)}};(a?c.get("private").get(e):n.gun.get(n.appname).get(e)).get(s).once(g)})}catch(c){return console.error("Error in getGlobal:",c),null}}async function kd(n,e,s=null){if(!e)throw new Error("getAllGlobal: Missing table name parameter");try{let a=null;return s&&(a=n.gun.user(),await new Promise((c,h)=>{let g=n.userName(e);a.auth(g,s,m=>{m.err?(console.log(`Initial auth failed for ${g}, attempting to create...`),a.create(g,s,v=>{v.err?v.err.includes("already created")||v.err.includes("already being created")?(console.log(`User ${g} already existed or being created, re-attempting auth with fresh user object.`),n.gun.user().auth(g,s,w=>{w.err&&console.log(`Auth still failed after user existed check: ${w.err}. Resolving anyway for test operations.`),c()})):(console.log(`Create user error (resolving anyway for operations): ${v.err}`),c()):(console.log(`User ${g} created successfully, attempting auth...`),a.auth(g,s,b=>{b.err?h(new Error(`Failed to auth after create for ${g}: ${b.err}`)):c()}))})):c()})})),new Promise(c=>{let h=[],g=[],m=s?a.get("private").get(e):n.gun.get(n.appname).get(e),v=()=>new Promise(w=>m.once(_=>w(_))),b=w=>{if(!w){c([]);return}let _=Object.keys(w).filter(T=>{if(T==="_")return!1;let x=w[T];return!(x===null||typeof x=="object"&&x["#"])});if(_.length===0){c([]);return}let k=async(T,x)=>{if(T)try{let N=await n.parse(T);if(!N)return;if(n.isHologram(N)){let j=await n.resolveHologram(N,{followHolograms:!0});if(j===null){try{await n.deleteGlobal(e,x,s)}catch(q){console.error(`Failed to delete invalid global hologram at ${e}/${x}:`,q)}return}j!==N?h.push(j):h.push(N)}else h.push(N)}catch(N){console.error("Error parsing data:",N)}};Promise.all(_.map(T=>{let x=w[T];return typeof x!="object"||x===null?k(x,T):new Promise(N=>{m.get(T).once(j=>{k(j,T).then(N,N)})})})).then(()=>c(h))};(async()=>{let w=await v();w||(await new Promise(_=>setTimeout(_,1500)),w=await v()),b(w)})()})}catch(a){return console.error("Error in getAllGlobal:",a),[]}}async function xd(n,e,s,a=null){if(!e||!s)throw new Error("deleteGlobal: Missing required parameters");try{let c=null;a&&(c=n.gun.user(),await new Promise((w,_)=>{let $=n.userName(e);c.auth($,a,k=>{k.err?(console.log(`Initial auth failed for ${$}, attempting to create...`),c.create($,a,T=>{T.err?T.err.includes("already created")||T.err.includes("already being created")?(console.log(`User ${$} already existed or being created, re-attempting auth with fresh user object.`),n.gun.user().auth($,a,N=>{N.err&&console.log(`Auth still failed after user existed check: ${N.err}. Resolving anyway for test operations.`),w()})):(console.log(`Create user error (resolving anyway for operations): ${T.err}`),w()):(console.log(`User ${$} created successfully, attempting auth...`),c.auth($,a,x=>{x.err?_(new Error(`Failed to auth after create for ${$}: ${x.err}`)):w()}))})):w()})}));let h=a?c.get("private").get(e).get(s):n.gun.get(n.appname).get(e).get(s),g=Promise.resolve(),m=await new Promise(w=>h.once(w)),v=null;try{typeof m=="string"?v=JSON.parse(m):v=m}catch(w){console.warn("[deleteGlobal] Could not JSON parse data for deletion check:",m,w),v=null}if(v&&n.isHologram(v))try{let w=v.soul;if(n.parseSoulPath(w)){let $=n.getNodeRef(w),k=`${n.appname}/${e}/${s}`;g=new Promise(T=>{$.get("_holograms").get(k).put(null,x=>{x.err&&console.warn(`[deleteGlobal] Error removing hologram ${k} from target ${w}:`,x.err),T()})})}else console.warn(`Could not parse target soul ${w} for hologram tracking removal during deleteGlobal.`)}catch(w){console.warn(`Error initiating hologram reference removal from target ${v.soul} during deleteGlobal:`,w),g=Promise.resolve()}return await g,new Promise((w,_)=>{h.put(null,$=>{$.err?(console.error("deleteGlobal - Deletion error:",$.err),_(new Error($.err))):w(!0)})})}catch(c){throw console.error("Error in deleteGlobal:",c),c}}async function Sd(n,e,s=null){if(!e)throw new Error("deleteAllGlobal: Missing table name parameter");try{let a=null;return s&&(a=n.gun.user(),await new Promise((c,h)=>{let g=n.userName(e);a.auth(g,s,m=>{m.err?(console.log(`Initial auth failed for ${g}, attempting to create...`),a.create(g,s,v=>{v.err?v.err.includes("already created")||v.err.includes("already being created")?(console.log(`User ${g} already existed or being created, re-attempting auth with fresh user object.`),n.gun.user().auth(g,s,w=>{w.err&&console.log(`Auth still failed after user existed check: ${w.err}. Resolving anyway for test cleanup.`),c()})):(console.log(`Create user error (resolving anyway for cleanup): ${v.err}`),c()):(console.log(`User ${g} created successfully, attempting auth...`),a.auth(g,s,b=>{b.err?h(new Error(`Failed to auth after create for ${g}: ${b.err}`)):c()}))})):c()})})),new Promise((c,h)=>{try{let g=new Set,m=setTimeout(()=>{g.size===0&&c(!0)},5e3),v=s?a.get("private").get(e):n.gun.get(n.appname).get(e);v.once(async b=>{if(!b){clearTimeout(m),c(!0);return}let w=Object.keys(b).filter($=>$!=="_");for(let $ of w)try{let k=s?a.get("private").get(e).get($):n.gun.get(n.appname).get(e).get($),T=await new Promise(j=>k.once(j)),x=null;try{typeof T=="string"?x=JSON.parse(T):x=T}catch(j){console.warn("[deleteAllGlobal] Could not JSON parse data for deletion check:",T,j),x=null}if(x&&n.isHologram(x))try{let j=x.soul;if(n.parseSoulPath(j)){let L=n.getNodeRef(j),G=`${n.appname}/${e}/${$}`;await new Promise(z=>{L.get("_holograms").get(G).put(null,J=>{J.err&&console.warn(`[deleteAllGlobal] Error removing hologram ${G} from target ${j}:`,J.err),z()})})}else console.warn(`Could not parse target soul ${j} for hologram tracking removal during deleteAllGlobal.`)}catch(j){console.warn(`Error removing hologram reference from target ${x.soul} during deleteAllGlobal:`,j)}g.add($)}catch(k){console.warn(`Error processing key ${$} during deleteAllGlobal:`,k),g.add($)}let _=w.map($=>new Promise((k,T)=>{(s?a.get("private").get(e).get($):n.gun.get(n.appname).get(e).get($)).put(null,N=>{N.err?(console.error(`Failed to delete ${$}:`,N.err),T(new Error(N.err))):k()})}));try{await Promise.all(_),v.put(null),clearTimeout(m),c(!0)}catch($){h($)}})}catch(g){h(g)}})}catch(a){throw console.error("Error in deleteAllGlobal:",a),a}}function Bd(n,e,s,a,c={}){let h=n.gun.get(n.appname).get(e),g=!0;return s?h.get(s).on(async m=>{if(!(!g||!m))try{let v=await n.parse(m);v&&a(v,s)}catch(v){console.warn("[subscribeGlobal] Error parsing data:",v)}}):h.map().on(async(m,v)=>{if(!(!g||!m||v==="_"))try{let b=await n.parse(m);b&&a(b,v)}catch(b){console.warn("[subscribeGlobal] Error parsing data:",b)}}),{unsubscribe:()=>{g=!1,s?h.get(s).off():h.off()},stop:()=>{g=!1,s?h.get(s).off():h.off()}}}async function Pd(n,e,s,a,c=15,h=null){let g=e,m=wt(g),v=[];for(;m>0&&c>0;)try{let b=await n.compute(g,s,a,h);b&&v.push(b),g=vt(g,m-1),m--,c--}catch(b){console.error("Error in compute hierarchy:",b);break}return v}async function Dd(n,e,s,a,c=null){if(!e||!s)throw new Error("compute: Missing required parameters");if(typeof a=="string"&&(a={operation:a}),!a?.operation)throw new Error("compute: Missing required parameters");let h;try{h=wt(e)}catch{throw new Error("compute: Invalid holon format")}if(h<1||h>15)throw new Error("compute: Invalid holon resolution (must be between 1 and 15)");let{operation:g,fields:m=[],targetField:v,depth:b,maxDepth:w}=a;if(b!==void 0&&b<0)throw new Error("compute: Invalid depth parameter");if(w!==void 0&&(w<1||w>15))throw new Error("compute: Invalid maxDepth parameter (must be between 1 and 15)");let _=["summarize","aggregate","concatenate"];if(!_.includes(g))throw new Error(`compute: Invalid operation (must be one of ${_.join(", ")})`);let $=vt(e,h-1),k=Ju($,h),x=(await Promise.all(k.map(N=>n.getAll(N,s,c)))).flat().filter(Boolean);if(x.length>0)try{let N;switch(g){case"summarize":let j=m.length>0?x.map(q=>m.map(L=>q[L]).filter(Boolean).join(`
|
|
11
11
|
`)).join(`
|
|
12
|
-
`):JSON.stringify(x);
|
|
13
|
-
`));return g.summary=m,await n.db.put("cell",g),g}catch(a){throw console.error("Error during updateParent:",a),a}}async function jd(n,e,s){return Jo(n,e,s)}function Nd(n,e){let s=[],a=Jo(n,e,14);s.push(a);for(let c=13;c>=0;c--)s.push(vt(a,c));return s}function Md(n){let e=[],s=wt(n);for(let a=s;a>=0;a--)e.push(vt(n,a));return e}function Rd(n,e,s,a){if(!e||!s)throw new Error("subscribe: Missing holon or lens parameters:",e,s);if(!a||typeof a!="function")throw new Error("subscribe: Callback must be a function");let c=n.generateId();try{let h=n.gun.get(n.appname).get(e).get(s).map(),g=h.on(async(m,v)=>{if(n.subscriptions[c]&&m)try{let b=await n.parse(m);if(b&&n.isHologram(b)){let w=await n.resolveHologram(b,{followHolograms:!0});w!==b&&(b=w)}if(b!==null&&(typeof b!="object"||Array.isArray(b))){console.warn(`[holosphere.subscribe] dropping non-object payload at ${e}/${s}/${v}:`,typeof b);return}n.subscriptions[c]&&a(b,v)}catch(b){console.error("Error processing subscribed data:",b)}});return n.subscriptions[c]={id:c,holon:e,lens:s,callback:a,mapChain:h,gunListener:g},{unsubscribe:()=>{let m=n.subscriptions[c];if(m)try{m.mapChain&&m.mapChain.off(),delete n.subscriptions[c]}catch(v){console.error(`Error during unsubscribe logic for ${c}:`,v)}}}}catch(h){throw console.error("Error creating subscription:",h),h}}function Id(n,e){if(!(!e||!e.holon||!e.lens))try{Object.values(n.subscriptions).forEach(s=>{if(s.holon===e.holon&&s.lens===e.lens)try{s.callback&&typeof s.callback=="function"&&s.callback(e)}catch(a){console.warn("Error in subscription callback:",a)}})}catch(s){console.warn("Error notifying subscribers:",s)}}function Hd(){return Date.now().toString(10)+Math.random().toString(2)}async function Qd(n){try{if(n.gun){let e=Object.keys(n.subscriptions);for(let s of e)try{let a=n.subscriptions[s];a&&a.mapChain&&a.mapChain.off()}catch(a){console.warn(`Error cleaning up subscription ${s}:`,a)}if(n.subscriptions={},n.clearSchemaCache(),n.gun.back)try{let s=n.gun.back("opt.mesh");if(s){if(s.hear)try{let a=Object.keys(s.hear);for(let c of a)Array.isArray(s.hear[c])&&(s.hear[c]=[]);typeof s.hear!="function"&&(s.hear={})}catch(a){console.warn("Error cleaning up Gun mesh hear:",a)}if(s.way)try{Object.values(s.way).forEach(a=>{a&&a.wire&&a.wire.close&&a.wire.close()})}catch(a){console.warn("Error closing mesh sockets:",a)}s.opt&&s.opt.peers&&(s.opt.peers={})}if(n.gun.back("opt.web"))try{let a=n.gun.back("opt.web");a&&a.close&&a.close()}catch(a){console.warn("Error closing web server:",a)}}catch(s){console.warn("Error accessing Gun mesh:",s)}try{n.gun.off()}catch(s){console.warn("Error turning off Gun listeners:",s)}await new Promise(s=>setTimeout(s,100))}console.log("HoloSphere instance closed successfully")}catch(e){console.error("Error closing HoloSphere instance:",e)}}function qd(n,e){return e?`${n.appname}:${e}`:null}var wr=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;function vr(n){return n instanceof Uint8Array||ArrayBuffer.isView(n)&&n.constructor.name==="Uint8Array"}function Wn(n){if(!Number.isSafeInteger(n)||n<0)throw new Error("positive integer expected, got "+n)}function ct(n,...e){if(!vr(n))throw new Error("Uint8Array expected");if(e.length>0&&!e.includes(n.length))throw new Error("Uint8Array expected of length "+e+", got length="+n.length)}function Xi(n){if(typeof n!="function"||typeof n.create!="function")throw new Error("Hash should be wrapped by utils.createHasher");Wn(n.outputLen),Wn(n.blockLen)}function Zr(n,e=!0){if(n.destroyed)throw new Error("Hash instance has been destroyed");if(e&&n.finished)throw new Error("Hash#digest() has already been called")}function Ud(n,e){ct(n);let s=e.outputLen;if(n.length<s)throw new Error("digestInto() expects output buffer of length at least "+s)}function br(...n){for(let e=0;e<n.length;e++)n[e].fill(0)}function eo(n){return new DataView(n.buffer,n.byteOffset,n.byteLength)}function dt(n,e){return n<<32-e|n>>>e}var Gd=typeof Uint8Array.from([]).toHex=="function"&&typeof Uint8Array.fromHex=="function",R4=Array.from({length:256},(n,e)=>e.toString(16).padStart(2,"0"));function PA(n){if(ct(n),Gd)return n.toHex();let e="";for(let s=0;s<n.length;s++)e+=R4[n[s]];return e}var Dt={_0:48,_9:57,A:65,F:70,a:97,f:102};function Ld(n){if(n>=Dt._0&&n<=Dt._9)return n-Dt._0;if(n>=Dt.A&&n<=Dt.F)return n-(Dt.A-10);if(n>=Dt.a&&n<=Dt.f)return n-(Dt.a-10)}function ht(n){if(typeof n!="string")throw new Error("hex string expected, got "+typeof n);if(Gd)return Uint8Array.fromHex(n);let e=n.length,s=e/2;if(e%2)throw new Error("hex string expected, got unpadded hex of length "+e);let a=new Uint8Array(s);for(let c=0,h=0;c<s;c++,h+=2){let g=Ld(n.charCodeAt(h)),m=Ld(n.charCodeAt(h+1));if(g===void 0||m===void 0){let v=n[h]+n[h+1];throw new Error('hex string expected, got non-hex character "'+v+'" at index '+h)}a[c]=g*16+m}return a}function Fd(n){if(typeof n!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(n))}function Jn(n){return typeof n=="string"&&(n=Fd(n)),ct(n),n}function pt(...n){let e=0;for(let a=0;a<n.length;a++){let c=n[a];ct(c),e+=c.length}let s=new Uint8Array(e);for(let a=0,c=0;a<n.length;a++){let h=n[a];s.set(h,c),c+=h.length}return s}var Jr=class{};function Vd(n){let e=a=>n().update(Jn(a)).digest(),s=n();return e.outputLen=s.outputLen,e.blockLen=s.blockLen,e.create=()=>n(),e}function Ao(n=32){if(wr&&typeof wr.getRandomValues=="function")return wr.getRandomValues(new Uint8Array(n));if(wr&&typeof wr.randomBytes=="function")return Uint8Array.from(wr.randomBytes(n));throw new Error("crypto.getRandomValues must be defined")}function I4(n,e,s,a){if(typeof n.setBigUint64=="function")return n.setBigUint64(e,s,a);let c=BigInt(32),h=BigInt(4294967295),g=Number(s>>c&h),m=Number(s&h),v=a?4:0,b=a?0:4;n.setUint32(e+v,g,a),n.setUint32(e+b,m,a)}function zd(n,e,s){return n&e^~n&s}function Kd(n,e,s){return n&e^n&s^e&s}var to=class extends Jr{constructor(e,s,a,c){super(),this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.blockLen=e,this.outputLen=s,this.padOffset=a,this.isLE=c,this.buffer=new Uint8Array(e),this.view=eo(this.buffer)}update(e){Zr(this),e=Jn(e),ct(e);let{view:s,buffer:a,blockLen:c}=this,h=e.length;for(let g=0;g<h;){let m=Math.min(c-this.pos,h-g);if(m===c){let v=eo(e);for(;c<=h-g;g+=c)this.process(v,g);continue}a.set(e.subarray(g,g+m),this.pos),this.pos+=m,g+=m,this.pos===c&&(this.process(s,0),this.pos=0)}return this.length+=e.length,this.roundClean(),this}digestInto(e){Zr(this),Ud(e,this),this.finished=!0;let{buffer:s,view:a,blockLen:c,isLE:h}=this,{pos:g}=this;s[g++]=128,br(this.buffer.subarray(g)),this.padOffset>c-g&&(this.process(a,0),g=0);for(let E=g;E<c;E++)s[E]=0;I4(a,c-8,BigInt(this.length*8),h),this.process(a,0);let m=eo(e),v=this.outputLen;if(v%4)throw new Error("_sha2: outputLen should be aligned to 32bit");let b=v/4,w=this.get();if(b>w.length)throw new Error("_sha2: outputLen bigger than state");for(let E=0;E<b;E++)m.setUint32(4*E,w[E],h)}digest(){let{buffer:e,outputLen:s}=this;this.digestInto(e);let a=e.slice(0,s);return this.destroy(),a}_cloneInto(e){e||(e=new this.constructor),e.set(...this.get());let{blockLen:s,buffer:a,length:c,finished:h,destroyed:g,pos:m}=this;return e.destroyed=g,e.finished=h,e.length=c,e.pos=m,c%s&&e.buffer.set(a),e}clone(){return this._cloneInto()}},Ct=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]);var H4=Uint32Array.from([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),Wt=new Uint32Array(64),ua=class extends to{constructor(e=32){super(64,e,8,!1),this.A=Ct[0]|0,this.B=Ct[1]|0,this.C=Ct[2]|0,this.D=Ct[3]|0,this.E=Ct[4]|0,this.F=Ct[5]|0,this.G=Ct[6]|0,this.H=Ct[7]|0}get(){let{A:e,B:s,C:a,D:c,E:h,F:g,G:m,H:v}=this;return[e,s,a,c,h,g,m,v]}set(e,s,a,c,h,g,m,v){this.A=e|0,this.B=s|0,this.C=a|0,this.D=c|0,this.E=h|0,this.F=g|0,this.G=m|0,this.H=v|0}process(e,s){for(let E=0;E<16;E++,s+=4)Wt[E]=e.getUint32(s,!1);for(let E=16;E<64;E++){let $=Wt[E-15],k=Wt[E-2],T=dt($,7)^dt($,18)^$>>>3,x=dt(k,17)^dt(k,19)^k>>>10;Wt[E]=x+Wt[E-7]+T+Wt[E-16]|0}let{A:a,B:c,C:h,D:g,E:m,F:v,G:b,H:w}=this;for(let E=0;E<64;E++){let $=dt(m,6)^dt(m,11)^dt(m,25),k=w+$+zd(m,v,b)+H4[E]+Wt[E]|0,x=(dt(a,2)^dt(a,13)^dt(a,22))+Kd(a,c,h)|0;w=b,b=v,v=m,m=g+k|0,g=h,h=c,c=a,a=k+x|0}a=a+this.A|0,c=c+this.B|0,h=h+this.C|0,g=g+this.D|0,m=m+this.E|0,v=v+this.F|0,b=b+this.G|0,w=w+this.H|0,this.set(a,c,h,g,m,v,b,w)}roundClean(){br(Wt)}destroy(){this.set(0,0,0,0,0,0,0,0),br(this.buffer)}};var Yd=Vd(()=>new ua);var ro=class extends Jr{constructor(e,s){super(),this.finished=!1,this.destroyed=!1,Xi(e);let a=Jn(s);if(this.iHash=e.create(),typeof this.iHash.update!="function")throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;let c=this.blockLen,h=new Uint8Array(c);h.set(a.length>c?e.create().update(a).digest():a);for(let g=0;g<h.length;g++)h[g]^=54;this.iHash.update(h),this.oHash=e.create();for(let g=0;g<h.length;g++)h[g]^=106;this.oHash.update(h),br(h)}update(e){return Zr(this),this.iHash.update(e),this}digestInto(e){Zr(this),ct(e,this.outputLen),this.finished=!0,this.iHash.digestInto(e),this.oHash.update(e),this.oHash.digestInto(e),this.destroy()}digest(){let e=new Uint8Array(this.oHash.outputLen);return this.digestInto(e),e}_cloneInto(e){e||(e=Object.create(Object.getPrototypeOf(this),{}));let{oHash:s,iHash:a,finished:c,destroyed:h,blockLen:g,outputLen:m}=this;return e=e,e.finished=c,e.destroyed=h,e.blockLen=g,e.outputLen=m,e.oHash=s._cloneInto(e.oHash),e.iHash=a._cloneInto(e.iHash),e}clone(){return this._cloneInto()}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}},la=(n,e,s)=>new ro(n,e).update(s).digest();la.create=(n,e)=>new ro(n,e);var da=BigInt(0),ca=BigInt(1);function Zn(n,e=""){if(typeof n!="boolean"){let s=e&&`"${e}"`;throw new Error(s+"expected boolean, got type="+typeof n)}return n}function Jt(n,e,s=""){let a=vr(n),c=n?.length,h=e!==void 0;if(!a||h&&c!==e){let g=s&&`"${s}" `,m=h?` of length ${e}`:"",v=a?`length=${c}`:`type=${typeof n}`;throw new Error(g+"expected Uint8Array"+m+", got "+v)}return n}function Xn(n){let e=n.toString(16);return e.length&1?"0"+e:e}function Wd(n){if(typeof n!="string")throw new Error("hex string expected, got "+typeof n);return n===""?da:BigInt("0x"+n)}function Xr(n){return Wd(PA(n))}function ha(n){return ct(n),Wd(PA(Uint8Array.from(n).reverse()))}function no(n,e){return ht(n.toString(16).padStart(e*2,"0"))}function pa(n,e){return no(n,e).reverse()}function NA(n,e,s){let a;if(typeof e=="string")try{a=ht(e)}catch(h){throw new Error(n+" must be hex string or Uint8Array, cause: "+h)}else if(vr(e))a=Uint8Array.from(e);else throw new Error(n+" must be hex string or Uint8Array");let c=a.length;if(typeof s=="number"&&c!==s)throw new Error(n+" of length "+s+" expected, got "+c);return a}var fa=n=>typeof n=="bigint"&&da<=n;function Jd(n,e,s){return fa(n)&&fa(e)&&fa(s)&&e<=n&&n<s}function Zd(n,e,s,a){if(!Jd(e,s,a))throw new Error("expected valid "+n+": "+s+" <= n < "+a+", got "+e)}function io(n){let e;for(e=0;n>da;n>>=ca,e+=1);return e}var Zt=n=>(ca<<BigInt(n))-ca;function Xd(n,e,s){if(typeof n!="number"||n<2)throw new Error("hashLen must be a number");if(typeof e!="number"||e<2)throw new Error("qByteLen must be a number");if(typeof s!="function")throw new Error("hmacFn must be a function");let a=k=>new Uint8Array(k),c=k=>Uint8Array.of(k),h=a(n),g=a(n),m=0,v=()=>{h.fill(1),g.fill(0),m=0},b=(...k)=>s(g,h,...k),w=(k=a(0))=>{g=b(c(0),k),h=b(),k.length!==0&&(g=b(c(1),k),h=b())},E=()=>{if(m++>=1e3)throw new Error("drbg: tried 1000 values");let k=0,T=[];for(;k<e;){h=b();let x=h.slice();T.push(x),k+=h.length}return pt(...T)};return(k,T)=>{v(),w(k);let x;for(;!(x=T(E()));)w();return v(),x}}function ei(n,e,s={}){if(!n||typeof n!="object")throw new Error("expected valid options object");function a(c,h,g){let m=n[c];if(g&&m===void 0)return;let v=typeof m;if(v!==h||m===null)throw new Error(`param "${c}" is invalid: expected ${h}, got ${v}`)}Object.entries(e).forEach(([c,h])=>a(c,h,!1)),Object.entries(s).forEach(([c,h])=>a(c,h,!0))}function ga(n){let e=new WeakMap;return(s,...a)=>{let c=e.get(s);if(c!==void 0)return c;let h=n(s,...a);return e.set(s,h),h}}var LA=BigInt(0),MA=BigInt(1),_r=BigInt(2),t2=BigInt(3),r2=BigInt(4),n2=BigInt(5),Q4=BigInt(7),i2=BigInt(8),q4=BigInt(9),o2=BigInt(16);function st(n,e){let s=n%e;return s>=LA?s:e+s}function ZA(n,e,s){let a=n;for(;e-- >LA;)a*=a,a%=s;return a}function e2(n,e){if(n===LA)throw new Error("invert: expected non-zero number");if(e<=LA)throw new Error("invert: expected positive modulus, got "+e);let s=st(n,e),a=e,c=LA,h=MA,g=MA,m=LA;for(;s!==LA;){let b=a/s,w=a%s,E=c-g*b,$=h-m*b;a=s,s=w,c=g,h=m,g=E,m=$}if(a!==MA)throw new Error("invert: does not exist");return st(c,e)}function ma(n,e,s){if(!n.eql(n.sqr(e),s))throw new Error("Cannot find square root")}function s2(n,e){let s=(n.ORDER+MA)/r2,a=n.pow(e,s);return ma(n,a,e),a}function L4(n,e){let s=(n.ORDER-n2)/i2,a=n.mul(e,_r),c=n.pow(a,s),h=n.mul(e,c),g=n.mul(n.mul(h,_r),c),m=n.mul(h,n.sub(g,n.ONE));return ma(n,m,e),m}function U4(n){let e=Xt(n),s=a2(n),a=s(e,e.neg(e.ONE)),c=s(e,a),h=s(e,e.neg(a)),g=(n+Q4)/o2;return(m,v)=>{let b=m.pow(v,g),w=m.mul(b,a),E=m.mul(b,c),$=m.mul(b,h),k=m.eql(m.sqr(w),v),T=m.eql(m.sqr(E),v);b=m.cmov(b,w,k),w=m.cmov($,E,T);let x=m.eql(m.sqr(w),v),M=m.cmov(b,w,x);return ma(m,M,v),M}}function a2(n){if(n<t2)throw new Error("sqrt is not defined for small field");let e=n-MA,s=0;for(;e%_r===LA;)e/=_r,s++;let a=_r,c=Xt(n);for(;A2(c,a)===1;)if(a++>1e3)throw new Error("Cannot find square root: probably non-prime P");if(s===1)return s2;let h=c.pow(a,e),g=(e+MA)/_r;return function(v,b){if(v.is0(b))return b;if(A2(v,b)!==1)throw new Error("Cannot find square root");let w=s,E=v.mul(v.ONE,h),$=v.pow(b,e),k=v.pow(b,g);for(;!v.eql($,v.ONE);){if(v.is0($))return v.ZERO;let T=1,x=v.sqr($);for(;!v.eql(x,v.ONE);)if(T++,x=v.sqr(x),T===w)throw new Error("Cannot find square root");let M=MA<<BigInt(w-T-1),N=v.pow(E,M);w=T,E=v.sqr(N),$=v.mul($,E),k=v.mul(k,N)}return k}}function G4(n){return n%r2===t2?s2:n%i2===n2?L4:n%o2===q4?U4(n):a2(n)}var F4=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function ya(n){let e={ORDER:"bigint",MASK:"bigint",BYTES:"number",BITS:"number"},s=F4.reduce((a,c)=>(a[c]="function",a),e);return ei(n,s),n}function V4(n,e,s){if(s<LA)throw new Error("invalid exponent, negatives unsupported");if(s===LA)return n.ONE;if(s===MA)return e;let a=n.ONE,c=e;for(;s>LA;)s&MA&&(a=n.mul(a,c)),c=n.sqr(c),s>>=MA;return a}function oo(n,e,s=!1){let a=new Array(e.length).fill(s?n.ZERO:void 0),c=e.reduce((g,m,v)=>n.is0(m)?g:(a[v]=g,n.mul(g,m)),n.ONE),h=n.inv(c);return e.reduceRight((g,m,v)=>n.is0(m)?g:(a[v]=n.mul(g,a[v]),n.mul(g,m)),h),a}function A2(n,e){let s=(n.ORDER-MA)/_r,a=n.pow(e,s),c=n.eql(a,n.ONE),h=n.eql(a,n.ZERO),g=n.eql(a,n.neg(n.ONE));if(!c&&!h&&!g)throw new Error("invalid Legendre symbol result");return c?1:h?0:-1}function so(n,e){e!==void 0&&Wn(e);let s=e!==void 0?e:n.toString(2).length,a=Math.ceil(s/8);return{nBitLength:s,nByteLength:a}}function Xt(n,e,s=!1,a={}){if(n<=LA)throw new Error("invalid field: expected ORDER > 0, got "+n);let c,h,g=!1,m;if(typeof e=="object"&&e!=null){if(a.sqrt||s)throw new Error("cannot specify opts in two arguments");let $=e;$.BITS&&(c=$.BITS),$.sqrt&&(h=$.sqrt),typeof $.isLE=="boolean"&&(s=$.isLE),typeof $.modFromBytes=="boolean"&&(g=$.modFromBytes),m=$.allowedLengths}else typeof e=="number"&&(c=e),a.sqrt&&(h=a.sqrt);let{nBitLength:v,nByteLength:b}=so(n,c);if(b>2048)throw new Error("invalid field: expected ORDER of <= 2048 bytes");let w,E=Object.freeze({ORDER:n,isLE:s,BITS:v,BYTES:b,MASK:Zt(v),ZERO:LA,ONE:MA,allowedLengths:m,create:$=>st($,n),isValid:$=>{if(typeof $!="bigint")throw new Error("invalid field element: expected bigint, got "+typeof $);return LA<=$&&$<n},is0:$=>$===LA,isValidNot0:$=>!E.is0($)&&E.isValid($),isOdd:$=>($&MA)===MA,neg:$=>st(-$,n),eql:($,k)=>$===k,sqr:$=>st($*$,n),add:($,k)=>st($+k,n),sub:($,k)=>st($-k,n),mul:($,k)=>st($*k,n),pow:($,k)=>V4(E,$,k),div:($,k)=>st($*e2(k,n),n),sqrN:$=>$*$,addN:($,k)=>$+k,subN:($,k)=>$-k,mulN:($,k)=>$*k,inv:$=>e2($,n),sqrt:h||($=>(w||(w=G4(n)),w(E,$))),toBytes:$=>s?pa($,b):no($,b),fromBytes:($,k=!0)=>{if(m){if(!m.includes($.length)||$.length>b)throw new Error("Field.fromBytes: expected "+m+" bytes, got "+$.length);let x=new Uint8Array(b);x.set($,s?0:x.length-$.length),$=x}if($.length!==b)throw new Error("Field.fromBytes: expected "+b+" bytes, got "+$.length);let T=s?ha($):Xr($);if(g&&(T=st(T,n)),!k&&!E.isValid(T))throw new Error("invalid field element: outside of range 0..ORDER");return T},invertBatch:$=>oo(E,$),cmov:($,k,T)=>T?k:$});return Object.freeze(E)}function u2(n){if(typeof n!="bigint")throw new Error("field order must be bigint");let e=n.toString(2).length;return Math.ceil(e/8)}function wa(n){let e=u2(n);return e+Math.ceil(e/2)}function va(n,e,s=!1){let a=n.length,c=u2(e),h=wa(e);if(a<16||a<h||a>1024)throw new Error("expected "+h+"-1024 bytes of input, got "+a);let g=s?ha(n):Xr(n),m=st(g,e-MA)+MA;return s?pa(m,c):no(m,c)}var en=BigInt(0),Er=BigInt(1);function Ai(n,e){let s=e.negate();return n?s:e}function uo(n,e){let s=oo(n.Fp,e.map(a=>a.Z));return e.map((a,c)=>n.fromAffine(a.toAffine(s[c])))}function d2(n,e){if(!Number.isSafeInteger(n)||n<=0||n>e)throw new Error("invalid window size, expected [1.."+e+"], got W="+n)}function ba(n,e){d2(n,e);let s=Math.ceil(e/n)+1,a=2**(n-1),c=2**n,h=Zt(n),g=BigInt(n);return{windows:s,windowSize:a,mask:h,maxNumber:c,shiftBy:g}}function l2(n,e,s){let{windowSize:a,mask:c,maxNumber:h,shiftBy:g}=s,m=Number(n&c),v=n>>g;m>a&&(m-=h,v+=Er);let b=e*a,w=b+Math.abs(m)-1,E=m===0,$=m<0,k=e%2!==0;return{nextN:v,offset:w,isZero:E,isNeg:$,isNegF:k,offsetF:b}}function z4(n,e){if(!Array.isArray(n))throw new Error("array expected");n.forEach((s,a)=>{if(!(s instanceof e))throw new Error("invalid point at index "+a)})}function K4(n,e){if(!Array.isArray(n))throw new Error("array of scalars expected");n.forEach((s,a)=>{if(!e.isValid(s))throw new Error("invalid scalar at index "+a)})}var _a=new WeakMap,h2=new WeakMap;function Ea(n){return h2.get(n)||1}function f2(n){if(n!==en)throw new Error("invalid wNAF")}var ao=class{constructor(e,s){this.BASE=e.BASE,this.ZERO=e.ZERO,this.Fn=e.Fn,this.bits=s}_unsafeLadder(e,s,a=this.ZERO){let c=e;for(;s>en;)s&Er&&(a=a.add(c)),c=c.double(),s>>=Er;return a}precomputeWindow(e,s){let{windows:a,windowSize:c}=ba(s,this.bits),h=[],g=e,m=g;for(let v=0;v<a;v++){m=g,h.push(m);for(let b=1;b<c;b++)m=m.add(g),h.push(m);g=m.double()}return h}wNAF(e,s,a){if(!this.Fn.isValid(a))throw new Error("invalid scalar");let c=this.ZERO,h=this.BASE,g=ba(e,this.bits);for(let m=0;m<g.windows;m++){let{nextN:v,offset:b,isZero:w,isNeg:E,isNegF:$,offsetF:k}=l2(a,m,g);a=v,w?h=h.add(Ai($,s[k])):c=c.add(Ai(E,s[b]))}return f2(a),{p:c,f:h}}wNAFUnsafe(e,s,a,c=this.ZERO){let h=ba(e,this.bits);for(let g=0;g<h.windows&&a!==en;g++){let{nextN:m,offset:v,isZero:b,isNeg:w}=l2(a,g,h);if(a=m,!b){let E=s[v];c=c.add(w?E.negate():E)}}return f2(a),c}getPrecomputes(e,s,a){let c=_a.get(s);return c||(c=this.precomputeWindow(s,e),e!==1&&(typeof a=="function"&&(c=a(c)),_a.set(s,c))),c}cached(e,s,a){let c=Ea(e);return this.wNAF(c,this.getPrecomputes(c,e,a),s)}unsafe(e,s,a,c){let h=Ea(e);return h===1?this._unsafeLadder(e,s,c):this.wNAFUnsafe(h,this.getPrecomputes(h,e,a),s,c)}createCache(e,s){d2(s,this.bits),h2.set(e,s),_a.delete(e)}hasCache(e){return Ea(e)!==1}};function p2(n,e,s,a){let c=e,h=n.ZERO,g=n.ZERO;for(;s>en||a>en;)s&Er&&(h=h.add(c)),a&Er&&(g=g.add(c)),c=c.double(),s>>=Er,a>>=Er;return{p1:h,p2:g}}function g2(n,e,s,a){z4(s,n),K4(a,e);let c=s.length,h=a.length;if(c!==h)throw new Error("arrays of points and scalars must have equal length");let g=n.ZERO,m=io(BigInt(c)),v=1;m>12?v=m-3:m>4?v=m-2:m>0&&(v=2);let b=Zt(v),w=new Array(Number(b)+1).fill(g),E=Math.floor((e.BITS-1)/v)*v,$=g;for(let k=E;k>=0;k-=v){w.fill(g);for(let x=0;x<h;x++){let M=a[x],N=Number(M>>BigInt(k)&b);w[N]=w[N].add(s[x])}let T=g;for(let x=w.length-1,M=g;x>0;x--)M=M.add(w[x]),T=T.add(M);if($=$.add(T),k!==0)for(let x=0;x<v;x++)$=$.double()}return $}function c2(n,e,s){if(e){if(e.ORDER!==n)throw new Error("Field.ORDER must match order: Fp == p, Fn == n");return ya(e),e}else return Xt(n,{isLE:s})}function m2(n,e,s={},a){if(a===void 0&&(a=n==="edwards"),!e||typeof e!="object")throw new Error(`expected valid ${n} CURVE object`);for(let v of["p","n","h"]){let b=e[v];if(!(typeof b=="bigint"&&b>en))throw new Error(`CURVE.${v} must be positive bigint`)}let c=c2(e.p,s.Fp,a),h=c2(e.n,s.Fn,a),m=["Gx","Gy","a",n==="weierstrass"?"b":"d"];for(let v of m)if(!c.isValid(e[v]))throw new Error(`CURVE.${v} must be valid field element of CURVE.Fp`);return e=Object.freeze(Object.assign({},e)),{CURVE:e,Fp:c,Fn:h}}var y2=(n,e)=>(n+(n>=0?e:-e)/w2)/e;function Y4(n,e,s){let[[a,c],[h,g]]=e,m=y2(g*n,s),v=y2(-c*n,s),b=n-m*a-v*h,w=-m*c-v*g,E=b<Ot,$=w<Ot;E&&(b=-b),$&&(w=-w);let k=Zt(Math.ceil(io(s)/2))+tn;if(b<Ot||b>=k||w<Ot||w>=k)throw new Error("splitScalar (endomorphism): failed, k="+n);return{k1neg:E,k1:b,k2neg:$,k2:w}}function ka(n){if(!["compact","recovered","der"].includes(n))throw new Error('Signature format must be "compact", "recovered", or "der"');return n}function $a(n,e){let s={};for(let a of Object.keys(e))s[a]=n[a]===void 0?e[a]:n[a];return Zn(s.lowS,"lowS"),Zn(s.prehash,"prehash"),s.format!==void 0&&ka(s.format),s}var xa=class extends Error{constructor(e=""){super(e)}},Tt={Err:xa,_tlv:{encode:(n,e)=>{let{Err:s}=Tt;if(n<0||n>256)throw new s("tlv.encode: wrong tag");if(e.length&1)throw new s("tlv.encode: unpadded data");let a=e.length/2,c=Xn(a);if(c.length/2&128)throw new s("tlv.encode: long form length too big");let h=a>127?Xn(c.length/2|128):"";return Xn(n)+h+c+e},decode(n,e){let{Err:s}=Tt,a=0;if(n<0||n>256)throw new s("tlv.encode: wrong tag");if(e.length<2||e[a++]!==n)throw new s("tlv.decode: wrong tlv");let c=e[a++],h=!!(c&128),g=0;if(!h)g=c;else{let v=c&127;if(!v)throw new s("tlv.decode(long): indefinite length not supported");if(v>4)throw new s("tlv.decode(long): byte length is too big");let b=e.subarray(a,a+v);if(b.length!==v)throw new s("tlv.decode: length bytes not complete");if(b[0]===0)throw new s("tlv.decode(long): zero leftmost byte");for(let w of b)g=g<<8|w;if(a+=v,g<128)throw new s("tlv.decode(long): not minimal encoding")}let m=e.subarray(a,a+g);if(m.length!==g)throw new s("tlv.decode: wrong value length");return{v:m,l:e.subarray(a+g)}}},_int:{encode(n){let{Err:e}=Tt;if(n<Ot)throw new e("integer: negative integers are not allowed");let s=Xn(n);if(Number.parseInt(s[0],16)&8&&(s="00"+s),s.length&1)throw new e("unexpected DER parsing assertion: unpadded hex");return s},decode(n){let{Err:e}=Tt;if(n[0]&128)throw new e("invalid signature integer: negative");if(n[0]===0&&!(n[1]&128))throw new e("invalid signature integer: unnecessary leading zero");return Xr(n)}},toSig(n){let{Err:e,_int:s,_tlv:a}=Tt,c=NA("signature",n),{v:h,l:g}=a.decode(48,c);if(g.length)throw new e("invalid signature: left bytes after parsing");let{v:m,l:v}=a.decode(2,h),{v:b,l:w}=a.decode(2,v);if(w.length)throw new e("invalid signature: left bytes after parsing");return{r:s.decode(m),s:s.decode(b)}},hexFromSig(n){let{_tlv:e,_int:s}=Tt,a=e.encode(2,s.encode(n.r)),c=e.encode(2,s.encode(n.s)),h=a+c;return e.encode(48,h)}},Ot=BigInt(0),tn=BigInt(1),w2=BigInt(2),lo=BigInt(3),W4=BigInt(4);function An(n,e){let{BYTES:s}=n,a;if(typeof e=="bigint")a=e;else{let c=NA("private key",e);try{a=n.fromBytes(c)}catch{throw new Error(`invalid private key: expected ui8a of size ${s}, got ${typeof e}`)}}if(!n.isValidNot0(a))throw new Error("invalid private key: out of range [1..N-1]");return a}function J4(n,e={}){let s=m2("weierstrass",n,e),{Fp:a,Fn:c}=s,h=s.CURVE,{h:g,n:m}=h;ei(e,{},{allowInfinityPoint:"boolean",clearCofactor:"function",isTorsionFree:"function",fromBytes:"function",toBytes:"function",endo:"object",wrapPrivateKey:"boolean"});let{endo:v}=e;if(v&&(!a.is0(h.a)||typeof v.beta!="bigint"||!Array.isArray(v.basises)))throw new Error('invalid endo: expected "beta": bigint and "basises": array');let b=b2(a,c);function w(){if(!a.isOdd)throw new Error("compression is not supported: Field does not have .isOdd()")}function E(D,B,C){let{x:Q,y:W}=B.toAffine(),J=a.toBytes(Q);if(Zn(C,"isCompressed"),C){w();let z=!a.isOdd(W);return pt(v2(z),J)}else return pt(Uint8Array.of(4),J,a.toBytes(W))}function $(D){Jt(D,void 0,"Point");let{publicKey:B,publicKeyUncompressed:C}=b,Q=D.length,W=D[0],J=D.subarray(1);if(Q===B&&(W===2||W===3)){let z=a.fromBytes(J);if(!a.isValid(z))throw new Error("bad point: is not on curve, wrong x");let ne=x(z),ie;try{ie=a.sqrt(ne)}catch(Pe){let Ee=Pe instanceof Error?": "+Pe.message:"";throw new Error("bad point: is not on curve, sqrt error"+Ee)}w();let ue=a.isOdd(ie);return(W&1)===1!==ue&&(ie=a.neg(ie)),{x:z,y:ie}}else if(Q===C&&W===4){let z=a.BYTES,ne=a.fromBytes(J.subarray(0,z)),ie=a.fromBytes(J.subarray(z,z*2));if(!M(ne,ie))throw new Error("bad point: is not on curve");return{x:ne,y:ie}}else throw new Error(`bad point: got length ${Q}, expected compressed=${B} or uncompressed=${C}`)}let k=e.toBytes||E,T=e.fromBytes||$;function x(D){let B=a.sqr(D),C=a.mul(B,D);return a.add(a.add(C,a.mul(D,h.a)),h.b)}function M(D,B){let C=a.sqr(B),Q=x(D);return a.eql(C,Q)}if(!M(h.Gx,h.Gy))throw new Error("bad curve params: generator point");let N=a.mul(a.pow(h.a,lo),W4),q=a.mul(a.sqr(h.b),BigInt(27));if(a.is0(a.add(N,q)))throw new Error("bad curve params: a or b");function L(D,B,C=!1){if(!a.isValid(B)||C&&a.is0(B))throw new Error(`bad point coordinate ${D}`);return B}function G(D){if(!(D instanceof X))throw new Error("ProjectivePoint expected")}function V(D){if(!v||!v.basises)throw new Error("no endo");return Y4(D,v.basises,c.ORDER)}let Y=ga((D,B)=>{let{X:C,Y:Q,Z:W}=D;if(a.eql(W,a.ONE))return{x:C,y:Q};let J=D.is0();B==null&&(B=J?a.ONE:a.inv(W));let z=a.mul(C,B),ne=a.mul(Q,B),ie=a.mul(W,B);if(J)return{x:a.ZERO,y:a.ZERO};if(!a.eql(ie,a.ONE))throw new Error("invZ was invalid");return{x:z,y:ne}}),fe=ga(D=>{if(D.is0()){if(e.allowInfinityPoint&&!a.is0(D.Y))return;throw new Error("bad point: ZERO")}let{x:B,y:C}=D.toAffine();if(!a.isValid(B)||!a.isValid(C))throw new Error("bad point: x or y not field elements");if(!M(B,C))throw new Error("bad point: equation left != right");if(!D.isTorsionFree())throw new Error("bad point: not in prime-order subgroup");return!0});function K(D,B,C,Q,W){return C=new X(a.mul(C.X,D),C.Y,C.Z),B=Ai(Q,B),C=Ai(W,C),B.add(C)}class X{constructor(B,C,Q){this.X=L("x",B),this.Y=L("y",C,!0),this.Z=L("z",Q),Object.freeze(this)}static CURVE(){return h}static fromAffine(B){let{x:C,y:Q}=B||{};if(!B||!a.isValid(C)||!a.isValid(Q))throw new Error("invalid affine point");if(B instanceof X)throw new Error("projective point not allowed");return a.is0(C)&&a.is0(Q)?X.ZERO:new X(C,Q,a.ONE)}static fromBytes(B){let C=X.fromAffine(T(Jt(B,void 0,"point")));return C.assertValidity(),C}static fromHex(B){return X.fromBytes(NA("pointHex",B))}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(B=8,C=!0){return le.createCache(this,B),C||this.multiply(lo),this}assertValidity(){fe(this)}hasEvenY(){let{y:B}=this.toAffine();if(!a.isOdd)throw new Error("Field doesn't support isOdd");return!a.isOdd(B)}equals(B){G(B);let{X:C,Y:Q,Z:W}=this,{X:J,Y:z,Z:ne}=B,ie=a.eql(a.mul(C,ne),a.mul(J,W)),ue=a.eql(a.mul(Q,ne),a.mul(z,W));return ie&&ue}negate(){return new X(this.X,a.neg(this.Y),this.Z)}double(){let{a:B,b:C}=h,Q=a.mul(C,lo),{X:W,Y:J,Z:z}=this,ne=a.ZERO,ie=a.ZERO,ue=a.ZERO,ge=a.mul(W,W),Pe=a.mul(J,J),Ee=a.mul(z,z),ve=a.mul(W,J);return ve=a.add(ve,ve),ue=a.mul(W,z),ue=a.add(ue,ue),ne=a.mul(B,ue),ie=a.mul(Q,Ee),ie=a.add(ne,ie),ne=a.sub(Pe,ie),ie=a.add(Pe,ie),ie=a.mul(ne,ie),ne=a.mul(ve,ne),ue=a.mul(Q,ue),Ee=a.mul(B,Ee),ve=a.sub(ge,Ee),ve=a.mul(B,ve),ve=a.add(ve,ue),ue=a.add(ge,ge),ge=a.add(ue,ge),ge=a.add(ge,Ee),ge=a.mul(ge,ve),ie=a.add(ie,ge),Ee=a.mul(J,z),Ee=a.add(Ee,Ee),ge=a.mul(Ee,ve),ne=a.sub(ne,ge),ue=a.mul(Ee,Pe),ue=a.add(ue,ue),ue=a.add(ue,ue),new X(ne,ie,ue)}add(B){G(B);let{X:C,Y:Q,Z:W}=this,{X:J,Y:z,Z:ne}=B,ie=a.ZERO,ue=a.ZERO,ge=a.ZERO,Pe=h.a,Ee=a.mul(h.b,lo),ve=a.mul(C,J),Me=a.mul(Q,z),rA=a.mul(W,ne),fA=a.add(C,Q),Ye=a.add(J,z);fA=a.mul(fA,Ye),Ye=a.add(ve,Me),fA=a.sub(fA,Ye),Ye=a.add(C,W);let nA=a.add(J,ne);return Ye=a.mul(Ye,nA),nA=a.add(ve,rA),Ye=a.sub(Ye,nA),nA=a.add(Q,W),ie=a.add(z,ne),nA=a.mul(nA,ie),ie=a.add(Me,rA),nA=a.sub(nA,ie),ge=a.mul(Pe,Ye),ie=a.mul(Ee,rA),ge=a.add(ie,ge),ie=a.sub(Me,ge),ge=a.add(Me,ge),ue=a.mul(ie,ge),Me=a.add(ve,ve),Me=a.add(Me,ve),rA=a.mul(Pe,rA),Ye=a.mul(Ee,Ye),Me=a.add(Me,rA),rA=a.sub(ve,rA),rA=a.mul(Pe,rA),Ye=a.add(Ye,rA),ve=a.mul(Me,Ye),ue=a.add(ue,ve),ve=a.mul(nA,Ye),ie=a.mul(fA,ie),ie=a.sub(ie,ve),ve=a.mul(fA,Me),ge=a.mul(nA,ge),ge=a.add(ge,ve),new X(ie,ue,ge)}subtract(B){return this.add(B.negate())}is0(){return this.equals(X.ZERO)}multiply(B){let{endo:C}=e;if(!c.isValidNot0(B))throw new Error("invalid scalar: out of range");let Q,W,J=z=>le.cached(this,z,ne=>uo(X,ne));if(C){let{k1neg:z,k1:ne,k2neg:ie,k2:ue}=V(B),{p:ge,f:Pe}=J(ne),{p:Ee,f:ve}=J(ue);W=Pe.add(ve),Q=K(C.beta,ge,Ee,z,ie)}else{let{p:z,f:ne}=J(B);Q=z,W=ne}return uo(X,[Q,W])[0]}multiplyUnsafe(B){let{endo:C}=e,Q=this;if(!c.isValid(B))throw new Error("invalid scalar: out of range");if(B===Ot||Q.is0())return X.ZERO;if(B===tn)return Q;if(le.hasCache(this))return this.multiply(B);if(C){let{k1neg:W,k1:J,k2neg:z,k2:ne}=V(B),{p1:ie,p2:ue}=p2(X,Q,J,ne);return K(C.beta,ie,ue,W,z)}else return le.unsafe(Q,B)}multiplyAndAddUnsafe(B,C,Q){let W=this.multiplyUnsafe(C).add(B.multiplyUnsafe(Q));return W.is0()?void 0:W}toAffine(B){return Y(this,B)}isTorsionFree(){let{isTorsionFree:B}=e;return g===tn?!0:B?B(X,this):le.unsafe(this,m).is0()}clearCofactor(){let{clearCofactor:B}=e;return g===tn?this:B?B(X,this):this.multiplyUnsafe(g)}isSmallOrder(){return this.multiplyUnsafe(g).is0()}toBytes(B=!0){return Zn(B,"isCompressed"),this.assertValidity(),k(X,this,B)}toHex(B=!0){return PA(this.toBytes(B))}toString(){return`<Point ${this.is0()?"ZERO":this.toHex()}>`}get px(){return this.X}get py(){return this.X}get pz(){return this.Z}toRawBytes(B=!0){return this.toBytes(B)}_setWindowSize(B){this.precompute(B)}static normalizeZ(B){return uo(X,B)}static msm(B,C){return g2(X,c,B,C)}static fromPrivateKey(B){return X.BASE.multiply(An(c,B))}}X.BASE=new X(h.Gx,h.Gy,a.ONE),X.ZERO=new X(a.ZERO,a.ONE,a.ZERO),X.Fp=a,X.Fn=c;let ye=c.BITS,le=new ao(X,e.endo?Math.ceil(ye/2):ye);return X.BASE.precompute(8),X}function v2(n){return Uint8Array.of(n?2:3)}function b2(n,e){return{secretKey:e.BYTES,publicKey:1+n.BYTES,publicKeyUncompressed:1+2*n.BYTES,publicKeyHasPrefix:!0,signature:2*e.BYTES}}function Z4(n,e={}){let{Fn:s}=n,a=e.randomBytes||Ao,c=Object.assign(b2(n.Fp,s),{seed:wa(s.ORDER)});function h(k){try{return!!An(s,k)}catch{return!1}}function g(k,T){let{publicKey:x,publicKeyUncompressed:M}=c;try{let N=k.length;return T===!0&&N!==x||T===!1&&N!==M?!1:!!n.fromBytes(k)}catch{return!1}}function m(k=a(c.seed)){return va(Jt(k,c.seed,"seed"),s.ORDER)}function v(k,T=!0){return n.BASE.multiply(An(s,k)).toBytes(T)}function b(k){let T=m(k);return{secretKey:T,publicKey:v(T)}}function w(k){if(typeof k=="bigint")return!1;if(k instanceof n)return!0;let{secretKey:T,publicKey:x,publicKeyUncompressed:M}=c;if(s.allowedLengths||T===x)return;let N=NA("key",k).length;return N===x||N===M}function E(k,T,x=!0){if(w(k)===!0)throw new Error("first arg must be private key");if(w(T)===!1)throw new Error("second arg must be public key");let M=An(s,k);return n.fromHex(T).multiply(M).toBytes(x)}return Object.freeze({getPublicKey:v,getSharedSecret:E,keygen:b,Point:n,utils:{isValidSecretKey:h,isValidPublicKey:g,randomSecretKey:m,isValidPrivateKey:h,randomPrivateKey:m,normPrivateKeyToScalar:k=>An(s,k),precompute(k=8,T=n.BASE){return T.precompute(k,!1)}},lengths:c})}function X4(n,e,s={}){Xi(e),ei(s,{},{hmac:"function",lowS:"boolean",randomBytes:"function",bits2int:"function",bits2int_modN:"function"});let a=s.randomBytes||Ao,c=s.hmac||((C,...Q)=>la(e,C,pt(...Q))),{Fp:h,Fn:g}=n,{ORDER:m,BITS:v}=g,{keygen:b,getPublicKey:w,getSharedSecret:E,utils:$,lengths:k}=Z4(n,s),T={prehash:!1,lowS:typeof s.lowS=="boolean"?s.lowS:!1,format:void 0,extraEntropy:!1},x="compact";function M(C){let Q=m>>tn;return C>Q}function N(C,Q){if(!g.isValidNot0(Q))throw new Error(`invalid signature ${C}: out of range 1..Point.Fn.ORDER`);return Q}function q(C,Q){ka(Q);let W=k.signature,J=Q==="compact"?W:Q==="recovered"?W+1:void 0;return Jt(C,J,`${Q} signature`)}class L{constructor(Q,W,J){this.r=N("r",Q),this.s=N("s",W),J!=null&&(this.recovery=J),Object.freeze(this)}static fromBytes(Q,W=x){q(Q,W);let J;if(W==="der"){let{r:ue,s:ge}=Tt.toSig(Jt(Q));return new L(ue,ge)}W==="recovered"&&(J=Q[0],W="compact",Q=Q.subarray(1));let z=g.BYTES,ne=Q.subarray(0,z),ie=Q.subarray(z,z*2);return new L(g.fromBytes(ne),g.fromBytes(ie),J)}static fromHex(Q,W){return this.fromBytes(ht(Q),W)}addRecoveryBit(Q){return new L(this.r,this.s,Q)}recoverPublicKey(Q){let W=h.ORDER,{r:J,s:z,recovery:ne}=this;if(ne==null||![0,1,2,3].includes(ne))throw new Error("recovery id invalid");if(m*w2<W&&ne>1)throw new Error("recovery id is ambiguous for h>1 curve");let ue=ne===2||ne===3?J+m:J;if(!h.isValid(ue))throw new Error("recovery id 2 or 3 invalid");let ge=h.toBytes(ue),Pe=n.fromBytes(pt(v2((ne&1)===0),ge)),Ee=g.inv(ue),ve=V(NA("msgHash",Q)),Me=g.create(-ve*Ee),rA=g.create(z*Ee),fA=n.BASE.multiplyUnsafe(Me).add(Pe.multiplyUnsafe(rA));if(fA.is0())throw new Error("point at infinify");return fA.assertValidity(),fA}hasHighS(){return M(this.s)}toBytes(Q=x){if(ka(Q),Q==="der")return ht(Tt.hexFromSig(this));let W=g.toBytes(this.r),J=g.toBytes(this.s);if(Q==="recovered"){if(this.recovery==null)throw new Error("recovery bit must be present");return pt(Uint8Array.of(this.recovery),W,J)}return pt(W,J)}toHex(Q){return PA(this.toBytes(Q))}assertValidity(){}static fromCompact(Q){return L.fromBytes(NA("sig",Q),"compact")}static fromDER(Q){return L.fromBytes(NA("sig",Q),"der")}normalizeS(){return this.hasHighS()?new L(this.r,g.neg(this.s),this.recovery):this}toDERRawBytes(){return this.toBytes("der")}toDERHex(){return PA(this.toBytes("der"))}toCompactRawBytes(){return this.toBytes("compact")}toCompactHex(){return PA(this.toBytes("compact"))}}let G=s.bits2int||function(Q){if(Q.length>8192)throw new Error("input is too large");let W=Xr(Q),J=Q.length*8-v;return J>0?W>>BigInt(J):W},V=s.bits2int_modN||function(Q){return g.create(G(Q))},Y=Zt(v);function fe(C){return Zd("num < 2^"+v,C,Ot,Y),g.toBytes(C)}function K(C,Q){return Jt(C,void 0,"message"),Q?Jt(e(C),void 0,"prehashed message"):C}function X(C,Q,W){if(["recovered","canonical"].some(Me=>Me in W))throw new Error("sign() legacy options not supported");let{lowS:J,prehash:z,extraEntropy:ne}=$a(W,T);C=K(C,z);let ie=V(C),ue=An(g,Q),ge=[fe(ue),fe(ie)];if(ne!=null&&ne!==!1){let Me=ne===!0?a(k.secretKey):ne;ge.push(NA("extraEntropy",Me))}let Pe=pt(...ge),Ee=ie;function ve(Me){let rA=G(Me);if(!g.isValidNot0(rA))return;let fA=g.inv(rA),Ye=n.BASE.multiply(rA).toAffine(),nA=g.create(Ye.x);if(nA===Ot)return;let RA=g.create(fA*g.create(Ee+nA*ue));if(RA===Ot)return;let WA=(Ye.x===nA?0:2)|Number(Ye.y&tn),ni=RA;return J&&M(RA)&&(ni=g.neg(RA),WA^=1),new L(nA,ni,WA)}return{seed:Pe,k2sig:ve}}function ye(C,Q,W={}){C=NA("message",C);let{seed:J,k2sig:z}=X(C,Q,W);return Xd(e.outputLen,g.BYTES,c)(J,z)}function le(C){let Q,W=typeof C=="string"||vr(C),J=!W&&C!==null&&typeof C=="object"&&typeof C.r=="bigint"&&typeof C.s=="bigint";if(!W&&!J)throw new Error("invalid signature, expected Uint8Array, hex string or Signature instance");if(J)Q=new L(C.r,C.s);else if(W){try{Q=L.fromBytes(NA("sig",C),"der")}catch(z){if(!(z instanceof Tt.Err))throw z}if(!Q)try{Q=L.fromBytes(NA("sig",C),"compact")}catch{return!1}}return Q||!1}function D(C,Q,W,J={}){let{lowS:z,prehash:ne,format:ie}=$a(J,T);if(W=NA("publicKey",W),Q=K(NA("message",Q),ne),"strict"in J)throw new Error("options.strict was renamed to lowS");let ue=ie===void 0?le(C):L.fromBytes(NA("sig",C),ie);if(ue===!1)return!1;try{let ge=n.fromBytes(W);if(z&&ue.hasHighS())return!1;let{r:Pe,s:Ee}=ue,ve=V(Q),Me=g.inv(Ee),rA=g.create(ve*Me),fA=g.create(Pe*Me),Ye=n.BASE.multiplyUnsafe(rA).add(ge.multiplyUnsafe(fA));return Ye.is0()?!1:g.create(Ye.x)===Pe}catch{return!1}}function B(C,Q,W={}){let{prehash:J}=$a(W,T);return Q=K(Q,J),L.fromBytes(C,"recovered").recoverPublicKey(Q).toBytes()}return Object.freeze({keygen:b,getPublicKey:w,getSharedSecret:E,utils:$,lengths:k,Point:n,sign:ye,verify:D,recoverPublicKey:B,Signature:L,hash:e})}function e_(n){let e={a:n.a,b:n.b,p:n.Fp.ORDER,n:n.n,h:n.h,Gx:n.Gx,Gy:n.Gy},s=n.Fp,a=n.allowedPrivateKeyLengths?Array.from(new Set(n.allowedPrivateKeyLengths.map(g=>Math.ceil(g/2)))):void 0,c=Xt(e.n,{BITS:n.nBitLength,allowedLengths:a,modFromBytes:n.wrapPrivateKey}),h={Fp:s,Fn:c,allowInfinityPoint:n.allowInfinityPoint,endo:n.endo,isTorsionFree:n.isTorsionFree,clearCofactor:n.clearCofactor,fromBytes:n.fromBytes,toBytes:n.toBytes};return{CURVE:e,curveOpts:h}}function A_(n){let{CURVE:e,curveOpts:s}=e_(n),a={hmac:n.hmac,randomBytes:n.randomBytes,lowS:n.lowS,bits2int:n.bits2int,bits2int_modN:n.bits2int_modN};return{CURVE:e,curveOpts:s,hash:n.hash,ecdsaOpts:a}}function t_(n,e){let s=e.Point;return Object.assign({},e,{ProjectivePoint:s,CURVE:Object.assign({},n,so(s.Fn.ORDER,s.Fn.BITS))})}function _2(n){let{CURVE:e,curveOpts:s,hash:a,ecdsaOpts:c}=A_(n),h=J4(e,s),g=X4(h,a,c);return t_(n,g)}function E2(n,e){let s=a=>_2({...n,hash:a});return{...s(e),create:s}}var Ba={p:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),n:BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),h:BigInt(1),a:BigInt(0),b:BigInt(7),Gx:BigInt("0x79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"),Gy:BigInt("0x483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8")},r_={beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),basises:[[BigInt("0x3086d221a7d46bcde86c90e49284eb15"),-BigInt("0xe4437ed6010e88286f547fa90abfe4c3")],[BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),BigInt("0x3086d221a7d46bcde86c90e49284eb15")]]};var $2=BigInt(2);function n_(n){let e=Ba.p,s=BigInt(3),a=BigInt(6),c=BigInt(11),h=BigInt(22),g=BigInt(23),m=BigInt(44),v=BigInt(88),b=n*n*n%e,w=b*b*n%e,E=ZA(w,s,e)*w%e,$=ZA(E,s,e)*w%e,k=ZA($,$2,e)*b%e,T=ZA(k,c,e)*k%e,x=ZA(T,h,e)*T%e,M=ZA(x,m,e)*x%e,N=ZA(M,v,e)*M%e,q=ZA(N,m,e)*x%e,L=ZA(q,s,e)*w%e,G=ZA(L,g,e)*T%e,V=ZA(G,a,e)*b%e,Y=ZA(V,$2,e);if(!Sa.eql(Sa.sqr(Y),n))throw new Error("Cannot find square root");return Y}var Sa=Xt(Ba.p,{sqrt:n_}),fo=E2({...Ba,Fp:Sa,lowS:!0,endo:r_},Yd);function B2(n){return n instanceof Uint8Array||ArrayBuffer.isView(n)&&n.constructor.name==="Uint8Array"}function P2(n,e){return Array.isArray(e)?e.length===0?!0:n?e.every(s=>typeof s=="string"):e.every(s=>Number.isSafeInteger(s)):!1}function i_(n){if(typeof n!="function")throw new Error("function expected");return!0}function ri(n,e){if(typeof e!="string")throw new Error(`${n}: string expected`);return!0}function D2(n){if(!Number.isSafeInteger(n))throw new Error(`invalid integer: ${n}`)}function Pa(n){if(!Array.isArray(n))throw new Error("array expected")}function C2(n,e){if(!P2(!0,e))throw new Error(`${n}: array of strings expected`)}function T2(n,e){if(!P2(!1,e))throw new Error(`${n}: array of numbers expected`)}function o_(...n){let e=h=>h,s=(h,g)=>m=>h(g(m)),a=n.map(h=>h.encode).reduceRight(s,e),c=n.map(h=>h.decode).reduce(s,e);return{encode:a,decode:c}}function s_(n){let e=typeof n=="string"?n.split(""):n,s=e.length;C2("alphabet",e);let a=new Map(e.map((c,h)=>[c,h]));return{encode:c=>(Pa(c),c.map(h=>{if(!Number.isSafeInteger(h)||h<0||h>=s)throw new Error(`alphabet.encode: digit index outside alphabet "${h}". Allowed: ${n}`);return e[h]})),decode:c=>(Pa(c),c.map(h=>{ri("alphabet.decode",h);let g=a.get(h);if(g===void 0)throw new Error(`Unknown letter: "${h}". Allowed: ${n}`);return g}))}}function a_(n=""){return ri("join",n),{encode:e=>(C2("join.decode",e),e.join(n)),decode:e=>(ri("join.decode",e),e.split(n))}}var O2=(n,e)=>e===0?n:O2(e,n%e),ho=(n,e)=>n+(e-O2(n,e)),co=(()=>{let n=[];for(let e=0;e<40;e++)n.push(2**e);return n})();function Da(n,e,s,a){if(Pa(n),e<=0||e>32)throw new Error(`convertRadix2: wrong from=${e}`);if(s<=0||s>32)throw new Error(`convertRadix2: wrong to=${s}`);if(ho(e,s)>32)throw new Error(`convertRadix2: carry overflow from=${e} to=${s} carryBits=${ho(e,s)}`);let c=0,h=0,g=co[e],m=co[s]-1,v=[];for(let b of n){if(D2(b),b>=g)throw new Error(`convertRadix2: invalid data word=${b} from=${e}`);if(c=c<<e|b,h+e>32)throw new Error(`convertRadix2: carry overflow pos=${h} from=${e}`);for(h+=e;h>=s;h-=s)v.push((c>>h-s&m)>>>0);let w=co[h];if(w===void 0)throw new Error("invalid carry");c&=w-1}if(c=c<<s-h&m,!a&&h>=e)throw new Error("Excess padding");if(!a&&c>0)throw new Error(`Non-zero padding: ${c}`);return a&&h>0&&v.push(c>>>0),v}function u_(n,e=!1){if(D2(n),n<=0||n>32)throw new Error("radix2: bits should be in (0..32]");if(ho(8,n)>32||ho(n,8)>32)throw new Error("radix2: carry overflow");return{encode:s=>{if(!B2(s))throw new Error("radix2.encode input should be Uint8Array");return Da(Array.from(s),8,n,!e)},decode:s=>(T2("radix2.decode",s),Uint8Array.from(Da(s,n,8,e)))}}function k2(n){return i_(n),function(...e){try{return n.apply(null,e)}catch{}}}var Ca=o_(s_("qpzry9x8gf2tvdw0s3jn54khce6mua7l"),a_("")),x2=[996825010,642813549,513874426,1027748829,705979059];function ti(n){let e=n>>25,s=(n&33554431)<<5;for(let a=0;a<x2.length;a++)(e>>a&1)===1&&(s^=x2[a]);return s}function S2(n,e,s=1){let a=n.length,c=1;for(let h=0;h<a;h++){let g=n.charCodeAt(h);if(g<33||g>126)throw new Error(`Invalid prefix (${n})`);c=ti(c)^g>>5}c=ti(c);for(let h=0;h<a;h++)c=ti(c)^n.charCodeAt(h)&31;for(let h of e)c=ti(c)^h;for(let h=0;h<6;h++)c=ti(c);return c^=s,Ca.encode(Da([c%co[30]],30,5,!1))}function l_(n){let e=n==="bech32"?1:734539939,s=u_(5),a=s.decode,c=s.encode,h=k2(a);function g(E,$,k=90){ri("bech32.encode prefix",E),B2($)&&($=Array.from($)),T2("bech32.encode",$);let T=E.length;if(T===0)throw new TypeError(`Invalid prefix length ${T}`);let x=T+7+$.length;if(k!==!1&&x>k)throw new TypeError(`Length ${x} exceeds limit ${k}`);let M=E.toLowerCase(),N=S2(M,$,e);return`${M}1${Ca.encode($)}${N}`}function m(E,$=90){ri("bech32.decode input",E);let k=E.length;if(k<8||$!==!1&&k>$)throw new TypeError(`invalid string length: ${k} (${E}). Expected (8..${$})`);let T=E.toLowerCase();if(E!==T&&E!==E.toUpperCase())throw new Error("String must be lowercase or uppercase");let x=T.lastIndexOf("1");if(x===0||x===-1)throw new Error('Letter "1" must be present between prefix and data only');let M=T.slice(0,x),N=T.slice(x+1);if(N.length<6)throw new Error("Data must be at least 6 characters long");let q=Ca.decode(N).slice(0,-6),L=S2(M,q,e);if(!N.endsWith(L))throw new Error(`Invalid checksum in ${E}: expected "${L}"`);return{prefix:M,words:q}}let v=k2(m);function b(E){let{prefix:$,words:k}=m(E,!1);return{prefix:$,words:k,bytes:a(k)}}function w(E,$){return g(E,c($))}return{encode:g,decode:m,encodeFromBytes:w,decodeToBytes:b,decodeUnsafe:v,fromWords:a,fromWordsUnsafe:h,toWords:c}}var jt=l_("bech32");function f_(){let n=fo.utils.randomPrivateKey();return PA(n)}function c_(n){let e=fo.getPublicKey(n,!0);return PA(e.slice(1))}function d_(n){let e=fo.getPublicKey(n,!0);return PA(e.slice(1))}function h_(n){let e=ht(n),s=jt.toWords(e);return jt.encode("npub",s,1500)}function p_(n){let e=ht(n),s=jt.toWords(e);return jt.encode("nsec",s,1500)}function j2(n){let{words:e}=jt.decode(n,1500),s=jt.fromWords(e);return PA(new Uint8Array(s))}function N2(n){let{words:e}=jt.decode(n,1500),s=jt.fromWords(e);return PA(new Uint8Array(s))}function g_(n){if(!n||typeof n!="string")return null;if(n=n.trim(),n.startsWith("nsec1"))try{return N2(n)}catch{return null}return/^[0-9a-f]{64}$/i.test(n)?n.toLowerCase():null}function m_(n){if(!n||typeof n!="string")return null;if(n=n.trim(),n.startsWith("npub1"))try{return j2(n)}catch{return null}return/^[0-9a-f]{64}$/i.test(n)?n.toLowerCase():null}function y_(n,e=8){return n?n.slice(0,e)+"..."+n.slice(-e):""}function w_(n,e=8){return n?n.slice(0,e+5)+"..."+n.slice(-e):""}function v_(){let n=new Uint8Array(32);if(typeof globalThis.crypto<"u"&&globalThis.crypto.getRandomValues)globalThis.crypto.getRandomValues(n);else for(let e=0;e<32;e++)n[e]=Math.floor(Math.random()*256);return PA(n)}var rn={generatePrivateKey:f_,getPublicKey:c_,getPublicKeyFromBytes:d_,parseNsecOrHex:g_,parseNpubOrHex:m_,hexToNpub:h_,hexToNsec:p_,npubToHex:j2,nsecToHex:N2,hexToBytes:ht,bytesToHex:PA,shortenPubKey:y_,shortenNpub:w_,generateNonce:v_};function M2(n,e,s){return`${n}/${e}/${s}`}function b_(n){let e=n.split("/");return e.length<3?null:{appName:e[0],holonId:e[1],lens:e.slice(2).join("/")}}var R2={createSubscription(n,e,s,a={}){let c=b_(e);if(!c)return console.warn("[subscriptions] Invalid path:",e),{unsubscribe:()=>{},stop:()=>{}};let g=(n.gun||n).get(c.appName).get(c.holonId).get(c.lens),m=!0,v=!1;a.realtimeOnly?g.once(()=>{setTimeout(()=>{v=!0},100)}):v=!0;let b=g.map().on(async(E,$)=>{if(m&&!(a.realtimeOnly&&!v)&&!(!E||$==="_"))try{let k;if(typeof E=="string")try{k=JSON.parse(E)}catch{k=E}else{let T={...E};delete T._,k=T}if(a.resolveHolograms&&n.isHologram&&n.isHologram(k))try{let T=await n.resolveHologram(k,{followHolograms:!0});if(T&&T!==k){s(T,$);return}}catch(T){console.warn("[subscriptions] Failed to resolve hologram:",T)}s(k,$)}catch(k){console.warn("[subscriptions] Error processing subscription data:",k)}}),w=()=>{m=!1,g.off()};return{unsubscribe:w,stop:w}}};var I2={async storeInboundCapability(n,e,s,a){try{let c=n.gun||n,h=(a.token||"cap")+"_"+Date.now(),g=JSON.stringify({...a,id:h,storedAt:Date.now()});return new Promise(m=>{c.get(e).get("_capabilities").get(s).get(h).put(g,v=>{v.err?(console.warn("[registry] Failed to store capability:",v.err),m({success:!1,error:v.err})):m({success:!0,id:h})})})}catch(c){return console.error("[registry] Error storing capability:",c),{success:!1,error:c.message}}},async getInboundCapabilities(n,e,s){try{let a=n.gun||n;return new Promise(c=>{let h=[],g=a.get(e).get("_capabilities").get(s);g.once(m=>{if(!m){c([]);return}let v=Object.keys(m).filter(w=>w!=="_");if(v.length===0){c([]);return}let b=0;g.map().once((w,E)=>{if(b++,w&&E!=="_")try{let $=typeof w=="string"?JSON.parse(w):w;h.push($)}catch{}b>=v.length&&c(h)})})})}catch(a){return console.error("[registry] Error getting capabilities:",a),[]}},async removeInboundCapability(n,e,s,a){try{let c=n.gun||n;return new Promise(h=>{c.get(e).get("_capabilities").get(s).get(a).put(null,g=>{h(!g.err)})})}catch(c){return console.error("[registry] Error removing capability:",c),!1}}};var Ta={};Iu(Ta,{acceptFederationRequest:()=>k_,acceptFederationUpdate:()=>P_,initiateFederationHandshake:()=>$_,processFederationResponse:()=>S_,rejectFederationRequest:()=>x_,rejectFederationUpdate:()=>D_,requestFederationUpdate:()=>B_,subscribeToFederationDMs:()=>E_});function __(){return Date.now().toString(36)+"_"+Math.random().toString(36).slice(2,10)}function H2(n,e){return n.gun.get(n.appname).get("_dm").get(e)}async function nn(n,e,s){let a=__(),c=JSON.stringify({...s,id:a,timestamp:Date.now()});return new Promise(h=>{H2(n,e).get(a).put(c,g=>{g.err?(console.warn("[handshake] Failed to send DM:",g.err),h({success:!1,error:g.err})):h({success:!0,id:a})})})}function E_(n,e,s,a){let c=H2(n,s),h=!0,g=new Set;return c.map().on((m,v)=>{if(!(!h||!m||v==="_")&&!g.has(v)){g.add(v);try{let b=typeof m=="string"?JSON.parse(m):m,w=b.senderPubKey||b.sender||"";switch(b.type){case"federation_request":a.onRequest&&a.onRequest(b,w);break;case"federation_response":a.onResponse&&a.onResponse(b,w);break;case"federation_update":a.onUpdate&&a.onUpdate(b,w);break;case"federation_update_response":a.onUpdateResponse&&a.onUpdateResponse(b,w);break;default:console.log("[handshake] Unknown DM type:",b.type)}}catch{}}}),()=>{h=!1,c.off()}}async function $_(n,e,s){let{partnerPubKey:a,holonId:c,holonName:h,lensConfig:g={},message:m=""}=s,b={type:"federation_request",senderPubKey:n.client?.publicKey||"",senderHolonId:c,senderHolonName:h,lensConfig:g,message:m,status:"pending"},w=await nn(n,a,b);return w.success&&console.log("[handshake] Federation request sent to:",a?.slice(0,8)),{success:w.success,requestId:w.id}}async function k_(n,e,s){let{requesterPubKey:a,holonId:c,holonName:h,lensConfig:g={},requestId:m}=s,b={type:"federation_response",senderPubKey:n.client?.publicKey||"",responderHolonId:c,responderHolonName:h,lensConfig:g,status:"accepted",requestId:m};return a&&n.addAllowedAuthor(a),nn(n,a,b)}async function x_(n,e,s){let{requesterPubKey:a,holonId:c,reason:h="",requestId:g}=s,v={type:"federation_response",senderPubKey:n.client?.publicKey||"",responderHolonId:c,status:"rejected",reason:h,requestId:g};return nn(n,a,v)}async function S_(n,e,s,a={}){let{holonId:c,inboundLenses:h=[]}=a;if(e.status!=="accepted")return{success:!1,reason:"not_accepted"};try{s&&n.addAllowedAuthor(s);let g=e.responderHolonId||s;return console.log("[handshake] Processing accepted federation from:",g?.slice(0,8)),{success:!0,responderHolonId:g}}catch(g){return console.error("[handshake] Error processing federation response:",g),{success:!1,error:g.message}}}async function B_(n,e,s){let{partnerPubKey:a,holonId:c,holonName:h,newLensConfig:g={},message:m=""}=s,b={type:"federation_update",senderPubKey:n.client?.publicKey||"",senderHolonId:c,senderHolonName:h,newLensConfig:g,message:m};return nn(n,a,b)}async function P_(n,e,s){let{requesterPubKey:a,holonId:c,newLensConfig:h={},updateId:g}=s,v={type:"federation_update_response",senderPubKey:n.client?.publicKey||"",responderHolonId:c,status:"accepted",newLensConfig:h,updateId:g};return nn(n,a,v)}async function D_(n,e,s){let{requesterPubKey:a,holonId:c,reason:h="",updateId:g}=s,v={type:"federation_update_response",senderPubKey:n.client?.publicKey||"",responderHolonId:c,status:"rejected",reason:h,updateId:g};return nn(n,a,v)}var Oa="1.3.0",C_=Oa,po=class{constructor(e,s=!1,a=null,c={}){if(typeof e=="object"&&e!==null){let m=e;if(this.config=m,this.appname=m.appName||m.appname||"holosphere",this.strict=m.strict||!1,this._privateKey=m.privateKey||null,this._privateKey)try{let b=rn.getPublicKeyFromBytes?rn.getPublicKeyFromBytes(this._privateKey):rn.getPublicKey(typeof this._privateKey=="string"?this._privateKey:rn.bytesToHex(this._privateKey));this.client={publicKey:b}}catch(b){console.warn("Failed to derive public key from private key:",b.message),this.client={publicKey:""}}else this.client={publicKey:""};let v=m.nostr?.relays||m.nostr?.peers||[];v.length>0&&(c={peers:v.map(w=>w.replace("wss://","https://").replace("ws://","http://")+"/gun"),...c}),a=m.openaiKey||m.openaikey||null}else this.appname=e,this.config={appName:e},this.client={publicKey:""},this.strict=s,this._privateKey=null;console.log("HoloSphere v"+Oa),this.validator=new q2.default({allErrors:!0,strict:!1,validateSchema:!0});let h={peers:["https://gun.holons.io/gun"],axe:!1,radisk:!0,file:"./holosphere"};typeof window<"u"&&c.radisk!==!1&&(h.localStorage=!1);let g={...h,...c};console.log("Initializing Gun with options:",g),this.gun=(0,Q2.default)(g),this.openai=null,this.subscriptions={},this.schemaCache=new Map,this._holonNameCache=new Map,this._allowedAuthors=new Set}async ready(){return this}getGun(){return this.gun}async setSchema(e,s){return dd(this,e,s)}async getSchema(e,s={}){return hd(this,e,s)}clearSchemaCache(e=null){return pd(this,e)}async put(e,s,a,c=null,h={}){let g=null;return typeof c=="object"&&c!==null?(h=c,g=h.password||null):g=c,gd(this,e,s,a,g,h)}async get(e,s,a=null,c=null,h={}){if(a==null){let g=await oa(this,e,s,null);return g&&g.length>0?g[0]:null}return ia(this,e,s,a,c,h)}async getAll(e,s,a=null,c={}){return oa(this,e,s,a,c)}async parse(e){return md(this,e)}async delete(e,s,a,c=null){return yd(this,e,s,a,c)}async deleteAll(e,s,a=null){return wd(this,e,s,a)}async putNode(e,s,a){return vd(this,e,s,a)}async getNode(e,s,a){return bd(this,e,s,a)}getNodeRef(e){return sa(this,e)}async getNodeBySoul(e){return _d(this,e)}async deleteNode(e,s,a){return Ed(this,e,s,a)}async putGlobal(e,s,a=null){return aa(this,e,s,a)}async writeGlobal(e,s){return aa(this,e,s,null)}async getGlobal(e,s,a=null){return $d(this,e,s,a)}async getAllGlobal(e,s=null){return kd(this,e,s)}async deleteGlobal(e,s,a=null){return xd(this,e,s,a)}async deleteAllGlobal(e,s=null){return Sd(this,e,s)}subscribeGlobal(e,s,a,c={}){let h,g;return typeof s=="function"?(g=s,h=null,c=a||{}):(h=s,g=a),Bd(this,e,h,g,c)}createHologram(e,s,a){return td(this,e,s,a)}parseSoulPath(e){return Ji(e)}isHologram(e){return Zi(e)}async resolveHologram(e,s={}){return rd(this,e,s)}attachHologramMeta(e,s){return Kn(e,s)}async computeHierarchy(e,s,a,c=15,h=null){return Pd(this,e,s,a,c,h)}async compute(e,s,a,c=null){return Dd(this,e,s,a,c)}async summarize(e){return Cd(this,e)}async upcast(e,s,a,c=15){return Td(this,e,s,a,c)}async updateParent(e,s){return Od(this,e,s)}async propagate(e,s,a,c={}){return ud(this,e,s,a,c)}async getHolon(e,s,a){return jd(e,s,a)}getScalespace(e,s){return Nd(e,s)}getHolonScalespace(e){return Md(e)}subscribe(e,s,a){return Rd(this,e,s,a)}notifySubscribers(e){return Id(this,e)}async getHolonName(e){if(!e)return null;let s=String(e);if(this._holonNameCache.has(s))return this._holonNameCache.get(s);try{let a=await this.get(s,"settings",s),c=null;if(a)if(Array.isArray(a)){let h=a.find(g=>g&&typeof g.name=="string"&&g.name.trim()!=="");c=h?h.name:null}else typeof a.name=="string"&&a.name.trim()!==""&&(c=a.name);return this._holonNameCache.set(s,c),c}catch{return this._holonNameCache.set(s,null),null}}generateId(){return Hd()}async federate(e,s,a=null,c=null,h=!0,g={}){return ea(this,e,s,a,c,h,g)}async federateHolon(e,s,a={}){let c=a.lensConfig||{},h=Array.isArray(c.inbound)?c.inbound:[],g=Array.isArray(c.outbound)?c.outbound:[],m=await ea(this,e,s,null,null,!0,{inbound:h,outbound:g});if(m&&a.partnerName)try{let v=await this.getFederation(e);v&&(v.partnerNames||(v.partnerNames={}),v.partnerNames[s]=a.partnerName,await this.putGlobal("federation",v))}catch(v){console.warn("Failed to store partner name:",v.message)}return m}async unfederateHolon(e,s){return Aa(this,e,s,null,null)}async subscribeFederation(e,s,a,c={}){return id(this,e,s,a,c)}async getFederation(e,s=null){let a=await Yt(this,e,s);return a?(a.federated||(a.federated=a.federation||[]),a.partnerNames||(a.partnerNames={}),a.lensConfig||(a.lensConfig={}),a):{federated:[],lensConfig:{},partnerNames:{}}}async getFederatedConfig(e,s,a=null){return od(this,e,s,a)}async unfederate(e,s,a,c=null){return await Aa(this,e,s,a,c)}async removeNotify(e,s,a=null){console.log(`HoloSphere.removeNotify called: ${e}, ${s}`);try{let c=await sd(this,e,s,a);return console.log(`HoloSphere.removeNotify completed successfully: ${c}`),c}catch(c){throw console.error("HoloSphere.removeNotify failed:",c),c}}async getFederated(e,s,a={}){return ad(this,e,s,a)}async federateMessage(e,s,a,c,h="generic"){return ld(this,e,s,a,c,h)}async getFederatedMessages(e,s){return ta(this,e,s)}async updateFederatedMessages(e,s,a){return fd(this,e,s,a)}async resetFederation(e,s=null){return cd(this,e,s)}async canWrite(e,s,a,c={}){if(a===this.client?.publicKey||a===e)return{canWrite:!0,reason:"owner",accessType:"owner"};if(this._allowedAuthors.has(a))return{canWrite:!0,reason:"allowed_author",accessType:"allowed"};try{let h=await Yt(this,e);if(h&&h.federation&&h.federation.includes(a))return{canWrite:!0,reason:"federated",accessType:"federation"}}catch{}return{canWrite:!1,reason:"not_authorized",accessType:"none"}}addAllowedAuthor(e){this._allowedAuthors.add(e)}removeAllowedAuthor(e){this._allowedAuthors.delete(e)}listAllowedAuthors(){return Array.from(this._allowedAuthors)}async close(){return Qd(this)}userName(e){return qd(this,e)}getVersion(){return Oa}configureRadisk(e={}){let a={...{file:"./radata",radisk:!0,until:null,retry:3,timeout:5e3},...e};this.gun&&this.gun._.opt?(Object.assign(this.gun._.opt,a),console.log("Radisk configuration updated:",a)):console.warn("Gun instance not available for radisk configuration")}getRadiskStats(){if(!this.gun||!this.gun._.opt)return{error:"Gun instance not available"};let e=this.gun._.opt;return{enabled:e.radisk||!1,filePath:e.file||"./radata",retry:e.retry||3,timeout:e.timeout||5e3,until:e.until||null,peers:e.peers||[],localStorage:e.localStorage||!1}}},T_=po;return d1(O_);})();
|
|
12
|
+
`):JSON.stringify(x);N=await n.summarize(j);break;case"aggregate":N=m.reduce((q,L)=>(q[L]=x.reduce((G,z)=>G+(Number(z[L])||0),0),q),{});break;case"concatenate":N=m.reduce((q,L)=>(q[L]=x.reduce((G,z)=>{let J=z[L];return Array.isArray(J)?[...G,...J]:J?[...G,J]:G},[]),q[L]=Array.from(new Set(q[L])),q),{});break}if(N){let q={id:`${$}_${g}`,timestamp:Date.now()};return v?q[v]=N:typeof N=="object"?Object.assign(q,N):q.value=N,await n.put($,s,q,c),q}}catch(N){throw console.warn("Error in compute operation:",N),N}return null}async function Cd(n,e){if(!n.openai)return"OpenAI not initialized, please specify the API key in the constructor.";try{return(await n.openai.chat.completions.create({model:"gpt-4",messages:[{role:"system",content:"You are a helpful assistant that summarizes text concisely while preserving key information. Keep summaries clear and focused."},{role:"user",content:e}],temperature:.7,max_tokens:500})).choices[0].message.content.trim()}catch(s){throw console.error("Error in summarize:",s),new Error("Failed to generate summary")}}async function Td(n,e,s,a,c=15){await n.put(e,s,a);let h=wt(e);if(h===0||c<=0)return a;let g=vt(e,h-1),m=n.createHologram(e,s,a);return await n.put(g,s,m,null,{autoPropagate:!1}),h>1&&c>1?n.upcast(g,s,m,c-1):a}async function Od(n,e,s){(typeof n.getCellInfo!="function"||!n.db||typeof n.db.put!="function")&&console.warn("updateParent requires getCellInfo and db.put methods on the HoloSphere instance.");try{let a=await n.getCellInfo(e),c=wt(e),h=vt(e,c-1),g=await n.getCellInfo(h);g.wisdom[e]=s;let m=await n.summarize(Object.values(g.wisdom).join(`
|
|
13
|
+
`));return g.summary=m,await n.db.put("cell",g),g}catch(a){throw console.error("Error during updateParent:",a),a}}async function jd(n,e,s){return Jo(n,e,s)}function Md(n,e){let s=[],a=Jo(n,e,14);s.push(a);for(let c=13;c>=0;c--)s.push(vt(a,c));return s}function Nd(n){let e=[],s=wt(n);for(let a=s;a>=0;a--)e.push(vt(n,a));return e}function Rd(n,e,s,a){if(!e||!s)throw new Error("subscribe: Missing holon or lens parameters:",e,s);if(!a||typeof a!="function")throw new Error("subscribe: Callback must be a function");let c=n.generateId();try{let h=n.gun.get(n.appname).get(e).get(s).map(),g=h.on(async(m,v)=>{if(n.subscriptions[c]&&m)try{let b=await n.parse(m);if(b&&n.isHologram(b)){let w=await n.resolveHologram(b,{followHolograms:!0});w!==b&&(b=w)}if(b!==null&&(typeof b!="object"||Array.isArray(b))){console.warn(`[holosphere.subscribe] dropping non-object payload at ${e}/${s}/${v}:`,typeof b);return}n.subscriptions[c]&&a(b,v)}catch(b){console.error("Error processing subscribed data:",b)}});return n.subscriptions[c]={id:c,holon:e,lens:s,callback:a,mapChain:h,gunListener:g},{unsubscribe:()=>{let m=n.subscriptions[c];if(m)try{m.mapChain&&m.mapChain.off(),delete n.subscriptions[c]}catch(v){console.error(`Error during unsubscribe logic for ${c}:`,v)}}}}catch(h){throw console.error("Error creating subscription:",h),h}}function Id(n,e){if(!(!e||!e.holon||!e.lens))try{Object.values(n.subscriptions).forEach(s=>{if(s.holon===e.holon&&s.lens===e.lens)try{s.callback&&typeof s.callback=="function"&&s.callback(e)}catch(a){console.warn("Error in subscription callback:",a)}})}catch(s){console.warn("Error notifying subscribers:",s)}}function Hd(){return Date.now().toString(10)+Math.random().toString(2)}async function Qd(n){try{if(n.gun){let e=Object.keys(n.subscriptions);for(let s of e)try{let a=n.subscriptions[s];a&&a.mapChain&&a.mapChain.off()}catch(a){console.warn(`Error cleaning up subscription ${s}:`,a)}if(n.subscriptions={},n.clearSchemaCache(),n.gun.back)try{let s=n.gun.back("opt.mesh");if(s){if(s.hear)try{let a=Object.keys(s.hear);for(let c of a)Array.isArray(s.hear[c])&&(s.hear[c]=[]);typeof s.hear!="function"&&(s.hear={})}catch(a){console.warn("Error cleaning up Gun mesh hear:",a)}if(s.way)try{Object.values(s.way).forEach(a=>{a&&a.wire&&a.wire.close&&a.wire.close()})}catch(a){console.warn("Error closing mesh sockets:",a)}s.opt&&s.opt.peers&&(s.opt.peers={})}if(n.gun.back("opt.web"))try{let a=n.gun.back("opt.web");a&&a.close&&a.close()}catch(a){console.warn("Error closing web server:",a)}}catch(s){console.warn("Error accessing Gun mesh:",s)}try{n.gun.off()}catch(s){console.warn("Error turning off Gun listeners:",s)}await new Promise(s=>setTimeout(s,100))}console.log("HoloSphere instance closed successfully")}catch(e){console.error("Error closing HoloSphere instance:",e)}}function qd(n,e){return e?`${n.appname}:${e}`:null}var wr=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;function vr(n){return n instanceof Uint8Array||ArrayBuffer.isView(n)&&n.constructor.name==="Uint8Array"}function Wn(n){if(!Number.isSafeInteger(n)||n<0)throw new Error("positive integer expected, got "+n)}function ct(n,...e){if(!vr(n))throw new Error("Uint8Array expected");if(e.length>0&&!e.includes(n.length))throw new Error("Uint8Array expected of length "+e+", got length="+n.length)}function Xi(n){if(typeof n!="function"||typeof n.create!="function")throw new Error("Hash should be wrapped by utils.createHasher");Wn(n.outputLen),Wn(n.blockLen)}function Zr(n,e=!0){if(n.destroyed)throw new Error("Hash instance has been destroyed");if(e&&n.finished)throw new Error("Hash#digest() has already been called")}function Ud(n,e){ct(n);let s=e.outputLen;if(n.length<s)throw new Error("digestInto() expects output buffer of length at least "+s)}function br(...n){for(let e=0;e<n.length;e++)n[e].fill(0)}function eo(n){return new DataView(n.buffer,n.byteOffset,n.byteLength)}function dt(n,e){return n<<32-e|n>>>e}var Gd=typeof Uint8Array.from([]).toHex=="function"&&typeof Uint8Array.fromHex=="function",H4=Array.from({length:256},(n,e)=>e.toString(16).padStart(2,"0"));function PA(n){if(ct(n),Gd)return n.toHex();let e="";for(let s=0;s<n.length;s++)e+=H4[n[s]];return e}var Dt={_0:48,_9:57,A:65,F:70,a:97,f:102};function Ld(n){if(n>=Dt._0&&n<=Dt._9)return n-Dt._0;if(n>=Dt.A&&n<=Dt.F)return n-(Dt.A-10);if(n>=Dt.a&&n<=Dt.f)return n-(Dt.a-10)}function ht(n){if(typeof n!="string")throw new Error("hex string expected, got "+typeof n);if(Gd)return Uint8Array.fromHex(n);let e=n.length,s=e/2;if(e%2)throw new Error("hex string expected, got unpadded hex of length "+e);let a=new Uint8Array(s);for(let c=0,h=0;c<s;c++,h+=2){let g=Ld(n.charCodeAt(h)),m=Ld(n.charCodeAt(h+1));if(g===void 0||m===void 0){let v=n[h]+n[h+1];throw new Error('hex string expected, got non-hex character "'+v+'" at index '+h)}a[c]=g*16+m}return a}function Fd(n){if(typeof n!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(n))}function Jn(n){return typeof n=="string"&&(n=Fd(n)),ct(n),n}function pt(...n){let e=0;for(let a=0;a<n.length;a++){let c=n[a];ct(c),e+=c.length}let s=new Uint8Array(e);for(let a=0,c=0;a<n.length;a++){let h=n[a];s.set(h,c),c+=h.length}return s}var Jr=class{};function Vd(n){let e=a=>n().update(Jn(a)).digest(),s=n();return e.outputLen=s.outputLen,e.blockLen=s.blockLen,e.create=()=>n(),e}function Ao(n=32){if(wr&&typeof wr.getRandomValues=="function")return wr.getRandomValues(new Uint8Array(n));if(wr&&typeof wr.randomBytes=="function")return Uint8Array.from(wr.randomBytes(n));throw new Error("crypto.getRandomValues must be defined")}function Q4(n,e,s,a){if(typeof n.setBigUint64=="function")return n.setBigUint64(e,s,a);let c=BigInt(32),h=BigInt(4294967295),g=Number(s>>c&h),m=Number(s&h),v=a?4:0,b=a?0:4;n.setUint32(e+v,g,a),n.setUint32(e+b,m,a)}function zd(n,e,s){return n&e^~n&s}function Kd(n,e,s){return n&e^n&s^e&s}var to=class extends Jr{constructor(e,s,a,c){super(),this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.blockLen=e,this.outputLen=s,this.padOffset=a,this.isLE=c,this.buffer=new Uint8Array(e),this.view=eo(this.buffer)}update(e){Zr(this),e=Jn(e),ct(e);let{view:s,buffer:a,blockLen:c}=this,h=e.length;for(let g=0;g<h;){let m=Math.min(c-this.pos,h-g);if(m===c){let v=eo(e);for(;c<=h-g;g+=c)this.process(v,g);continue}a.set(e.subarray(g,g+m),this.pos),this.pos+=m,g+=m,this.pos===c&&(this.process(s,0),this.pos=0)}return this.length+=e.length,this.roundClean(),this}digestInto(e){Zr(this),Ud(e,this),this.finished=!0;let{buffer:s,view:a,blockLen:c,isLE:h}=this,{pos:g}=this;s[g++]=128,br(this.buffer.subarray(g)),this.padOffset>c-g&&(this.process(a,0),g=0);for(let _=g;_<c;_++)s[_]=0;Q4(a,c-8,BigInt(this.length*8),h),this.process(a,0);let m=eo(e),v=this.outputLen;if(v%4)throw new Error("_sha2: outputLen should be aligned to 32bit");let b=v/4,w=this.get();if(b>w.length)throw new Error("_sha2: outputLen bigger than state");for(let _=0;_<b;_++)m.setUint32(4*_,w[_],h)}digest(){let{buffer:e,outputLen:s}=this;this.digestInto(e);let a=e.slice(0,s);return this.destroy(),a}_cloneInto(e){e||(e=new this.constructor),e.set(...this.get());let{blockLen:s,buffer:a,length:c,finished:h,destroyed:g,pos:m}=this;return e.destroyed=g,e.finished=h,e.length=c,e.pos=m,c%s&&e.buffer.set(a),e}clone(){return this._cloneInto()}},Ct=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]);var q4=Uint32Array.from([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),Wt=new Uint32Array(64),ua=class extends to{constructor(e=32){super(64,e,8,!1),this.A=Ct[0]|0,this.B=Ct[1]|0,this.C=Ct[2]|0,this.D=Ct[3]|0,this.E=Ct[4]|0,this.F=Ct[5]|0,this.G=Ct[6]|0,this.H=Ct[7]|0}get(){let{A:e,B:s,C:a,D:c,E:h,F:g,G:m,H:v}=this;return[e,s,a,c,h,g,m,v]}set(e,s,a,c,h,g,m,v){this.A=e|0,this.B=s|0,this.C=a|0,this.D=c|0,this.E=h|0,this.F=g|0,this.G=m|0,this.H=v|0}process(e,s){for(let _=0;_<16;_++,s+=4)Wt[_]=e.getUint32(s,!1);for(let _=16;_<64;_++){let $=Wt[_-15],k=Wt[_-2],T=dt($,7)^dt($,18)^$>>>3,x=dt(k,17)^dt(k,19)^k>>>10;Wt[_]=x+Wt[_-7]+T+Wt[_-16]|0}let{A:a,B:c,C:h,D:g,E:m,F:v,G:b,H:w}=this;for(let _=0;_<64;_++){let $=dt(m,6)^dt(m,11)^dt(m,25),k=w+$+zd(m,v,b)+q4[_]+Wt[_]|0,x=(dt(a,2)^dt(a,13)^dt(a,22))+Kd(a,c,h)|0;w=b,b=v,v=m,m=g+k|0,g=h,h=c,c=a,a=k+x|0}a=a+this.A|0,c=c+this.B|0,h=h+this.C|0,g=g+this.D|0,m=m+this.E|0,v=v+this.F|0,b=b+this.G|0,w=w+this.H|0,this.set(a,c,h,g,m,v,b,w)}roundClean(){br(Wt)}destroy(){this.set(0,0,0,0,0,0,0,0),br(this.buffer)}};var Yd=Vd(()=>new ua);var ro=class extends Jr{constructor(e,s){super(),this.finished=!1,this.destroyed=!1,Xi(e);let a=Jn(s);if(this.iHash=e.create(),typeof this.iHash.update!="function")throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;let c=this.blockLen,h=new Uint8Array(c);h.set(a.length>c?e.create().update(a).digest():a);for(let g=0;g<h.length;g++)h[g]^=54;this.iHash.update(h),this.oHash=e.create();for(let g=0;g<h.length;g++)h[g]^=106;this.oHash.update(h),br(h)}update(e){return Zr(this),this.iHash.update(e),this}digestInto(e){Zr(this),ct(e,this.outputLen),this.finished=!0,this.iHash.digestInto(e),this.oHash.update(e),this.oHash.digestInto(e),this.destroy()}digest(){let e=new Uint8Array(this.oHash.outputLen);return this.digestInto(e),e}_cloneInto(e){e||(e=Object.create(Object.getPrototypeOf(this),{}));let{oHash:s,iHash:a,finished:c,destroyed:h,blockLen:g,outputLen:m}=this;return e=e,e.finished=c,e.destroyed=h,e.blockLen=g,e.outputLen=m,e.oHash=s._cloneInto(e.oHash),e.iHash=a._cloneInto(e.iHash),e}clone(){return this._cloneInto()}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}},la=(n,e,s)=>new ro(n,e).update(s).digest();la.create=(n,e)=>new ro(n,e);var da=BigInt(0),ca=BigInt(1);function Zn(n,e=""){if(typeof n!="boolean"){let s=e&&`"${e}"`;throw new Error(s+"expected boolean, got type="+typeof n)}return n}function Jt(n,e,s=""){let a=vr(n),c=n?.length,h=e!==void 0;if(!a||h&&c!==e){let g=s&&`"${s}" `,m=h?` of length ${e}`:"",v=a?`length=${c}`:`type=${typeof n}`;throw new Error(g+"expected Uint8Array"+m+", got "+v)}return n}function Xn(n){let e=n.toString(16);return e.length&1?"0"+e:e}function Wd(n){if(typeof n!="string")throw new Error("hex string expected, got "+typeof n);return n===""?da:BigInt("0x"+n)}function Xr(n){return Wd(PA(n))}function ha(n){return ct(n),Wd(PA(Uint8Array.from(n).reverse()))}function no(n,e){return ht(n.toString(16).padStart(e*2,"0"))}function pa(n,e){return no(n,e).reverse()}function MA(n,e,s){let a;if(typeof e=="string")try{a=ht(e)}catch(h){throw new Error(n+" must be hex string or Uint8Array, cause: "+h)}else if(vr(e))a=Uint8Array.from(e);else throw new Error(n+" must be hex string or Uint8Array");let c=a.length;if(typeof s=="number"&&c!==s)throw new Error(n+" of length "+s+" expected, got "+c);return a}var fa=n=>typeof n=="bigint"&&da<=n;function Jd(n,e,s){return fa(n)&&fa(e)&&fa(s)&&e<=n&&n<s}function Zd(n,e,s,a){if(!Jd(e,s,a))throw new Error("expected valid "+n+": "+s+" <= n < "+a+", got "+e)}function io(n){let e;for(e=0;n>da;n>>=ca,e+=1);return e}var Zt=n=>(ca<<BigInt(n))-ca;function Xd(n,e,s){if(typeof n!="number"||n<2)throw new Error("hashLen must be a number");if(typeof e!="number"||e<2)throw new Error("qByteLen must be a number");if(typeof s!="function")throw new Error("hmacFn must be a function");let a=k=>new Uint8Array(k),c=k=>Uint8Array.of(k),h=a(n),g=a(n),m=0,v=()=>{h.fill(1),g.fill(0),m=0},b=(...k)=>s(g,h,...k),w=(k=a(0))=>{g=b(c(0),k),h=b(),k.length!==0&&(g=b(c(1),k),h=b())},_=()=>{if(m++>=1e3)throw new Error("drbg: tried 1000 values");let k=0,T=[];for(;k<e;){h=b();let x=h.slice();T.push(x),k+=h.length}return pt(...T)};return(k,T)=>{v(),w(k);let x;for(;!(x=T(_()));)w();return v(),x}}function ei(n,e,s={}){if(!n||typeof n!="object")throw new Error("expected valid options object");function a(c,h,g){let m=n[c];if(g&&m===void 0)return;let v=typeof m;if(v!==h||m===null)throw new Error(`param "${c}" is invalid: expected ${h}, got ${v}`)}Object.entries(e).forEach(([c,h])=>a(c,h,!1)),Object.entries(s).forEach(([c,h])=>a(c,h,!0))}function ga(n){let e=new WeakMap;return(s,...a)=>{let c=e.get(s);if(c!==void 0)return c;let h=n(s,...a);return e.set(s,h),h}}var LA=BigInt(0),NA=BigInt(1),_r=BigInt(2),t2=BigInt(3),r2=BigInt(4),n2=BigInt(5),L4=BigInt(7),i2=BigInt(8),U4=BigInt(9),o2=BigInt(16);function st(n,e){let s=n%e;return s>=LA?s:e+s}function ZA(n,e,s){let a=n;for(;e-- >LA;)a*=a,a%=s;return a}function e2(n,e){if(n===LA)throw new Error("invert: expected non-zero number");if(e<=LA)throw new Error("invert: expected positive modulus, got "+e);let s=st(n,e),a=e,c=LA,h=NA,g=NA,m=LA;for(;s!==LA;){let b=a/s,w=a%s,_=c-g*b,$=h-m*b;a=s,s=w,c=g,h=m,g=_,m=$}if(a!==NA)throw new Error("invert: does not exist");return st(c,e)}function ma(n,e,s){if(!n.eql(n.sqr(e),s))throw new Error("Cannot find square root")}function s2(n,e){let s=(n.ORDER+NA)/r2,a=n.pow(e,s);return ma(n,a,e),a}function G4(n,e){let s=(n.ORDER-n2)/i2,a=n.mul(e,_r),c=n.pow(a,s),h=n.mul(e,c),g=n.mul(n.mul(h,_r),c),m=n.mul(h,n.sub(g,n.ONE));return ma(n,m,e),m}function F4(n){let e=Xt(n),s=a2(n),a=s(e,e.neg(e.ONE)),c=s(e,a),h=s(e,e.neg(a)),g=(n+L4)/o2;return(m,v)=>{let b=m.pow(v,g),w=m.mul(b,a),_=m.mul(b,c),$=m.mul(b,h),k=m.eql(m.sqr(w),v),T=m.eql(m.sqr(_),v);b=m.cmov(b,w,k),w=m.cmov($,_,T);let x=m.eql(m.sqr(w),v),N=m.cmov(b,w,x);return ma(m,N,v),N}}function a2(n){if(n<t2)throw new Error("sqrt is not defined for small field");let e=n-NA,s=0;for(;e%_r===LA;)e/=_r,s++;let a=_r,c=Xt(n);for(;A2(c,a)===1;)if(a++>1e3)throw new Error("Cannot find square root: probably non-prime P");if(s===1)return s2;let h=c.pow(a,e),g=(e+NA)/_r;return function(v,b){if(v.is0(b))return b;if(A2(v,b)!==1)throw new Error("Cannot find square root");let w=s,_=v.mul(v.ONE,h),$=v.pow(b,e),k=v.pow(b,g);for(;!v.eql($,v.ONE);){if(v.is0($))return v.ZERO;let T=1,x=v.sqr($);for(;!v.eql(x,v.ONE);)if(T++,x=v.sqr(x),T===w)throw new Error("Cannot find square root");let N=NA<<BigInt(w-T-1),j=v.pow(_,N);w=T,_=v.sqr(j),$=v.mul($,_),k=v.mul(k,j)}return k}}function V4(n){return n%r2===t2?s2:n%i2===n2?G4:n%o2===U4?F4(n):a2(n)}var z4=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function ya(n){let e={ORDER:"bigint",MASK:"bigint",BYTES:"number",BITS:"number"},s=z4.reduce((a,c)=>(a[c]="function",a),e);return ei(n,s),n}function K4(n,e,s){if(s<LA)throw new Error("invalid exponent, negatives unsupported");if(s===LA)return n.ONE;if(s===NA)return e;let a=n.ONE,c=e;for(;s>LA;)s&NA&&(a=n.mul(a,c)),c=n.sqr(c),s>>=NA;return a}function oo(n,e,s=!1){let a=new Array(e.length).fill(s?n.ZERO:void 0),c=e.reduce((g,m,v)=>n.is0(m)?g:(a[v]=g,n.mul(g,m)),n.ONE),h=n.inv(c);return e.reduceRight((g,m,v)=>n.is0(m)?g:(a[v]=n.mul(g,a[v]),n.mul(g,m)),h),a}function A2(n,e){let s=(n.ORDER-NA)/_r,a=n.pow(e,s),c=n.eql(a,n.ONE),h=n.eql(a,n.ZERO),g=n.eql(a,n.neg(n.ONE));if(!c&&!h&&!g)throw new Error("invalid Legendre symbol result");return c?1:h?0:-1}function so(n,e){e!==void 0&&Wn(e);let s=e!==void 0?e:n.toString(2).length,a=Math.ceil(s/8);return{nBitLength:s,nByteLength:a}}function Xt(n,e,s=!1,a={}){if(n<=LA)throw new Error("invalid field: expected ORDER > 0, got "+n);let c,h,g=!1,m;if(typeof e=="object"&&e!=null){if(a.sqrt||s)throw new Error("cannot specify opts in two arguments");let $=e;$.BITS&&(c=$.BITS),$.sqrt&&(h=$.sqrt),typeof $.isLE=="boolean"&&(s=$.isLE),typeof $.modFromBytes=="boolean"&&(g=$.modFromBytes),m=$.allowedLengths}else typeof e=="number"&&(c=e),a.sqrt&&(h=a.sqrt);let{nBitLength:v,nByteLength:b}=so(n,c);if(b>2048)throw new Error("invalid field: expected ORDER of <= 2048 bytes");let w,_=Object.freeze({ORDER:n,isLE:s,BITS:v,BYTES:b,MASK:Zt(v),ZERO:LA,ONE:NA,allowedLengths:m,create:$=>st($,n),isValid:$=>{if(typeof $!="bigint")throw new Error("invalid field element: expected bigint, got "+typeof $);return LA<=$&&$<n},is0:$=>$===LA,isValidNot0:$=>!_.is0($)&&_.isValid($),isOdd:$=>($&NA)===NA,neg:$=>st(-$,n),eql:($,k)=>$===k,sqr:$=>st($*$,n),add:($,k)=>st($+k,n),sub:($,k)=>st($-k,n),mul:($,k)=>st($*k,n),pow:($,k)=>K4(_,$,k),div:($,k)=>st($*e2(k,n),n),sqrN:$=>$*$,addN:($,k)=>$+k,subN:($,k)=>$-k,mulN:($,k)=>$*k,inv:$=>e2($,n),sqrt:h||($=>(w||(w=V4(n)),w(_,$))),toBytes:$=>s?pa($,b):no($,b),fromBytes:($,k=!0)=>{if(m){if(!m.includes($.length)||$.length>b)throw new Error("Field.fromBytes: expected "+m+" bytes, got "+$.length);let x=new Uint8Array(b);x.set($,s?0:x.length-$.length),$=x}if($.length!==b)throw new Error("Field.fromBytes: expected "+b+" bytes, got "+$.length);let T=s?ha($):Xr($);if(g&&(T=st(T,n)),!k&&!_.isValid(T))throw new Error("invalid field element: outside of range 0..ORDER");return T},invertBatch:$=>oo(_,$),cmov:($,k,T)=>T?k:$});return Object.freeze(_)}function u2(n){if(typeof n!="bigint")throw new Error("field order must be bigint");let e=n.toString(2).length;return Math.ceil(e/8)}function wa(n){let e=u2(n);return e+Math.ceil(e/2)}function va(n,e,s=!1){let a=n.length,c=u2(e),h=wa(e);if(a<16||a<h||a>1024)throw new Error("expected "+h+"-1024 bytes of input, got "+a);let g=s?ha(n):Xr(n),m=st(g,e-NA)+NA;return s?pa(m,c):no(m,c)}var en=BigInt(0),Er=BigInt(1);function Ai(n,e){let s=e.negate();return n?s:e}function uo(n,e){let s=oo(n.Fp,e.map(a=>a.Z));return e.map((a,c)=>n.fromAffine(a.toAffine(s[c])))}function d2(n,e){if(!Number.isSafeInteger(n)||n<=0||n>e)throw new Error("invalid window size, expected [1.."+e+"], got W="+n)}function ba(n,e){d2(n,e);let s=Math.ceil(e/n)+1,a=2**(n-1),c=2**n,h=Zt(n),g=BigInt(n);return{windows:s,windowSize:a,mask:h,maxNumber:c,shiftBy:g}}function l2(n,e,s){let{windowSize:a,mask:c,maxNumber:h,shiftBy:g}=s,m=Number(n&c),v=n>>g;m>a&&(m-=h,v+=Er);let b=e*a,w=b+Math.abs(m)-1,_=m===0,$=m<0,k=e%2!==0;return{nextN:v,offset:w,isZero:_,isNeg:$,isNegF:k,offsetF:b}}function Y4(n,e){if(!Array.isArray(n))throw new Error("array expected");n.forEach((s,a)=>{if(!(s instanceof e))throw new Error("invalid point at index "+a)})}function W4(n,e){if(!Array.isArray(n))throw new Error("array of scalars expected");n.forEach((s,a)=>{if(!e.isValid(s))throw new Error("invalid scalar at index "+a)})}var _a=new WeakMap,h2=new WeakMap;function Ea(n){return h2.get(n)||1}function f2(n){if(n!==en)throw new Error("invalid wNAF")}var ao=class{constructor(e,s){this.BASE=e.BASE,this.ZERO=e.ZERO,this.Fn=e.Fn,this.bits=s}_unsafeLadder(e,s,a=this.ZERO){let c=e;for(;s>en;)s&Er&&(a=a.add(c)),c=c.double(),s>>=Er;return a}precomputeWindow(e,s){let{windows:a,windowSize:c}=ba(s,this.bits),h=[],g=e,m=g;for(let v=0;v<a;v++){m=g,h.push(m);for(let b=1;b<c;b++)m=m.add(g),h.push(m);g=m.double()}return h}wNAF(e,s,a){if(!this.Fn.isValid(a))throw new Error("invalid scalar");let c=this.ZERO,h=this.BASE,g=ba(e,this.bits);for(let m=0;m<g.windows;m++){let{nextN:v,offset:b,isZero:w,isNeg:_,isNegF:$,offsetF:k}=l2(a,m,g);a=v,w?h=h.add(Ai($,s[k])):c=c.add(Ai(_,s[b]))}return f2(a),{p:c,f:h}}wNAFUnsafe(e,s,a,c=this.ZERO){let h=ba(e,this.bits);for(let g=0;g<h.windows&&a!==en;g++){let{nextN:m,offset:v,isZero:b,isNeg:w}=l2(a,g,h);if(a=m,!b){let _=s[v];c=c.add(w?_.negate():_)}}return f2(a),c}getPrecomputes(e,s,a){let c=_a.get(s);return c||(c=this.precomputeWindow(s,e),e!==1&&(typeof a=="function"&&(c=a(c)),_a.set(s,c))),c}cached(e,s,a){let c=Ea(e);return this.wNAF(c,this.getPrecomputes(c,e,a),s)}unsafe(e,s,a,c){let h=Ea(e);return h===1?this._unsafeLadder(e,s,c):this.wNAFUnsafe(h,this.getPrecomputes(h,e,a),s,c)}createCache(e,s){d2(s,this.bits),h2.set(e,s),_a.delete(e)}hasCache(e){return Ea(e)!==1}};function p2(n,e,s,a){let c=e,h=n.ZERO,g=n.ZERO;for(;s>en||a>en;)s&Er&&(h=h.add(c)),a&Er&&(g=g.add(c)),c=c.double(),s>>=Er,a>>=Er;return{p1:h,p2:g}}function g2(n,e,s,a){Y4(s,n),W4(a,e);let c=s.length,h=a.length;if(c!==h)throw new Error("arrays of points and scalars must have equal length");let g=n.ZERO,m=io(BigInt(c)),v=1;m>12?v=m-3:m>4?v=m-2:m>0&&(v=2);let b=Zt(v),w=new Array(Number(b)+1).fill(g),_=Math.floor((e.BITS-1)/v)*v,$=g;for(let k=_;k>=0;k-=v){w.fill(g);for(let x=0;x<h;x++){let N=a[x],j=Number(N>>BigInt(k)&b);w[j]=w[j].add(s[x])}let T=g;for(let x=w.length-1,N=g;x>0;x--)N=N.add(w[x]),T=T.add(N);if($=$.add(T),k!==0)for(let x=0;x<v;x++)$=$.double()}return $}function c2(n,e,s){if(e){if(e.ORDER!==n)throw new Error("Field.ORDER must match order: Fp == p, Fn == n");return ya(e),e}else return Xt(n,{isLE:s})}function m2(n,e,s={},a){if(a===void 0&&(a=n==="edwards"),!e||typeof e!="object")throw new Error(`expected valid ${n} CURVE object`);for(let v of["p","n","h"]){let b=e[v];if(!(typeof b=="bigint"&&b>en))throw new Error(`CURVE.${v} must be positive bigint`)}let c=c2(e.p,s.Fp,a),h=c2(e.n,s.Fn,a),m=["Gx","Gy","a",n==="weierstrass"?"b":"d"];for(let v of m)if(!c.isValid(e[v]))throw new Error(`CURVE.${v} must be valid field element of CURVE.Fp`);return e=Object.freeze(Object.assign({},e)),{CURVE:e,Fp:c,Fn:h}}var y2=(n,e)=>(n+(n>=0?e:-e)/w2)/e;function J4(n,e,s){let[[a,c],[h,g]]=e,m=y2(g*n,s),v=y2(-c*n,s),b=n-m*a-v*h,w=-m*c-v*g,_=b<Ot,$=w<Ot;_&&(b=-b),$&&(w=-w);let k=Zt(Math.ceil(io(s)/2))+tn;if(b<Ot||b>=k||w<Ot||w>=k)throw new Error("splitScalar (endomorphism): failed, k="+n);return{k1neg:_,k1:b,k2neg:$,k2:w}}function ka(n){if(!["compact","recovered","der"].includes(n))throw new Error('Signature format must be "compact", "recovered", or "der"');return n}function $a(n,e){let s={};for(let a of Object.keys(e))s[a]=n[a]===void 0?e[a]:n[a];return Zn(s.lowS,"lowS"),Zn(s.prehash,"prehash"),s.format!==void 0&&ka(s.format),s}var xa=class extends Error{constructor(e=""){super(e)}},Tt={Err:xa,_tlv:{encode:(n,e)=>{let{Err:s}=Tt;if(n<0||n>256)throw new s("tlv.encode: wrong tag");if(e.length&1)throw new s("tlv.encode: unpadded data");let a=e.length/2,c=Xn(a);if(c.length/2&128)throw new s("tlv.encode: long form length too big");let h=a>127?Xn(c.length/2|128):"";return Xn(n)+h+c+e},decode(n,e){let{Err:s}=Tt,a=0;if(n<0||n>256)throw new s("tlv.encode: wrong tag");if(e.length<2||e[a++]!==n)throw new s("tlv.decode: wrong tlv");let c=e[a++],h=!!(c&128),g=0;if(!h)g=c;else{let v=c&127;if(!v)throw new s("tlv.decode(long): indefinite length not supported");if(v>4)throw new s("tlv.decode(long): byte length is too big");let b=e.subarray(a,a+v);if(b.length!==v)throw new s("tlv.decode: length bytes not complete");if(b[0]===0)throw new s("tlv.decode(long): zero leftmost byte");for(let w of b)g=g<<8|w;if(a+=v,g<128)throw new s("tlv.decode(long): not minimal encoding")}let m=e.subarray(a,a+g);if(m.length!==g)throw new s("tlv.decode: wrong value length");return{v:m,l:e.subarray(a+g)}}},_int:{encode(n){let{Err:e}=Tt;if(n<Ot)throw new e("integer: negative integers are not allowed");let s=Xn(n);if(Number.parseInt(s[0],16)&8&&(s="00"+s),s.length&1)throw new e("unexpected DER parsing assertion: unpadded hex");return s},decode(n){let{Err:e}=Tt;if(n[0]&128)throw new e("invalid signature integer: negative");if(n[0]===0&&!(n[1]&128))throw new e("invalid signature integer: unnecessary leading zero");return Xr(n)}},toSig(n){let{Err:e,_int:s,_tlv:a}=Tt,c=MA("signature",n),{v:h,l:g}=a.decode(48,c);if(g.length)throw new e("invalid signature: left bytes after parsing");let{v:m,l:v}=a.decode(2,h),{v:b,l:w}=a.decode(2,v);if(w.length)throw new e("invalid signature: left bytes after parsing");return{r:s.decode(m),s:s.decode(b)}},hexFromSig(n){let{_tlv:e,_int:s}=Tt,a=e.encode(2,s.encode(n.r)),c=e.encode(2,s.encode(n.s)),h=a+c;return e.encode(48,h)}},Ot=BigInt(0),tn=BigInt(1),w2=BigInt(2),lo=BigInt(3),Z4=BigInt(4);function An(n,e){let{BYTES:s}=n,a;if(typeof e=="bigint")a=e;else{let c=MA("private key",e);try{a=n.fromBytes(c)}catch{throw new Error(`invalid private key: expected ui8a of size ${s}, got ${typeof e}`)}}if(!n.isValidNot0(a))throw new Error("invalid private key: out of range [1..N-1]");return a}function X4(n,e={}){let s=m2("weierstrass",n,e),{Fp:a,Fn:c}=s,h=s.CURVE,{h:g,n:m}=h;ei(e,{},{allowInfinityPoint:"boolean",clearCofactor:"function",isTorsionFree:"function",fromBytes:"function",toBytes:"function",endo:"object",wrapPrivateKey:"boolean"});let{endo:v}=e;if(v&&(!a.is0(h.a)||typeof v.beta!="bigint"||!Array.isArray(v.basises)))throw new Error('invalid endo: expected "beta": bigint and "basises": array');let b=b2(a,c);function w(){if(!a.isOdd)throw new Error("compression is not supported: Field does not have .isOdd()")}function _(D,B,C){let{x:Q,y:Y}=B.toAffine(),K=a.toBytes(Q);if(Zn(C,"isCompressed"),C){w();let U=!a.isOdd(Y);return pt(v2(U),K)}else return pt(Uint8Array.of(4),K,a.toBytes(Y))}function $(D){Jt(D,void 0,"Point");let{publicKey:B,publicKeyUncompressed:C}=b,Q=D.length,Y=D[0],K=D.subarray(1);if(Q===B&&(Y===2||Y===3)){let U=a.fromBytes(K);if(!a.isValid(U))throw new Error("bad point: is not on curve, wrong x");let re=x(U),ie;try{ie=a.sqrt(re)}catch(Pe){let Ee=Pe instanceof Error?": "+Pe.message:"";throw new Error("bad point: is not on curve, sqrt error"+Ee)}w();let le=a.isOdd(ie);return(Y&1)===1!==le&&(ie=a.neg(ie)),{x:U,y:ie}}else if(Q===C&&Y===4){let U=a.BYTES,re=a.fromBytes(K.subarray(0,U)),ie=a.fromBytes(K.subarray(U,U*2));if(!N(re,ie))throw new Error("bad point: is not on curve");return{x:re,y:ie}}else throw new Error(`bad point: got length ${Q}, expected compressed=${B} or uncompressed=${C}`)}let k=e.toBytes||_,T=e.fromBytes||$;function x(D){let B=a.sqr(D),C=a.mul(B,D);return a.add(a.add(C,a.mul(D,h.a)),h.b)}function N(D,B){let C=a.sqr(B),Q=x(D);return a.eql(C,Q)}if(!N(h.Gx,h.Gy))throw new Error("bad curve params: generator point");let j=a.mul(a.pow(h.a,lo),Z4),q=a.mul(a.sqr(h.b),BigInt(27));if(a.is0(a.add(j,q)))throw new Error("bad curve params: a or b");function L(D,B,C=!1){if(!a.isValid(B)||C&&a.is0(B))throw new Error(`bad point coordinate ${D}`);return B}function G(D){if(!(D instanceof X))throw new Error("ProjectivePoint expected")}function z(D){if(!v||!v.basises)throw new Error("no endo");return J4(D,v.basises,c.ORDER)}let J=ga((D,B)=>{let{X:C,Y:Q,Z:Y}=D;if(a.eql(Y,a.ONE))return{x:C,y:Q};let K=D.is0();B==null&&(B=K?a.ONE:a.inv(Y));let U=a.mul(C,B),re=a.mul(Q,B),ie=a.mul(Y,B);if(K)return{x:a.ZERO,y:a.ZERO};if(!a.eql(ie,a.ONE))throw new Error("invZ was invalid");return{x:U,y:re}}),pe=ga(D=>{if(D.is0()){if(e.allowInfinityPoint&&!a.is0(D.Y))return;throw new Error("bad point: ZERO")}let{x:B,y:C}=D.toAffine();if(!a.isValid(B)||!a.isValid(C))throw new Error("bad point: x or y not field elements");if(!N(B,C))throw new Error("bad point: equation left != right");if(!D.isTorsionFree())throw new Error("bad point: not in prime-order subgroup");return!0});function W(D,B,C,Q,Y){return C=new X(a.mul(C.X,D),C.Y,C.Z),B=Ai(Q,B),C=Ai(Y,C),B.add(C)}class X{constructor(B,C,Q){this.X=L("x",B),this.Y=L("y",C,!0),this.Z=L("z",Q),Object.freeze(this)}static CURVE(){return h}static fromAffine(B){let{x:C,y:Q}=B||{};if(!B||!a.isValid(C)||!a.isValid(Q))throw new Error("invalid affine point");if(B instanceof X)throw new Error("projective point not allowed");return a.is0(C)&&a.is0(Q)?X.ZERO:new X(C,Q,a.ONE)}static fromBytes(B){let C=X.fromAffine(T(Jt(B,void 0,"point")));return C.assertValidity(),C}static fromHex(B){return X.fromBytes(MA("pointHex",B))}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(B=8,C=!0){return ue.createCache(this,B),C||this.multiply(lo),this}assertValidity(){pe(this)}hasEvenY(){let{y:B}=this.toAffine();if(!a.isOdd)throw new Error("Field doesn't support isOdd");return!a.isOdd(B)}equals(B){G(B);let{X:C,Y:Q,Z:Y}=this,{X:K,Y:U,Z:re}=B,ie=a.eql(a.mul(C,re),a.mul(K,Y)),le=a.eql(a.mul(Q,re),a.mul(U,Y));return ie&&le}negate(){return new X(this.X,a.neg(this.Y),this.Z)}double(){let{a:B,b:C}=h,Q=a.mul(C,lo),{X:Y,Y:K,Z:U}=this,re=a.ZERO,ie=a.ZERO,le=a.ZERO,ge=a.mul(Y,Y),Pe=a.mul(K,K),Ee=a.mul(U,U),ve=a.mul(Y,K);return ve=a.add(ve,ve),le=a.mul(Y,U),le=a.add(le,le),re=a.mul(B,le),ie=a.mul(Q,Ee),ie=a.add(re,ie),re=a.sub(Pe,ie),ie=a.add(Pe,ie),ie=a.mul(re,ie),re=a.mul(ve,re),le=a.mul(Q,le),Ee=a.mul(B,Ee),ve=a.sub(ge,Ee),ve=a.mul(B,ve),ve=a.add(ve,le),le=a.add(ge,ge),ge=a.add(le,ge),ge=a.add(ge,Ee),ge=a.mul(ge,ve),ie=a.add(ie,ge),Ee=a.mul(K,U),Ee=a.add(Ee,Ee),ge=a.mul(Ee,ve),re=a.sub(re,ge),le=a.mul(Ee,Pe),le=a.add(le,le),le=a.add(le,le),new X(re,ie,le)}add(B){G(B);let{X:C,Y:Q,Z:Y}=this,{X:K,Y:U,Z:re}=B,ie=a.ZERO,le=a.ZERO,ge=a.ZERO,Pe=h.a,Ee=a.mul(h.b,lo),ve=a.mul(C,K),Ne=a.mul(Q,U),rA=a.mul(Y,re),fA=a.add(C,Q),Ye=a.add(K,U);fA=a.mul(fA,Ye),Ye=a.add(ve,Ne),fA=a.sub(fA,Ye),Ye=a.add(C,Y);let nA=a.add(K,re);return Ye=a.mul(Ye,nA),nA=a.add(ve,rA),Ye=a.sub(Ye,nA),nA=a.add(Q,Y),ie=a.add(U,re),nA=a.mul(nA,ie),ie=a.add(Ne,rA),nA=a.sub(nA,ie),ge=a.mul(Pe,Ye),ie=a.mul(Ee,rA),ge=a.add(ie,ge),ie=a.sub(Ne,ge),ge=a.add(Ne,ge),le=a.mul(ie,ge),Ne=a.add(ve,ve),Ne=a.add(Ne,ve),rA=a.mul(Pe,rA),Ye=a.mul(Ee,Ye),Ne=a.add(Ne,rA),rA=a.sub(ve,rA),rA=a.mul(Pe,rA),Ye=a.add(Ye,rA),ve=a.mul(Ne,Ye),le=a.add(le,ve),ve=a.mul(nA,Ye),ie=a.mul(fA,ie),ie=a.sub(ie,ve),ve=a.mul(fA,Ne),ge=a.mul(nA,ge),ge=a.add(ge,ve),new X(ie,le,ge)}subtract(B){return this.add(B.negate())}is0(){return this.equals(X.ZERO)}multiply(B){let{endo:C}=e;if(!c.isValidNot0(B))throw new Error("invalid scalar: out of range");let Q,Y,K=U=>ue.cached(this,U,re=>uo(X,re));if(C){let{k1neg:U,k1:re,k2neg:ie,k2:le}=z(B),{p:ge,f:Pe}=K(re),{p:Ee,f:ve}=K(le);Y=Pe.add(ve),Q=W(C.beta,ge,Ee,U,ie)}else{let{p:U,f:re}=K(B);Q=U,Y=re}return uo(X,[Q,Y])[0]}multiplyUnsafe(B){let{endo:C}=e,Q=this;if(!c.isValid(B))throw new Error("invalid scalar: out of range");if(B===Ot||Q.is0())return X.ZERO;if(B===tn)return Q;if(ue.hasCache(this))return this.multiply(B);if(C){let{k1neg:Y,k1:K,k2neg:U,k2:re}=z(B),{p1:ie,p2:le}=p2(X,Q,K,re);return W(C.beta,ie,le,Y,U)}else return ue.unsafe(Q,B)}multiplyAndAddUnsafe(B,C,Q){let Y=this.multiplyUnsafe(C).add(B.multiplyUnsafe(Q));return Y.is0()?void 0:Y}toAffine(B){return J(this,B)}isTorsionFree(){let{isTorsionFree:B}=e;return g===tn?!0:B?B(X,this):ue.unsafe(this,m).is0()}clearCofactor(){let{clearCofactor:B}=e;return g===tn?this:B?B(X,this):this.multiplyUnsafe(g)}isSmallOrder(){return this.multiplyUnsafe(g).is0()}toBytes(B=!0){return Zn(B,"isCompressed"),this.assertValidity(),k(X,this,B)}toHex(B=!0){return PA(this.toBytes(B))}toString(){return`<Point ${this.is0()?"ZERO":this.toHex()}>`}get px(){return this.X}get py(){return this.X}get pz(){return this.Z}toRawBytes(B=!0){return this.toBytes(B)}_setWindowSize(B){this.precompute(B)}static normalizeZ(B){return uo(X,B)}static msm(B,C){return g2(X,c,B,C)}static fromPrivateKey(B){return X.BASE.multiply(An(c,B))}}X.BASE=new X(h.Gx,h.Gy,a.ONE),X.ZERO=new X(a.ZERO,a.ONE,a.ZERO),X.Fp=a,X.Fn=c;let we=c.BITS,ue=new ao(X,e.endo?Math.ceil(we/2):we);return X.BASE.precompute(8),X}function v2(n){return Uint8Array.of(n?2:3)}function b2(n,e){return{secretKey:e.BYTES,publicKey:1+n.BYTES,publicKeyUncompressed:1+2*n.BYTES,publicKeyHasPrefix:!0,signature:2*e.BYTES}}function e_(n,e={}){let{Fn:s}=n,a=e.randomBytes||Ao,c=Object.assign(b2(n.Fp,s),{seed:wa(s.ORDER)});function h(k){try{return!!An(s,k)}catch{return!1}}function g(k,T){let{publicKey:x,publicKeyUncompressed:N}=c;try{let j=k.length;return T===!0&&j!==x||T===!1&&j!==N?!1:!!n.fromBytes(k)}catch{return!1}}function m(k=a(c.seed)){return va(Jt(k,c.seed,"seed"),s.ORDER)}function v(k,T=!0){return n.BASE.multiply(An(s,k)).toBytes(T)}function b(k){let T=m(k);return{secretKey:T,publicKey:v(T)}}function w(k){if(typeof k=="bigint")return!1;if(k instanceof n)return!0;let{secretKey:T,publicKey:x,publicKeyUncompressed:N}=c;if(s.allowedLengths||T===x)return;let j=MA("key",k).length;return j===x||j===N}function _(k,T,x=!0){if(w(k)===!0)throw new Error("first arg must be private key");if(w(T)===!1)throw new Error("second arg must be public key");let N=An(s,k);return n.fromHex(T).multiply(N).toBytes(x)}return Object.freeze({getPublicKey:v,getSharedSecret:_,keygen:b,Point:n,utils:{isValidSecretKey:h,isValidPublicKey:g,randomSecretKey:m,isValidPrivateKey:h,randomPrivateKey:m,normPrivateKeyToScalar:k=>An(s,k),precompute(k=8,T=n.BASE){return T.precompute(k,!1)}},lengths:c})}function A_(n,e,s={}){Xi(e),ei(s,{},{hmac:"function",lowS:"boolean",randomBytes:"function",bits2int:"function",bits2int_modN:"function"});let a=s.randomBytes||Ao,c=s.hmac||((C,...Q)=>la(e,C,pt(...Q))),{Fp:h,Fn:g}=n,{ORDER:m,BITS:v}=g,{keygen:b,getPublicKey:w,getSharedSecret:_,utils:$,lengths:k}=e_(n,s),T={prehash:!1,lowS:typeof s.lowS=="boolean"?s.lowS:!1,format:void 0,extraEntropy:!1},x="compact";function N(C){let Q=m>>tn;return C>Q}function j(C,Q){if(!g.isValidNot0(Q))throw new Error(`invalid signature ${C}: out of range 1..Point.Fn.ORDER`);return Q}function q(C,Q){ka(Q);let Y=k.signature,K=Q==="compact"?Y:Q==="recovered"?Y+1:void 0;return Jt(C,K,`${Q} signature`)}class L{constructor(Q,Y,K){this.r=j("r",Q),this.s=j("s",Y),K!=null&&(this.recovery=K),Object.freeze(this)}static fromBytes(Q,Y=x){q(Q,Y);let K;if(Y==="der"){let{r:le,s:ge}=Tt.toSig(Jt(Q));return new L(le,ge)}Y==="recovered"&&(K=Q[0],Y="compact",Q=Q.subarray(1));let U=g.BYTES,re=Q.subarray(0,U),ie=Q.subarray(U,U*2);return new L(g.fromBytes(re),g.fromBytes(ie),K)}static fromHex(Q,Y){return this.fromBytes(ht(Q),Y)}addRecoveryBit(Q){return new L(this.r,this.s,Q)}recoverPublicKey(Q){let Y=h.ORDER,{r:K,s:U,recovery:re}=this;if(re==null||![0,1,2,3].includes(re))throw new Error("recovery id invalid");if(m*w2<Y&&re>1)throw new Error("recovery id is ambiguous for h>1 curve");let le=re===2||re===3?K+m:K;if(!h.isValid(le))throw new Error("recovery id 2 or 3 invalid");let ge=h.toBytes(le),Pe=n.fromBytes(pt(v2((re&1)===0),ge)),Ee=g.inv(le),ve=z(MA("msgHash",Q)),Ne=g.create(-ve*Ee),rA=g.create(U*Ee),fA=n.BASE.multiplyUnsafe(Ne).add(Pe.multiplyUnsafe(rA));if(fA.is0())throw new Error("point at infinify");return fA.assertValidity(),fA}hasHighS(){return N(this.s)}toBytes(Q=x){if(ka(Q),Q==="der")return ht(Tt.hexFromSig(this));let Y=g.toBytes(this.r),K=g.toBytes(this.s);if(Q==="recovered"){if(this.recovery==null)throw new Error("recovery bit must be present");return pt(Uint8Array.of(this.recovery),Y,K)}return pt(Y,K)}toHex(Q){return PA(this.toBytes(Q))}assertValidity(){}static fromCompact(Q){return L.fromBytes(MA("sig",Q),"compact")}static fromDER(Q){return L.fromBytes(MA("sig",Q),"der")}normalizeS(){return this.hasHighS()?new L(this.r,g.neg(this.s),this.recovery):this}toDERRawBytes(){return this.toBytes("der")}toDERHex(){return PA(this.toBytes("der"))}toCompactRawBytes(){return this.toBytes("compact")}toCompactHex(){return PA(this.toBytes("compact"))}}let G=s.bits2int||function(Q){if(Q.length>8192)throw new Error("input is too large");let Y=Xr(Q),K=Q.length*8-v;return K>0?Y>>BigInt(K):Y},z=s.bits2int_modN||function(Q){return g.create(G(Q))},J=Zt(v);function pe(C){return Zd("num < 2^"+v,C,Ot,J),g.toBytes(C)}function W(C,Q){return Jt(C,void 0,"message"),Q?Jt(e(C),void 0,"prehashed message"):C}function X(C,Q,Y){if(["recovered","canonical"].some(Ne=>Ne in Y))throw new Error("sign() legacy options not supported");let{lowS:K,prehash:U,extraEntropy:re}=$a(Y,T);C=W(C,U);let ie=z(C),le=An(g,Q),ge=[pe(le),pe(ie)];if(re!=null&&re!==!1){let Ne=re===!0?a(k.secretKey):re;ge.push(MA("extraEntropy",Ne))}let Pe=pt(...ge),Ee=ie;function ve(Ne){let rA=G(Ne);if(!g.isValidNot0(rA))return;let fA=g.inv(rA),Ye=n.BASE.multiply(rA).toAffine(),nA=g.create(Ye.x);if(nA===Ot)return;let RA=g.create(fA*g.create(Ee+nA*le));if(RA===Ot)return;let WA=(Ye.x===nA?0:2)|Number(Ye.y&tn),ni=RA;return K&&N(RA)&&(ni=g.neg(RA),WA^=1),new L(nA,ni,WA)}return{seed:Pe,k2sig:ve}}function we(C,Q,Y={}){C=MA("message",C);let{seed:K,k2sig:U}=X(C,Q,Y);return Xd(e.outputLen,g.BYTES,c)(K,U)}function ue(C){let Q,Y=typeof C=="string"||vr(C),K=!Y&&C!==null&&typeof C=="object"&&typeof C.r=="bigint"&&typeof C.s=="bigint";if(!Y&&!K)throw new Error("invalid signature, expected Uint8Array, hex string or Signature instance");if(K)Q=new L(C.r,C.s);else if(Y){try{Q=L.fromBytes(MA("sig",C),"der")}catch(U){if(!(U instanceof Tt.Err))throw U}if(!Q)try{Q=L.fromBytes(MA("sig",C),"compact")}catch{return!1}}return Q||!1}function D(C,Q,Y,K={}){let{lowS:U,prehash:re,format:ie}=$a(K,T);if(Y=MA("publicKey",Y),Q=W(MA("message",Q),re),"strict"in K)throw new Error("options.strict was renamed to lowS");let le=ie===void 0?ue(C):L.fromBytes(MA("sig",C),ie);if(le===!1)return!1;try{let ge=n.fromBytes(Y);if(U&&le.hasHighS())return!1;let{r:Pe,s:Ee}=le,ve=z(Q),Ne=g.inv(Ee),rA=g.create(ve*Ne),fA=g.create(Pe*Ne),Ye=n.BASE.multiplyUnsafe(rA).add(ge.multiplyUnsafe(fA));return Ye.is0()?!1:g.create(Ye.x)===Pe}catch{return!1}}function B(C,Q,Y={}){let{prehash:K}=$a(Y,T);return Q=W(Q,K),L.fromBytes(C,"recovered").recoverPublicKey(Q).toBytes()}return Object.freeze({keygen:b,getPublicKey:w,getSharedSecret:_,utils:$,lengths:k,Point:n,sign:we,verify:D,recoverPublicKey:B,Signature:L,hash:e})}function t_(n){let e={a:n.a,b:n.b,p:n.Fp.ORDER,n:n.n,h:n.h,Gx:n.Gx,Gy:n.Gy},s=n.Fp,a=n.allowedPrivateKeyLengths?Array.from(new Set(n.allowedPrivateKeyLengths.map(g=>Math.ceil(g/2)))):void 0,c=Xt(e.n,{BITS:n.nBitLength,allowedLengths:a,modFromBytes:n.wrapPrivateKey}),h={Fp:s,Fn:c,allowInfinityPoint:n.allowInfinityPoint,endo:n.endo,isTorsionFree:n.isTorsionFree,clearCofactor:n.clearCofactor,fromBytes:n.fromBytes,toBytes:n.toBytes};return{CURVE:e,curveOpts:h}}function r_(n){let{CURVE:e,curveOpts:s}=t_(n),a={hmac:n.hmac,randomBytes:n.randomBytes,lowS:n.lowS,bits2int:n.bits2int,bits2int_modN:n.bits2int_modN};return{CURVE:e,curveOpts:s,hash:n.hash,ecdsaOpts:a}}function n_(n,e){let s=e.Point;return Object.assign({},e,{ProjectivePoint:s,CURVE:Object.assign({},n,so(s.Fn.ORDER,s.Fn.BITS))})}function _2(n){let{CURVE:e,curveOpts:s,hash:a,ecdsaOpts:c}=r_(n),h=X4(e,s),g=A_(h,a,c);return n_(n,g)}function E2(n,e){let s=a=>_2({...n,hash:a});return{...s(e),create:s}}var Ba={p:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),n:BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),h:BigInt(1),a:BigInt(0),b:BigInt(7),Gx:BigInt("0x79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"),Gy:BigInt("0x483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8")},i_={beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),basises:[[BigInt("0x3086d221a7d46bcde86c90e49284eb15"),-BigInt("0xe4437ed6010e88286f547fa90abfe4c3")],[BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),BigInt("0x3086d221a7d46bcde86c90e49284eb15")]]};var $2=BigInt(2);function o_(n){let e=Ba.p,s=BigInt(3),a=BigInt(6),c=BigInt(11),h=BigInt(22),g=BigInt(23),m=BigInt(44),v=BigInt(88),b=n*n*n%e,w=b*b*n%e,_=ZA(w,s,e)*w%e,$=ZA(_,s,e)*w%e,k=ZA($,$2,e)*b%e,T=ZA(k,c,e)*k%e,x=ZA(T,h,e)*T%e,N=ZA(x,m,e)*x%e,j=ZA(N,v,e)*N%e,q=ZA(j,m,e)*x%e,L=ZA(q,s,e)*w%e,G=ZA(L,g,e)*T%e,z=ZA(G,a,e)*b%e,J=ZA(z,$2,e);if(!Sa.eql(Sa.sqr(J),n))throw new Error("Cannot find square root");return J}var Sa=Xt(Ba.p,{sqrt:o_}),fo=E2({...Ba,Fp:Sa,lowS:!0,endo:i_},Yd);function B2(n){return n instanceof Uint8Array||ArrayBuffer.isView(n)&&n.constructor.name==="Uint8Array"}function P2(n,e){return Array.isArray(e)?e.length===0?!0:n?e.every(s=>typeof s=="string"):e.every(s=>Number.isSafeInteger(s)):!1}function s_(n){if(typeof n!="function")throw new Error("function expected");return!0}function ri(n,e){if(typeof e!="string")throw new Error(`${n}: string expected`);return!0}function D2(n){if(!Number.isSafeInteger(n))throw new Error(`invalid integer: ${n}`)}function Pa(n){if(!Array.isArray(n))throw new Error("array expected")}function C2(n,e){if(!P2(!0,e))throw new Error(`${n}: array of strings expected`)}function T2(n,e){if(!P2(!1,e))throw new Error(`${n}: array of numbers expected`)}function a_(...n){let e=h=>h,s=(h,g)=>m=>h(g(m)),a=n.map(h=>h.encode).reduceRight(s,e),c=n.map(h=>h.decode).reduce(s,e);return{encode:a,decode:c}}function u_(n){let e=typeof n=="string"?n.split(""):n,s=e.length;C2("alphabet",e);let a=new Map(e.map((c,h)=>[c,h]));return{encode:c=>(Pa(c),c.map(h=>{if(!Number.isSafeInteger(h)||h<0||h>=s)throw new Error(`alphabet.encode: digit index outside alphabet "${h}". Allowed: ${n}`);return e[h]})),decode:c=>(Pa(c),c.map(h=>{ri("alphabet.decode",h);let g=a.get(h);if(g===void 0)throw new Error(`Unknown letter: "${h}". Allowed: ${n}`);return g}))}}function l_(n=""){return ri("join",n),{encode:e=>(C2("join.decode",e),e.join(n)),decode:e=>(ri("join.decode",e),e.split(n))}}var O2=(n,e)=>e===0?n:O2(e,n%e),ho=(n,e)=>n+(e-O2(n,e)),co=(()=>{let n=[];for(let e=0;e<40;e++)n.push(2**e);return n})();function Da(n,e,s,a){if(Pa(n),e<=0||e>32)throw new Error(`convertRadix2: wrong from=${e}`);if(s<=0||s>32)throw new Error(`convertRadix2: wrong to=${s}`);if(ho(e,s)>32)throw new Error(`convertRadix2: carry overflow from=${e} to=${s} carryBits=${ho(e,s)}`);let c=0,h=0,g=co[e],m=co[s]-1,v=[];for(let b of n){if(D2(b),b>=g)throw new Error(`convertRadix2: invalid data word=${b} from=${e}`);if(c=c<<e|b,h+e>32)throw new Error(`convertRadix2: carry overflow pos=${h} from=${e}`);for(h+=e;h>=s;h-=s)v.push((c>>h-s&m)>>>0);let w=co[h];if(w===void 0)throw new Error("invalid carry");c&=w-1}if(c=c<<s-h&m,!a&&h>=e)throw new Error("Excess padding");if(!a&&c>0)throw new Error(`Non-zero padding: ${c}`);return a&&h>0&&v.push(c>>>0),v}function f_(n,e=!1){if(D2(n),n<=0||n>32)throw new Error("radix2: bits should be in (0..32]");if(ho(8,n)>32||ho(n,8)>32)throw new Error("radix2: carry overflow");return{encode:s=>{if(!B2(s))throw new Error("radix2.encode input should be Uint8Array");return Da(Array.from(s),8,n,!e)},decode:s=>(T2("radix2.decode",s),Uint8Array.from(Da(s,n,8,e)))}}function k2(n){return s_(n),function(...e){try{return n.apply(null,e)}catch{}}}var Ca=a_(u_("qpzry9x8gf2tvdw0s3jn54khce6mua7l"),l_("")),x2=[996825010,642813549,513874426,1027748829,705979059];function ti(n){let e=n>>25,s=(n&33554431)<<5;for(let a=0;a<x2.length;a++)(e>>a&1)===1&&(s^=x2[a]);return s}function S2(n,e,s=1){let a=n.length,c=1;for(let h=0;h<a;h++){let g=n.charCodeAt(h);if(g<33||g>126)throw new Error(`Invalid prefix (${n})`);c=ti(c)^g>>5}c=ti(c);for(let h=0;h<a;h++)c=ti(c)^n.charCodeAt(h)&31;for(let h of e)c=ti(c)^h;for(let h=0;h<6;h++)c=ti(c);return c^=s,Ca.encode(Da([c%co[30]],30,5,!1))}function c_(n){let e=n==="bech32"?1:734539939,s=f_(5),a=s.decode,c=s.encode,h=k2(a);function g(_,$,k=90){ri("bech32.encode prefix",_),B2($)&&($=Array.from($)),T2("bech32.encode",$);let T=_.length;if(T===0)throw new TypeError(`Invalid prefix length ${T}`);let x=T+7+$.length;if(k!==!1&&x>k)throw new TypeError(`Length ${x} exceeds limit ${k}`);let N=_.toLowerCase(),j=S2(N,$,e);return`${N}1${Ca.encode($)}${j}`}function m(_,$=90){ri("bech32.decode input",_);let k=_.length;if(k<8||$!==!1&&k>$)throw new TypeError(`invalid string length: ${k} (${_}). Expected (8..${$})`);let T=_.toLowerCase();if(_!==T&&_!==_.toUpperCase())throw new Error("String must be lowercase or uppercase");let x=T.lastIndexOf("1");if(x===0||x===-1)throw new Error('Letter "1" must be present between prefix and data only');let N=T.slice(0,x),j=T.slice(x+1);if(j.length<6)throw new Error("Data must be at least 6 characters long");let q=Ca.decode(j).slice(0,-6),L=S2(N,q,e);if(!j.endsWith(L))throw new Error(`Invalid checksum in ${_}: expected "${L}"`);return{prefix:N,words:q}}let v=k2(m);function b(_){let{prefix:$,words:k}=m(_,!1);return{prefix:$,words:k,bytes:a(k)}}function w(_,$){return g(_,c($))}return{encode:g,decode:m,encodeFromBytes:w,decodeToBytes:b,decodeUnsafe:v,fromWords:a,fromWordsUnsafe:h,toWords:c}}var jt=c_("bech32");function d_(){let n=fo.utils.randomPrivateKey();return PA(n)}function h_(n){let e=fo.getPublicKey(n,!0);return PA(e.slice(1))}function p_(n){let e=fo.getPublicKey(n,!0);return PA(e.slice(1))}function g_(n){let e=ht(n),s=jt.toWords(e);return jt.encode("npub",s,1500)}function m_(n){let e=ht(n),s=jt.toWords(e);return jt.encode("nsec",s,1500)}function j2(n){let{words:e}=jt.decode(n,1500),s=jt.fromWords(e);return PA(new Uint8Array(s))}function M2(n){let{words:e}=jt.decode(n,1500),s=jt.fromWords(e);return PA(new Uint8Array(s))}function y_(n){if(!n||typeof n!="string")return null;if(n=n.trim(),n.startsWith("nsec1"))try{return M2(n)}catch{return null}return/^[0-9a-f]{64}$/i.test(n)?n.toLowerCase():null}function w_(n){if(!n||typeof n!="string")return null;if(n=n.trim(),n.startsWith("npub1"))try{return j2(n)}catch{return null}return/^[0-9a-f]{64}$/i.test(n)?n.toLowerCase():null}function v_(n,e=8){return n?n.slice(0,e)+"..."+n.slice(-e):""}function b_(n,e=8){return n?n.slice(0,e+5)+"..."+n.slice(-e):""}function __(){let n=new Uint8Array(32);if(typeof globalThis.crypto<"u"&&globalThis.crypto.getRandomValues)globalThis.crypto.getRandomValues(n);else for(let e=0;e<32;e++)n[e]=Math.floor(Math.random()*256);return PA(n)}var rn={generatePrivateKey:d_,getPublicKey:h_,getPublicKeyFromBytes:p_,parseNsecOrHex:y_,parseNpubOrHex:w_,hexToNpub:g_,hexToNsec:m_,npubToHex:j2,nsecToHex:M2,hexToBytes:ht,bytesToHex:PA,shortenPubKey:v_,shortenNpub:b_,generateNonce:__};function N2(n,e,s){return`${n}/${e}/${s}`}function E_(n){let e=n.split("/");return e.length<3?null:{appName:e[0],holonId:e[1],lens:e.slice(2).join("/")}}var R2={createSubscription(n,e,s,a={}){let c=E_(e);if(!c)return console.warn("[subscriptions] Invalid path:",e),{unsubscribe:()=>{},stop:()=>{}};let g=(n.gun||n).get(c.appName).get(c.holonId).get(c.lens),m=!0,v=!1;a.realtimeOnly?g.once(()=>{setTimeout(()=>{v=!0},100)}):v=!0;let b=g.map().on(async(_,$)=>{if(m&&!(a.realtimeOnly&&!v)&&!(!_||$==="_"))try{let k;if(typeof _=="string")try{k=JSON.parse(_)}catch{k=_}else{let T={..._};delete T._,k=T}if(a.resolveHolograms&&n.isHologram&&n.isHologram(k))try{let T=await n.resolveHologram(k,{followHolograms:!0});if(T&&T!==k){s(T,$);return}}catch(T){console.warn("[subscriptions] Failed to resolve hologram:",T)}s(k,$)}catch(k){console.warn("[subscriptions] Error processing subscription data:",k)}}),w=()=>{m=!1,g.off()};return{unsubscribe:w,stop:w}}};var I2={async storeInboundCapability(n,e,s,a){try{let c=n.gun||n,h=(a.token||"cap")+"_"+Date.now(),g=JSON.stringify({...a,id:h,storedAt:Date.now()});return new Promise(m=>{c.get(e).get("_capabilities").get(s).get(h).put(g,v=>{v.err?(console.warn("[registry] Failed to store capability:",v.err),m({success:!1,error:v.err})):m({success:!0,id:h})})})}catch(c){return console.error("[registry] Error storing capability:",c),{success:!1,error:c.message}}},async getInboundCapabilities(n,e,s){try{let a=n.gun||n;return new Promise(c=>{let h=[],g=a.get(e).get("_capabilities").get(s);g.once(m=>{if(!m){c([]);return}let v=Object.keys(m).filter(w=>w!=="_");if(v.length===0){c([]);return}let b=0;g.map().once((w,_)=>{if(b++,w&&_!=="_")try{let $=typeof w=="string"?JSON.parse(w):w;h.push($)}catch{}b>=v.length&&c(h)})})})}catch(a){return console.error("[registry] Error getting capabilities:",a),[]}},async removeInboundCapability(n,e,s,a){try{let c=n.gun||n;return new Promise(h=>{c.get(e).get("_capabilities").get(s).get(a).put(null,g=>{h(!g.err)})})}catch(c){return console.error("[registry] Error removing capability:",c),!1}}};var Ta={};Iu(Ta,{acceptFederationRequest:()=>S_,acceptFederationUpdate:()=>C_,initiateFederationHandshake:()=>x_,processFederationResponse:()=>P_,rejectFederationRequest:()=>B_,rejectFederationUpdate:()=>T_,requestFederationUpdate:()=>D_,subscribeToFederationDMs:()=>k_});function $_(){return Date.now().toString(36)+"_"+Math.random().toString(36).slice(2,10)}function H2(n,e){return n.gun.get(n.appname).get("_dm").get(e)}async function nn(n,e,s){let a=$_(),c=JSON.stringify({...s,id:a,timestamp:Date.now()});return new Promise(h=>{H2(n,e).get(a).put(c,g=>{g.err?(console.warn("[handshake] Failed to send DM:",g.err),h({success:!1,error:g.err})):h({success:!0,id:a})})})}function k_(n,e,s,a){let c=H2(n,s),h=!0,g=new Set;return c.map().on((m,v)=>{if(!(!h||!m||v==="_")&&!g.has(v)){g.add(v);try{let b=typeof m=="string"?JSON.parse(m):m,w=b.senderPubKey||b.sender||"";switch(b.type){case"federation_request":a.onRequest&&a.onRequest(b,w);break;case"federation_response":a.onResponse&&a.onResponse(b,w);break;case"federation_update":a.onUpdate&&a.onUpdate(b,w);break;case"federation_update_response":a.onUpdateResponse&&a.onUpdateResponse(b,w);break;default:console.log("[handshake] Unknown DM type:",b.type)}}catch{}}}),()=>{h=!1,c.off()}}async function x_(n,e,s){let{partnerPubKey:a,holonId:c,holonName:h,lensConfig:g={},message:m=""}=s,b={type:"federation_request",senderPubKey:n.client?.publicKey||"",senderHolonId:c,senderHolonName:h,lensConfig:g,message:m,status:"pending"},w=await nn(n,a,b);return w.success&&console.log("[handshake] Federation request sent to:",a?.slice(0,8)),{success:w.success,requestId:w.id}}async function S_(n,e,s){let{requesterPubKey:a,holonId:c,holonName:h,lensConfig:g={},requestId:m}=s,b={type:"federation_response",senderPubKey:n.client?.publicKey||"",responderHolonId:c,responderHolonName:h,lensConfig:g,status:"accepted",requestId:m};return a&&n.addAllowedAuthor(a),nn(n,a,b)}async function B_(n,e,s){let{requesterPubKey:a,holonId:c,reason:h="",requestId:g}=s,v={type:"federation_response",senderPubKey:n.client?.publicKey||"",responderHolonId:c,status:"rejected",reason:h,requestId:g};return nn(n,a,v)}async function P_(n,e,s,a={}){let{holonId:c,inboundLenses:h=[]}=a;if(e.status!=="accepted")return{success:!1,reason:"not_accepted"};try{s&&n.addAllowedAuthor(s);let g=e.responderHolonId||s;return console.log("[handshake] Processing accepted federation from:",g?.slice(0,8)),{success:!0,responderHolonId:g}}catch(g){return console.error("[handshake] Error processing federation response:",g),{success:!1,error:g.message}}}async function D_(n,e,s){let{partnerPubKey:a,holonId:c,holonName:h,newLensConfig:g={},message:m=""}=s,b={type:"federation_update",senderPubKey:n.client?.publicKey||"",senderHolonId:c,senderHolonName:h,newLensConfig:g,message:m};return nn(n,a,b)}async function C_(n,e,s){let{requesterPubKey:a,holonId:c,newLensConfig:h={},updateId:g}=s,v={type:"federation_update_response",senderPubKey:n.client?.publicKey||"",responderHolonId:c,status:"accepted",newLensConfig:h,updateId:g};return nn(n,a,v)}async function T_(n,e,s){let{requesterPubKey:a,holonId:c,reason:h="",updateId:g}=s,v={type:"federation_update_response",senderPubKey:n.client?.publicKey||"",responderHolonId:c,status:"rejected",reason:h,updateId:g};return nn(n,a,v)}var Oa="1.3.0",O_=Oa,po=class{constructor(e,s=!1,a=null,c={}){if(typeof e=="object"&&e!==null){let m=e;if(this.config=m,this.appname=m.appName||m.appname||"holosphere",this.strict=m.strict||!1,this._privateKey=m.privateKey||null,this._privateKey)try{let b=rn.getPublicKeyFromBytes?rn.getPublicKeyFromBytes(this._privateKey):rn.getPublicKey(typeof this._privateKey=="string"?this._privateKey:rn.bytesToHex(this._privateKey));this.client={publicKey:b}}catch(b){console.warn("Failed to derive public key from private key:",b.message),this.client={publicKey:""}}else this.client={publicKey:""};let v=m.nostr?.relays||m.nostr?.peers||[];v.length>0&&(c={peers:v.map(w=>w.replace("wss://","https://").replace("ws://","http://")+"/gun"),...c}),a=m.openaiKey||m.openaikey||null}else this.appname=e,this.config={appName:e},this.client={publicKey:""},this.strict=s,this._privateKey=null;console.log("HoloSphere v"+Oa),this.validator=new q2.default({allErrors:!0,strict:!1,validateSchema:!0});let h={peers:["https://gun.holons.io/gun"],axe:!1,radisk:!0,file:"./holosphere"};typeof window<"u"&&c.radisk!==!1&&(h.localStorage=!1);let g={...h,...c};console.log("Initializing Gun with options:",g),this.gun=(0,Q2.default)(g),this.openai=null,this.subscriptions={},this.schemaCache=new Map,this._holonNameCache=new Map,this._allowedAuthors=new Set}async ready(){return this}getGun(){return this.gun}async setSchema(e,s){return dd(this,e,s)}async getSchema(e,s={}){return hd(this,e,s)}clearSchemaCache(e=null){return pd(this,e)}async put(e,s,a,c=null,h={}){let g=null;return typeof c=="object"&&c!==null?(h=c,g=h.password||null):g=c,gd(this,e,s,a,g,h)}async get(e,s,a=null,c=null,h={}){if(a==null){let g=await oa(this,e,s,null);return g&&g.length>0?g[0]:null}return ia(this,e,s,a,c,h)}async getAll(e,s,a=null,c={}){return oa(this,e,s,a,c)}async parse(e){return md(this,e)}async delete(e,s,a,c=null){return yd(this,e,s,a,c)}async deleteAll(e,s,a=null){return wd(this,e,s,a)}async putNode(e,s,a){return vd(this,e,s,a)}async getNode(e,s,a){return bd(this,e,s,a)}getNodeRef(e){return sa(this,e)}async getNodeBySoul(e){return _d(this,e)}async deleteNode(e,s,a){return Ed(this,e,s,a)}async putGlobal(e,s,a=null,c={}){return aa(this,e,s,a,c)}async writeGlobal(e,s,a={}){return aa(this,e,s,null,a)}async getGlobal(e,s,a=null){return $d(this,e,s,a)}async getAllGlobal(e,s=null){return kd(this,e,s)}async deleteGlobal(e,s,a=null){return xd(this,e,s,a)}async deleteAllGlobal(e,s=null){return Sd(this,e,s)}subscribeGlobal(e,s,a,c={}){let h,g;return typeof s=="function"?(g=s,h=null,c=a||{}):(h=s,g=a),Bd(this,e,h,g,c)}createHologram(e,s,a){return td(this,e,s,a)}parseSoulPath(e){return Ji(e)}isHologram(e){return Zi(e)}async resolveHologram(e,s={}){return rd(this,e,s)}attachHologramMeta(e,s){return Kn(e,s)}async computeHierarchy(e,s,a,c=15,h=null){return Pd(this,e,s,a,c,h)}async compute(e,s,a,c=null){return Dd(this,e,s,a,c)}async summarize(e){return Cd(this,e)}async upcast(e,s,a,c=15){return Td(this,e,s,a,c)}async updateParent(e,s){return Od(this,e,s)}async propagate(e,s,a,c={}){return ud(this,e,s,a,c)}async getHolon(e,s,a){return jd(e,s,a)}getScalespace(e,s){return Md(e,s)}getHolonScalespace(e){return Nd(e)}subscribe(e,s,a){return Rd(this,e,s,a)}notifySubscribers(e){return Id(this,e)}async getHolonName(e){if(!e)return null;let s=String(e);if(this._holonNameCache.has(s))return this._holonNameCache.get(s);try{let a=await this.get(s,"settings",s),c=null;if(a)if(Array.isArray(a)){let h=a.find(g=>g&&typeof g.name=="string"&&g.name.trim()!=="");c=h?h.name:null}else typeof a.name=="string"&&a.name.trim()!==""&&(c=a.name);return this._holonNameCache.set(s,c),c}catch{return this._holonNameCache.set(s,null),null}}generateId(){return Hd()}async federate(e,s,a=null,c=null,h=!0,g={}){return ea(this,e,s,a,c,h,g)}async federateHolon(e,s,a={}){let c=a.lensConfig||{},h=Array.isArray(c.inbound)?c.inbound:[],g=Array.isArray(c.outbound)?c.outbound:[],m=await ea(this,e,s,null,null,!0,{inbound:h,outbound:g});if(m&&a.partnerName)try{let v=await this.getFederation(e);v&&(v.partnerNames||(v.partnerNames={}),v.partnerNames[s]=a.partnerName,await this.putGlobal("federation",v))}catch(v){console.warn("Failed to store partner name:",v.message)}return m}async unfederateHolon(e,s){return Aa(this,e,s,null,null)}async subscribeFederation(e,s,a,c={}){return id(this,e,s,a,c)}async getFederation(e,s=null){let a=await Yt(this,e,s);return a?(a.federated||(a.federated=a.federation||[]),a.partnerNames||(a.partnerNames={}),a.lensConfig||(a.lensConfig={}),a):{federated:[],lensConfig:{},partnerNames:{}}}async getFederatedConfig(e,s,a=null){return od(this,e,s,a)}async unfederate(e,s,a,c=null){return await Aa(this,e,s,a,c)}async removeNotify(e,s,a=null){console.log(`HoloSphere.removeNotify called: ${e}, ${s}`);try{let c=await sd(this,e,s,a);return console.log(`HoloSphere.removeNotify completed successfully: ${c}`),c}catch(c){throw console.error("HoloSphere.removeNotify failed:",c),c}}async getFederated(e,s,a={}){return ad(this,e,s,a)}async federateMessage(e,s,a,c,h="generic"){return ld(this,e,s,a,c,h)}async getFederatedMessages(e,s){return ta(this,e,s)}async updateFederatedMessages(e,s,a){return fd(this,e,s,a)}async resetFederation(e,s=null){return cd(this,e,s)}async canWrite(e,s,a,c={}){if(a===this.client?.publicKey||a===e)return{canWrite:!0,reason:"owner",accessType:"owner"};if(this._allowedAuthors.has(a))return{canWrite:!0,reason:"allowed_author",accessType:"allowed"};try{let h=await Yt(this,e);if(h&&h.federation&&h.federation.includes(a))return{canWrite:!0,reason:"federated",accessType:"federation"}}catch{}return{canWrite:!1,reason:"not_authorized",accessType:"none"}}addAllowedAuthor(e){this._allowedAuthors.add(e)}removeAllowedAuthor(e){this._allowedAuthors.delete(e)}listAllowedAuthors(){return Array.from(this._allowedAuthors)}async close(){return Qd(this)}userName(e){return qd(this,e)}getVersion(){return Oa}configureRadisk(e={}){let a={...{file:"./radata",radisk:!0,until:null,retry:3,timeout:5e3},...e};this.gun&&this.gun._.opt?(Object.assign(this.gun._.opt,a),console.log("Radisk configuration updated:",a)):console.warn("Gun instance not available for radisk configuration")}getRadiskStats(){if(!this.gun||!this.gun._.opt)return{error:"Gun instance not available"};let e=this.gun._.opt;return{enabled:e.radisk||!1,filePath:e.file||"./radata",retry:e.retry||3,timeout:e.timeout||5e3,until:e.until||null,peers:e.peers||[],localStorage:e.localStorage||!1}}},j_=po;return d1(M_);})();
|
|
14
14
|
/**
|
|
15
15
|
* @module holosphere
|
|
16
16
|
* @version 1.3.0
|