holosphere 1.1.21 → 1.3.0-alpha3
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 +79 -62
- package/federation.js +201 -305
- package/global.js +119 -49
- package/handshake-shim.js +321 -0
- package/hologram.js +38 -14
- package/holosphere-bundle.esm.js +5689 -9042
- package/holosphere-bundle.js +5686 -9043
- package/holosphere-bundle.min.js +28 -30
- package/holosphere.d.ts +197 -474
- package/holosphere.js +260 -406
- package/nostr-utils-shim.js +125 -0
- package/package.json +12 -3
- package/registry-shim.js +109 -0
- package/subscriptions-shim.js +117 -0
package/holosphere-bundle.min.js
CHANGED
|
@@ -1,39 +1,37 @@
|
|
|
1
|
-
/* HoloSphere Bundle v1.
|
|
2
|
-
var HoloSphere=(()=>{var b1=Object.create;var co=Object.defineProperty;var E1=Object.getOwnPropertyDescriptor;var $1=Object.getOwnPropertyNames;var P1=Object.getPrototypeOf,k1=Object.prototype.hasOwnProperty;var ac=(n=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(n,{get:(e,i)=>(typeof require<"u"?require:e)[i]}):n)(function(n){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+n+'" is not supported')});var ge=(n,e)=>()=>(e||n((e={exports:{}}).exports,e),e.exports),C1=(n,e)=>{for(var i in e)co(n,i,{get:e[i],enumerable:!0})},lc=(n,e,i,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let f of $1(e))!k1.call(n,f)&&f!==i&&co(n,f,{get:()=>e[f],enumerable:!(o=E1(e,f))||o.enumerable});return n};var o0=(n,e,i)=>(i=n!=null?b1(P1(n)):{},lc(e||!n||!n.__esModule?co(i,"default",{value:n,enumerable:!0}):i,n)),S1=n=>lc(co({},"__esModule",{value:!0}),n);var dd=ge((tS,X0)=>{(function(){function n(i,o){return o?ac(i):i.slice?n[f(i)]:function(h,m){i(h={exports:{}}),n[f(m)]=h.exports};function f(h){return h.split("/").slice(-1).toString().replace(".js","")}}if(typeof X0<"u")var e=X0;n(function(i){String.random=function(f,h){var m="";for(f=f||24,h=h||"0123456789ABCDEFGHIJKLMNOPQRSTUVWXZabcdefghijklmnopqrstuvwxyz";f-- >0;)m+=h.charAt(Math.floor(Math.random()*h.length));return m},String.match=function(f,h){var m,y;return typeof f!="string"?!1:(typeof h=="string"&&(h={"=":h}),h=h||{},m=h["="]||h["*"]||h[">"]||h["<"],f===m?!0:y!==h["="]?!1:(m=h["*"]||h[">"],f.slice(0,(m||"").length)===m?!0:y!==h["*"]?!1:y!==h[">"]&&y!==h["<"]?f>=h[">"]&&f<=h["<"]:y!==h[">"]&&f>=h[">"]||y!==h["<"]&&f<=h["<"]))},String.hash=function(f,h){if(typeof f=="string"){if(h=h||0,!f.length)return h;for(var m=0,y=f.length,E;m<y;++m)E=f.charCodeAt(m),h=(h<<5)-h+E,h|=0;return h}};var o=Object.prototype.hasOwnProperty;Object.plain=function(f){return f?f instanceof Object&&f.constructor===Object||Object.prototype.toString.call(f).match(/^\[object (\w+)\]$/)[1]==="Object":!1},Object.empty=function(f,h){for(var m in f)if(o.call(f,m)&&(!h||h.indexOf(m)==-1))return!1;return!0},Object.keys=Object.keys||function(f){var h=[];for(var m in f)o.call(f,m)&&h.push(m);return h},(function(){var f,h=setTimeout,m=0,y=0,E=typeof setImmediate!=""+f&&setImmediate||(function(_,v){return typeof MessageChannel==""+f?h:((_=new MessageChannel).port1.onmessage=function(P){P.data==""&&v()},function(P){v=P,_.port2.postMessage("")})})(),b=h.check=h.check||typeof performance!=""+f&&performance||{now:function(){return+new Date}};h.hold=h.hold||9,h.poll=h.poll||function(_){if(h.hold>=b.now()-m&&y++<3333){_();return}E(function(){m=b.now(),_()},y=0)}})(),(function(){var f=setTimeout,h=f.turn=f.turn||function(v){m.push(v)==1&&y(_)},m=h.s=[],y=f.poll,E=0,b,_=function(){(b=m[E++])&&b(),(E==m.length||E==99)&&(m=h.s=m.slice(E),E=0),m.length&&y(_)}})(),(function(){var f,h=setTimeout,m=h.turn;(h.each=h.each||function(y,E,b,_){_=_||9,(function v(P,S,R){if(S=(P=(y||[]).splice(0,_)).length){for(var $=0;$<S&&f===(R=E(P[$]));$++);if(f===R){m(v);return}}b&&b(R)})()})()})()})(n,"./shim"),n(function(i){i.exports=function o(b,h,m){if(!b)return{to:o};var y,E=typeof h=="function",b=(this.tag||(this.tag={}))[b]||E&&(this.tag[b]={tag:b,to:o._={next:function(v){var P;(P=this.to)&&P.next(v)}}});if(E){var _={off:o.off||(o.off=function(){if(this.next===o._.next)return!0;this===this.the.last&&(this.the.last=this.back),this.to.back=this.back,this.next=o._.next,this.back.to=this.to,this.the.last===this.the&&delete this.on.tag[this.the.tag]}),to:o._,next:h,the:b,on:this,as:m};return(_.back=b.last||b).to=_,b.last=_}return(b=b.to)&&y!==h&&b.next(h),b}})(n,"./onto"),n(function(i){i.exports=function(o){return o===null||typeof o=="string"||typeof o=="boolean"||typeof o=="number"&&o!=1/0&&o!=-1/0&&o===o||!!o&&typeof o["#"]=="string"&&Object.keys(o).length===1&&o["#"]}})(n,"./valid"),n(function(i){n("./shim");function o(){var b=+new Date;return y<b?(h=0,y=b+o.drift):y=b+(h+=1)/m+o.drift}o.drift=0;var f=-1/0,h=0,m=999,y=f,E;o.is=function(b,_,v){var P=_&&b&&b._&&b._[">"]||v;if(P)return typeof(P=P[_])=="number"?P:f},o.ify=function(b,_,v,P,S){(b=b||{})._=b._||{},S&&(b._["#"]=S);var R=b._[">"]||(b._[">"]={});return E!==_&&_!=="_"&&(typeof v=="number"&&(R[_]=v),E!==P&&(b[_]=P)),b},i.exports=o})(n,"./state"),n(function(i){n("./shim");function o(f){var h={s:{}},m=h.s;f=f||{max:999,age:1e3*9},h.check=function(E){return m[E]?y(E):!1};var y=h.track=function(E){var b=m[E]||(m[E]={});return b.was=h.now=+new Date,h.to||(h.to=setTimeout(h.drop,f.age+9)),y.ed&&y.ed(E),b};return h.drop=function(E){h.to=null,h.now=+new Date;var b=Object.keys(m);console.STAT&&console.STAT(h.now,+new Date-h.now,"dup drop keys"),setTimeout.each(b,function(_){var v=m[_];v&&(E||f.age)>h.now-v.was||delete m[_]},0,99)},h}i.exports=o})(n,"./dup"),n(function(i){n("./onto"),i.exports=function(h,m){if(this.on){var y=(this.opt||{}).lack||9e3;if(typeof h!="function"){if(!h)return;var b=h["#"]||h,E=(this.tag||"")[b];return E?(m&&(E=this.on(b,m),clearTimeout(E.err),E.err=setTimeout(function(){E.off()},y)),!0):void 0}var b=m&&m["#"]||o(9);if(!h)return b;var _=this.on(b,h,m);return _.err=_.err||setTimeout(function(){_.off(),_.next({err:"Error: No ACK yet.",lack:!0})},y),b}};var o=String.random||function(){return Math.random().toString(36).slice(2)}})(n,"./ask"),n(function(i){function o(S){return S instanceof o?(this._={$:this}).$:this instanceof o?o.create(this._={$:this,opt:S}):new o(S)}o.is=function(S){return S instanceof o||S&&S._&&S===S._.$||!1},o.version=.202,o.chain=o.prototype,o.chain.toJSON=function(){},n("./shim"),o.valid=n("./valid"),o.state=n("./state"),o.on=n("./onto"),o.dup=n("./dup"),o.ask=n("./ask"),(function(){o.create=function(O){O.root=O.root||O,O.graph=O.graph||{},O.on=O.on||o.on,O.ask=O.ask||o.ask,O.dup=O.dup||o.dup();var M=O.$.opt(O.opt);return O.once||(O.on("in",S,O),O.on("out",S,O),O.on("put",B,O),o.on("create",O),O.on("create",O)),O.once=1,M};function S(O){if(O){if(O.out===S){this.to.next(O);return}var M=this,Q=M.as,X=Q.at||Q,ne=X.$,Ae=X.dup,te,pe=O.DBG;if((te=O["#"])||(te=O["#"]=h(9)),!Ae.check(te)){if(Ae.track(te),te=O._,O._=typeof te=="function"?te:function(){},O.$&&O.$===(O.$._||"").$||(O.$=ne),O["@"]&&!O.put&&I(O),!X.ask(O["@"],O))if(pe&&(pe.u=+new Date),O.put){R(O);return}else O.get&&o.on.get(O,ne);pe&&(pe.uc=+new Date),M.to.next(O),pe&&(pe.ua=+new Date),!(O.nts||O.NTS)&&(O.out=S,X.on("out",O),pe&&(pe.ue=+new Date))}}}function R(O){if(O){var M=O._||"",Q=M.root=((M.$=O.$||"")._||"").root;if(O["@"]&&M.faith&&!M.miss){O.out=S,Q.on("out",O);return}M.latch=Q.hatch,M.match=Q.hatch=[];var X=O.put,ne=M.DBG=O.DBG,Ae=+new Date;if(ue=ue||Ae,!(X["#"]&&X["."])){ne&&(ne.p=Ae),M["#"]=O["#"],M.msg=O,M.all=0,M.stun=1;var te=Object.keys(X);console.STAT&&console.STAT(Ae,((ne||M).pk=+new Date)-Ae,"put sort");var pe=0,me,ve,Re,At,Ke,ze,gt;(function WA(CA){if(me!=pe){if(me=pe,!(Re=te[pe])){console.STAT&&console.STAT(Ae,((ne||M).pd=+new Date)-Ae,"put"),T(M);return}(At=X[Re])?(gt=At._)?Re!==gt["#"]?ze=U+V(Re)+"soul not same.":(Ke=gt[">"])||(ze=U+V(Re)+"no state."):ze=U+V(Re)+"no meta.":ze=U+V(Re)+"no node.",ve=Object.keys(At||{})}if(ze){O.err=M.err=ze,T(M);return}var uA=0,fA;for(CA=CA||0;CA++<9&&(fA=ve[uA++]);)if(fA!=="_"){var SA=At[fA],xA=Ke[fA];if(_===xA){ze=U+V(fA)+"on"+V(Re)+"no state.";break}if(!y(SA)){ze=U+V(fA)+"on"+V(Re)+"bad "+typeof SA+V(SA);break}$(SA,fA,Re,xA,O),++J}if((ve=ve.slice(uA)).length){m(WA);return}++pe,ve=null,WA(CA)})()}}}o.on.put=R;function $(O,M,Q,X,ne){var Ae=ne._||"",te=Ae.root,pe=te.graph,me,ve,Re=pe[Q]||v,At=E(Re,M,1),Ke=Re[M],ze=Ae.DBG;(ve=console.STAT)&&(!pe[Q]||!Ke)&&(ve.has=(ve.has||0)+1);var gt=L(),WA;if(X>gt){setTimeout(function(){$(O,M,Q,X,ne)},(ve=X-gt)>re?re:ve),console.STAT&&console.STAT((ze||Ae).Hf=+new Date,ve,"future");return}if(!(X<At)&&!(!Ae.faith&&X===At&&(O===Ke||z(O)<=z(Ke))&&!Ae.miss)){Ae.stun++;var CA=ne["#"]+Ae.all++,uA={toString:function(){return CA},_:Ae};uA.toJSON=uA.toString,te.dup.track(uA)["#"]=ne["#"],ze&&(ze.ph=ze.ph||+new Date),te.on("put",{"#":uA,"@":ne["@"],put:{"#":Q,".":M,":":O,">":X},ok:ne.ok,_:Ae})}}function B(O){var M;(M=(O._||"").DBG)&&(M.pa=+new Date,M.pm=M.pm||+new Date);var Q=this,X=Q.as,ne=X.graph,Ae=O._,te=O.put,pe=te["#"],me=te["."],ve=te[":"],Re=te[">"],At=O["#"],Ke;(Ke=Ae.msg)&&(Ke=Ke.put)&&(Ke=Ke[pe])&&b(Ke,me,Re,ve,pe),ne[pe]=b(ne[pe],me,Re,ve,pe),(Ke=(X.next||"")[pe])&&Ke.on("in",O),T(Ae),Q.to.next(O)}function T(O,M){var Q;if(!O.stop&&!(!O.err&&0<--O.stun)&&(O.stop=1,!!(Q=O.root))){var X=O.match;X.end=1,X===Q.hatch&&(!(X=O.latch)||X.end?delete Q.hatch:Q.hatch=X),O.hatch&&O.hatch(),setTimeout.each(O.match,function(ne){ne&&ne()}),!(!(M=O.msg)||O.err||M.err)&&(M.out=S,O.root.on("out",M),ae())}}function I(O){var M=O["@"]||"",Q,X,ne;if(!(Q=M._)){var Ae=(Ae=O.$)&&(Ae=Ae._)&&(Ae=Ae.root)&&(Ae=Ae.dup);if(!(Ae=Ae.check(M)))return;O["@"]=Ae["#"]||O["@"];return}Q.acks=(Q.acks||0)+1,(Q.err=O.err)&&(O["@"]=Q["#"],T(Q)),Q.ok=O.ok||Q.ok,!Q.stop&&!Q.crack&&(Q.crack=Q.match&&Q.match.push(function(){q(Q)})),q(Q)}function q(O){!O||!O.root||O.stun||O.acks!==O.all||O.root.on("in",{"@":O["#"],err:O.err,ok:O.err?_:O.ok||{"":1}})}var U="Error: Invalid graph!",V=function(O){return" '"+(""+O).slice(0,9)+"...' "},z=JSON.stringify,re=2147483647,L=o.state,J=0,ue,ae=function(){J>999&&J/-(ue-(ue=+new Date))>1&&(o.window&&console.log("Warning: You're syncing 1K+ records a second, faster than DOM can update - consider limiting query."),ae=function(){J=0})}})(),(function(){o.on.get=function(R,$){var B=$._,T=R.get,I=T["#"],q=B.graph[I],U=T["."],V=B.next||(B.next={}),z=V[I],re=R._||{},L=re.DBG=R.DBG;if(L&&(L.g=+new Date),!q)return B.on("get",R);if(U){if((typeof U!="string"||_===q[U])&&!((z||"").next||"")[U]){B.on("get",R);return}q=b({},U,E(q,U),q[U],I)}q&&S(R,q),B.on("get",R)};function S(R,$){var B=+new Date,T=R._||{},I=T.DBG=R.DBG,q=R["#"],U=h(9),V=Object.keys($||"").sort(),z=(($||"")._||"")["#"],re=V.length,L=0,J=R.$._.root,ue=$===J.graph[z];console.STAT&&console.STAT(B,((I||T).gk=+new Date)-B,"got keys"),$&&(function ae(){B=+new Date;for(var O=0,M,Q={},X;O<9&&(M=V[O++]);)b(Q,M,E($,M),$[M],z);V=V.slice(O),(X={})[z]=Q,Q=X;var ne;ue&&(ne=function(){},ne.ram=ne.faith=!0),X=V.length,console.STAT&&console.STAT(B,-(B-(B=+new Date)),"got copied some"),I&&(I.ga=+new Date),J.on("in",{"@":q,"#":U,put:Q,"%":X?U=h(9):_,$:J.$,_:ne,DBG:I,FOO:1}),console.STAT&&console.STAT(B,+new Date-B,"got in"),X&&setTimeout.turn(ae)})(),$||J.on("in",{"@":R["#"]})}o.on.get.ack=S})(),(function(){o.chain.opt=function(S){S=S||{};var R=this,$=R._,B=S.peers||S;return Object.plain(S)||(S={}),Object.plain($.opt)||($.opt=S),typeof B=="string"&&(B=[B]),Object.plain($.opt.peers)||($.opt.peers={}),B instanceof Array&&(S.peers={},B.forEach(function(T){var I={};I.id=I.url=T,S.peers[T]=$.opt.peers[T]=$.opt.peers[T]||I})),f(S,function T(I){var q=this[I];if(this&&this.hasOwnProperty(I)||typeof q=="string"||Object.empty(q)){this[I]=q;return}q&&q.constructor!==Object&&!(q instanceof Array)||f(q,T)}),$.opt.from=S,o.on("opt",$),$.opt.uuid=$.opt.uuid||function(I){return o.state().toString(36).replace(".","")+String.random(I||12)},R}})();var f=function(S,R){Object.keys(S).forEach(R,S)},h=String.random,m=setTimeout.turn,y=o.valid,E=o.state.is,b=o.state.ify,_,v={},P;o.log=function(){return!o.log.off&&P.log.apply(P,arguments),[].slice.call(arguments).join(" ")},o.log.once=function(S,R,$){return($=o.log.once)[S]=$[S]||0,$[S]++||o.log(R)},typeof window<"u"&&((window.GUN=window.Gun=o).window=window);try{typeof e<"u"&&(e.exports=o)}catch{}i.exports=o,(o.window||{}).console=(o.window||{}).console||{log:function(){}},(P=console).only=function(S,R){return P.only.i&&S===P.only.i&&P.only.i++&&(P.log.apply(P,arguments)||R)},o.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(i){var o=n("./root");o.chain.back=function(m,y){var E;if(m=m||1,m===-1||m===1/0)return this._.root.$;if(m===1)return(this._.back||this._).$;var b=this,_=b._;if(typeof m=="string"&&(m=m.split(".")),m instanceof Array){var v=0,P=m.length,E=_;for(v;v<P;v++)E=(E||f)[m[v]];return h!==E?y?b:E:(E=_.back)?E.$.back(m,y):void 0}if(typeof m=="function"){for(var S,E={back:_};(E=E.back)&&h===(S=m(E,y)););return S}return typeof m=="number"?(_.back||_).$.back(m-1):this};var f={},h})(n,"./back"),n(function(i){var o=n("./root");o.chain.chain=function(T){var I=this,q=I._,U=new(T||I).constructor(I),V=U._,z;return V.root=z=q.root,V.id=++z.once,V.back=I._,V.on=o.on,V.on("in",o.on.in,V),V.on("out",o.on.out,V),U};function f(T){var I,q,U=this.as,V=U.back,z=U.root,re;if(T.$||(T.$=U.$),this.to.next(T),U.err){U.on("in",{put:U.put=_,$:U.$});return}if(q=T.get){if(z.pass&&(z.pass[U.id]=U),U.lex&&Object.keys(U.lex).forEach(function(L){re[L]=U.lex[L]},re=T.get=T.get||{}),q["#"]||U.soul){if(q["#"]=q["#"]||U.soul,T["#"]||(T["#"]=v(9)),V=z.$.get(q["#"])._,q=q["."]){if(S(V.put,q)&&(re=V.ask&&V.ask[q],(V.ask||(V.ask={}))[q]=V.$.get(q)._,V.on("in",{get:q,put:{"#":V.soul,".":q,":":V.put[q],">":$(z.graph[V.soul],q)}}),re))return}else{if(re=V.ask&&V.ask[""],(V.ask||(V.ask={}))[""]=V,_!==V.put&&(V.on("in",V),re))return;T.$=V.$}return z.ask(E,T),z.on("in",T)}if(q["."])return U.get?(T={get:{".":U.get},$:U.$},(V.ask||(V.ask={}))[U.get]=T.$._,V.on("out",T)):(T={get:U.lex?T.get:{},$:U.$},V.on("out",T));if((U.ask||(U.ask={}))[""]=U,U.get)return q["."]=U.get,(V.ask||(V.ask={}))[U.get]=T.$._,V.on("out",T)}return V.on("out",T)}o.on.out=f;function h(T,I){I=I||this.as;var q=I.root,U=T.$||(T.$=I.$),V=(U||"")._||b,z=T.put||"",re=z["#"],L=z["."],J=_!==z["="]?z["="]:z[":"],ue=z[">"]||-1/0,ae;if(_!==T.put&&(_===z["#"]||_===z["."]||_===z[":"]&&_===z["="]||_===z[">"])){if(!P(z)){if(!(re=((z||"")._||"")["#"])){console.log("chain not yet supported for",z,"...",T,I);return}return U=I.root.$.get(re),setTimeout.each(Object.keys(z).sort(),function(O){O=="_"||_===(ue=$(z,O))||I.on("in",{$:U,put:{"#":re,".":O,"=":z[O],">":ue},VIA:T})})}I.on("in",{$:V.back.$,put:{"#":re=V.back.soul,".":L=V.has||V.get,"=":z,">":$(V.back.put,L)},via:T});return}(T.seen||"")[I.id]||((T.seen||(T.seen=function(){}))[I.id]=I,I!==V&&(Object.keys(T).forEach(function(O){z[O]=T[O]},z={}),z.get=I.get||z.get,!I.soul&&!I.has?z.$$$=z.$$$||I.$:V.soul&&(z.$=I.$,z.$$=z.$$||V.$),T=z),y(T,I),(I.soul||T.$$)&&ue>=$(q.graph[re],L)&&((z=q.$.get(re)._).put=B(z.put,L,ue,J,re)),!V.soul&&ue>=$(q.graph[re],L)&&(ae=(q.$.get(re)._.next||"")[L])&&(ae.put=J,typeof(z=P(J))=="string"&&(ae.put=q.$.get(z)._.put||J)),this.to&&this.to.next(T),I.any&&setTimeout.each(Object.keys(I.any),function(O){(O=I.any[O])&&O(T)},0,99),I.echo&&setTimeout.each(Object.keys(I.echo),function(O){(O=I.echo[O])&&O.on("in",T)},0,99),((T.$$||"")._||V).soul&&(ae=I.next)&&(ae=ae[L])&&(z={},Object.keys(T).forEach(function(O){z[O]=T[O]}),z.$=(T.$$||T.$).get(z.get=L),delete z.$$,delete z.$$$,ae.on("in",z)),m(T,I))}o.on.in=h;function m(T,I){if(I=I||this.as||T.$._,!(T.$$&&this!==o.on)&&!(!T.put||I.soul)){var q=T.put||"",U=q["="]||q[":"],L,V=I.root,z=V.$.get(q["#"]).get(q["."])._;if(typeof(U=P(U))!="string"){this===o.on&&((z.echo||(z.echo={}))[I.id]=I);return}if(!((z.echo||(z.echo={}))[I.id]&&!(V.pass||"")[I.id])){if(L=V.pass){if(L[U+I.id])return;L[U+I.id]=1}(z.echo||(z.echo={}))[I.id]=I,I.has&&(I.link=U);var re=V.$.get(z.link=U)._;(re.echo||(re.echo={}))[z.id]=z;var L=I.ask||"";(L[""]||I.lex)&&re.on("out",{get:{"#":U}}),setTimeout.each(Object.keys(L),function(J,ue){!J||!(ue=L[J])||ue.on("out",{get:{"#":U,".":J}})},0,99)}}}o.on.link=m;function y(T,I){var q=T.put||"",U=_!==q["="]?q["="]:q[":"],V=I.root,z,re;if(_===U){if(I.soul&&_!==I.put||(re=(T.$$||T.$||"")._||"",T["@"]&&(_!==re.put||_!==I.put)))return;(z=I.link||T.linked)&&delete(V.$.get(z)._.echo||"")[I.id],I.has&&(I.link=null),I.put=_,setTimeout.each(Object.keys(I.next||""),function(L,J){(J=I.next[L])&&(z&&delete(V.$.get(z).get(L)._.echo||"")[J.id],J.on("in",{get:L,put:_,$:J.$}))},0,99);return}I.soul||T.$$||(z=P(U),re=T.$._||"",!((z===re.link||I.has&&!re.link)&&!((V.pass||"")[I.id]&&typeof z!="string"))&&(delete(re.echo||"")[I.id],y({get:I.get,put:_,$:T.$,linked:T.linked=T.linked||re.link},I)))}o.on.unlink=y;function E(T,I){var q=this.as,U=q.$._,V=U.root,z=q.get||"",re=(T.put||"")[z["#"]]||"";if(!T.put||typeof z["."]=="string"&&_===re[z["."]]){if(_!==U.put||!U.soul&&!U.has)return;U.ack=(U.ack||0)+1,U.on("in",{get:U.get,put:U.put=_,$:U.$,"@":T["@"]});return}(T._||{}).miss=1,o.on.put(T)}var b={},_,v=String.random,P=o.valid,S=function(T,I){return T&&Object.prototype.hasOwnProperty.call(T,I)},R=o.state,$=R.is,B=R.ify})(n,"./chain"),n(function(i){var o=n("./root");o.chain.get=function(_,v,P){var S,R;if(typeof _=="string"){if(_.length==0)return(S=this.chain())._.err={err:o.log("0 length key!",_)},v&&v.call(S,S._.err),S;var $=this,B=$._,T=B.next||y;(S=T[_])||(S=_&&f(_,$)),S=S&&S.$}else if(typeof _=="function"){let L=function(J,ue,ae){if(!L.stun&&!((te=q.pass)&&!te[U])){var O=J.$._,M=(J.$$||"")._,Q=(M||O).put,X=!O.has&&!O.soul,ne={},Ae,te;if((X||b===Q)&&(Q=b===((te=J.put)||"")["="]?b===(te||"")[":"]?te:te[":"]:te["="]),(Ae=typeof(te=o.valid(Q))=="string")&&(Q=b===(te=q.$.get(te)._.put)?I.not?b:Q:te),!(I.not&&b===Q)){if(b===I.stun){if((te=q.stun)&&te.on&&(B.$.back(function(pe){if(te.on(""+pe.id,ne={}),(ne.run||0)<L.id)return ne}),!ne.run&&te.on(""+O.id,ne={}),!ne.run&&M&&te.on(""+M.id,ne={}),L.id>ne.run&&((!ne.stun||ne.stun.end)&&(ne.stun=te.on("stun"),ne.stun=ne.stun&&ne.stun.last),ne.stun&&!ne.stun.end))){(ne.stun.add||(ne.stun.add={}))[U]=function(){L(J,ue,1)};return}if(b===Q&&(ae=0),(te=q.hatch)&&!te.end&&b===I.hatch&&!ae){if(V[O.$._.id])return;V[O.$._.id]=1,te.push(function(){L(J,ue,1)});return}V={}}if(q.pass){if(q.pass[U+O.id])return;q.pass[U+O.id]=1}if(I.on){I.ok.call(O.$,Q,O.get,J,ue||L);return}if(I.v2020){I.ok(J,ue||L);return}Object.keys(J).forEach(function(pe){te[pe]=J[pe]},te={}),J=te,J.put=Q,I.ok.call(I.as,J,ue||L)}}};var z=L;if(v===!0)return h(this,_,v,P),this;S=this;var B=S._,I=v||{},q=B.root,U;I.at=B,I.ok=_;var V={};return L.at=B,(B.any||(B.any={}))[U=String.random(7)]=L,L.off=function(){L.stun=1,B.any&&delete B.any[U]},L.rid=m,L.id=I.run||++q.once,R=q.pass,(q.pass={})[U]=1,I.out=I.out||{get:{}},B.on("out",I.out),q.pass=R,S}else{if(typeof _=="number")return this.get(""+_,v,P);if(typeof(R=E(_))=="string")return this.get(R,v,P);(R=this.get.next)&&(S=R(this,_))}return S?(v&&typeof v=="function"&&S.get(v,P),S):((S=this.chain())._.err={err:o.log("Invalid get request!",_)},v&&v.call(S,S._.err),S)};function f(_,v){var P=v._,S=P.next,R=v.chain(),$=R._;return S||(S=P.next={}),S[$.get=_]=$,v===P.root.$?$.soul=_:(P.soul||P.has)&&($.has=_),$}function h(_,v,P,S){var R=_._,$=0,B;return(B=R.soul||R.link)?v(B,S,R):R.jam?R.jam.push([v,S]):(R.jam=[[v,S]],_.get(function(I,q){if(!(b===I.put&&!R.root.opt.super&&(B=Object.keys(R.root.opt.peers).length)&&++$<=B)){q.rid(I);var U=(U=I.$)&&U._||{},V=0,z;for(B=R.jam,delete R.jam;z=B[V++];){var re=z[0],L;z=z[1],re&&re(L=U.link||U.soul||o.valid(I.put)||((I.put||{})._||{})["#"],z,I,q)}}},{out:{get:{".":!0}}}),_)}function m(_){var v=this.at||this.on;if(!_||v.soul||v.has)return this.off();if(_=(_=(_=_.$||_)._||_).id){var P=v.map,S,R;if(S=(R=this.seen||(this.seen={}))[_])return!0;R[_]=!0}}var y={},E=o.valid,b})(n,"./get"),n(function(i){var o=n("./root");o.chain.put=function($,B,T){var I=this,q=I._,U=q.root;T=T||{},T.root=q.root,T.run||(T.run=U.once),f(T,q.id),T.ack=T.ack||B,T.via=T.via||I,T.data=T.data||$,T.soul||(T.soul=q.soul||typeof B=="string"&&B);var V=T.state=T.state||o.state();return typeof $=="function"?($(function(z){T.data=z,I.put(E,E,T)}),I):T.soul?(T.$=U.$.get(T.soul),T.todo=[{it:T.data,ref:T.$}],T.turn=T.turn||v,T.ran=T.ran||h,(function z(){var re=T.todo,L=re.pop(),J=L.it,ue=L.ref&&L.ref._.id,ae,O,M,Q,X;if(f(T,L.ref),(Q=L.todo)&&(O=Q.pop(),J=J[O],Q.length&&re.push(L)),O&&(re.path||(re.path=[])).push(O),!(ae=P(J))&&!(X=o.is(J))){if(!Object.plain(J)){h.err(T,"Invalid data: "+y(J)+" at "+(T.via.back(function(me){me.get&&Q.push(me.get)},Q=[])||Q.join("."))+"."+(re.path||[]).join("."));return}for(var ne=T.seen||(T.seen=[]),Ae=ne.length;Ae--;)if(J===(Q=ne[Ae]).it){ae=J=Q.link;break}}if(O&&ae)L.node=S(L.node,O,V,J);else{let me=function(ve,Re){var At=M.link["#"];Re&&(Re.off(),Re.rid(ve));var Ke=At||ve.soul||(Q=(ve.$$||ve.$)._||"").soul||Q.link||((Q=Q.put||"")._||"")["#"]||Q["#"]||((Q=ve.put||"")&&ve.$$?Q["#"]:(Q["="]||Q[":"]||"")["#"]);if(!At&&f(T,ve.$),!Ke&&!L.link["#"]){(L.wait||(L.wait=[])).push(function(){me(ve,Re)});return}Ke||(Ke=[],(ve.$$||ve.$).back(function(ze){if(Q=ze.soul||ze.link)return Ke.push(Q);Ke.push(ze.get)}),Ke=Ke.reverse().join("/")),M.link["#"]=Ke,!X&&(((T.graph||(T.graph={}))[Ke]=M.node||(M.node={_:{}}))._["#"]=Ke),delete T.wait[te],M.wait&&setTimeout.each(M.wait,function(ze){ze&&ze()}),T.ran(T)};var pe=me;if(!T.seen){h.err(T,"Data at root of graph must be a node (an object).");return}T.seen.push(M={it:J,link:{},todo:X?[]:Object.keys(J).sort().reverse(),path:(re.path||[]).slice(),up:L}),L.node=S(L.node,O,V,M.link),!X&&M.todo.length&&re.push(M);var te=T.seen.length;(T.wait||(T.wait={}))[te]="",Q=(M.ref=X?J:O?L.ref.get(O):L.ref)._,(Q=J&&(J._||"")["#"]||Q.soul||Q.link)?me({soul:Q}):M.ref.get(me,{run:T.run,v2020:1,out:{get:{".":" "}}})}if(!re.length)return T.ran(T);T.turn(z)})(),I):(m(T),I)};function f($,B){if(B){B=(B._||"").id||B;var T=$.root.stun||($.root.stun={on:o.on}),I={},q;$.stun||($.stun=T.on("stun",function(){})),(q=T.on(""+B))&&q.the.last.next(I),!(I.run>=$.run)&&T.on(""+B,function(U){if($.stun.end){this.off(),this.to.next(U);return}U.run=U.run||$.run,U.stun=U.stun||$.stun})}}function h($){if($.err){h.end($.stun,$.root);return}if(!($.todo.length||$.end||!Object.empty($.wait))){$.end=1;var B=$.$.back(-1)._,T=B.root,I=B.ask(function(z){T.on("ack",z),z.err&&!z.lack&&o.log(z),++q>($.acks||0)&&this.off(),$.ack&&$.ack(z,this)},$.opt),q=0,U=$.stun,V;(V=function(){U&&(h.end(U,T),setTimeout.each(Object.keys(U=U.add||""),function(z){(z=U[z])&&z()}))}).hatch=V,$.ack&&!$.ok&&($.ok=$.acks||9),$.via._.on("out",{put:$.out=$.graph,ok:$.ok&&{"@":$.ok+1},opt:$.opt,"#":I,_:V})}}h.end=function($,B){$.end=_,$.the.to===$&&$===$.the.last&&delete B.stun,$.off()},h.err=function($,B){($.ack||_).call($,$.out={err:$.err=o.log(B)}),$.ran($)};function m($){var B=$.via._,T;$.via=$.via.back(function(I){if(I.soul||!I.get)return I.$;T=$.data,($.data={})[I.get]=T}),(!$.via||!$.via._.soul)&&($.via=B.root.$.get((($.data||"")._||"")["#"]||B.$.back("opt.uuid")())),$.via.put($.data,$.ack,$)}function y($,B){return $&&(B=$.constructor)&&B.name||typeof $}var E,b={},_=function(){},v=setTimeout.turn,P=o.valid,S=o.state.ify,R=function($,B){$.call(B||b)}})(n,"./put"),n(function(i){var o=n("./root");n("./chain"),n("./back"),n("./put"),n("./get"),i.exports=o})(n,"./index"),n(function(i){var o=n("./index");o.chain.on=function(E,b,_,v){var P=this,S=P._,R=S.root,$,B,T,I;if(typeof E=="string")return b?($=S.on(E,b,_||S,v),_&&_.$&&(_.subs||(_.subs=[])).push($),P):S.on(E);var q=b;(q=q===!0?{change:!0}:q||{}).not=1,q.on=1;var U={};return P.get(E,q),P},o.chain.once=function(E,b){if(b=b||{},!E)return f(this,b);var _=this,v=_._,P=v.root,S=v.put,R=String.random(7),$,B;return _.get(function(T,I,q,U){var V=this,z=V._,re=z.one||(z.one={});if(U.stun||re[R]==="")return;if((B=o.valid(T))===!0){L();return}if(typeof B=="string")return;clearTimeout((v.one||"")[R]),clearTimeout(re[R]),re[R]=setTimeout(L,b.wait||99);function L(J){if(!z.has&&!z.soul&&(z={put:T,get:I}),y===(B=z.put)&&(B=((q.$$||"")._||"").put),typeof o.valid(B)=="string"&&(B=P.$.get(B)._.put,B===y&&!J)){re[R]=setTimeout(function(){L(1)},b.wait||99);return}U.stun||re[R]!==""&&(re[R]="",(v.soul||v.has)&&U.off(),E.call(V,B,z.get),clearTimeout(re[R]))}},{on:1}),_};function f(E,b,_){return o.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."),(_=E.chain())._.nix=E.once(function(v,P){_._.on("in",this._)}),_._.lex=E._.lex,_}o.chain.off=function(){var E=this,b=E._,_,v=b.back;if(v)return b.ack=0,(_=v.next)&&_[b.get]&&delete _[b.get],(_=v.any)&&(delete v.any,v.any={}),(_=v.ask)&&delete _[b.get],(_=v.put)&&delete _[b.get],(_=b.soul)&&delete v.root.graph[_],(_=b.map)&&Object.keys(_).forEach(function(P,S){S=_[P],S.link&&v.root.$.get(S.link).off()}),(_=b.next)&&Object.keys(_).forEach(function(P,S){S=_[P],S.$.off()}),b.on("off",{}),E};var h={},m=function(){},y})(n,"./on"),n(function(i){var o=n("./index"),f=o.chain.get.next;o.chain.get.next=function(b,_){var v;return Object.plain(_)?(v=((v=_["#"])||"")["="]||v)?b.get(v):((v=b.chain()._).lex=_,b.on("in",function(P){String.match(P.get||(P.put||"")["."],_["."]||_["#"]||_)&&v.on("in",P),this.to.next(P)}),v.$):(f||m)(b,_)},o.chain.map=function(b,_,v){var P=this,S=P._,R,$;return Object.plain(b)&&(R=b["."]?b:{".":b},b=E),b?(o.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."),$=P.chain(),P.map().on(function(B,T,I,q){var U=(b||m).call(this,B,T,I,q);if(E!==U){if(B===U)return $._.on("in",I);if(o.is(U))return $._.on("in",U._);var V={};Object.keys(I.put).forEach(function(z){V[z]=I.put[z]},V),V["="]=U,$._.on("in",{get:T,put:V})}}),$):(($=S.each)||((S.each=$=P.chain())._.lex=R||$._.lex||S.lex,$._.nix=P.back("nix"),P.on("in",h,$._)),$)};function h(b){this.to.next(b);var _=this.as,v=b.$,P=v._,S=b.put,R;!P.soul&&!b.$$||(R=_.lex)&&!String.match(b.get||(S||"")["."],R["."]||R["#"]||R)||o.on.link(b,_)}var m=function(){},y={stun:m,off:m},E})(n,"./map"),n(function(i){var o=n("./index");o.chain.set=function(f,h,m){var y=this,E=y.back(-1),b,_;return h=h||function(){},m=m||{},m.item=m.item||f,(b=((f||"")._||"")["#"])&&((f={})["#"]=b),typeof(_=o.valid(f))=="string"?y.get(b=_).put(f,h,m):o.is(f)?(y.put(function(v){f.get(function(P,S,R){if(!P)return h.call(y,{err:o.log('Only a node can be linked! Not "'+R.put+'"!')});(_={})[P]={"#":P},v(_)},!0)}),f):(Object.plain(f)&&(f=E.get(b=y.back("opt.uuid")()).put(f)),y.get(b||E.back("opt.uuid")(7)).put(f,h,m))}})(n,"./set"),n(function(i){n("./shim");var o=function(){},f=JSON.parseAsync||function(_,v,P){var S,R=+new Date;try{v(S,JSON.parse(_,P),h.sucks(+new Date-R))}catch($){v($)}},h=JSON.stringifyAsync||function(_,v,P,S){var R,$=+new Date;try{v(R,JSON.stringify(_,P,S),h.sucks(+new Date-$))}catch(B){v(B)}};h.sucks=function(_){_>99&&(console.log("Warning: JSON blocking CPU detected. Add `gun/lib/yson.js` to fix."),h.sucks=o)};function m(_){var v=function(){},P=_.opt||{};P.log=P.log||console.log,P.gap=P.gap||P.wait||0,P.max=P.max||(P.memory?P.memory*999*999:3e8)*.3,P.pack=P.pack||P.max*.01*.01,P.puff=P.puff||9;var S=setTimeout.turn||setTimeout,R=_.dup,$=R.check,B=R.track,T=+new Date,I=T,q=v.hear=function(L,J){if(L){if(P.max<=L.length)return v.say({dam:"!",err:"Message too big!"},J);v===this&&(q.d+=L.length||0,++q.c);var ue=J.SH=+new Date,ae=L[0],O;if(ae==="["){f(L,function(M,Q){if(M||!Q)return v.say({dam:"!",err:"DAM JSON parse error."},J);console.STAT&&console.STAT(+new Date,Q.length,"# on hear batch");var X=P.puff;(function ne(){for(var Ae=+new Date,te=0,pe;te<X&&(pe=Q[te++]);)v.hear(pe,J);Q=Q.slice(te),console.STAT&&console.STAT(Ae,+new Date-Ae,"hear loop"),V(J),Q.length&&S(ne,0)})()}),L="";return}if(ae==="{"||(L["#"]||Object.plain(L))&&(O=L)){if(O)return q.one(O,J,ue);f(L,function(M,Q){if(M||!Q)return v.say({dam:"!",err:"DAM JSON parse error."},J);q.one(Q,J,ue)});return}}};q.one=function(L,J,ne){var ae,O,M,Q,X;if(L.DBG&&(L.DBG=X={DBG:L.DBG}),X&&(X.h=ne),X&&(X.hp=+new Date),(ae=L["#"])||(ae=L["#"]=String.random(9)),!(M=$(ae))&&(O=L["##"],!(O&&(M=L["@"]||L.get&&ae)&&R.check(Q=M+O)))){if((L._=function(){}).via=v.leap=J,(M=L["><"])&&typeof M=="string"&&M.slice(0,99).split(",").forEach(function(Ae){this[Ae]=1},L._.yo={}),M=L.dam){(M=v.hear[M])&&M(L,J,_),B(ae);return}(M=L.ok)&&(L._.near=M["/"]);var ne=+new Date;X&&(X.is=ne),J.SI=ae,B.ed=function(Ae){ae===Ae&&(B.ed=0,(Ae=R.s[ae])&&(Ae.via=J,L.get&&(Ae.it=L)))},_.on("in",v.last=L),X&&(X.hd=+new Date),console.STAT&&console.STAT(ne,+new Date-ne,L.get?"msg get":L.put?"msg put":"msg"),B(ae),Q&&B(Q),v.leap=v.last=null}};var U=function(L,J,ue){ue(L,!0)};q.c=q.d=0,(function(){var L=0,J;v.hash=function(M,Q){var X,ne,Ae,te=+new Date;h(M.put,function pe(me,ve){var Re=(ne||(ne=Ae=ve||"")).slice(0,32768);if(X=String.hash(Re,X),ne=ne.slice(32768),ne){S(pe,0);return}console.STAT&&console.STAT(te,+new Date-te,"say json+hash"),M._.$put=Ae,M["##"]=X,v.say(M,Q),delete M._.$put},ue)};function ue(M,Q){var X;return Q instanceof Object?(Object.keys(Q).sort().forEach(ae,{to:X={},on:Q}),X):Q}function ae(M){this.to[M]=this.on[M]}var O=v.say=function(M,Q){var X;if((X=this)&&(X=X.to)&&X.next&&X.next(M),!M)return!1;var ne,Ae,te,pe=M["@"],me=M._||(M._=function(){}),ve=M.DBG,Re=+new Date;if(me.y=me.y||Re,Q||ve&&(ve.y=Re),(ne=M["#"])||(ne=M["#"]=String.random(9)),!J&&B(ne),!(Ae=M["##"])&&b!==M.put&&!me.via&&pe){v.hash(M,Q);return}if(!Q&&pe&&(Q=(X=R.s[pe])&&(X.via||(X=X.it)&&(X=X._)&&X.via)||(X=v.last)&&pe===X["#"]&&v.leap),!Q&&pe)return R.s[pe]?void 0:(console.STAT&&console.STAT(+new Date,++L,"total no peer to ack to"),!1);if(pe&&!M.put&&!Ae&&((R.s[pe]||"").it||"")["##"])return!1;if(!Q&&v.way)return v.way(M);if(ve&&(ve.yh=+new Date),!(te=me.raw)){v.raw(M,Q);return}if(ve&&(ve.yr=+new Date),!Q||!Q.id){if(!Object.plain(Q||P.peers))return!1;var Re=+new Date,At=P.puff,Ke=P.peers,ze=Object.keys(Q||P.peers||{});console.STAT&&console.STAT(Re,+new Date-Re,"peer keys"),(function CA(){var uA=+new Date;J=1;var fA=me.raw;me.raw=te;for(var SA=0,xA;SA<9&&(xA=(ze||"")[SA++]);)(xA=Ke[xA]||(Q||"")[xA])&&v.say(M,xA);me.raw=fA,J=0,ze=ze.slice(SA),console.STAT&&console.STAT(uA,+new Date-uA,"say loop"),ze.length&&(S(CA,0),pe&&B(pe))})();return}if(!Q.wire&&v.wire&&v.wire(Q),ne!==Q.last){if(Q.last=ne,Q===me.via||(X=me.yo)&&(X[Q.url]||X[Q.pid]||X[Q.id]))return!1;if(console.STAT&&console.STAT(Re,((ve||me).yp=+new Date)-(me.y||Re),"say prep"),!J&&pe&&B(pe),Q.batch){if(Q.tail=(X=Q.tail||0)+te.length,Q.tail<=P.pack){Q.batch+=(X?",":"")+te;return}V(Q)}Q.batch="[";var gt=+new Date;setTimeout(function(){console.STAT&&console.STAT(gt,+new Date-gt,"0ms TO"),V(Q)},P.gap),z(te,Q),console.STAT&&pe===Q.SI&&console.STAT(Re,+new Date-Q.SH,"say ack")}};v.say.c=v.say.d=0,v.raw=function(M,Q){if(!M)return"";var X=M._||{},ne,Ae;if(Ae=X.raw)return Ae;if(typeof M=="string")return M;var te=M["##"],pe=M["@"];if(te&&pe){if(!X.via&&$(pe+te))return!1;if(Ae=(R.s[pe]||"").it){if(te===Ae["##"])return!1;Ae["##"]||(Ae["##"]=te)}}if(!M.dam&&!M["@"]){var me=0,ve=[];Ae=P.peers;for(var Re in Ae){var At=Ae[Re];if(ve.push(At.url||At.pid||At.id),++me>6)break}me>1&&(M["><"]=ve.join())}if(M.put&&(Ae=M.ok)&&(M.ok={"@":(Ae["@"]||1)-1,"/":Ae["/"]==M._.near?v.near:Ae["/"]}),ne=X.$put){Ae={},Object.keys(M).forEach(function(ze){Ae[ze]=M[ze]}),Ae.put=":])([:",h(Ae,function(ze,gt){if(!ze){var WA=+new Date;Ae=gt.indexOf('"put":":])([:"'),Ke(b,gt=gt.slice(0,Ae+6)+ne+gt.slice(Ae+14)),console.STAT&&console.STAT(WA,+new Date-WA,"say slice")}});return}h(M,Ke);function Ke(ze,gt){ze||(X.raw=gt,v.say(M,Q))}}})();function V(L){var J=L.batch,ue=typeof J=="string",ae;if(ue&&(J+="]"),L.batch=L.tail=null,!!J&&!(ue?3>J.length:!J.length)){if(!ue)try{J=J.length===1?J[0]:JSON.stringify(J)}catch(O){return P.log("DAM JSON stringify error",O)}J&&z(J,L)}}function z(L,J){try{var ue=J.wire;J.say?J.say(L):ue.send&&ue.send(L),v.say.d+=L.length||0,++v.say.c}catch{(J.queue=J.queue||[]).push(L)}}v.near=0,v.hi=function(L){var J=L.wire,ue;if(!J){v.wire(L.length&&{url:L,id:L}||L);return}L.id?P.peers[L.url||L.id]=L:(ue=L.id=L.id||L.url||String.random(9),v.say({dam:"?",pid:_.opt.pid},P.peers[ue]=L),delete R.s[L.last]),L.met||(v.near++,L.met=+new Date,_.on("hi",L)),ue=L.queue,L.queue=[],setTimeout.each(ue||[],function(ae){z(ae,L)},0,9)},v.bye=function(L){L.met&&--v.near,delete L.met,_.on("bye",L);var J=+new Date;J=J-(L.met||J),v.bye.time=((v.bye.time||J)+J)/2},v.hear["!"]=function(L,J){P.log("Error:",L.err)},v.hear["?"]=function(L,J){L.pid&&(J.pid||(J.pid=L.pid),L["@"])||(v.say({dam:"?",pid:P.pid,"@":L["#"]},J),delete R.s[J.last])},v.hear.mob=function(L,J){if(L.peers){var ue=Object.keys(L.peers),ae=ue[Math.random()*ue.length>>0];ae&&(v.bye(J),v.hi(ae))}},_.on("create",function(L){L.opt.pid=L.opt.pid||String.random(9),this.to.next(L),L.on("out",v.say)}),_.on("bye",function(L,J){L=P.peers[L.id||L]||L,this.to.next(L),L.bye?L.bye():(J=L.wire)&&J.close&&J.close(),delete P.peers[L.id],L.wire=null});var re={};return _.on("bye",function(L,J){this.to.next(L),(J=console.STAT)&&(J.peers=v.near),(J=L.url)&&(re[J]=!0,setTimeout(function(){delete re[J]},P.lack||9e3))}),_.on("hi",function(L,J){if(this.to.next(L),(J=console.STAT)&&(J.peers=v.near),!P.super){var ue=Object.keys(_.next||"");ue.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(ue,function(ae){var O=_.next[ae];if(P.super||(O.ask||"")[""]){v.say({get:{"#":ae}},L);return}setTimeout.each(Object.keys(O.ask||""),function(M){M&&v.say({"##":String.hash((_.graph[ae]||"")[M]),get:{"#":ae,".":M}},L)})})}}),v}var y={},E=!0,b;try{i.exports=m}catch{}})(n,"./mesh"),n(function(i){var o=n("./index");o.Mesh=n("./mesh"),o.on("opt",function(m){if(this.to.next(m),m.once)return;var y=m.opt;if(y.WebSocket===!1)return;var E=o.window||{},b=y.WebSocket||E.WebSocket||E.webkitWebSocket||E.mozWebSocket;if(!b)return;y.WebSocket=b;var _=y.mesh=y.mesh||o.Mesh(m),v=_.wire||y.wire;_.wire=y.wire=P;function P(B){try{if(!B||!B.url)return I&&I(B);var T=B.url.replace(/^http/,"ws"),I=B.wire=new y.WebSocket(T);return I.onclose=function(){R(B),y.mesh.bye(B)},I.onerror=function(q){R(B)},I.onopen=function(){y.mesh.hi(B)},I.onmessage=function(q){q&&y.mesh.hear(q.data||q,B)},I}catch{y.mesh.bye(B)}}setTimeout(function(){!y.super&&m.on("out",{dam:"hi"})},1);var S=2*999;function R(B){clearTimeout(B.defer),y.peers[B.url]&&($&&B.retry<=0||(B.retry=(B.retry||y.retry+1||60)-(-B.tried+(B.tried=+new Date)<S*4?1:0),B.defer=setTimeout(function T(){if($&&$.hidden)return setTimeout(T,S);P(B)},S)))}var $=""+h!=typeof document&&document});var f=function(){},h})(n,"./websocket"),n(function(i){if(!(typeof Gun>"u")){var o=function(){},f,h;try{f=(Gun.window||o).localStorage}catch{}f||(Gun.log("Warning: No localStorage exists to persist data to!"),f={setItem:function(E,b){this[E]=b},removeItem:function(E){delete this[E]},getItem:function(E){return this[E]}});var m=JSON.parseAsync||function(E,b,_){var v;try{b(v,JSON.parse(E,_))}catch(P){b(P)}},y=JSON.stringifyAsync||function(E,b,_,v){var P;try{b(P,JSON.stringify(E,_,v))}catch(S){b(S)}};Gun.on("create",function E(b){this.to.next(b);var _=b.opt,v=b.graph,P=[],S,R,$,B;if(_.localStorage===!1)return;_.prefix=_.file||"gun/";try{S=E[_.prefix]=E[_.prefix]||JSON.parse($=f.getItem(_.prefix))||{}}catch{S=E[_.prefix]={}}$=($||"").length,b.on("get",function(I){this.to.next(I);var q=I.get,U,V,z,re;!q||!(U=q["#"])||(V=S[U]||re,V&&(z=q["."])&&!Object.plain(z)&&(V=Gun.state.ify({},z,Gun.state.is(V,z),V[z],U)),Gun.on.get.ack(I,V))}),b.on("put",function(I){this.to.next(I);var q=I.put,U=q["#"],V=q["."],z=I["#"],re=I.ok||"",L;if((b.next||"")[U]){if(S[U]=Gun.state.ify(S[U],V,q[">"],q[":"],U),B&&$>4999880){b.on("in",{"@":z,err:"localStorage max!"});return}!I["@"]&&(!I._.via||Math.random()<re["@"]/re["/"])&&P.push(z),!R&&(R=setTimeout(T,9+$/333))}});function T(){if(!P.length&&((setTimeout.turn||"").s||"").length){setTimeout(T,99);return}var I,q=P;clearTimeout(R),R=!1,P=[],y(S,function(U,V){try{!U&&f.setItem(_.prefix,V)}catch(z){U=B=z||"localStorage failure"}U&&(Gun.log(U+" Consider using GUN's IndexedDB plugin for RAD for more storage space, https://gun.eco/docs/RAD#install"),b.on("localStorage:error",{err:U,get:_.prefix,put:S})),$=V.length,setTimeout.each(q,function(z){b.on("in",{"@":z,err:U,ok:0})},0,99)})}})}})(n,"./localStorage")})();(function(){var ae;if(""+ae!=typeof Gun){var n=function(O){console.warn("Warning! Deprecated internal utility will break in next version:",O)},e=Gun;e.fn=e.fn||{is:function(O){return n("fn"),!!O&&typeof O=="function"}},e.bi=e.bi||{is:function(O){return n("bi"),O instanceof Boolean||typeof O=="boolean"}},e.num=e.num||{is:function(O){return n("num"),!i(O)&&(O-parseFloat(O)+1>=0||O===1/0||O===-1/0)}},e.text=e.text||{is:function(O){return n("text"),typeof O=="string"}},e.text.ify=e.text.ify||function(O){return n("text.ify"),e.text.is(O)?O:typeof JSON<"u"?JSON.stringify(O):O&&O.toString?O.toString():O},e.text.random=e.text.random||function(O,M){n("text.random");var Q="";for(O=O||24,M=M||"0123456789ABCDEFGHIJKLMNOPQRSTUVWXZabcdefghijklmnopqrstuvwxyz";O>0;)Q+=M.charAt(Math.floor(Math.random()*M.length)),O--;return Q},e.text.match=e.text.match||function(O,M){var Q,X;return n("text.match"),typeof O!="string"?!1:(typeof M=="string"&&(M={"=":M}),M=M||{},Q=M["="]||M["*"]||M[">"]||M["<"],O===Q?!0:X!==M["="]?!1:(Q=M["*"]||M[">"]||M["<"],O.slice(0,(Q||"").length)===Q?!0:X!==M["*"]?!1:X!==M[">"]&&X!==M["<"]?O>=M[">"]&&O<=M["<"]:X!==M[">"]&&O>=M[">"]||X!==M["<"]&&O<=M["<"]))},e.text.hash=e.text.hash||function(O,M){if(n("text.hash"),typeof O=="string"){if(M=M||0,!O.length)return M;for(var Q=0,X=O.length,ne;Q<X;++Q)ne=O.charCodeAt(Q),M=(M<<5)-M+ne,M|=0;return M}},e.list=e.list||{is:function(O){return n("list"),O instanceof Array}},e.list.slit=e.list.slit||Array.prototype.slice,e.list.sort=e.list.sort||function(O){return n("list.sort"),function(M,Q){return!M||!Q?0:(M=M[O],Q=Q[O],M<Q?-1:M>Q?1:0)}},e.list.map=e.list.map||function(O,M,Q){return n("list.map"),J(O,M,Q)},e.list.index=1,e.obj=e.boj||{is:function(O){return n("obj"),O?O instanceof Object&&O.constructor===Object||Object.prototype.toString.call(O).match(/^\[object (\w+)\]$/)[1]==="Object":!1}},e.obj.put=e.obj.put||function(O,M,Q){return n("obj.put"),(O||{})[M]=Q,O},e.obj.has=e.obj.has||function(O,M){return n("obj.has"),O&&Object.prototype.hasOwnProperty.call(O,M)},e.obj.del=e.obj.del||function(O,M){if(n("obj.del"),!!O)return O[M]=null,delete O[M],O},e.obj.as=e.obj.as||function(O,M,Q,X){return n("obj.as"),O[M]=O[M]||(X===Q?{}:Q)},e.obj.ify=e.obj.ify||function(O){if(n("obj.ify"),U(O))return O;try{O=JSON.parse(O)}catch{O={}}return O},(function(){var O;function M(Q,X){z(this,X)&&O!==this[X]||(this[X]=Q)}e.obj.to=e.obj.to||function(Q,X){return n("obj.to"),X=X||{},J(Q,M,X),X}})(),e.obj.copy=e.obj.copy||function(O){return n("obj.copy"),O&&JSON.parse(JSON.stringify(O))},(function(){function O(M,Q){var X=this.n,ne;if(!(X&&(Q===X||U(X)&&z(X,Q)))&&ne!==Q)return!0}e.obj.empty=e.obj.empty||function(M,Q){return n("obj.empty"),M?!J(M,O,{n:Q}):!0}})(),(function(){function O(ne,Ae){if(arguments.length===2){O.r=O.r||{},O.r[ne]=Ae;return}O.r=O.r||[],O.r.push(ne)}var M=Object.keys,Q,X;Object.keys=Object.keys||function(ne){return Q(ne,function(Ae,te,pe){pe(te)})},e.obj.map=Q=e.obj.map||function(ne,Ae,te){n("obj.map");var pe,me=0,ve,Re,At,Ke,ze=typeof Ae=="function";if(O.r=pe,M&&U(ne)&&(At=M(ne),Ke=!0),te=te||{},i(ne)||At)for(ve=(At||ne).length;me<ve;me++){var gt=me+e.list.index;if(ze){if(Re=Ke?Ae.call(te,ne[At[me]],At[me],O):Ae.call(te,ne[me],gt,O),Re!==pe)return Re}else if(Ae===ne[Ke?At[me]:me])return At?At[me]:gt}else for(me in ne)if(ze){if(z(ne,me)&&(Re=te?Ae.call(te,ne[me],me,O):Ae(ne[me],me,O),Re!==pe))return Re}else if(Ae===ne[me])return me;return ze?O.r:e.list.index?0:-1}})(),e.time=e.time||{},e.time.is=e.time.is||function(O){return n("time"),O?O instanceof Date:+new Date().getTime()};var I=e.fn.is,i=e.list.is,q=e.obj,U=q.is,z=q.has,J=q.map,o={};o.is=function(O){return n("val.is"),O===ae?!1:O===null?!0:O===1/0?!1:m(O)||h(O)||R(O)?!0:o.link.is(O)||!1},o.link=o.rel={_:"#"},(function(){o.link.is=function(M){if(n("val.link.is"),M&&M[f]&&!M._&&U(M)){var Q={};if(J(M,O,Q),Q.id)return Q.id}return!1};function O(M,Q){var X=this;if(X.id)return X.id=!1;if(Q==f&&m(M))X.id=M;else return X.id=!1}})(),o.link.ify=function(O){return n("val.link.ify"),L({},f,O)},e.obj.has._=".";var f=o.link._,ae,h=e.bi.is,R=e.num.is,m=e.text.is,q=e.obj,U=q.is,L=q.put,J=q.map;e.val=e.val||o;var y={_:"_"};y.soul=function(O,M){return n("node.soul"),O&&O._&&O._[M||_]},y.soul.ify=function(O,M){return n("node.soul.ify"),M=typeof M=="string"?{soul:M}:M||{},O=O||{},O._=O._||{},O._[_]=M.soul||O._[_]||b(),O},y.soul._=o.link._,(function(){y.is=function(M,Q,X){n("node.is");var ne;return U(M)&&(ne=y.soul(M))?!J(M,O,{as:X,cb:Q,s:ne,n:M}):!1};function O(M,Q){if(Q!==y._){if(!o.is(M))return!0;this.cb&&this.cb.call(this.as,M,Q,this.n,this.s)}}})(),(function(){y.ify=function(M,Q,X){return n("node.ify"),Q?typeof Q=="string"?Q={soul:Q}:typeof Q=="function"&&(Q={map:Q}):Q={},Q.map&&(Q.node=Q.map.call(X,M,ae,Q.node||{})),(Q.node=y.soul.ify(Q.node||{},Q))&&J(M,O,{o:Q,as:X}),Q.node};function O(M,Q){var X=this.o,ne,Ae;if(X.map){ne=X.map.call(this.as,M,""+Q,X.node),Ae===ne?V(X.node,Q):X.node&&(X.node[Q]=ne);return}o.is(M)&&(X.node[Q]=M)}})();var q=e.obj,U=q.is,V=q.del,J=q.map,E=e.text,b=E.random,_=y.soul._,ae;e.node=e.node||y;var v=e.state;v.lex=function(){return n("state.lex"),v().toString(36).replace(".","")},v.to=function(O,M,Q){n("state.to");var X=(O||{})[M];return U(X)&&(X=ue(X)),v.ify(Q,M,v.is(O,M),X,y.soul(O))},(function(){v.map=function(M,Q,X){n("state.map");var ne,Ae=U(Ae=M||Q)?Ae:null;return M=I(M=M||Q)?M:null,Ae&&!M?(Q=R(Q)?Q:v(),Ae[B]=Ae[B]||{},J(Ae,O,{o:Ae,s:Q}),Ae):(X=X||U(Q)?Q:ne,Q=R(Q)?Q:v(),function(te,pe,me,ve){if(!M)return O.call({o:me,s:Q},te,pe),te;M.call(X||this||{},te,pe,me,ve),!(z(me,pe)&&ne===me[pe])&&O.call({o:me,s:Q},te,pe)})};function O(M,Q){B!==Q&&v.ify(this.o,Q,this.s)}})();var q=e.obj,P=q.as,z=q.has,U=q.is,J=q.map,ue=q.copy,S=e.num,R=S.is,$=e.fn,I=$.is,B=y._,ae,T={};(function(){T.is=function(Q,X,ne,Ae){return n("graph.is"),!Q||!U(Q)||re(Q)?!1:!J(Q,O,{cb:X,fn:ne,as:Ae})};function O(Q,X){if(!Q||X!==y.soul(Q)||!y.is(Q,this.fn,this.as))return!0;this.cb&&(M.n=Q,M.as=this.as,this.cb.call(M.as,Q,X,M))}function M(Q){Q&&y.is(M.n,Q,M.as)}})(),(function(){T.ify=function(Ae,te,pe){n("graph.ify");var me={path:[],obj:Ae};return te?typeof te=="string"?te={soul:te}:typeof te=="function"&&(te.map=te):te={},typeof pe=="string"&&(te.soul=te.soul||pe,pe=ae),te.soul&&(me.link=o.link.ify(te.soul)),te.shell=(pe||{}).shell,te.graph=te.graph||{},te.seen=te.seen||[],te.as=te.as||pe,O(te,me),te.root=me.node,te.graph};function O(Ae,te){var pe;return(pe=ne(Ae,te))?pe:(te.env=Ae,te.soul=Q,y.ify(te.obj,M,te)&&(te.link=te.link||o.link.ify(y.soul(te.node)),te.obj!==Ae.shell&&(Ae.graph[o.link.is(te.link)]=te.node)),te)}function M(Ae,te,pe){var me=this,ve=me.env,Re,At;if(y._===te&&z(Ae,o.link._))return pe._;if(Re=X(Ae,te,pe,me,ve)){if(te||(me.node=me.node||pe||{},z(Ae,y._)&&y.soul(Ae)&&(me.node._=ue(Ae._)),me.node=y.soul.ify(me.node,o.link.is(me.link)),me.link=me.link||o.link.ify(y.soul(me.node))),(At=ve.map)&&(At.call(ve.as||{},Ae,te,pe,me),z(pe,te))){if(Ae=pe[te],ae===Ae){V(pe,te);return}if(!(Re=X(Ae,te,pe,me,ve)))return}if(!te)return me.node;if(Re===!0)return Ae;if(At=O(ve,{obj:Ae,path:me.path.concat(te)}),!!At.node)return At.link}}function Q(Ae){var te=this,pe=o.link.is(te.link),me=te.env.graph;te.link=te.link||o.link.ify(Ae),te.link[o.link._]=Ae,te.node&&te.node[y._]&&(te.node[y._][o.link._]=Ae),z(me,pe)&&(me[Ae]=me[pe],V(me,pe))}function X(Ae,te,pe,me,ve){var Re;if(o.is(Ae))return!0;if(U(Ae))return 1;if(Re=ve.invalid)return Ae=Re.call(ve.as||{},Ae,te,pe),X(Ae,te,pe,me,ve);ve.err="Invalid value at '"+me.path.concat(te).join(".")+"'!",e.list.is(Ae)&&(ve.err+=" Use `.set(item)` instead of an Array.")}function ne(Ae,te){for(var pe=Ae.seen,me=pe.length,ve;me--;)if(ve=pe[me],te.obj===ve.obj)return ve;pe.push(te)}})(),T.node=function(O){n("graph.node");var M=y.soul(O);if(M)return L({},M,O)},(function(){T.to=function(M,Q,X){if(n("graph.to"),!!M){var ne={};return X=X||{seen:{}},J(M[Q],O,{obj:ne,graph:M,opt:X}),ne}};function O(M,Q){var X,ne;if(y._===Q){if(re(M,o.link._))return;this.obj[Q]=ue(M);return}if(!(X=o.link.is(M))){this.obj[Q]=M;return}if(ne=this.opt.seen[X]){this.obj[Q]=ne;return}this.obj[Q]=this.opt.seen[X]=T.to(this.graph,X,this.opt)}})();var I=e.fn.is,q=e.obj,U=q.is,V=q.del,z=q.has,re=q.empty,L=q.put,J=q.map,ue=q.copy,ae;e.graph=e.graph||T}})()});var pd=ge((rS,hd)=>{hd.exports=dd()});var Cs=ge(nt=>{"use strict";Object.defineProperty(nt,"__esModule",{value:!0});nt.regexpCode=nt.getEsmExportName=nt.getProperty=nt.safeStringify=nt.stringify=nt.strConcat=nt.addCodeArg=nt.str=nt._=nt.nil=nt._Code=nt.Name=nt.IDENTIFIER=nt._CodeOrName=void 0;var Ps=class{};nt._CodeOrName=Ps;nt.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;var Pn=class extends Ps{constructor(e){if(super(),!nt.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}}};nt.Name=Pn;var pA=class extends Ps{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((i,o)=>`${i}${o}`,"")}get names(){var e;return(e=this._names)!==null&&e!==void 0?e:this._names=this._items.reduce((i,o)=>(o instanceof Pn&&(i[o.str]=(i[o.str]||0)+1),i),{})}};nt._Code=pA;nt.nil=new pA("");function md(n,...e){let i=[n[0]],o=0;for(;o<e.length;)el(i,e[o]),i.push(n[++o]);return new pA(i)}nt._=md;var Z0=new pA("+");function gd(n,...e){let i=[ks(n[0])],o=0;for(;o<e.length;)i.push(Z0),el(i,e[o]),i.push(Z0,ks(n[++o]));return Ow(i),new pA(i)}nt.str=gd;function el(n,e){e instanceof pA?n.push(...e._items):e instanceof Pn?n.push(e):n.push(Bw(e))}nt.addCodeArg=el;function Ow(n){let e=1;for(;e<n.length-1;){if(n[e]===Z0){let i=Tw(n[e-1],n[e+1]);if(i!==void 0){n.splice(e-1,3,i);continue}n[e++]="+"}e++}}function Tw(n,e){if(e==='""')return n;if(n==='""')return e;if(typeof n=="string")return e instanceof Pn||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 Pn))return`"${n}${e.slice(1)}`}function Iw(n,e){return e.emptyStr()?n:n.emptyStr()?e:gd`${n}${e}`}nt.strConcat=Iw;function Bw(n){return typeof n=="number"||typeof n=="boolean"||n===null?n:ks(Array.isArray(n)?n.join(","):n)}function Mw(n){return new pA(ks(n))}nt.stringify=Mw;function ks(n){return JSON.stringify(n).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}nt.safeStringify=ks;function jw(n){return typeof n=="string"&&nt.IDENTIFIER.test(n)?new pA(`.${n}`):md`[${n}]`}nt.getProperty=jw;function Nw(n){if(typeof n=="string"&&nt.IDENTIFIER.test(n))return new pA(`${n}`);throw new Error(`CodeGen: invalid export name: ${n}, use explicit $id name mapping`)}nt.getEsmExportName=Nw;function Fw(n){return new pA(n.toString())}nt.regexpCode=Fw});var rl=ge(tA=>{"use strict";Object.defineProperty(tA,"__esModule",{value:!0});tA.ValueScope=tA.ValueScopeName=tA.Scope=tA.varKinds=tA.UsedValueState=void 0;var eA=Cs(),tl=class extends Error{constructor(e){super(`CodeGen: "code" for ${e} not defined`),this.value=e.value}},Ho;(function(n){n[n.Started=0]="Started",n[n.Completed=1]="Completed"})(Ho||(tA.UsedValueState=Ho={}));tA.varKinds={const:new eA.Name("const"),let:new eA.Name("let"),var:new eA.Name("var")};var Vo=class{constructor({prefixes:e,parent:i}={}){this._names={},this._prefixes=e,this._parent=i}toName(e){return e instanceof eA.Name?e:this.name(e)}name(e){return new eA.Name(this._newName(e))}_newName(e){let i=this._names[e]||this._nameGroup(e);return`${e}${i.index++}`}_nameGroup(e){var i,o;if(!((o=(i=this._parent)===null||i===void 0?void 0:i._prefixes)===null||o===void 0)&&o.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}}};tA.Scope=Vo;var zo=class extends eA.Name{constructor(e,i){super(i),this.prefix=e}setValue(e,{property:i,itemIndex:o}){this.value=e,this.scopePath=(0,eA._)`.${new eA.Name(i)}[${o}]`}};tA.ValueScopeName=zo;var Qw=(0,eA._)`\n`,Al=class extends Vo{constructor(e){super(e),this._values={},this._scope=e.scope,this.opts={...e,_n:e.lines?Qw:eA.nil}}get(){return this._scope}name(e){return new zo(e,this._newName(e))}value(e,i){var o;if(i.ref===void 0)throw new Error("CodeGen: ref must be passed in value");let f=this.toName(e),{prefix:h}=f,m=(o=i.key)!==null&&o!==void 0?o:i.ref,y=this._values[h];if(y){let _=y.get(m);if(_)return _}else y=this._values[h]=new Map;y.set(m,f);let E=this._scope[h]||(this._scope[h]=[]),b=E.length;return E[b]=i.ref,f.setValue(i,{property:h,itemIndex:b}),f}getValue(e,i){let o=this._values[e];if(o)return o.get(i)}scopeRefs(e,i=this._values){return this._reduceValues(i,o=>{if(o.scopePath===void 0)throw new Error(`CodeGen: name "${o}" has no value`);return(0,eA._)`${e}${o.scopePath}`})}scopeCode(e=this._values,i,o){return this._reduceValues(e,f=>{if(f.value===void 0)throw new Error(`CodeGen: name "${f}" has no value`);return f.value.code},i,o)}_reduceValues(e,i,o={},f){let h=eA.nil;for(let m in e){let y=e[m];if(!y)continue;let E=o[m]=o[m]||new Map;y.forEach(b=>{if(E.has(b))return;E.set(b,Ho.Started);let _=i(b);if(_){let v=this.opts.es5?tA.varKinds.var:tA.varKinds.const;h=(0,eA._)`${h}${v} ${b} = ${_};${this.opts._n}`}else if(_=f?.(b))h=(0,eA._)`${h}${_}${this.opts._n}`;else throw new tl(b);E.set(b,Ho.Completed)})}return h}};tA.ValueScope=Al});var Ge=ge(Je=>{"use strict";Object.defineProperty(Je,"__esModule",{value:!0});Je.or=Je.and=Je.not=Je.CodeGen=Je.operators=Je.varKinds=Je.ValueScopeName=Je.ValueScope=Je.Scope=Je.Name=Je.regexpCode=Je.stringify=Je.getProperty=Je.nil=Je.strConcat=Je.str=Je._=void 0;var et=Cs(),EA=rl(),Nr=Cs();Object.defineProperty(Je,"_",{enumerable:!0,get:function(){return Nr._}});Object.defineProperty(Je,"str",{enumerable:!0,get:function(){return Nr.str}});Object.defineProperty(Je,"strConcat",{enumerable:!0,get:function(){return Nr.strConcat}});Object.defineProperty(Je,"nil",{enumerable:!0,get:function(){return Nr.nil}});Object.defineProperty(Je,"getProperty",{enumerable:!0,get:function(){return Nr.getProperty}});Object.defineProperty(Je,"stringify",{enumerable:!0,get:function(){return Nr.stringify}});Object.defineProperty(Je,"regexpCode",{enumerable:!0,get:function(){return Nr.regexpCode}});Object.defineProperty(Je,"Name",{enumerable:!0,get:function(){return Nr.Name}});var Yo=rl();Object.defineProperty(Je,"Scope",{enumerable:!0,get:function(){return Yo.Scope}});Object.defineProperty(Je,"ValueScope",{enumerable:!0,get:function(){return Yo.ValueScope}});Object.defineProperty(Je,"ValueScopeName",{enumerable:!0,get:function(){return Yo.ValueScopeName}});Object.defineProperty(Je,"varKinds",{enumerable:!0,get:function(){return Yo.varKinds}});Je.operators={GT:new et._Code(">"),GTE:new et._Code(">="),LT:new et._Code("<"),LTE:new et._Code("<="),EQ:new et._Code("==="),NEQ:new et._Code("!=="),NOT:new et._Code("!"),OR:new et._Code("||"),AND:new et._Code("&&"),ADD:new et._Code("+")};var ar=class{optimizeNodes(){return this}optimizeNames(e,i){return this}},nl=class extends ar{constructor(e,i,o){super(),this.varKind=e,this.name=i,this.rhs=o}render({es5:e,_n:i}){let o=e?EA.varKinds.var:this.varKind,f=this.rhs===void 0?"":` = ${this.rhs}`;return`${o} ${this.name}${f};`+i}optimizeNames(e,i){if(e[this.name.str])return this.rhs&&(this.rhs=Ri(this.rhs,e,i)),this}get names(){return this.rhs instanceof et._CodeOrName?this.rhs.names:{}}},Jo=class extends ar{constructor(e,i,o){super(),this.lhs=e,this.rhs=i,this.sideEffects=o}render({_n:e}){return`${this.lhs} = ${this.rhs};`+e}optimizeNames(e,i){if(!(this.lhs instanceof et.Name&&!e[this.lhs.str]&&!this.sideEffects))return this.rhs=Ri(this.rhs,e,i),this}get names(){let e=this.lhs instanceof et.Name?{}:{...this.lhs.names};return Wo(e,this.rhs)}},il=class extends Jo{constructor(e,i,o,f){super(e,o,f),this.op=i}render({_n:e}){return`${this.lhs} ${this.op}= ${this.rhs};`+e}},sl=class extends ar{constructor(e){super(),this.label=e,this.names={}}render({_n:e}){return`${this.label}:`+e}},ol=class extends ar{constructor(e){super(),this.label=e,this.names={}}render({_n:e}){return`break${this.label?` ${this.label}`:""};`+e}},al=class extends ar{constructor(e){super(),this.error=e}render({_n:e}){return`throw ${this.error};`+e}get names(){return this.error.names}},ll=class extends ar{constructor(e){super(),this.code=e}render({_n:e}){return`${this.code};`+e}optimizeNodes(){return`${this.code}`?this:void 0}optimizeNames(e,i){return this.code=Ri(this.code,e,i),this}get names(){return this.code instanceof et._CodeOrName?this.code.names:{}}},Ss=class extends ar{constructor(e=[]){super(),this.nodes=e}render(e){return this.nodes.reduce((i,o)=>i+o.render(e),"")}optimizeNodes(){let{nodes:e}=this,i=e.length;for(;i--;){let o=e[i].optimizeNodes();Array.isArray(o)?e.splice(i,1,...o):o?e[i]=o:e.splice(i,1)}return e.length>0?this:void 0}optimizeNames(e,i){let{nodes:o}=this,f=o.length;for(;f--;){let h=o[f];h.optimizeNames(e,i)||(Lw(e,h.names),o.splice(f,1))}return o.length>0?this:void 0}get names(){return this.nodes.reduce((e,i)=>Sn(e,i.names),{})}},lr=class extends Ss{render(e){return"{"+e._n+super.render(e)+"}"+e._n}},ul=class extends Ss{},Di=class extends lr{};Di.kind="else";var kn=class n extends lr{constructor(e,i){super(i),this.condition=e}render(e){let i=`if(${this.condition})`+super.render(e);return this.else&&(i+="else "+this.else.render(e)),i}optimizeNodes(){super.optimizeNodes();let e=this.condition;if(e===!0)return this.nodes;let i=this.else;if(i){let o=i.optimizeNodes();i=this.else=Array.isArray(o)?new Di(o):o}if(i)return e===!1?i instanceof n?i:i.nodes:this.nodes.length?this:new n(yd(e),i instanceof n?[i]:i.nodes);if(!(e===!1||!this.nodes.length))return this}optimizeNames(e,i){var o;if(this.else=(o=this.else)===null||o===void 0?void 0:o.optimizeNames(e,i),!!(super.optimizeNames(e,i)||this.else))return this.condition=Ri(this.condition,e,i),this}get names(){let e=super.names;return Wo(e,this.condition),this.else&&Sn(e,this.else.names),e}};kn.kind="if";var Cn=class extends lr{};Cn.kind="for";var fl=class extends Cn{constructor(e){super(),this.iteration=e}render(e){return`for(${this.iteration})`+super.render(e)}optimizeNames(e,i){if(super.optimizeNames(e,i))return this.iteration=Ri(this.iteration,e,i),this}get names(){return Sn(super.names,this.iteration.names)}},cl=class extends Cn{constructor(e,i,o,f){super(),this.varKind=e,this.name=i,this.from=o,this.to=f}render(e){let i=e.es5?EA.varKinds.var:this.varKind,{name:o,from:f,to:h}=this;return`for(${i} ${o}=${f}; ${o}<${h}; ${o}++)`+super.render(e)}get names(){let e=Wo(super.names,this.from);return Wo(e,this.to)}},Ko=class extends Cn{constructor(e,i,o,f){super(),this.loop=e,this.varKind=i,this.name=o,this.iterable=f}render(e){return`for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})`+super.render(e)}optimizeNames(e,i){if(super.optimizeNames(e,i))return this.iterable=Ri(this.iterable,e,i),this}get names(){return Sn(super.names,this.iterable.names)}},xs=class extends lr{constructor(e,i,o){super(),this.name=e,this.args=i,this.async=o}render(e){return`${this.async?"async ":""}function ${this.name}(${this.args})`+super.render(e)}};xs.kind="func";var Ds=class extends Ss{render(e){return"return "+super.render(e)}};Ds.kind="return";var dl=class extends lr{render(e){let i="try"+super.render(e);return this.catch&&(i+=this.catch.render(e)),this.finally&&(i+=this.finally.render(e)),i}optimizeNodes(){var e,i;return super.optimizeNodes(),(e=this.catch)===null||e===void 0||e.optimizeNodes(),(i=this.finally)===null||i===void 0||i.optimizeNodes(),this}optimizeNames(e,i){var o,f;return super.optimizeNames(e,i),(o=this.catch)===null||o===void 0||o.optimizeNames(e,i),(f=this.finally)===null||f===void 0||f.optimizeNames(e,i),this}get names(){let e=super.names;return this.catch&&Sn(e,this.catch.names),this.finally&&Sn(e,this.finally.names),e}},Rs=class extends lr{constructor(e){super(),this.error=e}render(e){return`catch(${this.error})`+super.render(e)}};Rs.kind="catch";var Os=class extends lr{render(e){return"finally"+super.render(e)}};Os.kind="finally";var hl=class{constructor(e,i={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...i,_n:i.lines?`
|
|
3
|
-
`:""},this._extScope=e,this._scope=new EA.Scope({parent:e}),this._nodes=[new ul]}toString(){return this._root.render(this.opts)}name(e){return this._scope.name(e)}scopeName(e){return this._extScope.name(e)}scopeValue(e,i){let o=this._extScope.value(e,i);return(this._values[o.prefix]||(this._values[o.prefix]=new Set)).add(o),o}getScopeValue(e,i){return this._extScope.getValue(e,i)}scopeRefs(e){return this._extScope.scopeRefs(e,this._values)}scopeCode(){return this._extScope.scopeCode(this._values)}_def(e,i,o,f){let h=this._scope.toName(i);return o!==void 0&&f&&(this._constants[h.str]=o),this._leafNode(new nl(e,h,o)),h}const(e,i,o){return this._def(EA.varKinds.const,e,i,o)}let(e,i,o){return this._def(EA.varKinds.let,e,i,o)}var(e,i,o){return this._def(EA.varKinds.var,e,i,o)}assign(e,i,o){return this._leafNode(new Jo(e,i,o))}add(e,i){return this._leafNode(new il(e,Je.operators.ADD,i))}code(e){return typeof e=="function"?e():e!==et.nil&&this._leafNode(new ll(e)),this}object(...e){let i=["{"];for(let[o,f]of e)i.length>1&&i.push(","),i.push(o),(o!==f||this.opts.es5)&&(i.push(":"),(0,et.addCodeArg)(i,f));return i.push("}"),new et._Code(i)}if(e,i,o){if(this._blockNode(new kn(e)),i&&o)this.code(i).else().code(o).endIf();else if(i)this.code(i).endIf();else if(o)throw new Error('CodeGen: "else" body without "then" body');return this}elseIf(e){return this._elseNode(new kn(e))}else(){return this._elseNode(new Di)}endIf(){return this._endBlockNode(kn,Di)}_for(e,i){return this._blockNode(e),i&&this.code(i).endFor(),this}for(e,i){return this._for(new fl(e),i)}forRange(e,i,o,f,h=this.opts.es5?EA.varKinds.var:EA.varKinds.let){let m=this._scope.toName(e);return this._for(new cl(h,m,i,o),()=>f(m))}forOf(e,i,o,f=EA.varKinds.const){let h=this._scope.toName(e);if(this.opts.es5){let m=i instanceof et.Name?i:this.var("_arr",i);return this.forRange("_i",0,(0,et._)`${m}.length`,y=>{this.var(h,(0,et._)`${m}[${y}]`),o(h)})}return this._for(new Ko("of",f,h,i),()=>o(h))}forIn(e,i,o,f=this.opts.es5?EA.varKinds.var:EA.varKinds.const){if(this.opts.ownProperties)return this.forOf(e,(0,et._)`Object.keys(${i})`,o);let h=this._scope.toName(e);return this._for(new Ko("in",f,h,i),()=>o(h))}endFor(){return this._endBlockNode(Cn)}label(e){return this._leafNode(new sl(e))}break(e){return this._leafNode(new ol(e))}return(e){let i=new Ds;if(this._blockNode(i),this.code(e),i.nodes.length!==1)throw new Error('CodeGen: "return" should have one node');return this._endBlockNode(Ds)}try(e,i,o){if(!i&&!o)throw new Error('CodeGen: "try" without "catch" and "finally"');let f=new dl;if(this._blockNode(f),this.code(e),i){let h=this.name("e");this._currNode=f.catch=new Rs(h),i(h)}return o&&(this._currNode=f.finally=new Os,this.code(o)),this._endBlockNode(Rs,Os)}throw(e){return this._leafNode(new al(e))}block(e,i){return this._blockStarts.push(this._nodes.length),e&&this.code(e).endBlock(i),this}endBlock(e){let i=this._blockStarts.pop();if(i===void 0)throw new Error("CodeGen: not in self-balancing block");let o=this._nodes.length-i;if(o<0||e!==void 0&&o!==e)throw new Error(`CodeGen: wrong number of nodes: ${o} vs ${e} expected`);return this._nodes.length=i,this}func(e,i=et.nil,o,f){return this._blockNode(new xs(e,i,o)),f&&this.code(f).endFunc(),this}endFunc(){return this._endBlockNode(xs)}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,i){let o=this._currNode;if(o instanceof e||i&&o instanceof i)return this._nodes.pop(),this;throw new Error(`CodeGen: not in block "${i?`${e.kind}/${i.kind}`:e.kind}"`)}_elseNode(e){let i=this._currNode;if(!(i instanceof kn))throw new Error('CodeGen: "else" without "if"');return this._currNode=i.else=e,this}get _root(){return this._nodes[0]}get _currNode(){let e=this._nodes;return e[e.length-1]}set _currNode(e){let i=this._nodes;i[i.length-1]=e}};Je.CodeGen=hl;function Sn(n,e){for(let i in e)n[i]=(n[i]||0)+(e[i]||0);return n}function Wo(n,e){return e instanceof et._CodeOrName?Sn(n,e.names):n}function Ri(n,e,i){if(n instanceof et.Name)return o(n);if(!f(n))return n;return new et._Code(n._items.reduce((h,m)=>(m instanceof et.Name&&(m=o(m)),m instanceof et._Code?h.push(...m._items):h.push(m),h),[]));function o(h){let m=i[h.str];return m===void 0||e[h.str]!==1?h:(delete e[h.str],m)}function f(h){return h instanceof et._Code&&h._items.some(m=>m instanceof et.Name&&e[m.str]===1&&i[m.str]!==void 0)}}function Lw(n,e){for(let i in e)n[i]=(n[i]||0)-(e[i]||0)}function yd(n){return typeof n=="boolean"||typeof n=="number"||n===null?!n:(0,et._)`!${pl(n)}`}Je.not=yd;var qw=wd(Je.operators.AND);function Uw(...n){return n.reduce(qw)}Je.and=Uw;var Gw=wd(Je.operators.OR);function Hw(...n){return n.reduce(Gw)}Je.or=Hw;function wd(n){return(e,i)=>e===et.nil?i:i===et.nil?e:(0,et._)`${pl(e)} ${n} ${pl(i)}`}function pl(n){return n instanceof et.Name?n:(0,et._)`(${n})`}});var Xe=ge(Ye=>{"use strict";Object.defineProperty(Ye,"__esModule",{value:!0});Ye.checkStrictMode=Ye.getErrorPath=Ye.Type=Ye.useFunc=Ye.setEvaluated=Ye.evaluatedPropsToName=Ye.mergeEvaluated=Ye.eachItem=Ye.unescapeJsonPointer=Ye.escapeJsonPointer=Ye.escapeFragment=Ye.unescapeFragment=Ye.schemaRefOrVal=Ye.schemaHasRulesButRef=Ye.schemaHasRules=Ye.checkUnknownRules=Ye.alwaysValidSchema=Ye.toHash=void 0;var dt=Ge(),Vw=Cs();function zw(n){let e={};for(let i of n)e[i]=!0;return e}Ye.toHash=zw;function Jw(n,e){return typeof e=="boolean"?e:Object.keys(e).length===0?!0:(bd(n,e),!Ed(e,n.self.RULES.all))}Ye.alwaysValidSchema=Jw;function bd(n,e=n.schema){let{opts:i,self:o}=n;if(!i.strictSchema||typeof e=="boolean")return;let f=o.RULES.keywords;for(let h in e)f[h]||kd(n,`unknown keyword: "${h}"`)}Ye.checkUnknownRules=bd;function Ed(n,e){if(typeof n=="boolean")return!n;for(let i in n)if(e[i])return!0;return!1}Ye.schemaHasRules=Ed;function Kw(n,e){if(typeof n=="boolean")return!n;for(let i in n)if(i!=="$ref"&&e.all[i])return!0;return!1}Ye.schemaHasRulesButRef=Kw;function Ww({topSchemaRef:n,schemaPath:e},i,o,f){if(!f){if(typeof i=="number"||typeof i=="boolean")return i;if(typeof i=="string")return(0,dt._)`${i}`}return(0,dt._)`${n}${e}${(0,dt.getProperty)(o)}`}Ye.schemaRefOrVal=Ww;function Yw(n){return $d(decodeURIComponent(n))}Ye.unescapeFragment=Yw;function Xw(n){return encodeURIComponent(gl(n))}Ye.escapeFragment=Xw;function gl(n){return typeof n=="number"?`${n}`:n.replace(/~/g,"~0").replace(/\//g,"~1")}Ye.escapeJsonPointer=gl;function $d(n){return n.replace(/~1/g,"/").replace(/~0/g,"~")}Ye.unescapeJsonPointer=$d;function Zw(n,e){if(Array.isArray(n))for(let i of n)e(i);else e(n)}Ye.eachItem=Zw;function _d({mergeNames:n,mergeToName:e,mergeValues:i,resultToName:o}){return(f,h,m,y)=>{let E=m===void 0?h:m instanceof dt.Name?(h instanceof dt.Name?n(f,h,m):e(f,h,m),m):h instanceof dt.Name?(e(f,m,h),h):i(h,m);return y===dt.Name&&!(E instanceof dt.Name)?o(f,E):E}}Ye.mergeEvaluated={props:_d({mergeNames:(n,e,i)=>n.if((0,dt._)`${i} !== true && ${e} !== undefined`,()=>{n.if((0,dt._)`${e} === true`,()=>n.assign(i,!0),()=>n.assign(i,(0,dt._)`${i} || {}`).code((0,dt._)`Object.assign(${i}, ${e})`))}),mergeToName:(n,e,i)=>n.if((0,dt._)`${i} !== true`,()=>{e===!0?n.assign(i,!0):(n.assign(i,(0,dt._)`${i} || {}`),yl(n,i,e))}),mergeValues:(n,e)=>n===!0?!0:{...n,...e},resultToName:Pd}),items:_d({mergeNames:(n,e,i)=>n.if((0,dt._)`${i} !== true && ${e} !== undefined`,()=>n.assign(i,(0,dt._)`${e} === true ? true : ${i} > ${e} ? ${i} : ${e}`)),mergeToName:(n,e,i)=>n.if((0,dt._)`${i} !== true`,()=>n.assign(i,e===!0?!0:(0,dt._)`${i} > ${e} ? ${i} : ${e}`)),mergeValues:(n,e)=>n===!0?!0:Math.max(n,e),resultToName:(n,e)=>n.var("items",e)})};function Pd(n,e){if(e===!0)return n.var("props",!0);let i=n.var("props",(0,dt._)`{}`);return e!==void 0&&yl(n,i,e),i}Ye.evaluatedPropsToName=Pd;function yl(n,e,i){Object.keys(i).forEach(o=>n.assign((0,dt._)`${e}${(0,dt.getProperty)(o)}`,!0))}Ye.setEvaluated=yl;var vd={};function e_(n,e){return n.scopeValue("func",{ref:e,code:vd[e.code]||(vd[e.code]=new Vw._Code(e.code))})}Ye.useFunc=e_;var ml;(function(n){n[n.Num=0]="Num",n[n.Str=1]="Str"})(ml||(Ye.Type=ml={}));function t_(n,e,i){if(n instanceof dt.Name){let o=e===ml.Num;return i?o?(0,dt._)`"[" + ${n} + "]"`:(0,dt._)`"['" + ${n} + "']"`:o?(0,dt._)`"/" + ${n}`:(0,dt._)`"/" + ${n}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return i?(0,dt.getProperty)(n).toString():"/"+gl(n)}Ye.getErrorPath=t_;function kd(n,e,i=n.opts.strictSchema){if(i){if(e=`strict mode: ${e}`,i===!0)throw new Error(e);n.self.logger.warn(e)}}Ye.checkStrictMode=kd});var mA=ge(wl=>{"use strict";Object.defineProperty(wl,"__esModule",{value:!0});var qt=Ge(),A_={data:new qt.Name("data"),valCxt:new qt.Name("valCxt"),instancePath:new qt.Name("instancePath"),parentData:new qt.Name("parentData"),parentDataProperty:new qt.Name("parentDataProperty"),rootData:new qt.Name("rootData"),dynamicAnchors:new qt.Name("dynamicAnchors"),vErrors:new qt.Name("vErrors"),errors:new qt.Name("errors"),this:new qt.Name("this"),self:new qt.Name("self"),scope:new qt.Name("scope"),json:new qt.Name("json"),jsonPos:new qt.Name("jsonPos"),jsonLen:new qt.Name("jsonLen"),jsonPart:new qt.Name("jsonPart")};wl.default=A_});var Ts=ge(Ut=>{"use strict";Object.defineProperty(Ut,"__esModule",{value:!0});Ut.extendErrors=Ut.resetErrorsCount=Ut.reportExtraError=Ut.reportError=Ut.keyword$DataError=Ut.keywordError=void 0;var tt=Ge(),Xo=Xe(),zt=mA();Ut.keywordError={message:({keyword:n})=>(0,tt.str)`must pass "${n}" keyword validation`};Ut.keyword$DataError={message:({keyword:n,schemaType:e})=>e?(0,tt.str)`"${n}" keyword must be ${e} ($data)`:(0,tt.str)`"${n}" keyword is invalid ($data)`};function r_(n,e=Ut.keywordError,i,o){let{it:f}=n,{gen:h,compositeRule:m,allErrors:y}=f,E=xd(n,e,i);o??(m||y)?Cd(h,E):Sd(f,(0,tt._)`[${E}]`)}Ut.reportError=r_;function n_(n,e=Ut.keywordError,i){let{it:o}=n,{gen:f,compositeRule:h,allErrors:m}=o,y=xd(n,e,i);Cd(f,y),h||m||Sd(o,zt.default.vErrors)}Ut.reportExtraError=n_;function i_(n,e){n.assign(zt.default.errors,e),n.if((0,tt._)`${zt.default.vErrors} !== null`,()=>n.if(e,()=>n.assign((0,tt._)`${zt.default.vErrors}.length`,e),()=>n.assign(zt.default.vErrors,null)))}Ut.resetErrorsCount=i_;function s_({gen:n,keyword:e,schemaValue:i,data:o,errsCount:f,it:h}){if(f===void 0)throw new Error("ajv implementation error");let m=n.name("err");n.forRange("i",f,zt.default.errors,y=>{n.const(m,(0,tt._)`${zt.default.vErrors}[${y}]`),n.if((0,tt._)`${m}.instancePath === undefined`,()=>n.assign((0,tt._)`${m}.instancePath`,(0,tt.strConcat)(zt.default.instancePath,h.errorPath))),n.assign((0,tt._)`${m}.schemaPath`,(0,tt.str)`${h.errSchemaPath}/${e}`),h.opts.verbose&&(n.assign((0,tt._)`${m}.schema`,i),n.assign((0,tt._)`${m}.data`,o))})}Ut.extendErrors=s_;function Cd(n,e){let i=n.const("err",e);n.if((0,tt._)`${zt.default.vErrors} === null`,()=>n.assign(zt.default.vErrors,(0,tt._)`[${i}]`),(0,tt._)`${zt.default.vErrors}.push(${i})`),n.code((0,tt._)`${zt.default.errors}++`)}function Sd(n,e){let{gen:i,validateName:o,schemaEnv:f}=n;f.$async?i.throw((0,tt._)`new ${n.ValidationError}(${e})`):(i.assign((0,tt._)`${o}.errors`,e),i.return(!1))}var xn={keyword:new tt.Name("keyword"),schemaPath:new tt.Name("schemaPath"),params:new tt.Name("params"),propertyName:new tt.Name("propertyName"),message:new tt.Name("message"),schema:new tt.Name("schema"),parentSchema:new tt.Name("parentSchema")};function xd(n,e,i){let{createErrors:o}=n.it;return o===!1?(0,tt._)`{}`:o_(n,e,i)}function o_(n,e,i={}){let{gen:o,it:f}=n,h=[a_(f,i),l_(n,i)];return u_(n,e,h),o.object(...h)}function a_({errorPath:n},{instancePath:e}){let i=e?(0,tt.str)`${n}${(0,Xo.getErrorPath)(e,Xo.Type.Str)}`:n;return[zt.default.instancePath,(0,tt.strConcat)(zt.default.instancePath,i)]}function l_({keyword:n,it:{errSchemaPath:e}},{schemaPath:i,parentSchema:o}){let f=o?e:(0,tt.str)`${e}/${n}`;return i&&(f=(0,tt.str)`${f}${(0,Xo.getErrorPath)(i,Xo.Type.Str)}`),[xn.schemaPath,f]}function u_(n,{params:e,message:i},o){let{keyword:f,data:h,schemaValue:m,it:y}=n,{opts:E,propertyName:b,topSchemaRef:_,schemaPath:v}=y;o.push([xn.keyword,f],[xn.params,typeof e=="function"?e(n):e||(0,tt._)`{}`]),E.messages&&o.push([xn.message,typeof i=="function"?i(n):i]),E.verbose&&o.push([xn.schema,m],[xn.parentSchema,(0,tt._)`${_}${v}`],[zt.default.data,h]),b&&o.push([xn.propertyName,b])}});var Rd=ge(Oi=>{"use strict";Object.defineProperty(Oi,"__esModule",{value:!0});Oi.boolOrEmptySchema=Oi.topBoolOrEmptySchema=void 0;var f_=Ts(),c_=Ge(),d_=mA(),h_={message:"boolean schema is false"};function p_(n){let{gen:e,schema:i,validateName:o}=n;i===!1?Dd(n,!1):typeof i=="object"&&i.$async===!0?e.return(d_.default.data):(e.assign((0,c_._)`${o}.errors`,null),e.return(!0))}Oi.topBoolOrEmptySchema=p_;function m_(n,e){let{gen:i,schema:o}=n;o===!1?(i.var(e,!1),Dd(n)):i.var(e,!0)}Oi.boolOrEmptySchema=m_;function Dd(n,e){let{gen:i,data:o}=n,f={gen:i,keyword:"false schema",data:o,schema:!1,schemaCode:!1,schemaValue:!1,params:{},it:n};(0,f_.reportError)(f,h_,void 0,e)}});var _l=ge(Ti=>{"use strict";Object.defineProperty(Ti,"__esModule",{value:!0});Ti.getRules=Ti.isJSONType=void 0;var g_=["string","number","integer","boolean","null","object","array"],y_=new Set(g_);function w_(n){return typeof n=="string"&&y_.has(n)}Ti.isJSONType=w_;function __(){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:{}}}Ti.getRules=__});var vl=ge(Fr=>{"use strict";Object.defineProperty(Fr,"__esModule",{value:!0});Fr.shouldUseRule=Fr.shouldUseGroup=Fr.schemaHasRulesForType=void 0;function v_({schema:n,self:e},i){let o=e.RULES.types[i];return o&&o!==!0&&Od(n,o)}Fr.schemaHasRulesForType=v_;function Od(n,e){return e.rules.some(i=>Td(n,i))}Fr.shouldUseGroup=Od;function Td(n,e){var i;return n[e.keyword]!==void 0||((i=e.definition.implements)===null||i===void 0?void 0:i.some(o=>n[o]!==void 0))}Fr.shouldUseRule=Td});var Is=ge(Gt=>{"use strict";Object.defineProperty(Gt,"__esModule",{value:!0});Gt.reportTypeError=Gt.checkDataTypes=Gt.checkDataType=Gt.coerceAndCheckDataType=Gt.getJSONTypes=Gt.getSchemaTypes=Gt.DataType=void 0;var b_=_l(),E_=vl(),$_=Ts(),He=Ge(),Id=Xe(),Ii;(function(n){n[n.Correct=0]="Correct",n[n.Wrong=1]="Wrong"})(Ii||(Gt.DataType=Ii={}));function P_(n){let e=Bd(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}Gt.getSchemaTypes=P_;function Bd(n){let e=Array.isArray(n)?n:n?[n]:[];if(e.every(b_.isJSONType))return e;throw new Error("type must be JSONType or JSONType[]: "+e.join(","))}Gt.getJSONTypes=Bd;function k_(n,e){let{gen:i,data:o,opts:f}=n,h=C_(e,f.coerceTypes),m=e.length>0&&!(h.length===0&&e.length===1&&(0,E_.schemaHasRulesForType)(n,e[0]));if(m){let y=El(e,o,f.strictNumbers,Ii.Wrong);i.if(y,()=>{h.length?S_(n,e,h):$l(n)})}return m}Gt.coerceAndCheckDataType=k_;var Md=new Set(["string","number","integer","boolean","null"]);function C_(n,e){return e?n.filter(i=>Md.has(i)||e==="array"&&i==="array"):[]}function S_(n,e,i){let{gen:o,data:f,opts:h}=n,m=o.let("dataType",(0,He._)`typeof ${f}`),y=o.let("coerced",(0,He._)`undefined`);h.coerceTypes==="array"&&o.if((0,He._)`${m} == 'object' && Array.isArray(${f}) && ${f}.length == 1`,()=>o.assign(f,(0,He._)`${f}[0]`).assign(m,(0,He._)`typeof ${f}`).if(El(e,f,h.strictNumbers),()=>o.assign(y,f))),o.if((0,He._)`${y} !== undefined`);for(let b of i)(Md.has(b)||b==="array"&&h.coerceTypes==="array")&&E(b);o.else(),$l(n),o.endIf(),o.if((0,He._)`${y} !== undefined`,()=>{o.assign(f,y),x_(n,y)});function E(b){switch(b){case"string":o.elseIf((0,He._)`${m} == "number" || ${m} == "boolean"`).assign(y,(0,He._)`"" + ${f}`).elseIf((0,He._)`${f} === null`).assign(y,(0,He._)`""`);return;case"number":o.elseIf((0,He._)`${m} == "boolean" || ${f} === null
|
|
4
|
-
|| (${
|
|
5
|
-
|| (${
|
|
6
|
-
|| ${m} === "boolean" || ${f} === null`).assign(y,(0,He._)`[${f}]`)}}}function x_({gen:n,parentData:e,parentDataProperty:i},o){n.if((0,He._)`${e} !== undefined`,()=>n.assign((0,He._)`${e}[${i}]`,o))}function bl(n,e,i,o=Ii.Correct){let f=o===Ii.Correct?He.operators.EQ:He.operators.NEQ,h;switch(n){case"null":return(0,He._)`${e} ${f} null`;case"array":h=(0,He._)`Array.isArray(${e})`;break;case"object":h=(0,He._)`${e} && typeof ${e} == "object" && !Array.isArray(${e})`;break;case"integer":h=m((0,He._)`!(${e} % 1) && !isNaN(${e})`);break;case"number":h=m();break;default:return(0,He._)`typeof ${e} ${f} ${n}`}return o===Ii.Correct?h:(0,He.not)(h);function m(y=He.nil){return(0,He.and)((0,He._)`typeof ${e} == "number"`,y,i?(0,He._)`isFinite(${e})`:He.nil)}}Gt.checkDataType=bl;function El(n,e,i,o){if(n.length===1)return bl(n[0],e,i,o);let f,h=(0,Id.toHash)(n);if(h.array&&h.object){let m=(0,He._)`typeof ${e} != "object"`;f=h.null?m:(0,He._)`!${e} || ${m}`,delete h.null,delete h.array,delete h.object}else f=He.nil;h.number&&delete h.integer;for(let m in h)f=(0,He.and)(f,bl(m,e,i,o));return f}Gt.checkDataTypes=El;var D_={message:({schema:n})=>`must be ${n}`,params:({schema:n,schemaValue:e})=>typeof n=="string"?(0,He._)`{type: ${n}}`:(0,He._)`{type: ${e}}`};function $l(n){let e=R_(n);(0,$_.reportError)(e,D_)}Gt.reportTypeError=$l;function R_(n){let{gen:e,data:i,schema:o}=n,f=(0,Id.schemaRefOrVal)(n,o,"type");return{gen:e,keyword:"type",data:i,schema:o.type,schemaCode:f,schemaValue:f,parentSchema:o,params:{},it:n}}});var Nd=ge(Zo=>{"use strict";Object.defineProperty(Zo,"__esModule",{value:!0});Zo.assignDefaults=void 0;var Bi=Ge(),O_=Xe();function T_(n,e){let{properties:i,items:o}=n.schema;if(e==="object"&&i)for(let f in i)jd(n,f,i[f].default);else e==="array"&&Array.isArray(o)&&o.forEach((f,h)=>jd(n,h,f.default))}Zo.assignDefaults=T_;function jd(n,e,i){let{gen:o,compositeRule:f,data:h,opts:m}=n;if(i===void 0)return;let y=(0,Bi._)`${h}${(0,Bi.getProperty)(e)}`;if(f){(0,O_.checkStrictMode)(n,`default is ignored for: ${y}`);return}let E=(0,Bi._)`${y} === undefined`;m.useDefaults==="empty"&&(E=(0,Bi._)`${E} || ${y} === null || ${y} === ""`),o.if(E,(0,Bi._)`${y} = ${(0,Bi.stringify)(i)}`)}});var gA=ge(ct=>{"use strict";Object.defineProperty(ct,"__esModule",{value:!0});ct.validateUnion=ct.validateArray=ct.usePattern=ct.callValidateCode=ct.schemaProperties=ct.allSchemaProperties=ct.noPropertyInData=ct.propertyInData=ct.isOwnProperty=ct.hasPropFunc=ct.reportMissingProp=ct.checkMissingProp=ct.checkReportMissingProp=void 0;var pt=Ge(),Pl=Xe(),Qr=mA(),I_=Xe();function B_(n,e){let{gen:i,data:o,it:f}=n;i.if(Cl(i,o,e,f.opts.ownProperties),()=>{n.setParams({missingProperty:(0,pt._)`${e}`},!0),n.error()})}ct.checkReportMissingProp=B_;function M_({gen:n,data:e,it:{opts:i}},o,f){return(0,pt.or)(...o.map(h=>(0,pt.and)(Cl(n,e,h,i.ownProperties),(0,pt._)`${f} = ${h}`)))}ct.checkMissingProp=M_;function j_(n,e){n.setParams({missingProperty:e},!0),n.error()}ct.reportMissingProp=j_;function Fd(n){return n.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:(0,pt._)`Object.prototype.hasOwnProperty`})}ct.hasPropFunc=Fd;function kl(n,e,i){return(0,pt._)`${Fd(n)}.call(${e}, ${i})`}ct.isOwnProperty=kl;function N_(n,e,i,o){let f=(0,pt._)`${e}${(0,pt.getProperty)(i)} !== undefined`;return o?(0,pt._)`${f} && ${kl(n,e,i)}`:f}ct.propertyInData=N_;function Cl(n,e,i,o){let f=(0,pt._)`${e}${(0,pt.getProperty)(i)} === undefined`;return o?(0,pt.or)(f,(0,pt.not)(kl(n,e,i))):f}ct.noPropertyInData=Cl;function Qd(n){return n?Object.keys(n).filter(e=>e!=="__proto__"):[]}ct.allSchemaProperties=Qd;function F_(n,e){return Qd(e).filter(i=>!(0,Pl.alwaysValidSchema)(n,e[i]))}ct.schemaProperties=F_;function Q_({schemaCode:n,data:e,it:{gen:i,topSchemaRef:o,schemaPath:f,errorPath:h},it:m},y,E,b){let _=b?(0,pt._)`${n}, ${e}, ${o}${f}`:e,v=[[Qr.default.instancePath,(0,pt.strConcat)(Qr.default.instancePath,h)],[Qr.default.parentData,m.parentData],[Qr.default.parentDataProperty,m.parentDataProperty],[Qr.default.rootData,Qr.default.rootData]];m.opts.dynamicRef&&v.push([Qr.default.dynamicAnchors,Qr.default.dynamicAnchors]);let P=(0,pt._)`${_}, ${i.object(...v)}`;return E!==pt.nil?(0,pt._)`${y}.call(${E}, ${P})`:(0,pt._)`${y}(${P})`}ct.callValidateCode=Q_;var L_=(0,pt._)`new RegExp`;function q_({gen:n,it:{opts:e}},i){let o=e.unicodeRegExp?"u":"",{regExp:f}=e.code,h=f(i,o);return n.scopeValue("pattern",{key:h.toString(),ref:h,code:(0,pt._)`${f.code==="new RegExp"?L_:(0,I_.useFunc)(n,f)}(${i}, ${o})`})}ct.usePattern=q_;function U_(n){let{gen:e,data:i,keyword:o,it:f}=n,h=e.name("valid");if(f.allErrors){let y=e.let("valid",!0);return m(()=>e.assign(y,!1)),y}return e.var(h,!0),m(()=>e.break()),h;function m(y){let E=e.const("len",(0,pt._)`${i}.length`);e.forRange("i",0,E,b=>{n.subschema({keyword:o,dataProp:b,dataPropType:Pl.Type.Num},h),e.if((0,pt.not)(h),y)})}}ct.validateArray=U_;function G_(n){let{gen:e,schema:i,keyword:o,it:f}=n;if(!Array.isArray(i))throw new Error("ajv implementation error");if(i.some(E=>(0,Pl.alwaysValidSchema)(f,E))&&!f.opts.unevaluated)return;let m=e.let("valid",!1),y=e.name("_valid");e.block(()=>i.forEach((E,b)=>{let _=n.subschema({keyword:o,schemaProp:b,compositeRule:!0},y);e.assign(m,(0,pt._)`${m} || ${y}`),n.mergeValidEvaluated(_,y)||e.if((0,pt.not)(m))})),n.result(m,()=>n.reset(),()=>n.error(!0))}ct.validateUnion=G_});var Ud=ge(VA=>{"use strict";Object.defineProperty(VA,"__esModule",{value:!0});VA.validateKeywordUsage=VA.validSchemaType=VA.funcKeywordCode=VA.macroKeywordCode=void 0;var Jt=Ge(),Dn=mA(),H_=gA(),V_=Ts();function z_(n,e){let{gen:i,keyword:o,schema:f,parentSchema:h,it:m}=n,y=e.macro.call(m.self,f,h,m),E=qd(i,o,y);m.opts.validateSchema!==!1&&m.self.validateSchema(y,!0);let b=i.name("valid");n.subschema({schema:y,schemaPath:Jt.nil,errSchemaPath:`${m.errSchemaPath}/${o}`,topSchemaRef:E,compositeRule:!0},b),n.pass(b,()=>n.error(!0))}VA.macroKeywordCode=z_;function J_(n,e){var i;let{gen:o,keyword:f,schema:h,parentSchema:m,$data:y,it:E}=n;W_(E,e);let b=!y&&e.compile?e.compile.call(E.self,h,m,E):e.validate,_=qd(o,f,b),v=o.let("valid");n.block$data(v,P),n.ok((i=e.valid)!==null&&i!==void 0?i:v);function P(){if(e.errors===!1)$(),e.modifying&&Ld(n),B(()=>n.error());else{let T=e.async?S():R();e.modifying&&Ld(n),B(()=>K_(n,T))}}function S(){let T=o.let("ruleErrs",null);return o.try(()=>$((0,Jt._)`await `),I=>o.assign(v,!1).if((0,Jt._)`${I} instanceof ${E.ValidationError}`,()=>o.assign(T,(0,Jt._)`${I}.errors`),()=>o.throw(I))),T}function R(){let T=(0,Jt._)`${_}.errors`;return o.assign(T,null),$(Jt.nil),T}function $(T=e.async?(0,Jt._)`await `:Jt.nil){let I=E.opts.passContext?Dn.default.this:Dn.default.self,q=!("compile"in e&&!y||e.schema===!1);o.assign(v,(0,Jt._)`${T}${(0,H_.callValidateCode)(n,_,I,q)}`,e.modifying)}function B(T){var I;o.if((0,Jt.not)((I=e.valid)!==null&&I!==void 0?I:v),T)}}VA.funcKeywordCode=J_;function Ld(n){let{gen:e,data:i,it:o}=n;e.if(o.parentData,()=>e.assign(i,(0,Jt._)`${o.parentData}[${o.parentDataProperty}]`))}function K_(n,e){let{gen:i}=n;i.if((0,Jt._)`Array.isArray(${e})`,()=>{i.assign(Dn.default.vErrors,(0,Jt._)`${Dn.default.vErrors} === null ? ${e} : ${Dn.default.vErrors}.concat(${e})`).assign(Dn.default.errors,(0,Jt._)`${Dn.default.vErrors}.length`),(0,V_.extendErrors)(n)},()=>n.error())}function W_({schemaEnv:n},e){if(e.async&&!n.$async)throw new Error("async keyword in sync schema")}function qd(n,e,i){if(i===void 0)throw new Error(`keyword "${e}" failed to compile`);return n.scopeValue("keyword",typeof i=="function"?{ref:i}:{ref:i,code:(0,Jt.stringify)(i)})}function Y_(n,e,i=!1){return!e.length||e.some(o=>o==="array"?Array.isArray(n):o==="object"?n&&typeof n=="object"&&!Array.isArray(n):typeof n==o||i&&typeof n>"u")}VA.validSchemaType=Y_;function X_({schema:n,opts:e,self:i,errSchemaPath:o},f,h){if(Array.isArray(f.keyword)?!f.keyword.includes(h):f.keyword!==h)throw new Error("ajv implementation error");let m=f.dependencies;if(m?.some(y=>!Object.prototype.hasOwnProperty.call(n,y)))throw new Error(`parent schema must have dependencies of ${h}: ${m.join(",")}`);if(f.validateSchema&&!f.validateSchema(n[h])){let E=`keyword "${h}" value is invalid at path "${o}": `+i.errorsText(f.validateSchema.errors);if(e.validateSchema==="log")i.logger.error(E);else throw new Error(E)}}VA.validateKeywordUsage=X_});var Hd=ge(Lr=>{"use strict";Object.defineProperty(Lr,"__esModule",{value:!0});Lr.extendSubschemaMode=Lr.extendSubschemaData=Lr.getSubschema=void 0;var zA=Ge(),Gd=Xe();function Z_(n,{keyword:e,schemaProp:i,schema:o,schemaPath:f,errSchemaPath:h,topSchemaRef:m}){if(e!==void 0&&o!==void 0)throw new Error('both "keyword" and "schema" passed, only one allowed');if(e!==void 0){let y=n.schema[e];return i===void 0?{schema:y,schemaPath:(0,zA._)`${n.schemaPath}${(0,zA.getProperty)(e)}`,errSchemaPath:`${n.errSchemaPath}/${e}`}:{schema:y[i],schemaPath:(0,zA._)`${n.schemaPath}${(0,zA.getProperty)(e)}${(0,zA.getProperty)(i)}`,errSchemaPath:`${n.errSchemaPath}/${e}/${(0,Gd.escapeFragment)(i)}`}}if(o!==void 0){if(f===void 0||h===void 0||m===void 0)throw new Error('"schemaPath", "errSchemaPath" and "topSchemaRef" are required with "schema"');return{schema:o,schemaPath:f,topSchemaRef:m,errSchemaPath:h}}throw new Error('either "keyword" or "schema" must be passed')}Lr.getSubschema=Z_;function ev(n,e,{dataProp:i,dataPropType:o,data:f,dataTypes:h,propertyName:m}){if(f!==void 0&&i!==void 0)throw new Error('both "data" and "dataProp" passed, only one allowed');let{gen:y}=e;if(i!==void 0){let{errorPath:b,dataPathArr:_,opts:v}=e,P=y.let("data",(0,zA._)`${e.data}${(0,zA.getProperty)(i)}`,!0);E(P),n.errorPath=(0,zA.str)`${b}${(0,Gd.getErrorPath)(i,o,v.jsPropertySyntax)}`,n.parentDataProperty=(0,zA._)`${i}`,n.dataPathArr=[..._,n.parentDataProperty]}if(f!==void 0){let b=f instanceof zA.Name?f:y.let("data",f,!0);E(b),m!==void 0&&(n.propertyName=m)}h&&(n.dataTypes=h);function E(b){n.data=b,n.dataLevel=e.dataLevel+1,n.dataTypes=[],e.definedProperties=new Set,n.parentData=e.data,n.dataNames=[...e.dataNames,b]}}Lr.extendSubschemaData=ev;function tv(n,{jtdDiscriminator:e,jtdMetadata:i,compositeRule:o,createErrors:f,allErrors:h}){o!==void 0&&(n.compositeRule=o),f!==void 0&&(n.createErrors=f),h!==void 0&&(n.allErrors=h),n.jtdDiscriminator=e,n.jtdMetadata=i}Lr.extendSubschemaMode=tv});var Sl=ge((yS,Vd)=>{"use strict";Vd.exports=function n(e,i){if(e===i)return!0;if(e&&i&&typeof e=="object"&&typeof i=="object"){if(e.constructor!==i.constructor)return!1;var o,f,h;if(Array.isArray(e)){if(o=e.length,o!=i.length)return!1;for(f=o;f--!==0;)if(!n(e[f],i[f]))return!1;return!0}if(e.constructor===RegExp)return e.source===i.source&&e.flags===i.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===i.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===i.toString();if(h=Object.keys(e),o=h.length,o!==Object.keys(i).length)return!1;for(f=o;f--!==0;)if(!Object.prototype.hasOwnProperty.call(i,h[f]))return!1;for(f=o;f--!==0;){var m=h[f];if(!n(e[m],i[m]))return!1}return!0}return e!==e&&i!==i}});var Jd=ge((wS,zd)=>{"use strict";var qr=zd.exports=function(n,e,i){typeof e=="function"&&(i=e,e={}),i=e.cb||i;var o=typeof i=="function"?i:i.pre||function(){},f=i.post||function(){};ea(e,o,f,n,"",n)};qr.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0,if:!0,then:!0,else:!0};qr.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0};qr.propsKeywords={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependencies:!0};qr.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 ea(n,e,i,o,f,h,m,y,E,b){if(o&&typeof o=="object"&&!Array.isArray(o)){e(o,f,h,m,y,E,b);for(var _ in o){var v=o[_];if(Array.isArray(v)){if(_ in qr.arrayKeywords)for(var P=0;P<v.length;P++)ea(n,e,i,v[P],f+"/"+_+"/"+P,h,f,_,o,P)}else if(_ in qr.propsKeywords){if(v&&typeof v=="object")for(var S in v)ea(n,e,i,v[S],f+"/"+_+"/"+Av(S),h,f,_,o,S)}else(_ in qr.keywords||n.allKeys&&!(_ in qr.skipKeywords))&&ea(n,e,i,v,f+"/"+_,h,f,_,o)}i(o,f,h,m,y,E,b)}}function Av(n){return n.replace(/~/g,"~0").replace(/\//g,"~1")}});var Bs=ge(AA=>{"use strict";Object.defineProperty(AA,"__esModule",{value:!0});AA.getSchemaRefs=AA.resolveUrl=AA.normalizeId=AA._getFullPath=AA.getFullPath=AA.inlineRef=void 0;var rv=Xe(),nv=Sl(),iv=Jd(),sv=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function ov(n,e=!0){return typeof n=="boolean"?!0:e===!0?!xl(n):e?Kd(n)<=e:!1}AA.inlineRef=ov;var av=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function xl(n){for(let e in n){if(av.has(e))return!0;let i=n[e];if(Array.isArray(i)&&i.some(xl)||typeof i=="object"&&xl(i))return!0}return!1}function Kd(n){let e=0;for(let i in n){if(i==="$ref")return 1/0;if(e++,!sv.has(i)&&(typeof n[i]=="object"&&(0,rv.eachItem)(n[i],o=>e+=Kd(o)),e===1/0))return 1/0}return e}function Wd(n,e="",i){i!==!1&&(e=Mi(e));let o=n.parse(e);return Yd(n,o)}AA.getFullPath=Wd;function Yd(n,e){return n.serialize(e).split("#")[0]+"#"}AA._getFullPath=Yd;var lv=/#\/?$/;function Mi(n){return n?n.replace(lv,""):""}AA.normalizeId=Mi;function uv(n,e,i){return i=Mi(i),n.resolve(e,i)}AA.resolveUrl=uv;var fv=/^[a-z_][-a-z0-9._]*$/i;function cv(n,e){if(typeof n=="boolean")return{};let{schemaId:i,uriResolver:o}=this.opts,f=Mi(n[i]||e),h={"":f},m=Wd(o,f,!1),y={},E=new Set;return iv(n,{allKeys:!0},(v,P,S,R)=>{if(R===void 0)return;let $=m+P,B=h[R];typeof v[i]=="string"&&(B=T.call(this,v[i])),I.call(this,v.$anchor),I.call(this,v.$dynamicAnchor),h[P]=B;function T(q){let U=this.opts.uriResolver.resolve;if(q=Mi(B?U(B,q):q),E.has(q))throw _(q);E.add(q);let V=this.refs[q];return typeof V=="string"&&(V=this.refs[V]),typeof V=="object"?b(v,V.schema,q):q!==Mi($)&&(q[0]==="#"?(b(v,y[q],q),y[q]=v):this.refs[q]=$),q}function I(q){if(typeof q=="string"){if(!fv.test(q))throw new Error(`invalid anchor "${q}"`);T.call(this,`#${q}`)}}}),y;function b(v,P,S){if(P!==void 0&&!nv(v,P))throw _(S)}function _(v){return new Error(`reference "${v}" resolves to more than one schema`)}}AA.getSchemaRefs=cv});var Ns=ge(Ur=>{"use strict";Object.defineProperty(Ur,"__esModule",{value:!0});Ur.getData=Ur.KeywordCxt=Ur.validateFunctionCode=void 0;var Ah=Rd(),Xd=Is(),Rl=vl(),ta=Is(),dv=Nd(),js=Ud(),Dl=Hd(),ke=Ge(),Qe=mA(),hv=Bs(),ur=Xe(),Ms=Ts();function pv(n){if(ih(n)&&(sh(n),nh(n))){yv(n);return}rh(n,()=>(0,Ah.topBoolOrEmptySchema)(n))}Ur.validateFunctionCode=pv;function rh({gen:n,validateName:e,schema:i,schemaEnv:o,opts:f},h){f.code.es5?n.func(e,(0,ke._)`${Qe.default.data}, ${Qe.default.valCxt}`,o.$async,()=>{n.code((0,ke._)`"use strict"; ${Zd(i,f)}`),gv(n,f),n.code(h)}):n.func(e,(0,ke._)`${Qe.default.data}, ${mv(f)}`,o.$async,()=>n.code(Zd(i,f)).code(h))}function mv(n){return(0,ke._)`{${Qe.default.instancePath}="", ${Qe.default.parentData}, ${Qe.default.parentDataProperty}, ${Qe.default.rootData}=${Qe.default.data}${n.dynamicRef?(0,ke._)`, ${Qe.default.dynamicAnchors}={}`:ke.nil}}={}`}function gv(n,e){n.if(Qe.default.valCxt,()=>{n.var(Qe.default.instancePath,(0,ke._)`${Qe.default.valCxt}.${Qe.default.instancePath}`),n.var(Qe.default.parentData,(0,ke._)`${Qe.default.valCxt}.${Qe.default.parentData}`),n.var(Qe.default.parentDataProperty,(0,ke._)`${Qe.default.valCxt}.${Qe.default.parentDataProperty}`),n.var(Qe.default.rootData,(0,ke._)`${Qe.default.valCxt}.${Qe.default.rootData}`),e.dynamicRef&&n.var(Qe.default.dynamicAnchors,(0,ke._)`${Qe.default.valCxt}.${Qe.default.dynamicAnchors}`)},()=>{n.var(Qe.default.instancePath,(0,ke._)`""`),n.var(Qe.default.parentData,(0,ke._)`undefined`),n.var(Qe.default.parentDataProperty,(0,ke._)`undefined`),n.var(Qe.default.rootData,Qe.default.data),e.dynamicRef&&n.var(Qe.default.dynamicAnchors,(0,ke._)`{}`)})}function yv(n){let{schema:e,opts:i,gen:o}=n;rh(n,()=>{i.$comment&&e.$comment&&ah(n),Ev(n),o.let(Qe.default.vErrors,null),o.let(Qe.default.errors,0),i.unevaluated&&wv(n),oh(n),kv(n)})}function wv(n){let{gen:e,validateName:i}=n;n.evaluated=e.const("evaluated",(0,ke._)`${i}.evaluated`),e.if((0,ke._)`${n.evaluated}.dynamicProps`,()=>e.assign((0,ke._)`${n.evaluated}.props`,(0,ke._)`undefined`)),e.if((0,ke._)`${n.evaluated}.dynamicItems`,()=>e.assign((0,ke._)`${n.evaluated}.items`,(0,ke._)`undefined`))}function Zd(n,e){let i=typeof n=="object"&&n[e.schemaId];return i&&(e.code.source||e.code.process)?(0,ke._)`/*# sourceURL=${i} */`:ke.nil}function _v(n,e){if(ih(n)&&(sh(n),nh(n))){vv(n,e);return}(0,Ah.boolOrEmptySchema)(n,e)}function nh({schema:n,self:e}){if(typeof n=="boolean")return!n;for(let i in n)if(e.RULES.all[i])return!0;return!1}function ih(n){return typeof n.schema!="boolean"}function vv(n,e){let{schema:i,gen:o,opts:f}=n;f.$comment&&i.$comment&&ah(n),$v(n),Pv(n);let h=o.const("_errs",Qe.default.errors);oh(n,h),o.var(e,(0,ke._)`${h} === ${Qe.default.errors}`)}function sh(n){(0,ur.checkUnknownRules)(n),bv(n)}function oh(n,e){if(n.opts.jtd)return eh(n,[],!1,e);let i=(0,Xd.getSchemaTypes)(n.schema),o=(0,Xd.coerceAndCheckDataType)(n,i);eh(n,i,!o,e)}function bv(n){let{schema:e,errSchemaPath:i,opts:o,self:f}=n;e.$ref&&o.ignoreKeywordsWithRef&&(0,ur.schemaHasRulesButRef)(e,f.RULES)&&f.logger.warn(`$ref: keywords ignored in schema at path "${i}"`)}function Ev(n){let{schema:e,opts:i}=n;e.default!==void 0&&i.useDefaults&&i.strictSchema&&(0,ur.checkStrictMode)(n,"default is ignored in the schema root")}function $v(n){let e=n.schema[n.opts.schemaId];e&&(n.baseId=(0,hv.resolveUrl)(n.opts.uriResolver,n.baseId,e))}function Pv(n){if(n.schema.$async&&!n.schemaEnv.$async)throw new Error("async schema in sync schema")}function ah({gen:n,schemaEnv:e,schema:i,errSchemaPath:o,opts:f}){let h=i.$comment;if(f.$comment===!0)n.code((0,ke._)`${Qe.default.self}.logger.log(${h})`);else if(typeof f.$comment=="function"){let m=(0,ke.str)`${o}/$comment`,y=n.scopeValue("root",{ref:e.root});n.code((0,ke._)`${Qe.default.self}.opts.$comment(${h}, ${m}, ${y}.schema)`)}}function kv(n){let{gen:e,schemaEnv:i,validateName:o,ValidationError:f,opts:h}=n;i.$async?e.if((0,ke._)`${Qe.default.errors} === 0`,()=>e.return(Qe.default.data),()=>e.throw((0,ke._)`new ${f}(${Qe.default.vErrors})`)):(e.assign((0,ke._)`${o}.errors`,Qe.default.vErrors),h.unevaluated&&Cv(n),e.return((0,ke._)`${Qe.default.errors} === 0`))}function Cv({gen:n,evaluated:e,props:i,items:o}){i instanceof ke.Name&&n.assign((0,ke._)`${e}.props`,i),o instanceof ke.Name&&n.assign((0,ke._)`${e}.items`,o)}function eh(n,e,i,o){let{gen:f,schema:h,data:m,allErrors:y,opts:E,self:b}=n,{RULES:_}=b;if(h.$ref&&(E.ignoreKeywordsWithRef||!(0,ur.schemaHasRulesButRef)(h,_))){f.block(()=>uh(n,"$ref",_.all.$ref.definition));return}E.jtd||Sv(n,e),f.block(()=>{for(let P of _.rules)v(P);v(_.post)});function v(P){(0,Rl.shouldUseGroup)(h,P)&&(P.type?(f.if((0,ta.checkDataType)(P.type,m,E.strictNumbers)),th(n,P),e.length===1&&e[0]===P.type&&i&&(f.else(),(0,ta.reportTypeError)(n)),f.endIf()):th(n,P),y||f.if((0,ke._)`${Qe.default.errors} === ${o||0}`))}}function th(n,e){let{gen:i,schema:o,opts:{useDefaults:f}}=n;f&&(0,dv.assignDefaults)(n,e.type),i.block(()=>{for(let h of e.rules)(0,Rl.shouldUseRule)(o,h)&&uh(n,h.keyword,h.definition,e.type)})}function Sv(n,e){n.schemaEnv.meta||!n.opts.strictTypes||(xv(n,e),n.opts.allowUnionTypes||Dv(n,e),Rv(n,n.dataTypes))}function xv(n,e){if(e.length){if(!n.dataTypes.length){n.dataTypes=e;return}e.forEach(i=>{lh(n.dataTypes,i)||Ol(n,`type "${i}" not allowed by context "${n.dataTypes.join(",")}"`)}),Tv(n,e)}}function Dv(n,e){e.length>1&&!(e.length===2&&e.includes("null"))&&Ol(n,"use allowUnionTypes to allow union type keyword")}function Rv(n,e){let i=n.self.RULES.all;for(let o in i){let f=i[o];if(typeof f=="object"&&(0,Rl.shouldUseRule)(n.schema,f)){let{type:h}=f.definition;h.length&&!h.some(m=>Ov(e,m))&&Ol(n,`missing type "${h.join(",")}" for keyword "${o}"`)}}}function Ov(n,e){return n.includes(e)||e==="number"&&n.includes("integer")}function lh(n,e){return n.includes(e)||e==="integer"&&n.includes("number")}function Tv(n,e){let i=[];for(let o of n.dataTypes)lh(e,o)?i.push(o):e.includes("integer")&&o==="number"&&i.push("integer");n.dataTypes=i}function Ol(n,e){let i=n.schemaEnv.baseId+n.errSchemaPath;e+=` at "${i}" (strictTypes)`,(0,ur.checkStrictMode)(n,e,n.opts.strictTypes)}var Aa=class{constructor(e,i,o){if((0,js.validateKeywordUsage)(e,i,o),this.gen=e.gen,this.allErrors=e.allErrors,this.keyword=o,this.data=e.data,this.schema=e.schema[o],this.$data=i.$data&&e.opts.$data&&this.schema&&this.schema.$data,this.schemaValue=(0,ur.schemaRefOrVal)(e,this.schema,o,this.$data),this.schemaType=i.schemaType,this.parentSchema=e.schema,this.params={},this.it=e,this.def=i,this.$data)this.schemaCode=e.gen.const("vSchema",fh(this.$data,e));else if(this.schemaCode=this.schemaValue,!(0,js.validSchemaType)(this.schema,i.schemaType,i.allowUndefined))throw new Error(`${o} value must be ${JSON.stringify(i.schemaType)}`);("code"in i?i.trackErrors:i.errors!==!1)&&(this.errsCount=e.gen.const("_errs",Qe.default.errors))}result(e,i,o){this.failResult((0,ke.not)(e),i,o)}failResult(e,i,o){this.gen.if(e),o?o():this.error(),i?(this.gen.else(),i(),this.allErrors&&this.gen.endIf()):this.allErrors?this.gen.endIf():this.gen.else()}pass(e,i){this.failResult((0,ke.not)(e),void 0,i)}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:i}=this;this.fail((0,ke._)`${i} !== undefined && (${(0,ke.or)(this.invalid$data(),e)})`)}error(e,i,o){if(i){this.setParams(i),this._error(e,o),this.setParams({});return}this._error(e,o)}_error(e,i){(e?Ms.reportExtraError:Ms.reportError)(this,this.def.error,i)}$dataError(){(0,Ms.reportError)(this,this.def.$dataError||Ms.keyword$DataError)}reset(){if(this.errsCount===void 0)throw new Error('add "trackErrors" to keyword definition');(0,Ms.resetErrorsCount)(this.gen,this.errsCount)}ok(e){this.allErrors||this.gen.if(e)}setParams(e,i){i?Object.assign(this.params,e):this.params=e}block$data(e,i,o=ke.nil){this.gen.block(()=>{this.check$data(e,o),i()})}check$data(e=ke.nil,i=ke.nil){if(!this.$data)return;let{gen:o,schemaCode:f,schemaType:h,def:m}=this;o.if((0,ke.or)((0,ke._)`${f} === undefined`,i)),e!==ke.nil&&o.assign(e,!0),(h.length||m.validateSchema)&&(o.elseIf(this.invalid$data()),this.$dataError(),e!==ke.nil&&o.assign(e,!1)),o.else()}invalid$data(){let{gen:e,schemaCode:i,schemaType:o,def:f,it:h}=this;return(0,ke.or)(m(),y());function m(){if(o.length){if(!(i instanceof ke.Name))throw new Error("ajv implementation error");let E=Array.isArray(o)?o:[o];return(0,ke._)`${(0,ta.checkDataTypes)(E,i,h.opts.strictNumbers,ta.DataType.Wrong)}`}return ke.nil}function y(){if(f.validateSchema){let E=e.scopeValue("validate$data",{ref:f.validateSchema});return(0,ke._)`!${E}(${i})`}return ke.nil}}subschema(e,i){let o=(0,Dl.getSubschema)(this.it,e);(0,Dl.extendSubschemaData)(o,this.it,e),(0,Dl.extendSubschemaMode)(o,e);let f={...this.it,...o,items:void 0,props:void 0};return _v(f,i),f}mergeEvaluated(e,i){let{it:o,gen:f}=this;o.opts.unevaluated&&(o.props!==!0&&e.props!==void 0&&(o.props=ur.mergeEvaluated.props(f,e.props,o.props,i)),o.items!==!0&&e.items!==void 0&&(o.items=ur.mergeEvaluated.items(f,e.items,o.items,i)))}mergeValidEvaluated(e,i){let{it:o,gen:f}=this;if(o.opts.unevaluated&&(o.props!==!0||o.items!==!0))return f.if(i,()=>this.mergeEvaluated(e,ke.Name)),!0}};Ur.KeywordCxt=Aa;function uh(n,e,i,o){let f=new Aa(n,i,e);"code"in i?i.code(f,o):f.$data&&i.validate?(0,js.funcKeywordCode)(f,i):"macro"in i?(0,js.macroKeywordCode)(f,i):(i.compile||i.validate)&&(0,js.funcKeywordCode)(f,i)}var Iv=/^\/(?:[^~]|~0|~1)*$/,Bv=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function fh(n,{dataLevel:e,dataNames:i,dataPathArr:o}){let f,h;if(n==="")return Qe.default.rootData;if(n[0]==="/"){if(!Iv.test(n))throw new Error(`Invalid JSON-pointer: ${n}`);f=n,h=Qe.default.rootData}else{let b=Bv.exec(n);if(!b)throw new Error(`Invalid JSON-pointer: ${n}`);let _=+b[1];if(f=b[2],f==="#"){if(_>=e)throw new Error(E("property/index",_));return o[e-_]}if(_>e)throw new Error(E("data",_));if(h=i[e-_],!f)return h}let m=h,y=f.split("/");for(let b of y)b&&(h=(0,ke._)`${h}${(0,ke.getProperty)((0,ur.unescapeJsonPointer)(b))}`,m=(0,ke._)`${m} && ${h}`);return m;function E(b,_){return`Cannot access ${b} ${_} levels up, current level is ${e}`}}Ur.getData=fh});var ra=ge(Il=>{"use strict";Object.defineProperty(Il,"__esModule",{value:!0});var Tl=class extends Error{constructor(e){super("validation failed"),this.errors=e,this.ajv=this.validation=!0}};Il.default=Tl});var Fs=ge(jl=>{"use strict";Object.defineProperty(jl,"__esModule",{value:!0});var Bl=Bs(),Ml=class extends Error{constructor(e,i,o,f){super(f||`can't resolve reference ${o} from id ${i}`),this.missingRef=(0,Bl.resolveUrl)(e,i,o),this.missingSchema=(0,Bl.normalizeId)((0,Bl.getFullPath)(e,this.missingRef))}};jl.default=Ml});var Qs=ge(yA=>{"use strict";Object.defineProperty(yA,"__esModule",{value:!0});yA.resolveSchema=yA.getCompilingSchema=yA.resolveRef=yA.compileSchema=yA.SchemaEnv=void 0;var $A=Ge(),Mv=ra(),Rn=mA(),PA=Bs(),ch=Xe(),jv=Ns(),ji=class{constructor(e){var i;this.refs={},this.dynamicAnchors={};let o;typeof e.schema=="object"&&(o=e.schema),this.schema=e.schema,this.schemaId=e.schemaId,this.root=e.root||this,this.baseId=(i=e.baseId)!==null&&i!==void 0?i:(0,PA.normalizeId)(o?.[e.schemaId||"$id"]),this.schemaPath=e.schemaPath,this.localRefs=e.localRefs,this.meta=e.meta,this.$async=o?.$async,this.refs={}}};yA.SchemaEnv=ji;function Fl(n){let e=dh.call(this,n);if(e)return e;let i=(0,PA.getFullPath)(this.opts.uriResolver,n.root.baseId),{es5:o,lines:f}=this.opts.code,{ownProperties:h}=this.opts,m=new $A.CodeGen(this.scope,{es5:o,lines:f,ownProperties:h}),y;n.$async&&(y=m.scopeValue("Error",{ref:Mv.default,code:(0,$A._)`require("ajv/dist/runtime/validation_error").default`}));let E=m.scopeName("validate");n.validateName=E;let b={gen:m,allErrors:this.opts.allErrors,data:Rn.default.data,parentData:Rn.default.parentData,parentDataProperty:Rn.default.parentDataProperty,dataNames:[Rn.default.data],dataPathArr:[$A.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:m.scopeValue("schema",this.opts.code.source===!0?{ref:n.schema,code:(0,$A.stringify)(n.schema)}:{ref:n.schema}),validateName:E,ValidationError:y,schema:n.schema,schemaEnv:n,rootId:i,baseId:n.baseId||i,schemaPath:$A.nil,errSchemaPath:n.schemaPath||(this.opts.jtd?"":"#"),errorPath:(0,$A._)`""`,opts:this.opts,self:this},_;try{this._compilations.add(n),(0,jv.validateFunctionCode)(b),m.optimize(this.opts.code.optimize);let v=m.toString();_=`${m.scopeRefs(Rn.default.scope)}return ${v}`,this.opts.code.process&&(_=this.opts.code.process(_,n));let S=new Function(`${Rn.default.self}`,`${Rn.default.scope}`,_)(this,this.scope.get());if(this.scope.value(E,{ref:S}),S.errors=null,S.schema=n.schema,S.schemaEnv=n,n.$async&&(S.$async=!0),this.opts.code.source===!0&&(S.source={validateName:E,validateCode:v,scopeValues:m._values}),this.opts.unevaluated){let{props:R,items:$}=b;S.evaluated={props:R instanceof $A.Name?void 0:R,items:$ instanceof $A.Name?void 0:$,dynamicProps:R instanceof $A.Name,dynamicItems:$ instanceof $A.Name},S.source&&(S.source.evaluated=(0,$A.stringify)(S.evaluated))}return n.validate=S,n}catch(v){throw delete n.validate,delete n.validateName,_&&this.logger.error("Error compiling schema, function code:",_),v}finally{this._compilations.delete(n)}}yA.compileSchema=Fl;function Nv(n,e,i){var o;i=(0,PA.resolveUrl)(this.opts.uriResolver,e,i);let f=n.refs[i];if(f)return f;let h=Lv.call(this,n,i);if(h===void 0){let m=(o=n.localRefs)===null||o===void 0?void 0:o[i],{schemaId:y}=this.opts;m&&(h=new ji({schema:m,schemaId:y,root:n,baseId:e}))}if(h!==void 0)return n.refs[i]=Fv.call(this,h)}yA.resolveRef=Nv;function Fv(n){return(0,PA.inlineRef)(n.schema,this.opts.inlineRefs)?n.schema:n.validate?n:Fl.call(this,n)}function dh(n){for(let e of this._compilations)if(Qv(e,n))return e}yA.getCompilingSchema=dh;function Qv(n,e){return n.schema===e.schema&&n.root===e.root&&n.baseId===e.baseId}function Lv(n,e){let i;for(;typeof(i=this.refs[e])=="string";)e=i;return i||this.schemas[e]||na.call(this,n,e)}function na(n,e){let i=this.opts.uriResolver.parse(e),o=(0,PA._getFullPath)(this.opts.uriResolver,i),f=(0,PA.getFullPath)(this.opts.uriResolver,n.baseId,void 0);if(Object.keys(n.schema).length>0&&o===f)return Nl.call(this,i,n);let h=(0,PA.normalizeId)(o),m=this.refs[h]||this.schemas[h];if(typeof m=="string"){let y=na.call(this,n,m);return typeof y?.schema!="object"?void 0:Nl.call(this,i,y)}if(typeof m?.schema=="object"){if(m.validate||Fl.call(this,m),h===(0,PA.normalizeId)(e)){let{schema:y}=m,{schemaId:E}=this.opts,b=y[E];return b&&(f=(0,PA.resolveUrl)(this.opts.uriResolver,f,b)),new ji({schema:y,schemaId:E,root:n,baseId:f})}return Nl.call(this,i,m)}}yA.resolveSchema=na;var qv=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function Nl(n,{baseId:e,schema:i,root:o}){var f;if(((f=n.fragment)===null||f===void 0?void 0:f[0])!=="/")return;for(let y of n.fragment.slice(1).split("/")){if(typeof i=="boolean")return;let E=i[(0,ch.unescapeFragment)(y)];if(E===void 0)return;i=E;let b=typeof i=="object"&&i[this.opts.schemaId];!qv.has(y)&&b&&(e=(0,PA.resolveUrl)(this.opts.uriResolver,e,b))}let h;if(typeof i!="boolean"&&i.$ref&&!(0,ch.schemaHasRulesButRef)(i,this.RULES)){let y=(0,PA.resolveUrl)(this.opts.uriResolver,e,i.$ref);h=na.call(this,o,y)}let{schemaId:m}=this.opts;if(h=h||new ji({schema:i,schemaId:m,root:o,baseId:e}),h.schema!==h.root.schema)return h}});var hh=ge((PS,Uv)=>{Uv.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 Ll=ge((kS,yh)=>{"use strict";var Gv=RegExp.prototype.test.bind(/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu),mh=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);function Ql(n){let e="",i=0,o=0;for(o=0;o<n.length;o++)if(i=n[o].charCodeAt(0),i!==48){if(!(i>=48&&i<=57||i>=65&&i<=70||i>=97&&i<=102))return"";e+=n[o];break}for(o+=1;o<n.length;o++){if(i=n[o].charCodeAt(0),!(i>=48&&i<=57||i>=65&&i<=70||i>=97&&i<=102))return"";e+=n[o]}return e}var Hv=RegExp.prototype.test.bind(/[^!"$&'()*+,\-.;=_`a-z{}~]/u);function ph(n){return n.length=0,!0}function Vv(n,e,i){if(n.length){let o=Ql(n);if(o!=="")e.push(o);else return i.error=!0,!1;n.length=0}return!0}function zv(n){let e=0,i={error:!1,address:"",zone:""},o=[],f=[],h=!1,m=!1,y=Vv;for(let E=0;E<n.length;E++){let b=n[E];if(!(b==="["||b==="]"))if(b===":"){if(h===!0&&(m=!0),!y(f,o,i))break;if(++e>7){i.error=!0;break}E>0&&n[E-1]===":"&&(h=!0),o.push(":");continue}else if(b==="%"){if(!y(f,o,i))break;y=ph}else{f.push(b);continue}}return f.length&&(y===ph?i.zone=f.join(""):m?o.push(f.join("")):o.push(Ql(f))),i.address=o.join(""),i}function gh(n){if(Jv(n,":")<2)return{host:n,isIPV6:!1};let e=zv(n);if(e.error)return{host:n,isIPV6:!1};{let i=e.address,o=e.address;return e.zone&&(i+="%"+e.zone,o+="%25"+e.zone),{host:i,isIPV6:!0,escapedHost:o}}}function Jv(n,e){let i=0;for(let o=0;o<n.length;o++)n[o]===e&&i++;return i}function Kv(n){let e=n,i=[],o=-1,f=0;for(;f=e.length;){if(f===1){if(e===".")break;if(e==="/"){i.push("/");break}else{i.push(e);break}}else if(f===2){if(e[0]==="."){if(e[1]===".")break;if(e[1]==="/"){e=e.slice(2);continue}}else if(e[0]==="/"&&(e[1]==="."||e[1]==="/")){i.push("/");break}}else if(f===3&&e==="/.."){i.length!==0&&i.pop(),i.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),i.length!==0&&i.pop();continue}}if((o=e.indexOf("/",1))===-1){i.push(e);break}else i.push(e.slice(0,o)),e=e.slice(o)}return i.join("")}function Wv(n,e){let i=e!==!0?escape:unescape;return n.scheme!==void 0&&(n.scheme=i(n.scheme)),n.userinfo!==void 0&&(n.userinfo=i(n.userinfo)),n.host!==void 0&&(n.host=i(n.host)),n.path!==void 0&&(n.path=i(n.path)),n.query!==void 0&&(n.query=i(n.query)),n.fragment!==void 0&&(n.fragment=i(n.fragment)),n}function Yv(n){let e=[];if(n.userinfo!==void 0&&(e.push(n.userinfo),e.push("@")),n.host!==void 0){let i=unescape(n.host);if(!mh(i)){let o=gh(i);o.isIPV6===!0?i=`[${o.escapedHost}]`:i=n.host}e.push(i)}return(typeof n.port=="number"||typeof n.port=="string")&&(e.push(":"),e.push(String(n.port))),e.length?e.join(""):void 0}yh.exports={nonSimpleDomain:Hv,recomposeAuthority:Yv,normalizeComponentEncoding:Wv,removeDotSegments:Kv,isIPv4:mh,isUUID:Gv,normalizeIPv6:gh,stringArrayToHexStripped:Ql}});var Eh=ge((CS,bh)=>{"use strict";var{isUUID:Xv}=Ll(),Zv=/([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu,eb=["http","https","ws","wss","urn","urn:uuid"];function tb(n){return eb.indexOf(n)!==-1}function ql(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 wh(n){return n.host||(n.error=n.error||"HTTP URIs must have a host."),n}function _h(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 Ab(n){return n.secure=ql(n),n.resourceName=(n.path||"/")+(n.query?"?"+n.query:""),n.path=void 0,n.query=void 0,n}function rb(n){if((n.port===(ql(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,i]=n.resourceName.split("?");n.path=e&&e!=="/"?e:void 0,n.query=i,n.resourceName=void 0}return n.fragment=void 0,n}function nb(n,e){if(!n.path)return n.error="URN can not be parsed",n;let i=n.path.match(Zv);if(i){let o=e.scheme||n.scheme||"urn";n.nid=i[1].toLowerCase(),n.nss=i[2];let f=`${o}:${e.nid||n.nid}`,h=Ul(f);n.path=void 0,h&&(n=h.parse(n,e))}else n.error=n.error||"URN can not be parsed.";return n}function ib(n,e){if(n.nid===void 0)throw new Error("URN without nid cannot be serialized");let i=e.scheme||n.scheme||"urn",o=n.nid.toLowerCase(),f=`${i}:${e.nid||o}`,h=Ul(f);h&&(n=h.serialize(n,e));let m=n,y=n.nss;return m.path=`${o||e.nid}:${y}`,e.skipEscape=!0,m}function sb(n,e){let i=n;return i.uuid=i.nss,i.nss=void 0,!e.tolerant&&(!i.uuid||!Xv(i.uuid))&&(i.error=i.error||"UUID is not valid."),i}function ob(n){let e=n;return e.nss=(n.uuid||"").toLowerCase(),e}var vh={scheme:"http",domainHost:!0,parse:wh,serialize:_h},ab={scheme:"https",domainHost:vh.domainHost,parse:wh,serialize:_h},ia={scheme:"ws",domainHost:!0,parse:Ab,serialize:rb},lb={scheme:"wss",domainHost:ia.domainHost,parse:ia.parse,serialize:ia.serialize},ub={scheme:"urn",parse:nb,serialize:ib,skipNormalize:!0},fb={scheme:"urn:uuid",parse:sb,serialize:ob,skipNormalize:!0},sa={http:vh,https:ab,ws:ia,wss:lb,urn:ub,"urn:uuid":fb};Object.setPrototypeOf(sa,null);function Ul(n){return n&&(sa[n]||sa[n.toLowerCase()])||void 0}bh.exports={wsIsSecure:ql,SCHEMES:sa,isValidSchemeName:tb,getSchemeHandler:Ul}});var kh=ge((SS,aa)=>{"use strict";var{normalizeIPv6:cb,removeDotSegments:Ls,recomposeAuthority:db,normalizeComponentEncoding:oa,isIPv4:hb,nonSimpleDomain:pb}=Ll(),{SCHEMES:mb,getSchemeHandler:$h}=Eh();function gb(n,e){return typeof n=="string"?n=JA(fr(n,e),e):typeof n=="object"&&(n=fr(JA(n,e),e)),n}function yb(n,e,i){let o=i?Object.assign({scheme:"null"},i):{scheme:"null"},f=Ph(fr(n,o),fr(e,o),o,!0);return o.skipEscape=!0,JA(f,o)}function Ph(n,e,i,o){let f={};return o||(n=fr(JA(n,i),i),e=fr(JA(e,i),i)),i=i||{},!i.tolerant&&e.scheme?(f.scheme=e.scheme,f.userinfo=e.userinfo,f.host=e.host,f.port=e.port,f.path=Ls(e.path||""),f.query=e.query):(e.userinfo!==void 0||e.host!==void 0||e.port!==void 0?(f.userinfo=e.userinfo,f.host=e.host,f.port=e.port,f.path=Ls(e.path||""),f.query=e.query):(e.path?(e.path[0]==="/"?f.path=Ls(e.path):((n.userinfo!==void 0||n.host!==void 0||n.port!==void 0)&&!n.path?f.path="/"+e.path:n.path?f.path=n.path.slice(0,n.path.lastIndexOf("/")+1)+e.path:f.path=e.path,f.path=Ls(f.path)),f.query=e.query):(f.path=n.path,e.query!==void 0?f.query=e.query:f.query=n.query),f.userinfo=n.userinfo,f.host=n.host,f.port=n.port),f.scheme=n.scheme),f.fragment=e.fragment,f}function wb(n,e,i){return typeof n=="string"?(n=unescape(n),n=JA(oa(fr(n,i),!0),{...i,skipEscape:!0})):typeof n=="object"&&(n=JA(oa(n,!0),{...i,skipEscape:!0})),typeof e=="string"?(e=unescape(e),e=JA(oa(fr(e,i),!0),{...i,skipEscape:!0})):typeof e=="object"&&(e=JA(oa(e,!0),{...i,skipEscape:!0})),n.toLowerCase()===e.toLowerCase()}function JA(n,e){let i={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:""},o=Object.assign({},e),f=[],h=$h(o.scheme||i.scheme);h&&h.serialize&&h.serialize(i,o),i.path!==void 0&&(o.skipEscape?i.path=unescape(i.path):(i.path=escape(i.path),i.scheme!==void 0&&(i.path=i.path.split("%3A").join(":")))),o.reference!=="suffix"&&i.scheme&&f.push(i.scheme,":");let m=db(i);if(m!==void 0&&(o.reference!=="suffix"&&f.push("//"),f.push(m),i.path&&i.path[0]!=="/"&&f.push("/")),i.path!==void 0){let y=i.path;!o.absolutePath&&(!h||!h.absolutePath)&&(y=Ls(y)),m===void 0&&y[0]==="/"&&y[1]==="/"&&(y="/%2F"+y.slice(2)),f.push(y)}return i.query!==void 0&&f.push("?",i.query),i.fragment!==void 0&&f.push("#",i.fragment),f.join("")}var _b=/^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u;function fr(n,e){let i=Object.assign({},e),o={scheme:void 0,userinfo:void 0,host:"",port:void 0,path:"",query:void 0,fragment:void 0},f=!1;i.reference==="suffix"&&(i.scheme?n=i.scheme+":"+n:n="//"+n);let h=n.match(_b);if(h){if(o.scheme=h[1],o.userinfo=h[3],o.host=h[4],o.port=parseInt(h[5],10),o.path=h[6]||"",o.query=h[7],o.fragment=h[8],isNaN(o.port)&&(o.port=h[5]),o.host)if(hb(o.host)===!1){let E=cb(o.host);o.host=E.host.toLowerCase(),f=E.isIPV6}else f=!0;o.scheme===void 0&&o.userinfo===void 0&&o.host===void 0&&o.port===void 0&&o.query===void 0&&!o.path?o.reference="same-document":o.scheme===void 0?o.reference="relative":o.fragment===void 0?o.reference="absolute":o.reference="uri",i.reference&&i.reference!=="suffix"&&i.reference!==o.reference&&(o.error=o.error||"URI is not a "+i.reference+" reference.");let m=$h(i.scheme||o.scheme);if(!i.unicodeSupport&&(!m||!m.unicodeSupport)&&o.host&&(i.domainHost||m&&m.domainHost)&&f===!1&&pb(o.host))try{o.host=URL.domainToASCII(o.host.toLowerCase())}catch(y){o.error=o.error||"Host's domain name can not be converted to ASCII: "+y}(!m||m&&!m.skipNormalize)&&(n.indexOf("%")!==-1&&(o.scheme!==void 0&&(o.scheme=unescape(o.scheme)),o.host!==void 0&&(o.host=unescape(o.host))),o.path&&(o.path=escape(unescape(o.path))),o.fragment&&(o.fragment=encodeURI(decodeURIComponent(o.fragment)))),m&&m.parse&&m.parse(o,i)}else o.error=o.error||"URI can not be parsed.";return o}var Gl={SCHEMES:mb,normalize:gb,resolve:yb,resolveComponent:Ph,equal:wb,serialize:JA,parse:fr};aa.exports=Gl;aa.exports.default=Gl;aa.exports.fastUri=Gl});var Sh=ge(Hl=>{"use strict";Object.defineProperty(Hl,"__esModule",{value:!0});var Ch=kh();Ch.code='require("ajv/dist/runtime/uri").default';Hl.default=Ch});var Mh=ge(jt=>{"use strict";Object.defineProperty(jt,"__esModule",{value:!0});jt.CodeGen=jt.Name=jt.nil=jt.stringify=jt.str=jt._=jt.KeywordCxt=void 0;var vb=Ns();Object.defineProperty(jt,"KeywordCxt",{enumerable:!0,get:function(){return vb.KeywordCxt}});var Ni=Ge();Object.defineProperty(jt,"_",{enumerable:!0,get:function(){return Ni._}});Object.defineProperty(jt,"str",{enumerable:!0,get:function(){return Ni.str}});Object.defineProperty(jt,"stringify",{enumerable:!0,get:function(){return Ni.stringify}});Object.defineProperty(jt,"nil",{enumerable:!0,get:function(){return Ni.nil}});Object.defineProperty(jt,"Name",{enumerable:!0,get:function(){return Ni.Name}});Object.defineProperty(jt,"CodeGen",{enumerable:!0,get:function(){return Ni.CodeGen}});var bb=ra(),Th=Fs(),Eb=_l(),qs=Qs(),$b=Ge(),Us=Bs(),la=Is(),zl=Xe(),xh=hh(),Pb=Sh(),Ih=(n,e)=>new RegExp(n,e);Ih.code="new RegExp";var kb=["removeAdditional","useDefaults","coerceTypes"],Cb=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),Sb={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."},xb={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},Dh=200;function Db(n){var e,i,o,f,h,m,y,E,b,_,v,P,S,R,$,B,T,I,q,U,V,z,re,L,J;let ue=n.strict,ae=(e=n.code)===null||e===void 0?void 0:e.optimize,O=ae===!0||ae===void 0?1:ae||0,M=(o=(i=n.code)===null||i===void 0?void 0:i.regExp)!==null&&o!==void 0?o:Ih,Q=(f=n.uriResolver)!==null&&f!==void 0?f:Pb.default;return{strictSchema:(m=(h=n.strictSchema)!==null&&h!==void 0?h:ue)!==null&&m!==void 0?m:!0,strictNumbers:(E=(y=n.strictNumbers)!==null&&y!==void 0?y:ue)!==null&&E!==void 0?E:!0,strictTypes:(_=(b=n.strictTypes)!==null&&b!==void 0?b:ue)!==null&&_!==void 0?_:"log",strictTuples:(P=(v=n.strictTuples)!==null&&v!==void 0?v:ue)!==null&&P!==void 0?P:"log",strictRequired:(R=(S=n.strictRequired)!==null&&S!==void 0?S:ue)!==null&&R!==void 0?R:!1,code:n.code?{...n.code,optimize:O,regExp:M}:{optimize:O,regExp:M},loopRequired:($=n.loopRequired)!==null&&$!==void 0?$:Dh,loopEnum:(B=n.loopEnum)!==null&&B!==void 0?B:Dh,meta:(T=n.meta)!==null&&T!==void 0?T:!0,messages:(I=n.messages)!==null&&I!==void 0?I:!0,inlineRefs:(q=n.inlineRefs)!==null&&q!==void 0?q:!0,schemaId:(U=n.schemaId)!==null&&U!==void 0?U:"$id",addUsedSchema:(V=n.addUsedSchema)!==null&&V!==void 0?V:!0,validateSchema:(z=n.validateSchema)!==null&&z!==void 0?z:!0,validateFormats:(re=n.validateFormats)!==null&&re!==void 0?re:!0,unicodeRegExp:(L=n.unicodeRegExp)!==null&&L!==void 0?L:!0,int32range:(J=n.int32range)!==null&&J!==void 0?J:!0,uriResolver:Q}}var Gs=class{constructor(e={}){this.schemas={},this.refs={},this.formats={},this._compilations=new Set,this._loading={},this._cache=new Map,e=this.opts={...e,...Db(e)};let{es5:i,lines:o}=this.opts.code;this.scope=new $b.ValueScope({scope:{},prefixes:Cb,es5:i,lines:o}),this.logger=Mb(e.logger);let f=e.validateFormats;e.validateFormats=!1,this.RULES=(0,Eb.getRules)(),Rh.call(this,Sb,e,"NOT SUPPORTED"),Rh.call(this,xb,e,"DEPRECATED","warn"),this._metaOpts=Ib.call(this),e.formats&&Ob.call(this),this._addVocabularies(),this._addDefaultMetaSchema(),e.keywords&&Tb.call(this,e.keywords),typeof e.meta=="object"&&this.addMetaSchema(e.meta),Rb.call(this),e.validateFormats=f}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){let{$data:e,meta:i,schemaId:o}=this.opts,f=xh;o==="id"&&(f={...xh},f.id=f.$id,delete f.$id),i&&e&&this.addMetaSchema(f,f[o],!1)}defaultMeta(){let{meta:e,schemaId:i}=this.opts;return this.opts.defaultMeta=typeof e=="object"?e[i]||e:void 0}validate(e,i){let o;if(typeof e=="string"){if(o=this.getSchema(e),!o)throw new Error(`no schema with key or ref "${e}"`)}else o=this.compile(e);let f=o(i);return"$async"in o||(this.errors=o.errors),f}compile(e,i){let o=this._addSchema(e,i);return o.validate||this._compileSchemaEnv(o)}compileAsync(e,i){if(typeof this.opts.loadSchema!="function")throw new Error("options.loadSchema should be a function");let{loadSchema:o}=this.opts;return f.call(this,e,i);async function f(_,v){await h.call(this,_.$schema);let P=this._addSchema(_,v);return P.validate||m.call(this,P)}async function h(_){_&&!this.getSchema(_)&&await f.call(this,{$ref:_},!0)}async function m(_){try{return this._compileSchemaEnv(_)}catch(v){if(!(v instanceof Th.default))throw v;return y.call(this,v),await E.call(this,v.missingSchema),m.call(this,_)}}function y({missingSchema:_,missingRef:v}){if(this.refs[_])throw new Error(`AnySchema ${_} is loaded but ${v} cannot be resolved`)}async function E(_){let v=await b.call(this,_);this.refs[_]||await h.call(this,v.$schema),this.refs[_]||this.addSchema(v,_,i)}async function b(_){let v=this._loading[_];if(v)return v;try{return await(this._loading[_]=o(_))}finally{delete this._loading[_]}}}addSchema(e,i,o,f=this.opts.validateSchema){if(Array.isArray(e)){for(let m of e)this.addSchema(m,void 0,o,f);return this}let h;if(typeof e=="object"){let{schemaId:m}=this.opts;if(h=e[m],h!==void 0&&typeof h!="string")throw new Error(`schema ${m} must be string`)}return i=(0,Us.normalizeId)(i||h),this._checkUnique(i),this.schemas[i]=this._addSchema(e,o,i,f,!0),this}addMetaSchema(e,i,o=this.opts.validateSchema){return this.addSchema(e,i,!0,o),this}validateSchema(e,i){if(typeof e=="boolean")return!0;let o;if(o=e.$schema,o!==void 0&&typeof o!="string")throw new Error("$schema must be a string");if(o=o||this.opts.defaultMeta||this.defaultMeta(),!o)return this.logger.warn("meta-schema not available"),this.errors=null,!0;let f=this.validate(o,e);if(!f&&i){let h="schema is invalid: "+this.errorsText();if(this.opts.validateSchema==="log")this.logger.error(h);else throw new Error(h)}return f}getSchema(e){let i;for(;typeof(i=Oh.call(this,e))=="string";)e=i;if(i===void 0){let{schemaId:o}=this.opts,f=new qs.SchemaEnv({schema:{},schemaId:o});if(i=qs.resolveSchema.call(this,f,e),!i)return;this.refs[e]=i}return i.validate||this._compileSchemaEnv(i)}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 i=Oh.call(this,e);return typeof i=="object"&&this._cache.delete(i.schema),delete this.schemas[e],delete this.refs[e],this}case"object":{let i=e;this._cache.delete(i);let o=e[this.opts.schemaId];return o&&(o=(0,Us.normalizeId)(o),delete this.schemas[o],delete this.refs[o]),this}default:throw new Error("ajv.removeSchema: invalid parameter")}}addVocabulary(e){for(let i of e)this.addKeyword(i);return this}addKeyword(e,i){let o;if(typeof e=="string")o=e,typeof i=="object"&&(this.logger.warn("these parameters are deprecated, see docs for addKeyword"),i.keyword=o);else if(typeof e=="object"&&i===void 0){if(i=e,o=i.keyword,Array.isArray(o)&&!o.length)throw new Error("addKeywords: keyword must be string or non-empty array")}else throw new Error("invalid addKeywords parameters");if(Nb.call(this,o,i),!i)return(0,zl.eachItem)(o,h=>Vl.call(this,h)),this;Qb.call(this,i);let f={...i,type:(0,la.getJSONTypes)(i.type),schemaType:(0,la.getJSONTypes)(i.schemaType)};return(0,zl.eachItem)(o,f.type.length===0?h=>Vl.call(this,h,f):h=>f.type.forEach(m=>Vl.call(this,h,f,m))),this}getKeyword(e){let i=this.RULES.all[e];return typeof i=="object"?i.definition:!!i}removeKeyword(e){let{RULES:i}=this;delete i.keywords[e],delete i.all[e];for(let o of i.rules){let f=o.rules.findIndex(h=>h.keyword===e);f>=0&&o.rules.splice(f,1)}return this}addFormat(e,i){return typeof i=="string"&&(i=new RegExp(i)),this.formats[e]=i,this}errorsText(e=this.errors,{separator:i=", ",dataVar:o="data"}={}){return!e||e.length===0?"No errors":e.map(f=>`${o}${f.instancePath} ${f.message}`).reduce((f,h)=>f+i+h)}$dataMetaSchema(e,i){let o=this.RULES.all;e=JSON.parse(JSON.stringify(e));for(let f of i){let h=f.split("/").slice(1),m=e;for(let y of h)m=m[y];for(let y in o){let E=o[y];if(typeof E!="object")continue;let{$data:b}=E.definition,_=m[y];b&&_&&(m[y]=Bh(_))}}return e}_removeAllSchemas(e,i){for(let o in e){let f=e[o];(!i||i.test(o))&&(typeof f=="string"?delete e[o]:f&&!f.meta&&(this._cache.delete(f.schema),delete e[o]))}}_addSchema(e,i,o,f=this.opts.validateSchema,h=this.opts.addUsedSchema){let m,{schemaId:y}=this.opts;if(typeof e=="object")m=e[y];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 E=this._cache.get(e);if(E!==void 0)return E;o=(0,Us.normalizeId)(m||o);let b=Us.getSchemaRefs.call(this,e,o);return E=new qs.SchemaEnv({schema:e,schemaId:y,meta:i,baseId:o,localRefs:b}),this._cache.set(E.schema,E),h&&!o.startsWith("#")&&(o&&this._checkUnique(o),this.refs[o]=E),f&&this.validateSchema(e,!0),E}_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):qs.compileSchema.call(this,e),!e.validate)throw new Error("ajv implementation error");return e.validate}_compileMetaSchema(e){let i=this.opts;this.opts=this._metaOpts;try{qs.compileSchema.call(this,e)}finally{this.opts=i}}};Gs.ValidationError=bb.default;Gs.MissingRefError=Th.default;jt.default=Gs;function Rh(n,e,i,o="error"){for(let f in n){let h=f;h in e&&this.logger[o](`${i}: option ${f}. ${n[h]}`)}}function Oh(n){return n=(0,Us.normalizeId)(n),this.schemas[n]||this.refs[n]}function Rb(){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 Ob(){for(let n in this.opts.formats){let e=this.opts.formats[n];e&&this.addFormat(n,e)}}function Tb(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 i=n[e];i.keyword||(i.keyword=e),this.addKeyword(i)}}function Ib(){let n={...this.opts};for(let e of kb)delete n[e];return n}var Bb={log(){},warn(){},error(){}};function Mb(n){if(n===!1)return Bb;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 jb=/^[a-z_$][a-z0-9_$:-]*$/i;function Nb(n,e){let{RULES:i}=this;if((0,zl.eachItem)(n,o=>{if(i.keywords[o])throw new Error(`Keyword ${o} is already defined`);if(!jb.test(o))throw new Error(`Keyword ${o} has invalid name`)}),!!e&&e.$data&&!("code"in e||"validate"in e))throw new Error('$data keyword must have "code" or "validate" function')}function Vl(n,e,i){var o;let f=e?.post;if(i&&f)throw new Error('keyword with "post" flag cannot have "type"');let{RULES:h}=this,m=f?h.post:h.rules.find(({type:E})=>E===i);if(m||(m={type:i,rules:[]},h.rules.push(m)),h.keywords[n]=!0,!e)return;let y={keyword:n,definition:{...e,type:(0,la.getJSONTypes)(e.type),schemaType:(0,la.getJSONTypes)(e.schemaType)}};e.before?Fb.call(this,m,y,e.before):m.rules.push(y),h.all[n]=y,(o=e.implements)===null||o===void 0||o.forEach(E=>this.addKeyword(E))}function Fb(n,e,i){let o=n.rules.findIndex(f=>f.keyword===i);o>=0?n.rules.splice(o,0,e):(n.rules.push(e),this.logger.warn(`rule ${i} is not defined`))}function Qb(n){let{metaSchema:e}=n;e!==void 0&&(n.$data&&this.opts.$data&&(e=Bh(e)),n.validateSchema=this.compile(e,!0))}var Lb={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function Bh(n){return{anyOf:[n,Lb]}}});var jh=ge(Jl=>{"use strict";Object.defineProperty(Jl,"__esModule",{value:!0});var qb={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};Jl.default=qb});var ca=ge(On=>{"use strict";Object.defineProperty(On,"__esModule",{value:!0});On.callRef=On.getValidate=void 0;var Ub=Fs(),Nh=gA(),rA=Ge(),Fi=mA(),Fh=Qs(),ua=Xe(),Gb={keyword:"$ref",schemaType:"string",code(n){let{gen:e,schema:i,it:o}=n,{baseId:f,schemaEnv:h,validateName:m,opts:y,self:E}=o,{root:b}=h;if((i==="#"||i==="#/")&&f===b.baseId)return v();let _=Fh.resolveRef.call(E,b,f,i);if(_===void 0)throw new Ub.default(o.opts.uriResolver,f,i);if(_ instanceof Fh.SchemaEnv)return P(_);return S(_);function v(){if(h===b)return fa(n,m,h,h.$async);let R=e.scopeValue("root",{ref:b});return fa(n,(0,rA._)`${R}.validate`,b,b.$async)}function P(R){let $=Qh(n,R);fa(n,$,R,R.$async)}function S(R){let $=e.scopeValue("schema",y.code.source===!0?{ref:R,code:(0,rA.stringify)(R)}:{ref:R}),B=e.name("valid"),T=n.subschema({schema:R,dataTypes:[],schemaPath:rA.nil,topSchemaRef:$,errSchemaPath:i},B);n.mergeEvaluated(T),n.ok(B)}}};function Qh(n,e){let{gen:i}=n;return e.validate?i.scopeValue("validate",{ref:e.validate}):(0,rA._)`${i.scopeValue("wrapper",{ref:e})}.validate`}On.getValidate=Qh;function fa(n,e,i,o){let{gen:f,it:h}=n,{allErrors:m,schemaEnv:y,opts:E}=h,b=E.passContext?Fi.default.this:rA.nil;o?_():v();function _(){if(!y.$async)throw new Error("async schema referenced by sync schema");let R=f.let("valid");f.try(()=>{f.code((0,rA._)`await ${(0,Nh.callValidateCode)(n,e,b)}`),S(e),m||f.assign(R,!0)},$=>{f.if((0,rA._)`!(${$} instanceof ${h.ValidationError})`,()=>f.throw($)),P($),m||f.assign(R,!1)}),n.ok(R)}function v(){n.result((0,Nh.callValidateCode)(n,e,b),()=>S(e),()=>P(e))}function P(R){let $=(0,rA._)`${R}.errors`;f.assign(Fi.default.vErrors,(0,rA._)`${Fi.default.vErrors} === null ? ${$} : ${Fi.default.vErrors}.concat(${$})`),f.assign(Fi.default.errors,(0,rA._)`${Fi.default.vErrors}.length`)}function S(R){var $;if(!h.opts.unevaluated)return;let B=($=i?.validate)===null||$===void 0?void 0:$.evaluated;if(h.props!==!0)if(B&&!B.dynamicProps)B.props!==void 0&&(h.props=ua.mergeEvaluated.props(f,B.props,h.props));else{let T=f.var("props",(0,rA._)`${R}.evaluated.props`);h.props=ua.mergeEvaluated.props(f,T,h.props,rA.Name)}if(h.items!==!0)if(B&&!B.dynamicItems)B.items!==void 0&&(h.items=ua.mergeEvaluated.items(f,B.items,h.items));else{let T=f.var("items",(0,rA._)`${R}.evaluated.items`);h.items=ua.mergeEvaluated.items(f,T,h.items,rA.Name)}}}On.callRef=fa;On.default=Gb});var Lh=ge(Kl=>{"use strict";Object.defineProperty(Kl,"__esModule",{value:!0});var Hb=jh(),Vb=ca(),zb=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",Hb.default,Vb.default];Kl.default=zb});var qh=ge(Wl=>{"use strict";Object.defineProperty(Wl,"__esModule",{value:!0});var da=Ge(),Gr=da.operators,ha={maximum:{okStr:"<=",ok:Gr.LTE,fail:Gr.GT},minimum:{okStr:">=",ok:Gr.GTE,fail:Gr.LT},exclusiveMaximum:{okStr:"<",ok:Gr.LT,fail:Gr.GTE},exclusiveMinimum:{okStr:">",ok:Gr.GT,fail:Gr.LTE}},Jb={message:({keyword:n,schemaCode:e})=>(0,da.str)`must be ${ha[n].okStr} ${e}`,params:({keyword:n,schemaCode:e})=>(0,da._)`{comparison: ${ha[n].okStr}, limit: ${e}}`},Kb={keyword:Object.keys(ha),type:"number",schemaType:"number",$data:!0,error:Jb,code(n){let{keyword:e,data:i,schemaCode:o}=n;n.fail$data((0,da._)`${i} ${ha[e].fail} ${o} || isNaN(${i})`)}};Wl.default=Kb});var Uh=ge(Yl=>{"use strict";Object.defineProperty(Yl,"__esModule",{value:!0});var Hs=Ge(),Wb={message:({schemaCode:n})=>(0,Hs.str)`must be multiple of ${n}`,params:({schemaCode:n})=>(0,Hs._)`{multipleOf: ${n}}`},Yb={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:Wb,code(n){let{gen:e,data:i,schemaCode:o,it:f}=n,h=f.opts.multipleOfPrecision,m=e.let("res"),y=h?(0,Hs._)`Math.abs(Math.round(${m}) - ${m}) > 1e-${h}`:(0,Hs._)`${m} !== parseInt(${m})`;n.fail$data((0,Hs._)`(${o} === 0 || (${m} = ${i}/${o}, ${y}))`)}};Yl.default=Yb});var Hh=ge(Xl=>{"use strict";Object.defineProperty(Xl,"__esModule",{value:!0});function Gh(n){let e=n.length,i=0,o=0,f;for(;o<e;)i++,f=n.charCodeAt(o++),f>=55296&&f<=56319&&o<e&&(f=n.charCodeAt(o),(f&64512)===56320&&o++);return i}Xl.default=Gh;Gh.code='require("ajv/dist/runtime/ucs2length").default'});var Vh=ge(Zl=>{"use strict";Object.defineProperty(Zl,"__esModule",{value:!0});var Tn=Ge(),Xb=Xe(),Zb=Hh(),e4={message({keyword:n,schemaCode:e}){let i=n==="maxLength"?"more":"fewer";return(0,Tn.str)`must NOT have ${i} than ${e} characters`},params:({schemaCode:n})=>(0,Tn._)`{limit: ${n}}`},t4={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:e4,code(n){let{keyword:e,data:i,schemaCode:o,it:f}=n,h=e==="maxLength"?Tn.operators.GT:Tn.operators.LT,m=f.opts.unicode===!1?(0,Tn._)`${i}.length`:(0,Tn._)`${(0,Xb.useFunc)(n.gen,Zb.default)}(${i})`;n.fail$data((0,Tn._)`${m} ${h} ${o}`)}};Zl.default=t4});var zh=ge(eu=>{"use strict";Object.defineProperty(eu,"__esModule",{value:!0});var A4=gA(),pa=Ge(),r4={message:({schemaCode:n})=>(0,pa.str)`must match pattern "${n}"`,params:({schemaCode:n})=>(0,pa._)`{pattern: ${n}}`},n4={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:r4,code(n){let{data:e,$data:i,schema:o,schemaCode:f,it:h}=n,m=h.opts.unicodeRegExp?"u":"",y=i?(0,pa._)`(new RegExp(${f}, ${m}))`:(0,A4.usePattern)(n,o);n.fail$data((0,pa._)`!${y}.test(${e})`)}};eu.default=n4});var Jh=ge(tu=>{"use strict";Object.defineProperty(tu,"__esModule",{value:!0});var Vs=Ge(),i4={message({keyword:n,schemaCode:e}){let i=n==="maxProperties"?"more":"fewer";return(0,Vs.str)`must NOT have ${i} than ${e} properties`},params:({schemaCode:n})=>(0,Vs._)`{limit: ${n}}`},s4={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:i4,code(n){let{keyword:e,data:i,schemaCode:o}=n,f=e==="maxProperties"?Vs.operators.GT:Vs.operators.LT;n.fail$data((0,Vs._)`Object.keys(${i}).length ${f} ${o}`)}};tu.default=s4});var Kh=ge(Au=>{"use strict";Object.defineProperty(Au,"__esModule",{value:!0});var zs=gA(),Js=Ge(),o4=Xe(),a4={message:({params:{missingProperty:n}})=>(0,Js.str)`must have required property '${n}'`,params:({params:{missingProperty:n}})=>(0,Js._)`{missingProperty: ${n}}`},l4={keyword:"required",type:"object",schemaType:"array",$data:!0,error:a4,code(n){let{gen:e,schema:i,schemaCode:o,data:f,$data:h,it:m}=n,{opts:y}=m;if(!h&&i.length===0)return;let E=i.length>=y.loopRequired;if(m.allErrors?b():_(),y.strictRequired){let S=n.parentSchema.properties,{definedProperties:R}=n.it;for(let $ of i)if(S?.[$]===void 0&&!R.has($)){let B=m.schemaEnv.baseId+m.errSchemaPath,T=`required property "${$}" is not defined at "${B}" (strictRequired)`;(0,o4.checkStrictMode)(m,T,m.opts.strictRequired)}}function b(){if(E||h)n.block$data(Js.nil,v);else for(let S of i)(0,zs.checkReportMissingProp)(n,S)}function _(){let S=e.let("missing");if(E||h){let R=e.let("valid",!0);n.block$data(R,()=>P(S,R)),n.ok(R)}else e.if((0,zs.checkMissingProp)(n,i,S)),(0,zs.reportMissingProp)(n,S),e.else()}function v(){e.forOf("prop",o,S=>{n.setParams({missingProperty:S}),e.if((0,zs.noPropertyInData)(e,f,S,y.ownProperties),()=>n.error())})}function P(S,R){n.setParams({missingProperty:S}),e.forOf(S,o,()=>{e.assign(R,(0,zs.propertyInData)(e,f,S,y.ownProperties)),e.if((0,Js.not)(R),()=>{n.error(),e.break()})},Js.nil)}}};Au.default=l4});var Wh=ge(ru=>{"use strict";Object.defineProperty(ru,"__esModule",{value:!0});var Ks=Ge(),u4={message({keyword:n,schemaCode:e}){let i=n==="maxItems"?"more":"fewer";return(0,Ks.str)`must NOT have ${i} than ${e} items`},params:({schemaCode:n})=>(0,Ks._)`{limit: ${n}}`},f4={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:u4,code(n){let{keyword:e,data:i,schemaCode:o}=n,f=e==="maxItems"?Ks.operators.GT:Ks.operators.LT;n.fail$data((0,Ks._)`${i}.length ${f} ${o}`)}};ru.default=f4});var ma=ge(nu=>{"use strict";Object.defineProperty(nu,"__esModule",{value:!0});var Yh=Sl();Yh.code='require("ajv/dist/runtime/equal").default';nu.default=Yh});var Xh=ge(su=>{"use strict";Object.defineProperty(su,"__esModule",{value:!0});var iu=Is(),Nt=Ge(),c4=Xe(),d4=ma(),h4={message:({params:{i:n,j:e}})=>(0,Nt.str)`must NOT have duplicate items (items ## ${e} and ${n} are identical)`,params:({params:{i:n,j:e}})=>(0,Nt._)`{i: ${n}, j: ${e}}`},p4={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:h4,code(n){let{gen:e,data:i,$data:o,schema:f,parentSchema:h,schemaCode:m,it:y}=n;if(!o&&!f)return;let E=e.let("valid"),b=h.items?(0,iu.getSchemaTypes)(h.items):[];n.block$data(E,_,(0,Nt._)`${m} === false`),n.ok(E);function _(){let R=e.let("i",(0,Nt._)`${i}.length`),$=e.let("j");n.setParams({i:R,j:$}),e.assign(E,!0),e.if((0,Nt._)`${R} > 1`,()=>(v()?P:S)(R,$))}function v(){return b.length>0&&!b.some(R=>R==="object"||R==="array")}function P(R,$){let B=e.name("item"),T=(0,iu.checkDataTypes)(b,B,y.opts.strictNumbers,iu.DataType.Wrong),I=e.const("indices",(0,Nt._)`{}`);e.for((0,Nt._)`;${R}--;`,()=>{e.let(B,(0,Nt._)`${i}[${R}]`),e.if(T,(0,Nt._)`continue`),b.length>1&&e.if((0,Nt._)`typeof ${B} == "string"`,(0,Nt._)`${B} += "_"`),e.if((0,Nt._)`typeof ${I}[${B}] == "number"`,()=>{e.assign($,(0,Nt._)`${I}[${B}]`),n.error(),e.assign(E,!1).break()}).code((0,Nt._)`${I}[${B}] = ${R}`)})}function S(R,$){let B=(0,c4.useFunc)(e,d4.default),T=e.name("outer");e.label(T).for((0,Nt._)`;${R}--;`,()=>e.for((0,Nt._)`${$} = ${R}; ${$}--;`,()=>e.if((0,Nt._)`${B}(${i}[${R}], ${i}[${$}])`,()=>{n.error(),e.assign(E,!1).break(T)})))}}};su.default=p4});var Zh=ge(au=>{"use strict";Object.defineProperty(au,"__esModule",{value:!0});var ou=Ge(),m4=Xe(),g4=ma(),y4={message:"must be equal to constant",params:({schemaCode:n})=>(0,ou._)`{allowedValue: ${n}}`},w4={keyword:"const",$data:!0,error:y4,code(n){let{gen:e,data:i,$data:o,schemaCode:f,schema:h}=n;o||h&&typeof h=="object"?n.fail$data((0,ou._)`!${(0,m4.useFunc)(e,g4.default)}(${i}, ${f})`):n.fail((0,ou._)`${h} !== ${i}`)}};au.default=w4});var ep=ge(lu=>{"use strict";Object.defineProperty(lu,"__esModule",{value:!0});var Ws=Ge(),_4=Xe(),v4=ma(),b4={message:"must be equal to one of the allowed values",params:({schemaCode:n})=>(0,Ws._)`{allowedValues: ${n}}`},E4={keyword:"enum",schemaType:"array",$data:!0,error:b4,code(n){let{gen:e,data:i,$data:o,schema:f,schemaCode:h,it:m}=n;if(!o&&f.length===0)throw new Error("enum must have non-empty array");let y=f.length>=m.opts.loopEnum,E,b=()=>E??(E=(0,_4.useFunc)(e,v4.default)),_;if(y||o)_=e.let("valid"),n.block$data(_,v);else{if(!Array.isArray(f))throw new Error("ajv implementation error");let S=e.const("vSchema",h);_=(0,Ws.or)(...f.map((R,$)=>P(S,$)))}n.pass(_);function v(){e.assign(_,!1),e.forOf("v",h,S=>e.if((0,Ws._)`${b()}(${i}, ${S})`,()=>e.assign(_,!0).break()))}function P(S,R){let $=f[R];return typeof $=="object"&&$!==null?(0,Ws._)`${b()}(${i}, ${S}[${R}])`:(0,Ws._)`${i} === ${$}`}}};lu.default=E4});var tp=ge(uu=>{"use strict";Object.defineProperty(uu,"__esModule",{value:!0});var $4=qh(),P4=Uh(),k4=Vh(),C4=zh(),S4=Jh(),x4=Kh(),D4=Wh(),R4=Xh(),O4=Zh(),T4=ep(),I4=[$4.default,P4.default,k4.default,C4.default,S4.default,x4.default,D4.default,R4.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},O4.default,T4.default];uu.default=I4});var cu=ge(Ys=>{"use strict";Object.defineProperty(Ys,"__esModule",{value:!0});Ys.validateAdditionalItems=void 0;var In=Ge(),fu=Xe(),B4={message:({params:{len:n}})=>(0,In.str)`must NOT have more than ${n} items`,params:({params:{len:n}})=>(0,In._)`{limit: ${n}}`},M4={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:B4,code(n){let{parentSchema:e,it:i}=n,{items:o}=e;if(!Array.isArray(o)){(0,fu.checkStrictMode)(i,'"additionalItems" is ignored when "items" is not an array of schemas');return}Ap(n,o)}};function Ap(n,e){let{gen:i,schema:o,data:f,keyword:h,it:m}=n;m.items=!0;let y=i.const("len",(0,In._)`${f}.length`);if(o===!1)n.setParams({len:e.length}),n.pass((0,In._)`${y} <= ${e.length}`);else if(typeof o=="object"&&!(0,fu.alwaysValidSchema)(m,o)){let b=i.var("valid",(0,In._)`${y} <= ${e.length}`);i.if((0,In.not)(b),()=>E(b)),n.ok(b)}function E(b){i.forRange("i",e.length,y,_=>{n.subschema({keyword:h,dataProp:_,dataPropType:fu.Type.Num},b),m.allErrors||i.if((0,In.not)(b),()=>i.break())})}}Ys.validateAdditionalItems=Ap;Ys.default=M4});var du=ge(Xs=>{"use strict";Object.defineProperty(Xs,"__esModule",{value:!0});Xs.validateTuple=void 0;var rp=Ge(),ga=Xe(),j4=gA(),N4={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(n){let{schema:e,it:i}=n;if(Array.isArray(e))return np(n,"additionalItems",e);i.items=!0,!(0,ga.alwaysValidSchema)(i,e)&&n.ok((0,j4.validateArray)(n))}};function np(n,e,i=n.schema){let{gen:o,parentSchema:f,data:h,keyword:m,it:y}=n;_(f),y.opts.unevaluated&&i.length&&y.items!==!0&&(y.items=ga.mergeEvaluated.items(o,i.length,y.items));let E=o.name("valid"),b=o.const("len",(0,rp._)`${h}.length`);i.forEach((v,P)=>{(0,ga.alwaysValidSchema)(y,v)||(o.if((0,rp._)`${b} > ${P}`,()=>n.subschema({keyword:m,schemaProp:P,dataProp:P},E)),n.ok(E))});function _(v){let{opts:P,errSchemaPath:S}=y,R=i.length,$=R===v.minItems&&(R===v.maxItems||v[e]===!1);if(P.strictTuples&&!$){let B=`"${m}" is ${R}-tuple, but minItems or maxItems/${e} are not specified or different at path "${S}"`;(0,ga.checkStrictMode)(y,B,P.strictTuples)}}}Xs.validateTuple=np;Xs.default=N4});var ip=ge(hu=>{"use strict";Object.defineProperty(hu,"__esModule",{value:!0});var F4=du(),Q4={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:n=>(0,F4.validateTuple)(n,"items")};hu.default=Q4});var op=ge(pu=>{"use strict";Object.defineProperty(pu,"__esModule",{value:!0});var sp=Ge(),L4=Xe(),q4=gA(),U4=cu(),G4={message:({params:{len:n}})=>(0,sp.str)`must NOT have more than ${n} items`,params:({params:{len:n}})=>(0,sp._)`{limit: ${n}}`},H4={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:G4,code(n){let{schema:e,parentSchema:i,it:o}=n,{prefixItems:f}=i;o.items=!0,!(0,L4.alwaysValidSchema)(o,e)&&(f?(0,U4.validateAdditionalItems)(n,f):n.ok((0,q4.validateArray)(n)))}};pu.default=H4});var ap=ge(mu=>{"use strict";Object.defineProperty(mu,"__esModule",{value:!0});var wA=Ge(),ya=Xe(),V4={message:({params:{min:n,max:e}})=>e===void 0?(0,wA.str)`must contain at least ${n} valid item(s)`:(0,wA.str)`must contain at least ${n} and no more than ${e} valid item(s)`,params:({params:{min:n,max:e}})=>e===void 0?(0,wA._)`{minContains: ${n}}`:(0,wA._)`{minContains: ${n}, maxContains: ${e}}`},z4={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:V4,code(n){let{gen:e,schema:i,parentSchema:o,data:f,it:h}=n,m,y,{minContains:E,maxContains:b}=o;h.opts.next?(m=E===void 0?1:E,y=b):m=1;let _=e.const("len",(0,wA._)`${f}.length`);if(n.setParams({min:m,max:y}),y===void 0&&m===0){(0,ya.checkStrictMode)(h,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(y!==void 0&&m>y){(0,ya.checkStrictMode)(h,'"minContains" > "maxContains" is always invalid'),n.fail();return}if((0,ya.alwaysValidSchema)(h,i)){let $=(0,wA._)`${_} >= ${m}`;y!==void 0&&($=(0,wA._)`${$} && ${_} <= ${y}`),n.pass($);return}h.items=!0;let v=e.name("valid");y===void 0&&m===1?S(v,()=>e.if(v,()=>e.break())):m===0?(e.let(v,!0),y!==void 0&&e.if((0,wA._)`${f}.length > 0`,P)):(e.let(v,!1),P()),n.result(v,()=>n.reset());function P(){let $=e.name("_valid"),B=e.let("count",0);S($,()=>e.if($,()=>R(B)))}function S($,B){e.forRange("i",0,_,T=>{n.subschema({keyword:"contains",dataProp:T,dataPropType:ya.Type.Num,compositeRule:!0},$),B()})}function R($){e.code((0,wA._)`${$}++`),y===void 0?e.if((0,wA._)`${$} >= ${m}`,()=>e.assign(v,!0).break()):(e.if((0,wA._)`${$} > ${y}`,()=>e.assign(v,!1).break()),m===1?e.assign(v,!0):e.if((0,wA._)`${$} >= ${m}`,()=>e.assign(v,!0)))}}};mu.default=z4});var wa=ge(KA=>{"use strict";Object.defineProperty(KA,"__esModule",{value:!0});KA.validateSchemaDeps=KA.validatePropertyDeps=KA.error=void 0;var gu=Ge(),J4=Xe(),Zs=gA();KA.error={message:({params:{property:n,depsCount:e,deps:i}})=>{let o=e===1?"property":"properties";return(0,gu.str)`must have ${o} ${i} when property ${n} is present`},params:({params:{property:n,depsCount:e,deps:i,missingProperty:o}})=>(0,gu._)`{property: ${n},
|
|
7
|
-
missingProperty: ${
|
|
1
|
+
/* HoloSphere Bundle v1.3.0-alpha3 - Holonic Geospatial Communication Infrastructure */
|
|
2
|
+
var HoloSphere=(()=>{var Xp=Object.create;var hi=Object.defineProperty;var e1=Object.getOwnPropertyDescriptor;var A1=Object.getOwnPropertyNames;var t1=Object.getPrototypeOf,r1=Object.prototype.hasOwnProperty;var ju=(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),Mu=(n,e)=>{for(var s in e)hi(n,s,{get:e[s],enumerable:!0})},Nu=(n,e,s,a)=>{if(e&&typeof e=="object"||typeof e=="function")for(let c of A1(e))!r1.call(n,c)&&c!==s&&hi(n,c,{get:()=>e[c],enumerable:!(a=e1(e,c))||a.enumerable});return n};var Ru=(n,e,s)=>(s=n!=null?Xp(t1(n)):{},Nu(e||!n||!n.__esModule?hi(s,"default",{value:n,enumerable:!0}):s,n)),n1=n=>Nu(hi({},"__esModule",{value:!0}),n);var Yu=me((u_,Xo)=>{(function(){function n(s,a){return a?ju(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(k){k.data==""&&E()},function(k){E=k,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,$,D){if($=(k=(m||[]).splice(0,w)).length){for(var x=0;x<$&&c===(D=v(k[x]));x++);if(c===D){g(E);return}}b&&b(D)})()})()})()})(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 k;(k=this.to)&&k.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 k=w&&b&&b._&&b._[">"]||E;if(k)return typeof(k=k[w])=="number"?k:c},a.ify=function(b,w,E,k,$){(b=b||{})._=b._||{},$&&(b._["#"]=$);var D=b._[">"]||(b._[">"]={});return v!==w&&w!=="_"&&(typeof E=="number"&&(D[w]=E),v!==k&&(b[w]=k)),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($){return $ instanceof a?(this._={$:this}).$:this instanceof a?a.create(this._={$:this,opt:$}):new a($)}a.is=function($){return $ instanceof a||$&&$._&&$===$._.$||!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(C){C.root=C.root||C,C.graph=C.graph||{},C.on=C.on||a.on,C.ask=C.ask||a.ask,C.dup=C.dup||a.dup();var P=C.$.opt(C.opt);return C.once||(C.on("in",$,C),C.on("out",$,C),C.on("put",N,C),a.on("create",C),C.on("create",C)),C.once=1,P};function $(C){if(C){if(C.out===$){this.to.next(C);return}var P=this,T=P.as,H=T.at||T,X=H.$,Z=H.dup,Y,ne=C.DBG;if((Y=C["#"])||(Y=C["#"]=h(9)),!Z.check(Y)){if(Z.track(Y),Y=C._,C._=typeof Y=="function"?Y:function(){},C.$&&C.$===(C.$._||"").$||(C.$=X),C["@"]&&!C.put&&Q(C),!H.ask(C["@"],C))if(ne&&(ne.u=+new Date),C.put){D(C);return}else C.get&&a.on.get(C,X);ne&&(ne.uc=+new Date),P.to.next(C),ne&&(ne.ua=+new Date),!(C.nts||C.NTS)&&(C.out=$,H.on("out",C),ne&&(ne.ue=+new Date))}}}function D(C){if(C){var P=C._||"",T=P.root=((P.$=C.$||"")._||"").root;if(C["@"]&&P.faith&&!P.miss){C.out=$,T.on("out",C);return}P.latch=T.hatch,P.match=T.hatch=[];var H=C.put,X=P.DBG=C.DBG,Z=+new Date;if(we=we||Z,!(H["#"]&&H["."])){X&&(X.p=Z),P["#"]=C["#"],P.msg=C,P.all=0,P.stun=1;var Y=Object.keys(H);console.STAT&&console.STAT(Z,((X||P).pk=+new Date)-Z,"put sort");var ne=0,ie,le,ge,Pe,Ee,ve,Ne;(function rA(fA){if(ie!=ne){if(ie=ne,!(ge=Y[ne])){console.STAT&&console.STAT(Z,((X||P).pd=+new Date)-Z,"put"),M(P);return}(Pe=H[ge])?(Ne=Pe._)?ge!==Ne["#"]?ve=V+K(ge)+"soul not same.":(Ee=Ne[">"])||(ve=V+K(ge)+"no state."):ve=V+K(ge)+"no meta.":ve=V+K(ge)+"no node.",le=Object.keys(Pe||{})}if(ve){C.err=P.err=ve,M(P);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=V+K(nA)+"on"+K(ge)+"no state.";break}if(!m(RA)){ve=V+K(nA)+"on"+K(ge)+"bad "+typeof RA+K(RA);break}x(RA,nA,ge,WA,C),++z}if((le=le.slice(Ye)).length){g(rA);return}++ne,le=null,rA(fA)})()}}}a.on.put=D;function x(C,P,T,H,X){var Z=X._||"",Y=Z.root,ne=Y.graph,ie,le,ge=ne[T]||E,Pe=v(ge,P,1),Ee=ge[P],ve=Z.DBG;(le=console.STAT)&&(!ne[T]||!Ee)&&(le.has=(le.has||0)+1);var Ne=U(),rA;if(H>Ne){setTimeout(function(){x(C,P,T,H,X)},(le=H-Ne)>se?se:le),console.STAT&&console.STAT((ve||Z).Hf=+new Date,le,"future");return}if(!(H<Pe)&&!(!Z.faith&&H===Pe&&(C===Ee||W(C)<=W(Ee))&&!Z.miss)){Z.stun++;var fA=X["#"]+Z.all++,Ye={toString:function(){return fA},_:Z};Ye.toJSON=Ye.toString,Y.dup.track(Ye)["#"]=X["#"],ve&&(ve.ph=ve.ph||+new Date),Y.on("put",{"#":Ye,"@":X["@"],put:{"#":T,".":P,":":C,">":H},ok:X.ok,_:Z})}}function N(C){var P;(P=(C._||"").DBG)&&(P.pa=+new Date,P.pm=P.pm||+new Date);var T=this,H=T.as,X=H.graph,Z=C._,Y=C.put,ne=Y["#"],ie=Y["."],le=Y[":"],ge=Y[">"],Pe=C["#"],Ee;(Ee=Z.msg)&&(Ee=Ee.put)&&(Ee=Ee[ne])&&b(Ee,ie,ge,le,ne),X[ne]=b(X[ne],ie,ge,le,ne),(Ee=(H.next||"")[ne])&&Ee.on("in",C),M(Z),T.to.next(C)}function M(C,P){var T;if(!C.stop&&!(!C.err&&0<--C.stun)&&(C.stop=1,!!(T=C.root))){var H=C.match;H.end=1,H===T.hatch&&(!(H=C.latch)||H.end?delete T.hatch:T.hatch=H),C.hatch&&C.hatch(),setTimeout.each(C.match,function(X){X&&X()}),!(!(P=C.msg)||C.err||P.err)&&(P.out=$,C.root.on("out",P),pe())}}function Q(C){var P=C["@"]||"",T,H,X;if(!(T=P._)){var Z=(Z=C.$)&&(Z=Z._)&&(Z=Z.root)&&(Z=Z.dup);if(!(Z=Z.check(P)))return;C["@"]=Z["#"]||C["@"];return}T.acks=(T.acks||0)+1,(T.err=C.err)&&(C["@"]=T["#"],M(T)),T.ok=C.ok||T.ok,!T.stop&&!T.crack&&(T.crack=T.match&&T.match.push(function(){L(T)})),L(T)}function L(C){!C||!C.root||C.stun||C.acks!==C.all||C.root.on("in",{"@":C["#"],err:C.err,ok:C.err?w:C.ok||{"":1}})}var V="Error: Invalid graph!",K=function(C){return" '"+(""+C).slice(0,9)+"...' "},W=JSON.stringify,se=2147483647,U=a.state,z=0,we,pe=function(){z>999&&z/-(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."),pe=function(){z=0})}})(),(function(){a.on.get=function(D,x){var N=x._,M=D.get,Q=M["#"],L=N.graph[Q],V=M["."],K=N.next||(N.next={}),W=K[Q],se=D._||{},U=se.DBG=D.DBG;if(U&&(U.g=+new Date),!L)return N.on("get",D);if(V){if((typeof V!="string"||w===L[V])&&!((W||"").next||"")[V]){N.on("get",D);return}L=b({},V,v(L,V),L[V],Q)}L&&$(D,L),N.on("get",D)};function $(D,x){var N=+new Date,M=D._||{},Q=M.DBG=D.DBG,L=D["#"],V=h(9),K=Object.keys(x||"").sort(),W=((x||"")._||"")["#"],se=K.length,U=0,z=D.$._.root,we=x===z.graph[W];console.STAT&&console.STAT(N,((Q||M).gk=+new Date)-N,"got keys"),x&&(function pe(){N=+new Date;for(var C=0,P,T={},H;C<9&&(P=K[C++]);)b(T,P,v(x,P),x[P],W);K=K.slice(C),(H={})[W]=T,T=H;var X;we&&(X=function(){},X.ram=X.faith=!0),H=K.length,console.STAT&&console.STAT(N,-(N-(N=+new Date)),"got copied some"),Q&&(Q.ga=+new Date),z.on("in",{"@":L,"#":V,put:T,"%":H?V=h(9):w,$:z.$,_:X,DBG:Q,FOO:1}),console.STAT&&console.STAT(N,+new Date-N,"got in"),H&&setTimeout.turn(pe)})(),x||z.on("in",{"@":D["#"]})}a.on.get.ack=$})(),(function(){a.chain.opt=function($){$=$||{};var D=this,x=D._,N=$.peers||$;return Object.plain($)||($={}),Object.plain(x.opt)||(x.opt=$),typeof N=="string"&&(N=[N]),Object.plain(x.opt.peers)||(x.opt.peers={}),N instanceof Array&&($.peers={},N.forEach(function(M){var Q={};Q.id=Q.url=M,$.peers[M]=x.opt.peers[M]=x.opt.peers[M]||Q})),c($,function M(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,M)}),x.opt.from=$,a.on("opt",x),x.opt.uuid=x.opt.uuid||function(Q){return a.state().toString(36).replace(".","")+String.random(Q||12)},D}})();var c=function($,D){Object.keys($).forEach(D,$)},h=String.random,g=setTimeout.turn,m=a.valid,v=a.state.is,b=a.state.ify,w,E={},k;a.log=function(){return!a.log.off&&k.log.apply(k,arguments),[].slice.call(arguments).join(" ")},a.log.once=function($,D,x){return(x=a.log.once)[$]=x[$]||0,x[$]++||a.log(D)},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(){}},(k=console).only=function($,D){return k.only.i&&$===k.only.i&&k.only.i++&&(k.log.apply(k,arguments)||D)},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,k=g.length,v=w;for(E;E<k;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 $,v={back:w};(v=v.back)&&h===($=g(v,m)););return $}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(M){var Q=this,L=Q._,V=new(M||Q).constructor(Q),K=V._,W;return K.root=W=L.root,K.id=++W.once,K.back=Q._,K.on=a.on,K.on("in",a.on.in,K),K.on("out",a.on.out,K),V};function c(M){var Q,L,V=this.as,K=V.back,W=V.root,se;if(M.$||(M.$=V.$),this.to.next(M),V.err){V.on("in",{put:V.put=w,$:V.$});return}if(L=M.get){if(W.pass&&(W.pass[V.id]=V),V.lex&&Object.keys(V.lex).forEach(function(U){se[U]=V.lex[U]},se=M.get=M.get||{}),L["#"]||V.soul){if(L["#"]=L["#"]||V.soul,M["#"]||(M["#"]=E(9)),K=W.$.get(L["#"])._,L=L["."]){if($(K.put,L)&&(se=K.ask&&K.ask[L],(K.ask||(K.ask={}))[L]=K.$.get(L)._,K.on("in",{get:L,put:{"#":K.soul,".":L,":":K.put[L],">":x(W.graph[K.soul],L)}}),se))return}else{if(se=K.ask&&K.ask[""],(K.ask||(K.ask={}))[""]=K,w!==K.put&&(K.on("in",K),se))return;M.$=K.$}return W.ask(v,M),W.on("in",M)}if(L["."])return V.get?(M={get:{".":V.get},$:V.$},(K.ask||(K.ask={}))[V.get]=M.$._,K.on("out",M)):(M={get:V.lex?M.get:{},$:V.$},K.on("out",M));if((V.ask||(V.ask={}))[""]=V,V.get)return L["."]=V.get,(K.ask||(K.ask={}))[V.get]=M.$._,K.on("out",M)}return K.on("out",M)}a.on.out=c;function h(M,Q){Q=Q||this.as;var L=Q.root,V=M.$||(M.$=Q.$),K=(V||"")._||b,W=M.put||"",se=W["#"],U=W["."],z=w!==W["="]?W["="]:W[":"],we=W[">"]||-1/0,pe;if(w!==M.put&&(w===W["#"]||w===W["."]||w===W[":"]&&w===W["="]||w===W[">"])){if(!k(W)){if(!(se=((W||"")._||"")["#"])){console.log("chain not yet supported for",W,"...",M,Q);return}return V=Q.root.$.get(se),setTimeout.each(Object.keys(W).sort(),function(C){C=="_"||w===(we=x(W,C))||Q.on("in",{$:V,put:{"#":se,".":C,"=":W[C],">":we},VIA:M})})}Q.on("in",{$:K.back.$,put:{"#":se=K.back.soul,".":U=K.has||K.get,"=":W,">":x(K.back.put,U)},via:M});return}(M.seen||"")[Q.id]||((M.seen||(M.seen=function(){}))[Q.id]=Q,Q!==K&&(Object.keys(M).forEach(function(C){W[C]=M[C]},W={}),W.get=Q.get||W.get,!Q.soul&&!Q.has?W.$$$=W.$$$||Q.$:K.soul&&(W.$=Q.$,W.$$=W.$$||K.$),M=W),m(M,Q),(Q.soul||M.$$)&&we>=x(L.graph[se],U)&&((W=L.$.get(se)._).put=N(W.put,U,we,z,se)),!K.soul&&we>=x(L.graph[se],U)&&(pe=(L.$.get(se)._.next||"")[U])&&(pe.put=z,typeof(W=k(z))=="string"&&(pe.put=L.$.get(W)._.put||z)),this.to&&this.to.next(M),Q.any&&setTimeout.each(Object.keys(Q.any),function(C){(C=Q.any[C])&&C(M)},0,99),Q.echo&&setTimeout.each(Object.keys(Q.echo),function(C){(C=Q.echo[C])&&C.on("in",M)},0,99),((M.$$||"")._||K).soul&&(pe=Q.next)&&(pe=pe[U])&&(W={},Object.keys(M).forEach(function(C){W[C]=M[C]}),W.$=(M.$$||M.$).get(W.get=U),delete W.$$,delete W.$$$,pe.on("in",W)),g(M,Q))}a.on.in=h;function g(M,Q){if(Q=Q||this.as||M.$._,!(M.$$&&this!==a.on)&&!(!M.put||Q.soul)){var L=M.put||"",V=L["="]||L[":"],U,K=Q.root,W=K.$.get(L["#"]).get(L["."])._;if(typeof(V=k(V))!="string"){this===a.on&&((W.echo||(W.echo={}))[Q.id]=Q);return}if(!((W.echo||(W.echo={}))[Q.id]&&!(K.pass||"")[Q.id])){if(U=K.pass){if(U[V+Q.id])return;U[V+Q.id]=1}(W.echo||(W.echo={}))[Q.id]=Q,Q.has&&(Q.link=V);var se=K.$.get(W.link=V)._;(se.echo||(se.echo={}))[W.id]=W;var U=Q.ask||"";(U[""]||Q.lex)&&se.on("out",{get:{"#":V}}),setTimeout.each(Object.keys(U),function(z,we){!z||!(we=U[z])||we.on("out",{get:{"#":V,".":z}})},0,99)}}}a.on.link=g;function m(M,Q){var L=M.put||"",V=w!==L["="]?L["="]:L[":"],K=Q.root,W,se;if(w===V){if(Q.soul&&w!==Q.put||(se=(M.$$||M.$||"")._||"",M["@"]&&(w!==se.put||w!==Q.put)))return;(W=Q.link||M.linked)&&delete(K.$.get(W)._.echo||"")[Q.id],Q.has&&(Q.link=null),Q.put=w,setTimeout.each(Object.keys(Q.next||""),function(U,z){(z=Q.next[U])&&(W&&delete(K.$.get(W).get(U)._.echo||"")[z.id],z.on("in",{get:U,put:w,$:z.$}))},0,99);return}Q.soul||M.$$||(W=k(V),se=M.$._||"",!((W===se.link||Q.has&&!se.link)&&!((K.pass||"")[Q.id]&&typeof W!="string"))&&(delete(se.echo||"")[Q.id],m({get:Q.get,put:w,$:M.$,linked:M.linked=M.linked||se.link},Q)))}a.on.unlink=m;function v(M,Q){var L=this.as,V=L.$._,K=V.root,W=L.get||"",se=(M.put||"")[W["#"]]||"";if(!M.put||typeof W["."]=="string"&&w===se[W["."]]){if(w!==V.put||!V.soul&&!V.has)return;V.ack=(V.ack||0)+1,V.on("in",{get:V.get,put:V.put=w,$:V.$,"@":M["@"]});return}(M._||{}).miss=1,a.on.put(M)}var b={},w,E=String.random,k=a.valid,$=function(M,Q){return M&&Object.prototype.hasOwnProperty.call(M,Q)},D=a.state,x=D.is,N=D.ify})(n,"./chain"),n(function(s){var a=n("./root");a.chain.get=function(w,E,k){var $,D;if(typeof w=="string"){if(w.length==0)return($=this.chain())._.err={err:a.log("0 length key!",w)},E&&E.call($,$._.err),$;var x=this,N=x._,M=N.next||m;($=M[w])||($=w&&c(w,x)),$=$&&$.$}else if(typeof w=="function"){let U=function(z,we,pe){if(!U.stun&&!((Y=L.pass)&&!Y[V])){var C=z.$._,P=(z.$$||"")._,T=(P||C).put,H=!C.has&&!C.soul,X={},Z,Y;if((H||b===T)&&(T=b===((Y=z.put)||"")["="]?b===(Y||"")[":"]?Y:Y[":"]:Y["="]),(Z=typeof(Y=a.valid(T))=="string")&&(T=b===(Y=L.$.get(Y)._.put)?Q.not?b:T:Y),!(Q.not&&b===T)){if(b===Q.stun){if((Y=L.stun)&&Y.on&&(N.$.back(function(ne){if(Y.on(""+ne.id,X={}),(X.run||0)<U.id)return X}),!X.run&&Y.on(""+C.id,X={}),!X.run&&P&&Y.on(""+P.id,X={}),U.id>X.run&&((!X.stun||X.stun.end)&&(X.stun=Y.on("stun"),X.stun=X.stun&&X.stun.last),X.stun&&!X.stun.end))){(X.stun.add||(X.stun.add={}))[V]=function(){U(z,we,1)};return}if(b===T&&(pe=0),(Y=L.hatch)&&!Y.end&&b===Q.hatch&&!pe){if(K[C.$._.id])return;K[C.$._.id]=1,Y.push(function(){U(z,we,1)});return}K={}}if(L.pass){if(L.pass[V+C.id])return;L.pass[V+C.id]=1}if(Q.on){Q.ok.call(C.$,T,C.get,z,we||U);return}if(Q.v2020){Q.ok(z,we||U);return}Object.keys(z).forEach(function(ne){Y[ne]=z[ne]},Y={}),z=Y,z.put=T,Q.ok.call(Q.as,z,we||U)}}};var W=U;if(E===!0)return h(this,w,E,k),this;$=this;var N=$._,Q=E||{},L=N.root,V;Q.at=N,Q.ok=w;var K={};return U.at=N,(N.any||(N.any={}))[V=String.random(7)]=U,U.off=function(){U.stun=1,N.any&&delete N.any[V]},U.rid=g,U.id=Q.run||++L.once,D=L.pass,(L.pass={})[V]=1,Q.out=Q.out||{get:{}},N.on("out",Q.out),L.pass=D,$}else{if(typeof w=="number")return this.get(""+w,E,k);if(typeof(D=v(w))=="string")return this.get(D,E,k);(D=this.get.next)&&($=D(this,w))}return $?(E&&typeof E=="function"&&$.get(E,k),$):(($=this.chain())._.err={err:a.log("Invalid get request!",w)},E&&E.call($,$._.err),$)};function c(w,E){var k=E._,$=k.next,D=E.chain(),x=D._;return $||($=k.next={}),$[x.get=w]=x,E===k.root.$?x.soul=w:(k.soul||k.has)&&(x.has=w),x}function h(w,E,k,$){var D=w._,x=0,N;return(N=D.soul||D.link)?E(N,$,D):D.jam?D.jam.push([E,$]):(D.jam=[[E,$]],w.get(function(Q,L){if(!(b===Q.put&&!D.root.opt.super&&(N=Object.keys(D.root.opt.peers).length)&&++x<=N)){L.rid(Q);var V=(V=Q.$)&&V._||{},K=0,W;for(N=D.jam,delete D.jam;W=N[K++];){var se=W[0],U;W=W[1],se&&se(U=V.link||V.soul||a.valid(Q.put)||((Q.put||{})._||{})["#"],W,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 k=E.map,$,D;if($=(D=this.seen||(this.seen={}))[w])return!0;D[w]=!0}}var m={},v=a.valid,b})(n,"./get"),n(function(s){var a=n("./root");a.chain.put=function(x,N,M){var Q=this,L=Q._,V=L.root;M=M||{},M.root=L.root,M.run||(M.run=V.once),c(M,L.id),M.ack=M.ack||N,M.via=M.via||Q,M.data=M.data||x,M.soul||(M.soul=L.soul||typeof N=="string"&&N);var K=M.state=M.state||a.state();return typeof x=="function"?(x(function(W){M.data=W,Q.put(v,v,M)}),Q):M.soul?(M.$=V.$.get(M.soul),M.todo=[{it:M.data,ref:M.$}],M.turn=M.turn||E,M.ran=M.ran||h,(function W(){var se=M.todo,U=se.pop(),z=U.it,we=U.ref&&U.ref._.id,pe,C,P,T,H;if(c(M,U.ref),(T=U.todo)&&(C=T.pop(),z=z[C],T.length&&se.push(U)),C&&(se.path||(se.path=[])).push(C),!(pe=k(z))&&!(H=a.is(z))){if(!Object.plain(z)){h.err(M,"Invalid data: "+m(z)+" at "+(M.via.back(function(ie){ie.get&&T.push(ie.get)},T=[])||T.join("."))+"."+(se.path||[]).join("."));return}for(var X=M.seen||(M.seen=[]),Z=X.length;Z--;)if(z===(T=X[Z]).it){pe=z=T.link;break}}if(C&&pe)U.node=$(U.node,C,K,z);else{let ie=function(le,ge){var Pe=P.link["#"];ge&&(ge.off(),ge.rid(le));var Ee=Pe||le.soul||(T=(le.$$||le.$)._||"").soul||T.link||((T=T.put||"")._||"")["#"]||T["#"]||((T=le.put||"")&&le.$$?T["#"]:(T["="]||T[":"]||"")["#"]);if(!Pe&&c(M,le.$),!Ee&&!U.link["#"]){(U.wait||(U.wait=[])).push(function(){ie(le,ge)});return}Ee||(Ee=[],(le.$$||le.$).back(function(ve){if(T=ve.soul||ve.link)return Ee.push(T);Ee.push(ve.get)}),Ee=Ee.reverse().join("/")),P.link["#"]=Ee,!H&&(((M.graph||(M.graph={}))[Ee]=P.node||(P.node={_:{}}))._["#"]=Ee),delete M.wait[Y],P.wait&&setTimeout.each(P.wait,function(ve){ve&&ve()}),M.ran(M)};var ne=ie;if(!M.seen){h.err(M,"Data at root of graph must be a node (an object).");return}M.seen.push(P={it:z,link:{},todo:H?[]:Object.keys(z).sort().reverse(),path:(se.path||[]).slice(),up:U}),U.node=$(U.node,C,K,P.link),!H&&P.todo.length&&se.push(P);var Y=M.seen.length;(M.wait||(M.wait={}))[Y]="",T=(P.ref=H?z:C?U.ref.get(C):U.ref)._,(T=z&&(z._||"")["#"]||T.soul||T.link)?ie({soul:T}):P.ref.get(ie,{run:M.run,v2020:1,out:{get:{".":" "}}})}if(!se.length)return M.ran(M);M.turn(W)})(),Q):(g(M),Q)};function c(x,N){if(N){N=(N._||"").id||N;var M=x.root.stun||(x.root.stun={on:a.on}),Q={},L;x.stun||(x.stun=M.on("stun",function(){})),(L=M.on(""+N))&&L.the.last.next(Q),!(Q.run>=x.run)&&M.on(""+N,function(V){if(x.stun.end){this.off(),this.to.next(V);return}V.run=V.run||x.run,V.stun=V.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)._,M=N.root,Q=N.ask(function(W){M.on("ack",W),W.err&&!W.lack&&a.log(W),++L>(x.acks||0)&&this.off(),x.ack&&x.ack(W,this)},x.opt),L=0,V=x.stun,K;(K=function(){V&&(h.end(V,M),setTimeout.each(Object.keys(V=V.add||""),function(W){(W=V[W])&&W()}))}).hatch=K,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,_:K})}}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._,M;x.via=x.via.back(function(Q){if(Q.soul||!Q.get)return Q.$;M=x.data,(x.data={})[Q.get]=M}),(!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(){},E=setTimeout.turn,k=a.valid,$=a.state.ify,D=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,E){var k=this,$=k._,D=$.root,x,N,M,Q;if(typeof v=="string")return b?(x=$.on(v,b,w||$,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 V={};return k.get(v,L),k},a.chain.once=function(v,b){if(b=b||{},!v)return c(this,b);var w=this,E=w._,k=E.root,$=E.put,D=String.random(7),x,N;return w.get(function(M,Q,L,V){var K=this,W=K._,se=W.one||(W.one={});if(V.stun||se[D]==="")return;if((N=a.valid(M))===!0){U();return}if(typeof N=="string")return;clearTimeout((E.one||"")[D]),clearTimeout(se[D]),se[D]=setTimeout(U,b.wait||99);function U(z){if(!W.has&&!W.soul&&(W={put:M,get:Q}),m===(N=W.put)&&(N=((L.$$||"")._||"").put),typeof a.valid(N)=="string"&&(N=k.$.get(N)._.put,N===m&&!z)){se[D]=setTimeout(function(){U(1)},b.wait||99);return}V.stun||se[D]!==""&&(se[D]="",(E.soul||E.has)&&V.off(),v.call(K,N,W.get),clearTimeout(se[D]))}},{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,k){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,$){$=w[k],$.link&&E.root.$.get($.link).off()}),(w=b.next)&&Object.keys(w).forEach(function(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(k){String.match(k.get||(k.put||"")["."],w["."]||w["#"]||w)&&E.on("in",k),this.to.next(k)}),E.$):(c||g)(b,w)},a.chain.map=function(b,w,E){var k=this,$=k._,D,x;return Object.plain(b)&&(D=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=k.chain(),k.map().on(function(N,M,Q,L){var V=(b||g).call(this,N,M,Q,L);if(v!==V){if(N===V)return x._.on("in",Q);if(a.is(V))return x._.on("in",V._);var K={};Object.keys(Q.put).forEach(function(W){K[W]=Q.put[W]},K),K["="]=V,x._.on("in",{get:M,put:K})}}),x):((x=$.each)||(($.each=x=k.chain())._.lex=D||x._.lex||$.lex,x._.nix=k.back("nix"),k.on("in",h,x._)),x)};function h(b){this.to.next(b);var w=this.as,E=b.$,k=E._,$=b.put,D;!k.soul&&!b.$$||(D=w.lex)&&!String.match(b.get||($||"")["."],D["."]||D["#"]||D)||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,$,D){if(!k)return h.call(m,{err:a.log('Only a node can be linked! Not "'+D.put+'"!')});(w={})[k]={"#":k},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,k){var $,D=+new Date;try{E($,JSON.parse(w,k),h.sucks(+new Date-D))}catch(x){E(x)}},h=JSON.stringifyAsync||function(w,E,k,$){var D,x=+new Date;try{E(D,JSON.stringify(w,k,$),h.sucks(+new Date-x))}catch(N){E(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 E=function(){},k=w.opt||{};k.log=k.log||console.log,k.gap=k.gap||k.wait||0,k.max=k.max||(k.memory?k.memory*999*999:3e8)*.3,k.pack=k.pack||k.max*.01*.01,k.puff=k.puff||9;var $=setTimeout.turn||setTimeout,D=w.dup,x=D.check,N=D.track,M=+new Date,Q=M,L=E.hear=function(U,z){if(U){if(k.max<=U.length)return E.say({dam:"!",err:"Message too big!"},z);E===this&&(L.d+=U.length||0,++L.c);var we=z.SH=+new Date,pe=U[0],C;if(pe==="["){c(U,function(P,T){if(P||!T)return E.say({dam:"!",err:"DAM JSON parse error."},z);console.STAT&&console.STAT(+new Date,T.length,"# on hear batch");var H=k.puff;(function X(){for(var Z=+new Date,Y=0,ne;Y<H&&(ne=T[Y++]);)E.hear(ne,z);T=T.slice(Y),console.STAT&&console.STAT(Z,+new Date-Z,"hear loop"),K(z),T.length&&$(X,0)})()}),U="";return}if(pe==="{"||(U["#"]||Object.plain(U))&&(C=U)){if(C)return L.one(C,z,we);c(U,function(P,T){if(P||!T)return E.say({dam:"!",err:"DAM JSON parse error."},z);L.one(T,z,we)});return}}};L.one=function(U,z,X){var pe,C,P,T,H;if(U.DBG&&(U.DBG=H={DBG:U.DBG}),H&&(H.h=X),H&&(H.hp=+new Date),(pe=U["#"])||(pe=U["#"]=String.random(9)),!(P=x(pe))&&(C=U["##"],!(C&&(P=U["@"]||U.get&&pe)&&D.check(T=P+C)))){if((U._=function(){}).via=E.leap=z,(P=U["><"])&&typeof P=="string"&&P.slice(0,99).split(",").forEach(function(Z){this[Z]=1},U._.yo={}),P=U.dam){(P=E.hear[P])&&P(U,z,w),N(pe);return}(P=U.ok)&&(U._.near=P["/"]);var X=+new Date;H&&(H.is=X),z.SI=pe,N.ed=function(Z){pe===Z&&(N.ed=0,(Z=D.s[pe])&&(Z.via=z,U.get&&(Z.it=U)))},w.on("in",E.last=U),H&&(H.hd=+new Date),console.STAT&&console.STAT(X,+new Date-X,U.get?"msg get":U.put?"msg put":"msg"),N(pe),T&&N(T),E.leap=E.last=null}};var V=function(U,z,we){we(U,!0)};L.c=L.d=0,(function(){var U=0,z;E.hash=function(P,T){var H,X,Z,Y=+new Date;h(P.put,function ne(ie,le){var ge=(X||(X=Z=le||"")).slice(0,32768);if(H=String.hash(ge,H),X=X.slice(32768),X){$(ne,0);return}console.STAT&&console.STAT(Y,+new Date-Y,"say json+hash"),P._.$put=Z,P["##"]=H,E.say(P,T),delete P._.$put},we)};function we(P,T){var H;return T instanceof Object?(Object.keys(T).sort().forEach(pe,{to:H={},on:T}),H):T}function pe(P){this.to[P]=this.on[P]}var C=E.say=function(P,T){var H;if((H=this)&&(H=H.to)&&H.next&&H.next(P),!P)return!1;var X,Z,Y,ne=P["@"],ie=P._||(P._=function(){}),le=P.DBG,ge=+new Date;if(ie.y=ie.y||ge,T||le&&(le.y=ge),(X=P["#"])||(X=P["#"]=String.random(9)),!z&&N(X),!(Z=P["##"])&&b!==P.put&&!ie.via&&ne){E.hash(P,T);return}if(!T&&ne&&(T=(H=D.s[ne])&&(H.via||(H=H.it)&&(H=H._)&&H.via)||(H=E.last)&&ne===H["#"]&&E.leap),!T&&ne)return D.s[ne]?void 0:(console.STAT&&console.STAT(+new Date,++U,"total no peer to ack to"),!1);if(ne&&!P.put&&!Z&&((D.s[ne]||"").it||"")["##"])return!1;if(!T&&E.way)return E.way(P);if(le&&(le.yh=+new Date),!(Y=ie.raw)){E.raw(P,T);return}if(le&&(le.yr=+new Date),!T||!T.id){if(!Object.plain(T||k.peers))return!1;var ge=+new Date,Pe=k.puff,Ee=k.peers,ve=Object.keys(T||k.peers||{});console.STAT&&console.STAT(ge,+new Date-ge,"peer keys"),(function fA(){var Ye=+new Date;z=1;var nA=ie.raw;ie.raw=Y;for(var RA=0,WA;RA<9&&(WA=(ve||"")[RA++]);)(WA=Ee[WA]||(T||"")[WA])&&E.say(P,WA);ie.raw=nA,z=0,ve=ve.slice(RA),console.STAT&&console.STAT(Ye,+new Date-Ye,"say loop"),ve.length&&($(fA,0),ne&&N(ne))})();return}if(!T.wire&&E.wire&&E.wire(T),X!==T.last){if(T.last=X,T===ie.via||(H=ie.yo)&&(H[T.url]||H[T.pid]||H[T.id]))return!1;if(console.STAT&&console.STAT(ge,((le||ie).yp=+new Date)-(ie.y||ge),"say prep"),!z&&ne&&N(ne),T.batch){if(T.tail=(H=T.tail||0)+Y.length,T.tail<=k.pack){T.batch+=(H?",":"")+Y;return}K(T)}T.batch="[";var Ne=+new Date;setTimeout(function(){console.STAT&&console.STAT(Ne,+new Date-Ne,"0ms TO"),K(T)},k.gap),W(Y,T),console.STAT&&ne===T.SI&&console.STAT(ge,+new Date-T.SH,"say ack")}};E.say.c=E.say.d=0,E.raw=function(P,T){if(!P)return"";var H=P._||{},X,Z;if(Z=H.raw)return Z;if(typeof P=="string")return P;var Y=P["##"],ne=P["@"];if(Y&&ne){if(!H.via&&x(ne+Y))return!1;if(Z=(D.s[ne]||"").it){if(Y===Z["##"])return!1;Z["##"]||(Z["##"]=Y)}}if(!P.dam&&!P["@"]){var ie=0,le=[];Z=k.peers;for(var ge in Z){var Pe=Z[ge];if(le.push(Pe.url||Pe.pid||Pe.id),++ie>6)break}ie>1&&(P["><"]=le.join())}if(P.put&&(Z=P.ok)&&(P.ok={"@":(Z["@"]||1)-1,"/":Z["/"]==P._.near?E.near:Z["/"]}),X=H.$put){Z={},Object.keys(P).forEach(function(ve){Z[ve]=P[ve]}),Z.put=":])([:",h(Z,function(ve,Ne){if(!ve){var rA=+new Date;Z=Ne.indexOf('"put":":])([:"'),Ee(b,Ne=Ne.slice(0,Z+6)+X+Ne.slice(Z+14)),console.STAT&&console.STAT(rA,+new Date-rA,"say slice")}});return}h(P,Ee);function Ee(ve,Ne){ve||(H.raw=Ne,E.say(P,T))}}})();function K(U){var z=U.batch,we=typeof z=="string",pe;if(we&&(z+="]"),U.batch=U.tail=null,!!z&&!(we?3>z.length:!z.length)){if(!we)try{z=z.length===1?z[0]:JSON.stringify(z)}catch(C){return k.log("DAM JSON stringify error",C)}z&&W(z,U)}}function W(U,z){try{var we=z.wire;z.say?z.say(U):we.send&&we.send(U),E.say.d+=U.length||0,++E.say.c}catch{(z.queue=z.queue||[]).push(U)}}E.near=0,E.hi=function(U){var z=U.wire,we;if(!z){E.wire(U.length&&{url:U,id:U}||U);return}U.id?k.peers[U.url||U.id]=U:(we=U.id=U.id||U.url||String.random(9),E.say({dam:"?",pid:w.opt.pid},k.peers[we]=U),delete D.s[U.last]),U.met||(E.near++,U.met=+new Date,w.on("hi",U)),we=U.queue,U.queue=[],setTimeout.each(we||[],function(pe){W(pe,U)},0,9)},E.bye=function(U){U.met&&--E.near,delete U.met,w.on("bye",U);var z=+new Date;z=z-(U.met||z),E.bye.time=((E.bye.time||z)+z)/2},E.hear["!"]=function(U,z){k.log("Error:",U.err)},E.hear["?"]=function(U,z){U.pid&&(z.pid||(z.pid=U.pid),U["@"])||(E.say({dam:"?",pid:k.pid,"@":U["#"]},z),delete D.s[z.last])},E.hear.mob=function(U,z){if(U.peers){var we=Object.keys(U.peers),pe=we[Math.random()*we.length>>0];pe&&(E.bye(z),E.hi(pe))}},w.on("create",function(U){U.opt.pid=U.opt.pid||String.random(9),this.to.next(U),U.on("out",E.say)}),w.on("bye",function(U,z){U=k.peers[U.id||U]||U,this.to.next(U),U.bye?U.bye():(z=U.wire)&&z.close&&z.close(),delete k.peers[U.id],U.wire=null});var se={};return w.on("bye",function(U,z){this.to.next(U),(z=console.STAT)&&(z.peers=E.near),(z=U.url)&&(se[z]=!0,setTimeout(function(){delete se[z]},k.lack||9e3))}),w.on("hi",function(U,z){if(this.to.next(U),(z=console.STAT)&&(z.peers=E.near),!k.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(pe){var C=w.next[pe];if(k.super||(C.ask||"")[""]){E.say({get:{"#":pe}},U);return}setTimeout.each(Object.keys(C.ask||""),function(P){P&&E.say({"##":String.hash((w.graph[pe]||"")[P]),get:{"#":pe,".":P}},U)})})}}),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=k;function k(N){try{if(!N||!N.url)return Q&&Q(N);var M=N.url.replace(/^http/,"ws"),Q=N.wire=new m.WebSocket(M);return Q.onclose=function(){D(N),m.mesh.bye(N)},Q.onerror=function(L){D(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 $=2*999;function D(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)<$*4?1:0),N.defer=setTimeout(function M(){if(x&&x.hidden)return setTimeout(M,$);k(N)},$)))}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(k){b(k)}},m=JSON.stringifyAsync||function(v,b,w,E){var k;try{b(k,JSON.stringify(v,w,E))}catch($){b($)}};Gun.on("create",function v(b){this.to.next(b);var w=b.opt,E=b.graph,k=[],$,D,x,N;if(w.localStorage===!1)return;w.prefix=w.file||"gun/";try{$=v[w.prefix]=v[w.prefix]||JSON.parse(x=c.getItem(w.prefix))||{}}catch{$=v[w.prefix]={}}x=(x||"").length,b.on("get",function(Q){this.to.next(Q);var L=Q.get,V,K,W,se;!L||!(V=L["#"])||(K=$[V]||se,K&&(W=L["."])&&!Object.plain(W)&&(K=Gun.state.ify({},W,Gun.state.is(K,W),K[W],V)),Gun.on.get.ack(Q,K))}),b.on("put",function(Q){this.to.next(Q);var L=Q.put,V=L["#"],K=L["."],W=Q["#"],se=Q.ok||"",U;if((b.next||"")[V]){if($[V]=Gun.state.ify($[V],K,L[">"],L[":"],V),N&&x>4999880){b.on("in",{"@":W,err:"localStorage max!"});return}!Q["@"]&&(!Q._.via||Math.random()<se["@"]/se["/"])&&k.push(W),!D&&(D=setTimeout(M,9+x/333))}});function M(){if(!k.length&&((setTimeout.turn||"").s||"").length){setTimeout(M,99);return}var Q,L=k;clearTimeout(D),D=!1,k=[],m($,function(V,K){try{!V&&c.setItem(w.prefix,K)}catch(W){V=N=W||"localStorage failure"}V&&(Gun.log(V+" Consider using GUN's IndexedDB plugin for RAD for more storage space, https://gun.eco/docs/RAD#install"),b.on("localStorage:error",{err:V,get:w.prefix,put:$})),x=K.length,setTimeout.each(L,function(W){b.on("in",{"@":W,err:V,ok:0})},0,99)})}})}})(n,"./localStorage")})();(function(){var pe;if(""+pe!=typeof Gun){var n=function(C){console.warn("Warning! Deprecated internal utility will break in next version:",C)},e=Gun;e.fn=e.fn||{is:function(C){return n("fn"),!!C&&typeof C=="function"}},e.bi=e.bi||{is:function(C){return n("bi"),C instanceof Boolean||typeof C=="boolean"}},e.num=e.num||{is:function(C){return n("num"),!s(C)&&(C-parseFloat(C)+1>=0||C===1/0||C===-1/0)}},e.text=e.text||{is:function(C){return n("text"),typeof C=="string"}},e.text.ify=e.text.ify||function(C){return n("text.ify"),e.text.is(C)?C:typeof JSON<"u"?JSON.stringify(C):C&&C.toString?C.toString():C},e.text.random=e.text.random||function(C,P){n("text.random");var T="";for(C=C||24,P=P||"0123456789ABCDEFGHIJKLMNOPQRSTUVWXZabcdefghijklmnopqrstuvwxyz";C>0;)T+=P.charAt(Math.floor(Math.random()*P.length)),C--;return T},e.text.match=e.text.match||function(C,P){var T,H;return n("text.match"),typeof C!="string"?!1:(typeof P=="string"&&(P={"=":P}),P=P||{},T=P["="]||P["*"]||P[">"]||P["<"],C===T?!0:H!==P["="]?!1:(T=P["*"]||P[">"]||P["<"],C.slice(0,(T||"").length)===T?!0:H!==P["*"]?!1:H!==P[">"]&&H!==P["<"]?C>=P[">"]&&C<=P["<"]:H!==P[">"]&&C>=P[">"]||H!==P["<"]&&C<=P["<"]))},e.text.hash=e.text.hash||function(C,P){if(n("text.hash"),typeof C=="string"){if(P=P||0,!C.length)return P;for(var T=0,H=C.length,X;T<H;++T)X=C.charCodeAt(T),P=(P<<5)-P+X,P|=0;return P}},e.list=e.list||{is:function(C){return n("list"),C instanceof Array}},e.list.slit=e.list.slit||Array.prototype.slice,e.list.sort=e.list.sort||function(C){return n("list.sort"),function(P,T){return!P||!T?0:(P=P[C],T=T[C],P<T?-1:P>T?1:0)}},e.list.map=e.list.map||function(C,P,T){return n("list.map"),z(C,P,T)},e.list.index=1,e.obj=e.boj||{is:function(C){return n("obj"),C?C instanceof Object&&C.constructor===Object||Object.prototype.toString.call(C).match(/^\[object (\w+)\]$/)[1]==="Object":!1}},e.obj.put=e.obj.put||function(C,P,T){return n("obj.put"),(C||{})[P]=T,C},e.obj.has=e.obj.has||function(C,P){return n("obj.has"),C&&Object.prototype.hasOwnProperty.call(C,P)},e.obj.del=e.obj.del||function(C,P){if(n("obj.del"),!!C)return C[P]=null,delete C[P],C},e.obj.as=e.obj.as||function(C,P,T,H){return n("obj.as"),C[P]=C[P]||(H===T?{}:T)},e.obj.ify=e.obj.ify||function(C){if(n("obj.ify"),V(C))return C;try{C=JSON.parse(C)}catch{C={}}return C},(function(){var C;function P(T,H){W(this,H)&&C!==this[H]||(this[H]=T)}e.obj.to=e.obj.to||function(T,H){return n("obj.to"),H=H||{},z(T,P,H),H}})(),e.obj.copy=e.obj.copy||function(C){return n("obj.copy"),C&&JSON.parse(JSON.stringify(C))},(function(){function C(P,T){var H=this.n,X;if(!(H&&(T===H||V(H)&&W(H,T)))&&X!==T)return!0}e.obj.empty=e.obj.empty||function(P,T){return n("obj.empty"),P?!z(P,C,{n:T}):!0}})(),(function(){function C(X,Z){if(arguments.length===2){C.r=C.r||{},C.r[X]=Z;return}C.r=C.r||[],C.r.push(X)}var P=Object.keys,T,H;Object.keys=Object.keys||function(X){return T(X,function(Z,Y,ne){ne(Y)})},e.obj.map=T=e.obj.map||function(X,Z,Y){n("obj.map");var ne,ie=0,le,ge,Pe,Ee,ve=typeof Z=="function";if(C.r=ne,P&&V(X)&&(Pe=P(X),Ee=!0),Y=Y||{},s(X)||Pe)for(le=(Pe||X).length;ie<le;ie++){var Ne=ie+e.list.index;if(ve){if(ge=Ee?Z.call(Y,X[Pe[ie]],Pe[ie],C):Z.call(Y,X[ie],Ne,C),ge!==ne)return ge}else if(Z===X[Ee?Pe[ie]:ie])return Pe?Pe[ie]:Ne}else for(ie in X)if(ve){if(W(X,ie)&&(ge=Y?Z.call(Y,X[ie],ie,C):Z(X[ie],ie,C),ge!==ne))return ge}else if(Z===X[ie])return ie;return ve?C.r:e.list.index?0:-1}})(),e.time=e.time||{},e.time.is=e.time.is||function(C){return n("time"),C?C instanceof Date:+new Date().getTime()};var Q=e.fn.is,s=e.list.is,L=e.obj,V=L.is,W=L.has,z=L.map,a={};a.is=function(C){return n("val.is"),C===pe?!1:C===null?!0:C===1/0?!1:g(C)||h(C)||D(C)?!0:a.link.is(C)||!1},a.link=a.rel={_:"#"},(function(){a.link.is=function(P){if(n("val.link.is"),P&&P[c]&&!P._&&V(P)){var T={};if(z(P,C,T),T.id)return T.id}return!1};function C(P,T){var H=this;if(H.id)return H.id=!1;if(T==c&&g(P))H.id=P;else return H.id=!1}})(),a.link.ify=function(C){return n("val.link.ify"),U({},c,C)},e.obj.has._=".";var c=a.link._,pe,h=e.bi.is,D=e.num.is,g=e.text.is,L=e.obj,V=L.is,U=L.put,z=L.map;e.val=e.val||a;var m={_:"_"};m.soul=function(C,P){return n("node.soul"),C&&C._&&C._[P||w]},m.soul.ify=function(C,P){return n("node.soul.ify"),P=typeof P=="string"?{soul:P}:P||{},C=C||{},C._=C._||{},C._[w]=P.soul||C._[w]||b(),C},m.soul._=a.link._,(function(){m.is=function(P,T,H){n("node.is");var X;return V(P)&&(X=m.soul(P))?!z(P,C,{as:H,cb:T,s:X,n:P}):!1};function C(P,T){if(T!==m._){if(!a.is(P))return!0;this.cb&&this.cb.call(this.as,P,T,this.n,this.s)}}})(),(function(){m.ify=function(P,T,H){return n("node.ify"),T?typeof T=="string"?T={soul:T}:typeof T=="function"&&(T={map:T}):T={},T.map&&(T.node=T.map.call(H,P,pe,T.node||{})),(T.node=m.soul.ify(T.node||{},T))&&z(P,C,{o:T,as:H}),T.node};function C(P,T){var H=this.o,X,Z;if(H.map){X=H.map.call(this.as,P,""+T,H.node),Z===X?K(H.node,T):H.node&&(H.node[T]=X);return}a.is(P)&&(H.node[T]=P)}})();var L=e.obj,V=L.is,K=L.del,z=L.map,v=e.text,b=v.random,w=m.soul._,pe;e.node=e.node||m;var E=e.state;E.lex=function(){return n("state.lex"),E().toString(36).replace(".","")},E.to=function(C,P,T){n("state.to");var H=(C||{})[P];return V(H)&&(H=we(H)),E.ify(T,P,E.is(C,P),H,m.soul(C))},(function(){E.map=function(P,T,H){n("state.map");var X,Z=V(Z=P||T)?Z:null;return P=Q(P=P||T)?P:null,Z&&!P?(T=D(T)?T:E(),Z[N]=Z[N]||{},z(Z,C,{o:Z,s:T}),Z):(H=H||V(T)?T:X,T=D(T)?T:E(),function(Y,ne,ie,le){if(!P)return C.call({o:ie,s:T},Y,ne),Y;P.call(H||this||{},Y,ne,ie,le),!(W(ie,ne)&&X===ie[ne])&&C.call({o:ie,s:T},Y,ne)})};function C(P,T){N!==T&&E.ify(this.o,T,this.s)}})();var L=e.obj,k=L.as,W=L.has,V=L.is,z=L.map,we=L.copy,$=e.num,D=$.is,x=e.fn,Q=x.is,N=m._,pe,M={};(function(){M.is=function(T,H,X,Z){return n("graph.is"),!T||!V(T)||se(T)?!1:!z(T,C,{cb:H,fn:X,as:Z})};function C(T,H){if(!T||H!==m.soul(T)||!m.is(T,this.fn,this.as))return!0;this.cb&&(P.n=T,P.as=this.as,this.cb.call(P.as,T,H,P))}function P(T){T&&m.is(P.n,T,P.as)}})(),(function(){M.ify=function(Z,Y,ne){n("graph.ify");var ie={path:[],obj:Z};return Y?typeof Y=="string"?Y={soul:Y}:typeof Y=="function"&&(Y.map=Y):Y={},typeof ne=="string"&&(Y.soul=Y.soul||ne,ne=pe),Y.soul&&(ie.link=a.link.ify(Y.soul)),Y.shell=(ne||{}).shell,Y.graph=Y.graph||{},Y.seen=Y.seen||[],Y.as=Y.as||ne,C(Y,ie),Y.root=ie.node,Y.graph};function C(Z,Y){var ne;return(ne=X(Z,Y))?ne:(Y.env=Z,Y.soul=T,m.ify(Y.obj,P,Y)&&(Y.link=Y.link||a.link.ify(m.soul(Y.node)),Y.obj!==Z.shell&&(Z.graph[a.link.is(Y.link)]=Y.node)),Y)}function P(Z,Y,ne){var ie=this,le=ie.env,ge,Pe;if(m._===Y&&W(Z,a.link._))return ne._;if(ge=H(Z,Y,ne,ie,le)){if(Y||(ie.node=ie.node||ne||{},W(Z,m._)&&m.soul(Z)&&(ie.node._=we(Z._)),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||{},Z,Y,ne,ie),W(ne,Y))){if(Z=ne[Y],pe===Z){K(ne,Y);return}if(!(ge=H(Z,Y,ne,ie,le)))return}if(!Y)return ie.node;if(ge===!0)return Z;if(Pe=C(le,{obj:Z,path:ie.path.concat(Y)}),!!Pe.node)return Pe.link}}function T(Z){var Y=this,ne=a.link.is(Y.link),ie=Y.env.graph;Y.link=Y.link||a.link.ify(Z),Y.link[a.link._]=Z,Y.node&&Y.node[m._]&&(Y.node[m._][a.link._]=Z),W(ie,ne)&&(ie[Z]=ie[ne],K(ie,ne))}function H(Z,Y,ne,ie,le){var ge;if(a.is(Z))return!0;if(V(Z))return 1;if(ge=le.invalid)return Z=ge.call(le.as||{},Z,Y,ne),H(Z,Y,ne,ie,le);le.err="Invalid value at '"+ie.path.concat(Y).join(".")+"'!",e.list.is(Z)&&(le.err+=" Use `.set(item)` instead of an Array.")}function X(Z,Y){for(var ne=Z.seen,ie=ne.length,le;ie--;)if(le=ne[ie],Y.obj===le.obj)return le;ne.push(Y)}})(),M.node=function(C){n("graph.node");var P=m.soul(C);if(P)return U({},P,C)},(function(){M.to=function(P,T,H){if(n("graph.to"),!!P){var X={};return H=H||{seen:{}},z(P[T],C,{obj:X,graph:P,opt:H}),X}};function C(P,T){var H,X;if(m._===T){if(se(P,a.link._))return;this.obj[T]=we(P);return}if(!(H=a.link.is(P))){this.obj[T]=P;return}if(X=this.opt.seen[H]){this.obj[T]=X;return}this.obj[T]=this.opt.seen[H]=M.to(this.graph,H,this.opt)}})();var Q=e.fn.is,L=e.obj,V=L.is,K=L.del,W=L.has,se=L.empty,U=L.put,z=L.map,we=L.copy,pe;e.graph=e.graph||M}})()});var Ju=me((f_,Wu)=>{Wu.exports=Yu()});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 ur=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=ur;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 ur&&(s[a.str]=(s[a.str]||0)+1),s),{})}};eA._Code=tt;eA.nil=new tt("");function Zu(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._=Zu;var e0=new tt("+");function Xu(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 q1(s),new tt(s)}eA.str=Xu;function A0(n,e){e instanceof tt?n.push(...e._items):e instanceof ur?n.push(e):n.push(L1(e))}eA.addCodeArg=A0;function q1(n){let e=1;for(;e<n.length-1;){if(n[e]===e0){let s=Q1(n[e-1],n[e+1]);if(s!==void 0){n.splice(e-1,3,s);continue}n[e++]="+"}e++}}function Q1(n,e){if(e==='""')return n;if(n==='""')return e;if(typeof n=="string")return e instanceof ur||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 ur))return`"${n}${e.slice(1)}`}function H1(n,e){return e.emptyStr()?n:n.emptyStr()?e:Xu`${n}${e}`}eA.strConcat=H1;function L1(n){return typeof n=="number"||typeof n=="boolean"||n===null?n:yn(Array.isArray(n)?n.join(","):n)}function U1(n){return new tt(yn(n))}eA.stringify=U1;function yn(n){return JSON.stringify(n).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}eA.safeStringify=yn;function G1(n){return typeof n=="string"&&eA.IDENTIFIER.test(n)?new tt(`.${n}`):Zu`[${n}]`}eA.getProperty=G1;function F1(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=F1;function V1(n){return new tt(n.toString())}eA.regexpCode=V1});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}},mi;(function(n){n[n.Started=0]="Started",n[n.Completed=1]="Completed"})(mi||(zA.UsedValueState=mi={}));zA.varKinds={const:new VA.Name("const"),let:new VA.Name("let"),var:new VA.Name("var")};var yi=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=yi;var wi=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=wi;var z1=(0,VA._)`\n`,r0=class extends yi{constructor(e){super(e),this._values={},this._scope=e.scope,this.opts={...e,_n:e.lines?z1:VA.nil}}get(){return this._scope}name(e){return new wi(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,mi.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,mi.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(),Ut=wn();Object.defineProperty(Ve,"_",{enumerable:!0,get:function(){return Ut._}});Object.defineProperty(Ve,"str",{enumerable:!0,get:function(){return Ut.str}});Object.defineProperty(Ve,"strConcat",{enumerable:!0,get:function(){return Ut.strConcat}});Object.defineProperty(Ve,"nil",{enumerable:!0,get:function(){return Ut.nil}});Object.defineProperty(Ve,"getProperty",{enumerable:!0,get:function(){return Ut.getProperty}});Object.defineProperty(Ve,"stringify",{enumerable:!0,get:function(){return Ut.stringify}});Object.defineProperty(Ve,"regexpCode",{enumerable:!0,get:function(){return Ut.regexpCode}});Object.defineProperty(Ve,"Name",{enumerable:!0,get:function(){return Ut.Name}});var Ei=n0();Object.defineProperty(Ve,"Scope",{enumerable:!0,get:function(){return Ei.Scope}});Object.defineProperty(Ve,"ValueScope",{enumerable:!0,get:function(){return Ei.ValueScope}});Object.defineProperty(Ve,"ValueScopeName",{enumerable:!0,get:function(){return Ei.ValueScopeName}});Object.defineProperty(Ve,"varKinds",{enumerable:!0,get:function(){return Ei.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=Rr(this.rhs,e,s)),this}get names(){return this.rhs instanceof Je._CodeOrName?this.rhs.names:{}}},vi=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=Rr(this.rhs,e,s),this}get names(){let e=this.lhs instanceof Je.Name?{}:{...this.lhs.names};return _i(e,this.rhs)}},o0=class extends vi{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=Rr(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)||(K1(e,h.names),a.splice(c,1))}return a.length>0?this:void 0}get names(){return this.nodes.reduce((e,s)=>cr(e,s.names),{})}},Pt=class extends vn{render(e){return"{"+e._n+super.render(e)+"}"+e._n}},f0=class extends vn{},Nr=class extends Pt{};Nr.kind="else";var lr=class n extends Pt{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(el(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=Rr(this.condition,e,s),this}get names(){let e=super.names;return _i(e,this.condition),this.else&&cr(e,this.else.names),e}};lr.kind="if";var fr=class extends Pt{};fr.kind="for";var c0=class extends fr{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=Rr(this.iteration,e,s),this}get names(){return cr(super.names,this.iteration.names)}},d0=class extends fr{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=_i(super.names,this.from);return _i(e,this.to)}},bi=class extends fr{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=Rr(this.iterable,e,s),this}get names(){return cr(super.names,this.iterable.names)}},bn=class extends Pt{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 Pt{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&&cr(e,this.catch.names),this.finally&&cr(e,this.finally.names),e}},En=class extends Pt{constructor(e){super(),this.error=e}render(e){return`catch(${this.error})`+super.render(e)}};En.kind="catch";var kn=class extends Pt{render(e){return"finally"+super.render(e)}};kn.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 vi(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 lr(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 lr(e))}else(){return this._elseNode(new Nr)}endIf(){return this._endBlockNode(lr,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 bi("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 bi("in",c,h,s),()=>a(h))}endFor(){return this._endBlockNode(fr)}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 kn,this.code(a)),this._endBlockNode(En,kn)}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 lr))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 cr(n,e){for(let s in e)n[s]=(n[s]||0)+(e[s]||0);return n}function _i(n,e){return e instanceof Je._CodeOrName?cr(n,e.names):n}function Rr(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 K1(n,e){for(let s in e)n[s]=(n[s]||0)-(e[s]||0)}function el(n){return typeof n=="boolean"||typeof n=="number"||n===null?!n:(0,Je._)`!${g0(n)}`}Ve.not=el;var Y1=Al(Ve.operators.AND);function W1(...n){return n.reduce(Y1)}Ve.and=W1;var J1=Al(Ve.operators.OR);function Z1(...n){return n.reduce(J1)}Ve.or=Z1;function Al(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(),X1=wn();function eg(n){let e={};for(let s of n)e[s]=!0;return e}ze.toHash=eg;function Ag(n,e){return typeof e=="boolean"?e:Object.keys(e).length===0?!0:(nl(n,e),!il(e,n.self.RULES.all))}ze.alwaysValidSchema=Ag;function nl(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]||al(n,`unknown keyword: "${h}"`)}ze.checkUnknownRules=nl;function il(n,e){if(typeof n=="boolean")return!n;for(let s in n)if(e[s])return!0;return!1}ze.schemaHasRules=il;function tg(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=tg;function rg({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=rg;function ng(n){return ol(decodeURIComponent(n))}ze.unescapeFragment=ng;function ig(n){return encodeURIComponent(y0(n))}ze.escapeFragment=ig;function y0(n){return typeof n=="number"?`${n}`:n.replace(/~/g,"~0").replace(/\//g,"~1")}ze.escapeJsonPointer=y0;function ol(n){return n.replace(/~1/g,"/").replace(/~0/g,"~")}ze.unescapeJsonPointer=ol;function og(n,e){if(Array.isArray(n))for(let s of n)e(s);else e(n)}ze.eachItem=og;function tl({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:tl({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:sl}),items:tl({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 sl(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=sl;function w0(n,e,s){Object.keys(s).forEach(a=>n.assign((0,lA._)`${e}${(0,lA.getProperty)(a)}`,!0))}ze.setEvaluated=w0;var rl={};function sg(n,e){return n.scopeValue("func",{ref:e,code:rl[e.code]||(rl[e.code]=new X1._Code(e.code))})}ze.useFunc=sg;var m0;(function(n){n[n.Num=0]="Num",n[n.Str=1]="Str"})(m0||(ze.Type=m0={}));function ag(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=ag;function al(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=al});var rt=me(v0=>{"use strict";Object.defineProperty(v0,"__esModule",{value:!0});var TA=Ue(),ug={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=ug});var $n=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 lg(n,e=OA.keywordError,s,a){let{it:c}=n,{gen:h,compositeRule:g,allErrors:m}=c,v=fl(n,e,s);a??(g||m)?ul(h,v):ll(c,(0,Ze._)`[${v}]`)}OA.reportError=lg;function fg(n,e=OA.keywordError,s){let{it:a}=n,{gen:c,compositeRule:h,allErrors:g}=a,m=fl(n,e,s);ul(c,m),h||g||ll(a,QA.default.vErrors)}OA.reportExtraError=fg;function cg(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=cg;function dg({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=dg;function ul(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 ll(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 dr={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 fl(n,e,s){let{createErrors:a}=n.it;return a===!1?(0,Ze._)`{}`:hg(n,e,s)}function hg(n,e,s={}){let{gen:a,it:c}=n,h=[pg(c,s),gg(n,s)];return mg(n,e,h),a.object(...h)}function pg({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 gg({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)}`),[dr.schemaPath,c]}function mg(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([dr.keyword,c],[dr.params,typeof e=="function"?e(n):e||(0,Ze._)`{}`]),v.messages&&a.push([dr.message,typeof s=="function"?s(n):s]),v.verbose&&a.push([dr.schema,g],[dr.parentSchema,(0,Ze._)`${w}${E}`],[QA.default.data,h]),b&&a.push([dr.propertyName,b])}});var dl=me(Ir=>{"use strict";Object.defineProperty(Ir,"__esModule",{value:!0});Ir.boolOrEmptySchema=Ir.topBoolOrEmptySchema=void 0;var yg=$n(),wg=Ue(),vg=rt(),bg={message:"boolean schema is false"};function _g(n){let{gen:e,schema:s,validateName:a}=n;s===!1?cl(n,!1):typeof s=="object"&&s.$async===!0?e.return(vg.default.data):(e.assign((0,wg._)`${a}.errors`,null),e.return(!0))}Ir.topBoolOrEmptySchema=_g;function Eg(n,e){let{gen:s,schema:a}=n;a===!1?(s.var(e,!1),cl(n)):s.var(e,!0)}Ir.boolOrEmptySchema=Eg;function cl(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,yg.reportError)(c,bg,void 0,e)}});var b0=me(qr=>{"use strict";Object.defineProperty(qr,"__esModule",{value:!0});qr.getRules=qr.isJSONType=void 0;var kg=["string","number","integer","boolean","null","object","array"],$g=new Set(kg);function xg(n){return typeof n=="string"&&$g.has(n)}qr.isJSONType=xg;function Bg(){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:{}}}qr.getRules=Bg});var _0=me(Gt=>{"use strict";Object.defineProperty(Gt,"__esModule",{value:!0});Gt.shouldUseRule=Gt.shouldUseGroup=Gt.schemaHasRulesForType=void 0;function Sg({schema:n,self:e},s){let a=e.RULES.types[s];return a&&a!==!0&&hl(n,a)}Gt.schemaHasRulesForType=Sg;function hl(n,e){return e.rules.some(s=>pl(n,s))}Gt.shouldUseGroup=hl;function pl(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))}Gt.shouldUseRule=pl});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 Pg=b0(),Dg=_0(),Cg=$n(),Ge=Ue(),gl=Ke(),Qr;(function(n){n[n.Correct=0]="Correct",n[n.Wrong=1]="Wrong"})(Qr||(jA.DataType=Qr={}));function Tg(n){let e=ml(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=Tg;function ml(n){let e=Array.isArray(n)?n:n?[n]:[];if(e.every(Pg.isJSONType))return e;throw new Error("type must be JSONType or JSONType[]: "+e.join(","))}jA.getJSONTypes=ml;function Og(n,e){let{gen:s,data:a,opts:c}=n,h=jg(e,c.coerceTypes),g=e.length>0&&!(h.length===0&&e.length===1&&(0,Dg.schemaHasRulesForType)(n,e[0]));if(g){let m=k0(e,a,c.strictNumbers,Qr.Wrong);s.if(m,()=>{h.length?Mg(n,e,h):$0(n)})}return g}jA.coerceAndCheckDataType=Og;var yl=new Set(["string","number","integer","boolean","null"]);function jg(n,e){return e?n.filter(s=>yl.has(s)||e==="array"&&s==="array"):[]}function Mg(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(k0(e,c,h.strictNumbers),()=>a.assign(m,c))),a.if((0,Ge._)`${m} !== undefined`);for(let b of s)(yl.has(b)||b==="array"&&h.coerceTypes==="array")&&v(b);a.else(),$0(n),a.endIf(),a.if((0,Ge._)`${m} !== undefined`,()=>{a.assign(c,m),Ng(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
|
+
|| (${g} == "string" && ${c} && ${c} == +${c})`).assign(m,(0,Ge._)`+${c}`);return;case"integer":a.elseIf((0,Ge._)`${g} === "boolean" || ${c} === null
|
|
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 Ng({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=Qr.Correct){let c=a===Qr.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===Qr.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 k0(n,e,s,a){if(n.length===1)return E0(n[0],e,s,a);let c,h=(0,gl.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=k0;var Rg={message:({schema:n})=>`must be ${n}`,params:({schema:n,schemaValue:e})=>typeof n=="string"?(0,Ge._)`{type: ${n}}`:(0,Ge._)`{type: ${e}}`};function $0(n){let e=Ig(n);(0,Cg.reportError)(e,Rg)}jA.reportTypeError=$0;function Ig(n){let{gen:e,data:s,schema:a}=n,c=(0,gl.schemaRefOrVal)(n,a,"type");return{gen:e,keyword:"type",data:s,schema:a.type,schemaCode:c,schemaValue:c,parentSchema:a,params:{},it:n}}});var vl=me($i=>{"use strict";Object.defineProperty($i,"__esModule",{value:!0});$i.assignDefaults=void 0;var Hr=Ue(),qg=Ke();function Qg(n,e){let{properties:s,items:a}=n.schema;if(e==="object"&&s)for(let c in s)wl(n,c,s[c].default);else e==="array"&&Array.isArray(a)&&a.forEach((c,h)=>wl(n,h,c.default))}$i.assignDefaults=Qg;function wl(n,e,s){let{gen:a,compositeRule:c,data:h,opts:g}=n;if(s===void 0)return;let m=(0,Hr._)`${h}${(0,Hr.getProperty)(e)}`;if(c){(0,qg.checkStrictMode)(n,`default is ignored for: ${m}`);return}let v=(0,Hr._)`${m} === undefined`;g.useDefaults==="empty"&&(v=(0,Hr._)`${v} || ${m} === null || ${m} === ""`),a.if(v,(0,Hr._)`${m} = ${(0,Hr.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(),Ft=rt(),Hg=Ke();function Lg(n,e){let{gen:s,data:a,it:c}=n;s.if(S0(s,a,e,c.opts.ownProperties),()=>{n.setParams({missingProperty:(0,dA._)`${e}`},!0),n.error()})}uA.checkReportMissingProp=Lg;function Ug({gen:n,data:e,it:{opts:s}},a,c){return(0,dA.or)(...a.map(h=>(0,dA.and)(S0(n,e,h,s.ownProperties),(0,dA._)`${c} = ${h}`)))}uA.checkMissingProp=Ug;function Gg(n,e){n.setParams({missingProperty:e},!0),n.error()}uA.reportMissingProp=Gg;function bl(n){return n.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:(0,dA._)`Object.prototype.hasOwnProperty`})}uA.hasPropFunc=bl;function B0(n,e,s){return(0,dA._)`${bl(n)}.call(${e}, ${s})`}uA.isOwnProperty=B0;function Fg(n,e,s,a){let c=(0,dA._)`${e}${(0,dA.getProperty)(s)} !== undefined`;return a?(0,dA._)`${c} && ${B0(n,e,s)}`:c}uA.propertyInData=Fg;function S0(n,e,s,a){let c=(0,dA._)`${e}${(0,dA.getProperty)(s)} === undefined`;return a?(0,dA.or)(c,(0,dA.not)(B0(n,e,s))):c}uA.noPropertyInData=S0;function _l(n){return n?Object.keys(n).filter(e=>e!=="__proto__"):[]}uA.allSchemaProperties=_l;function Vg(n,e){return _l(e).filter(s=>!(0,x0.alwaysValidSchema)(n,e[s]))}uA.schemaProperties=Vg;function zg({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=[[Ft.default.instancePath,(0,dA.strConcat)(Ft.default.instancePath,h)],[Ft.default.parentData,g.parentData],[Ft.default.parentDataProperty,g.parentDataProperty],[Ft.default.rootData,Ft.default.rootData]];g.opts.dynamicRef&&E.push([Ft.default.dynamicAnchors,Ft.default.dynamicAnchors]);let k=(0,dA._)`${w}, ${s.object(...E)}`;return v!==dA.nil?(0,dA._)`${m}.call(${v}, ${k})`:(0,dA._)`${m}(${k})`}uA.callValidateCode=zg;var Kg=(0,dA._)`new RegExp`;function Yg({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"?Kg:(0,Hg.useFunc)(n,c)}(${s}, ${a})`})}uA.usePattern=Yg;function Wg(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=Wg;function Jg(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=Jg});var $l=me(bt=>{"use strict";Object.defineProperty(bt,"__esModule",{value:!0});bt.validateKeywordUsage=bt.validSchemaType=bt.funcKeywordCode=bt.macroKeywordCode=void 0;var HA=Ue(),hr=rt(),Zg=nt(),Xg=$n();function em(n,e){let{gen:s,keyword:a,schema:c,parentSchema:h,it:g}=n,m=e.macro.call(g.self,c,h,g),v=kl(s,a,m);g.opts.validateSchema!==!1&&g.self.validateSchema(m,!0);let b=s.name("valid");n.subschema({schema:m,schemaPath:HA.nil,errSchemaPath:`${g.errSchemaPath}/${a}`,topSchemaRef:v,compositeRule:!0},b),n.pass(b,()=>n.error(!0))}bt.macroKeywordCode=em;function Am(n,e){var s;let{gen:a,keyword:c,schema:h,parentSchema:g,$data:m,it:v}=n;rm(v,e);let b=!m&&e.compile?e.compile.call(v.self,h,g,v):e.validate,w=kl(a,c,b),E=a.let("valid");n.block$data(E,k),n.ok((s=e.valid)!==null&&s!==void 0?s:E);function k(){if(e.errors===!1)x(),e.modifying&&El(n),N(()=>n.error());else{let M=e.async?$():D();e.modifying&&El(n),N(()=>tm(n,M))}}function $(){let M=a.let("ruleErrs",null);return a.try(()=>x((0,HA._)`await `),Q=>a.assign(E,!1).if((0,HA._)`${Q} instanceof ${v.ValidationError}`,()=>a.assign(M,(0,HA._)`${Q}.errors`),()=>a.throw(Q))),M}function D(){let M=(0,HA._)`${w}.errors`;return a.assign(M,null),x(HA.nil),M}function x(M=e.async?(0,HA._)`await `:HA.nil){let Q=v.opts.passContext?hr.default.this:hr.default.self,L=!("compile"in e&&!m||e.schema===!1);a.assign(E,(0,HA._)`${M}${(0,Zg.callValidateCode)(n,w,Q,L)}`,e.modifying)}function N(M){var Q;a.if((0,HA.not)((Q=e.valid)!==null&&Q!==void 0?Q:E),M)}}bt.funcKeywordCode=Am;function El(n){let{gen:e,data:s,it:a}=n;e.if(a.parentData,()=>e.assign(s,(0,HA._)`${a.parentData}[${a.parentDataProperty}]`))}function tm(n,e){let{gen:s}=n;s.if((0,HA._)`Array.isArray(${e})`,()=>{s.assign(hr.default.vErrors,(0,HA._)`${hr.default.vErrors} === null ? ${e} : ${hr.default.vErrors}.concat(${e})`).assign(hr.default.errors,(0,HA._)`${hr.default.vErrors}.length`),(0,Xg.extendErrors)(n)},()=>n.error())}function rm({schemaEnv:n},e){if(e.async&&!n.$async)throw new Error("async keyword in sync schema")}function kl(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,HA.stringify)(s)})}function nm(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=nm;function im({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=im});var Bl=me(Vt=>{"use strict";Object.defineProperty(Vt,"__esModule",{value:!0});Vt.extendSubschemaMode=Vt.extendSubschemaData=Vt.getSubschema=void 0;var _t=Ue(),xl=Ke();function om(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,xl.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')}Vt.getSubschema=om;function sm(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,k=m.let("data",(0,_t._)`${e.data}${(0,_t.getProperty)(s)}`,!0);v(k),n.errorPath=(0,_t.str)`${b}${(0,xl.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]}}Vt.extendSubschemaData=sm;function am(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}Vt.extendSubschemaMode=am});var P0=me((x_,Sl)=>{"use strict";Sl.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 Dl=me((B_,Pl)=>{"use strict";var zt=Pl.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(){};xi(e,a,c,n,"",n)};zt.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0,if:!0,then:!0,else:!0};zt.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0};zt.propsKeywords={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependencies:!0};zt.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 xi(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 zt.arrayKeywords)for(var k=0;k<E.length;k++)xi(n,e,s,E[k],c+"/"+w+"/"+k,h,c,w,a,k)}else if(w in zt.propsKeywords){if(E&&typeof E=="object")for(var $ in E)xi(n,e,s,E[$],c+"/"+w+"/"+um($),h,c,w,a,$)}else(w in zt.keywords||n.allKeys&&!(w in zt.skipKeywords))&&xi(n,e,s,E,c+"/"+w,h,c,w,a)}s(a,c,h,g,m,v,b)}}function um(n){return n.replace(/~/g,"~0").replace(/\//g,"~1")}});var Bn=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 lm=Ke(),fm=P0(),cm=Dl(),dm=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function hm(n,e=!0){return typeof n=="boolean"?!0:e===!0?!D0(n):e?Cl(n)<=e:!1}KA.inlineRef=hm;var pm=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function D0(n){for(let e in n){if(pm.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 Cl(n){let e=0;for(let s in n){if(s==="$ref")return 1/0;if(e++,!dm.has(s)&&(typeof n[s]=="object"&&(0,lm.eachItem)(n[s],a=>e+=Cl(a)),e===1/0))return 1/0}return e}function Tl(n,e="",s){s!==!1&&(e=Lr(e));let a=n.parse(e);return Ol(n,a)}KA.getFullPath=Tl;function Ol(n,e){return n.serialize(e).split("#")[0]+"#"}KA._getFullPath=Ol;var gm=/#\/?$/;function Lr(n){return n?n.replace(gm,""):""}KA.normalizeId=Lr;function mm(n,e,s){return s=Lr(s),n.resolve(e,s)}KA.resolveUrl=mm;var ym=/^[a-z_][-a-z0-9._]*$/i;function wm(n,e){if(typeof n=="boolean")return{};let{schemaId:s,uriResolver:a}=this.opts,c=Lr(n[s]||e),h={"":c},g=Tl(a,c,!1),m={},v=new Set;return cm(n,{allKeys:!0},(E,k,$,D)=>{if(D===void 0)return;let x=g+k,N=h[D];typeof E[s]=="string"&&(N=M.call(this,E[s])),Q.call(this,E.$anchor),Q.call(this,E.$dynamicAnchor),h[k]=N;function M(L){let V=this.opts.uriResolver.resolve;if(L=Lr(N?V(N,L):L),v.has(L))throw w(L);v.add(L);let K=this.refs[L];return typeof K=="string"&&(K=this.refs[K]),typeof K=="object"?b(E,K.schema,L):L!==Lr(x)&&(L[0]==="#"?(b(E,m[L],L),m[L]=E):this.refs[L]=x),L}function Q(L){if(typeof L=="string"){if(!ym.test(L))throw new Error(`invalid anchor "${L}"`);M.call(this,`#${L}`)}}}),m;function b(E,k,$){if(k!==void 0&&!fm(E,k))throw w($)}function w(E){return new Error(`reference "${E}" resolves to more than one schema`)}}KA.getSchemaRefs=wm});var Dn=me(Kt=>{"use strict";Object.defineProperty(Kt,"__esModule",{value:!0});Kt.getData=Kt.KeywordCxt=Kt.validateFunctionCode=void 0;var Il=dl(),jl=xn(),T0=_0(),Bi=xn(),vm=vl(),Pn=$l(),C0=Bl(),Be=Ue(),Qe=rt(),bm=Bn(),Dt=Ke(),Sn=$n();function _m(n){if(Hl(n)&&(Ll(n),Ql(n))){$m(n);return}ql(n,()=>(0,Il.topBoolOrEmptySchema)(n))}Kt.validateFunctionCode=_m;function ql({gen:n,validateName:e,schema:s,schemaEnv:a,opts:c},h){c.code.es5?n.func(e,(0,Be._)`${Qe.default.data}, ${Qe.default.valCxt}`,a.$async,()=>{n.code((0,Be._)`"use strict"; ${Ml(s,c)}`),km(n,c),n.code(h)}):n.func(e,(0,Be._)`${Qe.default.data}, ${Em(c)}`,a.$async,()=>n.code(Ml(s,c)).code(h))}function Em(n){return(0,Be._)`{${Qe.default.instancePath}="", ${Qe.default.parentData}, ${Qe.default.parentDataProperty}, ${Qe.default.rootData}=${Qe.default.data}${n.dynamicRef?(0,Be._)`, ${Qe.default.dynamicAnchors}={}`:Be.nil}}={}`}function km(n,e){n.if(Qe.default.valCxt,()=>{n.var(Qe.default.instancePath,(0,Be._)`${Qe.default.valCxt}.${Qe.default.instancePath}`),n.var(Qe.default.parentData,(0,Be._)`${Qe.default.valCxt}.${Qe.default.parentData}`),n.var(Qe.default.parentDataProperty,(0,Be._)`${Qe.default.valCxt}.${Qe.default.parentDataProperty}`),n.var(Qe.default.rootData,(0,Be._)`${Qe.default.valCxt}.${Qe.default.rootData}`),e.dynamicRef&&n.var(Qe.default.dynamicAnchors,(0,Be._)`${Qe.default.valCxt}.${Qe.default.dynamicAnchors}`)},()=>{n.var(Qe.default.instancePath,(0,Be._)`""`),n.var(Qe.default.parentData,(0,Be._)`undefined`),n.var(Qe.default.parentDataProperty,(0,Be._)`undefined`),n.var(Qe.default.rootData,Qe.default.data),e.dynamicRef&&n.var(Qe.default.dynamicAnchors,(0,Be._)`{}`)})}function $m(n){let{schema:e,opts:s,gen:a}=n;ql(n,()=>{s.$comment&&e.$comment&&Gl(n),Dm(n),a.let(Qe.default.vErrors,null),a.let(Qe.default.errors,0),s.unevaluated&&xm(n),Ul(n),Om(n)})}function xm(n){let{gen:e,validateName:s}=n;n.evaluated=e.const("evaluated",(0,Be._)`${s}.evaluated`),e.if((0,Be._)`${n.evaluated}.dynamicProps`,()=>e.assign((0,Be._)`${n.evaluated}.props`,(0,Be._)`undefined`)),e.if((0,Be._)`${n.evaluated}.dynamicItems`,()=>e.assign((0,Be._)`${n.evaluated}.items`,(0,Be._)`undefined`))}function Ml(n,e){let s=typeof n=="object"&&n[e.schemaId];return s&&(e.code.source||e.code.process)?(0,Be._)`/*# sourceURL=${s} */`:Be.nil}function Bm(n,e){if(Hl(n)&&(Ll(n),Ql(n))){Sm(n,e);return}(0,Il.boolOrEmptySchema)(n,e)}function Ql({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 Hl(n){return typeof n.schema!="boolean"}function Sm(n,e){let{schema:s,gen:a,opts:c}=n;c.$comment&&s.$comment&&Gl(n),Cm(n),Tm(n);let h=a.const("_errs",Qe.default.errors);Ul(n,h),a.var(e,(0,Be._)`${h} === ${Qe.default.errors}`)}function Ll(n){(0,Dt.checkUnknownRules)(n),Pm(n)}function Ul(n,e){if(n.opts.jtd)return Nl(n,[],!1,e);let s=(0,jl.getSchemaTypes)(n.schema),a=(0,jl.coerceAndCheckDataType)(n,s);Nl(n,s,!a,e)}function Pm(n){let{schema:e,errSchemaPath:s,opts:a,self:c}=n;e.$ref&&a.ignoreKeywordsWithRef&&(0,Dt.schemaHasRulesButRef)(e,c.RULES)&&c.logger.warn(`$ref: keywords ignored in schema at path "${s}"`)}function Dm(n){let{schema:e,opts:s}=n;e.default!==void 0&&s.useDefaults&&s.strictSchema&&(0,Dt.checkStrictMode)(n,"default is ignored in the schema root")}function Cm(n){let e=n.schema[n.opts.schemaId];e&&(n.baseId=(0,bm.resolveUrl)(n.opts.uriResolver,n.baseId,e))}function Tm(n){if(n.schema.$async&&!n.schemaEnv.$async)throw new Error("async schema in sync schema")}function Gl({gen:n,schemaEnv:e,schema:s,errSchemaPath:a,opts:c}){let h=s.$comment;if(c.$comment===!0)n.code((0,Be._)`${Qe.default.self}.logger.log(${h})`);else if(typeof c.$comment=="function"){let g=(0,Be.str)`${a}/$comment`,m=n.scopeValue("root",{ref:e.root});n.code((0,Be._)`${Qe.default.self}.opts.$comment(${h}, ${g}, ${m}.schema)`)}}function Om(n){let{gen:e,schemaEnv:s,validateName:a,ValidationError:c,opts:h}=n;s.$async?e.if((0,Be._)`${Qe.default.errors} === 0`,()=>e.return(Qe.default.data),()=>e.throw((0,Be._)`new ${c}(${Qe.default.vErrors})`)):(e.assign((0,Be._)`${a}.errors`,Qe.default.vErrors),h.unevaluated&&jm(n),e.return((0,Be._)`${Qe.default.errors} === 0`))}function jm({gen:n,evaluated:e,props:s,items:a}){s instanceof Be.Name&&n.assign((0,Be._)`${e}.props`,s),a instanceof Be.Name&&n.assign((0,Be._)`${e}.items`,a)}function Nl(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,Dt.schemaHasRulesButRef)(h,w))){c.block(()=>Vl(n,"$ref",w.all.$ref.definition));return}v.jtd||Mm(n,e),c.block(()=>{for(let k of w.rules)E(k);E(w.post)});function E(k){(0,T0.shouldUseGroup)(h,k)&&(k.type?(c.if((0,Bi.checkDataType)(k.type,g,v.strictNumbers)),Rl(n,k),e.length===1&&e[0]===k.type&&s&&(c.else(),(0,Bi.reportTypeError)(n)),c.endIf()):Rl(n,k),m||c.if((0,Be._)`${Qe.default.errors} === ${a||0}`))}}function Rl(n,e){let{gen:s,schema:a,opts:{useDefaults:c}}=n;c&&(0,vm.assignDefaults)(n,e.type),s.block(()=>{for(let h of e.rules)(0,T0.shouldUseRule)(a,h)&&Vl(n,h.keyword,h.definition,e.type)})}function Mm(n,e){n.schemaEnv.meta||!n.opts.strictTypes||(Nm(n,e),n.opts.allowUnionTypes||Rm(n,e),Im(n,n.dataTypes))}function Nm(n,e){if(e.length){if(!n.dataTypes.length){n.dataTypes=e;return}e.forEach(s=>{Fl(n.dataTypes,s)||O0(n,`type "${s}" not allowed by context "${n.dataTypes.join(",")}"`)}),Qm(n,e)}}function Rm(n,e){e.length>1&&!(e.length===2&&e.includes("null"))&&O0(n,"use allowUnionTypes to allow union type keyword")}function Im(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=>qm(e,g))&&O0(n,`missing type "${h.join(",")}" for keyword "${a}"`)}}}function qm(n,e){return n.includes(e)||e==="number"&&n.includes("integer")}function Fl(n,e){return n.includes(e)||e==="integer"&&n.includes("number")}function Qm(n,e){let s=[];for(let a of n.dataTypes)Fl(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,Dt.checkStrictMode)(n,e,n.opts.strictTypes)}var Si=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,Dt.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",zl(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,Be.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,Be.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,Be._)`${s} !== undefined && (${(0,Be.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?Sn.reportExtraError:Sn.reportError)(this,this.def.error,s)}$dataError(){(0,Sn.reportError)(this,this.def.$dataError||Sn.keyword$DataError)}reset(){if(this.errsCount===void 0)throw new Error('add "trackErrors" to keyword definition');(0,Sn.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=Be.nil){this.gen.block(()=>{this.check$data(e,a),s()})}check$data(e=Be.nil,s=Be.nil){if(!this.$data)return;let{gen:a,schemaCode:c,schemaType:h,def:g}=this;a.if((0,Be.or)((0,Be._)`${c} === undefined`,s)),e!==Be.nil&&a.assign(e,!0),(h.length||g.validateSchema)&&(a.elseIf(this.invalid$data()),this.$dataError(),e!==Be.nil&&a.assign(e,!1)),a.else()}invalid$data(){let{gen:e,schemaCode:s,schemaType:a,def:c,it:h}=this;return(0,Be.or)(g(),m());function g(){if(a.length){if(!(s instanceof Be.Name))throw new Error("ajv implementation error");let v=Array.isArray(a)?a:[a];return(0,Be._)`${(0,Bi.checkDataTypes)(v,s,h.opts.strictNumbers,Bi.DataType.Wrong)}`}return Be.nil}function m(){if(c.validateSchema){let v=e.scopeValue("validate$data",{ref:c.validateSchema});return(0,Be._)`!${v}(${s})`}return Be.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 Bm(c,s),c}mergeEvaluated(e,s){let{it:a,gen:c}=this;a.opts.unevaluated&&(a.props!==!0&&e.props!==void 0&&(a.props=Dt.mergeEvaluated.props(c,e.props,a.props,s)),a.items!==!0&&e.items!==void 0&&(a.items=Dt.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,Be.Name)),!0}};Kt.KeywordCxt=Si;function Vl(n,e,s,a){let c=new Si(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 Hm=/^\/(?:[^~]|~0|~1)*$/,Lm=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function zl(n,{dataLevel:e,dataNames:s,dataPathArr:a}){let c,h;if(n==="")return Qe.default.rootData;if(n[0]==="/"){if(!Hm.test(n))throw new Error(`Invalid JSON-pointer: ${n}`);c=n,h=Qe.default.rootData}else{let b=Lm.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,Be._)`${h}${(0,Be.getProperty)((0,Dt.unescapeJsonPointer)(b))}`,g=(0,Be._)`${g} && ${h}`);return g;function v(b,w){return`Cannot access ${b} ${w} levels up, current level is ${e}`}}Kt.getData=zl});var Pi=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=Bn(),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(),Um=Pi(),pr=rt(),lt=Bn(),Kl=Ke(),Gm=Dn(),Ur=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=Ur;function Q0(n){let e=Yl.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:Um.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:pr.default.data,parentData:pr.default.parentData,parentDataProperty:pr.default.parentDataProperty,dataNames:[pr.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,Gm.validateFunctionCode)(b),g.optimize(this.opts.code.optimize);let E=g.toString();w=`${g.scopeRefs(pr.default.scope)}return ${E}`,this.opts.code.process&&(w=this.opts.code.process(w,n));let $=new Function(`${pr.default.self}`,`${pr.default.scope}`,w)(this,this.scope.get());if(this.scope.value(v,{ref:$}),$.errors=null,$.schema=n.schema,$.schemaEnv=n,n.$async&&($.$async=!0),this.opts.code.source===!0&&($.source={validateName:v,validateCode:E,scopeValues:g._values}),this.opts.unevaluated){let{props:D,items:x}=b;$.evaluated={props:D instanceof ut.Name?void 0:D,items:x instanceof ut.Name?void 0:x,dynamicProps:D instanceof ut.Name,dynamicItems:x instanceof ut.Name},$.source&&($.source.evaluated=(0,ut.stringify)($.evaluated))}return n.validate=$,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 Fm(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=Km.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 Ur({schema:g,schemaId:m,root:n,baseId:e}))}if(h!==void 0)return n.refs[s]=Vm.call(this,h)}it.resolveRef=Fm;function Vm(n){return(0,lt.inlineRef)(n.schema,this.opts.inlineRefs)?n.schema:n.validate?n:Q0.call(this,n)}function Yl(n){for(let e of this._compilations)if(zm(e,n))return e}it.getCompilingSchema=Yl;function zm(n,e){return n.schema===e.schema&&n.root===e.root&&n.baseId===e.baseId}function Km(n,e){let s;for(;typeof(s=this.refs[e])=="string";)e=s;return s||this.schemas[e]||Di.call(this,n,e)}function Di(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 q0.call(this,s,n);let h=(0,lt.normalizeId)(a),g=this.refs[h]||this.schemas[h];if(typeof g=="string"){let m=Di.call(this,n,g);return typeof m?.schema!="object"?void 0:q0.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 Ur({schema:m,schemaId:v,root:n,baseId:c})}return q0.call(this,s,g)}}it.resolveSchema=Di;var Ym=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function q0(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,Kl.unescapeFragment)(m)];if(v===void 0)return;s=v;let b=typeof s=="object"&&s[this.opts.schemaId];!Ym.has(m)&&b&&(e=(0,lt.resolveUrl)(this.opts.uriResolver,e,b))}let h;if(typeof s!="boolean"&&s.$ref&&!(0,Kl.schemaHasRulesButRef)(s,this.RULES)){let m=(0,lt.resolveUrl)(this.opts.uriResolver,e,s.$ref);h=Di.call(this,a,m)}let{schemaId:g}=this.opts;if(h=h||new Ur({schema:s,schemaId:g,root:a,baseId:e}),h.schema!==h.root.schema)return h}});var Wl=me((O_,Wm)=>{Wm.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 L0=me((j_,ef)=>{"use strict";var Jm=RegExp.prototype.test.bind(/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu),Zl=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);function H0(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 Zm=RegExp.prototype.test.bind(/[^!"$&'()*+,\-.;=_`a-z{}~]/u);function Jl(n){return n.length=0,!0}function Xm(n,e,s){if(n.length){let a=H0(n);if(a!=="")e.push(a);else return s.error=!0,!1;n.length=0}return!0}function ey(n){let e=0,s={error:!1,address:"",zone:""},a=[],c=[],h=!1,g=!1,m=Xm;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=Jl}else{c.push(b);continue}}return c.length&&(m===Jl?s.zone=c.join(""):g?a.push(c.join("")):a.push(H0(c))),s.address=a.join(""),s}function Xl(n){if(Ay(n,":")<2)return{host:n,isIPV6:!1};let e=ey(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 Ay(n,e){let s=0;for(let a=0;a<n.length;a++)n[a]===e&&s++;return s}function ty(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("")}function ry(n,e){let s=e!==!0?escape:unescape;return n.scheme!==void 0&&(n.scheme=s(n.scheme)),n.userinfo!==void 0&&(n.userinfo=s(n.userinfo)),n.host!==void 0&&(n.host=s(n.host)),n.path!==void 0&&(n.path=s(n.path)),n.query!==void 0&&(n.query=s(n.query)),n.fragment!==void 0&&(n.fragment=s(n.fragment)),n}function ny(n){let e=[];if(n.userinfo!==void 0&&(e.push(n.userinfo),e.push("@")),n.host!==void 0){let s=unescape(n.host);if(!Zl(s)){let a=Xl(s);a.isIPV6===!0?s=`[${a.escapedHost}]`:s=n.host}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}ef.exports={nonSimpleDomain:Zm,recomposeAuthority:ny,normalizeComponentEncoding:ry,removeDotSegments:ty,isIPv4:Zl,isUUID:Jm,normalizeIPv6:Xl,stringArrayToHexStripped:H0}});var of=me((M_,nf)=>{"use strict";var{isUUID:iy}=L0(),oy=/([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu,sy=["http","https","ws","wss","urn","urn:uuid"];function ay(n){return sy.indexOf(n)!==-1}function U0(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 Af(n){return n.host||(n.error=n.error||"HTTP URIs must have a host."),n}function tf(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 uy(n){return n.secure=U0(n),n.resourceName=(n.path||"/")+(n.query?"?"+n.query:""),n.path=void 0,n.query=void 0,n}function ly(n){if((n.port===(U0(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 fy(n,e){if(!n.path)return n.error="URN can not be parsed",n;let s=n.path.match(oy);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=G0(c);n.path=void 0,h&&(n=h.parse(n,e))}else n.error=n.error||"URN can not be parsed.";return n}function cy(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=G0(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 dy(n,e){let s=n;return s.uuid=s.nss,s.nss=void 0,!e.tolerant&&(!s.uuid||!iy(s.uuid))&&(s.error=s.error||"UUID is not valid."),s}function hy(n){let e=n;return e.nss=(n.uuid||"").toLowerCase(),e}var rf={scheme:"http",domainHost:!0,parse:Af,serialize:tf},py={scheme:"https",domainHost:rf.domainHost,parse:Af,serialize:tf},Ci={scheme:"ws",domainHost:!0,parse:uy,serialize:ly},gy={scheme:"wss",domainHost:Ci.domainHost,parse:Ci.parse,serialize:Ci.serialize},my={scheme:"urn",parse:fy,serialize:cy,skipNormalize:!0},yy={scheme:"urn:uuid",parse:dy,serialize:hy,skipNormalize:!0},Ti={http:rf,https:py,ws:Ci,wss:gy,urn:my,"urn:uuid":yy};Object.setPrototypeOf(Ti,null);function G0(n){return n&&(Ti[n]||Ti[n.toLowerCase()])||void 0}nf.exports={wsIsSecure:U0,SCHEMES:Ti,isValidSchemeName:ay,getSchemeHandler:G0}});var uf=me((N_,ji)=>{"use strict";var{normalizeIPv6:wy,removeDotSegments:On,recomposeAuthority:vy,normalizeComponentEncoding:Oi,isIPv4:by,nonSimpleDomain:_y}=L0(),{SCHEMES:Ey,getSchemeHandler:sf}=of();function ky(n,e){return typeof n=="string"?n=Et(Ct(n,e),e):typeof n=="object"&&(n=Ct(Et(n,e),e)),n}function $y(n,e,s){let a=s?Object.assign({scheme:"null"},s):{scheme:"null"},c=af(Ct(n,a),Ct(e,a),a,!0);return a.skipEscape=!0,Et(c,a)}function af(n,e,s,a){let c={};return a||(n=Ct(Et(n,s),s),e=Ct(Et(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 xy(n,e,s){return typeof n=="string"?(n=unescape(n),n=Et(Oi(Ct(n,s),!0),{...s,skipEscape:!0})):typeof n=="object"&&(n=Et(Oi(n,!0),{...s,skipEscape:!0})),typeof e=="string"?(e=unescape(e),e=Et(Oi(Ct(e,s),!0),{...s,skipEscape:!0})):typeof e=="object"&&(e=Et(Oi(e,!0),{...s,skipEscape:!0})),n.toLowerCase()===e.toLowerCase()}function Et(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=sf(a.scheme||s.scheme);h&&h.serialize&&h.serialize(s,a),s.path!==void 0&&(a.skipEscape?s.path=unescape(s.path):(s.path=escape(s.path),s.scheme!==void 0&&(s.path=s.path.split("%3A").join(":")))),a.reference!=="suffix"&&s.scheme&&c.push(s.scheme,":");let g=vy(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 By=/^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u;function Ct(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;s.reference==="suffix"&&(s.scheme?n=s.scheme+":"+n:n="//"+n);let h=n.match(By);if(h){if(a.scheme=h[1],a.userinfo=h[3],a.host=h[4],a.port=parseInt(h[5],10),a.path=h[6]||"",a.query=h[7],a.fragment=h[8],isNaN(a.port)&&(a.port=h[5]),a.host)if(by(a.host)===!1){let v=wy(a.host);a.host=v.host.toLowerCase(),c=v.isIPV6}else c=!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 g=sf(s.scheme||a.scheme);if(!s.unicodeSupport&&(!g||!g.unicodeSupport)&&a.host&&(s.domainHost||g&&g.domainHost)&&c===!1&&_y(a.host))try{a.host=URL.domainToASCII(a.host.toLowerCase())}catch(m){a.error=a.error||"Host's domain name can not be converted to ASCII: "+m}(!g||g&&!g.skipNormalize)&&(n.indexOf("%")!==-1&&(a.scheme!==void 0&&(a.scheme=unescape(a.scheme)),a.host!==void 0&&(a.host=unescape(a.host))),a.path&&(a.path=escape(unescape(a.path))),a.fragment&&(a.fragment=encodeURI(decodeURIComponent(a.fragment)))),g&&g.parse&&g.parse(a,s)}else a.error=a.error||"URI can not be parsed.";return a}var F0={SCHEMES:Ey,normalize:ky,resolve:$y,resolveComponent:af,equal:xy,serialize:Et,parse:Ct};ji.exports=F0;ji.exports.default=F0;ji.exports.fastUri=F0});var ff=me(V0=>{"use strict";Object.defineProperty(V0,"__esModule",{value:!0});var lf=uf();lf.code='require("ajv/dist/runtime/uri").default';V0.default=lf});var wf=me(BA=>{"use strict";Object.defineProperty(BA,"__esModule",{value:!0});BA.CodeGen=BA.Name=BA.nil=BA.stringify=BA.str=BA._=BA.KeywordCxt=void 0;var Sy=Dn();Object.defineProperty(BA,"KeywordCxt",{enumerable:!0,get:function(){return Sy.KeywordCxt}});var Gr=Ue();Object.defineProperty(BA,"_",{enumerable:!0,get:function(){return Gr._}});Object.defineProperty(BA,"str",{enumerable:!0,get:function(){return Gr.str}});Object.defineProperty(BA,"stringify",{enumerable:!0,get:function(){return Gr.stringify}});Object.defineProperty(BA,"nil",{enumerable:!0,get:function(){return Gr.nil}});Object.defineProperty(BA,"Name",{enumerable:!0,get:function(){return Gr.Name}});Object.defineProperty(BA,"CodeGen",{enumerable:!0,get:function(){return Gr.CodeGen}});var Py=Pi(),gf=Cn(),Dy=b0(),jn=Tn(),Cy=Ue(),Mn=Bn(),Mi=xn(),K0=Ke(),cf=Wl(),Ty=ff(),mf=(n,e)=>new RegExp(n,e);mf.code="new RegExp";var Oy=["removeAdditional","useDefaults","coerceTypes"],jy=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),My={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."},Ny={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},df=200;function Ry(n){var e,s,a,c,h,g,m,v,b,w,E,k,$,D,x,N,M,Q,L,V,K,W,se,U,z;let we=n.strict,pe=(e=n.code)===null||e===void 0?void 0:e.optimize,C=pe===!0||pe===void 0?1:pe||0,P=(a=(s=n.code)===null||s===void 0?void 0:s.regExp)!==null&&a!==void 0?a:mf,T=(c=n.uriResolver)!==null&&c!==void 0?c:Ty.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:(k=(E=n.strictTuples)!==null&&E!==void 0?E:we)!==null&&k!==void 0?k:"log",strictRequired:(D=($=n.strictRequired)!==null&&$!==void 0?$:we)!==null&&D!==void 0?D:!1,code:n.code?{...n.code,optimize:C,regExp:P}:{optimize:C,regExp:P},loopRequired:(x=n.loopRequired)!==null&&x!==void 0?x:df,loopEnum:(N=n.loopEnum)!==null&&N!==void 0?N:df,meta:(M=n.meta)!==null&&M!==void 0?M:!0,messages:(Q=n.messages)!==null&&Q!==void 0?Q:!0,inlineRefs:(L=n.inlineRefs)!==null&&L!==void 0?L:!0,schemaId:(V=n.schemaId)!==null&&V!==void 0?V:"$id",addUsedSchema:(K=n.addUsedSchema)!==null&&K!==void 0?K:!0,validateSchema:(W=n.validateSchema)!==null&&W!==void 0?W:!0,validateFormats:(se=n.validateFormats)!==null&&se!==void 0?se:!0,unicodeRegExp:(U=n.unicodeRegExp)!==null&&U!==void 0?U:!0,int32range:(z=n.int32range)!==null&&z!==void 0?z:!0,uriResolver:T}}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,...Ry(e)};let{es5:s,lines:a}=this.opts.code;this.scope=new Cy.ValueScope({scope:{},prefixes:jy,es5:s,lines:a}),this.logger=Uy(e.logger);let c=e.validateFormats;e.validateFormats=!1,this.RULES=(0,Dy.getRules)(),hf.call(this,My,e,"NOT SUPPORTED"),hf.call(this,Ny,e,"DEPRECATED","warn"),this._metaOpts=Hy.call(this),e.formats&&qy.call(this),this._addVocabularies(),this._addDefaultMetaSchema(),e.keywords&&Qy.call(this,e.keywords),typeof e.meta=="object"&&this.addMetaSchema(e.meta),Iy.call(this),e.validateFormats=c}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){let{$data:e,meta:s,schemaId:a}=this.opts,c=cf;a==="id"&&(c={...cf},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 k=this._addSchema(w,E);return k.validate||g.call(this,k)}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 gf.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,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=pf.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=pf.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(Fy.call(this,a,s),!s)return(0,K0.eachItem)(a,h=>z0.call(this,h)),this;zy.call(this,s);let c={...s,type:(0,Mi.getJSONTypes)(s.type),schemaType:(0,Mi.getJSONTypes)(s.schemaType)};return(0,K0.eachItem)(a,c.type.length===0?h=>z0.call(this,h,c):h=>c.type.forEach(g=>z0.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]=yf(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=Py.default;Nn.MissingRefError=gf.default;BA.default=Nn;function hf(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 pf(n){return n=(0,Mn.normalizeId)(n),this.schemas[n]||this.refs[n]}function Iy(){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 qy(){for(let n in this.opts.formats){let e=this.opts.formats[n];e&&this.addFormat(n,e)}}function Qy(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 Hy(){let n={...this.opts};for(let e of Oy)delete n[e];return n}var Ly={log(){},warn(){},error(){}};function Uy(n){if(n===!1)return Ly;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 Gy=/^[a-z_$][a-z0-9_$:-]*$/i;function Fy(n,e){let{RULES:s}=this;if((0,K0.eachItem)(n,a=>{if(s.keywords[a])throw new Error(`Keyword ${a} is already defined`);if(!Gy.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 z0(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?Vy.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 Vy(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 zy(n){let{metaSchema:e}=n;e!==void 0&&(n.$data&&this.opts.$data&&(e=yf(e)),n.validateSchema=this.compile(e,!0))}var Ky={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function yf(n){return{anyOf:[n,Ky]}}});var vf=me(Y0=>{"use strict";Object.defineProperty(Y0,"__esModule",{value:!0});var Yy={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};Y0.default=Yy});var Ii=me(gr=>{"use strict";Object.defineProperty(gr,"__esModule",{value:!0});gr.callRef=gr.getValidate=void 0;var Wy=Cn(),bf=nt(),YA=Ue(),Fr=rt(),_f=Tn(),Ni=Ke(),Jy={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=_f.resolveRef.call(v,b,c,s);if(w===void 0)throw new Wy.default(a.opts.uriResolver,c,s);if(w instanceof _f.SchemaEnv)return k(w);return $(w);function E(){if(h===b)return Ri(n,g,h,h.$async);let D=e.scopeValue("root",{ref:b});return Ri(n,(0,YA._)`${D}.validate`,b,b.$async)}function k(D){let x=Ef(n,D);Ri(n,x,D,D.$async)}function $(D){let x=e.scopeValue("schema",m.code.source===!0?{ref:D,code:(0,YA.stringify)(D)}:{ref:D}),N=e.name("valid"),M=n.subschema({schema:D,dataTypes:[],schemaPath:YA.nil,topSchemaRef:x,errSchemaPath:s},N);n.mergeEvaluated(M),n.ok(N)}}};function Ef(n,e){let{gen:s}=n;return e.validate?s.scopeValue("validate",{ref:e.validate}):(0,YA._)`${s.scopeValue("wrapper",{ref:e})}.validate`}gr.getValidate=Ef;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 D=c.let("valid");c.try(()=>{c.code((0,YA._)`await ${(0,bf.callValidateCode)(n,e,b)}`),$(e),g||c.assign(D,!0)},x=>{c.if((0,YA._)`!(${x} instanceof ${h.ValidationError})`,()=>c.throw(x)),k(x),g||c.assign(D,!1)}),n.ok(D)}function E(){n.result((0,bf.callValidateCode)(n,e,b),()=>$(e),()=>k(e))}function k(D){let x=(0,YA._)`${D}.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 $(D){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 M=c.var("props",(0,YA._)`${D}.evaluated.props`);h.props=Ni.mergeEvaluated.props(c,M,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 M=c.var("items",(0,YA._)`${D}.evaluated.items`);h.items=Ni.mergeEvaluated.items(c,M,h.items,YA.Name)}}}gr.callRef=Ri;gr.default=Jy});var kf=me(W0=>{"use strict";Object.defineProperty(W0,"__esModule",{value:!0});var Zy=vf(),Xy=Ii(),ew=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",Zy.default,Xy.default];W0.default=ew});var $f=me(J0=>{"use strict";Object.defineProperty(J0,"__esModule",{value:!0});var qi=Ue(),Yt=qi.operators,Qi={maximum:{okStr:"<=",ok:Yt.LTE,fail:Yt.GT},minimum:{okStr:">=",ok:Yt.GTE,fail:Yt.LT},exclusiveMaximum:{okStr:"<",ok:Yt.LT,fail:Yt.GTE},exclusiveMinimum:{okStr:">",ok:Yt.GT,fail:Yt.LTE}},Aw={message:({keyword:n,schemaCode:e})=>(0,qi.str)`must be ${Qi[n].okStr} ${e}`,params:({keyword:n,schemaCode:e})=>(0,qi._)`{comparison: ${Qi[n].okStr}, limit: ${e}}`},tw={keyword:Object.keys(Qi),type:"number",schemaType:"number",$data:!0,error:Aw,code(n){let{keyword:e,data:s,schemaCode:a}=n;n.fail$data((0,qi._)`${s} ${Qi[e].fail} ${a} || isNaN(${s})`)}};J0.default=tw});var xf=me(Z0=>{"use strict";Object.defineProperty(Z0,"__esModule",{value:!0});var Rn=Ue(),rw={message:({schemaCode:n})=>(0,Rn.str)`must be multiple of ${n}`,params:({schemaCode:n})=>(0,Rn._)`{multipleOf: ${n}}`},nw={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:rw,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}))`)}};Z0.default=nw});var Sf=me(X0=>{"use strict";Object.defineProperty(X0,"__esModule",{value:!0});function Bf(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}X0.default=Bf;Bf.code='require("ajv/dist/runtime/ucs2length").default'});var Pf=me(es=>{"use strict";Object.defineProperty(es,"__esModule",{value:!0});var mr=Ue(),iw=Ke(),ow=Sf(),sw={message({keyword:n,schemaCode:e}){let s=n==="maxLength"?"more":"fewer";return(0,mr.str)`must NOT have ${s} than ${e} characters`},params:({schemaCode:n})=>(0,mr._)`{limit: ${n}}`},aw={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:sw,code(n){let{keyword:e,data:s,schemaCode:a,it:c}=n,h=e==="maxLength"?mr.operators.GT:mr.operators.LT,g=c.opts.unicode===!1?(0,mr._)`${s}.length`:(0,mr._)`${(0,iw.useFunc)(n.gen,ow.default)}(${s})`;n.fail$data((0,mr._)`${g} ${h} ${a}`)}};es.default=aw});var Df=me(As=>{"use strict";Object.defineProperty(As,"__esModule",{value:!0});var uw=nt(),lw=Ke(),Vr=Ue(),fw={message:({schemaCode:n})=>(0,Vr.str)`must match pattern "${n}"`,params:({schemaCode:n})=>(0,Vr._)`{pattern: ${n}}`},cw={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:fw,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,lw.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,uw.usePattern)(n,c);n.fail$data((0,Vr._)`!${v}.test(${s})`)}}};As.default=cw});var Cf=me(ts=>{"use strict";Object.defineProperty(ts,"__esModule",{value:!0});var In=Ue(),dw={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}}`},hw={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:dw,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}`)}};ts.default=hw});var Tf=me(rs=>{"use strict";Object.defineProperty(rs,"__esModule",{value:!0});var qn=nt(),Qn=Ue(),pw=Ke(),gw={message:({params:{missingProperty:n}})=>(0,Qn.str)`must have required property '${n}'`,params:({params:{missingProperty:n}})=>(0,Qn._)`{missingProperty: ${n}}`},mw={keyword:"required",type:"object",schemaType:"array",$data:!0,error:gw,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 $=n.parentSchema.properties,{definedProperties:D}=n.it;for(let x of s)if($?.[x]===void 0&&!D.has(x)){let N=g.schemaEnv.baseId+g.errSchemaPath,M=`required property "${x}" is not defined at "${N}" (strictRequired)`;(0,pw.checkStrictMode)(g,M,g.opts.strictRequired)}}function b(){if(v||h)n.block$data(Qn.nil,E);else for(let $ of s)(0,qn.checkReportMissingProp)(n,$)}function w(){let $=e.let("missing");if(v||h){let D=e.let("valid",!0);n.block$data(D,()=>k($,D)),n.ok(D)}else e.if((0,qn.checkMissingProp)(n,s,$)),(0,qn.reportMissingProp)(n,$),e.else()}function E(){e.forOf("prop",a,$=>{n.setParams({missingProperty:$}),e.if((0,qn.noPropertyInData)(e,c,$,m.ownProperties),()=>n.error())})}function k($,D){n.setParams({missingProperty:$}),e.forOf($,a,()=>{e.assign(D,(0,qn.propertyInData)(e,c,$,m.ownProperties)),e.if((0,Qn.not)(D),()=>{n.error(),e.break()})},Qn.nil)}}};rs.default=mw});var Of=me(ns=>{"use strict";Object.defineProperty(ns,"__esModule",{value:!0});var Hn=Ue(),yw={message({keyword:n,schemaCode:e}){let s=n==="maxItems"?"more":"fewer";return(0,Hn.str)`must NOT have ${s} than ${e} items`},params:({schemaCode:n})=>(0,Hn._)`{limit: ${n}}`},ww={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:yw,code(n){let{keyword:e,data:s,schemaCode:a}=n,c=e==="maxItems"?Hn.operators.GT:Hn.operators.LT;n.fail$data((0,Hn._)`${s}.length ${c} ${a}`)}};ns.default=ww});var Hi=me(is=>{"use strict";Object.defineProperty(is,"__esModule",{value:!0});var jf=P0();jf.code='require("ajv/dist/runtime/equal").default';is.default=jf});var Mf=me(ss=>{"use strict";Object.defineProperty(ss,"__esModule",{value:!0});var os=xn(),SA=Ue(),vw=Ke(),bw=Hi(),_w={message:({params:{i:n,j:e}})=>(0,SA.str)`must NOT have duplicate items (items ## ${e} and ${n} are identical)`,params:({params:{i:n,j:e}})=>(0,SA._)`{i: ${n}, j: ${e}}`},Ew={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:_w,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,os.getSchemaTypes)(h.items):[];n.block$data(v,w,(0,SA._)`${g} === false`),n.ok(v);function w(){let D=e.let("i",(0,SA._)`${s}.length`),x=e.let("j");n.setParams({i:D,j:x}),e.assign(v,!0),e.if((0,SA._)`${D} > 1`,()=>(E()?k:$)(D,x))}function E(){return b.length>0&&!b.some(D=>D==="object"||D==="array")}function k(D,x){let N=e.name("item"),M=(0,os.checkDataTypes)(b,N,m.opts.strictNumbers,os.DataType.Wrong),Q=e.const("indices",(0,SA._)`{}`);e.for((0,SA._)`;${D}--;`,()=>{e.let(N,(0,SA._)`${s}[${D}]`),e.if(M,(0,SA._)`continue`),b.length>1&&e.if((0,SA._)`typeof ${N} == "string"`,(0,SA._)`${N} += "_"`),e.if((0,SA._)`typeof ${Q}[${N}] == "number"`,()=>{e.assign(x,(0,SA._)`${Q}[${N}]`),n.error(),e.assign(v,!1).break()}).code((0,SA._)`${Q}[${N}] = ${D}`)})}function $(D,x){let N=(0,vw.useFunc)(e,bw.default),M=e.name("outer");e.label(M).for((0,SA._)`;${D}--;`,()=>e.for((0,SA._)`${x} = ${D}; ${x}--;`,()=>e.if((0,SA._)`${N}(${s}[${D}], ${s}[${x}])`,()=>{n.error(),e.assign(v,!1).break(M)})))}}};ss.default=Ew});var Nf=me(us=>{"use strict";Object.defineProperty(us,"__esModule",{value:!0});var as=Ue(),kw=Ke(),$w=Hi(),xw={message:"must be equal to constant",params:({schemaCode:n})=>(0,as._)`{allowedValue: ${n}}`},Bw={keyword:"const",$data:!0,error:xw,code(n){let{gen:e,data:s,$data:a,schemaCode:c,schema:h}=n;a||h&&typeof h=="object"?n.fail$data((0,as._)`!${(0,kw.useFunc)(e,$w.default)}(${s}, ${c})`):n.fail((0,as._)`${h} !== ${s}`)}};us.default=Bw});var Rf=me(ls=>{"use strict";Object.defineProperty(ls,"__esModule",{value:!0});var Ln=Ue(),Sw=Ke(),Pw=Hi(),Dw={message:"must be equal to one of the allowed values",params:({schemaCode:n})=>(0,Ln._)`{allowedValues: ${n}}`},Cw={keyword:"enum",schemaType:"array",$data:!0,error:Dw,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,Sw.useFunc)(e,Pw.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 $=e.const("vSchema",h);w=(0,Ln.or)(...c.map((D,x)=>k($,x)))}n.pass(w);function E(){e.assign(w,!1),e.forOf("v",h,$=>e.if((0,Ln._)`${b()}(${s}, ${$})`,()=>e.assign(w,!0).break()))}function k($,D){let x=c[D];return typeof x=="object"&&x!==null?(0,Ln._)`${b()}(${s}, ${$}[${D}])`:(0,Ln._)`${s} === ${x}`}}};ls.default=Cw});var If=me(fs=>{"use strict";Object.defineProperty(fs,"__esModule",{value:!0});var Tw=$f(),Ow=xf(),jw=Pf(),Mw=Df(),Nw=Cf(),Rw=Tf(),Iw=Of(),qw=Mf(),Qw=Nf(),Hw=Rf(),Lw=[Tw.default,Ow.default,jw.default,Mw.default,Nw.default,Rw.default,Iw.default,qw.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},Qw.default,Hw.default];fs.default=Lw});var ds=me(Un=>{"use strict";Object.defineProperty(Un,"__esModule",{value:!0});Un.validateAdditionalItems=void 0;var yr=Ue(),cs=Ke(),Uw={message:({params:{len:n}})=>(0,yr.str)`must NOT have more than ${n} items`,params:({params:{len:n}})=>(0,yr._)`{limit: ${n}}`},Gw={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:Uw,code(n){let{parentSchema:e,it:s}=n,{items:a}=e;if(!Array.isArray(a)){(0,cs.checkStrictMode)(s,'"additionalItems" is ignored when "items" is not an array of schemas');return}qf(n,a)}};function qf(n,e){let{gen:s,schema:a,data:c,keyword:h,it:g}=n;g.items=!0;let m=s.const("len",(0,yr._)`${c}.length`);if(a===!1)n.setParams({len:e.length}),n.pass((0,yr._)`${m} <= ${e.length}`);else if(typeof a=="object"&&!(0,cs.alwaysValidSchema)(g,a)){let b=s.var("valid",(0,yr._)`${m} <= ${e.length}`);s.if((0,yr.not)(b),()=>v(b)),n.ok(b)}function v(b){s.forRange("i",e.length,m,w=>{n.subschema({keyword:h,dataProp:w,dataPropType:cs.Type.Num},b),g.allErrors||s.if((0,yr.not)(b),()=>s.break())})}}Un.validateAdditionalItems=qf;Un.default=Gw});var hs=me(Gn=>{"use strict";Object.defineProperty(Gn,"__esModule",{value:!0});Gn.validateTuple=void 0;var Qf=Ue(),Li=Ke(),Fw=nt(),Vw={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(n){let{schema:e,it:s}=n;if(Array.isArray(e))return Hf(n,"additionalItems",e);s.items=!0,!(0,Li.alwaysValidSchema)(s,e)&&n.ok((0,Fw.validateArray)(n))}};function Hf(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,Qf._)`${h}.length`);s.forEach((E,k)=>{(0,Li.alwaysValidSchema)(m,E)||(a.if((0,Qf._)`${b} > ${k}`,()=>n.subschema({keyword:g,schemaProp:k,dataProp:k},v)),n.ok(v))});function w(E){let{opts:k,errSchemaPath:$}=m,D=s.length,x=D===E.minItems&&(D===E.maxItems||E[e]===!1);if(k.strictTuples&&!x){let N=`"${g}" is ${D}-tuple, but minItems or maxItems/${e} are not specified or different at path "${$}"`;(0,Li.checkStrictMode)(m,N,k.strictTuples)}}}Gn.validateTuple=Hf;Gn.default=Vw});var Lf=me(ps=>{"use strict";Object.defineProperty(ps,"__esModule",{value:!0});var zw=hs(),Kw={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:n=>(0,zw.validateTuple)(n,"items")};ps.default=Kw});var Gf=me(gs=>{"use strict";Object.defineProperty(gs,"__esModule",{value:!0});var Uf=Ue(),Yw=Ke(),Ww=nt(),Jw=ds(),Zw={message:({params:{len:n}})=>(0,Uf.str)`must NOT have more than ${n} items`,params:({params:{len:n}})=>(0,Uf._)`{limit: ${n}}`},Xw={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:Zw,code(n){let{schema:e,parentSchema:s,it:a}=n,{prefixItems:c}=s;a.items=!0,!(0,Yw.alwaysValidSchema)(a,e)&&(c?(0,Jw.validateAdditionalItems)(n,c):n.ok((0,Ww.validateArray)(n)))}};gs.default=Xw});var Ff=me(ms=>{"use strict";Object.defineProperty(ms,"__esModule",{value:!0});var ot=Ue(),Ui=Ke(),ev={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}}`},Av={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:ev,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?$(E,()=>e.if(E,()=>e.break())):g===0?(e.let(E,!0),m!==void 0&&e.if((0,ot._)`${c}.length > 0`,k)):(e.let(E,!1),k()),n.result(E,()=>n.reset());function k(){let x=e.name("_valid"),N=e.let("count",0);$(x,()=>e.if(x,()=>D(N)))}function $(x,N){e.forRange("i",0,w,M=>{n.subschema({keyword:"contains",dataProp:M,dataPropType:Ui.Type.Num,compositeRule:!0},x),N()})}function D(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)))}}};ms.default=Av});var Gi=me(kt=>{"use strict";Object.defineProperty(kt,"__esModule",{value:!0});kt.validateSchemaDeps=kt.validatePropertyDeps=kt.error=void 0;var ys=Ue(),tv=Ke(),Fn=nt();kt.error={message:({params:{property:n,depsCount:e,deps:s}})=>{let a=e===1?"property":"properties";return(0,ys.str)`must have ${a} ${s} when property ${n} is present`},params:({params:{property:n,depsCount:e,deps:s,missingProperty:a}})=>(0,ys._)`{property: ${n},
|
|
7
|
+
missingProperty: ${a},
|
|
8
8
|
depsCount: ${e},
|
|
9
|
-
deps: ${i}}`};var K4={keyword:"dependencies",type:"object",schemaType:"object",error:KA.error,code(n){let[e,i]=W4(n);lp(n,e),up(n,i)}};function W4({schema:n}){let e={},i={};for(let o in n){if(o==="__proto__")continue;let f=Array.isArray(n[o])?e:i;f[o]=n[o]}return[e,i]}function lp(n,e=n.schema){let{gen:i,data:o,it:f}=n;if(Object.keys(e).length===0)return;let h=i.let("missing");for(let m in e){let y=e[m];if(y.length===0)continue;let E=(0,Zs.propertyInData)(i,o,m,f.opts.ownProperties);n.setParams({property:m,depsCount:y.length,deps:y.join(", ")}),f.allErrors?i.if(E,()=>{for(let b of y)(0,Zs.checkReportMissingProp)(n,b)}):(i.if((0,gu._)`${E} && (${(0,Zs.checkMissingProp)(n,y,h)})`),(0,Zs.reportMissingProp)(n,h),i.else())}}KA.validatePropertyDeps=lp;function up(n,e=n.schema){let{gen:i,data:o,keyword:f,it:h}=n,m=i.name("valid");for(let y in e)(0,J4.alwaysValidSchema)(h,e[y])||(i.if((0,Zs.propertyInData)(i,o,y,h.opts.ownProperties),()=>{let E=n.subschema({keyword:f,schemaProp:y},m);n.mergeValidEvaluated(E,m)},()=>i.var(m,!0)),n.ok(m))}KA.validateSchemaDeps=up;KA.default=K4});var cp=ge(yu=>{"use strict";Object.defineProperty(yu,"__esModule",{value:!0});var fp=Ge(),Y4=Xe(),X4={message:"property name must be valid",params:({params:n})=>(0,fp._)`{propertyName: ${n.propertyName}}`},Z4={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:X4,code(n){let{gen:e,schema:i,data:o,it:f}=n;if((0,Y4.alwaysValidSchema)(f,i))return;let h=e.name("valid");e.forIn("key",o,m=>{n.setParams({propertyName:m}),n.subschema({keyword:"propertyNames",data:m,dataTypes:["string"],propertyName:m,compositeRule:!0},h),e.if((0,fp.not)(h),()=>{n.error(!0),f.allErrors||e.break()})}),n.ok(h)}};yu.default=Z4});var _u=ge(wu=>{"use strict";Object.defineProperty(wu,"__esModule",{value:!0});var _a=gA(),kA=Ge(),e3=mA(),va=Xe(),t3={message:"must NOT have additional properties",params:({params:n})=>(0,kA._)`{additionalProperty: ${n.additionalProperty}}`},A3={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:t3,code(n){let{gen:e,schema:i,parentSchema:o,data:f,errsCount:h,it:m}=n;if(!h)throw new Error("ajv implementation error");let{allErrors:y,opts:E}=m;if(m.props=!0,E.removeAdditional!=="all"&&(0,va.alwaysValidSchema)(m,i))return;let b=(0,_a.allSchemaProperties)(o.properties),_=(0,_a.allSchemaProperties)(o.patternProperties);v(),n.ok((0,kA._)`${h} === ${e3.default.errors}`);function v(){e.forIn("key",f,B=>{!b.length&&!_.length?R(B):e.if(P(B),()=>R(B))})}function P(B){let T;if(b.length>8){let I=(0,va.schemaRefOrVal)(m,o.properties,"properties");T=(0,_a.isOwnProperty)(e,I,B)}else b.length?T=(0,kA.or)(...b.map(I=>(0,kA._)`${B} === ${I}`)):T=kA.nil;return _.length&&(T=(0,kA.or)(T,..._.map(I=>(0,kA._)`${(0,_a.usePattern)(n,I)}.test(${B})`))),(0,kA.not)(T)}function S(B){e.code((0,kA._)`delete ${f}[${B}]`)}function R(B){if(E.removeAdditional==="all"||E.removeAdditional&&i===!1){S(B);return}if(i===!1){n.setParams({additionalProperty:B}),n.error(),y||e.break();return}if(typeof i=="object"&&!(0,va.alwaysValidSchema)(m,i)){let T=e.name("valid");E.removeAdditional==="failing"?($(B,T,!1),e.if((0,kA.not)(T),()=>{n.reset(),S(B)})):($(B,T),y||e.if((0,kA.not)(T),()=>e.break()))}}function $(B,T,I){let q={keyword:"additionalProperties",dataProp:B,dataPropType:va.Type.Str};I===!1&&Object.assign(q,{compositeRule:!0,createErrors:!1,allErrors:!1}),n.subschema(q,T)}}};wu.default=A3});var pp=ge(bu=>{"use strict";Object.defineProperty(bu,"__esModule",{value:!0});var r3=Ns(),dp=gA(),vu=Xe(),hp=_u(),n3={keyword:"properties",type:"object",schemaType:"object",code(n){let{gen:e,schema:i,parentSchema:o,data:f,it:h}=n;h.opts.removeAdditional==="all"&&o.additionalProperties===void 0&&hp.default.code(new r3.KeywordCxt(h,hp.default,"additionalProperties"));let m=(0,dp.allSchemaProperties)(i);for(let v of m)h.definedProperties.add(v);h.opts.unevaluated&&m.length&&h.props!==!0&&(h.props=vu.mergeEvaluated.props(e,(0,vu.toHash)(m),h.props));let y=m.filter(v=>!(0,vu.alwaysValidSchema)(h,i[v]));if(y.length===0)return;let E=e.name("valid");for(let v of y)b(v)?_(v):(e.if((0,dp.propertyInData)(e,f,v,h.opts.ownProperties)),_(v),h.allErrors||e.else().var(E,!0),e.endIf()),n.it.definedProperties.add(v),n.ok(E);function b(v){return h.opts.useDefaults&&!h.compositeRule&&i[v].default!==void 0}function _(v){n.subschema({keyword:"properties",schemaProp:v,dataProp:v},E)}}};bu.default=n3});var wp=ge(Eu=>{"use strict";Object.defineProperty(Eu,"__esModule",{value:!0});var mp=gA(),ba=Ge(),gp=Xe(),yp=Xe(),i3={keyword:"patternProperties",type:"object",schemaType:"object",code(n){let{gen:e,schema:i,data:o,parentSchema:f,it:h}=n,{opts:m}=h,y=(0,mp.allSchemaProperties)(i),E=y.filter($=>(0,gp.alwaysValidSchema)(h,i[$]));if(y.length===0||E.length===y.length&&(!h.opts.unevaluated||h.props===!0))return;let b=m.strictSchema&&!m.allowMatchingProperties&&f.properties,_=e.name("valid");h.props!==!0&&!(h.props instanceof ba.Name)&&(h.props=(0,yp.evaluatedPropsToName)(e,h.props));let{props:v}=h;P();function P(){for(let $ of y)b&&S($),h.allErrors?R($):(e.var(_,!0),R($),e.if(_))}function S($){for(let B in b)new RegExp($).test(B)&&(0,gp.checkStrictMode)(h,`property ${B} matches pattern ${$} (use allowMatchingProperties)`)}function R($){e.forIn("key",o,B=>{e.if((0,ba._)`${(0,mp.usePattern)(n,$)}.test(${B})`,()=>{let T=E.includes($);T||n.subschema({keyword:"patternProperties",schemaProp:$,dataProp:B,dataPropType:yp.Type.Str},_),h.opts.unevaluated&&v!==!0?e.assign((0,ba._)`${v}[${B}]`,!0):!T&&!h.allErrors&&e.if((0,ba.not)(_),()=>e.break())})})}}};Eu.default=i3});var _p=ge($u=>{"use strict";Object.defineProperty($u,"__esModule",{value:!0});var s3=Xe(),o3={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(n){let{gen:e,schema:i,it:o}=n;if((0,s3.alwaysValidSchema)(o,i)){n.fail();return}let f=e.name("valid");n.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},f),n.failResult(f,()=>n.reset(),()=>n.error())},error:{message:"must NOT be valid"}};$u.default=o3});var vp=ge(Pu=>{"use strict";Object.defineProperty(Pu,"__esModule",{value:!0});var a3=gA(),l3={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:a3.validateUnion,error:{message:"must match a schema in anyOf"}};Pu.default=l3});var bp=ge(ku=>{"use strict";Object.defineProperty(ku,"__esModule",{value:!0});var Ea=Ge(),u3=Xe(),f3={message:"must match exactly one schema in oneOf",params:({params:n})=>(0,Ea._)`{passingSchemas: ${n.passing}}`},c3={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:f3,code(n){let{gen:e,schema:i,parentSchema:o,it:f}=n;if(!Array.isArray(i))throw new Error("ajv implementation error");if(f.opts.discriminator&&o.discriminator)return;let h=i,m=e.let("valid",!1),y=e.let("passing",null),E=e.name("_valid");n.setParams({passing:y}),e.block(b),n.result(m,()=>n.reset(),()=>n.error(!0));function b(){h.forEach((_,v)=>{let P;(0,u3.alwaysValidSchema)(f,_)?e.var(E,!0):P=n.subschema({keyword:"oneOf",schemaProp:v,compositeRule:!0},E),v>0&&e.if((0,Ea._)`${E} && ${m}`).assign(m,!1).assign(y,(0,Ea._)`[${y}, ${v}]`).else(),e.if(E,()=>{e.assign(m,!0),e.assign(y,v),P&&n.mergeEvaluated(P,Ea.Name)})})}}};ku.default=c3});var Ep=ge(Cu=>{"use strict";Object.defineProperty(Cu,"__esModule",{value:!0});var d3=Xe(),h3={keyword:"allOf",schemaType:"array",code(n){let{gen:e,schema:i,it:o}=n;if(!Array.isArray(i))throw new Error("ajv implementation error");let f=e.name("valid");i.forEach((h,m)=>{if((0,d3.alwaysValidSchema)(o,h))return;let y=n.subschema({keyword:"allOf",schemaProp:m},f);n.ok(f),n.mergeEvaluated(y)})}};Cu.default=h3});var kp=ge(Su=>{"use strict";Object.defineProperty(Su,"__esModule",{value:!0});var $a=Ge(),Pp=Xe(),p3={message:({params:n})=>(0,$a.str)`must match "${n.ifClause}" schema`,params:({params:n})=>(0,$a._)`{failingKeyword: ${n.ifClause}}`},m3={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:p3,code(n){let{gen:e,parentSchema:i,it:o}=n;i.then===void 0&&i.else===void 0&&(0,Pp.checkStrictMode)(o,'"if" without "then" and "else" is ignored');let f=$p(o,"then"),h=$p(o,"else");if(!f&&!h)return;let m=e.let("valid",!0),y=e.name("_valid");if(E(),n.reset(),f&&h){let _=e.let("ifClause");n.setParams({ifClause:_}),e.if(y,b("then",_),b("else",_))}else f?e.if(y,b("then")):e.if((0,$a.not)(y),b("else"));n.pass(m,()=>n.error(!0));function E(){let _=n.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},y);n.mergeEvaluated(_)}function b(_,v){return()=>{let P=n.subschema({keyword:_},y);e.assign(m,y),n.mergeValidEvaluated(P,m),v?e.assign(v,(0,$a._)`${_}`):n.setParams({ifClause:_})}}}};function $p(n,e){let i=n.schema[e];return i!==void 0&&!(0,Pp.alwaysValidSchema)(n,i)}Su.default=m3});var Cp=ge(xu=>{"use strict";Object.defineProperty(xu,"__esModule",{value:!0});var g3=Xe(),y3={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:n,parentSchema:e,it:i}){e.if===void 0&&(0,g3.checkStrictMode)(i,`"${n}" without "if" is ignored`)}};xu.default=y3});var Sp=ge(Du=>{"use strict";Object.defineProperty(Du,"__esModule",{value:!0});var w3=cu(),_3=ip(),v3=du(),b3=op(),E3=ap(),$3=wa(),P3=cp(),k3=_u(),C3=pp(),S3=wp(),x3=_p(),D3=vp(),R3=bp(),O3=Ep(),T3=kp(),I3=Cp();function B3(n=!1){let e=[x3.default,D3.default,R3.default,O3.default,T3.default,I3.default,P3.default,k3.default,$3.default,C3.default,S3.default];return n?e.push(_3.default,b3.default):e.push(w3.default,v3.default),e.push(E3.default),e}Du.default=B3});var xp=ge(Ru=>{"use strict";Object.defineProperty(Ru,"__esModule",{value:!0});var vt=Ge(),M3={message:({schemaCode:n})=>(0,vt.str)`must match format "${n}"`,params:({schemaCode:n})=>(0,vt._)`{format: ${n}}`},j3={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:M3,code(n,e){let{gen:i,data:o,$data:f,schema:h,schemaCode:m,it:y}=n,{opts:E,errSchemaPath:b,schemaEnv:_,self:v}=y;if(!E.validateFormats)return;f?P():S();function P(){let R=i.scopeValue("formats",{ref:v.formats,code:E.code.formats}),$=i.const("fDef",(0,vt._)`${R}[${m}]`),B=i.let("fType"),T=i.let("format");i.if((0,vt._)`typeof ${$} == "object" && !(${$} instanceof RegExp)`,()=>i.assign(B,(0,vt._)`${$}.type || "string"`).assign(T,(0,vt._)`${$}.validate`),()=>i.assign(B,(0,vt._)`"string"`).assign(T,$)),n.fail$data((0,vt.or)(I(),q()));function I(){return E.strictSchema===!1?vt.nil:(0,vt._)`${m} && !${T}`}function q(){let U=_.$async?(0,vt._)`(${$}.async ? await ${T}(${o}) : ${T}(${o}))`:(0,vt._)`${T}(${o})`,V=(0,vt._)`(typeof ${T} == "function" ? ${U} : ${T}.test(${o}))`;return(0,vt._)`${T} && ${T} !== true && ${B} === ${e} && !${V}`}}function S(){let R=v.formats[h];if(!R){I();return}if(R===!0)return;let[$,B,T]=q(R);$===e&&n.pass(U());function I(){if(E.strictSchema===!1){v.logger.warn(V());return}throw new Error(V());function V(){return`unknown format "${h}" ignored in schema at path "${b}"`}}function q(V){let z=V instanceof RegExp?(0,vt.regexpCode)(V):E.code.formats?(0,vt._)`${E.code.formats}${(0,vt.getProperty)(h)}`:void 0,re=i.scopeValue("formats",{key:h,ref:V,code:z});return typeof V=="object"&&!(V instanceof RegExp)?[V.type||"string",V.validate,(0,vt._)`${re}.validate`]:["string",V,re]}function U(){if(typeof R=="object"&&!(R instanceof RegExp)&&R.async){if(!_.$async)throw new Error("async format in sync schema");return(0,vt._)`await ${T}(${o})`}return typeof B=="function"?(0,vt._)`${T}(${o})`:(0,vt._)`${T}.test(${o})`}}}};Ru.default=j3});var Dp=ge(Ou=>{"use strict";Object.defineProperty(Ou,"__esModule",{value:!0});var N3=xp(),F3=[N3.default];Ou.default=F3});var Rp=ge(Qi=>{"use strict";Object.defineProperty(Qi,"__esModule",{value:!0});Qi.contentVocabulary=Qi.metadataVocabulary=void 0;Qi.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];Qi.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]});var Tp=ge(Tu=>{"use strict";Object.defineProperty(Tu,"__esModule",{value:!0});var Q3=Lh(),L3=tp(),q3=Sp(),U3=Dp(),Op=Rp(),G3=[Q3.default,L3.default,(0,q3.default)(),U3.default,Op.metadataVocabulary,Op.contentVocabulary];Tu.default=G3});var Bu=ge(eo=>{"use strict";Object.defineProperty(eo,"__esModule",{value:!0});eo.dynamicAnchor=void 0;var Iu=Ge(),H3=mA(),Ip=Qs(),V3=ca(),z3={keyword:"$dynamicAnchor",schemaType:"string",code:n=>Bp(n,n.schema)};function Bp(n,e){let{gen:i,it:o}=n;o.schemaEnv.root.dynamicAnchors[e]=!0;let f=(0,Iu._)`${H3.default.dynamicAnchors}${(0,Iu.getProperty)(e)}`,h=o.errSchemaPath==="#"?o.validateName:J3(n);i.if((0,Iu._)`!${f}`,()=>i.assign(f,h))}eo.dynamicAnchor=Bp;function J3(n){let{schemaEnv:e,schema:i,self:o}=n.it,{root:f,baseId:h,localRefs:m,meta:y}=e.root,{schemaId:E}=o.opts,b=new Ip.SchemaEnv({schema:i,schemaId:E,root:f,baseId:h,localRefs:m,meta:y});return Ip.compileSchema.call(o,b),(0,V3.getValidate)(n,b)}eo.default=z3});var Mu=ge(to=>{"use strict";Object.defineProperty(to,"__esModule",{value:!0});to.dynamicRef=void 0;var Mp=Ge(),K3=mA(),jp=ca(),W3={keyword:"$dynamicRef",schemaType:"string",code:n=>Np(n,n.schema)};function Np(n,e){let{gen:i,keyword:o,it:f}=n;if(e[0]!=="#")throw new Error(`"${o}" only supports hash fragment reference`);let h=e.slice(1);if(f.allErrors)m();else{let E=i.let("valid",!1);m(E),n.ok(E)}function m(E){if(f.schemaEnv.root.dynamicAnchors[h]){let b=i.let("_v",(0,Mp._)`${K3.default.dynamicAnchors}${(0,Mp.getProperty)(h)}`);i.if(b,y(b,E),y(f.validateName,E))}else y(f.validateName,E)()}function y(E,b){return b?()=>i.block(()=>{(0,jp.callRef)(n,E),i.let(b,!0)}):()=>(0,jp.callRef)(n,E)}}to.dynamicRef=Np;to.default=W3});var Fp=ge(ju=>{"use strict";Object.defineProperty(ju,"__esModule",{value:!0});var Y3=Bu(),X3=Xe(),Z3={keyword:"$recursiveAnchor",schemaType:"boolean",code(n){n.schema?(0,Y3.dynamicAnchor)(n,""):(0,X3.checkStrictMode)(n.it,"$recursiveAnchor: false is ignored")}};ju.default=Z3});var Qp=ge(Nu=>{"use strict";Object.defineProperty(Nu,"__esModule",{value:!0});var e8=Mu(),t8={keyword:"$recursiveRef",schemaType:"string",code:n=>(0,e8.dynamicRef)(n,n.schema)};Nu.default=t8});var Lp=ge(Fu=>{"use strict";Object.defineProperty(Fu,"__esModule",{value:!0});var A8=Bu(),r8=Mu(),n8=Fp(),i8=Qp(),s8=[A8.default,r8.default,n8.default,i8.default];Fu.default=s8});var Up=ge(Qu=>{"use strict";Object.defineProperty(Qu,"__esModule",{value:!0});var qp=wa(),o8={keyword:"dependentRequired",type:"object",schemaType:"object",error:qp.error,code:n=>(0,qp.validatePropertyDeps)(n)};Qu.default=o8});var Gp=ge(Lu=>{"use strict";Object.defineProperty(Lu,"__esModule",{value:!0});var a8=wa(),l8={keyword:"dependentSchemas",type:"object",schemaType:"object",code:n=>(0,a8.validateSchemaDeps)(n)};Lu.default=l8});var Hp=ge(qu=>{"use strict";Object.defineProperty(qu,"__esModule",{value:!0});var u8=Xe(),f8={keyword:["maxContains","minContains"],type:"array",schemaType:"number",code({keyword:n,parentSchema:e,it:i}){e.contains===void 0&&(0,u8.checkStrictMode)(i,`"${n}" without "contains" is ignored`)}};qu.default=f8});var Vp=ge(Uu=>{"use strict";Object.defineProperty(Uu,"__esModule",{value:!0});var c8=Up(),d8=Gp(),h8=Hp(),p8=[c8.default,d8.default,h8.default];Uu.default=p8});var Jp=ge(Gu=>{"use strict";Object.defineProperty(Gu,"__esModule",{value:!0});var Hr=Ge(),zp=Xe(),m8=mA(),g8={message:"must NOT have unevaluated properties",params:({params:n})=>(0,Hr._)`{unevaluatedProperty: ${n.unevaluatedProperty}}`},y8={keyword:"unevaluatedProperties",type:"object",schemaType:["boolean","object"],trackErrors:!0,error:g8,code(n){let{gen:e,schema:i,data:o,errsCount:f,it:h}=n;if(!f)throw new Error("ajv implementation error");let{allErrors:m,props:y}=h;y instanceof Hr.Name?e.if((0,Hr._)`${y} !== true`,()=>e.forIn("key",o,v=>e.if(b(y,v),()=>E(v)))):y!==!0&&e.forIn("key",o,v=>y===void 0?E(v):e.if(_(y,v),()=>E(v))),h.props=!0,n.ok((0,Hr._)`${f} === ${m8.default.errors}`);function E(v){if(i===!1){n.setParams({unevaluatedProperty:v}),n.error(),m||e.break();return}if(!(0,zp.alwaysValidSchema)(h,i)){let P=e.name("valid");n.subschema({keyword:"unevaluatedProperties",dataProp:v,dataPropType:zp.Type.Str},P),m||e.if((0,Hr.not)(P),()=>e.break())}}function b(v,P){return(0,Hr._)`!${v} || !${v}[${P}]`}function _(v,P){let S=[];for(let R in v)v[R]===!0&&S.push((0,Hr._)`${P} !== ${R}`);return(0,Hr.and)(...S)}}};Gu.default=y8});var Wp=ge(Hu=>{"use strict";Object.defineProperty(Hu,"__esModule",{value:!0});var Bn=Ge(),Kp=Xe(),w8={message:({params:{len:n}})=>(0,Bn.str)`must NOT have more than ${n} items`,params:({params:{len:n}})=>(0,Bn._)`{limit: ${n}}`},_8={keyword:"unevaluatedItems",type:"array",schemaType:["boolean","object"],error:w8,code(n){let{gen:e,schema:i,data:o,it:f}=n,h=f.items||0;if(h===!0)return;let m=e.const("len",(0,Bn._)`${o}.length`);if(i===!1)n.setParams({len:h}),n.fail((0,Bn._)`${m} > ${h}`);else if(typeof i=="object"&&!(0,Kp.alwaysValidSchema)(f,i)){let E=e.var("valid",(0,Bn._)`${m} <= ${h}`);e.if((0,Bn.not)(E),()=>y(E,h)),n.ok(E)}f.items=!0;function y(E,b){e.forRange("i",b,m,_=>{n.subschema({keyword:"unevaluatedItems",dataProp:_,dataPropType:Kp.Type.Num},E),f.allErrors||e.if((0,Bn.not)(E),()=>e.break())})}}};Hu.default=_8});var Yp=ge(Vu=>{"use strict";Object.defineProperty(Vu,"__esModule",{value:!0});var v8=Jp(),b8=Wp(),E8=[v8.default,b8.default];Vu.default=E8});var Zp=ge(Pa=>{"use strict";Object.defineProperty(Pa,"__esModule",{value:!0});Pa.DiscrError=void 0;var Xp;(function(n){n.Tag="tag",n.Mapping="mapping"})(Xp||(Pa.DiscrError=Xp={}))});var tm=ge(Ju=>{"use strict";Object.defineProperty(Ju,"__esModule",{value:!0});var Li=Ge(),zu=Zp(),em=Qs(),$8=Fs(),P8=Xe(),k8={message:({params:{discrError:n,tagName:e}})=>n===zu.DiscrError.Tag?`tag "${e}" must be string`:`value of tag "${e}" must be in oneOf`,params:({params:{discrError:n,tag:e,tagName:i}})=>(0,Li._)`{error: ${n}, tag: ${i}, tagValue: ${e}}`},C8={keyword:"discriminator",type:"object",schemaType:"object",error:k8,code(n){let{gen:e,data:i,schema:o,parentSchema:f,it:h}=n,{oneOf:m}=f;if(!h.opts.discriminator)throw new Error("discriminator: requires discriminator option");let y=o.propertyName;if(typeof y!="string")throw new Error("discriminator: requires propertyName");if(o.mapping)throw new Error("discriminator: mapping is not supported");if(!m)throw new Error("discriminator: requires oneOf keyword");let E=e.let("valid",!1),b=e.const("tag",(0,Li._)`${i}${(0,Li.getProperty)(y)}`);e.if((0,Li._)`typeof ${b} == "string"`,()=>_(),()=>n.error(!1,{discrError:zu.DiscrError.Tag,tag:b,tagName:y})),n.ok(E);function _(){let S=P();e.if(!1);for(let R in S)e.elseIf((0,Li._)`${b} === ${R}`),e.assign(E,v(S[R]));e.else(),n.error(!1,{discrError:zu.DiscrError.Mapping,tag:b,tagName:y}),e.endIf()}function v(S){let R=e.name("valid"),$=n.subschema({keyword:"oneOf",schemaProp:S},R);return n.mergeEvaluated($,Li.Name),R}function P(){var S;let R={},$=T(f),B=!0;for(let U=0;U<m.length;U++){let V=m[U];if(V?.$ref&&!(0,P8.schemaHasRulesButRef)(V,h.self.RULES)){let re=V.$ref;if(V=em.resolveRef.call(h.self,h.schemaEnv.root,h.baseId,re),V instanceof em.SchemaEnv&&(V=V.schema),V===void 0)throw new $8.default(h.opts.uriResolver,h.baseId,re)}let z=(S=V?.properties)===null||S===void 0?void 0:S[y];if(typeof z!="object")throw new Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${y}"`);B=B&&($||T(V)),I(z,U)}if(!B)throw new Error(`discriminator: "${y}" must be required`);return R;function T({required:U}){return Array.isArray(U)&&U.includes(y)}function I(U,V){if(U.const)q(U.const,V);else if(U.enum)for(let z of U.enum)q(z,V);else throw new Error(`discriminator: "properties/${y}" must have "const" or "enum"`)}function q(U,V){if(typeof U!="string"||U in R)throw new Error(`discriminator: "${y}" values must be unique strings`);R[U]=V}}}};Ju.default=C8});var Am=ge((S5,S8)=>{S8.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 rm=ge((x5,x8)=>{x8.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 nm=ge((D5,D8)=>{D8.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 im=ge((R5,R8)=>{R8.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 sm=ge((O5,O8)=>{O8.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 om=ge((T5,T8)=>{T8.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 am=ge((I5,I8)=>{I8.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 lm=ge(Ku=>{"use strict";Object.defineProperty(Ku,"__esModule",{value:!0});var B8=Am(),M8=rm(),j8=nm(),N8=im(),F8=sm(),Q8=om(),L8=am(),q8=["/properties"];function U8(n){return[B8,M8,j8,N8,e(this,F8),Q8,e(this,L8)].forEach(i=>this.addMetaSchema(i,void 0,!1)),this;function e(i,o){return n?i.$dataMetaSchema(o,q8):o}}Ku.default=U8});var Xu=ge((mt,Yu)=>{"use strict";Object.defineProperty(mt,"__esModule",{value:!0});mt.MissingRefError=mt.ValidationError=mt.CodeGen=mt.Name=mt.nil=mt.stringify=mt.str=mt._=mt.KeywordCxt=mt.Ajv2019=void 0;var G8=Mh(),H8=Tp(),V8=Lp(),z8=Vp(),J8=Yp(),K8=tm(),W8=lm(),Wu="https://json-schema.org/draft/2019-09/schema",qi=class extends G8.default{constructor(e={}){super({...e,dynamicRef:!0,next:!0,unevaluated:!0})}_addVocabularies(){super._addVocabularies(),this.addVocabulary(V8.default),H8.default.forEach(e=>this.addVocabulary(e)),this.addVocabulary(z8.default),this.addVocabulary(J8.default),this.opts.discriminator&&this.addKeyword(K8.default)}_addDefaultMetaSchema(){super._addDefaultMetaSchema();let{$data:e,meta:i}=this.opts;i&&(W8.default.call(this,e),this.refs["http://json-schema.org/schema"]=Wu)}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(Wu)?Wu:void 0)}};mt.Ajv2019=qi;Yu.exports=mt=qi;Yu.exports.Ajv2019=qi;Object.defineProperty(mt,"__esModule",{value:!0});mt.default=qi;var Y8=Ns();Object.defineProperty(mt,"KeywordCxt",{enumerable:!0,get:function(){return Y8.KeywordCxt}});var Ui=Ge();Object.defineProperty(mt,"_",{enumerable:!0,get:function(){return Ui._}});Object.defineProperty(mt,"str",{enumerable:!0,get:function(){return Ui.str}});Object.defineProperty(mt,"stringify",{enumerable:!0,get:function(){return Ui.stringify}});Object.defineProperty(mt,"nil",{enumerable:!0,get:function(){return Ui.nil}});Object.defineProperty(mt,"Name",{enumerable:!0,get:function(){return Ui.Name}});Object.defineProperty(mt,"CodeGen",{enumerable:!0,get:function(){return Ui.CodeGen}});var X8=ra();Object.defineProperty(mt,"ValidationError",{enumerable:!0,get:function(){return X8.default}});var Z8=Fs();Object.defineProperty(mt,"MissingRefError",{enumerable:!0,get:function(){return Z8.default}})});var lE={};C1(lE,{default:()=>aE});var Bt=(function(n){n=n||{};var e=typeof n<"u"?n:{},i={},o;for(o in e)e.hasOwnProperty(o)&&(i[o]=e[o]);var f=[],h="";function m(Z){return e.locateFile?e.locateFile(Z,h):h+Z}var y;typeof document<"u"&&document.currentScript&&(h=document.currentScript.src),h.indexOf("blob:")!==0?h=h.substr(0,h.lastIndexOf("/")+1):h="",y=function(ie,ye,se){var r=new XMLHttpRequest;r.open("GET",ie,!0),r.responseType="arraybuffer",r.onload=function(){if(r.status==200||r.status==0&&r.response){ye(r.response);return}var st=Da(ie);if(st){ye(st.buffer);return}se()},r.onerror=se,r.send(null)};var E=e.print||console.log.bind(console),b=e.printErr||console.warn.bind(console);for(o in i)i.hasOwnProperty(o)&&(e[o]=i[o]);i=null,e.arguments&&(f=e.arguments);var _=0,v=function(Z){_=Z},P=function(){return _},S=8;function R(Z,ie,ye,se){switch(ye=ye||"i8",ye.charAt(ye.length-1)==="*"&&(ye="i32"),ye){case"i1":Q[Z>>0]=ie;break;case"i8":Q[Z>>0]=ie;break;case"i16":ne[Z>>1]=ie;break;case"i32":te[Z>>2]=ie;break;case"i64":xa=[ie>>>0,(jn=ie,+i2(jn)>=1?jn>0?(a2(+o2(jn/4294967296),4294967295)|0)>>>0:~~+s2((jn-+(~~jn>>>0))/4294967296)>>>0:0)],te[Z>>2]=xa[0],te[Z+4>>2]=xa[1];break;case"float":me[Z>>2]=ie;break;case"double":ve[Z>>3]=ie;break;default:zr("invalid type for setValue: "+ye)}}function $(Z,ie,ye){switch(ie=ie||"i8",ie.charAt(ie.length-1)==="*"&&(ie="i32"),ie){case"i1":return Q[Z>>0];case"i8":return Q[Z>>0];case"i16":return ne[Z>>1];case"i32":return te[Z>>2];case"i64":return te[Z>>2];case"float":return me[Z>>2];case"double":return ve[Z>>3];default:zr("invalid type for getValue: "+ie)}return null}var B=!1;function T(Z,ie){Z||zr("Assertion failed: "+ie)}function I(Z){var ie=e["_"+Z];return T(ie,"Cannot call unknown function "+Z+", make sure it is exported"),ie}function q(Z,ie,ye,se,r){var lt={string:function(xt){var Ze=0;if(xt!=null&&xt!==0){var it=(xt.length<<2)+1;Ze=uf(it),J(xt,Ze,it)}return Ze},array:function(xt){var Ze=uf(xt.length);return ae(xt,Ze),Ze}};function st(xt){return ie==="string"?re(xt):ie==="boolean"?!!xt:xt}var k=I(Z),Ct=[],Kt=0;if(se)for(var St=0;St<se.length;St++){var rt=lt[ye[St]];rt?(Kt===0&&(Kt=P2()),Ct[St]=rt(se[St])):Ct[St]=se[St]}var yt=k.apply(null,Ct);return yt=st(yt),Kt!==0&&$2(Kt),yt}function U(Z,ie,ye,se){ye=ye||[];var r=ye.every(function(st){return st==="number"}),lt=ie!=="string";return lt&&r&&!se?I(Z):function(){return q(Z,ie,ye,arguments,se)}}var V=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0;function z(Z,ie,ye){for(var se=ie+ye,r=ie;Z[r]&&!(r>=se);)++r;if(r-ie>16&&Z.subarray&&V)return V.decode(Z.subarray(ie,r));for(var lt="";ie<r;){var st=Z[ie++];if(!(st&128)){lt+=String.fromCharCode(st);continue}var k=Z[ie++]&63;if((st&224)==192){lt+=String.fromCharCode((st&31)<<6|k);continue}var Ct=Z[ie++]&63;if((st&240)==224?st=(st&15)<<12|k<<6|Ct:st=(st&7)<<18|k<<12|Ct<<6|Z[ie++]&63,st<65536)lt+=String.fromCharCode(st);else{var Kt=st-65536;lt+=String.fromCharCode(55296|Kt>>10,56320|Kt&1023)}}return lt}function re(Z,ie){return Z?z(X,Z,ie):""}function L(Z,ie,ye,se){if(!(se>0))return 0;for(var r=ye,lt=ye+se-1,st=0;st<Z.length;++st){var k=Z.charCodeAt(st);if(k>=55296&&k<=57343){var Ct=Z.charCodeAt(++st);k=65536+((k&1023)<<10)|Ct&1023}if(k<=127){if(ye>=lt)break;ie[ye++]=k}else if(k<=2047){if(ye+1>=lt)break;ie[ye++]=192|k>>6,ie[ye++]=128|k&63}else if(k<=65535){if(ye+2>=lt)break;ie[ye++]=224|k>>12,ie[ye++]=128|k>>6&63,ie[ye++]=128|k&63}else{if(ye+3>=lt)break;ie[ye++]=240|k>>18,ie[ye++]=128|k>>12&63,ie[ye++]=128|k>>6&63,ie[ye++]=128|k&63}}return ie[ye]=0,ye-r}function J(Z,ie,ye){return L(Z,X,ie,ye)}var ue=typeof TextDecoder<"u"?new TextDecoder("utf-16le"):void 0;function ae(Z,ie){Q.set(Z,ie)}function O(Z,ie){return Z%ie>0&&(Z+=ie-Z%ie),Z}var M,Q,X,ne,Ae,te,pe,me,ve;function Re(Z){M=Z,e.HEAP8=Q=new Int8Array(Z),e.HEAP16=ne=new Int16Array(Z),e.HEAP32=te=new Int32Array(Z),e.HEAPU8=X=new Uint8Array(Z),e.HEAPU16=Ae=new Uint16Array(Z),e.HEAPU32=pe=new Uint32Array(Z),e.HEAPF32=me=new Float32Array(Z),e.HEAPF64=ve=new Float64Array(Z)}var At=5271536,Ke=28624,ze=e.TOTAL_MEMORY||33554432;e.buffer?M=e.buffer:M=new ArrayBuffer(ze),ze=M.byteLength,Re(M),te[Ke>>2]=At;function gt(Z){for(;Z.length>0;){var ie=Z.shift();if(typeof ie=="function"){ie();continue}var ye=ie.func;typeof ye=="number"?ie.arg===void 0?e.dynCall_v(ye):e.dynCall_vi(ye,ie.arg):ye(ie.arg===void 0?null:ie.arg)}}var WA=[],CA=[],uA=[],fA=[];function SA(){if(e.preRun)for(typeof e.preRun=="function"&&(e.preRun=[e.preRun]);e.preRun.length;)r2(e.preRun.shift());gt(WA)}function xA(){gt(CA)}function t2(){gt(uA)}function A2(){if(e.postRun)for(typeof e.postRun=="function"&&(e.postRun=[e.postRun]);e.postRun.length;)n2(e.postRun.shift());gt(fA)}function r2(Z){WA.unshift(Z)}function n2(Z){fA.unshift(Z)}var i2=Math.abs,s2=Math.ceil,o2=Math.floor,a2=Math.min,Vr=0,Ca=null,Gi=null;function l2(Z){Vr++,e.monitorRunDependencies&&e.monitorRunDependencies(Vr)}function u2(Z){if(Vr--,e.monitorRunDependencies&&e.monitorRunDependencies(Vr),Vr==0&&(Ca!==null&&(clearInterval(Ca),Ca=null),Gi)){var ie=Gi;Gi=null,ie()}}e.preloadedImages={},e.preloadedAudios={};var YA=null,Sa="data:application/octet-stream;base64,";function nf(Z){return String.prototype.startsWith?Z.startsWith(Sa):Z.indexOf(Sa)===0}var jn,xa;YA="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//////////AgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAACAAAAAAAAAAIAAAABAAAAAQAAAAIAAAACAAAAAAAAAAUAAAAFAAAAAAAAAAIAAAACAAAAAwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAgAAAAEAAAACAAAAAgAAAAIAAAAAAAAABQAAAAYAAAAAAAAAAgAAAAIAAAADAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAAAAAAAAACAAAAAQAAAAMAAAACAAAAAgAAAAAAAAAFAAAABwAAAAAAAAACAAAAAgAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAACAAAAAAAAAAIAAAABAAAABAAAAAIAAAACAAAAAAAAAAUAAAAIAAAAAAAAAAIAAAACAAAAAwAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAIAAAAAAAAAAgAAAAEAAAAAAAAAAgAAAAIAAAAAAAAABQAAAAkAAAAAAAAAAgAAAAIAAAADAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAgAAAAIAAAAAAAAAAwAAAA4AAAACAAAAAAAAAAIAAAADAAAAAAAAAAAAAAACAAAAAgAAAAMAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAsAAAACAAAAAgAAAAAAAAADAAAACgAAAAIAAAAAAAAAAgAAAAMAAAABAAAAAAAAAAIAAAACAAAAAwAAAAcAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAIAAAACAAAAAAAAAAMAAAALAAAAAgAAAAAAAAACAAAAAwAAAAIAAAAAAAAAAgAAAAIAAAADAAAACAAAAAAAAAAAAAAAAAAAAAAAAAANAAAAAgAAAAIAAAAAAAAAAwAAAAwAAAACAAAAAAAAAAIAAAADAAAAAwAAAAAAAAACAAAAAgAAAAMAAAAJAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAACAAAAAgAAAAAAAAADAAAADQAAAAIAAAAAAAAAAgAAAAMAAAAEAAAAAAAAAAIAAAACAAAAAwAAAAoAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAIAAAACAAAAAAAAAAMAAAAGAAAAAgAAAAAAAAACAAAAAwAAAA8AAAAAAAAAAgAAAAIAAAADAAAACwAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAAgAAAAIAAAAAAAAAAwAAAAcAAAACAAAAAAAAAAIAAAADAAAAEAAAAAAAAAACAAAAAgAAAAMAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAcAAAACAAAAAgAAAAAAAAADAAAACAAAAAIAAAAAAAAAAgAAAAMAAAARAAAAAAAAAAIAAAACAAAAAwAAAA0AAAAAAAAAAAAAAAAAAAAAAAAACAAAAAIAAAACAAAAAAAAAAMAAAAJAAAAAgAAAAAAAAACAAAAAwAAABIAAAAAAAAAAgAAAAIAAAADAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAJAAAAAgAAAAIAAAAAAAAAAwAAAAUAAAACAAAAAAAAAAIAAAADAAAAEwAAAAAAAAACAAAAAgAAAAMAAAAPAAAAAAAAAAAAAAAAAAAAAAAAABAAAAACAAAAAAAAAAIAAAABAAAAEwAAAAIAAAACAAAAAAAAAAUAAAAKAAAAAAAAAAIAAAACAAAAAwAAABAAAAAAAAAAAAAAAAAAAAAAAAAAEQAAAAIAAAAAAAAAAgAAAAEAAAAPAAAAAgAAAAIAAAAAAAAABQAAAAsAAAAAAAAAAgAAAAIAAAADAAAAEQAAAAAAAAAAAAAAAAAAAAAAAAASAAAAAgAAAAAAAAACAAAAAQAAABAAAAACAAAAAgAAAAAAAAAFAAAADAAAAAAAAAACAAAAAgAAAAMAAAASAAAAAAAAAAAAAAAAAAAAAAAAABMAAAACAAAAAAAAAAIAAAABAAAAEQAAAAIAAAACAAAAAAAAAAUAAAANAAAAAAAAAAIAAAACAAAAAwAAABMAAAAAAAAAAAAAAAAAAAAAAAAADwAAAAIAAAAAAAAAAgAAAAEAAAASAAAAAgAAAAIAAAAAAAAABQAAAA4AAAAAAAAAAgAAAAIAAAADAAAAAgAAAAEAAAAAAAAAAQAAAAIAAAAAAAAAAAAAAAIAAAABAAAAAAAAAAEAAAACAAAAAQAAAAAAAAACAAAAAAAAAAUAAAAEAAAAAAAAAAEAAAAFAAAAAAAAAAAAAAAFAAAABAAAAAAAAAABAAAABQAAAAQAAAAAAAAABQAAAAAAAAACAAAAAQAAAAAAAAABAAAAAgAAAAAAAAAAAAAAAgAAAAEAAAAAAAAAAQAAAAIAAAABAAAAAAAAAAIAAAACAAAAAAAAAAEAAAAAAAAAAAAAAAUAAAAEAAAAAAAAAAEAAAAFAAAAAAAAAAAAAAAFAAAABAAAAAAAAAABAAAABQAAAAQAAAAAAAAABQAAAAUAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAABAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAEAAAAAAAAAAAEAAAAAAQAAAAAAAAAAAQAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAABAAAAAAAAAAAAAQAAAAAAAAAAAAA6B6FaUp9QQTPXMuL4myJBraiDfBwx9UBYJseitzTIQOL5if9jqZtAnXX+Z+ycb0C3pucbhRBCQG8wJBYqpRRAlWbDCzCY5z/eFWBUEve6P/+qo4Q50Y4/D9YM3iCcYT8fcA2QJSA0P4ADxu0qAAc/BNcGolVJ2j5d9FACqwquPh9z7MthtI9CSUSYJke/YUJQ/64OyjU0Qpi0+HCmFQdCm3GfIVdh2kHsJ11kAyauQYC3UDFJOoFBSJsFV1OwU0FK5fcxX4AmQWhy/zZIt/lACqaCPsBjzUDbdUNIScugQMYQlVJ4MXNANiuq8GTvRUDxTXnulxEZQFZ8QX5kpuw/qmG/JwYFlEAluh3Q6DB+QKn4vyNq0GZAKOXekas+UUB8xabXXhI6QG63C2pLtSNAdDBtyNfLDUDyOcu67ID2P0rCMvRXAeE/Ki2TSVyzyT9Dk+8Sz2uzP5J+w5ARWp0/NQAoOiMuhj9YnP+RyMJwPxgW7TvQVFk/KgsLYF0kQz9g5dAC6IwzQcgHPVvDex1B1XjppodHBkHJq3OMM9fwQNvcmJ7wddlAInGPpQs/w0BRobq5EBmtQJZ2ai7n+ZVAtv2G5E+bgECG+gIfKBlpQK5f8jdI91JAL39sL/WpPEB8rGxhDqklQK6yUf43XhBAxL9y/tK8+D86XyZpgrHiPwAAAAD/////AAAAAAAAAAAAAAAAAAAAAAAAAAD/////////////////////////////////////AAAAAP////8AAAAAAAAAAAAAAAABAAAAAAAAAAAAAAD/////AAAAAAAAAAABAAAAAQAAAAAAAAAAAAAA/////wAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAP////8FAAAABQAAAAAAAAAAAAAAAAAAAAAAAAD/////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/////////////////////////////////////wAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP////////////////////////////////////8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAFAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/////////////////////////////////////AAAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAQAAAAEAAAABAAAAAAAAAAEAAAAAAAAABQAAAAEAAAABAAAAAAAAAAAAAAABAAAAAQAAAAAAAAABAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQAAAAAAAQABAAABAQAAAAAAAQAAAAEAAAABAAEAAAAAAAAAAAAAAAAAAAAAquJYWJZl+D9jaeZNtj/zPwwdI9KqaeO/qGefXwdHdz+q4lhYlmX4P+OrlPMN3PI/DB0j0qpp47+7SQLV4VIEQKriWFiWZfg/r2kma3tz8T82eQmLqNIGwMRIWXMqSvo/fcCszPux9j+jara6ozTwP6hnn18HR3c/MSoKLequ8r+SabgA2nj0P7jBLbDOHO8/1Ym/ICfH4T+6lxjvlFXHv73m373LRPU/0vXyDVxo7T+ToKRHJXMAQF/33578aPE/pAyy64tD9T8+U/hCvyruPwxv8Y7YYwLAuXYr8NAiCEB4+LDK0Sn0P1Qeuy4j+eo/OMx50n7K7L+TrGB/nyf8v5ehC2fbYPM/aXMKexiT6z8mFRIMjg/zP7yUVwGGBNw/E6opHERf8z/z0wR2g9DqPw4pBpcOhvu/NbA29uWAA8DMaTExyXzyP02biiQ+Ruk/S8jz2/FKBEB1pzZnpbb9P7pQU4wLfPI//7ZcQXeG6D9CqEQvAYoIwDB2VB6sSgRAVyv8H5We8T+EHWF8XNPmPzB2wT8Nrrg/SEi+cX+w4L8of+GtdSDxP1sjk5AdouU/6ZjOVru13r8K0obqI6bxvwVbdNXyhfA/w5GG024n5z+rwmtMzP8BwLw9pSX49QXABe/2uQxP8D+b6wCzCvXkP7uGT87fK+Q/pz/JWw4coj+qoBf2J0nwP/yE3PUo0+I/vFJeHcaC+D96luSIqvntP/bf8sHUYu8/gZNN41mL4z9bhOqVOF4FwO6lmAh1hQhAbCVxbdhk7z+1C8NdDcfiPwG36x/0OQBAx0WJ76c2+D9nlSHXANfuP2HlfZ3gqOE/EwnVlVPg9r96+oHzEH//v5bXzdT1Auw/DM3GwLsA4D9p/8uoKcr+v+U9x5DQVAPAehjSdghb7D9sc1IetODgP8MVwwB1pu6/azPk6OGe978W8t/TUc3rP+0QMvYfP+A/RsG/QpSE8D+l3uwScxzgPwQaifgujuw/k1Vti1I43z8MAwLnSh0GQH5nYnwwZgJAiGUzWC5s6j8WyyI/BbLgPw4iUapGeQJAB3W+imnp/j9BLWR4ssrpP2t+gG5Pstk/cpBsfm6DCMCOpU9dOZsFQEv8nFypHeo/ehJ6i+6S2D9jqlGEmarLv7STC5TRiOa/bC+x8WZD6D9H3yUkWpDZP8gZvmCMuQLAreY19/eRBsCoPOc8UzzpP6KI/QV+y9g/t/MoboyWzT+Hv5q3Zu3Mvy2xROCT4uY/9gQitMMg1T9abAqhWMDkv1oLTavoUfG/PMUJP9CD5j+fHRX3t6fSPz7W2gk6bvs/WRnuHwqN9D8YFturGCTmP1EZczv0b9I/5t4exabB5D/1ESLh5fTEP9X2z6SYweQ/6lv3I2zT0D9zkRGNUNMAQKoSvc4EIfs/Xggt8wQI5T+mJHHg/w/SP4lhT/9t8vQ/DrZ/DbwH7D+XlhbYZrjkP34LIpFt6c4/lwfp8fLX9L+j96CTTf76v3WdNhEv9uM/d8c3o4lV0D/vFdCHVcsFwAHeDq0F1QhApbYqcZiN5D9KoilqByXLPwX0/diA0vq/0fo0GxnxAMBbaTkvlCzjP/RrFrWXrMs/UYTrky7jA0DB9f4FiZYAQEGAk/3QzeE/r/TeqE8t0D/OqjlsnPbvvz8RKU8JOfW/smSEbK/O4T8MzuyPm3DDP/rFtctq9gZAfb1EVEaSA0Dts5dVInnhP18SFMc79MM/7y34cw6LAMDFrRJsZO0DwC2KLvLSYuA/hx5wcUHewz+49SnK/4ruPyeS0PX9a+E/ZxaaLvvZ3z8WPu5T2QS8Pygo4RIvMqa/BJ0Kqsd0279cKW4ay8jdP3b05bmZ364/10/qtdxk2r+Bcz6CDMvpv54qOw+Amdw/qLV71pW7sT/YKc80nIPUP8OfIaBJ77G/LyTuD1un2z+diYu8efWzP1wU7ACkfwjAZroyPL1yBkAmv3lKJJbbPysKSE4W+p0/dIgqY79TA8ATLTOQ3tsGwJ2zweD/Xdg/XO/jXeFUaL8VW2qLFKfov1cA9Aa6XfK/tIa7YGgI2T+f3hu/sxqPv2nXdPpf3Pc/jkw8Jbda8j+tT/z8tGPVP1yBHpJd35k/KYvYOy1s8j/yz+kCQjPrP9+agH7x59g/PZfJ9aBhpr/rDKzvYBb+PwtkiaGCt/c/vb1mVr+f1T/JIHwHc8Govw7aeF6+9vG/Xv7kD6fp979isYioQYHVP7AIQZuSFrG/3z1AdUTnAUDN3XY9O7f9P0AdQ9ljYNQ/dJANJPTOrb8kLECUiiPlP4yF7UgmStA/9xGmXxCG1T9qZzix4W2zv2SGJRJVrPe/Fh9a2M/B/b8IexzFCoPSP9y1QFD2bLe/Q86cWLJe/b+mOOfYm78BwOTjkPAGE9E/8aPCUKu/ub9pPZyLCiUGwBA7Mev/BQlALOmrlRi+0j+AMJ/dKULBv7iLtL6a6QRAEMDV/yajAUDa62dE3crJP1P70RgBUbq/38hVnR6esT/s1tG10Z/Ov/zLwalHPss/dTS9NKTXx78nMcRzCIEHQAabxDsAmQRA0tyLK3gSyT+Aui7nOhDGv5Gs58z3WgHATN3forJuBMCAui7nOhDGP9Lciyt4Esm/WAJyHQ4c7z8UP5HFIs3iP3U0vTSk18c//MvBqUc+y7+cvv8HLg/Kvy1I/mHsI+K/U/vRGAFRuj/a62dE3crJv8p+WV8KlQjAuQ/nOP43B0CAMJ/dKULBPyzpq5UYvtK/ZoU+VoLh4L9etLlRUfvtv/GjwlCrv7k/5OOQ8AYT0b9DfT9FhufXPwUX8hJp+4u/3LVAUPZstz8IexzFCoPSv9+L609E5fQ/q9Fz7X2J7T9qZzix4W2zP/cRpl8QhtW/vtNilqGX+j8MOy7QJoL0P3SQDST0zq0/QB1D2WNg1L8IIjSvGNkDwGB8Jou2GAfAsAhBm5IWsT9isYioQYHVvyS9D3zb6uy/gnwRa7uM9L/JIHwHc8GoP729Zla/n9W/CsAHJZwmAEDEW6OYT1r6Pz2XyfWgYaY/35qAfvHn2L83Tdy4lS30vxf2/gZ0jPq/XIEekl3fmb+tT/z8tGPVvybPr2zJ1/+/K7mJ0ypVAsCf3hu/sxqPPwCGu2BoCNm/5oITrpZn+r+UDUyDP+n/v1zv413hVGg/nbPB4P9d2L9MlmkxNvgCQMtZlKE85v8/KwpIThb6nb8mv3lKJJbbv8+SZsTvOOc/pQCIIOYw0j+diYu8efWzvy8k7g9bp9u/kxYDa+pKtD9XlYvA8HnVv6i1e9aVu7G/nio7D4CZ3L/WR6rNh5EGwCkgQweBkghAdvTluZnfrr9cKW4ay8jdvxbjhr1f1QVAR5C0MzivAkAWPu5T2QS8v2cWmi772d+/cKj4lzLJCEBx2QJfYrMFQIcecHFB3sO/LYou8tJi4L+jr7lhO38BwIcI0Nb7xgTAXxIUxzv0w7/ts5dVInnhv0T+l8DZLfE/MP3FoFvS5D8MzuyPm3DDv7JkhGyvzuG/tzhzRIRc0b9Ovv3/0z7mv6/03qhPLdC/m4CT/dDN4b9dwjU5VCQBQBBJX1ntCv0/9GsWtZesy79baTkvlCzjv1mjYgEz++S/oW6KnOQW8b9KoilqByXLv6W2KnGYjeS/SmaKz3Vx9z+BZB5yxGHwP3fHN6OJVdC/dZ02ES/2478PuaBjLrXaP4/JU81pPaO/fgsikW3pzr+XlhbYZrjkv4tSn7YDbP0/f2LnFKlF9z+mJHHg/w/Sv14ILfMECOW/mfg4qYhR/b+OP+RQDCACwOpb9yNs09C/1fbPpJjB5L9pN2WOVZ3wv3hHy9nxIve/URlzO/Rv0r8YFturGCTmv1d1/KKR8QPA8gsy9qzSB8CfHRX3t6fSvzzFCT/Qg+a/EYStnrzV9r/2QJqI7Lb9v/YEIrTDINW/LbFE4JPi5r/7kQEs5fEDQHunnf4GeQBAooj9BX7L2L+oPOc8Uzzpv+ydYY2SSAfAL4HK6CRTB0BH3yUkWpDZv2wvsfFmQ+i/Ik0Yzruh6T8fM3LoGoDUP3oSeovukti/S/ycXKkd6r9rEv+7UWcHQCRIQe/GfwNAa36Abk+y2b9BLWR4ssrpv9KT87qa0bM/FTyktw823L8WyyI/BbLgv4hlM1gubOq/DizMp9Ki6r8b5ckdjVrzv5NVbYtSON+/BBqJ+C6O7L/dUBFqgyXYv00Wh18r7+q/7RAy9h8/4L8W8t/TUc3rv4RM5DKx3wDAfvWIj94aBcBsc1IetODgv3oY0nYIW+y/oGcTFF54AUDkJqS/FKX6PwzNxsC7AOC/ltfN1PUC7L+5Wrz/zHnzP6688w2rNOc/YeV9neCo4b9nlSHXANfuvw9RsxKjY/s/1V8GteXE8j+1C8NdDcfiv2wlcW3YZO+/IOywaA7Q8b9bFP+4Tg36v4GTTeNZi+O/9t/ywdRi77+tRc3yFR7eP2bkcHXJkLO//ITc9SjT4r+qoBf2J0nwv2YHKoswwfm/iQcLspCjAcCb6wCzCvXkvwXv9rkMT/C/YkuwYAMXBMApCNUai9kIwMORhtNuJ+e/BVt01fKF8L+ZqWEfvIjsP6h693QZYNk/WyOTkB2i5b8of+GtdSDxvwpaaulDSwVADMQAX+lOAECEHWF8XNPmv1cr/B+VnvG/XyFG6opcCMD/mtR32/UEQP+2XEF3hui/ulBTjAt88r/imfCfRP+yP9zbvtc8XeO/TZuKJD5G6b/MaTExyXzyvxiTQeElXOO/rbJRQVGN9L/z0wR2g9DqvxOqKRxEX/O/FDGCEei99j9x8zV4VYTmP2lzCnsYk+u/l6ELZ9tg878pRXacaDT/v3k6GZRqoQXAVB67LiP56r94+LDK0Sn0vwO6pZ9b7wFAvK0nKVcc9j8+U/hCvyruv6QMsuuLQ/W/FPhKFYv46j8MyxaDTOW/v9L18g1caO2/vebfvctE9b/7GD8ZrF3xv3gx1AR9bQDAuMEtsM4c77+SabgA2nj0v5xKFIwxsATArKNSBaKsB0Cjara6ozTwv33ArMz7sfa/dF2U0FcWCcDxL357DJX/P69pJmt7c/G/quJYWJZl+L/YntVJlnrSP4sRLzXM+fe/46uU8w3c8r+q4lhYlmX4v85lu5+QRwRAsI0H/WU8479jaeZNtj/zv6riWFiWZfi/sI0H/WU847/OZbufkEcEQHAoPUBrnss/9exKzDtFtT88wM8kax+gP9OqeKeAYog/MW0ItiZvcj+ph+smvt5bP2lCaV5dEUU/StaUmQDaLz+kK9y22BMYP0O3whZuMwI/IIbgZGWE6z7UkjYaEM3UPuezxwa9cr8+LybxRMnFpz6E1N8DbPiRPsYjySMvK3s+//////8fAAj//////zMQCP////9/MiAI/////28yMAj/////YzJACP///z9iMlAI////N2IyYAj///8zYjJwCP//vzNiMoAI//+rM2IykAj/f6szYjKgCP8PqzNiMrAI/wOrM2IywAi/A6szYjLQCJ8DqzNiMuAImQOrM2Iy8Aj//////z8PCP//////Kx8I/////38pLwj/////Pyk/CP////85KU8I////PzgpXwj///8POClvCP///w44KX8I//8fDjgpjwj//w8OOCmfCP9/DQ44Ka8I/w8NDjgpvwj/DQ0OOCnPCP8MDQ44Kd8IxwwNDjgp7wjEDA0OOCn/CAcAAAAHAAAAAQAAAAIAAAAEAAAAAwAAAAAAAAAAAAAABwAAAAMAAAABAAAAAgAAAAUAAAAEAAAAAAAAAAAAAAAEAAAABAAAAAAAAAACAAAAAQAAAAMAAAAOAAAABgAAAAsAAAACAAAABwAAAAEAAAAYAAAABQAAAAoAAAABAAAABgAAAAAAAAAmAAAABwAAAAwAAAADAAAACAAAAAIAAAAxAAAACQAAAA4AAAAAAAAABQAAAAQAAAA6AAAACAAAAA0AAAAEAAAACQAAAAMAAAA/AAAACwAAAAYAAAAPAAAACgAAABAAAABIAAAADAAAAAcAAAAQAAAACwAAABEAAABTAAAACgAAAAUAAAATAAAADgAAAA8AAABhAAAADQAAAAgAAAARAAAADAAAABIAAABrAAAADgAAAAkAAAASAAAADQAAABMAAAB1AAAADwAAABMAAAARAAAAEgAAABAAAAAGAAAAAgAAAAMAAAAFAAAABAAAAAAAAAAAAAAAAAAAAAYAAAACAAAAAwAAAAEAAAAFAAAABAAAAAAAAAAAAAAABwAAAAUAAAADAAAABAAAAAEAAAAAAAAAAgAAAAAAAAACAAAAAwAAAAEAAAAFAAAABAAAAAYAAAAAAAAAAAAAABgtRFT7Ifk/GC1EVPsh+b8YLURU+yEJQBgtRFT7IQnAYWxnb3MuYwBoM05laWdoYm9yUm90YXRpb25zAGNvb3JkaWprLmMAX3VwQXA3Q2hlY2tlZABfdXBBcDdyQ2hlY2tlZABkaXJlY3RlZEVkZ2UuYwBkaXJlY3RlZEVkZ2VUb0JvdW5kYXJ5AGFkamFjZW50RmFjZURpclt0bXBGaWprLmZhY2VdW2ZpamsuZmFjZV0gPT0gS0kAZmFjZWlqay5jAF9mYWNlSWprUGVudFRvQ2VsbEJvdW5kYXJ5AGFkamFjZW50RmFjZURpcltjZW50ZXJJSksuZmFjZV1bZmFjZTJdID09IEtJAF9mYWNlSWprVG9DZWxsQm91bmRhcnkAaDNJbmRleC5jAGNvbXBhY3RDZWxscwBsYXRMbmdUb0NlbGwAY2VsbFRvQ2hpbGRQb3MAdmFsaWRhdGVDaGlsZFBvcwBsYXRMbmcuYwBjZWxsQXJlYVJhZHMyAHBvbHlnb24tPm5leHQgPT0gTlVMTABsaW5rZWRHZW8uYwBhZGROZXdMaW5rZWRQb2x5Z29uAG5leHQgIT0gTlVMTABsb29wICE9IE5VTEwAYWRkTmV3TGlua2VkTG9vcABwb2x5Z29uLT5maXJzdCA9PSBOVUxMAGFkZExpbmtlZExvb3AAY29vcmQgIT0gTlVMTABhZGRMaW5rZWRDb29yZABsb29wLT5maXJzdCA9PSBOVUxMAGlubmVyTG9vcHMgIT0gTlVMTABub3JtYWxpemVNdWx0aVBvbHlnb24AYmJveGVzICE9IE5VTEwAY2FuZGlkYXRlcyAhPSBOVUxMAGZpbmRQb2x5Z29uRm9ySG9sZQBjYW5kaWRhdGVCQm94ZXMgIT0gTlVMTAByZXZEaXIgIT0gSU5WQUxJRF9ESUdJVABsb2NhbGlqLmMAY2VsbFRvTG9jYWxJamsAYmFzZUNlbGwgIT0gb3JpZ2luQmFzZUNlbGwAIShvcmlnaW5PblBlbnQgJiYgaW5kZXhPblBlbnQpAGJhc2VDZWxsID09IG9yaWdpbkJhc2VDZWxsAGJhc2VDZWxsICE9IElOVkFMSURfQkFTRV9DRUxMAGxvY2FsSWprVG9DZWxsACFfaXNCYXNlQ2VsbFBlbnRhZ29uKGJhc2VDZWxsKQBiYXNlQ2VsbFJvdGF0aW9ucyA+PSAwAGdyaWRQYXRoQ2VsbHMAcG9seWZpbGwuYwBpdGVyU3RlcFBvbHlnb25Db21wYWN0ADAAdmVydGV4LmMAdmVydGV4Um90YXRpb25zAGNlbGxUb1ZlcnRleABncmFwaC0+YnVja2V0cyAhPSBOVUxMAHZlcnRleEdyYXBoLmMAaW5pdFZlcnRleEdyYXBoAG5vZGUgIT0gTlVMTABhZGRWZXJ0ZXhOb2Rl";var f2=28640;function c2(Z){return Z}function sf(Z){var ie=/\b__Z[\w\d_]+/g;return Z.replace(ie,function(ye){var se=ye;return ye===se?ye:se+" ["+ye+"]"})}function of(){var Z=new Error;if(!Z.stack){try{throw new Error(0)}catch(ie){Z=ie}if(!Z.stack)return"(no stack trace available)"}return Z.stack.toString()}function d2(){var Z=of();return e.extraStackTrace&&(Z+=`
|
|
10
|
-
`+e.extraStackTrace()),sf(Z)}function h2(Z,ie,ye,se){zr("Assertion failed: "+re(Z)+", at: "+[ie?re(ie):"unknown filename",ye,se?re(se):"unknown function"])}function af(){return Q.length}function p2(Z,ie,ye){X.set(X.subarray(ie,ie+ye),Z)}function m2(Z){return e.___errno_location&&(te[e.___errno_location()>>2]=Z),Z}function g2(Z){zr("OOM")}function lf(Z){try{var ie=new ArrayBuffer(Z);return ie.byteLength!=Z?void 0:(new Int8Array(ie).set(Q),E2(ie),Re(ie),1)}catch{}}function y2(Z){var ie=af(),ye=16777216,se=2147483648-ye;if(Z>se)return!1;for(var r=16777216,lt=Math.max(ie,r);lt<Z;)lt<=536870912?lt=O(2*lt,ye):lt=Math.min(O((3*lt+2147483648)/4,ye),se);var st=lf(lt);return!!st}var w2=typeof atob=="function"?atob:function(Z){var ie="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",ye="",se,r,lt,st,k,Ct,Kt,St=0;Z=Z.replace(/[^A-Za-z0-9\+\/\=]/g,"");do st=ie.indexOf(Z.charAt(St++)),k=ie.indexOf(Z.charAt(St++)),Ct=ie.indexOf(Z.charAt(St++)),Kt=ie.indexOf(Z.charAt(St++)),se=st<<2|k>>4,r=(k&15)<<4|Ct>>2,lt=(Ct&3)<<6|Kt,ye=ye+String.fromCharCode(se),Ct!==64&&(ye=ye+String.fromCharCode(r)),Kt!==64&&(ye=ye+String.fromCharCode(lt));while(St<Z.length);return ye};function _2(Z){try{for(var ie=w2(Z),ye=new Uint8Array(ie.length),se=0;se<ie.length;++se)ye[se]=ie.charCodeAt(se);return ye}catch{throw new Error("Converting base64 string to bytes failed.")}}function Da(Z){if(nf(Z))return _2(Z.slice(Sa.length))}var v2={Math,Int8Array,Int32Array,Uint8Array,Float32Array,Float64Array},b2={a:zr,b:v,c:P,d:h2,e:m2,f:af,g:p2,h:y2,i:g2,j:c2,k:sf,l:lf,m:of,n:d2,o:f2,p:Ke},le=(function(Z,ie,ye){"almost asm";var se=new Z.Int8Array(ye),r=new Z.Int32Array(ye),lt=new Z.Uint8Array(ye),st=new Z.Float32Array(ye),k=new Z.Float64Array(ye),Ct=ie.o|0,Kt=ie.p|0,St=Z.Math.floor,rt=Z.Math.abs,yt=Z.Math.sqrt,xt=Z.Math.pow,Ze=Z.Math.cos,it=Z.Math.sin,Hi=Z.Math.tan,k2=Z.Math.acos,C2=Z.Math.asin,Ta=Z.Math.atan,cA=Z.Math.atan2,Nn=Z.Math.ceil,DA=Z.Math.imul,Ia=Z.Math.min,S2=Z.Math.max,XA=Z.Math.clz32,je=ie.b,D=ie.c,Te=ie.d,hf=ie.e,x2=ie.f,D2=ie.g,R2=ie.h,O2=ie.i,C=28656;function T2(A){return se=new Int8Array(A),lt=new Uint8Array(A),r=new Int32Array(A),st=new Float32Array(A),k=new Float64Array(A),ye=A,!0}function I2(A){A=A|0;var t=0;return t=C,C=C+A|0,C=C+15&-16,t|0}function B2(){return C|0}function M2(A){A=A|0,C=A}function j2(A,t){A=A|0,t=t|0,C=A}function N2(A,t){A=A|0,t=t|0;var s=0,a=0,l=0;return(A|0)<0?(t=2,t|0):(A|0)>13780509?(t=oo(15,t)|0,t|0):(s=((A|0)<0)<<31>>31,l=Ot(A|0,s|0,3,0)|0,a=D()|0,s=Pe(A|0,s|0,1,0)|0,s=Ot(l|0,a|0,s|0,D()|0)|0,s=Pe(s|0,D()|0,1,0)|0,A=D()|0,r[t>>2]=s,r[t+4>>2]=A,t=0,t|0)}function pf(A,t,s,a){return A=A|0,t=t|0,s=s|0,a=a|0,mf(A,t,s,a,0)|0}function mf(A,t,s,a,l){A=A|0,t=t|0,s=s|0,a=a|0,l=l|0;var u=0,c=0,d=0,p=0,g=0;if(p=C,C=C+16|0,c=p,!(gf(A,t,s,a,l)|0))return a=0,C=p,a|0;do if((s|0)>=0){if((s|0)>13780509){if(u=oo(15,c)|0,u|0)break;d=c,c=r[d>>2]|0,d=r[d+4>>2]|0}else u=((s|0)<0)<<31>>31,g=Ot(s|0,u|0,3,0)|0,d=D()|0,u=Pe(s|0,u|0,1,0)|0,u=Ot(g|0,d|0,u|0,D()|0)|0,u=Pe(u|0,D()|0,1,0)|0,d=D()|0,r[c>>2]=u,r[c+4>>2]=d,c=u;if(mr(a|0,0,c<<3|0)|0,l|0){mr(l|0,0,c<<2|0)|0,u=RA(A,t,s,a,l,c,d,0)|0;break}u=Yt(c,4)|0,u?(g=RA(A,t,s,a,u,c,d,0)|0,Ce(u),u=g):u=13}else u=2;while(!1);return g=u,C=p,g|0}function gf(A,t,s,a,l){A=A|0,t=t|0,s=s|0,a=a|0,l=l|0;var u=0,c=0,d=0,p=0,g=0,w=0,x=0,j=0,N=0,F=0,G=0;if(G=C,C=C+16|0,N=G,F=G+8|0,j=N,r[j>>2]=A,r[j+4>>2]=t,(s|0)<0)return F=2,C=G,F|0;if(u=a,r[u>>2]=A,r[u+4>>2]=t,u=(l|0)!=0,u&&(r[l>>2]=0),ut(A,t)|0)return F=9,C=G,F|0;r[F>>2]=0;e:do if((s|0)>=1)if(u)for(w=1,g=0,x=0,j=1,u=A;;){if(!(g|x)){if(u=Dt(u,t,4,F,N)|0,u|0)break e;if(t=N,u=r[t>>2]|0,t=r[t+4>>2]|0,ut(u,t)|0){u=9;break e}}if(u=Dt(u,t,r[26800+(x<<2)>>2]|0,F,N)|0,u|0)break e;if(t=N,u=r[t>>2]|0,t=r[t+4>>2]|0,A=a+(w<<3)|0,r[A>>2]=u,r[A+4>>2]=t,r[l+(w<<2)>>2]=j,A=g+1|0,c=(A|0)==(j|0),d=x+1|0,p=(d|0)==6,ut(u,t)|0){u=9;break e}if(j=j+(p&c&1)|0,(j|0)>(s|0)){u=0;break}else w=w+1|0,g=c?0:A,x=c?p?0:d:x}else for(w=1,g=0,x=0,j=1,u=A;;){if(!(g|x)){if(u=Dt(u,t,4,F,N)|0,u|0)break e;if(t=N,u=r[t>>2]|0,t=r[t+4>>2]|0,ut(u,t)|0){u=9;break e}}if(u=Dt(u,t,r[26800+(x<<2)>>2]|0,F,N)|0,u|0)break e;if(t=N,u=r[t>>2]|0,t=r[t+4>>2]|0,A=a+(w<<3)|0,r[A>>2]=u,r[A+4>>2]=t,A=g+1|0,c=(A|0)==(j|0),d=x+1|0,p=(d|0)==6,ut(u,t)|0){u=9;break e}if(j=j+(p&c&1)|0,(j|0)>(s|0)){u=0;break}else w=w+1|0,g=c?0:A,x=c?p?0:d:x}else u=0;while(!1);return F=u,C=G,F|0}function RA(A,t,s,a,l,u,c,d){A=A|0,t=t|0,s=s|0,a=a|0,l=l|0,u=u|0,c=c|0,d=d|0;var p=0,g=0,w=0,x=0,j=0,N=0,F=0,G=0,K=0,ee=0;if(G=C,C=C+16|0,N=G+8|0,F=G,p=Gn(A|0,t|0,u|0,c|0)|0,w=D()|0,x=a+(p<<3)|0,K=x,ee=r[K>>2]|0,K=r[K+4>>2]|0,g=(ee|0)==(A|0)&(K|0)==(t|0),!((ee|0)==0&(K|0)==0|g))do p=Pe(p|0,w|0,1,0)|0,p=Un(p|0,D()|0,u|0,c|0)|0,w=D()|0,x=a+(p<<3)|0,ee=x,K=r[ee>>2]|0,ee=r[ee+4>>2]|0,g=(K|0)==(A|0)&(ee|0)==(t|0);while(!((K|0)==0&(ee|0)==0|g));if(p=l+(p<<2)|0,g&&(r[p>>2]|0)<=(d|0)||(ee=x,r[ee>>2]=A,r[ee+4>>2]=t,r[p>>2]=d,(d|0)>=(s|0)))return ee=0,C=G,ee|0;switch(g=d+1|0,r[N>>2]=0,p=Dt(A,t,2,N,F)|0,p|0){case 9:{j=9;break}case 0:{p=F,p=RA(r[p>>2]|0,r[p+4>>2]|0,s,a,l,u,c,g)|0,p||(j=9);break}default:}e:do if((j|0)==9){switch(r[N>>2]=0,p=Dt(A,t,3,N,F)|0,p|0){case 9:break;case 0:{if(p=F,p=RA(r[p>>2]|0,r[p+4>>2]|0,s,a,l,u,c,g)|0,p|0)break e;break}default:break e}switch(r[N>>2]=0,p=Dt(A,t,1,N,F)|0,p|0){case 9:break;case 0:{if(p=F,p=RA(r[p>>2]|0,r[p+4>>2]|0,s,a,l,u,c,g)|0,p|0)break e;break}default:break e}switch(r[N>>2]=0,p=Dt(A,t,5,N,F)|0,p|0){case 9:break;case 0:{if(p=F,p=RA(r[p>>2]|0,r[p+4>>2]|0,s,a,l,u,c,g)|0,p|0)break e;break}default:break e}switch(r[N>>2]=0,p=Dt(A,t,4,N,F)|0,p|0){case 9:break;case 0:{if(p=F,p=RA(r[p>>2]|0,r[p+4>>2]|0,s,a,l,u,c,g)|0,p|0)break e;break}default:break e}switch(r[N>>2]=0,p=Dt(A,t,6,N,F)|0,p|0){case 9:break;case 0:{if(p=F,p=RA(r[p>>2]|0,r[p+4>>2]|0,s,a,l,u,c,g)|0,p|0)break e;break}default:break e}return ee=0,C=G,ee|0}while(!1);return ee=p,C=G,ee|0}function Dt(A,t,s,a,l){A=A|0,t=t|0,s=s|0,a=a|0,l=l|0;var u=0,c=0,d=0,p=0,g=0,w=0,x=0,j=0,N=0,F=0;if(s>>>0>6)return l=1,l|0;if(x=(r[a>>2]|0)%6|0,r[a>>2]=x,(x|0)>0){u=0;do s=Wr(s)|0,u=u+1|0;while((u|0)<(r[a>>2]|0))}if(x=oe(A|0,t|0,45)|0,D()|0,w=x&127,w>>>0>121)return l=5,l|0;p=Wt(A,t)|0,u=oe(A|0,t|0,52)|0,D()|0,u=u&15;e:do if(!u)g=8;else{for(;;){if(c=(15-u|0)*3|0,d=oe(A|0,t|0,c|0)|0,D()|0,d=d&7,(d|0)==7){t=5;break}if(F=(dA(u)|0)==0,u=u+-1|0,j=fe(7,0,c|0)|0,t=t&~(D()|0),N=fe(r[(F?432:16)+(d*28|0)+(s<<2)>>2]|0,0,c|0)|0,c=D()|0,s=r[(F?640:224)+(d*28|0)+(s<<2)>>2]|0,A=N|A&~j,t=c|t,!s){s=0;break e}if(!u){g=8;break e}}return t|0}while(!1);(g|0)==8&&(F=r[848+(w*28|0)+(s<<2)>>2]|0,N=fe(F|0,0,45)|0,A=N|A,t=D()|0|t&-1040385,s=r[4272+(w*28|0)+(s<<2)>>2]|0,(F&127|0)==127&&(F=fe(r[848+(w*28|0)+20>>2]|0,0,45)|0,t=D()|0|t&-1040385,s=r[4272+(w*28|0)+20>>2]|0,A=Yr(F|A,t)|0,t=D()|0,r[a>>2]=(r[a>>2]|0)+1)),d=oe(A|0,t|0,45)|0,D()|0,d=d&127;e:do if(ht(d)|0){t:do if((Wt(A,t)|0)==1){if((w|0)!=(d|0))if(vf(d,r[7696+(w*28|0)>>2]|0)|0){A=Ka(A,t)|0,c=1,t=D()|0;break}else Te(27795,26864,533,26872);switch(p|0){case 3:{A=Yr(A,t)|0,t=D()|0,r[a>>2]=(r[a>>2]|0)+1,c=0;break t}case 5:{A=Ka(A,t)|0,t=D()|0,r[a>>2]=(r[a>>2]|0)+5,c=0;break t}case 0:return F=9,F|0;default:return F=1,F|0}}else c=0;while(!1);if((s|0)>0){u=0;do A=Ja(A,t)|0,t=D()|0,u=u+1|0;while((u|0)!=(s|0))}if((w|0)!=(d|0)){if(!(Ma(d)|0)){if((c|0)!=0|(Wt(A,t)|0)!=5)break;r[a>>2]=(r[a>>2]|0)+1;break}switch(x&127){case 8:case 118:break e;default:}(Wt(A,t)|0)!=3&&(r[a>>2]=(r[a>>2]|0)+1)}}else if((s|0)>0){u=0;do A=Yr(A,t)|0,t=D()|0,u=u+1|0;while((u|0)!=(s|0))}while(!1);return r[a>>2]=((r[a>>2]|0)+s|0)%6|0,F=l,r[F>>2]=A,r[F+4>>2]=t,F=0,F|0}function F2(A,t,s,a){return A=A|0,t=t|0,s=s|0,a=a|0,yf(A,t,s,a)|0?(mr(a|0,0,s*48|0)|0,a=Q2(A,t,s,a)|0,a|0):(a=0,a|0)}function yf(A,t,s,a){A=A|0,t=t|0,s=s|0,a=a|0;var l=0,u=0,c=0,d=0,p=0,g=0,w=0,x=0,j=0,N=0,F=0;if(F=C,C=C+16|0,j=F,N=F+8|0,x=j,r[x>>2]=A,r[x+4>>2]=t,(s|0)<0)return N=2,C=F,N|0;if(!s)return N=a,r[N>>2]=A,r[N+4>>2]=t,N=0,C=F,N|0;r[N>>2]=0;e:do if(ut(A,t)|0)A=9;else{l=0,x=A;do{if(A=Dt(x,t,4,N,j)|0,A|0)break e;if(t=j,x=r[t>>2]|0,t=r[t+4>>2]|0,l=l+1|0,ut(x,t)|0){A=9;break e}}while((l|0)<(s|0));w=a,r[w>>2]=x,r[w+4>>2]=t,w=s+-1|0,g=0,A=1;do{if(l=26800+(g<<2)|0,(g|0)==5)for(c=r[l>>2]|0,u=0,l=A;;){if(A=j,A=Dt(r[A>>2]|0,r[A+4>>2]|0,c,N,j)|0,A|0)break e;if((u|0)!=(w|0))if(p=j,d=r[p>>2]|0,p=r[p+4>>2]|0,A=a+(l<<3)|0,r[A>>2]=d,r[A+4>>2]=p,!(ut(d,p)|0))A=l+1|0;else{A=9;break e}else A=l;if(u=u+1|0,(u|0)>=(s|0))break;l=A}else for(c=j,p=r[l>>2]|0,d=0,l=A,u=r[c>>2]|0,c=r[c+4>>2]|0;;){if(A=Dt(u,c,p,N,j)|0,A|0)break e;if(c=j,u=r[c>>2]|0,c=r[c+4>>2]|0,A=a+(l<<3)|0,r[A>>2]=u,r[A+4>>2]=c,A=l+1|0,ut(u,c)|0){A=9;break e}if(d=d+1|0,(d|0)>=(s|0))break;l=A}g=g+1|0}while(g>>>0<6);A=j,A=(x|0)==(r[A>>2]|0)&&(t|0)==(r[A+4>>2]|0)?0:9}while(!1);return N=A,C=F,N|0}function Q2(A,t,s,a){A=A|0,t=t|0,s=s|0,a=a|0;var l=0,u=0,c=0,d=0,p=0,g=0,w=0,x=0,j=0;if(x=C,C=C+16|0,c=x,!s)return r[a>>2]=A,r[a+4>>2]=t,a=0,C=x,a|0;do if((s|0)>=0){if((s|0)>13780509){if(l=oo(15,c)|0,l|0)break;u=c,l=r[u>>2]|0,u=r[u+4>>2]|0}else l=((s|0)<0)<<31>>31,w=Ot(s|0,l|0,3,0)|0,u=D()|0,l=Pe(s|0,l|0,1,0)|0,l=Ot(w|0,u|0,l|0,D()|0)|0,l=Pe(l|0,D()|0,1,0)|0,u=D()|0,w=c,r[w>>2]=l,r[w+4>>2]=u;if(g=Yt(l,8)|0,!g)l=13;else{if(w=Yt(l,4)|0,!w){Ce(g),l=13;break}if(l=RA(A,t,s,g,w,l,u,0)|0,l|0){Ce(g),Ce(w);break}if(t=r[c>>2]|0,c=r[c+4>>2]|0,(c|0)>0|(c|0)==0&t>>>0>0){l=0,d=0,p=0;do A=g+(d<<3)|0,u=r[A>>2]|0,A=r[A+4>>2]|0,!((u|0)==0&(A|0)==0)&&(r[w+(d<<2)>>2]|0)==(s|0)&&(j=a+(l<<3)|0,r[j>>2]=u,r[j+4>>2]=A,l=l+1|0),d=Pe(d|0,p|0,1,0)|0,p=D()|0;while((p|0)<(c|0)|(p|0)==(c|0)&d>>>0<t>>>0)}Ce(g),Ce(w),l=0}}else l=2;while(!1);return j=l,C=x,j|0}function Ba(A,t,s,a){A=A|0,t=t|0,s=s|0,a=a|0;var l=0,u=0,c=0,d=0,p=0,g=0;for(d=C,C=C+16|0,u=d,c=d+8|0,l=(ut(A,t)|0)==0,l=l?1:2;;){if(r[c>>2]=0,g=(Dt(A,t,l,c,u)|0)==0,p=u,g&((r[p>>2]|0)==(s|0)?(r[p+4>>2]|0)==(a|0):0)){A=4;break}if(l=l+1|0,l>>>0>=7){l=7,A=4;break}}return(A|0)==4?(C=d,l|0):0}function L2(A,t,s,a){A=A|0,t=t|0,s=s|0,a=a|0;var l=0,u=0,c=0,d=0,p=0,g=0;if(d=C,C=C+48|0,l=d+16|0,u=d+8|0,c=d,s=Yi(s)|0,s|0)return c=s,C=d,c|0;if(g=A,p=r[g+4>>2]|0,s=u,r[s>>2]=r[g>>2],r[s+4>>2]=p,zf(u,l),s=Pf(l,t,c)|0,!s){if(t=r[u>>2]|0,u=r[A+8>>2]|0,(u|0)>0){l=r[A+12>>2]|0,s=0;do t=(r[l+(s<<3)>>2]|0)+t|0,s=s+1|0;while((s|0)<(u|0))}s=c,l=r[s>>2]|0,s=r[s+4>>2]|0,u=((t|0)<0)<<31>>31,(s|0)<(u|0)|(s|0)==(u|0)&l>>>0<t>>>0?(s=c,r[s>>2]=t,r[s+4>>2]=u,s=u):t=l,p=Pe(t|0,s|0,12,0)|0,g=D()|0,s=c,r[s>>2]=p,r[s+4>>2]=g,s=a,r[s>>2]=p,r[s+4>>2]=g,s=0}return g=s,C=d,g|0}function wf(A,t,s,a,l,u,c){A=A|0,t=t|0,s=s|0,a=a|0,l=l|0,u=u|0,c=c|0;var d=0,p=0,g=0,w=0,x=0,j=0,N=0,F=0,G=0,K=0,ee=0,Y=0,W=0,H=0,he=0,be=0,_e=0,Me=0,Ne=0,Ve=0,Oe=0,Ee=0,ce=0,Ue=0,ot=0,Le=0,at=0,Vt=0,oc=0;if(ot=C,C=C+64|0,Oe=ot+48|0,Ee=ot+32|0,ce=ot+24|0,he=ot+8|0,be=ot,p=r[A>>2]|0,(p|0)<=0)return Ue=0,C=ot,Ue|0;for(_e=A+4|0,Me=Oe+8|0,Ne=Ee+8|0,Ve=he+8|0,d=0,W=0;;){g=r[_e>>2]|0,Y=g+(W<<4)|0,r[Oe>>2]=r[Y>>2],r[Oe+4>>2]=r[Y+4>>2],r[Oe+8>>2]=r[Y+8>>2],r[Oe+12>>2]=r[Y+12>>2],(W|0)==(p+-1|0)?(r[Ee>>2]=r[g>>2],r[Ee+4>>2]=r[g+4>>2],r[Ee+8>>2]=r[g+8>>2],r[Ee+12>>2]=r[g+12>>2]):(Y=g+(W+1<<4)|0,r[Ee>>2]=r[Y>>2],r[Ee+4>>2]=r[Y+4>>2],r[Ee+8>>2]=r[Y+8>>2],r[Ee+12>>2]=r[Y+12>>2]),p=Z2(Oe,Ee,a,ce)|0;e:do if(p)g=0,d=p;else if(p=ce,g=r[p>>2]|0,p=r[p+4>>2]|0,(p|0)>0|(p|0)==0&g>>>0>0){ee=0,Y=0;t:for(;;){if(at=1/(+(g>>>0)+4294967296*+(p|0)),oc=+k[Oe>>3],p=Rt(g|0,p|0,ee|0,Y|0)|0,Vt=+(p>>>0)+4294967296*+(D()|0),Le=+(ee>>>0)+4294967296*+(Y|0),k[he>>3]=at*(oc*Vt)+at*(+k[Ee>>3]*Le),k[Ve>>3]=at*(+k[Me>>3]*Vt)+at*(+k[Ne>>3]*Le),p=Wa(he,a,be)|0,p|0){d=p;break}K=be,G=r[K>>2]|0,K=r[K+4>>2]|0,j=Gn(G|0,K|0,t|0,s|0)|0,w=D()|0,p=c+(j<<3)|0,x=p,g=r[x>>2]|0,x=r[x+4>>2]|0;A:do if((g|0)==0&(x|0)==0)H=p,Ue=16;else for(N=0,F=0;;){if((N|0)>(s|0)|(N|0)==(s|0)&F>>>0>t>>>0){d=1;break t}if((g|0)==(G|0)&(x|0)==(K|0))break A;if(p=Pe(j|0,w|0,1,0)|0,j=Un(p|0,D()|0,t|0,s|0)|0,w=D()|0,F=Pe(F|0,N|0,1,0)|0,N=D()|0,p=c+(j<<3)|0,x=p,g=r[x>>2]|0,x=r[x+4>>2]|0,(g|0)==0&(x|0)==0){H=p,Ue=16;break}}while(!1);if((Ue|0)==16&&(Ue=0,!((G|0)==0&(K|0)==0))&&(F=H,r[F>>2]=G,r[F+4>>2]=K,F=u+(r[l>>2]<<3)|0,r[F>>2]=G,r[F+4>>2]=K,F=l,F=Pe(r[F>>2]|0,r[F+4>>2]|0,1,0)|0,G=D()|0,K=l,r[K>>2]=F,r[K+4>>2]=G),ee=Pe(ee|0,Y|0,1,0)|0,Y=D()|0,p=ce,g=r[p>>2]|0,p=r[p+4>>2]|0,!((p|0)>(Y|0)|(p|0)==(Y|0)&g>>>0>ee>>>0)){g=1;break e}}g=0}else g=1;while(!1);if(W=W+1|0,!g){Ue=21;break}if(p=r[A>>2]|0,(W|0)>=(p|0)){d=0,Ue=21;break}}return(Ue|0)==21?(C=ot,d|0):0}function q2(A,t,s,a){A=A|0,t=t|0,s=s|0,a=a|0;var l=0,u=0,c=0,d=0,p=0,g=0,w=0,x=0,j=0,N=0,F=0,G=0,K=0,ee=0,Y=0,W=0,H=0,he=0,be=0,_e=0,Me=0,Ne=0,Ve=0,Oe=0,Ee=0,ce=0,Ue=0,ot=0,Le=0,at=0,Vt=0;if(Vt=C,C=C+112|0,Ue=Vt+80|0,p=Vt+72|0,ot=Vt,Le=Vt+56|0,l=Yi(s)|0,l|0)return at=l,C=Vt,at|0;if(g=A+8|0,at=OA((r[g>>2]<<5)+32|0)|0,!at)return at=13,C=Vt,at|0;if(r0(A,at),l=Yi(s)|0,!l){if(Ee=A,ce=r[Ee+4>>2]|0,l=p,r[l>>2]=r[Ee>>2],r[l+4>>2]=ce,zf(p,Ue),l=Pf(Ue,t,ot)|0,l)Ee=0,ce=0;else{if(l=r[p>>2]|0,u=r[g>>2]|0,(u|0)>0){c=r[A+12>>2]|0,s=0;do l=(r[c+(s<<3)>>2]|0)+l|0,s=s+1|0;while((s|0)!=(u|0));s=l}else s=l;l=ot,u=r[l>>2]|0,l=r[l+4>>2]|0,c=((s|0)<0)<<31>>31,(l|0)<(c|0)|(l|0)==(c|0)&u>>>0<s>>>0?(l=ot,r[l>>2]=s,r[l+4>>2]=c,l=c):s=u,Ee=Pe(s|0,l|0,12,0)|0,ce=D()|0,l=ot,r[l>>2]=Ee,r[l+4>>2]=ce,l=0}if(!l){if(s=Yt(Ee,8)|0,!s)return Ce(at),at=13,C=Vt,at|0;if(d=Yt(Ee,8)|0,!d)return Ce(at),Ce(s),at=13,C=Vt,at|0;Ve=Ue,r[Ve>>2]=0,r[Ve+4>>2]=0,Ve=A,Oe=r[Ve+4>>2]|0,l=p,r[l>>2]=r[Ve>>2],r[l+4>>2]=Oe,l=wf(p,Ee,ce,t,Ue,s,d)|0;e:do if(l)Ce(s),Ce(d),Ce(at);else{t:do if((r[g>>2]|0)>0){for(c=A+12|0,u=0;l=wf((r[c>>2]|0)+(u<<3)|0,Ee,ce,t,Ue,s,d)|0,u=u+1|0,!(l|0);)if((u|0)>=(r[g>>2]|0))break t;Ce(s),Ce(d),Ce(at);break e}while(!1);(ce|0)>0|(ce|0)==0&Ee>>>0>0&&mr(d|0,0,Ee<<3|0)|0,Oe=Ue,Ve=r[Oe+4>>2]|0;t:do if((Ve|0)>0|(Ve|0)==0&(r[Oe>>2]|0)>>>0>0){_e=s,Me=d,Ne=s,Ve=d,Oe=s,l=s,H=s,he=d,be=d,s=d;A:for(;;){for(K=0,ee=0,Y=0,W=0,u=0,c=0;;){d=ot,p=d+56|0;do r[d>>2]=0,d=d+4|0;while((d|0)<(p|0));if(t=_e+(K<<3)|0,g=r[t>>2]|0,t=r[t+4>>2]|0,gf(g,t,1,ot,0)|0){d=ot,p=d+56|0;do r[d>>2]=0,d=d+4|0;while((d|0)<(p|0));d=Yt(7,4)|0,d|0&&(RA(g,t,1,ot,d,7,0,0)|0,Ce(d))}for(G=0;;){F=ot+(G<<3)|0,N=r[F>>2]|0,F=r[F+4>>2]|0;r:do if((N|0)==0&(F|0)==0)d=u,p=c;else{if(w=Gn(N|0,F|0,Ee|0,ce|0)|0,g=D()|0,d=a+(w<<3)|0,t=d,p=r[t>>2]|0,t=r[t+4>>2]|0,!((p|0)==0&(t|0)==0)){x=0,j=0;do{if((x|0)>(ce|0)|(x|0)==(ce|0)&j>>>0>Ee>>>0)break A;if((p|0)==(N|0)&(t|0)==(F|0)){d=u,p=c;break r}d=Pe(w|0,g|0,1,0)|0,w=Un(d|0,D()|0,Ee|0,ce|0)|0,g=D()|0,j=Pe(j|0,x|0,1,0)|0,x=D()|0,d=a+(w<<3)|0,t=d,p=r[t>>2]|0,t=r[t+4>>2]|0}while(!((p|0)==0&(t|0)==0))}if((N|0)==0&(F|0)==0){d=u,p=c;break}Xr(N,F,Le)|0,n0(A,at,Le)|0&&(j=Pe(u|0,c|0,1,0)|0,c=D()|0,x=d,r[x>>2]=N,r[x+4>>2]=F,u=Me+(u<<3)|0,r[u>>2]=N,r[u+4>>2]=F,u=j),d=u,p=c}while(!1);if(G=G+1|0,G>>>0>=7)break;u=d,c=p}if(K=Pe(K|0,ee|0,1,0)|0,ee=D()|0,Y=Pe(Y|0,W|0,1,0)|0,W=D()|0,c=Ue,u=r[c>>2]|0,c=r[c+4>>2]|0,(W|0)<(c|0)|(W|0)==(c|0)&Y>>>0<u>>>0)u=d,c=p;else break}if((c|0)>0|(c|0)==0&u>>>0>0){u=0,c=0;do W=_e+(u<<3)|0,r[W>>2]=0,r[W+4>>2]=0,u=Pe(u|0,c|0,1,0)|0,c=D()|0,W=Ue,Y=r[W+4>>2]|0;while((c|0)<(Y|0)|((c|0)==(Y|0)?u>>>0<(r[W>>2]|0)>>>0:0))}if(W=Ue,r[W>>2]=d,r[W+4>>2]=p,(p|0)>0|(p|0)==0&d>>>0>0)G=s,K=be,ee=Oe,Y=he,W=Me,s=H,be=l,he=Ne,H=G,l=K,Oe=Ve,Ve=ee,Ne=Y,Me=_e,_e=W;else break t}Ce(Ne),Ce(Ve),Ce(at),l=1;break e}else l=d;while(!1);Ce(at),Ce(s),Ce(l),l=0}while(!1);return at=l,C=Vt,at|0}}return Ce(at),at=l,C=Vt,at|0}function U2(A,t,s){A=A|0,t=t|0,s=s|0;var a=0,l=0,u=0,c=0,d=0,p=0,g=0,w=0;if(w=C,C=C+176|0,p=w,(t|0)<1)return Zf(s,0,0),g=0,C=w,g|0;for(d=A,d=oe(r[d>>2]|0,r[d+4>>2]|0,52)|0,D()|0,Zf(s,(t|0)>6?t:6,d&15),d=0;a=A+(d<<3)|0,a=Ln(r[a>>2]|0,r[a+4>>2]|0,p)|0,!(a|0);){if(a=r[p>>2]|0,(a|0)>0){c=0;do u=p+8+(c<<4)|0,c=c+1|0,a=p+8+(((c|0)%(a|0)|0)<<4)|0,l=y1(s,a,u)|0,l?Ac(s,l)|0:g1(s,u,a)|0,a=r[p>>2]|0;while((c|0)<(a|0))}if(d=d+1|0,(d|0)>=(t|0)){a=0,g=13;break}}return(g|0)==13?(C=w,a|0):(ec(s),g=a,C=w,g|0)}function G2(A,t,s){A=A|0,t=t|0,s=s|0;var a=0,l=0,u=0,c=0;if(u=C,C=C+32|0,a=u,l=u+16|0,A=U2(A,t,l)|0,A|0)return s=A,C=u,s|0;if(r[s>>2]=0,r[s+4>>2]=0,r[s+8>>2]=0,A=tc(l)|0,A|0)do{t=zg(s)|0;do Jg(t,A)|0,c=A+16|0,r[a>>2]=r[c>>2],r[a+4>>2]=r[c+4>>2],r[a+8>>2]=r[c+8>>2],r[a+12>>2]=r[c+12>>2],Ac(l,A)|0,A=w1(l,a)|0;while((A|0)!=0);A=tc(l)|0}while((A|0)!=0);return ec(l),A=Kg(s)|0,A?(Uf(s),c=A,C=u,c|0):(c=0,C=u,c|0)}function ht(A){return A=A|0,A>>>0>121?(A=0,A|0):(A=r[7696+(A*28|0)+16>>2]|0,A|0)}function Ma(A){return A=A|0,(A|0)==4|(A|0)==117|0}function _f(A){return A=A|0,r[11120+((r[A>>2]|0)*216|0)+((r[A+4>>2]|0)*72|0)+((r[A+8>>2]|0)*24|0)+(r[A+12>>2]<<3)>>2]|0}function H2(A){return A=A|0,r[11120+((r[A>>2]|0)*216|0)+((r[A+4>>2]|0)*72|0)+((r[A+8>>2]|0)*24|0)+(r[A+12>>2]<<3)+4>>2]|0}function V2(A,t){A=A|0,t=t|0,A=7696+(A*28|0)|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]}function z2(A,t){A=A|0,t=t|0;var s=0,a=0;if(t>>>0>20)return t=-1,t|0;do if((r[11120+(t*216|0)>>2]|0)!=(A|0))if((r[11120+(t*216|0)+8>>2]|0)!=(A|0))if((r[11120+(t*216|0)+16>>2]|0)!=(A|0))if((r[11120+(t*216|0)+24>>2]|0)!=(A|0))if((r[11120+(t*216|0)+32>>2]|0)!=(A|0))if((r[11120+(t*216|0)+40>>2]|0)!=(A|0))if((r[11120+(t*216|0)+48>>2]|0)!=(A|0))if((r[11120+(t*216|0)+56>>2]|0)!=(A|0))if((r[11120+(t*216|0)+64>>2]|0)!=(A|0))if((r[11120+(t*216|0)+72>>2]|0)!=(A|0))if((r[11120+(t*216|0)+80>>2]|0)!=(A|0))if((r[11120+(t*216|0)+88>>2]|0)!=(A|0))if((r[11120+(t*216|0)+96>>2]|0)!=(A|0))if((r[11120+(t*216|0)+104>>2]|0)!=(A|0))if((r[11120+(t*216|0)+112>>2]|0)!=(A|0))if((r[11120+(t*216|0)+120>>2]|0)!=(A|0))if((r[11120+(t*216|0)+128>>2]|0)!=(A|0))if((r[11120+(t*216|0)+136>>2]|0)==(A|0))A=2,s=1,a=2;else{if((r[11120+(t*216|0)+144>>2]|0)==(A|0)){A=0,s=2,a=0;break}if((r[11120+(t*216|0)+152>>2]|0)==(A|0)){A=0,s=2,a=1;break}if((r[11120+(t*216|0)+160>>2]|0)==(A|0)){A=0,s=2,a=2;break}if((r[11120+(t*216|0)+168>>2]|0)==(A|0)){A=1,s=2,a=0;break}if((r[11120+(t*216|0)+176>>2]|0)==(A|0)){A=1,s=2,a=1;break}if((r[11120+(t*216|0)+184>>2]|0)==(A|0)){A=1,s=2,a=2;break}if((r[11120+(t*216|0)+192>>2]|0)==(A|0)){A=2,s=2,a=0;break}if((r[11120+(t*216|0)+200>>2]|0)==(A|0)){A=2,s=2,a=1;break}if((r[11120+(t*216|0)+208>>2]|0)==(A|0)){A=2,s=2,a=2;break}else A=-1;return A|0}else A=2,s=1,a=1;else A=2,s=1,a=0;else A=1,s=1,a=2;else A=1,s=1,a=1;else A=1,s=1,a=0;else A=0,s=1,a=2;else A=0,s=1,a=1;else A=0,s=1,a=0;else A=2,s=0,a=2;else A=2,s=0,a=1;else A=2,s=0,a=0;else A=1,s=0,a=2;else A=1,s=0,a=1;else A=1,s=0,a=0;else A=0,s=0,a=2;else A=0,s=0,a=1;else A=0,s=0,a=0;while(!1);return t=r[11120+(t*216|0)+(s*72|0)+(A*24|0)+(a<<3)+4>>2]|0,t|0}function vf(A,t){return A=A|0,t=t|0,(r[7696+(A*28|0)+20>>2]|0)==(t|0)?(t=1,t|0):(t=(r[7696+(A*28|0)+24>>2]|0)==(t|0),t|0)}function ja(A,t){return A=A|0,t=t|0,r[848+(A*28|0)+(t<<2)>>2]|0}function Na(A,t){return A=A|0,t=t|0,(r[848+(A*28|0)>>2]|0)==(t|0)?(t=0,t|0):(r[848+(A*28|0)+4>>2]|0)==(t|0)?(t=1,t|0):(r[848+(A*28|0)+8>>2]|0)==(t|0)?(t=2,t|0):(r[848+(A*28|0)+12>>2]|0)==(t|0)?(t=3,t|0):(r[848+(A*28|0)+16>>2]|0)==(t|0)?(t=4,t|0):(r[848+(A*28|0)+20>>2]|0)==(t|0)?(t=5,t|0):((r[848+(A*28|0)+24>>2]|0)==(t|0)?6:7)|0}function J2(){return 122}function K2(A){A=A|0;var t=0,s=0,a=0;t=0;do fe(t|0,0,45)|0,a=D()|0|134225919,s=A+(t<<3)|0,r[s>>2]=-1,r[s+4>>2]=a,t=t+1|0;while((t|0)!=122);return 0}function W2(A){A=A|0;var t=0,s=0,a=0;return a=+k[A+16>>3],s=+k[A+24>>3],t=a-s,+(a<s?t+6.283185307179586:t)}function bf(A){return A=A|0,+k[A+16>>3]<+k[A+24>>3]|0}function Y2(A){return A=A|0,+(+k[A>>3]-+k[A+8>>3])}function Fa(A,t){A=A|0,t=t|0;var s=0,a=0,l=0;return s=+k[t>>3],!(s>=+k[A+8>>3])||!(s<=+k[A>>3])?(t=0,t|0):(a=+k[A+16>>3],s=+k[A+24>>3],l=+k[t+8>>3],t=l>=s,A=l<=a&1,a<s?t&&(A=1):t||(A=0),t=(A|0)!=0,t|0)}function Qa(A,t){A=A|0,t=t|0;var s=0,a=0,l=0,u=0,c=0,d=0,p=0,g=0,w=0;return+k[A>>3]<+k[t+8>>3]||+k[A+8>>3]>+k[t>>3]?(a=0,a|0):(u=+k[A+16>>3],s=A+24|0,w=+k[s>>3],c=u<w,a=t+16|0,g=+k[a>>3],l=t+24|0,p=+k[l>>3],d=g<p,t=w-g<p-u,A=c?d|t?1:2:0,t=d?c?1:t?2:1:0,u=+nA(u,A),u<+nA(+k[l>>3],t)||(w=+nA(+k[s>>3],A),w>+nA(+k[a>>3],t))?(d=0,d|0):(d=1,d|0))}function X2(A,t,s,a){A=A|0,t=t|0,s=s|0,a=a|0;var l=0,u=0,c=0,d=0,p=0;u=+k[A+16>>3],p=+k[A+24>>3],A=u<p,d=+k[t+16>>3],c=+k[t+24>>3],l=d<c,t=p-d<c-u,r[s>>2]=A?l|t?1:2:0,r[a>>2]=l?A?1:t?2:1:0}function Ef(A,t){A=A|0,t=t|0;var s=0,a=0,l=0,u=0,c=0,d=0,p=0,g=0,w=0;return+k[A>>3]<+k[t>>3]||+k[A+8>>3]>+k[t+8>>3]?(a=0,a|0):(a=A+16|0,p=+k[a>>3],u=+k[A+24>>3],c=p<u,s=t+16|0,w=+k[s>>3],l=t+24|0,g=+k[l>>3],d=w<g,t=u-w<g-p,A=c?d|t?1:2:0,t=d?c?1:t?2:1:0,u=+nA(u,A),u<=+nA(+k[l>>3],t)?(w=+nA(+k[a>>3],A),d=w>=+nA(+k[s>>3],t),d|0):(d=0,d|0))}function $f(A,t){A=A|0,t=t|0;var s=0,a=0,l=0,u=0,c=0,d=0;l=C,C=C+176|0,a=l,r[a>>2]=4,d=+k[t>>3],k[a+8>>3]=d,u=+k[t+16>>3],k[a+16>>3]=u,k[a+24>>3]=d,d=+k[t+24>>3],k[a+32>>3]=d,c=+k[t+8>>3],k[a+40>>3]=c,k[a+48>>3]=d,k[a+56>>3]=c,k[a+64>>3]=u,t=a+72|0,s=t+96|0;do r[t>>2]=0,t=t+4|0;while((t|0)<(s|0));Hn(A|0,a|0,168)|0,C=l}function Pf(A,t,s){A=A|0,t=t|0,s=s|0;var a=0,l=0,u=0,c=0,d=0,p=0,g=0,w=0,x=0,j=0,N=0,F=0,G=0,K=0;F=C,C=C+288|0,w=F+264|0,x=F+96|0,g=F,d=g,p=d+96|0;do r[d>>2]=0,d=d+4|0;while((d|0)<(p|0));return t=Xa(t,g)|0,t|0?(N=t,C=F,N|0):(p=g,g=r[p>>2]|0,p=r[p+4>>2]|0,Xr(g,p,w)|0,Ln(g,p,x)|0,c=+Ki(w,x+8|0),k[w>>3]=+k[A>>3],p=w+8|0,k[p>>3]=+k[A+16>>3],k[x>>3]=+k[A+8>>3],g=x+8|0,k[g>>3]=+k[A+24>>3],l=+Ki(w,x),K=+k[p>>3]-+k[g>>3],u=+rt(+K),G=+k[w>>3]-+k[x>>3],a=+rt(+G),!(K==0|G==0)&&(K=+ic(+u,+a),K=+Nn(+(l*l/+uo(+(K/+uo(+u,+a)),3)/(c*(c*2.59807621135)*.8))),k[Ct>>3]=K,j=~~K>>>0,N=+rt(K)>=1?K>0?~~+Ia(+St(K/4294967296),4294967295)>>>0:~~+Nn((K-+(~~K>>>0))/4294967296)>>>0:0,(r[Ct+4>>2]&2146435072|0)!=2146435072)?(x=(j|0)==0&(N|0)==0,t=s,r[t>>2]=x?1:j,r[t+4>>2]=x?0:N,t=0):t=1,N=t,C=F,N|0)}function Z2(A,t,s,a){A=A|0,t=t|0,s=s|0,a=a|0;var l=0,u=0,c=0,d=0,p=0,g=0,w=0;g=C,C=C+288|0,c=g+264|0,d=g+96|0,p=g,l=p,u=l+96|0;do r[l>>2]=0,l=l+4|0;while((l|0)<(u|0));return s=Xa(s,p)|0,s|0?(a=s,C=g,a|0):(s=p,l=r[s>>2]|0,s=r[s+4>>2]|0,Xr(l,s,c)|0,Ln(l,s,d)|0,w=+Ki(c,d+8|0),w=+Nn(+(+Ki(A,t)/(w*2))),k[Ct>>3]=w,s=~~w>>>0,l=+rt(w)>=1?w>0?~~+Ia(+St(w/4294967296),4294967295)>>>0:~~+Nn((w-+(~~w>>>0))/4294967296)>>>0:0,(r[Ct+4>>2]&2146435072|0)==2146435072?(a=1,C=g,a|0):(p=(s|0)==0&(l|0)==0,r[a>>2]=p?1:s,r[a+4>>2]=p?0:l,a=0,C=g,a|0))}function eg(A,t){A=A|0,t=+t;var s=0,a=0,l=0,u=0,c=0,d=0,p=0,g=0,w=0;u=A+16|0,c=+k[u>>3],s=A+24|0,l=+k[s>>3],a=c-l,a=c<l?a+6.283185307179586:a,g=+k[A>>3],d=A+8|0,p=+k[d>>3],w=g-p,a=(a*t-a)*.5,t=(w*t-w)*.5,g=g+t,k[A>>3]=g>1.5707963267948966?1.5707963267948966:g,t=p-t,k[d>>3]=t<-1.5707963267948966?-1.5707963267948966:t,t=c+a,t=t>3.141592653589793?t+-6.283185307179586:t,k[u>>3]=t<-3.141592653589793?t+6.283185307179586:t,t=l-a,t=t>3.141592653589793?t+-6.283185307179586:t,k[s>>3]=t<-3.141592653589793?t+6.283185307179586:t}function tg(A,t,s,a){A=A|0,t=t|0,s=s|0,a=a|0,r[A>>2]=t,r[A+4>>2]=s,r[A+8>>2]=a}function Ag(A,t){A=A|0,t=t|0;var s=0,a=0,l=0,u=0,c=0,d=0,p=0,g=0,w=0,x=0,j=0;x=t+8|0,r[x>>2]=0,p=+k[A>>3],c=+rt(+p),g=+k[A+8>>3],d=+rt(+g)*1.1547005383792515,c=c+d*.5,s=~~c,A=~~d,c=c-+(s|0),d=d-+(A|0);do if(c<.5)if(c<.3333333333333333)if(r[t>>2]=s,d<(c+1)*.5){r[t+4>>2]=A;break}else{A=A+1|0,r[t+4>>2]=A;break}else if(j=1-c,A=(!(d<j)&1)+A|0,r[t+4>>2]=A,j<=d&d<c*2){s=s+1|0,r[t>>2]=s;break}else{r[t>>2]=s;break}else{if(!(c<.6666666666666666))if(s=s+1|0,r[t>>2]=s,d<c*.5){r[t+4>>2]=A;break}else{A=A+1|0,r[t+4>>2]=A;break}if(d<1-c){if(r[t+4>>2]=A,c*2+-1<d){r[t>>2]=s;break}}else A=A+1|0,r[t+4>>2]=A;s=s+1|0,r[t>>2]=s}while(!1);do if(p<0)if(A&1){w=(A+1|0)/2|0,w=Rt(s|0,((s|0)<0)<<31>>31|0,w|0,((w|0)<0)<<31>>31|0)|0,s=~~(+(s|0)-((+(w>>>0)+4294967296*+(D()|0))*2+1)),r[t>>2]=s;break}else{w=(A|0)/2|0,w=Rt(s|0,((s|0)<0)<<31>>31|0,w|0,((w|0)<0)<<31>>31|0)|0,s=~~(+(s|0)-(+(w>>>0)+4294967296*+(D()|0))*2),r[t>>2]=s;break}while(!1);w=t+4|0,g<0&&(s=s-((A<<1|1|0)/2|0)|0,r[t>>2]=s,A=0-A|0,r[w>>2]=A),a=A-s|0,(s|0)<0?(l=0-s|0,r[w>>2]=a,r[x>>2]=l,r[t>>2]=0,A=a,s=0):l=0,(A|0)<0&&(s=s-A|0,r[t>>2]=s,l=l-A|0,r[x>>2]=l,r[w>>2]=0,A=0),u=s-l|0,a=A-l|0,(l|0)<0&&(r[t>>2]=u,r[w>>2]=a,r[x>>2]=0,A=a,s=u,l=0),a=(A|0)<(s|0)?A:s,a=(l|0)<(a|0)?l:a,!((a|0)<=0)&&(r[t>>2]=s-a,r[w>>2]=A-a,r[x>>2]=l-a)}function Ft(A){A=A|0;var t=0,s=0,a=0,l=0,u=0,c=0;t=r[A>>2]|0,c=A+4|0,s=r[c>>2]|0,(t|0)<0&&(s=s-t|0,r[c>>2]=s,u=A+8|0,r[u>>2]=(r[u>>2]|0)-t,r[A>>2]=0,t=0),(s|0)<0?(t=t-s|0,r[A>>2]=t,u=A+8|0,l=(r[u>>2]|0)-s|0,r[u>>2]=l,r[c>>2]=0,s=0):(l=A+8|0,u=l,l=r[l>>2]|0),(l|0)<0&&(t=t-l|0,r[A>>2]=t,s=s-l|0,r[c>>2]=s,r[u>>2]=0,l=0),a=(s|0)<(t|0)?s:t,a=(l|0)<(a|0)?l:a,!((a|0)<=0)&&(r[A>>2]=t-a,r[c>>2]=s-a,r[u>>2]=l-a)}function Jr(A,t){A=A|0,t=t|0;var s=0,a=0;a=r[A+8>>2]|0,s=+((r[A+4>>2]|0)-a|0),k[t>>3]=+((r[A>>2]|0)-a|0)-s*.5,k[t+8>>3]=s*.8660254037844386}function Ht(A,t,s){A=A|0,t=t|0,s=s|0,r[s>>2]=(r[t>>2]|0)+(r[A>>2]|0),r[s+4>>2]=(r[t+4>>2]|0)+(r[A+4>>2]|0),r[s+8>>2]=(r[t+8>>2]|0)+(r[A+8>>2]|0)}function La(A,t,s){A=A|0,t=t|0,s=s|0,r[s>>2]=(r[A>>2]|0)-(r[t>>2]|0),r[s+4>>2]=(r[A+4>>2]|0)-(r[t+4>>2]|0),r[s+8>>2]=(r[A+8>>2]|0)-(r[t+8>>2]|0)}function kf(A,t){A=A|0,t=t|0;var s=0,a=0;s=DA(r[A>>2]|0,t)|0,r[A>>2]=s,s=A+4|0,a=DA(r[s>>2]|0,t)|0,r[s>>2]=a,A=A+8|0,t=DA(r[A>>2]|0,t)|0,r[A>>2]=t}function ro(A){A=A|0;var t=0,s=0,a=0,l=0,u=0,c=0,d=0;c=r[A>>2]|0,d=(c|0)<0,a=(r[A+4>>2]|0)-(d?c:0)|0,u=(a|0)<0,l=(u?0-a|0:0)+((r[A+8>>2]|0)-(d?c:0))|0,s=(l|0)<0,A=s?0:l,t=(u?0:a)-(s?l:0)|0,l=(d?0:c)-(u?a:0)-(s?l:0)|0,s=(t|0)<(l|0)?t:l,s=(A|0)<(s|0)?A:s,a=(s|0)>0,A=A-(a?s:0)|0,t=t-(a?s:0)|0;e:do switch(l-(a?s:0)|0){case 0:switch(t|0){case 0:return d=(A|0)==0?0:(A|0)==1?1:7,d|0;case 1:return d=(A|0)==0?2:(A|0)==1?3:7,d|0;default:break e}case 1:switch(t|0){case 0:return d=(A|0)==0?4:(A|0)==1?5:7,d|0;case 1:{if(!A)A=6;else break e;return A|0}default:break e}default:}while(!1);return d=7,d|0}function rg(A){A=A|0;var t=0,s=0,a=0,l=0,u=0,c=0,d=0,p=0,g=0;if(p=A+8|0,c=r[p>>2]|0,d=(r[A>>2]|0)-c|0,g=A+4|0,c=(r[g>>2]|0)-c|0,d>>>0>715827881|c>>>0>715827881){if(a=(d|0)>0,l=2147483647-d|0,u=-2147483648-d|0,(a?(l|0)<(d|0):(u|0)>(d|0))||(s=d<<1,a?(2147483647-s|0)<(d|0):(-2147483648-s|0)>(d|0))||((c|0)>0?(2147483647-c|0)<(c|0):(-2147483648-c|0)>(c|0))||(t=d*3|0,s=c<<1,(a?(l|0)<(s|0):(u|0)>(s|0))||((d|0)>-1?(t|-2147483648|0)>=(c|0):(t^-2147483648|0)<(c|0))))return g=1,g|0}else s=c<<1,t=d*3|0;return a=hr(+(t-c|0)*.14285714285714285)|0,r[A>>2]=a,l=hr(+(s+d|0)*.14285714285714285)|0,r[g>>2]=l,r[p>>2]=0,s=(l|0)<(a|0),t=s?a:l,s=s?l:a,(s|0)<0&&(((s|0)==-2147483648||((t|0)>0?(2147483647-t|0)<(s|0):(-2147483648-t|0)>(s|0)))&&Te(27795,26892,354,26903),((t|0)>-1?(t|-2147483648|0)>=(s|0):(t^-2147483648|0)<(s|0))&&Te(27795,26892,354,26903)),t=l-a|0,(a|0)<0?(s=0-a|0,r[g>>2]=t,r[p>>2]=s,r[A>>2]=0,a=0):(t=l,s=0),(t|0)<0&&(a=a-t|0,r[A>>2]=a,s=s-t|0,r[p>>2]=s,r[g>>2]=0,t=0),u=a-s|0,l=t-s|0,(s|0)<0?(r[A>>2]=u,r[g>>2]=l,r[p>>2]=0,t=l,l=u,s=0):l=a,a=(t|0)<(l|0)?t:l,a=(s|0)<(a|0)?s:a,(a|0)<=0?(g=0,g|0):(r[A>>2]=l-a,r[g>>2]=t-a,r[p>>2]=s-a,g=0,g|0)}function ng(A){A=A|0;var t=0,s=0,a=0,l=0,u=0,c=0,d=0,p=0;if(c=A+8|0,l=r[c>>2]|0,u=(r[A>>2]|0)-l|0,d=A+4|0,l=(r[d>>2]|0)-l|0,u>>>0>715827881|l>>>0>715827881){if(s=(u|0)>0,(s?(2147483647-u|0)<(u|0):(-2147483648-u|0)>(u|0))||(t=u<<1,a=(l|0)>0,a?(2147483647-l|0)<(l|0):(-2147483648-l|0)>(l|0)))return d=1,d|0;if(p=l<<1,(a?(2147483647-p|0)<(l|0):(-2147483648-p|0)>(l|0))||(s?(2147483647-t|0)<(l|0):(-2147483648-t|0)>(l|0))||(s=l*3|0,(l|0)>-1?(s|-2147483648|0)>=(u|0):(s^-2147483648|0)<(u|0)))return p=1,p|0}else s=l*3|0,t=u<<1;return a=hr(+(t+l|0)*.14285714285714285)|0,r[A>>2]=a,l=hr(+(s-u|0)*.14285714285714285)|0,r[d>>2]=l,r[c>>2]=0,s=(l|0)<(a|0),t=s?a:l,s=s?l:a,(s|0)<0&&(((s|0)==-2147483648||((t|0)>0?(2147483647-t|0)<(s|0):(-2147483648-t|0)>(s|0)))&&Te(27795,26892,402,26917),((t|0)>-1?(t|-2147483648|0)>=(s|0):(t^-2147483648|0)<(s|0))&&Te(27795,26892,402,26917)),t=l-a|0,(a|0)<0?(s=0-a|0,r[d>>2]=t,r[c>>2]=s,r[A>>2]=0,a=0):(t=l,s=0),(t|0)<0&&(a=a-t|0,r[A>>2]=a,s=s-t|0,r[c>>2]=s,r[d>>2]=0,t=0),u=a-s|0,l=t-s|0,(s|0)<0?(r[A>>2]=u,r[d>>2]=l,r[c>>2]=0,t=l,l=u,s=0):l=a,a=(t|0)<(l|0)?t:l,a=(s|0)<(a|0)?s:a,(a|0)<=0?(p=0,p|0):(r[A>>2]=l-a,r[d>>2]=t-a,r[c>>2]=s-a,p=0,p|0)}function ig(A){A=A|0;var t=0,s=0,a=0,l=0,u=0,c=0,d=0;c=A+8|0,s=r[c>>2]|0,t=(r[A>>2]|0)-s|0,d=A+4|0,s=(r[d>>2]|0)-s|0,a=hr(+((t*3|0)-s|0)*.14285714285714285)|0,r[A>>2]=a,t=hr(+((s<<1)+t|0)*.14285714285714285)|0,r[d>>2]=t,r[c>>2]=0,s=t-a|0,(a|0)<0?(u=0-a|0,r[d>>2]=s,r[c>>2]=u,r[A>>2]=0,t=s,a=0,s=u):s=0,(t|0)<0&&(a=a-t|0,r[A>>2]=a,s=s-t|0,r[c>>2]=s,r[d>>2]=0,t=0),u=a-s|0,l=t-s|0,(s|0)<0?(r[A>>2]=u,r[d>>2]=l,r[c>>2]=0,t=l,l=u,s=0):l=a,a=(t|0)<(l|0)?t:l,a=(s|0)<(a|0)?s:a,!((a|0)<=0)&&(r[A>>2]=l-a,r[d>>2]=t-a,r[c>>2]=s-a)}function Cf(A){A=A|0;var t=0,s=0,a=0,l=0,u=0,c=0,d=0;c=A+8|0,s=r[c>>2]|0,t=(r[A>>2]|0)-s|0,d=A+4|0,s=(r[d>>2]|0)-s|0,a=hr(+((t<<1)+s|0)*.14285714285714285)|0,r[A>>2]=a,t=hr(+((s*3|0)-t|0)*.14285714285714285)|0,r[d>>2]=t,r[c>>2]=0,s=t-a|0,(a|0)<0?(u=0-a|0,r[d>>2]=s,r[c>>2]=u,r[A>>2]=0,t=s,a=0,s=u):s=0,(t|0)<0&&(a=a-t|0,r[A>>2]=a,s=s-t|0,r[c>>2]=s,r[d>>2]=0,t=0),u=a-s|0,l=t-s|0,(s|0)<0?(r[A>>2]=u,r[d>>2]=l,r[c>>2]=0,t=l,l=u,s=0):l=a,a=(t|0)<(l|0)?t:l,a=(s|0)<(a|0)?s:a,!((a|0)<=0)&&(r[A>>2]=l-a,r[d>>2]=t-a,r[c>>2]=s-a)}function no(A){A=A|0;var t=0,s=0,a=0,l=0,u=0,c=0,d=0;t=r[A>>2]|0,c=A+4|0,s=r[c>>2]|0,d=A+8|0,a=r[d>>2]|0,l=s+(t*3|0)|0,r[A>>2]=l,s=a+(s*3|0)|0,r[c>>2]=s,t=(a*3|0)+t|0,r[d>>2]=t,a=s-l|0,(l|0)<0?(t=t-l|0,r[c>>2]=a,r[d>>2]=t,r[A>>2]=0,s=a,a=0):a=l,(s|0)<0&&(a=a-s|0,r[A>>2]=a,t=t-s|0,r[d>>2]=t,r[c>>2]=0,s=0),u=a-t|0,l=s-t|0,(t|0)<0?(r[A>>2]=u,r[c>>2]=l,r[d>>2]=0,a=u,t=0):l=s,s=(l|0)<(a|0)?l:a,s=(t|0)<(s|0)?t:s,!((s|0)<=0)&&(r[A>>2]=a-s,r[c>>2]=l-s,r[d>>2]=t-s)}function Kr(A){A=A|0;var t=0,s=0,a=0,l=0,u=0,c=0,d=0;l=r[A>>2]|0,c=A+4|0,t=r[c>>2]|0,d=A+8|0,s=r[d>>2]|0,a=(t*3|0)+l|0,l=s+(l*3|0)|0,r[A>>2]=l,r[c>>2]=a,t=(s*3|0)+t|0,r[d>>2]=t,s=a-l|0,(l|0)<0?(t=t-l|0,r[c>>2]=s,r[d>>2]=t,r[A>>2]=0,l=0):s=a,(s|0)<0&&(l=l-s|0,r[A>>2]=l,t=t-s|0,r[d>>2]=t,r[c>>2]=0,s=0),u=l-t|0,a=s-t|0,(t|0)<0?(r[A>>2]=u,r[c>>2]=a,r[d>>2]=0,l=u,t=0):a=s,s=(a|0)<(l|0)?a:l,s=(t|0)<(s|0)?t:s,!((s|0)<=0)&&(r[A>>2]=l-s,r[c>>2]=a-s,r[d>>2]=t-s)}function Sf(A,t){A=A|0,t=t|0;var s=0,a=0,l=0,u=0,c=0,d=0;(t+-1|0)>>>0>=6||(l=(r[15440+(t*12|0)>>2]|0)+(r[A>>2]|0)|0,r[A>>2]=l,d=A+4|0,a=(r[15440+(t*12|0)+4>>2]|0)+(r[d>>2]|0)|0,r[d>>2]=a,c=A+8|0,t=(r[15440+(t*12|0)+8>>2]|0)+(r[c>>2]|0)|0,r[c>>2]=t,s=a-l|0,(l|0)<0?(t=t-l|0,r[d>>2]=s,r[c>>2]=t,r[A>>2]=0,a=0):(s=a,a=l),(s|0)<0&&(a=a-s|0,r[A>>2]=a,t=t-s|0,r[c>>2]=t,r[d>>2]=0,s=0),u=a-t|0,l=s-t|0,(t|0)<0?(r[A>>2]=u,r[d>>2]=l,r[c>>2]=0,a=u,t=0):l=s,s=(l|0)<(a|0)?l:a,s=(t|0)<(s|0)?t:s,!((s|0)<=0)&&(r[A>>2]=a-s,r[d>>2]=l-s,r[c>>2]=t-s))}function xf(A){A=A|0;var t=0,s=0,a=0,l=0,u=0,c=0,d=0;l=r[A>>2]|0,c=A+4|0,t=r[c>>2]|0,d=A+8|0,s=r[d>>2]|0,a=t+l|0,l=s+l|0,r[A>>2]=l,r[c>>2]=a,t=s+t|0,r[d>>2]=t,s=a-l|0,(l|0)<0?(t=t-l|0,r[c>>2]=s,r[d>>2]=t,r[A>>2]=0,a=0):(s=a,a=l),(s|0)<0&&(a=a-s|0,r[A>>2]=a,t=t-s|0,r[d>>2]=t,r[c>>2]=0,s=0),u=a-t|0,l=s-t|0,(t|0)<0?(r[A>>2]=u,r[c>>2]=l,r[d>>2]=0,a=u,t=0):l=s,s=(l|0)<(a|0)?l:a,s=(t|0)<(s|0)?t:s,!((s|0)<=0)&&(r[A>>2]=a-s,r[c>>2]=l-s,r[d>>2]=t-s)}function io(A){A=A|0;var t=0,s=0,a=0,l=0,u=0,c=0,d=0;t=r[A>>2]|0,c=A+4|0,a=r[c>>2]|0,d=A+8|0,s=r[d>>2]|0,l=a+t|0,r[A>>2]=l,a=s+a|0,r[c>>2]=a,t=s+t|0,r[d>>2]=t,s=a-l|0,(l|0)<0?(t=t-l|0,r[c>>2]=s,r[d>>2]=t,r[A>>2]=0,a=0):(s=a,a=l),(s|0)<0&&(a=a-s|0,r[A>>2]=a,t=t-s|0,r[d>>2]=t,r[c>>2]=0,s=0),u=a-t|0,l=s-t|0,(t|0)<0?(r[A>>2]=u,r[c>>2]=l,r[d>>2]=0,a=u,t=0):l=s,s=(l|0)<(a|0)?l:a,s=(t|0)<(s|0)?t:s,!((s|0)<=0)&&(r[A>>2]=a-s,r[c>>2]=l-s,r[d>>2]=t-s)}function Wr(A){switch(A=A|0,A|0){case 1:{A=5;break}case 5:{A=4;break}case 4:{A=6;break}case 6:{A=2;break}case 2:{A=3;break}case 3:{A=1;break}default:}return A|0}function cr(A){switch(A=A|0,A|0){case 1:{A=3;break}case 3:{A=2;break}case 2:{A=6;break}case 6:{A=4;break}case 4:{A=5;break}case 5:{A=1;break}default:}return A|0}function Df(A){A=A|0;var t=0,s=0,a=0,l=0,u=0,c=0,d=0;t=r[A>>2]|0,c=A+4|0,s=r[c>>2]|0,d=A+8|0,a=r[d>>2]|0,l=s+(t<<1)|0,r[A>>2]=l,s=a+(s<<1)|0,r[c>>2]=s,t=(a<<1)+t|0,r[d>>2]=t,a=s-l|0,(l|0)<0?(t=t-l|0,r[c>>2]=a,r[d>>2]=t,r[A>>2]=0,s=a,a=0):a=l,(s|0)<0&&(a=a-s|0,r[A>>2]=a,t=t-s|0,r[d>>2]=t,r[c>>2]=0,s=0),u=a-t|0,l=s-t|0,(t|0)<0?(r[A>>2]=u,r[c>>2]=l,r[d>>2]=0,a=u,t=0):l=s,s=(l|0)<(a|0)?l:a,s=(t|0)<(s|0)?t:s,!((s|0)<=0)&&(r[A>>2]=a-s,r[c>>2]=l-s,r[d>>2]=t-s)}function Rf(A){A=A|0;var t=0,s=0,a=0,l=0,u=0,c=0,d=0;l=r[A>>2]|0,c=A+4|0,t=r[c>>2]|0,d=A+8|0,s=r[d>>2]|0,a=(t<<1)+l|0,l=s+(l<<1)|0,r[A>>2]=l,r[c>>2]=a,t=(s<<1)+t|0,r[d>>2]=t,s=a-l|0,(l|0)<0?(t=t-l|0,r[c>>2]=s,r[d>>2]=t,r[A>>2]=0,l=0):s=a,(s|0)<0&&(l=l-s|0,r[A>>2]=l,t=t-s|0,r[d>>2]=t,r[c>>2]=0,s=0),u=l-t|0,a=s-t|0,(t|0)<0?(r[A>>2]=u,r[c>>2]=a,r[d>>2]=0,l=u,t=0):a=s,s=(a|0)<(l|0)?a:l,s=(t|0)<(s|0)?t:s,!((s|0)<=0)&&(r[A>>2]=l-s,r[c>>2]=a-s,r[d>>2]=t-s)}function qa(A,t){A=A|0,t=t|0;var s=0,a=0,l=0,u=0,c=0,d=0;return c=(r[A>>2]|0)-(r[t>>2]|0)|0,d=(c|0)<0,a=(r[A+4>>2]|0)-(r[t+4>>2]|0)-(d?c:0)|0,u=(a|0)<0,l=(d?0-c|0:0)+(r[A+8>>2]|0)-(r[t+8>>2]|0)+(u?0-a|0:0)|0,A=(l|0)<0,t=A?0:l,s=(u?0:a)-(A?l:0)|0,l=(d?0:c)-(u?a:0)-(A?l:0)|0,A=(s|0)<(l|0)?s:l,A=(t|0)<(A|0)?t:A,a=(A|0)>0,t=t-(a?A:0)|0,s=s-(a?A:0)|0,A=l-(a?A:0)|0,A=(A|0)>-1?A:0-A|0,s=(s|0)>-1?s:0-s|0,t=(t|0)>-1?t:0-t|0,t=(s|0)>(t|0)?s:t,((A|0)>(t|0)?A:t)|0}function sg(A,t){A=A|0,t=t|0;var s=0;s=r[A+8>>2]|0,r[t>>2]=(r[A>>2]|0)-s,r[t+4>>2]=(r[A+4>>2]|0)-s}function og(A,t){A=A|0,t=t|0;var s=0,a=0,l=0,u=0,c=0,d=0;return a=r[A>>2]|0,r[t>>2]=a,l=r[A+4>>2]|0,c=t+4|0,r[c>>2]=l,d=t+8|0,r[d>>2]=0,s=(l|0)<(a|0),A=s?a:l,s=s?l:a,(s|0)<0&&((s|0)==-2147483648||((A|0)>0?(2147483647-A|0)<(s|0):(-2147483648-A|0)>(s|0))||((A|0)>-1?(A|-2147483648|0)>=(s|0):(A^-2147483648|0)<(s|0)))?(t=1,t|0):(A=l-a|0,(a|0)<0?(s=0-a|0,r[c>>2]=A,r[d>>2]=s,r[t>>2]=0,a=0):(A=l,s=0),(A|0)<0&&(a=a-A|0,r[t>>2]=a,s=s-A|0,r[d>>2]=s,r[c>>2]=0,A=0),u=a-s|0,l=A-s|0,(s|0)<0?(r[t>>2]=u,r[c>>2]=l,r[d>>2]=0,A=l,l=u,s=0):l=a,a=(A|0)<(l|0)?A:l,a=(s|0)<(a|0)?s:a,(a|0)<=0?(t=0,t|0):(r[t>>2]=l-a,r[c>>2]=A-a,r[d>>2]=s-a,t=0,t|0))}function Of(A){A=A|0;var t=0,s=0,a=0,l=0;t=A+8|0,l=r[t>>2]|0,s=l-(r[A>>2]|0)|0,r[A>>2]=s,a=A+4|0,A=(r[a>>2]|0)-l|0,r[a>>2]=A,r[t>>2]=0-(A+s)}function ag(A){A=A|0;var t=0,s=0,a=0,l=0,u=0,c=0,d=0;s=r[A>>2]|0,t=0-s|0,r[A>>2]=t,c=A+8|0,r[c>>2]=0,d=A+4|0,a=r[d>>2]|0,l=a+s|0,(s|0)>0?(r[d>>2]=l,r[c>>2]=s,r[A>>2]=0,t=0,a=l):s=0,(a|0)<0?(u=t-a|0,r[A>>2]=u,s=s-a|0,r[c>>2]=s,r[d>>2]=0,l=u-s|0,t=0-s|0,(s|0)<0?(r[A>>2]=l,r[d>>2]=t,r[c>>2]=0,a=t,s=0):(a=0,l=u)):l=t,t=(a|0)<(l|0)?a:l,t=(s|0)<(t|0)?s:t,!((t|0)<=0)&&(r[A>>2]=l-t,r[d>>2]=a-t,r[c>>2]=s-t)}function lg(A,t,s,a,l){A=A|0,t=t|0,s=s|0,a=a|0,l=l|0;var u=0,c=0,d=0,p=0,g=0,w=0,x=0;if(x=C,C=C+64|0,w=x,d=x+56|0,!(!0&(t&2013265920|0)==134217728&(!0&(a&2013265920|0)==134217728)))return l=5,C=x,l|0;if((A|0)==(s|0)&(t|0)==(a|0))return r[l>>2]=0,l=0,C=x,l|0;if(c=oe(A|0,t|0,52)|0,D()|0,c=c&15,g=oe(s|0,a|0,52)|0,D()|0,(c|0)!=(g&15|0))return l=12,C=x,l|0;if(u=c+-1|0,c>>>0>1){za(A,t,u,w)|0,za(s,a,u,d)|0,g=w,p=r[g>>2]|0,g=r[g+4>>2]|0;e:do if((p|0)==(r[d>>2]|0)&&(g|0)==(r[d+4>>2]|0)){c=(c^15)*3|0,u=oe(A|0,t|0,c|0)|0,D()|0,u=u&7,c=oe(s|0,a|0,c|0)|0,D()|0,c=c&7;do if((u|0)==0|(c|0)==0)r[l>>2]=1,u=0;else if((u|0)==7)u=5;else{if((u|0)==1|(c|0)==1&&ut(p,g)|0){u=5;break}if((r[15536+(u<<2)>>2]|0)!=(c|0)&&(r[15568+(u<<2)>>2]|0)!=(c|0))break e;r[l>>2]=1,u=0}while(!1);return l=u,C=x,l|0}while(!1)}u=w,c=u+56|0;do r[u>>2]=0,u=u+4|0;while((u|0)<(c|0));return pf(A,t,1,w)|0,t=w,!((r[t>>2]|0)==(s|0)&&(r[t+4>>2]|0)==(a|0))&&(t=w+8|0,!((r[t>>2]|0)==(s|0)&&(r[t+4>>2]|0)==(a|0)))&&(t=w+16|0,!((r[t>>2]|0)==(s|0)&&(r[t+4>>2]|0)==(a|0)))&&(t=w+24|0,!((r[t>>2]|0)==(s|0)&&(r[t+4>>2]|0)==(a|0)))&&(t=w+32|0,!((r[t>>2]|0)==(s|0)&&(r[t+4>>2]|0)==(a|0)))&&(t=w+40|0,!((r[t>>2]|0)==(s|0)&&(r[t+4>>2]|0)==(a|0)))?(u=w+48|0,u=((r[u>>2]|0)==(s|0)?(r[u+4>>2]|0)==(a|0):0)&1):u=1,r[l>>2]=u,l=0,C=x,l|0}function ug(A,t,s,a,l){return A=A|0,t=t|0,s=s|0,a=a|0,l=l|0,s=Ba(A,t,s,a)|0,(s|0)==7?(l=11,l|0):(a=fe(s|0,0,56)|0,t=t&-2130706433|(D()|0)|268435456,r[l>>2]=A|a,r[l+4>>2]=t,l=0,l|0)}function fg(A,t,s){return A=A|0,t=t|0,s=s|0,!0&(t&2013265920|0)==268435456?(r[s>>2]=A,r[s+4>>2]=t&-2130706433|134217728,s=0,s|0):(s=6,s|0)}function cg(A,t,s){A=A|0,t=t|0,s=s|0;var a=0,l=0,u=0;return l=C,C=C+16|0,a=l,r[a>>2]=0,!0&(t&2013265920|0)==268435456?(u=oe(A|0,t|0,56)|0,D()|0,a=Dt(A,t&-2130706433|134217728,u&7,a,s)|0,C=l,a|0):(a=6,C=l,a|0)}function Tf(A,t){A=A|0,t=t|0;var s=0;switch(s=oe(A|0,t|0,56)|0,D()|0,s&7){case 0:case 7:return s=0,s|0;default:}return s=t&-2130706433|134217728,!(!0&(t&2013265920|0)==268435456)||!0&(t&117440512|0)==16777216&(ut(A,s)|0)!=0?(s=0,s|0):(s=Ha(A,s)|0,s|0)}function dg(A,t,s){A=A|0,t=t|0,s=s|0;var a=0,l=0,u=0,c=0;return l=C,C=C+16|0,a=l,!0&(t&2013265920|0)==268435456?(u=t&-2130706433|134217728,c=s,r[c>>2]=A,r[c+4>>2]=u,r[a>>2]=0,t=oe(A|0,t|0,56)|0,D()|0,a=Dt(A,u,t&7,a,s+8|0)|0,C=l,a|0):(a=6,C=l,a|0)}function hg(A,t,s){A=A|0,t=t|0,s=s|0;var a=0,l=0;return l=(ut(A,t)|0)==0,t=t&-2130706433,a=s,r[a>>2]=l?A:0,r[a+4>>2]=l?t|285212672:0,a=s+8|0,r[a>>2]=A,r[a+4>>2]=t|301989888,a=s+16|0,r[a>>2]=A,r[a+4>>2]=t|318767104,a=s+24|0,r[a>>2]=A,r[a+4>>2]=t|335544320,a=s+32|0,r[a>>2]=A,r[a+4>>2]=t|352321536,s=s+40|0,r[s>>2]=A,r[s+4>>2]=t|369098752,0}function so(A,t,s){A=A|0,t=t|0,s=s|0;var a=0,l=0,u=0,c=0;return c=C,C=C+16|0,l=c,u=t&-2130706433|134217728,!0&(t&2013265920|0)==268435456?(a=oe(A|0,t|0,56)|0,D()|0,a=h1(A,u,a&7)|0,(a|0)==-1?(r[s>>2]=0,u=6,C=c,u|0):(Qn(A,u,l)|0&&Te(27795,26932,282,26947),t=oe(A|0,t|0,52)|0,D()|0,t=t&15,ut(A,u)|0?Ua(l,t,a,2,s):Ga(l,t,a,2,s),u=0,C=c,u|0)):(u=6,C=c,u|0)}function pg(A,t,s){A=A|0,t=t|0,s=s|0;var a=0,l=0;a=C,C=C+16|0,l=a,mg(A,t,s,l),Ag(l,s+4|0),C=a}function mg(A,t,s,a){A=A|0,t=t|0,s=s|0,a=a|0;var l=0,u=0,c=0,d=0,p=0;if(d=C,C=C+16|0,p=d,gg(A,s,p),u=+k2(+(1-+k[p>>3]*.5)),u<1e-16){r[a>>2]=0,r[a+4>>2]=0,r[a+8>>2]=0,r[a+12>>2]=0,C=d;return}if(p=r[s>>2]|0,l=+k[15920+(p*24|0)>>3],l=+Ji(l-+Ji(+jg(15600+(p<<4)|0,A))),dA(t)|0?c=+Ji(l+-.3334731722518321):c=l,l=+Hi(+u)*2.618033988749896,(t|0)>0){A=0;do l=l*2.6457513110645907,A=A+1|0;while((A|0)!=(t|0))}u=+Ze(+c)*l,k[a>>3]=u,c=+it(+c)*l,k[a+8>>3]=c,C=d}function gg(A,t,s){A=A|0,t=t|0,s=s|0;var a=0,l=0,u=0;if(u=C,C=C+32|0,l=u,d1(A,l),r[t>>2]=0,k[s>>3]=5,a=+bt(16400,l),a<+k[s>>3]&&(r[t>>2]=0,k[s>>3]=a),a=+bt(16424,l),a<+k[s>>3]&&(r[t>>2]=1,k[s>>3]=a),a=+bt(16448,l),a<+k[s>>3]&&(r[t>>2]=2,k[s>>3]=a),a=+bt(16472,l),a<+k[s>>3]&&(r[t>>2]=3,k[s>>3]=a),a=+bt(16496,l),a<+k[s>>3]&&(r[t>>2]=4,k[s>>3]=a),a=+bt(16520,l),a<+k[s>>3]&&(r[t>>2]=5,k[s>>3]=a),a=+bt(16544,l),a<+k[s>>3]&&(r[t>>2]=6,k[s>>3]=a),a=+bt(16568,l),a<+k[s>>3]&&(r[t>>2]=7,k[s>>3]=a),a=+bt(16592,l),a<+k[s>>3]&&(r[t>>2]=8,k[s>>3]=a),a=+bt(16616,l),a<+k[s>>3]&&(r[t>>2]=9,k[s>>3]=a),a=+bt(16640,l),a<+k[s>>3]&&(r[t>>2]=10,k[s>>3]=a),a=+bt(16664,l),a<+k[s>>3]&&(r[t>>2]=11,k[s>>3]=a),a=+bt(16688,l),a<+k[s>>3]&&(r[t>>2]=12,k[s>>3]=a),a=+bt(16712,l),a<+k[s>>3]&&(r[t>>2]=13,k[s>>3]=a),a=+bt(16736,l),a<+k[s>>3]&&(r[t>>2]=14,k[s>>3]=a),a=+bt(16760,l),a<+k[s>>3]&&(r[t>>2]=15,k[s>>3]=a),a=+bt(16784,l),a<+k[s>>3]&&(r[t>>2]=16,k[s>>3]=a),a=+bt(16808,l),a<+k[s>>3]&&(r[t>>2]=17,k[s>>3]=a),a=+bt(16832,l),a<+k[s>>3]&&(r[t>>2]=18,k[s>>3]=a),a=+bt(16856,l),!(a<+k[s>>3])){C=u;return}r[t>>2]=19,k[s>>3]=a,C=u}function Vi(A,t,s,a,l){A=A|0,t=t|0,s=s|0,a=a|0,l=l|0;var u=0,c=0,d=0;if(u=+c1(A),u<1e-16){t=15600+(t<<4)|0,r[l>>2]=r[t>>2],r[l+4>>2]=r[t+4>>2],r[l+8>>2]=r[t+8>>2],r[l+12>>2]=r[t+12>>2];return}if(c=+cA(+ +k[A+8>>3],+ +k[A>>3]),(s|0)>0){A=0;do u=u*.37796447300922725,A=A+1|0;while((A|0)!=(s|0))}d=u*.3333333333333333,a?(s=(dA(s)|0)==0,u=+Ta(+((s?d:d*.37796447300922725)*.381966011250105))):(u=+Ta(+(u*.381966011250105)),dA(s)|0&&(c=+Ji(c+.3334731722518321))),Ng(15600+(t<<4)|0,+Ji(+k[15920+(t*24|0)>>3]-c),u,l)}function yg(A,t,s){A=A|0,t=t|0,s=s|0;var a=0,l=0;a=C,C=C+16|0,l=a,Jr(A+4|0,l),Vi(l,r[A>>2]|0,t,0,s),C=a}function Ua(A,t,s,a,l){A=A|0,t=t|0,s=s|0,a=a|0,l=l|0;var u=0,c=0,d=0,p=0,g=0,w=0,x=0,j=0,N=0,F=0,G=0,K=0,ee=0,Y=0,W=0,H=0,he=0,be=0,_e=0,Me=0,Ne=0,Ve=0,Oe=0,Ee=0,ce=0,Ue=0,ot=0,Le=0;if(Ue=C,C=C+272|0,u=Ue+256|0,Y=Ue+240|0,Oe=Ue,Ee=Ue+224|0,ce=Ue+208|0,W=Ue+176|0,H=Ue+160|0,he=Ue+192|0,be=Ue+144|0,_e=Ue+128|0,Me=Ue+112|0,Ne=Ue+96|0,Ve=Ue+80|0,r[u>>2]=t,r[Y>>2]=r[A>>2],r[Y+4>>2]=r[A+4>>2],r[Y+8>>2]=r[A+8>>2],r[Y+12>>2]=r[A+12>>2],If(Y,u,Oe),r[l>>2]=0,Y=a+s+((a|0)==5&1)|0,(Y|0)<=(s|0)){C=Ue;return}p=r[u>>2]|0,g=Ee+4|0,w=W+4|0,x=s+5|0,j=16880+(p<<2)|0,N=16960+(p<<2)|0,F=_e+8|0,G=Me+8|0,K=Ne+8|0,ee=ce+4|0,d=s;e:for(;;){c=Oe+(((d|0)%5|0)<<4)|0,r[ce>>2]=r[c>>2],r[ce+4>>2]=r[c+4>>2],r[ce+8>>2]=r[c+8>>2],r[ce+12>>2]=r[c+12>>2];do;while((Fn(ce,p,0,1)|0)==2);if((d|0)>(s|0)&(dA(t)|0)!=0){if(r[W>>2]=r[ce>>2],r[W+4>>2]=r[ce+4>>2],r[W+8>>2]=r[ce+8>>2],r[W+12>>2]=r[ce+12>>2],Jr(g,H),a=r[W>>2]|0,u=r[17040+(a*80|0)+(r[Ee>>2]<<2)>>2]|0,r[W>>2]=r[18640+(a*80|0)+(u*20|0)>>2],c=r[18640+(a*80|0)+(u*20|0)+16>>2]|0,(c|0)>0){A=0;do xf(w),A=A+1|0;while((A|0)<(c|0))}switch(c=18640+(a*80|0)+(u*20|0)+4|0,r[he>>2]=r[c>>2],r[he+4>>2]=r[c+4>>2],r[he+8>>2]=r[c+8>>2],kf(he,(r[j>>2]|0)*3|0),Ht(w,he,w),Ft(w),Jr(w,be),ot=+(r[N>>2]|0),k[_e>>3]=ot*3,k[F>>3]=0,Le=ot*-1.5,k[Me>>3]=Le,k[G>>3]=ot*2.598076211353316,k[Ne>>3]=Le,k[K>>3]=ot*-2.598076211353316,r[17040+((r[W>>2]|0)*80|0)+(r[ce>>2]<<2)>>2]|0){case 1:{A=Me,a=_e;break}case 3:{A=Ne,a=Me;break}case 2:{A=_e,a=Ne;break}default:{A=12;break e}}Wf(H,be,a,A,Ve),Vi(Ve,r[W>>2]|0,p,1,l+8+(r[l>>2]<<4)|0),r[l>>2]=(r[l>>2]|0)+1}if((d|0)<(x|0)&&(Jr(ee,W),Vi(W,r[ce>>2]|0,p,1,l+8+(r[l>>2]<<4)|0),r[l>>2]=(r[l>>2]|0)+1),r[Ee>>2]=r[ce>>2],r[Ee+4>>2]=r[ce+4>>2],r[Ee+8>>2]=r[ce+8>>2],r[Ee+12>>2]=r[ce+12>>2],d=d+1|0,(d|0)>=(Y|0)){A=3;break}}if((A|0)==3){C=Ue;return}else(A|0)==12&&Te(26970,27017,572,27027)}function If(A,t,s){A=A|0,t=t|0,s=s|0;var a=0,l=0,u=0,c=0,d=0,p=0;p=C,C=C+128|0,a=p+64|0,l=p,u=a,c=20240,d=u+60|0;do r[u>>2]=r[c>>2],u=u+4|0,c=c+4|0;while((u|0)<(d|0));u=l,c=20304,d=u+60|0;do r[u>>2]=r[c>>2],u=u+4|0,c=c+4|0;while((u|0)<(d|0));d=(dA(r[t>>2]|0)|0)==0,a=d?a:l,l=A+4|0,Df(l),Rf(l),dA(r[t>>2]|0)|0&&(Kr(l),r[t>>2]=(r[t>>2]|0)+1),r[s>>2]=r[A>>2],t=s+4|0,Ht(l,a,t),Ft(t),r[s+16>>2]=r[A>>2],t=s+20|0,Ht(l,a+12|0,t),Ft(t),r[s+32>>2]=r[A>>2],t=s+36|0,Ht(l,a+24|0,t),Ft(t),r[s+48>>2]=r[A>>2],t=s+52|0,Ht(l,a+36|0,t),Ft(t),r[s+64>>2]=r[A>>2],s=s+68|0,Ht(l,a+48|0,s),Ft(s),C=p}function Fn(A,t,s,a){A=A|0,t=t|0,s=s|0,a=a|0;var l=0,u=0,c=0,d=0,p=0,g=0,w=0,x=0,j=0,N=0,F=0;if(F=C,C=C+32|0,j=F+12|0,d=F,N=A+4|0,x=r[16960+(t<<2)>>2]|0,w=(a|0)!=0,x=w?x*3|0:x,l=r[N>>2]|0,g=A+8|0,c=r[g>>2]|0,w){if(u=A+12|0,a=r[u>>2]|0,l=c+l+a|0,(l|0)==(x|0))return N=1,C=F,N|0;p=u}else p=A+12|0,a=r[p>>2]|0,l=c+l+a|0;if((l|0)<=(x|0))return N=0,C=F,N|0;do if((a|0)>0){if(a=r[A>>2]|0,(c|0)>0){u=18640+(a*80|0)+60|0,a=A;break}a=18640+(a*80|0)+40|0,s?(tg(j,x,0,0),La(N,j,d),io(d),Ht(d,j,N),u=a,a=A):(u=a,a=A)}else u=18640+((r[A>>2]|0)*80|0)+20|0,a=A;while(!1);if(r[a>>2]=r[u>>2],l=u+16|0,(r[l>>2]|0)>0){a=0;do xf(N),a=a+1|0;while((a|0)<(r[l>>2]|0))}return A=u+4|0,r[j>>2]=r[A>>2],r[j+4>>2]=r[A+4>>2],r[j+8>>2]=r[A+8>>2],t=r[16880+(t<<2)>>2]|0,kf(j,w?t*3|0:t),Ht(N,j,N),Ft(N),w?a=((r[g>>2]|0)+(r[N>>2]|0)+(r[p>>2]|0)|0)==(x|0)?1:2:a=2,N=a,C=F,N|0}function wg(A,t){A=A|0,t=t|0;var s=0;do s=Fn(A,t,0,1)|0;while((s|0)==2);return s|0}function Ga(A,t,s,a,l){A=A|0,t=t|0,s=s|0,a=a|0,l=l|0;var u=0,c=0,d=0,p=0,g=0,w=0,x=0,j=0,N=0,F=0,G=0,K=0,ee=0,Y=0,W=0,H=0,he=0,be=0,_e=0,Me=0,Ne=0,Ve=0,Oe=0;if(Ne=C,C=C+240|0,u=Ne+224|0,he=Ne+208|0,be=Ne,_e=Ne+192|0,Me=Ne+176|0,K=Ne+160|0,ee=Ne+144|0,Y=Ne+128|0,W=Ne+112|0,H=Ne+96|0,r[u>>2]=t,r[he>>2]=r[A>>2],r[he+4>>2]=r[A+4>>2],r[he+8>>2]=r[A+8>>2],r[he+12>>2]=r[A+12>>2],Bf(he,u,be),r[l>>2]=0,G=a+s+((a|0)==6&1)|0,(G|0)<=(s|0)){C=Ne;return}p=r[u>>2]|0,g=s+6|0,w=16960+(p<<2)|0,x=ee+8|0,j=Y+8|0,N=W+8|0,F=_e+4|0,c=0,d=s,a=-1;e:for(;;){if(u=(d|0)%6|0,A=be+(u<<4)|0,r[_e>>2]=r[A>>2],r[_e+4>>2]=r[A+4>>2],r[_e+8>>2]=r[A+8>>2],r[_e+12>>2]=r[A+12>>2],A=c,c=Fn(_e,p,0,1)|0,(d|0)>(s|0)&(dA(t)|0)!=0&&(A|0)!=1&&(r[_e>>2]|0)!=(a|0)){switch(Jr(be+(((u+5|0)%6|0)<<4)+4|0,Me),Jr(be+(u<<4)+4|0,K),Ve=+(r[w>>2]|0),k[ee>>3]=Ve*3,k[x>>3]=0,Oe=Ve*-1.5,k[Y>>3]=Oe,k[j>>3]=Ve*2.598076211353316,k[W>>3]=Oe,k[N>>3]=Ve*-2.598076211353316,u=r[he>>2]|0,r[17040+(u*80|0)+(((a|0)==(u|0)?r[_e>>2]|0:a)<<2)>>2]|0){case 1:{A=Y,a=ee;break}case 3:{A=W,a=Y;break}case 2:{A=ee,a=W;break}default:{A=8;break e}}Wf(Me,K,a,A,H),!(Yf(Me,H)|0)&&!(Yf(K,H)|0)&&(Vi(H,r[he>>2]|0,p,1,l+8+(r[l>>2]<<4)|0),r[l>>2]=(r[l>>2]|0)+1)}if((d|0)<(g|0)&&(Jr(F,Me),Vi(Me,r[_e>>2]|0,p,1,l+8+(r[l>>2]<<4)|0),r[l>>2]=(r[l>>2]|0)+1),d=d+1|0,(d|0)>=(G|0)){A=3;break}else a=r[_e>>2]|0}if((A|0)==3){C=Ne;return}else(A|0)==8&&Te(27054,27017,737,27099)}function Bf(A,t,s){A=A|0,t=t|0,s=s|0;var a=0,l=0,u=0,c=0,d=0,p=0;p=C,C=C+160|0,a=p+80|0,l=p,u=a,c=20368,d=u+72|0;do r[u>>2]=r[c>>2],u=u+4|0,c=c+4|0;while((u|0)<(d|0));u=l,c=20448,d=u+72|0;do r[u>>2]=r[c>>2],u=u+4|0,c=c+4|0;while((u|0)<(d|0));d=(dA(r[t>>2]|0)|0)==0,a=d?a:l,l=A+4|0,Df(l),Rf(l),dA(r[t>>2]|0)|0&&(Kr(l),r[t>>2]=(r[t>>2]|0)+1),r[s>>2]=r[A>>2],t=s+4|0,Ht(l,a,t),Ft(t),r[s+16>>2]=r[A>>2],t=s+20|0,Ht(l,a+12|0,t),Ft(t),r[s+32>>2]=r[A>>2],t=s+36|0,Ht(l,a+24|0,t),Ft(t),r[s+48>>2]=r[A>>2],t=s+52|0,Ht(l,a+36|0,t),Ft(t),r[s+64>>2]=r[A>>2],t=s+68|0,Ht(l,a+48|0,t),Ft(t),r[s+80>>2]=r[A>>2],s=s+84|0,Ht(l,a+60|0,s),Ft(s),C=p}function _g(A,t){return A=A|0,t=t|0,t=oe(A|0,t|0,52)|0,D()|0,t&15|0}function Mf(A,t){return A=A|0,t=t|0,t=oe(A|0,t|0,45)|0,D()|0,t&127|0}function vg(A,t,s,a){return A=A|0,t=t|0,s=s|0,a=a|0,(s+-1|0)>>>0>14?(a=4,a|0):(s=oe(A|0,t|0,(15-s|0)*3|0)|0,D()|0,r[a>>2]=s&7,a=0,a|0)}function bg(A,t,s,a){A=A|0,t=t|0,s=s|0,a=a|0;var l=0,u=0,c=0,d=0,p=0,g=0;if(A>>>0>15)return a=4,a|0;if(t>>>0>121)return a=17,a|0;c=fe(A|0,0,52)|0,l=D()|0,d=fe(t|0,0,45)|0,l=l|(D()|0)|134225919;e:do if((A|0)>=1){for(d=1,c=(se[20528+t>>0]|0)!=0,u=-1;;){if(t=r[s+(d+-1<<2)>>2]|0,t>>>0>6){l=18,t=10;break}if(!((t|0)==0|c^1))if((t|0)==1){l=19,t=10;break}else c=0;if(g=(15-d|0)*3|0,p=fe(7,0,g|0)|0,l=l&~(D()|0),t=fe(t|0,((t|0)<0)<<31>>31|0,g|0)|0,u=t|u&~p,l=D()|0|l,(d|0)<(A|0))d=d+1|0;else break e}if((t|0)==10)return l|0}else u=-1;while(!1);return g=a,r[g>>2]=u,r[g+4>>2]=l,g=0,g|0}function Ha(A,t){A=A|0,t=t|0;var s=0,a=0,l=0,u=0,c=0;return!(!0&(t&-16777216|0)==134217728)||(a=oe(A|0,t|0,52)|0,D()|0,a=a&15,s=oe(A|0,t|0,45)|0,D()|0,s=s&127,s>>>0>121)?(A=0,A|0):(c=(a^15)*3|0,l=oe(A|0,t|0,c|0)|0,c=fe(l|0,D()|0,c|0)|0,l=D()|0,u=Rt(-1227133514,-1171,c|0,l|0)|0,!((c&613566756&u|0)==0&(l&4681&(D()|0)|0)==0)||(c=(a*3|0)+19|0,u=fe(~A|0,~t|0,c|0)|0,c=oe(u|0,D()|0,c|0)|0,!((a|0)==15|(c|0)==0&(D()|0)==0))?(c=0,c|0):!(se[20528+s>>0]|0)||(t=t&8191,(A|0)==0&(t|0)==0)?(c=1,c|0):(c=s0(A|0,t|0,0)|0,D()|0,((63-c|0)%3|0|0)!=0|0))}function Eg(A,t){A=A|0,t=t|0;var s=0,a=0,l=0,u=0,c=0;return!0&(t&-16777216|0)==134217728&&(a=oe(A|0,t|0,52)|0,D()|0,a=a&15,s=oe(A|0,t|0,45)|0,D()|0,s=s&127,s>>>0<=121)&&(c=(a^15)*3|0,l=oe(A|0,t|0,c|0)|0,c=fe(l|0,D()|0,c|0)|0,l=D()|0,u=Rt(-1227133514,-1171,c|0,l|0)|0,(c&613566756&u|0)==0&(l&4681&(D()|0)|0)==0)&&(c=(a*3|0)+19|0,u=fe(~A|0,~t|0,c|0)|0,c=oe(u|0,D()|0,c|0)|0,(a|0)==15|(c|0)==0&(D()|0)==0)&&(!(se[20528+s>>0]|0)||(s=t&8191,(A|0)==0&(s|0)==0)||(c=s0(A|0,s|0,0)|0,D()|0,(63-c|0)%3|0|0))||Tf(A,t)|0?(c=1,c|0):(c=(Xf(A,t)|0)!=0&1,c|0)}function Va(A,t,s,a){A=A|0,t=t|0,s=s|0,a=a|0;var l=0,u=0,c=0,d=0;if(l=fe(t|0,0,52)|0,u=D()|0,s=fe(s|0,0,45)|0,s=u|(D()|0)|134225919,(t|0)<1){u=-1,a=s,t=A,r[t>>2]=u,A=A+4|0,r[A>>2]=a;return}for(u=1,l=-1;c=(15-u|0)*3|0,d=fe(7,0,c|0)|0,s=s&~(D()|0),c=fe(a|0,0,c|0)|0,l=l&~d|c,s=s|(D()|0),(u|0)!=(t|0);)u=u+1|0;d=A,c=d,r[c>>2]=l,d=d+4|0,r[d>>2]=s}function za(A,t,s,a){A=A|0,t=t|0,s=s|0,a=a|0;var l=0,u=0;if(u=oe(A|0,t|0,52)|0,D()|0,u=u&15,s>>>0>15)return a=4,a|0;if((u|0)<(s|0))return a=12,a|0;if((u|0)==(s|0))return r[a>>2]=A,r[a+4>>2]=t,a=0,a|0;if(l=fe(s|0,0,52)|0,l=l|A,A=D()|0|t&-15728641,(u|0)>(s|0))do t=fe(7,0,(14-s|0)*3|0)|0,s=s+1|0,l=t|l,A=D()|0|A;while((s|0)<(u|0));return r[a>>2]=l,r[a+4>>2]=A,a=0,a|0}function zi(A,t,s,a){A=A|0,t=t|0,s=s|0,a=a|0;var l=0,u=0,c=0;if(u=oe(A|0,t|0,52)|0,D()|0,u=u&15,!((s|0)<16&(u|0)<=(s|0)))return a=4,a|0;l=s-u|0,s=oe(A|0,t|0,45)|0,D()|0;e:do if(!(ht(s&127)|0))s=dr(7,0,l,((l|0)<0)<<31>>31)|0,l=D()|0;else{t:do if(u|0){for(s=1;c=fe(7,0,(15-s|0)*3|0)|0,!!((c&A|0)==0&((D()|0)&t|0)==0);)if(s>>>0<u>>>0)s=s+1|0;else break t;s=dr(7,0,l,((l|0)<0)<<31>>31)|0,l=D()|0;break e}while(!1);s=dr(7,0,l,((l|0)<0)<<31>>31)|0,s=Ot(s|0,D()|0,5,0)|0,s=Pe(s|0,D()|0,-5,-1)|0,s=pr(s|0,D()|0,6,0)|0,s=Pe(s|0,D()|0,1,0)|0,l=D()|0}while(!1);return c=a,r[c>>2]=s,r[c+4>>2]=l,c=0,c|0}function ut(A,t){A=A|0,t=t|0;var s=0,a=0,l=0;if(l=oe(A|0,t|0,45)|0,D()|0,!(ht(l&127)|0))return l=0,l|0;l=oe(A|0,t|0,52)|0,D()|0,l=l&15;e:do if(!l)s=0;else for(a=1;;){if(s=oe(A|0,t|0,(15-a|0)*3|0)|0,D()|0,s=s&7,s|0)break e;if(a>>>0<l>>>0)a=a+1|0;else{s=0;break}}while(!1);return l=(s|0)==0&1,l|0}function $g(A,t,s,a){A=A|0,t=t|0,s=s|0,a=a|0;var l=0,u=0,c=0,d=0;if(c=C,C=C+16|0,u=c,Za(u,A,t,s),t=u,A=r[t>>2]|0,t=r[t+4>>2]|0,(A|0)==0&(t|0)==0)return C=c,0;l=0,s=0;do d=a+(l<<3)|0,r[d>>2]=A,r[d+4>>2]=t,l=Pe(l|0,s|0,1,0)|0,s=D()|0,e0(u),d=u,A=r[d>>2]|0,t=r[d+4>>2]|0;while(!((A|0)==0&(t|0)==0));return C=c,0}function jf(A,t,s,a){return A=A|0,t=t|0,s=s|0,a=a|0,(a|0)<(s|0)?(s=t,a=A,je(s|0),a|0):(s=fe(-1,-1,((a-s|0)*3|0)+3|0)|0,a=fe(~s|0,~(D()|0)|0,(15-a|0)*3|0)|0,s=~(D()|0)&t,a=~a&A,je(s|0),a|0)}function Nf(A,t,s,a){A=A|0,t=t|0,s=s|0,a=a|0;var l=0;return l=oe(A|0,t|0,52)|0,D()|0,l=l&15,(s|0)<16&(l|0)<=(s|0)?((l|0)<(s|0)&&(l=fe(-1,-1,((s+-1-l|0)*3|0)+3|0)|0,l=fe(~l|0,~(D()|0)|0,(15-s|0)*3|0)|0,t=~(D()|0)&t,A=~l&A),l=fe(s|0,0,52)|0,s=t&-15728641|(D()|0),r[a>>2]=A|l,r[a+4>>2]=s,a=0,a|0):(a=4,a|0)}function Pg(A,t,s,a){A=A|0,t=t|0,s=s|0,a=a|0;var l=0,u=0,c=0,d=0,p=0,g=0,w=0,x=0,j=0,N=0,F=0,G=0,K=0,ee=0,Y=0,W=0,H=0,he=0,be=0,_e=0,Me=0,Ne=0,Ve=0,Oe=0,Ee=0,ce=0;if((s|0)==0&(a|0)==0)return ce=0,ce|0;if(l=A,u=r[l>>2]|0,l=r[l+4>>2]|0,!0&(l&15728640|0)==0){if(!((a|0)>0|(a|0)==0&s>>>0>0)||(ce=t,r[ce>>2]=u,r[ce+4>>2]=l,(s|0)==1&(a|0)==0))return ce=0,ce|0;l=1,u=0;do Oe=A+(l<<3)|0,Ee=r[Oe+4>>2]|0,ce=t+(l<<3)|0,r[ce>>2]=r[Oe>>2],r[ce+4>>2]=Ee,l=Pe(l|0,u|0,1,0)|0,u=D()|0;while((u|0)<(a|0)|(u|0)==(a|0)&l>>>0<s>>>0);return l=0,l|0}if(Ve=s<<3,Ee=OA(Ve)|0,!Ee)return ce=13,ce|0;if(Hn(Ee|0,A|0,Ve|0)|0,Oe=Yt(s,8)|0,!Oe)return Ce(Ee),ce=13,ce|0;e:for(;;){l=Ee,g=r[l>>2]|0,l=r[l+4>>2]|0,Me=oe(g|0,l|0,52)|0,D()|0,Me=Me&15,Ne=Me+-1|0,_e=(Me|0)!=0,be=(a|0)>0|(a|0)==0&s>>>0>0;t:do if(_e&be){if(Y=fe(Ne|0,0,52)|0,W=D()|0,Ne>>>0>15){if(!((g|0)==0&(l|0)==0)){ce=16;break e}for(u=0,A=0;;){if(u=Pe(u|0,A|0,1,0)|0,A=D()|0,!((A|0)<(a|0)|(A|0)==(a|0)&u>>>0<s>>>0))break t;if(c=Ee+(u<<3)|0,he=r[c>>2]|0,c=r[c+4>>2]|0,!((he|0)==0&(c|0)==0)){l=c,ce=16;break e}}}for(d=g,A=l,u=0,c=0;;){if(!((d|0)==0&(A|0)==0)){if(!(!0&(A&117440512|0)==0)){ce=21;break e}if(w=oe(d|0,A|0,52)|0,D()|0,w=w&15,(w|0)<(Ne|0)){l=12,ce=27;break e}if((w|0)!=(Ne|0)&&(d=d|Y,A=A&-15728641|W,w>>>0>=Me>>>0)){p=Ne;do he=fe(7,0,(14-p|0)*3|0)|0,p=p+1|0,d=he|d,A=D()|0|A;while(p>>>0<w>>>0)}if(j=Gn(d|0,A|0,s|0,a|0)|0,N=D()|0,p=Oe+(j<<3)|0,w=p,x=r[w>>2]|0,w=r[w+4>>2]|0,!((x|0)==0&(w|0)==0)){K=0,ee=0;do{if((K|0)>(a|0)|(K|0)==(a|0)&ee>>>0>s>>>0){ce=31;break e}if((x|0)==(d|0)&(w&-117440513|0)==(A|0)){F=oe(x|0,w|0,56)|0,D()|0,F=F&7,G=F+1|0,he=oe(x|0,w|0,45)|0,D()|0;A:do if(!(ht(he&127)|0))w=7;else{if(x=oe(x|0,w|0,52)|0,D()|0,x=x&15,!x){w=6;break}for(w=1;;){if(he=fe(7,0,(15-w|0)*3|0)|0,!((he&d|0)==0&((D()|0)&A|0)==0)){w=7;break A}if(w>>>0<x>>>0)w=w+1|0;else{w=6;break}}}while(!1);if((F+2|0)>>>0>w>>>0){ce=41;break e}he=fe(G|0,0,56)|0,A=D()|0|A&-117440513,H=p,r[H>>2]=0,r[H+4>>2]=0,d=he|d}else j=Pe(j|0,N|0,1,0)|0,j=Un(j|0,D()|0,s|0,a|0)|0,N=D()|0;ee=Pe(ee|0,K|0,1,0)|0,K=D()|0,p=Oe+(j<<3)|0,w=p,x=r[w>>2]|0,w=r[w+4>>2]|0}while(!((x|0)==0&(w|0)==0))}he=p,r[he>>2]=d,r[he+4>>2]=A}if(u=Pe(u|0,c|0,1,0)|0,c=D()|0,!((c|0)<(a|0)|(c|0)==(a|0)&u>>>0<s>>>0))break t;A=Ee+(u<<3)|0,d=r[A>>2]|0,A=r[A+4>>2]|0}}while(!1);if(he=Pe(s|0,a|0,5,0)|0,H=D()|0,H>>>0<0|(H|0)==0&he>>>0<11){ce=85;break}if(he=pr(s|0,a|0,6,0)|0,D()|0,he=Yt(he,8)|0,!he){ce=48;break}do if(be){for(G=0,A=0,F=0,K=0;;){if(w=Oe+(G<<3)|0,c=w,u=r[c>>2]|0,c=r[c+4>>2]|0,(u|0)==0&(c|0)==0)H=F;else{x=oe(u|0,c|0,56)|0,D()|0,x=x&7,d=x+1|0,j=c&-117440513,H=oe(u|0,c|0,45)|0,D()|0;t:do if(ht(H&127)|0){if(N=oe(u|0,c|0,52)|0,D()|0,N=N&15,N|0)for(p=1;;){if(H=fe(7,0,(15-p|0)*3|0)|0,!((u&H|0)==0&(j&(D()|0)|0)==0))break t;if(p>>>0<N>>>0)p=p+1|0;else break}c=fe(d|0,0,56)|0,u=c|u,c=D()|0|j,d=w,r[d>>2]=u,r[d+4>>2]=c,d=x+2|0}while(!1);(d|0)==7?(H=he+(A<<3)|0,r[H>>2]=u,r[H+4>>2]=c&-117440513,A=Pe(A|0,F|0,1,0)|0,H=D()|0):H=F}if(G=Pe(G|0,K|0,1,0)|0,K=D()|0,(K|0)<(a|0)|(K|0)==(a|0)&G>>>0<s>>>0)F=H;else break}if(be){if(ee=Ne>>>0>15,Y=fe(Ne|0,0,52)|0,W=D()|0,!_e){for(u=0,p=0,d=0,c=0;(g|0)==0&(l|0)==0||(Ne=t+(u<<3)|0,r[Ne>>2]=g,r[Ne+4>>2]=l,u=Pe(u|0,p|0,1,0)|0,p=D()|0),d=Pe(d|0,c|0,1,0)|0,c=D()|0,!!((c|0)<(a|0)|(c|0)==(a|0)&d>>>0<s>>>0);)l=Ee+(d<<3)|0,g=r[l>>2]|0,l=r[l+4>>2]|0;l=H;break}for(u=0,p=0,c=0,d=0;;){do if(!((g|0)==0&(l|0)==0)){if(N=oe(g|0,l|0,52)|0,D()|0,N=N&15,ee|(N|0)<(Ne|0)){ce=80;break e}if((N|0)!=(Ne|0)){if(w=g|Y,x=l&-15728641|W,N>>>0>=Me>>>0){j=Ne;do _e=fe(7,0,(14-j|0)*3|0)|0,j=j+1|0,w=_e|w,x=D()|0|x;while(j>>>0<N>>>0)}}else w=g,x=l;F=Gn(w|0,x|0,s|0,a|0)|0,j=0,N=0,K=D()|0;do{if((j|0)>(a|0)|(j|0)==(a|0)&N>>>0>s>>>0){ce=81;break e}if(_e=Oe+(F<<3)|0,G=r[_e+4>>2]|0,(G&-117440513|0)==(x|0)&&(r[_e>>2]|0)==(w|0)){ce=65;break}_e=Pe(F|0,K|0,1,0)|0,F=Un(_e|0,D()|0,s|0,a|0)|0,K=D()|0,N=Pe(N|0,j|0,1,0)|0,j=D()|0,_e=Oe+(F<<3)|0}while(!((r[_e>>2]|0)==(w|0)&&(r[_e+4>>2]|0)==(x|0)));if((ce|0)==65&&(ce=0,!0&(G&117440512|0)==100663296))break;_e=t+(u<<3)|0,r[_e>>2]=g,r[_e+4>>2]=l,u=Pe(u|0,p|0,1,0)|0,p=D()|0}while(!1);if(c=Pe(c|0,d|0,1,0)|0,d=D()|0,!((d|0)<(a|0)|(d|0)==(a|0)&c>>>0<s>>>0))break;l=Ee+(c<<3)|0,g=r[l>>2]|0,l=r[l+4>>2]|0}l=H}else u=0,l=H}else u=0,A=0,l=0;while(!1);if(mr(Oe|0,0,Ve|0)|0,Hn(Ee|0,he|0,A<<3|0)|0,Ce(he),(A|0)==0&(l|0)==0){ce=89;break}else t=t+(u<<3)|0,a=l,s=A}if((ce|0)==16)!0&(l&117440512|0)==0?(l=4,ce=27):ce=21;else if((ce|0)==31)Te(27795,27122,620,27132);else{if((ce|0)==41)return Ce(Ee),Ce(Oe),ce=10,ce|0;if((ce|0)==48)return Ce(Ee),Ce(Oe),ce=13,ce|0;(ce|0)==80?Te(27795,27122,711,27132):(ce|0)==81?Te(27795,27122,723,27132):(ce|0)==85&&(Hn(t|0,Ee|0,s<<3|0)|0,ce=89)}return(ce|0)==21?(Ce(Ee),Ce(Oe),ce=5,ce|0):(ce|0)==27?(Ce(Ee),Ce(Oe),ce=l,ce|0):(ce|0)==89?(Ce(Ee),Ce(Oe),ce=0,ce|0):0}function kg(A,t,s,a,l,u,c){A=A|0,t=t|0,s=s|0,a=a|0,l=l|0,u=u|0,c=c|0;var d=0,p=0,g=0,w=0,x=0,j=0,N=0,F=0,G=0;if(G=C,C=C+16|0,F=G,!((s|0)>0|(s|0)==0&t>>>0>0))return F=0,C=G,F|0;if((c|0)>=16)return F=12,C=G,F|0;j=0,N=0,x=0,d=0;e:for(;;){if(g=A+(j<<3)|0,p=r[g>>2]|0,g=r[g+4>>2]|0,w=oe(p|0,g|0,52)|0,D()|0,(w&15|0)>(c|0)){d=12,p=11;break}if(Za(F,p,g,c),w=F,g=r[w>>2]|0,w=r[w+4>>2]|0,(g|0)==0&(w|0)==0)p=x;else{p=x;do{if(!((d|0)<(u|0)|(d|0)==(u|0)&p>>>0<l>>>0)){p=10;break e}x=a+(p<<3)|0,r[x>>2]=g,r[x+4>>2]=w,p=Pe(p|0,d|0,1,0)|0,d=D()|0,e0(F),x=F,g=r[x>>2]|0,w=r[x+4>>2]|0}while(!((g|0)==0&(w|0)==0))}if(j=Pe(j|0,N|0,1,0)|0,N=D()|0,(N|0)<(s|0)|(N|0)==(s|0)&j>>>0<t>>>0)x=p;else{d=0,p=11;break}}return(p|0)==10?(F=14,C=G,F|0):(p|0)==11?(C=G,d|0):0}function Cg(A,t,s,a,l){A=A|0,t=t|0,s=s|0,a=a|0,l=l|0;var u=0,c=0,d=0,p=0,g=0,w=0,x=0,j=0;j=C,C=C+16|0,x=j;e:do if((s|0)>0|(s|0)==0&t>>>0>0){for(g=0,c=0,u=0,w=0;;){if(p=A+(g<<3)|0,d=r[p>>2]|0,p=r[p+4>>2]|0,!((d|0)==0&(p|0)==0)&&(p=(zi(d,p,a,x)|0)==0,d=x,c=Pe(r[d>>2]|0,r[d+4>>2]|0,c|0,u|0)|0,u=D()|0,!p)){u=12;break}if(g=Pe(g|0,w|0,1,0)|0,w=D()|0,!((w|0)<(s|0)|(w|0)==(s|0)&g>>>0<t>>>0))break e}return C=j,u|0}else c=0,u=0;while(!1);return r[l>>2]=c,r[l+4>>2]=u,l=0,C=j,l|0}function Sg(A,t){return A=A|0,t=t|0,t=oe(A|0,t|0,52)|0,D()|0,t&1|0}function Wt(A,t){A=A|0,t=t|0;var s=0,a=0,l=0;if(l=oe(A|0,t|0,52)|0,D()|0,l=l&15,!l)return l=0,l|0;for(a=1;;){if(s=oe(A|0,t|0,(15-a|0)*3|0)|0,D()|0,s=s&7,s|0){a=5;break}if(a>>>0<l>>>0)a=a+1|0;else{s=0,a=5;break}}return(a|0)==5?s|0:0}function Ja(A,t){A=A|0,t=t|0;var s=0,a=0,l=0,u=0,c=0,d=0,p=0;if(p=oe(A|0,t|0,52)|0,D()|0,p=p&15,!p)return d=t,p=A,je(d|0),p|0;for(d=1,s=0;;){u=(15-d|0)*3|0,a=fe(7,0,u|0)|0,l=D()|0,c=oe(A|0,t|0,u|0)|0,D()|0,u=fe(Wr(c&7)|0,0,u|0)|0,c=D()|0,A=u|A&~a,t=c|t&~l;e:do if(!s)if((u&a|0)==0&(c&l|0)==0)s=0;else if(a=oe(A|0,t|0,52)|0,D()|0,a=a&15,!a)s=1;else{s=1;t:for(;;){switch(c=oe(A|0,t|0,(15-s|0)*3|0)|0,D()|0,c&7){case 1:break t;case 0:break;default:{s=1;break e}}if(s>>>0<a>>>0)s=s+1|0;else{s=1;break e}}for(s=1;;)if(c=(15-s|0)*3|0,l=oe(A|0,t|0,c|0)|0,D()|0,u=fe(7,0,c|0)|0,t=t&~(D()|0),c=fe(Wr(l&7)|0,0,c|0)|0,A=A&~u|c,t=t|(D()|0),s>>>0<a>>>0)s=s+1|0;else{s=1;break}}while(!1);if(d>>>0<p>>>0)d=d+1|0;else break}return je(t|0),A|0}function Yr(A,t){A=A|0,t=t|0;var s=0,a=0,l=0,u=0,c=0;if(a=oe(A|0,t|0,52)|0,D()|0,a=a&15,!a)return s=t,a=A,je(s|0),a|0;for(s=1;u=(15-s|0)*3|0,c=oe(A|0,t|0,u|0)|0,D()|0,l=fe(7,0,u|0)|0,t=t&~(D()|0),u=fe(Wr(c&7)|0,0,u|0)|0,A=u|A&~l,t=D()|0|t,s>>>0<a>>>0;)s=s+1|0;return je(t|0),A|0}function xg(A,t){A=A|0,t=t|0;var s=0,a=0,l=0,u=0,c=0,d=0,p=0;if(p=oe(A|0,t|0,52)|0,D()|0,p=p&15,!p)return d=t,p=A,je(d|0),p|0;for(d=1,s=0;;){u=(15-d|0)*3|0,a=fe(7,0,u|0)|0,l=D()|0,c=oe(A|0,t|0,u|0)|0,D()|0,u=fe(cr(c&7)|0,0,u|0)|0,c=D()|0,A=u|A&~a,t=c|t&~l;e:do if(!s)if((u&a|0)==0&(c&l|0)==0)s=0;else if(a=oe(A|0,t|0,52)|0,D()|0,a=a&15,!a)s=1;else{s=1;t:for(;;){switch(c=oe(A|0,t|0,(15-s|0)*3|0)|0,D()|0,c&7){case 1:break t;case 0:break;default:{s=1;break e}}if(s>>>0<a>>>0)s=s+1|0;else{s=1;break e}}for(s=1;;)if(l=(15-s|0)*3|0,u=fe(7,0,l|0)|0,c=t&~(D()|0),t=oe(A|0,t|0,l|0)|0,D()|0,t=fe(cr(t&7)|0,0,l|0)|0,A=A&~u|t,t=c|(D()|0),s>>>0<a>>>0)s=s+1|0;else{s=1;break}}while(!1);if(d>>>0<p>>>0)d=d+1|0;else break}return je(t|0),A|0}function Ka(A,t){A=A|0,t=t|0;var s=0,a=0,l=0,u=0,c=0;if(a=oe(A|0,t|0,52)|0,D()|0,a=a&15,!a)return s=t,a=A,je(s|0),a|0;for(s=1;c=(15-s|0)*3|0,u=fe(7,0,c|0)|0,l=t&~(D()|0),t=oe(A|0,t|0,c|0)|0,D()|0,t=fe(cr(t&7)|0,0,c|0)|0,A=t|A&~u,t=D()|0|l,s>>>0<a>>>0;)s=s+1|0;return je(t|0),A|0}function Dg(A,t){A=A|0,t=t|0;var s=0,a=0,l=0,u=0,c=0,d=0,p=0,g=0,w=0;if(p=C,C=C+64|0,d=p+40|0,a=p+24|0,l=p+12|0,u=p,fe(t|0,0,52)|0,s=D()|0|134225919,!t)return(r[A+4>>2]|0)>2||(r[A+8>>2]|0)>2||(r[A+12>>2]|0)>2?(c=0,d=0,je(c|0),C=p,d|0):(fe(_f(A)|0,0,45)|0,c=D()|0|s,d=-1,je(c|0),C=p,d|0);if(r[d>>2]=r[A>>2],r[d+4>>2]=r[A+4>>2],r[d+8>>2]=r[A+8>>2],r[d+12>>2]=r[A+12>>2],c=d+4|0,(t|0)>0)for(A=-1;r[a>>2]=r[c>>2],r[a+4>>2]=r[c+4>>2],r[a+8>>2]=r[c+8>>2],t&1?(ig(c),r[l>>2]=r[c>>2],r[l+4>>2]=r[c+4>>2],r[l+8>>2]=r[c+8>>2],no(l)):(Cf(c),r[l>>2]=r[c>>2],r[l+4>>2]=r[c+4>>2],r[l+8>>2]=r[c+8>>2],Kr(l)),La(a,l,u),Ft(u),w=(15-t|0)*3|0,g=fe(7,0,w|0)|0,s=s&~(D()|0),w=fe(ro(u)|0,0,w|0)|0,A=w|A&~g,s=D()|0|s,(t|0)>1;)t=t+-1|0;else A=-1;e:do if((r[c>>2]|0)<=2&&(r[d+8>>2]|0)<=2&&(r[d+12>>2]|0)<=2){if(a=_f(d)|0,t=fe(a|0,0,45)|0,t=t|A,A=D()|0|s&-1040385,u=H2(d)|0,!(ht(a)|0)){if((u|0)<=0)break;for(l=0;;){if(a=oe(t|0,A|0,52)|0,D()|0,a=a&15,a)for(s=1;w=(15-s|0)*3|0,d=oe(t|0,A|0,w|0)|0,D()|0,g=fe(7,0,w|0)|0,A=A&~(D()|0),w=fe(Wr(d&7)|0,0,w|0)|0,t=t&~g|w,A=A|(D()|0),s>>>0<a>>>0;)s=s+1|0;if(l=l+1|0,(l|0)==(u|0))break e}}l=oe(t|0,A|0,52)|0,D()|0,l=l&15;t:do if(l){s=1;A:for(;;){switch(w=oe(t|0,A|0,(15-s|0)*3|0)|0,D()|0,w&7){case 1:break A;case 0:break;default:break t}if(s>>>0<l>>>0)s=s+1|0;else break t}if(vf(a,r[d>>2]|0)|0)for(s=1;d=(15-s|0)*3|0,g=fe(7,0,d|0)|0,w=A&~(D()|0),A=oe(t|0,A|0,d|0)|0,D()|0,A=fe(cr(A&7)|0,0,d|0)|0,t=t&~g|A,A=w|(D()|0),s>>>0<l>>>0;)s=s+1|0;else for(s=1;w=(15-s|0)*3|0,d=oe(t|0,A|0,w|0)|0,D()|0,g=fe(7,0,w|0)|0,A=A&~(D()|0),w=fe(Wr(d&7)|0,0,w|0)|0,t=t&~g|w,A=A|(D()|0),s>>>0<l>>>0;)s=s+1|0}while(!1);if((u|0)>0){s=0;do t=Ja(t,A)|0,A=D()|0,s=s+1|0;while((s|0)!=(u|0))}}else t=0,A=0;while(!1);return g=A,w=t,je(g|0),C=p,w|0}function dA(A){return A=A|0,(A|0)%2|0|0}function Wa(A,t,s){A=A|0,t=t|0,s=s|0;var a=0,l=0;return l=C,C=C+16|0,a=l,t>>>0>15?(a=4,C=l,a|0):(r[A+4>>2]&2146435072|0)==2146435072||(r[A+8+4>>2]&2146435072|0)==2146435072?(a=3,C=l,a|0):(pg(A,t,a),t=Dg(a,t)|0,a=D()|0,r[s>>2]=t,r[s+4>>2]=a,(t|0)==0&(a|0)==0&&Te(27795,27122,1050,27145),a=0,C=l,a|0)}function Ya(A,t,s){A=A|0,t=t|0,s=s|0;var a=0,l=0,u=0,c=0;if(l=s+4|0,u=oe(A|0,t|0,52)|0,D()|0,u=u&15,c=oe(A|0,t|0,45)|0,D()|0,a=(u|0)==0,ht(c&127)|0){if(a)return c=1,c|0;a=1}else{if(a)return c=0,c|0;(r[l>>2]|0)==0&&(r[s+8>>2]|0)==0?a=(r[s+12>>2]|0)!=0&1:a=1}for(s=1;s&1?no(l):Kr(l),c=oe(A|0,t|0,(15-s|0)*3|0)|0,D()|0,Sf(l,c&7),s>>>0<u>>>0;)s=s+1|0;return a|0}function Qn(A,t,s){A=A|0,t=t|0,s=s|0;var a=0,l=0,u=0,c=0,d=0,p=0,g=0,w=0;if(w=C,C=C+16|0,p=w,g=oe(A|0,t|0,45)|0,D()|0,g=g&127,g>>>0>121)return r[s>>2]=0,r[s+4>>2]=0,r[s+8>>2]=0,r[s+12>>2]=0,g=5,C=w,g|0;e:do if((ht(g)|0)!=0&&(u=oe(A|0,t|0,52)|0,D()|0,u=u&15,(u|0)!=0)){a=1;t:for(;;){switch(d=oe(A|0,t|0,(15-a|0)*3|0)|0,D()|0,d&7){case 5:break t;case 0:break;default:{a=t;break e}}if(a>>>0<u>>>0)a=a+1|0;else{a=t;break e}}for(l=1,a=t;t=(15-l|0)*3|0,c=fe(7,0,t|0)|0,d=a&~(D()|0),a=oe(A|0,a|0,t|0)|0,D()|0,a=fe(cr(a&7)|0,0,t|0)|0,A=A&~c|a,a=d|(D()|0),l>>>0<u>>>0;)l=l+1|0}else a=t;while(!1);if(d=7696+(g*28|0)|0,r[s>>2]=r[d>>2],r[s+4>>2]=r[d+4>>2],r[s+8>>2]=r[d+8>>2],r[s+12>>2]=r[d+12>>2],!(Ya(A,a,s)|0))return g=0,C=w,g|0;if(c=s+4|0,r[p>>2]=r[c>>2],r[p+4>>2]=r[c+4>>2],r[p+8>>2]=r[c+8>>2],u=oe(A|0,a|0,52)|0,D()|0,d=u&15,u&1?(Kr(c),u=d+1|0):u=d,!(ht(g)|0))a=0;else{e:do if(!d)a=0;else for(t=1;;){if(l=oe(A|0,a|0,(15-t|0)*3|0)|0,D()|0,l=l&7,l|0){a=l;break e}if(t>>>0<d>>>0)t=t+1|0;else{a=0;break}}while(!1);a=(a|0)==4&1}if(!(Fn(s,u,a,0)|0))(u|0)!=(d|0)&&(r[c>>2]=r[p>>2],r[c+4>>2]=r[p+4>>2],r[c+8>>2]=r[p+8>>2]);else{if(ht(g)|0)do;while((Fn(s,u,0,0)|0)!=0);(u|0)!=(d|0)&&Cf(c)}return g=0,C=w,g|0}function Xr(A,t,s){A=A|0,t=t|0,s=s|0;var a=0,l=0,u=0;return u=C,C=C+16|0,a=u,l=Qn(A,t,a)|0,l|0?(C=u,l|0):(l=oe(A|0,t|0,52)|0,D()|0,yg(a,l&15,s),l=0,C=u,l|0)}function Ln(A,t,s){A=A|0,t=t|0,s=s|0;var a=0,l=0,u=0,c=0,d=0;if(c=C,C=C+16|0,u=c,a=Qn(A,t,u)|0,a|0)return u=a,C=c,u|0;a=oe(A|0,t|0,45)|0,D()|0,a=(ht(a&127)|0)==0,l=oe(A|0,t|0,52)|0,D()|0,l=l&15;e:do if(!a){if(l|0)for(a=1;;){if(d=fe(7,0,(15-a|0)*3|0)|0,!((d&A|0)==0&((D()|0)&t|0)==0))break e;if(a>>>0<l>>>0)a=a+1|0;else break}return Ua(u,l,0,5,s),d=0,C=c,d|0}while(!1);return Ga(u,l,0,6,s),d=0,C=c,d|0}function Rg(A,t,s){A=A|0,t=t|0,s=s|0;var a=0,l=0,u=0;if(l=oe(A|0,t|0,45)|0,D()|0,!(ht(l&127)|0))return l=2,r[s>>2]=l,0;if(l=oe(A|0,t|0,52)|0,D()|0,l=l&15,!l)return l=5,r[s>>2]=l,0;for(a=1;;){if(u=fe(7,0,(15-a|0)*3|0)|0,!((u&A|0)==0&((D()|0)&t|0)==0)){a=2,A=6;break}if(a>>>0<l>>>0)a=a+1|0;else{a=5,A=6;break}}return(A|0)==6&&(r[s>>2]=a),0}function Ff(A,t,s){A=A|0,t=t|0,s=s|0;var a=0,l=0,u=0,c=0,d=0,p=0,g=0,w=0,x=0;x=C,C=C+128|0,g=x+112|0,u=x+96|0,w=x,l=oe(A|0,t|0,52)|0,D()|0,d=l&15,r[g>>2]=d,c=oe(A|0,t|0,45)|0,D()|0,c=c&127;e:do if(ht(c)|0){if(d|0)for(a=1;;){if(p=fe(7,0,(15-a|0)*3|0)|0,!((p&A|0)==0&((D()|0)&t|0)==0)){l=0;break e}if(a>>>0<d>>>0)a=a+1|0;else break}if(l&1)l=1;else return p=fe(d+1|0,0,52)|0,w=D()|0|t&-15728641,g=fe(7,0,(14-d|0)*3|0)|0,w=Ff((p|A)&~g,w&~(D()|0),s)|0,C=x,w|0}else l=0;while(!1);if(a=Qn(A,t,u)|0,!a){l?(If(u,g,w),p=5):(Bf(u,g,w),p=6);e:do if(ht(c)|0)if(!d)A=5;else for(a=1;;){if(c=fe(7,0,(15-a|0)*3|0)|0,!((c&A|0)==0&((D()|0)&t|0)==0)){A=2;break e}if(a>>>0<d>>>0)a=a+1|0;else{A=5;break}}else A=2;while(!1);mr(s|0,-1,A<<2|0)|0;e:do if(l)for(u=0;;){if(c=w+(u<<4)|0,wg(c,r[g>>2]|0)|0,c=r[c>>2]|0,d=r[s>>2]|0,(d|0)==-1|(d|0)==(c|0))a=s;else{l=0;do{if(l=l+1|0,l>>>0>=A>>>0){a=1;break e}a=s+(l<<2)|0,d=r[a>>2]|0}while(!((d|0)==-1|(d|0)==(c|0)))}if(r[a>>2]=c,u=u+1|0,u>>>0>=p>>>0){a=0;break}}else for(u=0;;){if(c=w+(u<<4)|0,Fn(c,r[g>>2]|0,0,1)|0,c=r[c>>2]|0,d=r[s>>2]|0,(d|0)==-1|(d|0)==(c|0))a=s;else{l=0;do{if(l=l+1|0,l>>>0>=A>>>0){a=1;break e}a=s+(l<<2)|0,d=r[a>>2]|0}while(!((d|0)==-1|(d|0)==(c|0)))}if(r[a>>2]=c,u=u+1|0,u>>>0>=p>>>0){a=0;break}}while(!1)}return w=a,C=x,w|0}function Og(){return 12}function Xa(A,t){A=A|0,t=t|0;var s=0,a=0,l=0,u=0,c=0,d=0,p=0;if(A>>>0>15)return d=4,d|0;if(fe(A|0,0,52)|0,d=D()|0|134225919,!A){s=0,a=0;do ht(a)|0&&(fe(a|0,0,45)|0,c=d|(D()|0),A=t+(s<<3)|0,r[A>>2]=-1,r[A+4>>2]=c,s=s+1|0),a=a+1|0;while((a|0)!=122);return s=0,s|0}s=0,c=0;do{if(ht(c)|0){for(fe(c|0,0,45)|0,a=1,l=-1,u=d|(D()|0);p=fe(7,0,(15-a|0)*3|0)|0,l=l&~p,u=u&~(D()|0),(a|0)!=(A|0);)a=a+1|0;p=t+(s<<3)|0,r[p>>2]=l,r[p+4>>2]=u,s=s+1|0}c=c+1|0}while((c|0)!=122);return s=0,s|0}function Tg(A,t,s,a){A=A|0,t=t|0,s=s|0,a=a|0;var l=0,u=0,c=0,d=0,p=0,g=0,w=0,x=0,j=0,N=0,F=0,G=0,K=0,ee=0,Y=0;if(Y=C,C=C+16|0,K=Y,ee=oe(A|0,t|0,52)|0,D()|0,ee=ee&15,s>>>0>15)return ee=4,C=Y,ee|0;if((ee|0)<(s|0))return ee=12,C=Y,ee|0;if((ee|0)!=(s|0))if(u=fe(s|0,0,52)|0,u=u|A,d=D()|0|t&-15728641,(ee|0)>(s|0)){p=s;do G=fe(7,0,(14-p|0)*3|0)|0,p=p+1|0,u=G|u,d=D()|0|d;while((p|0)<(ee|0));G=u}else G=u;else G=A,d=t;F=oe(G|0,d|0,45)|0,D()|0;e:do if(ht(F&127)|0){if(p=oe(G|0,d|0,52)|0,D()|0,p=p&15,p|0)for(u=1;;){if(F=fe(7,0,(15-u|0)*3|0)|0,!((F&G|0)==0&((D()|0)&d|0)==0)){g=33;break e}if(u>>>0<p>>>0)u=u+1|0;else break}if(F=a,r[F>>2]=0,r[F+4>>2]=0,(ee|0)>(s|0)){for(F=t&-15728641,N=ee;;){if(j=N,N=N+-1|0,N>>>0>15|(ee|0)<(N|0)){g=19;break}if((ee|0)!=(N|0))if(u=fe(N|0,0,52)|0,u=u|A,p=D()|0|F,(ee|0)<(j|0))x=u;else{g=N;do x=fe(7,0,(14-g|0)*3|0)|0,g=g+1|0,u=x|u,p=D()|0|p;while((g|0)<(ee|0));x=u}else x=A,p=t;if(w=oe(x|0,p|0,45)|0,D()|0,!(ht(w&127)|0))u=0;else{w=oe(x|0,p|0,52)|0,D()|0,w=w&15;t:do if(!w)u=0;else for(g=1;;){if(u=oe(x|0,p|0,(15-g|0)*3|0)|0,D()|0,u=u&7,u|0)break t;if(g>>>0<w>>>0)g=g+1|0;else{u=0;break}}while(!1);u=(u|0)==0&1}if(p=oe(A|0,t|0,(15-j|0)*3|0)|0,D()|0,p=p&7,(p|0)==7){l=5,g=42;break}if(u=(u|0)!=0,(p|0)==1&u){l=5,g=42;break}if(x=p+(((p|0)!=0&u)<<31>>31)|0,x|0&&(g=ee-j|0,g=dr(7,0,g,((g|0)<0)<<31>>31)|0,w=D()|0,u?(u=Ot(g|0,w|0,5,0)|0,u=Pe(u|0,D()|0,-5,-1)|0,u=pr(u|0,D()|0,6,0)|0,u=Pe(u|0,D()|0,1,0)|0,p=D()|0):(u=g,p=w),j=x+-1|0,j=Ot(g|0,w|0,j|0,((j|0)<0)<<31>>31|0)|0,j=Pe(u|0,p|0,j|0,D()|0)|0,x=D()|0,w=a,w=Pe(j|0,x|0,r[w>>2]|0,r[w+4>>2]|0)|0,x=D()|0,j=a,r[j>>2]=w,r[j+4>>2]=x),(N|0)<=(s|0)){g=37;break}}if((g|0)==19)Te(27795,27122,1367,27158);else if((g|0)==37){c=a,l=r[c+4>>2]|0,c=r[c>>2]|0;break}else if((g|0)==42)return C=Y,l|0}else l=0,c=0}else g=33;while(!1);e:do if((g|0)==33)if(F=a,r[F>>2]=0,r[F+4>>2]=0,(ee|0)>(s|0)){for(u=ee;;){if(l=oe(A|0,t|0,(15-u|0)*3|0)|0,D()|0,l=l&7,(l|0)==7){l=5;break}if(c=ee-u|0,c=dr(7,0,c,((c|0)<0)<<31>>31)|0,l=Ot(c|0,D()|0,l|0,0)|0,c=D()|0,F=a,c=Pe(r[F>>2]|0,r[F+4>>2]|0,l|0,c|0)|0,l=D()|0,F=a,r[F>>2]=c,r[F+4>>2]=l,u=u+-1|0,(u|0)<=(s|0))break e}return C=Y,l|0}else l=0,c=0;while(!1);return zi(G,d,ee,K)|0&&Te(27795,27122,1327,27173),ee=K,K=r[ee+4>>2]|0,((l|0)>-1|(l|0)==-1&c>>>0>4294967295)&((K|0)>(l|0)|((K|0)==(l|0)?(r[ee>>2]|0)>>>0>c>>>0:0))?(ee=0,C=Y,ee|0):(Te(27795,27122,1407,27158),0)}function Ig(A,t,s,a,l,u){A=A|0,t=t|0,s=s|0,a=a|0,l=l|0,u=u|0;var c=0,d=0,p=0,g=0,w=0,x=0,j=0,N=0,F=0,G=0;if(x=C,C=C+16|0,c=x,l>>>0>15)return u=4,C=x,u|0;if(d=oe(s|0,a|0,52)|0,D()|0,d=d&15,(d|0)>(l|0))return u=12,C=x,u|0;if(zi(s,a,l,c)|0&&Te(27795,27122,1327,27173),w=c,g=r[w+4>>2]|0,!(((t|0)>-1|(t|0)==-1&A>>>0>4294967295)&((g|0)>(t|0)|((g|0)==(t|0)?(r[w>>2]|0)>>>0>A>>>0:0))))return u=2,C=x,u|0;w=l-d|0,l=fe(l|0,0,52)|0,p=D()|0|a&-15728641,g=u,r[g>>2]=l|s,r[g+4>>2]=p,g=oe(s|0,a|0,45)|0,D()|0;e:do if(ht(g&127)|0){if(d|0)for(c=1;;){if(g=fe(7,0,(15-c|0)*3|0)|0,!((g&s|0)==0&((D()|0)&a|0)==0))break e;if(c>>>0<d>>>0)c=c+1|0;else break}if((w|0)<1)return u=0,C=x,u|0;for(g=d^15,a=-1,p=1,c=1;;){d=w-p|0,d=dr(7,0,d,((d|0)<0)<<31>>31)|0,s=D()|0;do if(c)if(c=Ot(d|0,s|0,5,0)|0,c=Pe(c|0,D()|0,-5,-1)|0,c=pr(c|0,D()|0,6,0)|0,l=D()|0,(t|0)>(l|0)|(t|0)==(l|0)&A>>>0>c>>>0){t=Pe(A|0,t|0,-1,-1)|0,t=Rt(t|0,D()|0,c|0,l|0)|0,c=D()|0,j=u,F=r[j>>2]|0,j=r[j+4>>2]|0,G=(g+a|0)*3|0,N=fe(7,0,G|0)|0,j=j&~(D()|0),a=pr(t|0,c|0,d|0,s|0)|0,A=D()|0,l=Pe(a|0,A|0,2,0)|0,G=fe(l|0,D()|0,G|0)|0,j=D()|0|j,l=u,r[l>>2]=G|F&~N,r[l+4>>2]=j,A=Ot(a|0,A|0,d|0,s|0)|0,A=Rt(t|0,c|0,A|0,D()|0)|0,c=0,t=D()|0;break}else{G=u,N=r[G>>2]|0,G=r[G+4>>2]|0,F=fe(7,0,(g+a|0)*3|0)|0,G=G&~(D()|0),c=u,r[c>>2]=N&~F,r[c+4>>2]=G,c=1;break}else N=u,l=r[N>>2]|0,N=r[N+4>>2]|0,a=(g+a|0)*3|0,j=fe(7,0,a|0)|0,N=N&~(D()|0),G=pr(A|0,t|0,d|0,s|0)|0,c=D()|0,a=fe(G|0,c|0,a|0)|0,N=D()|0|N,F=u,r[F>>2]=a|l&~j,r[F+4>>2]=N,c=Ot(G|0,c|0,d|0,s|0)|0,A=Rt(A|0,t|0,c|0,D()|0)|0,c=0,t=D()|0;while(!1);if((w|0)>(p|0))a=~p,p=p+1|0;else{t=0;break}}return C=x,t|0}while(!1);if((w|0)<1)return G=0,C=x,G|0;for(l=d^15,c=1;;)if(F=w-c|0,F=dr(7,0,F,((F|0)<0)<<31>>31)|0,G=D()|0,p=u,s=r[p>>2]|0,p=r[p+4>>2]|0,d=(l-c|0)*3|0,a=fe(7,0,d|0)|0,p=p&~(D()|0),j=pr(A|0,t|0,F|0,G|0)|0,N=D()|0,d=fe(j|0,N|0,d|0)|0,p=D()|0|p,g=u,r[g>>2]=d|s&~a,r[g+4>>2]=p,G=Ot(j|0,N|0,F|0,G|0)|0,A=Rt(A|0,t|0,G|0,D()|0)|0,t=D()|0,(w|0)<=(c|0)){t=0;break}else c=c+1|0;return C=x,t|0}function Za(A,t,s,a){A=A|0,t=t|0,s=s|0,a=a|0;var l=0,u=0,c=0;l=oe(t|0,s|0,52)|0,D()|0,l=l&15,(t|0)==0&(s|0)==0|((a|0)>15|(l|0)>(a|0))?(u=-1,t=-1,s=0,l=0):(t=jf(t,s,l+1|0,a)|0,c=(D()|0)&-15728641,s=fe(a|0,0,52)|0,s=t|s,c=c|(D()|0),t=(ut(s,c)|0)==0,u=l,t=t?-1:a,l=c),c=A,r[c>>2]=s,r[c+4>>2]=l,r[A+8>>2]=u,r[A+12>>2]=t}function Qf(A,t,s,a){A=A|0,t=t|0,s=s|0,a=a|0;var l=0,u=0;if(l=oe(A|0,t|0,52)|0,D()|0,l=l&15,u=a+8|0,r[u>>2]=l,(A|0)==0&(t|0)==0|((s|0)>15|(l|0)>(s|0))){s=a,r[s>>2]=0,r[s+4>>2]=0,r[u>>2]=-1,r[a+12>>2]=-1;return}if(A=jf(A,t,l+1|0,s)|0,u=(D()|0)&-15728641,l=fe(s|0,0,52)|0,l=A|l,u=u|(D()|0),A=a,r[A>>2]=l,r[A+4>>2]=u,A=a+12|0,ut(l,u)|0){r[A>>2]=s;return}else{r[A>>2]=-1;return}}function e0(A){A=A|0;var t=0,s=0,a=0,l=0,u=0,c=0,d=0,p=0,g=0;if(s=A,t=r[s>>2]|0,s=r[s+4>>2]|0,!((t|0)==0&(s|0)==0)&&(a=oe(t|0,s|0,52)|0,D()|0,a=a&15,d=fe(1,0,(a^15)*3|0)|0,t=Pe(d|0,D()|0,t|0,s|0)|0,s=D()|0,d=A,r[d>>2]=t,r[d+4>>2]=s,d=A+8|0,c=r[d>>2]|0,!((a|0)<(c|0)))){for(p=A+12|0,u=a;;){if((u|0)==(c|0)){a=5;break}if(g=(u|0)==(r[p>>2]|0),l=(15-u|0)*3|0,a=oe(t|0,s|0,l|0)|0,D()|0,a=a&7,g&((a|0)==1&!0)){a=7;break}if(!((a|0)==7&!0)){a=10;break}if(g=fe(1,0,l|0)|0,t=Pe(t|0,s|0,g|0,D()|0)|0,s=D()|0,g=A,r[g>>2]=t,r[g+4>>2]=s,(u|0)>(c|0))u=u+-1|0;else{a=10;break}}if((a|0)==5){g=A,r[g>>2]=0,r[g+4>>2]=0,r[d>>2]=-1,r[p>>2]=-1;return}else if((a|0)==7){c=fe(1,0,l|0)|0,c=Pe(t|0,s|0,c|0,D()|0)|0,d=D()|0,g=A,r[g>>2]=c,r[g+4>>2]=d,r[p>>2]=u+-1;return}else if((a|0)==10)return}}function Ji(A){A=+A;var t=0;return t=A<0?A+6.283185307179586:A,+(A>=6.283185307179586?t+-6.283185307179586:t)}function qn(A,t){return A=A|0,t=t|0,+rt(+(+k[A>>3]-+k[t>>3]))<17453292519943298e-27?(t=+rt(+(+k[A+8>>3]-+k[t+8>>3]))<17453292519943298e-27,t|0):(t=0,t|0)}function nA(A,t){switch(A=+A,t=t|0,t|0){case 1:{A=A<0?A+6.283185307179586:A;break}case 2:{A=A>0?A+-6.283185307179586:A;break}default:}return+A}function Bg(A,t){A=A|0,t=t|0;var s=0,a=0,l=0,u=0;return l=+k[t>>3],a=+k[A>>3],u=+it(+((l-a)*.5)),s=+it(+((+k[t+8>>3]-+k[A+8>>3])*.5)),s=u*u+s*(+Ze(+l)*+Ze(+a)*s),+(+cA(+ +yt(+s),+ +yt(+(1-s)))*2)}function Ki(A,t){A=A|0,t=t|0;var s=0,a=0,l=0,u=0;return l=+k[t>>3],a=+k[A>>3],u=+it(+((l-a)*.5)),s=+it(+((+k[t+8>>3]-+k[A+8>>3])*.5)),s=u*u+s*(+Ze(+l)*+Ze(+a)*s),+(+cA(+ +yt(+s),+ +yt(+(1-s)))*2*6371.007180918475)}function Mg(A,t){A=A|0,t=t|0;var s=0,a=0,l=0,u=0;return l=+k[t>>3],a=+k[A>>3],u=+it(+((l-a)*.5)),s=+it(+((+k[t+8>>3]-+k[A+8>>3])*.5)),s=u*u+s*(+Ze(+l)*+Ze(+a)*s),+(+cA(+ +yt(+s),+ +yt(+(1-s)))*2*6371.007180918475*1e3)}function jg(A,t){A=A|0,t=t|0;var s=0,a=0,l=0,u=0,c=0;return u=+k[t>>3],a=+Ze(+u),l=+k[t+8>>3]-+k[A+8>>3],c=a*+it(+l),s=+k[A>>3],+ +cA(+c,+(+it(+u)*+Ze(+s)-+Ze(+l)*(a*+it(+s))))}function Ng(A,t,s,a){A=A|0,t=+t,s=+s,a=a|0;var l=0,u=0,c=0,d=0;if(s<1e-16){r[a>>2]=r[A>>2],r[a+4>>2]=r[A+4>>2],r[a+8>>2]=r[A+8>>2],r[a+12>>2]=r[A+12>>2];return}u=t<0?t+6.283185307179586:t,u=t>=6.283185307179586?u+-6.283185307179586:u;do if(u<1e-16)t=+k[A>>3]+s,k[a>>3]=t,l=a;else{if(l=+rt(+(u+-3.141592653589793))<1e-16,t=+k[A>>3],l){t=t-s,k[a>>3]=t,l=a;break}if(c=+Ze(+s),s=+it(+s),t=c*+it(+t)+ +Ze(+u)*(s*+Ze(+t)),t=t>1?1:t,t=+C2(+(t<-1?-1:t)),k[a>>3]=t,+rt(+(t+-1.5707963267948966))<1e-16){k[a>>3]=1.5707963267948966,k[a+8>>3]=0;return}if(+rt(+(t+1.5707963267948966))<1e-16){k[a>>3]=-1.5707963267948966,k[a+8>>3]=0;return}if(d=1/+Ze(+t),u=s*+it(+u)*d,s=+k[A>>3],t=d*((c-+it(+t)*+it(+s))/+Ze(+s)),c=u>1?1:u,t=t>1?1:t,t=+k[A+8>>3]+ +cA(+(c<-1?-1:c),+(t<-1?-1:t)),t>3.141592653589793)do t=t+-6.283185307179586;while(t>3.141592653589793);if(t<-3.141592653589793)do t=t+6.283185307179586;while(t<-3.141592653589793);k[a+8>>3]=t;return}while(!1);if(+rt(+(t+-1.5707963267948966))<1e-16){k[l>>3]=1.5707963267948966,k[a+8>>3]=0;return}if(+rt(+(t+1.5707963267948966))<1e-16){k[l>>3]=-1.5707963267948966,k[a+8>>3]=0;return}if(t=+k[A+8>>3],t>3.141592653589793)do t=t+-6.283185307179586;while(t>3.141592653589793);if(t<-3.141592653589793)do t=t+6.283185307179586;while(t<-3.141592653589793);k[a+8>>3]=t}function Lf(A,t){return A=A|0,t=t|0,A>>>0>15?(t=4,t|0):(k[t>>3]=+k[20656+(A<<3)>>3],t=0,t|0)}function Fg(A,t){return A=A|0,t=t|0,A>>>0>15?(t=4,t|0):(k[t>>3]=+k[20784+(A<<3)>>3],t=0,t|0)}function Qg(A,t){return A=A|0,t=t|0,A>>>0>15?(t=4,t|0):(k[t>>3]=+k[20912+(A<<3)>>3],t=0,t|0)}function Lg(A,t){return A=A|0,t=t|0,A>>>0>15?(t=4,t|0):(k[t>>3]=+k[21040+(A<<3)>>3],t=0,t|0)}function oo(A,t){A=A|0,t=t|0;var s=0;return A>>>0>15?(t=4,t|0):(s=dr(7,0,A,((A|0)<0)<<31>>31)|0,s=Ot(s|0,D()|0,120,0)|0,A=D()|0,r[t>>2]=s|2,r[t+4>>2]=A,t=0,t|0)}function qf(A,t,s){A=A|0,t=t|0,s=s|0;var a=0,l=0,u=0,c=0,d=0,p=0,g=0,w=0,x=0,j=0;return j=+k[t>>3],w=+k[A>>3],p=+it(+((j-w)*.5)),u=+k[t+8>>3],g=+k[A+8>>3],c=+it(+((u-g)*.5)),d=+Ze(+w),x=+Ze(+j),c=p*p+c*(x*d*c),c=+cA(+ +yt(+c),+ +yt(+(1-c)))*2,p=+k[s>>3],j=+it(+((p-j)*.5)),a=+k[s+8>>3],u=+it(+((a-u)*.5)),l=+Ze(+p),u=j*j+u*(x*l*u),u=+cA(+ +yt(+u),+ +yt(+(1-u)))*2,p=+it(+((w-p)*.5)),a=+it(+((g-a)*.5)),a=p*p+a*(d*l*a),a=+cA(+ +yt(+a),+ +yt(+(1-a)))*2,l=(c+u+a)*.5,+(+Ta(+ +yt(+(+Hi(+(l*.5))*+Hi(+((l-c)*.5))*+Hi(+((l-u)*.5))*+Hi(+((l-a)*.5)))))*4)}function t0(A,t,s){A=A|0,t=t|0,s=s|0;var a=0,l=0,u=0,c=0,d=0;if(d=C,C=C+192|0,u=d+168|0,c=d,l=Xr(A,t,u)|0,l|0)return s=l,C=d,s|0;if(Ln(A,t,c)|0&&Te(27795,27190,415,27199),t=r[c>>2]|0,(t|0)>0){if(a=+qf(c+8|0,c+8+(((t|0)!=1&1)<<4)|0,u)+0,(t|0)!=1){A=1;do l=A,A=A+1|0,a=a+ +qf(c+8+(l<<4)|0,c+8+(((A|0)%(t|0)|0)<<4)|0,u);while((A|0)<(t|0))}}else a=0;return k[s>>3]=a,s=0,C=d,s|0}function qg(A,t,s){return A=A|0,t=t|0,s=s|0,A=t0(A,t,s)|0,A|0||(k[s>>3]=+k[s>>3]*6371.007180918475*6371.007180918475),A|0}function Ug(A,t,s){return A=A|0,t=t|0,s=s|0,A=t0(A,t,s)|0,A|0||(k[s>>3]=+k[s>>3]*6371.007180918475*6371.007180918475*1e3*1e3),A|0}function Gg(A,t,s){A=A|0,t=t|0,s=s|0;var a=0,l=0,u=0,c=0,d=0,p=0,g=0,w=0;if(d=C,C=C+176|0,c=d,A=so(A,t,c)|0,A|0)return c=A,C=d,c|0;if(k[s>>3]=0,A=r[c>>2]|0,(A|0)<=1)return c=0,C=d,c|0;t=A+-1|0,A=0,a=+k[c+8>>3],l=+k[c+16>>3],u=0;do A=A+1|0,g=a,a=+k[c+8+(A<<4)>>3],w=+it(+((a-g)*.5)),p=l,l=+k[c+8+(A<<4)+8>>3],p=+it(+((l-p)*.5)),p=w*w+p*(+Ze(+a)*+Ze(+g)*p),u=u+ +cA(+ +yt(+p),+ +yt(+(1-p)))*2;while((A|0)<(t|0));return k[s>>3]=u,c=0,C=d,c|0}function Hg(A,t,s){A=A|0,t=t|0,s=s|0;var a=0,l=0,u=0,c=0,d=0,p=0,g=0,w=0;if(d=C,C=C+176|0,c=d,A=so(A,t,c)|0,A|0)return c=A,u=+k[s>>3],u=u*6371.007180918475,k[s>>3]=u,C=d,c|0;if(k[s>>3]=0,A=r[c>>2]|0,(A|0)<=1)return c=0,u=0,u=u*6371.007180918475,k[s>>3]=u,C=d,c|0;t=A+-1|0,A=0,a=+k[c+8>>3],l=+k[c+16>>3],u=0;do A=A+1|0,g=a,a=+k[c+8+(A<<4)>>3],w=+it(+((a-g)*.5)),p=l,l=+k[c+8+(A<<4)+8>>3],p=+it(+((l-p)*.5)),p=w*w+p*(+Ze(+g)*+Ze(+a)*p),u=u+ +cA(+ +yt(+p),+ +yt(+(1-p)))*2;while((A|0)!=(t|0));return k[s>>3]=u,c=0,w=u,w=w*6371.007180918475,k[s>>3]=w,C=d,c|0}function Vg(A,t,s){A=A|0,t=t|0,s=s|0;var a=0,l=0,u=0,c=0,d=0,p=0,g=0,w=0;if(d=C,C=C+176|0,c=d,A=so(A,t,c)|0,A|0)return c=A,u=+k[s>>3],u=u*6371.007180918475,u=u*1e3,k[s>>3]=u,C=d,c|0;if(k[s>>3]=0,A=r[c>>2]|0,(A|0)<=1)return c=0,u=0,u=u*6371.007180918475,u=u*1e3,k[s>>3]=u,C=d,c|0;t=A+-1|0,A=0,a=+k[c+8>>3],l=+k[c+16>>3],u=0;do A=A+1|0,g=a,a=+k[c+8+(A<<4)>>3],w=+it(+((a-g)*.5)),p=l,l=+k[c+8+(A<<4)+8>>3],p=+it(+((l-p)*.5)),p=w*w+p*(+Ze(+g)*+Ze(+a)*p),u=u+ +cA(+ +yt(+p),+ +yt(+(1-p)))*2;while((A|0)!=(t|0));return k[s>>3]=u,c=0,w=u,w=w*6371.007180918475,w=w*1e3,k[s>>3]=w,C=d,c|0}function zg(A){A=A|0;var t=0,s=0,a=0;return t=Yt(1,12)|0,t||Te(27280,27235,49,27293),s=A+4|0,a=r[s>>2]|0,a|0?(a=a+8|0,r[a>>2]=t,r[s>>2]=t,t|0):(r[A>>2]|0&&Te(27310,27235,61,27333),a=A,r[a>>2]=t,r[s>>2]=t,t|0)}function Jg(A,t){A=A|0,t=t|0;var s=0,a=0;return a=OA(24)|0,a||Te(27347,27235,78,27361),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],r[a+16>>2]=0,t=A+4|0,s=r[t>>2]|0,s|0?(r[s+16>>2]=a,r[t>>2]=a,a|0):(r[A>>2]|0&&Te(27376,27235,82,27361),r[A>>2]=a,r[t>>2]=a,a|0)}function Uf(A){A=A|0;var t=0,s=0,a=0,l=0;if(A)for(a=1;;){if(t=r[A>>2]|0,t|0)do{if(s=r[t>>2]|0,s|0)do l=s,s=r[s+16>>2]|0,Ce(l);while((s|0)!=0);l=t,t=r[t+8>>2]|0,Ce(l)}while((t|0)!=0);if(t=A,A=r[A+8>>2]|0,a||Ce(t),A)a=0;else break}}function Kg(A){A=A|0;var t=0,s=0,a=0,l=0,u=0,c=0,d=0,p=0,g=0,w=0,x=0,j=0,N=0,F=0,G=0,K=0,ee=0,Y=0,W=0,H=0,he=0,be=0,_e=0,Me=0,Ne=0,Ve=0,Oe=0,Ee=0,ce=0,Ue=0,ot=0,Le=0;if(l=A+8|0,r[l>>2]|0)return Le=1,Le|0;if(a=r[A>>2]|0,!a)return Le=0,Le|0;t=a,s=0;do s=s+1|0,t=r[t+8>>2]|0;while((t|0)!=0);if(s>>>0<2)return Le=0,Le|0;Ue=OA(s<<2)|0,Ue||Te(27396,27235,317,27415),ce=OA(s<<5)|0,ce||Te(27437,27235,321,27415),r[A>>2]=0,be=A+4|0,r[be>>2]=0,r[l>>2]=0,s=0,Ee=0,he=0,x=0;e:for(;;){if(w=r[a>>2]|0,w){u=0,c=w;do{if(p=+k[c+8>>3],t=c,c=r[c+16>>2]|0,g=(c|0)==0,l=g?w:c,d=+k[l+8>>3],+rt(+(p-d))>3.141592653589793){Le=14;break}u=u+(d-p)*(+k[t>>3]+ +k[l>>3])}while(!g);if((Le|0)==14){Le=0,u=0,t=w;do H=+k[t+8>>3],Oe=t+16|0,Ve=r[Oe>>2]|0,Ve=(Ve|0)==0?w:Ve,W=+k[Ve+8>>3],u=u+(+k[t>>3]+ +k[Ve>>3])*((W<0?W+6.283185307179586:W)-(H<0?H+6.283185307179586:H)),t=r[((t|0)==0?a:Oe)>>2]|0;while((t|0)!=0)}u>0?(r[Ue+(Ee<<2)>>2]=a,Ee=Ee+1|0,l=he,t=x):Le=19}else Le=19;if((Le|0)==19){Le=0;do if(s){if(t=s+8|0,r[t>>2]|0){Le=21;break e}if(s=Yt(1,12)|0,!s){Le=23;break e}r[t>>2]=s,l=s+4|0,c=s,t=x}else if(x){l=be,c=x+8|0,t=a,s=A;break}else if(r[A>>2]|0){Le=27;break e}else{l=be,c=A,t=a,s=A;break}while(!1);if(r[c>>2]=a,r[l>>2]=a,c=ce+(he<<5)|0,g=r[a>>2]|0,g){for(w=ce+(he<<5)+8|0,k[w>>3]=17976931348623157e292,x=ce+(he<<5)+24|0,k[x>>3]=17976931348623157e292,k[c>>3]=-17976931348623157e292,j=ce+(he<<5)+16|0,k[j>>3]=-17976931348623157e292,ee=17976931348623157e292,Y=-17976931348623157e292,l=0,N=g,p=17976931348623157e292,G=17976931348623157e292,K=-17976931348623157e292,d=-17976931348623157e292;u=+k[N>>3],H=+k[N+8>>3],N=r[N+16>>2]|0,F=(N|0)==0,W=+k[(F?g:N)+8>>3],u<p&&(k[w>>3]=u,p=u),H<G&&(k[x>>3]=H,G=H),u>K?k[c>>3]=u:u=K,H>d&&(k[j>>3]=H,d=H),ee=H>0&H<ee?H:ee,Y=H<0&H>Y?H:Y,l=l|+rt(+(H-W))>3.141592653589793,!F;)K=u;l&&(k[j>>3]=Y,k[x>>3]=ee)}else r[c>>2]=0,r[c+4>>2]=0,r[c+8>>2]=0,r[c+12>>2]=0,r[c+16>>2]=0,r[c+20>>2]=0,r[c+24>>2]=0,r[c+28>>2]=0;l=he+1|0}if(Oe=a+8|0,a=r[Oe>>2]|0,r[Oe>>2]=0,a)he=l,x=t;else{Le=45;break}}if((Le|0)==21)Te(27213,27235,35,27247);else if((Le|0)==23)Te(27267,27235,37,27247);else if((Le|0)==27)Te(27310,27235,61,27333);else if((Le|0)==45){e:do if((Ee|0)>0){for(Oe=(l|0)==0,Ne=l<<2,Ve=(A|0)==0,Me=0,t=0;;){if(_e=r[Ue+(Me<<2)>>2]|0,Oe)Le=73;else{if(he=OA(Ne)|0,!he){Le=50;break}if(be=OA(Ne)|0,!be){Le=52;break}t:do if(Ve)s=0;else{for(l=0,s=0,c=A;a=ce+(l<<5)|0,Gf(r[c>>2]|0,a,r[_e>>2]|0)|0?(r[he+(s<<2)>>2]=c,r[be+(s<<2)>>2]=a,F=s+1|0):F=s,c=r[c+8>>2]|0,c;)l=l+1|0,s=F;if((F|0)>0)if(a=r[he>>2]|0,(F|0)==1)s=a;else for(j=0,N=-1,s=a,x=a;;){for(g=r[x>>2]|0,a=0,c=0;l=r[r[he+(c<<2)>>2]>>2]|0,(l|0)==(g|0)?w=a:w=a+((Gf(l,r[be+(c<<2)>>2]|0,r[g>>2]|0)|0)&1)|0,c=c+1|0,(c|0)!=(F|0);)a=w;if(l=(w|0)>(N|0),s=l?x:s,a=j+1|0,(a|0)==(F|0))break t;j=a,N=l?w:N,x=r[he+(a<<2)>>2]|0}else s=0}while(!1);if(Ce(he),Ce(be),s){if(l=s+4|0,a=r[l>>2]|0,a)s=a+8|0;else if(r[s>>2]|0){Le=70;break}r[s>>2]=_e,r[l>>2]=_e}else Le=73}if((Le|0)==73){if(Le=0,t=r[_e>>2]|0,t|0)do be=t,t=r[t+16>>2]|0,Ce(be);while((t|0)!=0);Ce(_e),t=1}if(Me=Me+1|0,(Me|0)>=(Ee|0)){ot=t;break e}}(Le|0)==50?Te(27452,27235,249,27471):(Le|0)==52?Te(27490,27235,252,27471):(Le|0)==70&&Te(27310,27235,61,27333)}else ot=0;while(!1);return Ce(Ue),Ce(ce),Le=ot,Le|0}return 0}function Gf(A,t,s){A=A|0,t=t|0,s=s|0;var a=0,l=0,u=0,c=0,d=0,p=0,g=0,w=0;if(!(Fa(t,s)|0)||(t=bf(t)|0,a=+k[s>>3],l=+k[s+8>>3],l=t&l<0?l+6.283185307179586:l,A=r[A>>2]|0,!A))return A=0,A|0;if(t){t=0,g=l,s=A;e:for(;;){for(;c=+k[s>>3],l=+k[s+8>>3],s=s+16|0,w=r[s>>2]|0,w=(w|0)==0?A:w,u=+k[w>>3],d=+k[w+8>>3],c>u?(p=c,c=d):(p=u,u=c,c=l,l=d),a=a==u|a==p?a+2220446049250313e-31:a,!!(a<u|a>p);)if(s=r[s>>2]|0,!s){s=22;break e}if(d=c<0?c+6.283185307179586:c,c=l<0?l+6.283185307179586:l,g=d==g|c==g?g+-2220446049250313e-31:g,p=d+(c-d)*((a-u)/(p-u)),(p<0?p+6.283185307179586:p)>g&&(t=t^1),s=r[s>>2]|0,!s){s=22;break}}if((s|0)==22)return t|0}else{t=0,g=l,s=A;e:for(;;){for(;c=+k[s>>3],l=+k[s+8>>3],s=s+16|0,w=r[s>>2]|0,w=(w|0)==0?A:w,u=+k[w>>3],d=+k[w+8>>3],c>u?(p=c,c=d):(p=u,u=c,c=l,l=d),a=a==u|a==p?a+2220446049250313e-31:a,!!(a<u|a>p);)if(s=r[s>>2]|0,!s){s=22;break e}if(g=c==g|l==g?g+-2220446049250313e-31:g,c+(l-c)*((a-u)/(p-u))>g&&(t=t^1),s=r[s>>2]|0,!s){s=22;break}}if((s|0)==22)return t|0}return 0}function ZA(A,t,s,a,l){A=A|0,t=t|0,s=s|0,a=a|0,l=l|0;var u=0,c=0,d=0,p=0,g=0,w=0,x=0,j=0,N=0,F=0,G=0,K=0,ee=0,Y=0;if(Y=C,C=C+32|0,ee=Y+16|0,K=Y,u=oe(A|0,t|0,52)|0,D()|0,u=u&15,N=oe(s|0,a|0,52)|0,D()|0,(u|0)!=(N&15|0))return ee=12,C=Y,ee|0;if(g=oe(A|0,t|0,45)|0,D()|0,g=g&127,w=oe(s|0,a|0,45)|0,D()|0,w=w&127,g>>>0>121|w>>>0>121)return ee=5,C=Y,ee|0;if(N=(g|0)!=(w|0),N){if(d=Na(g,w)|0,(d|0)==7)return ee=1,C=Y,ee|0;p=Na(w,g)|0,(p|0)==7?Te(27514,27538,161,27548):(F=d,c=p)}else F=0,c=0;x=ht(g)|0,j=ht(w)|0,r[ee>>2]=0,r[ee+4>>2]=0,r[ee+8>>2]=0,r[ee+12>>2]=0;do if(F){if(w=r[4272+(g*28|0)+(F<<2)>>2]|0,d=(w|0)>0,j)if(d){g=0,p=s,d=a;do p=xg(p,d)|0,d=D()|0,c=cr(c)|0,(c|0)==1&&(c=cr(1)|0),g=g+1|0;while((g|0)!=(w|0));w=c,g=p,p=d}else w=c,g=s,p=a;else if(d){g=0,p=s,d=a;do p=Ka(p,d)|0,d=D()|0,c=cr(c)|0,g=g+1|0;while((g|0)!=(w|0));w=c,g=p,p=d}else w=c,g=s,p=a;if(Ya(g,p,ee)|0,N||Te(27563,27538,191,27548),d=(x|0)!=0,c=(j|0)!=0,d&c&&Te(27590,27538,192,27548),d){if(c=Wt(A,t)|0,(c|0)==7){u=5;break}if(se[22e3+(c*7|0)+F>>0]|0){u=1;break}p=r[21168+(c*28|0)+(F<<2)>>2]|0,g=p}else if(c){if(c=Wt(g,p)|0,(c|0)==7){u=5;break}if(se[22e3+(c*7|0)+w>>0]|0){u=1;break}g=0,p=r[21168+(w*28|0)+(c<<2)>>2]|0}else g=0,p=0;if((g|p|0)<0)u=5;else{if((p|0)>0){d=ee+4|0,c=0;do io(d),c=c+1|0;while((c|0)!=(p|0))}if(r[K>>2]=0,r[K+4>>2]=0,r[K+8>>2]=0,Sf(K,F),u|0)for(;dA(u)|0?no(K):Kr(K),(u|0)>1;)u=u+-1|0;if((g|0)>0){u=0;do io(K),u=u+1|0;while((u|0)!=(g|0))}G=ee+4|0,Ht(G,K,G),Ft(G),G=51}}else if(Ya(s,a,ee)|0,(x|0)!=0&(j|0)!=0)if((w|0)!=(g|0)&&Te(27621,27538,261,27548),c=Wt(A,t)|0,u=Wt(s,a)|0,(c|0)==7|(u|0)==7)u=5;else if(se[22e3+(c*7|0)+u>>0]|0)u=1;else if(c=r[21168+(c*28|0)+(u<<2)>>2]|0,(c|0)>0){d=ee+4|0,u=0;do io(d),u=u+1|0;while((u|0)!=(c|0));G=51}else G=51;else G=51;while(!1);return(G|0)==51&&(u=ee+4|0,r[l>>2]=r[u>>2],r[l+4>>2]=r[u+4>>2],r[l+8>>2]=r[u+8>>2],u=0),ee=u,C=Y,ee|0}function Hf(A,t,s,a){A=A|0,t=t|0,s=s|0,a=a|0;var l=0,u=0,c=0,d=0,p=0,g=0,w=0,x=0,j=0,N=0,F=0,G=0,K=0,ee=0,Y=0,W=0;if(G=C,C=C+48|0,g=G+36|0,c=G+24|0,d=G+12|0,p=G,l=oe(A|0,t|0,52)|0,D()|0,l=l&15,j=oe(A|0,t|0,45)|0,D()|0,j=j&127,j>>>0>121)return a=5,C=G,a|0;if(w=ht(j)|0,fe(l|0,0,52)|0,K=D()|0|134225919,u=a,r[u>>2]=-1,r[u+4>>2]=K,!l)return l=ro(s)|0,(l|0)==7||(l=ja(j,l)|0,(l|0)==127)?(K=1,C=G,K|0):(N=fe(l|0,0,45)|0,F=D()|0,j=a,F=r[j+4>>2]&-1040385|F,K=a,r[K>>2]=r[j>>2]|N,r[K+4>>2]=F,K=0,C=G,K|0);for(r[g>>2]=r[s>>2],r[g+4>>2]=r[s+4>>2],r[g+8>>2]=r[s+8>>2],s=l;;){if(u=s,s=s+-1|0,r[c>>2]=r[g>>2],r[c+4>>2]=r[g+4>>2],r[c+8>>2]=r[g+8>>2],dA(u)|0){if(l=rg(g)|0,l|0){s=13;break}r[d>>2]=r[g>>2],r[d+4>>2]=r[g+4>>2],r[d+8>>2]=r[g+8>>2],no(d)}else{if(l=ng(g)|0,l|0){s=13;break}r[d>>2]=r[g>>2],r[d+4>>2]=r[g+4>>2],r[d+8>>2]=r[g+8>>2],Kr(d)}if(La(c,d,p),Ft(p),l=a,Y=r[l>>2]|0,l=r[l+4>>2]|0,W=(15-u|0)*3|0,ee=fe(7,0,W|0)|0,l=l&~(D()|0),W=fe(ro(p)|0,0,W|0)|0,l=D()|0|l,K=a,r[K>>2]=W|Y&~ee,r[K+4>>2]=l,(u|0)<=1){s=14;break}}e:do if((s|0)!=13&&(s|0)==14)if((r[g>>2]|0)<=1&&(r[g+4>>2]|0)<=1&&(r[g+8>>2]|0)<=1){s=ro(g)|0,l=ja(j,s)|0,(l|0)==127?p=0:p=ht(l)|0;t:do if(s){if(w){if(l=Wt(A,t)|0,(l|0)==7){l=5;break e}if(u=r[21376+(l*28|0)+(s<<2)>>2]|0,(u|0)>0){l=s,s=0;do l=Wr(l)|0,s=s+1|0;while((s|0)!=(u|0))}else l=s;if((l|0)==1){l=9;break e}s=ja(j,l)|0,(s|0)==127&&Te(27648,27538,411,27678),ht(s)|0?Te(27693,27538,412,27678):(F=s,N=u,x=l)}else F=l,N=0,x=s;if(d=r[4272+(j*28|0)+(x<<2)>>2]|0,(d|0)<=-1&&Te(27724,27538,419,27678),!p){if((N|0)<0){l=5;break e}if(N|0){u=a,l=0,s=r[u>>2]|0,u=r[u+4>>2]|0;do s=Yr(s,u)|0,u=D()|0,W=a,r[W>>2]=s,r[W+4>>2]=u,l=l+1|0;while((l|0)<(N|0))}if((d|0)<=0){l=F,s=58;break}for(u=a,l=0,s=r[u>>2]|0,u=r[u+4>>2]|0;;)if(s=Yr(s,u)|0,u=D()|0,W=a,r[W>>2]=s,r[W+4>>2]=u,l=l+1|0,(l|0)==(d|0)){l=F,s=58;break t}}if(c=Na(F,j)|0,(c|0)==7&&Te(27514,27538,428,27678),l=a,s=r[l>>2]|0,l=r[l+4>>2]|0,(d|0)>0){u=0;do s=Yr(s,l)|0,l=D()|0,W=a,r[W>>2]=s,r[W+4>>2]=l,u=u+1|0;while((u|0)!=(d|0))}if(l=Wt(s,l)|0,(l|0)==7&&Te(27795,27538,440,27678),s=Ma(F)|0,s=r[(s?21792:21584)+(c*28|0)+(l<<2)>>2]|0,(s|0)<0&&Te(27795,27538,454,27678),!s)l=F,s=58;else{c=a,l=0,u=r[c>>2]|0,c=r[c+4>>2]|0;do u=Ja(u,c)|0,c=D()|0,W=a,r[W>>2]=u,r[W+4>>2]=c,l=l+1|0;while((l|0)<(s|0));l=F,s=58}}else if((w|0)!=0&(p|0)!=0){if(s=Wt(A,t)|0,u=a,u=Wt(r[u>>2]|0,r[u+4>>2]|0)|0,(s|0)==7|(u|0)==7){l=5;break e}if(u=r[21376+(s*28|0)+(u<<2)>>2]|0,(u|0)<0){l=5;break e}if(!u)s=59;else{d=a,s=0,c=r[d>>2]|0,d=r[d+4>>2]|0;do c=Yr(c,d)|0,d=D()|0,W=a,r[W>>2]=c,r[W+4>>2]=d,s=s+1|0;while((s|0)<(u|0));s=58}}else s=58;while(!1);if((s|0)==58&&p&&(s=59),(s|0)==59&&(W=a,(Wt(r[W>>2]|0,r[W+4>>2]|0)|0)==1)){l=9;break}W=a,ee=r[W>>2]|0,W=r[W+4>>2]&-1040385,Y=fe(l|0,0,45)|0,W=W|(D()|0),l=a,r[l>>2]=ee|Y,r[l+4>>2]=W,l=0}else l=1;while(!1);return W=l,C=G,W|0}function Wg(A,t,s,a,l,u){A=A|0,t=t|0,s=s|0,a=a|0,l=l|0,u=u|0;var c=0,d=0;return d=C,C=C+16|0,c=d,l?A=15:(A=ZA(A,t,s,a,c)|0,A||(sg(c,u),A=0)),C=d,A|0}function Yg(A,t,s,a,l){A=A|0,t=t|0,s=s|0,a=a|0,l=l|0;var u=0,c=0;return c=C,C=C+16|0,u=c,a?s=15:(s=og(s,u)|0,s||(s=Hf(A,t,u,l)|0)),C=c,s|0}function Xg(A,t,s,a,l){A=A|0,t=t|0,s=s|0,a=a|0,l=l|0;var u=0,c=0,d=0,p=0;return p=C,C=C+32|0,c=p+12|0,d=p,u=ZA(A,t,A,t,c)|0,u|0?(d=u,C=p,d|0):(A=ZA(A,t,s,a,d)|0,A|0?(d=A,C=p,d|0):(c=qa(c,d)|0,d=l,r[d>>2]=c,r[d+4>>2]=((c|0)<0)<<31>>31,d=0,C=p,d|0))}function Zg(A,t,s,a,l){A=A|0,t=t|0,s=s|0,a=a|0,l=l|0;var u=0,c=0,d=0,p=0;return p=C,C=C+32|0,c=p+12|0,d=p,u=ZA(A,t,A,t,c)|0,!u&&(u=ZA(A,t,s,a,d)|0,!u)?(a=qa(c,d)|0,a=Pe(a|0,((a|0)<0)<<31>>31|0,1,0)|0,c=D()|0,d=l,r[d>>2]=a,r[d+4>>2]=c,d=0,C=p,d|0):(d=u,C=p,d|0)}function e1(A,t,s,a,l){A=A|0,t=t|0,s=s|0,a=a|0,l=l|0;var u=0,c=0,d=0,p=0,g=0,w=0,x=0,j=0,N=0,F=0,G=0,K=0,ee=0,Y=0,W=0,H=0,he=0,be=0,_e=0,Me=0;if(_e=C,C=C+48|0,he=_e+24|0,c=_e+12|0,be=_e,u=ZA(A,t,A,t,he)|0,!u&&(u=ZA(A,t,s,a,c)|0,!u)){W=qa(he,c)|0,H=((W|0)<0)<<31>>31,r[he>>2]=0,r[he+4>>2]=0,r[he+8>>2]=0,r[c>>2]=0,r[c+4>>2]=0,r[c+8>>2]=0,ZA(A,t,A,t,he)|0&&Te(27795,27538,692,27747),ZA(A,t,s,a,c)|0&&Te(27795,27538,697,27747),Of(he),Of(c),w=(W|0)==0?0:1/+(W|0),s=r[he>>2]|0,G=w*+((r[c>>2]|0)-s|0),K=he+4|0,a=r[K>>2]|0,ee=w*+((r[c+4>>2]|0)-a|0),Y=he+8|0,u=r[Y>>2]|0,w=w*+((r[c+8>>2]|0)-u|0),r[be>>2]=s,x=be+4|0,r[x>>2]=a,j=be+8|0,r[j>>2]=u;e:do if((W|0)<0)u=0;else for(N=0,F=0;;){p=+(F>>>0)+4294967296*+(N|0),Me=G*p+ +(s|0),d=ee*p+ +(a|0),p=w*p+ +(u|0),s=~~+fo(+Me),c=~~+fo(+d),u=~~+fo(+p),Me=+rt(+(+(s|0)-Me)),d=+rt(+(+(c|0)-d)),p=+rt(+(+(u|0)-p));do if(Me>d&Me>p)s=0-(c+u)|0,a=c;else if(g=0-s|0,d>p){a=g-u|0;break}else{a=c,u=g-c|0;break}while(!1);if(r[be>>2]=s,r[x>>2]=a,r[j>>2]=u,ag(be),u=Hf(A,t,be,l+(F<<3)|0)|0,u|0)break e;if(!((N|0)<(H|0)|(N|0)==(H|0)&F>>>0<W>>>0)){u=0;break e}s=Pe(F|0,N|0,1,0)|0,a=D()|0,N=a,F=s,s=r[he>>2]|0,a=r[K>>2]|0,u=r[Y>>2]|0}while(!1);return be=u,C=_e,be|0}return be=u,C=_e,be|0}function dr(A,t,s,a){A=A|0,t=t|0,s=s|0,a=a|0;var l=0,u=0,c=0;if((s|0)==0&(a|0)==0)return l=0,u=1,je(l|0),u|0;u=A,l=t,A=1,t=0;do c=(s&1|0)==0&!0,A=Ot((c?1:u)|0,(c?0:l)|0,A|0,t|0)|0,t=D()|0,s=nc(s|0,a|0,1)|0,a=D()|0,u=Ot(u|0,l|0,u|0,l|0)|0,l=D()|0;while(!((s|0)==0&(a|0)==0));return je(t|0),A|0}function A0(A,t,s,a){A=A|0,t=t|0,s=s|0,a=a|0;var l=0,u=0,c=0,d=0,p=0,g=0,w=0;d=C,C=C+16|0,u=d,c=oe(A|0,t|0,52)|0,D()|0,c=c&15;do if(c){if(l=Xr(A,t,u)|0,!l){g=+k[u>>3],p=1/+Ze(+g),w=+k[25968+(c<<3)>>3],k[s>>3]=g+w,k[s+8>>3]=g-w,g=+k[u+8>>3],p=w*p,k[s+16>>3]=p+g,k[s+24>>3]=g-p;break}return c=l,C=d,c|0}else{if(l=oe(A|0,t|0,45)|0,D()|0,l=l&127,l>>>0>121)return c=5,C=d,c|0;u=22064+(l<<5)|0,r[s>>2]=r[u>>2],r[s+4>>2]=r[u+4>>2],r[s+8>>2]=r[u+8>>2],r[s+12>>2]=r[u+12>>2],r[s+16>>2]=r[u+16>>2],r[s+20>>2]=r[u+20>>2],r[s+24>>2]=r[u+24>>2],r[s+28>>2]=r[u+28>>2];break}while(!1);return eg(s,a?1.4:1.1),a=26096+(c<<3)|0,(r[a>>2]|0)==(A|0)&&(r[a+4>>2]|0)==(t|0)&&(k[s>>3]=1.5707963267948966),c=26224+(c<<3)|0,(r[c>>2]|0)==(A|0)&&(r[c+4>>2]|0)==(t|0)&&(k[s+8>>3]=-1.5707963267948966),+k[s>>3]!=1.5707963267948966&&+k[s+8>>3]!=-1.5707963267948966?(c=0,C=d,c|0):(k[s+16>>3]=3.141592653589793,k[s+24>>3]=-3.141592653589793,c=0,C=d,c|0)}function t1(A,t,s,a){A=A|0,t=t|0,s=s|0,a=a|0;var l=0,u=0,c=0,d=0,p=0,g=0,w=0;g=C,C=C+48|0,c=g+32|0,u=g+40|0,d=g,Va(c,0,0,0),p=r[c>>2]|0,c=r[c+4>>2]|0;do if(s>>>0<=15){if(l=Yi(a)|0,l|0){a=d,r[a>>2]=0,r[a+4>>2]=0,r[d+8>>2]=l,r[d+12>>2]=-1,a=d+16|0,p=d+29|0,r[a>>2]=0,r[a+4>>2]=0,r[a+8>>2]=0,se[a+12>>0]=0,se[p>>0]=se[u>>0]|0,se[p+1>>0]=se[u+1>>0]|0,se[p+2>>0]=se[u+2>>0]|0;break}if(l=Yt((r[t+8>>2]|0)+1|0,32)|0,l){r0(t,l),w=d,r[w>>2]=p,r[w+4>>2]=c,r[d+8>>2]=0,r[d+12>>2]=s,r[d+16>>2]=a,r[d+20>>2]=t,r[d+24>>2]=l,se[d+28>>0]=0,p=d+29|0,se[p>>0]=se[u>>0]|0,se[p+1>>0]=se[u+1>>0]|0,se[p+2>>0]=se[u+2>>0]|0;break}else{a=d,r[a>>2]=0,r[a+4>>2]=0,r[d+8>>2]=13,r[d+12>>2]=-1,a=d+16|0,p=d+29|0,r[a>>2]=0,r[a+4>>2]=0,r[a+8>>2]=0,se[a+12>>0]=0,se[p>>0]=se[u>>0]|0,se[p+1>>0]=se[u+1>>0]|0,se[p+2>>0]=se[u+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,w=d+29|0,r[p>>2]=0,r[p+4>>2]=0,r[p+8>>2]=0,se[p+12>>0]=0,se[w>>0]=se[u>>0]|0,se[w+1>>0]=se[u+1>>0]|0,se[w+2>>0]=se[u+2>>0]|0;while(!1);ao(d),r[A>>2]=r[d>>2],r[A+4>>2]=r[d+4>>2],r[A+8>>2]=r[d+8>>2],r[A+12>>2]=r[d+12>>2],r[A+16>>2]=r[d+16>>2],r[A+20>>2]=r[d+20>>2],r[A+24>>2]=r[d+24>>2],r[A+28>>2]=r[d+28>>2],C=g}function ao(A){A=A|0;var t=0,s=0,a=0,l=0,u=0,c=0,d=0,p=0,g=0,w=0,x=0,j=0,N=0,F=0,G=0,K=0,ee=0,Y=0,W=0,H=0;if(H=C,C=C+336|0,N=H+168|0,F=H,a=A,s=r[a>>2]|0,a=r[a+4>>2]|0,(s|0)==0&(a|0)==0){C=H;return}if(t=A+28|0,se[t>>0]|0?(s=Vf(s,a)|0,a=D()|0):se[t>>0]=1,W=A+20|0,!(r[r[W>>2]>>2]|0)){t=A+24|0,s=r[t>>2]|0,s|0&&Ce(s),Y=A,r[Y>>2]=0,r[Y+4>>2]=0,r[A+8>>2]=0,r[W>>2]=0,r[A+12>>2]=-1,r[A+16>>2]=0,r[t>>2]=0,C=H;return}Y=A+16|0,t=r[Y>>2]|0,l=t&15;e:do if((s|0)==0&(a|0)==0)ee=A+24|0;else{G=A+12|0,x=(l|0)==3,w=t&255,p=(l|1|0)==3,j=A+24|0,g=(l+-1|0)>>>0<3,c=(l|2|0)==3,d=F+8|0;t:for(;;){if(u=oe(s|0,a|0,52)|0,D()|0,u=u&15,(u|0)==(r[G>>2]|0)){switch(w&15){case 0:case 2:case 3:{if(l=Xr(s,a,N)|0,l|0){K=15;break t}if(n0(r[W>>2]|0,r[j>>2]|0,N)|0){K=19;break t}break}default:}if(p&&(l=r[(r[W>>2]|0)+4>>2]|0,r[N>>2]=r[l>>2],r[N+4>>2]=r[l+4>>2],r[N+8>>2]=r[l+8>>2],r[N+12>>2]=r[l+12>>2],Fa(26832,N)|0)){if(Wa(r[(r[W>>2]|0)+4>>2]|0,u,F)|0){K=25;break}if(l=F,(r[l>>2]|0)==(s|0)&&(r[l+4>>2]|0)==(a|0)){K=29;break}}if(g){if(l=Ln(s,a,N)|0,l|0){K=32;break}if(A0(s,a,F,0)|0){K=36;break}if(c&&Jf(r[W>>2]|0,r[j>>2]|0,N,F)|0){K=42;break}if(p&&Kf(r[W>>2]|0,r[j>>2]|0,N,F)|0){K=42;break}}if(x){if(t=A0(s,a,N,1)|0,l=r[j>>2]|0,t|0){K=45;break}if(Qa(l,N)|0){if($f(F,N),Ef(N,r[j>>2]|0)|0){K=53;break}if(n0(r[W>>2]|0,r[j>>2]|0,d)|0){K=53;break}if(Kf(r[W>>2]|0,r[j>>2]|0,F,N)|0){K=53;break}}}}do if((u|0)<(r[G>>2]|0)){if(t=A0(s,a,N,1)|0,l=r[j>>2]|0,t|0){K=58;break t}if(!(Qa(l,N)|0)){K=73;break}if(Ef(r[j>>2]|0,N)|0&&($f(F,N),Jf(r[W>>2]|0,r[j>>2]|0,F,N)|0)){K=65;break t}if(s=Nf(s,a,u+1|0,F)|0,s|0){K=67;break t}a=F,s=r[a>>2]|0,a=r[a+4>>2]|0}else K=73;while(!1);if((K|0)==73&&(K=0,s=Vf(s,a)|0,a=D()|0),(s|0)==0&(a|0)==0){ee=j;break e}}switch(K|0){case 15:{t=r[j>>2]|0,t|0&&Ce(t),K=A,r[K>>2]=0,r[K+4>>2]=0,r[W>>2]=0,r[G>>2]=-1,r[Y>>2]=0,r[j>>2]=0,r[A+8>>2]=l,K=20;break}case 19:{r[A>>2]=s,r[A+4>>2]=a,K=20;break}case 25:{Te(27795,27761,470,27772);break}case 29:{r[A>>2]=s,r[A+4>>2]=a,C=H;return}case 32:{t=r[j>>2]|0,t|0&&Ce(t),ee=A,r[ee>>2]=0,r[ee+4>>2]=0,r[W>>2]=0,r[G>>2]=-1,r[Y>>2]=0,r[j>>2]=0,r[A+8>>2]=l,C=H;return}case 36:{Te(27795,27761,493,27772);break}case 42:{r[A>>2]=s,r[A+4>>2]=a,C=H;return}case 45:{l|0&&Ce(l),K=A,r[K>>2]=0,r[K+4>>2]=0,r[W>>2]=0,r[G>>2]=-1,r[Y>>2]=0,r[j>>2]=0,r[A+8>>2]=t,K=55;break}case 53:{r[A>>2]=s,r[A+4>>2]=a,K=55;break}case 58:{l|0&&Ce(l),K=A,r[K>>2]=0,r[K+4>>2]=0,r[W>>2]=0,r[G>>2]=-1,r[Y>>2]=0,r[j>>2]=0,r[A+8>>2]=t,K=71;break}case 65:{r[A>>2]=s,r[A+4>>2]=a,K=71;break}case 67:{t=r[j>>2]|0,t|0&&Ce(t),ee=A,r[ee>>2]=0,r[ee+4>>2]=0,r[W>>2]=0,r[G>>2]=-1,r[Y>>2]=0,r[j>>2]=0,r[A+8>>2]=s,C=H;return}}if((K|0)==20){C=H;return}else if((K|0)==55){C=H;return}else if((K|0)==71){C=H;return}}while(!1);t=r[ee>>2]|0,t|0&&Ce(t),K=A,r[K>>2]=0,r[K+4>>2]=0,r[A+8>>2]=0,r[W>>2]=0,r[A+12>>2]=-1,r[Y>>2]=0,r[ee>>2]=0,C=H}function Vf(A,t){A=A|0,t=t|0;var s=0,a=0,l=0,u=0,c=0,d=0,p=0,g=0,w=0,x=0;x=C,C=C+16|0,w=x,a=oe(A|0,t|0,52)|0,D()|0,a=a&15,s=oe(A|0,t|0,45)|0,D()|0;do if(a){for(;s=fe(a+4095|0,0,52)|0,l=D()|0|t&-15728641,u=(15-a|0)*3|0,c=fe(7,0,u|0)|0,d=D()|0,s=s|A|c,l=l|d,p=oe(A|0,t|0,u|0)|0,D()|0,p=p&7,a=a+-1|0,!(p>>>0<6);)if(a)t=l,A=s;else{g=4;break}if((g|0)==4){s=oe(s|0,l|0,45)|0,D()|0;break}return w=(p|0)==0&(ut(s,l)|0)!=0,w=fe((w?2:1)+p|0,0,u|0)|0,g=D()|0|t&~d,w=w|A&~c,je(g|0),C=x,w|0}while(!1);return s=s&127,s>>>0>120?(g=0,w=0,je(g|0),C=x,w|0):(Va(w,0,s+1|0,0),g=r[w+4>>2]|0,w=r[w>>2]|0,je(g|0),C=x,w|0)}function A1(A,t,s,a,l,u){A=A|0,t=t|0,s=s|0,a=a|0,l=l|0,u=u|0;var c=0,d=0,p=0,g=0,w=0,x=0,j=0,N=0,F=0,G=0,K=0;K=C,C=C+160|0,x=K+80|0,d=K+64|0,j=K+112|0,G=K,t1(x,A,t,s),g=x,Za(d,r[g>>2]|0,r[g+4>>2]|0,t),g=d,p=r[g>>2]|0,g=r[g+4>>2]|0,c=r[x+8>>2]|0,N=j+4|0,r[N>>2]=r[x>>2],r[N+4>>2]=r[x+4>>2],r[N+8>>2]=r[x+8>>2],r[N+12>>2]=r[x+12>>2],r[N+16>>2]=r[x+16>>2],r[N+20>>2]=r[x+20>>2],r[N+24>>2]=r[x+24>>2],r[N+28>>2]=r[x+28>>2],N=G,r[N>>2]=p,r[N+4>>2]=g,N=G+8|0,r[N>>2]=c,A=G+12|0,t=j,s=A+36|0;do r[A>>2]=r[t>>2],A=A+4|0,t=t+4|0;while((A|0)<(s|0));if(j=G+48|0,r[j>>2]=r[d>>2],r[j+4>>2]=r[d+4>>2],r[j+8>>2]=r[d+8>>2],r[j+12>>2]=r[d+12>>2],(p|0)==0&(g|0)==0)return G=c,C=K,G|0;s=G+16|0,w=G+24|0,x=G+28|0,c=0,d=0,t=p,A=g;do{if(!((c|0)<(l|0)|(c|0)==(l|0)&d>>>0<a>>>0)){F=4;break}if(g=d,d=Pe(d|0,c|0,1,0)|0,c=D()|0,g=u+(g<<3)|0,r[g>>2]=t,r[g+4>>2]=A,e0(j),A=j,t=r[A>>2]|0,A=r[A+4>>2]|0,(t|0)==0&(A|0)==0){if(ao(s),t=s,A=r[t>>2]|0,t=r[t+4>>2]|0,(A|0)==0&(t|0)==0){F=10;break}Qf(A,t,r[x>>2]|0,j),A=j,t=r[A>>2]|0,A=r[A+4>>2]|0}g=G,r[g>>2]=t,r[g+4>>2]=A}while(!((t|0)==0&(A|0)==0));return(F|0)==4?(A=G+40|0,t=r[A>>2]|0,t|0&&Ce(t),F=G+16|0,r[F>>2]=0,r[F+4>>2]=0,r[w>>2]=0,r[G+36>>2]=0,r[x>>2]=-1,r[G+32>>2]=0,r[A>>2]=0,Qf(0,0,0,j),r[G>>2]=0,r[G+4>>2]=0,r[N>>2]=0,G=14,C=K,G|0):((F|0)==10&&(r[G>>2]=0,r[G+4>>2]=0,r[N>>2]=r[w>>2]),G=r[N>>2]|0,C=K,G|0)}function r1(A,t,s,a){A=A|0,t=t|0,s=s|0,a=a|0;var l=0,u=0,c=0,d=0,p=0,g=0,w=0,x=0,j=0,N=0;if(x=C,C=C+48|0,p=x+32|0,d=x+40|0,g=x,!(r[A>>2]|0))return w=a,r[w>>2]=0,r[w+4>>2]=0,w=0,C=x,w|0;Va(p,0,0,0),c=p,l=r[c>>2]|0,c=r[c+4>>2]|0;do if(t>>>0>15)w=g,r[w>>2]=0,r[w+4>>2]=0,r[g+8>>2]=4,r[g+12>>2]=-1,w=g+16|0,s=g+29|0,r[w>>2]=0,r[w+4>>2]=0,r[w+8>>2]=0,se[w+12>>0]=0,se[s>>0]=se[d>>0]|0,se[s+1>>0]=se[d+1>>0]|0,se[s+2>>0]=se[d+2>>0]|0,s=4,w=9;else{if(s=Yi(s)|0,s|0){p=g,r[p>>2]=0,r[p+4>>2]=0,r[g+8>>2]=s,r[g+12>>2]=-1,p=g+16|0,w=g+29|0,r[p>>2]=0,r[p+4>>2]=0,r[p+8>>2]=0,se[p+12>>0]=0,se[w>>0]=se[d>>0]|0,se[w+1>>0]=se[d+1>>0]|0,se[w+2>>0]=se[d+2>>0]|0,w=9;break}if(s=Yt((r[A+8>>2]|0)+1|0,32)|0,!s){w=g,r[w>>2]=0,r[w+4>>2]=0,r[g+8>>2]=13,r[g+12>>2]=-1,w=g+16|0,s=g+29|0,r[w>>2]=0,r[w+4>>2]=0,r[w+8>>2]=0,se[w+12>>0]=0,se[s>>0]=se[d>>0]|0,se[s+1>>0]=se[d+1>>0]|0,se[s+2>>0]=se[d+2>>0]|0,s=13,w=9;break}r0(A,s),N=g,r[N>>2]=l,r[N+4>>2]=c,c=g+8|0,r[c>>2]=0,r[g+12>>2]=t,r[g+20>>2]=A,r[g+24>>2]=s,se[g+28>>0]=0,l=g+29|0,se[l>>0]=se[d>>0]|0,se[l+1>>0]=se[d+1>>0]|0,se[l+2>>0]=se[d+2>>0]|0,r[g+16>>2]=3,j=+Y2(s),j=j*+W2(s),u=+rt(+ +k[s>>3]),u=j/+Ze(+ +uo(+u,+ +rt(+ +k[s+8>>3])))*6371.007180918475*6371.007180918475,l=g+12|0,s=r[l>>2]|0;e:do if((s|0)>0)do{if(Lf(s+-1|0,p)|0,!(u/+k[p>>3]>10))break e;N=r[l>>2]|0,s=N+-1|0,r[l>>2]=s}while((N|0)>1);while(!1);if(ao(g),l=a,r[l>>2]=0,r[l+4>>2]=0,l=g,s=r[l>>2]|0,l=r[l+4>>2]|0,!((s|0)==0&(l|0)==0))do zi(s,l,t,p)|0,d=p,A=a,d=Pe(r[A>>2]|0,r[A+4>>2]|0,r[d>>2]|0,r[d+4>>2]|0)|0,A=D()|0,N=a,r[N>>2]=d,r[N+4>>2]=A,ao(g),N=g,s=r[N>>2]|0,l=r[N+4>>2]|0;while(!((s|0)==0&(l|0)==0));s=r[c>>2]|0}while(!1);return N=s,C=x,N|0}function Wi(A,t,s){A=A|0,t=t|0,s=s|0;var a=0,l=0,u=0,c=0,d=0,p=0,g=0,w=0,x=0,j=0;if(!(Fa(t,s)|0)||(t=bf(t)|0,a=+k[s>>3],l=+k[s+8>>3],l=t&l<0?l+6.283185307179586:l,j=r[A>>2]|0,(j|0)<=0))return j=0,j|0;if(x=r[A+4>>2]|0,t){t=0,w=l,s=-1,A=0;e:for(;;){for(g=A;c=+k[x+(g<<4)>>3],l=+k[x+(g<<4)+8>>3],A=(s+2|0)%(j|0)|0,u=+k[x+(A<<4)>>3],d=+k[x+(A<<4)+8>>3],c>u?(p=c,c=d):(p=u,u=c,c=l,l=d),a=a==u|a==p?a+2220446049250313e-31:a,!!(a<u|a>p);)if(s=g+1|0,(s|0)>=(j|0)){s=22;break e}else A=g,g=s,s=A;if(d=c<0?c+6.283185307179586:c,c=l<0?l+6.283185307179586:l,w=d==w|c==w?w+-2220446049250313e-31:w,p=d+(c-d)*((a-u)/(p-u)),(p<0?p+6.283185307179586:p)>w&&(t=t^1),A=g+1|0,(A|0)>=(j|0)){s=22;break}else s=g}if((s|0)==22)return t|0}else{t=0,w=l,s=-1,A=0;e:for(;;){for(g=A;c=+k[x+(g<<4)>>3],l=+k[x+(g<<4)+8>>3],A=(s+2|0)%(j|0)|0,u=+k[x+(A<<4)>>3],d=+k[x+(A<<4)+8>>3],c>u?(p=c,c=d):(p=u,u=c,c=l,l=d),a=a==u|a==p?a+2220446049250313e-31:a,!!(a<u|a>p);)if(s=g+1|0,(s|0)>=(j|0)){s=22;break e}else A=g,g=s,s=A;if(w=c==w|l==w?w+-2220446049250313e-31:w,c+(l-c)*((a-u)/(p-u))>w&&(t=t^1),A=g+1|0,(A|0)>=(j|0)){s=22;break}else s=g}if((s|0)==22)return t|0}return 0}function zf(A,t){A=A|0,t=t|0;var s=0,a=0,l=0,u=0,c=0,d=0,p=0,g=0,w=0,x=0,j=0,N=0,F=0,G=0,K=0,ee=0,Y=0;if(F=r[A>>2]|0,!F){r[t>>2]=0,r[t+4>>2]=0,r[t+8>>2]=0,r[t+12>>2]=0,r[t+16>>2]=0,r[t+20>>2]=0,r[t+24>>2]=0,r[t+28>>2]=0;return}if(G=t+8|0,k[G>>3]=17976931348623157e292,K=t+24|0,k[K>>3]=17976931348623157e292,k[t>>3]=-17976931348623157e292,ee=t+16|0,k[ee>>3]=-17976931348623157e292,!((F|0)<=0)){for(j=r[A+4>>2]|0,g=17976931348623157e292,w=-17976931348623157e292,x=0,A=-1,u=17976931348623157e292,c=17976931348623157e292,p=-17976931348623157e292,a=-17976931348623157e292,N=0;s=+k[j+(N<<4)>>3],d=+k[j+(N<<4)+8>>3],A=A+2|0,l=+k[j+(((A|0)==(F|0)?0:A)<<4)+8>>3],s<u&&(k[G>>3]=s,u=s),d<c&&(k[K>>3]=d,c=d),s>p?k[t>>3]=s:s=p,d>a&&(k[ee>>3]=d,a=d),g=d>0&d<g?d:g,w=d<0&d>w?d:w,x=x|+rt(+(d-l))>3.141592653589793,A=N+1|0,(A|0)!=(F|0);)Y=N,p=s,N=A,A=Y;x&&(k[ee>>3]=w,k[K>>3]=g)}}function Yi(A){return A=A|0,(A>>>0<4?0:15)|0}function r0(A,t){A=A|0,t=t|0;var s=0,a=0,l=0,u=0,c=0,d=0,p=0,g=0,w=0,x=0,j=0,N=0,F=0,G=0,K=0,ee=0,Y=0,W=0,H=0,he=0,be=0,_e=0;if(F=r[A>>2]|0,F){if(G=t+8|0,k[G>>3]=17976931348623157e292,K=t+24|0,k[K>>3]=17976931348623157e292,k[t>>3]=-17976931348623157e292,ee=t+16|0,k[ee>>3]=-17976931348623157e292,(F|0)>0){for(l=r[A+4>>2]|0,j=17976931348623157e292,N=-17976931348623157e292,a=0,s=-1,p=17976931348623157e292,g=17976931348623157e292,x=-17976931348623157e292,c=-17976931348623157e292,Y=0;u=+k[l+(Y<<4)>>3],w=+k[l+(Y<<4)+8>>3],be=s+2|0,d=+k[l+(((be|0)==(F|0)?0:be)<<4)+8>>3],u<p&&(k[G>>3]=u,p=u),w<g&&(k[K>>3]=w,g=w),u>x?k[t>>3]=u:u=x,w>c&&(k[ee>>3]=w,c=w),j=w>0&w<j?w:j,N=w<0&w>N?w:N,a=a|+rt(+(w-d))>3.141592653589793,s=Y+1|0,(s|0)!=(F|0);)be=Y,x=u,Y=s,s=be;a&&(k[ee>>3]=N,k[K>>3]=j)}}else r[t>>2]=0,r[t+4>>2]=0,r[t+8>>2]=0,r[t+12>>2]=0,r[t+16>>2]=0,r[t+20>>2]=0,r[t+24>>2]=0,r[t+28>>2]=0;if(be=A+8|0,s=r[be>>2]|0,!((s|0)<=0)){he=A+12|0,H=0;do if(l=r[he>>2]|0,a=H,H=H+1|0,K=t+(H<<5)|0,ee=r[l+(a<<3)>>2]|0,ee){if(Y=t+(H<<5)+8|0,k[Y>>3]=17976931348623157e292,A=t+(H<<5)+24|0,k[A>>3]=17976931348623157e292,k[K>>3]=-17976931348623157e292,W=t+(H<<5)+16|0,k[W>>3]=-17976931348623157e292,(ee|0)>0){for(F=r[l+(a<<3)+4>>2]|0,j=17976931348623157e292,N=-17976931348623157e292,l=0,a=-1,G=0,p=17976931348623157e292,g=17976931348623157e292,w=-17976931348623157e292,c=-17976931348623157e292;u=+k[F+(G<<4)>>3],x=+k[F+(G<<4)+8>>3],a=a+2|0,d=+k[F+(((a|0)==(ee|0)?0:a)<<4)+8>>3],u<p&&(k[Y>>3]=u,p=u),x<g&&(k[A>>3]=x,g=x),u>w?k[K>>3]=u:u=w,x>c&&(k[W>>3]=x,c=x),j=x>0&x<j?x:j,N=x<0&x>N?x:N,l=l|+rt(+(x-d))>3.141592653589793,a=G+1|0,(a|0)!=(ee|0);)_e=G,G=a,w=u,a=_e;l&&(k[W>>3]=N,k[A>>3]=j)}}else r[K>>2]=0,r[K+4>>2]=0,r[K+8>>2]=0,r[K+12>>2]=0,r[K+16>>2]=0,r[K+20>>2]=0,r[K+24>>2]=0,r[K+28>>2]=0,s=r[be>>2]|0;while((H|0)<(s|0))}}function n0(A,t,s){A=A|0,t=t|0,s=s|0;var a=0,l=0,u=0;if(!(Wi(A,t,s)|0))return l=0,l|0;if(l=A+8|0,(r[l>>2]|0)<=0)return l=1,l|0;for(a=A+12|0,A=0;;){if(u=A,A=A+1|0,Wi((r[a>>2]|0)+(u<<3)|0,t+(A<<5)|0,s)|0){A=0,a=6;break}if((A|0)>=(r[l>>2]|0)){A=1,a=6;break}}return(a|0)==6?A|0:0}function Jf(A,t,s,a){A=A|0,t=t|0,s=s|0,a=a|0;var l=0,u=0,c=0,d=0,p=0,g=0,w=0;if(g=C,C=C+16|0,d=g,c=s+8|0,!(Wi(A,t,c)|0))return p=0,C=g,p|0;p=A+8|0;e:do if((r[p>>2]|0)>0){for(u=A+12|0,l=0;;){if(w=l,l=l+1|0,Wi((r[u>>2]|0)+(w<<3)|0,t+(l<<5)|0,c)|0){l=0;break}if((l|0)>=(r[p>>2]|0))break e}return C=g,l|0}while(!1);if(lo(A,t,s,a)|0)return w=0,C=g,w|0;r[d>>2]=r[s>>2],r[d+4>>2]=c,l=r[p>>2]|0;e:do if((l|0)>0)for(A=A+12|0,c=0,u=l;;){if(l=r[A>>2]|0,(r[l+(c<<3)>>2]|0)>0){if(Wi(d,a,r[l+(c<<3)+4>>2]|0)|0){l=0;break e}if(l=c+1|0,lo((r[A>>2]|0)+(c<<3)|0,t+(l<<5)|0,s,a)|0){l=0;break e}u=r[p>>2]|0}else l=c+1|0;if((l|0)<(u|0))c=l;else{l=1;break}}else l=1;while(!1);return w=l,C=g,w|0}function lo(A,t,s,a){A=A|0,t=t|0,s=s|0,a=a|0;var l=0,u=0,c=0,d=0,p=0,g=0,w=0,x=0,j=0,N=0,F=0,G=0,K=0,ee=0,Y=0,W=0,H=0,he=0,be=0,_e=0,Me=0;if(be=C,C=C+176|0,Y=be+172|0,l=be+168|0,W=be,!(Qa(t,a)|0))return A=0,C=be,A|0;if(X2(t,a,Y,l),Hn(W|0,s|0,168)|0,(r[s>>2]|0)>0){t=0;do _e=W+8+(t<<4)+8|0,ee=+nA(+k[_e>>3],r[l>>2]|0),k[_e>>3]=ee,t=t+1|0;while((t|0)<(r[s>>2]|0))}G=+k[a>>3],K=+k[a+8>>3],ee=+nA(+k[a+16>>3],r[l>>2]|0),N=+nA(+k[a+24>>3],r[l>>2]|0);e:do if((r[A>>2]|0)>0){if(a=A+4|0,l=r[W>>2]|0,(l|0)<=0){for(t=0;;)if(t=t+1|0,(t|0)>=(r[A>>2]|0)){t=0;break e}}for(s=0;;){if(t=r[a>>2]|0,j=+k[t+(s<<4)>>3],F=+nA(+k[t+(s<<4)+8>>3],r[Y>>2]|0),t=r[a>>2]|0,s=s+1|0,_e=(s|0)%(r[A>>2]|0)|0,u=+k[t+(_e<<4)>>3],c=+nA(+k[t+(_e<<4)+8>>3],r[Y>>2]|0),!(j>=G)|!(u>=G)&&!(j<=K)|!(u<=K)&&!(F<=N)|!(c<=N)&&!(F>=ee)|!(c>=ee)){x=u-j,g=c-F,t=0;do if(Me=t,t=t+1|0,_e=(t|0)==(l|0)?0:t,u=+k[W+8+(Me<<4)+8>>3],c=+k[W+8+(_e<<4)+8>>3]-u,d=+k[W+8+(Me<<4)>>3],p=+k[W+8+(_e<<4)>>3]-d,w=x*c-g*p,w!=0&&(H=F-u,he=j-d,p=(H*p-c*he)/w,!(p<0|p>1))&&(w=(x*H-g*he)/w,w>=0&w<=1)){t=1;break e}while((t|0)<(l|0))}if((s|0)>=(r[A>>2]|0)){t=0;break}}}else t=0;while(!1);return Me=t,C=be,Me|0}function Kf(A,t,s,a){A=A|0,t=t|0,s=s|0,a=a|0;var l=0,u=0,c=0;if(lo(A,t,s,a)|0)return u=1,u|0;if(u=A+8|0,(r[u>>2]|0)<=0)return u=0,u|0;for(l=A+12|0,A=0;;){if(c=A,A=A+1|0,lo((r[l>>2]|0)+(c<<3)|0,t+(A<<5)|0,s,a)|0){A=1,l=6;break}if((A|0)>=(r[u>>2]|0)){A=0,l=6;break}}return(l|0)==6?A|0:0}function n1(){return 8}function i1(){return 16}function s1(){return 168}function o1(){return 8}function a1(){return 16}function l1(){return 12}function u1(){return 8}function f1(A){return A=A|0,+(+((r[A>>2]|0)>>>0)+4294967296*+(r[A+4>>2]|0))}function c1(A){A=A|0;var t=0,s=0;return s=+k[A>>3],t=+k[A+8>>3],+ +yt(+(s*s+t*t))}function Wf(A,t,s,a,l){A=A|0,t=t|0,s=s|0,a=a|0,l=l|0;var u=0,c=0,d=0,p=0,g=0,w=0,x=0,j=0;g=+k[A>>3],p=+k[t>>3]-g,d=+k[A+8>>3],c=+k[t+8>>3]-d,x=+k[s>>3],u=+k[a>>3]-x,j=+k[s+8>>3],w=+k[a+8>>3]-j,u=(u*(d-j)-(g-x)*w)/(p*w-c*u),k[l>>3]=g+p*u,k[l+8>>3]=d+c*u}function Yf(A,t){return A=A|0,t=t|0,+rt(+(+k[A>>3]-+k[t>>3]))<11920928955078125e-23?(t=+rt(+(+k[A+8>>3]-+k[t+8>>3]))<11920928955078125e-23,t|0):(t=0,t|0)}function bt(A,t){A=A|0,t=t|0;var s=0,a=0,l=0;return l=+k[A>>3]-+k[t>>3],a=+k[A+8>>3]-+k[t+8>>3],s=+k[A+16>>3]-+k[t+16>>3],+(l*l+a*a+s*s)}function d1(A,t){A=A|0,t=t|0;var s=0,a=0,l=0;s=+k[A>>3],a=+Ze(+s),s=+it(+s),k[t+16>>3]=s,s=+k[A+8>>3],l=a*+Ze(+s),k[t>>3]=l,s=a*+it(+s),k[t+8>>3]=s}function h1(A,t,s){A=A|0,t=t|0,s=s|0;var a=0,l=0,u=0;if(u=C,C=C+16|0,l=u,a=ut(A,t)|0,(s+-1|0)>>>0>5||(a=(a|0)!=0,(s|0)==1&a))return l=-1,C=u,l|0;do if(Xi(A,t,l)|0)a=-1;else if(a){a=((r[26352+(s<<2)>>2]|0)+5-(r[l>>2]|0)|0)%5|0;break}else{a=((r[26384+(s<<2)>>2]|0)+6-(r[l>>2]|0)|0)%6|0;break}while(!1);return l=a,C=u,l|0}function Xi(A,t,s){A=A|0,t=t|0,s=s|0;var a=0,l=0,u=0,c=0,d=0,p=0,g=0,w=0;if(w=C,C=C+32|0,d=w+16|0,p=w,a=Qn(A,t,d)|0,a|0)return s=a,C=w,s|0;u=Mf(A,t)|0,g=Wt(A,t)|0,V2(u,p),a=z2(u,r[d>>2]|0)|0;do if(ht(u)|0){do switch(u|0){case 4:{l=0;break}case 14:{l=1;break}case 24:{l=2;break}case 38:{l=3;break}case 49:{l=4;break}case 58:{l=5;break}case 63:{l=6;break}case 72:{l=7;break}case 83:{l=8;break}case 97:{l=9;break}case 107:{l=10;break}case 117:{l=11;break}default:Te(27795,27797,75,27806)}while(!1);if(c=r[26416+(l*24|0)+8>>2]|0,t=r[26416+(l*24|0)+16>>2]|0,A=r[d>>2]|0,(A|0)!=(r[p>>2]|0)&&(p=Ma(u)|0,A=r[d>>2]|0,p|(A|0)==(t|0)&&(a=(a+1|0)%6|0)),(g|0)==3&(A|0)==(t|0)){a=(a+5|0)%6|0;break}(g|0)==5&(A|0)==(c|0)&&(a=(a+1|0)%6|0)}while(!1);return r[s>>2]=a,s=0,C=w,s|0}function hA(A,t,s,a){A=A|0,t=t|0,s=s|0,a=a|0;var l=0,u=0,c=0,d=0,p=0,g=0,w=0,x=0,j=0,N=0,F=0,G=0,K=0,ee=0,Y=0,W=0;if(W=C,C=C+32|0,Y=W+24|0,K=W+20|0,F=W+8|0,N=W+16|0,j=W,p=(ut(A,t)|0)==0,p=p?6:5,w=oe(A|0,t|0,52)|0,D()|0,w=w&15,p>>>0<=s>>>0)return a=2,C=W,a|0;x=(w|0)==0,!x&&(G=fe(7,0,(w^15)*3|0)|0,(G&A|0)==0&((D()|0)&t|0)==0)?l=s:u=4;e:do if((u|0)==4){if(l=(ut(A,t)|0)!=0,((l?4:5)|0)<(s|0)||Xi(A,t,Y)|0||(u=(r[Y>>2]|0)+s|0,l?l=26704+(((u|0)%5|0)<<2)|0:l=26736+(((u|0)%6|0)<<2)|0,G=r[l>>2]|0,(G|0)==7))return a=1,C=W,a|0;r[K>>2]=0,l=Dt(A,t,G,K,F)|0;do if(!l){if(d=F,g=r[d>>2]|0,d=r[d+4>>2]|0,c=d>>>0<t>>>0|(d|0)==(t|0)&g>>>0<A>>>0,u=c?g:A,c=c?d:t,!x&&(x=fe(7,0,(w^15)*3|0)|0,(g&x|0)==0&(d&(D()|0)|0)==0))l=s;else{if(d=(s+-1+p|0)%(p|0)|0,l=ut(A,t)|0,(d|0)<0&&Te(27795,27797,248,27822),p=(l|0)!=0,((p?4:5)|0)<(d|0)&&Te(27795,27797,248,27822),Xi(A,t,Y)|0&&Te(27795,27797,248,27822),l=(r[Y>>2]|0)+d|0,p?l=26704+(((l|0)%5|0)<<2)|0:l=26736+(((l|0)%6|0)<<2)|0,d=r[l>>2]|0,(d|0)==7&&Te(27795,27797,248,27822),r[N>>2]=0,l=Dt(A,t,d,N,j)|0,l|0)break;g=j,p=r[g>>2]|0,g=r[g+4>>2]|0;do if(g>>>0<c>>>0|(g|0)==(c|0)&p>>>0<u>>>0){if(ut(p,g)|0?u=Ba(p,g,A,t)|0:u=r[26800+((((r[N>>2]|0)+(r[26768+(d<<2)>>2]|0)|0)%6|0)<<2)>>2]|0,l=ut(p,g)|0,(u+-1|0)>>>0>5){l=-1,u=p,c=g;break}if(l=(l|0)!=0,(u|0)==1&l){l=-1,u=p,c=g;break}do if(Xi(p,g,Y)|0)l=-1;else if(l){l=((r[26352+(u<<2)>>2]|0)+5-(r[Y>>2]|0)|0)%5|0;break}else{l=((r[26384+(u<<2)>>2]|0)+6-(r[Y>>2]|0)|0)%6|0;break}while(!1);u=p,c=g}else l=s;while(!1);d=F,g=r[d>>2]|0,d=r[d+4>>2]|0}if((u|0)==(g|0)&(c|0)==(d|0)){if(p=(ut(g,d)|0)!=0,p?A=Ba(g,d,A,t)|0:A=r[26800+((((r[K>>2]|0)+(r[26768+(G<<2)>>2]|0)|0)%6|0)<<2)>>2]|0,l=ut(g,d)|0,(A+-1|0)>>>0<=5&&(ee=(l|0)!=0,!((A|0)==1&ee)))do if(Xi(g,d,Y)|0)l=-1;else if(ee){l=((r[26352+(A<<2)>>2]|0)+5-(r[Y>>2]|0)|0)%5|0;break}else{l=((r[26384+(A<<2)>>2]|0)+6-(r[Y>>2]|0)|0)%6|0;break}while(!1);else l=-1;l=l+1|0,l=(l|0)==6|p&(l|0)==5?0:l}t=c,A=u;break e}while(!1);return a=l,C=W,a|0}while(!1);return ee=fe(l|0,0,56)|0,Y=D()|0|t&-2130706433|536870912,r[a>>2]=ee|A,r[a+4>>2]=Y,a=0,C=W,a|0}function p1(A,t,s){A=A|0,t=t|0,s=s|0;var a=0,l=0,u=0;return u=(ut(A,t)|0)==0,a=hA(A,t,0,s)|0,l=(a|0)==0,u?!l||(a=hA(A,t,1,s+8|0)|0,a|0)||(a=hA(A,t,2,s+16|0)|0,a|0)||(a=hA(A,t,3,s+24|0)|0,a|0)||(a=hA(A,t,4,s+32|0)|0,a)?(u=a,u|0):hA(A,t,5,s+40|0)|0:!l||(a=hA(A,t,1,s+8|0)|0,a|0)||(a=hA(A,t,2,s+16|0)|0,a|0)||(a=hA(A,t,3,s+24|0)|0,a|0)||(a=hA(A,t,4,s+32|0)|0,a|0)?(u=a,u|0):(u=s+40|0,r[u>>2]=0,r[u+4>>2]=0,u=0,u|0)}function m1(A,t,s){A=A|0,t=t|0,s=s|0;var a=0,l=0,u=0,c=0,d=0,p=0;return p=C,C=C+192|0,l=p,u=p+168|0,c=oe(A|0,t|0,56)|0,D()|0,c=c&7,d=t&-2130706433|134217728,a=Qn(A,d,u)|0,a|0?(d=a,C=p,d|0):(t=oe(A|0,t|0,52)|0,D()|0,t=t&15,ut(A,d)|0?Ua(u,t,c,1,l):Ga(u,t,c,1,l),d=l+8|0,r[s>>2]=r[d>>2],r[s+4>>2]=r[d+4>>2],r[s+8>>2]=r[d+8>>2],r[s+12>>2]=r[d+12>>2],d=0,C=p,d|0)}function Xf(A,t){A=A|0,t=t|0;var s=0,a=0,l=0,u=0;return l=C,C=C+16|0,s=l,!(!0&(t&2013265920|0)==536870912)||(a=t&-2130706433|134217728,!(Ha(A,a)|0))?(a=0,C=l,a|0):(u=oe(A|0,t|0,56)|0,D()|0,u=(hA(A,a,u&7,s)|0)==0,a=s,a=u&((r[a>>2]|0)==(A|0)?(r[a+4>>2]|0)==(t|0):0)&1,C=l,a|0)}function Zf(A,t,s){A=A|0,t=t|0,s=s|0;var a=0;(t|0)>0?(a=Yt(t,4)|0,r[A>>2]=a,a||Te(27835,27858,40,27872)):r[A>>2]=0,r[A+4>>2]=t,r[A+8>>2]=0,r[A+12>>2]=s}function ec(A){A=A|0;var t=0,s=0,a=0,l=0,u=0,c=0,d=0;l=A+4|0,u=A+12|0,c=A+8|0;e:for(;;){for(s=r[l>>2]|0,t=0;;){if((t|0)>=(s|0))break e;if(a=r[A>>2]|0,d=r[a+(t<<2)>>2]|0,!d)t=t+1|0;else break}t=a+(~~(+rt(+(+xt(10,+ +(15-(r[u>>2]|0)|0))*(+k[d>>3]+ +k[d+8>>3])))%+(s|0))>>>0<<2)|0,s=r[t>>2]|0;t:do if(s|0){if(a=d+32|0,(s|0)==(d|0))r[t>>2]=r[a>>2];else{if(s=s+32|0,t=r[s>>2]|0,!t)break;for(;(t|0)!=(d|0);)if(s=t+32|0,t=r[s>>2]|0,!t)break t;r[s>>2]=r[a>>2]}Ce(d),r[c>>2]=(r[c>>2]|0)+-1}while(!1)}Ce(r[A>>2]|0)}function tc(A){A=A|0;var t=0,s=0,a=0;for(a=r[A+4>>2]|0,s=0;;){if((s|0)>=(a|0)){t=0,s=4;break}if(t=r[(r[A>>2]|0)+(s<<2)>>2]|0,!t)s=s+1|0;else{s=4;break}}return(s|0)==4?t|0:0}function Ac(A,t){A=A|0,t=t|0;var s=0,a=0,l=0,u=0;if(s=~~(+rt(+(+xt(10,+ +(15-(r[A+12>>2]|0)|0))*(+k[t>>3]+ +k[t+8>>3])))%+(r[A+4>>2]|0))>>>0,s=(r[A>>2]|0)+(s<<2)|0,a=r[s>>2]|0,!a)return u=1,u|0;u=t+32|0;do if((a|0)!=(t|0)){if(s=r[a+32>>2]|0,!s)return u=1,u|0;for(l=s;;){if((l|0)==(t|0)){l=8;break}if(s=r[l+32>>2]|0,s)a=l,l=s;else{s=1,l=10;break}}if((l|0)==8){r[a+32>>2]=r[u>>2];break}else if((l|0)==10)return s|0}else r[s>>2]=r[u>>2];while(!1);return Ce(t),u=A+8|0,r[u>>2]=(r[u>>2]|0)+-1,u=0,u|0}function g1(A,t,s){A=A|0,t=t|0,s=s|0;var a=0,l=0,u=0,c=0;u=OA(40)|0,u||Te(27888,27858,98,27901),r[u>>2]=r[t>>2],r[u+4>>2]=r[t+4>>2],r[u+8>>2]=r[t+8>>2],r[u+12>>2]=r[t+12>>2],l=u+16|0,r[l>>2]=r[s>>2],r[l+4>>2]=r[s+4>>2],r[l+8>>2]=r[s+8>>2],r[l+12>>2]=r[s+12>>2],r[u+32>>2]=0,l=~~(+rt(+(+xt(10,+ +(15-(r[A+12>>2]|0)|0))*(+k[t>>3]+ +k[t+8>>3])))%+(r[A+4>>2]|0))>>>0,l=(r[A>>2]|0)+(l<<2)|0,a=r[l>>2]|0;do if(!a)r[l>>2]=u;else{for(;!(qn(a,t)|0&&qn(a+16|0,s)|0);)if(l=r[a+32>>2]|0,a=(l|0)==0?a:l,!(r[a+32>>2]|0)){c=10;break}if((c|0)==10){r[a+32>>2]=u;break}return Ce(u),c=a,c|0}while(!1);return c=A+8|0,r[c>>2]=(r[c>>2]|0)+1,c=u,c|0}function y1(A,t,s){A=A|0,t=t|0,s=s|0;var a=0,l=0;if(l=~~(+rt(+(+xt(10,+ +(15-(r[A+12>>2]|0)|0))*(+k[t>>3]+ +k[t+8>>3])))%+(r[A+4>>2]|0))>>>0,l=r[(r[A>>2]|0)+(l<<2)>>2]|0,!l)return s=0,s|0;if(!s){for(A=l;;){if(qn(A,t)|0){a=10;break}if(A=r[A+32>>2]|0,!A){A=0,a=10;break}}if((a|0)==10)return A|0}for(A=l;;){if(qn(A,t)|0&&qn(A+16|0,s)|0){a=10;break}if(A=r[A+32>>2]|0,!A){A=0,a=10;break}}return(a|0)==10?A|0:0}function w1(A,t){A=A|0,t=t|0;var s=0;if(s=~~(+rt(+(+xt(10,+ +(15-(r[A+12>>2]|0)|0))*(+k[t>>3]+ +k[t+8>>3])))%+(r[A+4>>2]|0))>>>0,A=r[(r[A>>2]|0)+(s<<2)>>2]|0,!A)return s=0,s|0;for(;;){if(qn(A,t)|0){t=5;break}if(A=r[A+32>>2]|0,!A){A=0,t=5;break}}return(t|0)==5?A|0:0}function _1(){return 27920}function hr(A){return A=+A,~~+sc(+A)|0}function OA(A){A=A|0;var t=0,s=0,a=0,l=0,u=0,c=0,d=0,p=0,g=0,w=0,x=0,j=0,N=0,F=0,G=0,K=0,ee=0,Y=0,W=0,H=0,he=0;he=C,C=C+16|0,j=he;do if(A>>>0<245){if(g=A>>>0<11?16:A+11&-8,A=g>>>3,x=r[6981]|0,s=x>>>A,s&3|0)return t=(s&1^1)+A|0,A=27964+(t<<1<<2)|0,s=A+8|0,a=r[s>>2]|0,l=a+8|0,u=r[l>>2]|0,(u|0)==(A|0)?r[6981]=x&~(1<<t):(r[u+12>>2]=A,r[s>>2]=u),H=t<<3,r[a+4>>2]=H|3,H=a+H+4|0,r[H>>2]=r[H>>2]|1,H=l,C=he,H|0;if(w=r[6983]|0,g>>>0>w>>>0){if(s|0)return t=2<<A,t=s<<A&(t|0-t),t=(t&0-t)+-1|0,d=t>>>12&16,t=t>>>d,s=t>>>5&8,t=t>>>s,u=t>>>2&4,t=t>>>u,A=t>>>1&2,t=t>>>A,a=t>>>1&1,a=(s|d|u|A|a)+(t>>>a)|0,t=27964+(a<<1<<2)|0,A=t+8|0,u=r[A>>2]|0,d=u+8|0,s=r[d>>2]|0,(s|0)==(t|0)?(A=x&~(1<<a),r[6981]=A):(r[s+12>>2]=t,r[A>>2]=s,A=x),H=a<<3,c=H-g|0,r[u+4>>2]=g|3,l=u+g|0,r[l+4>>2]=c|1,r[u+H>>2]=c,w|0&&(a=r[6986]|0,t=w>>>3,s=27964+(t<<1<<2)|0,t=1<<t,A&t?(A=s+8|0,t=r[A>>2]|0):(r[6981]=A|t,t=s,A=s+8|0),r[A>>2]=a,r[t+12>>2]=a,r[a+8>>2]=t,r[a+12>>2]=s),r[6983]=c,r[6986]=l,H=d,C=he,H|0;if(u=r[6982]|0,u){for(s=(u&0-u)+-1|0,l=s>>>12&16,s=s>>>l,a=s>>>5&8,s=s>>>a,c=s>>>2&4,s=s>>>c,d=s>>>1&2,s=s>>>d,p=s>>>1&1,p=r[28228+((a|l|c|d|p)+(s>>>p)<<2)>>2]|0,s=p,d=p,p=(r[p+4>>2]&-8)-g|0;A=r[s+16>>2]|0,!(!A&&(A=r[s+20>>2]|0,!A));)c=(r[A+4>>2]&-8)-g|0,l=c>>>0<p>>>0,s=A,d=l?A:d,p=l?c:p;if(c=d+g|0,c>>>0>d>>>0){l=r[d+24>>2]|0,t=r[d+12>>2]|0;do if((t|0)==(d|0)){if(A=d+20|0,t=r[A>>2]|0,!t&&(A=d+16|0,t=r[A>>2]|0,!t)){s=0;break}for(;;)if(a=t+20|0,s=r[a>>2]|0,s)t=s,A=a;else if(a=t+16|0,s=r[a>>2]|0,s)t=s,A=a;else break;r[A>>2]=0,s=t}else s=r[d+8>>2]|0,r[s+12>>2]=t,r[t+8>>2]=s,s=t;while(!1);do if(l|0){if(t=r[d+28>>2]|0,A=28228+(t<<2)|0,(d|0)==(r[A>>2]|0)){if(r[A>>2]=s,!s){r[6982]=u&~(1<<t);break}}else if(H=l+16|0,r[((r[H>>2]|0)==(d|0)?H:l+20|0)>>2]=s,!s)break;r[s+24>>2]=l,t=r[d+16>>2]|0,t|0&&(r[s+16>>2]=t,r[t+24>>2]=s),t=r[d+20>>2]|0,t|0&&(r[s+20>>2]=t,r[t+24>>2]=s)}while(!1);return p>>>0<16?(H=p+g|0,r[d+4>>2]=H|3,H=d+H+4|0,r[H>>2]=r[H>>2]|1):(r[d+4>>2]=g|3,r[c+4>>2]=p|1,r[c+p>>2]=p,w|0&&(a=r[6986]|0,t=w>>>3,s=27964+(t<<1<<2)|0,t=1<<t,t&x?(A=s+8|0,t=r[A>>2]|0):(r[6981]=t|x,t=s,A=s+8|0),r[A>>2]=a,r[t+12>>2]=a,r[a+8>>2]=t,r[a+12>>2]=s),r[6983]=p,r[6986]=c),H=d+8|0,C=he,H|0}else x=g}else x=g}else x=g}else if(A>>>0<=4294967231)if(A=A+11|0,g=A&-8,a=r[6982]|0,a){l=0-g|0,A=A>>>8,A?g>>>0>16777215?p=31:(x=(A+1048320|0)>>>16&8,G=A<<x,d=(G+520192|0)>>>16&4,G=G<<d,p=(G+245760|0)>>>16&2,p=14-(d|x|p)+(G<<p>>>15)|0,p=g>>>(p+7|0)&1|p<<1):p=0,s=r[28228+(p<<2)>>2]|0;e:do if(!s)s=0,A=0,G=61;else for(A=0,d=g<<((p|0)==31?0:25-(p>>>1)|0),u=0;;){if(c=(r[s+4>>2]&-8)-g|0,c>>>0<l>>>0)if(c)A=s,l=c;else{A=s,l=0,G=65;break e}if(G=r[s+20>>2]|0,s=r[s+16+(d>>>31<<2)>>2]|0,u=(G|0)==0|(G|0)==(s|0)?u:G,s)d=d<<1;else{s=u,G=61;break}}while(!1);if((G|0)==61){if((s|0)==0&(A|0)==0){if(A=2<<p,A=(A|0-A)&a,!A){x=g;break}x=(A&0-A)+-1|0,c=x>>>12&16,x=x>>>c,u=x>>>5&8,x=x>>>u,d=x>>>2&4,x=x>>>d,p=x>>>1&2,x=x>>>p,s=x>>>1&1,A=0,s=r[28228+((u|c|d|p|s)+(x>>>s)<<2)>>2]|0}s?G=65:(d=A,c=l)}if((G|0)==65)for(u=s;;)if(x=(r[u+4>>2]&-8)-g|0,s=x>>>0<l>>>0,l=s?x:l,A=s?u:A,s=r[u+16>>2]|0,s||(s=r[u+20>>2]|0),s)u=s;else{d=A,c=l;break}if((d|0)!=0&&c>>>0<((r[6983]|0)-g|0)>>>0&&(w=d+g|0,w>>>0>d>>>0)){u=r[d+24>>2]|0,t=r[d+12>>2]|0;do if((t|0)==(d|0)){if(A=d+20|0,t=r[A>>2]|0,!t&&(A=d+16|0,t=r[A>>2]|0,!t)){t=0;break}for(;;)if(l=t+20|0,s=r[l>>2]|0,s)t=s,A=l;else if(l=t+16|0,s=r[l>>2]|0,s)t=s,A=l;else break;r[A>>2]=0}else H=r[d+8>>2]|0,r[H+12>>2]=t,r[t+8>>2]=H;while(!1);do if(u){if(A=r[d+28>>2]|0,s=28228+(A<<2)|0,(d|0)==(r[s>>2]|0)){if(r[s>>2]=t,!t){a=a&~(1<<A),r[6982]=a;break}}else if(H=u+16|0,r[((r[H>>2]|0)==(d|0)?H:u+20|0)>>2]=t,!t)break;r[t+24>>2]=u,A=r[d+16>>2]|0,A|0&&(r[t+16>>2]=A,r[A+24>>2]=t),A=r[d+20>>2]|0,A&&(r[t+20>>2]=A,r[A+24>>2]=t)}while(!1);e:do if(c>>>0<16)H=c+g|0,r[d+4>>2]=H|3,H=d+H+4|0,r[H>>2]=r[H>>2]|1;else{if(r[d+4>>2]=g|3,r[w+4>>2]=c|1,r[w+c>>2]=c,t=c>>>3,c>>>0<256){s=27964+(t<<1<<2)|0,A=r[6981]|0,t=1<<t,A&t?(A=s+8|0,t=r[A>>2]|0):(r[6981]=A|t,t=s,A=s+8|0),r[A>>2]=w,r[t+12>>2]=w,r[w+8>>2]=t,r[w+12>>2]=s;break}if(t=c>>>8,t?c>>>0>16777215?s=31:(W=(t+1048320|0)>>>16&8,H=t<<W,Y=(H+520192|0)>>>16&4,H=H<<Y,s=(H+245760|0)>>>16&2,s=14-(Y|W|s)+(H<<s>>>15)|0,s=c>>>(s+7|0)&1|s<<1):s=0,t=28228+(s<<2)|0,r[w+28>>2]=s,A=w+16|0,r[A+4>>2]=0,r[A>>2]=0,A=1<<s,!(a&A)){r[6982]=a|A,r[t>>2]=w,r[w+24>>2]=t,r[w+12>>2]=w,r[w+8>>2]=w;break}t=r[t>>2]|0;t:do if((r[t+4>>2]&-8|0)!=(c|0)){for(a=c<<((s|0)==31?0:25-(s>>>1)|0);s=t+16+(a>>>31<<2)|0,A=r[s>>2]|0,!!A;)if((r[A+4>>2]&-8|0)==(c|0)){t=A;break t}else a=a<<1,t=A;r[s>>2]=w,r[w+24>>2]=t,r[w+12>>2]=w,r[w+8>>2]=w;break e}while(!1);W=t+8|0,H=r[W>>2]|0,r[H+12>>2]=w,r[W>>2]=w,r[w+8>>2]=H,r[w+12>>2]=t,r[w+24>>2]=0}while(!1);return H=d+8|0,C=he,H|0}else x=g}else x=g;else x=-1;while(!1);if(s=r[6983]|0,s>>>0>=x>>>0)return t=s-x|0,A=r[6986]|0,t>>>0>15?(H=A+x|0,r[6986]=H,r[6983]=t,r[H+4>>2]=t|1,r[A+s>>2]=t,r[A+4>>2]=x|3):(r[6983]=0,r[6986]=0,r[A+4>>2]=s|3,H=A+s+4|0,r[H>>2]=r[H>>2]|1),H=A+8|0,C=he,H|0;if(c=r[6984]|0,c>>>0>x>>>0)return Y=c-x|0,r[6984]=Y,H=r[6987]|0,W=H+x|0,r[6987]=W,r[W+4>>2]=Y|1,r[H+4>>2]=x|3,H=H+8|0,C=he,H|0;if(r[7099]|0?A=r[7101]|0:(r[7101]=4096,r[7100]=4096,r[7102]=-1,r[7103]=-1,r[7104]=0,r[7092]=0,r[7099]=j&-16^1431655768,A=4096),d=x+48|0,p=x+47|0,u=A+p|0,l=0-A|0,g=u&l,g>>>0<=x>>>0||(A=r[7091]|0,A|0&&(w=r[7089]|0,j=w+g|0,j>>>0<=w>>>0|j>>>0>A>>>0)))return H=0,C=he,H|0;e:do if(r[7092]&4)t=0,G=143;else{s=r[6987]|0;t:do if(s){for(a=28372;j=r[a>>2]|0,!(j>>>0<=s>>>0&&(j+(r[a+4>>2]|0)|0)>>>0>s>>>0);)if(A=r[a+8>>2]|0,A)a=A;else{G=128;break t}if(t=u-c&l,t>>>0<2147483647)if(A=gr(t|0)|0,(A|0)==((r[a>>2]|0)+(r[a+4>>2]|0)|0)){if((A|0)!=-1){c=t,u=A,G=145;break e}}else a=A,G=136;else t=0}else G=128;while(!1);do if((G|0)==128)if(s=gr(0)|0,(s|0)!=-1&&(t=s,N=r[7100]|0,F=N+-1|0,t=((F&t|0)==0?0:(F+t&0-N)-t|0)+g|0,N=r[7089]|0,F=t+N|0,t>>>0>x>>>0&t>>>0<2147483647)){if(j=r[7091]|0,j|0&&F>>>0<=N>>>0|F>>>0>j>>>0){t=0;break}if(A=gr(t|0)|0,(A|0)==(s|0)){c=t,u=s,G=145;break e}else a=A,G=136}else t=0;while(!1);do if((G|0)==136){if(s=0-t|0,!(d>>>0>t>>>0&(t>>>0<2147483647&(a|0)!=-1)))if((a|0)==-1){t=0;break}else{c=t,u=a,G=145;break e}if(A=r[7101]|0,A=p-t+A&0-A,A>>>0>=2147483647){c=t,u=a,G=145;break e}if((gr(A|0)|0)==-1){gr(s|0)|0,t=0;break}else{c=A+t|0,u=a,G=145;break e}}while(!1);r[7092]=r[7092]|4,G=143}while(!1);if((G|0)==143&&g>>>0<2147483647&&(Y=gr(g|0)|0,F=gr(0)|0,K=F-Y|0,ee=K>>>0>(x+40|0)>>>0,!((Y|0)==-1|ee^1|Y>>>0<F>>>0&((Y|0)!=-1&(F|0)!=-1)^1))&&(c=ee?K:t,u=Y,G=145),(G|0)==145){t=(r[7089]|0)+c|0,r[7089]=t,t>>>0>(r[7090]|0)>>>0&&(r[7090]=t),p=r[6987]|0;e:do if(p){for(t=28372;;){if(A=r[t>>2]|0,s=r[t+4>>2]|0,(u|0)==(A+s|0)){G=154;break}if(a=r[t+8>>2]|0,a)t=a;else break}if((G|0)==154&&(W=t+4|0,(r[t+12>>2]&8|0)==0)&&u>>>0>p>>>0&A>>>0<=p>>>0){r[W>>2]=s+c,H=(r[6984]|0)+c|0,Y=p+8|0,Y=(Y&7|0)==0?0:0-Y&7,W=p+Y|0,Y=H-Y|0,r[6987]=W,r[6984]=Y,r[W+4>>2]=Y|1,r[p+H+4>>2]=40,r[6988]=r[7103];break}for(u>>>0<(r[6985]|0)>>>0&&(r[6985]=u),s=u+c|0,t=28372;;){if((r[t>>2]|0)==(s|0)){G=162;break}if(A=r[t+8>>2]|0,A)t=A;else break}if((G|0)==162&&(r[t+12>>2]&8|0)==0){r[t>>2]=u,w=t+4|0,r[w>>2]=(r[w>>2]|0)+c,w=u+8|0,w=u+((w&7|0)==0?0:0-w&7)|0,t=s+8|0,t=s+((t&7|0)==0?0:0-t&7)|0,g=w+x|0,d=t-w-x|0,r[w+4>>2]=x|3;t:do if((p|0)==(t|0))H=(r[6984]|0)+d|0,r[6984]=H,r[6987]=g,r[g+4>>2]=H|1;else{if((r[6986]|0)==(t|0)){H=(r[6983]|0)+d|0,r[6983]=H,r[6986]=g,r[g+4>>2]=H|1,r[g+H>>2]=H;break}if(A=r[t+4>>2]|0,(A&3|0)==1){c=A&-8,a=A>>>3;A:do if(A>>>0<256)if(A=r[t+8>>2]|0,s=r[t+12>>2]|0,(s|0)==(A|0)){r[6981]=r[6981]&~(1<<a);break}else{r[A+12>>2]=s,r[s+8>>2]=A;break}else{u=r[t+24>>2]|0,A=r[t+12>>2]|0;do if((A|0)==(t|0)){if(s=t+16|0,a=s+4|0,A=r[a>>2]|0,A)s=a;else if(A=r[s>>2]|0,!A){A=0;break}for(;;)if(l=A+20|0,a=r[l>>2]|0,a)A=a,s=l;else if(l=A+16|0,a=r[l>>2]|0,a)A=a,s=l;else break;r[s>>2]=0}else H=r[t+8>>2]|0,r[H+12>>2]=A,r[A+8>>2]=H;while(!1);if(!u)break;s=r[t+28>>2]|0,a=28228+(s<<2)|0;do if((r[a>>2]|0)!=(t|0)){if(H=u+16|0,r[((r[H>>2]|0)==(t|0)?H:u+20|0)>>2]=A,!A)break A}else{if(r[a>>2]=A,A|0)break;r[6982]=r[6982]&~(1<<s);break A}while(!1);if(r[A+24>>2]=u,s=t+16|0,a=r[s>>2]|0,a|0&&(r[A+16>>2]=a,r[a+24>>2]=A),s=r[s+4>>2]|0,!s)break;r[A+20>>2]=s,r[s+24>>2]=A}while(!1);t=t+c|0,l=c+d|0}else l=d;if(t=t+4|0,r[t>>2]=r[t>>2]&-2,r[g+4>>2]=l|1,r[g+l>>2]=l,t=l>>>3,l>>>0<256){s=27964+(t<<1<<2)|0,A=r[6981]|0,t=1<<t,A&t?(A=s+8|0,t=r[A>>2]|0):(r[6981]=A|t,t=s,A=s+8|0),r[A>>2]=g,r[t+12>>2]=g,r[g+8>>2]=t,r[g+12>>2]=s;break}t=l>>>8;do if(!t)a=0;else{if(l>>>0>16777215){a=31;break}W=(t+1048320|0)>>>16&8,H=t<<W,Y=(H+520192|0)>>>16&4,H=H<<Y,a=(H+245760|0)>>>16&2,a=14-(Y|W|a)+(H<<a>>>15)|0,a=l>>>(a+7|0)&1|a<<1}while(!1);if(t=28228+(a<<2)|0,r[g+28>>2]=a,A=g+16|0,r[A+4>>2]=0,r[A>>2]=0,A=r[6982]|0,s=1<<a,!(A&s)){r[6982]=A|s,r[t>>2]=g,r[g+24>>2]=t,r[g+12>>2]=g,r[g+8>>2]=g;break}t=r[t>>2]|0;A:do if((r[t+4>>2]&-8|0)!=(l|0)){for(a=l<<((a|0)==31?0:25-(a>>>1)|0);s=t+16+(a>>>31<<2)|0,A=r[s>>2]|0,!!A;)if((r[A+4>>2]&-8|0)==(l|0)){t=A;break A}else a=a<<1,t=A;r[s>>2]=g,r[g+24>>2]=t,r[g+12>>2]=g,r[g+8>>2]=g;break t}while(!1);W=t+8|0,H=r[W>>2]|0,r[H+12>>2]=g,r[W>>2]=g,r[g+8>>2]=H,r[g+12>>2]=t,r[g+24>>2]=0}while(!1);return H=w+8|0,C=he,H|0}for(t=28372;A=r[t>>2]|0,!(A>>>0<=p>>>0&&(H=A+(r[t+4>>2]|0)|0,H>>>0>p>>>0));)t=r[t+8>>2]|0;l=H+-47|0,A=l+8|0,A=l+((A&7|0)==0?0:0-A&7)|0,l=p+16|0,A=A>>>0<l>>>0?p:A,t=A+8|0,s=c+-40|0,Y=u+8|0,Y=(Y&7|0)==0?0:0-Y&7,W=u+Y|0,Y=s-Y|0,r[6987]=W,r[6984]=Y,r[W+4>>2]=Y|1,r[u+s+4>>2]=40,r[6988]=r[7103],s=A+4|0,r[s>>2]=27,r[t>>2]=r[7093],r[t+4>>2]=r[7094],r[t+8>>2]=r[7095],r[t+12>>2]=r[7096],r[7093]=u,r[7094]=c,r[7096]=0,r[7095]=t,t=A+24|0;do W=t,t=t+4|0,r[t>>2]=7;while((W+8|0)>>>0<H>>>0);if((A|0)!=(p|0)){if(u=A-p|0,r[s>>2]=r[s>>2]&-2,r[p+4>>2]=u|1,r[A>>2]=u,t=u>>>3,u>>>0<256){s=27964+(t<<1<<2)|0,A=r[6981]|0,t=1<<t,A&t?(A=s+8|0,t=r[A>>2]|0):(r[6981]=A|t,t=s,A=s+8|0),r[A>>2]=p,r[t+12>>2]=p,r[p+8>>2]=t,r[p+12>>2]=s;break}if(t=u>>>8,t?u>>>0>16777215?a=31:(W=(t+1048320|0)>>>16&8,H=t<<W,Y=(H+520192|0)>>>16&4,H=H<<Y,a=(H+245760|0)>>>16&2,a=14-(Y|W|a)+(H<<a>>>15)|0,a=u>>>(a+7|0)&1|a<<1):a=0,s=28228+(a<<2)|0,r[p+28>>2]=a,r[p+20>>2]=0,r[l>>2]=0,t=r[6982]|0,A=1<<a,!(t&A)){r[6982]=t|A,r[s>>2]=p,r[p+24>>2]=s,r[p+12>>2]=p,r[p+8>>2]=p;break}t=r[s>>2]|0;t:do if((r[t+4>>2]&-8|0)!=(u|0)){for(a=u<<((a|0)==31?0:25-(a>>>1)|0);s=t+16+(a>>>31<<2)|0,A=r[s>>2]|0,!!A;)if((r[A+4>>2]&-8|0)==(u|0)){t=A;break t}else a=a<<1,t=A;r[s>>2]=p,r[p+24>>2]=t,r[p+12>>2]=p,r[p+8>>2]=p;break e}while(!1);W=t+8|0,H=r[W>>2]|0,r[H+12>>2]=p,r[W>>2]=p,r[p+8>>2]=H,r[p+12>>2]=t,r[p+24>>2]=0}}else H=r[6985]|0,(H|0)==0|u>>>0<H>>>0&&(r[6985]=u),r[7093]=u,r[7094]=c,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,H=c+-40|0,Y=u+8|0,Y=(Y&7|0)==0?0:0-Y&7,W=u+Y|0,Y=H-Y|0,r[6987]=W,r[6984]=Y,r[W+4>>2]=Y|1,r[u+H+4>>2]=40,r[6988]=r[7103];while(!1);if(t=r[6984]|0,t>>>0>x>>>0)return Y=t-x|0,r[6984]=Y,H=r[6987]|0,W=H+x|0,r[6987]=W,r[W+4>>2]=Y|1,r[H+4>>2]=x|3,H=H+8|0,C=he,H|0}return H=_1()|0,r[H>>2]=12,H=0,C=he,H|0}function Ce(A){A=A|0;var t=0,s=0,a=0,l=0,u=0,c=0,d=0,p=0;if(A){s=A+-8|0,l=r[6985]|0,A=r[A+-4>>2]|0,t=A&-8,p=s+t|0;do if(A&1)d=s,c=s;else{if(a=r[s>>2]|0,!(A&3)||(c=s+(0-a)|0,u=a+t|0,c>>>0<l>>>0))return;if((r[6986]|0)==(c|0)){if(A=p+4|0,t=r[A>>2]|0,(t&3|0)!=3){d=c,t=u;break}r[6983]=u,r[A>>2]=t&-2,r[c+4>>2]=u|1,r[c+u>>2]=u;return}if(s=a>>>3,a>>>0<256)if(A=r[c+8>>2]|0,t=r[c+12>>2]|0,(t|0)==(A|0)){r[6981]=r[6981]&~(1<<s),d=c,t=u;break}else{r[A+12>>2]=t,r[t+8>>2]=A,d=c,t=u;break}l=r[c+24>>2]|0,A=r[c+12>>2]|0;do if((A|0)==(c|0)){if(t=c+16|0,s=t+4|0,A=r[s>>2]|0,A)t=s;else if(A=r[t>>2]|0,!A){A=0;break}for(;;)if(a=A+20|0,s=r[a>>2]|0,s)A=s,t=a;else if(a=A+16|0,s=r[a>>2]|0,s)A=s,t=a;else break;r[t>>2]=0}else d=r[c+8>>2]|0,r[d+12>>2]=A,r[A+8>>2]=d;while(!1);if(l){if(t=r[c+28>>2]|0,s=28228+(t<<2)|0,(r[s>>2]|0)==(c|0)){if(r[s>>2]=A,!A){r[6982]=r[6982]&~(1<<t),d=c,t=u;break}}else if(d=l+16|0,r[((r[d>>2]|0)==(c|0)?d:l+20|0)>>2]=A,!A){d=c,t=u;break}r[A+24>>2]=l,t=c+16|0,s=r[t>>2]|0,s|0&&(r[A+16>>2]=s,r[s+24>>2]=A),t=r[t+4>>2]|0,t?(r[A+20>>2]=t,r[t+24>>2]=A,d=c,t=u):(d=c,t=u)}else d=c,t=u}while(!1);if(!(c>>>0>=p>>>0)&&(A=p+4|0,a=r[A>>2]|0,!!(a&1))){if(a&2)r[A>>2]=a&-2,r[d+4>>2]=t|1,r[c+t>>2]=t,l=t;else{if((r[6987]|0)==(p|0)){if(p=(r[6984]|0)+t|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)+t|0,r[6983]=p,r[6986]=c,r[d+4>>2]=p|1,r[c+p>>2]=p;return}l=(a&-8)+t|0,s=a>>>3;do if(a>>>0<256)if(t=r[p+8>>2]|0,A=r[p+12>>2]|0,(A|0)==(t|0)){r[6981]=r[6981]&~(1<<s);break}else{r[t+12>>2]=A,r[A+8>>2]=t;break}else{u=r[p+24>>2]|0,A=r[p+12>>2]|0;do if((A|0)==(p|0)){if(t=p+16|0,s=t+4|0,A=r[s>>2]|0,A)t=s;else if(A=r[t>>2]|0,!A){s=0;break}for(;;)if(a=A+20|0,s=r[a>>2]|0,s)A=s,t=a;else if(a=A+16|0,s=r[a>>2]|0,s)A=s,t=a;else break;r[t>>2]=0,s=A}else s=r[p+8>>2]|0,r[s+12>>2]=A,r[A+8>>2]=s,s=A;while(!1);if(u|0){if(A=r[p+28>>2]|0,t=28228+(A<<2)|0,(r[t>>2]|0)==(p|0)){if(r[t>>2]=s,!s){r[6982]=r[6982]&~(1<<A);break}}else if(a=u+16|0,r[((r[a>>2]|0)==(p|0)?a:u+20|0)>>2]=s,!s)break;r[s+24>>2]=u,A=p+16|0,t=r[A>>2]|0,t|0&&(r[s+16>>2]=t,r[t+24>>2]=s),A=r[A+4>>2]|0,A|0&&(r[s+20>>2]=A,r[A+24>>2]=s)}}while(!1);if(r[d+4>>2]=l|1,r[c+l>>2]=l,(d|0)==(r[6986]|0)){r[6983]=l;return}}if(A=l>>>3,l>>>0<256){s=27964+(A<<1<<2)|0,t=r[6981]|0,A=1<<A,t&A?(t=s+8|0,A=r[t>>2]|0):(r[6981]=t|A,A=s,t=s+8|0),r[t>>2]=d,r[A+12>>2]=d,r[d+8>>2]=A,r[d+12>>2]=s;return}A=l>>>8,A?l>>>0>16777215?a=31:(c=(A+1048320|0)>>>16&8,p=A<<c,u=(p+520192|0)>>>16&4,p=p<<u,a=(p+245760|0)>>>16&2,a=14-(u|c|a)+(p<<a>>>15)|0,a=l>>>(a+7|0)&1|a<<1):a=0,A=28228+(a<<2)|0,r[d+28>>2]=a,r[d+20>>2]=0,r[d+16>>2]=0,t=r[6982]|0,s=1<<a;e:do if(!(t&s))r[6982]=t|s,r[A>>2]=d,r[d+24>>2]=A,r[d+12>>2]=d,r[d+8>>2]=d;else{A=r[A>>2]|0;t:do if((r[A+4>>2]&-8|0)!=(l|0)){for(a=l<<((a|0)==31?0:25-(a>>>1)|0);s=A+16+(a>>>31<<2)|0,t=r[s>>2]|0,!!t;)if((r[t+4>>2]&-8|0)==(l|0)){A=t;break t}else a=a<<1,A=t;r[s>>2]=d,r[d+24>>2]=A,r[d+12>>2]=d,r[d+8>>2]=d;break e}while(!1);c=A+8|0,p=r[c>>2]|0,r[p+12>>2]=d,r[c>>2]=d,r[d+8>>2]=p,r[d+12>>2]=A,r[d+24>>2]=0}while(!1);if(p=(r[6989]|0)+-1|0,r[6989]=p,!(p|0)){for(A=28380;A=r[A>>2]|0,A;)A=A+8|0;r[6989]=-1}}}}function Yt(A,t){A=A|0,t=t|0;var s=0;return A?(s=DA(t,A)|0,(t|A)>>>0>65535&&(s=((s>>>0)/(A>>>0)|0|0)==(t|0)?s:-1)):s=0,A=OA(s)|0,!A||!(r[A+-4>>2]&3)||mr(A|0,0,s|0)|0,A|0}function Pe(A,t,s,a){return A=A|0,t=t|0,s=s|0,a=a|0,s=A+s>>>0,je(t+a+(s>>>0<A>>>0|0)>>>0|0),s|0|0}function Rt(A,t,s,a){return A=A|0,t=t|0,s=s|0,a=a|0,a=t-a-(s>>>0>A>>>0|0)>>>0,je(a|0),A-s>>>0|0|0}function rc(A){return A=A|0,(A?31-(XA(A^A-1)|0)|0:32)|0}function i0(A,t,s,a,l){A=A|0,t=t|0,s=s|0,a=a|0,l=l|0;var u=0,c=0,d=0,p=0,g=0,w=0,x=0,j=0,N=0,F=0;if(w=A,p=t,g=p,c=s,j=a,d=j,!g)return u=(l|0)!=0,d?u?(r[l>>2]=A|0,r[l+4>>2]=t&0,j=0,l=0,je(j|0),l|0):(j=0,l=0,je(j|0),l|0):(u&&(r[l>>2]=(w>>>0)%(c>>>0),r[l+4>>2]=0),j=0,l=(w>>>0)/(c>>>0)>>>0,je(j|0),l|0);u=(d|0)==0;do if(c){if(!u){if(u=(XA(d|0)|0)-(XA(g|0)|0)|0,u>>>0<=31){x=u+1|0,d=31-u|0,t=u-31>>31,c=x,A=w>>>(x>>>0)&t|g<<d,t=g>>>(x>>>0)&t,u=0,d=w<<d;break}return l?(r[l>>2]=A|0,r[l+4>>2]=p|t&0,j=0,l=0,je(j|0),l|0):(j=0,l=0,je(j|0),l|0)}if(u=c-1|0,u&c|0){d=(XA(c|0)|0)+33-(XA(g|0)|0)|0,F=64-d|0,x=32-d|0,p=x>>31,N=d-32|0,t=N>>31,c=d,A=x-1>>31&g>>>(N>>>0)|(g<<x|w>>>(d>>>0))&t,t=t&g>>>(d>>>0),u=w<<F&p,d=(g<<F|w>>>(N>>>0))&p|w<<x&d-33>>31;break}return l|0&&(r[l>>2]=u&w,r[l+4>>2]=0),(c|0)==1?(N=p|t&0,F=A|0|0,je(N|0),F|0):(F=rc(c|0)|0,N=g>>>(F>>>0)|0,F=g<<32-F|w>>>(F>>>0)|0,je(N|0),F|0)}else{if(u)return l|0&&(r[l>>2]=(g>>>0)%(c>>>0),r[l+4>>2]=0),N=0,F=(g>>>0)/(c>>>0)>>>0,je(N|0),F|0;if(!w)return l|0&&(r[l>>2]=0,r[l+4>>2]=(g>>>0)%(d>>>0)),N=0,F=(g>>>0)/(d>>>0)>>>0,je(N|0),F|0;if(u=d-1|0,!(u&d))return l|0&&(r[l>>2]=A|0,r[l+4>>2]=u&g|t&0),N=0,F=g>>>((rc(d|0)|0)>>>0),je(N|0),F|0;if(u=(XA(d|0)|0)-(XA(g|0)|0)|0,u>>>0<=30){t=u+1|0,d=31-u|0,c=t,A=g<<d|w>>>(t>>>0),t=g>>>(t>>>0),u=0,d=w<<d;break}return l?(r[l>>2]=A|0,r[l+4>>2]=p|t&0,N=0,F=0,je(N|0),F|0):(N=0,F=0,je(N|0),F|0)}while(!1);if(!c)g=d,p=0,d=0;else{x=s|0|0,w=j|a&0,g=Pe(x|0,w|0,-1,-1)|0,s=D()|0,p=d,d=0;do a=p,p=u>>>31|p<<1,u=d|u<<1,a=A<<1|a>>>31|0,j=A>>>31|t<<1|0,Rt(g|0,s|0,a|0,j|0)|0,F=D()|0,N=F>>31|((F|0)<0?-1:0)<<1,d=N&1,A=Rt(a|0,j|0,N&x|0,(((F|0)<0?-1:0)>>31|((F|0)<0?-1:0)<<1)&w|0)|0,t=D()|0,c=c-1|0;while((c|0)!=0);g=p,p=0}return c=0,l|0&&(r[l>>2]=A,r[l+4>>2]=t),N=(u|0)>>>31|(g|c)<<1|(c<<1|u>>>31)&0|p,F=(u<<1|0)&-2|d,je(N|0),F|0}function pr(A,t,s,a){A=A|0,t=t|0,s=s|0,a=a|0;var l=0,u=0,c=0,d=0,p=0,g=0;return g=t>>31|((t|0)<0?-1:0)<<1,p=((t|0)<0?-1:0)>>31|((t|0)<0?-1:0)<<1,u=a>>31|((a|0)<0?-1:0)<<1,l=((a|0)<0?-1:0)>>31|((a|0)<0?-1:0)<<1,d=Rt(g^A|0,p^t|0,g|0,p|0)|0,c=D()|0,A=u^g,t=l^p,Rt((i0(d,c,Rt(u^s|0,l^a|0,u|0,l|0)|0,D()|0,0)|0)^A|0,(D()|0)^t|0,A|0,t|0)|0}function v1(A,t){A=A|0,t=t|0;var s=0,a=0,l=0,u=0;return u=A&65535,l=t&65535,s=DA(l,u)|0,a=A>>>16,A=(s>>>16)+(DA(l,a)|0)|0,l=t>>>16,t=DA(l,u)|0,je((A>>>16)+(DA(l,a)|0)+(((A&65535)+t|0)>>>16)|0),A+t<<16|s&65535|0|0}function Ot(A,t,s,a){A=A|0,t=t|0,s=s|0,a=a|0;var l=0,u=0;return l=A,u=s,s=v1(l,u)|0,A=D()|0,je((DA(t,u)|0)+(DA(a,l)|0)+A|A&0|0),s|0|0|0}function Un(A,t,s,a){A=A|0,t=t|0,s=s|0,a=a|0;var l=0,u=0,c=0,d=0,p=0,g=0;return l=C,C=C+16|0,d=l|0,c=t>>31|((t|0)<0?-1:0)<<1,u=((t|0)<0?-1:0)>>31|((t|0)<0?-1:0)<<1,g=a>>31|((a|0)<0?-1:0)<<1,p=((a|0)<0?-1:0)>>31|((a|0)<0?-1:0)<<1,A=Rt(c^A|0,u^t|0,c|0,u|0)|0,t=D()|0,i0(A,t,Rt(g^s|0,p^a|0,g|0,p|0)|0,D()|0,d)|0,a=Rt(r[d>>2]^c|0,r[d+4>>2]^u|0,c|0,u|0)|0,s=D()|0,C=l,je(s|0),a|0}function Gn(A,t,s,a){A=A|0,t=t|0,s=s|0,a=a|0;var l=0,u=0;return u=C,C=C+16|0,l=u|0,i0(A,t,s,a,l)|0,C=u,je(r[l+4>>2]|0),r[l>>2]|0|0}function nc(A,t,s){return A=A|0,t=t|0,s=s|0,(s|0)<32?(je(t>>s|0),A>>>s|(t&(1<<s)-1)<<32-s):(je(((t|0)<0?-1:0)|0),t>>s-32|0)}function oe(A,t,s){return A=A|0,t=t|0,s=s|0,(s|0)<32?(je(t>>>s|0),A>>>s|(t&(1<<s)-1)<<32-s):(je(0),t>>>s-32|0)}function fe(A,t,s){return A=A|0,t=t|0,s=s|0,(s|0)<32?(je(t<<s|(A&(1<<s)-1<<32-s)>>>32-s|0),A<<s):(je(A<<s-32|0),0)}function s0(A,t,s){return A=A|0,t=t|0,s=s|0,t=XA(t)|0,(t|0)==32&&(t=t+(XA(A)|0)|0),je(0),t|0}function ic(A,t){return A=+A,t=+t,A!=A?+t:t!=t?+A:+S2(+A,+t)}function uo(A,t){return A=+A,t=+t,A!=A?+t:t!=t?+A:+Ia(+A,+t)}function fo(A){return A=+A,A>=0?+St(A+.5):+Nn(A-.5)}function Hn(A,t,s){A=A|0,t=t|0,s=s|0;var a=0,l=0,u=0;if((s|0)>=8192)return D2(A|0,t|0,s|0)|0,A|0;if(u=A|0,l=A+s|0,(A&3)==(t&3)){for(;A&3;){if(!s)return u|0;se[A>>0]=se[t>>0]|0,A=A+1|0,t=t+1|0,s=s-1|0}for(s=l&-4|0,a=s-64|0;(A|0)<=(a|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],r[A+16>>2]=r[t+16>>2],r[A+20>>2]=r[t+20>>2],r[A+24>>2]=r[t+24>>2],r[A+28>>2]=r[t+28>>2],r[A+32>>2]=r[t+32>>2],r[A+36>>2]=r[t+36>>2],r[A+40>>2]=r[t+40>>2],r[A+44>>2]=r[t+44>>2],r[A+48>>2]=r[t+48>>2],r[A+52>>2]=r[t+52>>2],r[A+56>>2]=r[t+56>>2],r[A+60>>2]=r[t+60>>2],A=A+64|0,t=t+64|0;for(;(A|0)<(s|0);)r[A>>2]=r[t>>2],A=A+4|0,t=t+4|0}else for(s=l-4|0;(A|0)<(s|0);)se[A>>0]=se[t>>0]|0,se[A+1>>0]=se[t+1>>0]|0,se[A+2>>0]=se[t+2>>0]|0,se[A+3>>0]=se[t+3>>0]|0,A=A+4|0,t=t+4|0;for(;(A|0)<(l|0);)se[A>>0]=se[t>>0]|0,A=A+1|0,t=t+1|0;return u|0}function mr(A,t,s){A=A|0,t=t|0,s=s|0;var a=0,l=0,u=0,c=0;if(u=A+s|0,t=t&255,(s|0)>=67){for(;A&3;)se[A>>0]=t,A=A+1|0;for(a=u&-4|0,c=t|t<<8|t<<16|t<<24,l=a-64|0;(A|0)<=(l|0);)r[A>>2]=c,r[A+4>>2]=c,r[A+8>>2]=c,r[A+12>>2]=c,r[A+16>>2]=c,r[A+20>>2]=c,r[A+24>>2]=c,r[A+28>>2]=c,r[A+32>>2]=c,r[A+36>>2]=c,r[A+40>>2]=c,r[A+44>>2]=c,r[A+48>>2]=c,r[A+52>>2]=c,r[A+56>>2]=c,r[A+60>>2]=c,A=A+64|0;for(;(A|0)<(a|0);)r[A>>2]=c,A=A+4|0}for(;(A|0)<(u|0);)se[A>>0]=t,A=A+1|0;return u-s|0}function sc(A){return A=+A,A>=0?+St(A+.5):+Nn(A-.5)}function gr(A){A=A|0;var t=0,s=0,a=0;return a=x2()|0,s=r[Kt>>2]|0,t=s+A|0,(A|0)>0&(t|0)<(s|0)|(t|0)<0?(O2(t|0)|0,hf(12),-1):(t|0)>(a|0)&&!(R2(t|0)|0)?(hf(12),-1):(r[Kt>>2]=t,s|0)}return{___divdi3:pr,___muldi3:Ot,___remdi3:Un,___uremdi3:Gn,_areNeighborCells:lg,_bitshift64Ashr:nc,_bitshift64Lshr:oe,_bitshift64Shl:fe,_calloc:Yt,_cellAreaKm2:qg,_cellAreaM2:Ug,_cellAreaRads2:t0,_cellToBoundary:Ln,_cellToCenterChild:Nf,_cellToChildPos:Tg,_cellToChildren:$g,_cellToChildrenSize:zi,_cellToLatLng:Xr,_cellToLocalIj:Wg,_cellToParent:za,_cellToVertex:hA,_cellToVertexes:p1,_cellsToDirectedEdge:ug,_cellsToLinkedMultiPolygon:G2,_childPosToCell:Ig,_compactCells:Pg,_constructCell:bg,_destroyLinkedMultiPolygon:Uf,_directedEdgeToBoundary:so,_directedEdgeToCells:dg,_edgeLengthKm:Hg,_edgeLengthM:Vg,_edgeLengthRads:Gg,_emscripten_replace_memory:T2,_free:Ce,_getBaseCellNumber:Mf,_getDirectedEdgeDestination:cg,_getDirectedEdgeOrigin:fg,_getHexagonAreaAvgKm2:Lf,_getHexagonAreaAvgM2:Fg,_getHexagonEdgeLengthAvgKm:Qg,_getHexagonEdgeLengthAvgM:Lg,_getIcosahedronFaces:Ff,_getIndexDigit:vg,_getNumCells:oo,_getPentagons:Xa,_getRes0Cells:K2,_getResolution:_g,_greatCircleDistanceKm:Ki,_greatCircleDistanceM:Mg,_greatCircleDistanceRads:Bg,_gridDisk:pf,_gridDiskDistances:mf,_gridDistance:Xg,_gridPathCells:e1,_gridPathCellsSize:Zg,_gridRing:F2,_gridRingUnsafe:yf,_i64Add:Pe,_i64Subtract:Rt,_isPentagon:ut,_isResClassIII:Sg,_isValidCell:Ha,_isValidDirectedEdge:Tf,_isValidIndex:Eg,_isValidVertex:Xf,_latLngToCell:Wa,_llvm_ctlz_i64:s0,_llvm_maxnum_f64:ic,_llvm_minnum_f64:uo,_llvm_round_f64:fo,_localIjToCell:Yg,_malloc:OA,_maxFaceCount:Rg,_maxGridDiskSize:N2,_maxPolygonToCellsSize:L2,_maxPolygonToCellsSizeExperimental:r1,_memcpy:Hn,_memset:mr,_originToDirectedEdges:hg,_pentagonCount:Og,_polygonToCells:q2,_polygonToCellsExperimental:A1,_readInt64AsDoubleFromPointer:f1,_res0CellCount:J2,_round:sc,_sbrk:gr,_sizeOfCellBoundary:s1,_sizeOfCoordIJ:u1,_sizeOfGeoLoop:o1,_sizeOfGeoPolygon:a1,_sizeOfH3Index:n1,_sizeOfLatLng:i1,_sizeOfLinkedGeoPolygon:l1,_uncompactCells:kg,_uncompactCellsSize:Cg,_vertexToLatLng:m1,establishStackSpace:j2,stackAlloc:I2,stackRestore:M2,stackSave:B2}})(v2,b2,M),uE=e.___divdi3=le.___divdi3,fE=e.___muldi3=le.___muldi3,cE=e.___remdi3=le.___remdi3,dE=e.___uremdi3=le.___uremdi3,hE=e._areNeighborCells=le._areNeighborCells,pE=e._bitshift64Ashr=le._bitshift64Ashr,mE=e._bitshift64Lshr=le._bitshift64Lshr,gE=e._bitshift64Shl=le._bitshift64Shl,yE=e._calloc=le._calloc,wE=e._cellAreaKm2=le._cellAreaKm2,_E=e._cellAreaM2=le._cellAreaM2,vE=e._cellAreaRads2=le._cellAreaRads2,bE=e._cellToBoundary=le._cellToBoundary,EE=e._cellToCenterChild=le._cellToCenterChild,$E=e._cellToChildPos=le._cellToChildPos,PE=e._cellToChildren=le._cellToChildren,kE=e._cellToChildrenSize=le._cellToChildrenSize,CE=e._cellToLatLng=le._cellToLatLng,SE=e._cellToLocalIj=le._cellToLocalIj,xE=e._cellToParent=le._cellToParent,DE=e._cellToVertex=le._cellToVertex,RE=e._cellToVertexes=le._cellToVertexes,OE=e._cellsToDirectedEdge=le._cellsToDirectedEdge,TE=e._cellsToLinkedMultiPolygon=le._cellsToLinkedMultiPolygon,IE=e._childPosToCell=le._childPosToCell,BE=e._compactCells=le._compactCells,ME=e._constructCell=le._constructCell,jE=e._destroyLinkedMultiPolygon=le._destroyLinkedMultiPolygon,NE=e._directedEdgeToBoundary=le._directedEdgeToBoundary,FE=e._directedEdgeToCells=le._directedEdgeToCells,QE=e._edgeLengthKm=le._edgeLengthKm,LE=e._edgeLengthM=le._edgeLengthM,qE=e._edgeLengthRads=le._edgeLengthRads,E2=e._emscripten_replace_memory=le._emscripten_replace_memory,UE=e._free=le._free,GE=e._getBaseCellNumber=le._getBaseCellNumber,HE=e._getDirectedEdgeDestination=le._getDirectedEdgeDestination,VE=e._getDirectedEdgeOrigin=le._getDirectedEdgeOrigin,zE=e._getHexagonAreaAvgKm2=le._getHexagonAreaAvgKm2,JE=e._getHexagonAreaAvgM2=le._getHexagonAreaAvgM2,KE=e._getHexagonEdgeLengthAvgKm=le._getHexagonEdgeLengthAvgKm,WE=e._getHexagonEdgeLengthAvgM=le._getHexagonEdgeLengthAvgM,YE=e._getIcosahedronFaces=le._getIcosahedronFaces,XE=e._getIndexDigit=le._getIndexDigit,ZE=e._getNumCells=le._getNumCells,e$=e._getPentagons=le._getPentagons,t$=e._getRes0Cells=le._getRes0Cells,A$=e._getResolution=le._getResolution,r$=e._greatCircleDistanceKm=le._greatCircleDistanceKm,n$=e._greatCircleDistanceM=le._greatCircleDistanceM,i$=e._greatCircleDistanceRads=le._greatCircleDistanceRads,s$=e._gridDisk=le._gridDisk,o$=e._gridDiskDistances=le._gridDiskDistances,a$=e._gridDistance=le._gridDistance,l$=e._gridPathCells=le._gridPathCells,u$=e._gridPathCellsSize=le._gridPathCellsSize,f$=e._gridRing=le._gridRing,c$=e._gridRingUnsafe=le._gridRingUnsafe,d$=e._i64Add=le._i64Add,h$=e._i64Subtract=le._i64Subtract,p$=e._isPentagon=le._isPentagon,m$=e._isResClassIII=le._isResClassIII,g$=e._isValidCell=le._isValidCell,y$=e._isValidDirectedEdge=le._isValidDirectedEdge,w$=e._isValidIndex=le._isValidIndex,_$=e._isValidVertex=le._isValidVertex,v$=e._latLngToCell=le._latLngToCell,b$=e._llvm_ctlz_i64=le._llvm_ctlz_i64,E$=e._llvm_maxnum_f64=le._llvm_maxnum_f64,$$=e._llvm_minnum_f64=le._llvm_minnum_f64,P$=e._llvm_round_f64=le._llvm_round_f64,k$=e._localIjToCell=le._localIjToCell,C$=e._malloc=le._malloc,S$=e._maxFaceCount=le._maxFaceCount,x$=e._maxGridDiskSize=le._maxGridDiskSize,D$=e._maxPolygonToCellsSize=le._maxPolygonToCellsSize,R$=e._maxPolygonToCellsSizeExperimental=le._maxPolygonToCellsSizeExperimental,O$=e._memcpy=le._memcpy,T$=e._memset=le._memset,I$=e._originToDirectedEdges=le._originToDirectedEdges,B$=e._pentagonCount=le._pentagonCount,M$=e._polygonToCells=le._polygonToCells,j$=e._polygonToCellsExperimental=le._polygonToCellsExperimental,N$=e._readInt64AsDoubleFromPointer=le._readInt64AsDoubleFromPointer,F$=e._res0CellCount=le._res0CellCount,Q$=e._round=le._round,L$=e._sbrk=le._sbrk,q$=e._sizeOfCellBoundary=le._sizeOfCellBoundary,U$=e._sizeOfCoordIJ=le._sizeOfCoordIJ,G$=e._sizeOfGeoLoop=le._sizeOfGeoLoop,H$=e._sizeOfGeoPolygon=le._sizeOfGeoPolygon,V$=e._sizeOfH3Index=le._sizeOfH3Index,z$=e._sizeOfLatLng=le._sizeOfLatLng,J$=e._sizeOfLinkedGeoPolygon=le._sizeOfLinkedGeoPolygon,K$=e._uncompactCells=le._uncompactCells,W$=e._uncompactCellsSize=le._uncompactCellsSize,Y$=e._vertexToLatLng=le._vertexToLatLng,X$=e.establishStackSpace=le.establishStackSpace,uf=e.stackAlloc=le.stackAlloc,$2=e.stackRestore=le.stackRestore,P2=e.stackSave=le.stackSave;if(e.asm=le,e.cwrap=U,e.setValue=R,e.getValue=$,YA){nf(YA)||(YA=m(YA));{l2("memory initializer");var Ra=function(Z){Z.byteLength&&(Z=new Uint8Array(Z)),X.set(Z,S),e.memoryInitializerRequest&&delete e.memoryInitializerRequest.response,u2("memory initializer")},ff=function(){y(YA,Ra,function(){throw"could not load memory initializer "+YA})},cf=Da(YA);if(cf)Ra(cf.buffer);else if(e.memoryInitializerRequest){var df=function(){var Z=e.memoryInitializerRequest,ie=Z.response;if(Z.status!==200&&Z.status!==0){var ye=Da(e.memoryInitializerRequestURL);if(ye)ie=ye.buffer;else{console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: "+Z.status+", retrying "+YA),ff();return}}Ra(ie)};e.memoryInitializerRequest.response?setTimeout(df,0):e.memoryInitializerRequest.addEventListener("load",df)}else ff()}}var Ao;Gi=function Z(){Ao||Oa(),Ao||(Gi=Z)};function Oa(Z){if(Z=Z||f,Vr>0||(SA(),Vr>0))return;function ie(){Ao||(Ao=!0,!B&&(xA(),t2(),e.onRuntimeInitialized&&e.onRuntimeInitialized(),A2()))}e.setStatus?(e.setStatus("Running..."),setTimeout(function(){setTimeout(function(){e.setStatus("")},1),ie()},1)):ie()}e.run=Oa;function zr(Z){throw e.onAbort&&e.onAbort(Z),Z+="",E(Z),b(Z),B=!0,"abort("+Z+"). Build with -s ASSERTIONS=1 for more info."}if(e.abort=zr,e.preInit)for(typeof e.preInit=="function"&&(e.preInit=[e.preInit]);e.preInit.length>0;)e.preInit.pop()();return Oa(),n})(typeof Bt=="object"?Bt:{}),De="number",xe=De,Vn=De,Ie=De,Be=De,Tt=De,we=De,x1=[["sizeOfH3Index",De],["sizeOfLatLng",De],["sizeOfCellBoundary",De],["sizeOfGeoLoop",De],["sizeOfGeoPolygon",De],["sizeOfLinkedGeoPolygon",De],["sizeOfCoordIJ",De],["readInt64AsDoubleFromPointer",De],["isValidCell",Vn,[Ie,Be]],["isValidIndex",Vn,[Ie,Be]],["latLngToCell",xe,[De,De,Tt,we]],["cellToLatLng",xe,[Ie,Be,we]],["cellToBoundary",xe,[Ie,Be,we]],["maxGridDiskSize",xe,[De,we]],["gridDisk",xe,[Ie,Be,De,we]],["gridDiskDistances",xe,[Ie,Be,De,we,we]],["gridRing",xe,[Ie,Be,De,we]],["gridRingUnsafe",xe,[Ie,Be,De,we]],["maxPolygonToCellsSize",xe,[we,Tt,De,we]],["polygonToCells",xe,[we,Tt,De,we]],["maxPolygonToCellsSizeExperimental",xe,[we,Tt,De,we]],["polygonToCellsExperimental",xe,[we,Tt,De,De,De,we]],["cellsToLinkedMultiPolygon",xe,[we,De,we]],["destroyLinkedMultiPolygon",null,[we]],["compactCells",xe,[we,we,De,De]],["uncompactCells",xe,[we,De,De,we,De,Tt]],["uncompactCellsSize",xe,[we,De,De,Tt,we]],["isPentagon",Vn,[Ie,Be]],["isResClassIII",Vn,[Ie,Be]],["getBaseCellNumber",De,[Ie,Be]],["getResolution",De,[Ie,Be]],["getIndexDigit",De,[Ie,Be,De]],["constructCell",xe,[De,De,we,we]],["maxFaceCount",xe,[Ie,Be,we]],["getIcosahedronFaces",xe,[Ie,Be,we]],["cellToParent",xe,[Ie,Be,Tt,we]],["cellToChildren",xe,[Ie,Be,Tt,we]],["cellToCenterChild",xe,[Ie,Be,Tt,we]],["cellToChildrenSize",xe,[Ie,Be,Tt,we]],["cellToChildPos",xe,[Ie,Be,Tt,we]],["childPosToCell",xe,[De,De,Ie,Be,Tt,we]],["areNeighborCells",xe,[Ie,Be,Ie,Be,we]],["cellsToDirectedEdge",xe,[Ie,Be,Ie,Be,we]],["getDirectedEdgeOrigin",xe,[Ie,Be,we]],["getDirectedEdgeDestination",xe,[Ie,Be,we]],["isValidDirectedEdge",Vn,[Ie,Be]],["directedEdgeToCells",xe,[Ie,Be,we]],["originToDirectedEdges",xe,[Ie,Be,we]],["directedEdgeToBoundary",xe,[Ie,Be,we]],["gridDistance",xe,[Ie,Be,Ie,Be,we]],["gridPathCells",xe,[Ie,Be,Ie,Be,we]],["gridPathCellsSize",xe,[Ie,Be,Ie,Be,we]],["cellToLocalIj",xe,[Ie,Be,Ie,Be,De,we]],["localIjToCell",xe,[Ie,Be,we,De,we]],["getHexagonAreaAvgM2",xe,[Tt,we]],["getHexagonAreaAvgKm2",xe,[Tt,we]],["getHexagonEdgeLengthAvgM",xe,[Tt,we]],["getHexagonEdgeLengthAvgKm",xe,[Tt,we]],["greatCircleDistanceM",De,[we,we]],["greatCircleDistanceKm",De,[we,we]],["greatCircleDistanceRads",De,[we,we]],["cellAreaM2",xe,[Ie,Be,we]],["cellAreaKm2",xe,[Ie,Be,we]],["cellAreaRads2",xe,[Ie,Be,we]],["edgeLengthM",xe,[Ie,Be,we]],["edgeLengthKm",xe,[Ie,Be,we]],["edgeLengthRads",xe,[Ie,Be,we]],["getNumCells",xe,[Tt,we]],["getRes0Cells",xe,[we]],["res0CellCount",De],["getPentagons",xe,[De,we]],["pentagonCount",De],["cellToVertex",xe,[Ie,Be,De,we]],["cellToVertexes",xe,[Ie,Be,we]],["vertexToLatLng",xe,[Ie,Be,we]],["isValidVertex",Vn,[Ie,Be]]],D1=0,R1=1,O1=2,T1=3,I1=4,fc=5,B1=6,M1=7,j1=8,N1=9,F1=10,Q1=11,L1=12,q1=13,U1=14,G1=15,H1=16,V1=17,z1=18,J1=19,_t={};_t[D1]="Success";_t[R1]="The operation failed but a more specific error is not available";_t[O1]="Argument was outside of acceptable range";_t[T1]="Latitude or longitude arguments were outside of acceptable range";_t[I1]="Resolution argument was outside of acceptable range";_t[fc]="Cell argument was not valid";_t[B1]="Directed edge argument was not valid";_t[M1]="Undirected edge argument was not valid";_t[j1]="Vertex argument was not valid";_t[N1]="Pentagon distortion was encountered";_t[F1]="Duplicate input";_t[Q1]="Cell arguments were not neighbors";_t[L1]="Cell arguments had incompatible resolutions";_t[q1]="Memory allocation failed";_t[U1]="Bounds of provided memory were insufficient";_t[G1]="Mode or flags argument was not valid";_t[H1]="Index argument was not valid";_t[V1]="Base cell number was outside of acceptable range";_t[z1]="Child indexing digits invalid";_t[J1]="Child indexing digits refer to a deleted subsequence";var K1=1e3,cc=1001,dc=1002,ho={};ho[K1]="Unknown unit";ho[cc]="Array length out of bounds";ho[dc]="Got unexpected null value for H3 index";var W1="Unknown error";function hc(n,e,i){var o=i&&"value"in i,f=new Error((n[e]||W1)+" (code: "+e+(o?", value: "+i.value:"")+")");return f.code=e,f}function pc(n,e){var i=arguments.length===2?{value:e}:{};return hc(_t,n,i)}function mc(n,e){var i=arguments.length===2?{value:e}:{};return hc(ho,n,i)}function po(n){if(n!==0)throw pc(n)}var Qt={};x1.forEach(function(e){Qt[e[0]]=Bt.cwrap.apply(Bt,e)});var zn=16;var Y1=4;var X1=8,Z1=8,Zi=Qt.sizeOfH3Index(),ey=Qt.sizeOfLatLng(),eP=Qt.sizeOfCellBoundary(),tP=Qt.sizeOfGeoPolygon(),AP=Qt.sizeOfGeoLoop(),rP=Qt.sizeOfLinkedGeoPolygon(),nP=Qt.sizeOfCoordIJ();function gc(n){if(!n)throw mc(dc);return n}var ty=Math.pow(2,32)-1;function Ay(n){if(n>ty)throw mc(cc,n);return n}var ry=/[^0-9a-fA-F]/;function es(n){if(Array.isArray(n)&&n.length===2&&Number.isInteger(n[0])&&Number.isInteger(n[1]))return n;if(typeof n!="string"||ry.test(n))return[0,0];var e=parseInt(n.substring(0,n.length-8),zn),i=parseInt(n.substring(n.length-8),zn);return[i,e]}function uc(n){if(n>=0)return n.toString(zn);n=n&2147483647;var e=yc(8,n.toString(zn)),i=(parseInt(e[0],zn)+8).toString(zn);return e=i+e.substring(1),e}function ny(n,e){return uc(e)+yc(8,uc(n))}function yc(n,e){for(var i=n-e.length,o="",f=0;f<i;f++)o+="0";return o=o+e,o}var iP=Math.pow(2,32);function a0(n,e){e===void 0&&(e=0);var i=Bt.getValue(n+Zi*e,"i32"),o=Bt.getValue(n+Zi*e+Y1,"i32");return o?ny(i,o):null}function iy(n){return Qt.readInt64AsDoubleFromPointer(n)}function sy(n,e){for(var i=[],o=0;o<e;o++){var f=a0(n,o);f!==null&&i.push(f)}return i}function wc(n){var e=es(n),i=e[0],o=e[1];return!!Qt.isValidCell(i,o)}function TA(n){var e=es(n),i=e[0],o=e[1];return Qt.isValidCell(i,o)?Qt.getResolution(i,o):-1}function l0(n,e,i){var o=Bt._malloc(ey);Bt.HEAPF64.set([n,e].map(ay),o/X1);var f=Bt._malloc(Zi);try{return po(Qt.latLngToCell(o,i,f)),gc(a0(f))}finally{Bt._free(f),Bt._free(o)}}function IA(n,e){var i=es(n),o=i[0],f=i[1],h=Bt._malloc(Zi);try{return po(Qt.cellToParent(o,f,e,h)),gc(a0(h))}finally{Bt._free(h)}}function _c(n,e){if(!wc(n))return[];var i=es(n),o=i[0],f=i[1],h=Ay(oy(n,e)),m=Bt._calloc(h,Zi);try{return po(Qt.cellToChildren(o,f,e,m)),sy(m,h)}finally{Bt._free(m)}}function oy(n,e){if(!wc(n))throw pc(fc);var i=es(n),o=i[0],f=i[1],h=Bt._malloc(Z1);try{return po(Qt.cellToChildrenSize(o,f,e,h)),iy(h)}finally{Bt._free(h)}}function ay(n){return n*Math.PI/180}var mo="RFC3986",go={RFC1738:n=>String(n).replace(/%20/g,"+"),RFC3986:n=>String(n)},vc="RFC1738";var ly=Array.isArray,BA=(()=>{let n=[];for(let e=0;e<256;++e)n.push("%"+((e<16?"0":"")+e.toString(16)).toUpperCase());return n})();var f0=1024,bc=(n,e,i,o,f)=>{if(n.length===0)return n;let h=n;if(typeof n=="symbol"?h=Symbol.prototype.toString.call(n):typeof n!="string"&&(h=String(n)),i==="iso-8859-1")return escape(h).replace(/%u[0-9a-f]{4}/gi,function(y){return"%26%23"+parseInt(y.slice(2),16)+"%3B"});let m="";for(let y=0;y<h.length;y+=f0){let E=h.length>=f0?h.slice(y,y+f0):h,b=[];for(let _=0;_<E.length;++_){let v=E.charCodeAt(_);if(v===45||v===46||v===95||v===126||v>=48&&v<=57||v>=65&&v<=90||v>=97&&v<=122||f===vc&&(v===40||v===41)){b[b.length]=E.charAt(_);continue}if(v<128){b[b.length]=BA[v];continue}if(v<2048){b[b.length]=BA[192|v>>6]+BA[128|v&63];continue}if(v<55296||v>=57344){b[b.length]=BA[224|v>>12]+BA[128|v>>6&63]+BA[128|v&63];continue}_+=1,v=65536+((v&1023)<<10|E.charCodeAt(_)&1023),b[b.length]=BA[240|v>>18]+BA[128|v>>12&63]+BA[128|v>>6&63]+BA[128|v&63]}m+=b.join("")}return m};function Ec(n){return!n||typeof n!="object"?!1:!!(n.constructor&&n.constructor.isBuffer&&n.constructor.isBuffer(n))}function c0(n,e){if(ly(n)){let i=[];for(let o=0;o<n.length;o+=1)i.push(e(n[o]));return i}return e(n)}var uy=Object.prototype.hasOwnProperty,$c={brackets(n){return String(n)+"[]"},comma:"comma",indices(n,e){return String(n)+"["+e+"]"},repeat(n){return String(n)}},MA=Array.isArray,fy=Array.prototype.push,Pc=function(n,e){fy.apply(n,MA(e)?e:[e])},cy=Date.prototype.toISOString,$t={addQueryPrefix:!1,allowDots:!1,allowEmptyArrays:!1,arrayFormat:"indices",charset:"utf-8",charsetSentinel:!1,delimiter:"&",encode:!0,encodeDotInKeys:!1,encoder:bc,encodeValuesOnly:!1,format:mo,formatter:go[mo],indices:!1,serializeDate(n){return cy.call(n)},skipNulls:!1,strictNullHandling:!1};function dy(n){return typeof n=="string"||typeof n=="number"||typeof n=="boolean"||typeof n=="symbol"||typeof n=="bigint"}var d0={};function kc(n,e,i,o,f,h,m,y,E,b,_,v,P,S,R,$,B,T){let I=n,q=T,U=0,V=!1;for(;(q=q.get(d0))!==void 0&&!V;){let ue=q.get(n);if(U+=1,typeof ue<"u"){if(ue===U)throw new RangeError("Cyclic object value");V=!0}typeof q.get(d0)>"u"&&(U=0)}if(typeof b=="function"?I=b(e,I):I instanceof Date?I=P?.(I):i==="comma"&&MA(I)&&(I=c0(I,function(ue){return ue instanceof Date?P?.(ue):ue})),I===null){if(h)return E&&!$?E(e,$t.encoder,B,"key",S):e;I=""}if(dy(I)||Ec(I)){if(E){let ue=$?e:E(e,$t.encoder,B,"key",S);return[R?.(ue)+"="+R?.(E(I,$t.encoder,B,"value",S))]}return[R?.(e)+"="+R?.(String(I))]}let z=[];if(typeof I>"u")return z;let re;if(i==="comma"&&MA(I))$&&E&&(I=c0(I,E)),re=[{value:I.length>0?I.join(",")||null:void 0}];else if(MA(b))re=b;else{let ue=Object.keys(I);re=_?ue.sort(_):ue}let L=y?String(e).replace(/\./g,"%2E"):String(e),J=o&&MA(I)&&I.length===1?L+"[]":L;if(f&&MA(I)&&I.length===0)return J+"[]";for(let ue=0;ue<re.length;++ue){let ae=re[ue],O=typeof ae=="object"&&typeof ae.value<"u"?ae.value:I[ae];if(m&&O===null)continue;let M=v&&y?ae.replace(/\./g,"%2E"):ae,Q=MA(I)?typeof i=="function"?i(J,M):J:J+(v?"."+M:"["+M+"]");T.set(n,U);let X=new WeakMap;X.set(d0,T),Pc(z,kc(O,Q,i,o,f,h,m,y,i==="comma"&&$&&MA(I)?null:E,b,_,v,P,S,R,$,B,X))}return z}function hy(n=$t){if(typeof n.allowEmptyArrays<"u"&&typeof n.allowEmptyArrays!="boolean")throw new TypeError("`allowEmptyArrays` option can only be `true` or `false`, when provided");if(typeof n.encodeDotInKeys<"u"&&typeof n.encodeDotInKeys!="boolean")throw new TypeError("`encodeDotInKeys` option can only be `true` or `false`, when provided");if(n.encoder!==null&&typeof n.encoder<"u"&&typeof n.encoder!="function")throw new TypeError("Encoder has to be a function.");let e=n.charset||$t.charset;if(typeof n.charset<"u"&&n.charset!=="utf-8"&&n.charset!=="iso-8859-1")throw new TypeError("The charset option must be either utf-8, iso-8859-1, or undefined");let i=mo;if(typeof n.format<"u"){if(!uy.call(go,n.format))throw new TypeError("Unknown format option provided.");i=n.format}let o=go[i],f=$t.filter;(typeof n.filter=="function"||MA(n.filter))&&(f=n.filter);let h;if(n.arrayFormat&&n.arrayFormat in $c?h=n.arrayFormat:"indices"in n?h=n.indices?"indices":"repeat":h=$t.arrayFormat,"commaRoundTrip"in n&&typeof n.commaRoundTrip!="boolean")throw new TypeError("`commaRoundTrip` must be a boolean, or absent");let m=typeof n.allowDots>"u"?n.encodeDotInKeys?!0:$t.allowDots:!!n.allowDots;return{addQueryPrefix:typeof n.addQueryPrefix=="boolean"?n.addQueryPrefix:$t.addQueryPrefix,allowDots:m,allowEmptyArrays:typeof n.allowEmptyArrays=="boolean"?!!n.allowEmptyArrays:$t.allowEmptyArrays,arrayFormat:h,charset:e,charsetSentinel:typeof n.charsetSentinel=="boolean"?n.charsetSentinel:$t.charsetSentinel,commaRoundTrip:!!n.commaRoundTrip,delimiter:typeof n.delimiter>"u"?$t.delimiter:n.delimiter,encode:typeof n.encode=="boolean"?n.encode:$t.encode,encodeDotInKeys:typeof n.encodeDotInKeys=="boolean"?n.encodeDotInKeys:$t.encodeDotInKeys,encoder:typeof n.encoder=="function"?n.encoder:$t.encoder,encodeValuesOnly:typeof n.encodeValuesOnly=="boolean"?n.encodeValuesOnly:$t.encodeValuesOnly,filter:f,format:i,formatter:o,serializeDate:typeof n.serializeDate=="function"?n.serializeDate:$t.serializeDate,skipNulls:typeof n.skipNulls=="boolean"?n.skipNulls:$t.skipNulls,sort:typeof n.sort=="function"?n.sort:null,strictNullHandling:typeof n.strictNullHandling=="boolean"?n.strictNullHandling:$t.strictNullHandling}}function h0(n,e={}){let i=n,o=hy(e),f,h;typeof o.filter=="function"?(h=o.filter,i=h("",i)):MA(o.filter)&&(h=o.filter,f=h);let m=[];if(typeof i!="object"||i===null)return"";let y=$c[o.arrayFormat],E=y==="comma"&&o.commaRoundTrip;f||(f=Object.keys(i)),o.sort&&f.sort(o.sort);let b=new WeakMap;for(let P=0;P<f.length;++P){let S=f[P];o.skipNulls&&i[S]===null||Pc(m,kc(i[S],S,y,E,o.allowEmptyArrays,o.strictNullHandling,o.skipNulls,o.encodeDotInKeys,o.encode?o.encoder:null,o.filter,o.sort,o.allowDots,o.serializeDate,o.format,o.formatter,o.encodeValuesOnly,o.charset,b))}let _=m.join(o.delimiter),v=o.addQueryPrefix===!0?"?":"";return o.charsetSentinel&&(o.charset==="iso-8859-1"?v+="utf8=%26%2310003%3B&":v+="utf8=%E2%9C%93&"),_.length>0?v+_:""}var Zr="4.104.0";var Cc=!1,en,p0,my,gy,yy,m0,wy,yo,g0,y0,w0,wo,_0;function Sc(n,e={auto:!1}){if(Cc)throw new Error(`you must \`import 'openai/shims/${n.kind}'\` before importing anything else from openai`);if(en)throw new Error(`can't \`import 'openai/shims/${n.kind}'\` after \`import 'openai/shims/${en}'\``);Cc=e.auto,en=n.kind,p0=n.fetch,my=n.Request,gy=n.Response,yy=n.Headers,m0=n.FormData,wy=n.Blob,yo=n.File,g0=n.ReadableStream,y0=n.getMultipartRequestOptions,w0=n.getDefaultAgent,wo=n.fileFromPath,_0=n.isFsReadStream}var _o=class{constructor(e){this.body=e}get[Symbol.toStringTag](){return"MultipartBody"}};function xc({manuallyImported:n}={}){let e=n?"You may need to use polyfills":"Add one of these imports before your first `import \u2026 from 'openai'`:\n- `import 'openai/shims/node'` (if you're running on Node)\n- `import 'openai/shims/web'` (otherwise)\n",i,o,f,h;try{i=fetch,o=Request,f=Response,h=Headers}catch(m){throw new Error(`this environment is missing the following Web Fetch API type: ${m.message}. ${e}`)}return{kind:"web",fetch:i,Request:o,Response:f,Headers:h,FormData:typeof FormData<"u"?FormData:class{constructor(){throw new Error(`file uploads aren't supported in this environment yet as 'FormData' is undefined. ${e}`)}},Blob:typeof Blob<"u"?Blob:class{constructor(){throw new Error(`file uploads aren't supported in this environment yet as 'Blob' is undefined. ${e}`)}},File:typeof File<"u"?File:class{constructor(){throw new Error(`file uploads aren't supported in this environment yet as 'File' is undefined. ${e}`)}},ReadableStream:typeof ReadableStream<"u"?ReadableStream:class{constructor(){throw new Error(`streaming isn't supported in this environment yet as 'ReadableStream' is undefined. ${e}`)}},getMultipartRequestOptions:async(m,y)=>({...y,body:new _o(m)}),getDefaultAgent:m=>{},fileFromPath:()=>{throw new Error("The `fileFromPath` function is only supported in Node. See the README for more details: https://www.github.com/openai/openai-node#file-uploads")},isFsReadStream:m=>!1}}var v0=()=>{en||Sc(xc(),{auto:!0})};v0();var $e=class extends Error{},Pt=class n extends $e{constructor(e,i,o,f){super(`${n.makeMessage(e,i,o)}`),this.status=e,this.headers=f,this.request_id=f?.["x-request-id"],this.error=i;let h=i;this.code=h?.code,this.param=h?.param,this.type=h?.type}static makeMessage(e,i,o){let f=i?.message?typeof i.message=="string"?i.message:JSON.stringify(i.message):i?JSON.stringify(i):o;return e&&f?`${e} ${f}`:e?`${e} status code (no body)`:f||"(no status code or body)"}static generate(e,i,o,f){if(!e||!f)return new yr({message:o,cause:vo(i)});let h=i?.error;return e===400?new ts(e,h,o,f):e===401?new As(e,h,o,f):e===403?new rs(e,h,o,f):e===404?new ns(e,h,o,f):e===409?new is(e,h,o,f):e===422?new ss(e,h,o,f):e===429?new os(e,h,o,f):e>=500?new as(e,h,o,f):new n(e,h,o,f)}},Et=class extends Pt{constructor({message:e}={}){super(void 0,void 0,e||"Request was aborted.",void 0)}},yr=class extends Pt{constructor({message:e,cause:i}){super(void 0,void 0,e||"Connection error.",void 0),i&&(this.cause=i)}},wr=class extends yr{constructor({message:e}={}){super({message:e??"Request timed out."})}},ts=class extends Pt{},As=class extends Pt{},rs=class extends Pt{},ns=class extends Pt{},is=class extends Pt{},ss=class extends Pt{},os=class extends Pt{},as=class extends Pt{},Jn=class extends $e{constructor(){super("Could not parse response content as the length limit was reached")}},Kn=class extends $e{constructor(){super("Could not parse response content as the request was rejected by the content filter")}};var bo=function(n,e,i,o,f){if(o==="m")throw new TypeError("Private method is not writable");if(o==="a"&&!f)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?n!==e||!f:!e.has(n))throw new TypeError("Cannot write private member to an object whose class did not declare it");return o==="a"?f.call(n,i):f?f.value=i:e.set(n,i),i},tn=function(n,e,i,o){if(i==="a"&&!o)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?n!==e||!o:!e.has(n))throw new TypeError("Cannot read private member from an object whose class did not declare it");return i==="m"?o:i==="a"?o.call(n):o?o.value:e.get(n)},iA,An=class{constructor(){iA.set(this,void 0),this.buffer=new Uint8Array,bo(this,iA,null,"f")}decode(e){if(e==null)return[];let i=e instanceof ArrayBuffer?new Uint8Array(e):typeof e=="string"?new TextEncoder().encode(e):e,o=new Uint8Array(this.buffer.length+i.length);o.set(this.buffer),o.set(i,this.buffer.length),this.buffer=o;let f=[],h;for(;(h=by(this.buffer,tn(this,iA,"f")))!=null;){if(h.carriage&&tn(this,iA,"f")==null){bo(this,iA,h.index,"f");continue}if(tn(this,iA,"f")!=null&&(h.index!==tn(this,iA,"f")+1||h.carriage)){f.push(this.decodeText(this.buffer.slice(0,tn(this,iA,"f")-1))),this.buffer=this.buffer.slice(tn(this,iA,"f")),bo(this,iA,null,"f");continue}let m=tn(this,iA,"f")!==null?h.preceding-1:h.preceding,y=this.decodeText(this.buffer.slice(0,m));f.push(y),this.buffer=this.buffer.slice(h.index),bo(this,iA,null,"f")}return f}decodeText(e){if(e==null)return"";if(typeof e=="string")return e;if(typeof Buffer<"u"){if(e instanceof Buffer)return e.toString();if(e instanceof Uint8Array)return Buffer.from(e).toString();throw new $e(`Unexpected: received non-Uint8Array (${e.constructor.name}) stream chunk in an environment with a global "Buffer" defined, which this library assumes to be Node. Please report this error.`)}if(typeof TextDecoder<"u"){if(e instanceof Uint8Array||e instanceof ArrayBuffer)return this.textDecoder??(this.textDecoder=new TextDecoder("utf8")),this.textDecoder.decode(e);throw new $e(`Unexpected: received non-Uint8Array/ArrayBuffer (${e.constructor.name}) in a web platform. Please report this error.`)}throw new $e("Unexpected: neither Buffer nor TextDecoder are available as globals. Please report this error.")}flush(){return this.buffer.length?this.decode(`
|
|
11
|
-
`):[]}};iA=new WeakMap;An.NEWLINE_CHARS=new Set([`
|
|
12
|
-
`,"\r"]);An.NEWLINE_REGEXP=/\r\n|[\n\r]/g;function by(n,e){for(let f=e??0;f<n.length;f++){if(n[f]===10)return{preceding:f,index:f+1,carriage:!1};if(n[f]===13)return{preceding:f,index:f+1,carriage:!0}}return null}function Dc(n){for(let o=0;o<n.length-1;o++){if(n[o]===10&&n[o+1]===10||n[o]===13&&n[o+1]===13)return o+2;if(n[o]===13&&n[o+1]===10&&o+3<n.length&&n[o+2]===13&&n[o+3]===10)return o+4}return-1}function b0(n){if(n[Symbol.asyncIterator])return n;let e=n.getReader();return{async next(){try{let i=await e.read();return i?.done&&e.releaseLock(),i}catch(i){throw e.releaseLock(),i}},async return(){let i=e.cancel();return e.releaseLock(),await i,{done:!0,value:void 0}},[Symbol.asyncIterator](){return this}}}var jA=class n{constructor(e,i){this.iterator=e,this.controller=i}static fromSSEResponse(e,i){let o=!1;async function*f(){if(o)throw new Error("Cannot iterate over a consumed stream, use `.tee()` to split the stream.");o=!0;let h=!1;try{for await(let m of Ey(e,i))if(!h){if(m.data.startsWith("[DONE]")){h=!0;continue}if(m.event===null||m.event.startsWith("response.")||m.event.startsWith("transcript.")){let y;try{y=JSON.parse(m.data)}catch(E){throw console.error("Could not parse message into JSON:",m.data),console.error("From chunk:",m.raw),E}if(y&&y.error)throw new Pt(void 0,y.error,void 0,$0(e.headers));yield y}else{let y;try{y=JSON.parse(m.data)}catch(E){throw console.error("Could not parse message into JSON:",m.data),console.error("From chunk:",m.raw),E}if(m.event=="error")throw new Pt(void 0,y.error,y.message,void 0);yield{event:m.event,data:y}}}h=!0}catch(m){if(m instanceof Error&&m.name==="AbortError")return;throw m}finally{h||i.abort()}}return new n(f,i)}static fromReadableStream(e,i){let o=!1;async function*f(){let m=new An,y=b0(e);for await(let E of y)for(let b of m.decode(E))yield b;for(let E of m.flush())yield E}async function*h(){if(o)throw new Error("Cannot iterate over a consumed stream, use `.tee()` to split the stream.");o=!0;let m=!1;try{for await(let y of f())m||y&&(yield JSON.parse(y));m=!0}catch(y){if(y instanceof Error&&y.name==="AbortError")return;throw y}finally{m||i.abort()}}return new n(h,i)}[Symbol.asyncIterator](){return this.iterator()}tee(){let e=[],i=[],o=this.iterator(),f=h=>({next:()=>{if(h.length===0){let m=o.next();e.push(m),i.push(m)}return h.shift()}});return[new n(()=>f(e),this.controller),new n(()=>f(i),this.controller)]}toReadableStream(){let e=this,i,o=new TextEncoder;return new g0({async start(){i=e[Symbol.asyncIterator]()},async pull(f){try{let{value:h,done:m}=await i.next();if(m)return f.close();let y=o.encode(JSON.stringify(h)+`
|
|
13
|
-
`);f.enqueue(y)}catch(h){f.error(h)}},async cancel(){await i.return?.()}})}};async function*Ey(n,e){if(!n.body)throw e.abort(),new $e("Attempted to iterate over a response with no body");let i=new E0,o=new An,f=b0(n.body);for await(let h of $y(f))for(let m of o.decode(h)){let y=i.decode(m);y&&(yield y)}for(let h of o.flush()){let m=i.decode(h);m&&(yield m)}}async function*$y(n){let e=new Uint8Array;for await(let i of n){if(i==null)continue;let o=i instanceof ArrayBuffer?new Uint8Array(i):typeof i=="string"?new TextEncoder().encode(i):i,f=new Uint8Array(e.length+o.length);f.set(e),f.set(o,e.length),e=f;let h;for(;(h=Dc(e))!==-1;)yield e.slice(0,h),e=e.slice(h)}e.length>0&&(yield e)}var E0=class{constructor(){this.event=null,this.data=[],this.chunks=[]}decode(e){if(e.endsWith("\r")&&(e=e.substring(0,e.length-1)),!e){if(!this.event&&!this.data.length)return null;let h={event:this.event,data:this.data.join(`
|
|
14
|
-
`),raw:this.chunks};return this.event=null,this.data=[],this.chunks=[],h}if(this.chunks.push(e),e.startsWith(":"))return null;let[i,o,f]=Py(e,":");return f.startsWith(" ")&&(f=f.substring(1)),i==="event"?this.event=f:i==="data"&&this.data.push(f),null}};function Py(n,e){let i=n.indexOf(e);return i!==-1?[n.substring(0,i),e,n.substring(i+e.length)]:[n,"",""]}var Rc=n=>n!=null&&typeof n=="object"&&typeof n.url=="string"&&typeof n.blob=="function",Oc=n=>n!=null&&typeof n=="object"&&typeof n.name=="string"&&typeof n.lastModified=="number"&&ls(n),ls=n=>n!=null&&typeof n=="object"&&typeof n.size=="number"&&typeof n.type=="string"&&typeof n.text=="function"&&typeof n.slice=="function"&&typeof n.arrayBuffer=="function",ky=n=>Oc(n)||Rc(n)||_0(n);async function C0(n,e,i){if(n=await n,Oc(n))return n;if(Rc(n)){let f=await n.blob();e||(e=new URL(n.url).pathname.split(/[\\/]/).pop()??"unknown_file");let h=ls(f)?[await f.arrayBuffer()]:[f];return new yo(h,e,i)}let o=await Cy(n);if(e||(e=xy(n)??"unknown_file"),!i?.type){let f=o[0]?.type;typeof f=="string"&&(i={...i,type:f})}return new yo(o,e,i)}async function Cy(n){let e=[];if(typeof n=="string"||ArrayBuffer.isView(n)||n instanceof ArrayBuffer)e.push(n);else if(ls(n))e.push(await n.arrayBuffer());else if(Dy(n))for await(let i of n)e.push(i);else throw new Error(`Unexpected data type: ${typeof n}; constructor: ${n?.constructor?.name}; props: ${Sy(n)}`);return e}function Sy(n){return`[${Object.getOwnPropertyNames(n).map(i=>`"${i}"`).join(", ")}]`}function xy(n){return P0(n.name)||P0(n.filename)||P0(n.path)?.split(/[\\/]/).pop()}var P0=n=>{if(typeof n=="string")return n;if(typeof Buffer<"u"&&n instanceof Buffer)return String(n)},Dy=n=>n!=null&&typeof n=="object"&&typeof n[Symbol.asyncIterator]=="function",S0=n=>n&&typeof n=="object"&&n.body&&n[Symbol.toStringTag]==="MultipartBody";var Xt=async n=>{let e=await Tc(n.body);return y0(e,n)},Tc=async n=>{let e=new m0;return await Promise.all(Object.entries(n||{}).map(([i,o])=>k0(e,i,o))),e};var k0=async(n,e,i)=>{if(i!==void 0){if(i==null)throw new TypeError(`Received null for "${e}"; to pass null in FormData, you must use the string 'null'`);if(typeof i=="string"||typeof i=="number"||typeof i=="boolean")n.append(e,String(i));else if(ky(i)){let o=await C0(i);n.append(e,o)}else if(Array.isArray(i))await Promise.all(i.map(o=>k0(n,e+"[]",o)));else if(typeof i=="object")await Promise.all(Object.entries(i).map(([o,f])=>k0(n,`${e}[${o}]`,f)));else throw new TypeError(`Invalid value given to form, expected a string, number, boolean, object, Array, File or Blob but got ${i} instead`)}};var Oy=function(n,e,i,o,f){if(o==="m")throw new TypeError("Private method is not writable");if(o==="a"&&!f)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?n!==e||!f:!e.has(n))throw new TypeError("Cannot write private member to an object whose class did not declare it");return o==="a"?f.call(n,i):f?f.value=i:e.set(n,i),i},Ty=function(n,e,i,o){if(i==="a"&&!o)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?n!==e||!o:!e.has(n))throw new TypeError("Cannot read private member from an object whose class did not declare it");return i==="m"?o:i==="a"?o.call(n):o?o.value:e.get(n)},Eo;v0();async function Fc(n){let{response:e}=n;if(n.options.stream)return er("response",e.status,e.url,e.headers,e.body),n.options.__streamClass?n.options.__streamClass.fromSSEResponse(e,n.controller):jA.fromSSEResponse(e,n.controller);if(e.status===204)return null;if(n.options.__binaryResponse)return e;let o=e.headers.get("content-type")?.split(";")[0]?.trim();if(o?.includes("application/json")||o?.endsWith("+json")){let m=await e.json();return er("response",e.status,e.url,e.headers,m),Qc(m,e)}let h=await e.text();return er("response",e.status,e.url,e.headers,h),h}function Qc(n,e){return!n||typeof n!="object"||Array.isArray(n)?n:Object.defineProperty(n,"_request_id",{value:e.headers.get("x-request-id"),enumerable:!1})}var Po=class n extends Promise{constructor(e,i=Fc){super(o=>{o(null)}),this.responsePromise=e,this.parseResponse=i}_thenUnwrap(e){return new n(this.responsePromise,async i=>Qc(e(await this.parseResponse(i),i),i.response))}asResponse(){return this.responsePromise.then(e=>e.response)}async withResponse(){let[e,i]=await Promise.all([this.parse(),this.asResponse()]);return{data:e,response:i,request_id:i.headers.get("x-request-id")}}parse(){return this.parsedPromise||(this.parsedPromise=this.responsePromise.then(this.parseResponse)),this.parsedPromise}then(e,i){return this.parse().then(e,i)}catch(e){return this.parse().catch(e)}finally(e){return this.parse().finally(e)}},ko=class{constructor({baseURL:e,maxRetries:i=2,timeout:o=6e5,httpAgent:f,fetch:h}){this.baseURL=e,this.maxRetries=x0("maxRetries",i),this.timeout=x0("timeout",o),this.httpAgent=f,this.fetch=h??p0}authHeaders(e){return{}}defaultHeaders(e){return{Accept:"application/json","Content-Type":"application/json","User-Agent":this.getUserAgent(),...jy(),...this.authHeaders(e)}}validateHeaders(e,i){}defaultIdempotencyKey(){return`stainless-node-retry-${Ly()}`}get(e,i){return this.methodRequest("get",e,i)}post(e,i){return this.methodRequest("post",e,i)}patch(e,i){return this.methodRequest("patch",e,i)}put(e,i){return this.methodRequest("put",e,i)}delete(e,i){return this.methodRequest("delete",e,i)}methodRequest(e,i,o){return this.request(Promise.resolve(o).then(async f=>{let h=f&&ls(f?.body)?new DataView(await f.body.arrayBuffer()):f?.body instanceof DataView?f.body:f?.body instanceof ArrayBuffer?new DataView(f.body):f&&ArrayBuffer.isView(f?.body)?new DataView(f.body.buffer):f?.body;return{method:e,path:i,...f,body:h}}))}getAPIList(e,i,o){return this.requestAPIList(i,{method:"get",path:e,...o})}calculateContentLength(e){if(typeof e=="string"){if(typeof Buffer<"u")return Buffer.byteLength(e,"utf8").toString();if(typeof TextEncoder<"u")return new TextEncoder().encode(e).length.toString()}else if(ArrayBuffer.isView(e))return e.byteLength.toString();return null}buildRequest(e,{retryCount:i=0}={}){let o={...e},{method:f,path:h,query:m,headers:y={}}=o,E=ArrayBuffer.isView(o.body)||o.__binaryRequest&&typeof o.body=="string"?o.body:S0(o.body)?o.body.body:o.body?JSON.stringify(o.body,null,2):null,b=this.calculateContentLength(E),_=this.buildURL(h,m);"timeout"in o&&x0("timeout",o.timeout),o.timeout=o.timeout??this.timeout;let v=o.httpAgent??this.httpAgent??w0(_),P=o.timeout+1e3;typeof v?.options?.timeout=="number"&&P>(v.options.timeout??0)&&(v.options.timeout=P),this.idempotencyHeader&&f!=="get"&&(e.idempotencyKey||(e.idempotencyKey=this.defaultIdempotencyKey()),y[this.idempotencyHeader]=e.idempotencyKey);let S=this.buildHeaders({options:o,headers:y,contentLength:b,retryCount:i});return{req:{method:f,...E&&{body:E},headers:S,...v&&{agent:v},signal:o.signal??null},url:_,timeout:o.timeout}}buildHeaders({options:e,headers:i,contentLength:o,retryCount:f}){let h={};o&&(h["content-length"]=o);let m=this.defaultHeaders(e);return jc(h,m),jc(h,i),S0(e.body)&&en!=="node"&&delete h["content-type"],$o(m,"x-stainless-retry-count")===void 0&&$o(i,"x-stainless-retry-count")===void 0&&(h["x-stainless-retry-count"]=String(f)),$o(m,"x-stainless-timeout")===void 0&&$o(i,"x-stainless-timeout")===void 0&&e.timeout&&(h["x-stainless-timeout"]=String(Math.trunc(e.timeout/1e3))),this.validateHeaders(h,i),h}async prepareOptions(e){}async prepareRequest(e,{url:i,options:o}){}parseHeaders(e){return e?Symbol.iterator in e?Object.fromEntries(Array.from(e).map(i=>[...i])):{...e}:{}}makeStatusError(e,i,o,f){return Pt.generate(e,i,o,f)}request(e,i=null){return new Po(this.makeRequest(e,i))}async makeRequest(e,i){let o=await e,f=o.maxRetries??this.maxRetries;i==null&&(i=f),await this.prepareOptions(o);let{req:h,url:m,timeout:y}=this.buildRequest(o,{retryCount:f-i});if(await this.prepareRequest(h,{url:m,options:o}),er("request",m,o,h.headers),o.signal?.aborted)throw new Et;let E=new AbortController,b=await this.fetchWithTimeout(m,h,y,E).catch(vo);if(b instanceof Error){if(o.signal?.aborted)throw new Et;if(i)return this.retryRequest(o,i);throw b.name==="AbortError"?new wr:new yr({cause:b})}let _=$0(b.headers);if(!b.ok){if(i&&this.shouldRetry(b)){let B=`retrying, ${i} attempts remaining`;return er(`response (error; ${B})`,b.status,m,_),this.retryRequest(o,i,_)}let v=await b.text().catch(B=>vo(B).message),P=Ny(v),S=P?void 0:v;throw er(`response (error; ${i?"(error; no more retries left)":"(error; not retryable)"})`,b.status,m,_,S),this.makeStatusError(b.status,P,S,_)}return{response:b,options:o,controller:E}}requestAPIList(e,i){let o=this.makeRequest(i,null);return new D0(this,o,e)}buildURL(e,i){let o=Qy(e)?new URL(e):new URL(this.baseURL+(this.baseURL.endsWith("/")&&e.startsWith("/")?e.slice(1):e)),f=this.defaultQuery();return Lc(f)||(i={...f,...i}),typeof i=="object"&&i&&!Array.isArray(i)&&(o.search=this.stringifyQuery(i)),o.toString()}stringifyQuery(e){return Object.entries(e).filter(([i,o])=>typeof o<"u").map(([i,o])=>{if(typeof o=="string"||typeof o=="number"||typeof o=="boolean")return`${encodeURIComponent(i)}=${encodeURIComponent(o)}`;if(o===null)return`${encodeURIComponent(i)}=`;throw new $e(`Cannot stringify type ${typeof o}; Expected string, number, boolean, or null. If you need to pass nested query parameters, you can manually encode them, e.g. { query: { 'foo[key1]': value1, 'foo[key2]': value2 } }, and please open a GitHub issue requesting better support for your use case.`)}).join("&")}async fetchWithTimeout(e,i,o,f){let{signal:h,...m}=i||{};h&&h.addEventListener("abort",()=>f.abort());let y=setTimeout(()=>f.abort(),o),E={signal:f.signal,...m};return E.method&&(E.method=E.method.toUpperCase()),this.fetch.call(void 0,e,E).finally(()=>{clearTimeout(y)})}shouldRetry(e){let i=e.headers.get("x-should-retry");return i==="true"?!0:i==="false"?!1:e.status===408||e.status===409||e.status===429||e.status>=500}async retryRequest(e,i,o){let f,h=o?.["retry-after-ms"];if(h){let y=parseFloat(h);Number.isNaN(y)||(f=y)}let m=o?.["retry-after"];if(m&&!f){let y=parseFloat(m);Number.isNaN(y)?f=Date.parse(m)-Date.now():f=y*1e3}if(!(f&&0<=f&&f<60*1e3)){let y=e.maxRetries??this.maxRetries;f=this.calculateDefaultRetryTimeoutMillis(i,y)}return await tr(f),this.makeRequest(e,i-1)}calculateDefaultRetryTimeoutMillis(e,i){let h=i-e,m=Math.min(.5*Math.pow(2,h),8),y=1-Math.random()*.25;return m*y*1e3}getUserAgent(){return`${this.constructor.name}/JS ${Zr}`}},us=class{constructor(e,i,o,f){Eo.set(this,void 0),Oy(this,Eo,e,"f"),this.options=f,this.response=i,this.body=o}hasNextPage(){return this.getPaginatedItems().length?this.nextPageInfo()!=null:!1}async getNextPage(){let e=this.nextPageInfo();if(!e)throw new $e("No next page expected; please check `.hasNextPage()` before calling `.getNextPage()`.");let i={...this.options};if("params"in e&&typeof i.query=="object")i.query={...i.query,...e.params};else if("url"in e){let o=[...Object.entries(i.query||{}),...e.url.searchParams.entries()];for(let[f,h]of o)e.url.searchParams.set(f,h);i.query=void 0,i.path=e.url.toString()}return await Ty(this,Eo,"f").requestAPIList(this.constructor,i)}async*iterPages(){let e=this;for(yield e;e.hasNextPage();)e=await e.getNextPage(),yield e}async*[(Eo=new WeakMap,Symbol.asyncIterator)](){for await(let e of this.iterPages())for(let i of e.getPaginatedItems())yield i}},D0=class extends Po{constructor(e,i,o){super(i,async f=>new o(e,f.response,await Fc(f),f.options))}async*[Symbol.asyncIterator](){let e=await this;for await(let i of e)yield i}},$0=n=>new Proxy(Object.fromEntries(n.entries()),{get(e,i){let o=i.toString();return e[o.toLowerCase()]||e[o]}}),Iy={method:!0,path:!0,query:!0,body:!0,headers:!0,maxRetries:!0,stream:!0,timeout:!0,httpAgent:!0,signal:!0,idempotencyKey:!0,__metadata:!0,__binaryRequest:!0,__binaryResponse:!0,__streamClass:!0},qe=n=>typeof n=="object"&&n!==null&&!Lc(n)&&Object.keys(n).every(e=>qc(Iy,e)),By=()=>{if(typeof Deno<"u"&&Deno.build!=null)return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":Zr,"X-Stainless-OS":Bc(Deno.build.os),"X-Stainless-Arch":Ic(Deno.build.arch),"X-Stainless-Runtime":"deno","X-Stainless-Runtime-Version":typeof Deno.version=="string"?Deno.version:Deno.version?.deno??"unknown"};if(typeof EdgeRuntime<"u")return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":Zr,"X-Stainless-OS":"Unknown","X-Stainless-Arch":`other:${EdgeRuntime}`,"X-Stainless-Runtime":"edge","X-Stainless-Runtime-Version":process.version};if(Object.prototype.toString.call(typeof process<"u"?process:0)==="[object process]")return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":Zr,"X-Stainless-OS":Bc(process.platform),"X-Stainless-Arch":Ic(process.arch),"X-Stainless-Runtime":"node","X-Stainless-Runtime-Version":process.version};let n=My();return n?{"X-Stainless-Lang":"js","X-Stainless-Package-Version":Zr,"X-Stainless-OS":"Unknown","X-Stainless-Arch":"unknown","X-Stainless-Runtime":`browser:${n.browser}`,"X-Stainless-Runtime-Version":n.version}:{"X-Stainless-Lang":"js","X-Stainless-Package-Version":Zr,"X-Stainless-OS":"Unknown","X-Stainless-Arch":"unknown","X-Stainless-Runtime":"unknown","X-Stainless-Runtime-Version":"unknown"}};function My(){if(typeof navigator>"u"||!navigator)return null;let n=[{key:"edge",pattern:/Edge(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"ie",pattern:/MSIE(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"ie",pattern:/Trident(?:.*rv\:(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"chrome",pattern:/Chrome(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"firefox",pattern:/Firefox(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"safari",pattern:/(?:Version\W+(\d+)\.(\d+)(?:\.(\d+))?)?(?:\W+Mobile\S*)?\W+Safari/}];for(let{key:e,pattern:i}of n){let o=i.exec(navigator.userAgent);if(o){let f=o[1]||0,h=o[2]||0,m=o[3]||0;return{browser:e,version:`${f}.${h}.${m}`}}}return null}var Ic=n=>n==="x32"?"x32":n==="x86_64"||n==="x64"?"x64":n==="arm"?"arm":n==="aarch64"||n==="arm64"?"arm64":n?`other:${n}`:"unknown",Bc=n=>(n=n.toLowerCase(),n.includes("ios")?"iOS":n==="android"?"Android":n==="darwin"?"MacOS":n==="win32"?"Windows":n==="freebsd"?"FreeBSD":n==="openbsd"?"OpenBSD":n==="linux"?"Linux":n?`Other:${n}`:"Unknown"),Mc,jy=()=>Mc??(Mc=By()),Ny=n=>{try{return JSON.parse(n)}catch{return}},Fy=/^[a-z][a-z0-9+.-]*:/i,Qy=n=>Fy.test(n),tr=n=>new Promise(e=>setTimeout(e,n)),x0=(n,e)=>{if(typeof e!="number"||!Number.isInteger(e))throw new $e(`${n} must be an integer`);if(e<0)throw new $e(`${n} must be a positive integer`);return e},vo=n=>{if(n instanceof Error)return n;if(typeof n=="object"&&n!==null)try{return new Error(JSON.stringify(n))}catch{}return new Error(n)};var fs=n=>{if(typeof process<"u")return process.env?.[n]?.trim()??void 0;if(typeof Deno<"u")return Deno.env?.get?.(n)?.trim()};function Lc(n){if(!n)return!0;for(let e in n)return!1;return!0}function qc(n,e){return Object.prototype.hasOwnProperty.call(n,e)}function jc(n,e){for(let i in e){if(!qc(e,i))continue;let o=i.toLowerCase();if(!o)continue;let f=e[i];f===null?delete n[o]:f!==void 0&&(n[o]=f)}}var Nc=new Set(["authorization","api-key"]);function er(n,...e){if(typeof process<"u"&&process?.env?.DEBUG==="true"){let i=e.map(o=>{if(!o)return o;if(o.headers){let h={...o,headers:{...o.headers}};for(let m in o.headers)Nc.has(m.toLowerCase())&&(h.headers[m]="REDACTED");return h}let f=null;for(let h in o)Nc.has(h.toLowerCase())&&(f??(f={...o}),f[h]="REDACTED");return f??o});console.log(`OpenAI:DEBUG:${n}`,...i)}}var Ly=()=>"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,n=>{let e=Math.random()*16|0;return(n==="x"?e:e&3|8).toString(16)}),Uc=()=>typeof window<"u"&&typeof window.document<"u"&&typeof navigator<"u",qy=n=>typeof n?.get=="function";var $o=(n,e)=>{let i=e.toLowerCase();if(qy(n)){let o=e[0]?.toUpperCase()+e.substring(1).replace(/([^\w])(\w)/g,(f,h,m)=>h+m.toUpperCase());for(let f of[e,i,e.toUpperCase(),o]){let h=n.get(f);if(h)return h}}for(let[o,f]of Object.entries(n))if(o.toLowerCase()===i)return Array.isArray(f)?(f.length<=1||console.warn(`Received ${f.length} entries for the ${e} header, using the first entry.`),f[0]):f};var Gc=n=>{if(typeof Buffer<"u"){let e=Buffer.from(n,"base64");return Array.from(new Float32Array(e.buffer,e.byteOffset,e.length/Float32Array.BYTES_PER_ELEMENT))}else{let e=atob(n),i=e.length,o=new Uint8Array(i);for(let f=0;f<i;f++)o[f]=e.charCodeAt(f);return Array.from(new Float32Array(o.buffer))}};function cs(n){return n!=null&&typeof n=="object"&&!Array.isArray(n)}var NA=class extends us{constructor(e,i,o,f){super(e,i,o,f),this.data=o.data||[],this.object=o.object}getPaginatedItems(){return this.data??[]}nextPageParams(){return null}nextPageInfo(){return null}},We=class extends us{constructor(e,i,o,f){super(e,i,o,f),this.data=o.data||[],this.has_more=o.has_more||!1}getPaginatedItems(){return this.data??[]}hasNextPage(){return this.has_more===!1?!1:super.hasNextPage()}nextPageParams(){let e=this.nextPageInfo();if(!e)return null;if("params"in e)return e.params;let i=Object.fromEntries(e.url.searchParams);return Object.keys(i).length?i:null}nextPageInfo(){let e=this.getPaginatedItems();if(!e.length)return null;let i=e[e.length-1]?.id;return i?{params:{after:i}}:null}};var de=class{constructor(e){this._client=e}};var Wn=class extends de{list(e,i={},o){return qe(i)?this.list(e,{},i):this._client.getAPIList(`/chat/completions/${e}/messages`,Co,{query:i,...o})}};var _r=class extends de{constructor(){super(...arguments),this.messages=new Wn(this._client)}create(e,i){return this._client.post("/chat/completions",{body:e,...i,stream:e.stream??!1})}retrieve(e,i){return this._client.get(`/chat/completions/${e}`,i)}update(e,i,o){return this._client.post(`/chat/completions/${e}`,{body:i,...o})}list(e={},i){return qe(e)?this.list({},e):this._client.getAPIList("/chat/completions",vr,{query:e,...i})}del(e,i){return this._client.delete(`/chat/completions/${e}`,i)}},vr=class extends We{},Co=class extends We{};_r.ChatCompletionsPage=vr;_r.Messages=Wn;var rr=class extends de{constructor(){super(...arguments),this.completions=new _r(this._client)}};rr.Completions=_r;rr.ChatCompletionsPage=vr;var Yn=class extends de{create(e,i){return this._client.post("/audio/speech",{body:e,...i,headers:{Accept:"application/octet-stream",...i?.headers},__binaryResponse:!0})}};var Xn=class extends de{create(e,i){return this._client.post("/audio/transcriptions",Xt({body:e,...i,stream:e.stream??!1,__metadata:{model:e.model}}))}};var Zn=class extends de{create(e,i){return this._client.post("/audio/translations",Xt({body:e,...i,__metadata:{model:e.model}}))}};var FA=class extends de{constructor(){super(...arguments),this.transcriptions=new Xn(this._client),this.translations=new Zn(this._client),this.speech=new Yn(this._client)}};FA.Transcriptions=Xn;FA.Translations=Zn;FA.Speech=Yn;var br=class extends de{create(e,i){return this._client.post("/batches",{body:e,...i})}retrieve(e,i){return this._client.get(`/batches/${e}`,i)}list(e={},i){return qe(e)?this.list({},e):this._client.getAPIList("/batches",rn,{query:e,...i})}cancel(e,i){return this._client.post(`/batches/${e}/cancel`,i)}},rn=class extends We{};br.BatchesPage=rn;var _A=function(n,e,i,o,f){if(o==="m")throw new TypeError("Private method is not writable");if(o==="a"&&!f)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?n!==e||!f:!e.has(n))throw new TypeError("Cannot write private member to an object whose class did not declare it");return o==="a"?f.call(n,i):f?f.value=i:e.set(n,i),i},wt=function(n,e,i,o){if(i==="a"&&!o)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?n!==e||!o:!e.has(n))throw new TypeError("Cannot read private member from an object whose class did not declare it");return i==="m"?o:i==="a"?o.call(n):o?o.value:e.get(n)},R0,So,xo,ds,hs,Do,ps,nr,ms,Ro,Oo,ei,Hc,Er=class{constructor(){R0.add(this),this.controller=new AbortController,So.set(this,void 0),xo.set(this,()=>{}),ds.set(this,()=>{}),hs.set(this,void 0),Do.set(this,()=>{}),ps.set(this,()=>{}),nr.set(this,{}),ms.set(this,!1),Ro.set(this,!1),Oo.set(this,!1),ei.set(this,!1),_A(this,So,new Promise((e,i)=>{_A(this,xo,e,"f"),_A(this,ds,i,"f")}),"f"),_A(this,hs,new Promise((e,i)=>{_A(this,Do,e,"f"),_A(this,ps,i,"f")}),"f"),wt(this,So,"f").catch(()=>{}),wt(this,hs,"f").catch(()=>{})}_run(e){setTimeout(()=>{e().then(()=>{this._emitFinal(),this._emit("end")},wt(this,R0,"m",Hc).bind(this))},0)}_connected(){this.ended||(wt(this,xo,"f").call(this),this._emit("connect"))}get ended(){return wt(this,ms,"f")}get errored(){return wt(this,Ro,"f")}get aborted(){return wt(this,Oo,"f")}abort(){this.controller.abort()}on(e,i){return(wt(this,nr,"f")[e]||(wt(this,nr,"f")[e]=[])).push({listener:i}),this}off(e,i){let o=wt(this,nr,"f")[e];if(!o)return this;let f=o.findIndex(h=>h.listener===i);return f>=0&&o.splice(f,1),this}once(e,i){return(wt(this,nr,"f")[e]||(wt(this,nr,"f")[e]=[])).push({listener:i,once:!0}),this}emitted(e){return new Promise((i,o)=>{_A(this,ei,!0,"f"),e!=="error"&&this.once("error",o),this.once(e,i)})}async done(){_A(this,ei,!0,"f"),await wt(this,hs,"f")}_emit(e,...i){if(wt(this,ms,"f"))return;e==="end"&&(_A(this,ms,!0,"f"),wt(this,Do,"f").call(this));let o=wt(this,nr,"f")[e];if(o&&(wt(this,nr,"f")[e]=o.filter(f=>!f.once),o.forEach(({listener:f})=>f(...i))),e==="abort"){let f=i[0];!wt(this,ei,"f")&&!o?.length&&Promise.reject(f),wt(this,ds,"f").call(this,f),wt(this,ps,"f").call(this,f),this._emit("end");return}if(e==="error"){let f=i[0];!wt(this,ei,"f")&&!o?.length&&Promise.reject(f),wt(this,ds,"f").call(this,f),wt(this,ps,"f").call(this,f),this._emit("end")}}_emitFinal(){}};So=new WeakMap,xo=new WeakMap,ds=new WeakMap,hs=new WeakMap,Do=new WeakMap,ps=new WeakMap,nr=new WeakMap,ms=new WeakMap,Ro=new WeakMap,Oo=new WeakMap,ei=new WeakMap,R0=new WeakSet,Hc=function(e){if(_A(this,Ro,!0,"f"),e instanceof Error&&e.name==="AbortError"&&(e=new Et),e instanceof Et)return _A(this,Oo,!0,"f"),this._emit("abort",e);if(e instanceof $e)return this._emit("error",e);if(e instanceof Error){let i=new $e(e.message);return i.cause=e,this._emit("error",i)}return this._emit("error",new $e(String(e)))};var Se=function(n,e,i,o){if(i==="a"&&!o)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?n!==e||!o:!e.has(n))throw new TypeError("Cannot read private member from an object whose class did not declare it");return i==="m"?o:i==="a"?o.call(n):o?o.value:e.get(n)},sA=function(n,e,i,o,f){if(o==="m")throw new TypeError("Private method is not writable");if(o==="a"&&!f)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?n!==e||!f:!e.has(n))throw new TypeError("Cannot write private member to an object whose class did not declare it");return o==="a"?f.call(n,i):f?f.value=i:e.set(n,i),i},Mt,O0,QA,To,vA,sn,ti,nn,Mo,oA,Io,Bo,ws,gs,ys,Vc,zc,Jc,Kc,Wc,Yc,Xc,LA=class n extends Er{constructor(){super(...arguments),Mt.add(this),O0.set(this,[]),QA.set(this,{}),To.set(this,{}),vA.set(this,void 0),sn.set(this,void 0),ti.set(this,void 0),nn.set(this,void 0),Mo.set(this,void 0),oA.set(this,void 0),Io.set(this,void 0),Bo.set(this,void 0),ws.set(this,void 0)}[(O0=new WeakMap,QA=new WeakMap,To=new WeakMap,vA=new WeakMap,sn=new WeakMap,ti=new WeakMap,nn=new WeakMap,Mo=new WeakMap,oA=new WeakMap,Io=new WeakMap,Bo=new WeakMap,ws=new WeakMap,Mt=new WeakSet,Symbol.asyncIterator)](){let e=[],i=[],o=!1;return this.on("event",f=>{let h=i.shift();h?h.resolve(f):e.push(f)}),this.on("end",()=>{o=!0;for(let f of i)f.resolve(void 0);i.length=0}),this.on("abort",f=>{o=!0;for(let h of i)h.reject(f);i.length=0}),this.on("error",f=>{o=!0;for(let h of i)h.reject(f);i.length=0}),{next:async()=>e.length?{value:e.shift(),done:!1}:o?{value:void 0,done:!0}:new Promise((h,m)=>i.push({resolve:h,reject:m})).then(h=>h?{value:h,done:!1}:{value:void 0,done:!0}),return:async()=>(this.abort(),{value:void 0,done:!0})}}static fromReadableStream(e){let i=new n;return i._run(()=>i._fromReadableStream(e)),i}async _fromReadableStream(e,i){let o=i?.signal;o&&(o.aborted&&this.controller.abort(),o.addEventListener("abort",()=>this.controller.abort())),this._connected();let f=jA.fromReadableStream(e,this.controller);for await(let h of f)Se(this,Mt,"m",gs).call(this,h);if(f.controller.signal?.aborted)throw new Et;return this._addRun(Se(this,Mt,"m",ys).call(this))}toReadableStream(){return new jA(this[Symbol.asyncIterator].bind(this),this.controller).toReadableStream()}static createToolAssistantStream(e,i,o,f,h){let m=new n;return m._run(()=>m._runToolAssistantStream(e,i,o,f,{...h,headers:{...h?.headers,"X-Stainless-Helper-Method":"stream"}})),m}async _createToolAssistantStream(e,i,o,f,h){let m=h?.signal;m&&(m.aborted&&this.controller.abort(),m.addEventListener("abort",()=>this.controller.abort()));let y={...f,stream:!0},E=await e.submitToolOutputs(i,o,y,{...h,signal:this.controller.signal});this._connected();for await(let b of E)Se(this,Mt,"m",gs).call(this,b);if(E.controller.signal?.aborted)throw new Et;return this._addRun(Se(this,Mt,"m",ys).call(this))}static createThreadAssistantStream(e,i,o){let f=new n;return f._run(()=>f._threadAssistantStream(e,i,{...o,headers:{...o?.headers,"X-Stainless-Helper-Method":"stream"}})),f}static createAssistantStream(e,i,o,f){let h=new n;return h._run(()=>h._runAssistantStream(e,i,o,{...f,headers:{...f?.headers,"X-Stainless-Helper-Method":"stream"}})),h}currentEvent(){return Se(this,Io,"f")}currentRun(){return Se(this,Bo,"f")}currentMessageSnapshot(){return Se(this,vA,"f")}currentRunStepSnapshot(){return Se(this,ws,"f")}async finalRunSteps(){return await this.done(),Object.values(Se(this,QA,"f"))}async finalMessages(){return await this.done(),Object.values(Se(this,To,"f"))}async finalRun(){if(await this.done(),!Se(this,sn,"f"))throw Error("Final run was not received.");return Se(this,sn,"f")}async _createThreadAssistantStream(e,i,o){let f=o?.signal;f&&(f.aborted&&this.controller.abort(),f.addEventListener("abort",()=>this.controller.abort()));let h={...i,stream:!0},m=await e.createAndRun(h,{...o,signal:this.controller.signal});this._connected();for await(let y of m)Se(this,Mt,"m",gs).call(this,y);if(m.controller.signal?.aborted)throw new Et;return this._addRun(Se(this,Mt,"m",ys).call(this))}async _createAssistantStream(e,i,o,f){let h=f?.signal;h&&(h.aborted&&this.controller.abort(),h.addEventListener("abort",()=>this.controller.abort()));let m={...o,stream:!0},y=await e.create(i,m,{...f,signal:this.controller.signal});this._connected();for await(let E of y)Se(this,Mt,"m",gs).call(this,E);if(y.controller.signal?.aborted)throw new Et;return this._addRun(Se(this,Mt,"m",ys).call(this))}static accumulateDelta(e,i){for(let[o,f]of Object.entries(i)){if(!e.hasOwnProperty(o)){e[o]=f;continue}let h=e[o];if(h==null){e[o]=f;continue}if(o==="index"||o==="type"){e[o]=f;continue}if(typeof h=="string"&&typeof f=="string")h+=f;else if(typeof h=="number"&&typeof f=="number")h+=f;else if(cs(h)&&cs(f))h=this.accumulateDelta(h,f);else if(Array.isArray(h)&&Array.isArray(f)){if(h.every(m=>typeof m=="string"||typeof m=="number")){h.push(...f);continue}for(let m of f){if(!cs(m))throw new Error(`Expected array delta entry to be an object but got: ${m}`);let y=m.index;if(y==null)throw console.error(m),new Error("Expected array delta entry to have an `index` property");if(typeof y!="number")throw new Error(`Expected array delta entry \`index\` property to be a number but got ${y}`);let E=h[y];E==null?h.push(m):h[y]=this.accumulateDelta(E,m)}continue}else throw Error(`Unhandled record type: ${o}, deltaValue: ${f}, accValue: ${h}`);e[o]=h}return e}_addRun(e){return e}async _threadAssistantStream(e,i,o){return await this._createThreadAssistantStream(i,e,o)}async _runAssistantStream(e,i,o,f){return await this._createAssistantStream(i,e,o,f)}async _runToolAssistantStream(e,i,o,f,h){return await this._createToolAssistantStream(o,e,i,f,h)}};gs=function(e){if(!this.ended)switch(sA(this,Io,e,"f"),Se(this,Mt,"m",Jc).call(this,e),e.event){case"thread.created":break;case"thread.run.created":case"thread.run.queued":case"thread.run.in_progress":case"thread.run.requires_action":case"thread.run.completed":case"thread.run.incomplete":case"thread.run.failed":case"thread.run.cancelling":case"thread.run.cancelled":case"thread.run.expired":Se(this,Mt,"m",Xc).call(this,e);break;case"thread.run.step.created":case"thread.run.step.in_progress":case"thread.run.step.delta":case"thread.run.step.completed":case"thread.run.step.failed":case"thread.run.step.cancelled":case"thread.run.step.expired":Se(this,Mt,"m",zc).call(this,e);break;case"thread.message.created":case"thread.message.in_progress":case"thread.message.delta":case"thread.message.completed":case"thread.message.incomplete":Se(this,Mt,"m",Vc).call(this,e);break;case"error":throw new Error("Encountered an error event in event processing - errors should be processed earlier");default:}},ys=function(){if(this.ended)throw new $e("stream has ended, this shouldn't happen");if(!Se(this,sn,"f"))throw Error("Final run has not been received");return Se(this,sn,"f")},Vc=function(e){let[i,o]=Se(this,Mt,"m",Wc).call(this,e,Se(this,vA,"f"));sA(this,vA,i,"f"),Se(this,To,"f")[i.id]=i;for(let f of o){let h=i.content[f.index];h?.type=="text"&&this._emit("textCreated",h.text)}switch(e.event){case"thread.message.created":this._emit("messageCreated",e.data);break;case"thread.message.in_progress":break;case"thread.message.delta":if(this._emit("messageDelta",e.data.delta,i),e.data.delta.content)for(let f of e.data.delta.content){if(f.type=="text"&&f.text){let h=f.text,m=i.content[f.index];if(m&&m.type=="text")this._emit("textDelta",h,m.text);else throw Error("The snapshot associated with this text delta is not text or missing")}if(f.index!=Se(this,ti,"f")){if(Se(this,nn,"f"))switch(Se(this,nn,"f").type){case"text":this._emit("textDone",Se(this,nn,"f").text,Se(this,vA,"f"));break;case"image_file":this._emit("imageFileDone",Se(this,nn,"f").image_file,Se(this,vA,"f"));break}sA(this,ti,f.index,"f")}sA(this,nn,i.content[f.index],"f")}break;case"thread.message.completed":case"thread.message.incomplete":if(Se(this,ti,"f")!==void 0){let f=e.data.content[Se(this,ti,"f")];if(f)switch(f.type){case"image_file":this._emit("imageFileDone",f.image_file,Se(this,vA,"f"));break;case"text":this._emit("textDone",f.text,Se(this,vA,"f"));break}}Se(this,vA,"f")&&this._emit("messageDone",e.data),sA(this,vA,void 0,"f")}},zc=function(e){let i=Se(this,Mt,"m",Kc).call(this,e);switch(sA(this,ws,i,"f"),e.event){case"thread.run.step.created":this._emit("runStepCreated",e.data);break;case"thread.run.step.delta":let o=e.data.delta;if(o.step_details&&o.step_details.type=="tool_calls"&&o.step_details.tool_calls&&i.step_details.type=="tool_calls")for(let h of o.step_details.tool_calls)h.index==Se(this,Mo,"f")?this._emit("toolCallDelta",h,i.step_details.tool_calls[h.index]):(Se(this,oA,"f")&&this._emit("toolCallDone",Se(this,oA,"f")),sA(this,Mo,h.index,"f"),sA(this,oA,i.step_details.tool_calls[h.index],"f"),Se(this,oA,"f")&&this._emit("toolCallCreated",Se(this,oA,"f")));this._emit("runStepDelta",e.data.delta,i);break;case"thread.run.step.completed":case"thread.run.step.failed":case"thread.run.step.cancelled":case"thread.run.step.expired":sA(this,ws,void 0,"f"),e.data.step_details.type=="tool_calls"&&Se(this,oA,"f")&&(this._emit("toolCallDone",Se(this,oA,"f")),sA(this,oA,void 0,"f")),this._emit("runStepDone",e.data,i);break;case"thread.run.step.in_progress":break}},Jc=function(e){Se(this,O0,"f").push(e),this._emit("event",e)},Kc=function(e){switch(e.event){case"thread.run.step.created":return Se(this,QA,"f")[e.data.id]=e.data,e.data;case"thread.run.step.delta":let i=Se(this,QA,"f")[e.data.id];if(!i)throw Error("Received a RunStepDelta before creation of a snapshot");let o=e.data;if(o.delta){let f=LA.accumulateDelta(i,o.delta);Se(this,QA,"f")[e.data.id]=f}return Se(this,QA,"f")[e.data.id];case"thread.run.step.completed":case"thread.run.step.failed":case"thread.run.step.cancelled":case"thread.run.step.expired":case"thread.run.step.in_progress":Se(this,QA,"f")[e.data.id]=e.data;break}if(Se(this,QA,"f")[e.data.id])return Se(this,QA,"f")[e.data.id];throw new Error("No snapshot available")},Wc=function(e,i){let o=[];switch(e.event){case"thread.message.created":return[e.data,o];case"thread.message.delta":if(!i)throw Error("Received a delta with no existing snapshot (there should be one from message creation)");let f=e.data;if(f.delta.content)for(let h of f.delta.content)if(h.index in i.content){let m=i.content[h.index];i.content[h.index]=Se(this,Mt,"m",Yc).call(this,h,m)}else i.content[h.index]=h,o.push(h);return[i,o];case"thread.message.in_progress":case"thread.message.completed":case"thread.message.incomplete":if(i)return[i,o];throw Error("Received thread message event with no existing snapshot")}throw Error("Tried to accumulate a non-message event")},Yc=function(e,i){return LA.accumulateDelta(i,e)},Xc=function(e){switch(sA(this,Bo,e.data,"f"),e.event){case"thread.run.created":break;case"thread.run.queued":break;case"thread.run.in_progress":break;case"thread.run.requires_action":case"thread.run.cancelled":case"thread.run.failed":case"thread.run.completed":case"thread.run.expired":sA(this,sn,e.data,"f"),Se(this,oA,"f")&&(this._emit("toolCallDone",Se(this,oA,"f")),sA(this,oA,void 0,"f"));break;case"thread.run.cancelling":break}};var on=class extends de{create(e,i){return this._client.post("/assistants",{body:e,...i,headers:{"OpenAI-Beta":"assistants=v2",...i?.headers}})}retrieve(e,i){return this._client.get(`/assistants/${e}`,{...i,headers:{"OpenAI-Beta":"assistants=v2",...i?.headers}})}update(e,i,o){return this._client.post(`/assistants/${e}`,{body:i,...o,headers:{"OpenAI-Beta":"assistants=v2",...o?.headers}})}list(e={},i){return qe(e)?this.list({},e):this._client.getAPIList("/assistants",Ai,{query:e,...i,headers:{"OpenAI-Beta":"assistants=v2",...i?.headers}})}del(e,i){return this._client.delete(`/assistants/${e}`,{...i,headers:{"OpenAI-Beta":"assistants=v2",...i?.headers}})}},Ai=class extends We{};on.AssistantsPage=Ai;function T0(n){return typeof n.parse=="function"}var $r=n=>n?.role==="assistant",I0=n=>n?.role==="function",B0=n=>n?.role==="tool";function _s(n){return n?.$brand==="auto-parseable-response-format"}function an(n){return n?.$brand==="auto-parseable-tool"}function Zc(n,e){return!e||!M0(e)?{...n,choices:n.choices.map(i=>({...i,message:{...i.message,parsed:null,...i.message.tool_calls?{tool_calls:i.message.tool_calls}:void 0}}))}:vs(n,e)}function vs(n,e){let i=n.choices.map(o=>{if(o.finish_reason==="length")throw new Jn;if(o.finish_reason==="content_filter")throw new Kn;return{...o,message:{...o.message,...o.message.tool_calls?{tool_calls:o.message.tool_calls?.map(f=>Wy(e,f))??void 0}:void 0,parsed:o.message.content&&!o.message.refusal?Ky(e,o.message.content):null}}});return{...n,choices:i}}function Ky(n,e){return n.response_format?.type!=="json_schema"?null:n.response_format?.type==="json_schema"?"$parseRaw"in n.response_format?n.response_format.$parseRaw(e):JSON.parse(e):null}function Wy(n,e){let i=n.tools?.find(o=>o.function?.name===e.function.name);return{...e,function:{...e.function,parsed_arguments:an(i)?i.$parseRaw(e.function.arguments):i?.function.strict?JSON.parse(e.function.arguments):null}}}function ed(n,e){if(!n)return!1;let i=n.tools?.find(o=>o.function?.name===e.function.name);return an(i)||i?.function.strict||!1}function M0(n){return _s(n.response_format)?!0:n.tools?.some(e=>an(e)||e.type==="function"&&e.function.strict===!0)??!1}function td(n){for(let e of n??[]){if(e.type!=="function")throw new $e(`Currently only \`function\` tool types support auto-parsing; Received \`${e.type}\``);if(e.function.strict!==!0)throw new $e(`The \`${e.function.name}\` tool is not marked with \`strict: true\`. Only strict function tools can be auto-parsed`)}}var Zt=function(n,e,i,o){if(i==="a"&&!o)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?n!==e||!o:!e.has(n))throw new TypeError("Cannot read private member from an object whose class did not declare it");return i==="m"?o:i==="a"?o.call(n):o?o.value:e.get(n)},Lt,j0,jo,N0,F0,Q0,rd,L0,Ad=10,ri=class extends Er{constructor(){super(...arguments),Lt.add(this),this._chatCompletions=[],this.messages=[]}_addChatCompletion(e){this._chatCompletions.push(e),this._emit("chatCompletion",e);let i=e.choices[0]?.message;return i&&this._addMessage(i),e}_addMessage(e,i=!0){if("content"in e||(e.content=null),this.messages.push(e),i){if(this._emit("message",e),(I0(e)||B0(e))&&e.content)this._emit("functionCallResult",e.content);else if($r(e)&&e.function_call)this._emit("functionCall",e.function_call);else if($r(e)&&e.tool_calls)for(let o of e.tool_calls)o.type==="function"&&this._emit("functionCall",o.function)}}async finalChatCompletion(){await this.done();let e=this._chatCompletions[this._chatCompletions.length-1];if(!e)throw new $e("stream ended without producing a ChatCompletion");return e}async finalContent(){return await this.done(),Zt(this,Lt,"m",j0).call(this)}async finalMessage(){return await this.done(),Zt(this,Lt,"m",jo).call(this)}async finalFunctionCall(){return await this.done(),Zt(this,Lt,"m",N0).call(this)}async finalFunctionCallResult(){return await this.done(),Zt(this,Lt,"m",F0).call(this)}async totalUsage(){return await this.done(),Zt(this,Lt,"m",Q0).call(this)}allChatCompletions(){return[...this._chatCompletions]}_emitFinal(){let e=this._chatCompletions[this._chatCompletions.length-1];e&&this._emit("finalChatCompletion",e);let i=Zt(this,Lt,"m",jo).call(this);i&&this._emit("finalMessage",i);let o=Zt(this,Lt,"m",j0).call(this);o&&this._emit("finalContent",o);let f=Zt(this,Lt,"m",N0).call(this);f&&this._emit("finalFunctionCall",f);let h=Zt(this,Lt,"m",F0).call(this);h!=null&&this._emit("finalFunctionCallResult",h),this._chatCompletions.some(m=>m.usage)&&this._emit("totalUsage",Zt(this,Lt,"m",Q0).call(this))}async _createChatCompletion(e,i,o){let f=o?.signal;f&&(f.aborted&&this.controller.abort(),f.addEventListener("abort",()=>this.controller.abort())),Zt(this,Lt,"m",rd).call(this,i);let h=await e.chat.completions.create({...i,stream:!1},{...o,signal:this.controller.signal});return this._connected(),this._addChatCompletion(vs(h,i))}async _runChatCompletion(e,i,o){for(let f of i.messages)this._addMessage(f,!1);return await this._createChatCompletion(e,i,o)}async _runFunctions(e,i,o){let f="function",{function_call:h="auto",stream:m,...y}=i,E=typeof h!="string"&&h?.name,{maxChatCompletions:b=Ad}=o||{},_={};for(let P of i.functions)_[P.name||P.function.name]=P;let v=i.functions.map(P=>({name:P.name||P.function.name,parameters:P.parameters,description:P.description}));for(let P of i.messages)this._addMessage(P,!1);for(let P=0;P<b;++P){let R=(await this._createChatCompletion(e,{...y,function_call:h,functions:v,messages:[...this.messages]},o)).choices[0]?.message;if(!R)throw new $e("missing message in ChatCompletion response");if(!R.function_call)return;let{name:$,arguments:B}=R.function_call,T=_[$];if(T){if(E&&E!==$){let V=`Invalid function_call: ${JSON.stringify($)}. ${JSON.stringify(E)} requested. Please try again`;this._addMessage({role:f,name:$,content:V});continue}}else{let V=`Invalid function_call: ${JSON.stringify($)}. Available options are: ${v.map(z=>JSON.stringify(z.name)).join(", ")}. Please try again`;this._addMessage({role:f,name:$,content:V});continue}let I;try{I=T0(T)?await T.parse(B):B}catch(V){this._addMessage({role:f,name:$,content:V instanceof Error?V.message:String(V)});continue}let q=await T.function(I,this),U=Zt(this,Lt,"m",L0).call(this,q);if(this._addMessage({role:f,name:$,content:U}),E)return}}async _runTools(e,i,o){let f="tool",{tool_choice:h="auto",stream:m,...y}=i,E=typeof h!="string"&&h?.function?.name,{maxChatCompletions:b=Ad}=o||{},_=i.tools.map(S=>{if(an(S)){if(!S.$callback)throw new $e("Tool given to `.runTools()` that does not have an associated function");return{type:"function",function:{function:S.$callback,name:S.function.name,description:S.function.description||"",parameters:S.function.parameters,parse:S.$parseRaw,strict:!0}}}return S}),v={};for(let S of _)S.type==="function"&&(v[S.function.name||S.function.function.name]=S.function);let P="tools"in i?_.map(S=>S.type==="function"?{type:"function",function:{name:S.function.name||S.function.function.name,parameters:S.function.parameters,description:S.function.description,strict:S.function.strict}}:S):void 0;for(let S of i.messages)this._addMessage(S,!1);for(let S=0;S<b;++S){let $=(await this._createChatCompletion(e,{...y,tool_choice:h,tools:P,messages:[...this.messages]},o)).choices[0]?.message;if(!$)throw new $e("missing message in ChatCompletion response");if(!$.tool_calls?.length)return;for(let B of $.tool_calls){if(B.type!=="function")continue;let T=B.id,{name:I,arguments:q}=B.function,U=v[I];if(U){if(E&&E!==I){let L=`Invalid tool_call: ${JSON.stringify(I)}. ${JSON.stringify(E)} requested. Please try again`;this._addMessage({role:f,tool_call_id:T,content:L});continue}}else{let L=`Invalid tool_call: ${JSON.stringify(I)}. Available options are: ${Object.keys(v).map(J=>JSON.stringify(J)).join(", ")}. Please try again`;this._addMessage({role:f,tool_call_id:T,content:L});continue}let V;try{V=T0(U)?await U.parse(q):q}catch(L){let J=L instanceof Error?L.message:String(L);this._addMessage({role:f,tool_call_id:T,content:J});continue}let z=await U.function(V,this),re=Zt(this,Lt,"m",L0).call(this,z);if(this._addMessage({role:f,tool_call_id:T,content:re}),E)return}}}};Lt=new WeakSet,j0=function(){return Zt(this,Lt,"m",jo).call(this).content??null},jo=function(){let e=this.messages.length;for(;e-- >0;){let i=this.messages[e];if($r(i)){let{function_call:o,...f}=i,h={...f,content:i.content??null,refusal:i.refusal??null};return o&&(h.function_call=o),h}}throw new $e("stream ended without producing a ChatCompletionMessage with role=assistant")},N0=function(){for(let e=this.messages.length-1;e>=0;e--){let i=this.messages[e];if($r(i)&&i?.function_call)return i.function_call;if($r(i)&&i?.tool_calls?.length)return i.tool_calls.at(-1)?.function}},F0=function(){for(let e=this.messages.length-1;e>=0;e--){let i=this.messages[e];if(I0(i)&&i.content!=null||B0(i)&&i.content!=null&&typeof i.content=="string"&&this.messages.some(o=>o.role==="assistant"&&o.tool_calls?.some(f=>f.type==="function"&&f.id===i.tool_call_id)))return i.content}},Q0=function(){let e={completion_tokens:0,prompt_tokens:0,total_tokens:0};for(let{usage:i}of this._chatCompletions)i&&(e.completion_tokens+=i.completion_tokens,e.prompt_tokens+=i.prompt_tokens,e.total_tokens+=i.total_tokens);return e},rd=function(e){if(e.n!=null&&e.n>1)throw new $e("ChatCompletion convenience helpers only support n=1 at this time. To use n>1, please use chat.completions.create() directly.")},L0=function(e){return typeof e=="string"?e:e===void 0?"undefined":JSON.stringify(e)};var bs=class n extends ri{static runFunctions(e,i,o){let f=new n,h={...o,headers:{...o?.headers,"X-Stainless-Helper-Method":"runFunctions"}};return f._run(()=>f._runFunctions(e,i,h)),f}static runTools(e,i,o){let f=new n,h={...o,headers:{...o?.headers,"X-Stainless-Helper-Method":"runTools"}};return f._run(()=>f._runTools(e,i,h)),f}_addMessage(e,i=!0){super._addMessage(e,i),$r(e)&&e.content&&this._emit("content",e.content)}};var It={STR:1,NUM:2,ARR:4,OBJ:8,NULL:16,BOOL:32,NAN:64,INFINITY:128,MINUS_INFINITY:256,INF:384,SPECIAL:496,ATOM:499,COLLECTION:12,ALL:511},q0=class extends Error{},U0=class extends Error{};function Yy(n,e=It.ALL){if(typeof n!="string")throw new TypeError(`expecting str, got ${typeof n}`);if(!n.trim())throw new Error(`${n} is empty`);return Xy(n.trim(),e)}var Xy=(n,e)=>{let i=n.length,o=0,f=P=>{throw new q0(`${P} at position ${o}`)},h=P=>{throw new U0(`${P} at position ${o}`)},m=()=>(v(),o>=i&&f("Unexpected end of input"),n[o]==='"'?y():n[o]==="{"?E():n[o]==="["?b():n.substring(o,o+4)==="null"||It.NULL&e&&i-o<4&&"null".startsWith(n.substring(o))?(o+=4,null):n.substring(o,o+4)==="true"||It.BOOL&e&&i-o<4&&"true".startsWith(n.substring(o))?(o+=4,!0):n.substring(o,o+5)==="false"||It.BOOL&e&&i-o<5&&"false".startsWith(n.substring(o))?(o+=5,!1):n.substring(o,o+8)==="Infinity"||It.INFINITY&e&&i-o<8&&"Infinity".startsWith(n.substring(o))?(o+=8,1/0):n.substring(o,o+9)==="-Infinity"||It.MINUS_INFINITY&e&&1<i-o&&i-o<9&&"-Infinity".startsWith(n.substring(o))?(o+=9,-1/0):n.substring(o,o+3)==="NaN"||It.NAN&e&&i-o<3&&"NaN".startsWith(n.substring(o))?(o+=3,NaN):_()),y=()=>{let P=o,S=!1;for(o++;o<i&&(n[o]!=='"'||S&&n[o-1]==="\\");)S=n[o]==="\\"?!S:!1,o++;if(n.charAt(o)=='"')try{return JSON.parse(n.substring(P,++o-Number(S)))}catch(R){h(String(R))}else if(It.STR&e)try{return JSON.parse(n.substring(P,o-Number(S))+'"')}catch{return JSON.parse(n.substring(P,n.lastIndexOf("\\"))+'"')}f("Unterminated string literal")},E=()=>{o++,v();let P={};try{for(;n[o]!=="}";){if(v(),o>=i&&It.OBJ&e)return P;let S=y();v(),o++;try{let R=m();Object.defineProperty(P,S,{value:R,writable:!0,enumerable:!0,configurable:!0})}catch(R){if(It.OBJ&e)return P;throw R}v(),n[o]===","&&o++}}catch{if(It.OBJ&e)return P;f("Expected '}' at end of object")}return o++,P},b=()=>{o++;let P=[];try{for(;n[o]!=="]";)P.push(m()),v(),n[o]===","&&o++}catch{if(It.ARR&e)return P;f("Expected ']' at end of array")}return o++,P},_=()=>{if(o===0){n==="-"&&It.NUM&e&&f("Not sure what '-' is");try{return JSON.parse(n)}catch(S){if(It.NUM&e)try{return n[n.length-1]==="."?JSON.parse(n.substring(0,n.lastIndexOf("."))):JSON.parse(n.substring(0,n.lastIndexOf("e")))}catch{}h(String(S))}}let P=o;for(n[o]==="-"&&o++;n[o]&&!",]}".includes(n[o]);)o++;o==i&&!(It.NUM&e)&&f("Unterminated number literal");try{return JSON.parse(n.substring(P,o))}catch{n.substring(P,o)==="-"&&It.NUM&e&&f("Not sure what '-' is");try{return JSON.parse(n.substring(P,n.lastIndexOf("e")))}catch(R){h(String(R))}}},v=()=>{for(;o<i&&`
|
|
15
|
-
\r `.includes(n[o]);)o++};return m()},G0=n=>Yy(n,It.ALL^It.NUM);var ni=function(n,e,i,o,f){if(o==="m")throw new TypeError("Private method is not writable");if(o==="a"&&!f)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?n!==e||!f:!e.has(n))throw new TypeError("Cannot write private member to an object whose class did not declare it");return o==="a"?f.call(n,i):f?f.value=i:e.set(n,i),i},ft=function(n,e,i,o){if(i==="a"&&!o)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?n!==e||!o:!e.has(n))throw new TypeError("Cannot read private member from an object whose class did not declare it");return i==="m"?o:i==="a"?o.call(n):o?o.value:e.get(n)},kt,ir,ii,Pr,H0,No,V0,z0,J0,Fo,K0,nd,si=class n extends ri{constructor(e){super(),kt.add(this),ir.set(this,void 0),ii.set(this,void 0),Pr.set(this,void 0),ni(this,ir,e,"f"),ni(this,ii,[],"f")}get currentChatCompletionSnapshot(){return ft(this,Pr,"f")}static fromReadableStream(e){let i=new n(null);return i._run(()=>i._fromReadableStream(e)),i}static createChatCompletion(e,i,o){let f=new n(i);return f._run(()=>f._runChatCompletion(e,{...i,stream:!0},{...o,headers:{...o?.headers,"X-Stainless-Helper-Method":"stream"}})),f}async _createChatCompletion(e,i,o){super._createChatCompletion;let f=o?.signal;f&&(f.aborted&&this.controller.abort(),f.addEventListener("abort",()=>this.controller.abort())),ft(this,kt,"m",H0).call(this);let h=await e.chat.completions.create({...i,stream:!0},{...o,signal:this.controller.signal});this._connected();for await(let m of h)ft(this,kt,"m",V0).call(this,m);if(h.controller.signal?.aborted)throw new Et;return this._addChatCompletion(ft(this,kt,"m",Fo).call(this))}async _fromReadableStream(e,i){let o=i?.signal;o&&(o.aborted&&this.controller.abort(),o.addEventListener("abort",()=>this.controller.abort())),ft(this,kt,"m",H0).call(this),this._connected();let f=jA.fromReadableStream(e,this.controller),h;for await(let m of f)h&&h!==m.id&&this._addChatCompletion(ft(this,kt,"m",Fo).call(this)),ft(this,kt,"m",V0).call(this,m),h=m.id;if(f.controller.signal?.aborted)throw new Et;return this._addChatCompletion(ft(this,kt,"m",Fo).call(this))}[(ir=new WeakMap,ii=new WeakMap,Pr=new WeakMap,kt=new WeakSet,H0=function(){this.ended||ni(this,Pr,void 0,"f")},No=function(i){let o=ft(this,ii,"f")[i.index];return o||(o={content_done:!1,refusal_done:!1,logprobs_content_done:!1,logprobs_refusal_done:!1,done_tool_calls:new Set,current_tool_call_index:null},ft(this,ii,"f")[i.index]=o,o)},V0=function(i){if(this.ended)return;let o=ft(this,kt,"m",nd).call(this,i);this._emit("chunk",i,o);for(let f of i.choices){let h=o.choices[f.index];f.delta.content!=null&&h.message?.role==="assistant"&&h.message?.content&&(this._emit("content",f.delta.content,h.message.content),this._emit("content.delta",{delta:f.delta.content,snapshot:h.message.content,parsed:h.message.parsed})),f.delta.refusal!=null&&h.message?.role==="assistant"&&h.message?.refusal&&this._emit("refusal.delta",{delta:f.delta.refusal,snapshot:h.message.refusal}),f.logprobs?.content!=null&&h.message?.role==="assistant"&&this._emit("logprobs.content.delta",{content:f.logprobs?.content,snapshot:h.logprobs?.content??[]}),f.logprobs?.refusal!=null&&h.message?.role==="assistant"&&this._emit("logprobs.refusal.delta",{refusal:f.logprobs?.refusal,snapshot:h.logprobs?.refusal??[]});let m=ft(this,kt,"m",No).call(this,h);h.finish_reason&&(ft(this,kt,"m",J0).call(this,h),m.current_tool_call_index!=null&&ft(this,kt,"m",z0).call(this,h,m.current_tool_call_index));for(let y of f.delta.tool_calls??[])m.current_tool_call_index!==y.index&&(ft(this,kt,"m",J0).call(this,h),m.current_tool_call_index!=null&&ft(this,kt,"m",z0).call(this,h,m.current_tool_call_index)),m.current_tool_call_index=y.index;for(let y of f.delta.tool_calls??[]){let E=h.message.tool_calls?.[y.index];E?.type&&(E?.type==="function"?this._emit("tool_calls.function.arguments.delta",{name:E.function?.name,index:y.index,arguments:E.function.arguments,parsed_arguments:E.function.parsed_arguments,arguments_delta:y.function?.arguments??""}):(E?.type,void 0))}}},z0=function(i,o){if(ft(this,kt,"m",No).call(this,i).done_tool_calls.has(o))return;let h=i.message.tool_calls?.[o];if(!h)throw new Error("no tool call snapshot");if(!h.type)throw new Error("tool call snapshot missing `type`");if(h.type==="function"){let m=ft(this,ir,"f")?.tools?.find(y=>y.type==="function"&&y.function.name===h.function.name);this._emit("tool_calls.function.arguments.done",{name:h.function.name,index:o,arguments:h.function.arguments,parsed_arguments:an(m)?m.$parseRaw(h.function.arguments):m?.function.strict?JSON.parse(h.function.arguments):null})}else h.type},J0=function(i){let o=ft(this,kt,"m",No).call(this,i);if(i.message.content&&!o.content_done){o.content_done=!0;let f=ft(this,kt,"m",K0).call(this);this._emit("content.done",{content:i.message.content,parsed:f?f.$parseRaw(i.message.content):null})}i.message.refusal&&!o.refusal_done&&(o.refusal_done=!0,this._emit("refusal.done",{refusal:i.message.refusal})),i.logprobs?.content&&!o.logprobs_content_done&&(o.logprobs_content_done=!0,this._emit("logprobs.content.done",{content:i.logprobs.content})),i.logprobs?.refusal&&!o.logprobs_refusal_done&&(o.logprobs_refusal_done=!0,this._emit("logprobs.refusal.done",{refusal:i.logprobs.refusal}))},Fo=function(){if(this.ended)throw new $e("stream has ended, this shouldn't happen");let i=ft(this,Pr,"f");if(!i)throw new $e("request ended without sending any chunks");return ni(this,Pr,void 0,"f"),ni(this,ii,[],"f"),Zy(i,ft(this,ir,"f"))},K0=function(){let i=ft(this,ir,"f")?.response_format;return _s(i)?i:null},nd=function(i){var o,f,h,m;let y=ft(this,Pr,"f"),{choices:E,...b}=i;y?Object.assign(y,b):y=ni(this,Pr,{...b,choices:[]},"f");for(let{delta:_,finish_reason:v,index:P,logprobs:S=null,...R}of i.choices){let $=y.choices[P];if($||($=y.choices[P]={finish_reason:v,index:P,message:{},logprobs:S,...R}),S)if(!$.logprobs)$.logprobs=Object.assign({},S);else{let{content:z,refusal:re,...L}=S;Object.assign($.logprobs,L),z&&((o=$.logprobs).content??(o.content=[]),$.logprobs.content.push(...z)),re&&((f=$.logprobs).refusal??(f.refusal=[]),$.logprobs.refusal.push(...re))}if(v&&($.finish_reason=v,ft(this,ir,"f")&&M0(ft(this,ir,"f")))){if(v==="length")throw new Jn;if(v==="content_filter")throw new Kn}if(Object.assign($,R),!_)continue;let{content:B,refusal:T,function_call:I,role:q,tool_calls:U,...V}=_;if(Object.assign($.message,V),T&&($.message.refusal=($.message.refusal||"")+T),q&&($.message.role=q),I&&($.message.function_call?(I.name&&($.message.function_call.name=I.name),I.arguments&&((h=$.message.function_call).arguments??(h.arguments=""),$.message.function_call.arguments+=I.arguments)):$.message.function_call=I),B&&($.message.content=($.message.content||"")+B,!$.message.refusal&&ft(this,kt,"m",K0).call(this)&&($.message.parsed=G0($.message.content))),U){$.message.tool_calls||($.message.tool_calls=[]);for(let{index:z,id:re,type:L,function:J,...ue}of U){let ae=(m=$.message.tool_calls)[z]??(m[z]={});Object.assign(ae,ue),re&&(ae.id=re),L&&(ae.type=L),J&&(ae.function??(ae.function={name:J.name??"",arguments:""})),J?.name&&(ae.function.name=J.name),J?.arguments&&(ae.function.arguments+=J.arguments,ed(ft(this,ir,"f"),ae)&&(ae.function.parsed_arguments=G0(ae.function.arguments)))}}}return y},Symbol.asyncIterator)](){let e=[],i=[],o=!1;return this.on("chunk",f=>{let h=i.shift();h?h.resolve(f):e.push(f)}),this.on("end",()=>{o=!0;for(let f of i)f.resolve(void 0);i.length=0}),this.on("abort",f=>{o=!0;for(let h of i)h.reject(f);i.length=0}),this.on("error",f=>{o=!0;for(let h of i)h.reject(f);i.length=0}),{next:async()=>e.length?{value:e.shift(),done:!1}:o?{value:void 0,done:!0}:new Promise((h,m)=>i.push({resolve:h,reject:m})).then(h=>h?{value:h,done:!1}:{value:void 0,done:!0}),return:async()=>(this.abort(),{value:void 0,done:!0})}}toReadableStream(){return new jA(this[Symbol.asyncIterator].bind(this),this.controller).toReadableStream()}};function Zy(n,e){let{id:i,choices:o,created:f,model:h,system_fingerprint:m,...y}=n,E={...y,id:i,choices:o.map(({message:b,finish_reason:_,index:v,logprobs:P,...S})=>{if(!_)throw new $e(`missing finish_reason for choice ${v}`);let{content:R=null,function_call:$,tool_calls:B,...T}=b,I=b.role;if(!I)throw new $e(`missing role for choice ${v}`);if($){let{arguments:q,name:U}=$;if(q==null)throw new $e(`missing function_call.arguments for choice ${v}`);if(!U)throw new $e(`missing function_call.name for choice ${v}`);return{...S,message:{content:R,function_call:{arguments:q,name:U},role:I,refusal:b.refusal??null},finish_reason:_,index:v,logprobs:P}}return B?{...S,index:v,finish_reason:_,logprobs:P,message:{...T,role:I,content:R,refusal:b.refusal??null,tool_calls:B.map((q,U)=>{let{function:V,type:z,id:re,...L}=q,{arguments:J,name:ue,...ae}=V||{};if(re==null)throw new $e(`missing choices[${v}].tool_calls[${U}].id
|
|
16
|
-
${Qo(n)}`);if(z==null)throw new $e(`missing choices[${v}].tool_calls[${U}].type
|
|
17
|
-
${Qo(n)}`);if(ue==null)throw new $e(`missing choices[${v}].tool_calls[${U}].function.name
|
|
18
|
-
${Qo(n)}`);if(J==null)throw new $e(`missing choices[${v}].tool_calls[${U}].function.arguments
|
|
19
|
-
${Qo(n)}`);return{...L,id:re,type:z,function:{...ae,name:ue,arguments:J}}})}}:{...S,message:{...T,content:R,role:I,refusal:b.refusal??null},finish_reason:_,index:v,logprobs:P}}),created:f,model:h,object:"chat.completion",...m?{system_fingerprint:m}:{}};return Zc(E,e)}function Qo(n){return JSON.stringify(n)}var Es=class n extends si{static fromReadableStream(e){let i=new n(null);return i._run(()=>i._fromReadableStream(e)),i}static runFunctions(e,i,o){let f=new n(null),h={...o,headers:{...o?.headers,"X-Stainless-Helper-Method":"runFunctions"}};return f._run(()=>f._runFunctions(e,i,h)),f}static runTools(e,i,o){let f=new n(i),h={...o,headers:{...o?.headers,"X-Stainless-Helper-Method":"runTools"}};return f._run(()=>f._runTools(e,i,h)),f}};var $s=class extends de{parse(e,i){return td(e.tools),this._client.chat.completions.create(e,{...i,headers:{...i?.headers,"X-Stainless-Helper-Method":"beta.chat.completions.parse"}})._thenUnwrap(o=>vs(o,e))}runFunctions(e,i){return e.stream?Es.runFunctions(this._client,e,i):bs.runFunctions(this._client,e,i)}runTools(e,i){return e.stream?Es.runTools(this._client,e,i):bs.runTools(this._client,e,i)}stream(e,i){return si.createChatCompletion(this._client,e,i)}};var oi=class extends de{constructor(){super(...arguments),this.completions=new $s(this._client)}};(function(n){n.Completions=$s})(oi||(oi={}));var ai=class extends de{create(e,i){return this._client.post("/realtime/sessions",{body:e,...i,headers:{"OpenAI-Beta":"assistants=v2",...i?.headers}})}};var li=class extends de{create(e,i){return this._client.post("/realtime/transcription_sessions",{body:e,...i,headers:{"OpenAI-Beta":"assistants=v2",...i?.headers}})}};var kr=class extends de{constructor(){super(...arguments),this.sessions=new ai(this._client),this.transcriptionSessions=new li(this._client)}};kr.Sessions=ai;kr.TranscriptionSessions=li;var ln=class extends de{create(e,i,o){return this._client.post(`/threads/${e}/messages`,{body:i,...o,headers:{"OpenAI-Beta":"assistants=v2",...o?.headers}})}retrieve(e,i,o){return this._client.get(`/threads/${e}/messages/${i}`,{...o,headers:{"OpenAI-Beta":"assistants=v2",...o?.headers}})}update(e,i,o,f){return this._client.post(`/threads/${e}/messages/${i}`,{body:o,...f,headers:{"OpenAI-Beta":"assistants=v2",...f?.headers}})}list(e,i={},o){return qe(i)?this.list(e,{},i):this._client.getAPIList(`/threads/${e}/messages`,ui,{query:i,...o,headers:{"OpenAI-Beta":"assistants=v2",...o?.headers}})}del(e,i,o){return this._client.delete(`/threads/${e}/messages/${i}`,{...o,headers:{"OpenAI-Beta":"assistants=v2",...o?.headers}})}},ui=class extends We{};ln.MessagesPage=ui;var un=class extends de{retrieve(e,i,o,f={},h){return qe(f)?this.retrieve(e,i,o,{},f):this._client.get(`/threads/${e}/runs/${i}/steps/${o}`,{query:f,...h,headers:{"OpenAI-Beta":"assistants=v2",...h?.headers}})}list(e,i,o={},f){return qe(o)?this.list(e,i,{},o):this._client.getAPIList(`/threads/${e}/runs/${i}/steps`,fi,{query:o,...f,headers:{"OpenAI-Beta":"assistants=v2",...f?.headers}})}},fi=class extends We{};un.RunStepsPage=fi;var sr=class extends de{constructor(){super(...arguments),this.steps=new un(this._client)}create(e,i,o){let{include:f,...h}=i;return this._client.post(`/threads/${e}/runs`,{query:{include:f},body:h,...o,headers:{"OpenAI-Beta":"assistants=v2",...o?.headers},stream:i.stream??!1})}retrieve(e,i,o){return this._client.get(`/threads/${e}/runs/${i}`,{...o,headers:{"OpenAI-Beta":"assistants=v2",...o?.headers}})}update(e,i,o,f){return this._client.post(`/threads/${e}/runs/${i}`,{body:o,...f,headers:{"OpenAI-Beta":"assistants=v2",...f?.headers}})}list(e,i={},o){return qe(i)?this.list(e,{},i):this._client.getAPIList(`/threads/${e}/runs`,ci,{query:i,...o,headers:{"OpenAI-Beta":"assistants=v2",...o?.headers}})}cancel(e,i,o){return this._client.post(`/threads/${e}/runs/${i}/cancel`,{...o,headers:{"OpenAI-Beta":"assistants=v2",...o?.headers}})}async createAndPoll(e,i,o){let f=await this.create(e,i,o);return await this.poll(e,f.id,o)}createAndStream(e,i,o){return LA.createAssistantStream(e,this._client.beta.threads.runs,i,o)}async poll(e,i,o){let f={...o?.headers,"X-Stainless-Poll-Helper":"true"};for(o?.pollIntervalMs&&(f["X-Stainless-Custom-Poll-Interval"]=o.pollIntervalMs.toString());;){let{data:h,response:m}=await this.retrieve(e,i,{...o,headers:{...o?.headers,...f}}).withResponse();switch(h.status){case"queued":case"in_progress":case"cancelling":let y=5e3;if(o?.pollIntervalMs)y=o.pollIntervalMs;else{let E=m.headers.get("openai-poll-after-ms");if(E){let b=parseInt(E);isNaN(b)||(y=b)}}await tr(y);break;case"requires_action":case"incomplete":case"cancelled":case"completed":case"failed":case"expired":return h}}}stream(e,i,o){return LA.createAssistantStream(e,this._client.beta.threads.runs,i,o)}submitToolOutputs(e,i,o,f){return this._client.post(`/threads/${e}/runs/${i}/submit_tool_outputs`,{body:o,...f,headers:{"OpenAI-Beta":"assistants=v2",...f?.headers},stream:o.stream??!1})}async submitToolOutputsAndPoll(e,i,o,f){let h=await this.submitToolOutputs(e,i,o,f);return await this.poll(e,h.id,f)}submitToolOutputsStream(e,i,o,f){return LA.createToolAssistantStream(e,i,this._client.beta.threads.runs,o,f)}},ci=class extends We{};sr.RunsPage=ci;sr.Steps=un;sr.RunStepsPage=fi;var qA=class extends de{constructor(){super(...arguments),this.runs=new sr(this._client),this.messages=new ln(this._client)}create(e={},i){return qe(e)?this.create({},e):this._client.post("/threads",{body:e,...i,headers:{"OpenAI-Beta":"assistants=v2",...i?.headers}})}retrieve(e,i){return this._client.get(`/threads/${e}`,{...i,headers:{"OpenAI-Beta":"assistants=v2",...i?.headers}})}update(e,i,o){return this._client.post(`/threads/${e}`,{body:i,...o,headers:{"OpenAI-Beta":"assistants=v2",...o?.headers}})}del(e,i){return this._client.delete(`/threads/${e}`,{...i,headers:{"OpenAI-Beta":"assistants=v2",...i?.headers}})}createAndRun(e,i){return this._client.post("/threads/runs",{body:e,...i,headers:{"OpenAI-Beta":"assistants=v2",...i?.headers},stream:e.stream??!1})}async createAndRunPoll(e,i){let o=await this.createAndRun(e,i);return await this.runs.poll(o.thread_id,o.id,i)}createAndRunStream(e,i){return LA.createThreadAssistantStream(e,this._client.beta.threads,i)}};qA.Runs=sr;qA.RunsPage=ci;qA.Messages=ln;qA.MessagesPage=ui;var bA=class extends de{constructor(){super(...arguments),this.realtime=new kr(this._client),this.chat=new oi(this._client),this.assistants=new on(this._client),this.threads=new qA(this._client)}};bA.Realtime=kr;bA.Assistants=on;bA.AssistantsPage=Ai;bA.Threads=qA;var fn=class extends de{create(e,i){return this._client.post("/completions",{body:e,...i,stream:e.stream??!1})}};var di=class extends de{retrieve(e,i,o){return this._client.get(`/containers/${e}/files/${i}/content`,{...o,headers:{Accept:"application/binary",...o?.headers},__binaryResponse:!0})}};var Cr=class extends de{constructor(){super(...arguments),this.content=new di(this._client)}create(e,i,o){return this._client.post(`/containers/${e}/files`,Xt({body:i,...o}))}retrieve(e,i,o){return this._client.get(`/containers/${e}/files/${i}`,o)}list(e,i={},o){return qe(i)?this.list(e,{},i):this._client.getAPIList(`/containers/${e}/files`,hi,{query:i,...o})}del(e,i,o){return this._client.delete(`/containers/${e}/files/${i}`,{...o,headers:{Accept:"*/*",...o?.headers}})}},hi=class extends We{};Cr.FileListResponsesPage=hi;Cr.Content=di;var UA=class extends de{constructor(){super(...arguments),this.files=new Cr(this._client)}create(e,i){return this._client.post("/containers",{body:e,...i})}retrieve(e,i){return this._client.get(`/containers/${e}`,i)}list(e={},i){return qe(e)?this.list({},e):this._client.getAPIList("/containers",cn,{query:e,...i})}del(e,i){return this._client.delete(`/containers/${e}`,{...i,headers:{Accept:"*/*",...i?.headers}})}},cn=class extends We{};UA.ContainerListResponsesPage=cn;UA.Files=Cr;UA.FileListResponsesPage=hi;var dn=class extends de{create(e,i){let o=!!e.encoding_format,f=o?e.encoding_format:"base64";o&&er("Request","User defined encoding_format:",e.encoding_format);let h=this._client.post("/embeddings",{body:{...e,encoding_format:f},...i});return o?h:(er("response","Decoding base64 embeddings to float32 array"),h._thenUnwrap(m=>(m&&m.data&&m.data.forEach(y=>{let E=y.embedding;y.embedding=Gc(E)}),m)))}};var hn=class extends de{retrieve(e,i,o,f){return this._client.get(`/evals/${e}/runs/${i}/output_items/${o}`,f)}list(e,i,o={},f){return qe(o)?this.list(e,i,{},o):this._client.getAPIList(`/evals/${e}/runs/${i}/output_items`,pi,{query:o,...f})}},pi=class extends We{};hn.OutputItemListResponsesPage=pi;var or=class extends de{constructor(){super(...arguments),this.outputItems=new hn(this._client)}create(e,i,o){return this._client.post(`/evals/${e}/runs`,{body:i,...o})}retrieve(e,i,o){return this._client.get(`/evals/${e}/runs/${i}`,o)}list(e,i={},o){return qe(i)?this.list(e,{},i):this._client.getAPIList(`/evals/${e}/runs`,mi,{query:i,...o})}del(e,i,o){return this._client.delete(`/evals/${e}/runs/${i}`,o)}cancel(e,i,o){return this._client.post(`/evals/${e}/runs/${i}`,o)}},mi=class extends We{};or.RunListResponsesPage=mi;or.OutputItems=hn;or.OutputItemListResponsesPage=pi;var GA=class extends de{constructor(){super(...arguments),this.runs=new or(this._client)}create(e,i){return this._client.post("/evals",{body:e,...i})}retrieve(e,i){return this._client.get(`/evals/${e}`,i)}update(e,i,o){return this._client.post(`/evals/${e}`,{body:i,...o})}list(e={},i){return qe(e)?this.list({},e):this._client.getAPIList("/evals",pn,{query:e,...i})}del(e,i){return this._client.delete(`/evals/${e}`,i)}},pn=class extends We{};GA.EvalListResponsesPage=pn;GA.Runs=or;GA.RunListResponsesPage=mi;var Sr=class extends de{create(e,i){return this._client.post("/files",Xt({body:e,...i}))}retrieve(e,i){return this._client.get(`/files/${e}`,i)}list(e={},i){return qe(e)?this.list({},e):this._client.getAPIList("/files",mn,{query:e,...i})}del(e,i){return this._client.delete(`/files/${e}`,i)}content(e,i){return this._client.get(`/files/${e}/content`,{...i,headers:{Accept:"application/binary",...i?.headers},__binaryResponse:!0})}retrieveContent(e,i){return this._client.get(`/files/${e}/content`,i)}async waitForProcessing(e,{pollInterval:i=5e3,maxWait:o=1800*1e3}={}){let f=new Set(["processed","error","deleted"]),h=Date.now(),m=await this.retrieve(e);for(;!m.status||!f.has(m.status);)if(await tr(i),m=await this.retrieve(e),Date.now()-h>o)throw new wr({message:`Giving up on waiting for file ${e} to finish processing after ${o} milliseconds.`});return m}},mn=class extends We{};Sr.FileObjectsPage=mn;var gi=class extends de{};var yi=class extends de{run(e,i){return this._client.post("/fine_tuning/alpha/graders/run",{body:e,...i})}validate(e,i){return this._client.post("/fine_tuning/alpha/graders/validate",{body:e,...i})}};var gn=class extends de{constructor(){super(...arguments),this.graders=new yi(this._client)}};gn.Graders=yi;var yn=class extends de{create(e,i,o){return this._client.getAPIList(`/fine_tuning/checkpoints/${e}/permissions`,wi,{body:i,method:"post",...o})}retrieve(e,i={},o){return qe(i)?this.retrieve(e,{},i):this._client.get(`/fine_tuning/checkpoints/${e}/permissions`,{query:i,...o})}del(e,i,o){return this._client.delete(`/fine_tuning/checkpoints/${e}/permissions/${i}`,o)}},wi=class extends NA{};yn.PermissionCreateResponsesPage=wi;var xr=class extends de{constructor(){super(...arguments),this.permissions=new yn(this._client)}};xr.Permissions=yn;xr.PermissionCreateResponsesPage=wi;var wn=class extends de{list(e,i={},o){return qe(i)?this.list(e,{},i):this._client.getAPIList(`/fine_tuning/jobs/${e}/checkpoints`,_i,{query:i,...o})}},_i=class extends We{};wn.FineTuningJobCheckpointsPage=_i;var HA=class extends de{constructor(){super(...arguments),this.checkpoints=new wn(this._client)}create(e,i){return this._client.post("/fine_tuning/jobs",{body:e,...i})}retrieve(e,i){return this._client.get(`/fine_tuning/jobs/${e}`,i)}list(e={},i){return qe(e)?this.list({},e):this._client.getAPIList("/fine_tuning/jobs",vi,{query:e,...i})}cancel(e,i){return this._client.post(`/fine_tuning/jobs/${e}/cancel`,i)}listEvents(e,i={},o){return qe(i)?this.listEvents(e,{},i):this._client.getAPIList(`/fine_tuning/jobs/${e}/events`,bi,{query:i,...o})}pause(e,i){return this._client.post(`/fine_tuning/jobs/${e}/pause`,i)}resume(e,i){return this._client.post(`/fine_tuning/jobs/${e}/resume`,i)}},vi=class extends We{},bi=class extends We{};HA.FineTuningJobsPage=vi;HA.FineTuningJobEventsPage=bi;HA.Checkpoints=wn;HA.FineTuningJobCheckpointsPage=_i;var aA=class extends de{constructor(){super(...arguments),this.methods=new gi(this._client),this.jobs=new HA(this._client),this.checkpoints=new xr(this._client),this.alpha=new gn(this._client)}};aA.Methods=gi;aA.Jobs=HA;aA.FineTuningJobsPage=vi;aA.FineTuningJobEventsPage=bi;aA.Checkpoints=xr;aA.Alpha=gn;var Ei=class extends de{};var Dr=class extends de{constructor(){super(...arguments),this.graderModels=new Ei(this._client)}};Dr.GraderModels=Ei;var _n=class extends de{createVariation(e,i){return this._client.post("/images/variations",Xt({body:e,...i}))}edit(e,i){return this._client.post("/images/edits",Xt({body:e,...i}))}generate(e,i){return this._client.post("/images/generations",{body:e,...i})}};var Rr=class extends de{retrieve(e,i){return this._client.get(`/models/${e}`,i)}list(e){return this._client.getAPIList("/models",vn,e)}del(e,i){return this._client.delete(`/models/${e}`,i)}},vn=class extends NA{};Rr.ModelsPage=vn;var bn=class extends de{create(e,i){return this._client.post("/moderations",{body:e,...i})}};function id(n,e){return!e||!bw(e)?{...n,output_parsed:null,output:n.output.map(i=>i.type==="function_call"?{...i,parsed_arguments:null}:i.type==="message"?{...i,content:i.content.map(o=>({...o,parsed:null}))}:i)}:W0(n,e)}function W0(n,e){let i=n.output.map(f=>{if(f.type==="function_call")return{...f,parsed_arguments:Pw(e,f)};if(f.type==="message"){let h=f.content.map(m=>m.type==="output_text"?{...m,parsed:vw(e,m.text)}:m);return{...f,content:h}}return f}),o=Object.assign({},n,{output:i});return Object.getOwnPropertyDescriptor(n,"output_text")||Y0(o),Object.defineProperty(o,"output_parsed",{enumerable:!0,get(){for(let f of o.output)if(f.type==="message"){for(let h of f.content)if(h.type==="output_text"&&h.parsed!==null)return h.parsed}return null}}),o}function vw(n,e){return n.text?.format?.type!=="json_schema"?null:"$parseRaw"in n.text?.format?(n.text?.format).$parseRaw(e):JSON.parse(e)}function bw(n){return!!_s(n.text?.format)}function Ew(n){return n?.$brand==="auto-parseable-tool"}function $w(n,e){return n.find(i=>i.type==="function"&&i.name===e)}function Pw(n,e){let i=$w(n.tools??[],e.name);return{...e,...e,parsed_arguments:Ew(i)?i.$parseRaw(e.arguments):i?.strict?JSON.parse(e.arguments):null}}function Y0(n){let e=[];for(let i of n.output)if(i.type==="message")for(let o of i.content)o.type==="output_text"&&e.push(o.text);n.output_text=e.join("")}var $i=class extends de{list(e,i={},o){return qe(i)?this.list(e,{},i):this._client.getAPIList(`/responses/${e}/input_items`,Lo,{query:i,...o})}};var Pi=function(n,e,i,o,f){if(o==="m")throw new TypeError("Private method is not writable");if(o==="a"&&!f)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?n!==e||!f:!e.has(n))throw new TypeError("Cannot write private member to an object whose class did not declare it");return o==="a"?f.call(n,i):f?f.value=i:e.set(n,i),i},Or=function(n,e,i,o){if(i==="a"&&!o)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?n!==e||!o:!e.has(n))throw new TypeError("Cannot read private member from an object whose class did not declare it");return i==="m"?o:i==="a"?o.call(n):o?o.value:e.get(n)},ki,qo,Tr,Uo,sd,od,ad,ld,Go=class n extends Er{constructor(e){super(),ki.add(this),qo.set(this,void 0),Tr.set(this,void 0),Uo.set(this,void 0),Pi(this,qo,e,"f")}static createResponse(e,i,o){let f=new n(i);return f._run(()=>f._createOrRetrieveResponse(e,i,{...o,headers:{...o?.headers,"X-Stainless-Helper-Method":"stream"}})),f}async _createOrRetrieveResponse(e,i,o){let f=o?.signal;f&&(f.aborted&&this.controller.abort(),f.addEventListener("abort",()=>this.controller.abort())),Or(this,ki,"m",sd).call(this);let h,m=null;"response_id"in i?(h=await e.responses.retrieve(i.response_id,{stream:!0},{...o,signal:this.controller.signal,stream:!0}),m=i.starting_after??null):h=await e.responses.create({...i,stream:!0},{...o,signal:this.controller.signal}),this._connected();for await(let y of h)Or(this,ki,"m",od).call(this,y,m);if(h.controller.signal?.aborted)throw new Et;return Or(this,ki,"m",ad).call(this)}[(qo=new WeakMap,Tr=new WeakMap,Uo=new WeakMap,ki=new WeakSet,sd=function(){this.ended||Pi(this,Tr,void 0,"f")},od=function(i,o){if(this.ended)return;let f=(m,y)=>{(o==null||y.sequence_number>o)&&this._emit(m,y)},h=Or(this,ki,"m",ld).call(this,i);switch(f("event",i),i.type){case"response.output_text.delta":{let m=h.output[i.output_index];if(!m)throw new $e(`missing output at index ${i.output_index}`);if(m.type==="message"){let y=m.content[i.content_index];if(!y)throw new $e(`missing content at index ${i.content_index}`);if(y.type!=="output_text")throw new $e(`expected content to be 'output_text', got ${y.type}`);f("response.output_text.delta",{...i,snapshot:y.text})}break}case"response.function_call_arguments.delta":{let m=h.output[i.output_index];if(!m)throw new $e(`missing output at index ${i.output_index}`);m.type==="function_call"&&f("response.function_call_arguments.delta",{...i,snapshot:m.arguments});break}default:f(i.type,i);break}},ad=function(){if(this.ended)throw new $e("stream has ended, this shouldn't happen");let i=Or(this,Tr,"f");if(!i)throw new $e("request ended without sending any events");Pi(this,Tr,void 0,"f");let o=Cw(i,Or(this,qo,"f"));return Pi(this,Uo,o,"f"),o},ld=function(i){let o=Or(this,Tr,"f");if(!o){if(i.type!=="response.created")throw new $e(`When snapshot hasn't been set yet, expected 'response.created' event, got ${i.type}`);return o=Pi(this,Tr,i.response,"f"),o}switch(i.type){case"response.output_item.added":{o.output.push(i.item);break}case"response.content_part.added":{let f=o.output[i.output_index];if(!f)throw new $e(`missing output at index ${i.output_index}`);f.type==="message"&&f.content.push(i.part);break}case"response.output_text.delta":{let f=o.output[i.output_index];if(!f)throw new $e(`missing output at index ${i.output_index}`);if(f.type==="message"){let h=f.content[i.content_index];if(!h)throw new $e(`missing content at index ${i.content_index}`);if(h.type!=="output_text")throw new $e(`expected content to be 'output_text', got ${h.type}`);h.text+=i.delta}break}case"response.function_call_arguments.delta":{let f=o.output[i.output_index];if(!f)throw new $e(`missing output at index ${i.output_index}`);f.type==="function_call"&&(f.arguments+=i.delta);break}case"response.completed":{Pi(this,Tr,i.response,"f");break}}return o},Symbol.asyncIterator)](){let e=[],i=[],o=!1;return this.on("event",f=>{let h=i.shift();h?h.resolve(f):e.push(f)}),this.on("end",()=>{o=!0;for(let f of i)f.resolve(void 0);i.length=0}),this.on("abort",f=>{o=!0;for(let h of i)h.reject(f);i.length=0}),this.on("error",f=>{o=!0;for(let h of i)h.reject(f);i.length=0}),{next:async()=>e.length?{value:e.shift(),done:!1}:o?{value:void 0,done:!0}:new Promise((h,m)=>i.push({resolve:h,reject:m})).then(h=>h?{value:h,done:!1}:{value:void 0,done:!0}),return:async()=>(this.abort(),{value:void 0,done:!0})}}async finalResponse(){await this.done();let e=Or(this,Uo,"f");if(!e)throw new $e("stream ended without producing a ChatCompletion");return e}};function Cw(n,e){return id(n,e)}var Ir=class extends de{constructor(){super(...arguments),this.inputItems=new $i(this._client)}create(e,i){return this._client.post("/responses",{body:e,...i,stream:e.stream??!1})._thenUnwrap(o=>("object"in o&&o.object==="response"&&Y0(o),o))}retrieve(e,i={},o){return this._client.get(`/responses/${e}`,{query:i,...o,stream:i?.stream??!1})}del(e,i){return this._client.delete(`/responses/${e}`,{...i,headers:{Accept:"*/*",...i?.headers}})}parse(e,i){return this._client.responses.create(e,i)._thenUnwrap(o=>W0(o,e))}stream(e,i){return Go.createResponse(this._client,e,i)}cancel(e,i){return this._client.post(`/responses/${e}/cancel`,{...i,headers:{Accept:"*/*",...i?.headers}})}},Lo=class extends We{};Ir.InputItems=$i;var Ci=class extends de{create(e,i,o){return this._client.post(`/uploads/${e}/parts`,Xt({body:i,...o}))}};var Br=class extends de{constructor(){super(...arguments),this.parts=new Ci(this._client)}create(e,i){return this._client.post("/uploads",{body:e,...i})}cancel(e,i){return this._client.post(`/uploads/${e}/cancel`,i)}complete(e,i,o){return this._client.post(`/uploads/${e}/complete`,{body:i,...o})}};Br.Parts=Ci;var ud=async n=>{let e=await Promise.allSettled(n),i=e.filter(f=>f.status==="rejected");if(i.length){for(let f of i)console.error(f.reason);throw new Error(`${i.length} promise(s) failed - see the above errors`)}let o=[];for(let f of e)f.status==="fulfilled"&&o.push(f.value);return o};var Mr=class extends de{create(e,i,o){return this._client.post(`/vector_stores/${e}/files`,{body:i,...o,headers:{"OpenAI-Beta":"assistants=v2",...o?.headers}})}retrieve(e,i,o){return this._client.get(`/vector_stores/${e}/files/${i}`,{...o,headers:{"OpenAI-Beta":"assistants=v2",...o?.headers}})}update(e,i,o,f){return this._client.post(`/vector_stores/${e}/files/${i}`,{body:o,...f,headers:{"OpenAI-Beta":"assistants=v2",...f?.headers}})}list(e,i={},o){return qe(i)?this.list(e,{},i):this._client.getAPIList(`/vector_stores/${e}/files`,jr,{query:i,...o,headers:{"OpenAI-Beta":"assistants=v2",...o?.headers}})}del(e,i,o){return this._client.delete(`/vector_stores/${e}/files/${i}`,{...o,headers:{"OpenAI-Beta":"assistants=v2",...o?.headers}})}async createAndPoll(e,i,o){let f=await this.create(e,i,o);return await this.poll(e,f.id,o)}async poll(e,i,o){let f={...o?.headers,"X-Stainless-Poll-Helper":"true"};for(o?.pollIntervalMs&&(f["X-Stainless-Custom-Poll-Interval"]=o.pollIntervalMs.toString());;){let h=await this.retrieve(e,i,{...o,headers:f}).withResponse(),m=h.data;switch(m.status){case"in_progress":let y=5e3;if(o?.pollIntervalMs)y=o.pollIntervalMs;else{let E=h.response.headers.get("openai-poll-after-ms");if(E){let b=parseInt(E);isNaN(b)||(y=b)}}await tr(y);break;case"failed":case"completed":return m}}}async upload(e,i,o){let f=await this._client.files.create({file:i,purpose:"assistants"},o);return this.create(e,{file_id:f.id},o)}async uploadAndPoll(e,i,o){let f=await this.upload(e,i,o);return await this.poll(e,f.id,o)}content(e,i,o){return this._client.getAPIList(`/vector_stores/${e}/files/${i}/content`,Si,{...o,headers:{"OpenAI-Beta":"assistants=v2",...o?.headers}})}},jr=class extends We{},Si=class extends NA{};Mr.VectorStoreFilesPage=jr;Mr.FileContentResponsesPage=Si;var xi=class extends de{create(e,i,o){return this._client.post(`/vector_stores/${e}/file_batches`,{body:i,...o,headers:{"OpenAI-Beta":"assistants=v2",...o?.headers}})}retrieve(e,i,o){return this._client.get(`/vector_stores/${e}/file_batches/${i}`,{...o,headers:{"OpenAI-Beta":"assistants=v2",...o?.headers}})}cancel(e,i,o){return this._client.post(`/vector_stores/${e}/file_batches/${i}/cancel`,{...o,headers:{"OpenAI-Beta":"assistants=v2",...o?.headers}})}async createAndPoll(e,i,o){let f=await this.create(e,i);return await this.poll(e,f.id,o)}listFiles(e,i,o={},f){return qe(o)?this.listFiles(e,i,{},o):this._client.getAPIList(`/vector_stores/${e}/file_batches/${i}/files`,jr,{query:o,...f,headers:{"OpenAI-Beta":"assistants=v2",...f?.headers}})}async poll(e,i,o){let f={...o?.headers,"X-Stainless-Poll-Helper":"true"};for(o?.pollIntervalMs&&(f["X-Stainless-Custom-Poll-Interval"]=o.pollIntervalMs.toString());;){let{data:h,response:m}=await this.retrieve(e,i,{...o,headers:f}).withResponse();switch(h.status){case"in_progress":let y=5e3;if(o?.pollIntervalMs)y=o.pollIntervalMs;else{let E=m.headers.get("openai-poll-after-ms");if(E){let b=parseInt(E);isNaN(b)||(y=b)}}await tr(y);break;case"failed":case"cancelled":case"completed":return h}}}async uploadAndPoll(e,{files:i,fileIds:o=[]},f){if(i==null||i.length==0)throw new Error("No `files` provided to process. If you've already uploaded files you should use `.createAndPoll()` instead");let h=f?.maxConcurrency??5,m=Math.min(h,i.length),y=this._client,E=i.values(),b=[...o];async function _(P){for(let S of P){let R=await y.files.create({file:S,purpose:"assistants"},f);b.push(R.id)}}let v=Array(m).fill(E).map(_);return await ud(v),await this.createAndPoll(e,{file_ids:b})}};var lA=class extends de{constructor(){super(...arguments),this.files=new Mr(this._client),this.fileBatches=new xi(this._client)}create(e,i){return this._client.post("/vector_stores",{body:e,...i,headers:{"OpenAI-Beta":"assistants=v2",...i?.headers}})}retrieve(e,i){return this._client.get(`/vector_stores/${e}`,{...i,headers:{"OpenAI-Beta":"assistants=v2",...i?.headers}})}update(e,i,o){return this._client.post(`/vector_stores/${e}`,{body:i,...o,headers:{"OpenAI-Beta":"assistants=v2",...o?.headers}})}list(e={},i){return qe(e)?this.list({},e):this._client.getAPIList("/vector_stores",En,{query:e,...i,headers:{"OpenAI-Beta":"assistants=v2",...i?.headers}})}del(e,i){return this._client.delete(`/vector_stores/${e}`,{...i,headers:{"OpenAI-Beta":"assistants=v2",...i?.headers}})}search(e,i,o){return this._client.getAPIList(`/vector_stores/${e}/search`,$n,{body:i,method:"post",...o,headers:{"OpenAI-Beta":"assistants=v2",...o?.headers}})}},En=class extends We{},$n=class extends NA{};lA.VectorStoresPage=En;lA.VectorStoreSearchResponsesPage=$n;lA.Files=Mr;lA.VectorStoreFilesPage=jr;lA.FileContentResponsesPage=Si;lA.FileBatches=xi;var fd,Fe=class extends ko{constructor({baseURL:e=fs("OPENAI_BASE_URL"),apiKey:i=fs("OPENAI_API_KEY"),organization:o=fs("OPENAI_ORG_ID")??null,project:f=fs("OPENAI_PROJECT_ID")??null,...h}={}){if(i===void 0)throw new $e("The OPENAI_API_KEY environment variable is missing or empty; either provide it, or instantiate the OpenAI client with an apiKey option, like new OpenAI({ apiKey: 'My API Key' }).");let m={apiKey:i,organization:o,project:f,...h,baseURL:e||"https://api.openai.com/v1"};if(!m.dangerouslyAllowBrowser&&Uc())throw new $e(`It looks like you're running in a browser-like environment.
|
|
20
|
-
|
|
21
|
-
This is disabled by default, as it risks exposing your secret API credentials to attackers.
|
|
22
|
-
If you understand the risks and have appropriate mitigations in place,
|
|
23
|
-
you can set the \`dangerouslyAllowBrowser\` option to \`true\`, e.g.,
|
|
24
|
-
|
|
25
|
-
new OpenAI({ apiKey, dangerouslyAllowBrowser: true });
|
|
26
|
-
|
|
27
|
-
https://help.openai.com/en/articles/5112595-best-practices-for-api-key-safety
|
|
28
|
-
`);super({baseURL:m.baseURL,timeout:m.timeout??6e5,httpAgent:m.httpAgent,maxRetries:m.maxRetries,fetch:m.fetch}),this.completions=new fn(this),this.chat=new rr(this),this.embeddings=new dn(this),this.files=new Sr(this),this.images=new _n(this),this.audio=new FA(this),this.moderations=new bn(this),this.models=new Rr(this),this.fineTuning=new aA(this),this.graders=new Dr(this),this.vectorStores=new lA(this),this.beta=new bA(this),this.batches=new br(this),this.uploads=new Br(this),this.responses=new Ir(this),this.evals=new GA(this),this.containers=new UA(this),this._options=m,this.apiKey=i,this.organization=o,this.project=f}defaultQuery(){return this._options.defaultQuery}defaultHeaders(e){return{...super.defaultHeaders(e),"OpenAI-Organization":this.organization,"OpenAI-Project":this.project,...this._options.defaultHeaders}}authHeaders(e){return{Authorization:`Bearer ${this.apiKey}`}}stringifyQuery(e){return h0(e,{arrayFormat:"brackets"})}};fd=Fe;Fe.OpenAI=fd;Fe.DEFAULT_TIMEOUT=6e5;Fe.OpenAIError=$e;Fe.APIError=Pt;Fe.APIConnectionError=yr;Fe.APIConnectionTimeoutError=wr;Fe.APIUserAbortError=Et;Fe.NotFoundError=ns;Fe.ConflictError=is;Fe.RateLimitError=os;Fe.BadRequestError=ts;Fe.AuthenticationError=As;Fe.InternalServerError=as;Fe.PermissionDeniedError=rs;Fe.UnprocessableEntityError=ss;Fe.toFile=C0;Fe.fileFromPath=wo;Fe.Completions=fn;Fe.Chat=rr;Fe.ChatCompletionsPage=vr;Fe.Embeddings=dn;Fe.Files=Sr;Fe.FileObjectsPage=mn;Fe.Images=_n;Fe.Audio=FA;Fe.Moderations=bn;Fe.Models=Rr;Fe.ModelsPage=vn;Fe.FineTuning=aA;Fe.Graders=Dr;Fe.VectorStores=lA;Fe.VectorStoresPage=En;Fe.VectorStoreSearchResponsesPage=$n;Fe.Beta=bA;Fe.Batches=br;Fe.BatchesPage=rn;Fe.Uploads=Br;Fe.Responses=Ir;Fe.Evals=GA;Fe.EvalListResponsesPage=pn;Fe.Containers=UA;Fe.ContainerListResponsesPage=cn;var cd=Fe;var Zm=o0(pd(),1),e2=o0(Xu(),1);async function um(n,e,i,o=null,f=null,h=!0,m={}){if(!e||!i)throw new Error("federate: Missing required space IDs");if(e===i)throw new Error("Cannot federate a space with itself");let{federate:y=[],notify:E=[]}=m;if(!Array.isArray(y)||!Array.isArray(E))throw new Error("federate: lensConfig.federate and lensConfig.notify must be arrays");let b=y,_=E;try{let v=null;try{v=await n.getGlobal("federation",e,o)}catch{}v==null&&(v={id:e,name:e,federation:[],notify:[],lensConfig:{},timestamp:Date.now()}),v.federation||(v.federation=[]),v.notify||(v.notify=[]),v.lensConfig||(v.lensConfig={}),v.federation.includes(i)||v.federation.push(i),v.notify.includes(i)||v.notify.push(i);let P={...v.lensConfig||{}};P[i]={federate:[...b],notify:[..._],timestamp:Date.now()},v.lensConfig=P,v.timestamp=Date.now();try{await n.putGlobal("federation",v,o)}catch(R){throw new Error(`Failed to create federation: ${R.message}`)}{let R=null;try{R=await n.getGlobal("federation",i,f)}catch{}R==null&&(R={id:i,name:i,federation:[],notify:[],lensConfig:{},timestamp:Date.now()}),R.federation||(R.federation=[]),R.notify||(R.notify=[]),R.lensConfig||(R.lensConfig={}),h&&!R.federation.includes(e)&&R.federation.push(e),R.notify.includes(e)||R.notify.push(e),R.lensConfig[e]={federate:h?[...b]:[],notify:h?[..._]:[],timestamp:Date.now()},R.timestamp=Date.now();try{await n.putGlobal("federation",R,f)}catch{}}let S={id:`${e}_${i}`,space1:e,space2:i,created:Date.now(),status:"active",bidirectional:h,lensConfig:{federate:[...b],notify:[..._]}};try{await n.putGlobal("federationMeta",S)}catch{}return!0}catch(v){throw v}}async function fm(n,e,i=null,o,f={}){if(!e||!o)throw new Error("subscribeFederation: Missing required parameters");let{lenses:h=["*"],throttle:m=0}=f,y=await n.getGlobal("federation",e,i);if(!y)throw new Error("No federation info found for space");let E=[],b={};if(y.federation&&y.federation.length>0)for(let _ of y.federation)for(let v of h)try{let P=await n.subscribe(_,v,async S=>{try{if(!S||!S.id)return;let R=Date.now(),$=`${_}_${v}_${S.id}`;if(m>0){if(b[$]&&R-b[$]<m)return;b[$]=R}S.federation||(S.federation={origin:_,timestamp:R}),await o(S,_,v)}catch{}});P&&typeof P.unsubscribe=="function"&&E.push(P)}catch{}return{unsubscribe:()=>{E.forEach(_=>{try{_&&typeof _.unsubscribe=="function"&&_.unsubscribe()}catch{}}),E.length=0,b={}},getSubscriptionCount:()=>E.length}}async function Mn(n,e,i=null){if(!e)throw new Error("getFederation: Missing space ID");return await n.getGlobal("federation",e,i)}async function cm(n,e,i,o=null){if(!n||!e||!i)throw new Error("getFederatedConfig: Missing required parameters");try{let f=await Mn(n,e,o);return f&&f.lensConfig&&f.lensConfig[i]?{federate:f.lensConfig[i].federate||[],notify:f.lensConfig[i].notify||[]}:null}catch(f){throw console.error(`Error getting federated config for ${e} -> ${i}: ${f.message}`),f}}async function dm(n,e,i,o=null,f=null){if(!e||!i)throw new Error("unfederate: Missing required space IDs");try{let h=null;try{h=await n.getGlobal("federation",e,o)}catch(E){console.error(`Error getting fedInfo1 for ${e} during unfederate: ${E.message}`)}if(!h)console.warn(`No federation info found for ${e}. Skipping its update.`);else{h.federation||(h.federation=[]),h.notify||(h.notify=[]);let E=h.federation.length,b=h.notify.length;h.federation=h.federation.filter(_=>_!==i),h.notify=h.notify.filter(_=>_!==i),h.timestamp=Date.now(),console.log(`Unfederate: Removed ${i} from ${e}: federation ${E} -> ${h.federation.length}, notify ${b} -> ${h.notify.length}`);try{await n.putGlobal("federation",h,o)}catch(_){throw console.error(`Failed to update fedInfo1 for ${e} during unfederate: ${_.message}`),_}}if(f){let E=null;try{E=await n.getGlobal("federation",i,f)}catch(b){console.error(`Error getting fedInfo2 for ${i} during unfederate: ${b.message}`)}if(!E||!E.notify)console.warn(`No notify array found for ${i} or fedInfo2 is null. Skipping its update.`);else{E.notify=E.notify.filter(b=>b!==e),E.timestamp=Date.now();try{await n.putGlobal("federation",E,f)}catch(b){throw console.error(`Failed to update fedInfo2 for ${i} during unfederate: ${b.message}`),b}}}let m=`${e}_${i}`,y=`${i}_${e}`;try{let E=await n.getGlobal("federationMeta",m)||await n.getGlobal("federationMeta",y);E&&(E.status="inactive",E.endedAt=Date.now(),await n.putGlobal("federationMeta",E))}catch(E){console.warn(`Failed to update federationMeta during unfederate: ${E.message}`)}return!0}catch(h){throw console.error(`Critical error during unfederate operation for ${e}-${i}: ${h.message}`),h}}async function hm(n,e,i,o=null){if(!e||!i)throw new Error("removeNotify: Missing required space IDs");try{let f=await n.getGlobal("federation",e,o);if(!f)throw new Error(`No federation info found for ${e}`);return f.notify||(f.notify=[]),f.notify.includes(i)?(f.notify=f.notify.filter(h=>h!==i),f.timestamp=Date.now(),await n.putGlobal("federation",f,o),!0):!1}catch(f){throw f}}async function pm(n,e,i,o={}){let{queryIds:f=null,aggregate:h=!1,idField:m="id",sumFields:y=[],concatArrays:E=[],removeDuplicates:b=!0,mergeStrategy:_=null,includeLocal:v=!0,includeFederated:P=!0,resolveReferences:S=!0,maxFederatedSpaces:R=-1,timeout:$=1e4}=o;if(console.log(`resolveReferences option: ${S}`),console.log("Querying specific IDs:",f?f.join(", "):"No (fetching all)"),!n||!e||!i)throw new Error("Missing required parameters: holosphere, holon, and lens are required");let T=await Mn(n,e),I=new Map,q=new Set,U=[],V=[];if(v&&V.push(e),P&&T&&T.federation&&T.federation.length>0){let re=R===-1?T.federation:T.federation.slice(0,R);V=V.concat(re)}for(let re of V)if(f&&Array.isArray(f)){console.log(`Fetching specific IDs from ${re}: ${f.join(", ")}`);for(let L of f)I.has(L)||U.push(n.get(re,i,L).then(J=>{J&&I.set(L,J)}).catch(J=>console.warn(`Error fetching item ${L} from ${re}: ${J.message}`)))}else re===e&&v&&console.warn(`getFederated: No queryIds provided. Falling back to fetching ALL items from ${re} using getAll. This can be inefficient.`),console.log(`Fetching ALL items from ${re}`),U.push(n.getAll(re,i).then(L=>{for(let J of L)J&&J[m]&&!I.has(J[m])&&I.set(J[m],J)}).catch(L=>console.warn(`Error fetching all items from ${re}: ${L.message}`)));await Promise.all(U);let z=Array.from(I.values());if(S&&z.length>0){console.log(`Resolving references for ${z.length} fetched items`);for(let re=0;re<z.length;re++){let L=z[re];if(L.soul&&L.id){console.log(`Found simple reference with soul: ${L.soul}`);try{let J=L.soul.split("/");if(J.length>=4){let ue=J[1],ae=J[2],O=J[3];console.log(`Extracting from soul - holon: ${ue}, lens: ${ae}, key: ${O}`);let M=await n.get(ue,ae,O,null,{resolveReferences:!0});console.log("Original data found via soul path:",JSON.stringify(M)),M?z[re]={...M,_federation:{isReference:!0,resolved:!0,soul:L.soul,timestamp:Date.now()}}:z[re]={id:L.id,_federation:{isReference:!0,resolved:!1,soul:L.soul,error:"Referenced data not found",timestamp:Date.now()}}}else console.warn(`Soul doesn't match expected format: ${L.soul}`),z[re]={id:L.id,_federation:{isReference:!0,resolved:!1,soul:L.soul,error:"Invalid soul format",timestamp:Date.now()}}}catch(J){z[re]={id:L.id,_federation:{isReference:!0,resolved:!1,soul:L.soul,error:J.message||"Error resolving reference",timestamp:Date.now()}}}}else if(L._federation&&L._federation.isReference){console.log(`Found legacy reference: ${L._federation.origin}/${L._federation.lens}/${L[m]}`);try{let J=L._federation;console.log(`Getting original data from ${J.origin} / ${J.lens} / ${L[m]}`);let ue=await n.get(J.origin,J.lens,L[m],null,{resolveReferences:!1});console.log("Original data found:",JSON.stringify(ue)),ue?z[re]={...ue,_federation:{...J,resolved:!0,timestamp:Date.now()}}:console.warn("Could not resolve legacy reference: original data not found")}catch{}}}}if(h&&z.length>0){let re=z.reduce((J,ue)=>{let ae=ue[m];return J[ae]||(J[ae]=[]),J[ae].push(ue),J},{});return Object.values(re).map(J=>{if(J.length===1)return J[0];if(_&&typeof _=="function")return _(J);let ue={...J[0]};for(let ae of y)typeof ue[ae]=="number"&&(ue[ae]=J.reduce((O,M)=>O+(Number(M[ae])||0),0));for(let ae of E)if(Array.isArray(ue[ae])){let O=J.reduce((M,Q)=>Array.isArray(Q[ae])?[...M,...Q[ae]]:M,[]);ue[ae]=b?Array.from(new Set(O)):O}return ue._aggregated={count:J.length,timestamp:Date.now()},ue})}return z}async function mm(n,e,i,o,f={}){if(!n||!e||!i||!o)throw new Error("propagate: Missing required parameters");let{useHolograms:h=!0,targetSpaces:m=null,password:y=null,propagateToParents:E=!0,maxParentLevels:b=15}=f,_={success:0,errors:0,skipped:0,messages:[],parentPropagation:{success:0,errors:0,skipped:0,messages:[]}};try{let v=await Mn(n,e,y);if(v&&v.federation&&v.federation.length>0&&v.notify&&v.notify.length>0){let P=v.notify;if(m&&Array.isArray(m)&&m.length>0&&(P=P.filter(S=>m.includes(S))),P.length>0)if(P=P.filter(S=>{let R=v.lensConfig?.[S];if(!R)return _.messages.push(`No lens configuration for target space ${S}. Skipping propagation of lens '${i}'.`),_.skipped++,!1;let $=Array.isArray(R.federate)?R.federate:[],T=$.includes("*")||$.includes(i);return T||(_.messages.push(`Propagation of lens '${i}' to target space ${S} skipped: lens not in 'federate' configuration.`),_.skipped++),T}),P.length>0){let S=n.isHologram(o),R=P.map(async $=>{try{let B,T={origin:e,sourceLens:i,propagatedAt:Date.now(),originalId:o.id};return h&&!S?B={...n.createHologram(e,i,o),_federation:T}:B={...o,_federation:{...o._federation||{},...T}},await n.put($,i,B,null,{disableHologramRedirection:!0,autoPropagate:!1}),_.success++,!0}catch(B){return _.errors++,_.messages.push(`Error propagating ${o.id} to ${$}: ${B.message}`),!1}});await Promise.all(R)}else _.messages.push("No valid target spaces for federation propagation after lens filtering.");else _.messages.push("No valid target spaces found for federation propagation.")}else _.messages.push(`No federation found for ${e} or no notification targets available.`);if(E)try{let P,S=!1;if(typeof e=="string"&&/^[8][0-9A-Fa-f]+$/.test(e)&&e.length>=15)try{P=TA(e),P>=0&&P<=15?S=!0:console.log(`[Federation] Holon ${e} has invalid resolution: ${P}`)}catch(R){console.log(`[Federation] Holon ${e} failed H3 validation: ${R.message}`)}if(S||(_.parentPropagation.messages.push(`Holon ${e} is not a valid H3 hexagon. Skipping parent propagation.`),_.parentPropagation.skipped++),S&&P!==void 0){let R=[],$=e,B=P,T=0;for(;B>0&&T<b;)try{let I=IA($,B-1);R.push(I),$=I,B--,T++}catch(I){console.error(`[Federation] Error getting parent for ${$}: ${I.message}`),_.parentPropagation.messages.push(`Error getting parent for ${$}: ${I.message}`),_.parentPropagation.errors++;break}if(R.length>0){_.parentPropagation.messages.push(`Found ${R.length} parent hexagons to propagate to: ${R.join(", ")}`);let I=n.isHologram(o),q=R.map(async U=>{try{let V,z={origin:e,sourceLens:i,propagatedAt:Date.now(),originalId:o.id,propagationType:"parent",parentLevel:P-TA(U)};return h&&!I?V={...n.createHologram(e,i,o),_federation:z}:V={...o,_federation:{...o._federation||{},...z}},await n.put(U,i,V,null,{disableHologramRedirection:!0,autoPropagate:!1}),console.log(`[Federation] Successfully propagated to parent hexagon: ${U}`),_.parentPropagation.success++,!0}catch(V){return console.error(`[Federation] Error propagating ${o.id} to parent hexagon ${U}: ${V.message}`),_.parentPropagation.errors++,_.parentPropagation.messages.push(`Error propagating ${o.id} to parent hexagon ${U}: ${V.message}`),!1}});await Promise.all(q)}else _.parentPropagation.messages.push(`No parent hexagons found for ${e} (already at resolution 0 or max levels reached)`),_.parentPropagation.skipped++}}catch(P){console.error(`[Federation] Error during parent propagation: ${P.message}`),_.parentPropagation.errors++,_.parentPropagation.messages.push(`Error during parent propagation: ${P.message}`)}return _.propagated=_.success>0||_.parentPropagation.success>0,_}catch(v){return{..._,error:v.message}}}async function gm(n,e,i,o,f,h="generic"){let m=`${e}_${i}_fedmsgs`,y=await n.getGlobal("federation_messages",m)||{id:m,originalChatId:e,originalMessageId:i,type:h,messages:[]},E=y.messages.find(b=>b.chatId===o);E?(E.messageId=f,E.timestamp=Date.now()):y.messages.push({chatId:o,messageId:f,timestamp:Date.now()}),await n.putGlobal("federation_messages",y)}async function Zu(n,e,i){let o=`${e}_${i}_fedmsgs`;return await n.getGlobal("federation_messages",o)}async function ym(n,e,i,o){let f=await Zu(n,e,i);if(f?.messages)for(let h of f.messages)try{await o(h.chatId,h.messageId)}catch{}}async function wm(n,e,i=null,o={}){if(!e)throw new Error("resetFederation: Missing required space ID");let{notifyPartners:f=!0,spaceName:h=null}=o,m={success:!1,federatedCount:0,notifyCount:0,partnersNotified:0,errors:[]};try{let y=await Mn(n,e,i);if(!y)return{...m,success:!0,message:"No federation configuration found for this space"};m.federatedCount=y.federation?.length||0,m.notifyCount=y.notify?.length||0;let E={id:e,name:h||e,federation:[],notify:[],timestamp:Date.now()};if(await n.putGlobal("federation",E,i),f&&y.federation&&y.federation.length>0){let b=y.federation.map(async _=>{try{let v=await Mn(n,_);return v?(v.federation&&(v.federation=v.federation.filter(P=>P!==e.toString())),v.notify&&(v.notify=v.notify.filter(P=>P!==e.toString())),v.timestamp=Date.now(),await n.putGlobal("federation",v),m.partnersNotified++,!0):!1}catch(v){return m.errors.push({partner:_,error:v.message}),!1}});await Promise.all(b)}if(y.federation&&y.federation.length>0)for(let b of y.federation)try{let _=`${e}_${b}`,v=`${b}_${e}`,P=await n.getGlobal("federationMeta",_)||await n.getGlobal("federationMeta",v);P&&(P.status="inactive",P.endedAt=Date.now(),await n.putGlobal("federationMeta",P))}catch{}return m.success=!0,m}catch(y){return{...m,success:!1,error:y.message}}}var M5=o0(Xu(),1);async function _m(n,e,i){if(!e||!i)throw new Error("setSchema: Missing required parameters");if(!i.type||typeof i.type!="string")throw new Error("setSchema: Schema must have a type field");let o={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(o,i))throw new Error(`Invalid schema structure: ${JSON.stringify(n.validator.errors)}`);if(!i.properties||typeof i.properties!="object")throw new Error("Schema must have properties in strict mode");if(!i.required||!Array.isArray(i.required)||i.required.length===0)throw new Error("Schema must have required fields in strict mode");return await n.putGlobal("schemas",{id:e,schema:i,timestamp:Date.now()}),n.schemaCache.set(e,{schema:i,timestamp:Date.now()}),!0}async function vm(n,e,i={}){if(!e)throw new Error("getSchema: Missing lens parameter");let{useCache:o=!0,maxCacheAge:f=36e5}=i;if(o&&n.schemaCache.has(e)){let m=n.schemaCache.get(e);if(Date.now()-m.timestamp<f)return m.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 bm(n,e=null){return e?n.schemaCache.delete(e):(n.schemaCache.clear(),!0)}async function Em(n,e,i,o,f=null,h={}){if(!o)throw new Error("put: Missing required data parameter");if(!e||!i)throw new Error("put: Missing required holon or lens parameters:",e,i);let{disableHologramRedirection:m=!1}=h,y=e,E=i,b=o.id;b||(b=n.generateId(),o.id=b);try{let v=await ef(n,y,E,b,f,{resolveHolograms:!1});if(!m&&v&&n.isHologram(v)){let P=n.parseSoulPath(v.soul);P?(P.appname!==n.appname&&console.warn(`Existing hologram at ${y}/${E}/${b} has appname (${P.appname}) in its soul ${v.soul} which does not match current HoloSphere instance appname (${n.appname}). Redirecting put to soul's holon/lens within this instance.`),y=P.holon,E=P.lens,b=P.key,o.id!==b&&console.warn(`Data ID ('${o.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 ${y}/${E}/${b} (ID: ${v.id}) is a hologram, but its soul ('${v.soul}') is invalid. Proceeding with original target.`)}}catch(v){v.message&&v.message.includes("RESOLVED_NULL")||console.warn(`Error checking for existing hologram at ${y}/${E}/${b}: ${v.message}. Proceeding with original target.`)}let _=n.isHologram(o);if(n.strict&&!_){let v=await n.getSchema(E);if(!v)throw new Error("Schema required in strict mode");let P=JSON.parse(JSON.stringify(o));if(!n.validator.validate(v,P)){let R=`Schema validation failed: ${JSON.stringify(n.validator.errors)}`;throw new Error(R)}}try{let v=null;return f&&(v=n.gun.user(),await new Promise((P,S)=>{let R=n.userName(y);v.auth(R,f,$=>{$.err?(console.log(`Initial auth failed for ${R} during put, attempting to create...`),v.create(R,f,B=>{B.err?B.err.includes("already created")||B.err.includes("already being created")?(console.log(`User ${R} already existed or being created during put, re-attempting auth with fresh user object.`),n.gun.user().auth(R,f,I=>{I.err&&console.log(`Auth still failed after user existed check: ${I.err}. Resolving anyway for test operations.`),P()})):(console.log(`Create user error (resolving anyway for operations): ${B.err}`),P()):(console.log(`User ${R} created successfully during put, attempting auth...`),v.auth(R,f,T=>{T.err?S(new Error(`Failed to auth after create for ${R} during put: ${T.err}`)):P()}))})):P()})})),new Promise((P,S)=>{try{let R={...o};R._meta!==void 0&&delete R._meta;let $=JSON.stringify(R),B=async I=>{if(I.err)S(new Error(I.err));else{if(_)try{if(n.parseSoulPath(o.soul)){let re=n.getNodeRef(o.soul),L=`${n.appname}/${y}/${E}/${b}`;re.get("_holograms").get(L).put(!0)}else console.warn(`Data (ID: ${o.id}) being put is a hologram, but could not parse its soul ${o.soul} for tracking.`)}catch(z){console.warn(`Error updating _holograms set for the target of the data being put (data ID: ${o.id}, soul: ${o.soul}):`,z)}let q=[];if(!_&&!h.isHologramUpdate)try{let z=`${n.appname}/${y}/${E}/${b}`,re=n.getNodeRef(z);await new Promise(L=>{re.get("_holograms").once(async J=>{if(J){let ue=Object.keys(J).filter(ae=>ae!=="_"&&J[ae]===!0);if(ue.length>0){let ae=ue.map(async O=>{try{let M=n.parseSoulPath(O);if(M){let Q=await n.get(M.holon,M.lens,M.key,null,{resolveHolograms:!1});if(Q){let X={...Q,updated:Date.now()};await n.put(M.holon,M.lens,X,null,{autoPropagate:!1,disableHologramRedirection:!0,isHologramUpdate:!0}),q.push({soul:O,holon:M.holon,lens:M.lens,key:M.key,id:M.key,timestamp:X.updated})}}}catch(M){console.warn(`Error updating hologram ${O}:`,M)}});await Promise.all(ae)}}L()})})}catch(z){console.warn("Error checking for active holograms to update:",z)}_||n.notifySubscribers({holon:y,lens:E,...o});let U=h.autoPropagate!==!1&&!_,V=null;if(U)try{let z={useHolograms:!0,...h.propagationOptions};V=await n.propagate(y,E,o,z),V&&V.errors>0&&console.warn("Auto-propagation had errors:",V)}catch(z){console.warn("Error in auto-propagation:",z)}P({success:!0,isHologramAtPath:_,pathHolon:y,pathLens:E,pathKey:b,propagationResult:V,updatedHolograms:q})}};(f?v.get("private").get(E).get(b):n.gun.get(n.appname).get(y).get(E).get(b)).put($,B)}catch(R){S(R)}})}catch(v){throw console.error("Error in put:",v),v}}async function ef(n,e,i,o,f=null,h={}){if(!e||!i||!o)return console.error("get: Missing required parameters"),null;let{resolveHolograms:m=!0,validationOptions:y={},visited:E}=h,b=null;if(n.strict&&(b=await n.getSchema(i),!b))throw new Error("Schema required in strict mode");try{let _=null;return f&&(_=n.gun.user(),await new Promise((v,P)=>{let S=n.userName(e);_.auth(S,f,R=>{R.err?P(new Error(`Authentication failed for ${S} during get: ${R.err}`)):v()})})),new Promise(v=>{let P=async R=>{let $=null;if(!R){v(null);return}try{if($=await n.parse(R),!$){v(null);return}if(m&&n.isHologram($)){let B=await n.resolveHologram($,{followHolograms:m,visited:E,maxDepth:h.maxDepth||10,currentDepth:h.currentDepth||0});if(B===null){console.warn(`Broken hologram detected at ${e}/${i}/${o}. Removing it...`);try{await n.delete(e,i,o,f),console.log(`Successfully removed broken hologram from ${e}/${i}/${o}`)}catch(T){console.error(`Failed to remove broken hologram at ${e}/${i}/${o}:`,T)}v(null);return}B!==$&&($=B)}if(b&&!n.validator.validate(b,$)&&(console.error("get: Invalid data according to schema:",n.validator.errors),n.strict)){v(null);return}v($)}catch(B){B.message?.startsWith("CIRCULAR_REFERENCE")?(console.warn(`Caught circular reference during get/handleData for key ${o}. Resolving null.`),v(null)):(console.error("Error processing data in get/handleData:",B),v(null))}};(f?_.get("private").get(i).get(o):n.gun.get(n.appname).get(e).get(i).get(o)).once(P)})}catch(_){return console.error("Error in get:",_),null}}async function $m(n,e,i,o=null){if(!e||!i)throw new Error("getAll: Missing required parameters");let f=await n.getSchema(i);if(!f&&n.strict)throw new Error("getAll: Schema required in strict mode");try{let h=null;return o&&(h=n.gun.user(),await new Promise((m,y)=>{let E=n.userName(e);h.auth(E,o,b=>{b.err?(console.log(`Initial auth failed for ${E} during getAll, attempting to create...`),h.create(E,o,_=>{_.err?_.err.includes("already created")||_.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,o,P=>{P.err&&console.log(`Auth still failed after user existed check: ${P.err}. Resolving anyway for test operations.`),m()})):(console.log(`Create user error (resolving anyway for operations): ${_.err}`),m()):(console.log(`User ${E} created successfully during getAll, attempting auth...`),h.auth(E,o,v=>{v.err?y(new Error(`Failed to auth after create for ${E} during getAll: ${v.err}`)):m()}))})):m()})})),new Promise(m=>{let y=new Map,E=[],b=o?h.get("private").get(i):n.gun.get(n.appname).get(e).get(i);b.once(_=>{if(!_){m([]);return}let P=Object.keys(_).filter(R=>{if(R==="_")return!1;let $=_[R];return!($===null||typeof $=="object"&&$["#"])}).length;if(P===0){m([]);return}let S=0;b.map().once(async(R,$)=>{if(!R||$==="_"){S++,S>=P&&(await Promise.all(E),m(Array.from(y.values())));return}let B=(async()=>{try{let T=await n.parse(R);if(!T||!T.id)return;if(n.isHologram(T))try{let I=await n.resolveHologram(T,{followHolograms:!0,maxDepth:10,currentDepth:0});if(I===null){console.warn(`Broken hologram detected in getAll for key ${$}. Removing it...`);try{await n.delete(e,i,$,o)}catch(q){console.error(`Failed to remove broken hologram at ${e}/${i}/${$}:`,q)}return}if(I&&I!==T){f?(n.validator.validate(f,I)||!n.strict)&&y.set(I.id,I):y.set(I.id,I);return}}catch(I){console.error(`Error resolving hologram for key ${$}:`,I);return}f?(n.validator.validate(f,T)||!n.strict)&&y.set(T.id,T):y.set(T.id,T)}catch(T){console.error("Error processing data:",T)}})();E.push(B),S++,S>=P&&(await Promise.all(E),m(Array.from(y.values())))})})})}catch(h){return console.error("Error in getAll:",h),[]}}async function Pm(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 i=Object.keys(e).reduce((o,f)=>(f!=="_"&&(o[f]=e[f]),o),{});return Object.keys(i).length===0?(console.warn("Raw Gun object had only metadata (_), returning null."),null):i}else return e}return console.warn("Parsing encountered unexpected data type, returning null:",typeof e,e),null}async function km(n,e,i,o,f=null){if(!e||!i||!o)throw new Error("delete: Missing required parameters");try{let h=null;f&&(h=n.gun.user(),await new Promise((v,P)=>{let S=n.userName(e);h.auth(S,f,R=>{R.err?(console.log(`Initial auth failed for ${S} during deleteFunc, attempting to create...`),h.create(S,f,$=>{$.err?$.err.includes("already created")?(console.log(`User ${S} already existed during deleteFunc, re-attempting auth with fresh user object.`),n.gun.user().auth(S,f,T=>{T.err?P(new Error(`Failed to auth with fresh user object after create attempt (user existed) for ${S} during deleteFunc: ${T.err}`)):v()})):P(new Error(`Failed to create user ${S} during deleteFunc: ${$.err}`)):(console.log(`User ${S} created successfully during deleteFunc, attempting auth...`),h.auth(S,f,B=>{B.err?P(new Error(`Failed to auth after create for ${S} during deleteFunc: ${B.err}`)):v()}))})):v()})}));let m=f?h.get("private").get(i).get(o):n.gun.get(n.appname).get(e).get(i).get(o),y=Promise.resolve(),E=await new Promise(v=>m.once(v)),b=null;try{typeof E=="string"?b=JSON.parse(E):b=E}catch(v){console.warn("[deleteFunc] Could not JSON parse data for deletion check:",E,v),b=null}if(b&&n.isHologram(b))try{let v=b.soul;if(n.parseSoulPath(v)){let S=n.getNodeRef(v),R=`${n.appname}/${e}/${i}/${o}`;y=new Promise($=>{S.get("_holograms").get(R).put(null,B=>{B.err&&console.warn(`[deleteFunc] Error removing hologram ${R} from target ${v}:`,B.err),$()})})}else console.warn(`Could not parse target soul ${v} for hologram tracking removal.`)}catch(v){console.warn(`Error initiating hologram reference removal from target ${b.soul}:`,v),y=Promise.resolve()}return await y,new Promise((v,P)=>{m.put(null,S=>{S.err?P(new Error(S.err)):v(!0)})})}catch(h){throw console.error("Error in delete:",h),h}}async function Cm(n,e,i,o=null){if(!e||!i)return console.error("deleteAll: Missing holon or lens parameter"),!1;try{let f=null;return o&&(f=n.gun.user(),await new Promise((h,m)=>{let y=n.userName(e);f.auth(y,o,E=>{E.err?(console.log(`Initial auth failed for ${y} during deleteAll, attempting to create...`),f.create(y,o,b=>{b.err?b.err.includes("already created")||b.err.includes("already being created")?(console.log(`User ${y} already existed or being created during deleteAll, re-attempting auth with fresh user object.`),n.gun.user().auth(y,o,v=>{v.err&&console.log(`Auth still failed after user existed check: ${v.err}. Resolving anyway for test operations.`),h()})):(console.log(`Create user error (resolving anyway for operations): ${b.err}`),h()):(console.log(`User ${y} created successfully during deleteAll, attempting auth...`),f.auth(y,o,_=>{_.err?m(new Error(`Failed to auth after create for ${y} during deleteAll: ${_.err}`)):h()}))})):h()})})),new Promise(h=>{let m=[];(o?f.get("private").get(i):n.gun.get(n.appname).get(e).get(i)).once(async E=>{if(!E){h(!0);return}let b=Object.keys(E).filter(_=>_!=="_");for(let _ of b)try{let v=o?f.get("private").get(i).get(_):n.gun.get(n.appname).get(e).get(i).get(_),P=await new Promise($=>v.once($)),S=null;try{typeof P=="string"?S=JSON.parse(P):S=P}catch($){console.warn("[deleteAll] Could not JSON parse data for deletion check:",P,$),S=null}if(S&&n.isHologram(S))try{let $=S.soul;if(n.parseSoulPath($)){let T=n.getNodeRef($),I=`${n.appname}/${e}/${i}/${_}`;await new Promise(q=>{T.get("_holograms").get(I).put(null,U=>{U.err&&console.warn(`[deleteAll] Error removing hologram ${I} from target ${$}:`,U.err),q()})})}else console.warn(`Could not parse target soul ${$} for hologram tracking removal during deleteAll.`)}catch($){console.warn(`Error removing hologram reference from target ${S.soul} during deleteAll:`,$)}m.push(new Promise($=>{(o?f.get("private").get(i).get(_):n.gun.get(n.appname).get(e).get(i).get(_)).put(null,T=>{$(!!T.ok)})}))}catch(v){console.warn(`Error processing key ${_} during deleteAll:`,v),m.push(new Promise(P=>{(o?f.get("private").get(i).get(_):n.gun.get(n.appname).get(e).get(i).get(_)).put(null,R=>{P(!!R.ok)})}))}Promise.all(m).then(_=>{let v=_.every(P=>P===!0);h(v)}).catch(_=>{console.error("Error in deleteAll:",_),h(!1)})})})}catch(f){return console.error("Error in deleteAll:",f),!1}}async function Sm(n,e,i,o){if(!e||!i||!o)throw new Error("putNode: Missing required parameters");return new Promise((f,h)=>{try{let m=o.value&&n.isHologram(o.value);n.gun.get(n.appname).get(e).get(i).get("value").put(o.value,y=>{if(y.err)h(new Error(y.err));else{if(m)try{if(n.parseSoulPath(o.value.soul)){let b=n.getNodeRef(o.value.soul),_=`${n.appname}/${e}/${i}/value`;b.get("_holograms").get(_).put(!0)}else console.warn(`Data (ID: ${o.id}) being put is a hologram, but could not parse its soul ${o.value.soul} for tracking.`)}catch(E){console.warn(`Error updating _holograms set for the target of the data being put (data ID: ${o.id}, soul: ${o.value.soul}):`,E)}f(!0)}})}catch(m){h(m)}})}async function xm(n,e,i,o){if(!e||!i||!o)throw new Error("getNode: Missing required parameters");return new Promise((f,h)=>{try{n.gun.get(n.appname).get(e).get(i).get(o).once(m=>{if(!m){f(null);return}f(m)})}catch(m){h(m)}})}function tf(n,e){if(typeof e!="string"||!e)throw new Error("getNodeRef: Invalid soul parameter");let i=e.split("/").filter(f=>{if(!f.trim()||/[<>:"/\\|?*]/.test(f))throw new Error("getNodeRef: Invalid path segment");return f.trim()});if(i.length===0)throw new Error("getNodeRef: Invalid soul format");let o=n.gun.get(n.appname);return i.forEach(f=>{o=o.get(f)}),o}async function Dm(n,e){if(!e)throw new Error("getNodeBySoul: Missing soul parameter");return console.log(`getNodeBySoul: Accessing soul ${e}`),new Promise((i,o)=>{try{tf(n,e).once(h=>{if(console.log("getNodeBySoul: Retrieved data:",h),!h){i(null);return}i(h)})}catch(f){console.error("getNodeBySoul error:",f),o(f)}})}async function Rm(n,e,i,o){if(!e||!i||!o)throw new Error("deleteNode: Missing required parameters");try{let f=n.gun.get(n.appname).get(e).get(i).get(o),h=Promise.resolve(),m=await new Promise(b=>f.once(b)),y=null;try{typeof m=="string"?y=JSON.parse(m):y=m}catch(b){console.warn("[deleteNode] Could not JSON parse data for deletion check:",m,b),y=null}if(y&&n.isHologram(y))try{let b=y.soul;if(n.parseSoulPath(b)){let v=n.getNodeRef(b),P=`${n.appname}/${e}/${i}/value`;h=new Promise(S=>{v.get("_holograms").get(P).put(null,R=>{R.err&&console.warn(`[deleteNode] Error removing hologram ${P} from target ${b}:`,R.err),S()})})}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 ${y.soul} during deleteNode:`,b),h=Promise.resolve()}return await h,new Promise((b,_)=>{f.put(null,v=>{v.err?_(new Error(v.err)):b(!0)})})}catch(f){throw console.error("Error in deleteNode:",f),f}}async function Om(n,e,i,o=null){try{if(!e||!i)throw new Error("Table name and data are required");let f=null;return o&&(f=n.gun.user(),await new Promise((h,m)=>{let y=n.userName(e);f.auth(y,o,E=>{E.err?(console.log(`Initial auth failed for ${y}, attempting to create...`),f.create(y,o,b=>{b.err?b.err.includes("already created")||b.err.includes("already being created")?(console.log(`User ${y} already existed or being created, re-attempting auth with fresh user object.`),n.gun.user().auth(y,o,v=>{v.err&&console.log(`Auth still failed after user existed check: ${v.err}. Resolving anyway for test operations.`),h()})):(console.log(`Create user error (resolving anyway for operations): ${b.err}`),h()):(console.log(`User ${y} created successfully, attempting auth...`),f.auth(y,o,_=>{_.err?m(new Error(`Failed to auth after create for ${y}: ${_.err}`)):h()}))})):h()})})),new Promise((h,m)=>{try{let y={...i};y._meta!==void 0&&delete y._meta;let E=JSON.stringify(y),b=n.isHologram(y),_=o?f.get("private").get(e):n.gun.get(n.appname).get(e);i.id?_.get(i.id).put(E,P=>{if(P.err)m(new Error(P.err));else{if(b)try{if(n.parseSoulPath(y.soul)){let R=n.getNodeRef(y.soul),$=`${n.appname}/${e}/${i.id}`;R.get("_holograms").get($).put(!0)}else console.warn(`Data (ID: ${i.id}) being put is a hologram, but could not parse its soul ${y.soul} for tracking.`)}catch(S){console.warn(`Error updating _holograms set for the target of the data being put (data ID: ${i.id}, soul: ${y.soul}):`,S)}h()}}):_.put(E,v=>{if(v.err)m(new Error(v.err));else{if(b)try{if(n.parseSoulPath(y.soul)){let S=n.getNodeRef(y.soul),R=`${n.appname}/${e}`;S.get("_holograms").get(R).put(!0)}else console.warn(`Data being put is a hologram, but could not parse its soul ${y.soul} for tracking.`)}catch(P){console.warn(`Error updating _holograms set for the target of the data being put (soul: ${y.soul}):`,P)}h()}})}catch(y){m(y)}})}catch(f){throw console.error("Error in putGlobal:",f),f}}async function Tm(n,e,i,o=null){try{let f=null;return o&&(f=n.gun.user(),await new Promise((h,m)=>{let y=n.userName(e);f.auth(y,o,E=>{E.err?(console.log(`Initial auth failed for ${y}, attempting to create...`),f.create(y,o,b=>{b.err?b.err.includes("already created")||b.err.includes("already being created")?(console.log(`User ${y} already existed or being created, re-attempting auth with fresh user object.`),n.gun.user().auth(y,o,v=>{v.err&&console.log(`Auth still failed after user existed check: ${v.err}. Resolving anyway for test operations.`),h()})):(console.log(`Create user error (resolving anyway for operations): ${b.err}`),h()):(console.log(`User ${y} created successfully, attempting auth...`),f.auth(y,o,_=>{_.err?m(new Error(`Failed to auth after create for ${y}: ${_.err}`)):h()}))})):h()})})),new Promise(async h=>{let m=async b=>{if(!b){h(null);return}try{let _=await n.parse(b);if(!_){h(null);return}if(n.isHologram(_)){let v=await n.resolveHologram(_,{followHolograms:!0});if(v===null){try{await n.deleteGlobal(e,i,o)}catch(P){console.error(`Failed to delete invalid global hologram at ${e}/${i}:`,P)}h(null);return}if(v!==_){h(v);return}}h(_)}catch(_){console.error("Error parsing data in getGlobal:",_),h(null)}};(o?f.get("private").get(e):n.gun.get(n.appname).get(e)).get(i).once(m)})}catch(f){return console.error("Error in getGlobal:",f),null}}async function Im(n,e,i=null){if(!e)throw new Error("getAllGlobal: Missing table name parameter");try{let o=null;return i&&(o=n.gun.user(),await new Promise((f,h)=>{let m=n.userName(e);o.auth(m,i,y=>{y.err?(console.log(`Initial auth failed for ${m}, attempting to create...`),o.create(m,i,E=>{E.err?E.err.includes("already created")||E.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,i,_=>{_.err&&console.log(`Auth still failed after user existed check: ${_.err}. Resolving anyway for test operations.`),f()})):(console.log(`Create user error (resolving anyway for operations): ${E.err}`),f()):(console.log(`User ${m} created successfully, attempting auth...`),o.auth(m,i,b=>{b.err?h(new Error(`Failed to auth after create for ${m}: ${b.err}`)):f()}))})):f()})})),new Promise(f=>{let h=[],m=[],y=i?o.get("private").get(e):n.gun.get(n.appname).get(e);y.once(E=>{if(!E){f([]);return}let _=Object.keys(E).filter(P=>{if(P==="_")return!1;let S=E[P];return!(S===null||typeof S=="object"&&S["#"])}).length;if(_===0){f([]);return}let v=0;y.map().once(async(P,S)=>{if(!P||S==="_"){v++,v>=_&&(await Promise.all(m),f(h));return}let R=(async()=>{try{let $=await n.parse(P);if(!$)return;if(n.isHologram($)){let B=await n.resolveHologram($,{followHolograms:!0});if(B===null){try{await n.deleteGlobal(e,S,i)}catch(T){console.error(`Failed to delete invalid global hologram at ${e}/${S}:`,T)}return}B!==$?h.push(B):h.push($)}else h.push($)}catch($){console.error("Error parsing data:",$)}})();m.push(R),v++,v>=_&&(await Promise.all(m),f(h))})})})}catch(o){return console.error("Error in getAllGlobal:",o),[]}}async function Bm(n,e,i,o=null){if(!e||!i)throw new Error("deleteGlobal: Missing required parameters");try{let f=null;o&&(f=n.gun.user(),await new Promise((_,v)=>{let P=n.userName(e);f.auth(P,o,S=>{S.err?(console.log(`Initial auth failed for ${P}, attempting to create...`),f.create(P,o,R=>{R.err?R.err.includes("already created")||R.err.includes("already being created")?(console.log(`User ${P} already existed or being created, re-attempting auth with fresh user object.`),n.gun.user().auth(P,o,B=>{B.err&&console.log(`Auth still failed after user existed check: ${B.err}. Resolving anyway for test operations.`),_()})):(console.log(`Create user error (resolving anyway for operations): ${R.err}`),_()):(console.log(`User ${P} created successfully, attempting auth...`),f.auth(P,o,$=>{$.err?v(new Error(`Failed to auth after create for ${P}: ${$.err}`)):_()}))})):_()})}));let h=o?f.get("private").get(e).get(i):n.gun.get(n.appname).get(e).get(i),m=Promise.resolve(),y=await new Promise(_=>h.once(_)),E=null;try{typeof y=="string"?E=JSON.parse(y):E=y}catch(_){console.warn("[deleteGlobal] Could not JSON parse data for deletion check:",y,_),E=null}if(E&&n.isHologram(E))try{let _=E.soul;if(n.parseSoulPath(_)){let P=n.getNodeRef(_),S=`${n.appname}/${e}/${i}`;m=new Promise(R=>{P.get("_holograms").get(S).put(null,$=>{$.err&&console.warn(`[deleteGlobal] Error removing hologram ${S} from target ${_}:`,$.err),R()})})}else console.warn(`Could not parse target soul ${_} for hologram tracking removal during deleteGlobal.`)}catch(_){console.warn(`Error initiating hologram reference removal from target ${E.soul} during deleteGlobal:`,_),m=Promise.resolve()}return await m,new Promise((_,v)=>{h.put(null,P=>{P.err?(console.error("deleteGlobal - Deletion error:",P.err),v(new Error(P.err))):_(!0)})})}catch(f){throw console.error("Error in deleteGlobal:",f),f}}async function Mm(n,e,i=null){if(!e)throw new Error("deleteAllGlobal: Missing table name parameter");try{let o=null;return i&&(o=n.gun.user(),await new Promise((f,h)=>{let m=n.userName(e);o.auth(m,i,y=>{y.err?(console.log(`Initial auth failed for ${m}, attempting to create...`),o.create(m,i,E=>{E.err?E.err.includes("already created")||E.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,i,_=>{_.err&&console.log(`Auth still failed after user existed check: ${_.err}. Resolving anyway for test cleanup.`),f()})):(console.log(`Create user error (resolving anyway for cleanup): ${E.err}`),f()):(console.log(`User ${m} created successfully, attempting auth...`),o.auth(m,i,b=>{b.err?h(new Error(`Failed to auth after create for ${m}: ${b.err}`)):f()}))})):f()})})),new Promise((f,h)=>{try{let m=new Set,y=setTimeout(()=>{m.size===0&&f(!0)},5e3),E=i?o.get("private").get(e):n.gun.get(n.appname).get(e);E.once(async b=>{if(!b){clearTimeout(y),f(!0);return}let _=Object.keys(b).filter(P=>P!=="_");for(let P of _)try{let S=i?o.get("private").get(e).get(P):n.gun.get(n.appname).get(e).get(P),R=await new Promise(T=>S.once(T)),$=null;try{typeof R=="string"?$=JSON.parse(R):$=R}catch(T){console.warn("[deleteAllGlobal] Could not JSON parse data for deletion check:",R,T),$=null}if($&&n.isHologram($))try{let T=$.soul;if(n.parseSoulPath(T)){let q=n.getNodeRef(T),U=`${n.appname}/${e}/${P}`;await new Promise(V=>{q.get("_holograms").get(U).put(null,z=>{z.err&&console.warn(`[deleteAllGlobal] Error removing hologram ${U} from target ${T}:`,z.err),V()})})}else console.warn(`Could not parse target soul ${T} for hologram tracking removal during deleteAllGlobal.`)}catch(T){console.warn(`Error removing hologram reference from target ${$.soul} during deleteAllGlobal:`,T)}m.add(P)}catch(S){console.warn(`Error processing key ${P} during deleteAllGlobal:`,S),m.add(P)}let v=_.map(P=>new Promise((S,R)=>{(i?o.get("private").get(e).get(P):n.gun.get(n.appname).get(e).get(P)).put(null,B=>{B.err?(console.error(`Failed to delete ${P}:`,B.err),R(new Error(B.err))):S()})}));try{await Promise.all(v),E.put(null),clearTimeout(y),f(!0)}catch(P){h(P)}})}catch(m){h(m)}})}catch(o){throw console.error("Error in deleteAllGlobal:",o),o}}function jm(n,e,i,o){if(ka(o))return{id:o.id,soul:o.soul};if(!e||!i||!o||!o.id)throw new Error("createHologram: Missing required parameters for non-hologram data");let f=`${n.appname}/${e}/${i}/${o.id}`;return{id:o.id,soul:f}}function Af(n){if(typeof n!="string")return null;let e=n.split("/");if(e.length<4)return null;let i=e.slice(3).join("/");return{appname:e[0],holon:e[1],lens:e[2],key:i}}function ka(n){return!n||typeof n!="object"?!1:!!(n.id&&typeof n.soul=="string"&&n.soul.length>0&&n.soul.includes("/"))}async function Nm(n,e,i={}){if(!ka(e))return e;let{followHolograms:o=!0,visited:f=new Set,maxDepth:h=10,currentDepth:m=0}=i;if(m>=h)return console.warn(`!!! Maximum resolution depth (${h}) reached for soul: ${e.soul}. Stopping resolution.`),null;if(e.soul&&f.has(e.soul))return console.warn(`!!! CIRCULAR hologram detected for soul: ${e.soul}. Breaking loop.`),null;try{if(e.soul){let y=Af(e.soul);if(!y)return console.warn(`Invalid soul format: ${e.soul}`),null;let E=new Set(f);E.add(e.soul);let b=await n.get(y.holon,y.lens,y.key,null,{resolveHolograms:o,visited:E,maxDepth:h,currentDepth:m+1});return b&&!b._invalidHologram?{...b,_meta:{...b._meta||{},resolvedFromHologram:!0,hologramSoul:e.soul,resolutionDepth:m}}:(console.warn(`!!! Original data NOT FOUND for soul: ${e.soul}. Removing broken hologram.`),null)}else return console.warn("!!! resolveHologram called with object missing soul:",e),null}catch(y){return y.message?.startsWith("CIRCULAR_REFERENCE")?(console.warn(`!!! Circular reference detected during hologram resolution: ${y.message}`),null):(console.error(`!!! Error resolving hologram: ${y.message}`,y),null)}}async function Fm(n,e,i,o,f=15,h=null){let m=e,y=TA(m),E=[];for(;y>0&&f>0;)try{let b=await n.compute(m,i,o,h);b&&E.push(b),m=IA(m,y-1),y--,f--}catch(b){console.error("Error in compute hierarchy:",b);break}return E}async function Qm(n,e,i,o,f=null){if(!e||!i)throw new Error("compute: Missing required parameters");if(typeof o=="string"&&(o={operation:o}),!o?.operation)throw new Error("compute: Missing required parameters");let h;try{h=TA(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:m,fields:y=[],targetField:E,depth:b,maxDepth:_}=o;if(b!==void 0&&b<0)throw new Error("compute: Invalid depth parameter");if(_!==void 0&&(_<1||_>15))throw new Error("compute: Invalid maxDepth parameter (must be between 1 and 15)");let v=["summarize","aggregate","concatenate"];if(!v.includes(m))throw new Error(`compute: Invalid operation (must be one of ${v.join(", ")})`);let P=IA(e,h-1),S=_c(P,h),$=(await Promise.all(S.map(B=>n.getAll(B,i,f)))).flat().filter(Boolean);if($.length>0)try{let B;switch(m){case"summarize":let T=y.length>0?$.map(I=>y.map(q=>I[q]).filter(Boolean).join(`
|
|
9
|
+
deps: ${s}}`};var rv={keyword:"dependencies",type:"object",schemaType:"object",error:kt.error,code(n){let[e,s]=nv(n);Vf(n,e),zf(n,s)}};function nv({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 Vf(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,ys._)`${v} && (${(0,Fn.checkMissingProp)(n,m,h)})`),(0,Fn.reportMissingProp)(n,h),s.else())}}kt.validatePropertyDeps=Vf;function zf(n,e=n.schema){let{gen:s,data:a,keyword:c,it:h}=n,g=s.name("valid");for(let m in e)(0,tv.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))}kt.validateSchemaDeps=zf;kt.default=rv});var Yf=me(ws=>{"use strict";Object.defineProperty(ws,"__esModule",{value:!0});var Kf=Ue(),iv=Ke(),ov={message:"property name must be valid",params:({params:n})=>(0,Kf._)`{propertyName: ${n.propertyName}}`},sv={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:ov,code(n){let{gen:e,schema:s,data:a,it:c}=n;if((0,iv.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,Kf.not)(h),()=>{n.error(!0),c.allErrors||e.break()})}),n.ok(h)}};ws.default=sv});var bs=me(vs=>{"use strict";Object.defineProperty(vs,"__esModule",{value:!0});var Fi=nt(),ft=Ue(),av=rt(),Vi=Ke(),uv={message:"must NOT have additional properties",params:({params:n})=>(0,ft._)`{additionalProperty: ${n.additionalProperty}}`},lv={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:uv,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} === ${av.default.errors}`);function E(){e.forIn("key",c,N=>{!b.length&&!w.length?D(N):e.if(k(N),()=>D(N))})}function k(N){let M;if(b.length>8){let Q=(0,Vi.schemaRefOrVal)(g,a.properties,"properties");M=(0,Fi.isOwnProperty)(e,Q,N)}else b.length?M=(0,ft.or)(...b.map(Q=>(0,ft._)`${N} === ${Q}`)):M=ft.nil;return w.length&&(M=(0,ft.or)(M,...w.map(Q=>(0,ft._)`${(0,Fi.usePattern)(n,Q)}.test(${N})`))),(0,ft.not)(M)}function $(N){e.code((0,ft._)`delete ${c}[${N}]`)}function D(N){if(v.removeAdditional==="all"||v.removeAdditional&&s===!1){$(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 M=e.name("valid");v.removeAdditional==="failing"?(x(N,M,!1),e.if((0,ft.not)(M),()=>{n.reset(),$(N)})):(x(N,M),m||e.if((0,ft.not)(M),()=>e.break()))}}function x(N,M,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,M)}}};vs.default=lv});var Zf=me(Es=>{"use strict";Object.defineProperty(Es,"__esModule",{value:!0});var fv=Dn(),Wf=nt(),_s=Ke(),Jf=bs(),cv={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&&Jf.default.code(new fv.KeywordCxt(h,Jf.default,"additionalProperties"));let g=(0,Wf.allSchemaProperties)(s);for(let E of g)h.definedProperties.add(E);h.opts.unevaluated&&g.length&&h.props!==!0&&(h.props=_s.mergeEvaluated.props(e,(0,_s.toHash)(g),h.props));let m=g.filter(E=>!(0,_s.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,Wf.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)}}};Es.default=cv});var tc=me(ks=>{"use strict";Object.defineProperty(ks,"__esModule",{value:!0});var Xf=nt(),zi=Ue(),ec=Ke(),Ac=Ke(),dv={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,Xf.allSchemaProperties)(s),v=m.filter(x=>(0,ec.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,Ac.evaluatedPropsToName)(e,h.props));let{props:E}=h;k();function k(){for(let x of m)b&&$(x),h.allErrors?D(x):(e.var(w,!0),D(x),e.if(w))}function $(x){for(let N in b)new RegExp(x).test(N)&&(0,ec.checkStrictMode)(h,`property ${N} matches pattern ${x} (use allowMatchingProperties)`)}function D(x){e.forIn("key",a,N=>{e.if((0,zi._)`${(0,Xf.usePattern)(n,x)}.test(${N})`,()=>{let M=v.includes(x);M||n.subschema({keyword:"patternProperties",schemaProp:x,dataProp:N,dataPropType:Ac.Type.Str},w),h.opts.unevaluated&&E!==!0?e.assign((0,zi._)`${E}[${N}]`,!0):!M&&!h.allErrors&&e.if((0,zi.not)(w),()=>e.break())})})}}};ks.default=dv});var rc=me($s=>{"use strict";Object.defineProperty($s,"__esModule",{value:!0});var hv=Ke(),pv={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(n){let{gen:e,schema:s,it:a}=n;if((0,hv.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"}};$s.default=pv});var nc=me(xs=>{"use strict";Object.defineProperty(xs,"__esModule",{value:!0});var gv=nt(),mv={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:gv.validateUnion,error:{message:"must match a schema in anyOf"}};xs.default=mv});var ic=me(Bs=>{"use strict";Object.defineProperty(Bs,"__esModule",{value:!0});var Ki=Ue(),yv=Ke(),wv={message:"must match exactly one schema in oneOf",params:({params:n})=>(0,Ki._)`{passingSchemas: ${n.passing}}`},vv={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:wv,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 k;(0,yv.alwaysValidSchema)(c,w)?e.var(v,!0):k=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),k&&n.mergeEvaluated(k,Ki.Name)})})}}};Bs.default=vv});var oc=me(Ss=>{"use strict";Object.defineProperty(Ss,"__esModule",{value:!0});var bv=Ke(),_v={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,bv.alwaysValidSchema)(a,h))return;let m=n.subschema({keyword:"allOf",schemaProp:g},c);n.ok(c),n.mergeEvaluated(m)})}};Ss.default=_v});var uc=me(Ps=>{"use strict";Object.defineProperty(Ps,"__esModule",{value:!0});var Yi=Ue(),ac=Ke(),Ev={message:({params:n})=>(0,Yi.str)`must match "${n.ifClause}" schema`,params:({params:n})=>(0,Yi._)`{failingKeyword: ${n.ifClause}}`},kv={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:Ev,code(n){let{gen:e,parentSchema:s,it:a}=n;s.then===void 0&&s.else===void 0&&(0,ac.checkStrictMode)(a,'"if" without "then" and "else" is ignored');let c=sc(a,"then"),h=sc(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 k=n.subschema({keyword:w},m);e.assign(g,m),n.mergeValidEvaluated(k,g),E?e.assign(E,(0,Yi._)`${w}`):n.setParams({ifClause:w})}}}};function sc(n,e){let s=n.schema[e];return s!==void 0&&!(0,ac.alwaysValidSchema)(n,s)}Ps.default=kv});var lc=me(Ds=>{"use strict";Object.defineProperty(Ds,"__esModule",{value:!0});var $v=Ke(),xv={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:n,parentSchema:e,it:s}){e.if===void 0&&(0,$v.checkStrictMode)(s,`"${n}" without "if" is ignored`)}};Ds.default=xv});var fc=me(Cs=>{"use strict";Object.defineProperty(Cs,"__esModule",{value:!0});var Bv=ds(),Sv=Lf(),Pv=hs(),Dv=Gf(),Cv=Ff(),Tv=Gi(),Ov=Yf(),jv=bs(),Mv=Zf(),Nv=tc(),Rv=rc(),Iv=nc(),qv=ic(),Qv=oc(),Hv=uc(),Lv=lc();function Uv(n=!1){let e=[Rv.default,Iv.default,qv.default,Qv.default,Hv.default,Lv.default,Ov.default,jv.default,Tv.default,Mv.default,Nv.default];return n?e.push(Sv.default,Dv.default):e.push(Bv.default,Pv.default),e.push(Cv.default),e}Cs.default=Uv});var cc=me(Ts=>{"use strict";Object.defineProperty(Ts,"__esModule",{value:!0});var mA=Ue(),Gv={message:({schemaCode:n})=>(0,mA.str)`must match format "${n}"`,params:({schemaCode:n})=>(0,mA._)`{format: ${n}}`},Fv={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:Gv,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 k(){let D=s.scopeValue("formats",{ref:E.formats,code:v.code.formats}),x=s.const("fDef",(0,mA._)`${D}[${g}]`),N=s.let("fType"),M=s.let("format");s.if((0,mA._)`typeof ${x} == "object" && !(${x} instanceof RegExp)`,()=>s.assign(N,(0,mA._)`${x}.type || "string"`).assign(M,(0,mA._)`${x}.validate`),()=>s.assign(N,(0,mA._)`"string"`).assign(M,x)),n.fail$data((0,mA.or)(Q(),L()));function Q(){return v.strictSchema===!1?mA.nil:(0,mA._)`${g} && !${M}`}function L(){let V=w.$async?(0,mA._)`(${x}.async ? await ${M}(${a}) : ${M}(${a}))`:(0,mA._)`${M}(${a})`,K=(0,mA._)`(typeof ${M} == "function" ? ${V} : ${M}.test(${a}))`;return(0,mA._)`${M} && ${M} !== true && ${N} === ${e} && !${K}`}}function $(){let D=E.formats[h];if(!D){Q();return}if(D===!0)return;let[x,N,M]=L(D);x===e&&n.pass(V());function Q(){if(v.strictSchema===!1){E.logger.warn(K());return}throw new Error(K());function K(){return`unknown format "${h}" ignored in schema at path "${b}"`}}function L(K){let W=K instanceof RegExp?(0,mA.regexpCode)(K):v.code.formats?(0,mA._)`${v.code.formats}${(0,mA.getProperty)(h)}`:void 0,se=s.scopeValue("formats",{key:h,ref:K,code:W});return typeof K=="object"&&!(K instanceof RegExp)?[K.type||"string",K.validate,(0,mA._)`${se}.validate`]:["string",K,se]}function V(){if(typeof D=="object"&&!(D instanceof RegExp)&&D.async){if(!w.$async)throw new Error("async format in sync schema");return(0,mA._)`await ${M}(${a})`}return typeof N=="function"?(0,mA._)`${M}(${a})`:(0,mA._)`${M}.test(${a})`}}}};Ts.default=Fv});var dc=me(Os=>{"use strict";Object.defineProperty(Os,"__esModule",{value:!0});var Vv=cc(),zv=[Vv.default];Os.default=zv});var hc=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 gc=me(js=>{"use strict";Object.defineProperty(js,"__esModule",{value:!0});var Kv=kf(),Yv=If(),Wv=fc(),Jv=dc(),pc=hc(),Zv=[Kv.default,Yv.default,(0,Wv.default)(),Jv.default,pc.metadataVocabulary,pc.contentVocabulary];js.default=Zv});var Ns=me(Vn=>{"use strict";Object.defineProperty(Vn,"__esModule",{value:!0});Vn.dynamicAnchor=void 0;var Ms=Ue(),Xv=rt(),mc=Tn(),eb=Ii(),Ab={keyword:"$dynamicAnchor",schemaType:"string",code:n=>yc(n,n.schema)};function yc(n,e){let{gen:s,it:a}=n;a.schemaEnv.root.dynamicAnchors[e]=!0;let c=(0,Ms._)`${Xv.default.dynamicAnchors}${(0,Ms.getProperty)(e)}`,h=a.errSchemaPath==="#"?a.validateName:tb(n);s.if((0,Ms._)`!${c}`,()=>s.assign(c,h))}Vn.dynamicAnchor=yc;function tb(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 mc.SchemaEnv({schema:s,schemaId:v,root:c,baseId:h,localRefs:g,meta:m});return mc.compileSchema.call(a,b),(0,eb.getValidate)(n,b)}Vn.default=Ab});var Rs=me(zn=>{"use strict";Object.defineProperty(zn,"__esModule",{value:!0});zn.dynamicRef=void 0;var wc=Ue(),rb=rt(),vc=Ii(),nb={keyword:"$dynamicRef",schemaType:"string",code:n=>bc(n,n.schema)};function bc(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,wc._)`${rb.default.dynamicAnchors}${(0,wc.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,vc.callRef)(n,v),s.let(b,!0)}):()=>(0,vc.callRef)(n,v)}}zn.dynamicRef=bc;zn.default=nb});var _c=me(Is=>{"use strict";Object.defineProperty(Is,"__esModule",{value:!0});var ib=Ns(),ob=Ke(),sb={keyword:"$recursiveAnchor",schemaType:"boolean",code(n){n.schema?(0,ib.dynamicAnchor)(n,""):(0,ob.checkStrictMode)(n.it,"$recursiveAnchor: false is ignored")}};Is.default=sb});var Ec=me(qs=>{"use strict";Object.defineProperty(qs,"__esModule",{value:!0});var ab=Rs(),ub={keyword:"$recursiveRef",schemaType:"string",code:n=>(0,ab.dynamicRef)(n,n.schema)};qs.default=ub});var kc=me(Qs=>{"use strict";Object.defineProperty(Qs,"__esModule",{value:!0});var lb=Ns(),fb=Rs(),cb=_c(),db=Ec(),hb=[lb.default,fb.default,cb.default,db.default];Qs.default=hb});var xc=me(Hs=>{"use strict";Object.defineProperty(Hs,"__esModule",{value:!0});var $c=Gi(),pb={keyword:"dependentRequired",type:"object",schemaType:"object",error:$c.error,code:n=>(0,$c.validatePropertyDeps)(n)};Hs.default=pb});var Bc=me(Ls=>{"use strict";Object.defineProperty(Ls,"__esModule",{value:!0});var gb=Gi(),mb={keyword:"dependentSchemas",type:"object",schemaType:"object",code:n=>(0,gb.validateSchemaDeps)(n)};Ls.default=mb});var Sc=me(Us=>{"use strict";Object.defineProperty(Us,"__esModule",{value:!0});var yb=Ke(),wb={keyword:["maxContains","minContains"],type:"array",schemaType:"number",code({keyword:n,parentSchema:e,it:s}){e.contains===void 0&&(0,yb.checkStrictMode)(s,`"${n}" without "contains" is ignored`)}};Us.default=wb});var Pc=me(Gs=>{"use strict";Object.defineProperty(Gs,"__esModule",{value:!0});var vb=xc(),bb=Bc(),_b=Sc(),Eb=[vb.default,bb.default,_b.default];Gs.default=Eb});var Cc=me(Fs=>{"use strict";Object.defineProperty(Fs,"__esModule",{value:!0});var Wt=Ue(),Dc=Ke(),kb=rt(),$b={message:"must NOT have unevaluated properties",params:({params:n})=>(0,Wt._)`{unevaluatedProperty: ${n.unevaluatedProperty}}`},xb={keyword:"unevaluatedProperties",type:"object",schemaType:["boolean","object"],trackErrors:!0,error:$b,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 Wt.Name?e.if((0,Wt._)`${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,Wt._)`${c} === ${kb.default.errors}`);function v(E){if(s===!1){n.setParams({unevaluatedProperty:E}),n.error(),g||e.break();return}if(!(0,Dc.alwaysValidSchema)(h,s)){let k=e.name("valid");n.subschema({keyword:"unevaluatedProperties",dataProp:E,dataPropType:Dc.Type.Str},k),g||e.if((0,Wt.not)(k),()=>e.break())}}function b(E,k){return(0,Wt._)`!${E} || !${E}[${k}]`}function w(E,k){let $=[];for(let D in E)E[D]===!0&&$.push((0,Wt._)`${k} !== ${D}`);return(0,Wt.and)(...$)}}};Fs.default=xb});var Oc=me(Vs=>{"use strict";Object.defineProperty(Vs,"__esModule",{value:!0});var wr=Ue(),Tc=Ke(),Bb={message:({params:{len:n}})=>(0,wr.str)`must NOT have more than ${n} items`,params:({params:{len:n}})=>(0,wr._)`{limit: ${n}}`},Sb={keyword:"unevaluatedItems",type:"array",schemaType:["boolean","object"],error:Bb,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,wr._)`${a}.length`);if(s===!1)n.setParams({len:h}),n.fail((0,wr._)`${g} > ${h}`);else if(typeof s=="object"&&!(0,Tc.alwaysValidSchema)(c,s)){let v=e.var("valid",(0,wr._)`${g} <= ${h}`);e.if((0,wr.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:Tc.Type.Num},v),c.allErrors||e.if((0,wr.not)(v),()=>e.break())})}}};Vs.default=Sb});var jc=me(zs=>{"use strict";Object.defineProperty(zs,"__esModule",{value:!0});var Pb=Cc(),Db=Oc(),Cb=[Pb.default,Db.default];zs.default=Cb});var Nc=me(Wi=>{"use strict";Object.defineProperty(Wi,"__esModule",{value:!0});Wi.DiscrError=void 0;var Mc;(function(n){n.Tag="tag",n.Mapping="mapping"})(Mc||(Wi.DiscrError=Mc={}))});var Ic=me(Ys=>{"use strict";Object.defineProperty(Ys,"__esModule",{value:!0});var Kr=Ue(),Ks=Nc(),Rc=Tn(),Tb=Cn(),Ob=Ke(),jb={message:({params:{discrError:n,tagName:e}})=>n===Ks.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}}`},Mb={keyword:"discriminator",type:"object",schemaType:"object",error:jb,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:Ks.DiscrError.Tag,tag:b,tagName:m})),n.ok(v);function w(){let $=k();e.if(!1);for(let D in $)e.elseIf((0,Kr._)`${b} === ${D}`),e.assign(v,E($[D]));e.else(),n.error(!1,{discrError:Ks.DiscrError.Mapping,tag:b,tagName:m}),e.endIf()}function E($){let D=e.name("valid"),x=n.subschema({keyword:"oneOf",schemaProp:$},D);return n.mergeEvaluated(x,Kr.Name),D}function k(){var $;let D={},x=M(c),N=!0;for(let V=0;V<g.length;V++){let K=g[V];if(K?.$ref&&!(0,Ob.schemaHasRulesButRef)(K,h.self.RULES)){let se=K.$ref;if(K=Rc.resolveRef.call(h.self,h.schemaEnv.root,h.baseId,se),K instanceof Rc.SchemaEnv&&(K=K.schema),K===void 0)throw new Tb.default(h.opts.uriResolver,h.baseId,se)}let W=($=K?.properties)===null||$===void 0?void 0:$[m];if(typeof W!="object")throw new Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${m}"`);N=N&&(x||M(K)),Q(W,V)}if(!N)throw new Error(`discriminator: "${m}" must be required`);return D;function M({required:V}){return Array.isArray(V)&&V.includes(m)}function Q(V,K){if(V.const)L(V.const,K);else if(V.enum)for(let W of V.enum)L(W,K);else throw new Error(`discriminator: "properties/${m}" must have "const" or "enum"`)}function L(V,K){if(typeof V!="string"||V in D)throw new Error(`discriminator: "${m}" values must be unique strings`);D[V]=K}}}};Ys.default=Mb});var qc=me((N6,Nb)=>{Nb.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 Qc=me((R6,Rb)=>{Rb.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 Hc=me((I6,Ib)=>{Ib.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 Lc=me((q6,qb)=>{qb.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 Uc=me((Q6,Qb)=>{Qb.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 Gc=me((H6,Hb)=>{Hb.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 Fc=me((L6,Lb)=>{Lb.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 Vc=me(Ws=>{"use strict";Object.defineProperty(Ws,"__esModule",{value:!0});var Ub=qc(),Gb=Qc(),Fb=Hc(),Vb=Lc(),zb=Uc(),Kb=Gc(),Yb=Fc(),Wb=["/properties"];function Jb(n){return[Ub,Gb,Fb,Vb,e(this,zb),Kb,e(this,Yb)].forEach(s=>this.addMetaSchema(s,void 0,!1)),this;function e(s,a){return n?s.$dataMetaSchema(a,Wb):a}}Ws.default=Jb});var zc=me((hA,Zs)=>{"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 Zb=wf(),Xb=gc(),e4=kc(),A4=Pc(),t4=jc(),r4=Ic(),n4=Vc(),Js="https://json-schema.org/draft/2019-09/schema",Yr=class extends Zb.default{constructor(e={}){super({...e,dynamicRef:!0,next:!0,unevaluated:!0})}_addVocabularies(){super._addVocabularies(),this.addVocabulary(e4.default),Xb.default.forEach(e=>this.addVocabulary(e)),this.addVocabulary(A4.default),this.addVocabulary(t4.default),this.opts.discriminator&&this.addKeyword(r4.default)}_addDefaultMetaSchema(){super._addDefaultMetaSchema();let{$data:e,meta:s}=this.opts;s&&(n4.default.call(this,e),this.refs["http://json-schema.org/schema"]=Js)}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(Js)?Js:void 0)}};hA.Ajv2019=Yr;Zs.exports=hA=Yr;Zs.exports.Ajv2019=Yr;Object.defineProperty(hA,"__esModule",{value:!0});hA.default=Yr;var i4=Dn();Object.defineProperty(hA,"KeywordCxt",{enumerable:!0,get:function(){return i4.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 o4=Pi();Object.defineProperty(hA,"ValidationError",{enumerable:!0,get:function(){return o4.default}});var s4=Cn();Object.defineProperty(hA,"MissingRefError",{enumerable:!0,get:function(){return s4.default}})});var c8={};Mu(c8,{HoloSphere:()=>po,buildLensPath:()=>B2,default:()=>f8,handshake:()=>Pa,nostrUtils:()=>rn,registry:()=>P2,subscriptions:()=>S2,version:()=>l8});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,ae){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}ae()},r.onerror=ae,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},k=function(){return w},$=8;function D(te,oe,ye,ae){switch(ye=ye||"i8",ye.charAt(ye.length-1)==="*"&&(ye="i32"),ye){case"i1":T[te>>0]=oe;break;case"i8":T[te>>0]=oe;break;case"i16":X[te>>1]=oe;break;case"i32":Y[te>>2]=oe;break;case"i64":yo=[oe>>>0,($r=oe,+N2($r)>=1?$r>0?(q2(+I2($r/4294967296),4294967295)|0)>>>0:~~+R2(($r-+(~~$r>>>0))/4294967296)>>>0:0)],Y[te>>2]=yo[0],Y[te+4>>2]=yo[1];break;case"float":ie[te>>2]=oe;break;case"double":le[te>>3]=oe;break;default:rr("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 T[te>>0];case"i8":return T[te>>0];case"i16":return X[te>>1];case"i32":return Y[te>>2];case"i64":return Y[te>>2];case"float":return ie[te>>2];case"double":return le[te>>3];default:rr("invalid type for getValue: "+oe)}return null}var N=!1;function M(te,oe){te||rr("Assertion failed: "+oe)}function Q(te){var oe=e["_"+te];return M(oe,"Cannot call unknown function "+te+", make sure it is exported"),oe}function L(te,oe,ye,ae,r){var sA={string:function(bA){var We=0;if(bA!=null&&bA!==0){var AA=(bA.length<<2)+1;We=Na(AA),z(bA,We,AA)}return We},array:function(bA){var We=Na(bA.length);return pe(bA,We),We}};function tA(bA){return oe==="string"?se(bA):oe==="boolean"?!!bA:bA}var B=Q(te),wA=[],UA=0;if(ae)for(var vA=0;vA<ae.length;vA++){var Xe=sA[ye[vA]];Xe?(UA===0&&(UA=th()),wA[vA]=Xe(ae[vA])):wA[vA]=ae[vA]}var pA=B.apply(null,wA);return pA=tA(pA),UA!==0&&Ah(UA),pA}function V(te,oe,ye,ae){ye=ye||[];var r=ye.every(function(tA){return tA==="number"}),sA=oe!=="string";return sA&&r&&!ae?Q(te):function(){return L(te,oe,ye,arguments,ae)}}var K=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0;function W(te,oe,ye){for(var ae=oe+ye,r=oe;te[r]&&!(r>=ae);)++r;if(r-oe>16&&te.subarray&&K)return K.decode(te.subarray(oe,r));for(var sA="";oe<r;){var tA=te[oe++];if(!(tA&128)){sA+=String.fromCharCode(tA);continue}var B=te[oe++]&63;if((tA&224)==192){sA+=String.fromCharCode((tA&31)<<6|B);continue}var wA=te[oe++]&63;if((tA&240)==224?tA=(tA&15)<<12|B<<6|wA:tA=(tA&7)<<18|B<<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 se(te,oe){return te?W(H,te,oe):""}function U(te,oe,ye,ae){if(!(ae>0))return 0;for(var r=ye,sA=ye+ae-1,tA=0;tA<te.length;++tA){var B=te.charCodeAt(tA);if(B>=55296&&B<=57343){var wA=te.charCodeAt(++tA);B=65536+((B&1023)<<10)|wA&1023}if(B<=127){if(ye>=sA)break;oe[ye++]=B}else if(B<=2047){if(ye+1>=sA)break;oe[ye++]=192|B>>6,oe[ye++]=128|B&63}else if(B<=65535){if(ye+2>=sA)break;oe[ye++]=224|B>>12,oe[ye++]=128|B>>6&63,oe[ye++]=128|B&63}else{if(ye+3>=sA)break;oe[ye++]=240|B>>18,oe[ye++]=128|B>>12&63,oe[ye++]=128|B>>6&63,oe[ye++]=128|B&63}}return oe[ye]=0,ye-r}function z(te,oe,ye){return U(te,H,oe,ye)}var we=typeof TextDecoder<"u"?new TextDecoder("utf-16le"):void 0;function pe(te,oe){T.set(te,oe)}function C(te,oe){return te%oe>0&&(te+=oe-te%oe),te}var P,T,H,X,Z,Y,ne,ie,le;function ge(te){P=te,e.HEAP8=T=new Int8Array(te),e.HEAP16=X=new Int16Array(te),e.HEAP32=Y=new Int32Array(te),e.HEAPU8=H=new Uint8Array(te),e.HEAPU16=Z=new Uint16Array(te),e.HEAPU32=ne=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?P=e.buffer:P=new ArrayBuffer(ve),ve=P.byteLength,ge(P),Y[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;)j2(e.preRun.shift());Ne(rA)}function WA(){Ne(fA)}function ri(){Ne(Ye)}function O2(){if(e.postRun)for(typeof e.postRun=="function"&&(e.postRun=[e.postRun]);e.postRun.length;)M2(e.postRun.shift());Ne(nA)}function j2(te){rA.unshift(te)}function M2(te){nA.unshift(te)}var N2=Math.abs,R2=Math.ceil,I2=Math.floor,q2=Math.min,tr=0,go=null,on=null;function Q2(te){tr++,e.monitorRunDependencies&&e.monitorRunDependencies(tr)}function H2(te){if(tr--,e.monitorRunDependencies&&e.monitorRunDependencies(tr),tr==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 Ca(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//////////EwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAEgAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAASAAAAAAAAABgAAAAAAAAAIQAAAAAAAAAeAAAAAAAAACAAAAADAAAAMQAAAAEAAAAwAAAAAwAAADIAAAADAAAACAAAAAAAAAAFAAAABQAAAAoAAAAFAAAAFgAAAAAAAAAQAAAAAAAAABIAAAAAAAAAKQAAAAEAAAAhAAAAAAAAAB4AAAAAAAAABAAAAAAAAAAAAAAABQAAAAIAAAAFAAAADwAAAAEAAAAIAAAAAAAAAAUAAAAFAAAAHwAAAAEAAAAWAAAAAAAAABAAAAAAAAAAAgAAAAAAAAAGAAAAAAAAAA4AAAAAAAAACgAAAAAAAAALAAAAAAAAABEAAAADAAAAGAAAAAEAAAAXAAAAAwAAABkAAAADAAAAAAAAAAAAAAABAAAABQAAAAkAAAAFAAAABQAAAAAAAAACAAAAAAAAAAYAAAAAAAAAEgAAAAEAAAAKAAAAAAAAAAsAAAAAAAAABAAAAAEAAAADAAAABQAAAAcAAAAFAAAACAAAAAEAAAAAAAAAAAAAAAEAAAAFAAAAEAAAAAEAAAAFAAAAAAAAAAIAAAAAAAAABwAAAAAAAAAVAAAAAAAAACYAAAAAAAAACQAAAAAAAAATAAAAAAAAACIAAAADAAAADgAAAAEAAAAUAAAAAwAAACQAAAADAAAAAwAAAAAAAAANAAAABQAAAB0AAAAFAAAAAQAAAAAAAAAHAAAAAAAAABUAAAAAAAAABgAAAAEAAAAJAAAAAAAAABMAAAAAAAAABAAAAAIAAAAMAAAABQAAABoAAAAFAAAAAAAAAAEAAAADAAAAAAAAAA0AAAAFAAAAAgAAAAEAAAABAAAAAAAAAAcAAAAAAAAAGgAAAAAAAAAqAAAAAAAAADoAAAAAAAAAHQAAAAAAAAArAAAAAAAAAD4AAAADAAAAJgAAAAEAAAAvAAAAAwAAAEAAAAADAAAADAAAAAAAAAAcAAAABQAAACwAAAAFAAAADQAAAAAAAAAaAAAAAAAAACoAAAAAAAAAFQAAAAEAAAAdAAAAAAAAACsAAAAAAAAABAAAAAMAAAAPAAAABQAAAB8AAAAFAAAAAwAAAAEAAAAMAAAAAAAAABwAAAAFAAAABwAAAAEAAAANAAAAAAAAABoAAAAAAAAAHwAAAAAAAAApAAAAAAAAADEAAAAAAAAALAAAAAAAAAA1AAAAAAAAAD0AAAADAAAAOgAAAAEAAABBAAAAAwAAAEsAAAADAAAADwAAAAAAAAAWAAAABQAAACEAAAAFAAAAHAAAAAAAAAAfAAAAAAAAACkAAAAAAAAAKgAAAAEAAAAsAAAAAAAAADUAAAAAAAAABAAAAAQAAAAIAAAABQAAABAAAAAFAAAADAAAAAEAAAAPAAAAAAAAABYAAAAFAAAAGgAAAAEAAAAcAAAAAAAAAB8AAAAAAAAAMgAAAAAAAAAwAAAAAAAAADEAAAADAAAAIAAAAAAAAAAeAAAAAwAAACEAAAADAAAAGAAAAAMAAAASAAAAAwAAABAAAAADAAAARgAAAAAAAABDAAAAAAAAAEIAAAADAAAANAAAAAMAAAAyAAAAAAAAADAAAAAAAAAAJQAAAAMAAAAgAAAAAAAAAB4AAAADAAAAUwAAAAAAAABXAAAAAwAAAFUAAAADAAAASgAAAAMAAABGAAAAAAAAAEMAAAAAAAAAOQAAAAEAAAA0AAAAAwAAADIAAAAAAAAAGQAAAAAAAAAXAAAAAAAAABgAAAADAAAAEQAAAAAAAAALAAAAAwAAAAoAAAADAAAADgAAAAMAAAAGAAAAAwAAAAIAAAADAAAALQAAAAAAAAAnAAAAAAAAACUAAAADAAAAIwAAAAMAAAAZAAAAAAAAABcAAAAAAAAAGwAAAAMAAAARAAAAAAAAAAsAAAADAAAAPwAAAAAAAAA7AAAAAwAAADkAAAADAAAAOAAAAAMAAAAtAAAAAAAAACcAAAAAAAAALgAAAAMAAAAjAAAAAwAAABkAAAAAAAAAJAAAAAAAAAAUAAAAAAAAAA4AAAADAAAAIgAAAAAAAAATAAAAAwAAAAkAAAADAAAAJgAAAAMAAAAVAAAAAwAAAAcAAAADAAAANwAAAAAAAAAoAAAAAAAAABsAAAADAAAANgAAAAMAAAAkAAAAAAAAABQAAAAAAAAAMwAAAAMAAAAiAAAAAAAAABMAAAADAAAASAAAAAAAAAA8AAAAAwAAAC4AAAADAAAASQAAAAMAAAA3AAAAAAAAACgAAAAAAAAARwAAAAMAAAA2AAAAAwAAACQAAAAAAAAAQAAAAAAAAAAvAAAAAAAAACYAAAADAAAAPgAAAAAAAAArAAAAAwAAAB0AAAADAAAAOgAAAAMAAAAqAAAAAwAAABoAAAADAAAAVAAAAAAAAABFAAAAAAAAADMAAAADAAAAUgAAAAMAAABAAAAAAAAAAC8AAAAAAAAATAAAAAMAAAA+AAAAAAAAACsAAAADAAAAYQAAAAAAAABZAAAAAwAAAEcAAAADAAAAYgAAAAMAAABUAAAAAAAAAEUAAAAAAAAAYAAAAAMAAABSAAAAAwAAAEAAAAAAAAAASwAAAAAAAABBAAAAAAAAADoAAAADAAAAPQAAAAAAAAA1AAAAAwAAACwAAAADAAAAMQAAAAMAAAApAAAAAwAAAB8AAAADAAAAXgAAAAAAAABWAAAAAAAAAEwAAAADAAAAUQAAAAMAAABLAAAAAAAAAEEAAAAAAAAAQgAAAAMAAAA9AAAAAAAAADUAAAADAAAAawAAAAAAAABoAAAAAwAAAGAAAAADAAAAZQAAAAMAAABeAAAAAAAAAFYAAAAAAAAAVQAAAAMAAABRAAAAAwAAAEsAAAAAAAAAOQAAAAAAAAA7AAAAAAAAAD8AAAADAAAASgAAAAAAAABOAAAAAwAAAE8AAAADAAAAUwAAAAMAAABcAAAAAwAAAF8AAAADAAAAJQAAAAAAAAAnAAAAAwAAAC0AAAADAAAANAAAAAAAAAA5AAAAAAAAADsAAAAAAAAARgAAAAMAAABKAAAAAAAAAE4AAAADAAAAGAAAAAAAAAAXAAAAAwAAABkAAAADAAAAIAAAAAMAAAAlAAAAAAAAACcAAAADAAAAMgAAAAMAAAA0AAAAAAAAADkAAAAAAAAALgAAAAAAAAA8AAAAAAAAAEgAAAADAAAAOAAAAAAAAABEAAAAAwAAAFAAAAADAAAAPwAAAAMAAABNAAAAAwAAAFoAAAADAAAAGwAAAAAAAAAoAAAAAwAAADcAAAADAAAAIwAAAAAAAAAuAAAAAAAAADwAAAAAAAAALQAAAAMAAAA4AAAAAAAAAEQAAAADAAAADgAAAAAAAAAUAAAAAwAAACQAAAADAAAAEQAAAAMAAAAbAAAAAAAAACgAAAADAAAAGQAAAAMAAAAjAAAAAAAAAC4AAAAAAAAARwAAAAAAAABZAAAAAAAAAGEAAAADAAAASQAAAAAAAABbAAAAAwAAAGcAAAADAAAASAAAAAMAAABYAAAAAwAAAGkAAAADAAAAMwAAAAAAAABFAAAAAwAAAFQAAAADAAAANgAAAAAAAABHAAAAAAAAAFkAAAAAAAAANwAAAAMAAABJAAAAAAAAAFsAAAADAAAAJgAAAAAAAAAvAAAAAwAAAEAAAAADAAAAIgAAAAMAAAAzAAAAAAAAAEUAAAADAAAAJAAAAAMAAAA2AAAAAAAAAEcAAAAAAAAAYAAAAAAAAABoAAAAAAAAAGsAAAADAAAAYgAAAAAAAABuAAAAAwAAAHMAAAADAAAAYQAAAAMAAABvAAAAAwAAAHcAAAADAAAATAAAAAAAAABWAAAAAwAAAF4AAAADAAAAUgAAAAAAAABgAAAAAAAAAGgAAAAAAAAAVAAAAAMAAABiAAAAAAAAAG4AAAADAAAAOgAAAAAAAABBAAAAAwAAAEsAAAADAAAAPgAAAAMAAABMAAAAAAAAAFYAAAADAAAAQAAAAAMAAABSAAAAAAAAAGAAAAAAAAAAVQAAAAAAAABXAAAAAAAAAFMAAAADAAAAZQAAAAAAAABmAAAAAwAAAGQAAAADAAAAawAAAAMAAABwAAAAAwAAAHIAAAADAAAAQgAAAAAAAABDAAAAAwAAAEYAAAADAAAAUQAAAAAAAABVAAAAAAAAAFcAAAAAAAAAXgAAAAMAAABlAAAAAAAAAGYAAAADAAAAMQAAAAAAAAAwAAAAAwAAADIAAAADAAAAPQAAAAMAAABCAAAAAAAAAEMAAAADAAAASwAAAAMAAABRAAAAAAAAAFUAAAAAAAAAXwAAAAAAAABcAAAAAAAAAFMAAAAAAAAATwAAAAAAAABOAAAAAAAAAEoAAAADAAAAPwAAAAEAAAA7AAAAAwAAADkAAAADAAAAbQAAAAAAAABsAAAAAAAAAGQAAAAFAAAAXQAAAAEAAABfAAAAAAAAAFwAAAAAAAAATQAAAAEAAABPAAAAAAAAAE4AAAAAAAAAdQAAAAQAAAB2AAAABQAAAHIAAAAFAAAAagAAAAEAAABtAAAAAAAAAGwAAAAAAAAAWgAAAAEAAABdAAAAAQAAAF8AAAAAAAAAWgAAAAAAAABNAAAAAAAAAD8AAAAAAAAAUAAAAAAAAABEAAAAAAAAADgAAAADAAAASAAAAAEAAAA8AAAAAwAAAC4AAAADAAAAagAAAAAAAABdAAAAAAAAAE8AAAAFAAAAYwAAAAEAAABaAAAAAAAAAE0AAAAAAAAAWAAAAAEAAABQAAAAAAAAAEQAAAAAAAAAdQAAAAMAAABtAAAABQAAAF8AAAAFAAAAcQAAAAEAAABqAAAAAAAAAF0AAAAAAAAAaQAAAAEAAABjAAAAAQAAAFoAAAAAAAAAaQAAAAAAAABYAAAAAAAAAEgAAAAAAAAAZwAAAAAAAABbAAAAAAAAAEkAAAADAAAAYQAAAAEAAABZAAAAAwAAAEcAAAADAAAAcQAAAAAAAABjAAAAAAAAAFAAAAAFAAAAdAAAAAEAAABpAAAAAAAAAFgAAAAAAAAAbwAAAAEAAABnAAAAAAAAAFsAAAAAAAAAdQAAAAIAAABqAAAABQAAAFoAAAAFAAAAeQAAAAEAAABxAAAAAAAAAGMAAAAAAAAAdwAAAAEAAAB0AAAAAQAAAGkAAAAAAAAAdwAAAAAAAABvAAAAAAAAAGEAAAAAAAAAcwAAAAAAAABuAAAAAAAAAGIAAAADAAAAawAAAAEAAABoAAAAAwAAAGAAAAADAAAAeQAAAAAAAAB0AAAAAAAAAGcAAAAFAAAAeAAAAAEAAAB3AAAAAAAAAG8AAAAAAAAAcAAAAAEAAABzAAAAAAAAAG4AAAAAAAAAdQAAAAEAAABxAAAABQAAAGkAAAAFAAAAdgAAAAEAAAB5AAAAAAAAAHQAAAAAAAAAcgAAAAEAAAB4AAAAAQAAAHcAAAAAAAAAcgAAAAAAAABwAAAAAAAAAGsAAAAAAAAAZAAAAAAAAABmAAAAAAAAAGUAAAADAAAAUwAAAAEAAABXAAAAAwAAAFUAAAADAAAAdgAAAAAAAAB4AAAAAAAAAHMAAAAFAAAAbAAAAAEAAAByAAAAAAAAAHAAAAAAAAAAXAAAAAEAAABkAAAAAAAAAGYAAAAAAAAAdQAAAAAAAAB5AAAABQAAAHcAAAAFAAAAbQAAAAEAAAB2AAAAAAAAAHgAAAAAAAAAXwAAAAEAAABsAAAAAQAAAHIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAAAAAAEAAAABAAAAAQAAAAAAAAAAAAAAAQAAAAAAAAABAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAGAAAAAgAAAAUAAAABAAAABAAAAAAAAAAAAAAABQAAAAMAAAABAAAABgAAAAQAAAACAAAAAAAAAH6iBfbytuk/Gq6akm/58z/Xrm0Liez0P5doSdOpSwRAWs602ULg8D/dT7Rcbo/1v1N1RQHFNOM/g9Snx7HW3L8HWsP8Q3jfP6VwOLosutk/9rjk1YQcxj+gnmKMsNn6P/HDeuPFY+M/YHwDjqKhB0Ci19/fCVrbP4UxKkDWOP6/pvljWa09tL9wi7wrQXjnv/Z6yLImkM2/3yTlOzY14D+m+WNZrT20PzwKVQnrQwNA9nrIsiaQzT/g40rFrRQFwPa45NWEHMa/kbslHEZq97/xw3rjxWPjv4cLC2SMBci/otff3wla27+rKF5oIAv0P1N1RQHFNOO/iDJPGyWHBUAHWsP8Q3jfvwQf/by16gXAfqIF9vK26b8XrO0Vh0r+v9eubQuJ7PS/BxLrA0ZZ479azrTZQuDwv1MK1EuItPw/yscgV9Z6FkAwHBR2WjQMQJNRzXsQ5vY/GlUHVJYKF0DONuFv2lMNQNCGZ28QJfk/0WUwoIL36D8ggDOMQuATQNqMOeAy/wZAWFYOYM+M2z/LWC4uH3oSQDE+LyTsMgRAkJzhRGWFGEDd4soovCQQQKqk0DJMEP8/rGmNdwOLBUAW2X/9xCbjP4hu3dcqJhNAzuYItRvdB0CgzW3zJW/sPxotm/Y2TxRAQAk9XmdDDEC1Kx9MKgT3P1M+NctcghZAFVqcLlb0C0Bgzd3sB2b2P77mZDPUWhZAFROHJpUGCEDAfma5CxXtPz1DWq/zYxRAmhYY5824F0DOuQKWSbAOQNCMqrvu3fs/L6DR22K2wT9nAAxPBU8RQGiN6mW43AFAZhu25b633D8c1YgmzowSQNM25BRKWARArGS08/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 L2=28640;function U2(te){return te}function Ta(te){var oe=/\b__Z[\w\d_]+/g;return te.replace(oe,function(ye){var ae=ye;return ye===ae?ye:ae+" ["+ye+"]"})}function Oa(){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 G2(){var te=Oa();return e.extraStackTrace&&(te+=`
|
|
10
|
+
`+e.extraStackTrace()),Ta(te)}function F2(te,oe,ye,ae){rr("Assertion failed: "+se(te)+", at: "+[oe?se(oe):"unknown filename",ye,ae?se(ae):"unknown function"])}function ja(){return T.length}function V2(te,oe,ye){H.set(H.subarray(oe,oe+ye),te)}function z2(te){return e.___errno_location&&(Y[e.___errno_location()>>2]=te),te}function K2(te){rr("OOM")}function Ma(te){try{var oe=new ArrayBuffer(te);return oe.byteLength!=te?void 0:(new Int8Array(oe).set(T),eh(oe),ge(oe),1)}catch{}}function Y2(te){var oe=ja(),ye=16777216,ae=2147483648-ye;if(te>ae)return!1;for(var r=16777216,sA=Math.max(oe,r);sA<te;)sA<=536870912?sA=C(2*sA,ye):sA=Math.min(C((3*sA+2147483648)/4,ye),ae);var tA=Ma(sA);return!!tA}var W2=typeof atob=="function"?atob:function(te){var oe="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",ye="",ae,r,sA,tA,B,wA,UA,vA=0;te=te.replace(/[^A-Za-z0-9\+\/\=]/g,"");do tA=oe.indexOf(te.charAt(vA++)),B=oe.indexOf(te.charAt(vA++)),wA=oe.indexOf(te.charAt(vA++)),UA=oe.indexOf(te.charAt(vA++)),ae=tA<<2|B>>4,r=(B&15)<<4|wA>>2,sA=(wA&3)<<6|UA,ye=ye+String.fromCharCode(ae),wA!==64&&(ye=ye+String.fromCharCode(r)),UA!==64&&(ye=ye+String.fromCharCode(sA));while(vA<te.length);return ye};function J2(te){try{for(var oe=W2(te),ye=new Uint8Array(oe.length),ae=0;ae<oe.length;++ae)ye[ae]=oe.charCodeAt(ae);return ye}catch{throw new Error("Converting base64 string to bytes failed.")}}function wo(te){if(Ca(te))return J2(te.slice(mo.length))}var Z2={Math,Int8Array,Int32Array,Uint8Array,Float32Array,Float64Array},X2={a:rr,b:E,c:k,d:F2,e:z2,f:ja,g:V2,h:Y2,i:K2,j:U2,k:Ta,l:Ma,m:Oa,n:G2,o:L2,p:Ee},fe=(function(te,oe,ye){"almost asm";var ae=new te.Int8Array(ye),r=new te.Int32Array(ye),sA=new te.Uint8Array(ye),tA=new te.Float32Array(ye),B=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,rh=te.Math.acos,nh=te.Math.asin,_o=te.Math.atan,XA=te.Math.atan2,xr=te.Math.ceil,gt=te.Math.imul,Eo=te.Math.min,ih=te.Math.max,xt=te.Math.clz32,Ie=oe.b,j=oe.c,Oe=oe.d,Qa=oe.e,oh=oe.f,sh=oe.g,ah=oe.h,uh=oe.i,S=28656;function lh(t){return ae=new Int8Array(t),sA=new Uint8Array(t),r=new Int32Array(t),tA=new Float32Array(t),B=new Float64Array(t),ye=t,!0}function fh(t){t=t|0;var A=0;return A=S,S=S+t|0,S=S+15&-16,A|0}function ch(){return S|0}function dh(t){t=t|0,S=t}function hh(t,A){t=t|0,A=A|0,S=t}function ph(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=ui(15,A)|0,A|0):(i=((t|0)<0)<<31>>31,u=kA(t|0,i|0,3,0)|0,o=j()|0,i=xe(t|0,i|0,1,0)|0,i=kA(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 Ha(t,A,i,o){return t=t|0,A=A|0,i=i|0,o=o|0,La(t,A,i,o,0)|0}function La(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=S,S=S+16|0,f=p,!(Ua(t,A,i,o,u)|0))return o=0,S=p,o|0;do if((i|0)>=0){if((i|0)>13780509){if(l=ui(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=kA(i|0,l|0,3,0)|0,d=j()|0,l=xe(i|0,l|0,1,0)|0,l=kA(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,Se(l),l=y):l=13}else l=2;while(!1);return y=l,S=p,y|0}function Ua(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,q=0,G=0;if(G=S,S=S+16|0,I=G,q=G+8|0,R=I,r[R>>2]=t,r[R+4>>2]=A,(i|0)<0)return q=2,S=G,q|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 q=9,S=G,q|0;r[q>>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,q,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,q,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,q,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,q,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 q=l,S=G,q|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,q=0,G=0,J=0,re=0;if(G=S,S=S+16|0,I=G+8|0,q=G,p=Tr(t|0,A|0,l|0,f|0)|0,_=j()|0,O=o+(p<<3)|0,J=O,re=r[J>>2]|0,J=r[J+4>>2]|0,y=(re|0)==(t|0)&(J|0)==(A|0),!((re|0)==0&(J|0)==0|y))do p=xe(p|0,_|0,1,0)|0,p=Cr(p|0,j()|0,l|0,f|0)|0,_=j()|0,O=o+(p<<3)|0,re=O,J=r[re>>2]|0,re=r[re+4>>2]|0,y=(J|0)==(t|0)&(re|0)==(A|0);while(!((J|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,S=G,re|0;switch(y=d+1|0,r[I>>2]=0,p=_A(t,A,2,I,q)|0,p|0){case 9:{R=9;break}case 0:{p=q,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,q)|0,p|0){case 9:break;case 0:{if(p=q,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,q)|0,p|0){case 9:break;case 0:{if(p=q,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,q)|0,p|0){case 9:break;case 0:{if(p=q,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,q)|0,p|0){case 9:break;case 0:{if(p=q,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,q)|0,p|0){case 9:break;case 0:{if(p=q,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,S=G,re|0}while(!1);return re=p,S=G,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,q=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=or(i)|0,l=l+1|0;while((l|0)<(r[o>>2]|0))}if(O=ue(t|0,A|0,45)|0,j()|0,_=O&127,_>>>0>121)return u=5,u|0;p=GA(t,A)|0,l=ue(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=ue(t|0,A|0,f|0)|0,j()|0,d=d&7,(d|0)==7){A=5;break}if(q=(et(l)|0)==0,l=l+-1|0,R=ce(7,0,f|0)|0,A=A&~(j()|0),I=ce(r[(q?432:16)+(d*28|0)+(i<<2)>>2]|0,0,f|0)|0,f=j()|0,i=r[(q?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&&(q=r[848+(_*28|0)+(i<<2)>>2]|0,I=ce(q|0,0,45)|0,t=I|t,A=j()|0|A&-1040385,i=r[4272+(_*28|0)+(i<<2)>>2]|0,(q&127|0)==127&&(q=ce(r[848+(_*28|0)+20>>2]|0,0,45)|0,A=j()|0|A&-1040385,i=r[4272+(_*28|0)+20>>2]|0,t=sr(q|t,A)|0,A=j()|0,r[o>>2]=(r[o>>2]|0)+1)),d=ue(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(za(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=sr(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 q=9,q|0;default:return q=1,q|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(!($o(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=sr(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,q=u,r[q>>2]=t,r[q+4>>2]=A,q=0,q|0}function gh(t,A,i,o){return t=t|0,A=A|0,i=i|0,o=o|0,Ga(t,A,i,o)|0?(Ht(o|0,0,i*48|0)|0,o=mh(t,A,i,o)|0,o|0):(o=0,o|0)}function Ga(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,q=0;if(q=S,S=S+16|0,R=q,I=q+8|0,O=R,r[O>>2]=t,r[O+4>>2]=A,(i|0)<0)return I=2,S=q,I|0;if(!i)return I=o,r[I>>2]=t,r[I+4>>2]=A,I=0,S=q,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,S=q,I|0}function mh(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=S,S=S+16|0,f=O,!i)return r[o>>2]=t,r[o+4>>2]=A,o=0,S=O,o|0;do if((i|0)>=0){if((i|0)>13780509){if(u=ui(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,_=kA(i|0,u|0,3,0)|0,l=j()|0,u=xe(i|0,u|0,1,0)|0,u=kA(_|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,!_){Se(y),u=13;break}if(u=mt(t,A,i,y,_,u,l,0)|0,u|0){Se(y),Se(_);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)}Se(y),Se(_),u=0}}else u=2;while(!1);return R=u,S=O,R|0}function ko(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=S,S=S+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?(S=d,u|0):0}function yh(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=S,S=S+48|0,u=d+16|0,l=d+8|0,f=d,i=dn(i)|0,i|0)return f=i,S=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,wu(l,u),i=Ja(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,S=d,y|0}function Fa(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,q=0,G=0,J=0,re=0,Ae=0,ee=0,F=0,he=0,ke=0,_e=0,Re=0,qe=0,Fe=0,Te=0,$e=0,de=0,Le=0,iA=0,He=0,oA=0,qA=0,Ou=0;if(iA=S,S=S+64|0,Te=iA+48|0,$e=iA+32|0,de=iA+24|0,he=iA+8|0,ke=iA,p=r[t>>2]|0,(p|0)<=0)return Le=0,S=iA,Le|0;for(_e=t+4|0,Re=Te+8|0,qe=$e+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[$e>>2]=r[y>>2],r[$e+4>>2]=r[y+4>>2],r[$e+8>>2]=r[y+8>>2],r[$e+12>>2]=r[y+12>>2]):(Ae=y+(ee+1<<4)|0,r[$e>>2]=r[Ae>>2],r[$e+4>>2]=r[Ae+4>>2],r[$e+8>>2]=r[Ae+8>>2],r[$e+12>>2]=r[Ae+12>>2]),p=Dh(Te,$e,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){re=0,Ae=0;A:for(;;){if(oA=1/(+(y>>>0)+4294967296*+(p|0)),Ou=+B[Te>>3],p=EA(y|0,p|0,re|0,Ae|0)|0,qA=+(p>>>0)+4294967296*+(j()|0),He=+(re>>>0)+4294967296*+(Ae|0),B[he>>3]=oA*(Ou*qA)+oA*(+B[$e>>3]*He),B[Fe>>3]=oA*(+B[Re>>3]*qA)+oA*(+B[qe>>3]*He),p=qo(he,o,ke)|0,p|0){d=p;break}J=ke,G=r[J>>2]|0,J=r[J+4>>2]|0,R=Tr(G|0,J|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,q=0;;){if((I|0)>(i|0)|(I|0)==(i|0)&q>>>0>A>>>0){d=1;break A}if((y|0)==(G|0)&(O|0)==(J|0))break t;if(p=xe(R|0,_|0,1,0)|0,R=Cr(p|0,j()|0,A|0,i|0)|0,_=j()|0,q=xe(q|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,!((G|0)==0&(J|0)==0))&&(q=F,r[q>>2]=G,r[q+4>>2]=J,q=l+(r[u>>2]<<3)|0,r[q>>2]=G,r[q+4>>2]=J,q=u,q=xe(r[q>>2]|0,r[q+4>>2]|0,1,0)|0,G=j()|0,J=u,r[J>>2]=q,r[J+4>>2]=G),re=xe(re|0,Ae|0,1,0)|0,Ae=j()|0,p=de,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?(S=iA,d|0):0}function wh(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,q=0,G=0,J=0,re=0,Ae=0,ee=0,F=0,he=0,ke=0,_e=0,Re=0,qe=0,Fe=0,Te=0,$e=0,de=0,Le=0,iA=0,He=0,oA=0,qA=0;if(qA=S,S=S+112|0,Le=qA+80|0,p=qA+72|0,iA=qA,He=qA+56|0,u=dn(i)|0,u|0)return oA=u,S=qA,oA|0;if(y=t+8|0,oA=yt((r[y>>2]<<5)+32|0)|0,!oA)return oA=13,S=qA,oA|0;if(Vo(t,oA),u=dn(i)|0,!u){if($e=t,de=r[$e+4>>2]|0,u=p,r[u>>2]=r[$e>>2],r[u+4>>2]=de,wu(p,Le),u=Ja(Le,A,iA)|0,u)$e=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,$e=xe(i|0,u|0,12,0)|0,de=j()|0,u=iA,r[u>>2]=$e,r[u+4>>2]=de,u=0}if(!u){if(i=FA($e,8)|0,!i)return Se(oA),oA=13,S=qA,oA|0;if(d=FA($e,8)|0,!d)return Se(oA),Se(i),oA=13,S=qA,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=Fa(p,$e,de,A,Le,i,d)|0;e:do if(u)Se(i),Se(d),Se(oA);else{A:do if((r[y>>2]|0)>0){for(f=t+12|0,l=0;u=Fa((r[f>>2]|0)+(l<<3)|0,$e,de,A,Le,i,d)|0,l=l+1|0,!(u|0);)if((l|0)>=(r[y>>2]|0))break A;Se(i),Se(d),Se(oA);break e}while(!1);(de|0)>0|(de|0)==0&$e>>>0>0&&Ht(d|0,0,$e<<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,qe=i,Fe=d,Te=i,u=i,F=i,he=d,ke=d,i=d;t:for(;;){for(J=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+(J<<3)|0,y=r[A>>2]|0,A=r[A+4>>2]|0,Ua(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,Se(d))}for(G=0;;){q=iA+(G<<3)|0,I=r[q>>2]|0,q=r[q+4>>2]|0;r:do if((I|0)==0&(q|0)==0)d=l,p=f;else{if(_=Tr(I|0,q|0,$e|0,de|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)>(de|0)|(O|0)==(de|0)&R>>>0>$e>>>0)break t;if((p|0)==(I|0)&(A|0)==(q|0)){d=l,p=f;break r}d=xe(_|0,y|0,1,0)|0,_=Cr(d|0,j()|0,$e|0,de|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&(q|0)==0){d=l,p=f;break}ar(I,q,He)|0,zo(t,oA,He)|0&&(R=xe(l|0,f|0,1,0)|0,f=j()|0,O=d,r[O>>2]=I,r[O+4>>2]=q,l=Re+(l<<3)|0,r[l>>2]=I,r[l+4>>2]=q,l=R),d=l,p=f}while(!1);if(G=G+1|0,G>>>0>=7)break;l=d,f=p}if(J=xe(J|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)G=i,J=ke,re=Te,Ae=he,ee=Re,i=F,ke=u,he=qe,F=G,u=J,Te=Fe,Fe=re,qe=Ae,Re=_e,_e=ee;else break A}Se(qe),Se(Fe),Se(oA),u=1;break e}else u=d;while(!1);Se(oA),Se(i),Se(u),u=0}while(!1);return oA=u,S=qA,oA|0}}return Se(oA),oA=u,S=qA,oA|0}function vh(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(_=S,S=S+176|0,p=_,(A|0)<1)return $u(i,0,0),y=0,S=_,y|0;for(d=t,d=ue(r[d>>2]|0,r[d+4>>2]|0,52)|0,j()|0,$u(i,(A|0)>6?A:6,d&15),d=0;o=t+(d<<3)|0,o=Pr(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=Yp(i,o,l)|0,u?Su(i,u)|0:Kp(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?(S=_,o|0):(xu(i),y=o,S=_,y|0)}function bh(t,A,i){t=t|0,A=A|0,i=i|0;var o=0,u=0,l=0,f=0;if(l=S,S=S+32|0,o=l,u=l+16|0,t=vh(t,A,u)|0,t|0)return i=t,S=l,i|0;if(r[i>>2]=0,r[i+4>>2]=0,r[i+8>>2]=0,t=Bu(u)|0,t|0)do{A=kp(i)|0;do $p(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],Su(u,t)|0,t=Wp(u,o)|0;while((t|0)!=0);t=Bu(u)|0}while((t|0)!=0);return xu(u),t=xp(i)|0,t?(pu(i),f=t,S=l,f|0):(f=0,S=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 $o(t){return t=t|0,(t|0)==4|(t|0)==117|0}function Va(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 _h(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 Eh(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 kh(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 za(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 Bo(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 $h(){return 122}function xh(t){t=t|0;var A=0,i=0,o=0;A=0;do ce(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 Bh(t){t=t|0;var A=0,i=0,o=0;return o=+B[t+16>>3],i=+B[t+24>>3],A=o-i,+(o<i?A+6.283185307179586:A)}function Ka(t){return t=t|0,+B[t+16>>3]<+B[t+24>>3]|0}function Sh(t){return t=t|0,+(+B[t>>3]-+B[t+8>>3])}function So(t,A){t=t|0,A=A|0;var i=0,o=0,u=0;return i=+B[A>>3],!(i>=+B[t+8>>3])||!(i<=+B[t>>3])?(A=0,A|0):(o=+B[t+16>>3],i=+B[t+24>>3],u=+B[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+B[t>>3]<+B[A+8>>3]||+B[t+8>>3]>+B[A>>3]?(o=0,o|0):(l=+B[t+16>>3],i=t+24|0,_=+B[i>>3],f=l<_,o=A+16|0,y=+B[o>>3],u=A+24|0,p=+B[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(+B[u>>3],A)||(_=+JA(+B[i>>3],t),_>+JA(+B[o>>3],A))?(d=0,d|0):(d=1,d|0))}function Ph(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=+B[t+16>>3],p=+B[t+24>>3],t=l<p,d=+B[A+16>>3],f=+B[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 Ya(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+B[t>>3]<+B[A>>3]||+B[t+8>>3]>+B[A+8>>3]?(o=0,o|0):(o=t+16|0,p=+B[o>>3],l=+B[t+24>>3],f=p<l,i=A+16|0,_=+B[i>>3],u=A+24|0,y=+B[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(+B[u>>3],A)?(_=+JA(+B[o>>3],t),d=_>=+JA(+B[i>>3],A),d|0):(d=0,d|0))}function Wa(t,A){t=t|0,A=A|0;var i=0,o=0,u=0,l=0,f=0,d=0;u=S,S=S+176|0,o=u,r[o>>2]=4,d=+B[A>>3],B[o+8>>3]=d,l=+B[A+16>>3],B[o+16>>3]=l,B[o+24>>3]=d,d=+B[A+24>>3],B[o+32>>3]=d,f=+B[A+8>>3],B[o+40>>3]=f,B[o+48>>3]=d,B[o+56>>3]=f,B[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));Or(t|0,o|0,168)|0,S=u}function Ja(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,q=0,G=0,J=0;q=S,S=S+288|0,_=q+264|0,O=q+96|0,y=q,d=y,p=d+96|0;do r[d>>2]=0,d=d+4|0;while((d|0)<(p|0));return A=Ho(A,y)|0,A|0?(I=A,S=q,I|0):(p=y,y=r[p>>2]|0,p=r[p+4>>2]|0,ar(y,p,_)|0,Pr(y,p,O)|0,f=+fn(_,O+8|0),B[_>>3]=+B[t>>3],p=_+8|0,B[p>>3]=+B[t+16>>3],B[O>>3]=+B[t+8>>3],y=O+8|0,B[y>>3]=+B[t+24>>3],u=+fn(_,O),J=+B[p>>3]-+B[y>>3],l=+Xe(+J),G=+B[_>>3]-+B[O>>3],o=+Xe(+G),!(J==0|G==0)&&(J=+Cu(+l,+o),J=+xr(+(u*u/+ci(+(J/+ci(+l,+o)),3)/(f*(f*2.59807621135)*.8))),B[wA>>3]=J,R=~~J>>>0,I=+Xe(J)>=1?J>0?~~+Eo(+vA(J/4294967296),4294967295)>>>0:~~+xr((J-+(~~J>>>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,S=q,I|0)}function Dh(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=S,S=S+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=Ho(i,p)|0,i|0?(o=i,S=y,o|0):(i=p,u=r[i>>2]|0,i=r[i+4>>2]|0,ar(u,i,f)|0,Pr(u,i,d)|0,_=+fn(f,d+8|0),_=+xr(+(+fn(t,A)/(_*2))),B[wA>>3]=_,i=~~_>>>0,u=+Xe(_)>=1?_>0?~~+Eo(+vA(_/4294967296),4294967295)>>>0:~~+xr((_-+(~~_>>>0))/4294967296)>>>0:0,(r[wA+4>>2]&2146435072|0)==2146435072?(o=1,S=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,S=y,o|0))}function Ch(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=+B[l>>3],i=t+24|0,u=+B[i>>3],o=f-u,o=f<u?o+6.283185307179586:o,y=+B[t>>3],d=t+8|0,p=+B[d>>3],_=y-p,o=(o*A-o)*.5,A=(_*A-_)*.5,y=y+A,B[t>>3]=y>1.5707963267948966?1.5707963267948966:y,A=p-A,B[d>>3]=A<-1.5707963267948966?-1.5707963267948966:A,A=f+o,A=A>3.141592653589793?A+-6.283185307179586:A,B[l>>3]=A<-3.141592653589793?A+6.283185307179586:A,A=u-o,A=A>3.141592653589793?A+-6.283185307179586:A,B[i>>3]=A<-3.141592653589793?A+6.283185307179586:A}function Th(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 Oh(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=+B[t>>3],f=+Xe(+p),y=+B[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 nr(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),B[A>>3]=+((r[t>>2]|0)-o|0)-i*.5,B[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 Za(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 ii(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 jh(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=qt(+(A-f|0)*.14285714285714285)|0,r[t>>2]=o,u=qt(+(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 Mh(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=qt(+(A+u|0)*.14285714285714285)|0,r[t>>2]=o,u=qt(+(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 Nh(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=qt(+((A*3|0)-i|0)*.14285714285714285)|0,r[t>>2]=o,A=qt(+((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 Xa(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=qt(+((A<<1)+i|0)*.14285714285714285)|0,r[t>>2]=o,A=qt(+((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 oi(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 ir(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 eu(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 Au(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 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,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 or(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 Rt(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 tu(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 ru(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 Rh(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 Ih(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 nu(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 qh(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 Qh(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=S,S=S+64|0,_=O,d=O+56|0,!(!0&(A&2013265920|0)==134217728&(!0&(o&2013265920|0)==134217728)))return u=5,S=O,u|0;if((t|0)==(i|0)&(A|0)==(o|0))return r[u>>2]=0,u=0,S=O,u|0;if(f=ue(t|0,A|0,52)|0,j()|0,f=f&15,y=ue(i|0,o|0,52)|0,j()|0,(f|0)!=(y&15|0))return u=12,S=O,u|0;if(l=f+-1|0,f>>>0>1){No(t,A,l,_)|0,No(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=ue(t|0,A|0,f|0)|0,j()|0,l=l&7,f=ue(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,S=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 Ha(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,S=O,u|0}function Hh(t,A,i,o,u){return t=t|0,A=A|0,i=i|0,o=o|0,u=u|0,i=ko(t,A,i,o)|0,(i|0)==7?(u=11,u|0):(o=ce(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 Lh(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 Uh(t,A,i){t=t|0,A=A|0,i=i|0;var o=0,u=0,l=0;return u=S,S=S+16|0,o=u,r[o>>2]=0,!0&(A&2013265920|0)==268435456?(l=ue(t|0,A|0,56)|0,j()|0,o=_A(t,A&-2130706433|134217728,l&7,o,i)|0,S=u,o|0):(o=6,S=u,o|0)}function iu(t,A){t=t|0,A=A|0;var i=0;switch(i=ue(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 Gh(t,A,i){t=t|0,A=A|0,i=i|0;var o=0,u=0,l=0,f=0;return u=S,S=S+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=ue(t|0,A|0,56)|0,j()|0,o=_A(t,l,A&7,o,i+8|0)|0,S=u,o|0):(o=6,S=u,o|0)}function Fh(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 ai(t,A,i){t=t|0,A=A|0,i=i|0;var o=0,u=0,l=0,f=0;return f=S,S=S+16|0,u=f,l=A&-2130706433|134217728,!0&(A&2013265920|0)==268435456?(o=ue(t|0,A|0,56)|0,j()|0,o=Fp(t,l,o&7)|0,(o|0)==-1?(r[i>>2]=0,l=6,S=f,l|0):(Sr(t,l,u)|0&&Oe(27795,26932,282,26947),A=ue(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,S=f,l|0)):(l=6,S=f,l|0)}function Vh(t,A,i){t=t|0,A=A|0,i=i|0;var o=0,u=0;o=S,S=S+16|0,u=o,zh(t,A,i,u),Oh(u,i+4|0),S=o}function zh(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=S,S=S+16|0,p=d,Kh(t,i,p),l=+rh(+(1-+B[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,S=d;return}if(p=r[i>>2]|0,u=+B[15920+(p*24|0)>>3],u=+ln(u-+ln(+hp(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,B[o>>3]=l,f=+AA(+f)*u,B[o+8>>3]=f,S=d}function Kh(t,A,i){t=t|0,A=A|0,i=i|0;var o=0,u=0,l=0;if(l=S,S=S+32|0,u=l,Gp(t,u),r[A>>2]=0,B[i>>3]=5,o=+yA(16400,u),o<+B[i>>3]&&(r[A>>2]=0,B[i>>3]=o),o=+yA(16424,u),o<+B[i>>3]&&(r[A>>2]=1,B[i>>3]=o),o=+yA(16448,u),o<+B[i>>3]&&(r[A>>2]=2,B[i>>3]=o),o=+yA(16472,u),o<+B[i>>3]&&(r[A>>2]=3,B[i>>3]=o),o=+yA(16496,u),o<+B[i>>3]&&(r[A>>2]=4,B[i>>3]=o),o=+yA(16520,u),o<+B[i>>3]&&(r[A>>2]=5,B[i>>3]=o),o=+yA(16544,u),o<+B[i>>3]&&(r[A>>2]=6,B[i>>3]=o),o=+yA(16568,u),o<+B[i>>3]&&(r[A>>2]=7,B[i>>3]=o),o=+yA(16592,u),o<+B[i>>3]&&(r[A>>2]=8,B[i>>3]=o),o=+yA(16616,u),o<+B[i>>3]&&(r[A>>2]=9,B[i>>3]=o),o=+yA(16640,u),o<+B[i>>3]&&(r[A>>2]=10,B[i>>3]=o),o=+yA(16664,u),o<+B[i>>3]&&(r[A>>2]=11,B[i>>3]=o),o=+yA(16688,u),o<+B[i>>3]&&(r[A>>2]=12,B[i>>3]=o),o=+yA(16712,u),o<+B[i>>3]&&(r[A>>2]=13,B[i>>3]=o),o=+yA(16736,u),o<+B[i>>3]&&(r[A>>2]=14,B[i>>3]=o),o=+yA(16760,u),o<+B[i>>3]&&(r[A>>2]=15,B[i>>3]=o),o=+yA(16784,u),o<+B[i>>3]&&(r[A>>2]=16,B[i>>3]=o),o=+yA(16808,u),o<+B[i>>3]&&(r[A>>2]=17,B[i>>3]=o),o=+yA(16832,u),o<+B[i>>3]&&(r[A>>2]=18,B[i>>3]=o),o=+yA(16856,u),!(o<+B[i>>3])){S=l;return}r[A>>2]=19,B[i>>3]=o,S=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=+Up(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(+ +B[t+8>>3],+ +B[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))),pp(15600+(A<<4)|0,+ln(+B[15920+(A*24|0)>>3]-f),l,u)}function Yh(t,A,i){t=t|0,A=A|0,i=i|0;var o=0,u=0;o=S,S=S+16|0,u=o,nr(t+4|0,u),an(u,r[t>>2]|0,A,0,i),S=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,q=0,G=0,J=0,re=0,Ae=0,ee=0,F=0,he=0,ke=0,_e=0,Re=0,qe=0,Fe=0,Te=0,$e=0,de=0,Le=0,iA=0,He=0;if(Le=S,S=S+272|0,l=Le+256|0,Ae=Le+240|0,Te=Le,$e=Le+224|0,de=Le+208|0,ee=Le+176|0,F=Le+160|0,he=Le+192|0,ke=Le+144|0,_e=Le+128|0,Re=Le+112|0,qe=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],ou(Ae,l,Te),r[u>>2]=0,Ae=o+i+((o|0)==5&1)|0,(Ae|0)<=(i|0)){S=Le;return}p=r[l>>2]|0,y=$e+4|0,_=ee+4|0,O=i+5|0,R=16880+(p<<2)|0,I=16960+(p<<2)|0,q=_e+8|0,G=Re+8|0,J=qe+8|0,re=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((Br(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],nr(y,F),o=r[ee>>2]|0,l=r[17040+(o*80|0)+(r[$e>>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 Au(_),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],Za(he,(r[R>>2]|0)*3|0),IA(_,he,_),DA(_),nr(_,ke),iA=+(r[I>>2]|0),B[_e>>3]=iA*3,B[q>>3]=0,He=iA*-1.5,B[Re>>3]=He,B[G>>3]=iA*2.598076211353316,B[qe>>3]=He,B[J>>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=qe,o=Re;break}case 2:{t=_e,o=qe;break}default:{t=12;break e}}_u(F,ke,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)&&(nr(re,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[$e>>2]=r[de>>2],r[$e+4>>2]=r[de+4>>2],r[$e+8>>2]=r[de+8>>2],r[$e+12>>2]=r[de+12>>2],d=d+1|0,(d|0)>=(Ae|0)){t=3;break}}if((t|0)==3){S=Le;return}else(t|0)==12&&Oe(26970,27017,572,27027)}function ou(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=S,S=S+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,tu(u),ru(u),et(r[A>>2]|0)|0&&(ir(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),S=p}function Br(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,q=0;if(q=S,S=S+32|0,R=q+12|0,d=q,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,S=q,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,S=q,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?(Th(R,O,0,0),Do(I,R,d),si(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 Au(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,Za(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,S=q,I|0}function Wh(t,A){t=t|0,A=A|0;var i=0;do i=Br(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,q=0,G=0,J=0,re=0,Ae=0,ee=0,F=0,he=0,ke=0,_e=0,Re=0,qe=0,Fe=0,Te=0;if(qe=S,S=S+240|0,l=qe+224|0,he=qe+208|0,ke=qe,_e=qe+192|0,Re=qe+176|0,J=qe+160|0,re=qe+144|0,Ae=qe+128|0,ee=qe+112|0,F=qe+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],su(he,l,ke),r[u>>2]=0,G=o+i+((o|0)==6&1)|0,(G|0)<=(i|0)){S=qe;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,q=_e+4|0,f=0,d=i,o=-1;e:for(;;){if(l=(d|0)%6|0,t=ke+(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=Br(_e,p,0,1)|0,(d|0)>(i|0)&(et(A)|0)!=0&&(t|0)!=1&&(r[_e>>2]|0)!=(o|0)){switch(nr(ke+(((l+5|0)%6|0)<<4)+4|0,Re),nr(ke+(l<<4)+4|0,J),Fe=+(r[_>>2]|0),B[re>>3]=Fe*3,B[O>>3]=0,Te=Fe*-1.5,B[Ae>>3]=Te,B[R>>3]=Fe*2.598076211353316,B[ee>>3]=Te,B[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=re;break}case 3:{t=ee,o=Ae;break}case 2:{t=re,o=ee;break}default:{t=8;break e}}_u(Re,J,o,t,F),!(Eu(Re,F)|0)&&!(Eu(J,F)|0)&&(an(F,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)&&(nr(q,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)>=(G|0)){t=3;break}else o=r[_e>>2]|0}if((t|0)==3){S=qe;return}else(t|0)==8&&Oe(27054,27017,737,27099)}function su(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=S,S=S+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,tu(u),ru(u),et(r[A>>2]|0)|0&&(ir(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),S=p}function Jh(t,A){return t=t|0,A=A|0,A=ue(t|0,A|0,52)|0,j()|0,A&15|0}function au(t,A){return t=t|0,A=A|0,A=ue(t|0,A|0,45)|0,j()|0,A&127|0}function Zh(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=ue(t|0,A|0,(15-i|0)*3|0)|0,j()|0,r[o>>2]=i&7,o=0,o|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;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=j()|0,d=ce(A|0,0,45)|0,u=u|(j()|0)|134225919;e:do if((t|0)>=1){for(d=1,f=(ae[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&~(j()|0),A=ce(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=ue(t|0,A|0,52)|0,j()|0,o=o&15,i=ue(t|0,A|0,45)|0,j()|0,i=i&127,i>>>0>121)?(t=0,t|0):(f=(o^15)*3|0,u=ue(t|0,A|0,f|0)|0,f=ce(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=ce(~t|0,~A|0,f|0)|0,f=ue(l|0,j()|0,f|0)|0,!((o|0)==15|(f|0)==0&(j()|0)==0))?(f=0,f|0):!(ae[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 ep(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=ue(t|0,A|0,52)|0,j()|0,o=o&15,i=ue(t|0,A|0,45)|0,j()|0,i=i&127,i>>>0<=121)&&(f=(o^15)*3|0,u=ue(t|0,A|0,f|0)|0,f=ce(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=ce(~t|0,~A|0,f|0)|0,f=ue(l|0,j()|0,f|0)|0,(o|0)==15|(f|0)==0&(j()|0)==0)&&(!(ae[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))||iu(t,A)|0?(f=1,f|0):(f=(ku(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=j()|0,i=ce(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=ce(7,0,f|0)|0,i=i&~(j()|0),f=ce(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 No(t,A,i,o){t=t|0,A=A|0,i=i|0,o=o|0;var u=0,l=0;if(l=ue(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=ce(i|0,0,52)|0,u=u|t,t=j()|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=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=ue(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=ue(t|0,A|0,45)|0,j()|0;e:do if(!(cA(i&127)|0))i=It(7,0,u,((u|0)<0)<<31>>31)|0,u=j()|0;else{A:do if(l|0){for(i=1;f=ce(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=It(7,0,u,((u|0)<0)<<31>>31)|0,u=j()|0;break e}while(!1);i=It(7,0,u,((u|0)<0)<<31>>31)|0,i=kA(i|0,j()|0,5,0)|0,i=xe(i|0,j()|0,-5,-1)|0,i=Qt(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=ue(t|0,A|0,45)|0,j()|0,!(cA(u&127)|0))return u=0,u|0;u=ue(t|0,A|0,52)|0,j()|0,u=u&15;e:do if(!u)i=0;else for(o=1;;){if(i=ue(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 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;if(f=S,S=S+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 S=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 S=f,0}function uu(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,~(j()|0)|0,(15-o|0)*3|0)|0,i=~(j()|0)&A,o=~o&t,Ie(i|0),o|0)}function lu(t,A,i,o){t=t|0,A=A|0,i=i|0,o=o|0;var u=0;return u=ue(t|0,A|0,52)|0,j()|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,~(j()|0)|0,(15-i|0)*3|0)|0,A=~(j()|0)&A,t=~u&t),u=ce(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 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,y=0,_=0,O=0,R=0,I=0,q=0,G=0,J=0,re=0,Ae=0,ee=0,F=0,he=0,ke=0,_e=0,Re=0,qe=0,Fe=0,Te=0,$e=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,$e=r[Te+4>>2]|0,de=A+(u<<3)|0,r[de>>2]=r[Te>>2],r[de+4>>2]=$e,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,$e=yt(Fe)|0,!$e)return de=13,de|0;if(Or($e|0,t|0,Fe|0)|0,Te=FA(i,8)|0,!Te)return Se($e),de=13,de|0;e:for(;;){u=$e,y=r[u>>2]|0,u=r[u+4>>2]|0,Re=ue(y|0,u|0,52)|0,j()|0,Re=Re&15,qe=Re+-1|0,_e=(Re|0)!=0,ke=(o|0)>0|(o|0)==0&i>>>0>0;A:do if(_e&ke){if(Ae=ce(qe|0,0,52)|0,ee=j()|0,qe>>>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=j()|0,!((t|0)<(o|0)|(t|0)==(o|0)&l>>>0<i>>>0))break A;if(f=$e+(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(_=ue(d|0,t|0,52)|0,j()|0,_=_&15,(_|0)<(qe|0)){u=12,de=27;break e}if((_|0)!=(qe|0)&&(d=d|Ae,t=t&-15728641|ee,_>>>0>=Re>>>0)){p=qe;do he=ce(7,0,(14-p|0)*3|0)|0,p=p+1|0,d=he|d,t=j()|0|t;while(p>>>0<_>>>0)}if(R=Tr(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)){J=0,re=0;do{if((J|0)>(o|0)|(J|0)==(o|0)&re>>>0>i>>>0){de=31;break e}if((O|0)==(d|0)&(_&-117440513|0)==(t|0)){q=ue(O|0,_|0,56)|0,j()|0,q=q&7,G=q+1|0,he=ue(O|0,_|0,45)|0,j()|0;t:do if(!(cA(he&127)|0))_=7;else{if(O=ue(O|0,_|0,52)|0,j()|0,O=O&15,!O){_=6;break}for(_=1;;){if(he=ce(7,0,(15-_|0)*3|0)|0,!((he&d|0)==0&((j()|0)&t|0)==0)){_=7;break t}if(_>>>0<O>>>0)_=_+1|0;else{_=6;break}}}while(!1);if((q+2|0)>>>0>_>>>0){de=41;break e}he=ce(G|0,0,56)|0,t=j()|0|t&-117440513,F=p,r[F>>2]=0,r[F+4>>2]=0,d=he|d}else R=xe(R|0,I|0,1,0)|0,R=Cr(R|0,j()|0,i|0,o|0)|0,I=j()|0;re=xe(re|0,J|0,1,0)|0,J=j()|0,p=Te+(R<<3)|0,_=p,O=r[_>>2]|0,_=r[_+4>>2]|0}while(!((O|0)==0&(_|0)==0))}he=p,r[he>>2]=d,r[he+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=$e+(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,F=j()|0,F>>>0<0|(F|0)==0&he>>>0<11){de=85;break}if(he=Qt(i|0,o|0,6,0)|0,j()|0,he=FA(he,8)|0,!he){de=48;break}do if(ke){for(G=0,t=0,q=0,J=0;;){if(_=Te+(G<<3)|0,f=_,l=r[f>>2]|0,f=r[f+4>>2]|0,(l|0)==0&(f|0)==0)F=q;else{O=ue(l|0,f|0,56)|0,j()|0,O=O&7,d=O+1|0,R=f&-117440513,F=ue(l|0,f|0,45)|0,j()|0;A:do if(cA(F&127)|0){if(I=ue(l|0,f|0,52)|0,j()|0,I=I&15,I|0)for(p=1;;){if(F=ce(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=ce(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=he+(t<<3)|0,r[F>>2]=l,r[F+4>>2]=f&-117440513,t=xe(t|0,q|0,1,0)|0,F=j()|0):F=q}if(G=xe(G|0,J|0,1,0)|0,J=j()|0,(J|0)<(o|0)|(J|0)==(o|0)&G>>>0<i>>>0)q=F;else break}if(ke){if(re=qe>>>0>15,Ae=ce(qe|0,0,52)|0,ee=j()|0,!_e){for(l=0,p=0,d=0,f=0;(y|0)==0&(u|0)==0||(qe=A+(l<<3)|0,r[qe>>2]=y,r[qe+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=$e+(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=ue(y|0,u|0,52)|0,j()|0,I=I&15,re|(I|0)<(qe|0)){de=80;break e}if((I|0)!=(qe|0)){if(_=y|Ae,O=u&-15728641|ee,I>>>0>=Re>>>0){R=qe;do _e=ce(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;q=Tr(_|0,O|0,i|0,o|0)|0,R=0,I=0,J=j()|0;do{if((R|0)>(o|0)|(R|0)==(o|0)&I>>>0>i>>>0){de=81;break e}if(_e=Te+(q<<3)|0,G=r[_e+4>>2]|0,(G&-117440513|0)==(O|0)&&(r[_e>>2]|0)==(_|0)){de=65;break}_e=xe(q|0,J|0,1,0)|0,q=Cr(_e|0,j()|0,i|0,o|0)|0,J=j()|0,I=xe(I|0,R|0,1,0)|0,R=j()|0,_e=Te+(q<<3)|0}while(!((r[_e>>2]|0)==(_|0)&&(r[_e+4>>2]|0)==(O|0)));if((de|0)==65&&(de=0,!0&(G&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=$e+(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,Or($e|0,he|0,t<<3|0)|0,Se(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 Se($e),Se(Te),de=10,de|0;if((de|0)==48)return Se($e),Se(Te),de=13,de|0;(de|0)==80?Oe(27795,27122,711,27132):(de|0)==81?Oe(27795,27122,723,27132):(de|0)==85&&(Or(A|0,$e|0,i<<3|0)|0,de=89)}return(de|0)==21?(Se($e),Se(Te),de=5,de|0):(de|0)==27?(Se($e),Se(Te),de=u,de|0):(de|0)==89?(Se($e),Se(Te),de=0,de|0):0}function rp(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,q=0,G=0;if(G=S,S=S+16|0,q=G,!((i|0)>0|(i|0)==0&A>>>0>0))return q=0,S=G,q|0;if((f|0)>=16)return q=12,S=G,q|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,_=ue(p|0,y|0,52)|0,j()|0,(_&15|0)>(f|0)){d=12,p=11;break}if(Lo(q,p,y,f),_=q,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(q),O=q,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?(q=14,S=G,q|0):(p|0)==11?(S=G,d|0):0}function np(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=S,S=S+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 S=R,l|0}else f=0,l=0;while(!1);return r[u>>2]=f,r[u+4>>2]=l,u=0,S=R,u|0}function ip(t,A){return t=t|0,A=A|0,A=ue(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=ue(t|0,A|0,52)|0,j()|0,u=u&15,!u)return u=0,u|0;for(o=1;;){if(i=ue(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=ue(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=ce(7,0,l|0)|0,u=j()|0,f=ue(t|0,A|0,l|0)|0,j()|0,l=ce(or(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=ue(t|0,A|0,52)|0,j()|0,o=o&15,!o)i=1;else{i=1;A:for(;;){switch(f=ue(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=ue(t|0,A|0,f|0)|0,j()|0,l=ce(7,0,f|0)|0,A=A&~(j()|0),f=ce(or(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 sr(t,A){t=t|0,A=A|0;var i=0,o=0,u=0,l=0,f=0;if(o=ue(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=ue(t|0,A|0,l|0)|0,j()|0,u=ce(7,0,l|0)|0,A=A&~(j()|0),l=ce(or(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 op(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=ue(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=ce(7,0,l|0)|0,u=j()|0,f=ue(t|0,A|0,l|0)|0,j()|0,l=ce(Rt(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=ue(t|0,A|0,52)|0,j()|0,o=o&15,!o)i=1;else{i=1;A:for(;;){switch(f=ue(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=ce(7,0,u|0)|0,f=A&~(j()|0),A=ue(t|0,A|0,u|0)|0,j()|0,A=ce(Rt(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=ue(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=ce(7,0,f|0)|0,u=A&~(j()|0),A=ue(t|0,A|0,f|0)|0,j()|0,A=ce(Rt(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 sp(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=S,S=S+64|0,d=p+40|0,o=p+24|0,u=p+12|0,l=p,ce(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),S=p,d|0):(ce(Va(t)|0,0,45)|0,f=j()|0|i,d=-1,Ie(f|0),S=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?(Nh(f),r[u>>2]=r[f>>2],r[u+4>>2]=r[f+4>>2],r[u+8>>2]=r[f+8>>2],oi(u)):(Xa(f),r[u>>2]=r[f>>2],r[u+4>>2]=r[f+4>>2],r[u+8>>2]=r[f+8>>2],ir(u)),Do(o,u,l),DA(l),_=(15-A|0)*3|0,y=ce(7,0,_|0)|0,i=i&~(j()|0),_=ce(ii(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=Va(d)|0,A=ce(o|0,0,45)|0,A=A|t,t=j()|0|i&-1040385,l=_h(d)|0,!(cA(o)|0)){if((l|0)<=0)break;for(u=0;;){if(o=ue(A|0,t|0,52)|0,j()|0,o=o&15,o)for(i=1;_=(15-i|0)*3|0,d=ue(A|0,t|0,_|0)|0,j()|0,y=ce(7,0,_|0)|0,t=t&~(j()|0),_=ce(or(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=ue(A|0,t|0,52)|0,j()|0,u=u&15;A:do if(u){i=1;t:for(;;){switch(_=ue(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(za(o,r[d>>2]|0)|0)for(i=1;d=(15-i|0)*3|0,y=ce(7,0,d|0)|0,_=t&~(j()|0),t=ue(A|0,t|0,d|0)|0,j()|0,t=ce(Rt(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=ue(A|0,t|0,_|0)|0,j()|0,y=ce(7,0,_|0)|0,t=t&~(j()|0),_=ce(or(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),S=p,_|0}function et(t){return t=t|0,(t|0)%2|0|0}function qo(t,A,i){t=t|0,A=A|0,i=i|0;var o=0,u=0;return u=S,S=S+16|0,o=u,A>>>0>15?(o=4,S=u,o|0):(r[t+4>>2]&2146435072|0)==2146435072||(r[t+8+4>>2]&2146435072|0)==2146435072?(o=3,S=u,o|0):(Vh(t,A,o),A=sp(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,S=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=ue(t|0,A|0,52)|0,j()|0,l=l&15,f=ue(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?oi(u):ir(u),f=ue(t|0,A|0,(15-i|0)*3|0)|0,j()|0,eu(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(_=S,S=S+16|0,p=_,y=ue(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,S=_,y|0;e:do if((cA(y)|0)!=0&&(l=ue(t|0,A|0,52)|0,j()|0,l=l&15,(l|0)!=0)){o=1;A:for(;;){switch(d=ue(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=ce(7,0,A|0)|0,d=o&~(j()|0),o=ue(t|0,o|0,A|0)|0,j()|0,o=ce(Rt(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,S=_,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=ue(t|0,o|0,52)|0,j()|0,d=l&15,l&1?(ir(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=ue(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(!(Br(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((Br(i,l,0,0)|0)!=0);(l|0)!=(d|0)&&Xa(f)}return y=0,S=_,y|0}function ar(t,A,i){t=t|0,A=A|0,i=i|0;var o=0,u=0,l=0;return l=S,S=S+16|0,o=l,u=Sr(t,A,o)|0,u|0?(S=l,u|0):(u=ue(t|0,A|0,52)|0,j()|0,Yh(o,u&15,i),u=0,S=l,u|0)}function Pr(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=S,S=S+16|0,l=f,o=Sr(t,A,l)|0,o|0)return l=o,S=f,l|0;o=ue(t|0,A|0,45)|0,j()|0,o=(cA(o&127)|0)==0,u=ue(t|0,A|0,52)|0,j()|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&((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,S=f,d|0}while(!1);return Oo(l,u,0,6,i),d=0,S=f,d|0}function ap(t,A,i){t=t|0,A=A|0,i=i|0;var o=0,u=0,l=0;if(u=ue(t|0,A|0,45)|0,j()|0,!(cA(u&127)|0))return u=2,r[i>>2]=u,0;if(u=ue(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=ce(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 fu(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=S,S=S+128|0,y=O+112|0,l=O+96|0,_=O,u=ue(t|0,A|0,52)|0,j()|0,d=u&15,r[y>>2]=d,f=ue(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=ce(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=ce(d+1|0,0,52)|0,_=j()|0|A&-15728641,y=ce(7,0,(14-d|0)*3|0)|0,_=fu((p|t)&~y,_&~(j()|0),i)|0,S=O,_|0}else u=0;while(!1);if(o=Sr(t,A,l)|0,!o){u?(ou(l,y,_),p=5):(su(l,y,_),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&((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,Wh(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,Br(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,S=O,_|0}function up(){return 12}function Ho(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=j()|0|134225919,!t){i=0,o=0;do cA(o)|0&&(ce(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(ce(f|0,0,45)|0,o=1,u=-1,l=d|(j()|0);p=ce(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 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,p=0,y=0,_=0,O=0,R=0,I=0,q=0,G=0,J=0,re=0,Ae=0;if(Ae=S,S=S+16|0,J=Ae,re=ue(t|0,A|0,52)|0,j()|0,re=re&15,i>>>0>15)return re=4,S=Ae,re|0;if((re|0)<(i|0))return re=12,S=Ae,re|0;if((re|0)!=(i|0))if(l=ce(i|0,0,52)|0,l=l|t,d=j()|0|A&-15728641,(re|0)>(i|0)){p=i;do G=ce(7,0,(14-p|0)*3|0)|0,p=p+1|0,l=G|l,d=j()|0|d;while((p|0)<(re|0));G=l}else G=l;else G=t,d=A;q=ue(G|0,d|0,45)|0,j()|0;e:do if(cA(q&127)|0){if(p=ue(G|0,d|0,52)|0,j()|0,p=p&15,p|0)for(l=1;;){if(q=ce(7,0,(15-l|0)*3|0)|0,!((q&G|0)==0&((j()|0)&d|0)==0)){y=33;break e}if(l>>>0<p>>>0)l=l+1|0;else break}if(q=o,r[q>>2]=0,r[q+4>>2]=0,(re|0)>(i|0)){for(q=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=ce(I|0,0,52)|0,l=l|t,p=j()|0|q,(re|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=j()|0|p;while((y|0)<(re|0));O=l}else O=t,p=A;if(_=ue(O|0,p|0,45)|0,j()|0,!(cA(_&127)|0))l=0;else{_=ue(O|0,p|0,52)|0,j()|0,_=_&15;A:do if(!_)l=0;else for(y=1;;){if(l=ue(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=ue(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=It(7,0,y,((y|0)<0)<<31>>31)|0,_=j()|0,l?(l=kA(y|0,_|0,5,0)|0,l=xe(l|0,j()|0,-5,-1)|0,l=Qt(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=kA(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 S=Ae,u|0}else u=0,f=0}else y=33;while(!1);e:do if((y|0)==33)if(q=o,r[q>>2]=0,r[q+4>>2]=0,(re|0)>(i|0)){for(l=re;;){if(u=ue(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=It(7,0,f,((f|0)<0)<<31>>31)|0,u=kA(f|0,j()|0,u|0,0)|0,f=j()|0,q=o,f=xe(r[q>>2]|0,r[q+4>>2]|0,u|0,f|0)|0,u=j()|0,q=o,r[q>>2]=f,r[q+4>>2]=u,l=l+-1|0,(l|0)<=(i|0))break e}return S=Ae,u|0}else u=0,f=0;while(!1);return un(G,d,re,J)|0&&Oe(27795,27122,1327,27173),re=J,J=r[re+4>>2]|0,((u|0)>-1|(u|0)==-1&f>>>0>4294967295)&((J|0)>(u|0)|((J|0)==(u|0)?(r[re>>2]|0)>>>0>f>>>0:0))?(re=0,S=Ae,re|0):(Oe(27795,27122,1407,27158),0)}function fp(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,q=0,G=0;if(O=S,S=S+16|0,f=O,u>>>0>15)return l=4,S=O,l|0;if(d=ue(i|0,o|0,52)|0,j()|0,d=d&15,(d|0)>(u|0))return l=12,S=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,S=O,l|0;_=u-d|0,u=ce(u|0,0,52)|0,p=j()|0|o&-15728641,y=l,r[y>>2]=u|i,r[y+4>>2]=p,y=ue(i|0,o|0,45)|0,j()|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&((j()|0)&o|0)==0))break e;if(f>>>0<d>>>0)f=f+1|0;else break}if((_|0)<1)return l=0,S=O,l|0;for(y=d^15,o=-1,p=1,f=1;;){d=_-p|0,d=It(7,0,d,((d|0)<0)<<31>>31)|0,i=j()|0;do if(f)if(f=kA(d|0,i|0,5,0)|0,f=xe(f|0,j()|0,-5,-1)|0,f=Qt(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,q=r[R>>2]|0,R=r[R+4>>2]|0,G=(y+o|0)*3|0,I=ce(7,0,G|0)|0,R=R&~(j()|0),o=Qt(A|0,f|0,d|0,i|0)|0,t=j()|0,u=xe(o|0,t|0,2,0)|0,G=ce(u|0,j()|0,G|0)|0,R=j()|0|R,u=l,r[u>>2]=G|q&~I,r[u+4>>2]=R,t=kA(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{G=l,I=r[G>>2]|0,G=r[G+4>>2]|0,q=ce(7,0,(y+o|0)*3|0)|0,G=G&~(j()|0),f=l,r[f>>2]=I&~q,r[f+4>>2]=G,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&~(j()|0),G=Qt(t|0,A|0,d|0,i|0)|0,f=j()|0,o=ce(G|0,f|0,o|0)|0,I=j()|0|I,q=l,r[q>>2]=o|u&~R,r[q+4>>2]=I,f=kA(G|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 S=O,A|0}while(!1);if((_|0)<1)return G=0,S=O,G|0;for(u=d^15,f=1;;)if(q=_-f|0,q=It(7,0,q,((q|0)<0)<<31>>31)|0,G=j()|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&~(j()|0),R=Qt(t|0,A|0,q|0,G|0)|0,I=j()|0,d=ce(R|0,I|0,d|0)|0,p=j()|0|p,y=l,r[y>>2]=d|i&~o,r[y+4>>2]=p,G=kA(R|0,I|0,q|0,G|0)|0,t=EA(t|0,A|0,G|0,j()|0)|0,A=j()|0,(_|0)<=(f|0)){A=0;break}else f=f+1|0;return S=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=ue(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=uu(A,i,u+1|0,o)|0,f=(j()|0)&-15728641,i=ce(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 cu(t,A,i,o){t=t|0,A=A|0,i=i|0,o=o|0;var u=0,l=0;if(u=ue(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=uu(t,A,u+1|0,i)|0,l=(j()|0)&-15728641,u=ce(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=ue(A|0,i|0,52)|0,j()|0,o=o&15,d=ce(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=ue(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=ce(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=ce(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 Dr(t,A){return t=t|0,A=A|0,+Xe(+(+B[t>>3]-+B[A>>3]))<17453292519943298e-27?(A=+Xe(+(+B[t+8>>3]-+B[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 cp(t,A){t=t|0,A=A|0;var i=0,o=0,u=0,l=0;return u=+B[A>>3],o=+B[t>>3],l=+AA(+((u-o)*.5)),i=+AA(+((+B[A+8>>3]-+B[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=+B[A>>3],o=+B[t>>3],l=+AA(+((u-o)*.5)),i=+AA(+((+B[A+8>>3]-+B[t+8>>3])*.5)),i=l*l+i*(+We(+u)*+We(+o)*i),+(+XA(+ +pA(+i),+ +pA(+(1-i)))*2*6371.007180918475)}function dp(t,A){t=t|0,A=A|0;var i=0,o=0,u=0,l=0;return u=+B[A>>3],o=+B[t>>3],l=+AA(+((u-o)*.5)),i=+AA(+((+B[A+8>>3]-+B[t+8>>3])*.5)),i=l*l+i*(+We(+u)*+We(+o)*i),+(+XA(+ +pA(+i),+ +pA(+(1-i)))*2*6371.007180918475*1e3)}function hp(t,A){t=t|0,A=A|0;var i=0,o=0,u=0,l=0,f=0;return l=+B[A>>3],o=+We(+l),u=+B[A+8>>3]-+B[t+8>>3],f=o*+AA(+u),i=+B[t>>3],+ +XA(+f,+(+AA(+l)*+We(+i)-+We(+u)*(o*+AA(+i))))}function pp(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=+B[t>>3]+i,B[o>>3]=A,u=o;else{if(u=+Xe(+(l+-3.141592653589793))<1e-16,A=+B[t>>3],u){A=A-i,B[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=+nh(+(A<-1?-1:A)),B[o>>3]=A,+Xe(+(A+-1.5707963267948966))<1e-16){B[o>>3]=1.5707963267948966,B[o+8>>3]=0;return}if(+Xe(+(A+1.5707963267948966))<1e-16){B[o>>3]=-1.5707963267948966,B[o+8>>3]=0;return}if(d=1/+We(+A),l=i*+AA(+l)*d,i=+B[t>>3],A=d*((f-+AA(+A)*+AA(+i))/+We(+i)),f=l>1?1:l,A=A>1?1:A,A=+B[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);B[o+8>>3]=A;return}while(!1);if(+Xe(+(A+-1.5707963267948966))<1e-16){B[u>>3]=1.5707963267948966,B[o+8>>3]=0;return}if(+Xe(+(A+1.5707963267948966))<1e-16){B[u>>3]=-1.5707963267948966,B[o+8>>3]=0;return}if(A=+B[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);B[o+8>>3]=A}function du(t,A){return t=t|0,A=A|0,t>>>0>15?(A=4,A|0):(B[A>>3]=+B[20656+(t<<3)>>3],A=0,A|0)}function gp(t,A){return t=t|0,A=A|0,t>>>0>15?(A=4,A|0):(B[A>>3]=+B[20784+(t<<3)>>3],A=0,A|0)}function mp(t,A){return t=t|0,A=A|0,t>>>0>15?(A=4,A|0):(B[A>>3]=+B[20912+(t<<3)>>3],A=0,A|0)}function yp(t,A){return t=t|0,A=A|0,t>>>0>15?(A=4,A|0):(B[A>>3]=+B[21040+(t<<3)>>3],A=0,A|0)}function ui(t,A){t=t|0,A=A|0;var i=0;return t>>>0>15?(A=4,A|0):(i=It(7,0,t,((t|0)<0)<<31>>31)|0,i=kA(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 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,R=0;return R=+B[A>>3],_=+B[t>>3],p=+AA(+((R-_)*.5)),l=+B[A+8>>3],y=+B[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=+B[i>>3],R=+AA(+((p-R)*.5)),o=+B[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=S,S=S+192|0,l=d+168|0,f=d,u=ar(t,A,l)|0,u|0)return i=u,S=d,i|0;if(Pr(t,A,f)|0&&Oe(27795,27190,415,27199),A=r[f>>2]|0,(A|0)>0){if(o=+hu(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+ +hu(f+8+(u<<4)|0,f+8+(((t|0)%(A|0)|0)<<4)|0,l);while((t|0)<(A|0))}}else o=0;return B[i>>3]=o,i=0,S=d,i|0}function wp(t,A,i){return t=t|0,A=A|0,i=i|0,t=Go(t,A,i)|0,t|0||(B[i>>3]=+B[i>>3]*6371.007180918475*6371.007180918475),t|0}function vp(t,A,i){return t=t|0,A=A|0,i=i|0,t=Go(t,A,i)|0,t|0||(B[i>>3]=+B[i>>3]*6371.007180918475*6371.007180918475*1e3*1e3),t|0}function bp(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=S,S=S+176|0,f=d,t=ai(t,A,f)|0,t|0)return f=t,S=d,f|0;if(B[i>>3]=0,t=r[f>>2]|0,(t|0)<=1)return f=0,S=d,f|0;A=t+-1|0,t=0,o=+B[f+8>>3],u=+B[f+16>>3],l=0;do t=t+1|0,y=o,o=+B[f+8+(t<<4)>>3],_=+AA(+((o-y)*.5)),p=u,u=+B[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 B[i>>3]=l,f=0,S=d,f|0}function _p(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=S,S=S+176|0,f=d,t=ai(t,A,f)|0,t|0)return f=t,l=+B[i>>3],l=l*6371.007180918475,B[i>>3]=l,S=d,f|0;if(B[i>>3]=0,t=r[f>>2]|0,(t|0)<=1)return f=0,l=0,l=l*6371.007180918475,B[i>>3]=l,S=d,f|0;A=t+-1|0,t=0,o=+B[f+8>>3],u=+B[f+16>>3],l=0;do t=t+1|0,y=o,o=+B[f+8+(t<<4)>>3],_=+AA(+((o-y)*.5)),p=u,u=+B[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 B[i>>3]=l,f=0,_=l,_=_*6371.007180918475,B[i>>3]=_,S=d,f|0}function Ep(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=S,S=S+176|0,f=d,t=ai(t,A,f)|0,t|0)return f=t,l=+B[i>>3],l=l*6371.007180918475,l=l*1e3,B[i>>3]=l,S=d,f|0;if(B[i>>3]=0,t=r[f>>2]|0,(t|0)<=1)return f=0,l=0,l=l*6371.007180918475,l=l*1e3,B[i>>3]=l,S=d,f|0;A=t+-1|0,t=0,o=+B[f+8>>3],u=+B[f+16>>3],l=0;do t=t+1|0,y=o,o=+B[f+8+(t<<4)>>3],_=+AA(+((o-y)*.5)),p=u,u=+B[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 B[i>>3]=l,f=0,_=l,_=_*6371.007180918475,_=_*1e3,B[i>>3]=_,S=d,f|0}function kp(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 $p(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 pu(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,Se(u);while((i|0)!=0);u=A,A=r[A+8>>2]|0,Se(u)}while((A|0)!=0);if(A=t,t=r[t+8>>2]|0,o||Se(A),t)o=0;else break}}function xp(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,q=0,G=0,J=0,re=0,Ae=0,ee=0,F=0,he=0,ke=0,_e=0,Re=0,qe=0,Fe=0,Te=0,$e=0,de=0,Le=0,iA=0,He=0;if(u=t+8|0,r[u>>2]|0)return He=1,He|0;if(o=r[t>>2]|0,!o)return He=0,He|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 He=0,He|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,ke=t+4|0,r[ke>>2]=0,r[u>>2]=0,i=0,$e=0,he=0,O=0;e:for(;;){if(_=r[o>>2]|0,_){l=0,f=_;do{if(p=+B[f+8>>3],A=f,f=r[f+16>>2]|0,y=(f|0)==0,u=y?_:f,d=+B[u+8>>3],+Xe(+(p-d))>3.141592653589793){He=14;break}l=l+(d-p)*(+B[A>>3]+ +B[u>>3])}while(!y);if((He|0)==14){He=0,l=0,A=_;do F=+B[A+8>>3],Te=A+16|0,Fe=r[Te>>2]|0,Fe=(Fe|0)==0?_:Fe,ee=+B[Fe+8>>3],l=l+(+B[A>>3]+ +B[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+($e<<2)>>2]=o,$e=$e+1|0,u=he,A=O):He=19}else He=19;if((He|0)==19){He=0;do if(i){if(A=i+8|0,r[A>>2]|0){He=21;break e}if(i=FA(1,12)|0,!i){He=23;break e}r[A>>2]=i,u=i+4|0,f=i,A=O}else if(O){u=ke,f=O+8|0,A=o,i=t;break}else if(r[t>>2]|0){He=27;break e}else{u=ke,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(_=de+(he<<5)+8|0,B[_>>3]=17976931348623157e292,O=de+(he<<5)+24|0,B[O>>3]=17976931348623157e292,B[f>>3]=-17976931348623157e292,R=de+(he<<5)+16|0,B[R>>3]=-17976931348623157e292,re=17976931348623157e292,Ae=-17976931348623157e292,u=0,I=y,p=17976931348623157e292,G=17976931348623157e292,J=-17976931348623157e292,d=-17976931348623157e292;l=+B[I>>3],F=+B[I+8>>3],I=r[I+16>>2]|0,q=(I|0)==0,ee=+B[(q?y:I)+8>>3],l<p&&(B[_>>3]=l,p=l),F<G&&(B[O>>3]=F,G=F),l>J?B[f>>3]=l:l=J,F>d&&(B[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,!q;)J=l;u&&(B[R>>3]=Ae,B[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=he+1|0}if(Te=o+8|0,o=r[Te>>2]|0,r[Te>>2]=0,o)he=u,O=A;else{He=45;break}}if((He|0)==21)Oe(27213,27235,35,27247);else if((He|0)==23)Oe(27267,27235,37,27247);else if((He|0)==27)Oe(27310,27235,61,27333);else if((He|0)==45){e:do if(($e|0)>0){for(Te=(u|0)==0,qe=u<<2,Fe=(t|0)==0,Re=0,A=0;;){if(_e=r[Le+(Re<<2)>>2]|0,Te)He=73;else{if(he=yt(qe)|0,!he){He=50;break}if(ke=yt(qe)|0,!ke){He=52;break}A:do if(Fe)i=0;else{for(u=0,i=0,f=t;o=de+(u<<5)|0,gu(r[f>>2]|0,o,r[_e>>2]|0)|0?(r[he+(i<<2)>>2]=f,r[ke+(i<<2)>>2]=o,q=i+1|0):q=i,f=r[f+8>>2]|0,f;)u=u+1|0,i=q;if((q|0)>0)if(o=r[he>>2]|0,(q|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)?_=o:_=o+((gu(u,r[ke+(f<<2)>>2]|0,r[y>>2]|0)|0)&1)|0,f=f+1|0,(f|0)!=(q|0);)o=_;if(u=(_|0)>(I|0),i=u?O:i,o=R+1|0,(o|0)==(q|0))break A;R=o,I=u?_:I,O=r[he+(o<<2)>>2]|0}else i=0}while(!1);if(Se(he),Se(ke),i){if(u=i+4|0,o=r[u>>2]|0,o)i=o+8|0;else if(r[i>>2]|0){He=70;break}r[i>>2]=_e,r[u>>2]=_e}else He=73}if((He|0)==73){if(He=0,A=r[_e>>2]|0,A|0)do ke=A,A=r[A+16>>2]|0,Se(ke);while((A|0)!=0);Se(_e),A=1}if(Re=Re+1|0,(Re|0)>=($e|0)){iA=A;break e}}(He|0)==50?Oe(27452,27235,249,27471):(He|0)==52?Oe(27490,27235,252,27471):(He|0)==70&&Oe(27310,27235,61,27333)}else iA=0;while(!1);return Se(Le),Se(de),He=iA,He|0}return 0}function gu(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(!(So(A,i)|0)||(A=Ka(A)|0,o=+B[i>>3],u=+B[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=+B[i>>3],u=+B[i+8>>3],i=i+16|0,_=r[i>>2]|0,_=(_|0)==0?t:_,l=+B[_>>3],d=+B[_+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=+B[i>>3],u=+B[i+8>>3],i=i+16|0,_=r[i>>2]|0,_=(_|0)==0?t:_,l=+B[_>>3],d=+B[_+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 Bt(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,q=0,G=0,J=0,re=0,Ae=0;if(Ae=S,S=S+32|0,re=Ae+16|0,J=Ae,l=ue(t|0,A|0,52)|0,j()|0,l=l&15,I=ue(i|0,o|0,52)|0,j()|0,(l|0)!=(I&15|0))return re=12,S=Ae,re|0;if(y=ue(t|0,A|0,45)|0,j()|0,y=y&127,_=ue(i|0,o|0,45)|0,j()|0,_=_&127,y>>>0>121|_>>>0>121)return re=5,S=Ae,re|0;if(I=(y|0)!=(_|0),I){if(d=Bo(y,_)|0,(d|0)==7)return re=1,S=Ae,re|0;p=Bo(_,y)|0,(p|0)==7?Oe(27514,27538,161,27548):(q=d,f=p)}else q=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(q){if(_=r[4272+(y*28|0)+(q<<2)>>2]|0,d=(_|0)>0,R)if(d){y=0,p=i,d=o;do p=op(p,d)|0,d=j()|0,f=Rt(f)|0,(f|0)==1&&(f=Rt(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=Rt(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(ae[22e3+(f*7|0)+q>>0]|0){l=1;break}p=r[21168+(f*28|0)+(q<<2)>>2]|0,y=p}else if(f){if(f=GA(y,p)|0,(f|0)==7){l=5;break}if(ae[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 si(d),f=f+1|0;while((f|0)!=(p|0))}if(r[J>>2]=0,r[J+4>>2]=0,r[J+8>>2]=0,eu(J,q),l|0)for(;et(l)|0?oi(J):ir(J),(l|0)>1;)l=l+-1|0;if((y|0)>0){l=0;do si(J),l=l+1|0;while((l|0)!=(y|0))}G=re+4|0,IA(G,J,G),DA(G),G=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(ae[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 si(d),l=l+1|0;while((l|0)!=(f|0));G=51}else G=51;else G=51;while(!1);return(G|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,S=Ae,re|0}function mu(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,q=0,G=0,J=0,re=0,Ae=0,ee=0;if(G=S,S=S+48|0,y=G+36|0,f=G+24|0,d=G+12|0,p=G,u=ue(t|0,A|0,52)|0,j()|0,u=u&15,R=ue(t|0,A|0,45)|0,j()|0,R=R&127,R>>>0>121)return o=5,S=G,o|0;if(_=cA(R)|0,ce(u|0,0,52)|0,J=j()|0|134225919,l=o,r[l>>2]=-1,r[l+4>>2]=J,!u)return u=ii(i)|0,(u|0)==7||(u=xo(R,u)|0,(u|0)==127)?(J=1,S=G,J|0):(I=ce(u|0,0,45)|0,q=j()|0,R=o,q=r[R+4>>2]&-1040385|q,J=o,r[J>>2]=r[R>>2]|I,r[J+4>>2]=q,J=0,S=G,J|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=jh(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],oi(d)}else{if(u=Mh(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],ir(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=ce(7,0,ee|0)|0,u=u&~(j()|0),ee=ce(ii(p)|0,0,ee|0)|0,u=j()|0|u,J=o,r[J>>2]=ee|Ae&~re,r[J+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=ii(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=or(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):(q=i,I=l,O=u)}else q=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=sr(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=q,i=58;break}for(l=o,u=0,i=r[l>>2]|0,l=r[l+4>>2]|0;;)if(i=sr(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=q,i=58;break A}}if(f=Bo(q,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=sr(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=$o(q)|0,i=r[(i?21792:21584)+(f*28|0)+(u<<2)>>2]|0,(i|0)<0&&Oe(27795,27538,454,27678),!i)u=q,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=q,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=sr(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=ce(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,S=G,ee|0}function Bp(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=S,S=S+16|0,f=d,u?t=15:(t=Bt(t,A,i,o,f)|0,t||(Rh(f,l),t=0)),S=d,t|0}function Sp(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=S,S=S+16|0,l=f,o?i=15:(i=Ih(i,l)|0,i||(i=mu(t,A,l,u)|0)),S=f,i|0}function Pp(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=S,S=S+32|0,f=p+12|0,d=p,l=Bt(t,A,t,A,f)|0,l|0?(d=l,S=p,d|0):(t=Bt(t,A,i,o,d)|0,t|0?(d=t,S=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,S=p,d|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;return p=S,S=S+32|0,f=p+12|0,d=p,l=Bt(t,A,t,A,f)|0,!l&&(l=Bt(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,S=p,d|0):(d=l,S=p,d|0)}function Cp(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,q=0,G=0,J=0,re=0,Ae=0,ee=0,F=0,he=0,ke=0,_e=0,Re=0;if(_e=S,S=S+48|0,he=_e+24|0,f=_e+12|0,ke=_e,l=Bt(t,A,t,A,he)|0,!l&&(l=Bt(t,A,i,o,f)|0,!l)){ee=Co(he,f)|0,F=((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,Bt(t,A,t,A,he)|0&&Oe(27795,27538,692,27747),Bt(t,A,i,o,f)|0&&Oe(27795,27538,697,27747),nu(he),nu(f),_=(ee|0)==0?0:1/+(ee|0),i=r[he>>2]|0,G=_*+((r[f>>2]|0)-i|0),J=he+4|0,o=r[J>>2]|0,re=_*+((r[f+4>>2]|0)-o|0),Ae=he+8|0,l=r[Ae>>2]|0,_=_*+((r[f+8>>2]|0)-l|0),r[ke>>2]=i,O=ke+4|0,r[O>>2]=o,R=ke+8|0,r[R>>2]=l;e:do if((ee|0)<0)l=0;else for(I=0,q=0;;){p=+(q>>>0)+4294967296*+(I|0),Re=G*p+ +(i|0),d=re*p+ +(o|0),p=_*p+ +(l|0),i=~~+di(+Re),f=~~+di(+d),l=~~+di(+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[ke>>2]=i,r[O>>2]=o,r[R>>2]=l,qh(ke),l=mu(t,A,ke,u+(q<<3)|0)|0,l|0)break e;if(!((I|0)<(F|0)|(I|0)==(F|0)&q>>>0<ee>>>0)){l=0;break e}i=xe(q|0,I|0,1,0)|0,o=j()|0,I=o,q=i,i=r[he>>2]|0,o=r[J>>2]|0,l=r[Ae>>2]|0}while(!1);return ke=l,S=_e,ke|0}return ke=l,S=_e,ke|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;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=kA((f?1:l)|0,(f?0:u)|0,t|0,A|0)|0,A=j()|0,i=Du(i|0,o|0,1)|0,o=j()|0,l=kA(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=S,S=S+16|0,l=d,f=ue(t|0,A|0,52)|0,j()|0,f=f&15;do if(f){if(u=ar(t,A,l)|0,!u){y=+B[l>>3],p=1/+We(+y),_=+B[25968+(f<<3)>>3],B[i>>3]=y+_,B[i+8>>3]=y-_,y=+B[l+8>>3],p=_*p,B[i+16>>3]=p+y,B[i+24>>3]=y-p;break}return f=u,S=d,f|0}else{if(u=ue(t|0,A|0,45)|0,j()|0,u=u&127,u>>>0>121)return f=5,S=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 Ch(i,o?1.4:1.1),o=26096+(f<<3)|0,(r[o>>2]|0)==(t|0)&&(r[o+4>>2]|0)==(A|0)&&(B[i>>3]=1.5707963267948966),f=26224+(f<<3)|0,(r[f>>2]|0)==(t|0)&&(r[f+4>>2]|0)==(A|0)&&(B[i+8>>3]=-1.5707963267948966),+B[i>>3]!=1.5707963267948966&&+B[i+8>>3]!=-1.5707963267948966?(f=0,S=d,f|0):(B[i+16>>3]=3.141592653589793,B[i+24>>3]=-3.141592653589793,f=0,S=d,f|0)}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,y=0,_=0;y=S,S=S+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,ae[o+12>>0]=0,ae[p>>0]=ae[l>>0]|0,ae[p+1>>0]=ae[l+1>>0]|0,ae[p+2>>0]=ae[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,ae[d+28>>0]=0,p=d+29|0,ae[p>>0]=ae[l>>0]|0,ae[p+1>>0]=ae[l+1>>0]|0,ae[p+2>>0]=ae[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,ae[o+12>>0]=0,ae[p>>0]=ae[l>>0]|0,ae[p+1>>0]=ae[l+1>>0]|0,ae[p+2>>0]=ae[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,ae[p+12>>0]=0,ae[_>>0]=ae[l>>0]|0,ae[_+1>>0]=ae[l+1>>0]|0,ae[_+2>>0]=ae[l+2>>0]|0;while(!1);li(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],S=y}function li(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,q=0,G=0,J=0,re=0,Ae=0,ee=0,F=0;if(F=S,S=S+336|0,I=F+168|0,q=F,o=t,i=r[o>>2]|0,o=r[o+4>>2]|0,(i|0)==0&(o|0)==0){S=F;return}if(A=t+28|0,ae[A>>0]|0?(i=yu(i,o)|0,o=j()|0):ae[A>>0]=1,ee=t+20|0,!(r[r[ee>>2]>>2]|0)){A=t+24|0,i=r[A>>2]|0,i|0&&Se(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,S=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{G=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=q+8|0;A:for(;;){if(l=ue(i|0,o|0,52)|0,j()|0,l=l&15,(l|0)==(r[G>>2]|0)){switch(_&15){case 0:case 2:case 3:{if(u=ar(i,o,I)|0,u|0){J=15;break A}if(zo(r[ee>>2]|0,r[R>>2]|0,I)|0){J=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],So(26832,I)|0)){if(qo(r[(r[ee>>2]|0)+4>>2]|0,l,q)|0){J=25;break}if(u=q,(r[u>>2]|0)==(i|0)&&(r[u+4>>2]|0)==(o|0)){J=29;break}}if(y){if(u=Pr(i,o,I)|0,u|0){J=32;break}if(Fo(i,o,q,0)|0){J=36;break}if(f&&vu(r[ee>>2]|0,r[R>>2]|0,I,q)|0){J=42;break}if(p&&bu(r[ee>>2]|0,r[R>>2]|0,I,q)|0){J=42;break}}if(O){if(A=Fo(i,o,I,1)|0,u=r[R>>2]|0,A|0){J=45;break}if(Po(u,I)|0){if(Wa(q,I),Ya(I,r[R>>2]|0)|0){J=53;break}if(zo(r[ee>>2]|0,r[R>>2]|0,d)|0){J=53;break}if(bu(r[ee>>2]|0,r[R>>2]|0,q,I)|0){J=53;break}}}}do if((l|0)<(r[G>>2]|0)){if(A=Fo(i,o,I,1)|0,u=r[R>>2]|0,A|0){J=58;break A}if(!(Po(u,I)|0)){J=73;break}if(Ya(r[R>>2]|0,I)|0&&(Wa(q,I),vu(r[ee>>2]|0,r[R>>2]|0,q,I)|0)){J=65;break A}if(i=lu(i,o,l+1|0,q)|0,i|0){J=67;break A}o=q,i=r[o>>2]|0,o=r[o+4>>2]|0}else J=73;while(!1);if((J|0)==73&&(J=0,i=yu(i,o)|0,o=j()|0),(i|0)==0&(o|0)==0){re=R;break e}}switch(J|0){case 15:{A=r[R>>2]|0,A|0&&Se(A),J=t,r[J>>2]=0,r[J+4>>2]=0,r[ee>>2]=0,r[G>>2]=-1,r[Ae>>2]=0,r[R>>2]=0,r[t+8>>2]=u,J=20;break}case 19:{r[t>>2]=i,r[t+4>>2]=o,J=20;break}case 25:{Oe(27795,27761,470,27772);break}case 29:{r[t>>2]=i,r[t+4>>2]=o,S=F;return}case 32:{A=r[R>>2]|0,A|0&&Se(A),re=t,r[re>>2]=0,r[re+4>>2]=0,r[ee>>2]=0,r[G>>2]=-1,r[Ae>>2]=0,r[R>>2]=0,r[t+8>>2]=u,S=F;return}case 36:{Oe(27795,27761,493,27772);break}case 42:{r[t>>2]=i,r[t+4>>2]=o,S=F;return}case 45:{u|0&&Se(u),J=t,r[J>>2]=0,r[J+4>>2]=0,r[ee>>2]=0,r[G>>2]=-1,r[Ae>>2]=0,r[R>>2]=0,r[t+8>>2]=A,J=55;break}case 53:{r[t>>2]=i,r[t+4>>2]=o,J=55;break}case 58:{u|0&&Se(u),J=t,r[J>>2]=0,r[J+4>>2]=0,r[ee>>2]=0,r[G>>2]=-1,r[Ae>>2]=0,r[R>>2]=0,r[t+8>>2]=A,J=71;break}case 65:{r[t>>2]=i,r[t+4>>2]=o,J=71;break}case 67:{A=r[R>>2]|0,A|0&&Se(A),re=t,r[re>>2]=0,r[re+4>>2]=0,r[ee>>2]=0,r[G>>2]=-1,r[Ae>>2]=0,r[R>>2]=0,r[t+8>>2]=i,S=F;return}}if((J|0)==20){S=F;return}else if((J|0)==55){S=F;return}else if((J|0)==71){S=F;return}}while(!1);A=r[re>>2]|0,A|0&&Se(A),J=t,r[J>>2]=0,r[J+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,S=F}function yu(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=S,S=S+16|0,_=O,o=ue(t|0,A|0,52)|0,j()|0,o=o&15,i=ue(t|0,A|0,45)|0,j()|0;do if(o){for(;i=ce(o+4095|0,0,52)|0,u=j()|0|A&-15728641,l=(15-o|0)*3|0,f=ce(7,0,l|0)|0,d=j()|0,i=i|t|f,u=u|d,p=ue(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=ue(i|0,u|0,45)|0,j()|0;break}return _=(p|0)==0&(aA(i,u)|0)!=0,_=ce((_?2:1)+p|0,0,l|0)|0,y=j()|0|A&~d,_=_|t&~f,Ie(y|0),S=O,_|0}while(!1);return i=i&127,i>>>0>120?(y=0,_=0,Ie(y|0),S=O,_|0):(Mo(_,0,i+1|0,0),y=r[_+4>>2]|0,_=r[_>>2]|0,Ie(y|0),S=O,_|0)}function Op(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,q=0,G=0,J=0;J=S,S=S+160|0,O=J+80|0,d=J+64|0,R=J+112|0,G=J,Tp(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=G,r[I>>2]=p,r[I+4>>2]=y,I=G+8|0,r[I>>2]=f,t=G+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=G+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 G=f,S=J,G|0;i=G+16|0,_=G+24|0,O=G+28|0,f=0,d=0,A=p,t=y;do{if(!((f|0)<(u|0)|(f|0)==(u|0)&d>>>0<o>>>0)){q=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(li(i),A=i,t=r[A>>2]|0,A=r[A+4>>2]|0,(t|0)==0&(A|0)==0){q=10;break}cu(t,A,r[O>>2]|0,R),t=R,A=r[t>>2]|0,t=r[t+4>>2]|0}y=G,r[y>>2]=A,r[y+4>>2]=t}while(!((A|0)==0&(t|0)==0));return(q|0)==4?(t=G+40|0,A=r[t>>2]|0,A|0&&Se(A),q=G+16|0,r[q>>2]=0,r[q+4>>2]=0,r[_>>2]=0,r[G+36>>2]=0,r[O>>2]=-1,r[G+32>>2]=0,r[t>>2]=0,cu(0,0,0,R),r[G>>2]=0,r[G+4>>2]=0,r[I>>2]=0,G=14,S=J,G|0):((q|0)==10&&(r[G>>2]=0,r[G+4>>2]=0,r[I>>2]=r[_>>2]),G=r[I>>2]|0,S=J,G|0)}function jp(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=S,S=S+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,S=O,_|0;Mo(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,ae[_+12>>0]=0,ae[i>>0]=ae[d>>0]|0,ae[i+1>>0]=ae[d+1>>0]|0,ae[i+2>>0]=ae[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,ae[p+12>>0]=0,ae[_>>0]=ae[d>>0]|0,ae[_+1>>0]=ae[d+1>>0]|0,ae[_+2>>0]=ae[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,ae[_+12>>0]=0,ae[i>>0]=ae[d>>0]|0,ae[i+1>>0]=ae[d+1>>0]|0,ae[i+2>>0]=ae[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,ae[y+28>>0]=0,u=y+29|0,ae[u>>0]=ae[d>>0]|0,ae[u+1>>0]=ae[d+1>>0]|0,ae[u+2>>0]=ae[d+2>>0]|0,r[y+16>>2]=3,R=+Sh(i),R=R*+Bh(i),l=+Xe(+ +B[i>>3]),l=R/+We(+ +ci(+l,+ +Xe(+ +B[i+8>>3])))*6371.007180918475*6371.007180918475,u=y+12|0,i=r[u>>2]|0;e:do if((i|0)>0)do{if(du(i+-1|0,p)|0,!(l/+B[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(li(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,li(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,S=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(!(So(A,i)|0)||(A=Ka(A)|0,o=+B[i>>3],u=+B[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=+B[O+(y<<4)>>3],u=+B[O+(y<<4)+8>>3],t=(i+2|0)%(R|0)|0,l=+B[O+(t<<4)>>3],d=+B[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=+B[O+(y<<4)>>3],u=+B[O+(y<<4)+8>>3],t=(i+2|0)%(R|0)|0,l=+B[O+(t<<4)>>3],d=+B[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 wu(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,q=0,G=0,J=0,re=0,Ae=0;if(q=r[t>>2]|0,!q){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(G=A+8|0,B[G>>3]=17976931348623157e292,J=A+24|0,B[J>>3]=17976931348623157e292,B[A>>3]=-17976931348623157e292,re=A+16|0,B[re>>3]=-17976931348623157e292,!((q|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=+B[R+(I<<4)>>3],d=+B[R+(I<<4)+8>>3],t=t+2|0,u=+B[R+(((t|0)==(q|0)?0:t)<<4)+8>>3],i<l&&(B[G>>3]=i,l=i),d<f&&(B[J>>3]=d,f=d),i>p?B[A>>3]=i:i=p,d>o&&(B[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)!=(q|0);)Ae=I,p=i,I=t,t=Ae;O&&(B[re>>3]=_,B[J>>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,q=0,G=0,J=0,re=0,Ae=0,ee=0,F=0,he=0,ke=0,_e=0;if(q=r[t>>2]|0,q){if(G=A+8|0,B[G>>3]=17976931348623157e292,J=A+24|0,B[J>>3]=17976931348623157e292,B[A>>3]=-17976931348623157e292,re=A+16|0,B[re>>3]=-17976931348623157e292,(q|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=+B[u+(Ae<<4)>>3],_=+B[u+(Ae<<4)+8>>3],ke=i+2|0,d=+B[u+(((ke|0)==(q|0)?0:ke)<<4)+8>>3],l<p&&(B[G>>3]=l,p=l),_<y&&(B[J>>3]=_,y=_),l>O?B[A>>3]=l:l=O,_>f&&(B[re>>3]=_,f=_),R=_>0&_<R?_:R,I=_<0&_>I?_:I,o=o|+Xe(+(_-d))>3.141592653589793,i=Ae+1|0,(i|0)!=(q|0);)ke=Ae,O=l,Ae=i,i=ke;o&&(B[re>>3]=I,B[J>>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(ke=t+8|0,i=r[ke>>2]|0,!((i|0)<=0)){he=t+12|0,F=0;do if(u=r[he>>2]|0,o=F,F=F+1|0,J=A+(F<<5)|0,re=r[u+(o<<3)>>2]|0,re){if(Ae=A+(F<<5)+8|0,B[Ae>>3]=17976931348623157e292,t=A+(F<<5)+24|0,B[t>>3]=17976931348623157e292,B[J>>3]=-17976931348623157e292,ee=A+(F<<5)+16|0,B[ee>>3]=-17976931348623157e292,(re|0)>0){for(q=r[u+(o<<3)+4>>2]|0,R=17976931348623157e292,I=-17976931348623157e292,u=0,o=-1,G=0,p=17976931348623157e292,y=17976931348623157e292,_=-17976931348623157e292,f=-17976931348623157e292;l=+B[q+(G<<4)>>3],O=+B[q+(G<<4)+8>>3],o=o+2|0,d=+B[q+(((o|0)==(re|0)?0:o)<<4)+8>>3],l<p&&(B[Ae>>3]=l,p=l),O<y&&(B[t>>3]=O,y=O),l>_?B[J>>3]=l:l=_,O>f&&(B[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=G+1|0,(o|0)!=(re|0);)_e=G,G=o,_=l,o=_e;u&&(B[ee>>3]=I,B[t>>3]=R)}}else r[J>>2]=0,r[J+4>>2]=0,r[J+8>>2]=0,r[J+12>>2]=0,r[J+16>>2]=0,r[J+20>>2]=0,r[J+24>>2]=0,r[J+28>>2]=0,i=r[ke>>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 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;if(y=S,S=S+16|0,d=y,f=i+8|0,!(cn(t,A,f)|0))return p=0,S=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 S=y,u|0}while(!1);if(fi(t,A,i,o)|0)return _=0,S=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,fi((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,S=y,_|0}function fi(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,q=0,G=0,J=0,re=0,Ae=0,ee=0,F=0,he=0,ke=0,_e=0,Re=0;if(ke=S,S=S+176|0,Ae=ke+172|0,u=ke+168|0,ee=ke,!(Po(A,o)|0))return t=0,S=ke,t|0;if(Ph(A,o,Ae,u),Or(ee|0,i|0,168)|0,(r[i>>2]|0)>0){A=0;do _e=ee+8+(A<<4)+8|0,re=+JA(+B[_e>>3],r[u>>2]|0),B[_e>>3]=re,A=A+1|0;while((A|0)<(r[i>>2]|0))}G=+B[o>>3],J=+B[o+8>>3],re=+JA(+B[o+16>>3],r[u>>2]|0),I=+JA(+B[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=+B[A+(i<<4)>>3],q=+JA(+B[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=+B[A+(_e<<4)>>3],f=+JA(+B[A+(_e<<4)+8>>3],r[Ae>>2]|0),!(R>=G)|!(l>=G)&&!(R<=J)|!(l<=J)&&!(q<=I)|!(f<=I)&&!(q>=re)|!(f>=re)){O=l-R,y=f-q,A=0;do if(Re=A,A=A+1|0,_e=(A|0)==(u|0)?0:A,l=+B[ee+8+(Re<<4)+8>>3],f=+B[ee+8+(_e<<4)+8>>3]-l,d=+B[ee+8+(Re<<4)>>3],p=+B[ee+8+(_e<<4)>>3]-d,_=O*f-y*p,_!=0&&(F=q-l,he=R-d,p=(F*p-f*he)/_,!(p<0|p>1))&&(_=(O*F-y*he)/_,_>=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,S=ke,Re|0}function bu(t,A,i,o){t=t|0,A=A|0,i=i|0,o=o|0;var u=0,l=0,f=0;if(fi(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,fi((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 Mp(){return 8}function Np(){return 16}function Rp(){return 168}function Ip(){return 8}function qp(){return 16}function Qp(){return 12}function Hp(){return 8}function Lp(t){return t=t|0,+(+((r[t>>2]|0)>>>0)+4294967296*+(r[t+4>>2]|0))}function Up(t){t=t|0;var A=0,i=0;return i=+B[t>>3],A=+B[t+8>>3],+ +pA(+(i*i+A*A))}function _u(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=+B[t>>3],p=+B[A>>3]-y,d=+B[t+8>>3],f=+B[A+8>>3]-d,O=+B[i>>3],l=+B[o>>3]-O,R=+B[i+8>>3],_=+B[o+8>>3]-R,l=(l*(d-R)-(y-O)*_)/(p*_-f*l),B[u>>3]=y+p*l,B[u+8>>3]=d+f*l}function Eu(t,A){return t=t|0,A=A|0,+Xe(+(+B[t>>3]-+B[A>>3]))<11920928955078125e-23?(A=+Xe(+(+B[t+8>>3]-+B[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=+B[t>>3]-+B[A>>3],o=+B[t+8>>3]-+B[A+8>>3],i=+B[t+16>>3]-+B[A+16>>3],+(u*u+o*o+i*i)}function Gp(t,A){t=t|0,A=A|0;var i=0,o=0,u=0;i=+B[t>>3],o=+We(+i),i=+AA(+i),B[A+16>>3]=i,i=+B[t+8>>3],u=o*+We(+i),B[A>>3]=u,i=o*+AA(+i),B[A+8>>3]=i}function Fp(t,A,i){t=t|0,A=A|0,i=i|0;var o=0,u=0,l=0;if(l=S,S=S+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,S=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,S=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(_=S,S=S+32|0,d=_+16|0,p=_,o=Sr(t,A,d)|0,o|0)return i=o,S=_,i|0;l=au(t,A)|0,y=GA(t,A)|0,Eh(l,p),o=kh(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=$o(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,S=_,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,q=0,G=0,J=0,re=0,Ae=0,ee=0;if(ee=S,S=S+32|0,Ae=ee+24|0,J=ee+20|0,q=ee+8|0,I=ee+16|0,R=ee,p=(aA(t,A)|0)==0,p=p?6:5,_=ue(t|0,A|0,52)|0,j()|0,_=_&15,p>>>0<=i>>>0)return o=2,S=ee,o|0;O=(_|0)==0,!O&&(G=ce(7,0,(_^15)*3|0)|0,(G&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,G=r[u>>2]|0,(G|0)==7))return o=1,S=ee,o|0;r[J>>2]=0,u=_A(t,A,G,J,q)|0;do if(!u){if(d=q,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,(_^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=ko(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=q,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=ko(y,d,t,A)|0:t=r[26800+((((r[J>>2]|0)+(r[26768+(G<<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,S=ee,o|0}while(!1);return re=ce(u|0,0,56)|0,Ae=j()|0|A&-2130706433|536870912,r[o>>2]=re|t,r[o+4>>2]=Ae,o=0,S=ee,o|0}function Vp(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 zp(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=S,S=S+192|0,u=p,l=p+168|0,f=ue(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,S=p,d|0):(A=ue(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,S=p,d|0)}function ku(t,A){t=t|0,A=A|0;var i=0,o=0,u=0,l=0;return u=S,S=S+16|0,i=u,!(!0&(A&2013265920|0)==536870912)||(o=A&-2130706433|134217728,!(jo(t,o)|0))?(o=0,S=u,o|0):(l=ue(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,S=u,o|0)}function $u(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 xu(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))*(+B[d>>3]+ +B[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]}Se(d),r[f>>2]=(r[f>>2]|0)+-1}while(!1)}Se(r[t>>2]|0)}function Bu(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 Su(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))*(+B[A>>3]+ +B[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 Se(A),l=t+8|0,r[l>>2]=(r[l>>2]|0)+-1,l=0,l|0}function Kp(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))*(+B[A>>3]+ +B[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(;!(Dr(o,A)|0&&Dr(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 Se(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 Yp(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))*(+B[A>>3]+ +B[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(Dr(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(Dr(t,A)|0&&Dr(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 Wp(t,A){t=t|0,A=A|0;var i=0;if(i=~~(+Xe(+(+bA(10,+ +(15-(r[t+12>>2]|0)|0))*(+B[A>>3]+ +B[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(Dr(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 Jp(){return 27920}function qt(t){return t=+t,~~+Tu(+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,q=0,G=0,J=0,re=0,Ae=0,ee=0,F=0,he=0;he=S,S=S+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),F=A<<3,r[o+4>>2]=F|3,F=o+F+4|0,r[F>>2]=r[F>>2]|1,F=u,S=he,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,S=he,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,S=he,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,G=t<<O,d=(G+520192|0)>>>16&4,G=G<<d,p=(G+245760|0)>>>16&2,p=14-(d|O|p)+(G<<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,G=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,G=65;break e}if(G=r[i+20>>2]|0,i=r[i+16+(d>>>31<<2)>>2]|0,l=(G|0)==0|(G|0)==(i|0)?l:G,i)d=d<<1;else{i=l,G=61;break}}while(!1);if((G|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?G=65:(d=t,f=u)}if((G|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,S=he,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,S=he,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,S=he,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,S=he,F|0;e:do if(r[7092]&4)A=0,G=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{G=128;break A}if(A=l-f&u,A>>>0<2147483647)if(t=Lt(A|0)|0,(t|0)==((r[o>>2]|0)+(r[o+4>>2]|0)|0)){if((t|0)!=-1){f=A,l=t,G=145;break e}}else o=t,G=136;else A=0}else G=128;while(!1);do if((G|0)==128)if(i=Lt(0)|0,(i|0)!=-1&&(A=i,I=r[7100]|0,q=I+-1|0,A=((q&A|0)==0?0:(q+A&0-I)-A|0)+y|0,I=r[7089]|0,q=A+I|0,A>>>0>O>>>0&A>>>0<2147483647)){if(R=r[7091]|0,R|0&&q>>>0<=I>>>0|q>>>0>R>>>0){A=0;break}if(t=Lt(A|0)|0,(t|0)==(i|0)){f=A,l=i,G=145;break e}else o=t,G=136}else A=0;while(!1);do if((G|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,G=145;break e}if(t=r[7101]|0,t=p-A+t&0-t,t>>>0>=2147483647){f=A,l=o,G=145;break e}if((Lt(t|0)|0)==-1){Lt(i|0)|0,A=0;break}else{f=t+A|0,l=o,G=145;break e}}while(!1);r[7092]=r[7092]|4,G=143}while(!1);if((G|0)==143&&y>>>0<2147483647&&(Ae=Lt(y|0)|0,q=Lt(0)|0,J=q-Ae|0,re=J>>>0>(O+40|0)>>>0,!((Ae|0)==-1|re^1|Ae>>>0<q>>>0&((Ae|0)!=-1&(q|0)!=-1)^1))&&(f=re?J:A,l=Ae,G=145),(G|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)){G=154;break}if(o=r[A+8>>2]|0,o)A=o;else break}if((G|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)){G=162;break}if(t=r[A+8>>2]|0,t)A=t;else break}if((G|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,S=he,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,S=he,F|0}return F=Jp()|0,r[F>>2]=12,F=0,S=he,F|0}function Se(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 Pu(t){return t=t|0,(t?31-(xt(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,q=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=(xt(d|0)|0)-(xt(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=(xt(f|0)|0)+33-(xt(y|0)|0)|0,q=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=_<<q&p,d=(y<<q|_>>>(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,q=t|0|0,Ie(I|0),q|0):(q=Pu(f|0)|0,I=y>>>(q>>>0)|0,q=y<<32-q|_>>>(q>>>0)|0,Ie(I|0),q|0)}else{if(l)return u|0&&(r[u>>2]=(y>>>0)%(f>>>0),r[u+4>>2]=0),I=0,q=(y>>>0)/(f>>>0)>>>0,Ie(I|0),q|0;if(!_)return u|0&&(r[u>>2]=0,r[u+4>>2]=(y>>>0)%(d>>>0)),I=0,q=(y>>>0)/(d>>>0)>>>0,Ie(I|0),q|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,q=y>>>((Pu(d|0)|0)>>>0),Ie(I|0),q|0;if(l=(xt(d|0)|0)-(xt(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,q=0,Ie(I|0),q|0):(I=0,q=0,Ie(I|0),q|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,q=j()|0,I=q>>31|((q|0)<0?-1:0)<<1,d=I&1,t=EA(o|0,R|0,I&O|0,(((q|0)<0?-1:0)>>31|((q|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,q=(l<<1|0)&-2|d,Ie(I|0),q|0}function Qt(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 Zp(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 kA(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=Zp(u,l)|0,t=j()|0,Ie((gt(A,l)|0)+(gt(o,u)|0)+t|t&0|0),i|0|0|0}function Cr(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=S,S=S+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,S=u,Ie(i|0),o|0}function Tr(t,A,i,o){t=t|0,A=A|0,i=i|0,o=o|0;var u=0,l=0;return l=S,S=S+16|0,u=l|0,Ko(t,A,i,o,u)|0,S=l,Ie(r[u+4>>2]|0),r[u>>2]|0|0}function Du(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 ue(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=xt(A)|0,(A|0)==32&&(A=A+(xt(t)|0)|0),Ie(0),A|0}function Cu(t,A){return t=+t,A=+A,t!=t?+A:A!=A?+t:+ih(+t,+A)}function ci(t,A){return t=+t,A=+A,t!=t?+A:A!=A?+t:+Eo(+t,+A)}function di(t){return t=+t,t>=0?+vA(t+.5):+xr(t-.5)}function Or(t,A,i){t=t|0,A=A|0,i=i|0;var o=0,u=0,l=0;if((i|0)>=8192)return sh(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;ae[t>>0]=ae[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);)ae[t>>0]=ae[A>>0]|0,ae[t+1>>0]=ae[A+1>>0]|0,ae[t+2>>0]=ae[A+2>>0]|0,ae[t+3>>0]=ae[A+3>>0]|0,t=t+4|0,A=A+4|0;for(;(t|0)<(u|0);)ae[t>>0]=ae[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;)ae[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);)ae[t>>0]=A,t=t+1|0;return l-i|0}function Tu(t){return t=+t,t>=0?+vA(t+.5):+xr(t-.5)}function Lt(t){t=t|0;var A=0,i=0,o=0;return o=oh()|0,i=r[UA>>2]|0,A=i+t|0,(t|0)>0&(A|0)<(i|0)|(A|0)<0?(uh(A|0)|0,Qa(12),-1):(A|0)>(o|0)&&!(ah(A|0)|0)?(Qa(12),-1):(r[UA>>2]=A,i|0)}return{___divdi3:Qt,___muldi3:kA,___remdi3:Cr,___uremdi3:Tr,_areNeighborCells:Qh,_bitshift64Ashr:Du,_bitshift64Lshr:ue,_bitshift64Shl:ce,_calloc:FA,_cellAreaKm2:wp,_cellAreaM2:vp,_cellAreaRads2:Go,_cellToBoundary:Pr,_cellToCenterChild:lu,_cellToChildPos:lp,_cellToChildren:Ap,_cellToChildrenSize:un,_cellToLatLng:ar,_cellToLocalIj:Bp,_cellToParent:No,_cellToVertex:At,_cellToVertexes:Vp,_cellsToDirectedEdge:Hh,_cellsToLinkedMultiPolygon:bh,_childPosToCell:fp,_compactCells:tp,_constructCell:Xh,_destroyLinkedMultiPolygon:pu,_directedEdgeToBoundary:ai,_directedEdgeToCells:Gh,_edgeLengthKm:_p,_edgeLengthM:Ep,_edgeLengthRads:bp,_emscripten_replace_memory:lh,_free:Se,_getBaseCellNumber:au,_getDirectedEdgeDestination:Uh,_getDirectedEdgeOrigin:Lh,_getHexagonAreaAvgKm2:du,_getHexagonAreaAvgM2:gp,_getHexagonEdgeLengthAvgKm:mp,_getHexagonEdgeLengthAvgM:yp,_getIcosahedronFaces:fu,_getIndexDigit:Zh,_getNumCells:ui,_getPentagons:Ho,_getRes0Cells:xh,_getResolution:Jh,_greatCircleDistanceKm:fn,_greatCircleDistanceM:dp,_greatCircleDistanceRads:cp,_gridDisk:Ha,_gridDiskDistances:La,_gridDistance:Pp,_gridPathCells:Cp,_gridPathCellsSize:Dp,_gridRing:gh,_gridRingUnsafe:Ga,_i64Add:xe,_i64Subtract:EA,_isPentagon:aA,_isResClassIII:ip,_isValidCell:jo,_isValidDirectedEdge:iu,_isValidIndex:ep,_isValidVertex:ku,_latLngToCell:qo,_llvm_ctlz_i64:Yo,_llvm_maxnum_f64:Cu,_llvm_minnum_f64:ci,_llvm_round_f64:di,_localIjToCell:Sp,_malloc:yt,_maxFaceCount:ap,_maxGridDiskSize:ph,_maxPolygonToCellsSize:yh,_maxPolygonToCellsSizeExperimental:jp,_memcpy:Or,_memset:Ht,_originToDirectedEdges:Fh,_pentagonCount:up,_polygonToCells:wh,_polygonToCellsExperimental:Op,_readInt64AsDoubleFromPointer:Lp,_res0CellCount:$h,_round:Tu,_sbrk:Lt,_sizeOfCellBoundary:Rp,_sizeOfCoordIJ:Hp,_sizeOfGeoLoop:Ip,_sizeOfGeoPolygon:qp,_sizeOfH3Index:Mp,_sizeOfLatLng:Np,_sizeOfLinkedGeoPolygon:Qp,_uncompactCells:rp,_uncompactCellsSize:np,_vertexToLatLng:zp,establishStackSpace:hh,stackAlloc:fh,stackRestore:dh,stackSave:ch}})(Z2,X2,P),d8=e.___divdi3=fe.___divdi3,h8=e.___muldi3=fe.___muldi3,p8=e.___remdi3=fe.___remdi3,g8=e.___uremdi3=fe.___uremdi3,m8=e._areNeighborCells=fe._areNeighborCells,y8=e._bitshift64Ashr=fe._bitshift64Ashr,w8=e._bitshift64Lshr=fe._bitshift64Lshr,v8=e._bitshift64Shl=fe._bitshift64Shl,b8=e._calloc=fe._calloc,_8=e._cellAreaKm2=fe._cellAreaKm2,E8=e._cellAreaM2=fe._cellAreaM2,k8=e._cellAreaRads2=fe._cellAreaRads2,$8=e._cellToBoundary=fe._cellToBoundary,x8=e._cellToCenterChild=fe._cellToCenterChild,B8=e._cellToChildPos=fe._cellToChildPos,S8=e._cellToChildren=fe._cellToChildren,P8=e._cellToChildrenSize=fe._cellToChildrenSize,D8=e._cellToLatLng=fe._cellToLatLng,C8=e._cellToLocalIj=fe._cellToLocalIj,T8=e._cellToParent=fe._cellToParent,O8=e._cellToVertex=fe._cellToVertex,j8=e._cellToVertexes=fe._cellToVertexes,M8=e._cellsToDirectedEdge=fe._cellsToDirectedEdge,N8=e._cellsToLinkedMultiPolygon=fe._cellsToLinkedMultiPolygon,R8=e._childPosToCell=fe._childPosToCell,I8=e._compactCells=fe._compactCells,q8=e._constructCell=fe._constructCell,Q8=e._destroyLinkedMultiPolygon=fe._destroyLinkedMultiPolygon,H8=e._directedEdgeToBoundary=fe._directedEdgeToBoundary,L8=e._directedEdgeToCells=fe._directedEdgeToCells,U8=e._edgeLengthKm=fe._edgeLengthKm,G8=e._edgeLengthM=fe._edgeLengthM,F8=e._edgeLengthRads=fe._edgeLengthRads,eh=e._emscripten_replace_memory=fe._emscripten_replace_memory,V8=e._free=fe._free,z8=e._getBaseCellNumber=fe._getBaseCellNumber,K8=e._getDirectedEdgeDestination=fe._getDirectedEdgeDestination,Y8=e._getDirectedEdgeOrigin=fe._getDirectedEdgeOrigin,W8=e._getHexagonAreaAvgKm2=fe._getHexagonAreaAvgKm2,J8=e._getHexagonAreaAvgM2=fe._getHexagonAreaAvgM2,Z8=e._getHexagonEdgeLengthAvgKm=fe._getHexagonEdgeLengthAvgKm,X8=e._getHexagonEdgeLengthAvgM=fe._getHexagonEdgeLengthAvgM,e3=e._getIcosahedronFaces=fe._getIcosahedronFaces,A3=e._getIndexDigit=fe._getIndexDigit,t3=e._getNumCells=fe._getNumCells,r3=e._getPentagons=fe._getPentagons,n3=e._getRes0Cells=fe._getRes0Cells,i3=e._getResolution=fe._getResolution,o3=e._greatCircleDistanceKm=fe._greatCircleDistanceKm,s3=e._greatCircleDistanceM=fe._greatCircleDistanceM,a3=e._greatCircleDistanceRads=fe._greatCircleDistanceRads,u3=e._gridDisk=fe._gridDisk,l3=e._gridDiskDistances=fe._gridDiskDistances,f3=e._gridDistance=fe._gridDistance,c3=e._gridPathCells=fe._gridPathCells,d3=e._gridPathCellsSize=fe._gridPathCellsSize,h3=e._gridRing=fe._gridRing,p3=e._gridRingUnsafe=fe._gridRingUnsafe,g3=e._i64Add=fe._i64Add,m3=e._i64Subtract=fe._i64Subtract,y3=e._isPentagon=fe._isPentagon,w3=e._isResClassIII=fe._isResClassIII,v3=e._isValidCell=fe._isValidCell,b3=e._isValidDirectedEdge=fe._isValidDirectedEdge,_3=e._isValidIndex=fe._isValidIndex,E3=e._isValidVertex=fe._isValidVertex,k3=e._latLngToCell=fe._latLngToCell,$3=e._llvm_ctlz_i64=fe._llvm_ctlz_i64,x3=e._llvm_maxnum_f64=fe._llvm_maxnum_f64,B3=e._llvm_minnum_f64=fe._llvm_minnum_f64,S3=e._llvm_round_f64=fe._llvm_round_f64,P3=e._localIjToCell=fe._localIjToCell,D3=e._malloc=fe._malloc,C3=e._maxFaceCount=fe._maxFaceCount,T3=e._maxGridDiskSize=fe._maxGridDiskSize,O3=e._maxPolygonToCellsSize=fe._maxPolygonToCellsSize,j3=e._maxPolygonToCellsSizeExperimental=fe._maxPolygonToCellsSizeExperimental,M3=e._memcpy=fe._memcpy,N3=e._memset=fe._memset,R3=e._originToDirectedEdges=fe._originToDirectedEdges,I3=e._pentagonCount=fe._pentagonCount,q3=e._polygonToCells=fe._polygonToCells,Q3=e._polygonToCellsExperimental=fe._polygonToCellsExperimental,H3=e._readInt64AsDoubleFromPointer=fe._readInt64AsDoubleFromPointer,L3=e._res0CellCount=fe._res0CellCount,U3=e._round=fe._round,G3=e._sbrk=fe._sbrk,F3=e._sizeOfCellBoundary=fe._sizeOfCellBoundary,V3=e._sizeOfCoordIJ=fe._sizeOfCoordIJ,z3=e._sizeOfGeoLoop=fe._sizeOfGeoLoop,K3=e._sizeOfGeoPolygon=fe._sizeOfGeoPolygon,Y3=e._sizeOfH3Index=fe._sizeOfH3Index,W3=e._sizeOfLatLng=fe._sizeOfLatLng,J3=e._sizeOfLinkedGeoPolygon=fe._sizeOfLinkedGeoPolygon,Z3=e._uncompactCells=fe._uncompactCells,X3=e._uncompactCellsSize=fe._uncompactCellsSize,e_=e._vertexToLatLng=fe._vertexToLatLng,A_=e.establishStackSpace=fe.establishStackSpace,Na=e.stackAlloc=fe.stackAlloc,Ah=e.stackRestore=fe.stackRestore,th=e.stackSave=fe.stackSave;if(e.asm=fe,e.cwrap=V,e.setValue=D,e.getValue=x,$t){Ca($t)||($t=g($t));{Q2("memory initializer");var vo=function(te){te.byteLength&&(te=new Uint8Array(te)),H.set(te,$),e.memoryInitializerRequest&&delete e.memoryInitializerRequest.response,H2("memory initializer")},Ra=function(){m($t,vo,function(){throw"could not load memory initializer "+$t})},Ia=wo($t);if(Ia)vo(Ia.buffer);else if(e.memoryInitializerRequest){var qa=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),Ra();return}}vo(oe)};e.memoryInitializerRequest.response?setTimeout(qa,0):e.memoryInitializerRequest.addEventListener("load",qa)}else Ra()}}var ni;on=function te(){ni||bo(),ni||(on=te)};function bo(te){if(te=te||c,tr>0||(RA(),tr>0))return;function oe(){ni||(ni=!0,!N&&(WA(),ri(),e.onRuntimeInitialized&&e.onRuntimeInitialized(),O2()))}e.setStatus?(e.setStatus("Running..."),setTimeout(function(){setTimeout(function(){e.setStatus("")},1),oe()},1)):oe()}e.run=bo;function rr(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=rr,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,jr=Ce,je=Ce,Me=Ce,$A=Ce,be=Ce,i1=[["sizeOfH3Index",Ce],["sizeOfLatLng",Ce],["sizeOfCellBoundary",Ce],["sizeOfGeoLoop",Ce],["sizeOfGeoPolygon",Ce],["sizeOfLinkedGeoPolygon",Ce],["sizeOfCoordIJ",Ce],["readInt64AsDoubleFromPointer",Ce],["isValidCell",jr,[je,Me]],["isValidIndex",jr,[je,Me]],["latLngToCell",De,[Ce,Ce,$A,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,$A,Ce,be]],["polygonToCells",De,[be,$A,Ce,be]],["maxPolygonToCellsSizeExperimental",De,[be,$A,Ce,be]],["polygonToCellsExperimental",De,[be,$A,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,$A]],["uncompactCellsSize",De,[be,Ce,Ce,$A,be]],["isPentagon",jr,[je,Me]],["isResClassIII",jr,[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,$A,be]],["cellToChildren",De,[je,Me,$A,be]],["cellToCenterChild",De,[je,Me,$A,be]],["cellToChildrenSize",De,[je,Me,$A,be]],["cellToChildPos",De,[je,Me,$A,be]],["childPosToCell",De,[Ce,Ce,je,Me,$A,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",jr,[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,[$A,be]],["getHexagonAreaAvgKm2",De,[$A,be]],["getHexagonEdgeLengthAvgM",De,[$A,be]],["getHexagonEdgeLengthAvgKm",De,[$A,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,[$A,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",jr,[je,Me]]],o1=0,s1=1,a1=2,u1=3,l1=4,qu=5,f1=6,c1=7,d1=8,h1=9,p1=10,g1=11,m1=12,y1=13,w1=14,v1=15,b1=16,_1=17,E1=18,k1=19,gA={};gA[o1]="Success";gA[s1]="The operation failed but a more specific error is not available";gA[a1]="Argument was outside of acceptable range";gA[u1]="Latitude or longitude arguments were outside of acceptable range";gA[l1]="Resolution argument was outside of acceptable range";gA[qu]="Cell argument was not valid";gA[f1]="Directed edge argument was not valid";gA[c1]="Undirected edge argument was not valid";gA[d1]="Vertex argument was not valid";gA[h1]="Pentagon distortion was encountered";gA[p1]="Duplicate input";gA[g1]="Cell arguments were not neighbors";gA[m1]="Cell arguments had incompatible resolutions";gA[y1]="Memory allocation failed";gA[w1]="Bounds of provided memory were insufficient";gA[v1]="Mode or flags argument was not valid";gA[b1]="Index argument was not valid";gA[_1]="Base cell number was outside of acceptable range";gA[E1]="Child indexing digits invalid";gA[k1]="Child indexing digits refer to a deleted subsequence";var $1=1e3,Qu=1001,Hu=1002,pi={};pi[$1]="Unknown unit";pi[Qu]="Array length out of bounds";pi[Hu]="Got unexpected null value for H3 index";var x1="Unknown error";function Lu(n,e,s){var a=s&&"value"in s,c=new Error((n[e]||x1)+" (code: "+e+(a?", value: "+s.value:"")+")");return c.code=e,c}function Uu(n,e){var s=arguments.length===2?{value:e}:{};return Lu(gA,n,s)}function Gu(n,e){var s=arguments.length===2?{value:e}:{};return Lu(pi,n,s)}function gi(n){if(n!==0)throw Uu(n)}var CA={};i1.forEach(function(e){CA[e[0]]=xA.cwrap.apply(xA,e)});var Mr=16;var B1=4;var S1=8,P1=8,pn=CA.sizeOfH3Index(),D1=CA.sizeOfLatLng(),r_=CA.sizeOfCellBoundary(),n_=CA.sizeOfGeoPolygon(),i_=CA.sizeOfGeoLoop(),o_=CA.sizeOfLinkedGeoPolygon(),s_=CA.sizeOfCoordIJ();function Fu(n){if(!n)throw Gu(Hu);return n}var C1=Math.pow(2,32)-1;function T1(n){if(n>C1)throw Gu(Qu,n);return n}var O1=/[^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"||O1.test(n))return[0,0];var e=parseInt(n.substring(0,n.length-8),Mr),s=parseInt(n.substring(n.length-8),Mr);return[s,e]}function Iu(n){if(n>=0)return n.toString(Mr);n=n&2147483647;var e=Vu(8,n.toString(Mr)),s=(parseInt(e[0],Mr)+8).toString(Mr);return e=s+e.substring(1),e}function j1(n,e){return Iu(e)+Vu(8,Iu(n))}function Vu(n,e){for(var s=n-e.length,a="",c=0;c<s;c++)a+="0";return a=a+e,a}var a_=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+B1,"i32");return a?j1(s,a):null}function M1(n){return CA.readInt64AsDoubleFromPointer(n)}function N1(n,e){for(var s=[],a=0;a<e;a++){var c=Wo(n,a);c!==null&&s.push(c)}return s}function zu(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(D1);xA.HEAPF64.set([n,e].map(I1),a/S1);var c=xA._malloc(pn);try{return gi(CA.latLngToCell(a,s,c)),Fu(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 gi(CA.cellToParent(a,c,e,h)),Fu(Wo(h))}finally{xA._free(h)}}function Ku(n,e){if(!zu(n))return[];var s=gn(n),a=s[0],c=s[1],h=T1(R1(n,e)),g=xA._calloc(h,pn);try{return gi(CA.cellToChildren(a,c,e,g)),N1(g,h)}finally{xA._free(g)}}function R1(n,e){if(!zu(n))throw Uu(qu);var s=gn(n),a=s[0],c=s[1],h=xA._malloc(P1);try{return gi(CA.cellToChildrenSize(a,c,e,h)),M1(h)}finally{xA._free(h)}}function I1(n){return n*Math.PI/180}var C2=Ru(Ju(),1),T2=Ru(zc(),1);function Kc(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 Yc(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});return b&&!b._invalidHologram?Kn(b,e.soul):(console.warn(`!!! Original data NOT FOUND for soul: ${e.soul}. Removing broken hologram.`),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 Xs(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 D=k.length>0,x=$.length>0;D&&!w.inbound.includes(E)?w.inbound.push(E):D||(w.inbound=w.inbound.filter(N=>N!==E)),x&&!w.outbound.includes(E)?w.outbound.push(E):x||(w.outbound=w.outbound.filter(N=>N!==E)),w.lensConfig[E]={inbound:[...k],outbound:[...$],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 Wc(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={};if(m.inbound&&m.inbound.length>0)for(let w of m.inbound)for(let E of h)try{let k=await n.subscribe(w,E,async $=>{try{if(!$||!$.id)return;let D=Date.now(),x=`${w}_${E}_${$.id}`;if(g>0){if(b[x]&&D-b[x]<g)return;b[x]=D}$.federation||($.federation={origin:w,timestamp:D}),await a($,w,E)}catch{}});k&&typeof k.unsubscribe=="function"&&v.push(k)}catch{}return{unsubscribe:()=>{v.forEach(w=>{try{w&&typeof w.unsubscribe=="function"&&w.unsubscribe()}catch{}}),v.length=0,b={}},getSubscriptionCount:()=>v.length}}async function Jt(n,e,s=null){if(!e)throw new Error("getFederation: Missing space ID");return await n.getGlobal("federation",e,s)}async function Jc(n,e,s,a=null){if(!n||!e||!s)throw new Error("getFederatedConfig: Missing required parameters");try{let c=await Jt(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 ea(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 Zc(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 Xc(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:k=!0,resolveReferences:$=!0,maxFederatedSpaces:D=-1,timeout:x=1e4}=a;if(console.log(`resolveReferences option: ${$}`),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 M=await Jt(n,e),Q=new Map,L=new Set,V=[],K=[];if(E&&K.push(e),k&&M&&M.inbound&&M.inbound.length>0){let se=D===-1?M.inbound:M.inbound.slice(0,D);K=K.concat(se)}for(let se of K)if(c&&Array.isArray(c)){console.log(`Fetching specific IDs from ${se}: ${c.join(", ")}`);for(let U of c)Q.has(U)||V.push(n.get(se,s,U).then(z=>{z&&Q.set(U,z)}).catch(z=>console.warn(`Error fetching item ${U} from ${se}: ${z.message}`)))}else se===e&&E&&console.warn(`getFederated: No queryIds provided. Falling back to fetching ALL items from ${se} using getAll. This can be inefficient.`),console.log(`Fetching ALL items from ${se}`),V.push(n.getAll(se,s).then(U=>{for(let z of U)z&&z[g]&&!Q.has(z[g])&&Q.set(z[g],z)}).catch(U=>console.warn(`Error fetching all items from ${se}: ${U.message}`)));await Promise.all(V);let W=Array.from(Q.values());if($&&W.length>0){console.log(`Resolving references for ${W.length} fetched items`);for(let se=0;se<W.length;se++){let U=W[se];if(U.soul&&U.id){console.log(`Found simple reference with soul: ${U.soul}`);try{let z=U.soul.split("/");if(z.length>=4){let we=z[1],pe=z[2],C=z[3];console.log(`Extracting from soul - holon: ${we}, lens: ${pe}, key: ${C}`);let P=await n.get(we,pe,C,null,{resolveReferences:!0});console.log("Original data found via soul path:",JSON.stringify(P)),P?W[se]=Kn(P,U.soul):W[se]={id:U.id,_hologram:{isHologram:!1,soul:U.soul,error:"Referenced data not found",resolvedAt:Date.now()}}}else console.warn(`Soul doesn't match expected format: ${U.soul}`),W[se]={id:U.id,_hologram:{isHologram:!1,soul:U.soul,error:"Invalid soul format",resolvedAt:Date.now()}}}catch(z){W[se]={id:U.id,_hologram:{isHologram:!1,soul:U.soul,error:z.message||"Error resolving reference",resolvedAt:Date.now()}}}}}}if(h&&W.length>0){let se=W.reduce((z,we)=>{let pe=we[g];return z[pe]||(z[pe]=[]),z[pe].push(we),z},{});return Object.values(se).map(z=>{if(z.length===1)return z[0];if(w&&typeof w=="function")return w(z);let we={...z[0]};for(let pe of m)typeof we[pe]=="number"&&(we[pe]=z.reduce((C,P)=>C+(Number(P[pe])||0),0));for(let pe of v)if(Array.isArray(we[pe])){let C=z.reduce((P,T)=>Array.isArray(T[pe])?[...P,...T[pe]]:P,[]);we[pe]=b?Array.from(new Set(C)):C}return we._aggregated={count:z.length,timestamp:Date.now()},we})}return W}async function ed(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 Jt(n,e,m);if(E&&E.outbound&&E.outbound.length>0){let k=E.outbound;if(g&&Array.isArray(g)&&g.length>0&&(k=k.filter($=>g.includes($))),k.length>0)if(k=k.filter($=>{let D=E.lensConfig?.[$];if(!D)return w.messages.push(`No lens configuration for target space ${$}. Skipping propagation of lens '${s}'.`),w.skipped++,!1;let x=Array.isArray(D.outbound)?D.outbound:[],N=x.includes("*")||x.includes(s);return N||(w.messages.push(`Propagation of lens '${s}' to target space ${$} skipped: lens not in 'outbound' configuration.`),w.skipped++),N}),k.length>0){let $=n.isHologram(a),D=k.map(async x=>{try{let N,M={origin:e,sourceLens:s,propagatedAt:Date.now(),originalId:a.id};return h&&!$?N={...n.createHologram(e,s,a),_federation:M}:N={...a,_federation:{...a._federation||{},...M}},await n.put(x,s,N,null,{disableHologramRedirection:!0,autoPropagate:!1}),w.success++,!0}catch(N){return w.errors++,w.messages.push(`Error propagating ${a.id} to ${x}: ${N.message}`),!1}});await Promise.all(D)}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{k=wt(e),k>=0&&k<=15?$=!0:console.log(`[Federation] Holon ${e} has invalid resolution: ${k}`)}catch(D){console.log(`[Federation] Holon ${e} failed H3 validation: ${D.message}`)}if($||(w.parentPropagation.messages.push(`Holon ${e} is not a valid H3 hexagon. Skipping parent propagation.`),w.parentPropagation.skipped++),$&&k!==void 0){let D=[],x=e,N=k,M=0;for(;N>0&&M<b;)try{let Q=vt(x,N-1);D.push(Q),x=Q,N--,M++}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(D.length>0){w.parentPropagation.messages.push(`Found ${D.length} parent hexagons to propagate to: ${D.join(", ")}`);let Q=n.isHologram(a),L=D.map(async V=>{try{let K,W={origin:e,sourceLens:s,propagatedAt:Date.now(),originalId:a.id,propagationType:"parent",parentLevel:k-wt(V)};return h&&!Q?K={...n.createHologram(e,s,a),_federation:W}:K={...a,_federation:{...a._federation||{},...W}},await n.put(V,s,K,null,{disableHologramRedirection:!0,autoPropagate:!1}),console.log(`[Federation] Successfully propagated to parent hexagon: ${V}`),w.parentPropagation.success++,!0}catch(K){return console.error(`[Federation] Error propagating ${a.id} to parent hexagon ${V}: ${K.message}`),w.parentPropagation.errors++,w.parentPropagation.messages.push(`Error propagating ${a.id} to parent hexagon ${V}: ${K.message}`),!1}});await Promise.all(L)}else w.parentPropagation.messages.push(`No parent hexagons found for ${e} (already at resolution 0 or max levels reached)`),w.parentPropagation.skipped++}}catch(k){console.error(`[Federation] Error during parent propagation: ${k.message}`),w.parentPropagation.errors++,w.parentPropagation.messages.push(`Error during parent propagation: ${k.message}`)}return w.propagated=w.success>0||w.parentPropagation.success>0,w}catch(E){return{...w,error:E.message}}}async function Ad(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 Aa(n,e,s){let a=`${e}_${s}_fedmsgs`;return await n.getGlobal("federation_messages",a)}async function td(n,e,s,a){let c=await Aa(n,e,s);if(c?.messages)for(let h of c.messages)try{await a(h.chatId,h.messageId)}catch{}}async function rd(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 Jt(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 k=await Jt(n,E);if(!k)return!1;let $=e.toString();return k.federated&&(k.federated=k.federated.filter(D=>D!==$)),k.inbound&&(k.inbound=k.inbound.filter(D=>D!==$)),k.outbound&&(k.outbound=k.outbound.filter(D=>D!==$)),k.lensConfig&&delete k.lensConfig[$],k.partnerNames&&delete k.partnerNames[$],k.timestamp=Date.now(),await n.putGlobal("federation",k),g.partnersNotified++,!0}catch(k){return g.errors.push({partner:E,error:k.message}),!1}});await Promise.all(w)}for(let w of v)try{let E=`${e}_${w}`,k=`${w}_${e}`,$=await n.getGlobal("federationMeta",E)||await n.getGlobal("federationMeta",k);$&&($.status="inactive",$.endedAt=Date.now(),await n.putGlobal("federationMeta",$))}catch{}return g.success=!0,g}catch(m){return{...g,success:!1,error:m.message}}}async function nd(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 id(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 od(n,e=null){return e?n.schemaCache.delete(e):(n.schemaCache.clear(),!0)}async function sd(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 ta(n,m,v,b,c,{resolveHolograms:!1});if(!g&&E&&n.isHologram(E)){let k=n.parseSoulPath(E.soul);k?(k.appname!==n.appname&&console.warn(`Existing hologram at ${m}/${v}/${b} has appname (${k.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=k.holon,v=k.lens,b=k.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 k=JSON.parse(JSON.stringify(a));if(!n.validator.validate(E,k)){let D=`Schema validation failed: ${JSON.stringify(n.validator.errors)}`;throw new Error(D)}}try{let E=null;return c&&(E=n.gun.user(),await new Promise((k,$)=>{let D=n.userName(m);E.auth(D,c,x=>{x.err?(console.log(`Initial auth failed for ${D} during put, attempting to create...`),E.create(D,c,N=>{N.err?N.err.includes("already created")||N.err.includes("already being created")?(console.log(`User ${D} already existed or being created during put, re-attempting auth with fresh user object.`),n.gun.user().auth(D,c,Q=>{Q.err&&console.log(`Auth still failed after user existed check: ${Q.err}. Resolving anyway for test operations.`),k()})):(console.log(`Create user error (resolving anyway for operations): ${N.err}`),k()):(console.log(`User ${D} created successfully during put, attempting auth...`),E.auth(D,c,M=>{M.err?$(new Error(`Failed to auth after create for ${D} during put: ${M.err}`)):k()}))})):k()})})),new Promise((k,$)=>{try{let D={...a};D._meta!==void 0&&delete D._meta,D._hologram!==void 0&&delete D._hologram;let x=JSON.stringify(D),N=async Q=>{if(Q.err)$(new Error(Q.err));else{if(w)try{if(n.parseSoulPath(a.soul)){let se=n.getNodeRef(a.soul),U=`${n.appname}/${m}/${v}/${b}`;se.get("_holograms").get(U).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(W){console.warn(`Error updating _holograms set for the target of the data being put (data ID: ${a.id}, soul: ${a.soul}):`,W)}let L=[];if(!w&&!h.isHologramUpdate)try{let W=`${n.appname}/${m}/${v}/${b}`,se=n.getNodeRef(W);await new Promise(U=>{se.get("_holograms").once(async z=>{if(z){let we=Object.keys(z).filter(pe=>pe!=="_"&&z[pe]===!0);if(we.length>0){let pe=we.map(async C=>{try{let P=n.parseSoulPath(C);if(P){let T=await n.get(P.holon,P.lens,P.key,null,{resolveHolograms:!1});if(T){let H={...T,updated:Date.now()};await n.put(P.holon,P.lens,H,null,{autoPropagate:!1,disableHologramRedirection:!0,isHologramUpdate:!0}),L.push({soul:C,holon:P.holon,lens:P.lens,key:P.key,id:P.key,timestamp:H.updated})}}}catch(P){console.warn(`Error updating hologram ${C}:`,P)}});await Promise.all(pe)}}U()})})}catch(W){console.warn("Error checking for active holograms to update:",W)}w||n.notifySubscribers({holon:m,lens:v,...a});let V=h.autoPropagate!==!1&&!w,K=null;if(V)try{let W={useHolograms:!0,...h.propagationOptions};K=await n.propagate(m,v,a,W),K&&K.errors>0&&console.warn("Auto-propagation had errors:",K)}catch(W){console.warn("Error in auto-propagation:",W)}k({success:!0,isHologramAtPath:w,pathHolon:m,pathLens:v,pathKey:b,propagationResult:K,updatedHolograms:L})}};(c?E.get("private").get(v).get(b):n.gun.get(n.appname).get(m).get(v).get(b)).put(x,N)}catch(D){$(D)}})}catch(E){throw console.error("Error in put:",E),E}}async function ta(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}=h,b=null;if(n.strict&&(b=await n.getSchema(s),!b))throw new Error("Schema required in strict mode");try{let w=null;return c&&(w=n.gun.user(),await new Promise((E,k)=>{let $=n.userName(e);w.auth($,c,D=>{D.err?k(new Error(`Authentication failed for ${$} during get: ${D.err}`)):E()})})),new Promise(E=>{let k=async D=>{let x=null;if(!D){E(null);return}try{if(x=await n.parse(D),!x){E(null);return}if(g&&n.isHologram(x)){let N=await n.resolveHologram(x,{followHolograms:g,visited:v,maxDepth:h.maxDepth||10,currentDepth:h.currentDepth||0});if(N===null){console.warn(`Broken hologram detected at ${e}/${s}/${a}. Removing it...`);try{await n.delete(e,s,a,c),console.log(`Successfully removed broken hologram from ${e}/${s}/${a}`)}catch(M){console.error(`Failed to remove broken hologram at ${e}/${s}/${a}:`,M)}E(null);return}N!==x&&(x=N)}if(b&&!n.validator.validate(b,x)&&(console.error("get: Invalid data according to schema:",n.validator.errors),n.strict)){E(null);return}E(x)}catch(N){N.message?.startsWith("CIRCULAR_REFERENCE")?(console.warn(`Caught circular reference during get/handleData for key ${a}. Resolving null.`),E(null)):(console.error("Error processing data in get/handleData:",N),E(null))}};(c?w.get("private").get(s).get(a):n.gun.get(n.appname).get(e).get(s).get(a)).once(k)})}catch(w){return console.error("Error in get:",w),null}}async function ra(n,e,s,a=null){if(!e||!s)throw new Error("getAll: Missing required parameters");let c=await n.getSchema(s);if(!c&&n.strict)throw new Error("getAll: Schema required in strict mode");try{let h=null;return a&&(h=n.gun.user(),await new Promise((g,m)=>{let v=n.userName(e);h.auth(v,a,b=>{b.err?(console.log(`Initial auth failed for ${v} during getAll, attempting to create...`),h.create(v,a,w=>{w.err?w.err.includes("already created")||w.err.includes("already being created")?(console.log(`User ${v} already existed or being created during getAll, re-attempting auth with fresh user object.`),n.gun.user().auth(v,a,k=>{k.err&&console.log(`Auth still failed after user existed check: ${k.err}. Resolving anyway for test operations.`),g()})):(console.log(`Create user error (resolving anyway for operations): ${w.err}`),g()):(console.log(`User ${v} created successfully during getAll, attempting auth...`),h.auth(v,a,E=>{E.err?m(new Error(`Failed to auth after create for ${v} during getAll: ${E.err}`)):g()}))})):g()})})),new Promise(g=>{let m=new Map,v=[],b=a?h.get("private").get(s):n.gun.get(n.appname).get(e).get(s),w=()=>new Promise(k=>b.once($=>k($))),E=k=>{if(!k){g([]);return}let $=Object.keys(k).filter(N=>{if(N==="_")return!1;let M=k[N];return!(M===null||typeof M=="object"&&M["#"])});if($.length===0){g([]);return}let x=async(N,M)=>{if(N)try{let Q=await n.parse(N);if(!Q||!Q.id)return;if(n.isHologram(Q))try{let L=await n.resolveHologram(Q,{followHolograms:!0,maxDepth:10,currentDepth:0});if(L===null){console.warn(`Broken hologram detected in getAll for key ${M}. Removing it...`);try{await n.delete(e,s,M,a)}catch(V){console.error(`Failed to remove broken hologram at ${e}/${s}/${M}:`,V)}return}if(L&&L!==Q){c?(n.validator.validate(c,L)||!n.strict)&&m.set(L.id,L):m.set(L.id,L);return}}catch(L){console.error(`Error resolving hologram for key ${M}:`,L);return}c?(n.validator.validate(c,Q)||!n.strict)&&m.set(Q.id,Q):m.set(Q.id,Q)}catch(Q){console.error("Error processing data:",Q)}};Promise.all($.map(N=>{let M=k[N];return typeof M!="object"||M===null?x(M,N):new Promise(Q=>{b.get(N).once(L=>{x(L,N).then(Q,Q)})})})).then(()=>g(Array.from(m.values())))};(async()=>{let k=await w();k||(await new Promise($=>setTimeout($,1500)),k=await w()),E(k)})()})}catch(h){return console.error("Error in getAll:",h),[]}}async function ad(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 ud(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,k)=>{let $=n.userName(e);h.auth($,c,D=>{D.err?(console.log(`Initial auth failed for ${$} during deleteFunc, attempting to create...`),h.create($,c,x=>{x.err?x.err.includes("already created")?(console.log(`User ${$} already existed during deleteFunc, re-attempting auth with fresh user object.`),n.gun.user().auth($,c,M=>{M.err?k(new Error(`Failed to auth with fresh user object after create attempt (user existed) for ${$} during deleteFunc: ${M.err}`)):E()})):k(new Error(`Failed to create user ${$} during deleteFunc: ${x.err}`)):(console.log(`User ${$} created successfully during deleteFunc, attempting auth...`),h.auth($,c,N=>{N.err?k(new Error(`Failed to auth after create for ${$} during deleteFunc: ${N.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 $=n.getNodeRef(E),D=`${n.appname}/${e}/${s}/${a}`;m=new Promise(x=>{$.get("_holograms").get(D).put(null,N=>{N.err&&console.warn(`[deleteFunc] Error removing hologram ${D} from target ${E}:`,N.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,k)=>{g.put(null,$=>{$.err?k(new Error($.err)):E(!0)})})}catch(h){throw console.error("Error in delete:",h),h}}async function ld(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),k=await new Promise(x=>E.once(x)),$=null;try{typeof k=="string"?$=JSON.parse(k):$=k}catch(x){console.warn("[deleteAll] Could not JSON parse data for deletion check:",k,x),$=null}if($&&n.isHologram($))try{let x=$.soul;if(n.parseSoulPath(x)){let M=n.getNodeRef(x),Q=`${n.appname}/${e}/${s}/${w}`;await new Promise(L=>{M.get("_holograms").get(Q).put(null,V=>{V.err&&console.warn(`[deleteAll] Error removing hologram ${Q} from target ${x}:`,V.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 ${$.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,M=>{x(!!M.ok)})}))}catch(E){console.warn(`Error processing key ${w} during deleteAll:`,E),g.push(new Promise(k=>{(a?c.get("private").get(s).get(w):n.gun.get(n.appname).get(e).get(s).get(w)).put(null,D=>{k(!!D.ok)})}))}Promise.all(g).then(w=>{let E=w.every(k=>k===!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 fd(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 cd(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 na(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 dd(n,e){if(!e)throw new Error("getNodeBySoul: Missing soul parameter");return console.log(`getNodeBySoul: Accessing soul ${e}`),new Promise((s,a)=>{try{na(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 hd(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),k=`${n.appname}/${e}/${s}/value`;h=new Promise($=>{E.get("_holograms").get(k).put(null,D=>{D.err&&console.warn(`[deleteNode] Error removing hologram ${k} from target ${b}:`,D.err),$()})})}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 ia(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,k=>{if(k.err)g(new Error(k.err));else{if(b)try{if(n.parseSoulPath(m.soul)){let D=n.getNodeRef(m.soul),x=`${n.appname}/${e}/${s.id}`;D.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($){console.warn(`Error updating _holograms set for the target of the data being put (data ID: ${s.id}, soul: ${m.soul}):`,$)}h()}}):w.put(v,E=>{if(E.err)g(new Error(E.err));else{if(b)try{if(n.parseSoulPath(m.soul)){let $=n.getNodeRef(m.soul),D=`${n.appname}/${e}`;$.get("_holograms").get(D).put(!0)}else console.warn(`Data 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 (soul: ${m.soul}):`,k)}h()}})}catch(m){g(m)}})}catch(c){throw console.error("Error in putGlobal:",c),c}}async function pd(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(k){console.error(`Failed to delete invalid global hologram at ${e}/${s}:`,k)}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 gd(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(D=>{if(D==="_")return!1;let x=w[D];return!(x===null||typeof x=="object"&&x["#"])});if(E.length===0){c([]);return}let $=async(D,x)=>{if(D)try{let N=await n.parse(D);if(!N)return;if(n.isHologram(N)){let M=await n.resolveHologram(N,{followHolograms:!0});if(M===null){try{await n.deleteGlobal(e,x,s)}catch(Q){console.error(`Failed to delete invalid global hologram at ${e}/${x}:`,Q)}return}M!==N?h.push(M):h.push(N)}else h.push(N)}catch(N){console.error("Error parsing data:",N)}};Promise.all(E.map(D=>{let x=w[D];return typeof x!="object"||x===null?$(x,D):new Promise(N=>{m.get(D).once(M=>{$(M,D).then(N,N)})})})).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 md(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 k=n.userName(e);c.auth(k,a,$=>{$.err?(console.log(`Initial auth failed for ${k}, attempting to create...`),c.create(k,a,D=>{D.err?D.err.includes("already created")||D.err.includes("already being created")?(console.log(`User ${k} already existed or being created, re-attempting auth with fresh user object.`),n.gun.user().auth(k,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): ${D.err}`),w()):(console.log(`User ${k} created successfully, attempting auth...`),c.auth(k,a,x=>{x.err?E(new Error(`Failed to auth after create for ${k}: ${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 k=n.getNodeRef(w),$=`${n.appname}/${e}/${s}`;g=new Promise(D=>{k.get("_holograms").get($).put(null,x=>{x.err&&console.warn(`[deleteGlobal] Error removing hologram ${$} from target ${w}:`,x.err),D()})})}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,k=>{k.err?(console.error("deleteGlobal - Deletion error:",k.err),E(new Error(k.err))):w(!0)})})}catch(c){throw console.error("Error in deleteGlobal:",c),c}}async function yd(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(k=>k!=="_");for(let k of w)try{let $=s?a.get("private").get(e).get(k):n.gun.get(n.appname).get(e).get(k),D=await new Promise(M=>$.once(M)),x=null;try{typeof D=="string"?x=JSON.parse(D):x=D}catch(M){console.warn("[deleteAllGlobal] Could not JSON parse data for deletion check:",D,M),x=null}if(x&&n.isHologram(x))try{let M=x.soul;if(n.parseSoulPath(M)){let L=n.getNodeRef(M),V=`${n.appname}/${e}/${k}`;await new Promise(K=>{L.get("_holograms").get(V).put(null,W=>{W.err&&console.warn(`[deleteAllGlobal] Error removing hologram ${V} from target ${M}:`,W.err),K()})})}else console.warn(`Could not parse target soul ${M} for hologram tracking removal during deleteAllGlobal.`)}catch(M){console.warn(`Error removing hologram reference from target ${x.soul} during deleteAllGlobal:`,M)}g.add(k)}catch($){console.warn(`Error processing key ${k} during deleteAllGlobal:`,$),g.add(k)}let E=w.map(k=>new Promise(($,D)=>{(s?a.get("private").get(e).get(k):n.gun.get(n.appname).get(e).get(k)).put(null,N=>{N.err?(console.error(`Failed to delete ${k}:`,N.err),D(new Error(N.err))):$()})}));try{await Promise.all(E),v.put(null),clearTimeout(m),c(!0)}catch(k){h(k)}})}catch(g){h(g)}})}catch(a){throw console.error("Error in deleteAllGlobal:",a),a}}async function wd(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 vd(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 bd(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 k=vt(e,h-1),$=Ku(k,h),x=(await Promise.all($.map(N=>n.getAll(N,s,c)))).flat().filter(Boolean);if(x.length>0)try{let N;switch(g){case"summarize":let M=m.length>0?x.map(Q=>m.map(L=>Q[L]).filter(Boolean).join(`
|
|
29
11
|
`)).join(`
|
|
30
|
-
`):JSON.stringify(
|
|
31
|
-
`));return m.summary=y,await n.db.put("cell",m),m}catch(o){throw console.error("Error during updateParent:",o),o}}async function Gm(n,e,i){return l0(n,e,i)}function Hm(n,e){let i=[],o=l0(n,e,14);i.push(o);for(let f=13;f>=0;f--)i.push(IA(o,f));return i}function Vm(n){let e=[],i=TA(n);for(let o=i;o>=0;o--)e.push(IA(n,o));return e}async function zm(n,e,i,o){if(!e||!i)throw new Error("subscribe: Missing holon or lens parameters:",e,i);if(!o||typeof o!="function")throw new Error("subscribe: Callback must be a function");let f=n.generateId();try{let h=n.gun.get(n.appname).get(e).get(i).map(),m=h.on(async(y,E)=>{if(n.subscriptions[f]&&y)try{let b=await n.parse(y);if(b&&n.isHologram(b)){let _=await n.resolveHologram(b,{followHolograms:!0});_!==b&&(b=_)}n.subscriptions[f]&&o(b,E)}catch(b){console.error("Error processing subscribed data:",b)}});return n.subscriptions[f]={id:f,holon:e,lens:i,callback:o,mapChain:h,gunListener:m},{unsubscribe:async()=>{let y=n.subscriptions[f];if(y)try{y.mapChain&&y.mapChain.off(),delete n.subscriptions[f]}catch(E){console.error(`Error during unsubscribe logic for ${f}:`,E)}}}}catch(h){throw console.error("Error creating subscription:",h),h}}function Jm(n,e){if(!(!e||!e.holon||!e.lens))try{Object.values(n.subscriptions).forEach(i=>{if(i.holon===e.holon&&i.lens===e.lens)try{i.callback&&typeof i.callback=="function"&&i.callback(e)}catch(o){console.warn("Error in subscription callback:",o)}})}catch(i){console.warn("Error notifying subscribers:",i)}}function Km(){return Date.now().toString(10)+Math.random().toString(2)}async function Wm(n){try{if(n.gun){let e=Object.keys(n.subscriptions);for(let i of e)try{let o=n.subscriptions[i];o&&o.mapChain&&o.mapChain.off()}catch(o){console.warn(`Error cleaning up subscription ${i}:`,o)}if(n.subscriptions={},n.clearSchemaCache(),n.gun.back)try{let i=n.gun.back("opt.mesh");if(i){if(i.hear)try{let o=Object.keys(i.hear);for(let f of o)Array.isArray(i.hear[f])&&(i.hear[f]=[]);typeof i.hear!="function"&&(i.hear={})}catch(o){console.warn("Error cleaning up Gun mesh hear:",o)}if(i.way)try{Object.values(i.way).forEach(o=>{o&&o.wire&&o.wire.close&&o.wire.close()})}catch(o){console.warn("Error closing mesh sockets:",o)}i.opt&&i.opt.peers&&(i.opt.peers={})}if(n.gun.back("opt.web"))try{let o=n.gun.back("opt.web");o&&o.close&&o.close()}catch(o){console.warn("Error closing web server:",o)}}catch(i){console.warn("Error accessing Gun mesh:",i)}try{n.gun.off()}catch(i){console.warn("Error turning off Gun listeners:",i)}await new Promise(i=>setTimeout(i,100))}console.log("HoloSphere instance closed successfully")}catch(e){console.error("Error closing HoloSphere instance:",e)}}function Ym(n,e){return e?`${n.appname}:${e}`:null}var Xm="1.1.21",rf=class{constructor(e,i=!1,o=null,f={}){console.log("HoloSphere v"+Xm),this.appname=e,this.strict=i,this.validator=new e2.default({allErrors:!0,strict:!1,validateSchema:!0});let h={peers:["https://gun.holons.io/gun"],axe:!1,radisk:!0,file:"./holosphere"};typeof window<"u"&&f.radisk!==!1&&(h.localStorage=!1);let m={...h,...f};console.log("Initializing Gun with options:",m),this.gun=(0,Zm.default)(m),o!=null&&(this.openai=new cd({apiKey:o})),this.subscriptions={},this.schemaCache=new Map}getGun(){return this.gun}async setSchema(e,i){return _m(this,e,i)}async getSchema(e,i={}){return vm(this,e,i)}clearSchemaCache(e=null){return bm(this,e)}async put(e,i,o,f=null,h={}){return Em(this,e,i,o,f,h)}async get(e,i,o,f=null,h={}){return ef(this,e,i,o,f,h)}async getAll(e,i,o=null){return $m(this,e,i,o)}async parse(e){return Pm(this,e)}async delete(e,i,o,f=null){return km(this,e,i,o,f)}async deleteAll(e,i,o=null){return Cm(this,e,i,o)}async putNode(e,i,o){return Sm(this,e,i,o)}async getNode(e,i,o){return xm(this,e,i,o)}getNodeRef(e){return tf(this,e)}async getNodeBySoul(e){return Dm(this,e)}async deleteNode(e,i,o){return Rm(this,e,i,o)}async putGlobal(e,i,o=null){return Om(this,e,i,o)}async getGlobal(e,i,o=null){return Tm(this,e,i,o)}async getAllGlobal(e,i=null){return Im(this,e,i)}async deleteGlobal(e,i,o=null){return Bm(this,e,i,o)}async deleteAllGlobal(e,i=null){return Mm(this,e,i)}createHologram(e,i,o){return jm(this,e,i,o)}parseSoulPath(e){return Af(e)}isHologram(e){return ka(e)}async resolveHologram(e,i={}){return Nm(this,e,i)}async computeHierarchy(e,i,o,f=15,h=null){return Fm(this,e,i,o,f,h)}async compute(e,i,o,f=null){return Qm(this,e,i,o,f)}async summarize(e){return Lm(this,e)}async upcast(e,i,o,f=15){return qm(this,e,i,o,f)}async updateParent(e,i){return Um(this,e,i)}async propagate(e,i,o,f={}){return mm(this,e,i,o,f)}async getHolon(e,i,o){return Gm(e,i,o)}getScalespace(e,i){return Hm(e,i)}getHolonScalespace(e){return Vm(e)}async subscribe(e,i,o){return zm(this,e,i,o)}notifySubscribers(e){return Jm(this,e)}generateId(){return Km()}async federate(e,i,o=null,f=null,h=!0,m={}){return um(this,e,i,o,f,h,m)}async subscribeFederation(e,i,o,f={}){return fm(this,e,i,o,f)}async getFederation(e,i=null){return Mn(this,e,i)}async getFederatedConfig(e,i,o=null){return cm(this,e,i,o)}async unfederate(e,i,o,f=null){return await dm(this,e,i,o,f)}async removeNotify(e,i,o=null){console.log(`HoloSphere.removeNotify called: ${e}, ${i}`);try{let f=await hm(this,e,i,o);return console.log(`HoloSphere.removeNotify completed successfully: ${f}`),f}catch(f){throw console.error("HoloSphere.removeNotify failed:",f),f}}async getFederated(e,i,o={}){return pm(this,e,i,o)}async federateMessage(e,i,o,f,h="generic"){return gm(this,e,i,o,f,h)}async getFederatedMessages(e,i){return Zu(this,e,i)}async updateFederatedMessages(e,i,o){return ym(this,e,i,o)}async resetFederation(e,i=null){return wm(this,e,i)}async close(){return Wm(this)}userName(e){return Ym(this,e)}getVersion(){return Xm}configureRadisk(e={}){let o={...{file:"./radata",radisk:!0,until:null,retry:3,timeout:5e3},...e};this.gun&&this.gun._.opt?(Object.assign(this.gun._.opt,o),console.log("Radisk configuration updated:",o)):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}}},aE=rf;return S1(lE);})();
|
|
12
|
+
`):JSON.stringify(x);N=await n.summarize(M);break;case"aggregate":N=m.reduce((Q,L)=>(Q[L]=x.reduce((V,K)=>V+(Number(K[L])||0),0),Q),{});break;case"concatenate":N=m.reduce((Q,L)=>(Q[L]=x.reduce((V,K)=>{let W=K[L];return Array.isArray(W)?[...V,...W]:W?[...V,W]:V},[]),Q[L]=Array.from(new Set(Q[L])),Q),{});break}if(N){let Q={id:`${k}_${g}`,timestamp:Date.now()};return v?Q[v]=N:typeof N=="object"?Object.assign(Q,N):Q.value=N,await n.put(k,s,Q,c),Q}}catch(N){throw console.warn("Error in compute operation:",N),N}return null}async function _d(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 Ed(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 kd(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 $d(n,e,s){return Jo(n,e,s)}function xd(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 Bd(n){let e=[],s=wt(n);for(let a=s;a>=0;a--)e.push(vt(n,a));return e}async function Sd(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)}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:async()=>{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 Pd(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 Dd(){return Date.now().toString(10)+Math.random().toString(2)}async function Cd(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 Td(n,e){return e?`${n.appname}:${e}`:null}var vr=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;function br(n){return n instanceof Uint8Array||ArrayBuffer.isView(n)&&n.constructor.name==="Uint8Array"}function Yn(n){if(!Number.isSafeInteger(n)||n<0)throw new Error("positive integer expected, got "+n)}function ct(n,...e){if(!br(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");Yn(n.outputLen),Yn(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 jd(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 _r(...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 Md=typeof Uint8Array.from([]).toHex=="function"&&typeof Uint8Array.fromHex=="function",g4=Array.from({length:256},(n,e)=>e.toString(16).padStart(2,"0"));function PA(n){if(ct(n),Md)return n.toHex();let e="";for(let s=0;s<n.length;s++)e+=g4[n[s]];return e}var Tt={_0:48,_9:57,A:65,F:70,a:97,f:102};function Od(n){if(n>=Tt._0&&n<=Tt._9)return n-Tt._0;if(n>=Tt.A&&n<=Tt.F)return n-(Tt.A-10);if(n>=Tt.a&&n<=Tt.f)return n-(Tt.a-10)}function ht(n){if(typeof n!="string")throw new Error("hex string expected, got "+typeof n);if(Md)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=Od(n.charCodeAt(h)),m=Od(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 Nd(n){if(typeof n!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(n))}function Wn(n){return typeof n=="string"&&(n=Nd(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 Rd(n){let e=a=>n().update(Wn(a)).digest(),s=n();return e.outputLen=s.outputLen,e.blockLen=s.blockLen,e.create=()=>n(),e}function Ao(n=32){if(vr&&typeof vr.getRandomValues=="function")return vr.getRandomValues(new Uint8Array(n));if(vr&&typeof vr.randomBytes=="function")return Uint8Array.from(vr.randomBytes(n));throw new Error("crypto.getRandomValues must be defined")}function m4(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 Id(n,e,s){return n&e^~n&s}function qd(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=Wn(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),jd(e,this),this.finished=!0;let{buffer:s,view:a,blockLen:c,isLE:h}=this,{pos:g}=this;s[g++]=128,_r(this.buffer.subarray(g)),this.padOffset>c-g&&(this.process(a,0),g=0);for(let E=g;E<c;E++)s[E]=0;m4(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()}},Ot=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]);var y4=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]),Zt=new Uint32Array(64),oa=class extends to{constructor(e=32){super(64,e,8,!1),this.A=Ot[0]|0,this.B=Ot[1]|0,this.C=Ot[2]|0,this.D=Ot[3]|0,this.E=Ot[4]|0,this.F=Ot[5]|0,this.G=Ot[6]|0,this.H=Ot[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)Zt[E]=e.getUint32(s,!1);for(let E=16;E<64;E++){let k=Zt[E-15],$=Zt[E-2],D=dt(k,7)^dt(k,18)^k>>>3,x=dt($,17)^dt($,19)^$>>>10;Zt[E]=x+Zt[E-7]+D+Zt[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 k=dt(m,6)^dt(m,11)^dt(m,25),$=w+k+Id(m,v,b)+y4[E]+Zt[E]|0,x=(dt(a,2)^dt(a,13)^dt(a,22))+qd(a,c,h)|0;w=b,b=v,v=m,m=g+$|0,g=h,h=c,c=a,a=$+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(){_r(Zt)}destroy(){this.set(0,0,0,0,0,0,0,0),_r(this.buffer)}};var Qd=Rd(()=>new oa);var ro=class extends Jr{constructor(e,s){super(),this.finished=!1,this.destroyed=!1,Xi(e);let a=Wn(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),_r(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()}},sa=(n,e,s)=>new ro(n,e).update(s).digest();sa.create=(n,e)=>new ro(n,e);var la=BigInt(0),ua=BigInt(1);function Jn(n,e=""){if(typeof n!="boolean"){let s=e&&`"${e}"`;throw new Error(s+"expected boolean, got type="+typeof n)}return n}function Xt(n,e,s=""){let a=br(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 Zn(n){let e=n.toString(16);return e.length&1?"0"+e:e}function Hd(n){if(typeof n!="string")throw new Error("hex string expected, got "+typeof n);return n===""?la:BigInt("0x"+n)}function Xr(n){return Hd(PA(n))}function fa(n){return ct(n),Hd(PA(Uint8Array.from(n).reverse()))}function no(n,e){return ht(n.toString(16).padStart(e*2,"0"))}function ca(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(br(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 aa=n=>typeof n=="bigint"&&la<=n;function Ld(n,e,s){return aa(n)&&aa(e)&&aa(s)&&e<=n&&n<s}function Ud(n,e,s,a){if(!Ld(e,s,a))throw new Error("expected valid "+n+": "+s+" <= n < "+a+", got "+e)}function io(n){let e;for(e=0;n>la;n>>=ua,e+=1);return e}var er=n=>(ua<<BigInt(n))-ua;function Gd(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=$=>new Uint8Array($),c=$=>Uint8Array.of($),h=a(n),g=a(n),m=0,v=()=>{h.fill(1),g.fill(0),m=0},b=(...$)=>s(g,h,...$),w=($=a(0))=>{g=b(c(0),$),h=b(),$.length!==0&&(g=b(c(1),$),h=b())},E=()=>{if(m++>=1e3)throw new Error("drbg: tried 1000 values");let $=0,D=[];for(;$<e;){h=b();let x=h.slice();D.push(x),$+=h.length}return pt(...D)};return($,D)=>{v(),w($);let x;for(;!(x=D(E()));)w();return v(),x}}function Xn(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 da(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),Er=BigInt(2),zd=BigInt(3),Kd=BigInt(4),Yd=BigInt(5),w4=BigInt(7),Wd=BigInt(8),v4=BigInt(9),Jd=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 Fd(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,E=c-g*b,k=h-m*b;a=s,s=w,c=g,h=m,g=E,m=k}if(a!==NA)throw new Error("invert: does not exist");return st(c,e)}function ha(n,e,s){if(!n.eql(n.sqr(e),s))throw new Error("Cannot find square root")}function Zd(n,e){let s=(n.ORDER+NA)/Kd,a=n.pow(e,s);return ha(n,a,e),a}function b4(n,e){let s=(n.ORDER-Yd)/Wd,a=n.mul(e,Er),c=n.pow(a,s),h=n.mul(e,c),g=n.mul(n.mul(h,Er),c),m=n.mul(h,n.sub(g,n.ONE));return ha(n,m,e),m}function _4(n){let e=Ar(n),s=Xd(n),a=s(e,e.neg(e.ONE)),c=s(e,a),h=s(e,e.neg(a)),g=(n+w4)/Jd;return(m,v)=>{let b=m.pow(v,g),w=m.mul(b,a),E=m.mul(b,c),k=m.mul(b,h),$=m.eql(m.sqr(w),v),D=m.eql(m.sqr(E),v);b=m.cmov(b,w,$),w=m.cmov(k,E,D);let x=m.eql(m.sqr(w),v),N=m.cmov(b,w,x);return ha(m,N,v),N}}function Xd(n){if(n<zd)throw new Error("sqrt is not defined for small field");let e=n-NA,s=0;for(;e%Er===LA;)e/=Er,s++;let a=Er,c=Ar(n);for(;Vd(c,a)===1;)if(a++>1e3)throw new Error("Cannot find square root: probably non-prime P");if(s===1)return Zd;let h=c.pow(a,e),g=(e+NA)/Er;return function(v,b){if(v.is0(b))return b;if(Vd(v,b)!==1)throw new Error("Cannot find square root");let w=s,E=v.mul(v.ONE,h),k=v.pow(b,e),$=v.pow(b,g);for(;!v.eql(k,v.ONE);){if(v.is0(k))return v.ZERO;let D=1,x=v.sqr(k);for(;!v.eql(x,v.ONE);)if(D++,x=v.sqr(x),D===w)throw new Error("Cannot find square root");let N=NA<<BigInt(w-D-1),M=v.pow(E,N);w=D,E=v.sqr(M),k=v.mul(k,E),$=v.mul($,M)}return $}}function E4(n){return n%Kd===zd?Zd:n%Wd===Yd?b4:n%Jd===v4?_4(n):Xd(n)}var k4=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function pa(n){let e={ORDER:"bigint",MASK:"bigint",BYTES:"number",BITS:"number"},s=k4.reduce((a,c)=>(a[c]="function",a),e);return Xn(n,s),n}function $4(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 Vd(n,e){let s=(n.ORDER-NA)/Er,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&&Yn(e);let s=e!==void 0?e:n.toString(2).length,a=Math.ceil(s/8);return{nBitLength:s,nByteLength:a}}function Ar(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 k=e;k.BITS&&(c=k.BITS),k.sqrt&&(h=k.sqrt),typeof k.isLE=="boolean"&&(s=k.isLE),typeof k.modFromBytes=="boolean"&&(g=k.modFromBytes),m=k.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:er(v),ZERO:LA,ONE:NA,allowedLengths:m,create:k=>st(k,n),isValid:k=>{if(typeof k!="bigint")throw new Error("invalid field element: expected bigint, got "+typeof k);return LA<=k&&k<n},is0:k=>k===LA,isValidNot0:k=>!E.is0(k)&&E.isValid(k),isOdd:k=>(k&NA)===NA,neg:k=>st(-k,n),eql:(k,$)=>k===$,sqr:k=>st(k*k,n),add:(k,$)=>st(k+$,n),sub:(k,$)=>st(k-$,n),mul:(k,$)=>st(k*$,n),pow:(k,$)=>$4(E,k,$),div:(k,$)=>st(k*Fd($,n),n),sqrN:k=>k*k,addN:(k,$)=>k+$,subN:(k,$)=>k-$,mulN:(k,$)=>k*$,inv:k=>Fd(k,n),sqrt:h||(k=>(w||(w=E4(n)),w(E,k))),toBytes:k=>s?ca(k,b):no(k,b),fromBytes:(k,$=!0)=>{if(m){if(!m.includes(k.length)||k.length>b)throw new Error("Field.fromBytes: expected "+m+" bytes, got "+k.length);let x=new Uint8Array(b);x.set(k,s?0:x.length-k.length),k=x}if(k.length!==b)throw new Error("Field.fromBytes: expected "+b+" bytes, got "+k.length);let D=s?fa(k):Xr(k);if(g&&(D=st(D,n)),!$&&!E.isValid(D))throw new Error("invalid field element: outside of range 0..ORDER");return D},invertBatch:k=>oo(E,k),cmov:(k,$,D)=>D?$:k});return Object.freeze(E)}function e2(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 ga(n){let e=e2(n);return e+Math.ceil(e/2)}function ma(n,e,s=!1){let a=n.length,c=e2(e),h=ga(e);if(a<16||a<h||a>1024)throw new Error("expected "+h+"-1024 bytes of input, got "+a);let g=s?fa(n):Xr(n),m=st(g,e-NA)+NA;return s?ca(m,c):no(m,c)}var en=BigInt(0),kr=BigInt(1);function ei(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 n2(n,e){if(!Number.isSafeInteger(n)||n<=0||n>e)throw new Error("invalid window size, expected [1.."+e+"], got W="+n)}function ya(n,e){n2(n,e);let s=Math.ceil(e/n)+1,a=2**(n-1),c=2**n,h=er(n),g=BigInt(n);return{windows:s,windowSize:a,mask:h,maxNumber:c,shiftBy:g}}function A2(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+=kr);let b=e*a,w=b+Math.abs(m)-1,E=m===0,k=m<0,$=e%2!==0;return{nextN:v,offset:w,isZero:E,isNeg:k,isNegF:$,offsetF:b}}function x4(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 B4(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 wa=new WeakMap,i2=new WeakMap;function va(n){return i2.get(n)||1}function t2(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&kr&&(a=a.add(c)),c=c.double(),s>>=kr;return a}precomputeWindow(e,s){let{windows:a,windowSize:c}=ya(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=ya(e,this.bits);for(let m=0;m<g.windows;m++){let{nextN:v,offset:b,isZero:w,isNeg:E,isNegF:k,offsetF:$}=A2(a,m,g);a=v,w?h=h.add(ei(k,s[$])):c=c.add(ei(E,s[b]))}return t2(a),{p:c,f:h}}wNAFUnsafe(e,s,a,c=this.ZERO){let h=ya(e,this.bits);for(let g=0;g<h.windows&&a!==en;g++){let{nextN:m,offset:v,isZero:b,isNeg:w}=A2(a,g,h);if(a=m,!b){let E=s[v];c=c.add(w?E.negate():E)}}return t2(a),c}getPrecomputes(e,s,a){let c=wa.get(s);return c||(c=this.precomputeWindow(s,e),e!==1&&(typeof a=="function"&&(c=a(c)),wa.set(s,c))),c}cached(e,s,a){let c=va(e);return this.wNAF(c,this.getPrecomputes(c,e,a),s)}unsafe(e,s,a,c){let h=va(e);return h===1?this._unsafeLadder(e,s,c):this.wNAFUnsafe(h,this.getPrecomputes(h,e,a),s,c)}createCache(e,s){n2(s,this.bits),i2.set(e,s),wa.delete(e)}hasCache(e){return va(e)!==1}};function o2(n,e,s,a){let c=e,h=n.ZERO,g=n.ZERO;for(;s>en||a>en;)s&kr&&(h=h.add(c)),a&kr&&(g=g.add(c)),c=c.double(),s>>=kr,a>>=kr;return{p1:h,p2:g}}function s2(n,e,s,a){x4(s,n),B4(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=er(v),w=new Array(Number(b)+1).fill(g),E=Math.floor((e.BITS-1)/v)*v,k=g;for(let $=E;$>=0;$-=v){w.fill(g);for(let x=0;x<h;x++){let N=a[x],M=Number(N>>BigInt($)&b);w[M]=w[M].add(s[x])}let D=g;for(let x=w.length-1,N=g;x>0;x--)N=N.add(w[x]),D=D.add(N);if(k=k.add(D),$!==0)for(let x=0;x<v;x++)k=k.double()}return k}function r2(n,e,s){if(e){if(e.ORDER!==n)throw new Error("Field.ORDER must match order: Fp == p, Fn == n");return pa(e),e}else return Ar(n,{isLE:s})}function a2(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=r2(e.p,s.Fp,a),h=r2(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 u2=(n,e)=>(n+(n>=0?e:-e)/l2)/e;function S4(n,e,s){let[[a,c],[h,g]]=e,m=u2(g*n,s),v=u2(-c*n,s),b=n-m*a-v*h,w=-m*c-v*g,E=b<Mt,k=w<Mt;E&&(b=-b),k&&(w=-w);let $=er(Math.ceil(io(s)/2))+tn;if(b<Mt||b>=$||w<Mt||w>=$)throw new Error("splitScalar (endomorphism): failed, k="+n);return{k1neg:E,k1:b,k2neg:k,k2:w}}function _a(n){if(!["compact","recovered","der"].includes(n))throw new Error('Signature format must be "compact", "recovered", or "der"');return n}function ba(n,e){let s={};for(let a of Object.keys(e))s[a]=n[a]===void 0?e[a]:n[a];return Jn(s.lowS,"lowS"),Jn(s.prehash,"prehash"),s.format!==void 0&&_a(s.format),s}var Ea=class extends Error{constructor(e=""){super(e)}},jt={Err:Ea,_tlv:{encode:(n,e)=>{let{Err:s}=jt;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=Zn(a);if(c.length/2&128)throw new s("tlv.encode: long form length too big");let h=a>127?Zn(c.length/2|128):"";return Zn(n)+h+c+e},decode(n,e){let{Err:s}=jt,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}=jt;if(n<Mt)throw new e("integer: negative integers are not allowed");let s=Zn(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}=jt;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}=jt,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}=jt,a=e.encode(2,s.encode(n.r)),c=e.encode(2,s.encode(n.s)),h=a+c;return e.encode(48,h)}},Mt=BigInt(0),tn=BigInt(1),l2=BigInt(2),lo=BigInt(3),P4=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 D4(n,e={}){let s=a2("weierstrass",n,e),{Fp:a,Fn:c}=s,h=s.CURVE,{h:g,n:m}=h;Xn(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=c2(a,c);function w(){if(!a.isOdd)throw new Error("compression is not supported: Field does not have .isOdd()")}function E(C,P,T){let{x:H,y:X}=P.toAffine(),Z=a.toBytes(H);if(Jn(T,"isCompressed"),T){w();let Y=!a.isOdd(X);return pt(f2(Y),Z)}else return pt(Uint8Array.of(4),Z,a.toBytes(X))}function k(C){Xt(C,void 0,"Point");let{publicKey:P,publicKeyUncompressed:T}=b,H=C.length,X=C[0],Z=C.subarray(1);if(H===P&&(X===2||X===3)){let Y=a.fromBytes(Z);if(!a.isValid(Y))throw new Error("bad point: is not on curve, wrong x");let ne=x(Y),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 le=a.isOdd(ie);return(X&1)===1!==le&&(ie=a.neg(ie)),{x:Y,y:ie}}else if(H===T&&X===4){let Y=a.BYTES,ne=a.fromBytes(Z.subarray(0,Y)),ie=a.fromBytes(Z.subarray(Y,Y*2));if(!N(ne,ie))throw new Error("bad point: is not on curve");return{x:ne,y:ie}}else throw new Error(`bad point: got length ${H}, expected compressed=${P} or uncompressed=${T}`)}let $=e.toBytes||E,D=e.fromBytes||k;function x(C){let P=a.sqr(C),T=a.mul(P,C);return a.add(a.add(T,a.mul(C,h.a)),h.b)}function N(C,P){let T=a.sqr(P),H=x(C);return a.eql(T,H)}if(!N(h.Gx,h.Gy))throw new Error("bad curve params: generator point");let M=a.mul(a.pow(h.a,lo),P4),Q=a.mul(a.sqr(h.b),BigInt(27));if(a.is0(a.add(M,Q)))throw new Error("bad curve params: a or b");function L(C,P,T=!1){if(!a.isValid(P)||T&&a.is0(P))throw new Error(`bad point coordinate ${C}`);return P}function V(C){if(!(C instanceof z))throw new Error("ProjectivePoint expected")}function K(C){if(!v||!v.basises)throw new Error("no endo");return S4(C,v.basises,c.ORDER)}let W=da((C,P)=>{let{X:T,Y:H,Z:X}=C;if(a.eql(X,a.ONE))return{x:T,y:H};let Z=C.is0();P==null&&(P=Z?a.ONE:a.inv(X));let Y=a.mul(T,P),ne=a.mul(H,P),ie=a.mul(X,P);if(Z)return{x:a.ZERO,y:a.ZERO};if(!a.eql(ie,a.ONE))throw new Error("invZ was invalid");return{x:Y,y:ne}}),se=da(C=>{if(C.is0()){if(e.allowInfinityPoint&&!a.is0(C.Y))return;throw new Error("bad point: ZERO")}let{x:P,y:T}=C.toAffine();if(!a.isValid(P)||!a.isValid(T))throw new Error("bad point: x or y not field elements");if(!N(P,T))throw new Error("bad point: equation left != right");if(!C.isTorsionFree())throw new Error("bad point: not in prime-order subgroup");return!0});function U(C,P,T,H,X){return T=new z(a.mul(T.X,C),T.Y,T.Z),P=ei(H,P),T=ei(X,T),P.add(T)}class z{constructor(P,T,H){this.X=L("x",P),this.Y=L("y",T,!0),this.Z=L("z",H),Object.freeze(this)}static CURVE(){return h}static fromAffine(P){let{x:T,y:H}=P||{};if(!P||!a.isValid(T)||!a.isValid(H))throw new Error("invalid affine point");if(P instanceof z)throw new Error("projective point not allowed");return a.is0(T)&&a.is0(H)?z.ZERO:new z(T,H,a.ONE)}static fromBytes(P){let T=z.fromAffine(D(Xt(P,void 0,"point")));return T.assertValidity(),T}static fromHex(P){return z.fromBytes(MA("pointHex",P))}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(P=8,T=!0){return pe.createCache(this,P),T||this.multiply(lo),this}assertValidity(){se(this)}hasEvenY(){let{y:P}=this.toAffine();if(!a.isOdd)throw new Error("Field doesn't support isOdd");return!a.isOdd(P)}equals(P){V(P);let{X:T,Y:H,Z:X}=this,{X:Z,Y,Z:ne}=P,ie=a.eql(a.mul(T,ne),a.mul(Z,X)),le=a.eql(a.mul(H,ne),a.mul(Y,X));return ie&&le}negate(){return new z(this.X,a.neg(this.Y),this.Z)}double(){let{a:P,b:T}=h,H=a.mul(T,lo),{X,Y:Z,Z:Y}=this,ne=a.ZERO,ie=a.ZERO,le=a.ZERO,ge=a.mul(X,X),Pe=a.mul(Z,Z),Ee=a.mul(Y,Y),ve=a.mul(X,Z);return ve=a.add(ve,ve),le=a.mul(X,Y),le=a.add(le,le),ne=a.mul(P,le),ie=a.mul(H,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),le=a.mul(H,le),Ee=a.mul(P,Ee),ve=a.sub(ge,Ee),ve=a.mul(P,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(Z,Y),Ee=a.add(Ee,Ee),ge=a.mul(Ee,ve),ne=a.sub(ne,ge),le=a.mul(Ee,Pe),le=a.add(le,le),le=a.add(le,le),new z(ne,ie,le)}add(P){V(P);let{X:T,Y:H,Z:X}=this,{X:Z,Y,Z:ne}=P,ie=a.ZERO,le=a.ZERO,ge=a.ZERO,Pe=h.a,Ee=a.mul(h.b,lo),ve=a.mul(T,Z),Ne=a.mul(H,Y),rA=a.mul(X,ne),fA=a.add(T,H),Ye=a.add(Z,Y);fA=a.mul(fA,Ye),Ye=a.add(ve,Ne),fA=a.sub(fA,Ye),Ye=a.add(T,X);let nA=a.add(Z,ne);return Ye=a.mul(Ye,nA),nA=a.add(ve,rA),Ye=a.sub(Ye,nA),nA=a.add(H,X),ie=a.add(Y,ne),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 z(ie,le,ge)}subtract(P){return this.add(P.negate())}is0(){return this.equals(z.ZERO)}multiply(P){let{endo:T}=e;if(!c.isValidNot0(P))throw new Error("invalid scalar: out of range");let H,X,Z=Y=>pe.cached(this,Y,ne=>uo(z,ne));if(T){let{k1neg:Y,k1:ne,k2neg:ie,k2:le}=K(P),{p:ge,f:Pe}=Z(ne),{p:Ee,f:ve}=Z(le);X=Pe.add(ve),H=U(T.beta,ge,Ee,Y,ie)}else{let{p:Y,f:ne}=Z(P);H=Y,X=ne}return uo(z,[H,X])[0]}multiplyUnsafe(P){let{endo:T}=e,H=this;if(!c.isValid(P))throw new Error("invalid scalar: out of range");if(P===Mt||H.is0())return z.ZERO;if(P===tn)return H;if(pe.hasCache(this))return this.multiply(P);if(T){let{k1neg:X,k1:Z,k2neg:Y,k2:ne}=K(P),{p1:ie,p2:le}=o2(z,H,Z,ne);return U(T.beta,ie,le,X,Y)}else return pe.unsafe(H,P)}multiplyAndAddUnsafe(P,T,H){let X=this.multiplyUnsafe(T).add(P.multiplyUnsafe(H));return X.is0()?void 0:X}toAffine(P){return W(this,P)}isTorsionFree(){let{isTorsionFree:P}=e;return g===tn?!0:P?P(z,this):pe.unsafe(this,m).is0()}clearCofactor(){let{clearCofactor:P}=e;return g===tn?this:P?P(z,this):this.multiplyUnsafe(g)}isSmallOrder(){return this.multiplyUnsafe(g).is0()}toBytes(P=!0){return Jn(P,"isCompressed"),this.assertValidity(),$(z,this,P)}toHex(P=!0){return PA(this.toBytes(P))}toString(){return`<Point ${this.is0()?"ZERO":this.toHex()}>`}get px(){return this.X}get py(){return this.X}get pz(){return this.Z}toRawBytes(P=!0){return this.toBytes(P)}_setWindowSize(P){this.precompute(P)}static normalizeZ(P){return uo(z,P)}static msm(P,T){return s2(z,c,P,T)}static fromPrivateKey(P){return z.BASE.multiply(An(c,P))}}z.BASE=new z(h.Gx,h.Gy,a.ONE),z.ZERO=new z(a.ZERO,a.ONE,a.ZERO),z.Fp=a,z.Fn=c;let we=c.BITS,pe=new ao(z,e.endo?Math.ceil(we/2):we);return z.BASE.precompute(8),z}function f2(n){return Uint8Array.of(n?2:3)}function c2(n,e){return{secretKey:e.BYTES,publicKey:1+n.BYTES,publicKeyUncompressed:1+2*n.BYTES,publicKeyHasPrefix:!0,signature:2*e.BYTES}}function C4(n,e={}){let{Fn:s}=n,a=e.randomBytes||Ao,c=Object.assign(c2(n.Fp,s),{seed:ga(s.ORDER)});function h($){try{return!!An(s,$)}catch{return!1}}function g($,D){let{publicKey:x,publicKeyUncompressed:N}=c;try{let M=$.length;return D===!0&&M!==x||D===!1&&M!==N?!1:!!n.fromBytes($)}catch{return!1}}function m($=a(c.seed)){return ma(Xt($,c.seed,"seed"),s.ORDER)}function v($,D=!0){return n.BASE.multiply(An(s,$)).toBytes(D)}function b($){let D=m($);return{secretKey:D,publicKey:v(D)}}function w($){if(typeof $=="bigint")return!1;if($ instanceof n)return!0;let{secretKey:D,publicKey:x,publicKeyUncompressed:N}=c;if(s.allowedLengths||D===x)return;let M=MA("key",$).length;return M===x||M===N}function E($,D,x=!0){if(w($)===!0)throw new Error("first arg must be private key");if(w(D)===!1)throw new Error("second arg must be public key");let N=An(s,$);return n.fromHex(D).multiply(N).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:$=>An(s,$),precompute($=8,D=n.BASE){return D.precompute($,!1)}},lengths:c})}function T4(n,e,s={}){Xi(e),Xn(s,{},{hmac:"function",lowS:"boolean",randomBytes:"function",bits2int:"function",bits2int_modN:"function"});let a=s.randomBytes||Ao,c=s.hmac||((T,...H)=>sa(e,T,pt(...H))),{Fp:h,Fn:g}=n,{ORDER:m,BITS:v}=g,{keygen:b,getPublicKey:w,getSharedSecret:E,utils:k,lengths:$}=C4(n,s),D={prehash:!1,lowS:typeof s.lowS=="boolean"?s.lowS:!1,format:void 0,extraEntropy:!1},x="compact";function N(T){let H=m>>tn;return T>H}function M(T,H){if(!g.isValidNot0(H))throw new Error(`invalid signature ${T}: out of range 1..Point.Fn.ORDER`);return H}function Q(T,H){_a(H);let X=$.signature,Z=H==="compact"?X:H==="recovered"?X+1:void 0;return Xt(T,Z,`${H} signature`)}class L{constructor(H,X,Z){this.r=M("r",H),this.s=M("s",X),Z!=null&&(this.recovery=Z),Object.freeze(this)}static fromBytes(H,X=x){Q(H,X);let Z;if(X==="der"){let{r:le,s:ge}=jt.toSig(Xt(H));return new L(le,ge)}X==="recovered"&&(Z=H[0],X="compact",H=H.subarray(1));let Y=g.BYTES,ne=H.subarray(0,Y),ie=H.subarray(Y,Y*2);return new L(g.fromBytes(ne),g.fromBytes(ie),Z)}static fromHex(H,X){return this.fromBytes(ht(H),X)}addRecoveryBit(H){return new L(this.r,this.s,H)}recoverPublicKey(H){let X=h.ORDER,{r:Z,s:Y,recovery:ne}=this;if(ne==null||![0,1,2,3].includes(ne))throw new Error("recovery id invalid");if(m*l2<X&&ne>1)throw new Error("recovery id is ambiguous for h>1 curve");let le=ne===2||ne===3?Z+m:Z;if(!h.isValid(le))throw new Error("recovery id 2 or 3 invalid");let ge=h.toBytes(le),Pe=n.fromBytes(pt(f2((ne&1)===0),ge)),Ee=g.inv(le),ve=K(MA("msgHash",H)),Ne=g.create(-ve*Ee),rA=g.create(Y*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(H=x){if(_a(H),H==="der")return ht(jt.hexFromSig(this));let X=g.toBytes(this.r),Z=g.toBytes(this.s);if(H==="recovered"){if(this.recovery==null)throw new Error("recovery bit must be present");return pt(Uint8Array.of(this.recovery),X,Z)}return pt(X,Z)}toHex(H){return PA(this.toBytes(H))}assertValidity(){}static fromCompact(H){return L.fromBytes(MA("sig",H),"compact")}static fromDER(H){return L.fromBytes(MA("sig",H),"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 V=s.bits2int||function(H){if(H.length>8192)throw new Error("input is too large");let X=Xr(H),Z=H.length*8-v;return Z>0?X>>BigInt(Z):X},K=s.bits2int_modN||function(H){return g.create(V(H))},W=er(v);function se(T){return Ud("num < 2^"+v,T,Mt,W),g.toBytes(T)}function U(T,H){return Xt(T,void 0,"message"),H?Xt(e(T),void 0,"prehashed message"):T}function z(T,H,X){if(["recovered","canonical"].some(Ne=>Ne in X))throw new Error("sign() legacy options not supported");let{lowS:Z,prehash:Y,extraEntropy:ne}=ba(X,D);T=U(T,Y);let ie=K(T),le=An(g,H),ge=[se(le),se(ie)];if(ne!=null&&ne!==!1){let Ne=ne===!0?a($.secretKey):ne;ge.push(MA("extraEntropy",Ne))}let Pe=pt(...ge),Ee=ie;function ve(Ne){let rA=V(Ne);if(!g.isValidNot0(rA))return;let fA=g.inv(rA),Ye=n.BASE.multiply(rA).toAffine(),nA=g.create(Ye.x);if(nA===Mt)return;let RA=g.create(fA*g.create(Ee+nA*le));if(RA===Mt)return;let WA=(Ye.x===nA?0:2)|Number(Ye.y&tn),ri=RA;return Z&&N(RA)&&(ri=g.neg(RA),WA^=1),new L(nA,ri,WA)}return{seed:Pe,k2sig:ve}}function we(T,H,X={}){T=MA("message",T);let{seed:Z,k2sig:Y}=z(T,H,X);return Gd(e.outputLen,g.BYTES,c)(Z,Y)}function pe(T){let H,X=typeof T=="string"||br(T),Z=!X&&T!==null&&typeof T=="object"&&typeof T.r=="bigint"&&typeof T.s=="bigint";if(!X&&!Z)throw new Error("invalid signature, expected Uint8Array, hex string or Signature instance");if(Z)H=new L(T.r,T.s);else if(X){try{H=L.fromBytes(MA("sig",T),"der")}catch(Y){if(!(Y instanceof jt.Err))throw Y}if(!H)try{H=L.fromBytes(MA("sig",T),"compact")}catch{return!1}}return H||!1}function C(T,H,X,Z={}){let{lowS:Y,prehash:ne,format:ie}=ba(Z,D);if(X=MA("publicKey",X),H=U(MA("message",H),ne),"strict"in Z)throw new Error("options.strict was renamed to lowS");let le=ie===void 0?pe(T):L.fromBytes(MA("sig",T),ie);if(le===!1)return!1;try{let ge=n.fromBytes(X);if(Y&&le.hasHighS())return!1;let{r:Pe,s:Ee}=le,ve=K(H),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 P(T,H,X={}){let{prehash:Z}=ba(X,D);return H=U(H,Z),L.fromBytes(T,"recovered").recoverPublicKey(H).toBytes()}return Object.freeze({keygen:b,getPublicKey:w,getSharedSecret:E,utils:k,lengths:$,Point:n,sign:we,verify:C,recoverPublicKey:P,Signature:L,hash:e})}function O4(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=Ar(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 j4(n){let{CURVE:e,curveOpts:s}=O4(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 M4(n,e){let s=e.Point;return Object.assign({},e,{ProjectivePoint:s,CURVE:Object.assign({},n,so(s.Fn.ORDER,s.Fn.BITS))})}function d2(n){let{CURVE:e,curveOpts:s,hash:a,ecdsaOpts:c}=j4(n),h=D4(e,s),g=T4(h,a,c);return M4(n,g)}function h2(n,e){let s=a=>d2({...n,hash:a});return{...s(e),create:s}}var $a={p:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),n:BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),h:BigInt(1),a:BigInt(0),b:BigInt(7),Gx:BigInt("0x79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"),Gy:BigInt("0x483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8")},N4={beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),basises:[[BigInt("0x3086d221a7d46bcde86c90e49284eb15"),-BigInt("0xe4437ed6010e88286f547fa90abfe4c3")],[BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),BigInt("0x3086d221a7d46bcde86c90e49284eb15")]]};var p2=BigInt(2);function R4(n){let e=$a.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,k=ZA(E,s,e)*w%e,$=ZA(k,p2,e)*b%e,D=ZA($,c,e)*$%e,x=ZA(D,h,e)*D%e,N=ZA(x,m,e)*x%e,M=ZA(N,v,e)*N%e,Q=ZA(M,m,e)*x%e,L=ZA(Q,s,e)*w%e,V=ZA(L,g,e)*D%e,K=ZA(V,a,e)*b%e,W=ZA(K,p2,e);if(!ka.eql(ka.sqr(W),n))throw new Error("Cannot find square root");return W}var ka=Ar($a.p,{sqrt:R4}),fo=h2({...$a,Fp:ka,lowS:!0,endo:N4},Qd);function w2(n){return n instanceof Uint8Array||ArrayBuffer.isView(n)&&n.constructor.name==="Uint8Array"}function v2(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 I4(n){if(typeof n!="function")throw new Error("function expected");return!0}function ti(n,e){if(typeof e!="string")throw new Error(`${n}: string expected`);return!0}function b2(n){if(!Number.isSafeInteger(n))throw new Error(`invalid integer: ${n}`)}function xa(n){if(!Array.isArray(n))throw new Error("array expected")}function _2(n,e){if(!v2(!0,e))throw new Error(`${n}: array of strings expected`)}function E2(n,e){if(!v2(!1,e))throw new Error(`${n}: array of numbers expected`)}function q4(...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 Q4(n){let e=typeof n=="string"?n.split(""):n,s=e.length;_2("alphabet",e);let a=new Map(e.map((c,h)=>[c,h]));return{encode:c=>(xa(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=>(xa(c),c.map(h=>{ti("alphabet.decode",h);let g=a.get(h);if(g===void 0)throw new Error(`Unknown letter: "${h}". Allowed: ${n}`);return g}))}}function H4(n=""){return ti("join",n),{encode:e=>(_2("join.decode",e),e.join(n)),decode:e=>(ti("join.decode",e),e.split(n))}}var k2=(n,e)=>e===0?n:k2(e,n%e),ho=(n,e)=>n+(e-k2(n,e)),co=(()=>{let n=[];for(let e=0;e<40;e++)n.push(2**e);return n})();function Ba(n,e,s,a){if(xa(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(b2(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 L4(n,e=!1){if(b2(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(!w2(s))throw new Error("radix2.encode input should be Uint8Array");return Ba(Array.from(s),8,n,!e)},decode:s=>(E2("radix2.decode",s),Uint8Array.from(Ba(s,n,8,e)))}}function g2(n){return I4(n),function(...e){try{return n.apply(null,e)}catch{}}}var Sa=q4(Q4("qpzry9x8gf2tvdw0s3jn54khce6mua7l"),H4("")),m2=[996825010,642813549,513874426,1027748829,705979059];function Ai(n){let e=n>>25,s=(n&33554431)<<5;for(let a=0;a<m2.length;a++)(e>>a&1)===1&&(s^=m2[a]);return s}function y2(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=Ai(c)^g>>5}c=Ai(c);for(let h=0;h<a;h++)c=Ai(c)^n.charCodeAt(h)&31;for(let h of e)c=Ai(c)^h;for(let h=0;h<6;h++)c=Ai(c);return c^=s,Sa.encode(Ba([c%co[30]],30,5,!1))}function U4(n){let e=n==="bech32"?1:734539939,s=L4(5),a=s.decode,c=s.encode,h=g2(a);function g(E,k,$=90){ti("bech32.encode prefix",E),w2(k)&&(k=Array.from(k)),E2("bech32.encode",k);let D=E.length;if(D===0)throw new TypeError(`Invalid prefix length ${D}`);let x=D+7+k.length;if($!==!1&&x>$)throw new TypeError(`Length ${x} exceeds limit ${$}`);let N=E.toLowerCase(),M=y2(N,k,e);return`${N}1${Sa.encode(k)}${M}`}function m(E,k=90){ti("bech32.decode input",E);let $=E.length;if($<8||k!==!1&&$>k)throw new TypeError(`invalid string length: ${$} (${E}). Expected (8..${k})`);let D=E.toLowerCase();if(E!==D&&E!==E.toUpperCase())throw new Error("String must be lowercase or uppercase");let x=D.lastIndexOf("1");if(x===0||x===-1)throw new Error('Letter "1" must be present between prefix and data only');let N=D.slice(0,x),M=D.slice(x+1);if(M.length<6)throw new Error("Data must be at least 6 characters long");let Q=Sa.decode(M).slice(0,-6),L=y2(N,Q,e);if(!M.endsWith(L))throw new Error(`Invalid checksum in ${E}: expected "${L}"`);return{prefix:N,words:Q}}let v=g2(m);function b(E){let{prefix:k,words:$}=m(E,!1);return{prefix:k,words:$,bytes:a($)}}function w(E,k){return g(E,c(k))}return{encode:g,decode:m,encodeFromBytes:w,decodeToBytes:b,decodeUnsafe:v,fromWords:a,fromWordsUnsafe:h,toWords:c}}var Nt=U4("bech32");function G4(){let n=fo.utils.randomPrivateKey();return PA(n)}function F4(n){let e=fo.getPublicKey(n,!0);return PA(e.slice(1))}function V4(n){let e=fo.getPublicKey(n,!0);return PA(e.slice(1))}function z4(n){let e=ht(n),s=Nt.toWords(e);return Nt.encode("npub",s,1500)}function K4(n){let e=ht(n),s=Nt.toWords(e);return Nt.encode("nsec",s,1500)}function $2(n){let{words:e}=Nt.decode(n,1500),s=Nt.fromWords(e);return PA(new Uint8Array(s))}function x2(n){let{words:e}=Nt.decode(n,1500),s=Nt.fromWords(e);return PA(new Uint8Array(s))}function Y4(n){if(!n||typeof n!="string")return null;if(n=n.trim(),n.startsWith("nsec1"))try{return x2(n)}catch{return null}return/^[0-9a-f]{64}$/i.test(n)?n.toLowerCase():null}function W4(n){if(!n||typeof n!="string")return null;if(n=n.trim(),n.startsWith("npub1"))try{return $2(n)}catch{return null}return/^[0-9a-f]{64}$/i.test(n)?n.toLowerCase():null}function J4(n,e=8){return n?n.slice(0,e)+"..."+n.slice(-e):""}function Z4(n,e=8){return n?n.slice(0,e+5)+"..."+n.slice(-e):""}function X4(){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:G4,getPublicKey:F4,getPublicKeyFromBytes:V4,parseNsecOrHex:Y4,parseNpubOrHex:W4,hexToNpub:z4,hexToNsec:K4,npubToHex:$2,nsecToHex:x2,hexToBytes:ht,bytesToHex:PA,shortenPubKey:J4,shortenNpub:Z4,generateNonce:X4};function B2(n,e,s){return`${n}/${e}/${s}`}function e8(n){let e=n.split("/");return e.length<3?null:{appName:e[0],holonId:e[1],lens:e.slice(2).join("/")}}var S2={createSubscription(n,e,s,a={}){let c=e8(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,k)=>{if(m&&!(a.realtimeOnly&&!v)&&!(!E||k==="_"))try{let $;if(typeof E=="string")try{$=JSON.parse(E)}catch{$=E}else{let D={...E};delete D._,$=D}if(a.resolveHolograms&&n.isHologram&&n.isHologram($))try{let D=await n.resolveHologram($,{followHolograms:!0});if(D&&D!==$){s(D,k);return}}catch(D){console.warn("[subscriptions] Failed to resolve hologram:",D)}s($,k)}catch($){console.warn("[subscriptions] Error processing subscription data:",$)}}),w=()=>{m=!1,g.off()};return{unsubscribe:w,stop:w}}};var P2={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 k=typeof w=="string"?JSON.parse(w):w;h.push(k)}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 Pa={};Mu(Pa,{acceptFederationRequest:()=>n8,acceptFederationUpdate:()=>a8,initiateFederationHandshake:()=>r8,processFederationResponse:()=>o8,rejectFederationRequest:()=>i8,rejectFederationUpdate:()=>u8,requestFederationUpdate:()=>s8,subscribeToFederationDMs:()=>t8});function A8(){return Date.now().toString(36)+"_"+Math.random().toString(36).slice(2,10)}function D2(n,e){return n.gun.get(n.appname).get("_dm").get(e)}async function nn(n,e,s){let a=A8(),c=JSON.stringify({...s,id:a,timestamp:Date.now()});return new Promise(h=>{D2(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 t8(n,e,s,a){let c=D2(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 r8(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 n8(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 i8(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 o8(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 s8(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 a8(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 u8(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 Da="1.3.0",l8=Da,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"+Da),this.validator=new T2.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,C2.default)(g),this.openai=null,this.subscriptions={},this.schemaCache=new Map,this._allowedAuthors=new Set}async ready(){return this}getGun(){return this.gun}async setSchema(e,s){return nd(this,e,s)}async getSchema(e,s={}){return id(this,e,s)}clearSchemaCache(e=null){return od(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,sd(this,e,s,a,g,h)}async get(e,s,a=null,c=null,h={}){if(a==null){let g=await ra(this,e,s,null);return g&&g.length>0?g[0]:null}return ta(this,e,s,a,c,h)}async getAll(e,s,a=null){return ra(this,e,s,a)}async parse(e){return ad(this,e)}async delete(e,s,a,c=null){return ud(this,e,s,a,c)}async deleteAll(e,s,a=null){return ld(this,e,s,a)}async putNode(e,s,a){return fd(this,e,s,a)}async getNode(e,s,a){return cd(this,e,s,a)}getNodeRef(e){return na(this,e)}async getNodeBySoul(e){return dd(this,e)}async deleteNode(e,s,a){return hd(this,e,s,a)}async putGlobal(e,s,a=null){return ia(this,e,s,a)}async writeGlobal(e,s){return ia(this,e,s,null)}async getGlobal(e,s,a=null){return pd(this,e,s,a)}async getAllGlobal(e,s=null){return gd(this,e,s)}async deleteGlobal(e,s,a=null){return md(this,e,s,a)}async deleteAllGlobal(e,s=null){return yd(this,e,s)}async subscribeGlobal(e,s,a,c={}){let h,g;return typeof s=="function"?(g=s,h=null,c=a||{}):(h=s,g=a),wd(this,e,h,g,c)}createHologram(e,s,a){return Kc(this,e,s,a)}parseSoulPath(e){return Ji(e)}isHologram(e){return Zi(e)}async resolveHologram(e,s={}){return Yc(this,e,s)}attachHologramMeta(e,s){return Kn(e,s)}async computeHierarchy(e,s,a,c=15,h=null){return vd(this,e,s,a,c,h)}async compute(e,s,a,c=null){return bd(this,e,s,a,c)}async summarize(e){return _d(this,e)}async upcast(e,s,a,c=15){return Ed(this,e,s,a,c)}async updateParent(e,s){return kd(this,e,s)}async propagate(e,s,a,c={}){return ed(this,e,s,a,c)}async getHolon(e,s,a){return $d(e,s,a)}getScalespace(e,s){return xd(e,s)}getHolonScalespace(e){return Bd(e)}async subscribe(e,s,a){return Sd(this,e,s,a)}notifySubscribers(e){return Pd(this,e)}generateId(){return Dd()}async federate(e,s,a=null,c=null,h=!0,g={}){return Xs(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 Xs(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 ea(this,e,s,null,null)}async subscribeFederation(e,s,a,c={}){return Wc(this,e,s,a,c)}async getFederation(e,s=null){let a=await Jt(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 Jc(this,e,s,a)}async unfederate(e,s,a,c=null){return await ea(this,e,s,a,c)}async removeNotify(e,s,a=null){console.log(`HoloSphere.removeNotify called: ${e}, ${s}`);try{let c=await Zc(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 Xc(this,e,s,a)}async federateMessage(e,s,a,c,h="generic"){return Ad(this,e,s,a,c,h)}async getFederatedMessages(e,s){return Aa(this,e,s)}async updateFederatedMessages(e,s,a){return td(this,e,s,a)}async resetFederation(e,s=null){return rd(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 Jt(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 Cd(this)}userName(e){return Td(this,e)}getVersion(){return Da}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}}},f8=po;return n1(c8);})();
|
|
32
14
|
/**
|
|
33
15
|
* @module holosphere
|
|
34
|
-
* @version 1.
|
|
16
|
+
* @version 1.3.0
|
|
35
17
|
* @description Holonic Geospatial Communication Infrastructure
|
|
36
18
|
* @author Roberto Valenti
|
|
37
19
|
* @license GPL-3.0-or-later
|
|
38
20
|
*/
|
|
21
|
+
/*! Bundled license information:
|
|
22
|
+
|
|
23
|
+
@noble/hashes/esm/utils.js:
|
|
24
|
+
(*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) *)
|
|
25
|
+
|
|
26
|
+
@noble/curves/esm/utils.js:
|
|
27
|
+
@noble/curves/esm/abstract/modular.js:
|
|
28
|
+
@noble/curves/esm/abstract/curve.js:
|
|
29
|
+
@noble/curves/esm/abstract/weierstrass.js:
|
|
30
|
+
@noble/curves/esm/_shortw_utils.js:
|
|
31
|
+
@noble/curves/esm/secp256k1.js:
|
|
32
|
+
(*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) *)
|
|
33
|
+
|
|
34
|
+
@scure/base/lib/esm/index.js:
|
|
35
|
+
(*! scure-base - MIT License (c) 2022 Paul Miller (paulmillr.com) *)
|
|
36
|
+
*/
|
|
39
37
|
if (typeof window !== 'undefined') { window.HoloSphere = HoloSphere.default || HoloSphere; } if (typeof global !== 'undefined') { global.HoloSphere = HoloSphere.default || HoloSphere; }
|